@wordpress/block-editor 16.1.0 → 17.0.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 (2026) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +13 -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.map +2 -2
  6. package/build/components/autocomplete/index.cjs.map +2 -2
  7. package/build/components/background-image-control/index.cjs.map +2 -2
  8. package/build/components/block-actions/index.cjs +2 -1
  9. package/build/components/block-actions/index.cjs.map +2 -2
  10. package/build/components/block-alignment-control/constants.cjs.map +2 -2
  11. package/build/components/block-alignment-control/index.cjs.map +2 -2
  12. package/build/components/block-alignment-control/ui.cjs.map +2 -2
  13. package/build/components/block-alignment-control/use-available-alignments.cjs.map +2 -2
  14. package/build/components/block-alignment-matrix-control/index.cjs.map +2 -2
  15. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +2 -2
  16. package/build/components/block-allowed-blocks/modal.cjs.map +2 -2
  17. package/build/components/block-bindings/attribute-control.cjs.map +2 -2
  18. package/build/components/block-bindings/index.cjs.map +2 -2
  19. package/build/components/block-bindings/source-fields-list.cjs.map +2 -2
  20. package/build/components/block-bindings/use-block-bindings-utils.cjs.map +2 -2
  21. package/build/components/block-breadcrumb/index.cjs.map +2 -2
  22. package/build/components/block-canvas/index.cjs.map +2 -2
  23. package/build/components/block-card/index.cjs.map +2 -2
  24. package/build/components/block-compare/block-view.cjs.map +2 -2
  25. package/build/components/block-compare/index.cjs.map +2 -2
  26. package/build/components/block-content-overlay/index.cjs.map +2 -2
  27. package/build/components/block-context/index.cjs.map +2 -2
  28. package/build/components/block-controls/fill.cjs.map +2 -2
  29. package/build/components/block-controls/groups.cjs.map +2 -2
  30. package/build/components/block-controls/hook.cjs.map +2 -2
  31. package/build/components/block-controls/index.cjs.map +2 -2
  32. package/build/components/block-controls/slot.cjs.map +2 -2
  33. package/build/components/block-draggable/draggable-chip.cjs.map +2 -2
  34. package/build/components/block-draggable/index.cjs.map +2 -2
  35. package/build/components/block-draggable/use-scroll-when-dragging.cjs.map +2 -2
  36. package/build/components/block-edit/context.cjs.map +2 -2
  37. package/build/components/block-edit/edit.cjs.map +2 -2
  38. package/build/components/block-edit/index.cjs.map +2 -2
  39. package/build/components/block-edit/multiple-usage-warning.cjs.map +2 -2
  40. package/build/components/block-edit-visually-button/index.cjs.map +2 -2
  41. package/build/components/block-editing-mode/index.cjs.map +2 -2
  42. package/build/components/block-full-height-alignment-control/index.cjs.map +2 -2
  43. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +2 -2
  44. package/build/components/block-heading-level-dropdown/index.cjs.map +2 -2
  45. package/build/components/block-icon/index.cjs.map +2 -2
  46. package/build/components/block-inspector/edit-contents.cjs +48 -40
  47. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  48. package/build/components/block-inspector/index.cjs +18 -10
  49. package/build/components/block-inspector/index.cjs.map +2 -2
  50. package/build/components/block-inspector/inspector-pre-tabs-slot-fill.cjs.map +2 -2
  51. package/build/components/block-inspector/useBlockInspectorAnimationSettings.cjs.map +2 -2
  52. package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
  53. package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
  54. package/build/components/block-list/block-crash-boundary.cjs.map +2 -2
  55. package/build/components/block-list/block-crash-warning.cjs.map +2 -2
  56. package/build/components/block-list/block-html.cjs.map +2 -2
  57. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  58. package/build/components/block-list/block.cjs +46 -13
  59. package/build/components/block-list/block.cjs.map +3 -3
  60. package/build/components/block-list/index.cjs +39 -10
  61. package/build/components/block-list/index.cjs.map +2 -2
  62. package/build/components/block-list/layout.cjs.map +2 -2
  63. package/build/components/block-list/private-block-context.cjs.map +2 -2
  64. package/build/components/block-list/subdirectory-icon.cjs.map +2 -2
  65. package/build/components/block-list/use-block-props/index.cjs +36 -2
  66. package/build/components/block-list/use-block-props/index.cjs.map +3 -3
  67. package/build/components/block-list/use-block-props/use-block-refs.cjs.map +2 -2
  68. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.cjs.map +2 -2
  69. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +4 -0
  70. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  71. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  72. package/build/components/block-list/use-block-props/use-intersection-observer.cjs.map +2 -2
  73. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  74. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +2 -2
  75. package/build/components/block-list/use-block-props/use-scroll-into-view.cjs.map +2 -2
  76. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
  77. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  78. package/build/components/block-list/use-in-between-inserter.cjs.map +2 -2
  79. package/build/components/block-list/zoom-out-separator.cjs.map +2 -2
  80. package/build/components/block-list-appender/index.cjs.map +2 -2
  81. package/build/components/block-lock/menu-item.cjs.map +2 -2
  82. package/build/components/block-lock/modal.cjs.map +2 -2
  83. package/build/components/block-lock/toolbar.cjs.map +2 -2
  84. package/build/components/block-lock/use-block-lock.cjs.map +2 -2
  85. package/build/components/block-manager/category.cjs.map +2 -2
  86. package/build/components/block-manager/checklist.cjs.map +2 -2
  87. package/build/components/block-manager/index.cjs.map +2 -2
  88. package/build/components/block-mover/button.cjs +15 -9
  89. package/build/components/block-mover/button.cjs.map +2 -2
  90. package/build/components/block-mover/index.cjs.map +2 -2
  91. package/build/components/block-mover/mover-description.cjs.map +2 -2
  92. package/build/components/block-navigation/dropdown.cjs.map +2 -2
  93. package/build/components/block-parent-selector/index.cjs +98 -29
  94. package/build/components/block-parent-selector/index.cjs.map +3 -3
  95. package/build/components/block-pattern-setup/index.cjs.map +2 -2
  96. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +2 -2
  97. package/build/components/block-pattern-setup/use-patterns-setup.cjs.map +2 -2
  98. package/build/components/block-patterns-list/index.cjs.map +2 -2
  99. package/build/components/block-patterns-paging/index.cjs.map +2 -2
  100. package/build/components/block-popover/cover.cjs.map +2 -2
  101. package/build/components/block-popover/drop-zone.cjs.map +2 -2
  102. package/build/components/block-popover/inbetween.cjs +2 -2
  103. package/build/components/block-popover/inbetween.cjs.map +2 -2
  104. package/build/components/block-popover/index.cjs.map +2 -2
  105. package/build/components/block-popover/use-popover-scroll.cjs.map +2 -2
  106. package/build/components/block-preview/async.cjs.map +2 -2
  107. package/build/components/block-preview/auto.cjs.map +2 -2
  108. package/build/components/block-preview/index.cjs +0 -4
  109. package/build/components/block-preview/index.cjs.map +2 -2
  110. package/build/components/block-quick-navigation/index.cjs.map +2 -2
  111. package/build/components/block-removal-warning-modal/index.cjs.map +2 -2
  112. package/build/components/block-rename/modal.cjs.map +2 -2
  113. package/build/components/block-rename/rename-control.cjs.map +2 -2
  114. package/build/components/block-rename/use-block-rename.cjs.map +2 -2
  115. package/build/components/block-selection-clearer/index.cjs.map +2 -2
  116. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +2 -2
  117. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +2 -2
  118. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +2 -2
  119. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  120. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +2 -2
  121. package/build/components/block-settings-menu/block-settings-menu-first-item.cjs.map +2 -2
  122. package/build/components/block-settings-menu/index.cjs.map +2 -2
  123. package/build/components/block-settings-menu-controls/index.cjs.map +2 -2
  124. package/build/components/block-styles/index.cjs +77 -33
  125. package/build/components/block-styles/index.cjs.map +3 -3
  126. package/build/components/block-styles/menu-items.cjs.map +2 -2
  127. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  128. package/build/components/block-styles/utils.cjs.map +2 -2
  129. package/build/components/block-switcher/block-styles-menu.cjs.map +2 -2
  130. package/build/components/block-switcher/block-transformations-menu.cjs.map +2 -2
  131. package/build/components/block-switcher/block-variation-transformations.cjs.map +2 -2
  132. package/build/components/block-switcher/index.cjs.map +2 -2
  133. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +2 -2
  134. package/build/components/block-switcher/preview-block-popover.cjs.map +2 -2
  135. package/build/components/block-switcher/use-transformed-patterns.cjs.map +2 -2
  136. package/build/components/block-switcher/utils.cjs.map +2 -2
  137. package/build/components/block-title/index.cjs.map +2 -2
  138. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  139. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +2 -2
  140. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  141. package/build/components/block-toolbar/block-toolbar-last-item.cjs.map +2 -2
  142. package/build/components/block-toolbar/change-design.cjs.map +2 -2
  143. package/build/components/block-toolbar/edit-section-button.cjs.map +2 -2
  144. package/build/components/block-toolbar/index.cjs.map +2 -2
  145. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +2 -2
  146. package/build/components/block-toolbar/switch-section-style.cjs.map +2 -2
  147. package/build/components/block-toolbar/use-has-block-toolbar.cjs.map +2 -2
  148. package/build/components/block-toolbar/utils.cjs.map +2 -2
  149. package/build/components/block-tools/block-toolbar-popover.cjs.map +2 -2
  150. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  151. package/build/components/block-tools/index.cjs +2 -4
  152. package/build/components/block-tools/index.cjs.map +2 -2
  153. package/build/components/block-tools/insertion-point.cjs.map +2 -2
  154. package/build/components/block-tools/use-block-toolbar-popover-props.cjs.map +2 -2
  155. package/build/components/block-tools/use-selected-block-tool-props.cjs.map +2 -2
  156. package/build/components/block-tools/use-show-block-tools.cjs.map +2 -2
  157. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +2 -2
  158. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +2 -2
  159. package/build/components/block-types-list/index.cjs.map +2 -2
  160. package/build/components/block-variation-picker/index.cjs.map +2 -2
  161. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  162. package/build/components/block-vertical-alignment-control/index.cjs.map +2 -2
  163. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  164. package/build/components/block-visibility/constants.cjs +1 -1
  165. package/build/components/block-visibility/constants.cjs.map +3 -3
  166. package/build/components/block-visibility/modal.cjs.map +2 -2
  167. package/build/components/block-visibility/use-block-visibility.cjs +15 -17
  168. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  169. package/build/components/block-visibility/utils.cjs.map +2 -2
  170. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  171. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  172. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  173. package/build/components/border-radius-control/constants.cjs.map +2 -2
  174. package/build/components/border-radius-control/index.cjs.map +2 -2
  175. package/build/components/border-radius-control/linked-button.cjs.map +2 -2
  176. package/build/components/border-radius-control/utils.cjs.map +2 -2
  177. package/build/components/button-block-appender/index.cjs.map +2 -2
  178. package/build/components/child-layout-control/index.cjs.map +3 -3
  179. package/build/components/collab/note-icon-slot.cjs.map +2 -2
  180. package/build/components/collab/note-icon-toolbar-slot.cjs.map +2 -2
  181. package/build/components/color-palette/control.cjs.map +2 -2
  182. package/build/components/color-palette/index.cjs.map +2 -2
  183. package/build/components/color-palette/with-color-context.cjs.map +2 -2
  184. package/build/components/color-style-selector/index.cjs.map +2 -2
  185. package/build/components/colors/utils.cjs +2 -4
  186. package/build/components/colors/utils.cjs.map +3 -3
  187. package/build/components/colors/with-colors.cjs +57 -75
  188. package/build/components/colors/with-colors.cjs.map +3 -3
  189. package/build/components/colors-gradients/control.cjs.map +2 -2
  190. package/build/components/colors-gradients/dropdown.cjs.map +2 -2
  191. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +5 -5
  192. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +2 -2
  193. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.cjs.map +2 -2
  194. package/build/components/contrast-checker/index.cjs.map +2 -2
  195. package/build/components/convert-to-group-buttons/index.cjs +2 -5
  196. package/build/components/convert-to-group-buttons/index.cjs.map +2 -2
  197. package/build/components/convert-to-group-buttons/toolbar.cjs +2 -4
  198. package/build/components/convert-to-group-buttons/toolbar.cjs.map +2 -2
  199. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.cjs.map +2 -2
  200. package/build/components/copy-handler/index.cjs.map +2 -2
  201. package/build/components/date-format-picker/index.cjs.map +2 -2
  202. package/build/components/default-block-appender/index.cjs.map +2 -2
  203. package/build/components/dimension-control/index.cjs.map +2 -2
  204. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +4 -2
  205. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  206. package/build/components/dimensions-tool/index.cjs +18 -16
  207. package/build/components/dimensions-tool/index.cjs.map +2 -2
  208. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  209. package/build/components/dimensions-tool/utils.cjs +61 -0
  210. package/build/components/dimensions-tool/utils.cjs.map +7 -0
  211. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  212. package/build/components/duotone-control/index.cjs +2 -0
  213. package/build/components/duotone-control/index.cjs.map +2 -2
  214. package/build/components/editable-text/index.cjs.map +2 -2
  215. package/build/components/editor-styles/index.cjs.map +2 -2
  216. package/build/components/fit-text-size-warning/index.cjs.map +2 -2
  217. package/build/components/font-appearance-control/index.cjs.map +2 -2
  218. package/build/components/font-family/index.cjs.map +2 -2
  219. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  220. package/build/components/font-sizes/utils.cjs +2 -4
  221. package/build/components/font-sizes/utils.cjs.map +3 -3
  222. package/build/components/font-sizes/with-font-sizes.cjs.map +2 -2
  223. package/build/components/global-styles/advanced-panel.cjs.map +3 -3
  224. package/build/components/global-styles/background-panel.cjs.map +2 -2
  225. package/build/components/global-styles/border-panel.cjs +2 -5
  226. package/build/components/global-styles/border-panel.cjs.map +2 -2
  227. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +2 -2
  228. package/build/components/global-styles/color-panel.cjs +14 -2
  229. package/build/components/global-styles/color-panel.cjs.map +2 -2
  230. package/build/components/global-styles/dimensions-panel.cjs +9 -5
  231. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  232. package/build/components/global-styles/filters-panel.cjs +12 -8
  233. package/build/components/global-styles/filters-panel.cjs.map +2 -2
  234. package/build/components/global-styles/hooks.cjs.map +2 -2
  235. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  236. package/build/components/global-styles/inheritance/index.cjs.map +2 -2
  237. package/build/components/global-styles/inherited-value-context.cjs.map +2 -2
  238. package/build/components/global-styles/shadow-panel-components.cjs +16 -11
  239. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  240. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  241. package/build/components/global-styles/state-control.cjs.map +2 -2
  242. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  243. package/build/components/global-styles/typography-utils.cjs.map +2 -2
  244. package/build/components/global-styles/utils.cjs +9 -0
  245. package/build/components/global-styles/utils.cjs.map +2 -2
  246. package/build/components/gradients/use-gradient.cjs.map +2 -2
  247. package/build/components/grid/grid-item-movers.cjs.map +2 -2
  248. package/build/components/grid/grid-item-resizer.cjs.map +2 -2
  249. package/build/components/grid/grid-visualizer.cjs.map +2 -2
  250. package/build/components/grid/use-get-number-of-blocks-before-cell.cjs.map +2 -2
  251. package/build/components/grid/use-grid-layout-sync.cjs.map +2 -2
  252. package/build/components/height-control/index.cjs.map +2 -2
  253. package/build/components/html-element-control/index.cjs.map +2 -2
  254. package/build/components/html-element-control/messages.cjs.map +2 -2
  255. package/build/components/iframe/index.cjs +19 -24
  256. package/build/components/iframe/index.cjs.map +2 -2
  257. package/build/components/iframe/use-scale-canvas.cjs +20 -6
  258. package/build/components/iframe/use-scale-canvas.cjs.map +2 -2
  259. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +2 -2
  260. package/build/components/image-editor/context.cjs.map +2 -2
  261. package/build/components/image-editor/cropper.cjs.map +2 -2
  262. package/build/components/image-editor/form-controls.cjs.map +2 -2
  263. package/build/components/image-editor/index.cjs.map +2 -2
  264. package/build/components/image-editor/rotation-button.cjs.map +2 -2
  265. package/build/components/image-editor/use-save-image.cjs.map +2 -2
  266. package/build/components/image-editor/use-transform-image.cjs.map +2 -2
  267. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  268. package/build/components/image-size-control/index.cjs.map +2 -2
  269. package/build/components/image-size-control/use-dimension-handler.cjs.map +2 -2
  270. package/build/components/inner-blocks/button-block-appender.cjs.map +2 -2
  271. package/build/components/inner-blocks/default-block-appender.cjs.map +2 -2
  272. package/build/components/inner-blocks/index.cjs +5 -3
  273. package/build/components/inner-blocks/index.cjs.map +2 -2
  274. package/build/components/inner-blocks/use-block-context.cjs.map +2 -2
  275. package/build/components/inner-blocks/use-inner-block-template-sync.cjs +34 -7
  276. package/build/components/inner-blocks/use-inner-block-template-sync.cjs.map +3 -3
  277. package/build/components/inner-blocks/use-nested-settings-update.cjs.map +2 -2
  278. package/build/components/inner-content/index.cjs.map +2 -2
  279. package/build/components/inserter/block-patterns-explorer/index.cjs +39 -22
  280. package/build/components/inserter/block-patterns-explorer/index.cjs.map +2 -2
  281. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +21 -55
  282. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +2 -2
  283. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +19 -44
  284. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +3 -3
  285. package/build/components/inserter/block-patterns-tab/index.cjs.map +2 -2
  286. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +2 -2
  287. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +2 -2
  288. package/build/components/inserter/block-patterns-tab/use-pattern-categories.cjs.map +2 -2
  289. package/build/components/inserter/block-patterns-tab/utils.cjs.map +2 -2
  290. package/build/components/inserter/block-types-tab.cjs.map +2 -2
  291. package/build/components/inserter/category-tabs/index.cjs.map +2 -2
  292. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  293. package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
  294. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  295. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +2 -2
  296. package/build/components/inserter/hooks/use-patterns-state.cjs.map +2 -2
  297. package/build/components/inserter/index.cjs +4 -13
  298. package/build/components/inserter/index.cjs.map +2 -2
  299. package/build/components/inserter/library.cjs.map +2 -2
  300. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  301. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  302. package/build/components/inserter/media-tab/media-panel.cjs.map +2 -2
  303. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  304. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  305. package/build/components/inserter/media-tab/utils.cjs.map +2 -2
  306. package/build/components/inserter/menu.cjs +18 -7
  307. package/build/components/inserter/menu.cjs.map +2 -2
  308. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  309. package/build/components/inserter/no-results.cjs.map +2 -2
  310. package/build/components/inserter/panel.cjs.map +2 -2
  311. package/build/components/inserter/preview-panel.cjs.map +2 -2
  312. package/build/components/inserter/quick-inserter.cjs +30 -27
  313. package/build/components/inserter/quick-inserter.cjs.map +2 -2
  314. package/build/components/inserter/search-items.cjs.map +2 -2
  315. package/build/components/inserter/search-results.cjs.map +2 -2
  316. package/build/components/inserter/tips.cjs.map +2 -2
  317. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  318. package/build/components/inserter-list-item/index.cjs.map +2 -2
  319. package/build/components/inserter-listbox/context.cjs.map +2 -2
  320. package/build/components/inserter-listbox/group.cjs.map +2 -2
  321. package/build/components/inserter-listbox/index.cjs.map +2 -2
  322. package/build/components/inserter-listbox/item.cjs.map +2 -2
  323. package/build/components/inserter-listbox/row.cjs.map +2 -2
  324. package/build/components/inserter-menu-extension/index.cjs.map +2 -2
  325. package/build/components/inspector-controls/block-support-slot-container.cjs.map +2 -2
  326. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +2 -2
  327. package/build/components/inspector-controls/fill.cjs +15 -17
  328. package/build/components/inspector-controls/fill.cjs.map +2 -2
  329. package/build/components/inspector-controls/groups.cjs.map +2 -2
  330. package/build/components/inspector-controls/index.cjs.map +2 -2
  331. package/build/components/inspector-controls/last-item.cjs.map +2 -2
  332. package/build/components/inspector-controls/list-view-content-popover.cjs.map +2 -2
  333. package/build/components/inspector-controls/slot.cjs.map +2 -2
  334. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +2 -2
  335. package/build/components/inspector-controls-tabs/content-tab.cjs.map +2 -2
  336. package/build/components/inspector-controls-tabs/index.cjs.map +2 -2
  337. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +2 -2
  338. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +2 -2
  339. package/build/components/inspector-controls-tabs/styles-tab.cjs +1 -1
  340. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  341. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
  342. package/build/components/inspector-controls-tabs/utils.cjs.map +2 -2
  343. package/build/components/inspector-popover-header/index.cjs.map +2 -2
  344. package/build/components/justify-content-control/index.cjs.map +2 -2
  345. package/build/components/justify-content-control/ui.cjs.map +2 -2
  346. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  347. package/build/components/letter-spacing-control/index.cjs.map +2 -2
  348. package/build/components/line-height-control/index.cjs.map +2 -2
  349. package/build/components/link-control/constants.cjs.map +2 -2
  350. package/build/components/link-control/index.cjs.map +2 -2
  351. package/build/components/link-control/is-url-like.cjs.map +2 -2
  352. package/build/components/link-control/link-preview.cjs.map +2 -2
  353. package/build/components/link-control/normalize-url.cjs.map +2 -2
  354. package/build/components/link-control/search-create-button.cjs.map +2 -2
  355. package/build/components/link-control/search-input.cjs.map +2 -2
  356. package/build/components/link-control/search-item.cjs.map +2 -2
  357. package/build/components/link-control/search-results.cjs +1 -1
  358. package/build/components/link-control/search-results.cjs.map +2 -2
  359. package/build/components/link-control/settings-drawer.cjs.map +2 -2
  360. package/build/components/link-control/settings.cjs.map +2 -2
  361. package/build/components/link-control/use-create-page.cjs.map +2 -2
  362. package/build/components/link-control/use-internal-value.cjs.map +2 -2
  363. package/build/components/link-control/use-rich-url-data.cjs +1 -1
  364. package/build/components/link-control/use-rich-url-data.cjs.map +2 -2
  365. package/build/components/link-control/use-search-handler.cjs.map +2 -2
  366. package/build/components/link-control/viewer-slot.cjs.map +2 -2
  367. package/build/components/link-picker/link-picker.cjs.map +2 -2
  368. package/build/components/link-picker/link-preview.cjs.map +2 -2
  369. package/build/components/list-view/appender.cjs +6 -3
  370. package/build/components/list-view/appender.cjs.map +2 -2
  371. package/build/components/list-view/aria-referenced-text.cjs +2 -9
  372. package/build/components/list-view/aria-referenced-text.cjs.map +2 -2
  373. package/build/components/list-view/block-contents.cjs +17 -20
  374. package/build/components/list-view/block-contents.cjs.map +2 -2
  375. package/build/components/list-view/block-select-button.cjs +40 -19
  376. package/build/components/list-view/block-select-button.cjs.map +3 -3
  377. package/build/components/list-view/block.cjs +38 -41
  378. package/build/components/list-view/block.cjs.map +3 -3
  379. package/build/components/list-view/branch.cjs +93 -77
  380. package/build/components/list-view/branch.cjs.map +3 -3
  381. package/build/components/list-view/context.cjs +16 -2
  382. package/build/components/list-view/context.cjs.map +2 -2
  383. package/build/components/list-view/drop-indicator.cjs +4 -3
  384. package/build/components/list-view/drop-indicator.cjs.map +3 -3
  385. package/build/components/list-view/expander.cjs.map +2 -2
  386. package/build/components/list-view/index.cjs +114 -101
  387. package/build/components/list-view/index.cjs.map +3 -3
  388. package/build/components/list-view/leaf.cjs.map +2 -2
  389. package/build/components/list-view/use-block-selection.cjs.map +2 -2
  390. package/build/components/list-view/use-clipboard-handler.cjs.map +2 -2
  391. package/build/components/list-view/use-list-view-block-indexes.cjs.map +2 -2
  392. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  393. package/build/components/list-view/use-list-view-collapse-items.cjs +3 -4
  394. package/build/components/list-view/use-list-view-collapse-items.cjs.map +2 -2
  395. package/build/components/list-view/use-list-view-drop-zone.cjs +7 -13
  396. package/build/components/list-view/use-list-view-drop-zone.cjs.map +2 -2
  397. package/build/components/list-view/use-list-view-expand-selected-item.cjs +3 -3
  398. package/build/components/list-view/use-list-view-expand-selected-item.cjs.map +2 -2
  399. package/build/components/list-view/use-list-view-images.cjs +4 -3
  400. package/build/components/list-view/use-list-view-images.cjs.map +2 -2
  401. package/build/components/list-view/use-list-view-scroll-into-view.cjs.map +2 -2
  402. package/build/components/list-view/utils.cjs +19 -4
  403. package/build/components/list-view/utils.cjs.map +2 -2
  404. package/build/components/media-placeholder/index.cjs +1 -1
  405. package/build/components/media-placeholder/index.cjs.map +3 -3
  406. package/build/components/media-replace-flow/index.cjs.map +2 -2
  407. package/build/components/media-upload/check.cjs.map +2 -2
  408. package/build/components/media-upload/index.cjs.map +2 -2
  409. package/build/components/multi-selection-inspector/index.cjs +33 -12
  410. package/build/components/multi-selection-inspector/index.cjs.map +3 -3
  411. package/build/components/navigable-toolbar/index.cjs +29 -18
  412. package/build/components/navigable-toolbar/index.cjs.map +2 -2
  413. package/build/components/observe-typing/index.cjs.map +2 -2
  414. package/build/components/panel-color-settings/index.cjs.map +2 -2
  415. package/build/components/plain-text/index.cjs.map +2 -2
  416. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  417. package/build/components/preset-input-control/index.cjs.map +2 -2
  418. package/build/components/preview-options/index.cjs.map +2 -2
  419. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  420. package/build/components/provider/index.cjs +5 -1
  421. package/build/components/provider/index.cjs.map +3 -3
  422. package/build/components/provider/selection-context.cjs.map +2 -2
  423. package/build/components/provider/use-block-sync.cjs.map +2 -2
  424. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  425. package/build/components/provider/with-registry-provider.cjs.map +2 -2
  426. package/build/components/publish-date-time-picker/index.cjs +3 -2
  427. package/build/components/publish-date-time-picker/index.cjs.map +2 -2
  428. package/build/components/recursion-provider/index.cjs.map +2 -2
  429. package/build/components/resizable-box-popover/index.cjs.map +2 -2
  430. package/build/components/resolution-tool/index.cjs.map +2 -2
  431. package/build/components/responsive-block-control/index.cjs.map +2 -2
  432. package/build/components/responsive-block-control/label.cjs.map +2 -2
  433. package/build/components/rich-text/content.cjs.map +2 -2
  434. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +2 -2
  435. package/build/components/rich-text/event-listeners/delete.cjs.map +2 -2
  436. package/build/components/rich-text/event-listeners/enter.cjs +46 -39
  437. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  438. package/build/components/rich-text/event-listeners/firefox-compat.cjs.map +2 -2
  439. package/build/components/rich-text/event-listeners/index.cjs.map +2 -2
  440. package/build/components/rich-text/event-listeners/input-events.cjs.map +2 -2
  441. package/build/components/rich-text/event-listeners/input-rules.cjs +13 -10
  442. package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
  443. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +2 -2
  444. package/build/components/rich-text/event-listeners/paste-handler.cjs +8 -1
  445. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +2 -2
  446. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +2 -2
  447. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +2 -2
  448. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +2 -2
  449. package/build/components/rich-text/format-edit.cjs.map +2 -2
  450. package/build/components/rich-text/format-toolbar/index.cjs.map +2 -2
  451. package/build/components/rich-text/format-toolbar-container.cjs.map +2 -2
  452. package/build/components/rich-text/get-rich-text-values.cjs.map +2 -2
  453. package/build/components/rich-text/index.cjs +7 -5
  454. package/build/components/rich-text/index.cjs.map +2 -2
  455. package/build/components/rich-text/multiline.cjs +105 -70
  456. package/build/components/rich-text/multiline.cjs.map +3 -3
  457. package/build/components/rich-text/prevent-event-discovery.cjs.map +2 -2
  458. package/build/components/rich-text/toolbar-button.cjs.map +2 -2
  459. package/build/components/rich-text/use-mark-persistent.cjs.map +2 -2
  460. package/build/components/rich-text/utils.cjs.map +2 -2
  461. package/build/components/rich-text/with-deprecations.cjs.map +2 -2
  462. package/build/components/selection-scroll-into-view/index.cjs.map +2 -2
  463. package/build/components/skip-to-selected-block/index.cjs.map +2 -2
  464. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.cjs.map +2 -2
  465. package/build/components/spacing-sizes-control/index.cjs +2 -2
  466. package/build/components/spacing-sizes-control/index.cjs.map +2 -2
  467. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +2 -2
  468. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +2 -2
  469. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +2 -2
  470. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +2 -2
  471. package/build/components/spacing-sizes-control/linked-button.cjs.map +2 -2
  472. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  473. package/build/components/tabbed-sidebar/index.cjs.map +2 -2
  474. package/build/components/text-alignment-control/index.cjs.map +2 -2
  475. package/build/components/text-decoration-control/index.cjs.map +2 -2
  476. package/build/components/text-indent-control/index.cjs.map +2 -2
  477. package/build/components/text-transform-control/index.cjs.map +2 -2
  478. package/build/components/tool-selector/index.cjs.map +2 -2
  479. package/build/components/typewriter/index.cjs.map +2 -2
  480. package/build/components/unit-control/index.cjs.map +2 -2
  481. package/build/components/url-input/button.cjs.map +2 -2
  482. package/build/components/url-input/index.cjs +28 -46
  483. package/build/components/url-input/index.cjs.map +3 -3
  484. package/build/components/url-popover/image-url-input-ui.cjs +2 -2
  485. package/build/components/url-popover/image-url-input-ui.cjs.map +2 -2
  486. package/build/components/url-popover/index.cjs.map +2 -2
  487. package/build/components/url-popover/link-editor.cjs.map +2 -2
  488. package/build/components/url-popover/link-viewer-url.cjs.map +2 -2
  489. package/build/components/url-popover/link-viewer.cjs.map +2 -2
  490. package/build/components/use-block-commands/index.cjs +2 -1
  491. package/build/components/use-block-commands/index.cjs.map +2 -2
  492. package/build/components/use-block-display-information/index.cjs +6 -1
  493. package/build/components/use-block-display-information/index.cjs.map +2 -2
  494. package/build/components/use-block-drop-zone/index.cjs.map +2 -2
  495. package/build/components/use-flash-editable-blocks/index.cjs.map +2 -2
  496. package/build/components/use-list-view-panel-state/index.cjs.map +2 -2
  497. package/build/components/use-moving-animation/index.cjs +2 -2
  498. package/build/components/use-moving-animation/index.cjs.map +2 -2
  499. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  500. package/build/components/use-paste-styles/index.cjs.map +2 -2
  501. package/build/components/use-resize-canvas/index.cjs.map +2 -2
  502. package/build/components/use-settings/index.cjs.map +2 -2
  503. package/build/components/warning/index.cjs.map +2 -2
  504. package/build/components/writing-flow/index.cjs.map +2 -2
  505. package/build/components/writing-flow/use-arrow-nav.cjs +6 -1
  506. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  507. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  508. package/build/components/writing-flow/use-clipboard-handler.cjs +29 -4
  509. package/build/components/writing-flow/use-clipboard-handler.cjs.map +3 -3
  510. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  511. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +2 -2
  512. package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
  513. package/build/components/writing-flow/use-home-end.cjs.map +2 -2
  514. package/build/components/writing-flow/use-input.cjs +65 -13
  515. package/build/components/writing-flow/use-input.cjs.map +3 -3
  516. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  517. package/build/components/writing-flow/use-preview-mode-nav.cjs.map +2 -2
  518. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  519. package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
  520. package/build/components/writing-flow/use-tab-nav.cjs +3 -1
  521. package/build/components/writing-flow/use-tab-nav.cjs.map +2 -2
  522. package/build/components/writing-flow/utils.cjs.map +2 -2
  523. package/build/components/writing-mode-control/index.cjs.map +2 -2
  524. package/build/hooks/align.cjs.map +2 -2
  525. package/build/hooks/allowed-blocks.cjs.map +2 -2
  526. package/build/hooks/anchor.cjs.map +2 -2
  527. package/build/hooks/aria-label.cjs.map +2 -2
  528. package/build/hooks/auto-inspector-controls.cjs.map +2 -2
  529. package/build/hooks/background.cjs +1 -4
  530. package/build/hooks/background.cjs.map +2 -2
  531. package/build/hooks/block-bindings.cjs.map +2 -2
  532. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +2 -2
  533. package/build/hooks/block-fields/index.cjs.map +2 -2
  534. package/build/hooks/block-fields/link/index.cjs.map +2 -2
  535. package/build/hooks/block-fields/media/index.cjs.map +2 -2
  536. package/build/hooks/block-fields/rich-text/index.cjs.map +2 -2
  537. package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +2 -2
  538. package/build/hooks/block-hooks.cjs.map +2 -2
  539. package/build/hooks/block-renaming.cjs.map +2 -2
  540. package/build/hooks/block-style-state.cjs.map +2 -2
  541. package/build/hooks/block-style-variation.cjs.map +2 -2
  542. package/build/hooks/border.cjs +25 -3
  543. package/build/hooks/border.cjs.map +2 -2
  544. package/build/hooks/color.cjs.map +2 -2
  545. package/build/hooks/compat.cjs.map +2 -2
  546. package/build/hooks/contrast-checker.cjs.map +2 -2
  547. package/build/hooks/custom-class-name.cjs.map +2 -2
  548. package/build/hooks/dimensions.cjs +9 -2
  549. package/build/hooks/dimensions.cjs.map +2 -2
  550. package/build/hooks/duotone.cjs +4 -3
  551. package/build/hooks/duotone.cjs.map +2 -2
  552. package/build/hooks/elements.cjs.map +2 -2
  553. package/build/hooks/fit-text.cjs.map +2 -2
  554. package/build/hooks/font-family.cjs +2 -4
  555. package/build/hooks/font-family.cjs.map +3 -3
  556. package/build/hooks/font-size.cjs.map +2 -2
  557. package/build/hooks/gap.cjs +8 -2
  558. package/build/hooks/gap.cjs.map +2 -2
  559. package/build/hooks/generated-class-name.cjs.map +2 -2
  560. package/build/hooks/grid-visualizer.cjs.map +2 -2
  561. package/build/hooks/index.cjs.map +2 -2
  562. package/build/hooks/layout-child.cjs +35 -13
  563. package/build/hooks/layout-child.cjs.map +2 -2
  564. package/build/hooks/layout.cjs +27 -5
  565. package/build/hooks/layout.cjs.map +3 -3
  566. package/build/hooks/line-height.cjs.map +2 -2
  567. package/build/hooks/list-view.cjs.map +2 -2
  568. package/build/hooks/lock.cjs.map +2 -2
  569. package/build/hooks/metadata.cjs.map +2 -2
  570. package/build/hooks/position.cjs.map +2 -2
  571. package/build/hooks/settings.cjs.map +2 -2
  572. package/build/hooks/spacing-visualizer.cjs.map +2 -2
  573. package/build/hooks/state-utils.cjs.map +2 -2
  574. package/build/hooks/states.cjs +7 -4
  575. package/build/hooks/states.cjs.map +2 -2
  576. package/build/hooks/style.cjs.map +2 -2
  577. package/build/hooks/supports.cjs.map +2 -2
  578. package/build/hooks/text-align.cjs.map +2 -2
  579. package/build/hooks/typography.cjs.map +2 -2
  580. package/build/hooks/use-border-props.cjs.map +2 -2
  581. package/build/hooks/use-cached-truthy.cjs.map +2 -2
  582. package/build/hooks/use-color-props.cjs.map +2 -2
  583. package/build/hooks/use-content-only-section-edit.cjs.map +2 -2
  584. package/build/hooks/use-dimensions-props.cjs.map +2 -2
  585. package/build/hooks/use-shadow-props.cjs.map +2 -2
  586. package/build/hooks/use-spacing-props.cjs.map +2 -2
  587. package/build/hooks/use-typography-props.cjs +2 -4
  588. package/build/hooks/use-typography-props.cjs.map +3 -3
  589. package/build/hooks/use-zoom-out.cjs.map +2 -2
  590. package/build/hooks/utils.cjs.map +2 -2
  591. package/build/index.cjs.map +2 -2
  592. package/build/layouts/constrained.cjs +8 -1
  593. package/build/layouts/constrained.cjs.map +2 -2
  594. package/build/layouts/flex.cjs +9 -0
  595. package/build/layouts/flex.cjs.map +2 -2
  596. package/build/layouts/flow.cjs +4 -1
  597. package/build/layouts/flow.cjs.map +2 -2
  598. package/build/layouts/grid.cjs +5 -1
  599. package/build/layouts/grid.cjs.map +2 -2
  600. package/build/layouts/index.cjs.map +2 -2
  601. package/build/layouts/utils.cjs.map +2 -2
  602. package/build/lock-unlock.cjs.map +2 -2
  603. package/build/private-apis.cjs +3 -1
  604. package/build/private-apis.cjs.map +2 -2
  605. package/build/store/actions.cjs +105 -37
  606. package/build/store/actions.cjs.map +3 -3
  607. package/build/store/defaults.cjs +2 -0
  608. package/build/store/defaults.cjs.map +2 -2
  609. package/build/store/get-block-settings.cjs.map +2 -2
  610. package/build/store/index.cjs.map +2 -2
  611. package/build/store/private-actions.cjs +19 -2
  612. package/build/store/private-actions.cjs.map +2 -2
  613. package/build/store/private-selectors.cjs +28 -10
  614. package/build/store/private-selectors.cjs.map +2 -2
  615. package/build/store/reducer.cjs +3 -1
  616. package/build/store/reducer.cjs.map +2 -2
  617. package/build/store/selectors.cjs +21 -8
  618. package/build/store/selectors.cjs.map +2 -2
  619. package/build/store/utils.cjs.map +2 -2
  620. package/build/utils/fit-text-frontend.cjs.map +2 -2
  621. package/build/utils/format-font-style.cjs.map +2 -2
  622. package/build/utils/format-font-weight.cjs.map +2 -2
  623. package/build/utils/get-font-styles-and-weights.cjs.map +2 -2
  624. package/build/utils/group-blocks.cjs +42 -0
  625. package/build/utils/group-blocks.cjs.map +7 -0
  626. package/build/utils/native-undo.cjs.map +2 -2
  627. package/build/utils/pasting.cjs.map +2 -2
  628. package/build/utils/selection.cjs.map +2 -2
  629. package/build/{components/gradients/with-gradient.cjs → utils/sibling-block-attributes.cjs} +22 -13
  630. package/build/utils/sibling-block-attributes.cjs.map +7 -0
  631. package/build/utils/transform-styles/index.cjs.map +2 -2
  632. package/build/utils/use-notify-copy.cjs.map +2 -2
  633. package/build-module/autocompleters/block.mjs.map +2 -2
  634. package/build-module/components/alignment-control/index.mjs.map +2 -2
  635. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  636. package/build-module/components/autocomplete/index.mjs.map +2 -2
  637. package/build-module/components/background-image-control/index.mjs.map +2 -2
  638. package/build-module/components/block-actions/index.mjs +3 -6
  639. package/build-module/components/block-actions/index.mjs.map +2 -2
  640. package/build-module/components/block-alignment-control/constants.mjs.map +2 -2
  641. package/build-module/components/block-alignment-control/index.mjs.map +2 -2
  642. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  643. package/build-module/components/block-alignment-control/use-available-alignments.mjs.map +2 -2
  644. package/build-module/components/block-alignment-matrix-control/index.mjs.map +2 -2
  645. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +2 -2
  646. package/build-module/components/block-allowed-blocks/modal.mjs.map +2 -2
  647. package/build-module/components/block-bindings/attribute-control.mjs.map +2 -2
  648. package/build-module/components/block-bindings/index.mjs.map +2 -2
  649. package/build-module/components/block-bindings/source-fields-list.mjs.map +2 -2
  650. package/build-module/components/block-bindings/use-block-bindings-utils.mjs.map +2 -2
  651. package/build-module/components/block-breadcrumb/index.mjs.map +2 -2
  652. package/build-module/components/block-canvas/index.mjs.map +2 -2
  653. package/build-module/components/block-card/index.mjs.map +2 -2
  654. package/build-module/components/block-compare/block-view.mjs.map +2 -2
  655. package/build-module/components/block-compare/index.mjs.map +2 -2
  656. package/build-module/components/block-content-overlay/index.mjs.map +2 -2
  657. package/build-module/components/block-context/index.mjs.map +2 -2
  658. package/build-module/components/block-controls/fill.mjs.map +2 -2
  659. package/build-module/components/block-controls/groups.mjs.map +2 -2
  660. package/build-module/components/block-controls/hook.mjs.map +2 -2
  661. package/build-module/components/block-controls/index.mjs.map +2 -2
  662. package/build-module/components/block-controls/slot.mjs.map +2 -2
  663. package/build-module/components/block-draggable/draggable-chip.mjs.map +2 -2
  664. package/build-module/components/block-draggable/index.mjs.map +2 -2
  665. package/build-module/components/block-draggable/use-scroll-when-dragging.mjs.map +2 -2
  666. package/build-module/components/block-edit/context.mjs.map +2 -2
  667. package/build-module/components/block-edit/edit.mjs.map +2 -2
  668. package/build-module/components/block-edit/index.mjs.map +2 -2
  669. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +2 -2
  670. package/build-module/components/block-edit-visually-button/index.mjs.map +2 -2
  671. package/build-module/components/block-editing-mode/index.mjs.map +2 -2
  672. package/build-module/components/block-full-height-alignment-control/index.mjs.map +2 -2
  673. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +2 -2
  674. package/build-module/components/block-heading-level-dropdown/index.mjs.map +2 -2
  675. package/build-module/components/block-icon/index.mjs.map +2 -2
  676. package/build-module/components/block-inspector/edit-contents.mjs +49 -41
  677. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  678. package/build-module/components/block-inspector/index.mjs +18 -10
  679. package/build-module/components/block-inspector/index.mjs.map +2 -2
  680. package/build-module/components/block-inspector/inspector-pre-tabs-slot-fill.mjs.map +2 -2
  681. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.mjs.map +2 -2
  682. package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
  683. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
  684. package/build-module/components/block-list/block-crash-boundary.mjs.map +2 -2
  685. package/build-module/components/block-list/block-crash-warning.mjs.map +2 -2
  686. package/build-module/components/block-list/block-html.mjs.map +2 -2
  687. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  688. package/build-module/components/block-list/block.mjs +46 -13
  689. package/build-module/components/block-list/block.mjs.map +3 -3
  690. package/build-module/components/block-list/index.mjs +40 -11
  691. package/build-module/components/block-list/index.mjs.map +2 -2
  692. package/build-module/components/block-list/layout.mjs.map +2 -2
  693. package/build-module/components/block-list/private-block-context.mjs.map +2 -2
  694. package/build-module/components/block-list/subdirectory-icon.mjs.map +2 -2
  695. package/build-module/components/block-list/use-block-props/index.mjs +36 -2
  696. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  697. package/build-module/components/block-list/use-block-props/use-block-refs.mjs.map +2 -2
  698. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.mjs.map +2 -2
  699. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
  700. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  701. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  702. package/build-module/components/block-list/use-block-props/use-intersection-observer.mjs.map +2 -2
  703. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  704. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +2 -2
  705. package/build-module/components/block-list/use-block-props/use-scroll-into-view.mjs.map +2 -2
  706. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
  707. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  708. package/build-module/components/block-list/use-in-between-inserter.mjs.map +2 -2
  709. package/build-module/components/block-list/zoom-out-separator.mjs.map +2 -2
  710. package/build-module/components/block-list-appender/index.mjs.map +2 -2
  711. package/build-module/components/block-lock/menu-item.mjs.map +2 -2
  712. package/build-module/components/block-lock/modal.mjs.map +2 -2
  713. package/build-module/components/block-lock/toolbar.mjs.map +2 -2
  714. package/build-module/components/block-lock/use-block-lock.mjs.map +2 -2
  715. package/build-module/components/block-manager/category.mjs.map +2 -2
  716. package/build-module/components/block-manager/checklist.mjs.map +2 -2
  717. package/build-module/components/block-manager/index.mjs.map +2 -2
  718. package/build-module/components/block-mover/button.mjs +17 -11
  719. package/build-module/components/block-mover/button.mjs.map +2 -2
  720. package/build-module/components/block-mover/index.mjs.map +2 -2
  721. package/build-module/components/block-mover/mover-description.mjs.map +2 -2
  722. package/build-module/components/block-navigation/dropdown.mjs.map +2 -2
  723. package/build-module/components/block-parent-selector/index.mjs +101 -32
  724. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  725. package/build-module/components/block-pattern-setup/index.mjs.map +2 -2
  726. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +2 -2
  727. package/build-module/components/block-pattern-setup/use-patterns-setup.mjs.map +2 -2
  728. package/build-module/components/block-patterns-list/index.mjs.map +2 -2
  729. package/build-module/components/block-patterns-paging/index.mjs.map +2 -2
  730. package/build-module/components/block-popover/cover.mjs.map +2 -2
  731. package/build-module/components/block-popover/drop-zone.mjs.map +2 -2
  732. package/build-module/components/block-popover/inbetween.mjs +2 -2
  733. package/build-module/components/block-popover/inbetween.mjs.map +2 -2
  734. package/build-module/components/block-popover/index.mjs.map +2 -2
  735. package/build-module/components/block-popover/use-popover-scroll.mjs.map +2 -2
  736. package/build-module/components/block-preview/async.mjs.map +2 -2
  737. package/build-module/components/block-preview/auto.mjs.map +2 -2
  738. package/build-module/components/block-preview/index.mjs +0 -4
  739. package/build-module/components/block-preview/index.mjs.map +2 -2
  740. package/build-module/components/block-quick-navigation/index.mjs.map +2 -2
  741. package/build-module/components/block-removal-warning-modal/index.mjs.map +2 -2
  742. package/build-module/components/block-rename/modal.mjs.map +2 -2
  743. package/build-module/components/block-rename/rename-control.mjs.map +2 -2
  744. package/build-module/components/block-rename/use-block-rename.mjs.map +2 -2
  745. package/build-module/components/block-selection-clearer/index.mjs.map +2 -2
  746. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +2 -2
  747. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +2 -2
  748. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +2 -2
  749. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  750. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +2 -2
  751. package/build-module/components/block-settings-menu/block-settings-menu-first-item.mjs.map +2 -2
  752. package/build-module/components/block-settings-menu/index.mjs.map +2 -2
  753. package/build-module/components/block-settings-menu-controls/index.mjs.map +2 -2
  754. package/build-module/components/block-styles/index.mjs +79 -35
  755. package/build-module/components/block-styles/index.mjs.map +2 -2
  756. package/build-module/components/block-styles/menu-items.mjs.map +2 -2
  757. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  758. package/build-module/components/block-styles/utils.mjs.map +2 -2
  759. package/build-module/components/block-switcher/block-styles-menu.mjs.map +2 -2
  760. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +2 -2
  761. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +2 -2
  762. package/build-module/components/block-switcher/index.mjs.map +2 -2
  763. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +2 -2
  764. package/build-module/components/block-switcher/preview-block-popover.mjs.map +2 -2
  765. package/build-module/components/block-switcher/use-transformed-patterns.mjs.map +2 -2
  766. package/build-module/components/block-switcher/utils.mjs.map +2 -2
  767. package/build-module/components/block-title/index.mjs.map +2 -2
  768. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  769. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +2 -2
  770. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  771. package/build-module/components/block-toolbar/block-toolbar-last-item.mjs.map +2 -2
  772. package/build-module/components/block-toolbar/change-design.mjs.map +2 -2
  773. package/build-module/components/block-toolbar/edit-section-button.mjs.map +2 -2
  774. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  775. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +2 -2
  776. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  777. package/build-module/components/block-toolbar/use-has-block-toolbar.mjs.map +2 -2
  778. package/build-module/components/block-toolbar/utils.mjs.map +2 -2
  779. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +2 -2
  780. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  781. package/build-module/components/block-tools/index.mjs +3 -9
  782. package/build-module/components/block-tools/index.mjs.map +2 -2
  783. package/build-module/components/block-tools/insertion-point.mjs.map +2 -2
  784. package/build-module/components/block-tools/use-block-toolbar-popover-props.mjs.map +2 -2
  785. package/build-module/components/block-tools/use-selected-block-tool-props.mjs.map +2 -2
  786. package/build-module/components/block-tools/use-show-block-tools.mjs.map +2 -2
  787. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +2 -2
  788. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +2 -2
  789. package/build-module/components/block-types-list/index.mjs.map +2 -2
  790. package/build-module/components/block-variation-picker/index.mjs.map +2 -2
  791. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  792. package/build-module/components/block-vertical-alignment-control/index.mjs.map +2 -2
  793. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  794. package/build-module/components/block-visibility/constants.mjs +1 -1
  795. package/build-module/components/block-visibility/constants.mjs.map +3 -3
  796. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  797. package/build-module/components/block-visibility/use-block-visibility.mjs +15 -17
  798. package/build-module/components/block-visibility/use-block-visibility.mjs.map +3 -3
  799. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  800. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  801. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  802. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  803. package/build-module/components/border-radius-control/constants.mjs.map +2 -2
  804. package/build-module/components/border-radius-control/index.mjs.map +2 -2
  805. package/build-module/components/border-radius-control/linked-button.mjs.map +2 -2
  806. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  807. package/build-module/components/button-block-appender/index.mjs.map +2 -2
  808. package/build-module/components/child-layout-control/index.mjs +5 -5
  809. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  810. package/build-module/components/collab/note-icon-slot.mjs.map +2 -2
  811. package/build-module/components/collab/note-icon-toolbar-slot.mjs.map +2 -2
  812. package/build-module/components/color-palette/control.mjs.map +2 -2
  813. package/build-module/components/color-palette/index.mjs.map +2 -2
  814. package/build-module/components/color-palette/with-color-context.mjs.map +2 -2
  815. package/build-module/components/color-style-selector/index.mjs.map +2 -2
  816. package/build-module/components/colors/utils.mjs +1 -3
  817. package/build-module/components/colors/utils.mjs.map +2 -2
  818. package/build-module/components/colors/with-colors.mjs +57 -75
  819. package/build-module/components/colors/with-colors.mjs.map +2 -2
  820. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  821. package/build-module/components/colors-gradients/dropdown.mjs.map +2 -2
  822. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +5 -5
  823. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +2 -2
  824. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.mjs.map +2 -2
  825. package/build-module/components/contrast-checker/index.mjs.map +2 -2
  826. package/build-module/components/convert-to-group-buttons/index.mjs +2 -5
  827. package/build-module/components/convert-to-group-buttons/index.mjs.map +2 -2
  828. package/build-module/components/convert-to-group-buttons/toolbar.mjs +3 -5
  829. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +2 -2
  830. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.mjs.map +2 -2
  831. package/build-module/components/copy-handler/index.mjs.map +2 -2
  832. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  833. package/build-module/components/default-block-appender/index.mjs.map +2 -2
  834. package/build-module/components/dimension-control/index.mjs.map +2 -2
  835. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +4 -2
  836. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  837. package/build-module/components/dimensions-tool/index.mjs +19 -17
  838. package/build-module/components/dimensions-tool/index.mjs.map +2 -2
  839. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  840. package/build-module/components/dimensions-tool/utils.mjs +35 -0
  841. package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
  842. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  843. package/build-module/components/duotone-control/index.mjs +2 -0
  844. package/build-module/components/duotone-control/index.mjs.map +2 -2
  845. package/build-module/components/editable-text/index.mjs.map +2 -2
  846. package/build-module/components/editor-styles/index.mjs.map +2 -2
  847. package/build-module/components/fit-text-size-warning/index.mjs.map +2 -2
  848. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  849. package/build-module/components/font-family/index.mjs.map +2 -2
  850. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  851. package/build-module/components/font-sizes/utils.mjs +1 -3
  852. package/build-module/components/font-sizes/utils.mjs.map +2 -2
  853. package/build-module/components/font-sizes/with-font-sizes.mjs.map +2 -2
  854. package/build-module/components/global-styles/advanced-panel.mjs +5 -2
  855. package/build-module/components/global-styles/advanced-panel.mjs.map +2 -2
  856. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  857. package/build-module/components/global-styles/border-panel.mjs +2 -5
  858. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  859. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  860. package/build-module/components/global-styles/color-panel.mjs +14 -2
  861. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  862. package/build-module/components/global-styles/dimensions-panel.mjs +9 -5
  863. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  864. package/build-module/components/global-styles/filters-panel.mjs +16 -9
  865. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  866. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  867. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  868. package/build-module/components/global-styles/inheritance/index.mjs.map +2 -2
  869. package/build-module/components/global-styles/inherited-value-context.mjs.map +2 -2
  870. package/build-module/components/global-styles/shadow-panel-components.mjs +16 -11
  871. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  872. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  873. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  874. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  875. package/build-module/components/global-styles/typography-utils.mjs.map +2 -2
  876. package/build-module/components/global-styles/utils.mjs +8 -0
  877. package/build-module/components/global-styles/utils.mjs.map +2 -2
  878. package/build-module/components/gradients/use-gradient.mjs.map +2 -2
  879. package/build-module/components/grid/grid-item-movers.mjs.map +2 -2
  880. package/build-module/components/grid/grid-item-resizer.mjs.map +2 -2
  881. package/build-module/components/grid/grid-visualizer.mjs.map +2 -2
  882. package/build-module/components/grid/use-get-number-of-blocks-before-cell.mjs.map +2 -2
  883. package/build-module/components/grid/use-grid-layout-sync.mjs.map +2 -2
  884. package/build-module/components/height-control/index.mjs.map +2 -2
  885. package/build-module/components/html-element-control/index.mjs.map +2 -2
  886. package/build-module/components/html-element-control/messages.mjs.map +2 -2
  887. package/build-module/components/iframe/index.mjs +19 -24
  888. package/build-module/components/iframe/index.mjs.map +2 -2
  889. package/build-module/components/iframe/use-scale-canvas.mjs +21 -7
  890. package/build-module/components/iframe/use-scale-canvas.mjs.map +2 -2
  891. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +2 -2
  892. package/build-module/components/image-editor/context.mjs.map +2 -2
  893. package/build-module/components/image-editor/cropper.mjs.map +2 -2
  894. package/build-module/components/image-editor/form-controls.mjs.map +2 -2
  895. package/build-module/components/image-editor/index.mjs.map +2 -2
  896. package/build-module/components/image-editor/rotation-button.mjs.map +2 -2
  897. package/build-module/components/image-editor/use-save-image.mjs.map +2 -2
  898. package/build-module/components/image-editor/use-transform-image.mjs.map +2 -2
  899. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  900. package/build-module/components/image-size-control/index.mjs.map +2 -2
  901. package/build-module/components/image-size-control/use-dimension-handler.mjs.map +2 -2
  902. package/build-module/components/inner-blocks/button-block-appender.mjs.map +2 -2
  903. package/build-module/components/inner-blocks/default-block-appender.mjs.map +2 -2
  904. package/build-module/components/inner-blocks/index.mjs +5 -3
  905. package/build-module/components/inner-blocks/index.mjs.map +2 -2
  906. package/build-module/components/inner-blocks/use-block-context.mjs.map +2 -2
  907. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs +35 -8
  908. package/build-module/components/inner-blocks/use-inner-block-template-sync.mjs.map +2 -2
  909. package/build-module/components/inner-blocks/use-nested-settings-update.mjs.map +2 -2
  910. package/build-module/components/inner-content/index.mjs.map +2 -2
  911. package/build-module/components/inserter/block-patterns-explorer/index.mjs +39 -22
  912. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +2 -2
  913. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +22 -56
  914. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +2 -2
  915. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +20 -45
  916. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +2 -2
  917. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +2 -2
  918. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +2 -2
  919. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +2 -2
  920. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.mjs.map +2 -2
  921. package/build-module/components/inserter/block-patterns-tab/utils.mjs.map +2 -2
  922. package/build-module/components/inserter/block-types-tab.mjs.map +2 -2
  923. package/build-module/components/inserter/category-tabs/index.mjs.map +2 -2
  924. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  925. package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
  926. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  927. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +2 -2
  928. package/build-module/components/inserter/hooks/use-patterns-state.mjs.map +2 -2
  929. package/build-module/components/inserter/index.mjs +4 -13
  930. package/build-module/components/inserter/index.mjs.map +2 -2
  931. package/build-module/components/inserter/library.mjs.map +2 -2
  932. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  933. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  934. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  935. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  936. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  937. package/build-module/components/inserter/media-tab/utils.mjs.map +2 -2
  938. package/build-module/components/inserter/menu.mjs +19 -8
  939. package/build-module/components/inserter/menu.mjs.map +2 -2
  940. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  941. package/build-module/components/inserter/no-results.mjs.map +2 -2
  942. package/build-module/components/inserter/panel.mjs.map +2 -2
  943. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  944. package/build-module/components/inserter/quick-inserter.mjs +30 -27
  945. package/build-module/components/inserter/quick-inserter.mjs.map +2 -2
  946. package/build-module/components/inserter/search-items.mjs.map +2 -2
  947. package/build-module/components/inserter/search-results.mjs.map +2 -2
  948. package/build-module/components/inserter/tips.mjs.map +2 -2
  949. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  950. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  951. package/build-module/components/inserter-listbox/context.mjs.map +2 -2
  952. package/build-module/components/inserter-listbox/group.mjs.map +2 -2
  953. package/build-module/components/inserter-listbox/index.mjs.map +2 -2
  954. package/build-module/components/inserter-listbox/item.mjs.map +2 -2
  955. package/build-module/components/inserter-listbox/row.mjs.map +2 -2
  956. package/build-module/components/inserter-menu-extension/index.mjs.map +2 -2
  957. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +2 -2
  958. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +2 -2
  959. package/build-module/components/inspector-controls/fill.mjs +15 -17
  960. package/build-module/components/inspector-controls/fill.mjs.map +2 -2
  961. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  962. package/build-module/components/inspector-controls/index.mjs.map +2 -2
  963. package/build-module/components/inspector-controls/last-item.mjs.map +2 -2
  964. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +2 -2
  965. package/build-module/components/inspector-controls/slot.mjs.map +2 -2
  966. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +2 -2
  967. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +2 -2
  968. package/build-module/components/inspector-controls-tabs/index.mjs.map +2 -2
  969. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +2 -2
  970. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +2 -2
  971. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +1 -1
  972. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  973. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
  974. package/build-module/components/inspector-controls-tabs/utils.mjs.map +2 -2
  975. package/build-module/components/inspector-popover-header/index.mjs.map +2 -2
  976. package/build-module/components/justify-content-control/index.mjs.map +2 -2
  977. package/build-module/components/justify-content-control/ui.mjs.map +2 -2
  978. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  979. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  980. package/build-module/components/line-height-control/index.mjs.map +2 -2
  981. package/build-module/components/link-control/constants.mjs.map +2 -2
  982. package/build-module/components/link-control/index.mjs.map +2 -2
  983. package/build-module/components/link-control/is-url-like.mjs.map +2 -2
  984. package/build-module/components/link-control/link-preview.mjs.map +2 -2
  985. package/build-module/components/link-control/normalize-url.mjs.map +2 -2
  986. package/build-module/components/link-control/search-create-button.mjs.map +2 -2
  987. package/build-module/components/link-control/search-input.mjs.map +2 -2
  988. package/build-module/components/link-control/search-item.mjs.map +2 -2
  989. package/build-module/components/link-control/search-results.mjs +1 -1
  990. package/build-module/components/link-control/search-results.mjs.map +2 -2
  991. package/build-module/components/link-control/settings-drawer.mjs.map +2 -2
  992. package/build-module/components/link-control/settings.mjs.map +2 -2
  993. package/build-module/components/link-control/use-create-page.mjs.map +2 -2
  994. package/build-module/components/link-control/use-internal-value.mjs.map +2 -2
  995. package/build-module/components/link-control/use-rich-url-data.mjs +1 -1
  996. package/build-module/components/link-control/use-rich-url-data.mjs.map +2 -2
  997. package/build-module/components/link-control/use-search-handler.mjs.map +2 -2
  998. package/build-module/components/link-control/viewer-slot.mjs.map +2 -2
  999. package/build-module/components/link-picker/link-picker.mjs.map +2 -2
  1000. package/build-module/components/link-picker/link-preview.mjs.map +2 -2
  1001. package/build-module/components/list-view/appender.mjs +7 -4
  1002. package/build-module/components/list-view/appender.mjs.map +2 -2
  1003. package/build-module/components/list-view/aria-referenced-text.mjs +2 -9
  1004. package/build-module/components/list-view/aria-referenced-text.mjs.map +2 -2
  1005. package/build-module/components/list-view/block-contents.mjs +18 -21
  1006. package/build-module/components/list-view/block-contents.mjs.map +2 -2
  1007. package/build-module/components/list-view/block-select-button.mjs +49 -26
  1008. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  1009. package/build-module/components/list-view/block.mjs +40 -47
  1010. package/build-module/components/list-view/block.mjs.map +2 -2
  1011. package/build-module/components/list-view/branch.mjs +100 -80
  1012. package/build-module/components/list-view/branch.mjs.map +2 -2
  1013. package/build-module/components/list-view/context.mjs +11 -1
  1014. package/build-module/components/list-view/context.mjs.map +2 -2
  1015. package/build-module/components/list-view/drop-indicator.mjs +6 -6
  1016. package/build-module/components/list-view/drop-indicator.mjs.map +2 -2
  1017. package/build-module/components/list-view/expander.mjs.map +2 -2
  1018. package/build-module/components/list-view/index.mjs +119 -100
  1019. package/build-module/components/list-view/index.mjs.map +3 -3
  1020. package/build-module/components/list-view/leaf.mjs.map +2 -2
  1021. package/build-module/components/list-view/use-block-selection.mjs.map +2 -2
  1022. package/build-module/components/list-view/use-clipboard-handler.mjs.map +2 -2
  1023. package/build-module/components/list-view/use-list-view-block-indexes.mjs.map +2 -2
  1024. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  1025. package/build-module/components/list-view/use-list-view-collapse-items.mjs +3 -4
  1026. package/build-module/components/list-view/use-list-view-collapse-items.mjs.map +2 -2
  1027. package/build-module/components/list-view/use-list-view-drop-zone.mjs +7 -13
  1028. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +2 -2
  1029. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs +3 -3
  1030. package/build-module/components/list-view/use-list-view-expand-selected-item.mjs.map +2 -2
  1031. package/build-module/components/list-view/use-list-view-images.mjs +4 -3
  1032. package/build-module/components/list-view/use-list-view-images.mjs.map +2 -2
  1033. package/build-module/components/list-view/use-list-view-scroll-into-view.mjs.map +2 -2
  1034. package/build-module/components/list-view/utils.mjs +18 -4
  1035. package/build-module/components/list-view/utils.mjs.map +2 -2
  1036. package/build-module/components/media-placeholder/index.mjs +3 -3
  1037. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  1038. package/build-module/components/media-replace-flow/index.mjs.map +2 -2
  1039. package/build-module/components/media-upload/check.mjs.map +2 -2
  1040. package/build-module/components/media-upload/index.mjs.map +2 -2
  1041. package/build-module/components/multi-selection-inspector/index.mjs +33 -12
  1042. package/build-module/components/multi-selection-inspector/index.mjs.map +2 -2
  1043. package/build-module/components/navigable-toolbar/index.mjs +30 -18
  1044. package/build-module/components/navigable-toolbar/index.mjs.map +2 -2
  1045. package/build-module/components/observe-typing/index.mjs.map +2 -2
  1046. package/build-module/components/panel-color-settings/index.mjs.map +2 -2
  1047. package/build-module/components/plain-text/index.mjs.map +2 -2
  1048. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  1049. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  1050. package/build-module/components/preview-options/index.mjs.map +2 -2
  1051. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  1052. package/build-module/components/provider/index.mjs +6 -2
  1053. package/build-module/components/provider/index.mjs.map +2 -2
  1054. package/build-module/components/provider/selection-context.mjs.map +2 -2
  1055. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  1056. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  1057. package/build-module/components/provider/with-registry-provider.mjs.map +2 -2
  1058. package/build-module/components/publish-date-time-picker/index.mjs +3 -2
  1059. package/build-module/components/publish-date-time-picker/index.mjs.map +2 -2
  1060. package/build-module/components/recursion-provider/index.mjs.map +2 -2
  1061. package/build-module/components/resizable-box-popover/index.mjs.map +2 -2
  1062. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  1063. package/build-module/components/responsive-block-control/index.mjs.map +2 -2
  1064. package/build-module/components/responsive-block-control/label.mjs.map +2 -2
  1065. package/build-module/components/rich-text/content.mjs.map +2 -2
  1066. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  1067. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  1068. package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
  1069. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1070. package/build-module/components/rich-text/event-listeners/firefox-compat.mjs.map +2 -2
  1071. package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
  1072. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  1073. package/build-module/components/rich-text/event-listeners/input-rules.mjs +13 -10
  1074. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1075. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  1076. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -1
  1077. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  1078. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  1079. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  1080. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  1081. package/build-module/components/rich-text/format-edit.mjs.map +2 -2
  1082. package/build-module/components/rich-text/format-toolbar/index.mjs.map +2 -2
  1083. package/build-module/components/rich-text/format-toolbar-container.mjs.map +2 -2
  1084. package/build-module/components/rich-text/get-rich-text-values.mjs.map +2 -2
  1085. package/build-module/components/rich-text/index.mjs +7 -5
  1086. package/build-module/components/rich-text/index.mjs.map +2 -2
  1087. package/build-module/components/rich-text/multiline.mjs +112 -72
  1088. package/build-module/components/rich-text/multiline.mjs.map +2 -2
  1089. package/build-module/components/rich-text/prevent-event-discovery.mjs.map +2 -2
  1090. package/build-module/components/rich-text/toolbar-button.mjs.map +2 -2
  1091. package/build-module/components/rich-text/use-mark-persistent.mjs.map +2 -2
  1092. package/build-module/components/rich-text/utils.mjs.map +2 -2
  1093. package/build-module/components/rich-text/with-deprecations.mjs.map +2 -2
  1094. package/build-module/components/selection-scroll-into-view/index.mjs.map +2 -2
  1095. package/build-module/components/skip-to-selected-block/index.mjs.map +2 -2
  1096. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.mjs.map +2 -2
  1097. package/build-module/components/spacing-sizes-control/index.mjs +2 -2
  1098. package/build-module/components/spacing-sizes-control/index.mjs.map +2 -2
  1099. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +2 -2
  1100. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +2 -2
  1101. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +2 -2
  1102. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +2 -2
  1103. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +2 -2
  1104. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  1105. package/build-module/components/tabbed-sidebar/index.mjs.map +2 -2
  1106. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  1107. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  1108. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  1109. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  1110. package/build-module/components/tool-selector/index.mjs.map +2 -2
  1111. package/build-module/components/typewriter/index.mjs.map +2 -2
  1112. package/build-module/components/unit-control/index.mjs.map +2 -2
  1113. package/build-module/components/url-input/button.mjs.map +2 -2
  1114. package/build-module/components/url-input/index.mjs +30 -48
  1115. package/build-module/components/url-input/index.mjs.map +2 -2
  1116. package/build-module/components/url-popover/image-url-input-ui.mjs +2 -2
  1117. package/build-module/components/url-popover/image-url-input-ui.mjs.map +2 -2
  1118. package/build-module/components/url-popover/index.mjs.map +2 -2
  1119. package/build-module/components/url-popover/link-editor.mjs.map +2 -2
  1120. package/build-module/components/url-popover/link-viewer-url.mjs.map +2 -2
  1121. package/build-module/components/url-popover/link-viewer.mjs.map +2 -2
  1122. package/build-module/components/use-block-commands/index.mjs +2 -1
  1123. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  1124. package/build-module/components/use-block-display-information/index.mjs +2 -1
  1125. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  1126. package/build-module/components/use-block-drop-zone/index.mjs.map +2 -2
  1127. package/build-module/components/use-flash-editable-blocks/index.mjs.map +2 -2
  1128. package/build-module/components/use-list-view-panel-state/index.mjs.map +2 -2
  1129. package/build-module/components/use-moving-animation/index.mjs +2 -2
  1130. package/build-module/components/use-moving-animation/index.mjs.map +2 -2
  1131. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  1132. package/build-module/components/use-paste-styles/index.mjs.map +2 -2
  1133. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  1134. package/build-module/components/use-settings/index.mjs.map +2 -2
  1135. package/build-module/components/warning/index.mjs.map +2 -2
  1136. package/build-module/components/writing-flow/index.mjs.map +2 -2
  1137. package/build-module/components/writing-flow/use-arrow-nav.mjs +11 -2
  1138. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  1139. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  1140. package/build-module/components/writing-flow/use-clipboard-handler.mjs +31 -5
  1141. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  1142. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  1143. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +2 -2
  1144. package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
  1145. package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
  1146. package/build-module/components/writing-flow/use-input.mjs +66 -14
  1147. package/build-module/components/writing-flow/use-input.mjs.map +3 -3
  1148. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  1149. package/build-module/components/writing-flow/use-preview-mode-nav.mjs.map +2 -2
  1150. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  1151. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  1152. package/build-module/components/writing-flow/use-tab-nav.mjs +3 -1
  1153. package/build-module/components/writing-flow/use-tab-nav.mjs.map +2 -2
  1154. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  1155. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  1156. package/build-module/hooks/align.mjs.map +2 -2
  1157. package/build-module/hooks/allowed-blocks.mjs.map +2 -2
  1158. package/build-module/hooks/anchor.mjs.map +2 -2
  1159. package/build-module/hooks/aria-label.mjs.map +2 -2
  1160. package/build-module/hooks/auto-inspector-controls.mjs.map +2 -2
  1161. package/build-module/hooks/background.mjs +1 -4
  1162. package/build-module/hooks/background.mjs.map +2 -2
  1163. package/build-module/hooks/block-bindings.mjs.map +2 -2
  1164. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +2 -2
  1165. package/build-module/hooks/block-fields/index.mjs.map +2 -2
  1166. package/build-module/hooks/block-fields/link/index.mjs.map +2 -2
  1167. package/build-module/hooks/block-fields/media/index.mjs.map +2 -2
  1168. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  1169. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +2 -2
  1170. package/build-module/hooks/block-hooks.mjs.map +2 -2
  1171. package/build-module/hooks/block-renaming.mjs.map +2 -2
  1172. package/build-module/hooks/block-style-state.mjs.map +2 -2
  1173. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  1174. package/build-module/hooks/border.mjs +26 -8
  1175. package/build-module/hooks/border.mjs.map +2 -2
  1176. package/build-module/hooks/color.mjs.map +2 -2
  1177. package/build-module/hooks/compat.mjs.map +2 -2
  1178. package/build-module/hooks/contrast-checker.mjs.map +2 -2
  1179. package/build-module/hooks/custom-class-name.mjs.map +2 -2
  1180. package/build-module/hooks/dimensions.mjs +9 -2
  1181. package/build-module/hooks/dimensions.mjs.map +2 -2
  1182. package/build-module/hooks/duotone.mjs +8 -4
  1183. package/build-module/hooks/duotone.mjs.map +2 -2
  1184. package/build-module/hooks/elements.mjs.map +2 -2
  1185. package/build-module/hooks/fit-text.mjs.map +2 -2
  1186. package/build-module/hooks/font-family.mjs +1 -3
  1187. package/build-module/hooks/font-family.mjs.map +2 -2
  1188. package/build-module/hooks/font-size.mjs.map +2 -2
  1189. package/build-module/hooks/gap.mjs +6 -1
  1190. package/build-module/hooks/gap.mjs.map +2 -2
  1191. package/build-module/hooks/generated-class-name.mjs.map +2 -2
  1192. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1193. package/build-module/hooks/index.mjs.map +2 -2
  1194. package/build-module/hooks/layout-child.mjs +36 -13
  1195. package/build-module/hooks/layout-child.mjs.map +2 -2
  1196. package/build-module/hooks/layout.mjs +24 -4
  1197. package/build-module/hooks/layout.mjs.map +2 -2
  1198. package/build-module/hooks/line-height.mjs.map +2 -2
  1199. package/build-module/hooks/list-view.mjs.map +2 -2
  1200. package/build-module/hooks/lock.mjs.map +2 -2
  1201. package/build-module/hooks/metadata.mjs.map +2 -2
  1202. package/build-module/hooks/position.mjs.map +2 -2
  1203. package/build-module/hooks/settings.mjs.map +2 -2
  1204. package/build-module/hooks/spacing-visualizer.mjs.map +2 -2
  1205. package/build-module/hooks/state-utils.mjs.map +2 -2
  1206. package/build-module/hooks/states.mjs +8 -5
  1207. package/build-module/hooks/states.mjs.map +2 -2
  1208. package/build-module/hooks/style.mjs.map +2 -2
  1209. package/build-module/hooks/supports.mjs.map +2 -2
  1210. package/build-module/hooks/text-align.mjs.map +2 -2
  1211. package/build-module/hooks/typography.mjs.map +2 -2
  1212. package/build-module/hooks/use-border-props.mjs.map +2 -2
  1213. package/build-module/hooks/use-cached-truthy.mjs.map +2 -2
  1214. package/build-module/hooks/use-color-props.mjs.map +2 -2
  1215. package/build-module/hooks/use-content-only-section-edit.mjs.map +2 -2
  1216. package/build-module/hooks/use-dimensions-props.mjs.map +2 -2
  1217. package/build-module/hooks/use-shadow-props.mjs.map +2 -2
  1218. package/build-module/hooks/use-spacing-props.mjs.map +2 -2
  1219. package/build-module/hooks/use-typography-props.mjs +1 -3
  1220. package/build-module/hooks/use-typography-props.mjs.map +2 -2
  1221. package/build-module/hooks/use-zoom-out.mjs.map +2 -2
  1222. package/build-module/hooks/utils.mjs.map +2 -2
  1223. package/build-module/index.mjs.map +2 -2
  1224. package/build-module/layouts/constrained.mjs +8 -1
  1225. package/build-module/layouts/constrained.mjs.map +2 -2
  1226. package/build-module/layouts/flex.mjs +9 -0
  1227. package/build-module/layouts/flex.mjs.map +2 -2
  1228. package/build-module/layouts/flow.mjs +4 -1
  1229. package/build-module/layouts/flow.mjs.map +2 -2
  1230. package/build-module/layouts/grid.mjs +5 -1
  1231. package/build-module/layouts/grid.mjs.map +2 -2
  1232. package/build-module/layouts/index.mjs.map +2 -2
  1233. package/build-module/layouts/utils.mjs.map +2 -2
  1234. package/build-module/lock-unlock.mjs.map +2 -2
  1235. package/build-module/private-apis.mjs +3 -1
  1236. package/build-module/private-apis.mjs.map +2 -2
  1237. package/build-module/store/actions.mjs +105 -37
  1238. package/build-module/store/actions.mjs.map +3 -3
  1239. package/build-module/store/defaults.mjs +2 -0
  1240. package/build-module/store/defaults.mjs.map +2 -2
  1241. package/build-module/store/get-block-settings.mjs.map +2 -2
  1242. package/build-module/store/index.mjs.map +2 -2
  1243. package/build-module/store/private-actions.mjs +19 -2
  1244. package/build-module/store/private-actions.mjs.map +2 -2
  1245. package/build-module/store/private-selectors.mjs +27 -10
  1246. package/build-module/store/private-selectors.mjs.map +2 -2
  1247. package/build-module/store/reducer.mjs +3 -1
  1248. package/build-module/store/reducer.mjs.map +2 -2
  1249. package/build-module/store/selectors.mjs +21 -8
  1250. package/build-module/store/selectors.mjs.map +2 -2
  1251. package/build-module/store/utils.mjs.map +2 -2
  1252. package/build-module/utils/fit-text-frontend.mjs.map +2 -2
  1253. package/build-module/utils/format-font-style.mjs.map +2 -2
  1254. package/build-module/utils/format-font-weight.mjs.map +2 -2
  1255. package/build-module/utils/get-font-styles-and-weights.mjs.map +2 -2
  1256. package/build-module/utils/group-blocks.mjs +21 -0
  1257. package/build-module/utils/group-blocks.mjs.map +7 -0
  1258. package/build-module/utils/native-undo.mjs.map +2 -2
  1259. package/build-module/utils/pasting.mjs.map +2 -2
  1260. package/build-module/utils/selection.mjs.map +2 -2
  1261. package/build-module/utils/sibling-block-attributes.mjs +20 -0
  1262. package/build-module/utils/sibling-block-attributes.mjs.map +7 -0
  1263. package/build-module/utils/transform-styles/index.mjs.map +2 -2
  1264. package/build-module/utils/use-notify-copy.mjs.map +2 -2
  1265. package/build-style/content-rtl.css +2 -2
  1266. package/build-style/content.css +2 -2
  1267. package/build-style/style-rtl.css +145 -76
  1268. package/build-style/style.css +145 -76
  1269. package/build-types/components/block-context/index.d.ts.map +1 -1
  1270. package/build-types/components/block-visibility/constants.d.ts +45 -0
  1271. package/build-types/components/block-visibility/constants.d.ts.map +1 -0
  1272. package/build-types/components/block-visibility/use-block-visibility.d.ts +35 -0
  1273. package/build-types/components/block-visibility/use-block-visibility.d.ts.map +1 -0
  1274. package/build-types/lock-unlock.d.ts +2 -0
  1275. package/build-types/lock-unlock.d.ts.map +1 -0
  1276. package/build-types/utils/fit-text-frontend.d.ts +0 -5
  1277. package/build-types/utils/fit-text-frontend.d.ts.map +1 -1
  1278. package/build-types/utils/format-font-style.d.ts +0 -3
  1279. package/build-types/utils/format-font-style.d.ts.map +1 -1
  1280. package/build-types/utils/format-font-weight.d.ts +0 -3
  1281. package/build-types/utils/format-font-weight.d.ts.map +1 -1
  1282. package/build-types/utils/get-font-styles-and-weights.d.ts.map +1 -1
  1283. package/build-types/utils/pasting.d.ts.map +1 -1
  1284. package/build-types/utils/selection.d.ts.map +1 -1
  1285. package/build-types/utils/transform-styles/index.d.ts +0 -3
  1286. package/build-types/utils/transform-styles/index.d.ts.map +1 -1
  1287. package/package.json +43 -42
  1288. package/src/autocompleters/block.js +0 -7
  1289. package/src/autocompleters/test/block.js +0 -7
  1290. package/src/components/alignment-control/index.js +0 -3
  1291. package/src/components/alignment-control/stories/aliginment-toolbar.story.jsx +0 -7
  1292. package/src/components/alignment-control/stories/index.story.jsx +0 -7
  1293. package/src/components/alignment-control/test/index.js +0 -11
  1294. package/src/components/alignment-control/ui.js +0 -3
  1295. package/src/components/autocomplete/index.js +0 -7
  1296. package/src/components/background-image-control/README.md +122 -0
  1297. package/src/components/background-image-control/index.js +0 -12
  1298. package/src/components/background-image-control/test/index.js +0 -4
  1299. package/src/components/block-actions/README.md +67 -0
  1300. package/src/components/block-actions/index.js +3 -14
  1301. package/src/components/block-alignment-control/constants.js +0 -3
  1302. package/src/components/block-alignment-control/index.js +0 -3
  1303. package/src/components/block-alignment-control/test/index.js +0 -7
  1304. package/src/components/block-alignment-control/ui.js +0 -11
  1305. package/src/components/block-alignment-control/use-available-alignments.js +0 -7
  1306. package/src/components/block-alignment-matrix-control/index.js +0 -3
  1307. package/src/components/block-alignment-matrix-control/stories/index.story.jsx +0 -7
  1308. package/src/components/block-allowed-blocks/allowed-blocks-control.js +0 -7
  1309. package/src/components/block-allowed-blocks/modal.js +0 -7
  1310. package/src/components/block-bindings/attribute-control.js +10 -11
  1311. package/src/components/block-bindings/index.js +0 -3
  1312. package/src/components/block-bindings/source-fields-list.js +0 -11
  1313. package/src/components/block-bindings/test/use-block-bindings-utils.js +1 -12
  1314. package/src/components/block-bindings/use-block-bindings-utils.js +0 -7
  1315. package/src/components/block-breadcrumb/index.js +0 -7
  1316. package/src/components/block-breadcrumb/test/index.js +0 -7
  1317. package/src/components/block-canvas/index.js +0 -7
  1318. package/src/components/block-card/index.js +0 -11
  1319. package/src/components/block-compare/block-view.js +0 -3
  1320. package/src/components/block-compare/index.js +0 -11
  1321. package/src/components/block-compare/test/block-view.js +0 -7
  1322. package/src/components/block-content-overlay/index.js +0 -7
  1323. package/src/components/block-context/README.md +0 -1
  1324. package/src/components/block-context/index.js +0 -3
  1325. package/src/components/block-controls/README.md +0 -3
  1326. package/src/components/block-controls/fill.js +0 -7
  1327. package/src/components/block-controls/groups.js +0 -3
  1328. package/src/components/block-controls/hook.js +0 -7
  1329. package/src/components/block-controls/index.js +0 -3
  1330. package/src/components/block-controls/slot.js +0 -7
  1331. package/src/components/block-controls/test/index.js +0 -11
  1332. package/src/components/block-draggable/draggable-chip.js +0 -7
  1333. package/src/components/block-draggable/index.js +0 -7
  1334. package/src/components/block-draggable/stories/index.story.jsx +0 -3
  1335. package/src/components/block-draggable/use-scroll-when-dragging.js +0 -3
  1336. package/src/components/block-edit/context.js +0 -3
  1337. package/src/components/block-edit/edit.js +0 -11
  1338. package/src/components/block-edit/index.js +0 -7
  1339. package/src/components/block-edit/multiple-usage-warning.js +0 -7
  1340. package/src/components/block-edit/test/edit.js +0 -11
  1341. package/src/components/block-edit-visually-button/README.md +39 -0
  1342. package/src/components/block-edit-visually-button/index.js +0 -7
  1343. package/src/components/block-editing-mode/README.md +72 -0
  1344. package/src/components/block-editing-mode/index.js +0 -7
  1345. package/src/components/block-full-height-alignment-control/index.js +0 -3
  1346. package/src/components/block-heading-level-dropdown/heading-level-icon.js +0 -3
  1347. package/src/components/block-heading-level-dropdown/index.js +0 -7
  1348. package/src/components/block-heading-level-dropdown/stories/index.story.jsx +0 -7
  1349. package/src/components/block-icon/index.js +0 -7
  1350. package/src/components/block-icon/stories/index.story.ts +0 -7
  1351. package/src/components/block-icon/test/index.js +0 -11
  1352. package/src/components/block-inspector/edit-contents.js +27 -32
  1353. package/src/components/block-inspector/index.js +13 -14
  1354. package/src/components/block-inspector/inspector-pre-tabs-slot-fill.js +0 -3
  1355. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +0 -7
  1356. package/src/components/block-keyboard-shortcuts/index.js +256 -0
  1357. package/src/components/block-list/README.md +98 -0
  1358. package/src/components/block-list/block-crash-boundary.js +0 -3
  1359. package/src/components/block-list/block-crash-warning.js +0 -7
  1360. package/src/components/block-list/block-html.js +0 -11
  1361. package/src/components/block-list/block-invalid-warning.js +0 -7
  1362. package/src/components/block-list/block.js +64 -23
  1363. package/src/components/block-list/index.js +69 -25
  1364. package/src/components/block-list/layout.js +0 -7
  1365. package/src/components/block-list/private-block-context.js +0 -3
  1366. package/src/components/block-list/subdirectory-icon.js +0 -3
  1367. package/src/components/block-list/use-block-props/index.js +57 -12
  1368. package/src/components/block-list/use-block-props/use-block-refs.js +0 -7
  1369. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +0 -3
  1370. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -7
  1371. package/src/components/block-list/use-block-props/use-focus-handler.js +0 -7
  1372. package/src/components/block-list/use-block-props/use-intersection-observer.js +0 -7
  1373. package/src/components/block-list/use-block-props/use-is-hovered.js +0 -7
  1374. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +0 -7
  1375. package/src/components/block-list/use-block-props/use-scroll-into-view.js +0 -3
  1376. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -15
  1377. package/src/components/block-list/use-in-between-inserter.js +0 -7
  1378. package/src/components/block-list/zoom-out-separator.js +0 -11
  1379. package/src/components/block-list-appender/index.js +0 -11
  1380. package/src/components/block-lock/README.md +66 -0
  1381. package/src/components/block-lock/menu-item.js +0 -7
  1382. package/src/components/block-lock/modal.js +0 -7
  1383. package/src/components/block-lock/toolbar.js +0 -7
  1384. package/src/components/block-lock/use-block-lock.js +0 -7
  1385. package/src/components/block-manager/category.js +0 -7
  1386. package/src/components/block-manager/checklist.js +0 -7
  1387. package/src/components/block-manager/index.js +0 -7
  1388. package/src/components/block-mover/button.js +17 -26
  1389. package/src/components/block-mover/index.js +0 -12
  1390. package/src/components/block-mover/mover-description.js +0 -3
  1391. package/src/components/block-mover/stories/index.story.jsx +0 -7
  1392. package/src/components/block-mover/test/mover-description.js +0 -3
  1393. package/src/components/block-navigation/dropdown.js +0 -11
  1394. package/src/components/block-parent-selector/index.js +111 -37
  1395. package/src/components/block-pattern-setup/index.js +0 -8
  1396. package/src/components/block-pattern-setup/setup-toolbar.js +0 -7
  1397. package/src/components/block-pattern-setup/use-patterns-setup.js +0 -7
  1398. package/src/components/block-patterns-list/index.js +0 -11
  1399. package/src/components/block-patterns-list/stories/index.story.jsx +3 -10
  1400. package/src/components/block-patterns-paging/index.js +0 -3
  1401. package/src/components/block-popover/README.md +10 -3
  1402. package/src/components/block-popover/cover.js +0 -7
  1403. package/src/components/block-popover/drop-zone.js +0 -7
  1404. package/src/components/block-popover/inbetween.js +8 -13
  1405. package/src/components/block-popover/index.js +0 -11
  1406. package/src/components/block-popover/stories/index.story.jsx +143 -0
  1407. package/src/components/block-popover/use-popover-scroll.js +0 -3
  1408. package/src/components/block-preview/async.js +0 -3
  1409. package/src/components/block-preview/auto.js +0 -7
  1410. package/src/components/block-preview/index.js +0 -13
  1411. package/src/components/block-preview/test/index.js +0 -11
  1412. package/src/components/block-quick-navigation/index.js +0 -7
  1413. package/src/components/block-removal-warning-modal/index.js +0 -7
  1414. package/src/components/block-rename/modal.js +0 -7
  1415. package/src/components/block-rename/rename-control.js +0 -7
  1416. package/src/components/block-rename/use-block-rename.js +0 -3
  1417. package/src/components/block-selection-clearer/index.js +0 -7
  1418. package/src/components/block-selection-clearer/test/index.js +0 -11
  1419. package/src/components/block-settings-menu/block-html-convert-button.js +0 -7
  1420. package/src/components/block-settings-menu/block-mode-toggle.js +0 -7
  1421. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +0 -7
  1422. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -8
  1423. package/src/components/block-settings-menu/block-settings-menu-first-item.js +0 -3
  1424. package/src/components/block-settings-menu/index.js +0 -7
  1425. package/src/components/block-settings-menu/test/block-mode-toggle.js +0 -11
  1426. package/src/components/block-settings-menu-controls/index.js +0 -7
  1427. package/src/components/block-styles/index.js +95 -54
  1428. package/src/components/block-styles/menu-items.js +0 -3
  1429. package/src/components/block-styles/style.scss +5 -34
  1430. package/src/components/block-styles/test/utils.js +0 -3
  1431. package/src/components/block-styles/use-styles-for-block.js +0 -7
  1432. package/src/components/block-styles/utils.js +0 -3
  1433. package/src/components/block-switcher/block-styles-menu.js +0 -7
  1434. package/src/components/block-switcher/block-transformations-menu.js +0 -7
  1435. package/src/components/block-switcher/block-variation-transformations.js +0 -7
  1436. package/src/components/block-switcher/index.js +0 -7
  1437. package/src/components/block-switcher/pattern-transformations-menu.js +0 -8
  1438. package/src/components/block-switcher/preview-block-popover.js +0 -7
  1439. package/src/components/block-switcher/test/index.js +0 -11
  1440. package/src/components/block-switcher/test/use-transformed.patterns.js +0 -7
  1441. package/src/components/block-switcher/test/utils.js +0 -7
  1442. package/src/components/block-switcher/use-transformed-patterns.js +0 -7
  1443. package/src/components/block-switcher/utils.js +0 -3
  1444. package/src/components/block-title/index.js +0 -4
  1445. package/src/components/block-title/stories/index.story.jsx +0 -7
  1446. package/src/components/block-title/test/index.js +0 -11
  1447. package/src/components/block-title/use-block-display-title.js +0 -7
  1448. package/src/components/block-toolbar/block-styles-dropdown.js +0 -7
  1449. package/src/components/block-toolbar/block-toolbar-icon.js +0 -7
  1450. package/src/components/block-toolbar/block-toolbar-last-item.js +0 -3
  1451. package/src/components/block-toolbar/change-design.js +0 -7
  1452. package/src/components/block-toolbar/edit-section-button.js +0 -7
  1453. package/src/components/block-toolbar/index.js +0 -11
  1454. package/src/components/block-toolbar/pattern-overrides-dropdown.js +0 -7
  1455. package/src/components/block-toolbar/switch-section-style.js +0 -7
  1456. package/src/components/block-toolbar/test/block-toolbar-icon.js +0 -11
  1457. package/src/components/block-toolbar/use-has-block-toolbar.js +0 -6
  1458. package/src/components/block-toolbar/utils.js +0 -7
  1459. package/src/components/block-tools/block-toolbar-popover.js +0 -9
  1460. package/src/components/block-tools/empty-block-inserter.js +0 -7
  1461. package/src/components/block-tools/index.js +3 -20
  1462. package/src/components/block-tools/insertion-point.js +0 -11
  1463. package/src/components/block-tools/style.scss +94 -0
  1464. package/src/components/block-tools/use-block-toolbar-popover-props.js +0 -7
  1465. package/src/components/block-tools/use-selected-block-tool-props.js +0 -7
  1466. package/src/components/block-tools/use-show-block-tools.js +0 -7
  1467. package/src/components/block-tools/zoom-out-mode-inserter-button.js +0 -7
  1468. package/src/components/block-tools/zoom-out-mode-inserters.js +0 -7
  1469. package/src/components/block-types-list/index.js +0 -7
  1470. package/src/components/block-variation-picker/index.js +0 -7
  1471. package/src/components/block-variation-transforms/index.js +0 -7
  1472. package/src/components/block-vertical-alignment-control/index.js +0 -3
  1473. package/src/components/block-vertical-alignment-control/test/index.js +0 -7
  1474. package/src/components/block-vertical-alignment-control/ui.js +0 -3
  1475. package/src/components/block-visibility/{constants.js → constants.ts} +14 -7
  1476. package/src/components/block-visibility/modal.js +0 -11
  1477. package/src/components/block-visibility/test/use-block-visibility.js +0 -12
  1478. package/src/components/block-visibility/test/utils.js +0 -3
  1479. package/src/components/block-visibility/use-block-visibility.ts +92 -0
  1480. package/src/components/block-visibility/utils.js +0 -7
  1481. package/src/components/block-visibility/viewport-menu-item.js +0 -7
  1482. package/src/components/block-visibility/viewport-toolbar.js +0 -7
  1483. package/src/components/block-visibility/viewport-visibility-info.js +0 -7
  1484. package/src/components/border-radius-control/README.md +0 -3
  1485. package/src/components/border-radius-control/constants.js +0 -3
  1486. package/src/components/border-radius-control/index.js +0 -7
  1487. package/src/components/border-radius-control/linked-button.js +0 -3
  1488. package/src/components/border-radius-control/stories/index.story.jsx +0 -7
  1489. package/src/components/border-radius-control/test/index.js +0 -12
  1490. package/src/components/border-radius-control/test/utils.js +0 -3
  1491. package/src/components/border-radius-control/utils.js +0 -7
  1492. package/src/components/button-block-appender/index.js +0 -11
  1493. package/src/components/child-layout-control/index.js +5 -12
  1494. package/src/components/child-layout-control/test/index.js +0 -11
  1495. package/src/components/collab/note-icon-slot.js +0 -3
  1496. package/src/components/collab/note-icon-toolbar-slot.js +0 -3
  1497. package/src/components/color-palette/control.js +0 -3
  1498. package/src/components/color-palette/index.js +0 -7
  1499. package/src/components/color-palette/stories/control.story.jsx +0 -7
  1500. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -29
  1501. package/src/components/color-palette/test/control.js +0 -7
  1502. package/src/components/color-palette/with-color-context.js +0 -7
  1503. package/src/components/color-style-selector/index.js +0 -3
  1504. package/src/components/colors/test/utils.js +0 -3
  1505. package/src/components/colors/test/with-colors.js +6 -14
  1506. package/src/components/colors/utils.js +1 -15
  1507. package/src/components/colors/with-colors.js +84 -120
  1508. package/src/components/colors-gradients/control.js +0 -11
  1509. package/src/components/colors-gradients/dropdown.js +0 -15
  1510. package/src/components/colors-gradients/panel-color-gradient-settings.js +21 -28
  1511. package/src/components/colors-gradients/style.scss +17 -7
  1512. package/src/components/colors-gradients/test/control.js +0 -7
  1513. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +0 -7
  1514. package/src/components/contrast-checker/index.js +0 -7
  1515. package/src/components/contrast-checker/stories/index.story.ts +0 -3
  1516. package/src/components/contrast-checker/test/index.js +0 -11
  1517. package/src/components/convert-to-group-buttons/index.js +2 -13
  1518. package/src/components/convert-to-group-buttons/toolbar.js +3 -12
  1519. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +0 -7
  1520. package/src/components/copy-handler/index.js +0 -7
  1521. package/src/components/date-format-picker/index.js +0 -3
  1522. package/src/components/date-format-picker/stories/index.story.jsx +0 -7
  1523. package/src/components/default-block-appender/content.scss +6 -3
  1524. package/src/components/default-block-appender/index.js +0 -11
  1525. package/src/components/default-block-appender/test/index.js +0 -7
  1526. package/src/components/dimension-control/index.js +0 -11
  1527. package/src/components/dimension-control/stories/index.story.jsx +0 -7
  1528. package/src/components/dimensions-tool/aspect-ratio-tool.js +16 -10
  1529. package/src/components/dimensions-tool/index.js +34 -29
  1530. package/src/components/dimensions-tool/scale-tool.js +0 -3
  1531. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.jsx +0 -7
  1532. package/src/components/dimensions-tool/stories/index.story.jsx +0 -7
  1533. package/src/components/dimensions-tool/stories/scale-tool.story.jsx +0 -7
  1534. package/src/components/dimensions-tool/stories/width-height-tool.story.jsx +0 -7
  1535. package/src/components/dimensions-tool/test/index.js +166 -13
  1536. package/src/components/dimensions-tool/test/utils.js +51 -0
  1537. package/src/components/dimensions-tool/utils.js +67 -0
  1538. package/src/components/dimensions-tool/width-height-tool.js +0 -3
  1539. package/src/components/duotone-control/index.js +2 -3
  1540. package/src/components/duotone-control/test/index.js +100 -0
  1541. package/src/components/editable-text/index.js +0 -7
  1542. package/src/components/editor-styles/index.js +0 -11
  1543. package/src/components/fit-text-size-warning/index.js +0 -3
  1544. package/src/components/font-appearance-control/index.js +0 -7
  1545. package/src/components/font-family/index.js +0 -11
  1546. package/src/components/font-family/stories/index.story.jsx +0 -7
  1547. package/src/components/font-sizes/font-size-picker.js +0 -7
  1548. package/src/components/font-sizes/test/fluid-utils.js +0 -7
  1549. package/src/components/font-sizes/test/utils.js +0 -7
  1550. package/src/components/font-sizes/utils.js +1 -11
  1551. package/src/components/font-sizes/with-font-sizes.js +0 -7
  1552. package/src/components/global-styles/advanced-panel.js +5 -9
  1553. package/src/components/global-styles/background-panel.js +0 -7
  1554. package/src/components/global-styles/border-panel.js +11 -16
  1555. package/src/components/global-styles/color-gradient-dropdown-item.js +0 -11
  1556. package/src/components/global-styles/color-panel.js +13 -8
  1557. package/src/components/global-styles/dimensions-panel.js +17 -16
  1558. package/src/components/global-styles/filters-panel.js +24 -21
  1559. package/src/components/global-styles/hooks.js +0 -7
  1560. package/src/components/global-styles/image-settings-panel.js +0 -7
  1561. package/src/components/global-styles/inheritance/index.js +0 -7
  1562. package/src/components/global-styles/inheritance/test/index.js +0 -11
  1563. package/src/components/global-styles/inherited-value-context.js +0 -7
  1564. package/src/components/global-styles/shadow-panel-components.js +38 -23
  1565. package/src/components/global-styles/state-control-badges.js +0 -7
  1566. package/src/components/global-styles/state-control.js +0 -3
  1567. package/src/components/global-styles/test/background-panel.js +0 -8
  1568. package/src/components/global-styles/test/border-panel.js +230 -7
  1569. package/src/components/global-styles/test/color-panel.js +24 -7
  1570. package/src/components/global-styles/test/dimensions-panel.js +98 -14
  1571. package/src/components/global-styles/test/filters-panel.js +84 -7
  1572. package/src/components/global-styles/test/inherited-value-context-core.js +0 -11
  1573. package/src/components/global-styles/test/inherited-value-context.js +0 -12
  1574. package/src/components/global-styles/test/state-control-badges.js +0 -7
  1575. package/src/components/global-styles/test/typography-panel-core.js +0 -7
  1576. package/src/components/global-styles/test/typography-panel.js +0 -7
  1577. package/src/components/global-styles/test/typography-utils.js +0 -3
  1578. package/src/components/global-styles/test/utils.js +30 -0
  1579. package/src/components/global-styles/typography-panel.js +0 -7
  1580. package/src/components/global-styles/typography-utils.js +0 -3
  1581. package/src/components/global-styles/utils.js +23 -3
  1582. package/src/components/gradients/use-gradient.js +0 -7
  1583. package/src/components/grid/grid-item-movers.js +0 -11
  1584. package/src/components/grid/grid-item-resizer.js +0 -7
  1585. package/src/components/grid/grid-visualizer.js +0 -11
  1586. package/src/components/grid/use-get-number-of-blocks-before-cell.js +0 -7
  1587. package/src/components/grid/use-grid-layout-sync.js +0 -7
  1588. package/src/components/height-control/index.js +0 -7
  1589. package/src/components/height-control/stories/index.story.jsx +0 -7
  1590. package/src/components/html-element-control/index.js +0 -7
  1591. package/src/components/html-element-control/messages.js +0 -3
  1592. package/src/components/iframe/index.js +4 -16
  1593. package/src/components/iframe/use-scale-canvas.js +38 -14
  1594. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -7
  1595. package/src/components/image-editor/context.js +0 -7
  1596. package/src/components/image-editor/cropper.js +0 -11
  1597. package/src/components/image-editor/form-controls.js +0 -7
  1598. package/src/components/image-editor/index.js +0 -7
  1599. package/src/components/image-editor/rotation-button.js +0 -8
  1600. package/src/components/image-editor/test/index.js +0 -3
  1601. package/src/components/image-editor/use-save-image.js +0 -7
  1602. package/src/components/image-editor/use-transform-image.js +0 -3
  1603. package/src/components/image-editor/zoom-dropdown.js +0 -7
  1604. package/src/components/image-size-control/index.js +0 -7
  1605. package/src/components/image-size-control/test/index.js +0 -7
  1606. package/src/components/image-size-control/use-dimension-handler.js +0 -3
  1607. package/src/components/inner-blocks/README.md +2 -0
  1608. package/src/components/inner-blocks/button-block-appender.js +0 -7
  1609. package/src/components/inner-blocks/default-block-appender.js +0 -3
  1610. package/src/components/inner-blocks/index.js +11 -13
  1611. package/src/components/inner-blocks/stories/index.story.jsx +246 -0
  1612. package/src/components/inner-blocks/test/index.js +0 -8
  1613. package/src/components/inner-blocks/use-block-context.js +0 -7
  1614. package/src/components/inner-blocks/use-inner-block-template-sync.js +47 -23
  1615. package/src/components/inner-blocks/use-nested-settings-update.js +0 -7
  1616. package/src/components/inner-content/index.js +0 -7
  1617. package/src/components/inner-content/test/index.js +0 -11
  1618. package/src/components/inserter/block-patterns-explorer/index.js +24 -18
  1619. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +18 -59
  1620. package/src/components/inserter/block-patterns-explorer/pattern-list.js +22 -54
  1621. package/src/components/inserter/block-patterns-tab/index.js +0 -7
  1622. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +0 -8
  1623. package/src/components/inserter/block-patterns-tab/patterns-filter.js +0 -7
  1624. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +0 -8
  1625. package/src/components/inserter/block-patterns-tab/utils.js +0 -4
  1626. package/src/components/inserter/block-types-tab.js +0 -7
  1627. package/src/components/inserter/category-tabs/index.js +0 -7
  1628. package/src/components/inserter/hooks/use-block-types-state.js +0 -7
  1629. package/src/components/inserter/hooks/use-insertion-point.js +9 -11
  1630. package/src/components/inserter/hooks/use-patterns-paging.js +0 -3
  1631. package/src/components/inserter/hooks/use-patterns-state.js +0 -7
  1632. package/src/components/inserter/index.js +4 -28
  1633. package/src/components/inserter/library.js +0 -7
  1634. package/src/components/inserter/media-tab/hooks.js +0 -7
  1635. package/src/components/inserter/media-tab/media-list.js +0 -7
  1636. package/src/components/inserter/media-tab/media-panel.js +0 -11
  1637. package/src/components/inserter/media-tab/media-preview.js +0 -12
  1638. package/src/components/inserter/media-tab/media-tab.js +0 -7
  1639. package/src/components/inserter/media-tab/test/hooks.js +0 -7
  1640. package/src/components/inserter/media-tab/test/media-panel.js +0 -7
  1641. package/src/components/inserter/media-tab/utils.js +0 -3
  1642. package/src/components/inserter/menu.js +23 -21
  1643. package/src/components/inserter/mobile-tab-navigation.js +0 -3
  1644. package/src/components/inserter/no-results.js +0 -3
  1645. package/src/components/inserter/panel.js +0 -3
  1646. package/src/components/inserter/preview-panel.js +0 -7
  1647. package/src/components/inserter/quick-inserter.js +15 -24
  1648. package/src/components/inserter/search-items.js +0 -3
  1649. package/src/components/inserter/search-results.js +0 -7
  1650. package/src/components/inserter/stories/index.story.jsx +0 -7
  1651. package/src/components/inserter/style.scss +44 -62
  1652. package/src/components/inserter/test/get-appender-label.js +0 -3
  1653. package/src/components/inserter/test/search-items.js +0 -3
  1654. package/src/components/inserter/tips.js +0 -3
  1655. package/src/components/inserter-draggable-blocks/index.js +0 -7
  1656. package/src/components/inserter-list-item/index.js +0 -11
  1657. package/src/components/inserter-listbox/context.js +0 -3
  1658. package/src/components/inserter-listbox/group.js +0 -3
  1659. package/src/components/inserter-listbox/index.js +0 -8
  1660. package/src/components/inserter-listbox/item.js +0 -3
  1661. package/src/components/inserter-listbox/row.js +0 -3
  1662. package/src/components/inserter-menu-extension/index.js +0 -3
  1663. package/src/components/inspector-controls/block-support-slot-container.js +0 -3
  1664. package/src/components/inspector-controls/block-support-tools-panel.js +0 -7
  1665. package/src/components/inspector-controls/fill.js +22 -37
  1666. package/src/components/inspector-controls/groups.js +0 -3
  1667. package/src/components/inspector-controls/index.js +0 -3
  1668. package/src/components/inspector-controls/last-item.js +0 -7
  1669. package/src/components/inspector-controls/list-view-content-popover.js +0 -7
  1670. package/src/components/inspector-controls/slot.js +0 -7
  1671. package/src/components/inspector-controls-tabs/README.md +92 -0
  1672. package/src/components/inspector-controls-tabs/advanced-controls-panel.js +0 -7
  1673. package/src/components/inspector-controls-tabs/content-tab.js +0 -7
  1674. package/src/components/inspector-controls-tabs/index.js +0 -8
  1675. package/src/components/inspector-controls-tabs/position-controls-panel.js +0 -7
  1676. package/src/components/inspector-controls-tabs/settings-tab.js +0 -7
  1677. package/src/components/inspector-controls-tabs/styles-tab.js +1 -8
  1678. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -7
  1679. package/src/components/inspector-controls-tabs/utils.js +0 -3
  1680. package/src/components/inspector-popover-header/index.js +0 -3
  1681. package/src/components/justify-content-control/index.js +0 -3
  1682. package/src/components/justify-content-control/ui.js +0 -3
  1683. package/src/components/keyboard-shortcuts/index.js +0 -7
  1684. package/src/components/letter-spacing-control/index.js +0 -7
  1685. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -7
  1686. package/src/components/line-height-control/index.js +0 -7
  1687. package/src/components/line-height-control/stories/index.story.jsx +0 -7
  1688. package/src/components/line-height-control/test/index.js +0 -11
  1689. package/src/components/link-control/constants.js +0 -3
  1690. package/src/components/link-control/index.js +0 -11
  1691. package/src/components/link-control/is-url-like.js +0 -3
  1692. package/src/components/link-control/link-preview.js +0 -13
  1693. package/src/components/link-control/normalize-url.js +0 -7
  1694. package/src/components/link-control/search-create-button.js +0 -3
  1695. package/src/components/link-control/search-input.js +0 -7
  1696. package/src/components/link-control/search-item.js +0 -3
  1697. package/src/components/link-control/search-results.js +1 -12
  1698. package/src/components/link-control/settings-drawer.js +0 -3
  1699. package/src/components/link-control/settings.js +0 -3
  1700. package/src/components/link-control/style.scss +1 -1
  1701. package/src/components/link-control/test/index.js +5 -11
  1702. package/src/components/link-control/test/is-url-like.js +0 -3
  1703. package/src/components/link-control/test/url-normalization.test.js +0 -11
  1704. package/src/components/link-control/use-create-page.js +0 -3
  1705. package/src/components/link-control/use-internal-value.js +0 -7
  1706. package/src/components/link-control/use-rich-url-data.js +1 -8
  1707. package/src/components/link-control/use-search-handler.js +0 -7
  1708. package/src/components/link-control/viewer-slot.js +0 -3
  1709. package/src/components/link-picker/link-picker.js +0 -7
  1710. package/src/components/link-picker/link-preview.js +0 -7
  1711. package/src/components/link-picker/test/index.js +0 -11
  1712. package/src/components/list-view/appender.js +7 -11
  1713. package/src/components/list-view/aria-referenced-text.js +12 -19
  1714. package/src/components/list-view/block-contents.js +28 -28
  1715. package/src/components/list-view/block-select-button.js +62 -40
  1716. package/src/components/list-view/block.js +41 -58
  1717. package/src/components/list-view/branch.js +179 -169
  1718. package/src/components/list-view/context.js +24 -3
  1719. package/src/components/list-view/drop-indicator.js +6 -18
  1720. package/src/components/list-view/expander.js +0 -3
  1721. package/src/components/list-view/index.js +145 -117
  1722. package/src/components/list-view/leaf.js +0 -11
  1723. package/src/components/list-view/style.scss +24 -4
  1724. package/src/components/list-view/test/use-list-view-drop-zone.js +0 -3
  1725. package/src/components/list-view/test/utils.js +0 -3
  1726. package/src/components/list-view/use-block-selection.js +0 -7
  1727. package/src/components/list-view/use-clipboard-handler.js +0 -7
  1728. package/src/components/list-view/use-list-view-block-indexes.js +0 -3
  1729. package/src/components/list-view/use-list-view-client-ids.js +0 -8
  1730. package/src/components/list-view/use-list-view-collapse-items.js +3 -11
  1731. package/src/components/list-view/use-list-view-drop-zone.js +11 -28
  1732. package/src/components/list-view/use-list-view-expand-selected-item.js +3 -10
  1733. package/src/components/list-view/use-list-view-images.js +6 -10
  1734. package/src/components/list-view/use-list-view-scroll-into-view.js +0 -3
  1735. package/src/components/list-view/utils.js +23 -7
  1736. package/src/components/media-placeholder/index.js +9 -15
  1737. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +0 -3
  1738. package/src/components/media-placeholder/test/index.js +0 -7
  1739. package/src/components/media-replace-flow/index.js +0 -11
  1740. package/src/components/media-replace-flow/test/index.js +0 -10
  1741. package/src/components/media-upload/check.js +0 -7
  1742. package/src/components/media-upload/index.js +0 -3
  1743. package/src/components/multi-selection-inspector/index.js +42 -21
  1744. package/src/components/multi-selection-inspector/style.scss +5 -0
  1745. package/src/components/navigable-toolbar/index.js +38 -27
  1746. package/src/components/observe-typing/index.js +0 -7
  1747. package/src/components/panel-color-settings/README.md +0 -7
  1748. package/src/components/panel-color-settings/index.js +0 -3
  1749. package/src/components/panel-color-settings/test/index.js +0 -7
  1750. package/src/components/plain-text/index.js +0 -11
  1751. package/src/components/plain-text/stories/index.story.jsx +3 -7
  1752. package/src/components/preset-input-control/custom-value-controls.js +0 -4
  1753. package/src/components/preset-input-control/index.js +0 -7
  1754. package/src/components/preset-input-control/test/index.js +0 -7
  1755. package/src/components/preset-input-control/test/utils.js +0 -3
  1756. package/src/components/preview-options/index.js +0 -3
  1757. package/src/components/provider/block-refs-provider.js +0 -3
  1758. package/src/components/provider/index.js +7 -8
  1759. package/src/components/provider/selection-context.js +0 -3
  1760. package/src/components/provider/test/experimental-provider.js +0 -10
  1761. package/src/components/provider/test/use-block-sync.js +0 -12
  1762. package/src/components/provider/use-block-sync.js +0 -7
  1763. package/src/components/provider/use-media-upload-settings.js +0 -3
  1764. package/src/components/provider/with-registry-provider.js +0 -7
  1765. package/src/components/publish-date-time-picker/README.md +10 -0
  1766. package/src/components/publish-date-time-picker/index.js +17 -21
  1767. package/src/components/recursion-provider/README.md +0 -3
  1768. package/src/components/recursion-provider/index.js +0 -7
  1769. package/src/components/recursion-provider/test/index.js +0 -7
  1770. package/src/components/resizable-box-popover/index.js +0 -7
  1771. package/src/components/resolution-tool/index.js +0 -3
  1772. package/src/components/resolution-tool/stories/index.story.jsx +0 -7
  1773. package/src/components/responsive-block-control/index.js +0 -11
  1774. package/src/components/responsive-block-control/label.js +0 -3
  1775. package/src/components/responsive-block-control/test/index.js +0 -11
  1776. package/src/components/rich-text/content.js +0 -11
  1777. package/src/components/rich-text/event-listeners/before-input-rules.js +0 -7
  1778. package/src/components/rich-text/event-listeners/delete.js +0 -7
  1779. package/src/components/rich-text/event-listeners/enter.js +58 -52
  1780. package/src/components/rich-text/event-listeners/firefox-compat.js +0 -3
  1781. package/src/components/rich-text/event-listeners/index.js +0 -7
  1782. package/src/components/rich-text/event-listeners/input-events.js +0 -8
  1783. package/src/components/rich-text/event-listeners/input-rules.js +15 -20
  1784. package/src/components/rich-text/event-listeners/insert-replacement-text.js +0 -8
  1785. package/src/components/rich-text/event-listeners/paste-handler.js +14 -8
  1786. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +0 -8
  1787. package/src/components/rich-text/event-listeners/shortcuts.js +0 -8
  1788. package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -8
  1789. package/src/components/rich-text/format-edit.js +0 -7
  1790. package/src/components/rich-text/format-toolbar/index.js +0 -11
  1791. package/src/components/rich-text/format-toolbar-container.js +0 -7
  1792. package/src/components/rich-text/get-rich-text-values.js +0 -7
  1793. package/src/components/rich-text/index.js +9 -15
  1794. package/src/components/rich-text/multiline.js +126 -93
  1795. package/src/components/rich-text/prevent-event-discovery.js +0 -3
  1796. package/src/components/rich-text/toolbar-button.js +0 -3
  1797. package/src/components/rich-text/use-mark-persistent.js +0 -7
  1798. package/src/components/rich-text/utils.js +0 -3
  1799. package/src/components/rich-text/with-deprecations.js +0 -7
  1800. package/src/components/selection-scroll-into-view/index.js +0 -3
  1801. package/src/components/skip-to-selected-block/index.js +0 -7
  1802. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +0 -7
  1803. package/src/components/spacing-sizes-control/index.js +2 -9
  1804. package/src/components/spacing-sizes-control/input-controls/axial.js +0 -3
  1805. package/src/components/spacing-sizes-control/input-controls/separated.js +0 -3
  1806. package/src/components/spacing-sizes-control/input-controls/single.js +0 -3
  1807. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -7
  1808. package/src/components/spacing-sizes-control/linked-button.js +0 -3
  1809. package/src/components/spacing-sizes-control/test/index.js +0 -12
  1810. package/src/components/spacing-sizes-control/test/utils.js +0 -3
  1811. package/src/components/spacing-sizes-control/utils.js +0 -7
  1812. package/src/components/tabbed-sidebar/index.js +0 -7
  1813. package/src/components/tabbed-sidebar/stories/index.story.jsx +0 -7
  1814. package/src/components/text-alignment-control/index.js +0 -7
  1815. package/src/components/text-alignment-control/stories/index.story.jsx +0 -7
  1816. package/src/components/text-decoration-control/index.js +0 -7
  1817. package/src/components/text-decoration-control/stories/index.story.jsx +0 -7
  1818. package/src/components/text-indent-control/index.js +0 -7
  1819. package/src/components/text-transform-control/index.js +0 -7
  1820. package/src/components/text-transform-control/stories/index.story.jsx +0 -7
  1821. package/src/components/tool-selector/index.js +0 -3
  1822. package/src/components/typewriter/index.js +0 -3
  1823. package/src/components/unit-control/index.js +0 -7
  1824. package/src/components/unit-control/stories/index.story.jsx +0 -7
  1825. package/src/components/url-input/button.js +0 -7
  1826. package/src/components/url-input/index.js +57 -77
  1827. package/src/components/url-input/test/button.js +0 -11
  1828. package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
  1829. package/src/components/url-input/test/index.js +90 -11
  1830. package/src/components/url-popover/README.md +7 -0
  1831. package/src/components/url-popover/image-url-input-ui.js +2 -9
  1832. package/src/components/url-popover/index.js +0 -7
  1833. package/src/components/url-popover/link-editor.js +0 -11
  1834. package/src/components/url-popover/link-viewer-url.js +0 -7
  1835. package/src/components/url-popover/link-viewer.js +0 -11
  1836. package/src/components/url-popover/stories/index.story.jsx +133 -54
  1837. package/src/components/url-popover/style.scss +5 -0
  1838. package/src/components/use-block-commands/index.js +2 -9
  1839. package/src/components/use-block-display-information/index.js +1 -8
  1840. package/src/components/use-block-display-information/test/index.js +0 -11
  1841. package/src/components/use-block-drop-zone/index.js +0 -7
  1842. package/src/components/use-block-drop-zone/test/index.js +0 -3
  1843. package/src/components/use-flash-editable-blocks/index.js +0 -7
  1844. package/src/components/use-list-view-panel-state/index.js +0 -7
  1845. package/src/components/use-moving-animation/index.js +9 -14
  1846. package/src/components/use-on-block-drop/index.js +0 -7
  1847. package/src/components/use-on-block-drop/test/index.js +1 -7
  1848. package/src/components/use-paste-styles/index.js +0 -7
  1849. package/src/components/use-resize-canvas/index.js +0 -3
  1850. package/src/components/use-settings/index.js +0 -7
  1851. package/src/components/warning/index.js +0 -7
  1852. package/src/components/warning/stories/index.story.jsx +0 -7
  1853. package/src/components/warning/test/index.js +0 -7
  1854. package/src/components/writing-flow/index.js +0 -11
  1855. package/src/components/writing-flow/test/index.js +0 -7
  1856. package/src/components/writing-flow/use-arrow-nav.js +23 -16
  1857. package/src/components/writing-flow/use-click-selection.js +0 -7
  1858. package/src/components/writing-flow/use-clipboard-handler.js +65 -11
  1859. package/src/components/writing-flow/use-drag-selection.js +0 -7
  1860. package/src/components/writing-flow/use-editable-root-event-handlers.js +0 -7
  1861. package/src/components/writing-flow/use-editable-root.js +0 -7
  1862. package/src/components/writing-flow/use-home-end.js +0 -7
  1863. package/src/components/writing-flow/use-input.js +105 -22
  1864. package/src/components/writing-flow/use-multi-selection.js +0 -7
  1865. package/src/components/writing-flow/use-preview-mode-nav.js +0 -7
  1866. package/src/components/writing-flow/use-select-all.js +0 -7
  1867. package/src/components/writing-flow/use-selection-observer.js +0 -7
  1868. package/src/components/writing-flow/use-tab-nav.js +7 -8
  1869. package/src/components/writing-flow/utils.js +0 -7
  1870. package/src/components/writing-mode-control/index.js +0 -7
  1871. package/src/components/writing-mode-control/stories/index.story.jsx +0 -7
  1872. package/src/elements/test/index.js +0 -3
  1873. package/src/hooks/align.js +0 -11
  1874. package/src/hooks/allowed-blocks.js +0 -7
  1875. package/src/hooks/anchor.js +0 -7
  1876. package/src/hooks/aria-label.js +0 -7
  1877. package/src/hooks/auto-inspector-controls.js +0 -7
  1878. package/src/hooks/background.js +3 -15
  1879. package/src/hooks/block-bindings.js +0 -7
  1880. package/src/hooks/block-fields/fields-dropdown-menu.js +0 -7
  1881. package/src/hooks/block-fields/index.js +0 -1
  1882. package/src/hooks/block-fields/link/index.js +0 -7
  1883. package/src/hooks/block-fields/media/index.js +0 -7
  1884. package/src/hooks/block-fields/rich-text/index.js +0 -7
  1885. package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -3
  1886. package/src/hooks/block-hooks.js +0 -7
  1887. package/src/hooks/block-renaming.js +0 -3
  1888. package/src/hooks/block-style-state.js +0 -7
  1889. package/src/hooks/block-style-variation.js +0 -7
  1890. package/src/hooks/border.js +27 -19
  1891. package/src/hooks/color.js +0 -11
  1892. package/src/hooks/compat.js +0 -3
  1893. package/src/hooks/contrast-checker.js +0 -8
  1894. package/src/hooks/custom-class-name.js +0 -11
  1895. package/src/hooks/dimensions.js +8 -12
  1896. package/src/hooks/duotone.js +23 -18
  1897. package/src/hooks/elements.js +0 -7
  1898. package/src/hooks/fit-text.js +0 -8
  1899. package/src/hooks/font-family.js +1 -10
  1900. package/src/hooks/font-size.js +0 -7
  1901. package/src/hooks/gap.js +15 -2
  1902. package/src/hooks/generated-class-name.js +0 -3
  1903. package/src/hooks/grid-visualizer.js +0 -7
  1904. package/src/hooks/index.js +0 -3
  1905. package/src/hooks/layout-child.js +41 -16
  1906. package/src/hooks/layout.js +118 -84
  1907. package/src/hooks/line-height.js +0 -7
  1908. package/src/hooks/list-view.js +0 -8
  1909. package/src/hooks/lock.js +0 -3
  1910. package/src/hooks/metadata.js +0 -3
  1911. package/src/hooks/position.js +0 -11
  1912. package/src/hooks/settings.js +0 -3
  1913. package/src/hooks/spacing-visualizer.js +0 -7
  1914. package/src/hooks/state-utils.js +0 -3
  1915. package/src/hooks/states.js +8 -12
  1916. package/src/hooks/style.js +0 -7
  1917. package/src/hooks/supports.js +0 -3
  1918. package/src/hooks/test/align.js +0 -7
  1919. package/src/hooks/test/allowed-blocks.js +0 -7
  1920. package/src/hooks/test/anchor.js +0 -7
  1921. package/src/hooks/test/auto-inspector-controls.js +0 -7
  1922. package/src/hooks/test/background.js +115 -3
  1923. package/src/hooks/test/block-style-state.js +0 -3
  1924. package/src/hooks/test/custom-class-name.js +0 -7
  1925. package/src/hooks/test/dimensions.js +0 -7
  1926. package/src/hooks/test/duotone.js +0 -3
  1927. package/src/hooks/test/font-size.js +0 -11
  1928. package/src/hooks/test/gap.js +31 -4
  1929. package/src/hooks/test/generate-fields-from-attributes.js +0 -3
  1930. package/src/hooks/test/generated-class-name.js +0 -7
  1931. package/src/hooks/test/inherited-value-wiring.js +0 -3
  1932. package/src/hooks/test/layout-child.js +60 -4
  1933. package/src/hooks/test/layout.js +27 -3
  1934. package/src/hooks/test/metadata.js +0 -7
  1935. package/src/hooks/test/preset-round-trip.js +0 -6
  1936. package/src/hooks/test/settings.js +0 -7
  1937. package/src/hooks/test/state-utils.js +0 -7
  1938. package/src/hooks/test/style.js +0 -7
  1939. package/src/hooks/test/text-align.js +0 -7
  1940. package/src/hooks/test/use-typography-props.js +0 -3
  1941. package/src/hooks/test/utils.js +0 -3
  1942. package/src/hooks/text-align.js +0 -11
  1943. package/src/hooks/typography.js +0 -8
  1944. package/src/hooks/use-border-props.js +0 -3
  1945. package/src/hooks/use-cached-truthy.js +0 -3
  1946. package/src/hooks/use-color-props.js +0 -11
  1947. package/src/hooks/use-content-only-section-edit.js +0 -7
  1948. package/src/hooks/use-dimensions-props.js +0 -3
  1949. package/src/hooks/use-shadow-props.js +0 -3
  1950. package/src/hooks/use-spacing-props.js +0 -3
  1951. package/src/hooks/use-typography-props.js +1 -15
  1952. package/src/hooks/use-zoom-out.js +0 -7
  1953. package/src/hooks/utils.js +0 -11
  1954. package/src/index.js +0 -3
  1955. package/src/layouts/constrained.js +9 -8
  1956. package/src/layouts/flex.js +15 -7
  1957. package/src/layouts/flow.js +4 -8
  1958. package/src/layouts/grid.js +9 -9
  1959. package/src/layouts/index.js +0 -3
  1960. package/src/layouts/test/constrained.js +26 -11
  1961. package/src/layouts/test/flex.js +0 -11
  1962. package/src/layouts/test/flow.js +26 -3
  1963. package/src/layouts/test/grid.js +46 -11
  1964. package/src/layouts/test/utils.js +0 -3
  1965. package/src/layouts/utils.js +0 -7
  1966. package/src/lock-unlock.ts +0 -3
  1967. package/src/private-apis.js +2 -7
  1968. package/src/store/actions.js +176 -54
  1969. package/src/store/defaults.js +4 -3
  1970. package/src/store/get-block-settings.js +0 -7
  1971. package/src/store/index.js +0 -7
  1972. package/src/store/private-actions.js +33 -5
  1973. package/src/store/private-selectors.js +43 -17
  1974. package/src/store/reducer.js +8 -12
  1975. package/src/store/selectors.js +44 -21
  1976. package/src/store/test/actions.js +203 -26
  1977. package/src/store/test/array.js +0 -3
  1978. package/src/store/test/get-block-settings.js +0 -7
  1979. package/src/store/test/performance.js +0 -3
  1980. package/src/store/test/private-actions.js +0 -3
  1981. package/src/store/test/private-selectors.js +155 -17
  1982. package/src/store/test/reducer.js +30 -11
  1983. package/src/store/test/registry-selectors.js +0 -7
  1984. package/src/store/test/selectors.js +143 -7
  1985. package/src/store/utils.js +0 -7
  1986. package/src/utils/fit-text-frontend.ts +0 -8
  1987. package/src/utils/format-font-style.ts +0 -7
  1988. package/src/utils/format-font-weight.ts +0 -7
  1989. package/src/utils/get-font-styles-and-weights.ts +0 -7
  1990. package/src/utils/group-blocks.js +36 -0
  1991. package/src/utils/native-undo.js +0 -3
  1992. package/src/utils/pasting.ts +0 -3
  1993. package/src/utils/selection.ts +0 -3
  1994. package/src/utils/sibling-block-attributes.js +30 -0
  1995. package/src/utils/test/block-bindings.js +0 -3
  1996. package/src/utils/test/color-values.js +0 -3
  1997. package/src/utils/test/format-font-style.js +0 -3
  1998. package/src/utils/test/format-font-weight.js +0 -3
  1999. package/src/utils/test/get-font-styles-and-weights.js +0 -3
  2000. package/src/utils/test/math.js +0 -3
  2001. package/src/utils/test/object.js +0 -3
  2002. package/src/utils/test/pasting.js +0 -3
  2003. package/src/utils/test/selection.js +0 -3
  2004. package/src/utils/test/sorting.js +0 -3
  2005. package/src/utils/test/transform-styles.js +0 -3
  2006. package/src/utils/transform-styles/index.ts +0 -8
  2007. package/src/utils/use-notify-copy.js +0 -7
  2008. package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
  2009. package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
  2010. package/build/components/gradients/with-gradient.cjs.map +0 -7
  2011. package/build/components/inserter-button/sparkles.cjs +0 -36
  2012. package/build/components/inserter-button/sparkles.cjs.map +0 -7
  2013. package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
  2014. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
  2015. package/build-module/components/gradients/with-gradient.mjs +0 -11
  2016. package/build-module/components/gradients/with-gradient.mjs.map +0 -7
  2017. package/build-module/components/inserter-button/sparkles.mjs +0 -15
  2018. package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
  2019. package/build-style/default-editor-styles-rtl.css +0 -68
  2020. package/build-style/default-editor-styles.css +0 -68
  2021. package/src/components/block-visibility/use-block-visibility.js +0 -76
  2022. package/src/components/floating-toolbar/nav-up-icon.js +0 -25
  2023. package/src/components/gradients/with-gradient.js +0 -12
  2024. package/src/components/inserter-button/README.md +0 -62
  2025. package/src/components/inserter-button/sparkles.js +0 -15
  2026. package/src/default-editor-styles.scss +0 -25
