@wordpress/block-editor 16.0.1-next.v.202607070741.0 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2167) hide show
  1. package/CHANGELOG.md +66 -1
  2. package/README.md +21 -1
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/alignment-control/index.cjs.map +2 -2
  5. package/build/components/alignment-control/ui.cjs +2 -4
  6. package/build/components/alignment-control/ui.cjs.map +2 -2
  7. package/build/components/autocomplete/index.cjs.map +2 -2
  8. package/build/components/background-image-control/index.cjs +40 -10
  9. package/build/components/background-image-control/index.cjs.map +2 -2
  10. package/build/components/block-actions/index.cjs +2 -1
  11. package/build/components/block-actions/index.cjs.map +2 -2
  12. package/build/components/block-alignment-control/constants.cjs.map +2 -2
  13. package/build/components/block-alignment-control/index.cjs.map +2 -2
  14. package/build/components/block-alignment-control/ui.cjs +5 -3
  15. package/build/components/block-alignment-control/ui.cjs.map +2 -2
  16. package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
  17. package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
  18. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
  19. package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
  20. package/build/components/block-bindings/attribute-control.cjs.map +2 -2
  21. package/build/components/block-bindings/index.cjs.map +2 -2
  22. package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
  23. package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
  24. package/build/components/block-breadcrumb/index.cjs.map +2 -2
  25. package/build/components/block-canvas/index.cjs +6 -1
  26. package/build/components/block-canvas/index.cjs.map +2 -2
  27. package/build/components/block-card/index.cjs.map +2 -2
  28. package/build/components/block-compare/block-view.cjs.map +2 -2
  29. package/build/components/block-compare/index.cjs.map +2 -2
  30. package/build/components/block-content-overlay/index.cjs.map +2 -2
  31. package/build/components/block-context/index.cjs.map +2 -2
  32. package/build/components/block-controls/fill.cjs.map +2 -2
  33. package/build/components/block-controls/groups.cjs +3 -1
  34. package/build/components/block-controls/groups.cjs.map +2 -2
  35. package/build/components/block-controls/hook.cjs.map +2 -2
  36. package/build/components/block-controls/index.cjs.map +2 -2
  37. package/build/components/block-controls/slot.cjs.map +2 -2
  38. package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
  39. package/build/components/block-draggable/index.cjs.map +2 -2
  40. package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
  41. package/build/components/block-edit/context.cjs.map +2 -2
  42. package/build/components/block-edit/edit.cjs +10 -18
  43. package/build/components/block-edit/edit.cjs.map +2 -2
  44. package/build/components/block-edit/index.cjs.map +2 -2
  45. package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
  46. package/build/components/block-edit-visually-button/index.cjs.map +2 -2
  47. package/build/components/block-editing-mode/index.cjs.map +2 -2
  48. package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
  49. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
  50. package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
  51. package/build/components/block-icon/index.cjs.map +2 -2
  52. package/build/components/block-inspector/edit-contents.cjs +48 -40
  53. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  54. package/build/components/block-inspector/index.cjs +82 -50
  55. package/build/components/block-inspector/index.cjs.map +2 -2
  56. package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
  57. package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
  58. package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
  59. package/build/components/block-list/block-crash-warning.cjs.map +2 -2
  60. package/build/components/block-list/block-html.cjs +4 -1
  61. package/build/components/block-list/block-html.cjs.map +2 -2
  62. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  63. package/build/components/block-list/block.cjs +45 -13
  64. package/build/components/block-list/block.cjs.map +3 -3
  65. package/build/components/block-list/index.cjs +34 -12
  66. package/build/components/block-list/index.cjs.map +2 -2
  67. package/build/components/block-list/layout.cjs.map +2 -2
  68. package/build/components/block-list/private-block-context.cjs.map +2 -2
  69. package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
  70. package/build/components/block-list/use-block-props/index.cjs +41 -2
  71. package/build/components/block-list/use-block-props/index.cjs.map +3 -3
  72. package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
  73. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
  74. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  75. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  76. package/build/components/block-list/use-block-props/use-focus-handler.cjs +11 -4
  77. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  78. package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
  79. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  80. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs +48 -0
  81. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
  82. package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
  83. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  84. package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
  85. package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
  86. package/build/components/block-list-appender/index.cjs.map +2 -2
  87. package/build/components/block-lock/menu-item.cjs.map +2 -2
  88. package/build/components/block-lock/modal.cjs.map +2 -2
  89. package/build/components/block-lock/toolbar.cjs.map +2 -2
  90. package/build/components/block-lock/use-block-lock.cjs.map +2 -2
  91. package/build/components/block-manager/category.cjs.map +2 -2
  92. package/build/components/block-manager/checklist.cjs.map +2 -2
  93. package/build/components/block-manager/index.cjs.map +2 -2
  94. package/build/components/block-mover/button.cjs +15 -9
  95. package/build/components/block-mover/button.cjs.map +2 -2
  96. package/build/components/block-mover/index.cjs.map +2 -2
  97. package/build/components/block-mover/mover-description.cjs.map +2 -2
  98. package/build/components/block-navigation/dropdown.cjs.map +2 -2
  99. package/build/components/block-parent-selector/index.cjs +2 -2
  100. package/build/components/block-parent-selector/index.cjs.map +2 -2
  101. package/build/components/block-pattern-setup/index.cjs.map +2 -2
  102. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
  103. package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
  104. package/build/components/block-patterns-list/index.cjs.map +2 -2
  105. package/build/components/block-patterns-paging/index.cjs.map +2 -2
  106. package/build/components/block-popover/cover.cjs.map +2 -2
  107. package/build/components/block-popover/drop-zone.cjs.map +2 -2
  108. package/build/components/block-popover/inbetween.cjs.map +2 -2
  109. package/build/components/block-popover/index.cjs.map +2 -2
  110. package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
  111. package/build/components/block-preview/async.cjs.map +2 -2
  112. package/build/components/block-preview/auto.cjs.map +2 -2
  113. package/build/components/block-preview/index.cjs.map +2 -2
  114. package/build/components/block-quick-navigation/index.cjs.map +2 -2
  115. package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
  116. package/build/components/block-rename/modal.cjs.map +2 -2
  117. package/build/components/block-rename/rename-control.cjs.map +2 -2
  118. package/build/components/block-rename/use-block-rename.cjs.map +2 -2
  119. package/build/components/block-selection-clearer/index.cjs.map +2 -2
  120. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
  121. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
  122. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
  123. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  124. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
  125. package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
  126. package/build/components/block-settings-menu/index.cjs.map +2 -2
  127. package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
  128. package/build/components/block-styles/index.cjs.map +2 -2
  129. package/build/components/block-styles/menu-items.cjs.map +2 -2
  130. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  131. package/build/components/block-styles/utils.cjs.map +2 -2
  132. package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
  133. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  134. package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
  135. package/build/components/block-switcher/index.cjs.map +2 -2
  136. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
  137. package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
  138. package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
  139. package/build/components/block-switcher/utils.cjs.map +2 -2
  140. package/build/components/block-title/index.cjs.map +2 -2
  141. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  142. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
  143. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  144. package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
  145. package/build/components/block-toolbar/change-design.cjs.map +2 -2
  146. package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
  147. package/build/components/block-toolbar/index.cjs +43 -24
  148. package/build/components/block-toolbar/index.cjs.map +2 -2
  149. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
  150. package/build/components/block-toolbar/switch-section-style.cjs +4 -2
  151. package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
  152. package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
  153. package/build/components/block-toolbar/utils.cjs.map +2 -2
  154. package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
  155. package/build/components/block-tools/empty-block-inserter.cjs +2 -7
  156. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  157. package/build/components/block-tools/index.cjs +9 -6
  158. package/build/components/block-tools/index.cjs.map +2 -2
  159. package/build/components/block-tools/insertion-point.cjs.map +2 -2
  160. package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
  161. package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
  162. package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
  163. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
  164. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
  165. package/build/components/block-types-list/index.cjs.map +2 -2
  166. package/build/components/block-variation-picker/index.cjs.map +2 -2
  167. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  168. package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
  169. package/build/components/block-vertical-alignment-control/ui.cjs +3 -5
  170. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  171. package/build/components/block-visibility/constants.cjs +1 -1
  172. package/build/components/block-visibility/constants.cjs.map +3 -3
  173. package/build/components/block-visibility/modal.cjs +20 -6
  174. package/build/components/block-visibility/modal.cjs.map +2 -2
  175. package/build/components/block-visibility/use-block-visibility.cjs +28 -20
  176. package/build/components/block-visibility/use-block-visibility.cjs.map +4 -4
  177. package/build/components/block-visibility/utils.cjs +15 -2
  178. package/build/components/block-visibility/utils.cjs.map +3 -3
  179. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  180. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  181. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  182. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  183. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  184. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  185. package/build/components/border-radius-control/constants.cjs.map +2 -2
  186. package/build/components/border-radius-control/index.cjs.map +2 -2
  187. package/build/components/border-radius-control/linked-button.cjs.map +2 -2
  188. package/build/components/border-radius-control/utils.cjs +8 -58
  189. package/build/components/border-radius-control/utils.cjs.map +2 -2
  190. package/build/components/button-block-appender/index.cjs.map +2 -2
  191. package/build/components/child-layout-control/index.cjs +0 -4
  192. package/build/components/child-layout-control/index.cjs.map +2 -2
  193. package/build/components/collab/note-icon-slot.cjs.map +2 -2
  194. package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
  195. package/build/components/color-palette/control.cjs.map +2 -2
  196. package/build/components/color-palette/index.cjs.map +2 -2
  197. package/build/components/color-palette/with-color-context.cjs.map +2 -2
  198. package/build/components/color-style-selector/index.cjs.map +2 -2
  199. package/build/components/colors/utils.cjs +2 -4
  200. package/build/components/colors/utils.cjs.map +3 -3
  201. package/build/components/colors/with-colors.cjs +2 -4
  202. package/build/components/colors/with-colors.cjs.map +3 -3
  203. package/build/components/colors-gradients/control.cjs +5 -3
  204. package/build/components/colors-gradients/control.cjs.map +2 -2
  205. package/build/components/colors-gradients/dropdown.cjs.map +2 -2
  206. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
  207. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
  208. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
  209. package/build/components/contrast-checker/index.cjs.map +2 -2
  210. package/build/components/convert-to-group-buttons/index.cjs +2 -5
  211. package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
  212. package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
  213. package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
  214. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
  215. package/build/components/copy-handler/index.cjs.map +2 -2
  216. package/build/components/date-format-picker/index.cjs.map +2 -2
  217. package/build/components/default-block-appender/index.cjs.map +2 -2
  218. package/build/components/dimension-control/index.cjs +30 -20
  219. package/build/components/dimension-control/index.cjs.map +3 -3
  220. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
  221. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  222. package/build/components/dimensions-tool/index.cjs.map +2 -2
  223. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  224. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  225. package/build/components/duotone-control/index.cjs.map +2 -2
  226. package/build/components/editable-text/index.cjs.map +2 -2
  227. package/build/components/editor-styles/index.cjs +9 -1
  228. package/build/components/editor-styles/index.cjs.map +2 -2
  229. package/build/components/fit-text-size-warning/index.cjs.map +2 -2
  230. package/build/components/floating-toolbar/nav-up-icon.cjs.map +2 -2
  231. package/build/components/font-appearance-control/index.cjs.map +2 -2
  232. package/build/components/font-family/index.cjs.map +2 -2
  233. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  234. package/build/components/font-sizes/utils.cjs +2 -4
  235. package/build/components/font-sizes/utils.cjs.map +3 -3
  236. package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
  237. package/build/components/global-styles/advanced-panel.cjs.map +2 -2
  238. package/build/components/global-styles/background-panel.cjs +66 -25
  239. package/build/components/global-styles/background-panel.cjs.map +3 -3
  240. package/build/components/global-styles/border-panel.cjs +153 -55
  241. package/build/components/global-styles/border-panel.cjs.map +3 -3
  242. package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
  243. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
  244. package/build/components/global-styles/color-panel.cjs +63 -17
  245. package/build/components/global-styles/color-panel.cjs.map +2 -2
  246. package/build/components/global-styles/dimensions-panel.cjs +242 -64
  247. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  248. package/build/components/global-styles/filters-panel.cjs +59 -20
  249. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  250. package/build/components/global-styles/hooks.cjs +4 -1
  251. package/build/components/global-styles/hooks.cjs.map +2 -2
  252. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  253. package/build/components/global-styles/inheritance/index.cjs +142 -0
  254. package/build/components/global-styles/inheritance/index.cjs.map +7 -0
  255. package/build/components/global-styles/inherited-value-context.cjs +173 -0
  256. package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
  257. package/build/components/global-styles/shadow-panel-components.cjs +38 -20
  258. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  259. package/build/components/global-styles/state-control-badges.cjs +39 -3
  260. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  261. package/build/components/global-styles/state-control.cjs +1 -1
  262. package/build/components/global-styles/state-control.cjs.map +2 -2
  263. package/build/components/global-styles/typography-panel.cjs +271 -79
  264. package/build/components/global-styles/typography-panel.cjs.map +3 -3
  265. package/build/components/global-styles/typography-utils.cjs.map +2 -2
  266. package/build/components/global-styles/utils.cjs.map +2 -2
  267. package/build/components/gradients/use-gradient.cjs.map +2 -2
  268. package/build/components/gradients/with-gradient.cjs.map +2 -2
  269. package/build/components/grid/grid-item-movers.cjs.map +2 -2
  270. package/build/components/grid/grid-item-resizer.cjs.map +2 -2
  271. package/build/components/grid/grid-visualizer.cjs.map +2 -2
  272. package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
  273. package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
  274. package/build/components/height-control/index.cjs.map +2 -2
  275. package/build/components/html-element-control/index.cjs.map +2 -2
  276. package/build/components/html-element-control/messages.cjs.map +2 -2
  277. package/build/components/iframe/index.cjs +19 -24
  278. package/build/components/iframe/index.cjs.map +2 -2
  279. package/build/components/iframe/use-scale-canvas.cjs +20 -6
  280. package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
  281. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
  282. package/build/components/image-editor/context.cjs.map +2 -2
  283. package/build/components/image-editor/cropper.cjs.map +2 -2
  284. package/build/components/image-editor/form-controls.cjs.map +2 -2
  285. package/build/components/image-editor/index.cjs.map +2 -2
  286. package/build/components/image-editor/rotation-button.cjs.map +2 -2
  287. package/build/components/image-editor/use-save-image.cjs.map +2 -2
  288. package/build/components/image-editor/use-transform-image.cjs.map +2 -2
  289. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  290. package/build/components/image-size-control/index.cjs +2 -4
  291. package/build/components/image-size-control/index.cjs.map +2 -2
  292. package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
  293. package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
  294. package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
  295. package/build/components/inner-blocks/index.cjs.map +2 -2
  296. package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
  297. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
  298. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
  299. package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
  300. package/build/components/inner-content/index.cjs.map +2 -2
  301. package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
  302. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
  303. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +2 -2
  304. package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
  305. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
  306. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
  307. package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
  308. package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
  309. package/build/components/inserter/block-types-tab.cjs.map +2 -2
  310. package/build/components/inserter/category-tabs/index.cjs.map +2 -2
  311. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  312. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  313. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
  314. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  315. package/build/components/inserter/index.cjs +4 -13
  316. package/build/components/inserter/index.cjs.map +2 -2
  317. package/build/components/inserter/library.cjs.map +2 -2
  318. package/build/components/inserter/media-tab/hooks.cjs +33 -6
  319. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  320. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  321. package/build/components/inserter/media-tab/media-panel.cjs +78 -16
  322. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  323. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  324. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  325. package/build/components/inserter/media-tab/utils.cjs.map +2 -2
  326. package/build/components/inserter/menu.cjs.map +2 -2
  327. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  328. package/build/components/inserter/no-results.cjs.map +2 -2
  329. package/build/components/inserter/panel.cjs.map +2 -2
  330. package/build/components/inserter/preview-panel.cjs.map +2 -2
  331. package/build/components/inserter/quick-inserter.cjs.map +2 -2
  332. package/build/components/inserter/search-items.cjs.map +2 -2
  333. package/build/components/inserter/search-results.cjs.map +2 -2
  334. package/build/components/inserter/tips.cjs.map +2 -2
  335. package/build/components/inserter-button/sparkles.cjs.map +2 -2
  336. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  337. package/build/components/inserter-list-item/index.cjs.map +2 -2
  338. package/build/components/inserter-listbox/context.cjs.map +2 -2
  339. package/build/components/inserter-listbox/group.cjs.map +2 -2
  340. package/build/components/inserter-listbox/index.cjs.map +2 -2
  341. package/build/components/inserter-listbox/item.cjs.map +2 -2
  342. package/build/components/inserter-listbox/row.cjs.map +2 -2
  343. package/build/components/inserter-menu-extension/index.cjs.map +2 -2
  344. package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
  345. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
  346. package/build/components/inspector-controls/fill.cjs +15 -17
  347. package/build/components/inspector-controls/fill.cjs.map +2 -2
  348. package/build/components/inspector-controls/groups.cjs.map +2 -2
  349. package/build/components/inspector-controls/index.cjs.map +2 -2
  350. package/build/components/inspector-controls/last-item.cjs.map +2 -2
  351. package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
  352. package/build/components/inspector-controls/slot.cjs.map +2 -2
  353. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
  354. package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
  355. package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
  356. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
  357. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
  358. package/build/components/inspector-controls-tabs/styles-tab.cjs +10 -1
  359. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  360. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
  361. package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
  362. package/build/components/inspector-popover-header/index.cjs.map +2 -2
  363. package/build/components/justify-content-control/index.cjs.map +2 -2
  364. package/build/components/justify-content-control/ui.cjs.map +2 -2
  365. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  366. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  367. package/build/components/letter-spacing-control/index.cjs.map +2 -2
  368. package/build/components/line-height-control/index.cjs +1 -2
  369. package/build/components/line-height-control/index.cjs.map +2 -2
  370. package/build/components/link-control/constants.cjs.map +2 -2
  371. package/build/components/link-control/index.cjs +3 -1
  372. package/build/components/link-control/index.cjs.map +2 -2
  373. package/build/components/link-control/is-url-like.cjs.map +2 -2
  374. package/build/components/link-control/link-preview.cjs.map +2 -2
  375. package/build/components/link-control/normalize-url.cjs.map +2 -2
  376. package/build/components/link-control/search-create-button.cjs.map +2 -2
  377. package/build/components/link-control/search-input.cjs.map +2 -2
  378. package/build/components/link-control/search-item.cjs.map +2 -2
  379. package/build/components/link-control/search-results.cjs +1 -1
  380. package/build/components/link-control/search-results.cjs.map +2 -2
  381. package/build/components/link-control/settings-drawer.cjs.map +2 -2
  382. package/build/components/link-control/settings.cjs.map +2 -2
  383. package/build/components/link-control/use-create-page.cjs.map +2 -2
  384. package/build/components/link-control/use-internal-value.cjs.map +2 -2
  385. package/build/components/link-control/use-rich-url-data.cjs +1 -1
  386. package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
  387. package/build/components/link-control/use-search-handler.cjs.map +2 -2
  388. package/build/components/link-control/viewer-slot.cjs.map +2 -2
  389. package/build/components/link-picker/link-picker.cjs.map +2 -2
  390. package/build/components/link-picker/link-preview.cjs.map +2 -2
  391. package/build/components/list-view/appender.cjs +6 -3
  392. package/build/components/list-view/appender.cjs.map +2 -2
  393. package/build/components/list-view/aria-referenced-text.cjs +2 -9
  394. package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
  395. package/build/components/list-view/block-contents.cjs +17 -20
  396. package/build/components/list-view/block-contents.cjs.map +2 -2
  397. package/build/components/list-view/block-select-button.cjs +40 -19
  398. package/build/components/list-view/block-select-button.cjs.map +3 -3
  399. package/build/components/list-view/block.cjs +48 -42
  400. package/build/components/list-view/block.cjs.map +3 -3
  401. package/build/components/list-view/branch.cjs +93 -77
  402. package/build/components/list-view/branch.cjs.map +3 -3
  403. package/build/components/list-view/context.cjs +16 -2
  404. package/build/components/list-view/context.cjs.map +2 -2
  405. package/build/components/list-view/drop-indicator.cjs +4 -3
  406. package/build/components/list-view/drop-indicator.cjs.map +3 -3
  407. package/build/components/list-view/expander.cjs.map +2 -2
  408. package/build/components/list-view/index.cjs +83 -96
  409. package/build/components/list-view/index.cjs.map +2 -2
  410. package/build/components/list-view/leaf.cjs.map +2 -2
  411. package/build/components/list-view/use-block-selection.cjs.map +2 -2
  412. package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
  413. package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
  414. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  415. package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
  416. package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
  417. package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
  418. package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
  419. package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
  420. package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
  421. package/build/components/list-view/use-list-view-images.cjs +4 -3
  422. package/build/components/list-view/use-list-view-images.cjs.map +2 -2
  423. package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
  424. package/build/components/list-view/utils.cjs +6 -3
  425. package/build/components/list-view/utils.cjs.map +2 -2
  426. package/build/components/media-placeholder/index.cjs +0 -1
  427. package/build/components/media-placeholder/index.cjs.map +2 -2
  428. package/build/components/media-replace-flow/index.cjs.map +2 -2
  429. package/build/components/media-upload/check.cjs.map +2 -2
  430. package/build/components/media-upload/index.cjs.map +2 -2
  431. package/build/components/multi-selection-inspector/index.cjs +33 -12
  432. package/build/components/multi-selection-inspector/index.cjs.map +3 -3
  433. package/build/components/navigable-toolbar/index.cjs +29 -18
  434. package/build/components/navigable-toolbar/index.cjs.map +2 -2
  435. package/build/components/observe-typing/index.cjs.map +2 -2
  436. package/build/components/panel-color-settings/index.cjs.map +2 -2
  437. package/build/components/plain-text/index.cjs.map +2 -2
  438. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  439. package/build/components/preset-input-control/index.cjs +2 -1
  440. package/build/components/preset-input-control/index.cjs.map +2 -2
  441. package/build/components/preview-options/index.cjs.map +2 -2
  442. package/build/components/provider/block-refs-provider.cjs +8 -2
  443. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  444. package/build/components/provider/index.cjs +1 -1
  445. package/build/components/provider/index.cjs.map +2 -2
  446. package/build/components/provider/selection-context.cjs.map +2 -2
  447. package/build/components/provider/use-block-sync.cjs +18 -6
  448. package/build/components/provider/use-block-sync.cjs.map +2 -2
  449. package/build/components/provider/use-media-upload-settings.cjs +3 -1
  450. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  451. package/build/components/provider/with-registry-provider.cjs.map +2 -2
  452. package/build/components/publish-date-time-picker/index.cjs.map +2 -2
  453. package/build/components/recursion-provider/index.cjs.map +2 -2
  454. package/build/components/resizable-box-popover/index.cjs.map +2 -2
  455. package/build/components/resolution-tool/index.cjs.map +2 -2
  456. package/build/components/responsive-block-control/index.cjs.map +2 -2
  457. package/build/components/responsive-block-control/label.cjs.map +2 -2
  458. package/build/components/rich-text/content.cjs.map +2 -2
  459. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  460. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  461. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  462. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  463. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  464. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  465. package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
  466. package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
  467. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  468. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  469. package/build/components/rich-text/event-listeners/input-rules.cjs +16 -14
  470. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  471. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  472. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  473. package/build/components/rich-text/event-listeners/paste-handler.cjs +10 -2
  474. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  475. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  476. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  477. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  478. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  479. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  480. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  481. package/build/components/rich-text/format-edit.cjs.map +2 -2
  482. package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
  483. package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
  484. package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
  485. package/build/components/rich-text/index.cjs +76 -17
  486. package/build/components/rich-text/index.cjs.map +2 -2
  487. package/build/components/rich-text/multiline.cjs.map +2 -2
  488. package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
  489. package/build/components/rich-text/toolbar-button.cjs.map +2 -2
  490. package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
  491. package/build/components/rich-text/utils.cjs.map +2 -2
  492. package/build/components/rich-text/with-deprecations.cjs.map +2 -2
  493. package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
  494. package/build/components/skip-to-selected-block/index.cjs.map +2 -2
  495. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
  496. package/build/components/spacing-sizes-control/index.cjs +2 -2
  497. package/build/components/spacing-sizes-control/index.cjs.map +2 -2
  498. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
  499. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
  500. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
  501. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
  502. package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
  503. package/build/components/spacing-sizes-control/utils.cjs +6 -19
  504. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  505. package/build/components/tabbed-sidebar/index.cjs.map +2 -2
  506. package/build/components/text-alignment-control/index.cjs.map +2 -2
  507. package/build/components/text-decoration-control/index.cjs.map +2 -2
  508. package/build/components/text-indent-control/index.cjs +8 -2
  509. package/build/components/text-indent-control/index.cjs.map +2 -2
  510. package/build/components/text-transform-control/index.cjs.map +2 -2
  511. package/build/components/tool-selector/index.cjs.map +2 -2
  512. package/build/components/typewriter/index.cjs +129 -136
  513. package/build/components/typewriter/index.cjs.map +3 -3
  514. package/build/components/unit-control/index.cjs.map +2 -2
  515. package/build/components/url-input/button.cjs.map +2 -2
  516. package/build/components/url-input/index.cjs +314 -373
  517. package/build/components/url-input/index.cjs.map +3 -3
  518. package/build/components/url-popover/image-url-input-ui.cjs +2 -2
  519. package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
  520. package/build/components/url-popover/index.cjs.map +2 -2
  521. package/build/components/url-popover/link-editor.cjs.map +2 -2
  522. package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
  523. package/build/components/url-popover/link-viewer.cjs.map +2 -2
  524. package/build/components/use-block-commands/index.cjs +23 -18
  525. package/build/components/use-block-commands/index.cjs.map +2 -2
  526. package/build/components/use-block-display-information/index.cjs +6 -1
  527. package/build/components/use-block-display-information/index.cjs.map +2 -2
  528. package/build/components/use-block-drop-zone/index.cjs.map +2 -2
  529. package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
  530. package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
  531. package/build/components/use-moving-animation/index.cjs +2 -2
  532. package/build/components/use-moving-animation/index.cjs.map +2 -2
  533. package/build/components/use-on-block-drop/index.cjs +1 -1
  534. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  535. package/build/components/use-paste-styles/index.cjs.map +2 -2
  536. package/build/components/use-resize-canvas/index.cjs.map +2 -2
  537. package/build/components/use-settings/index.cjs.map +2 -2
  538. package/build/components/warning/index.cjs.map +2 -2
  539. package/build/components/writing-flow/index.cjs +14 -1
  540. package/build/components/writing-flow/index.cjs.map +3 -3
  541. package/build/components/writing-flow/use-arrow-nav.cjs +48 -7
  542. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  543. package/build/components/writing-flow/use-click-selection.cjs +29 -3
  544. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  545. package/build/components/writing-flow/use-clipboard-handler.cjs +33 -5
  546. package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
  547. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  548. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  549. package/build/components/writing-flow/use-editable-root-event-handlers.cjs +179 -0
  550. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
  551. package/build/components/writing-flow/use-editable-root.cjs +75 -0
  552. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  553. package/build/components/writing-flow/use-home-end.cjs +64 -0
  554. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  555. package/build/components/writing-flow/use-input.cjs +15 -5
  556. package/build/components/writing-flow/use-input.cjs.map +2 -2
  557. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  558. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  559. package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
  560. package/build/components/writing-flow/use-select-all.cjs +14 -2
  561. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  562. package/build/components/writing-flow/use-selection-observer.cjs +132 -22
  563. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  564. package/build/components/writing-flow/use-tab-nav.cjs +3 -1
  565. package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
  566. package/build/components/writing-flow/utils.cjs +28 -2
  567. package/build/components/writing-flow/utils.cjs.map +2 -2
  568. package/build/components/writing-mode-control/index.cjs.map +2 -2
  569. package/build/hooks/align.cjs.map +2 -2
  570. package/build/hooks/allowed-blocks.cjs.map +2 -2
  571. package/build/hooks/anchor.cjs.map +2 -2
  572. package/build/hooks/aria-label.cjs.map +2 -2
  573. package/build/hooks/auto-inspector-controls.cjs.map +2 -2
  574. package/build/hooks/background.cjs +13 -12
  575. package/build/hooks/background.cjs.map +2 -2
  576. package/build/hooks/block-bindings.cjs.map +2 -2
  577. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
  578. package/build/hooks/block-fields/index.cjs.map +2 -2
  579. package/build/hooks/block-fields/link/index.cjs.map +2 -2
  580. package/build/hooks/block-fields/media/index.cjs.map +2 -2
  581. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  582. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  583. package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
  584. package/build/hooks/block-hooks.cjs.map +2 -2
  585. package/build/hooks/block-renaming.cjs.map +2 -2
  586. package/build/hooks/block-style-state.cjs.map +2 -2
  587. package/build/hooks/block-style-variation.cjs +4 -45
  588. package/build/hooks/block-style-variation.cjs.map +3 -3
  589. package/build/hooks/border.cjs +19 -4
  590. package/build/hooks/border.cjs.map +2 -2
  591. package/build/hooks/color.cjs.map +2 -2
  592. package/build/hooks/compat.cjs.map +2 -2
  593. package/build/hooks/contrast-checker.cjs.map +2 -2
  594. package/build/hooks/custom-class-name.cjs.map +2 -2
  595. package/build/hooks/custom-css.cjs +6 -2
  596. package/build/hooks/custom-css.cjs.map +2 -2
  597. package/build/hooks/dimensions.cjs +15 -4
  598. package/build/hooks/dimensions.cjs.map +2 -2
  599. package/build/hooks/duotone.cjs +26 -14
  600. package/build/hooks/duotone.cjs.map +3 -3
  601. package/build/hooks/elements.cjs +15 -5
  602. package/build/hooks/elements.cjs.map +2 -2
  603. package/build/hooks/fit-text.cjs.map +2 -2
  604. package/build/hooks/font-family.cjs +2 -4
  605. package/build/hooks/font-family.cjs.map +3 -3
  606. package/build/hooks/font-size.cjs.map +2 -2
  607. package/build/hooks/gap.cjs.map +2 -2
  608. package/build/hooks/generated-class-name.cjs.map +2 -2
  609. package/build/hooks/grid-visualizer.cjs +5 -3
  610. package/build/hooks/grid-visualizer.cjs.map +2 -2
  611. package/build/hooks/index.cjs.map +2 -2
  612. package/build/hooks/layout-child.cjs +22 -12
  613. package/build/hooks/layout-child.cjs.map +3 -3
  614. package/build/hooks/layout.cjs +32 -17
  615. package/build/hooks/layout.cjs.map +3 -3
  616. package/build/hooks/line-height.cjs +1 -2
  617. package/build/hooks/line-height.cjs.map +2 -2
  618. package/build/hooks/list-view.cjs.map +2 -2
  619. package/build/hooks/lock.cjs.map +2 -2
  620. package/build/hooks/metadata.cjs.map +2 -2
  621. package/build/hooks/position.cjs.map +2 -2
  622. package/build/hooks/settings.cjs.map +2 -2
  623. package/build/hooks/spacing-visualizer.cjs.map +2 -2
  624. package/build/hooks/state-utils.cjs.map +2 -2
  625. package/build/hooks/states.cjs +27 -7
  626. package/build/hooks/states.cjs.map +3 -3
  627. package/build/hooks/style.cjs +31 -9
  628. package/build/hooks/style.cjs.map +3 -3
  629. package/build/hooks/supports.cjs.map +2 -2
  630. package/build/hooks/text-align.cjs +36 -6
  631. package/build/hooks/text-align.cjs.map +3 -3
  632. package/build/hooks/typography.cjs +14 -5
  633. package/build/hooks/typography.cjs.map +2 -2
  634. package/build/hooks/use-border-props.cjs.map +2 -2
  635. package/build/hooks/use-cached-truthy.cjs.map +2 -2
  636. package/build/hooks/use-color-props.cjs.map +2 -2
  637. package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
  638. package/build/hooks/use-dimensions-props.cjs.map +2 -2
  639. package/build/hooks/use-shadow-props.cjs.map +2 -2
  640. package/build/hooks/use-spacing-props.cjs.map +2 -2
  641. package/build/hooks/use-typography-props.cjs +2 -4
  642. package/build/hooks/use-typography-props.cjs.map +3 -3
  643. package/build/hooks/use-zoom-out.cjs.map +2 -2
  644. package/build/hooks/utils.cjs.map +2 -2
  645. package/build/index.cjs.map +2 -2
  646. package/build/layouts/constrained.cjs +14 -6
  647. package/build/layouts/constrained.cjs.map +2 -2
  648. package/build/layouts/flex.cjs +27 -19
  649. package/build/layouts/flex.cjs.map +2 -2
  650. package/build/layouts/flow.cjs.map +2 -2
  651. package/build/layouts/grid.cjs +0 -2
  652. package/build/layouts/grid.cjs.map +2 -2
  653. package/build/layouts/index.cjs.map +2 -2
  654. package/build/layouts/utils.cjs.map +2 -2
  655. package/build/lock-unlock.cjs.map +2 -2
  656. package/build/private-apis.cjs +9 -5
  657. package/build/private-apis.cjs.map +3 -3
  658. package/build/store/actions.cjs +115 -42
  659. package/build/store/actions.cjs.map +3 -3
  660. package/build/store/defaults.cjs +2 -0
  661. package/build/store/defaults.cjs.map +2 -2
  662. package/build/store/get-block-settings.cjs.map +2 -2
  663. package/build/store/index.cjs.map +2 -2
  664. package/build/store/private-actions.cjs +19 -2
  665. package/build/store/private-actions.cjs.map +2 -2
  666. package/build/store/private-selectors.cjs +69 -13
  667. package/build/store/private-selectors.cjs.map +3 -3
  668. package/build/store/reducer.cjs +9 -7
  669. package/build/store/reducer.cjs.map +2 -2
  670. package/build/store/selectors.cjs +44 -8
  671. package/build/store/selectors.cjs.map +2 -2
  672. package/build/store/utils.cjs.map +2 -2
  673. package/build/utils/block-bindings.cjs +29 -0
  674. package/build/utils/block-bindings.cjs.map +2 -2
  675. package/build/utils/dom.cjs +14 -0
  676. package/build/utils/dom.cjs.map +2 -2
  677. package/build/utils/fit-text-frontend.cjs.map +2 -2
  678. package/build/utils/format-font-style.cjs.map +2 -2
  679. package/build/utils/format-font-weight.cjs.map +2 -2
  680. package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
  681. package/build/utils/group-blocks.cjs +42 -0
  682. package/build/utils/group-blocks.cjs.map +7 -0
  683. package/build/{components/rich-text/input-event.cjs → utils/native-undo.cjs} +29 -24
  684. package/build/utils/native-undo.cjs.map +7 -0
  685. package/build/utils/pasting.cjs.map +2 -2
  686. package/build/utils/selection.cjs.map +2 -2
  687. package/build/utils/sibling-block-attributes.cjs +45 -0
  688. package/build/utils/sibling-block-attributes.cjs.map +7 -0
  689. package/build/utils/transform-styles/index.cjs.map +2 -2
  690. package/build/utils/use-notify-copy.cjs.map +2 -2
  691. package/build-module/autocompleters/block.mjs.map +2 -2
  692. package/build-module/components/alignment-control/index.mjs.map +2 -2
  693. package/build-module/components/alignment-control/ui.mjs +2 -4
  694. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  695. package/build-module/components/autocomplete/index.mjs.map +2 -2
  696. package/build-module/components/background-image-control/index.mjs +43 -10
  697. package/build-module/components/background-image-control/index.mjs.map +2 -2
  698. package/build-module/components/block-actions/index.mjs +3 -6
  699. package/build-module/components/block-actions/index.mjs.map +2 -2
  700. package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
  701. package/build-module/components/block-alignment-control/index.mjs.map +2 -2
  702. package/build-module/components/block-alignment-control/ui.mjs +5 -3
  703. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  704. package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
  705. package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
  706. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
  707. package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
  708. package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
  709. package/build-module/components/block-bindings/index.mjs.map +2 -2
  710. package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
  711. package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
  712. package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
  713. package/build-module/components/block-canvas/index.mjs +7 -2
  714. package/build-module/components/block-canvas/index.mjs.map +2 -2
  715. package/build-module/components/block-card/index.mjs.map +2 -2
  716. package/build-module/components/block-compare/block-view.mjs.map +2 -2
  717. package/build-module/components/block-compare/index.mjs.map +2 -2
  718. package/build-module/components/block-content-overlay/index.mjs.map +2 -2
  719. package/build-module/components/block-context/index.mjs.map +2 -2
  720. package/build-module/components/block-controls/fill.mjs.map +2 -2
  721. package/build-module/components/block-controls/groups.mjs +3 -1
  722. package/build-module/components/block-controls/groups.mjs.map +2 -2
  723. package/build-module/components/block-controls/hook.mjs.map +2 -2
  724. package/build-module/components/block-controls/index.mjs.map +2 -2
  725. package/build-module/components/block-controls/slot.mjs.map +2 -2
  726. package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
  727. package/build-module/components/block-draggable/index.mjs.map +2 -2
  728. package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
  729. package/build-module/components/block-edit/context.mjs.map +2 -2
  730. package/build-module/components/block-edit/edit.mjs +11 -18
  731. package/build-module/components/block-edit/edit.mjs.map +2 -2
  732. package/build-module/components/block-edit/index.mjs.map +2 -2
  733. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
  734. package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
  735. package/build-module/components/block-editing-mode/index.mjs.map +2 -2
  736. package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
  737. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
  738. package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
  739. package/build-module/components/block-icon/index.mjs.map +2 -2
  740. package/build-module/components/block-inspector/edit-contents.mjs +49 -41
  741. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  742. package/build-module/components/block-inspector/index.mjs +83 -50
  743. package/build-module/components/block-inspector/index.mjs.map +2 -2
  744. package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
  745. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
  746. package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
  747. package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
  748. package/build-module/components/block-list/block-html.mjs +4 -1
  749. package/build-module/components/block-list/block-html.mjs.map +2 -2
  750. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  751. package/build-module/components/block-list/block.mjs +45 -13
  752. package/build-module/components/block-list/block.mjs.map +3 -3
  753. package/build-module/components/block-list/index.mjs +35 -13
  754. package/build-module/components/block-list/index.mjs.map +2 -2
  755. package/build-module/components/block-list/layout.mjs.map +2 -2
  756. package/build-module/components/block-list/private-block-context.mjs.map +2 -2
  757. package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
  758. package/build-module/components/block-list/use-block-props/index.mjs +41 -2
  759. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  760. package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
  761. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
  762. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  763. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  764. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +11 -4
  765. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  766. package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
  767. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  768. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs +28 -0
  769. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
  770. package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
  771. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  772. package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
  773. package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
  774. package/build-module/components/block-list-appender/index.mjs.map +2 -2
  775. package/build-module/components/block-lock/menu-item.mjs.map +2 -2
  776. package/build-module/components/block-lock/modal.mjs.map +2 -2
  777. package/build-module/components/block-lock/toolbar.mjs.map +2 -2
  778. package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
  779. package/build-module/components/block-manager/category.mjs.map +2 -2
  780. package/build-module/components/block-manager/checklist.mjs.map +2 -2
  781. package/build-module/components/block-manager/index.mjs.map +2 -2
  782. package/build-module/components/block-mover/button.mjs +17 -11
  783. package/build-module/components/block-mover/button.mjs.map +2 -2
  784. package/build-module/components/block-mover/index.mjs.map +2 -2
  785. package/build-module/components/block-mover/mover-description.mjs.map +2 -2
  786. package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
  787. package/build-module/components/block-parent-selector/index.mjs +2 -2
  788. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  789. package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
  790. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
  791. package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
  792. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  793. package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
  794. package/build-module/components/block-popover/cover.mjs.map +2 -2
  795. package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
  796. package/build-module/components/block-popover/inbetween.mjs.map +2 -2
  797. package/build-module/components/block-popover/index.mjs.map +2 -2
  798. package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
  799. package/build-module/components/block-preview/async.mjs.map +2 -2
  800. package/build-module/components/block-preview/auto.mjs.map +2 -2
  801. package/build-module/components/block-preview/index.mjs.map +2 -2
  802. package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
  803. package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
  804. package/build-module/components/block-rename/modal.mjs.map +2 -2
  805. package/build-module/components/block-rename/rename-control.mjs.map +2 -2
  806. package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
  807. package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
  808. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
  809. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
  810. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
  811. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  812. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
  813. package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
  814. package/build-module/components/block-settings-menu/index.mjs.map +2 -2
  815. package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
  816. package/build-module/components/block-styles/index.mjs.map +2 -2
  817. package/build-module/components/block-styles/menu-items.mjs.map +2 -2
  818. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  819. package/build-module/components/block-styles/utils.mjs.map +2 -2
  820. package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
  821. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  822. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
  823. package/build-module/components/block-switcher/index.mjs.map +2 -2
  824. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
  825. package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
  826. package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
  827. package/build-module/components/block-switcher/utils.mjs.map +2 -2
  828. package/build-module/components/block-title/index.mjs.map +2 -2
  829. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  830. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
  831. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  832. package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
  833. package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
  834. package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
  835. package/build-module/components/block-toolbar/index.mjs +43 -24
  836. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  837. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
  838. package/build-module/components/block-toolbar/switch-section-style.mjs +4 -2
  839. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  840. package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
  841. package/build-module/components/block-toolbar/utils.mjs.map +2 -2
  842. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
  843. package/build-module/components/block-tools/empty-block-inserter.mjs +2 -7
  844. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  845. package/build-module/components/block-tools/index.mjs +10 -11
  846. package/build-module/components/block-tools/index.mjs.map +2 -2
  847. package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
  848. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
  849. package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
  850. package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
  851. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
  852. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
  853. package/build-module/components/block-types-list/index.mjs.map +2 -2
  854. package/build-module/components/block-variation-picker/index.mjs.map +2 -2
  855. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  856. package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
  857. package/build-module/components/block-vertical-alignment-control/ui.mjs +4 -6
  858. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  859. package/build-module/components/block-visibility/constants.mjs +1 -1
  860. package/build-module/components/block-visibility/constants.mjs.map +3 -3
  861. package/build-module/components/block-visibility/modal.mjs +22 -10
  862. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  863. package/build-module/components/block-visibility/use-block-visibility.mjs +29 -21
  864. package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
  865. package/build-module/components/block-visibility/utils.mjs +18 -3
  866. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  867. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  868. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  869. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  870. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  871. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  872. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  873. package/build-module/components/border-radius-control/constants.mjs.map +2 -2
  874. package/build-module/components/border-radius-control/index.mjs.map +2 -2
  875. package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
  876. package/build-module/components/border-radius-control/utils.mjs +11 -53
  877. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  878. package/build-module/components/button-block-appender/index.mjs.map +2 -2
  879. package/build-module/components/child-layout-control/index.mjs +0 -4
  880. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  881. package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
  882. package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
  883. package/build-module/components/color-palette/control.mjs.map +2 -2
  884. package/build-module/components/color-palette/index.mjs.map +2 -2
  885. package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
  886. package/build-module/components/color-style-selector/index.mjs.map +2 -2
  887. package/build-module/components/colors/utils.mjs +1 -3
  888. package/build-module/components/colors/utils.mjs.map +2 -2
  889. package/build-module/components/colors/with-colors.mjs +1 -3
  890. package/build-module/components/colors/with-colors.mjs.map +2 -2
  891. package/build-module/components/colors-gradients/control.mjs +5 -3
  892. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  893. package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
  894. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
  895. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
  896. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
  897. package/build-module/components/contrast-checker/index.mjs.map +2 -2
  898. package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
  899. package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
  900. package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
  901. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
  902. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
  903. package/build-module/components/copy-handler/index.mjs.map +2 -2
  904. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  905. package/build-module/components/default-block-appender/index.mjs.map +2 -2
  906. package/build-module/components/dimension-control/index.mjs +30 -20
  907. package/build-module/components/dimension-control/index.mjs.map +2 -2
  908. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
  909. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  910. package/build-module/components/dimensions-tool/index.mjs.map +2 -2
  911. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  912. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  913. package/build-module/components/duotone-control/index.mjs.map +2 -2
  914. package/build-module/components/editable-text/index.mjs.map +2 -2
  915. package/build-module/components/editor-styles/index.mjs +9 -1
  916. package/build-module/components/editor-styles/index.mjs.map +2 -2
  917. package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
  918. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +2 -2
  919. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  920. package/build-module/components/font-family/index.mjs.map +2 -2
  921. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  922. package/build-module/components/font-sizes/utils.mjs +1 -3
  923. package/build-module/components/font-sizes/utils.mjs.map +2 -2
  924. package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
  925. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  926. package/build-module/components/global-styles/background-panel.mjs +71 -29
  927. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  928. package/build-module/components/global-styles/border-panel.mjs +157 -56
  929. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  930. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
  931. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  932. package/build-module/components/global-styles/color-panel.mjs +63 -17
  933. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  934. package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
  935. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  936. package/build-module/components/global-styles/filters-panel.mjs +64 -21
  937. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  938. package/build-module/components/global-styles/hooks.mjs +4 -1
  939. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  940. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  941. package/build-module/components/global-styles/inheritance/index.mjs +108 -0
  942. package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
  943. package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
  944. package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
  945. package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
  946. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  947. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  948. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  949. package/build-module/components/global-styles/state-control.mjs +1 -1
  950. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  951. package/build-module/components/global-styles/typography-panel.mjs +276 -80
  952. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  953. package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
  954. package/build-module/components/global-styles/utils.mjs.map +2 -2
  955. package/build-module/components/gradients/use-gradient.mjs.map +2 -2
  956. package/build-module/components/gradients/with-gradient.mjs.map +2 -2
  957. package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
  958. package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
  959. package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
  960. package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
  961. package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
  962. package/build-module/components/height-control/index.mjs.map +2 -2
  963. package/build-module/components/html-element-control/index.mjs.map +2 -2
  964. package/build-module/components/html-element-control/messages.mjs.map +2 -2
  965. package/build-module/components/iframe/index.mjs +19 -24
  966. package/build-module/components/iframe/index.mjs.map +2 -2
  967. package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
  968. package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
  969. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
  970. package/build-module/components/image-editor/context.mjs.map +2 -2
  971. package/build-module/components/image-editor/cropper.mjs.map +2 -2
  972. package/build-module/components/image-editor/form-controls.mjs.map +2 -2
  973. package/build-module/components/image-editor/index.mjs.map +2 -2
  974. package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
  975. package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
  976. package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
  977. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  978. package/build-module/components/image-size-control/index.mjs +2 -4
  979. package/build-module/components/image-size-control/index.mjs.map +2 -2
  980. package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
  981. package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
  982. package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
  983. package/build-module/components/inner-blocks/index.mjs.map +2 -2
  984. package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
  985. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
  986. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  987. package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
  988. package/build-module/components/inner-content/index.mjs.map +2 -2
  989. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
  990. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
  991. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
  992. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
  993. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
  994. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
  995. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
  996. package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
  997. package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
  998. package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
  999. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  1000. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  1001. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
  1002. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  1003. package/build-module/components/inserter/index.mjs +4 -13
  1004. package/build-module/components/inserter/index.mjs.map +2 -2
  1005. package/build-module/components/inserter/library.mjs.map +2 -2
  1006. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  1007. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  1008. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  1009. package/build-module/components/inserter/media-tab/media-panel.mjs +86 -18
  1010. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  1011. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  1012. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  1013. package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
  1014. package/build-module/components/inserter/menu.mjs.map +2 -2
  1015. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  1016. package/build-module/components/inserter/no-results.mjs.map +2 -2
  1017. package/build-module/components/inserter/panel.mjs.map +2 -2
  1018. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  1019. package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
  1020. package/build-module/components/inserter/search-items.mjs.map +2 -2
  1021. package/build-module/components/inserter/search-results.mjs.map +2 -2
  1022. package/build-module/components/inserter/tips.mjs.map +2 -2
  1023. package/build-module/components/inserter-button/sparkles.mjs.map +2 -2
  1024. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  1025. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  1026. package/build-module/components/inserter-listbox/context.mjs.map +2 -2
  1027. package/build-module/components/inserter-listbox/group.mjs.map +2 -2
  1028. package/build-module/components/inserter-listbox/index.mjs.map +2 -2
  1029. package/build-module/components/inserter-listbox/item.mjs.map +2 -2
  1030. package/build-module/components/inserter-listbox/row.mjs.map +2 -2
  1031. package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
  1032. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
  1033. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
  1034. package/build-module/components/inspector-controls/fill.mjs +15 -17
  1035. package/build-module/components/inspector-controls/fill.mjs.map +2 -2
  1036. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1037. package/build-module/components/inspector-controls/index.mjs.map +2 -2
  1038. package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
  1039. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
  1040. package/build-module/components/inspector-controls/slot.mjs.map +2 -2
  1041. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
  1042. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
  1043. package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
  1044. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
  1045. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
  1046. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +6 -1
  1047. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  1048. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
  1049. package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
  1050. package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
  1051. package/build-module/components/justify-content-control/index.mjs.map +2 -2
  1052. package/build-module/components/justify-content-control/ui.mjs.map +2 -2
  1053. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  1054. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  1055. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  1056. package/build-module/components/line-height-control/index.mjs +1 -2
  1057. package/build-module/components/line-height-control/index.mjs.map +2 -2
  1058. package/build-module/components/link-control/constants.mjs.map +2 -2
  1059. package/build-module/components/link-control/index.mjs +4 -2
  1060. package/build-module/components/link-control/index.mjs.map +2 -2
  1061. package/build-module/components/link-control/is-url-like.mjs.map +2 -2
  1062. package/build-module/components/link-control/link-preview.mjs.map +2 -2
  1063. package/build-module/components/link-control/normalize-url.mjs.map +2 -2
  1064. package/build-module/components/link-control/search-create-button.mjs.map +2 -2
  1065. package/build-module/components/link-control/search-input.mjs.map +2 -2
  1066. package/build-module/components/link-control/search-item.mjs.map +2 -2
  1067. package/build-module/components/link-control/search-results.mjs +1 -1
  1068. package/build-module/components/link-control/search-results.mjs.map +2 -2
  1069. package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
  1070. package/build-module/components/link-control/settings.mjs.map +2 -2
  1071. package/build-module/components/link-control/use-create-page.mjs.map +2 -2
  1072. package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
  1073. package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
  1074. package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
  1075. package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
  1076. package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
  1077. package/build-module/components/link-picker/link-picker.mjs.map +2 -2
  1078. package/build-module/components/link-picker/link-preview.mjs.map +2 -2
  1079. package/build-module/components/list-view/appender.mjs +7 -4
  1080. package/build-module/components/list-view/appender.mjs.map +2 -2
  1081. package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
  1082. package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
  1083. package/build-module/components/list-view/block-contents.mjs +18 -21
  1084. package/build-module/components/list-view/block-contents.mjs.map +2 -2
  1085. package/build-module/components/list-view/block-select-button.mjs +49 -26
  1086. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  1087. package/build-module/components/list-view/block.mjs +50 -48
  1088. package/build-module/components/list-view/block.mjs.map +2 -2
  1089. package/build-module/components/list-view/branch.mjs +100 -80
  1090. package/build-module/components/list-view/branch.mjs.map +2 -2
  1091. package/build-module/components/list-view/context.mjs +11 -1
  1092. package/build-module/components/list-view/context.mjs.map +2 -2
  1093. package/build-module/components/list-view/drop-indicator.mjs +6 -6
  1094. package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
  1095. package/build-module/components/list-view/expander.mjs.map +2 -2
  1096. package/build-module/components/list-view/index.mjs +87 -95
  1097. package/build-module/components/list-view/index.mjs.map +2 -2
  1098. package/build-module/components/list-view/leaf.mjs.map +2 -2
  1099. package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
  1100. package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
  1101. package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
  1102. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  1103. package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
  1104. package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
  1105. package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
  1106. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
  1107. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
  1108. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
  1109. package/build-module/components/list-view/use-list-view-images.mjs +4 -3
  1110. package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
  1111. package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
  1112. package/build-module/components/list-view/utils.mjs +5 -3
  1113. package/build-module/components/list-view/utils.mjs.map +2 -2
  1114. package/build-module/components/media-placeholder/index.mjs +0 -1
  1115. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  1116. package/build-module/components/media-replace-flow/index.mjs.map +2 -2
  1117. package/build-module/components/media-upload/check.mjs.map +2 -2
  1118. package/build-module/components/media-upload/index.mjs.map +2 -2
  1119. package/build-module/components/multi-selection-inspector/index.mjs +33 -12
  1120. package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
  1121. package/build-module/components/navigable-toolbar/index.mjs +30 -18
  1122. package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
  1123. package/build-module/components/observe-typing/index.mjs.map +2 -2
  1124. package/build-module/components/panel-color-settings/index.mjs.map +2 -2
  1125. package/build-module/components/plain-text/index.mjs.map +2 -2
  1126. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  1127. package/build-module/components/preset-input-control/index.mjs +2 -1
  1128. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  1129. package/build-module/components/preview-options/index.mjs.map +2 -2
  1130. package/build-module/components/provider/block-refs-provider.mjs +8 -2
  1131. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  1132. package/build-module/components/provider/index.mjs +1 -1
  1133. package/build-module/components/provider/index.mjs.map +2 -2
  1134. package/build-module/components/provider/selection-context.mjs.map +2 -2
  1135. package/build-module/components/provider/use-block-sync.mjs +18 -6
  1136. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  1137. package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
  1138. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  1139. package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
  1140. package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
  1141. package/build-module/components/recursion-provider/index.mjs.map +2 -2
  1142. package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
  1143. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  1144. package/build-module/components/responsive-block-control/index.mjs.map +2 -2
  1145. package/build-module/components/responsive-block-control/label.mjs.map +2 -2
  1146. package/build-module/components/rich-text/content.mjs.map +2 -2
  1147. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  1148. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  1149. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  1150. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  1151. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  1152. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1153. package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
  1154. package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
  1155. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  1156. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  1157. package/build-module/components/rich-text/event-listeners/input-rules.mjs +21 -15
  1158. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1159. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  1160. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  1161. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +16 -3
  1162. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  1163. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  1164. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  1165. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  1166. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  1167. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  1168. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  1169. package/build-module/components/rich-text/format-edit.mjs.map +2 -2
  1170. package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
  1171. package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
  1172. package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
  1173. package/build-module/components/rich-text/index.mjs +79 -14
  1174. package/build-module/components/rich-text/index.mjs.map +2 -2
  1175. package/build-module/components/rich-text/multiline.mjs.map +2 -2
  1176. package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
  1177. package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
  1178. package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
  1179. package/build-module/components/rich-text/utils.mjs.map +2 -2
  1180. package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
  1181. package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
  1182. package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
  1183. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
  1184. package/build-module/components/spacing-sizes-control/index.mjs +2 -2
  1185. package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
  1186. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
  1187. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
  1188. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
  1189. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
  1190. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
  1191. package/build-module/components/spacing-sizes-control/utils.mjs +6 -18
  1192. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  1193. package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
  1194. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  1195. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  1196. package/build-module/components/text-indent-control/index.mjs +8 -2
  1197. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  1198. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  1199. package/build-module/components/tool-selector/index.mjs.map +2 -2
  1200. package/build-module/components/typewriter/index.mjs +129 -136
  1201. package/build-module/components/typewriter/index.mjs.map +2 -2
  1202. package/build-module/components/unit-control/index.mjs.map +2 -2
  1203. package/build-module/components/url-input/button.mjs.map +2 -2
  1204. package/build-module/components/url-input/index.mjs +317 -382
  1205. package/build-module/components/url-input/index.mjs.map +2 -2
  1206. package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
  1207. package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
  1208. package/build-module/components/url-popover/index.mjs.map +2 -2
  1209. package/build-module/components/url-popover/link-editor.mjs.map +2 -2
  1210. package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
  1211. package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
  1212. package/build-module/components/use-block-commands/index.mjs +23 -18
  1213. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  1214. package/build-module/components/use-block-display-information/index.mjs +2 -1
  1215. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  1216. package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
  1217. package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
  1218. package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
  1219. package/build-module/components/use-moving-animation/index.mjs +2 -2
  1220. package/build-module/components/use-moving-animation/index.mjs.map +2 -2
  1221. package/build-module/components/use-on-block-drop/index.mjs +2 -2
  1222. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  1223. package/build-module/components/use-paste-styles/index.mjs.map +2 -2
  1224. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  1225. package/build-module/components/use-settings/index.mjs.map +2 -2
  1226. package/build-module/components/warning/index.mjs.map +2 -2
  1227. package/build-module/components/writing-flow/index.mjs +14 -1
  1228. package/build-module/components/writing-flow/index.mjs.map +2 -2
  1229. package/build-module/components/writing-flow/use-arrow-nav.mjs +53 -8
  1230. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  1231. package/build-module/components/writing-flow/use-click-selection.mjs +29 -3
  1232. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  1233. package/build-module/components/writing-flow/use-clipboard-handler.mjs +36 -7
  1234. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  1235. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  1236. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  1237. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs +154 -0
  1238. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
  1239. package/build-module/components/writing-flow/use-editable-root.mjs +54 -0
  1240. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  1241. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  1242. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  1243. package/build-module/components/writing-flow/use-input.mjs +15 -5
  1244. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  1245. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  1246. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  1247. package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
  1248. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  1249. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  1250. package/build-module/components/writing-flow/use-selection-observer.mjs +134 -21
  1251. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  1252. package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
  1253. package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
  1254. package/build-module/components/writing-flow/utils.mjs +26 -1
  1255. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  1256. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  1257. package/build-module/hooks/align.mjs.map +2 -2
  1258. package/build-module/hooks/allowed-blocks.mjs.map +2 -2
  1259. package/build-module/hooks/anchor.mjs.map +2 -2
  1260. package/build-module/hooks/aria-label.mjs.map +2 -2
  1261. package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
  1262. package/build-module/hooks/background.mjs +13 -12
  1263. package/build-module/hooks/background.mjs.map +2 -2
  1264. package/build-module/hooks/block-bindings.mjs.map +2 -2
  1265. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
  1266. package/build-module/hooks/block-fields/index.mjs.map +2 -2
  1267. package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
  1268. package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
  1269. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  1270. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  1271. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
  1272. package/build-module/hooks/block-hooks.mjs.map +2 -2
  1273. package/build-module/hooks/block-renaming.mjs.map +2 -2
  1274. package/build-module/hooks/block-style-state.mjs.map +2 -2
  1275. package/build-module/hooks/block-style-variation.mjs +8 -44
  1276. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  1277. package/build-module/hooks/border.mjs +19 -4
  1278. package/build-module/hooks/border.mjs.map +2 -2
  1279. package/build-module/hooks/color.mjs.map +2 -2
  1280. package/build-module/hooks/compat.mjs.map +2 -2
  1281. package/build-module/hooks/contrast-checker.mjs.map +2 -2
  1282. package/build-module/hooks/custom-class-name.mjs.map +2 -2
  1283. package/build-module/hooks/custom-css.mjs +7 -3
  1284. package/build-module/hooks/custom-css.mjs.map +2 -2
  1285. package/build-module/hooks/dimensions.mjs +15 -4
  1286. package/build-module/hooks/dimensions.mjs.map +2 -2
  1287. package/build-module/hooks/duotone.mjs +20 -9
  1288. package/build-module/hooks/duotone.mjs.map +2 -2
  1289. package/build-module/hooks/elements.mjs +15 -5
  1290. package/build-module/hooks/elements.mjs.map +2 -2
  1291. package/build-module/hooks/fit-text.mjs.map +2 -2
  1292. package/build-module/hooks/font-family.mjs +1 -3
  1293. package/build-module/hooks/font-family.mjs.map +2 -2
  1294. package/build-module/hooks/font-size.mjs.map +2 -2
  1295. package/build-module/hooks/gap.mjs.map +2 -2
  1296. package/build-module/hooks/generated-class-name.mjs.map +2 -2
  1297. package/build-module/hooks/grid-visualizer.mjs +5 -3
  1298. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1299. package/build-module/hooks/index.mjs.map +2 -2
  1300. package/build-module/hooks/layout-child.mjs +22 -12
  1301. package/build-module/hooks/layout-child.mjs.map +2 -2
  1302. package/build-module/hooks/layout.mjs +30 -16
  1303. package/build-module/hooks/layout.mjs.map +2 -2
  1304. package/build-module/hooks/line-height.mjs +1 -2
  1305. package/build-module/hooks/line-height.mjs.map +2 -2
  1306. package/build-module/hooks/list-view.mjs.map +2 -2
  1307. package/build-module/hooks/lock.mjs.map +2 -2
  1308. package/build-module/hooks/metadata.mjs.map +2 -2
  1309. package/build-module/hooks/position.mjs.map +2 -2
  1310. package/build-module/hooks/settings.mjs.map +2 -2
  1311. package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
  1312. package/build-module/hooks/state-utils.mjs.map +2 -2
  1313. package/build-module/hooks/states.mjs +27 -7
  1314. package/build-module/hooks/states.mjs.map +2 -2
  1315. package/build-module/hooks/style.mjs +40 -11
  1316. package/build-module/hooks/style.mjs.map +2 -2
  1317. package/build-module/hooks/supports.mjs.map +2 -2
  1318. package/build-module/hooks/text-align.mjs +39 -10
  1319. package/build-module/hooks/text-align.mjs.map +2 -2
  1320. package/build-module/hooks/typography.mjs +14 -5
  1321. package/build-module/hooks/typography.mjs.map +2 -2
  1322. package/build-module/hooks/use-border-props.mjs.map +2 -2
  1323. package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
  1324. package/build-module/hooks/use-color-props.mjs.map +2 -2
  1325. package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
  1326. package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
  1327. package/build-module/hooks/use-shadow-props.mjs.map +2 -2
  1328. package/build-module/hooks/use-spacing-props.mjs.map +2 -2
  1329. package/build-module/hooks/use-typography-props.mjs +1 -3
  1330. package/build-module/hooks/use-typography-props.mjs.map +2 -2
  1331. package/build-module/hooks/use-zoom-out.mjs.map +2 -2
  1332. package/build-module/hooks/utils.mjs.map +2 -2
  1333. package/build-module/index.mjs.map +2 -2
  1334. package/build-module/layouts/constrained.mjs +14 -6
  1335. package/build-module/layouts/constrained.mjs.map +2 -2
  1336. package/build-module/layouts/flex.mjs +27 -19
  1337. package/build-module/layouts/flex.mjs.map +2 -2
  1338. package/build-module/layouts/flow.mjs.map +2 -2
  1339. package/build-module/layouts/grid.mjs +0 -2
  1340. package/build-module/layouts/grid.mjs.map +2 -2
  1341. package/build-module/layouts/index.mjs.map +2 -2
  1342. package/build-module/layouts/utils.mjs.map +2 -2
  1343. package/build-module/lock-unlock.mjs.map +2 -2
  1344. package/build-module/private-apis.mjs +7 -3
  1345. package/build-module/private-apis.mjs.map +2 -2
  1346. package/build-module/store/actions.mjs +116 -43
  1347. package/build-module/store/actions.mjs.map +3 -3
  1348. package/build-module/store/defaults.mjs +2 -0
  1349. package/build-module/store/defaults.mjs.map +2 -2
  1350. package/build-module/store/get-block-settings.mjs.map +2 -2
  1351. package/build-module/store/index.mjs.map +2 -2
  1352. package/build-module/store/private-actions.mjs +19 -2
  1353. package/build-module/store/private-actions.mjs.map +2 -2
  1354. package/build-module/store/private-selectors.mjs +69 -13
  1355. package/build-module/store/private-selectors.mjs.map +2 -2
  1356. package/build-module/store/reducer.mjs +9 -7
  1357. package/build-module/store/reducer.mjs.map +2 -2
  1358. package/build-module/store/selectors.mjs +44 -8
  1359. package/build-module/store/selectors.mjs.map +2 -2
  1360. package/build-module/store/utils.mjs.map +2 -2
  1361. package/build-module/utils/block-bindings.mjs +28 -0
  1362. package/build-module/utils/block-bindings.mjs.map +2 -2
  1363. package/build-module/utils/dom.mjs +13 -0
  1364. package/build-module/utils/dom.mjs.map +2 -2
  1365. package/build-module/utils/fit-text-frontend.mjs.map +2 -2
  1366. package/build-module/utils/format-font-style.mjs.map +2 -2
  1367. package/build-module/utils/format-font-weight.mjs.map +2 -2
  1368. package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
  1369. package/build-module/utils/group-blocks.mjs +21 -0
  1370. package/build-module/utils/group-blocks.mjs.map +7 -0
  1371. package/build-module/utils/native-undo.mjs +29 -0
  1372. package/build-module/utils/native-undo.mjs.map +7 -0
  1373. package/build-module/utils/pasting.mjs.map +2 -2
  1374. package/build-module/utils/selection.mjs.map +2 -2
  1375. package/build-module/utils/sibling-block-attributes.mjs +20 -0
  1376. package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
  1377. package/build-module/utils/transform-styles/index.mjs.map +2 -2
  1378. package/build-module/utils/use-notify-copy.mjs.map +2 -2
  1379. package/build-style/content-rtl.css +16 -29
  1380. package/build-style/content.css +16 -29
  1381. package/build-style/default-editor-styles-rtl.css +1 -1
  1382. package/build-style/default-editor-styles.css +1 -1
  1383. package/build-style/style-rtl.css +228 -66
  1384. package/build-style/style.css +228 -66
  1385. package/build-types/components/block-context/index.d.ts +7 -0
  1386. package/build-types/components/block-context/index.d.ts.map +1 -1
  1387. package/build-types/components/block-visibility/constants.d.ts +44 -0
  1388. package/build-types/components/block-visibility/constants.d.ts.map +1 -0
  1389. package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
  1390. package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
  1391. package/build-types/lock-unlock.d.ts +2 -0
  1392. package/build-types/lock-unlock.d.ts.map +1 -0
  1393. package/build-types/utils/block-bindings.d.ts +19 -0
  1394. package/build-types/utils/block-bindings.d.ts.map +1 -1
  1395. package/build-types/utils/dom.d.ts +11 -0
  1396. package/build-types/utils/dom.d.ts.map +1 -1
  1397. package/build-types/utils/fit-text-frontend.d.ts +0 -5
  1398. package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
  1399. package/build-types/utils/format-font-style.d.ts +0 -3
  1400. package/build-types/utils/format-font-style.d.ts.map +1 -1
  1401. package/build-types/utils/format-font-weight.d.ts +0 -3
  1402. package/build-types/utils/format-font-weight.d.ts.map +1 -1
  1403. package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
  1404. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  1405. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  1406. package/build-types/utils/pasting.d.ts +1 -1
  1407. package/build-types/utils/pasting.d.ts.map +1 -1
  1408. package/build-types/utils/selection.d.ts.map +1 -1
  1409. package/build-types/utils/transform-styles/index.d.ts +0 -3
  1410. package/build-types/utils/transform-styles/index.d.ts.map +1 -1
  1411. package/package.json +45 -45
  1412. package/src/autocompleters/block.js +0 -7
  1413. package/src/autocompleters/test/block.js +0 -7
  1414. package/src/components/alignment-control/index.js +0 -3
  1415. package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
  1416. package/src/components/alignment-control/stories/index.story.jsx +0 -7
  1417. package/src/components/alignment-control/test/__snapshots__/index.js.snap +1 -1
  1418. package/src/components/alignment-control/test/index.js +0 -11
  1419. package/src/components/alignment-control/ui.js +2 -7
  1420. package/src/components/autocomplete/index.js +0 -7
  1421. package/src/components/background-image-control/index.js +74 -49
  1422. package/src/components/background-image-control/style.scss +13 -4
  1423. package/src/components/background-image-control/test/index.js +0 -4
  1424. package/src/components/block-actions/README.md +67 -0
  1425. package/src/components/block-actions/index.js +3 -14
  1426. package/src/components/block-alignment-control/constants.js +0 -3
  1427. package/src/components/block-alignment-control/index.js +0 -3
  1428. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +3 -3
  1429. package/src/components/block-alignment-control/test/index.js +1 -8
  1430. package/src/components/block-alignment-control/ui.js +4 -13
  1431. package/src/components/block-alignment-control/use-available-alignments.js +0 -7
  1432. package/src/components/block-alignment-matrix-control/index.js +0 -3
  1433. package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
  1434. package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
  1435. package/src/components/block-allowed-blocks/modal.js +0 -7
  1436. package/src/components/block-bindings/attribute-control.js +10 -11
  1437. package/src/components/block-bindings/index.js +0 -3
  1438. package/src/components/block-bindings/source-fields-list.js +0 -11
  1439. package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
  1440. package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
  1441. package/src/components/block-breadcrumb/index.js +0 -7
  1442. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +1 -1
  1443. package/src/components/block-breadcrumb/test/index.js +0 -7
  1444. package/src/components/block-canvas/index.js +9 -9
  1445. package/src/components/block-card/index.js +0 -11
  1446. package/src/components/block-card/style.scss +1 -1
  1447. package/src/components/block-compare/block-view.js +0 -3
  1448. package/src/components/block-compare/index.js +0 -11
  1449. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  1450. package/src/components/block-compare/test/block-view.js +0 -7
  1451. package/src/components/block-content-overlay/index.js +0 -7
  1452. package/src/components/block-context/README.md +0 -1
  1453. package/src/components/block-context/index.js +0 -3
  1454. package/src/components/block-controls/README.md +0 -3
  1455. package/src/components/block-controls/fill.js +0 -7
  1456. package/src/components/block-controls/groups.js +2 -3
  1457. package/src/components/block-controls/hook.js +0 -7
  1458. package/src/components/block-controls/index.js +0 -3
  1459. package/src/components/block-controls/slot.js +0 -7
  1460. package/src/components/block-controls/test/index.js +0 -11
  1461. package/src/components/block-draggable/draggable-chip.js +0 -7
  1462. package/src/components/block-draggable/index.js +0 -7
  1463. package/src/components/block-draggable/stories/index.story.jsx +0 -3
  1464. package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
  1465. package/src/components/block-edit/context.js +0 -3
  1466. package/src/components/block-edit/edit.js +13 -42
  1467. package/src/components/block-edit/index.js +0 -7
  1468. package/src/components/block-edit/multiple-usage-warning.js +0 -7
  1469. package/src/components/block-edit/test/edit.js +0 -11
  1470. package/src/components/block-edit-visually-button/index.js +0 -7
  1471. package/src/components/block-editing-mode/index.js +0 -7
  1472. package/src/components/block-full-height-alignment-control/index.js +0 -3
  1473. package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
  1474. package/src/components/block-heading-level-dropdown/index.js +0 -7
  1475. package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
  1476. package/src/components/block-icon/index.js +0 -7
  1477. package/src/components/block-icon/stories/index.story.ts +0 -7
  1478. package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -1
  1479. package/src/components/block-icon/test/index.js +0 -11
  1480. package/src/components/block-inspector/edit-contents.js +27 -32
  1481. package/src/components/block-inspector/index.js +67 -39
  1482. package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
  1483. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
  1484. package/src/components/block-list/README.md +98 -0
  1485. package/src/components/block-list/block-crash-boundary.js +0 -3
  1486. package/src/components/block-list/block-crash-warning.js +0 -7
  1487. package/src/components/block-list/block-html.js +5 -11
  1488. package/src/components/block-list/block-invalid-warning.js +0 -7
  1489. package/src/components/block-list/block.js +63 -23
  1490. package/src/components/block-list/content.scss +1 -11
  1491. package/src/components/block-list/index.js +62 -26
  1492. package/src/components/block-list/layout.js +0 -7
  1493. package/src/components/block-list/private-block-context.js +0 -3
  1494. package/src/components/block-list/subdirectory-icon.js +0 -3
  1495. package/src/components/block-list/use-block-props/index.js +63 -12
  1496. package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
  1497. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
  1498. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -11
  1499. package/src/components/block-list/use-block-props/use-focus-handler.js +35 -16
  1500. package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
  1501. package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
  1502. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +38 -0
  1503. package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
  1504. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +0 -7
  1505. package/src/components/block-list/use-in-between-inserter.js +0 -7
  1506. package/src/components/block-list/zoom-out-separator.js +0 -11
  1507. package/src/components/block-list-appender/index.js +0 -11
  1508. package/src/components/block-lock/README.md +66 -0
  1509. package/src/components/block-lock/menu-item.js +0 -7
  1510. package/src/components/block-lock/modal.js +0 -7
  1511. package/src/components/block-lock/style.scss +1 -1
  1512. package/src/components/block-lock/toolbar.js +0 -7
  1513. package/src/components/block-lock/use-block-lock.js +0 -7
  1514. package/src/components/block-manager/category.js +0 -7
  1515. package/src/components/block-manager/checklist.js +0 -7
  1516. package/src/components/block-manager/index.js +0 -7
  1517. package/src/components/block-manager/style.scss +1 -1
  1518. package/src/components/block-mover/button.js +17 -26
  1519. package/src/components/block-mover/index.js +0 -12
  1520. package/src/components/block-mover/mover-description.js +0 -3
  1521. package/src/components/block-mover/stories/index.story.jsx +0 -7
  1522. package/src/components/block-mover/test/mover-description.js +0 -3
  1523. package/src/components/block-navigation/dropdown.js +0 -11
  1524. package/src/components/block-navigation/style.scss +1 -1
  1525. package/src/components/block-parent-selector/index.js +5 -9
  1526. package/src/components/block-pattern-setup/index.js +0 -8
  1527. package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
  1528. package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
  1529. package/src/components/block-patterns-list/index.js +0 -11
  1530. package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
  1531. package/src/components/block-patterns-paging/index.js +0 -3
  1532. package/src/components/block-popover/cover.js +0 -7
  1533. package/src/components/block-popover/drop-zone.js +0 -7
  1534. package/src/components/block-popover/inbetween.js +0 -11
  1535. package/src/components/block-popover/index.js +0 -11
  1536. package/src/components/block-popover/use-popover-scroll.js +0 -3
  1537. package/src/components/block-preview/async.js +0 -3
  1538. package/src/components/block-preview/auto.js +0 -7
  1539. package/src/components/block-preview/index.js +0 -11
  1540. package/src/components/block-preview/test/index.js +0 -11
  1541. package/src/components/block-quick-navigation/index.js +0 -7
  1542. package/src/components/block-quick-navigation/style.scss +1 -3
  1543. package/src/components/block-removal-warning-modal/index.js +0 -7
  1544. package/src/components/block-rename/modal.js +0 -7
  1545. package/src/components/block-rename/rename-control.js +0 -7
  1546. package/src/components/block-rename/use-block-rename.js +0 -3
  1547. package/src/components/block-selection-clearer/index.js +0 -7
  1548. package/src/components/block-selection-clearer/test/index.js +0 -11
  1549. package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
  1550. package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
  1551. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
  1552. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
  1553. package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
  1554. package/src/components/block-settings-menu/index.js +0 -7
  1555. package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
  1556. package/src/components/block-settings-menu-controls/index.js +0 -7
  1557. package/src/components/block-styles/index.js +0 -11
  1558. package/src/components/block-styles/menu-items.js +0 -3
  1559. package/src/components/block-styles/style.scss +2 -2
  1560. package/src/components/block-styles/test/utils.js +0 -3
  1561. package/src/components/block-styles/use-styles-for-block.js +0 -7
  1562. package/src/components/block-styles/utils.js +0 -3
  1563. package/src/components/block-switcher/block-styles-menu.js +0 -7
  1564. package/src/components/block-switcher/block-transformations-menu.js +0 -7
  1565. package/src/components/block-switcher/block-variation-transformations.js +0 -7
  1566. package/src/components/block-switcher/index.js +0 -7
  1567. package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
  1568. package/src/components/block-switcher/preview-block-popover.js +0 -7
  1569. package/src/components/block-switcher/test/index.js +0 -11
  1570. package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
  1571. package/src/components/block-switcher/test/utils.js +0 -7
  1572. package/src/components/block-switcher/use-transformed-patterns.js +0 -7
  1573. package/src/components/block-switcher/utils.js +0 -3
  1574. package/src/components/block-title/index.js +0 -4
  1575. package/src/components/block-title/stories/index.story.jsx +0 -7
  1576. package/src/components/block-title/test/index.js +0 -11
  1577. package/src/components/block-title/use-block-display-title.js +0 -7
  1578. package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
  1579. package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
  1580. package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
  1581. package/src/components/block-toolbar/change-design.js +0 -7
  1582. package/src/components/block-toolbar/edit-section-button.js +0 -7
  1583. package/src/components/block-toolbar/index.js +41 -29
  1584. package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
  1585. package/src/components/block-toolbar/switch-section-style.js +5 -9
  1586. package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
  1587. package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
  1588. package/src/components/block-toolbar/utils.js +0 -7
  1589. package/src/components/block-tools/block-toolbar-popover.js +0 -9
  1590. package/src/components/block-tools/empty-block-inserter.js +3 -14
  1591. package/src/components/block-tools/index.js +10 -20
  1592. package/src/components/block-tools/insertion-point.js +0 -11
  1593. package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
  1594. package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
  1595. package/src/components/block-tools/use-show-block-tools.js +0 -7
  1596. package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
  1597. package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
  1598. package/src/components/block-types-list/index.js +0 -7
  1599. package/src/components/block-types-list/style.scss +0 -1
  1600. package/src/components/block-variation-picker/index.js +0 -7
  1601. package/src/components/block-variation-transforms/index.js +0 -7
  1602. package/src/components/block-vertical-alignment-control/index.js +0 -3
  1603. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  1604. package/src/components/block-vertical-alignment-control/test/index.js +18 -9
  1605. package/src/components/block-vertical-alignment-control/ui.js +3 -8
  1606. package/src/components/block-visibility/{constants.js → constants.ts} +10 -4
  1607. package/src/components/block-visibility/modal.js +24 -21
  1608. package/src/components/block-visibility/style.scss +1 -1
  1609. package/src/components/block-visibility/test/use-block-visibility.js +128 -47
  1610. package/src/components/block-visibility/test/utils.js +11 -3
  1611. package/src/components/block-visibility/use-block-visibility.ts +92 -0
  1612. package/src/components/block-visibility/utils.js +31 -13
  1613. package/src/components/block-visibility/viewport-menu-item.js +10 -8
  1614. package/src/components/block-visibility/viewport-toolbar.js +6 -7
  1615. package/src/components/block-visibility/viewport-visibility-info.js +5 -8
  1616. package/src/components/border-radius-control/README.md +0 -3
  1617. package/src/components/border-radius-control/constants.js +0 -3
  1618. package/src/components/border-radius-control/index.js +0 -7
  1619. package/src/components/border-radius-control/linked-button.js +0 -3
  1620. package/src/components/border-radius-control/stories/index.story.jsx +0 -7
  1621. package/src/components/border-radius-control/test/index.js +0 -12
  1622. package/src/components/border-radius-control/test/utils.js +0 -44
  1623. package/src/components/border-radius-control/utils.js +12 -110
  1624. package/src/components/button-block-appender/content.scss +7 -9
  1625. package/src/components/button-block-appender/index.js +0 -11
  1626. package/src/components/child-layout-control/index.js +0 -11
  1627. package/src/components/child-layout-control/test/index.js +0 -11
  1628. package/src/components/collab/note-icon-slot.js +0 -3
  1629. package/src/components/collab/note-icon-toolbar-slot.js +0 -3
  1630. package/src/components/color-palette/control.js +0 -3
  1631. package/src/components/color-palette/index.js +0 -7
  1632. package/src/components/color-palette/stories/control.story.jsx +0 -7
  1633. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -3
  1634. package/src/components/color-palette/test/control.js +0 -7
  1635. package/src/components/color-palette/with-color-context.js +0 -7
  1636. package/src/components/color-style-selector/index.js +0 -3
  1637. package/src/components/colors/test/utils.js +0 -3
  1638. package/src/components/colors/test/with-colors.js +0 -7
  1639. package/src/components/colors/utils.js +1 -15
  1640. package/src/components/colors/with-colors.js +1 -11
  1641. package/src/components/colors-gradients/control.js +6 -14
  1642. package/src/components/colors-gradients/dropdown.js +0 -15
  1643. package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
  1644. package/src/components/colors-gradients/style.scss +17 -7
  1645. package/src/components/colors-gradients/test/control.js +0 -7
  1646. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
  1647. package/src/components/contrast-checker/index.js +0 -7
  1648. package/src/components/contrast-checker/stories/index.story.ts +0 -3
  1649. package/src/components/contrast-checker/test/index.js +0 -11
  1650. package/src/components/convert-to-group-buttons/index.js +2 -13
  1651. package/src/components/convert-to-group-buttons/toolbar.js +3 -12
  1652. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
  1653. package/src/components/copy-handler/index.js +0 -7
  1654. package/src/components/date-format-picker/index.js +0 -3
  1655. package/src/components/date-format-picker/stories/index.story.jsx +0 -7
  1656. package/src/components/default-block-appender/content.scss +6 -3
  1657. package/src/components/default-block-appender/index.js +0 -11
  1658. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +1 -1
  1659. package/src/components/default-block-appender/test/index.js +0 -7
  1660. package/src/components/dimension-control/index.js +9 -8
  1661. package/src/components/dimension-control/stories/index.story.jsx +0 -7
  1662. package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -12
  1663. package/src/components/dimensions-tool/index.js +0 -7
  1664. package/src/components/dimensions-tool/scale-tool.js +0 -3
  1665. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
  1666. package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
  1667. package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
  1668. package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
  1669. package/src/components/dimensions-tool/test/index.js +0 -11
  1670. package/src/components/dimensions-tool/width-height-tool.js +0 -3
  1671. package/src/components/duotone-control/index.js +0 -3
  1672. package/src/components/editable-text/index.js +0 -7
  1673. package/src/components/editor-styles/index.js +16 -12
  1674. package/src/components/fit-text-size-warning/index.js +0 -3
  1675. package/src/components/floating-toolbar/nav-up-icon.js +0 -3
  1676. package/src/components/font-appearance-control/index.js +0 -7
  1677. package/src/components/font-family/index.js +0 -11
  1678. package/src/components/font-family/stories/index.story.jsx +1 -8
  1679. package/src/components/font-sizes/font-size-picker.js +0 -7
  1680. package/src/components/font-sizes/test/fluid-utils.js +0 -7
  1681. package/src/components/font-sizes/test/utils.js +0 -7
  1682. package/src/components/font-sizes/utils.js +1 -11
  1683. package/src/components/font-sizes/with-font-sizes.js +0 -7
  1684. package/src/components/global-styles/advanced-panel.js +0 -7
  1685. package/src/components/global-styles/background-panel.js +107 -41
  1686. package/src/components/global-styles/border-panel.js +219 -55
  1687. package/src/components/global-styles/color-gradient-dropdown-item.js +93 -39
  1688. package/src/components/global-styles/color-panel.js +92 -18
  1689. package/src/components/global-styles/dimensions-panel.js +422 -82
  1690. package/src/components/global-styles/filters-panel.js +88 -39
  1691. package/src/components/global-styles/hooks.js +8 -8
  1692. package/src/components/global-styles/image-settings-panel.js +0 -7
  1693. package/src/components/global-styles/inheritance/index.js +197 -0
  1694. package/src/components/global-styles/inheritance/style.scss +184 -0
  1695. package/src/components/global-styles/inheritance/test/index.js +270 -0
  1696. package/src/components/global-styles/inherited-value-context.js +264 -0
  1697. package/src/components/global-styles/shadow-panel-components.js +44 -34
  1698. package/src/components/global-styles/state-control-badges.js +45 -13
  1699. package/src/components/global-styles/state-control.js +2 -5
  1700. package/src/components/global-styles/style.scss +5 -0
  1701. package/src/components/global-styles/test/background-panel.js +334 -5
  1702. package/src/components/global-styles/test/border-panel.js +434 -0
  1703. package/src/components/global-styles/test/color-panel.js +182 -9
  1704. package/src/components/global-styles/test/dimensions-panel.js +746 -0
  1705. package/src/components/global-styles/test/filters-panel.js +187 -0
  1706. package/src/components/global-styles/test/inherited-value-context-core.js +87 -0
  1707. package/src/components/global-styles/test/inherited-value-context.js +442 -0
  1708. package/src/components/global-styles/test/state-control-badges.js +58 -0
  1709. package/src/components/global-styles/test/typography-panel-core.js +178 -0
  1710. package/src/components/global-styles/test/typography-panel.js +845 -15
  1711. package/src/components/global-styles/test/typography-utils.js +0 -3
  1712. package/src/components/global-styles/typography-panel.js +449 -108
  1713. package/src/components/global-styles/typography-utils.js +0 -3
  1714. package/src/components/global-styles/utils.js +0 -3
  1715. package/src/components/gradients/use-gradient.js +0 -7
  1716. package/src/components/gradients/with-gradient.js +0 -3
  1717. package/src/components/grid/grid-item-movers.js +0 -11
  1718. package/src/components/grid/grid-item-resizer.js +0 -7
  1719. package/src/components/grid/grid-visualizer.js +0 -11
  1720. package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
  1721. package/src/components/grid/use-grid-layout-sync.js +0 -7
  1722. package/src/components/height-control/index.js +0 -7
  1723. package/src/components/height-control/stories/index.story.jsx +0 -7
  1724. package/src/components/html-element-control/index.js +0 -7
  1725. package/src/components/html-element-control/messages.js +0 -3
  1726. package/src/components/iframe/index.js +4 -16
  1727. package/src/components/iframe/use-scale-canvas.js +38 -14
  1728. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
  1729. package/src/components/image-editor/context.js +0 -7
  1730. package/src/components/image-editor/cropper.js +0 -11
  1731. package/src/components/image-editor/form-controls.js +0 -7
  1732. package/src/components/image-editor/index.js +0 -7
  1733. package/src/components/image-editor/rotation-button.js +0 -8
  1734. package/src/components/image-editor/style.scss +33 -0
  1735. package/src/components/image-editor/test/index.js +0 -3
  1736. package/src/components/image-editor/use-save-image.js +0 -7
  1737. package/src/components/image-editor/use-transform-image.js +0 -3
  1738. package/src/components/image-editor/zoom-dropdown.js +0 -7
  1739. package/src/components/image-size-control/index.js +0 -9
  1740. package/src/components/image-size-control/test/index.js +0 -7
  1741. package/src/components/image-size-control/use-dimension-handler.js +0 -3
  1742. package/src/components/inner-blocks/README.md +2 -0
  1743. package/src/components/inner-blocks/button-block-appender.js +0 -7
  1744. package/src/components/inner-blocks/default-block-appender.js +0 -3
  1745. package/src/components/inner-blocks/index.js +0 -11
  1746. package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
  1747. package/src/components/inner-blocks/test/index.js +0 -8
  1748. package/src/components/inner-blocks/use-block-context.js +0 -7
  1749. package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
  1750. package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
  1751. package/src/components/inner-content/index.js +0 -7
  1752. package/src/components/inner-content/test/index.js +0 -11
  1753. package/src/components/inserter/block-patterns-explorer/index.js +0 -7
  1754. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -3
  1755. package/src/components/inserter/block-patterns-explorer/pattern-list.js +0 -7
  1756. package/src/components/inserter/block-patterns-tab/index.js +0 -7
  1757. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
  1758. package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
  1759. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
  1760. package/src/components/inserter/block-patterns-tab/utils.js +0 -4
  1761. package/src/components/inserter/block-types-tab.js +0 -7
  1762. package/src/components/inserter/category-tabs/index.js +0 -7
  1763. package/src/components/inserter/hooks/use-block-types-state.js +0 -7
  1764. package/src/components/inserter/hooks/use-insertion-point.js +0 -7
  1765. package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
  1766. package/src/components/inserter/hooks/use-patterns-state.js +0 -7
  1767. package/src/components/inserter/index.js +4 -28
  1768. package/src/components/inserter/library.js +0 -7
  1769. package/src/components/inserter/media-tab/hooks.js +55 -14
  1770. package/src/components/inserter/media-tab/media-list.js +0 -7
  1771. package/src/components/inserter/media-tab/media-panel.js +117 -32
  1772. package/src/components/inserter/media-tab/media-preview.js +0 -12
  1773. package/src/components/inserter/media-tab/media-tab.js +0 -7
  1774. package/src/components/inserter/media-tab/test/hooks.js +63 -7
  1775. package/src/components/inserter/media-tab/test/media-panel.js +120 -0
  1776. package/src/components/inserter/media-tab/utils.js +0 -3
  1777. package/src/components/inserter/menu.js +0 -11
  1778. package/src/components/inserter/mobile-tab-navigation.js +0 -3
  1779. package/src/components/inserter/no-results.js +0 -3
  1780. package/src/components/inserter/panel.js +0 -3
  1781. package/src/components/inserter/preview-panel.js +0 -7
  1782. package/src/components/inserter/quick-inserter.js +0 -11
  1783. package/src/components/inserter/search-items.js +0 -3
  1784. package/src/components/inserter/search-results.js +0 -7
  1785. package/src/components/inserter/stories/index.story.jsx +0 -7
  1786. package/src/components/inserter/style.scss +19 -16
  1787. package/src/components/inserter/test/get-appender-label.js +0 -3
  1788. package/src/components/inserter/test/search-items.js +0 -3
  1789. package/src/components/inserter/tips.js +0 -3
  1790. package/src/components/inserter-button/sparkles.js +0 -3
  1791. package/src/components/inserter-draggable-blocks/index.js +0 -7
  1792. package/src/components/inserter-list-item/index.js +0 -11
  1793. package/src/components/inserter-list-item/style.scss +0 -15
  1794. package/src/components/inserter-listbox/context.js +0 -3
  1795. package/src/components/inserter-listbox/group.js +0 -3
  1796. package/src/components/inserter-listbox/index.js +0 -8
  1797. package/src/components/inserter-listbox/item.js +0 -3
  1798. package/src/components/inserter-listbox/row.js +0 -3
  1799. package/src/components/inserter-menu-extension/index.js +0 -3
  1800. package/src/components/inspector-controls/block-support-slot-container.js +0 -3
  1801. package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
  1802. package/src/components/inspector-controls/fill.js +22 -37
  1803. package/src/components/inspector-controls/groups.js +0 -3
  1804. package/src/components/inspector-controls/index.js +0 -3
  1805. package/src/components/inspector-controls/last-item.js +0 -7
  1806. package/src/components/inspector-controls/list-view-content-popover.js +0 -7
  1807. package/src/components/inspector-controls/slot.js +0 -7
  1808. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
  1809. package/src/components/inspector-controls-tabs/content-tab.js +0 -7
  1810. package/src/components/inspector-controls-tabs/index.js +0 -8
  1811. package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
  1812. package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
  1813. package/src/components/inspector-controls-tabs/styles-tab.js +5 -8
  1814. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
  1815. package/src/components/inspector-controls-tabs/utils.js +0 -3
  1816. package/src/components/inspector-popover-header/index.js +0 -3
  1817. package/src/components/justify-content-control/index.js +0 -3
  1818. package/src/components/justify-content-control/ui.js +0 -3
  1819. package/src/components/keyboard-shortcuts/index.js +24 -14
  1820. package/src/components/letter-spacing-control/index.js +0 -7
  1821. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
  1822. package/src/components/line-height-control/index.js +1 -9
  1823. package/src/components/line-height-control/stories/index.story.jsx +0 -7
  1824. package/src/components/line-height-control/test/index.js +0 -11
  1825. package/src/components/link-control/constants.js +0 -3
  1826. package/src/components/link-control/index.js +7 -13
  1827. package/src/components/link-control/is-url-like.js +0 -3
  1828. package/src/components/link-control/link-preview.js +0 -13
  1829. package/src/components/link-control/normalize-url.js +0 -7
  1830. package/src/components/link-control/search-create-button.js +0 -3
  1831. package/src/components/link-control/search-input.js +0 -7
  1832. package/src/components/link-control/search-item.js +0 -3
  1833. package/src/components/link-control/search-results.js +1 -12
  1834. package/src/components/link-control/settings-drawer.js +0 -3
  1835. package/src/components/link-control/settings.js +0 -3
  1836. package/src/components/link-control/style.scss +3 -3
  1837. package/src/components/link-control/test/index.js +6 -17
  1838. package/src/components/link-control/test/is-url-like.js +0 -3
  1839. package/src/components/link-control/test/url-normalization.test.js +0 -11
  1840. package/src/components/link-control/use-create-page.js +0 -3
  1841. package/src/components/link-control/use-internal-value.js +0 -7
  1842. package/src/components/link-control/use-rich-url-data.js +1 -8
  1843. package/src/components/link-control/use-search-handler.js +0 -7
  1844. package/src/components/link-control/viewer-slot.js +0 -3
  1845. package/src/components/link-picker/link-picker.js +0 -7
  1846. package/src/components/link-picker/link-preview.js +0 -7
  1847. package/src/components/link-picker/style.scss +1 -2
  1848. package/src/components/link-picker/test/index.js +0 -11
  1849. package/src/components/list-view/appender.js +7 -11
  1850. package/src/components/list-view/aria-referenced-text.js +12 -19
  1851. package/src/components/list-view/block-contents.js +28 -28
  1852. package/src/components/list-view/block-select-button.js +62 -40
  1853. package/src/components/list-view/block.js +53 -61
  1854. package/src/components/list-view/branch.js +179 -169
  1855. package/src/components/list-view/context.js +24 -3
  1856. package/src/components/list-view/drop-indicator.js +6 -18
  1857. package/src/components/list-view/expander.js +0 -3
  1858. package/src/components/list-view/index.js +95 -110
  1859. package/src/components/list-view/leaf.js +0 -11
  1860. package/src/components/list-view/style.scss +28 -9
  1861. package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
  1862. package/src/components/list-view/test/utils.js +0 -3
  1863. package/src/components/list-view/use-block-selection.js +0 -7
  1864. package/src/components/list-view/use-clipboard-handler.js +0 -7
  1865. package/src/components/list-view/use-list-view-block-indexes.js +0 -3
  1866. package/src/components/list-view/use-list-view-client-ids.js +0 -8
  1867. package/src/components/list-view/use-list-view-collapse-items.js +3 -11
  1868. package/src/components/list-view/use-list-view-drop-zone.js +11 -28
  1869. package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
  1870. package/src/components/list-view/use-list-view-images.js +6 -10
  1871. package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
  1872. package/src/components/list-view/utils.js +7 -6
  1873. package/src/components/media-placeholder/index.js +0 -12
  1874. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
  1875. package/src/components/media-placeholder/test/index.js +0 -7
  1876. package/src/components/media-replace-flow/index.js +0 -11
  1877. package/src/components/media-replace-flow/test/index.js +0 -10
  1878. package/src/components/media-upload/check.js +0 -7
  1879. package/src/components/media-upload/index.js +0 -3
  1880. package/src/components/multi-selection-inspector/index.js +42 -21
  1881. package/src/components/multi-selection-inspector/style.scss +6 -1
  1882. package/src/components/navigable-toolbar/index.js +38 -27
  1883. package/src/components/observe-typing/index.js +0 -7
  1884. package/src/components/panel-color-settings/README.md +0 -7
  1885. package/src/components/panel-color-settings/index.js +0 -3
  1886. package/src/components/panel-color-settings/test/index.js +0 -7
  1887. package/src/components/plain-text/index.js +0 -11
  1888. package/src/components/plain-text/stories/index.story.jsx +0 -7
  1889. package/src/components/preset-input-control/custom-value-controls.js +0 -4
  1890. package/src/components/preset-input-control/index.js +4 -8
  1891. package/src/components/preset-input-control/test/index.js +0 -7
  1892. package/src/components/preset-input-control/test/utils.js +0 -3
  1893. package/src/components/preview-options/index.js +0 -3
  1894. package/src/components/provider/block-refs-provider.js +12 -5
  1895. package/src/components/provider/index.js +2 -9
  1896. package/src/components/provider/selection-context.js +0 -3
  1897. package/src/components/provider/test/experimental-provider.js +0 -10
  1898. package/src/components/provider/test/use-block-sync.js +0 -12
  1899. package/src/components/provider/use-block-sync.js +18 -13
  1900. package/src/components/provider/use-media-upload-settings.js +2 -3
  1901. package/src/components/provider/with-registry-provider.js +0 -7
  1902. package/src/components/publish-date-time-picker/index.js +0 -7
  1903. package/src/components/recursion-provider/README.md +0 -3
  1904. package/src/components/recursion-provider/index.js +0 -7
  1905. package/src/components/recursion-provider/test/index.js +0 -7
  1906. package/src/components/resizable-box-popover/index.js +0 -7
  1907. package/src/components/resolution-tool/index.js +0 -3
  1908. package/src/components/resolution-tool/stories/index.story.jsx +0 -7
  1909. package/src/components/responsive-block-control/index.js +0 -11
  1910. package/src/components/responsive-block-control/label.js +0 -3
  1911. package/src/components/responsive-block-control/style.scss +1 -1
  1912. package/src/components/responsive-block-control/test/index.js +0 -11
  1913. package/src/components/rich-text/content.js +0 -11
  1914. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -12
  1915. package/src/components/rich-text/event-listeners/delete.js +7 -11
  1916. package/src/components/rich-text/event-listeners/enter.js +10 -11
  1917. package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
  1918. package/src/components/rich-text/event-listeners/index.js +0 -7
  1919. package/src/components/rich-text/event-listeners/input-events.js +3 -10
  1920. package/src/components/rich-text/event-listeners/input-rules.js +23 -25
  1921. package/src/components/rich-text/event-listeners/insert-replacement-text.js +3 -10
  1922. package/src/components/rich-text/event-listeners/paste-handler.js +29 -11
  1923. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +3 -10
  1924. package/src/components/rich-text/event-listeners/shortcuts.js +3 -10
  1925. package/src/components/rich-text/event-listeners/undo-automatic-change.js +3 -10
  1926. package/src/components/rich-text/format-edit.js +0 -7
  1927. package/src/components/rich-text/format-toolbar/index.js +0 -11
  1928. package/src/components/rich-text/format-toolbar-container.js +0 -7
  1929. package/src/components/rich-text/get-rich-text-values.js +0 -7
  1930. package/src/components/rich-text/index.js +116 -37
  1931. package/src/components/rich-text/multiline.js +0 -7
  1932. package/src/components/rich-text/prevent-event-discovery.js +0 -3
  1933. package/src/components/rich-text/toolbar-button.js +0 -3
  1934. package/src/components/rich-text/use-mark-persistent.js +0 -7
  1935. package/src/components/rich-text/utils.js +0 -3
  1936. package/src/components/rich-text/with-deprecations.js +0 -7
  1937. package/src/components/selection-scroll-into-view/index.js +0 -3
  1938. package/src/components/skip-to-selected-block/index.js +0 -7
  1939. package/src/components/skip-to-selected-block/style.scss +1 -1
  1940. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
  1941. package/src/components/spacing-sizes-control/index.js +2 -9
  1942. package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
  1943. package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
  1944. package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
  1945. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
  1946. package/src/components/spacing-sizes-control/linked-button.js +0 -3
  1947. package/src/components/spacing-sizes-control/test/index.js +0 -12
  1948. package/src/components/spacing-sizes-control/test/utils.js +16 -8
  1949. package/src/components/spacing-sizes-control/utils.js +7 -31
  1950. package/src/components/tabbed-sidebar/index.js +0 -7
  1951. package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
  1952. package/src/components/text-alignment-control/index.js +0 -7
  1953. package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
  1954. package/src/components/text-decoration-control/index.js +0 -7
  1955. package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
  1956. package/src/components/text-indent-control/index.js +8 -7
  1957. package/src/components/text-transform-control/index.js +0 -7
  1958. package/src/components/text-transform-control/stories/index.story.jsx +0 -7
  1959. package/src/components/tool-selector/index.js +0 -3
  1960. package/src/components/typewriter/index.js +228 -227
  1961. package/src/components/unit-control/index.js +0 -7
  1962. package/src/components/unit-control/stories/index.story.jsx +0 -7
  1963. package/src/components/url-input/button.js +0 -7
  1964. package/src/components/url-input/index.js +400 -488
  1965. package/src/components/url-input/test/button.js +0 -11
  1966. package/src/components/url-input/test/index.js +666 -0
  1967. package/src/components/url-popover/image-url-input-ui.js +2 -9
  1968. package/src/components/url-popover/index.js +0 -7
  1969. package/src/components/url-popover/link-editor.js +0 -11
  1970. package/src/components/url-popover/link-viewer-url.js +0 -7
  1971. package/src/components/url-popover/link-viewer.js +0 -11
  1972. package/src/components/url-popover/stories/index.story.jsx +0 -7
  1973. package/src/components/url-popover/style.scss +5 -0
  1974. package/src/components/use-block-commands/index.js +29 -26
  1975. package/src/components/use-block-display-information/index.js +1 -8
  1976. package/src/components/use-block-display-information/test/index.js +0 -11
  1977. package/src/components/use-block-drop-zone/index.js +0 -7
  1978. package/src/components/use-block-drop-zone/test/index.js +0 -3
  1979. package/src/components/use-flash-editable-blocks/index.js +0 -7
  1980. package/src/components/use-list-view-panel-state/index.js +0 -7
  1981. package/src/components/use-moving-animation/index.js +9 -14
  1982. package/src/components/use-on-block-drop/index.js +2 -9
  1983. package/src/components/use-on-block-drop/test/index.js +1 -7
  1984. package/src/components/use-paste-styles/index.js +0 -7
  1985. package/src/components/use-resize-canvas/index.js +0 -3
  1986. package/src/components/use-settings/index.js +0 -7
  1987. package/src/components/warning/index.js +0 -7
  1988. package/src/components/warning/stories/index.story.jsx +0 -7
  1989. package/src/components/warning/test/__snapshots__/index.js.snap +1 -1
  1990. package/src/components/warning/test/index.js +0 -7
  1991. package/src/components/writing-flow/index.js +17 -12
  1992. package/src/components/writing-flow/test/index.js +0 -7
  1993. package/src/components/writing-flow/use-arrow-nav.js +112 -28
  1994. package/src/components/writing-flow/use-click-selection.js +55 -12
  1995. package/src/components/writing-flow/use-clipboard-handler.js +70 -13
  1996. package/src/components/writing-flow/use-drag-selection.js +1 -21
  1997. package/src/components/writing-flow/use-editable-root-event-handlers.js +259 -0
  1998. package/src/components/writing-flow/use-editable-root.js +105 -0
  1999. package/src/components/writing-flow/use-home-end.js +64 -0
  2000. package/src/components/writing-flow/use-input.js +25 -15
  2001. package/src/components/writing-flow/use-multi-selection.js +2 -10
  2002. package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
  2003. package/src/components/writing-flow/use-select-all.js +33 -10
  2004. package/src/components/writing-flow/use-selection-observer.js +218 -49
  2005. package/src/components/writing-flow/use-tab-nav.js +7 -8
  2006. package/src/components/writing-flow/utils.js +62 -7
  2007. package/src/components/writing-mode-control/index.js +0 -7
  2008. package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
  2009. package/src/elements/test/index.js +0 -3
  2010. package/src/hooks/align.js +0 -11
  2011. package/src/hooks/allowed-blocks.js +0 -7
  2012. package/src/hooks/anchor.js +0 -7
  2013. package/src/hooks/aria-label.js +0 -7
  2014. package/src/hooks/auto-inspector-controls.js +0 -7
  2015. package/src/hooks/background.js +28 -37
  2016. package/src/hooks/block-bindings.js +0 -7
  2017. package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
  2018. package/src/hooks/block-fields/index.js +0 -1
  2019. package/src/hooks/block-fields/link/index.js +0 -7
  2020. package/src/hooks/block-fields/link/styles.scss +1 -6
  2021. package/src/hooks/block-fields/media/index.js +0 -7
  2022. package/src/hooks/block-fields/media/styles.scss +1 -6
  2023. package/src/hooks/block-fields/rich-text/index.js +6 -16
  2024. package/src/hooks/block-fields/rich-text/styles.scss +1 -1
  2025. package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
  2026. package/src/hooks/block-hooks.js +0 -7
  2027. package/src/hooks/block-renaming.js +0 -3
  2028. package/src/hooks/block-style-state.js +0 -7
  2029. package/src/hooks/block-style-variation.js +8 -81
  2030. package/src/hooks/border.js +19 -15
  2031. package/src/hooks/color.js +0 -11
  2032. package/src/hooks/compat.js +0 -3
  2033. package/src/hooks/contrast-checker.js +0 -8
  2034. package/src/hooks/custom-class-name.js +0 -11
  2035. package/src/hooks/custom-css.js +15 -6
  2036. package/src/hooks/dimensions.js +17 -15
  2037. package/src/hooks/duotone.js +26 -19
  2038. package/src/hooks/elements.js +14 -11
  2039. package/src/hooks/fit-text.js +0 -8
  2040. package/src/hooks/font-family.js +1 -10
  2041. package/src/hooks/font-size.js +0 -7
  2042. package/src/hooks/gap.js +0 -3
  2043. package/src/hooks/generated-class-name.js +0 -3
  2044. package/src/hooks/grid-visualizer.js +40 -43
  2045. package/src/hooks/index.js +0 -3
  2046. package/src/hooks/layout-child.js +19 -16
  2047. package/src/hooks/layout.js +49 -44
  2048. package/src/hooks/line-height.js +0 -8
  2049. package/src/hooks/list-view.js +0 -8
  2050. package/src/hooks/lock.js +0 -3
  2051. package/src/hooks/metadata.js +0 -3
  2052. package/src/hooks/position.js +0 -11
  2053. package/src/hooks/settings.js +0 -3
  2054. package/src/hooks/spacing-visualizer.js +0 -7
  2055. package/src/hooks/state-utils.js +0 -3
  2056. package/src/hooks/states.js +38 -16
  2057. package/src/hooks/style.js +67 -24
  2058. package/src/hooks/supports.js +0 -3
  2059. package/src/hooks/test/align.js +0 -7
  2060. package/src/hooks/test/allowed-blocks.js +0 -7
  2061. package/src/hooks/test/anchor.js +0 -7
  2062. package/src/hooks/test/auto-inspector-controls.js +0 -7
  2063. package/src/hooks/test/background.js +115 -3
  2064. package/src/hooks/test/block-style-state.js +0 -3
  2065. package/src/hooks/test/custom-class-name.js +0 -7
  2066. package/src/hooks/test/dimensions.js +0 -7
  2067. package/src/hooks/test/duotone.js +0 -3
  2068. package/src/hooks/test/font-size.js +0 -11
  2069. package/src/hooks/test/gap.js +0 -3
  2070. package/src/hooks/test/generate-fields-from-attributes.js +0 -3
  2071. package/src/hooks/test/generated-class-name.js +0 -7
  2072. package/src/hooks/test/inherited-value-wiring.js +408 -0
  2073. package/src/hooks/test/layout-child.js +0 -3
  2074. package/src/hooks/test/layout.js +0 -3
  2075. package/src/hooks/test/metadata.js +0 -7
  2076. package/src/hooks/test/preset-round-trip.js +450 -0
  2077. package/src/hooks/test/settings.js +0 -7
  2078. package/src/hooks/test/state-utils.js +0 -7
  2079. package/src/hooks/test/style.js +29 -7
  2080. package/src/hooks/test/text-align.js +34 -8
  2081. package/src/hooks/test/use-typography-props.js +0 -3
  2082. package/src/hooks/test/utils.js +0 -3
  2083. package/src/hooks/text-align.js +41 -21
  2084. package/src/hooks/typography.js +35 -32
  2085. package/src/hooks/use-border-props.js +0 -3
  2086. package/src/hooks/use-cached-truthy.js +0 -3
  2087. package/src/hooks/use-color-props.js +0 -11
  2088. package/src/hooks/use-content-only-section-edit.js +0 -7
  2089. package/src/hooks/use-dimensions-props.js +0 -3
  2090. package/src/hooks/use-shadow-props.js +0 -3
  2091. package/src/hooks/use-spacing-props.js +0 -3
  2092. package/src/hooks/use-typography-props.js +1 -15
  2093. package/src/hooks/use-zoom-out.js +0 -7
  2094. package/src/hooks/utils.js +0 -11
  2095. package/src/index.js +0 -3
  2096. package/src/layouts/constrained.js +5 -8
  2097. package/src/layouts/flex.js +5 -8
  2098. package/src/layouts/flow.js +0 -7
  2099. package/src/layouts/grid.js +0 -10
  2100. package/src/layouts/index.js +0 -3
  2101. package/src/layouts/test/constrained.js +0 -11
  2102. package/src/layouts/test/flex.js +0 -11
  2103. package/src/layouts/test/flow.js +0 -3
  2104. package/src/layouts/test/grid.js +0 -11
  2105. package/src/layouts/test/utils.js +0 -3
  2106. package/src/layouts/utils.js +0 -7
  2107. package/src/lock-unlock.ts +0 -3
  2108. package/src/private-apis.js +7 -5
  2109. package/src/store/actions.js +215 -72
  2110. package/src/store/defaults.js +4 -3
  2111. package/src/store/get-block-settings.js +0 -7
  2112. package/src/store/index.js +0 -7
  2113. package/src/store/private-actions.js +33 -5
  2114. package/src/store/private-selectors.js +125 -23
  2115. package/src/store/reducer.js +17 -21
  2116. package/src/store/selectors.js +100 -29
  2117. package/src/store/test/actions.js +204 -27
  2118. package/src/store/test/array.js +0 -3
  2119. package/src/store/test/get-block-settings.js +0 -7
  2120. package/src/store/test/performance.js +0 -3
  2121. package/src/store/test/private-actions.js +0 -3
  2122. package/src/store/test/private-selectors.js +426 -18
  2123. package/src/store/test/reducer.js +30 -11
  2124. package/src/store/test/registry-selectors.js +0 -7
  2125. package/src/store/test/selectors.js +143 -7
  2126. package/src/store/utils.js +0 -7
  2127. package/src/style.scss +2 -0
  2128. package/src/utils/block-bindings.ts +50 -0
  2129. package/src/utils/dom.ts +33 -0
  2130. package/src/utils/fit-text-frontend.ts +0 -8
  2131. package/src/utils/format-font-style.ts +0 -7
  2132. package/src/utils/format-font-weight.ts +0 -7
  2133. package/src/utils/get-font-styles-and-weights.ts +0 -7
  2134. package/src/utils/group-blocks.js +36 -0
  2135. package/src/utils/native-undo.js +53 -0
  2136. package/src/utils/pasting.ts +0 -3
  2137. package/src/utils/selection.ts +0 -3
  2138. package/src/utils/sibling-block-attributes.js +30 -0
  2139. package/src/utils/test/block-bindings.js +178 -0
  2140. package/src/utils/test/color-values.js +0 -3
  2141. package/src/utils/test/format-font-style.js +0 -3
  2142. package/src/utils/test/format-font-weight.js +0 -3
  2143. package/src/utils/test/get-font-styles-and-weights.js +0 -3
  2144. package/src/utils/test/math.js +0 -3
  2145. package/src/utils/test/object.js +0 -3
  2146. package/src/utils/test/pasting.js +0 -3
  2147. package/src/utils/test/selection.js +0 -3
  2148. package/src/utils/test/sorting.js +0 -3
  2149. package/src/utils/test/transform-styles.js +0 -3
  2150. package/src/utils/transform-styles/index.ts +0 -8
  2151. package/src/utils/use-notify-copy.js +0 -7
  2152. package/build/components/duotone/utils.cjs +0 -87
  2153. package/build/components/duotone/utils.cjs.map +0 -7
  2154. package/build/components/rich-text/input-event.cjs.map +0 -7
  2155. package/build/components/rich-text/shortcut.cjs +0 -51
  2156. package/build/components/rich-text/shortcut.cjs.map +0 -7
  2157. package/build-module/components/duotone/utils.mjs +0 -59
  2158. package/build-module/components/duotone/utils.mjs.map +0 -7
  2159. package/build-module/components/rich-text/input-event.mjs +0 -25
  2160. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  2161. package/build-module/components/rich-text/shortcut.mjs +0 -26
  2162. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  2163. package/src/components/block-visibility/use-block-visibility.js +0 -54
  2164. package/src/components/duotone/utils.js +0 -90
  2165. package/src/components/rich-text/input-event.js +0 -31
  2166. package/src/components/rich-text/shortcut.js +0 -32
  2167. package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-list/block-invalid-warning.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock(\n\t\t\t\t\t'core/html',\n\t\t\t\t\t{},\n\t\t\t\t\t[],\n\t\t\t\t\t[ block.originalContent ]\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'Block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAuB;AACvB,wBAA8B;AAC9B,qBAA+C;AAC/C,oBAAwC;AACxC,kBAAuC;AAKvC,qBAAoB;AACpB,2BAAyB;AACzB,mBAA0C;AA0ExC;AAxEF,IAAM,gBAAgB,CAAE,cACvB,0BAAY;AAAA,EACX,MAAM,MAAM;AACb,CAAE;AAEY,SAAR,oBAAsC,EAAE,SAAS,GAAI;AAC3D,QAAM,EAAE,OAAO,mBAAmB,QAAI;AAAA,IACrC,CAAE,WAAY;AACb,YAAM,EAAE,oBAAoB,UAAU,qBAAqB,IAC1D,OAAQ,aAAAA,KAAiB;AAE1B,YAAM,eAAe,qBAAsB,QAAS;AAEpD,aAAO;AAAA,QACN,OAAO,SAAU,QAAS;AAAA,QAC1B,oBAAoB;AAAA,UACnB;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,aAAa,QAAI,yBAAa,aAAAA,KAAiB;AAEvD,QAAM,CAAE,SAAS,UAAW,QAAI,yBAAU,KAAM;AAChD,QAAM,qBAAiB,4BAAa,MAAM,WAAY,KAAM,GAAG,CAAC,CAAE;AAElE,QAAM,cAAU;AAAA,IACf,OAAQ;AAAA,MACP,SAAS;AACR,cAAM,gBAAY;AAAA,UACjB;AAAA,UACA,CAAC;AAAA,UACD,CAAC;AAAA,UACD,CAAE,MAAM,eAAgB;AAAA,QACzB;AACA,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,WAAW;AACV,cAAM,YAAY,cAAe,KAAM;AACvC,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,mBAAmB;AAClB,cAAM,qBAAiB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,QACP;AACA,eAAO,aAAc,MAAM,UAAU,cAAe;AAAA,MACrD;AAAA,IACD;AAAA,IACA,CAAE,OAAO,YAAa;AAAA,EACvB;AAEA,QAAM,uBAAmB;AAAA,IACxB,MACC;AAAA,MACC;AAAA;AAAA,QAEC,WAAO,gBAAI,WAAW,iBAAkB;AAAA,QACxC,SAAS,MAAM,WAAY,IAAK;AAAA,MACjC;AAAA,MACA,sBAAsB;AAAA,QACrB,WAAO,gBAAI,iBAAkB;AAAA,QAC7B,SAAS,QAAQ;AAAA,MAClB;AAAA,IACD,EAAE,OAAQ,OAAQ;AAAA,IACnB,CAAE,oBAAoB,OAAQ;AAAA,EAC/B;AAEA,SACC,4EACC;AAAA;AAAA,MAAC,eAAAC;AAAA,MAAA;AAAA,QACA,SAAU;AAAA,UACT;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cAErB,SAAU,QAAQ;AAAA,cAClB,SAAQ;AAAA,cAEN,8BAAI,kBAAmB;AAAA;AAAA,YAJrB;AAAA,UAKL;AAAA,QACD;AAAA,QACA;AAAA,QAEE,8BAAI,+CAAgD;AAAA;AAAA,IACvD;AAAA,IACE,WACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA;AAAA,cAEC,gBAAI,eAAgB;AAAA;AAAA,QAErB,gBAAiB;AAAA,QACjB,WAAU;AAAA,QAEV;AAAA,UAAC,qBAAAC;AAAA,UAAA;AAAA,YACA;AAAA,YACA,QAAS,QAAQ;AAAA,YACjB,WAAY,QAAQ;AAAA,YACpB,WAAY;AAAA,YACZ,uBAAoB,gBAAI,mBAAoB;AAAA;AAAA,QAC7C;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;",
4
+ "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock(\n\t\t\t\t\t'core/html',\n\t\t\t\t\t{},\n\t\t\t\t\t[],\n\t\t\t\t\t[ block.originalContent ]\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'Block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAuB;AACvB,wBAA8B;AAC9B,qBAA+C;AAC/C,oBAAwC;AACxC,kBAAuC;AACvC,qBAAoB;AACpB,2BAAyB;AACzB,mBAA0C;AA0ExC;AAxEF,IAAM,gBAAgB,CAAE,cACvB,0BAAY;AAAA,EACX,MAAM,MAAM;AACb,CAAE;AAEY,SAAR,oBAAsC,EAAE,SAAS,GAAI;AAC3D,QAAM,EAAE,OAAO,mBAAmB,QAAI;AAAA,IACrC,CAAE,WAAY;AACb,YAAM,EAAE,oBAAoB,UAAU,qBAAqB,IAC1D,OAAQ,aAAAA,KAAiB;AAE1B,YAAM,eAAe,qBAAsB,QAAS;AAEpD,aAAO;AAAA,QACN,OAAO,SAAU,QAAS;AAAA,QAC1B,oBAAoB;AAAA,UACnB;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,aAAa,QAAI,yBAAa,aAAAA,KAAiB;AAEvD,QAAM,CAAE,SAAS,UAAW,QAAI,yBAAU,KAAM;AAChD,QAAM,qBAAiB,4BAAa,MAAM,WAAY,KAAM,GAAG,CAAC,CAAE;AAElE,QAAM,cAAU;AAAA,IACf,OAAQ;AAAA,MACP,SAAS;AACR,cAAM,gBAAY;AAAA,UACjB;AAAA,UACA,CAAC;AAAA,UACD,CAAC;AAAA,UACD,CAAE,MAAM,eAAgB;AAAA,QACzB;AACA,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,WAAW;AACV,cAAM,YAAY,cAAe,KAAM;AACvC,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,mBAAmB;AAClB,cAAM,qBAAiB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,QACP;AACA,eAAO,aAAc,MAAM,UAAU,cAAe;AAAA,MACrD;AAAA,IACD;AAAA,IACA,CAAE,OAAO,YAAa;AAAA,EACvB;AAEA,QAAM,uBAAmB;AAAA,IACxB,MACC;AAAA,MACC;AAAA;AAAA,QAEC,WAAO,gBAAI,WAAW,iBAAkB;AAAA,QACxC,SAAS,MAAM,WAAY,IAAK;AAAA,MACjC;AAAA,MACA,sBAAsB;AAAA,QACrB,WAAO,gBAAI,iBAAkB;AAAA,QAC7B,SAAS,QAAQ;AAAA,MAClB;AAAA,IACD,EAAE,OAAQ,OAAQ;AAAA,IACnB,CAAE,oBAAoB,OAAQ;AAAA,EAC/B;AAEA,SACC,4EACC;AAAA;AAAA,MAAC,eAAAC;AAAA,MAAA;AAAA,QACA,SAAU;AAAA,UACT;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cAErB,SAAU,QAAQ;AAAA,cAClB,SAAQ;AAAA,cAEN,8BAAI,kBAAmB;AAAA;AAAA,YAJrB;AAAA,UAKL;AAAA,QACD;AAAA,QACA;AAAA,QAEE,8BAAI,+CAAgD;AAAA;AAAA,IACvD;AAAA,IACE,WACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA;AAAA,cAEC,gBAAI,eAAgB;AAAA;AAAA,QAErB,gBAAiB;AAAA,QACjB,WAAU;AAAA,QAEV;AAAA,UAAC,qBAAAC;AAAA,UAAA;AAAA,YACA;AAAA,YACA,QAAS,QAAQ;AAAA,YACjB,WAAY,QAAQ;AAAA,YACpB,WAAY;AAAA,YACZ,uBAAoB,gBAAI,mBAAoB;AAAA;AAAA,QAC7C;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;",
6
6
  "names": ["blockEditorStore", "Warning", "BlockCompare"]
7
7
  }