@@ -3,8 +3,10 @@ import clsx from "clsx";
3
3
  import {
4
4
  useInstanceId,
5
5
  useMergeRefs,
6
+ useRefEffect,
6
7
  __experimentalUseFixedWindowList as useFixedWindowList
7
8
  } from "@wordpress/compose";
9
+ import { isShallowEqual } from "@wordpress/is-shallow-equal";
8
10
  import { __experimentalTreeGrid as TreeGrid } from "@wordpress/components";
9
11
  import { VisuallyHidden } from "@wordpress/ui";
10
12
  import { AsyncModeProvider, useSelect } from "@wordpress/data";
@@ -19,7 +21,11 @@ import {
19
21
  } from "@wordpress/element";
20
22
  import { __ } from "@wordpress/i18n";
21
23
  import ListViewBranch from "./branch.mjs";
22
- import { ListViewContext } from "./context.mjs";
24
+ import {
25
+ ListViewContext,
26
+ ListViewInsertedBlockContext,
27
+ ListViewTreeStateContext
28
+ } from "./context.mjs";
23
29
  import ListViewDropIndicatorPreview from "./drop-indicator.mjs";
24
30
  import useBlockSelection from "./use-block-selection.mjs";
25
31
  import useListViewBlockIndexes from "./use-list-view-block-indexes.mjs";
@@ -29,28 +35,30 @@ import useListViewDropZone from "./use-list-view-drop-zone.mjs";
29
35
  import useListViewExpandSelectedItem from "./use-list-view-expand-selected-item.mjs";
30
36
  import { store as blockEditorStore } from "../../store/index.mjs";
31
37
  import { BlockSettingsDropdown } from "../block-settings-menu/block-settings-dropdown.mjs";
32
- import { focusListItem } from "./utils.mjs";
38
+ import { BLOCK_LIST_ITEM_HEIGHT, focusListItem } from "./utils.mjs";
33
39
  import useClipboardHandler from "./use-clipboard-handler.mjs";
34
40
  import { jsx, jsxs } from "react/jsx-runtime";
35
- var expanded = (state, action) => {
36
- if (action.type === "clear") {
37
- return {};
41
+ var expansion = (state, action) => {
42
+ const { type, clientIds } = action;
43
+ if (type === "replace") {
44
+ const next = Object.fromEntries(
45
+ clientIds.map((id) => [id, true])
46
+ );
47
+ return isShallowEqual(state, next) ? state : next;
38
48
  }
39
- if (Array.isArray(action.clientIds)) {
40
- return {
41
- ...state,
42
- ...action.clientIds.reduce(
43
- (newState, id) => ({
44
- ...newState,
45
- [id]: action.type === "expand"
46
- }),
47
- {}
48
- )
49
- };
49
+ if (type !== "expand" && type !== "collapse") {
50
+ return state;
51
+ }
52
+ const isExpand = type === "expand";
53
+ const changed = clientIds.filter((id) => state[id] !== isExpand);
54
+ if (!changed.length) {
55
+ return state;
50
56
  }
51
- return state;
57
+ return {
58
+ ...state,
59
+ ...Object.fromEntries(changed.map((id) => [id, isExpand]))
60
+ };
52
61
  };
53
- var BLOCK_LIST_ITEM_HEIGHT = 32;
54
62
  function ListViewComponent({
55
63
  id,
56
64
  blocks,
@@ -58,6 +66,7 @@ function ListViewComponent({
58
66
  showBlockMovers = false,
59
67
  isExpanded = false,
60
68
  showAppender = false,
69
+ focusOnMount = false,
61
70
  blockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,
62
71
  rootClientId,
63
72
  description,
@@ -88,11 +97,11 @@ function ListViewComponent({
88
97
  [draggedClientIds]
89
98
  );
90
99
  const { updateBlockSelection } = useBlockSelection();
91
- const [expandedState, setExpandedState] = useReducer(expanded, {});
92
- const [insertedBlock, setInsertedBlock] = useState(null);
100
+ const [expansionState, updateExpansion] = useReducer(expansion, {});
101
+ const [insertedBlockClientId, setInsertedBlockClientId] = useState(null);
93
102
  const { setSelectedTreeId } = useListViewExpandSelectedItem({
94
103
  firstSelectedBlockClientId: selectedClientIds[0],
95
- setExpandedState
104
+ updateExpansion
96
105
  });
97
106
  const selectEditorBlock = useCallback(
98
107
  /**
@@ -111,63 +120,65 @@ function ListViewComponent({
111
120
  );
112
121
  const { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone({
113
122
  dropZoneElement,
114
- expandedState,
115
- setExpandedState
123
+ updateExpansion
116
124
  });
117
125
  const elementRef = useRef();
118
126
  const clipBoardRef = useClipboardHandler({
119
127
  selectBlock: selectEditorBlock
120
128
  });
121
- const focusSelectedBlock = useCallback(
129
+ const focusOnMountRef = useRefEffect(
122
130
  (node) => {
131
+ if (!focusOnMount) {
132
+ return;
133
+ }
134
+ const controller = new window.AbortController();
135
+ const focusRow2 = (clientId) => focusListItem(clientId, node, controller.signal).then(
136
+ () => controller.abort()
137
+ );
138
+ node.ownerDocument.addEventListener(
139
+ "focusin",
140
+ () => controller.abort(),
141
+ { once: true, signal: controller.signal }
142
+ );
123
143
  const [firstSelectedClientId] = getSelectedBlockClientIds();
124
- if (firstSelectedClientId && node) {
125
- focusListItem(firstSelectedClientId, node);
144
+ if (firstSelectedClientId) {
145
+ focusRow2(firstSelectedClientId);
146
+ return () => controller.abort();
126
147
  }
148
+ const timerId = setTimeout(() => {
149
+ const firstClientId = node.querySelector(
150
+ "[role=row][data-block]"
151
+ )?.dataset.block;
152
+ if (firstClientId) {
153
+ focusRow2(firstClientId);
154
+ }
155
+ }, 0);
156
+ return () => {
157
+ clearTimeout(timerId);
158
+ controller.abort();
159
+ };
127
160
  },
128
- [getSelectedBlockClientIds]
161
+ [focusOnMount, getSelectedBlockClientIds]
129
162
  );
130
163
  const treeGridRef = useMergeRefs([
131
164
  clipBoardRef,
132
- focusSelectedBlock,
165
+ focusOnMountRef,
133
166
  elementRef,
134
167
  dropZoneRef,
135
168
  ref
136
169
  ]);
137
- const expand = useCallback(
138
- (clientId) => {
139
- if (!clientId) {
140
- return;
141
- }
142
- const clientIds = Array.isArray(clientId) ? clientId : [clientId];
143
- setExpandedState({ type: "expand", clientIds });
144
- },
145
- [setExpandedState]
146
- );
147
- const collapse = useCallback(
148
- (clientId) => {
149
- if (!clientId) {
150
- return;
151
- }
152
- setExpandedState({ type: "collapse", clientIds: [clientId] });
153
- },
154
- [setExpandedState]
155
- );
156
- const collapseAll = useCallback(() => {
157
- setExpandedState({ type: "clear" });
158
- }, [setExpandedState]);
159
- const expandRow = useCallback(
160
- (row) => {
161
- expand(row?.dataset?.block);
162
- },
163
- [expand]
164
- );
165
- const collapseRow = useCallback(
166
- (row) => {
167
- collapse(row?.dataset?.block);
168
- },
169
- [collapse]
170
- );
170
+ const expandRow = useCallback((row) => {
171
+ const clientId = row?.dataset?.block;
172
+ if (clientId) {
173
+ updateExpansion({ type: "expand", clientIds: [clientId] });
174
+ }
175
+ }, []);
176
+ const collapseRow = useCallback((row) => {
177
+ const clientId = row?.dataset?.block;
178
+ if (clientId) {
179
+ updateExpansion({ type: "collapse", clientIds: [clientId] });
180
+ }
181
+ }, []);
171
182
  const focusRow = useCallback(
172
183
  (event, startRow, endRow) => {
173
184
  if (event.shiftKey) {
@@ -180,10 +191,7 @@ function ListViewComponent({
180
191
  },
181
192
  [updateBlockSelection]
182
193
  );
183
- useListViewCollapseItems({
184
- collapseAll,
185
- expand
186
- });
194
+ useListViewCollapseItems({ updateExpansion });
187
195
  const firstDraggedBlockClientId = draggedClientIds?.[0];
188
196
  const { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } = useMemo(() => {
189
197
  let _blockDropTargetIndex, _firstDraggedBlockIndex;
@@ -204,40 +212,40 @@ function ListViewComponent({
204
212
  };
205
213
  }, [blockDropTarget, blockIndexes, firstDraggedBlockClientId]);
206
214
  const contextValue = useMemo(
215
+ () => ({
216
+ AdditionalBlockContent,
217
+ BlockSettingsMenu,
218
+ listViewInstanceId: instanceId,
219
+ rootClientId,
220
+ setInsertedBlockClientId,
221
+ treeGridElementRef: elementRef,
222
+ updateExpansion
223
+ }),
224
+ [
225
+ AdditionalBlockContent,
226
+ BlockSettingsMenu,
227
+ instanceId,
228
+ rootClientId,
229
+ setInsertedBlockClientId,
230
+ updateExpansion
231
+ ]
232
+ );
233
+ const treeStateContextValue = useMemo(
207
234
  () => ({
208
235
  blockDropPosition,
209
236
  blockDropTargetIndex,
210
237
  blockIndexes,
211
238
  draggedClientIds,
212
- expandedState,
213
- expand,
214
- firstDraggedBlockIndex,
215
- collapse,
216
- collapseAll,
217
- BlockSettingsMenu,
218
- listViewInstanceId: instanceId,
219
- AdditionalBlockContent,
220
- insertedBlock,
221
- setInsertedBlock,
222
- treeGridElementRef: elementRef,
223
- rootClientId
239
+ expansionState,
240
+ firstDraggedBlockIndex
224
241
  }),
225
242
  [
226
243
  blockDropPosition,
227
244
  blockDropTargetIndex,
228
245
  blockIndexes,
229
246
  draggedClientIds,
230
- expandedState,
231
- expand,
232
- firstDraggedBlockIndex,
233
- collapse,
234
- collapseAll,
235
- BlockSettingsMenu,
236
- instanceId,
237
- AdditionalBlockContent,
238
- insertedBlock,
239
- setInsertedBlock,
240
- rootClientId
247
+ expansionState,
248
+ firstDraggedBlockIndex
241
249
  ]
242
250
  );
243
251
  const [fixedListWindow] = useFixedWindowList(
@@ -250,7 +258,7 @@ function ListViewComponent({
250
258
  // switch the list view to a tall list view with a scrollbar, and vice versa.
251
259
  // When this happens, the windowing logic needs to be recalculated to ensure that
252
260
  // the correct number of blocks are rendered, by rechecking for a scroll container.
253
- expandedState,
261
+ expandedState: expansionState,
254
262
  useWindowing: true,
255
263
  windowOverscan: 40
256
264
  }
@@ -287,16 +295,28 @@ function ListViewComponent({
287
295
  "--wp-admin--list-view-dragged-items-height": draggedClientIds?.length ? `${BLOCK_LIST_ITEM_HEIGHT * (draggedClientIds.length - 1)}px` : null
288
296
  },
289
297
  children: /* @__PURE__ */ jsx(ListViewContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
290
- ListViewBranch,
298
+ ListViewInsertedBlockContext.Provider,
291
299
  {
292
- blocks: clientIdsTree,
293
- parentId: rootClientId,
294
- selectBlock: selectEditorBlock,
295
- showBlockMovers,
296
- fixedListWindow,
297
- selectedClientIds,
298
- isExpanded,
299
- showAppender
300
+ value: insertedBlockClientId,
301
+ children: /* @__PURE__ */ jsx(
302
+ ListViewTreeStateContext.Provider,
303
+ {
304
+ value: treeStateContextValue,
305
+ children: /* @__PURE__ */ jsx(
306
+ ListViewBranch,
307
+ {
308
+ blocks: clientIdsTree,
309
+ parentId: rootClientId,
310
+ selectBlock: selectEditorBlock,
311
+ showBlockMovers,
312
+ fixedListWindow,
313
+ selectedClientIds,
314
+ isExpanded,
315
+ showAppender
316
+ }
317
+ )
318
+ }
319
+ )
300
320
  }
301
321
  ) })
302
322
  }
@@ -319,7 +339,6 @@ var list_view_default = forwardRef((props, ref) => {
319
339
  );
320
340
  });
321
341
  export {
322
- BLOCK_LIST_ITEM_HEIGHT,
323
342
  PrivateListView,
324
343
  list_view_default as default
325
344
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInstanceId,\n\tuseMergeRefs,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport { __experimentalTreeGrid as TreeGrid } from '@wordpress/components';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewBranch from './branch';\nimport { ListViewContext } from './context';\nimport ListViewDropIndicatorPreview from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewBlockIndexes from './use-list-view-block-indexes';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewCollapseItems from './use-list-view-collapse-items';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockSettingsDropdown } from '../block-settings-menu/block-settings-dropdown';\nimport { focusListItem } from './utils';\nimport useClipboardHandler from './use-clipboard-handler';\n\nconst expanded = ( state, action ) => {\n\tif ( action.type === 'clear' ) {\n\t\treturn {};\n\t}\n\tif ( Array.isArray( action.clientIds ) ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t...action.clientIds.reduce(\n\t\t\t\t( newState, id ) => ( {\n\t\t\t\t\t...newState,\n\t\t\t\t\t[ id ]: action.type === 'expand',\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn state;\n};\n\nexport const BLOCK_LIST_ITEM_HEIGHT = 32;\n\n/** @typedef {React.ComponentType} ComponentType */\n/** @typedef {React.Ref<HTMLElement>} Ref */\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks _deprecated_ Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {?HTMLElement} props.dropZoneElement Optional element to be used as the drop zone.\n * @param {?boolean} props.showBlockMovers Flag to enable block movers. Defaults to `false`.\n * @param {?boolean} props.isExpanded Flag to determine whether nested levels are expanded by default. Defaults to `false`.\n * @param {?boolean} props.showAppender Flag to show or hide the block appender. Defaults to `false`.\n * @param {?ComponentType} props.blockSettingsMenu Optional more menu substitution. Defaults to the standard `BlockSettingsDropdown` component.\n * @param {string} props.rootClientId The client id of the root block from which we determine the blocks to show in the list.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {?Function} props.onSelect Optional callback to be invoked when a block is selected. Receives the block object that was selected.\n * @param {?ComponentType} props.additionalBlockContent Component that renders additional block content UI.\n * @param {Ref} ref Forwarded ref\n */\nfunction ListViewComponent(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tdropZoneElement,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = false,\n\t\tblockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,\n\t\trootClientId,\n\t\tdescription,\n\t\tonSelect,\n\t\tadditionalBlockContent: AdditionalBlockContent,\n\t},\n\tref\n) {\n\t// This can be removed once we no longer need to support the blocks prop.\n\tif ( blocks ) {\n\t\tdeprecated(\n\t\t\t'`blocks` property in `wp.blockEditor.__experimentalListView`',\n\t\t\t{\n\t\t\t\tsince: '6.3',\n\t\t\t\talternative: '`rootClientId` property',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst instanceId = useInstanceId( ListViewComponent );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( { blocks, rootClientId } );\n\tconst blockIndexes = useListViewBlockIndexes( clientIdsTree );\n\n\tconst { getBlock, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\tconst { visibleBlockCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount, getClientIdsOfDescendants } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expandedState, setExpandedState ] = useReducer( expanded, {} );\n\n\tconst [ insertedBlock, setInsertedBlock ] = useState( null );\n\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tsetExpandedState,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t/**\n\t\t * @param {MouseEvent | KeyboardEvent | undefined} event\n\t\t * @param {string} blockClientId\n\t\t * @param {null | undefined | -1 | 1} focusPosition\n\t\t */\n\t\t( event, blockClientId, focusPosition ) => {\n\t\t\tupdateBlockSelection( event, blockClientId, null, focusPosition );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone( {\n\t\tdropZoneElement,\n\t\texpandedState,\n\t\tsetExpandedState,\n\t} );\n\tconst elementRef = useRef();\n\n\t// Allow handling of copy, cut, and paste events.\n\tconst clipBoardRef = useClipboardHandler( {\n\t\tselectBlock: selectEditorBlock,\n\t} );\n\n\tconst focusSelectedBlock = useCallback(\n\t\t( node ) => {\n\t\t\tconst [ firstSelectedClientId ] = getSelectedBlockClientIds();\n\t\t\t// If a blocks are already selected when the list view is initially\n\t\t\t// mounted, shift focus to the first selected block.\n\t\t\tif ( firstSelectedClientId && node ) {\n\t\t\t\tfocusListItem( firstSelectedClientId, node );\n\t\t\t}\n\t\t},\n\t\t[ getSelectedBlockClientIds ]\n\t);\n\n\tconst treeGridRef = useMergeRefs( [\n\t\tclipBoardRef,\n\t\tfocusSelectedBlock,\n\t\telementRef,\n\t\tdropZoneRef,\n\t\tref,\n\t] );\n\n\tconst expand = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clientIds = Array.isArray( clientId )\n\t\t\t\t? clientId\n\t\t\t\t: [ clientId ];\n\t\t\tsetExpandedState( { type: 'expand', clientIds } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapse = useCallback(\n\t\t( clientId ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( { type: 'collapse', clientIds: [ clientId ] } );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapseAll = useCallback( () => {\n\t\tsetExpandedState( { type: 'clear' } );\n\t}, [ setExpandedState ] );\n\tconst expandRow = useCallback(\n\t\t( row ) => {\n\t\t\texpand( row?.dataset?.block );\n\t\t},\n\t\t[ expand ]\n\t);\n\tconst collapseRow = useCallback(\n\t\t( row ) => {\n\t\t\tcollapse( row?.dataset?.block );\n\t\t},\n\t\t[ collapse ]\n\t);\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tuseListViewCollapseItems( {\n\t\tcollapseAll,\n\t\texpand,\n\t} );\n\n\tconst firstDraggedBlockClientId = draggedClientIds?.[ 0 ];\n\n\t// Convert a blockDropTarget into indexes relative to the blocks in the list view.\n\t// These values are used to determine which blocks should be displaced to make room\n\t// for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`.\n\tconst { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } =\n\t\tuseMemo( () => {\n\t\t\tlet _blockDropTargetIndex, _firstDraggedBlockIndex;\n\n\t\t\tif ( blockDropTarget?.clientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ blockDropTarget.clientId ];\n\t\t\t\t// If dragging below or inside the block, treat the drop target as the next block.\n\t\t\t\t_blockDropTargetIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t} else if ( blockDropTarget === null ) {\n\t\t\t\t// A `null` value is used to indicate that the user is dragging outside of the list view.\n\t\t\t\t_blockDropTargetIndex = null;\n\t\t\t}\n\n\t\t\tif ( firstDraggedBlockClientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ firstDraggedBlockClientId ];\n\t\t\t\t_firstDraggedBlockIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockDropTargetIndex: _blockDropTargetIndex,\n\t\t\t\tblockDropPosition: blockDropTarget?.dropPosition,\n\t\t\t\tfirstDraggedBlockIndex: _firstDraggedBlockIndex,\n\t\t\t};\n\t\t}, [ blockDropTarget, blockIndexes, firstDraggedBlockClientId ] );\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tlistViewInstanceId: instanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\ttreeGridElementRef: elementRef,\n\t\t\trootClientId,\n\t\t} ),\n\t\t[\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tfirstDraggedBlockIndex,\n\t\t\tcollapse,\n\t\t\tcollapseAll,\n\t\t\tBlockSettingsMenu,\n\t\t\tinstanceId,\n\t\t\tAdditionalBlockContent,\n\t\t\tinsertedBlock,\n\t\t\tsetInsertedBlock,\n\t\t\trootClientId,\n\t\t]\n\t);\n\n\t// List View renders a fixed number of items and relies on each having a fixed item height of 36px.\n\t// If this value changes, we should also change the itemHeight value set in useFixedWindowList.\n\t// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\t// Ensure that the windowing logic is recalculated when the expanded state changes.\n\t\t\t// This is necessary because expanding a collapsed block in a short list view can\n\t\t\t// switch the list view to a tall list view with a scrollbar, and vice versa.\n\t\t\t// When this happens, the windowing logic needs to be recalculated to ensure that\n\t\t\t// the correct number of blocks are rendered, by rechecking for a scroll container.\n\t\t\texpandedState,\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\t// If there are no blocks to show and we're not showing the appender, do not render the list view.\n\tif ( ! clientIdsTree.length && ! showAppender ) {\n\t\treturn null;\n\t}\n\n\tconst describedById =\n\t\tdescription && `block-editor-list-view-description-${ instanceId }`;\n\n\treturn (\n\t\t<AsyncModeProvider value>\n\t\t\t<ListViewDropIndicatorPreview\n\t\t\t\tdraggedBlockClientId={ firstDraggedBlockClientId }\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t{ description && (\n\t\t\t\t<VisuallyHidden id={ describedById }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TreeGrid\n\t\t\t\tid={ id }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-tree', {\n\t\t\t\t\t'is-dragging':\n\t\t\t\t\t\tdraggedClientIds?.length > 0 &&\n\t\t\t\t\t\tblockDropTargetIndex !== undefined,\n\t\t\t\t} ) }\n\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\tref={ treeGridRef }\n\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\tapplicationAriaLabel={ __( 'Block navigation structure' ) }\n\t\t\t\taria-describedby={ describedById }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-admin--list-view-dragged-items-height':\n\t\t\t\t\t\tdraggedClientIds?.length\n\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\tBLOCK_LIST_ITEM_HEIGHT *\n\t\t\t\t\t\t\t\t\t( draggedClientIds.length - 1 )\n\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\tparentId={ rootClientId }\n\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t/>\n\t\t\t\t</ListViewContext.Provider>\n\t\t\t</TreeGrid>\n\t\t</AsyncModeProvider>\n\t);\n}\n\n// This is the private API for the ListView component.\n// It allows access to all props, not just the public ones.\nexport const PrivateListView = forwardRef( ListViewComponent );\n\n// This is the public API for the ListView component.\n// We wrap the PrivateListView component to hide some props from the public API.\nexport default forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateListView\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tshowAppender={ false }\n\t\t\trootClientId={ null }\n\t\t\tonSelect={ null }\n\t\t\tadditionalBlockContent={ null }\n\t\t\tblockSettingsMenu={ undefined }\n\t\t/>\n\t);\n} );\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tuseInstanceId,\n\tuseMergeRefs,\n\tuseRefEffect,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\nimport { __experimentalTreeGrid as TreeGrid } from '@wordpress/components';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport ListViewBranch from './branch';\nimport {\n\tListViewContext,\n\tListViewInsertedBlockContext,\n\tListViewTreeStateContext,\n} from './context';\nimport ListViewDropIndicatorPreview from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewBlockIndexes from './use-list-view-block-indexes';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewCollapseItems from './use-list-view-collapse-items';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockSettingsDropdown } from '../block-settings-menu/block-settings-dropdown';\nimport { BLOCK_LIST_ITEM_HEIGHT, focusListItem } from './utils';\nimport useClipboardHandler from './use-clipboard-handler';\n\nconst expansion = ( state, action ) => {\n\tconst { type, clientIds } = action;\n\n\t// Overwrite the state: only the listed blocks stay expanded, every other\n\t// block falls back to the list view's default.\n\tif ( type === 'replace' ) {\n\t\tconst next = Object.fromEntries(\n\t\t\tclientIds.map( ( id ) => [ id, true ] )\n\t\t);\n\t\treturn isShallowEqual( state, next ) ? state : next;\n\t}\n\n\tif ( type !== 'expand' && type !== 'collapse' ) {\n\t\treturn state;\n\t}\n\n\tconst isExpand = type === 'expand';\n\t// An unrecorded block is not the same as an explicitly collapsed one,\n\t// because the fallback depends on the `isExpanded` prop.\n\tconst changed = clientIds.filter( ( id ) => state[ id ] !== isExpand );\n\n\tif ( ! changed.length ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t...state,\n\t\t...Object.fromEntries( changed.map( ( id ) => [ id, isExpand ] ) ),\n\t};\n};\n\n/** @typedef {React.ComponentType} ComponentType */\n/** @typedef {React.Ref<HTMLElement>} Ref */\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks _deprecated_ Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {?HTMLElement} props.dropZoneElement Optional element to be used as the drop zone.\n * @param {?boolean} props.showBlockMovers Flag to enable block movers. Defaults to `false`.\n * @param {?boolean} props.isExpanded Flag to determine whether nested levels are expanded by default. Defaults to `false`.\n * @param {?boolean} props.showAppender Flag to show or hide the block appender. Defaults to `false`.\n * @param {?boolean} props.focusOnMount Flag to move focus into the list when it mounts. Defaults to `false`.\n * @param {?ComponentType} props.blockSettingsMenu Optional more menu substitution. Defaults to the standard `BlockSettingsDropdown` component.\n * @param {string} props.rootClientId The client id of the root block from which we determine the blocks to show in the list.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {?Function} props.onSelect Optional callback to be invoked when a block is selected. Receives the block object that was selected.\n * @param {?ComponentType} props.additionalBlockContent Component that renders additional block content UI.\n * @param {Ref} ref Forwarded ref\n */\nfunction ListViewComponent(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tdropZoneElement,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = false,\n\t\tfocusOnMount = false,\n\t\tblockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,\n\t\trootClientId,\n\t\tdescription,\n\t\tonSelect,\n\t\tadditionalBlockContent: AdditionalBlockContent,\n\t},\n\tref\n) {\n\t// This can be removed once we no longer need to support the blocks prop.\n\tif ( blocks ) {\n\t\tdeprecated(\n\t\t\t'`blocks` property in `wp.blockEditor.__experimentalListView`',\n\t\t\t{\n\t\t\t\tsince: '6.3',\n\t\t\t\talternative: '`rootClientId` property',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst instanceId = useInstanceId( ListViewComponent );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( { blocks, rootClientId } );\n\tconst blockIndexes = useListViewBlockIndexes( clientIdsTree );\n\n\tconst { getBlock, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\tconst { visibleBlockCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount, getClientIdsOfDescendants } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expansionState, updateExpansion ] = useReducer( expansion, {} );\n\n\tconst [ insertedBlockClientId, setInsertedBlockClientId ] =\n\t\tuseState( null );\n\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tupdateExpansion,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t/**\n\t\t * @param {MouseEvent | KeyboardEvent | undefined} event\n\t\t * @param {string} blockClientId\n\t\t * @param {null | undefined | -1 | 1} focusPosition\n\t\t */\n\t\t( event, blockClientId, focusPosition ) => {\n\t\t\tupdateBlockSelection( event, blockClientId, null, focusPosition );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone( {\n\t\tdropZoneElement,\n\t\tupdateExpansion,\n\t} );\n\tconst elementRef = useRef();\n\n\t// Allow handling of copy, cut, and paste events.\n\tconst clipBoardRef = useClipboardHandler( {\n\t\tselectBlock: selectEditorBlock,\n\t} );\n\n\tconst focusOnMountRef = useRefEffect(\n\t\t( node ) => {\n\t\t\t// A list that mounts as a side effect of selecting a block, the\n\t\t\t// block inspector's for one, would pull focus out of whatever the\n\t\t\t// user is editing, so taking focus is opt-in.\n\t\t\tif ( ! focusOnMount ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst controller = new window.AbortController();\n\t\t\tconst focusRow = ( clientId ) =>\n\t\t\t\tfocusListItem( clientId, node, controller.signal ).then( () =>\n\t\t\t\t\tcontroller.abort()\n\t\t\t\t);\n\n\t\t\t// Anything that takes focus first has a better claim to it. The row\n\t\t\t// is not always there yet either, because a nested block waits on\n\t\t\t// its ancestors expanding.\n\t\t\tnode.ownerDocument.addEventListener(\n\t\t\t\t'focusin',\n\t\t\t\t() => controller.abort(),\n\t\t\t\t{ once: true, signal: controller.signal }\n\t\t\t);\n\n\t\t\tconst [ firstSelectedClientId ] = getSelectedBlockClientIds();\n\n\t\t\tif ( firstSelectedClientId ) {\n\t\t\t\tfocusRow( firstSelectedClientId );\n\t\t\t\treturn () => controller.abort();\n\t\t\t}\n\n\t\t\t// With nothing selected the top of the list gets focus, but only\n\t\t\t// once the click that opened the list is over. Focusing a row costs\n\t\t\t// a style and layout pass, and inside that commit it lands on a\n\t\t\t// document that is still dirty.\n\t\t\tconst timerId = setTimeout( () => {\n\t\t\t\tconst firstClientId = node.querySelector(\n\t\t\t\t\t'[role=row][data-block]'\n\t\t\t\t)?.dataset.block;\n\t\t\t\tif ( firstClientId ) {\n\t\t\t\t\tfocusRow( firstClientId );\n\t\t\t\t}\n\t\t\t}, 0 );\n\n\t\t\treturn () => {\n\t\t\t\tclearTimeout( timerId );\n\t\t\t\tcontroller.abort();\n\t\t\t};\n\t\t},\n\t\t[ focusOnMount, getSelectedBlockClientIds ]\n\t);\n\n\tconst treeGridRef = useMergeRefs( [\n\t\tclipBoardRef,\n\t\tfocusOnMountRef,\n\t\telementRef,\n\t\tdropZoneRef,\n\t\tref,\n\t] );\n\n\tconst expandRow = useCallback( ( row ) => {\n\t\tconst clientId = row?.dataset?.block;\n\t\tif ( clientId ) {\n\t\t\tupdateExpansion( { type: 'expand', clientIds: [ clientId ] } );\n\t\t}\n\t}, [] );\n\tconst collapseRow = useCallback( ( row ) => {\n\t\tconst clientId = row?.dataset?.block;\n\t\tif ( clientId ) {\n\t\t\tupdateExpansion( { type: 'collapse', clientIds: [ clientId ] } );\n\t\t}\n\t}, [] );\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tuseListViewCollapseItems( { updateExpansion } );\n\n\tconst firstDraggedBlockClientId = draggedClientIds?.[ 0 ];\n\n\t// Convert a blockDropTarget into indexes relative to the blocks in the list view.\n\t// These values are used to determine which blocks should be displaced to make room\n\t// for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`.\n\tconst { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } =\n\t\tuseMemo( () => {\n\t\t\tlet _blockDropTargetIndex, _firstDraggedBlockIndex;\n\n\t\t\tif ( blockDropTarget?.clientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ blockDropTarget.clientId ];\n\t\t\t\t// If dragging below or inside the block, treat the drop target as the next block.\n\t\t\t\t_blockDropTargetIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t} else if ( blockDropTarget === null ) {\n\t\t\t\t// A `null` value is used to indicate that the user is dragging outside of the list view.\n\t\t\t\t_blockDropTargetIndex = null;\n\t\t\t}\n\n\t\t\tif ( firstDraggedBlockClientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ firstDraggedBlockClientId ];\n\t\t\t\t_firstDraggedBlockIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockDropTargetIndex: _blockDropTargetIndex,\n\t\t\t\tblockDropPosition: blockDropTarget?.dropPosition,\n\t\t\t\tfirstDraggedBlockIndex: _firstDraggedBlockIndex,\n\t\t\t};\n\t\t}, [ blockDropTarget, blockIndexes, firstDraggedBlockClientId ] );\n\n\t// Values that stay stable for the lifetime of the List View.\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tAdditionalBlockContent,\n\t\t\tBlockSettingsMenu,\n\t\t\tlistViewInstanceId: instanceId,\n\t\t\trootClientId,\n\t\t\tsetInsertedBlockClientId,\n\t\t\ttreeGridElementRef: elementRef,\n\t\t\tupdateExpansion,\n\t\t} ),\n\t\t[\n\t\t\tAdditionalBlockContent,\n\t\t\tBlockSettingsMenu,\n\t\t\tinstanceId,\n\t\t\trootClientId,\n\t\t\tsetInsertedBlockClientId,\n\t\t\tupdateExpansion,\n\t\t]\n\t);\n\n\t// Values that change while expanding, collapsing, or dragging.\n\tconst treeStateContextValue = useMemo(\n\t\t() => ( {\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpansionState,\n\t\t\tfirstDraggedBlockIndex,\n\t\t} ),\n\t\t[\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpansionState,\n\t\t\tfirstDraggedBlockIndex,\n\t\t]\n\t);\n\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\t// Ensure that the windowing logic is recalculated when the expanded state changes.\n\t\t\t// This is necessary because expanding a collapsed block in a short list view can\n\t\t\t// switch the list view to a tall list view with a scrollbar, and vice versa.\n\t\t\t// When this happens, the windowing logic needs to be recalculated to ensure that\n\t\t\t// the correct number of blocks are rendered, by rechecking for a scroll container.\n\t\t\texpandedState: expansionState,\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\t// If there are no blocks to show and we're not showing the appender, do not render the list view.\n\tif ( ! clientIdsTree.length && ! showAppender ) {\n\t\treturn null;\n\t}\n\n\tconst describedById =\n\t\tdescription && `block-editor-list-view-description-${ instanceId }`;\n\n\treturn (\n\t\t<AsyncModeProvider value>\n\t\t\t<ListViewDropIndicatorPreview\n\t\t\t\tdraggedBlockClientId={ firstDraggedBlockClientId }\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t{ description && (\n\t\t\t\t<VisuallyHidden id={ describedById }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TreeGrid\n\t\t\t\tid={ id }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-tree', {\n\t\t\t\t\t'is-dragging':\n\t\t\t\t\t\tdraggedClientIds?.length > 0 &&\n\t\t\t\t\t\tblockDropTargetIndex !== undefined,\n\t\t\t\t} ) }\n\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\tref={ treeGridRef }\n\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\tapplicationAriaLabel={ __( 'Block navigation structure' ) }\n\t\t\t\taria-describedby={ describedById }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-admin--list-view-dragged-items-height':\n\t\t\t\t\t\tdraggedClientIds?.length\n\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\tBLOCK_LIST_ITEM_HEIGHT *\n\t\t\t\t\t\t\t\t\t( draggedClientIds.length - 1 )\n\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t<ListViewInsertedBlockContext.Provider\n\t\t\t\t\t\tvalue={ insertedBlockClientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListViewTreeStateContext.Provider\n\t\t\t\t\t\t\tvalue={ treeStateContextValue }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\t\t\tparentId={ rootClientId }\n\t\t\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ListViewTreeStateContext.Provider>\n\t\t\t\t\t</ListViewInsertedBlockContext.Provider>\n\t\t\t\t</ListViewContext.Provider>\n\t\t\t</TreeGrid>\n\t\t</AsyncModeProvider>\n\t);\n}\n\n// This is the private API for the ListView component.\n// It allows access to all props, not just the public ones.\nexport const PrivateListView = forwardRef( ListViewComponent );\n\n// This is the public API for the ListView component.\n// We wrap the PrivateListView component to hide some props from the public API.\nexport default forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateListView\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tshowAppender={ false }\n\t\t\trootClientId={ null }\n\t\t\tonSelect={ null }\n\t\t\tadditionalBlockContent={ null }\n\t\t\tblockSettingsMenu={ undefined }\n\t\t/>\n\t);\n} );\n"],
5
+ "mappings": "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",
6
+ "names": ["focusRow"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/leaf.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport { animated } from '@react-spring/web';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalTreeGridRow as TreeGridRow } from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../use-moving-animation';\n\nconst AnimatedTreeGridRow = animated( TreeGridRow );\n\nconst ListViewLeaf = forwardRef(\n\t(\n\t\t{\n\t\t\tisDragged,\n\t\t\tisSelected,\n\t\t\tposition,\n\t\t\tlevel,\n\t\t\trowCount,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tpath,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst animationRef = useMovingAnimation( {\n\t\t\tclientId: props[ 'data-block' ],\n\t\t\tenableAnimation: true,\n\t\t\ttriggerAnimationOnChange: path,\n\t\t} );\n\n\t\tconst mergedRef = useMergeRefs( [ ref, animationRef ] );\n\n\t\treturn (\n\t\t\t<AnimatedTreeGridRow\n\t\t\t\tref={ mergedRef }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-leaf', className ) }\n\t\t\t\tlevel={ level }\n\t\t\t\tpositionInSet={ position }\n\t\t\t\tsetSize={ rowCount }\n\t\t\t\tisExpanded={ undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</AnimatedTreeGridRow>\n\t\t);\n\t}\n);\n\nexport default ListViewLeaf;\n"],
5
- "mappings": ";AAGA,SAAS,gBAAgB;AACzB,OAAO,UAAU;AAKjB,SAAS,6BAA6B,mBAAmB;AACzD,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAK3B,OAAO,wBAAwB;AA4B5B;AA1BH,IAAM,sBAAsB,SAAU,WAAY;AAElD,IAAM,eAAe;AAAA,EACpB,CACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,GACA,QACI;AACJ,UAAM,eAAe,mBAAoB;AAAA,MACxC,UAAU,MAAO,YAAa;AAAA,MAC9B,iBAAiB;AAAA,MACjB,0BAA0B;AAAA,IAC3B,CAAE;AAEF,UAAM,YAAY,aAAc,CAAE,KAAK,YAAa,CAAE;AAEtD,WACC;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,WAAY,KAAM,+BAA+B,SAAU;AAAA,QAC3D;AAAA,QACA,eAAgB;AAAA,QAChB,SAAU;AAAA,QACV,YAAa;AAAA,QACX,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEF;AACD;AAEA,IAAO,eAAQ;",
4
+ "sourcesContent": ["import { animated } from '@react-spring/web';\nimport clsx from 'clsx';\nimport { __experimentalTreeGridRow as TreeGridRow } from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\nimport useMovingAnimation from '../use-moving-animation';\n\nconst AnimatedTreeGridRow = animated( TreeGridRow );\n\nconst ListViewLeaf = forwardRef(\n\t(\n\t\t{\n\t\t\tisDragged,\n\t\t\tisSelected,\n\t\t\tposition,\n\t\t\tlevel,\n\t\t\trowCount,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tpath,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst animationRef = useMovingAnimation( {\n\t\t\tclientId: props[ 'data-block' ],\n\t\t\tenableAnimation: true,\n\t\t\ttriggerAnimationOnChange: path,\n\t\t} );\n\n\t\tconst mergedRef = useMergeRefs( [ ref, animationRef ] );\n\n\t\treturn (\n\t\t\t<AnimatedTreeGridRow\n\t\t\t\tref={ mergedRef }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-leaf', className ) }\n\t\t\t\tlevel={ level }\n\t\t\t\tpositionInSet={ position }\n\t\t\t\tsetSize={ rowCount }\n\t\t\t\tisExpanded={ undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</AnimatedTreeGridRow>\n\t\t);\n\t}\n);\n\nexport default ListViewLeaf;\n"],
5
+ "mappings": ";AAAA,SAAS,gBAAgB;AACzB,OAAO,UAAU;AACjB,SAAS,6BAA6B,mBAAmB;AACzD,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,OAAO,wBAAwB;AA4B5B;AA1BH,IAAM,sBAAsB,SAAU,WAAY;AAElD,IAAM,eAAe;AAAA,EACpB,CACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,GACA,QACI;AACJ,UAAM,eAAe,mBAAoB;AAAA,MACxC,UAAU,MAAO,YAAa;AAAA,MAC9B,iBAAiB;AAAA,MACjB,0BAA0B;AAAA,IAC3B,CAAE;AAEF,UAAM,YAAY,aAAc,CAAE,KAAK,YAAa,CAAE;AAEtD,WACC;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,WAAY,KAAM,+BAA+B,SAAU;AAAA,QAC3D;AAAA,QACA,eAAgB;AAAA,QAChB,SAAU;AAAA,QACV,YAAa;AAAA,QACX,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEF;AACD;AAEA,IAAO,eAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-block-selection.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END, ESCAPE } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey && event?.keyCode !== ESCAPE ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isOnlyDeselection =\n\t\t\t\tevent.type === 'keydown' && event.keyCode === ESCAPE;\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisOnlyDeselection ||\n\t\t\t\t( isKeyPress &&\n\t\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t\t) )\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\t// Update selection, if not only clearing the selection.\n\t\t\tif ( ! isOnlyDeselection ) {\n\t\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\t\tlet endTarget = clientId;\n\n\t\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\t\tif ( isKeyPress ) {\n\t\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t\t}\n\t\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\t\tstartTarget,\n\t\t\t\t\tendTarget,\n\t\t\t\t\tstartParents,\n\t\t\t\t\tendParents\n\t\t\t\t);\n\t\t\t\tawait multiSelect( start, end, null );\n\t\t\t}\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { speak } from '@wordpress/a11y';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { UP, DOWN, HOME, END, ESCAPE } from '@wordpress/keycodes';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { store as blockEditorStore } from '../../store';\nimport { getCommonDepthClientIds } from './utils';\n\nexport default function useBlockSelection() {\n\tconst { clearSelectedBlock, multiSelect, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockName,\n\t\tgetBlockParents,\n\t\tgetBlockSelectionStart,\n\t\tgetSelectedBlockClientIds,\n\t\thasMultiSelection,\n\t\thasSelectedBlock,\n\t} = useSelect( blockEditorStore );\n\n\tconst { getBlockType } = useSelect( blocksStore );\n\n\tconst updateBlockSelection = useCallback(\n\t\tasync ( event, clientId, destinationClientId, focusPosition ) => {\n\t\t\tif ( ! event?.shiftKey && event?.keyCode !== ESCAPE ) {\n\t\t\t\tselectBlock( clientId, focusPosition );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// To handle multiple block selection via the `SHIFT` key, prevent\n\t\t\t// the browser default behavior of opening the link in a new window.\n\t\t\tevent.preventDefault();\n\n\t\t\tconst isOnlyDeselection =\n\t\t\t\tevent.type === 'keydown' && event.keyCode === ESCAPE;\n\t\t\tconst isKeyPress =\n\t\t\t\tevent.type === 'keydown' &&\n\t\t\t\t( event.keyCode === UP ||\n\t\t\t\t\tevent.keyCode === DOWN ||\n\t\t\t\t\tevent.keyCode === HOME ||\n\t\t\t\t\tevent.keyCode === END );\n\n\t\t\t// Handle clicking on a block when no blocks are selected, and return early.\n\t\t\tif (\n\t\t\t\t! isKeyPress &&\n\t\t\t\t! hasSelectedBlock() &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tselectBlock( clientId, null );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectedBlocks = getSelectedBlockClientIds();\n\t\t\tconst clientIdWithParents = [\n\t\t\t\t...getBlockParents( clientId ),\n\t\t\t\tclientId,\n\t\t\t];\n\n\t\t\tif (\n\t\t\t\tisOnlyDeselection ||\n\t\t\t\t( isKeyPress &&\n\t\t\t\t\t! selectedBlocks.some( ( blockId ) =>\n\t\t\t\t\t\tclientIdWithParents.includes( blockId )\n\t\t\t\t\t) )\n\t\t\t) {\n\t\t\t\t// Ensure that shift-selecting blocks via the keyboard only\n\t\t\t\t// expands the current selection if focusing over already\n\t\t\t\t// selected blocks. Otherwise, clear the selection so that\n\t\t\t\t// a user can create a new selection entirely by keyboard.\n\t\t\t\tawait clearSelectedBlock();\n\t\t\t}\n\n\t\t\t// Update selection, if not only clearing the selection.\n\t\t\tif ( ! isOnlyDeselection ) {\n\t\t\t\tlet startTarget = getBlockSelectionStart();\n\t\t\t\tlet endTarget = clientId;\n\n\t\t\t\t// Handle keyboard behavior for selecting multiple blocks.\n\t\t\t\tif ( isKeyPress ) {\n\t\t\t\t\tif ( ! hasSelectedBlock() && ! hasMultiSelection() ) {\n\t\t\t\t\t\t// Set the starting point of the selection to the currently\n\t\t\t\t\t\t// focused block, if there are no blocks currently selected.\n\t\t\t\t\t\t// This ensures that as the selection is expanded or contracted,\n\t\t\t\t\t\t// the starting point of the selection is anchored to that block.\n\t\t\t\t\t\tstartTarget = clientId;\n\t\t\t\t\t}\n\t\t\t\t\tif ( destinationClientId ) {\n\t\t\t\t\t\t// If the user presses UP or DOWN, we want to ensure that the block they're\n\t\t\t\t\t\t// moving to is the target for selection, and not the currently focused one.\n\t\t\t\t\t\tendTarget = destinationClientId;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst startParents = getBlockParents( startTarget );\n\t\t\t\tconst endParents = getBlockParents( endTarget );\n\n\t\t\t\tconst { start, end } = getCommonDepthClientIds(\n\t\t\t\t\tstartTarget,\n\t\t\t\t\tendTarget,\n\t\t\t\t\tstartParents,\n\t\t\t\t\tendParents\n\t\t\t\t);\n\t\t\t\tawait multiSelect( start, end, null );\n\t\t\t}\n\n\t\t\t// Announce deselected block, or number of deselected blocks if\n\t\t\t// the total number of blocks deselected is greater than one.\n\t\t\tconst updatedSelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// If the selection is greater than 1 and the Home or End keys\n\t\t\t// were used to generate the selection, then skip announcing the\n\t\t\t// deselected blocks.\n\t\t\tif (\n\t\t\t\t( event.keyCode === HOME || event.keyCode === END ) &&\n\t\t\t\tupdatedSelectedBlocks.length > 1\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selectionDiff = selectedBlocks.filter(\n\t\t\t\t( blockId ) => ! updatedSelectedBlocks.includes( blockId )\n\t\t\t);\n\n\t\t\tlet label;\n\t\t\tif ( selectionDiff.length === 1 ) {\n\t\t\t\tconst title = getBlockType(\n\t\t\t\t\tgetBlockName( selectionDiff[ 0 ] )\n\t\t\t\t)?.title;\n\t\t\t\tif ( title ) {\n\t\t\t\t\tlabel = sprintf(\n\t\t\t\t\t\t/* translators: %s: block name */\n\t\t\t\t\t\t__( '%s deselected.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( selectionDiff.length > 1 ) {\n\t\t\t\tlabel = sprintf(\n\t\t\t\t\t/* translators: %s: number of deselected blocks */\n\t\t\t\t\t__( '%s blocks deselected.' ),\n\t\t\t\t\tselectionDiff.length\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif ( label ) {\n\t\t\t\tspeak( label, 'assertive' );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tclearSelectedBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockType,\n\t\t\tgetBlockParents,\n\t\t\tgetBlockSelectionStart,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\thasMultiSelection,\n\t\t\thasSelectedBlock,\n\t\t\tmultiSelect,\n\t\t\tselectBlock,\n\t\t]\n\t);\n\n\treturn {\n\t\tupdateBlockSelection,\n\t};\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-clipboard-handler.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\nimport { focusListItem } from './utils';\nimport { getPasteBlocks, setClipboardBlocks } from '../writing-flow/utils';\n\n// This hook borrows from useClipboardHandler in ../writing-flow/use-clipboard-handler.js\n// and adds behaviour for the list view, while skipping partial selection.\nexport default function useClipboardHandler( { selectBlock } ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlocksByClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetSelectedBlockClientIds,\n\t\tgetSettings,\n\t\tcanInsertBlockType,\n\t\tcanRemoveBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst { flashBlock, removeBlocks, replaceBlocks, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction updateFocusAndSelection( focusClientId, shouldSelectBlock ) {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, node );\n\t\t}\n\n\t\t// Determine which blocks to update:\n\t\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t\t// If the focused block is not part of the block selection, only update the focused block.\n\t\tfunction getBlocksToUpdate( clientId ) {\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst isUpdatingSelectedBlocks =\n\t\t\t\tselectedBlockClientIds.includes( clientId );\n\t\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t\t: clientId;\n\t\t\tconst firstBlockRootClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t\t? selectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\treturn {\n\t\t\t\tblocksToUpdate,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\toriginallySelectedBlockClientIds: selectedBlockClientIds,\n\t\t\t};\n\t\t}\n\n\t\tfunction handler( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\t// This was possibly already handled in rich-text/use-paste-handler.js.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only handle events that occur within the list view.\n\t\t\tif ( ! node.contains( event.target.ownerDocument.activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Retrieve the block clientId associated with the focused list view row.\n\t\t\t// This enables applying copy / cut / paste behavior to the focused block,\n\t\t\t// rather than just the blocks that are currently selected.\n\t\t\tconst listViewRow =\n\t\t\t\tevent.target.ownerDocument.activeElement?.closest(\n\t\t\t\t\t'[role=row]'\n\t\t\t\t);\n\t\t\tconst clientId = listViewRow?.dataset?.block;\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: selectedBlockClientIds,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\toriginallySelectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate( clientId );\n\n\t\t\tif ( selectedBlockClientIds.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( event.type === 'copy' || event.type === 'cut' ) {\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tnotifyCopy( event.type, selectedBlockClientIds );\n\t\t\t\tconst blocks = getBlocksByClientId( selectedBlockClientIds );\n\t\t\t\tsetClipboardBlocks( event, blocks, registry );\n\t\t\t}\n\n\t\t\tif ( event.type === 'cut' ) {\n\t\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\t\tif ( ! canRemoveBlocks( selectedBlockClientIds ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet blockToFocus =\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t\t// fallback to focus the parent block.\n\t\t\t\t\tfirstBlockRootClientId;\n\n\t\t\t\t// Remove blocks, but don't update selection, and it will be handled below.\n\t\t\t\tremoveBlocks( selectedBlockClientIds, false );\n\n\t\t\t\t// Update the selection if the original selection has been removed.\n\t\t\t\tconst shouldUpdateSelection =\n\t\t\t\t\toriginallySelectedBlockClientIds.length > 0 &&\n\t\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\t\tif ( ! blockToFocus ) {\n\t\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t\t}\n\n\t\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t\t} else if ( event.type === 'paste' ) {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalCanUserUseUnfilteredHTML:\n\t\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t} = getSettings();\n\t\t\t\tconst blocks = getPasteBlocks(\n\t\t\t\t\tevent,\n\t\t\t\t\tcanUserUseUnfilteredHTML\n\t\t\t\t);\n\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tconst [ selectedBlockClientId ] = selectedBlockClientIds;\n\n\t\t\t\t\t// If a single block is focused, and the blocks to be posted can\n\t\t\t\t\t// be inserted within the block, then append the pasted blocks\n\t\t\t\t\t// within the focused block. For example, if you have copied a paragraph\n\t\t\t\t\t// block and paste it within a single Group block, this will append\n\t\t\t\t\t// the paragraph block within the Group block.\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.every( ( block ) =>\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t\tupdateFocusAndSelection( blocks[ 0 ]?.clientId, false );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlockClientIds,\n\t\t\t\t\tblocks,\n\t\t\t\t\tblocks.length - 1,\n\t\t\t\t\t-1\n\t\t\t\t);\n\t\t\t\tupdateFocusAndSelection( blocks[ 0 ]?.clientId, false );\n\t\t\t}\n\t\t}\n\n\t\tnode.ownerDocument.addEventListener( 'copy', handler );\n\t\tnode.ownerDocument.addEventListener( 'cut', handler );\n\t\tnode.ownerDocument.addEventListener( 'paste', handler );\n\n\t\treturn () => {\n\t\t\tnode.ownerDocument.removeEventListener( 'copy', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'cut', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'paste', handler );\n\t\t};\n\t}, [] );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { store as blockEditorStore } from '../../store';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\nimport { focusListItem } from './utils';\nimport { getPasteBlocks, setClipboardBlocks } from '../writing-flow/utils';\n\n// This hook borrows from useClipboardHandler in ../writing-flow/use-clipboard-handler.js\n// and adds behaviour for the list view, while skipping partial selection.\nexport default function useClipboardHandler( { selectBlock } ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlocksByClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetSelectedBlockClientIds,\n\t\tgetSettings,\n\t\tcanInsertBlockType,\n\t\tcanRemoveBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst { flashBlock, removeBlocks, replaceBlocks, insertBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction updateFocusAndSelection( focusClientId, shouldSelectBlock ) {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, node );\n\t\t}\n\n\t\t// Determine which blocks to update:\n\t\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t\t// If the focused block is not part of the block selection, only update the focused block.\n\t\tfunction getBlocksToUpdate( clientId ) {\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst isUpdatingSelectedBlocks =\n\t\t\t\tselectedBlockClientIds.includes( clientId );\n\t\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t\t: clientId;\n\t\t\tconst firstBlockRootClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t\t? selectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\treturn {\n\t\t\t\tblocksToUpdate,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\toriginallySelectedBlockClientIds: selectedBlockClientIds,\n\t\t\t};\n\t\t}\n\n\t\tfunction handler( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\t// This was possibly already handled in rich-text/use-paste-handler.js.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only handle events that occur within the list view.\n\t\t\tif ( ! node.contains( event.target.ownerDocument.activeElement ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Retrieve the block clientId associated with the focused list view row.\n\t\t\t// This enables applying copy / cut / paste behavior to the focused block,\n\t\t\t// rather than just the blocks that are currently selected.\n\t\t\tconst listViewRow =\n\t\t\t\tevent.target.ownerDocument.activeElement?.closest(\n\t\t\t\t\t'[role=row]'\n\t\t\t\t);\n\t\t\tconst clientId = listViewRow?.dataset?.block;\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: selectedBlockClientIds,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\toriginallySelectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate( clientId );\n\n\t\t\tif ( selectedBlockClientIds.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( event.type === 'copy' || event.type === 'cut' ) {\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\tnotifyCopy( event.type, selectedBlockClientIds );\n\t\t\t\tconst blocks = getBlocksByClientId( selectedBlockClientIds );\n\t\t\t\tsetClipboardBlocks( event, blocks, registry );\n\t\t\t}\n\n\t\t\tif ( event.type === 'cut' ) {\n\t\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\t\tif ( ! canRemoveBlocks( selectedBlockClientIds ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet blockToFocus =\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t\t// fallback to focus the parent block.\n\t\t\t\t\tfirstBlockRootClientId;\n\n\t\t\t\t// Remove blocks, but don't update selection, and it will be handled below.\n\t\t\t\tremoveBlocks( selectedBlockClientIds, false );\n\n\t\t\t\t// Update the selection if the original selection has been removed.\n\t\t\t\tconst shouldUpdateSelection =\n\t\t\t\t\toriginallySelectedBlockClientIds.length > 0 &&\n\t\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\t\tif ( ! blockToFocus ) {\n\t\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t\t}\n\n\t\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t\t} else if ( event.type === 'paste' ) {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalCanUserUseUnfilteredHTML:\n\t\t\t\t\t\tcanUserUseUnfilteredHTML,\n\t\t\t\t} = getSettings();\n\t\t\t\tconst blocks = getPasteBlocks(\n\t\t\t\t\tevent,\n\t\t\t\t\tcanUserUseUnfilteredHTML\n\t\t\t\t);\n\n\t\t\t\tif ( selectedBlockClientIds.length === 1 ) {\n\t\t\t\t\tconst [ selectedBlockClientId ] = selectedBlockClientIds;\n\n\t\t\t\t\t// If a single block is focused, and the blocks to be posted can\n\t\t\t\t\t// be inserted within the block, then append the pasted blocks\n\t\t\t\t\t// within the focused block. For example, if you have copied a paragraph\n\t\t\t\t\t// block and paste it within a single Group block, this will append\n\t\t\t\t\t// the paragraph block within the Group block.\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.every( ( block ) =>\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tselectedBlockClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t\tupdateFocusAndSelection( blocks[ 0 ]?.clientId, false );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlockClientIds,\n\t\t\t\t\tblocks,\n\t\t\t\t\tblocks.length - 1,\n\t\t\t\t\t-1\n\t\t\t\t);\n\t\t\t\tupdateFocusAndSelection( blocks[ 0 ]?.clientId, false );\n\t\t\t}\n\t\t}\n\n\t\tnode.ownerDocument.addEventListener( 'copy', handler );\n\t\tnode.ownerDocument.addEventListener( 'cut', handler );\n\t\tnode.ownerDocument.addEventListener( 'paste', handler );\n\n\t\treturn () => {\n\t\t\tnode.ownerDocument.removeEventListener( 'copy', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'cut', handler );\n\t\t\tnode.ownerDocument.removeEventListener( 'paste', handler );\n\t\t};\n\t}, [] );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-block-indexes.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\nexport default function useListViewBlockIndexes( blocks ) {\n\tconst blockIndexes = useMemo( () => {\n\t\tconst indexes = {};\n\n\t\tlet currentGlobalIndex = 0;\n\n\t\tconst traverseBlocks = ( blockList ) => {\n\t\t\tblockList.forEach( ( block ) => {\n\t\t\t\tindexes[ block.clientId ] = currentGlobalIndex;\n\t\t\t\tcurrentGlobalIndex++;\n\n\t\t\t\tif ( block.innerBlocks.length > 0 ) {\n\t\t\t\t\ttraverseBlocks( block.innerBlocks );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n\t\ttraverseBlocks( blocks );\n\n\t\treturn indexes;\n\t}, [ blocks ] );\n\n\treturn blockIndexes;\n}\n"],
5
- "mappings": ";AAGA,SAAS,eAAe;AAET,SAAR,wBAA0C,QAAS;AACzD,QAAM,eAAe,QAAS,MAAM;AACnC,UAAM,UAAU,CAAC;AAEjB,QAAI,qBAAqB;AAEzB,UAAM,iBAAiB,CAAE,cAAe;AACvC,gBAAU,QAAS,CAAE,UAAW;AAC/B,gBAAS,MAAM,QAAS,IAAI;AAC5B;AAEA,YAAK,MAAM,YAAY,SAAS,GAAI;AACnC,yBAAgB,MAAM,WAAY;AAAA,QACnC;AAAA,MACD,CAAE;AAAA,IACH;AAEA,mBAAgB,MAAO;AAEvB,WAAO;AAAA,EACR,GAAG,CAAE,MAAO,CAAE;AAEd,SAAO;AACR;",
4
+ "sourcesContent": ["import { useMemo } from '@wordpress/element';\n\nexport default function useListViewBlockIndexes( blocks ) {\n\tconst blockIndexes = useMemo( () => {\n\t\tconst indexes = {};\n\n\t\tlet currentGlobalIndex = 0;\n\n\t\tconst traverseBlocks = ( blockList ) => {\n\t\t\tblockList.forEach( ( block ) => {\n\t\t\t\tindexes[ block.clientId ] = currentGlobalIndex;\n\t\t\t\tcurrentGlobalIndex++;\n\n\t\t\t\tif ( block.innerBlocks.length > 0 ) {\n\t\t\t\t\ttraverseBlocks( block.innerBlocks );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n\t\ttraverseBlocks( blocks );\n\n\t\treturn indexes;\n\t}, [ blocks ] );\n\n\treturn blockIndexes;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,eAAe;AAET,SAAR,wBAA0C,QAAS;AACzD,QAAM,eAAe,QAAS,MAAM;AACnC,UAAM,UAAU,CAAC;AAEjB,QAAI,qBAAqB;AAEzB,UAAM,iBAAiB,CAAE,cAAe;AACvC,gBAAU,QAAS,CAAE,UAAW;AAC/B,gBAAS,MAAM,QAAS,IAAI;AAC5B;AAEA,YAAK,MAAM,YAAY,SAAS,GAAI;AACnC,yBAAgB,MAAM,WAAY;AAAA,QACnC;AAAA,MACD,CAAE;AAAA,IACH;AAEA,mBAAgB,MAAO;AAEvB,WAAO;AAAA,EACR,GAAG,CAAE,MAAO,CAAE;AAEd,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-client-ids.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\n\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useListViewClientIds( { blocks, rootClientId } ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetDraggedBlockClientIds,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetListViewClientIdsTree,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\treturn {\n\t\t\t\tselectedClientIds: getSelectedBlockClientIds(),\n\t\t\t\tdraggedClientIds: getDraggedBlockClientIds(),\n\t\t\t\tclientIdsTree:\n\t\t\t\t\tblocks ?? getListViewClientIdsTree( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ blocks, rootClientId ]\n\t);\n}\n"],
5
- "mappings": ";AAIA,SAAS,iBAAiB;AAK1B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAER,SAAR,qBAAuC,EAAE,QAAQ,aAAa,GAAI;AACxE,SAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AAEvC,aAAO;AAAA,QACN,mBAAmB,0BAA0B;AAAA,QAC7C,kBAAkB,yBAAyB;AAAA,QAC3C,eACC,UAAU,yBAA0B,YAAa;AAAA,MACnD;AAAA,IACD;AAAA,IACA,CAAE,QAAQ,YAAa;AAAA,EACxB;AACD;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useListViewClientIds( { blocks, rootClientId } ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetDraggedBlockClientIds,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetListViewClientIdsTree,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\treturn {\n\t\t\t\tselectedClientIds: getSelectedBlockClientIds(),\n\t\t\t\tdraggedClientIds: getDraggedBlockClientIds(),\n\t\t\t\tclientIdsTree:\n\t\t\t\t\tblocks ?? getListViewClientIdsTree( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ blocks, rootClientId ]\n\t);\n}\n"],
5
+ "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAER,SAAR,qBAAuC,EAAE,QAAQ,aAAa,GAAI;AACxE,SAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AAEvC,aAAO;AAAA,QACN,mBAAmB,0BAA0B;AAAA,QAC7C,kBAAkB,yBAAyB;AAAA,QAC3C,eACC,UAAU,yBAA0B,YAAa;AAAA,MACnD;AAAA,IACD;AAAA,IACA,CAAE,QAAQ,YAAa;AAAA,EACxB;AACD;",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,7 @@ import { useEffect } from "@wordpress/element";
3
3
  import { useSelect } from "@wordpress/data";
4
4
  import { store as blockEditorStore } from "../../store/index.mjs";
5
5
  import { unlock } from "../../lock-unlock.mjs";
6
- function useListViewCollapseItems({ collapseAll, expand }) {
6
+ function useListViewCollapseItems({ updateExpansion }) {
7
7
  const { expandedBlock, getBlockParents } = useSelect((select) => {
8
8
  const { getBlockParents: _getBlockParents, getExpandedBlock } = unlock(
9
9
  select(blockEditorStore)
@@ -16,10 +16,9 @@ function useListViewCollapseItems({ collapseAll, expand }) {
16
16
  useEffect(() => {
17
17
  if (expandedBlock) {
18
18
  const blockParents = getBlockParents(expandedBlock, false);
19
- collapseAll();
20
- expand(blockParents);
19
+ updateExpansion({ type: "replace", clientIds: blockParents });
21
20
  }
22
- }, [collapseAll, expand, expandedBlock, getBlockParents]);
21
+ }, [updateExpansion, expandedBlock, getBlockParents]);
23
22
  }
24
23
  export {
25
24
  useListViewCollapseItems as default
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-collapse-items.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useListViewCollapseItems( { collapseAll, expand } ) {\n\tconst { expandedBlock, getBlockParents } = useSelect( ( select ) => {\n\t\tconst { getBlockParents: _getBlockParents, getExpandedBlock } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\t\treturn {\n\t\t\texpandedBlock: getExpandedBlock(),\n\t\t\tgetBlockParents: _getBlockParents,\n\t\t};\n\t}, [] );\n\n\t// Collapse all but the specified block when the expanded block client Id changes.\n\tuseEffect( () => {\n\t\tif ( expandedBlock ) {\n\t\t\tconst blockParents = getBlockParents( expandedBlock, false );\n\t\t\t// Collapse all blocks and expand the block's parents.\n\t\t\tcollapseAll();\n\t\t\texpand( blockParents );\n\t\t}\n\t}, [ collapseAll, expand, expandedBlock, getBlockParents ] );\n}\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAK1B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAER,SAAR,yBAA2C,EAAE,aAAa,OAAO,GAAI;AAC3E,QAAM,EAAE,eAAe,gBAAgB,IAAI,UAAW,CAAE,WAAY;AACnE,UAAM,EAAE,iBAAiB,kBAAkB,iBAAiB,IAAI;AAAA,MAC/D,OAAQ,gBAAiB;AAAA,IAC1B;AACA,WAAO;AAAA,MACN,eAAe,iBAAiB;AAAA,MAChC,iBAAiB;AAAA,IAClB;AAAA,EACD,GAAG,CAAC,CAAE;AAGN,YAAW,MAAM;AAChB,QAAK,eAAgB;AACpB,YAAM,eAAe,gBAAiB,eAAe,KAAM;AAE3D,kBAAY;AACZ,aAAQ,YAAa;AAAA,IACtB;AAAA,EACD,GAAG,CAAE,aAAa,QAAQ,eAAe,eAAgB,CAAE;AAC5D;",
4
+ "sourcesContent": ["import { useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useListViewCollapseItems( { updateExpansion } ) {\n\tconst { expandedBlock, getBlockParents } = useSelect( ( select ) => {\n\t\tconst { getBlockParents: _getBlockParents, getExpandedBlock } = unlock(\n\t\t\tselect( blockEditorStore )\n\t\t);\n\t\treturn {\n\t\t\texpandedBlock: getExpandedBlock(),\n\t\t\tgetBlockParents: _getBlockParents,\n\t\t};\n\t}, [] );\n\n\t// Collapse all but the specified block when the expanded block client Id changes.\n\tuseEffect( () => {\n\t\tif ( expandedBlock ) {\n\t\t\tconst blockParents = getBlockParents( expandedBlock, false );\n\t\t\t// Collapse all blocks and expand the block's parents.\n\t\t\tupdateExpansion( { type: 'replace', clientIds: blockParents } );\n\t\t}\n\t}, [ updateExpansion, expandedBlock, getBlockParents ] );\n}\n"],
5
+ "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAER,SAAR,yBAA2C,EAAE,gBAAgB,GAAI;AACvE,QAAM,EAAE,eAAe,gBAAgB,IAAI,UAAW,CAAE,WAAY;AACnE,UAAM,EAAE,iBAAiB,kBAAkB,iBAAiB,IAAI;AAAA,MAC/D,OAAQ,gBAAiB;AAAA,IAC1B;AACA,WAAO;AAAA,MACN,eAAe,iBAAiB;AAAA,MAChC,iBAAiB;AAAA,IAClB;AAAA,EACD,GAAG,CAAC,CAAE;AAGN,YAAW,MAAM;AAChB,QAAK,eAAgB;AACpB,YAAM,eAAe,gBAAiB,eAAe,KAAM;AAE3D,sBAAiB,EAAE,MAAM,WAAW,WAAW,aAAa,CAAE;AAAA,IAC/D;AAAA,EACD,GAAG,CAAE,iBAAiB,eAAe,eAAgB,CAAE;AACxD;",
6
6
  "names": []
7
7
  }