@@ -267,7 +267,7 @@ var applyWithDispatch = (0, import_data.withDispatch)((dispatch, ownProps, regis
267
267
  const targetRootClientId = getBlockRootClientId(_clientId);
268
268
  const blockOrder = getBlockOrder(_clientId);
269
269
  const [firstClientId] = blockOrder;
270
- if (blockOrder.length === 1 && (0, import_blocks.isUnmodifiedBlock)(getBlock(firstClientId))) {
270
+ if (blockOrder.length === 1 && (0, import_blocks.isUnmodifiedBlock)(getBlock(firstClientId), "content")) {
271
271
  removeBlock(_clientId);
272
272
  } else if (isTextualWrapper) {
273
273
  registry.batch(() => {
@@ -303,7 +303,10 @@ var applyWithDispatch = (0, import_data.withDispatch)((dispatch, ownProps, regis
303
303
  switchToDefaultOrRemove();
304
304
  }
305
305
  }
306
- if (!getBlockOrder(_clientId).length && (0, import_blocks.isUnmodifiedBlock)(getBlock(_clientId))) {
306
+ if (!getBlockOrder(_clientId).length && (0, import_blocks.isUnmodifiedBlock)(
307
+ getBlock(_clientId),
308
+ "content"
309
+ )) {
307
310
  removeBlock(_clientId, false);
308
311
  }
309
312
  });
@@ -341,7 +344,16 @@ var applyWithDispatch = (0, import_data.withDispatch)((dispatch, ownProps, regis
341
344
  if (!nextBlockClientId) {
342
345
  return;
343
346
  }
344
- if (getBlockOrder(nextBlockClientId).length) {
347
+ if ((0, import_blocks.isUnmodifiedDefaultBlock)(getBlock(clientId))) {
348
+ let firstLeafClientId = nextBlockClientId;
349
+ while (getBlockOrder(firstLeafClientId).length) {
350
+ firstLeafClientId = getBlockOrder(firstLeafClientId)[0];
351
+ }
352
+ registry.batch(() => {
353
+ removeBlock(clientId);
354
+ selectBlock(firstLeafClientId);
355
+ });
356
+ } else if (getBlockOrder(nextBlockClientId).length) {
345
357
  moveFirstItemUp(nextBlockClientId, false);
346
358
  } else {
347
359
  mergeBlocks(clientId, nextBlockClientId);
@@ -400,7 +412,15 @@ BlockListBlock = (0, import_compose.compose)(
400
412
  (0, import_components.withFilters)("editor.BlockListBlock")
401
413
  )(BlockListBlock);
402
414
  function BlockListBlockProvider(props) {
403
- const { clientId, rootClientId } = props;
415
+ const { clientId, rootClientId, ghostBlock } = props;
416
+ const ghostBlockWithoutAttributes = (0, import_element.useMemo)(
417
+ () => ghostBlock ? {
418
+ clientId: ghostBlock.clientId,
419
+ name: ghostBlock.name,
420
+ isValid: true
421
+ } : void 0,
422
+ [ghostBlock]
423
+ );
404
424
  const selectedProps = (0, import_data.useSelect)(
405
425
  (select) => {
406
426
  const {
@@ -433,7 +453,9 @@ function BlockListBlockProvider(props) {
433
453
  __unstableHasActiveBlockOverlayActive,
434
454
  getSelectedBlocksInitialCaretPosition
435
455
  } = (0, import_lock_unlock.unlock)(select(import_store.store));
436
- const blockWithoutAttributes = getBlockWithoutAttributes(clientId);
456
+ const blockWithoutAttributes = getBlockWithoutAttributes(clientId) ?? // An appender ghost renders from its block object until it
457
+ // is inserted on entry; it is never selected before that.
458
+ (clientId === ghostBlockWithoutAttributes?.clientId ? ghostBlockWithoutAttributes : void 0);
437
459
  if (!blockWithoutAttributes) {
438
460
  return;
439
461
  }
@@ -441,7 +463,7 @@ function BlockListBlockProvider(props) {
441
463
  hasBlockSupport: _hasBlockSupport,
442
464
  getActiveBlockVariation
443
465
  } = select(import_blocks.store);
444
- const attributes2 = getBlockAttributes(clientId);
466
+ const attributes2 = getBlockAttributes(clientId) ?? ghostBlock?.attributes;
445
467
  const { name: blockName, isValid: isValid2 } = blockWithoutAttributes;
446
468
  const blockType2 = (0, import_blocks.getBlockType)(blockName);
447
469
  const settings = getSettings();
@@ -453,6 +475,7 @@ function BlockListBlockProvider(props) {
453
475
  const bindableAttributes2 = __experimentalBlockBindingsSupportedAttributes?.[blockName];
454
476
  const blockVisibility2 = attributes2?.metadata?.blockVisibility;
455
477
  const deviceType2 = settings?.[import_private_keys.deviceTypeKey]?.toLowerCase() || "desktop";
478
+ const viewportSettings2 = settings?.__experimentalFeatures?.viewport;
456
479
  const hasLightBlockWrapper = blockType2?.apiVersion > 1;
457
480
  const isMultiSelected2 = isBlockMultiSelected(clientId);
458
481
  const blockEditingMode2 = getBlockEditingMode(clientId);
@@ -471,6 +494,7 @@ function BlockListBlockProvider(props) {
471
494
  bindableAttributes: bindableAttributes2,
472
495
  blockVisibility: blockVisibility2,
473
496
  deviceType: deviceType2,
497
+ viewportSettings: viewportSettings2,
474
498
  isMultiSelected: isMultiSelected2,
475
499
  blockEditingMode: blockEditingMode2,
476
500
  isEditingDisabled: blockEditingMode2 === "disabled"
@@ -487,7 +511,9 @@ function BlockListBlockProvider(props) {
487
511
  clientId,
488
512
  checkDeep
489
513
  );
490
- const sectionBlockClientId = _isSectionBlock(clientId) ? clientId : getParentSectionBlock(clientId);
514
+ const isSectionBlock2 = _isSectionBlock(clientId);
515
+ const sectionBlockClientId = isSectionBlock2 ? clientId : getParentSectionBlock(clientId);
516
+ const isSelectionWithinCurrentSection2 = isBlockSelected(sectionBlockClientId) || !!sectionBlockClientId && hasSelectedInnerBlock(sectionBlockClientId, checkDeep);
491
517
  const multiple = (0, import_blocks.hasBlockSupport)(blockName, "multiple", true);
492
518
  const blocksWithSameName = multiple ? [] : getBlocksByName(blockName);
493
519
  const isInvalid = blocksWithSameName.length && blocksWithSameName[0] !== clientId;
@@ -496,9 +522,9 @@ function BlockListBlockProvider(props) {
496
522
  mode: getBlockMode(clientId),
497
523
  isSelectionEnabled: isSelectionEnabled2(),
498
524
  isLocked: !!getTemplateLock(rootClientId),
499
- isSectionBlock: _isSectionBlock(clientId),
525
+ isSectionBlock: isSectionBlock2,
500
526
  isWithinSectionBlock: !!sectionBlockClientId,
501
- isSelectionWithinCurrentSection: isBlockSelected(sectionBlockClientId) || hasSelectedInnerBlock(sectionBlockClientId, checkDeep),
527
+ isSelectionWithinCurrentSection: isSelectionWithinCurrentSection2,
502
528
  blockType: blockType2,
503
529
  canRemove: canRemove2,
504
530
  canMove: canMove2,
@@ -527,10 +553,11 @@ function BlockListBlockProvider(props) {
527
553
  hasEditableOutline: blockEditingMode2 !== "disabled" && getBlockEditingMode(rootClientId) === "disabled",
528
554
  originalBlockClientId: isInvalid ? blocksWithSameName[0] : false,
529
555
  blockVisibility: blockVisibility2,
530
- deviceType: deviceType2
556
+ deviceType: deviceType2,
557
+ viewportSettings: viewportSettings2
531
558
  };
532
559
  },
533
- [clientId, rootClientId]
560
+ [clientId, rootClientId, ghostBlock, ghostBlockWithoutAttributes]
534
561
  );
535
562
  const defaultViewRef = (0, import_compose.useRefEffect)((element) => {
536
563
  if (element) {
@@ -542,6 +569,7 @@ function BlockListBlockProvider(props) {
542
569
  const { isBlockCurrentlyHidden } = (0, import_block_visibility.useBlockVisibility)({
543
570
  blockVisibility: selectedProps?.blockVisibility,
544
571
  deviceType: selectedProps?.deviceType,
572
+ viewportSettings: selectedProps?.viewportSettings,
545
573
  view: defaultViewRef.current
546
574
  });
547
575
  const block = (0, import_element.useMemo)(
@@ -595,10 +623,13 @@ function BlockListBlockProvider(props) {
595
623
  originalBlockClientId,
596
624
  bindableAttributes,
597
625
  blockVisibility,
598
- deviceType
626
+ deviceType,
627
+ viewportSettings
599
628
  } = selectedProps;
600
629
  const privateContext = {
601
630
  isPreviewMode,
631
+ ghostBlock,
632
+ rootClientId,
602
633
  clientId,
603
634
  className,
604
635
  index,
@@ -633,7 +664,8 @@ function BlockListBlockProvider(props) {
633
664
  isBlockCurrentlyHidden,
634
665
  bindableAttributes,
635
666
  blockVisibility,
636
- deviceType
667
+ deviceType,
668
+ viewportSettings
637
669
  };
638
670
  if (isBlockCurrentlyHidden && !isSelected && !isMultiSelected && !hasChildSelected) {
639
671
  return null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-list/block.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose, useRefEffect } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\nimport { useBlockVisibility } from '../block-visibility/';\nimport { unlock } from '../../lock-unlock';\nimport { deviceTypeKey } from '../../store/private-keys';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tisSelectionWithinCurrentSection,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tmayDisplayPatternEditingControls={ isSelectionWithinCurrentSection }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetParentSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst settings = getSettings();\n\t\t\tconst {\n\t\t\t\tsupportsLayout,\n\t\t\t\tisPreviewMode,\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes,\n\t\t\t} = settings;\n\t\t\tconst bindableAttributes =\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes?.[ blockName ];\n\t\t\tconst blockVisibility = attributes?.metadata?.blockVisibility;\n\t\t\tconst deviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() || 'desktop';\n\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tbindableAttributes,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tisMultiSelected,\n\t\t\t\tblockEditingMode,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst sectionBlockClientId = _isSectionBlock( clientId )\n\t\t\t\t? clientId\n\t\t\t\t: getParentSectionBlock( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock: _isSectionBlock( clientId ),\n\t\t\t\tisWithinSectionBlock: !! sectionBlockClientId,\n\t\t\t\tisSelectionWithinCurrentSection:\n\t\t\t\t\tisBlockSelected( sectionBlockClientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( sectionBlockClientId, checkDeep ),\n\t\t\t\tblockType,\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisEditingContentOnlySection:\n\t\t\t\t\tgetEditedContentOnlySection() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst defaultViewRef = useRefEffect( ( element ) => {\n\t\tif ( element ) {\n\t\t\tconst { ownerDocument } = element;\n\t\t\tconst { defaultView } = ownerDocument;\n\t\t\tdefaultViewRef.current = defaultView;\n\t\t}\n\t}, [] );\n\n\t// Use block visibility hook with data from existing useSelect to avoid extra subscription\n\tconst { isBlockCurrentlyHidden } = useBlockVisibility( {\n\t\tblockVisibility: selectedProps?.blockVisibility,\n\t\tdeviceType: selectedProps?.deviceType,\n\t\tview: defaultViewRef.current,\n\t} );\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( {\n\t\t\t...selectedProps?.blockWithoutAttributes,\n\t\t\tattributes: selectedProps?.attributes,\n\t\t} ),\n\t\t[ selectedProps?.blockWithoutAttributes, selectedProps?.attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisEditingContentOnlySection,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t} = selectedProps;\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisEditingContentOnlySection,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t\tisBlockCurrentlyHidden,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t};\n\n\tif (\n\t\tisBlockCurrentlyHidden &&\n\t\t! isSelected &&\n\t\t! isMultiSelected &&\n\t\t! hasChildSelected\n\t) {\n\t\treturn null;\n\t}\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],
5
- "mappings": "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",
6
- "names": ["clsx", "BlockEdit", "BlockInvalidWarning", "BlockHtml", "BlockCrashBoundary", "BlockCrashWarning", "blockEditorStore", "isSelectionEnabled", "isDragging", "blocksStore", "attributes", "isValid", "blockType", "isPreviewMode", "bindableAttributes", "blockVisibility", "deviceType", "isMultiSelected", "blockEditingMode", "canRemove", "canMove"]
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose, useRefEffect } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\nimport { useBlockVisibility } from '../block-visibility/';\nimport { unlock } from '../../lock-unlock';\nimport { deviceTypeKey } from '../../store/private-keys';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tisSelectionWithinCurrentSection,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tmayDisplayPatternEditingControls={ isSelectionWithinCurrentSection }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ), 'content' )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock(\n\t\t\t\t\t\t\t\tgetBlock( _clientId ),\n\t\t\t\t\t\t\t\t'content'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Forward deleting an unmodified default block should\n\t\t\t\t// remove it and move into the next block, not pull the\n\t\t\t\t// next block's first item out of it.\n\t\t\t\tif ( isUnmodifiedDefaultBlock( getBlock( clientId ) ) ) {\n\t\t\t\t\t// Select the first leaf block, so the caret starts at\n\t\t\t\t\t// the beginning of the block's content rather than on\n\t\t\t\t\t// a container's shell.\n\t\t\t\t\tlet firstLeafClientId = nextBlockClientId;\n\t\t\t\t\twhile ( getBlockOrder( firstLeafClientId ).length ) {\n\t\t\t\t\t\tfirstLeafClientId =\n\t\t\t\t\t\t\tgetBlockOrder( firstLeafClientId )[ 0 ];\n\t\t\t\t\t}\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\tselectBlock( firstLeafClientId );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId, ghostBlock } = props;\n\t// Stable fallback so the selector returns referentially equal values.\n\tconst ghostBlockWithoutAttributes = useMemo(\n\t\t() =>\n\t\t\tghostBlock\n\t\t\t\t? {\n\t\t\t\t\t\tclientId: ghostBlock.clientId,\n\t\t\t\t\t\tname: ghostBlock.name,\n\t\t\t\t\t\tisValid: true,\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t[ ghostBlock ]\n\t);\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetParentSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId ) ??\n\t\t\t\t// An appender ghost renders from its block object until it\n\t\t\t\t// is inserted on entry; it is never selected before that.\n\t\t\t\t( clientId === ghostBlockWithoutAttributes?.clientId\n\t\t\t\t\t? ghostBlockWithoutAttributes\n\t\t\t\t\t: undefined );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes =\n\t\t\t\tgetBlockAttributes( clientId ) ?? ghostBlock?.attributes;\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst settings = getSettings();\n\t\t\tconst {\n\t\t\t\tsupportsLayout,\n\t\t\t\tisPreviewMode,\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes,\n\t\t\t} = settings;\n\t\t\tconst bindableAttributes =\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes?.[ blockName ];\n\t\t\tconst blockVisibility = attributes?.metadata?.blockVisibility;\n\t\t\tconst deviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() || 'desktop';\n\t\t\tconst viewportSettings = settings?.__experimentalFeatures?.viewport;\n\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tbindableAttributes,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t\tisMultiSelected,\n\t\t\t\tblockEditingMode,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst isSectionBlock = _isSectionBlock( clientId );\n\t\t\tconst sectionBlockClientId = isSectionBlock\n\t\t\t\t? clientId\n\t\t\t\t: getParentSectionBlock( clientId );\n\t\t\t// Without a section block there is nothing for the deep check to\n\t\t\t// match, and it walks the parents of every selected block to find\n\t\t\t// that out.\n\t\t\tconst isSelectionWithinCurrentSection =\n\t\t\t\tisBlockSelected( sectionBlockClientId ) ||\n\t\t\t\t( !! sectionBlockClientId &&\n\t\t\t\t\thasSelectedInnerBlock( sectionBlockClientId, checkDeep ) );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock,\n\t\t\t\tisWithinSectionBlock: !! sectionBlockClientId,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\tblockType,\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisEditingContentOnlySection:\n\t\t\t\t\tgetEditedContentOnlySection() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId, ghostBlock, ghostBlockWithoutAttributes ]\n\t);\n\n\tconst defaultViewRef = useRefEffect( ( element ) => {\n\t\tif ( element ) {\n\t\t\tconst { ownerDocument } = element;\n\t\t\tconst { defaultView } = ownerDocument;\n\t\t\tdefaultViewRef.current = defaultView;\n\t\t}\n\t}, [] );\n\n\t// Use block visibility hook with data from existing useSelect to avoid extra subscription\n\tconst { isBlockCurrentlyHidden } = useBlockVisibility( {\n\t\tblockVisibility: selectedProps?.blockVisibility,\n\t\tdeviceType: selectedProps?.deviceType,\n\t\tviewportSettings: selectedProps?.viewportSettings,\n\t\tview: defaultViewRef.current,\n\t} );\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( {\n\t\t\t...selectedProps?.blockWithoutAttributes,\n\t\t\tattributes: selectedProps?.attributes,\n\t\t} ),\n\t\t[ selectedProps?.blockWithoutAttributes, selectedProps?.attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisEditingContentOnlySection,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t} = selectedProps;\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tghostBlock,\n\t\trootClientId,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisEditingContentOnlySection,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t\tisBlockCurrentlyHidden,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t};\n\n\tif (\n\t\tisBlockCurrentlyHidden &&\n\t\t! isSelected &&\n\t\t! isMultiSelected &&\n\t\t! hasChildSelected\n\t) {\n\t\treturn null;\n\t}\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAiB;AACjB,qBAAmD;AACnD,oBAaO;AACP,wBAA4B;AAC5B,kBAAwC;AACxC,qBAAsC;AACtC,iBAAyB;AACzB,wBAAsB;AACtB,mCAAgC;AAChC,iCAA8B;AAC9B,kCAA+B;AAC/B,wBAAsB;AACtB,6BAA8B;AAC9B,mBAA0C;AAC1C,oBAA0B;AAC1B,mCAAoC;AACpC,8BAAmC;AACnC,yBAAuB;AACvB,0BAA8B;AAoC5B;AA1BF,SAAS,kBAAmB,QAAQ,QAAS;AAC5C,QAAM,WAAW;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACJ;AAGA,MACC,QAAQ,eAAgB,WAAY,KACpC,QAAQ,eAAgB,WAAY,GACnC;AACD,aAAS,gBAAY,YAAAA,SAAM,OAAO,WAAW,OAAO,SAAU;AAAA,EAC/D;AAEA,MACC,QAAQ,eAAgB,OAAQ,KAChC,QAAQ,eAAgB,OAAQ,GAC/B;AACD,aAAS,QAAQ,EAAE,GAAG,OAAO,OAAO,GAAG,OAAO,MAAM;AAAA,EACrD;AAEA,SAAO;AACR;AAEA,SAAS,MAAO,EAAE,UAAU,QAAQ,GAAG,MAAM,GAAI;AAChD,SACC,4CAAC,SAAM,OAAG,sCAAe,OAAO,EAAE,kBAAkB,OAAO,CAAE,GAC1D,UACH;AAEF;AAEA,SAAS,eAAgB;AAAA,EACxB,OAAO,EAAE,sBAAsB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,QAAI,2BAAY,gDAAoB;AAEpC,QAAM,mBAAe,yBAAU,KAAK,CAAC;AAMrC,MAAI,YACH;AAAA,IAAC,kBAAAC;AAAA,IAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAoB,WAAW,SAAY;AAAA,MAC3C,WAAY,YAAY,YAAY;AAAA,MACpC,UAAW,YAAY,WAAW;AAAA,MAClC,aAAc,YAAY,UAAU;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA,4BAA6B;AAAA,MAC7B,wBACC,OAAO,KAAM,YAAa,EAAE,SAAS,eAAe;AAAA,MAErD;AAAA,MACA;AAAA,MACA,kCAAmC;AAAA,MACnC,kBAAmB,QAAQ;AAAA,MAC3B,eAAgB,QAAQ;AAAA;AAAA,EACzB;AAGD,QAAM,gBAAY,4BAAc,IAAK;AAGrC,MAAK,WAAW,qBAAsB;AACrC,mBAAe;AAAA,MACd;AAAA,MACA,UAAU,oBAAqB,UAAW;AAAA,IAC3C;AAAA,EACD;AAEA,QAAM,YACL,gBACA,CAAC,CAAE,aAAc,YAAa,KAC9B,CAAE;AAIH,QAAM,WAAW,WAAW,SAAU,oBAAqB;AAU3D,MAAK,WAAY;AAChB,gBACC;AAAA,MAAC;AAAA;AAAA,QACA,eAAY,YAAAD,SAAM,YAAY,YAAY,SAAU;AAAA,QACpD,cAAa,aAAc,YAAa;AAAA,QAEtC;AAAA;AAAA,IACH;AAAA,EAEF;AAEA,MAAI;AAEJ,MAAK,CAAE,SAAU;AAChB,UAAM,cAAc,4BACjB,iCAAmB,qBAAsB,QACzC,8BAAgB,WAAW,UAAW;AAEzC,YACC,6CAAC,SAAM,WAAU,eAChB;AAAA,kDAAC,6BAAAE,SAAA,EAAoB,UAAsB;AAAA,MAC3C,4CAAC,0BAAU,mCAAU,WAAY,GAAG;AAAA,OACrC;AAAA,EAEF,WAAY,SAAS,QAAS;AAG7B,YACC,4EACC;AAAA,kDAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,GAAM,qBAAW;AAAA,MAChD,4CAAC,SAAM,QAAM,MACZ,sDAAC,kBAAAC,SAAA,EAAU,UAAsB,GAClC;AAAA,OACD;AAAA,EAEF,WAAY,WAAW,aAAa,GAAI;AACvC,YAAQ;AAAA,EACT,OAAO;AACN,YAAQ,4CAAC,SAAQ,qBAAW;AAAA,EAC7B;AAEA,QAAM,EAAE,cAAc,WAAW,GAAG,iBAAiB,IAAI,gBAAgB,CAAC;AAC1E,QAAM,sBAAsB;AAAA,IAC3B,GAAG;AAAA,IACH,eAAW,YAAAH;AAAA,MACV,iBAAiB;AAAA,MACjB,aAAa,uBAAuB,QAAS,SAAU;AAAA,MACvD,EAAI,aAAa,aAAc;AAAA,IAChC;AAAA,EACD;AAUA,SACC;AAAA,IAAC,iDAAoB;AAAA,IAApB;AAAA,MACA,OAAQ;AAAA,QACP,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACJ;AAAA,MAEA;AAAA,QAAC,4BAAAI;AAAA,QAAA;AAAA,UACA,UACC,4CAAC,SAAM,WAAU,eAChB,sDAAC,2BAAAC,SAAA,EAAkB,GACpB;AAAA,UAGC;AAAA;AAAA,MACH;AAAA;AAAA,EACD;AAEF;AAEA,IAAM,wBAAoB,0BAAc,CAAE,UAAU,UAAU,aAAc;AAC3E,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,SAAU,aAAAC,KAAiB;AAI/B,SAAO;AAAA,IACN,cAAe,gBAAiB;AAC/B,YAAM,EAAE,+BAA+B,IACtC,SAAS,OAAQ,aAAAA,KAAiB;AACnC,YAAM,8BACL,+BAA+B;AAChC,YAAM,EAAE,UAAU,WAAW,IAAI;AACjC,YAAM,YAAY,4BAA4B,SAC3C,8BACA,CAAE,QAAS;AACd,YAAM,gBACL,OAAO,mBAAmB,aACvB,eAAgB,UAAW,IAC3B;AAEJ,4BAAuB,WAAW,aAAc;AAAA,IACjD;AAAA,IACA,eAAgB,QAAQ,OAAQ;AAC/B,YAAM,EAAE,aAAa,IAAI;AACzB,mBAAc,QAAQ,OAAO,YAAa;AAAA,IAC3C;AAAA,IACA,oBAAqB,QAAS;AAC7B,YAAM,EAAE,UAAU,aAAa,IAAI;AACnC,YAAM,EAAE,cAAc,IAAI,SAAS,OAAQ,aAAAA,KAAiB;AAC5D,YAAM,QAAQ,cAAe,QAAS;AACtC,mBAAc,QAAQ,QAAQ,GAAG,YAAa;AAAA,IAC/C;AAAA,IACA,QAAS,SAAU;AAClB,YAAM,EAAE,UAAU,aAAa,IAAI;AACnC,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,SAAS,OAAQ,aAAAA,KAAiB;AAEtC,eAAS,0BAA0B;AAClC,cAAM,QAAQ,SAAU,QAAS;AACjC,cAAM,uBAAmB,mCAAoB;AAC7C,cAAM,uBAAmB,4BAAc,gBAAiB;AACxD,YAAK,aAAc,QAAS,MAAM,kBAAmB;AACpD,gBAAM,kBAAc;AAAA,YACnB;AAAA,YACA;AAAA,UACD;AACA,cAAK,eAAe,YAAY,QAAS;AACxC,0BAAe,UAAU,WAAY;AAAA,UACtC;AAAA,QACD,eAAY,wCAA0B,KAAM,GAAI;AAC/C,gBAAM,oBAAoB,qBAAsB,QAAS;AACzD,cAAK,mBAAoB;AACxB,qBAAS,MAAO,MAAM;AACrB,0BAAa,QAAS;AACtB,0BAAa,iBAAkB;AAAA,YAChC,CAAE;AAAA,UACH;AAAA,QACD,WAAY,iBAAiB,OAAQ;AACpC,gBAAM,aAAa,iBAAiB;AAAA,YACnC,CAAC;AAAA,YACD,MAAM;AAAA,UACP;AACA;AAAA,YACC,CAAE,QAAS;AAAA,YACX,KAAE,2BAAa,kBAAkB,UAAW,CAAE;AAAA,UAC/C;AAAA,QACD;AAAA,MACD;AAWA,eAAS,gBAAiB,WAAW,kBAAkB,MAAO;AAC7D,cAAM,mBAAmB,aAAc,SAAU;AACjD,cAAM,uBAAmB,4BAAc,gBAAiB;AACxD,cAAM,mBAAmB,iBAAiB,aAAa;AACvD,cAAM,qBAAqB,qBAAsB,SAAU;AAC3D,cAAM,aAAa,cAAe,SAAU;AAC5C,cAAM,CAAE,aAAc,IAAI;AAE1B,YACC,WAAW,WAAW,SACtB,iCAAmB,SAAU,aAAc,GAAG,SAAU,GACvD;AACD,sBAAa,SAAU;AAAA,QACxB,WAAY,kBAAmB;AAC9B,mBAAS,MAAO,MAAM;AACrB,gBACC;AAAA,cACC,aAAc,aAAc;AAAA,cAC5B;AAAA,YACD,GACC;AACD;AAAA,gBACC,CAAE,aAAc;AAAA,gBAChB;AAAA,gBACA;AAAA,gBACA,cAAe,SAAU;AAAA,cAC1B;AAAA,YACD,OAAO;AACN,oBAAM,kBAAc;AAAA,gBACnB,SAAU,aAAc;AAAA,oBACxB,mCAAoB;AAAA,cACrB;AAEA,kBACC,eACA,YAAY,UACZ,YAAY;AAAA,gBAAO,CAAE,UACpB;AAAA,kBACC,MAAM;AAAA,kBACN;AAAA,gBACD;AAAA,cACD,GACC;AACD;AAAA,kBACC;AAAA,kBACA,cAAe,SAAU;AAAA,kBACzB;AAAA,kBACA;AAAA,gBACD;AACA,4BAAa,eAAe,KAAM;AAAA,cACnC,OAAO;AACN,wCAAwB;AAAA,cACzB;AAAA,YACD;AAEA,gBACC,CAAE,cAAe,SAAU,EAAE,cAC7B;AAAA,cACC,SAAU,SAAU;AAAA,cACpB;AAAA,YACD,GACC;AACD,0BAAa,WAAW,KAAM;AAAA,YAC/B;AAAA,UACD,CAAE;AAAA,QACH,OAAO;AACN,kCAAwB;AAAA,QACzB;AAAA,MACD;AAIA,UAAK,SAAU;AACd,YAAK,cAAe;AACnB,gBAAM,mBACL,qBAAsB,YAAa;AAEpC,cAAK,kBAAmB;AAIvB,gBACC,aAAc,YAAa,MAC3B,aAAc,gBAAiB,GAC9B;AACD,oBAAM,iBACL,mBAAoB,YAAa;AAClC,oBAAM,yBACL,mBAAoB,gBAAiB;AAEtC,kBACC,OAAO,KAAM,cAAe,EAAE;AAAA,gBAC7B,CAAE,QACD,eAAgB,GAAI,MACpB,uBAAwB,GAAI;AAAA,cAC9B,GACC;AACD,yBAAS,MAAO,MAAM;AACrB;AAAA,oBACC,cAAe,gBAAiB;AAAA,oBAChC;AAAA,oBACA;AAAA,kBACD;AACA,8BAAa,kBAAkB,KAAM;AAAA,gBACtC,CAAE;AACF;AAAA,cACD;AAAA,YACD,OAAO;AACN,0BAAa,cAAc,gBAAiB;AAC5C;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAEA,cAAM,oBAAoB,qBAAsB,QAAS;AAEzD,YAAK,CAAE,mBAAoB;AAC1B;AAAA,QACD;AAKA,gBAAK,wCAA0B,SAAU,QAAS,CAAE,GAAI;AAIvD,cAAI,oBAAoB;AACxB,iBAAQ,cAAe,iBAAkB,EAAE,QAAS;AACnD,gCACC,cAAe,iBAAkB,EAAG,CAAE;AAAA,UACxC;AACA,mBAAS,MAAO,MAAM;AACrB,wBAAa,QAAS;AACtB,wBAAa,iBAAkB;AAAA,UAChC,CAAE;AAAA,QACH,WAAY,cAAe,iBAAkB,EAAE,QAAS;AACvD,0BAAiB,mBAAmB,KAAM;AAAA,QAC3C,OAAO;AACN,sBAAa,UAAU,iBAAkB;AAAA,QAC1C;AAAA,MACD,OAAO;AACN,cAAM,wBACL,yBAA0B,QAAS;AAEpC,YAAK,uBAAwB;AAC5B,sBAAa,uBAAuB,QAAS;AAAA,QAC9C,WAAY,cAAe;AAC1B,gBAAM,uBACL,yBAA0B,YAAa;AAIxC,cACC,wBACA,aAAc,YAAa,MAC1B,aAAc,oBAAqB,GACnC;AACD,kBAAM,iBACL,mBAAoB,YAAa;AAClC,kBAAM,yBACL,mBAAoB,oBAAqB;AAE1C,gBACC,OAAO,KAAM,cAAe,EAAE;AAAA,cAC7B,CAAE,QACD,eAAgB,GAAI,MACpB,uBAAwB,GAAI;AAAA,YAC9B,GACC;AACD,uBAAS,MAAO,MAAM;AACrB;AAAA,kBACC,cAAe,YAAa;AAAA,kBAC5B;AAAA,kBACA;AAAA,gBACD;AACA,4BAAa,cAAc,KAAM;AAAA,cAClC,CAAE;AACF;AAAA,YACD;AAAA,UACD;AAEA,0BAAiB,YAAa;AAAA,QAC/B,OAAO;AACN,kCAAwB;AAAA,QACzB;AAAA,MACD;AAAA,IACD;AAAA,IACA,UAAW,QAAQ,eAAe,iBAAkB;AACnD,UACC,OAAO,UACP,KAAE,wCAA0B,OAAQ,OAAO,SAAS,CAAE,CAAE,GACvD;AACD,6CAAqC;AAAA,MACtC;AAEA,YAAM,oBACL,QAAQ,WAAW,KAAK,MAAM,QAAS,OAAQ,CAAE,CAAE,IAChD,OAAQ,CAAE,IACV;AACJ;AAAA,QACC,CAAE,SAAS,QAAS;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW;AACV,kBAAa,SAAS,QAAS;AAAA,IAChC;AAAA,IACA,gBAAiB,kBAAmB;AACnC,sBAAiB,gBAAiB;AAAA,IACnC;AAAA,EACD;AACD,CAAE;AAIF,qBAAiB;AAAA,EAChB;AAAA,MACA,+BAAa,uBAAwB;AACtC,EAAG,cAAe;AAQlB,SAAS,uBAAwB,OAAQ;AACxC,QAAM,EAAE,UAAU,cAAc,WAAW,IAAI;AAE/C,QAAM,kCAA8B;AAAA,IACnC,MACC,aACG;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,MAAM,WAAW;AAAA,MACjB,SAAS;AAAA,IACT,IACA;AAAA,IACJ,CAAE,UAAW;AAAA,EACd;AACA,QAAM,oBAAgB;AAAA,IACrB,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,oBAAAC;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAAC;AAAA,QACA;AAAA,QACA;AAAA,MACD,QAAI,2BAAQ,OAAQ,aAAAF,KAAiB,CAAE;AACvC,YAAM,yBACL,0BAA2B,QAAS;AAAA;AAAA,OAGlC,aAAa,6BAA6B,WACzC,8BACA;AAMJ,UAAK,CAAE,wBAAyB;AAC/B;AAAA,MACD;AAEA,YAAM;AAAA,QACL,iBAAiB;AAAA,QACjB;AAAA,MACD,IAAI,OAAQ,cAAAG,KAAY;AACxB,YAAMC,cACL,mBAAoB,QAAS,KAAK,YAAY;AAC/C,YAAM,EAAE,MAAM,WAAW,SAAAC,SAAQ,IAAI;AACrC,YAAMC,iBAAY,4BAAc,SAAU;AAC1C,YAAM,WAAW,YAAY;AAC7B,YAAM;AAAA,QACL;AAAA,QACA,eAAAC;AAAA,QACA;AAAA,MACD,IAAI;AACJ,YAAMC,sBACL,iDAAkD,SAAU;AAC7D,YAAMC,mBAAkBL,aAAY,UAAU;AAC9C,YAAMM,cACL,WAAY,iCAAc,GAAG,YAAY,KAAK;AAC/C,YAAMC,oBAAmB,UAAU,wBAAwB;AAE3D,YAAM,uBAAuBL,YAAW,aAAa;AACrD,YAAMM,mBAAkB,qBAAsB,QAAS;AACvD,YAAMC,oBAAmB,oBAAqB,QAAS;AACvD,YAAM,iBAAiB;AAAA,QACtB,eAAAN;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,YAAAH;AAAA,QACA,SAAAC;AAAA,QACA,qBAAqB;AAAA,QACrB,OAAO,cAAe,QAAS;AAAA,QAC/B,gBAAY,+BAAiBC,UAAU;AAAA,QACvC,WAAW,uBACRF,YAAW,YACX;AAAA,QACH,kBAAkB,2BACf,wCAA0B,SAAU,IACpC;AAAA,QACH,YAAYE,YAAW;AAAA,QACvB,oBAAAE;AAAA,QACA,iBAAAC;AAAA,QACA,YAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,mBAAmBA,sBAAqB;AAAA,MACzC;AAIA,UAAKN,gBAAgB;AACpB,eAAO;AAAA,MACR;AACA,YAAM,cAAc,gBAAiB,QAAS;AAC9C,YAAMO,aAAY,eAAgB,QAAS;AAC3C,YAAMC,WAAU,aAAc,QAAS;AACvC,YAAM,QAAQ,wBAAyB,WAAWX,WAAW;AAC7D,YAAM,YAAY;AAClB,YAAM,4BAA4B;AAAA,QACjC;AAAA,QACA;AAAA,MACD;AACA,YAAMY,kBAAiB,gBAAiB,QAAS;AACjD,YAAM,uBAAuBA,kBAC1B,WACA,sBAAuB,QAAS;AAInC,YAAMC,mCACL,gBAAiB,oBAAqB,KACpC,CAAC,CAAE,wBACJ,sBAAuB,sBAAsB,SAAU;AAEzD,YAAM,eAAW,+BAAiB,WAAW,YAAY,IAAK;AAI9D,YAAM,qBAAqB,WACxB,CAAC,IACD,gBAAiB,SAAU;AAC9B,YAAM,YACL,mBAAmB,UACnB,mBAAoB,CAAE,MAAM;AAE7B,aAAO;AAAA,QACN,GAAG;AAAA,QACH,MAAM,aAAc,QAAS;AAAA,QAC7B,oBAAoBhB,oBAAmB;AAAA,QACvC,UAAU,CAAC,CAAE,gBAAiB,YAAa;AAAA,QAC3C,gBAAAe;AAAA,QACA,sBAAsB,CAAC,CAAE;AAAA,QACzB,iCAAAC;AAAA,QACA,WAAAX;AAAA,QACA,WAAAQ;AAAA,QACA,SAAAC;AAAA,QACA,YAAY;AAAA,QACZ,6BACC,4BAA4B,MAAM;AAAA,QACnC,kBAAAF;AAAA,QACA,oBACC,eACE,0BAA2B,QAAS,KACrC,+BAA+B,EAAE;AAAA,UAChC,CAAE,OAAQ,aAAc,EAAG,MAAM;AAAA,QAClC;AAAA,QACF,0BACC;AAAA,UACC,aAAc,QAAS;AAAA,UACvB;AAAA,UACA;AAAA,QACD,KAAK,sBAAuB,QAAS;AAAA,QACtC,iBAAiBP,YAAW,cAAc;AAAA,QAC1C,YAAY,OAAO,SAASA,YAAW;AAAA,QACvC,mBACCO,sBAAqB,cACrB,uBAAwB,QAAS;AAAA,QAClC,YACC,sCAAuC,QAAS,KAChD,CAAEX,YAAW;AAAA,QACd,iBAAiB,cACd,sCAAsC,IACtC;AAAA,QACH,eAAe,mBAAoB,QAAS;AAAA,QAC5C,iBAAAU;AAAA,QACA,qBACCA,oBACA,CAAE,0BAA0B,KAC5B,CAAE,uCAAuC;AAAA,QAC1C,YAAY,oBAAqB,QAAS;AAAA,QAC1C,kBAAkB;AAAA,QAClB,mBAAmBC,sBAAqB;AAAA,QACxC,oBACCA,sBAAqB,cACrB,oBAAqB,YAAa,MAAM;AAAA,QACzC,uBAAuB,YACpB,mBAAoB,CAAE,IACtB;AAAA,QACH,iBAAAJ;AAAA,QACA,YAAAC;AAAA,QACA,kBAAAC;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,cAAc,YAAY,2BAA4B;AAAA,EACnE;AAEA,QAAM,qBAAiB,6BAAc,CAAE,YAAa;AACnD,QAAK,SAAU;AACd,YAAM,EAAE,cAAc,IAAI;AAC1B,YAAM,EAAE,YAAY,IAAI;AACxB,qBAAe,UAAU;AAAA,IAC1B;AAAA,EACD,GAAG,CAAC,CAAE;AAGN,QAAM,EAAE,uBAAuB,QAAI,4CAAoB;AAAA,IACtD,iBAAiB,eAAe;AAAA,IAChC,YAAY,eAAe;AAAA,IAC3B,kBAAkB,eAAe;AAAA,IACjC,MAAM,eAAe;AAAA,EACtB,CAAE;AAMF,QAAM,YAAQ;AAAA,IACb,OAAQ;AAAA,MACP,GAAG,eAAe;AAAA,MAClB,YAAY,eAAe;AAAA,IAC5B;AAAA,IACA,CAAE,eAAe,wBAAwB,eAAe,UAAW;AAAA,EACpE;AAKA,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM;AAAA,IACL;AAAA;AAAA;AAAA,IAGA,OAAO;AAAA,IACP,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAEJ,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,MACC,0BACA,CAAE,cACF,CAAE,mBACF,CAAE,kBACD;AACD,WAAO;AAAA,EACR;AAWA,SACC,4CAAC,iDAAoB,UAApB,EAA6B,OAAQ,gBACrC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MAIH,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,oBAAQ,qBAAM,sBAAuB;",
6
+ "names": ["clsx", "BlockEdit", "BlockInvalidWarning", "BlockHtml", "BlockCrashBoundary", "BlockCrashWarning", "blockEditorStore", "isSelectionEnabled", "isDragging", "blocksStore", "attributes", "isValid", "blockType", "isPreviewMode", "bindableAttributes", "blockVisibility", "deviceType", "viewportSettings", "isMultiSelected", "blockEditingMode", "canRemove", "canMove", "isSectionBlock", "isSelectionWithinCurrentSection"]
7
7
  }
@@ -48,7 +48,6 @@ var import_layout = require("./layout.cjs");
48
48
  var import_block_selection_clearer = require("../block-selection-clearer/index.cjs");
49
49
  var import_inner_blocks = require("../inner-blocks/index.cjs");
50
50
  var import_context = require("../block-edit/context.cjs");
51
- var import_observe_typing = require("../observe-typing/index.cjs");
52
51
  var import_zoom_out_separator = require("./zoom-out-separator.cjs");
53
52
  var import_lock_unlock = require("../../lock-unlock.cjs");
54
53
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -116,8 +115,7 @@ function Root({ className, ...settings }) {
116
115
  {
117
116
  ref: (0, import_compose.useMergeRefs)([
118
117
  (0, import_block_selection_clearer.useBlockSelectionClearer)(),
119
- (0, import_use_in_between_inserter.useInBetweenInserter)(),
120
- (0, import_observe_typing.useTypingObserver)()
118
+ (0, import_use_in_between_inserter.useInBetweenInserter)()
121
119
  ]),
122
120
  className: (0, import_clsx.default)("is-root-container", className, {
123
121
  "is-outline-mode": isOutlineMode,
@@ -178,6 +176,8 @@ function Items({
178
176
  isZoomOut,
179
177
  selectedBlocks,
180
178
  visibleBlocks,
179
+ ghostBlockName,
180
+ ghostBlockAttributes,
181
181
  shouldRenderAppender
182
182
  } = (0, import_data.useSelect)(
183
183
  (select) => {
@@ -191,6 +191,7 @@ function Items({
191
191
  isSectionBlock,
192
192
  isContainerInsertableToInContentOnlyMode,
193
193
  getBlockName,
194
+ getBlockListSettings,
194
195
  isZoomOut: _isZoomOut,
195
196
  canInsertBlockType
196
197
  } = (0, import_lock_unlock.unlock)(select(import_store.store));
@@ -202,6 +203,15 @@ function Items({
202
203
  visibleBlocks: EMPTY_SET
203
204
  };
204
205
  }
206
+ let _ghostBlockName;
207
+ let _ghostBlockAttributes;
208
+ if (hasAppender && !hasCustomAppender && !_order.length) {
209
+ const defaultBlock = (rootClientId ? getBlockListSettings(rootClientId)?.defaultBlock : void 0) ?? { name: (0, import_blocks.getDefaultBlockName)() };
210
+ if (defaultBlock.name && canInsertBlockType(defaultBlock.name, rootClientId)) {
211
+ _ghostBlockName = defaultBlock.name;
212
+ _ghostBlockAttributes = defaultBlock.attributes;
213
+ }
214
+ }
205
215
  const selectedBlockClientIds = getSelectedBlockClientIds();
206
216
  const selectedBlockClientId = selectedBlockClientIds[0];
207
217
  const showRootAppender = !rootClientId && !selectedBlockClientId && (!_order.length || !canInsertBlockType(
@@ -210,27 +220,38 @@ function Items({
210
220
  ));
211
221
  const hasSelectedRoot = !!(rootClientId && selectedBlockClientId && rootClientId === selectedBlockClientId);
212
222
  const templateLock = getTemplateLock(rootClientId);
223
+ const appenderAllowed = (!isSectionBlock(rootClientId) || isContainerInsertableToInContentOnlyMode(
224
+ getBlockName(selectedBlockClientId),
225
+ rootClientId
226
+ )) && getBlockEditingMode(rootClientId) !== "disabled" && (!templateLock || templateLock === "contentOnly") && hasAppender && !_isZoomOut();
213
227
  return {
214
228
  order: _order,
215
229
  selectedBlocks: selectedBlockClientIds,
216
230
  visibleBlocks: __unstableGetVisibleBlocks(),
217
231
  isZoomOut: _isZoomOut(),
218
- shouldRenderAppender: (!isSectionBlock(rootClientId) || isContainerInsertableToInContentOnlyMode(
219
- getBlockName(selectedBlockClientId),
220
- rootClientId
221
- )) && getBlockEditingMode(rootClientId) !== "disabled" && (!templateLock || templateLock === "contentOnly") && hasAppender && !_isZoomOut() && (hasCustomAppender || hasSelectedRoot || showRootAppender)
232
+ // The ghost is the block list's empty state: it renders
233
+ // whether or not the block is selected.
234
+ ghostBlockName: appenderAllowed ? _ghostBlockName : void 0,
235
+ ghostBlockAttributes: _ghostBlockAttributes,
236
+ shouldRenderAppender: appenderAllowed && (hasCustomAppender || hasSelectedRoot || showRootAppender)
222
237
  };
223
238
  },
224
239
  [rootClientId, hasAppender, hasCustomAppender]
225
240
  );
241
+ const ghostBlock = (0, import_element.useMemo)(
242
+ () => ghostBlockName ? (0, import_blocks.createBlock)(ghostBlockName, ghostBlockAttributes) : null,
243
+ [ghostBlockName, ghostBlockAttributes]
244
+ );
245
+ const showGhost = !!ghostBlock;
246
+ const items = showGhost ? [...order, ghostBlock.clientId] : order;
226
247
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_layout.LayoutProvider, { value: layout, children: [
227
- order.map((clientId) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
248
+ items.map((clientId) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
228
249
  import_data.AsyncModeProvider,
229
250
  {
230
251
  value: (
231
252
  // Only provide data asynchronously if the block is
232
- // not visible and not selected.
233
- !visibleBlocks.has(clientId) && !selectedBlocks.includes(clientId)
253
+ // not visible, not selected, and not the ghost.
254
+ clientId !== ghostBlock?.clientId && !visibleBlocks.has(clientId) && !selectedBlocks.includes(clientId)
234
255
  ),
235
256
  children: [
236
257
  isZoomOut && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -245,7 +266,8 @@ function Items({
245
266
  import_block.default,
246
267
  {
247
268
  rootClientId,
248
- clientId
269
+ clientId,
270
+ ghostBlock: clientId === ghostBlock?.clientId ? ghostBlock : void 0
249
271
  }
250
272
  ),
251
273
  isZoomOut && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -261,7 +283,7 @@ function Items({
261
283
  clientId
262
284
  )),
263
285
  order.length < 1 && placeholder,
264
- shouldRenderAppender && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
286
+ shouldRenderAppender && !showGhost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
265
287
  import_block_list_appender.default,
266
288
  {
267
289
  tagName: __experimentalAppenderTagName,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-list/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport { useMergeRefs, useDebounce } from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nIntersectionObserver.displayName = 'IntersectionObserverContext';\n\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\nconst delayedBlockVisibilityDebounceOptions = {\n\ttrailing: true,\n};\n\nfunction Root( { className, ...settings } ) {\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\tisPreviewMode,\n\t\teditedContentOnlySection,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\tisTyping,\n\t\t\thasBlockSpotlight,\n\t\t\tgetEditedContentOnlySection,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst {\n\t\t\toutlineMode,\n\t\t\tfocusMode,\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\tisFocusMode: focusMode || hasBlockSpotlight(),\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t\teditedContentOnlySection: getEditedContentOnlySection(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\tdelayedBlockVisibilityDebounceOptions\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: clsx( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t'is-preview-mode': isPreviewMode,\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! editedContentOnlySection && (\n\t\t\t\t<StopEditingContentOnlySectionOnOutsideSelect\n\t\t\t\t\tclientId={ editedContentOnlySection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingContentOnlySectionOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingContentOnlySection } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockSelectionStart,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t! getBlockSelectionStart() ||\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingContentOnlySection();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingContentOnlySection ] );\n\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisContainerInsertableToInContentOnlyMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst showRootAppender =\n\t\t\t\t! rootClientId &&\n\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t( ! _order.length ||\n\t\t\t\t\t! canInsertBlockType(\n\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) );\n\t\t\tconst hasSelectedRoot = !! (\n\t\t\t\trootClientId &&\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\trootClientId === selectedBlockClientId\n\t\t\t);\n\n\t\t\tconst templateLock = getTemplateLock( rootClientId );\n\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: selectedBlockClientIds,\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t( ! isSectionBlock( rootClientId ) ||\n\t\t\t\t\t\tisContainerInsertableToInContentOnlyMode(\n\t\t\t\t\t\t\tgetBlockName( selectedBlockClientId ),\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t) ) &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t\t( ! templateLock || templateLock === 'contentOnly' ) &&\n\t\t\t\t\thasAppender &&\n\t\t\t\t\t! _isZoomOut() &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\thasSelectedRoot ||\n\t\t\t\t\t\tshowRootAppender ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport { useMergeRefs, useDebounce } from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nIntersectionObserver.displayName = 'IntersectionObserverContext';\n\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\nconst delayedBlockVisibilityDebounceOptions = {\n\ttrailing: true,\n};\n\nfunction Root( { className, ...settings } ) {\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\tisPreviewMode,\n\t\teditedContentOnlySection,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\tisTyping,\n\t\t\thasBlockSpotlight,\n\t\t\tgetEditedContentOnlySection,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst {\n\t\t\toutlineMode,\n\t\t\tfocusMode,\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\tisFocusMode: focusMode || hasBlockSpotlight(),\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t\teditedContentOnlySection: getEditedContentOnlySection(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\tdelayedBlockVisibilityDebounceOptions\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t] ),\n\t\t\tclassName: clsx( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t'is-preview-mode': isPreviewMode,\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! editedContentOnlySection && (\n\t\t\t\t<StopEditingContentOnlySectionOnOutsideSelect\n\t\t\t\t\tclientId={ editedContentOnlySection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingContentOnlySectionOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingContentOnlySection } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockSelectionStart,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t! getBlockSelectionStart() ||\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingContentOnlySection();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingContentOnlySection ] );\n\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tghostBlockName,\n\t\tghostBlockAttributes,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisContainerInsertableToInContentOnlyMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// A block list without a custom appender renders a ghost of\n\t\t\t// the container's default block while empty: a real block\n\t\t\t// object rendered before it exists in the store, inserted on\n\t\t\t// entry.\n\t\t\tlet _ghostBlockName;\n\t\t\tlet _ghostBlockAttributes;\n\t\t\tif ( hasAppender && ! hasCustomAppender && ! _order.length ) {\n\t\t\t\tconst defaultBlock = ( rootClientId\n\t\t\t\t\t? getBlockListSettings( rootClientId )?.defaultBlock\n\t\t\t\t\t: undefined ) ?? { name: getDefaultBlockName() };\n\t\t\t\tif (\n\t\t\t\t\tdefaultBlock.name &&\n\t\t\t\t\tcanInsertBlockType( defaultBlock.name, rootClientId )\n\t\t\t\t) {\n\t\t\t\t\t_ghostBlockName = defaultBlock.name;\n\t\t\t\t\t_ghostBlockAttributes = defaultBlock.attributes;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst showRootAppender =\n\t\t\t\t! rootClientId &&\n\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t( ! _order.length ||\n\t\t\t\t\t! canInsertBlockType(\n\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) );\n\t\t\tconst hasSelectedRoot = !! (\n\t\t\t\trootClientId &&\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\trootClientId === selectedBlockClientId\n\t\t\t);\n\n\t\t\tconst templateLock = getTemplateLock( rootClientId );\n\n\t\t\tconst appenderAllowed =\n\t\t\t\t( ! isSectionBlock( rootClientId ) ||\n\t\t\t\t\tisContainerInsertableToInContentOnlyMode(\n\t\t\t\t\t\tgetBlockName( selectedBlockClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) ) &&\n\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t( ! templateLock || templateLock === 'contentOnly' ) &&\n\t\t\t\thasAppender &&\n\t\t\t\t! _isZoomOut();\n\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: selectedBlockClientIds,\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\t// The ghost is the block list's empty state: it renders\n\t\t\t\t// whether or not the block is selected.\n\t\t\t\tghostBlockName: appenderAllowed ? _ghostBlockName : undefined,\n\t\t\t\tghostBlockAttributes: _ghostBlockAttributes,\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\tappenderAllowed &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\thasSelectedRoot ||\n\t\t\t\t\t\tshowRootAppender ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\t// One ghost per empty period: regenerated when the list empties again\n\t// or the default block changes, stable in between so the client ID,\n\t// and with it the DOM, survives materialization.\n\tconst ghostBlock = useMemo(\n\t\t() =>\n\t\t\tghostBlockName\n\t\t\t\t? createBlock( ghostBlockName, ghostBlockAttributes )\n\t\t\t\t: null,\n\t\t[ ghostBlockName, ghostBlockAttributes ]\n\t);\n\tconst showGhost = !! ghostBlock;\n\n\tconst items = showGhost ? [ ...order, ghostBlock.clientId ] : order;\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ items.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible, not selected, and not the ghost.\n\t\t\t\t\t\tclientId !== ghostBlock?.clientId &&\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tghostBlock={\n\t\t\t\t\t\t\tclientId === ghostBlock?.clientId\n\t\t\t\t\t\t\t\t? ghostBlock\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && ! showGhost && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorStore", "clsx", "BlockListBlock", "BlockListAppender"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/block-list/layout.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getLayoutType } from '../../layouts';\nimport { useSettings } from '../use-settings';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\nLayout.displayName = 'BlockLayoutContext';\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, css, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\tif ( layoutType ) {\n\t\tif ( css ) {\n\t\t\treturn <style>{ css }</style>;\n\t\t}\n\t\tconst layoutStyle = layoutType.getLayoutStyle?.( {\n\t\t\thasBlockGapSupport,\n\t\t\tlayout,\n\t\t\t...props,\n\t\t} );\n\t\tif ( layoutStyle ) {\n\t\t\treturn <style>{ layoutStyle }</style>;\n\t\t}\n\t}\n\treturn null;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA0C;AAK1C,qBAA8B;AAC9B,0BAA4B;AA0BlB;AAxBH,IAAM,gBAAgB,EAAE,MAAM,UAAU;AAE/C,IAAM,aAAS,8BAAe,aAAc;AAC5C,OAAO,cAAc;AAKd,IAAM,iBAAiB,OAAO;AAK9B,SAAS,YAAY;AAC3B,aAAO,2BAAY,MAAO;AAC3B;AAEO,SAAS,YAAa,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,MAAM,GAAI;AAC7D,QAAM,iBAAa,8BAAe,OAAO,IAAK;AAC9C,QAAM,CAAE,eAAgB,QAAI,iCAAa,kBAAmB;AAC5D,QAAM,qBAAqB,oBAAoB;AAE/C,MAAK,YAAa;AACjB,QAAK,KAAM;AACV,aAAO,4CAAC,WAAQ,eAAK;AAAA,IACtB;AACA,UAAM,cAAc,WAAW,iBAAkB;AAAA,MAChD;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACJ,CAAE;AACF,QAAK,aAAc;AAClB,aAAO,4CAAC,WAAQ,uBAAa;AAAA,IAC9B;AAAA,EACD;AACA,SAAO;AACR;",
4
+ "sourcesContent": ["import { createContext, useContext } from '@wordpress/element';\nimport { getLayoutType } from '../../layouts';\nimport { useSettings } from '../use-settings';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\nLayout.displayName = 'BlockLayoutContext';\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, css, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\tif ( layoutType ) {\n\t\tif ( css ) {\n\t\t\treturn <style>{ css }</style>;\n\t\t}\n\t\tconst layoutStyle = layoutType.getLayoutStyle?.( {\n\t\t\thasBlockGapSupport,\n\t\t\tlayout,\n\t\t\t...props,\n\t\t} );\n\t\tif ( layoutStyle ) {\n\t\t\treturn <style>{ layoutStyle }</style>;\n\t\t}\n\t}\n\treturn null;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA0C;AAC1C,qBAA8B;AAC9B,0BAA4B;AA0BlB;AAxBH,IAAM,gBAAgB,EAAE,MAAM,UAAU;AAE/C,IAAM,aAAS,8BAAe,aAAc;AAC5C,OAAO,cAAc;AAKd,IAAM,iBAAiB,OAAO;AAK9B,SAAS,YAAY;AAC3B,aAAO,2BAAY,MAAO;AAC3B;AAEO,SAAS,YAAa,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,MAAM,GAAI;AAC7D,QAAM,iBAAa,8BAAe,OAAO,IAAK;AAC9C,QAAM,CAAE,eAAgB,QAAI,iCAAa,kBAAmB;AAC5D,QAAM,qBAAqB,oBAAoB;AAE/C,MAAK,YAAa;AACjB,QAAK,KAAM;AACV,aAAO,4CAAC,WAAQ,eAAK;AAAA,IACtB;AACA,UAAM,cAAc,WAAW,iBAAkB;AAAA,MAChD;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACJ,CAAE;AACF,QAAK,aAAc;AAClB,aAAO,4CAAC,WAAQ,uBAAa;AAAA,IAC9B;AAAA,EACD;AACA,SAAO;AACR;",
6
6
  "names": []
7
7
  }