@wordpress/block-editor 16.2.0 → 17.0.2-next.v.202608281122.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 (1804) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/build/autocompleters/block.cjs +1 -1
  3. package/build/autocompleters/block.cjs.map +1 -1
  4. package/build/components/alignment-control/index.cjs +1 -1
  5. package/build/components/alignment-control/index.cjs.map +1 -1
  6. package/build/components/alignment-control/ui.cjs +1 -1
  7. package/build/components/alignment-control/ui.cjs.map +1 -1
  8. package/build/components/autocomplete/index.cjs +1 -1
  9. package/build/components/autocomplete/index.cjs.map +1 -1
  10. package/build/components/background-image-control/index.cjs +1 -1
  11. package/build/components/background-image-control/index.cjs.map +1 -1
  12. package/build/components/block-alignment-control/index.cjs +1 -1
  13. package/build/components/block-alignment-control/index.cjs.map +1 -1
  14. package/build/components/block-alignment-control/ui.cjs +1 -1
  15. package/build/components/block-alignment-control/ui.cjs.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.cjs +1 -1
  17. package/build/components/block-alignment-matrix-control/index.cjs.map +1 -1
  18. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs +1 -1
  19. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +1 -1
  20. package/build/components/block-allowed-blocks/modal.cjs +1 -1
  21. package/build/components/block-allowed-blocks/modal.cjs.map +1 -1
  22. package/build/components/block-bindings/attribute-control.cjs +1 -1
  23. package/build/components/block-bindings/attribute-control.cjs.map +1 -1
  24. package/build/components/block-bindings/source-fields-list.cjs +1 -1
  25. package/build/components/block-bindings/source-fields-list.cjs.map +1 -1
  26. package/build/components/block-breadcrumb/index.cjs +1 -1
  27. package/build/components/block-breadcrumb/index.cjs.map +1 -1
  28. package/build/components/block-canvas/index.cjs +1 -1
  29. package/build/components/block-canvas/index.cjs.map +1 -1
  30. package/build/components/block-card/index.cjs +1 -1
  31. package/build/components/block-card/index.cjs.map +1 -1
  32. package/build/components/block-compare/block-view.cjs +1 -1
  33. package/build/components/block-compare/block-view.cjs.map +1 -1
  34. package/build/components/block-compare/index.cjs +1 -1
  35. package/build/components/block-compare/index.cjs.map +1 -1
  36. package/build/components/block-context/index.cjs +1 -1
  37. package/build/components/block-context/index.cjs.map +1 -1
  38. package/build/components/block-controls/fill.cjs +1 -1
  39. package/build/components/block-controls/fill.cjs.map +1 -1
  40. package/build/components/block-controls/index.cjs +1 -1
  41. package/build/components/block-controls/index.cjs.map +1 -1
  42. package/build/components/block-controls/slot.cjs +1 -1
  43. package/build/components/block-controls/slot.cjs.map +1 -1
  44. package/build/components/block-draggable/draggable-chip.cjs +1 -1
  45. package/build/components/block-draggable/draggable-chip.cjs.map +1 -1
  46. package/build/components/block-draggable/index.cjs +1 -1
  47. package/build/components/block-draggable/index.cjs.map +1 -1
  48. package/build/components/block-edit/edit.cjs +1 -1
  49. package/build/components/block-edit/edit.cjs.map +1 -1
  50. package/build/components/block-edit/index.cjs +1 -1
  51. package/build/components/block-edit/index.cjs.map +1 -1
  52. package/build/components/block-edit/multiple-usage-warning.cjs +1 -1
  53. package/build/components/block-edit/multiple-usage-warning.cjs.map +1 -1
  54. package/build/components/block-edit-visually-button/index.cjs +1 -1
  55. package/build/components/block-edit-visually-button/index.cjs.map +1 -1
  56. package/build/components/block-full-height-alignment-control/index.cjs +1 -1
  57. package/build/components/block-full-height-alignment-control/index.cjs.map +1 -1
  58. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs +1 -1
  59. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +1 -1
  60. package/build/components/block-heading-level-dropdown/index.cjs +1 -1
  61. package/build/components/block-heading-level-dropdown/index.cjs.map +1 -1
  62. package/build/components/block-icon/index.cjs +1 -1
  63. package/build/components/block-icon/index.cjs.map +1 -1
  64. package/build/components/block-inspector/edit-contents.cjs +1 -1
  65. package/build/components/block-inspector/edit-contents.cjs.map +1 -1
  66. package/build/components/block-inspector/index.cjs +14 -10
  67. package/build/components/block-inspector/index.cjs.map +3 -3
  68. package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
  69. package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
  70. package/build/components/block-list/block-crash-warning.cjs +1 -1
  71. package/build/components/block-list/block-crash-warning.cjs.map +1 -1
  72. package/build/components/block-list/block-html.cjs +1 -1
  73. package/build/components/block-list/block-html.cjs.map +1 -1
  74. package/build/components/block-list/block-invalid-warning.cjs +1 -1
  75. package/build/components/block-list/block-invalid-warning.cjs.map +1 -1
  76. package/build/components/block-list/block.cjs +11 -4
  77. package/build/components/block-list/block.cjs.map +3 -3
  78. package/build/components/block-list/index.cjs +7 -2
  79. package/build/components/block-list/index.cjs.map +3 -3
  80. package/build/components/block-list/layout.cjs +1 -1
  81. package/build/components/block-list/layout.cjs.map +1 -1
  82. package/build/components/block-list/subdirectory-icon.cjs +1 -1
  83. package/build/components/block-list/subdirectory-icon.cjs.map +1 -1
  84. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +4 -0
  85. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  86. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
  87. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  88. package/build/components/block-list/zoom-out-separator.cjs +1 -1
  89. package/build/components/block-list/zoom-out-separator.cjs.map +1 -1
  90. package/build/components/block-list-appender/index.cjs +1 -1
  91. package/build/components/block-list-appender/index.cjs.map +1 -1
  92. package/build/components/block-lock/menu-item.cjs +1 -1
  93. package/build/components/block-lock/menu-item.cjs.map +1 -1
  94. package/build/components/block-lock/modal.cjs +1 -1
  95. package/build/components/block-lock/modal.cjs.map +1 -1
  96. package/build/components/block-lock/toolbar.cjs +1 -1
  97. package/build/components/block-lock/toolbar.cjs.map +1 -1
  98. package/build/components/block-manager/category.cjs +1 -1
  99. package/build/components/block-manager/category.cjs.map +1 -1
  100. package/build/components/block-manager/checklist.cjs +1 -1
  101. package/build/components/block-manager/checklist.cjs.map +1 -1
  102. package/build/components/block-manager/index.cjs +1 -1
  103. package/build/components/block-manager/index.cjs.map +1 -1
  104. package/build/components/block-mover/button.cjs +1 -1
  105. package/build/components/block-mover/button.cjs.map +1 -1
  106. package/build/components/block-mover/index.cjs +1 -1
  107. package/build/components/block-mover/index.cjs.map +1 -1
  108. package/build/components/block-navigation/dropdown.cjs +1 -1
  109. package/build/components/block-navigation/dropdown.cjs.map +1 -1
  110. package/build/components/block-parent-selector/index.cjs +99 -30
  111. package/build/components/block-parent-selector/index.cjs.map +4 -4
  112. package/build/components/block-pattern-setup/index.cjs +1 -1
  113. package/build/components/block-pattern-setup/index.cjs.map +1 -1
  114. package/build/components/block-pattern-setup/setup-toolbar.cjs +1 -1
  115. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +1 -1
  116. package/build/components/block-patterns-list/index.cjs +1 -1
  117. package/build/components/block-patterns-list/index.cjs.map +1 -1
  118. package/build/components/block-patterns-paging/index.cjs +1 -1
  119. package/build/components/block-patterns-paging/index.cjs.map +1 -1
  120. package/build/components/block-popover/cover.cjs +1 -1
  121. package/build/components/block-popover/cover.cjs.map +1 -1
  122. package/build/components/block-popover/drop-zone.cjs +1 -1
  123. package/build/components/block-popover/drop-zone.cjs.map +1 -1
  124. package/build/components/block-popover/inbetween.cjs +3 -3
  125. package/build/components/block-popover/inbetween.cjs.map +3 -3
  126. package/build/components/block-popover/index.cjs +1 -1
  127. package/build/components/block-popover/index.cjs.map +1 -1
  128. package/build/components/block-preview/auto.cjs +1 -1
  129. package/build/components/block-preview/auto.cjs.map +1 -1
  130. package/build/components/block-preview/index.cjs +1 -5
  131. package/build/components/block-preview/index.cjs.map +3 -3
  132. package/build/components/block-quick-navigation/index.cjs +1 -1
  133. package/build/components/block-quick-navigation/index.cjs.map +1 -1
  134. package/build/components/block-removal-warning-modal/index.cjs +1 -1
  135. package/build/components/block-removal-warning-modal/index.cjs.map +1 -1
  136. package/build/components/block-rename/modal.cjs +1 -1
  137. package/build/components/block-rename/modal.cjs.map +1 -1
  138. package/build/components/block-rename/rename-control.cjs +1 -1
  139. package/build/components/block-rename/rename-control.cjs.map +1 -1
  140. package/build/components/block-selection-clearer/index.cjs +1 -1
  141. package/build/components/block-selection-clearer/index.cjs.map +1 -1
  142. package/build/components/block-settings-menu/block-html-convert-button.cjs +1 -1
  143. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +1 -1
  144. package/build/components/block-settings-menu/block-mode-toggle.cjs +1 -1
  145. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +1 -1
  146. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs +1 -1
  147. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +1 -1
  148. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  149. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +1 -1
  150. package/build/components/block-settings-menu/index.cjs +1 -1
  151. package/build/components/block-settings-menu/index.cjs.map +1 -1
  152. package/build/components/block-settings-menu-controls/index.cjs +1 -1
  153. package/build/components/block-settings-menu-controls/index.cjs.map +1 -1
  154. package/build/components/block-styles/index.cjs +78 -34
  155. package/build/components/block-styles/index.cjs.map +4 -4
  156. package/build/components/block-styles/menu-items.cjs +1 -1
  157. package/build/components/block-styles/menu-items.cjs.map +1 -1
  158. package/build/components/block-switcher/block-styles-menu.cjs +1 -1
  159. package/build/components/block-switcher/block-styles-menu.cjs.map +1 -1
  160. package/build/components/block-switcher/block-transformations-menu.cjs +1 -1
  161. package/build/components/block-switcher/block-transformations-menu.cjs.map +1 -1
  162. package/build/components/block-switcher/block-variation-transformations.cjs +1 -1
  163. package/build/components/block-switcher/block-variation-transformations.cjs.map +1 -1
  164. package/build/components/block-switcher/index.cjs +1 -1
  165. package/build/components/block-switcher/index.cjs.map +1 -1
  166. package/build/components/block-switcher/pattern-transformations-menu.cjs +1 -1
  167. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +1 -1
  168. package/build/components/block-switcher/preview-block-popover.cjs +1 -1
  169. package/build/components/block-switcher/preview-block-popover.cjs.map +1 -1
  170. package/build/components/block-toolbar/block-styles-dropdown.cjs +1 -1
  171. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +1 -1
  172. package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
  173. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +1 -1
  174. package/build/components/block-toolbar/change-design.cjs +1 -1
  175. package/build/components/block-toolbar/change-design.cjs.map +1 -1
  176. package/build/components/block-toolbar/edit-section-button.cjs +1 -1
  177. package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
  178. package/build/components/block-toolbar/index.cjs +1 -1
  179. package/build/components/block-toolbar/index.cjs.map +1 -1
  180. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs +1 -1
  181. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +1 -1
  182. package/build/components/block-toolbar/switch-section-style.cjs +1 -1
  183. package/build/components/block-toolbar/switch-section-style.cjs.map +1 -1
  184. package/build/components/block-tools/block-toolbar-popover.cjs +1 -1
  185. package/build/components/block-tools/block-toolbar-popover.cjs.map +1 -1
  186. package/build/components/block-tools/empty-block-inserter.cjs +1 -1
  187. package/build/components/block-tools/empty-block-inserter.cjs.map +1 -1
  188. package/build/components/block-tools/index.cjs +1 -1
  189. package/build/components/block-tools/index.cjs.map +1 -1
  190. package/build/components/block-tools/insertion-point.cjs +1 -1
  191. package/build/components/block-tools/insertion-point.cjs.map +1 -1
  192. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs +1 -1
  193. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +1 -1
  194. package/build/components/block-tools/zoom-out-mode-inserters.cjs +1 -1
  195. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +1 -1
  196. package/build/components/block-types-list/index.cjs +1 -1
  197. package/build/components/block-types-list/index.cjs.map +1 -1
  198. package/build/components/block-variation-picker/index.cjs +1 -1
  199. package/build/components/block-variation-picker/index.cjs.map +1 -1
  200. package/build/components/block-variation-transforms/index.cjs +1 -1
  201. package/build/components/block-variation-transforms/index.cjs.map +1 -1
  202. package/build/components/block-vertical-alignment-control/index.cjs +1 -1
  203. package/build/components/block-vertical-alignment-control/index.cjs.map +1 -1
  204. package/build/components/block-vertical-alignment-control/ui.cjs +1 -1
  205. package/build/components/block-vertical-alignment-control/ui.cjs.map +1 -1
  206. package/build/components/block-visibility/constants.cjs.map +2 -2
  207. package/build/components/block-visibility/modal.cjs +1 -1
  208. package/build/components/block-visibility/modal.cjs.map +1 -1
  209. package/build/components/block-visibility/viewport-menu-item.cjs +1 -1
  210. package/build/components/block-visibility/viewport-menu-item.cjs.map +1 -1
  211. package/build/components/block-visibility/viewport-toolbar.cjs +1 -1
  212. package/build/components/block-visibility/viewport-toolbar.cjs.map +1 -1
  213. package/build/components/block-visibility/viewport-visibility-info.cjs +1 -1
  214. package/build/components/block-visibility/viewport-visibility-info.cjs.map +1 -1
  215. package/build/components/border-radius-control/index.cjs +1 -1
  216. package/build/components/border-radius-control/index.cjs.map +1 -1
  217. package/build/components/border-radius-control/linked-button.cjs +1 -1
  218. package/build/components/border-radius-control/linked-button.cjs.map +1 -1
  219. package/build/components/button-block-appender/index.cjs +1 -1
  220. package/build/components/button-block-appender/index.cjs.map +1 -1
  221. package/build/components/child-layout-control/index.cjs +1 -1
  222. package/build/components/child-layout-control/index.cjs.map +3 -3
  223. package/build/components/color-palette/control.cjs +1 -1
  224. package/build/components/color-palette/control.cjs.map +1 -1
  225. package/build/components/color-palette/with-color-context.cjs +1 -1
  226. package/build/components/color-palette/with-color-context.cjs.map +1 -1
  227. package/build/components/color-style-selector/index.cjs +1 -1
  228. package/build/components/color-style-selector/index.cjs.map +1 -1
  229. package/build/components/colors/with-colors.cjs +56 -72
  230. package/build/components/colors/with-colors.cjs.map +3 -3
  231. package/build/components/colors-gradients/control.cjs +1 -1
  232. package/build/components/colors-gradients/control.cjs.map +1 -1
  233. package/build/components/colors-gradients/dropdown.cjs +1 -1
  234. package/build/components/colors-gradients/dropdown.cjs.map +1 -1
  235. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +1 -1
  236. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +1 -1
  237. package/build/components/contrast-checker/index.cjs +1 -1
  238. package/build/components/contrast-checker/index.cjs.map +1 -1
  239. package/build/components/convert-to-group-buttons/index.cjs +1 -1
  240. package/build/components/convert-to-group-buttons/index.cjs.map +1 -1
  241. package/build/components/convert-to-group-buttons/toolbar.cjs +1 -1
  242. package/build/components/convert-to-group-buttons/toolbar.cjs.map +1 -1
  243. package/build/components/copy-handler/index.cjs +1 -1
  244. package/build/components/copy-handler/index.cjs.map +1 -1
  245. package/build/components/date-format-picker/index.cjs +1 -1
  246. package/build/components/date-format-picker/index.cjs.map +1 -1
  247. package/build/components/default-block-appender/index.cjs +1 -1
  248. package/build/components/default-block-appender/index.cjs.map +1 -1
  249. package/build/components/dimension-control/index.cjs +1 -1
  250. package/build/components/dimension-control/index.cjs.map +1 -1
  251. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +5 -3
  252. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  253. package/build/components/dimensions-tool/index.cjs +19 -17
  254. package/build/components/dimensions-tool/index.cjs.map +3 -3
  255. package/build/components/dimensions-tool/scale-tool.cjs +1 -1
  256. package/build/components/dimensions-tool/scale-tool.cjs.map +1 -1
  257. package/build/components/dimensions-tool/utils.cjs +61 -0
  258. package/build/components/dimensions-tool/utils.cjs.map +7 -0
  259. package/build/components/dimensions-tool/width-height-tool.cjs +1 -1
  260. package/build/components/dimensions-tool/width-height-tool.cjs.map +1 -1
  261. package/build/components/duotone-control/index.cjs +3 -1
  262. package/build/components/duotone-control/index.cjs.map +3 -3
  263. package/build/components/editable-text/index.cjs +1 -1
  264. package/build/components/editable-text/index.cjs.map +1 -1
  265. package/build/components/editor-styles/index.cjs +1 -1
  266. package/build/components/editor-styles/index.cjs.map +1 -1
  267. package/build/components/fit-text-size-warning/index.cjs +1 -1
  268. package/build/components/fit-text-size-warning/index.cjs.map +1 -1
  269. package/build/components/font-appearance-control/index.cjs +1 -1
  270. package/build/components/font-appearance-control/index.cjs.map +1 -1
  271. package/build/components/font-family/index.cjs +1 -1
  272. package/build/components/font-family/index.cjs.map +1 -1
  273. package/build/components/font-sizes/font-size-picker.cjs +1 -1
  274. package/build/components/font-sizes/font-size-picker.cjs.map +1 -1
  275. package/build/components/font-sizes/with-font-sizes.cjs +1 -1
  276. package/build/components/font-sizes/with-font-sizes.cjs.map +1 -1
  277. package/build/components/global-styles/advanced-panel.cjs +1 -1
  278. package/build/components/global-styles/advanced-panel.cjs.map +4 -4
  279. package/build/components/global-styles/background-panel.cjs +1 -1
  280. package/build/components/global-styles/background-panel.cjs.map +2 -2
  281. package/build/components/global-styles/border-panel.cjs +3 -6
  282. package/build/components/global-styles/border-panel.cjs.map +3 -3
  283. package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
  284. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +1 -1
  285. package/build/components/global-styles/color-panel.cjs +15 -3
  286. package/build/components/global-styles/color-panel.cjs.map +3 -3
  287. package/build/components/global-styles/dimensions-panel.cjs +10 -6
  288. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  289. package/build/components/global-styles/filters-panel.cjs +13 -9
  290. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  291. package/build/components/global-styles/image-settings-panel.cjs +1 -1
  292. package/build/components/global-styles/image-settings-panel.cjs.map +1 -1
  293. package/build/components/global-styles/inheritance/index.cjs +1 -1
  294. package/build/components/global-styles/inheritance/index.cjs.map +1 -1
  295. package/build/components/global-styles/shadow-panel-components.cjs +17 -12
  296. package/build/components/global-styles/shadow-panel-components.cjs.map +3 -3
  297. package/build/components/global-styles/state-control-badges.cjs +1 -1
  298. package/build/components/global-styles/state-control-badges.cjs.map +1 -1
  299. package/build/components/global-styles/state-control.cjs +1 -1
  300. package/build/components/global-styles/state-control.cjs.map +1 -1
  301. package/build/components/global-styles/typography-panel.cjs +1 -1
  302. package/build/components/global-styles/typography-panel.cjs.map +1 -1
  303. package/build/components/global-styles/utils.cjs +9 -0
  304. package/build/components/global-styles/utils.cjs.map +2 -2
  305. package/build/components/grid/grid-item-movers.cjs +1 -1
  306. package/build/components/grid/grid-item-movers.cjs.map +1 -1
  307. package/build/components/grid/grid-item-resizer.cjs +1 -1
  308. package/build/components/grid/grid-item-resizer.cjs.map +1 -1
  309. package/build/components/grid/grid-visualizer.cjs +1 -1
  310. package/build/components/grid/grid-visualizer.cjs.map +1 -1
  311. package/build/components/height-control/index.cjs +1 -1
  312. package/build/components/height-control/index.cjs.map +1 -1
  313. package/build/components/html-element-control/index.cjs +1 -1
  314. package/build/components/html-element-control/index.cjs.map +1 -1
  315. package/build/components/iframe/index.cjs +1 -1
  316. package/build/components/iframe/index.cjs.map +1 -1
  317. package/build/components/image-editor/aspect-ratio-dropdown.cjs +1 -1
  318. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +1 -1
  319. package/build/components/image-editor/context.cjs +1 -1
  320. package/build/components/image-editor/context.cjs.map +1 -1
  321. package/build/components/image-editor/cropper.cjs +1 -1
  322. package/build/components/image-editor/cropper.cjs.map +1 -1
  323. package/build/components/image-editor/form-controls.cjs +1 -1
  324. package/build/components/image-editor/form-controls.cjs.map +1 -1
  325. package/build/components/image-editor/index.cjs +1 -1
  326. package/build/components/image-editor/index.cjs.map +1 -1
  327. package/build/components/image-editor/rotation-button.cjs +1 -1
  328. package/build/components/image-editor/rotation-button.cjs.map +1 -1
  329. package/build/components/image-editor/zoom-dropdown.cjs +1 -1
  330. package/build/components/image-editor/zoom-dropdown.cjs.map +1 -1
  331. package/build/components/image-size-control/index.cjs +1 -1
  332. package/build/components/image-size-control/index.cjs.map +1 -1
  333. package/build/components/inner-blocks/button-block-appender.cjs +1 -1
  334. package/build/components/inner-blocks/button-block-appender.cjs.map +1 -1
  335. package/build/components/inner-blocks/default-block-appender.cjs +1 -1
  336. package/build/components/inner-blocks/default-block-appender.cjs.map +1 -1
  337. package/build/components/inner-blocks/index.cjs +6 -4
  338. package/build/components/inner-blocks/index.cjs.map +3 -3
  339. package/build/components/inner-content/index.cjs +1 -1
  340. package/build/components/inner-content/index.cjs.map +1 -1
  341. package/build/components/inserter/block-patterns-explorer/index.cjs +40 -23
  342. package/build/components/inserter/block-patterns-explorer/index.cjs.map +3 -3
  343. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +22 -56
  344. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +3 -3
  345. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +20 -45
  346. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +4 -4
  347. package/build/components/inserter/block-patterns-tab/index.cjs +1 -1
  348. package/build/components/inserter/block-patterns-tab/index.cjs.map +1 -1
  349. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs +1 -1
  350. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +1 -1
  351. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs +1 -1
  352. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +1 -1
  353. package/build/components/inserter/block-types-tab.cjs +1 -1
  354. package/build/components/inserter/block-types-tab.cjs.map +1 -1
  355. package/build/components/inserter/category-tabs/index.cjs +1 -1
  356. package/build/components/inserter/category-tabs/index.cjs.map +1 -1
  357. package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
  358. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  359. package/build/components/inserter/index.cjs +1 -1
  360. package/build/components/inserter/index.cjs.map +1 -1
  361. package/build/components/inserter/library.cjs +1 -1
  362. package/build/components/inserter/library.cjs.map +1 -1
  363. package/build/components/inserter/media-tab/media-list.cjs +1 -1
  364. package/build/components/inserter/media-tab/media-list.cjs.map +1 -1
  365. package/build/components/inserter/media-tab/media-panel.cjs +1 -1
  366. package/build/components/inserter/media-tab/media-panel.cjs.map +1 -1
  367. package/build/components/inserter/media-tab/media-preview.cjs +1 -1
  368. package/build/components/inserter/media-tab/media-preview.cjs.map +1 -1
  369. package/build/components/inserter/media-tab/media-tab.cjs +1 -1
  370. package/build/components/inserter/media-tab/media-tab.cjs.map +1 -1
  371. package/build/components/inserter/media-tab/utils.cjs +1 -1
  372. package/build/components/inserter/media-tab/utils.cjs.map +1 -1
  373. package/build/components/inserter/menu.cjs +20 -9
  374. package/build/components/inserter/menu.cjs.map +3 -3
  375. package/build/components/inserter/mobile-tab-navigation.cjs +1 -1
  376. package/build/components/inserter/mobile-tab-navigation.cjs.map +1 -1
  377. package/build/components/inserter/no-results.cjs +1 -1
  378. package/build/components/inserter/no-results.cjs.map +1 -1
  379. package/build/components/inserter/panel.cjs +1 -1
  380. package/build/components/inserter/panel.cjs.map +1 -1
  381. package/build/components/inserter/preview-panel.cjs +1 -1
  382. package/build/components/inserter/preview-panel.cjs.map +1 -1
  383. package/build/components/inserter/quick-inserter.cjs +31 -28
  384. package/build/components/inserter/quick-inserter.cjs.map +3 -3
  385. package/build/components/inserter/search-results.cjs +1 -1
  386. package/build/components/inserter/search-results.cjs.map +1 -1
  387. package/build/components/inserter/tips.cjs +1 -1
  388. package/build/components/inserter/tips.cjs.map +1 -1
  389. package/build/components/inserter-draggable-blocks/index.cjs +1 -1
  390. package/build/components/inserter-draggable-blocks/index.cjs.map +1 -1
  391. package/build/components/inserter-list-item/index.cjs +1 -1
  392. package/build/components/inserter-list-item/index.cjs.map +1 -1
  393. package/build/components/inserter-listbox/group.cjs +1 -1
  394. package/build/components/inserter-listbox/group.cjs.map +1 -1
  395. package/build/components/inserter-listbox/index.cjs +1 -1
  396. package/build/components/inserter-listbox/index.cjs.map +1 -1
  397. package/build/components/inserter-listbox/item.cjs +1 -1
  398. package/build/components/inserter-listbox/item.cjs.map +1 -1
  399. package/build/components/inserter-listbox/row.cjs +1 -1
  400. package/build/components/inserter-listbox/row.cjs.map +1 -1
  401. package/build/components/inspector-controls/block-support-slot-container.cjs +1 -1
  402. package/build/components/inspector-controls/block-support-slot-container.cjs.map +1 -1
  403. package/build/components/inspector-controls/block-support-tools-panel.cjs +1 -1
  404. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +1 -1
  405. package/build/components/inspector-controls/fill.cjs +1 -1
  406. package/build/components/inspector-controls/fill.cjs.map +1 -1
  407. package/build/components/inspector-controls/groups.cjs +3 -1
  408. package/build/components/inspector-controls/groups.cjs.map +2 -2
  409. package/build/components/inspector-controls/index.cjs +1 -1
  410. package/build/components/inspector-controls/index.cjs.map +1 -1
  411. package/build/components/inspector-controls/last-item.cjs +1 -1
  412. package/build/components/inspector-controls/last-item.cjs.map +1 -1
  413. package/build/components/inspector-controls/list-view-content-popover.cjs +1 -1
  414. package/build/components/inspector-controls/list-view-content-popover.cjs.map +1 -1
  415. package/build/components/inspector-controls/slot.cjs +1 -1
  416. package/build/components/inspector-controls/slot.cjs.map +1 -1
  417. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs +1 -1
  418. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +1 -1
  419. package/build/components/inspector-controls-tabs/content-tab.cjs +1 -1
  420. package/build/components/inspector-controls-tabs/content-tab.cjs.map +1 -1
  421. package/build/components/inspector-controls-tabs/index.cjs +1 -1
  422. package/build/components/inspector-controls-tabs/index.cjs.map +1 -1
  423. package/build/components/inspector-controls-tabs/position-controls-panel.cjs +1 -1
  424. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +1 -1
  425. package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -1
  426. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +1 -1
  427. package/build/components/inspector-controls-tabs/styles-tab.cjs +2 -2
  428. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
  429. package/build/components/inspector-popover-header/index.cjs +1 -1
  430. package/build/components/inspector-popover-header/index.cjs.map +1 -1
  431. package/build/components/justify-content-control/index.cjs +1 -1
  432. package/build/components/justify-content-control/index.cjs.map +1 -1
  433. package/build/components/justify-content-control/ui.cjs +1 -1
  434. package/build/components/justify-content-control/ui.cjs.map +1 -1
  435. package/build/components/letter-spacing-control/index.cjs +1 -1
  436. package/build/components/letter-spacing-control/index.cjs.map +1 -1
  437. package/build/components/line-height-control/index.cjs +1 -1
  438. package/build/components/line-height-control/index.cjs.map +1 -1
  439. package/build/components/link-control/index.cjs +1 -1
  440. package/build/components/link-control/index.cjs.map +1 -1
  441. package/build/components/link-control/link-preview.cjs +1 -1
  442. package/build/components/link-control/link-preview.cjs.map +1 -1
  443. package/build/components/link-control/search-create-button.cjs +1 -1
  444. package/build/components/link-control/search-create-button.cjs.map +1 -1
  445. package/build/components/link-control/search-input.cjs +1 -1
  446. package/build/components/link-control/search-input.cjs.map +1 -1
  447. package/build/components/link-control/search-item.cjs +1 -1
  448. package/build/components/link-control/search-item.cjs.map +1 -1
  449. package/build/components/link-control/search-results.cjs +1 -1
  450. package/build/components/link-control/search-results.cjs.map +1 -1
  451. package/build/components/link-control/settings-drawer.cjs +1 -1
  452. package/build/components/link-control/settings-drawer.cjs.map +1 -1
  453. package/build/components/link-control/settings.cjs +1 -1
  454. package/build/components/link-control/settings.cjs.map +1 -1
  455. package/build/components/link-picker/link-picker.cjs +1 -1
  456. package/build/components/link-picker/link-picker.cjs.map +1 -1
  457. package/build/components/link-picker/link-preview.cjs +1 -1
  458. package/build/components/link-picker/link-preview.cjs.map +1 -1
  459. package/build/components/list-view/appender.cjs +1 -1
  460. package/build/components/list-view/appender.cjs.map +1 -1
  461. package/build/components/list-view/aria-referenced-text.cjs +1 -1
  462. package/build/components/list-view/aria-referenced-text.cjs.map +1 -1
  463. package/build/components/list-view/block-contents.cjs +1 -1
  464. package/build/components/list-view/block-contents.cjs.map +1 -1
  465. package/build/components/list-view/block-select-button.cjs +1 -1
  466. package/build/components/list-view/block-select-button.cjs.map +1 -1
  467. package/build/components/list-view/block.cjs +1 -1
  468. package/build/components/list-view/block.cjs.map +1 -1
  469. package/build/components/list-view/branch.cjs +1 -1
  470. package/build/components/list-view/branch.cjs.map +1 -1
  471. package/build/components/list-view/drop-indicator.cjs +1 -1
  472. package/build/components/list-view/drop-indicator.cjs.map +1 -1
  473. package/build/components/list-view/expander.cjs +1 -1
  474. package/build/components/list-view/expander.cjs.map +1 -1
  475. package/build/components/list-view/index.cjs +32 -6
  476. package/build/components/list-view/index.cjs.map +4 -4
  477. package/build/components/list-view/leaf.cjs +1 -1
  478. package/build/components/list-view/leaf.cjs.map +1 -1
  479. package/build/components/list-view/utils.cjs +13 -1
  480. package/build/components/list-view/utils.cjs.map +2 -2
  481. package/build/components/media-placeholder/index.cjs +2 -2
  482. package/build/components/media-placeholder/index.cjs.map +4 -4
  483. package/build/components/media-replace-flow/index.cjs +1 -1
  484. package/build/components/media-replace-flow/index.cjs.map +1 -1
  485. package/build/components/multi-selection-inspector/index.cjs +1 -1
  486. package/build/components/multi-selection-inspector/index.cjs.map +1 -1
  487. package/build/components/navigable-toolbar/index.cjs +1 -1
  488. package/build/components/navigable-toolbar/index.cjs.map +1 -1
  489. package/build/components/observe-typing/index.cjs +1 -1
  490. package/build/components/observe-typing/index.cjs.map +1 -1
  491. package/build/components/panel-color-settings/index.cjs +1 -1
  492. package/build/components/panel-color-settings/index.cjs.map +1 -1
  493. package/build/components/plain-text/index.cjs +1 -1
  494. package/build/components/plain-text/index.cjs.map +1 -1
  495. package/build/components/preset-input-control/custom-value-controls.cjs +1 -1
  496. package/build/components/preset-input-control/custom-value-controls.cjs.map +1 -1
  497. package/build/components/preset-input-control/index.cjs +1 -1
  498. package/build/components/preset-input-control/index.cjs.map +1 -1
  499. package/build/components/provider/block-refs-provider.cjs +1 -1
  500. package/build/components/provider/block-refs-provider.cjs.map +1 -1
  501. package/build/components/provider/index.cjs +26 -5
  502. package/build/components/provider/index.cjs.map +4 -4
  503. package/build/components/provider/with-registry-provider.cjs +1 -1
  504. package/build/components/provider/with-registry-provider.cjs.map +1 -1
  505. package/build/components/publish-date-time-picker/index.cjs +4 -3
  506. package/build/components/publish-date-time-picker/index.cjs.map +3 -3
  507. package/build/components/recursion-provider/index.cjs +1 -1
  508. package/build/components/recursion-provider/index.cjs.map +1 -1
  509. package/build/components/resizable-box-popover/index.cjs +1 -1
  510. package/build/components/resizable-box-popover/index.cjs.map +1 -1
  511. package/build/components/resolution-tool/index.cjs +1 -1
  512. package/build/components/resolution-tool/index.cjs.map +1 -1
  513. package/build/components/responsive-block-control/index.cjs +1 -1
  514. package/build/components/responsive-block-control/index.cjs.map +1 -1
  515. package/build/components/responsive-block-control/label.cjs +1 -1
  516. package/build/components/responsive-block-control/label.cjs.map +1 -1
  517. package/build/components/rich-text/content.cjs +1 -1
  518. package/build/components/rich-text/content.cjs.map +1 -1
  519. package/build/components/rich-text/event-listeners/enter.cjs +46 -39
  520. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  521. package/build/components/rich-text/format-edit.cjs +1 -1
  522. package/build/components/rich-text/format-edit.cjs.map +1 -1
  523. package/build/components/rich-text/format-toolbar/index.cjs +1 -1
  524. package/build/components/rich-text/format-toolbar/index.cjs.map +1 -1
  525. package/build/components/rich-text/format-toolbar-container.cjs +1 -1
  526. package/build/components/rich-text/format-toolbar-container.cjs.map +1 -1
  527. package/build/components/rich-text/get-rich-text-values.cjs +1 -1
  528. package/build/components/rich-text/get-rich-text-values.cjs.map +1 -1
  529. package/build/components/rich-text/index.cjs +8 -6
  530. package/build/components/rich-text/index.cjs.map +3 -3
  531. package/build/components/rich-text/multiline.cjs +106 -71
  532. package/build/components/rich-text/multiline.cjs.map +4 -4
  533. package/build/components/rich-text/toolbar-button.cjs +1 -1
  534. package/build/components/rich-text/toolbar-button.cjs.map +1 -1
  535. package/build/components/rich-text/utils.cjs +1 -1
  536. package/build/components/rich-text/utils.cjs.map +1 -1
  537. package/build/components/rich-text/with-deprecations.cjs +1 -1
  538. package/build/components/rich-text/with-deprecations.cjs.map +1 -1
  539. package/build/components/skip-to-selected-block/index.cjs +1 -1
  540. package/build/components/skip-to-selected-block/index.cjs.map +1 -1
  541. package/build/components/spacing-sizes-control/index.cjs +1 -1
  542. package/build/components/spacing-sizes-control/index.cjs.map +1 -1
  543. package/build/components/spacing-sizes-control/input-controls/axial.cjs +1 -1
  544. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +1 -1
  545. package/build/components/spacing-sizes-control/input-controls/separated.cjs +1 -1
  546. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +1 -1
  547. package/build/components/spacing-sizes-control/input-controls/single.cjs +1 -1
  548. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +1 -1
  549. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs +1 -1
  550. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +1 -1
  551. package/build/components/spacing-sizes-control/linked-button.cjs +1 -1
  552. package/build/components/spacing-sizes-control/linked-button.cjs.map +1 -1
  553. package/build/components/tabbed-sidebar/index.cjs +1 -1
  554. package/build/components/tabbed-sidebar/index.cjs.map +1 -1
  555. package/build/components/text-alignment-control/index.cjs +1 -1
  556. package/build/components/text-alignment-control/index.cjs.map +1 -1
  557. package/build/components/text-decoration-control/index.cjs +1 -1
  558. package/build/components/text-decoration-control/index.cjs.map +1 -1
  559. package/build/components/text-indent-control/index.cjs +1 -1
  560. package/build/components/text-indent-control/index.cjs.map +1 -1
  561. package/build/components/text-transform-control/index.cjs +1 -1
  562. package/build/components/text-transform-control/index.cjs.map +1 -1
  563. package/build/components/typewriter/index.cjs +1 -1
  564. package/build/components/typewriter/index.cjs.map +1 -1
  565. package/build/components/unit-control/index.cjs +1 -1
  566. package/build/components/unit-control/index.cjs.map +1 -1
  567. package/build/components/url-input/button.cjs +1 -1
  568. package/build/components/url-input/button.cjs.map +1 -1
  569. package/build/components/url-input/index.cjs +1 -1
  570. package/build/components/url-input/index.cjs.map +3 -3
  571. package/build/components/url-popover/image-url-input-ui.cjs +1 -1
  572. package/build/components/url-popover/image-url-input-ui.cjs.map +1 -1
  573. package/build/components/url-popover/index.cjs +1 -1
  574. package/build/components/url-popover/index.cjs.map +1 -1
  575. package/build/components/url-popover/link-editor.cjs +1 -1
  576. package/build/components/url-popover/link-editor.cjs.map +1 -1
  577. package/build/components/url-popover/link-viewer-url.cjs +1 -1
  578. package/build/components/url-popover/link-viewer-url.cjs.map +1 -1
  579. package/build/components/url-popover/link-viewer.cjs +1 -1
  580. package/build/components/url-popover/link-viewer.cjs.map +1 -1
  581. package/build/components/warning/index.cjs +1 -1
  582. package/build/components/warning/index.cjs.map +1 -1
  583. package/build/components/writing-flow/index.cjs +1 -1
  584. package/build/components/writing-flow/index.cjs.map +1 -1
  585. package/build/components/writing-flow/use-input.cjs +65 -13
  586. package/build/components/writing-flow/use-input.cjs.map +3 -3
  587. package/build/components/writing-flow/use-tab-nav.cjs +1 -1
  588. package/build/components/writing-flow/use-tab-nav.cjs.map +1 -1
  589. package/build/components/writing-mode-control/index.cjs +1 -1
  590. package/build/components/writing-mode-control/index.cjs.map +1 -1
  591. package/build/hooks/align.cjs +1 -1
  592. package/build/hooks/align.cjs.map +1 -1
  593. package/build/hooks/allowed-blocks.cjs +1 -1
  594. package/build/hooks/allowed-blocks.cjs.map +1 -1
  595. package/build/hooks/anchor.cjs +1 -1
  596. package/build/hooks/anchor.cjs.map +1 -1
  597. package/build/hooks/auto-inspector-controls.cjs +1 -1
  598. package/build/hooks/auto-inspector-controls.cjs.map +1 -1
  599. package/build/hooks/background.cjs +1 -1
  600. package/build/hooks/background.cjs.map +1 -1
  601. package/build/hooks/block-bindings.cjs +1 -1
  602. package/build/hooks/block-bindings.cjs.map +1 -1
  603. package/build/hooks/block-fields/fields-dropdown-menu.cjs +1 -1
  604. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +1 -1
  605. package/build/hooks/block-fields/index.cjs +1 -1
  606. package/build/hooks/block-fields/index.cjs.map +1 -1
  607. package/build/hooks/block-fields/link/index.cjs +1 -1
  608. package/build/hooks/block-fields/link/index.cjs.map +1 -1
  609. package/build/hooks/block-fields/media/index.cjs +1 -1
  610. package/build/hooks/block-fields/media/index.cjs.map +1 -1
  611. package/build/hooks/block-fields/rich-text/index.cjs +1 -1
  612. package/build/hooks/block-fields/rich-text/index.cjs.map +1 -1
  613. package/build/hooks/block-hooks.cjs +1 -1
  614. package/build/hooks/block-hooks.cjs.map +1 -1
  615. package/build/hooks/block-style-variation.cjs +1 -1
  616. package/build/hooks/block-style-variation.cjs.map +1 -1
  617. package/build/hooks/border.cjs +26 -4
  618. package/build/hooks/border.cjs.map +3 -3
  619. package/build/hooks/custom-class-name.cjs +1 -1
  620. package/build/hooks/custom-class-name.cjs.map +1 -1
  621. package/build/hooks/custom-css.cjs +1 -1
  622. package/build/hooks/custom-css.cjs.map +1 -1
  623. package/build/hooks/dimensions.cjs +10 -3
  624. package/build/hooks/dimensions.cjs.map +3 -3
  625. package/build/hooks/duotone.cjs +5 -4
  626. package/build/hooks/duotone.cjs.map +3 -3
  627. package/build/hooks/elements.cjs +1 -1
  628. package/build/hooks/elements.cjs.map +1 -1
  629. package/build/hooks/fit-text.cjs +1 -1
  630. package/build/hooks/fit-text.cjs.map +1 -1
  631. package/build/hooks/font-size.cjs +1 -1
  632. package/build/hooks/font-size.cjs.map +1 -1
  633. package/build/hooks/gap.cjs +8 -2
  634. package/build/hooks/gap.cjs.map +2 -2
  635. package/build/hooks/grid-visualizer.cjs +1 -1
  636. package/build/hooks/grid-visualizer.cjs.map +2 -2
  637. package/build/hooks/layout-child.cjs +36 -14
  638. package/build/hooks/layout-child.cjs.map +3 -3
  639. package/build/hooks/layout.cjs +24 -2
  640. package/build/hooks/layout.cjs.map +3 -3
  641. package/build/hooks/line-height.cjs +1 -1
  642. package/build/hooks/line-height.cjs.map +1 -1
  643. package/build/hooks/list-view.cjs +1 -1
  644. package/build/hooks/list-view.cjs.map +1 -1
  645. package/build/hooks/position.cjs +2 -2
  646. package/build/hooks/position.cjs.map +3 -3
  647. package/build/hooks/spacing-visualizer.cjs +1 -1
  648. package/build/hooks/spacing-visualizer.cjs.map +1 -1
  649. package/build/hooks/states.cjs +8 -5
  650. package/build/hooks/states.cjs.map +3 -3
  651. package/build/hooks/style.cjs +1 -1
  652. package/build/hooks/style.cjs.map +1 -1
  653. package/build/hooks/text-align.cjs +1 -1
  654. package/build/hooks/text-align.cjs.map +1 -1
  655. package/build/hooks/typography.cjs +1 -1
  656. package/build/hooks/typography.cjs.map +1 -1
  657. package/build/hooks/utils.cjs +1 -1
  658. package/build/hooks/utils.cjs.map +1 -1
  659. package/build/layouts/constrained.cjs +9 -2
  660. package/build/layouts/constrained.cjs.map +3 -3
  661. package/build/layouts/flex.cjs +10 -1
  662. package/build/layouts/flex.cjs.map +3 -3
  663. package/build/layouts/flow.cjs +4 -1
  664. package/build/layouts/flow.cjs.map +2 -2
  665. package/build/layouts/grid.cjs +6 -2
  666. package/build/layouts/grid.cjs.map +3 -3
  667. package/build/private-apis.cjs +3 -1
  668. package/build/private-apis.cjs.map +2 -2
  669. package/build/store/actions.cjs +1 -1
  670. package/build/store/actions.cjs.map +2 -2
  671. package/build-module/autocompleters/block.mjs +1 -1
  672. package/build-module/autocompleters/block.mjs.map +1 -1
  673. package/build-module/components/alignment-control/index.mjs +1 -1
  674. package/build-module/components/alignment-control/index.mjs.map +1 -1
  675. package/build-module/components/alignment-control/ui.mjs +1 -1
  676. package/build-module/components/alignment-control/ui.mjs.map +1 -1
  677. package/build-module/components/autocomplete/index.mjs +1 -1
  678. package/build-module/components/autocomplete/index.mjs.map +1 -1
  679. package/build-module/components/background-image-control/index.mjs +1 -1
  680. package/build-module/components/background-image-control/index.mjs.map +1 -1
  681. package/build-module/components/block-alignment-control/index.mjs +1 -1
  682. package/build-module/components/block-alignment-control/index.mjs.map +1 -1
  683. package/build-module/components/block-alignment-control/ui.mjs +1 -1
  684. package/build-module/components/block-alignment-control/ui.mjs.map +1 -1
  685. package/build-module/components/block-alignment-matrix-control/index.mjs +1 -1
  686. package/build-module/components/block-alignment-matrix-control/index.mjs.map +1 -1
  687. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs +1 -1
  688. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +1 -1
  689. package/build-module/components/block-allowed-blocks/modal.mjs +1 -1
  690. package/build-module/components/block-allowed-blocks/modal.mjs.map +1 -1
  691. package/build-module/components/block-bindings/attribute-control.mjs +1 -1
  692. package/build-module/components/block-bindings/attribute-control.mjs.map +1 -1
  693. package/build-module/components/block-bindings/source-fields-list.mjs +1 -1
  694. package/build-module/components/block-bindings/source-fields-list.mjs.map +1 -1
  695. package/build-module/components/block-breadcrumb/index.mjs +1 -1
  696. package/build-module/components/block-breadcrumb/index.mjs.map +1 -1
  697. package/build-module/components/block-canvas/index.mjs +1 -1
  698. package/build-module/components/block-canvas/index.mjs.map +1 -1
  699. package/build-module/components/block-card/index.mjs +1 -1
  700. package/build-module/components/block-card/index.mjs.map +1 -1
  701. package/build-module/components/block-compare/block-view.mjs +1 -1
  702. package/build-module/components/block-compare/block-view.mjs.map +1 -1
  703. package/build-module/components/block-compare/index.mjs +1 -1
  704. package/build-module/components/block-compare/index.mjs.map +1 -1
  705. package/build-module/components/block-context/index.mjs +1 -1
  706. package/build-module/components/block-context/index.mjs.map +1 -1
  707. package/build-module/components/block-controls/fill.mjs +1 -1
  708. package/build-module/components/block-controls/fill.mjs.map +1 -1
  709. package/build-module/components/block-controls/index.mjs +1 -1
  710. package/build-module/components/block-controls/index.mjs.map +1 -1
  711. package/build-module/components/block-controls/slot.mjs +1 -1
  712. package/build-module/components/block-controls/slot.mjs.map +1 -1
  713. package/build-module/components/block-draggable/draggable-chip.mjs +1 -1
  714. package/build-module/components/block-draggable/draggable-chip.mjs.map +1 -1
  715. package/build-module/components/block-draggable/index.mjs +1 -1
  716. package/build-module/components/block-draggable/index.mjs.map +1 -1
  717. package/build-module/components/block-edit/edit.mjs +1 -1
  718. package/build-module/components/block-edit/edit.mjs.map +1 -1
  719. package/build-module/components/block-edit/index.mjs +1 -1
  720. package/build-module/components/block-edit/index.mjs.map +1 -1
  721. package/build-module/components/block-edit/multiple-usage-warning.mjs +1 -1
  722. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +1 -1
  723. package/build-module/components/block-edit-visually-button/index.mjs +1 -1
  724. package/build-module/components/block-edit-visually-button/index.mjs.map +1 -1
  725. package/build-module/components/block-full-height-alignment-control/index.mjs +1 -1
  726. package/build-module/components/block-full-height-alignment-control/index.mjs.map +1 -1
  727. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +1 -1
  728. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +1 -1
  729. package/build-module/components/block-heading-level-dropdown/index.mjs +1 -1
  730. package/build-module/components/block-heading-level-dropdown/index.mjs.map +1 -1
  731. package/build-module/components/block-icon/index.mjs +1 -1
  732. package/build-module/components/block-icon/index.mjs.map +1 -1
  733. package/build-module/components/block-inspector/edit-contents.mjs +1 -1
  734. package/build-module/components/block-inspector/edit-contents.mjs.map +1 -1
  735. package/build-module/components/block-inspector/index.mjs +14 -10
  736. package/build-module/components/block-inspector/index.mjs.map +3 -3
  737. package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
  738. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
  739. package/build-module/components/block-list/block-crash-warning.mjs +1 -1
  740. package/build-module/components/block-list/block-crash-warning.mjs.map +1 -1
  741. package/build-module/components/block-list/block-html.mjs +1 -1
  742. package/build-module/components/block-list/block-html.mjs.map +1 -1
  743. package/build-module/components/block-list/block-invalid-warning.mjs +1 -1
  744. package/build-module/components/block-list/block-invalid-warning.mjs.map +1 -1
  745. package/build-module/components/block-list/block.mjs +11 -4
  746. package/build-module/components/block-list/block.mjs.map +3 -3
  747. package/build-module/components/block-list/index.mjs +7 -2
  748. package/build-module/components/block-list/index.mjs.map +3 -3
  749. package/build-module/components/block-list/layout.mjs +1 -1
  750. package/build-module/components/block-list/layout.mjs.map +1 -1
  751. package/build-module/components/block-list/subdirectory-icon.mjs +1 -1
  752. package/build-module/components/block-list/subdirectory-icon.mjs.map +1 -1
  753. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
  754. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  755. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
  756. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  757. package/build-module/components/block-list/zoom-out-separator.mjs +1 -1
  758. package/build-module/components/block-list/zoom-out-separator.mjs.map +1 -1
  759. package/build-module/components/block-list-appender/index.mjs +1 -1
  760. package/build-module/components/block-list-appender/index.mjs.map +1 -1
  761. package/build-module/components/block-lock/menu-item.mjs +1 -1
  762. package/build-module/components/block-lock/menu-item.mjs.map +1 -1
  763. package/build-module/components/block-lock/modal.mjs +1 -1
  764. package/build-module/components/block-lock/modal.mjs.map +1 -1
  765. package/build-module/components/block-lock/toolbar.mjs +1 -1
  766. package/build-module/components/block-lock/toolbar.mjs.map +1 -1
  767. package/build-module/components/block-manager/category.mjs +1 -1
  768. package/build-module/components/block-manager/category.mjs.map +1 -1
  769. package/build-module/components/block-manager/checklist.mjs +1 -1
  770. package/build-module/components/block-manager/checklist.mjs.map +1 -1
  771. package/build-module/components/block-manager/index.mjs +1 -1
  772. package/build-module/components/block-manager/index.mjs.map +1 -1
  773. package/build-module/components/block-mover/button.mjs +1 -1
  774. package/build-module/components/block-mover/button.mjs.map +1 -1
  775. package/build-module/components/block-mover/index.mjs +1 -1
  776. package/build-module/components/block-mover/index.mjs.map +1 -1
  777. package/build-module/components/block-navigation/dropdown.mjs +1 -1
  778. package/build-module/components/block-navigation/dropdown.mjs.map +1 -1
  779. package/build-module/components/block-parent-selector/index.mjs +102 -33
  780. package/build-module/components/block-parent-selector/index.mjs.map +3 -3
  781. package/build-module/components/block-pattern-setup/index.mjs +1 -1
  782. package/build-module/components/block-pattern-setup/index.mjs.map +1 -1
  783. package/build-module/components/block-pattern-setup/setup-toolbar.mjs +1 -1
  784. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +1 -1
  785. package/build-module/components/block-patterns-list/index.mjs +1 -1
  786. package/build-module/components/block-patterns-list/index.mjs.map +1 -1
  787. package/build-module/components/block-patterns-paging/index.mjs +1 -1
  788. package/build-module/components/block-patterns-paging/index.mjs.map +1 -1
  789. package/build-module/components/block-popover/cover.mjs +1 -1
  790. package/build-module/components/block-popover/cover.mjs.map +1 -1
  791. package/build-module/components/block-popover/drop-zone.mjs +1 -1
  792. package/build-module/components/block-popover/drop-zone.mjs.map +1 -1
  793. package/build-module/components/block-popover/inbetween.mjs +3 -3
  794. package/build-module/components/block-popover/inbetween.mjs.map +3 -3
  795. package/build-module/components/block-popover/index.mjs +1 -1
  796. package/build-module/components/block-popover/index.mjs.map +1 -1
  797. package/build-module/components/block-preview/auto.mjs +1 -1
  798. package/build-module/components/block-preview/auto.mjs.map +1 -1
  799. package/build-module/components/block-preview/index.mjs +1 -5
  800. package/build-module/components/block-preview/index.mjs.map +3 -3
  801. package/build-module/components/block-quick-navigation/index.mjs +1 -1
  802. package/build-module/components/block-quick-navigation/index.mjs.map +1 -1
  803. package/build-module/components/block-removal-warning-modal/index.mjs +1 -1
  804. package/build-module/components/block-removal-warning-modal/index.mjs.map +1 -1
  805. package/build-module/components/block-rename/modal.mjs +1 -1
  806. package/build-module/components/block-rename/modal.mjs.map +1 -1
  807. package/build-module/components/block-rename/rename-control.mjs +1 -1
  808. package/build-module/components/block-rename/rename-control.mjs.map +1 -1
  809. package/build-module/components/block-selection-clearer/index.mjs +1 -1
  810. package/build-module/components/block-selection-clearer/index.mjs.map +1 -1
  811. package/build-module/components/block-settings-menu/block-html-convert-button.mjs +1 -1
  812. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +1 -1
  813. package/build-module/components/block-settings-menu/block-mode-toggle.mjs +1 -1
  814. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +1 -1
  815. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs +1 -1
  816. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +1 -1
  817. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  818. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +1 -1
  819. package/build-module/components/block-settings-menu/index.mjs +1 -1
  820. package/build-module/components/block-settings-menu/index.mjs.map +1 -1
  821. package/build-module/components/block-settings-menu-controls/index.mjs +1 -1
  822. package/build-module/components/block-settings-menu-controls/index.mjs.map +1 -1
  823. package/build-module/components/block-styles/index.mjs +80 -36
  824. package/build-module/components/block-styles/index.mjs.map +3 -3
  825. package/build-module/components/block-styles/menu-items.mjs +1 -1
  826. package/build-module/components/block-styles/menu-items.mjs.map +1 -1
  827. package/build-module/components/block-switcher/block-styles-menu.mjs +1 -1
  828. package/build-module/components/block-switcher/block-styles-menu.mjs.map +1 -1
  829. package/build-module/components/block-switcher/block-transformations-menu.mjs +1 -1
  830. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +1 -1
  831. package/build-module/components/block-switcher/block-variation-transformations.mjs +1 -1
  832. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +1 -1
  833. package/build-module/components/block-switcher/index.mjs +1 -1
  834. package/build-module/components/block-switcher/index.mjs.map +1 -1
  835. package/build-module/components/block-switcher/pattern-transformations-menu.mjs +1 -1
  836. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +1 -1
  837. package/build-module/components/block-switcher/preview-block-popover.mjs +1 -1
  838. package/build-module/components/block-switcher/preview-block-popover.mjs.map +1 -1
  839. package/build-module/components/block-toolbar/block-styles-dropdown.mjs +1 -1
  840. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +1 -1
  841. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
  842. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +1 -1
  843. package/build-module/components/block-toolbar/change-design.mjs +1 -1
  844. package/build-module/components/block-toolbar/change-design.mjs.map +1 -1
  845. package/build-module/components/block-toolbar/edit-section-button.mjs +1 -1
  846. package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
  847. package/build-module/components/block-toolbar/index.mjs +1 -1
  848. package/build-module/components/block-toolbar/index.mjs.map +1 -1
  849. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs +1 -1
  850. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +1 -1
  851. package/build-module/components/block-toolbar/switch-section-style.mjs +1 -1
  852. package/build-module/components/block-toolbar/switch-section-style.mjs.map +1 -1
  853. package/build-module/components/block-tools/block-toolbar-popover.mjs +1 -1
  854. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +1 -1
  855. package/build-module/components/block-tools/empty-block-inserter.mjs +1 -1
  856. package/build-module/components/block-tools/empty-block-inserter.mjs.map +1 -1
  857. package/build-module/components/block-tools/index.mjs +1 -1
  858. package/build-module/components/block-tools/index.mjs.map +1 -1
  859. package/build-module/components/block-tools/insertion-point.mjs +1 -1
  860. package/build-module/components/block-tools/insertion-point.mjs.map +1 -1
  861. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs +1 -1
  862. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +1 -1
  863. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs +1 -1
  864. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +1 -1
  865. package/build-module/components/block-types-list/index.mjs +1 -1
  866. package/build-module/components/block-types-list/index.mjs.map +1 -1
  867. package/build-module/components/block-variation-picker/index.mjs +1 -1
  868. package/build-module/components/block-variation-picker/index.mjs.map +1 -1
  869. package/build-module/components/block-variation-transforms/index.mjs +1 -1
  870. package/build-module/components/block-variation-transforms/index.mjs.map +1 -1
  871. package/build-module/components/block-vertical-alignment-control/index.mjs +1 -1
  872. package/build-module/components/block-vertical-alignment-control/index.mjs.map +1 -1
  873. package/build-module/components/block-vertical-alignment-control/ui.mjs +1 -1
  874. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +1 -1
  875. package/build-module/components/block-visibility/constants.mjs.map +2 -2
  876. package/build-module/components/block-visibility/modal.mjs +1 -1
  877. package/build-module/components/block-visibility/modal.mjs.map +1 -1
  878. package/build-module/components/block-visibility/viewport-menu-item.mjs +1 -1
  879. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +1 -1
  880. package/build-module/components/block-visibility/viewport-toolbar.mjs +1 -1
  881. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +1 -1
  882. package/build-module/components/block-visibility/viewport-visibility-info.mjs +1 -1
  883. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +1 -1
  884. package/build-module/components/border-radius-control/index.mjs +1 -1
  885. package/build-module/components/border-radius-control/index.mjs.map +1 -1
  886. package/build-module/components/border-radius-control/linked-button.mjs +1 -1
  887. package/build-module/components/border-radius-control/linked-button.mjs.map +1 -1
  888. package/build-module/components/button-block-appender/index.mjs +1 -1
  889. package/build-module/components/button-block-appender/index.mjs.map +1 -1
  890. package/build-module/components/child-layout-control/index.mjs +6 -6
  891. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  892. package/build-module/components/color-palette/control.mjs +1 -1
  893. package/build-module/components/color-palette/control.mjs.map +1 -1
  894. package/build-module/components/color-palette/with-color-context.mjs +1 -1
  895. package/build-module/components/color-palette/with-color-context.mjs.map +1 -1
  896. package/build-module/components/color-style-selector/index.mjs +1 -1
  897. package/build-module/components/color-style-selector/index.mjs.map +1 -1
  898. package/build-module/components/colors/with-colors.mjs +57 -73
  899. package/build-module/components/colors/with-colors.mjs.map +3 -3
  900. package/build-module/components/colors-gradients/control.mjs +1 -1
  901. package/build-module/components/colors-gradients/control.mjs.map +1 -1
  902. package/build-module/components/colors-gradients/dropdown.mjs +1 -1
  903. package/build-module/components/colors-gradients/dropdown.mjs.map +1 -1
  904. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +1 -1
  905. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +1 -1
  906. package/build-module/components/contrast-checker/index.mjs +1 -1
  907. package/build-module/components/contrast-checker/index.mjs.map +1 -1
  908. package/build-module/components/convert-to-group-buttons/index.mjs +1 -1
  909. package/build-module/components/convert-to-group-buttons/index.mjs.map +1 -1
  910. package/build-module/components/convert-to-group-buttons/toolbar.mjs +1 -1
  911. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +1 -1
  912. package/build-module/components/copy-handler/index.mjs +1 -1
  913. package/build-module/components/copy-handler/index.mjs.map +1 -1
  914. package/build-module/components/date-format-picker/index.mjs +1 -1
  915. package/build-module/components/date-format-picker/index.mjs.map +1 -1
  916. package/build-module/components/default-block-appender/index.mjs +1 -1
  917. package/build-module/components/default-block-appender/index.mjs.map +1 -1
  918. package/build-module/components/dimension-control/index.mjs +1 -1
  919. package/build-module/components/dimension-control/index.mjs.map +1 -1
  920. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +5 -3
  921. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +3 -3
  922. package/build-module/components/dimensions-tool/index.mjs +20 -18
  923. package/build-module/components/dimensions-tool/index.mjs.map +3 -3
  924. package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
  925. package/build-module/components/dimensions-tool/scale-tool.mjs.map +1 -1
  926. package/build-module/components/dimensions-tool/utils.mjs +35 -0
  927. package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
  928. package/build-module/components/dimensions-tool/width-height-tool.mjs +1 -1
  929. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +1 -1
  930. package/build-module/components/duotone-control/index.mjs +3 -1
  931. package/build-module/components/duotone-control/index.mjs.map +3 -3
  932. package/build-module/components/editable-text/index.mjs +1 -1
  933. package/build-module/components/editable-text/index.mjs.map +1 -1
  934. package/build-module/components/editor-styles/index.mjs +1 -1
  935. package/build-module/components/editor-styles/index.mjs.map +1 -1
  936. package/build-module/components/fit-text-size-warning/index.mjs +1 -1
  937. package/build-module/components/fit-text-size-warning/index.mjs.map +1 -1
  938. package/build-module/components/font-appearance-control/index.mjs +1 -1
  939. package/build-module/components/font-appearance-control/index.mjs.map +1 -1
  940. package/build-module/components/font-family/index.mjs +1 -1
  941. package/build-module/components/font-family/index.mjs.map +1 -1
  942. package/build-module/components/font-sizes/font-size-picker.mjs +1 -1
  943. package/build-module/components/font-sizes/font-size-picker.mjs.map +1 -1
  944. package/build-module/components/font-sizes/with-font-sizes.mjs +1 -1
  945. package/build-module/components/font-sizes/with-font-sizes.mjs.map +1 -1
  946. package/build-module/components/global-styles/advanced-panel.mjs +6 -3
  947. package/build-module/components/global-styles/advanced-panel.mjs.map +3 -3
  948. package/build-module/components/global-styles/background-panel.mjs +1 -1
  949. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  950. package/build-module/components/global-styles/border-panel.mjs +3 -6
  951. package/build-module/components/global-styles/border-panel.mjs.map +3 -3
  952. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +1 -1
  953. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +1 -1
  954. package/build-module/components/global-styles/color-panel.mjs +15 -3
  955. package/build-module/components/global-styles/color-panel.mjs.map +3 -3
  956. package/build-module/components/global-styles/dimensions-panel.mjs +10 -6
  957. package/build-module/components/global-styles/dimensions-panel.mjs.map +3 -3
  958. package/build-module/components/global-styles/filters-panel.mjs +17 -10
  959. package/build-module/components/global-styles/filters-panel.mjs.map +3 -3
  960. package/build-module/components/global-styles/image-settings-panel.mjs +1 -1
  961. package/build-module/components/global-styles/image-settings-panel.mjs.map +1 -1
  962. package/build-module/components/global-styles/inheritance/index.mjs +1 -1
  963. package/build-module/components/global-styles/inheritance/index.mjs.map +1 -1
  964. package/build-module/components/global-styles/shadow-panel-components.mjs +17 -12
  965. package/build-module/components/global-styles/shadow-panel-components.mjs.map +3 -3
  966. package/build-module/components/global-styles/state-control-badges.mjs +1 -1
  967. package/build-module/components/global-styles/state-control-badges.mjs.map +1 -1
  968. package/build-module/components/global-styles/state-control.mjs +1 -1
  969. package/build-module/components/global-styles/state-control.mjs.map +1 -1
  970. package/build-module/components/global-styles/typography-panel.mjs +1 -1
  971. package/build-module/components/global-styles/typography-panel.mjs.map +1 -1
  972. package/build-module/components/global-styles/utils.mjs +8 -0
  973. package/build-module/components/global-styles/utils.mjs.map +2 -2
  974. package/build-module/components/grid/grid-item-movers.mjs +1 -1
  975. package/build-module/components/grid/grid-item-movers.mjs.map +1 -1
  976. package/build-module/components/grid/grid-item-resizer.mjs +1 -1
  977. package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
  978. package/build-module/components/grid/grid-visualizer.mjs +1 -1
  979. package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
  980. package/build-module/components/height-control/index.mjs +1 -1
  981. package/build-module/components/height-control/index.mjs.map +1 -1
  982. package/build-module/components/html-element-control/index.mjs +1 -1
  983. package/build-module/components/html-element-control/index.mjs.map +1 -1
  984. package/build-module/components/iframe/index.mjs +1 -1
  985. package/build-module/components/iframe/index.mjs.map +1 -1
  986. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs +1 -1
  987. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +1 -1
  988. package/build-module/components/image-editor/context.mjs +1 -1
  989. package/build-module/components/image-editor/context.mjs.map +1 -1
  990. package/build-module/components/image-editor/cropper.mjs +1 -1
  991. package/build-module/components/image-editor/cropper.mjs.map +1 -1
  992. package/build-module/components/image-editor/form-controls.mjs +1 -1
  993. package/build-module/components/image-editor/form-controls.mjs.map +1 -1
  994. package/build-module/components/image-editor/index.mjs +1 -1
  995. package/build-module/components/image-editor/index.mjs.map +1 -1
  996. package/build-module/components/image-editor/rotation-button.mjs +1 -1
  997. package/build-module/components/image-editor/rotation-button.mjs.map +1 -1
  998. package/build-module/components/image-editor/zoom-dropdown.mjs +1 -1
  999. package/build-module/components/image-editor/zoom-dropdown.mjs.map +1 -1
  1000. package/build-module/components/image-size-control/index.mjs +1 -1
  1001. package/build-module/components/image-size-control/index.mjs.map +1 -1
  1002. package/build-module/components/inner-blocks/button-block-appender.mjs +1 -1
  1003. package/build-module/components/inner-blocks/button-block-appender.mjs.map +1 -1
  1004. package/build-module/components/inner-blocks/default-block-appender.mjs +1 -1
  1005. package/build-module/components/inner-blocks/default-block-appender.mjs.map +1 -1
  1006. package/build-module/components/inner-blocks/index.mjs +6 -4
  1007. package/build-module/components/inner-blocks/index.mjs.map +3 -3
  1008. package/build-module/components/inner-content/index.mjs +1 -1
  1009. package/build-module/components/inner-content/index.mjs.map +1 -1
  1010. package/build-module/components/inserter/block-patterns-explorer/index.mjs +40 -23
  1011. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +3 -3
  1012. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +23 -57
  1013. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +3 -3
  1014. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +21 -46
  1015. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +3 -3
  1016. package/build-module/components/inserter/block-patterns-tab/index.mjs +1 -1
  1017. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +1 -1
  1018. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs +1 -1
  1019. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +1 -1
  1020. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs +1 -1
  1021. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +1 -1
  1022. package/build-module/components/inserter/block-types-tab.mjs +1 -1
  1023. package/build-module/components/inserter/block-types-tab.mjs.map +1 -1
  1024. package/build-module/components/inserter/category-tabs/index.mjs +1 -1
  1025. package/build-module/components/inserter/category-tabs/index.mjs.map +1 -1
  1026. package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
  1027. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  1028. package/build-module/components/inserter/index.mjs +1 -1
  1029. package/build-module/components/inserter/index.mjs.map +1 -1
  1030. package/build-module/components/inserter/library.mjs +1 -1
  1031. package/build-module/components/inserter/library.mjs.map +1 -1
  1032. package/build-module/components/inserter/media-tab/media-list.mjs +1 -1
  1033. package/build-module/components/inserter/media-tab/media-list.mjs.map +1 -1
  1034. package/build-module/components/inserter/media-tab/media-panel.mjs +1 -1
  1035. package/build-module/components/inserter/media-tab/media-panel.mjs.map +1 -1
  1036. package/build-module/components/inserter/media-tab/media-preview.mjs +1 -1
  1037. package/build-module/components/inserter/media-tab/media-preview.mjs.map +1 -1
  1038. package/build-module/components/inserter/media-tab/media-tab.mjs +1 -1
  1039. package/build-module/components/inserter/media-tab/media-tab.mjs.map +1 -1
  1040. package/build-module/components/inserter/media-tab/utils.mjs +1 -1
  1041. package/build-module/components/inserter/media-tab/utils.mjs.map +1 -1
  1042. package/build-module/components/inserter/menu.mjs +21 -10
  1043. package/build-module/components/inserter/menu.mjs.map +3 -3
  1044. package/build-module/components/inserter/mobile-tab-navigation.mjs +1 -1
  1045. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +1 -1
  1046. package/build-module/components/inserter/no-results.mjs +1 -1
  1047. package/build-module/components/inserter/no-results.mjs.map +1 -1
  1048. package/build-module/components/inserter/panel.mjs +1 -1
  1049. package/build-module/components/inserter/panel.mjs.map +1 -1
  1050. package/build-module/components/inserter/preview-panel.mjs +1 -1
  1051. package/build-module/components/inserter/preview-panel.mjs.map +1 -1
  1052. package/build-module/components/inserter/quick-inserter.mjs +31 -28
  1053. package/build-module/components/inserter/quick-inserter.mjs.map +3 -3
  1054. package/build-module/components/inserter/search-results.mjs +1 -1
  1055. package/build-module/components/inserter/search-results.mjs.map +1 -1
  1056. package/build-module/components/inserter/tips.mjs +1 -1
  1057. package/build-module/components/inserter/tips.mjs.map +1 -1
  1058. package/build-module/components/inserter-draggable-blocks/index.mjs +1 -1
  1059. package/build-module/components/inserter-draggable-blocks/index.mjs.map +1 -1
  1060. package/build-module/components/inserter-list-item/index.mjs +1 -1
  1061. package/build-module/components/inserter-list-item/index.mjs.map +1 -1
  1062. package/build-module/components/inserter-listbox/group.mjs +1 -1
  1063. package/build-module/components/inserter-listbox/group.mjs.map +1 -1
  1064. package/build-module/components/inserter-listbox/index.mjs +1 -1
  1065. package/build-module/components/inserter-listbox/index.mjs.map +1 -1
  1066. package/build-module/components/inserter-listbox/item.mjs +1 -1
  1067. package/build-module/components/inserter-listbox/item.mjs.map +1 -1
  1068. package/build-module/components/inserter-listbox/row.mjs +1 -1
  1069. package/build-module/components/inserter-listbox/row.mjs.map +1 -1
  1070. package/build-module/components/inspector-controls/block-support-slot-container.mjs +1 -1
  1071. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +1 -1
  1072. package/build-module/components/inspector-controls/block-support-tools-panel.mjs +1 -1
  1073. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +1 -1
  1074. package/build-module/components/inspector-controls/fill.mjs +1 -1
  1075. package/build-module/components/inspector-controls/fill.mjs.map +1 -1
  1076. package/build-module/components/inspector-controls/groups.mjs +3 -1
  1077. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1078. package/build-module/components/inspector-controls/index.mjs +1 -1
  1079. package/build-module/components/inspector-controls/index.mjs.map +1 -1
  1080. package/build-module/components/inspector-controls/last-item.mjs +1 -1
  1081. package/build-module/components/inspector-controls/last-item.mjs.map +1 -1
  1082. package/build-module/components/inspector-controls/list-view-content-popover.mjs +1 -1
  1083. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +1 -1
  1084. package/build-module/components/inspector-controls/slot.mjs +1 -1
  1085. package/build-module/components/inspector-controls/slot.mjs.map +1 -1
  1086. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs +1 -1
  1087. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +1 -1
  1088. package/build-module/components/inspector-controls-tabs/content-tab.mjs +1 -1
  1089. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +1 -1
  1090. package/build-module/components/inspector-controls-tabs/index.mjs +1 -1
  1091. package/build-module/components/inspector-controls-tabs/index.mjs.map +1 -1
  1092. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs +1 -1
  1093. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +1 -1
  1094. package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -1
  1095. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +1 -1
  1096. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +2 -2
  1097. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +3 -3
  1098. package/build-module/components/inspector-popover-header/index.mjs +1 -1
  1099. package/build-module/components/inspector-popover-header/index.mjs.map +1 -1
  1100. package/build-module/components/justify-content-control/index.mjs +1 -1
  1101. package/build-module/components/justify-content-control/index.mjs.map +1 -1
  1102. package/build-module/components/justify-content-control/ui.mjs +1 -1
  1103. package/build-module/components/justify-content-control/ui.mjs.map +1 -1
  1104. package/build-module/components/letter-spacing-control/index.mjs +1 -1
  1105. package/build-module/components/letter-spacing-control/index.mjs.map +1 -1
  1106. package/build-module/components/line-height-control/index.mjs +1 -1
  1107. package/build-module/components/line-height-control/index.mjs.map +1 -1
  1108. package/build-module/components/link-control/index.mjs +1 -1
  1109. package/build-module/components/link-control/index.mjs.map +1 -1
  1110. package/build-module/components/link-control/link-preview.mjs +1 -1
  1111. package/build-module/components/link-control/link-preview.mjs.map +1 -1
  1112. package/build-module/components/link-control/search-create-button.mjs +1 -1
  1113. package/build-module/components/link-control/search-create-button.mjs.map +1 -1
  1114. package/build-module/components/link-control/search-input.mjs +1 -1
  1115. package/build-module/components/link-control/search-input.mjs.map +1 -1
  1116. package/build-module/components/link-control/search-item.mjs +1 -1
  1117. package/build-module/components/link-control/search-item.mjs.map +1 -1
  1118. package/build-module/components/link-control/search-results.mjs +1 -1
  1119. package/build-module/components/link-control/search-results.mjs.map +1 -1
  1120. package/build-module/components/link-control/settings-drawer.mjs +1 -1
  1121. package/build-module/components/link-control/settings-drawer.mjs.map +1 -1
  1122. package/build-module/components/link-control/settings.mjs +1 -1
  1123. package/build-module/components/link-control/settings.mjs.map +1 -1
  1124. package/build-module/components/link-picker/link-picker.mjs +1 -1
  1125. package/build-module/components/link-picker/link-picker.mjs.map +1 -1
  1126. package/build-module/components/link-picker/link-preview.mjs +1 -1
  1127. package/build-module/components/link-picker/link-preview.mjs.map +1 -1
  1128. package/build-module/components/list-view/appender.mjs +1 -1
  1129. package/build-module/components/list-view/appender.mjs.map +1 -1
  1130. package/build-module/components/list-view/aria-referenced-text.mjs +1 -1
  1131. package/build-module/components/list-view/aria-referenced-text.mjs.map +1 -1
  1132. package/build-module/components/list-view/block-contents.mjs +1 -1
  1133. package/build-module/components/list-view/block-contents.mjs.map +1 -1
  1134. package/build-module/components/list-view/block-select-button.mjs +1 -1
  1135. package/build-module/components/list-view/block-select-button.mjs.map +1 -1
  1136. package/build-module/components/list-view/block.mjs +1 -1
  1137. package/build-module/components/list-view/block.mjs.map +1 -1
  1138. package/build-module/components/list-view/branch.mjs +1 -1
  1139. package/build-module/components/list-view/branch.mjs.map +1 -1
  1140. package/build-module/components/list-view/drop-indicator.mjs +1 -1
  1141. package/build-module/components/list-view/drop-indicator.mjs.map +1 -1
  1142. package/build-module/components/list-view/expander.mjs +1 -1
  1143. package/build-module/components/list-view/expander.mjs.map +1 -1
  1144. package/build-module/components/list-view/index.mjs +33 -6
  1145. package/build-module/components/list-view/index.mjs.map +4 -4
  1146. package/build-module/components/list-view/leaf.mjs +1 -1
  1147. package/build-module/components/list-view/leaf.mjs.map +1 -1
  1148. package/build-module/components/list-view/utils.mjs +13 -1
  1149. package/build-module/components/list-view/utils.mjs.map +2 -2
  1150. package/build-module/components/media-placeholder/index.mjs +4 -4
  1151. package/build-module/components/media-placeholder/index.mjs.map +3 -3
  1152. package/build-module/components/media-replace-flow/index.mjs +1 -1
  1153. package/build-module/components/media-replace-flow/index.mjs.map +1 -1
  1154. package/build-module/components/multi-selection-inspector/index.mjs +1 -1
  1155. package/build-module/components/multi-selection-inspector/index.mjs.map +1 -1
  1156. package/build-module/components/navigable-toolbar/index.mjs +1 -1
  1157. package/build-module/components/navigable-toolbar/index.mjs.map +1 -1
  1158. package/build-module/components/observe-typing/index.mjs +1 -1
  1159. package/build-module/components/observe-typing/index.mjs.map +1 -1
  1160. package/build-module/components/panel-color-settings/index.mjs +1 -1
  1161. package/build-module/components/panel-color-settings/index.mjs.map +1 -1
  1162. package/build-module/components/plain-text/index.mjs +1 -1
  1163. package/build-module/components/plain-text/index.mjs.map +1 -1
  1164. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -1
  1165. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +1 -1
  1166. package/build-module/components/preset-input-control/index.mjs +1 -1
  1167. package/build-module/components/preset-input-control/index.mjs.map +1 -1
  1168. package/build-module/components/provider/block-refs-provider.mjs +1 -1
  1169. package/build-module/components/provider/block-refs-provider.mjs.map +1 -1
  1170. package/build-module/components/provider/index.mjs +27 -6
  1171. package/build-module/components/provider/index.mjs.map +3 -3
  1172. package/build-module/components/provider/with-registry-provider.mjs +1 -1
  1173. package/build-module/components/provider/with-registry-provider.mjs.map +1 -1
  1174. package/build-module/components/publish-date-time-picker/index.mjs +4 -3
  1175. package/build-module/components/publish-date-time-picker/index.mjs.map +3 -3
  1176. package/build-module/components/recursion-provider/index.mjs +1 -1
  1177. package/build-module/components/recursion-provider/index.mjs.map +1 -1
  1178. package/build-module/components/resizable-box-popover/index.mjs +1 -1
  1179. package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
  1180. package/build-module/components/resolution-tool/index.mjs +1 -1
  1181. package/build-module/components/resolution-tool/index.mjs.map +1 -1
  1182. package/build-module/components/responsive-block-control/index.mjs +1 -1
  1183. package/build-module/components/responsive-block-control/index.mjs.map +1 -1
  1184. package/build-module/components/responsive-block-control/label.mjs +1 -1
  1185. package/build-module/components/responsive-block-control/label.mjs.map +1 -1
  1186. package/build-module/components/rich-text/content.mjs +1 -1
  1187. package/build-module/components/rich-text/content.mjs.map +1 -1
  1188. package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
  1189. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1190. package/build-module/components/rich-text/format-edit.mjs +1 -1
  1191. package/build-module/components/rich-text/format-edit.mjs.map +1 -1
  1192. package/build-module/components/rich-text/format-toolbar/index.mjs +1 -1
  1193. package/build-module/components/rich-text/format-toolbar/index.mjs.map +1 -1
  1194. package/build-module/components/rich-text/format-toolbar-container.mjs +1 -1
  1195. package/build-module/components/rich-text/format-toolbar-container.mjs.map +1 -1
  1196. package/build-module/components/rich-text/get-rich-text-values.mjs +1 -1
  1197. package/build-module/components/rich-text/get-rich-text-values.mjs.map +1 -1
  1198. package/build-module/components/rich-text/index.mjs +8 -6
  1199. package/build-module/components/rich-text/index.mjs.map +3 -3
  1200. package/build-module/components/rich-text/multiline.mjs +113 -73
  1201. package/build-module/components/rich-text/multiline.mjs.map +3 -3
  1202. package/build-module/components/rich-text/toolbar-button.mjs +1 -1
  1203. package/build-module/components/rich-text/toolbar-button.mjs.map +1 -1
  1204. package/build-module/components/rich-text/utils.mjs +1 -1
  1205. package/build-module/components/rich-text/utils.mjs.map +1 -1
  1206. package/build-module/components/rich-text/with-deprecations.mjs +1 -1
  1207. package/build-module/components/rich-text/with-deprecations.mjs.map +1 -1
  1208. package/build-module/components/skip-to-selected-block/index.mjs +1 -1
  1209. package/build-module/components/skip-to-selected-block/index.mjs.map +1 -1
  1210. package/build-module/components/spacing-sizes-control/index.mjs +1 -1
  1211. package/build-module/components/spacing-sizes-control/index.mjs.map +1 -1
  1212. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs +1 -1
  1213. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +1 -1
  1214. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs +1 -1
  1215. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +1 -1
  1216. package/build-module/components/spacing-sizes-control/input-controls/single.mjs +1 -1
  1217. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +1 -1
  1218. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs +1 -1
  1219. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +1 -1
  1220. package/build-module/components/spacing-sizes-control/linked-button.mjs +1 -1
  1221. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +1 -1
  1222. package/build-module/components/tabbed-sidebar/index.mjs +1 -1
  1223. package/build-module/components/tabbed-sidebar/index.mjs.map +1 -1
  1224. package/build-module/components/text-alignment-control/index.mjs +1 -1
  1225. package/build-module/components/text-alignment-control/index.mjs.map +1 -1
  1226. package/build-module/components/text-decoration-control/index.mjs +1 -1
  1227. package/build-module/components/text-decoration-control/index.mjs.map +1 -1
  1228. package/build-module/components/text-indent-control/index.mjs +1 -1
  1229. package/build-module/components/text-indent-control/index.mjs.map +1 -1
  1230. package/build-module/components/text-transform-control/index.mjs +1 -1
  1231. package/build-module/components/text-transform-control/index.mjs.map +1 -1
  1232. package/build-module/components/typewriter/index.mjs +1 -1
  1233. package/build-module/components/typewriter/index.mjs.map +1 -1
  1234. package/build-module/components/unit-control/index.mjs +1 -1
  1235. package/build-module/components/unit-control/index.mjs.map +1 -1
  1236. package/build-module/components/url-input/button.mjs +1 -1
  1237. package/build-module/components/url-input/button.mjs.map +1 -1
  1238. package/build-module/components/url-input/index.mjs +3 -3
  1239. package/build-module/components/url-input/index.mjs.map +2 -2
  1240. package/build-module/components/url-popover/image-url-input-ui.mjs +1 -1
  1241. package/build-module/components/url-popover/image-url-input-ui.mjs.map +1 -1
  1242. package/build-module/components/url-popover/index.mjs +1 -1
  1243. package/build-module/components/url-popover/index.mjs.map +1 -1
  1244. package/build-module/components/url-popover/link-editor.mjs +1 -1
  1245. package/build-module/components/url-popover/link-editor.mjs.map +1 -1
  1246. package/build-module/components/url-popover/link-viewer-url.mjs +1 -1
  1247. package/build-module/components/url-popover/link-viewer-url.mjs.map +1 -1
  1248. package/build-module/components/url-popover/link-viewer.mjs +1 -1
  1249. package/build-module/components/url-popover/link-viewer.mjs.map +1 -1
  1250. package/build-module/components/warning/index.mjs +1 -1
  1251. package/build-module/components/warning/index.mjs.map +1 -1
  1252. package/build-module/components/writing-flow/index.mjs +1 -1
  1253. package/build-module/components/writing-flow/index.mjs.map +1 -1
  1254. package/build-module/components/writing-flow/use-input.mjs +66 -14
  1255. package/build-module/components/writing-flow/use-input.mjs.map +3 -3
  1256. package/build-module/components/writing-flow/use-tab-nav.mjs +1 -1
  1257. package/build-module/components/writing-flow/use-tab-nav.mjs.map +1 -1
  1258. package/build-module/components/writing-mode-control/index.mjs +1 -1
  1259. package/build-module/components/writing-mode-control/index.mjs.map +1 -1
  1260. package/build-module/hooks/align.mjs +1 -1
  1261. package/build-module/hooks/align.mjs.map +1 -1
  1262. package/build-module/hooks/allowed-blocks.mjs +1 -1
  1263. package/build-module/hooks/allowed-blocks.mjs.map +1 -1
  1264. package/build-module/hooks/anchor.mjs +1 -1
  1265. package/build-module/hooks/anchor.mjs.map +1 -1
  1266. package/build-module/hooks/auto-inspector-controls.mjs +1 -1
  1267. package/build-module/hooks/auto-inspector-controls.mjs.map +1 -1
  1268. package/build-module/hooks/background.mjs +1 -1
  1269. package/build-module/hooks/background.mjs.map +1 -1
  1270. package/build-module/hooks/block-bindings.mjs +1 -1
  1271. package/build-module/hooks/block-bindings.mjs.map +1 -1
  1272. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs +1 -1
  1273. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +1 -1
  1274. package/build-module/hooks/block-fields/index.mjs +1 -1
  1275. package/build-module/hooks/block-fields/index.mjs.map +1 -1
  1276. package/build-module/hooks/block-fields/link/index.mjs +1 -1
  1277. package/build-module/hooks/block-fields/link/index.mjs.map +1 -1
  1278. package/build-module/hooks/block-fields/media/index.mjs +1 -1
  1279. package/build-module/hooks/block-fields/media/index.mjs.map +1 -1
  1280. package/build-module/hooks/block-fields/rich-text/index.mjs +1 -1
  1281. package/build-module/hooks/block-fields/rich-text/index.mjs.map +1 -1
  1282. package/build-module/hooks/block-hooks.mjs +1 -1
  1283. package/build-module/hooks/block-hooks.mjs.map +1 -1
  1284. package/build-module/hooks/block-style-variation.mjs +1 -1
  1285. package/build-module/hooks/block-style-variation.mjs.map +1 -1
  1286. package/build-module/hooks/border.mjs +27 -9
  1287. package/build-module/hooks/border.mjs.map +3 -3
  1288. package/build-module/hooks/custom-class-name.mjs +1 -1
  1289. package/build-module/hooks/custom-class-name.mjs.map +1 -1
  1290. package/build-module/hooks/custom-css.mjs +1 -1
  1291. package/build-module/hooks/custom-css.mjs.map +1 -1
  1292. package/build-module/hooks/dimensions.mjs +10 -3
  1293. package/build-module/hooks/dimensions.mjs.map +3 -3
  1294. package/build-module/hooks/duotone.mjs +9 -5
  1295. package/build-module/hooks/duotone.mjs.map +3 -3
  1296. package/build-module/hooks/elements.mjs +1 -1
  1297. package/build-module/hooks/elements.mjs.map +1 -1
  1298. package/build-module/hooks/fit-text.mjs +1 -1
  1299. package/build-module/hooks/fit-text.mjs.map +1 -1
  1300. package/build-module/hooks/font-size.mjs +1 -1
  1301. package/build-module/hooks/font-size.mjs.map +1 -1
  1302. package/build-module/hooks/gap.mjs +6 -1
  1303. package/build-module/hooks/gap.mjs.map +2 -2
  1304. package/build-module/hooks/grid-visualizer.mjs +1 -1
  1305. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1306. package/build-module/hooks/layout-child.mjs +37 -14
  1307. package/build-module/hooks/layout-child.mjs.map +3 -3
  1308. package/build-module/hooks/layout.mjs +23 -2
  1309. package/build-module/hooks/layout.mjs.map +3 -3
  1310. package/build-module/hooks/line-height.mjs +1 -1
  1311. package/build-module/hooks/line-height.mjs.map +1 -1
  1312. package/build-module/hooks/list-view.mjs +1 -1
  1313. package/build-module/hooks/list-view.mjs.map +1 -1
  1314. package/build-module/hooks/position.mjs +2 -2
  1315. package/build-module/hooks/position.mjs.map +3 -3
  1316. package/build-module/hooks/spacing-visualizer.mjs +1 -1
  1317. package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
  1318. package/build-module/hooks/states.mjs +9 -6
  1319. package/build-module/hooks/states.mjs.map +3 -3
  1320. package/build-module/hooks/style.mjs +1 -1
  1321. package/build-module/hooks/style.mjs.map +1 -1
  1322. package/build-module/hooks/text-align.mjs +1 -1
  1323. package/build-module/hooks/text-align.mjs.map +1 -1
  1324. package/build-module/hooks/typography.mjs +1 -1
  1325. package/build-module/hooks/typography.mjs.map +1 -1
  1326. package/build-module/hooks/utils.mjs +1 -1
  1327. package/build-module/hooks/utils.mjs.map +1 -1
  1328. package/build-module/layouts/constrained.mjs +9 -2
  1329. package/build-module/layouts/constrained.mjs.map +3 -3
  1330. package/build-module/layouts/flex.mjs +10 -1
  1331. package/build-module/layouts/flex.mjs.map +3 -3
  1332. package/build-module/layouts/flow.mjs +4 -1
  1333. package/build-module/layouts/flow.mjs.map +2 -2
  1334. package/build-module/layouts/grid.mjs +6 -2
  1335. package/build-module/layouts/grid.mjs.map +3 -3
  1336. package/build-module/private-apis.mjs +3 -1
  1337. package/build-module/private-apis.mjs.map +2 -2
  1338. package/build-module/store/actions.mjs +1 -1
  1339. package/build-module/store/actions.mjs.map +2 -2
  1340. package/build-style/content-rtl.css +6 -0
  1341. package/build-style/content.css +6 -0
  1342. package/build-style/style-rtl.css +108 -83
  1343. package/build-style/style.css +108 -83
  1344. package/build-types/components/block-context/index.d.ts.map +1 -1
  1345. package/build-types/components/block-visibility/constants.d.ts +4 -3
  1346. package/build-types/components/block-visibility/constants.d.ts.map +1 -1
  1347. package/package.json +41 -44
  1348. package/src/components/background-image-control/README.md +122 -0
  1349. package/src/components/block-edit-visually-button/README.md +39 -0
  1350. package/src/components/block-editing-mode/README.md +72 -0
  1351. package/src/components/block-inspector/{index.js → index.jsx} +11 -8
  1352. package/src/components/block-keyboard-shortcuts/index.jsx +256 -0
  1353. package/src/components/block-list/{block.js → block.jsx} +7 -0
  1354. package/src/components/block-list/{index.js → index.jsx} +7 -1
  1355. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -0
  1356. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -8
  1357. package/src/components/block-parent-selector/index.jsx +147 -0
  1358. package/src/components/block-popover/README.md +10 -3
  1359. package/src/components/block-popover/{inbetween.js → inbetween.jsx} +8 -2
  1360. package/src/components/block-popover/stories/index.story.jsx +143 -0
  1361. package/src/components/block-preview/{index.js → index.jsx} +0 -2
  1362. package/src/components/block-styles/{index.js → index.jsx} +95 -43
  1363. package/src/components/block-styles/style.scss +5 -34
  1364. package/src/components/block-tools/style.scss +94 -0
  1365. package/src/components/block-visibility/constants.ts +4 -3
  1366. package/src/components/child-layout-control/{index.js → index.jsx} +5 -5
  1367. package/src/components/color-palette/test/__snapshots__/{control.js.snap → control.jsx.snap} +3 -29
  1368. package/src/components/colors/test/{with-colors.js → with-colors.jsx} +6 -7
  1369. package/src/components/colors/{with-colors.js → with-colors.jsx} +79 -105
  1370. package/src/components/dimensions-tool/{aspect-ratio-tool.js → aspect-ratio-tool.jsx} +16 -4
  1371. package/src/components/dimensions-tool/{index.js → index.jsx} +34 -22
  1372. package/src/components/dimensions-tool/test/{index.js → index.jsx} +166 -2
  1373. package/src/components/dimensions-tool/test/utils.js +51 -0
  1374. package/src/components/dimensions-tool/utils.js +67 -0
  1375. package/src/components/duotone-control/{index.js → index.jsx} +2 -0
  1376. package/src/components/duotone-control/test/index.jsx +100 -0
  1377. package/src/components/global-styles/{advanced-panel.js → advanced-panel.jsx} +5 -2
  1378. package/src/components/global-styles/{background-panel.js → background-panel.jsx} +2 -2
  1379. package/src/components/global-styles/{border-panel.js → border-panel.jsx} +11 -9
  1380. package/src/components/global-styles/{color-panel.js → color-panel.jsx} +13 -1
  1381. package/src/components/global-styles/{dimensions-panel.js → dimensions-panel.jsx} +17 -5
  1382. package/src/components/global-styles/{filters-panel.js → filters-panel.jsx} +24 -10
  1383. package/src/components/global-styles/{shadow-panel-components.js → shadow-panel-components.jsx} +38 -11
  1384. package/src/components/global-styles/test/{background-panel.js → background-panel.jsx} +1 -1
  1385. package/src/components/global-styles/test/{border-panel.js → border-panel.jsx} +230 -0
  1386. package/src/components/global-styles/test/{color-panel.js → color-panel.jsx} +24 -0
  1387. package/src/components/global-styles/test/{dimensions-panel.js → dimensions-panel.jsx} +98 -7
  1388. package/src/components/global-styles/test/{filters-panel.js → filters-panel.jsx} +84 -0
  1389. package/src/components/global-styles/test/inherited-value-context-core.js +1 -1
  1390. package/src/components/global-styles/test/{inherited-value-context.js → inherited-value-context.jsx} +1 -1
  1391. package/src/components/global-styles/test/{typography-panel.js → typography-panel.jsx} +1 -1
  1392. package/src/components/global-styles/test/utils.js +30 -0
  1393. package/src/components/global-styles/utils.js +23 -0
  1394. package/src/components/inner-blocks/{index.js → index.jsx} +11 -2
  1395. package/src/components/inner-blocks/stories/index.story.jsx +246 -0
  1396. package/src/components/inserter/block-patterns-explorer/{index.js → index.jsx} +24 -11
  1397. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.jsx +33 -0
  1398. package/src/components/inserter/block-patterns-explorer/{pattern-list.js → pattern-list.jsx} +22 -47
  1399. package/src/components/inserter/hooks/use-insertion-point.js +9 -4
  1400. package/src/components/inserter/{menu.js → menu.jsx} +24 -11
  1401. package/src/components/inserter/{quick-inserter.js → quick-inserter.jsx} +15 -13
  1402. package/src/components/inserter/style.scss +44 -66
  1403. package/src/components/inspector-controls/groups.js +2 -0
  1404. package/src/components/inspector-controls-tabs/README.md +92 -0
  1405. package/src/components/inspector-controls-tabs/{styles-tab.js → styles-tab.jsx} +1 -1
  1406. package/src/components/link-control/test/{index.js → index.jsx} +5 -0
  1407. package/src/components/list-view/{index.js → index.jsx} +50 -7
  1408. package/src/components/list-view/utils.js +16 -1
  1409. package/src/components/media-placeholder/{index.js → index.jsx} +9 -4
  1410. package/src/components/plain-text/stories/index.story.jsx +3 -0
  1411. package/src/components/provider/{index.js → index.jsx} +45 -1
  1412. package/src/components/publish-date-time-picker/README.md +10 -0
  1413. package/src/components/publish-date-time-picker/{index.js → index.jsx} +17 -14
  1414. package/src/components/rich-text/content.scss +6 -0
  1415. package/src/components/rich-text/event-listeners/enter.js +58 -45
  1416. package/src/components/rich-text/{index.js → index.jsx} +9 -4
  1417. package/src/components/rich-text/multiline.jsx +186 -0
  1418. package/src/components/url-input/{index.js → index.jsx} +2 -2
  1419. package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
  1420. package/src/components/url-input/test/{index.js → index.jsx} +5 -0
  1421. package/src/components/url-popover/README.md +7 -0
  1422. package/src/components/url-popover/stories/index.story.jsx +133 -47
  1423. package/src/components/writing-flow/use-input.js +105 -15
  1424. package/src/hooks/block-hooks.scss +0 -9
  1425. package/src/hooks/{border.js → border.jsx} +27 -8
  1426. package/src/hooks/{dimensions.js → dimensions.jsx} +8 -1
  1427. package/src/hooks/{duotone.js → duotone.jsx} +23 -7
  1428. package/src/hooks/gap.js +16 -0
  1429. package/src/hooks/{grid-visualizer.js → grid-visualizer.jsx} +1 -1
  1430. package/src/hooks/{layout-child.js → layout-child.jsx} +41 -9
  1431. package/src/hooks/{layout.js → layout.jsx} +117 -71
  1432. package/src/hooks/{position.js → position.jsx} +1 -1
  1433. package/src/hooks/{states.js → states.jsx} +8 -5
  1434. package/src/hooks/test/gap.js +31 -1
  1435. package/src/hooks/test/layout-child.js +60 -1
  1436. package/src/hooks/test/layout.js +27 -0
  1437. package/src/layouts/{constrained.js → constrained.jsx} +9 -1
  1438. package/src/layouts/{flex.js → flex.jsx} +15 -0
  1439. package/src/layouts/flow.js +4 -1
  1440. package/src/layouts/{grid.js → grid.jsx} +9 -1
  1441. package/src/layouts/test/{constrained.js → constrained.jsx} +26 -0
  1442. package/src/layouts/test/flow.js +26 -0
  1443. package/src/layouts/test/{grid.js → grid.jsx} +46 -0
  1444. package/src/private-apis.js +2 -0
  1445. package/src/store/actions.js +14 -1
  1446. package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
  1447. package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
  1448. package/build/components/gradients/with-gradient.cjs +0 -36
  1449. package/build/components/gradients/with-gradient.cjs.map +0 -7
  1450. package/build/components/inserter-button/sparkles.cjs +0 -36
  1451. package/build/components/inserter-button/sparkles.cjs.map +0 -7
  1452. package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
  1453. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
  1454. package/build-module/components/gradients/with-gradient.mjs +0 -11
  1455. package/build-module/components/gradients/with-gradient.mjs.map +0 -7
  1456. package/build-module/components/inserter-button/sparkles.mjs +0 -15
  1457. package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
  1458. package/build-style/default-editor-styles-rtl.css +0 -68
  1459. package/build-style/default-editor-styles.css +0 -68
  1460. package/src/components/block-parent-selector/index.js +0 -66
  1461. package/src/components/floating-toolbar/nav-up-icon.js +0 -22
  1462. package/src/components/gradients/with-gradient.js +0 -9
  1463. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -71
  1464. package/src/components/inserter-button/README.md +0 -62
  1465. package/src/components/inserter-button/sparkles.js +0 -12
  1466. package/src/components/rich-text/multiline.js +0 -146
  1467. package/src/default-editor-styles.scss +0 -25
  1468. /package/src/autocompleters/{block.js → block.jsx} +0 -0
  1469. /package/src/components/alignment-control/{index.js → index.jsx} +0 -0
  1470. /package/src/components/alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1471. /package/src/components/alignment-control/test/{index.js → index.jsx} +0 -0
  1472. /package/src/components/alignment-control/{ui.js → ui.jsx} +0 -0
  1473. /package/src/components/autocomplete/{index.js → index.jsx} +0 -0
  1474. /package/src/components/background-image-control/{index.js → index.jsx} +0 -0
  1475. /package/src/components/block-alignment-control/{index.js → index.jsx} +0 -0
  1476. /package/src/components/block-alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1477. /package/src/components/block-alignment-control/test/{index.js → index.jsx} +0 -0
  1478. /package/src/components/block-alignment-control/{ui.js → ui.jsx} +0 -0
  1479. /package/src/components/block-alignment-matrix-control/{index.js → index.jsx} +0 -0
  1480. /package/src/components/block-allowed-blocks/{allowed-blocks-control.js → allowed-blocks-control.jsx} +0 -0
  1481. /package/src/components/block-allowed-blocks/{modal.js → modal.jsx} +0 -0
  1482. /package/src/components/block-bindings/{attribute-control.js → attribute-control.jsx} +0 -0
  1483. /package/src/components/block-bindings/{source-fields-list.js → source-fields-list.jsx} +0 -0
  1484. /package/src/components/block-breadcrumb/{index.js → index.jsx} +0 -0
  1485. /package/src/components/block-breadcrumb/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1486. /package/src/components/block-breadcrumb/test/{index.js → index.jsx} +0 -0
  1487. /package/src/components/block-canvas/{index.js → index.jsx} +0 -0
  1488. /package/src/components/block-card/{index.js → index.jsx} +0 -0
  1489. /package/src/components/block-compare/{block-view.js → block-view.jsx} +0 -0
  1490. /package/src/components/block-compare/{index.js → index.jsx} +0 -0
  1491. /package/src/components/block-compare/test/__snapshots__/{block-view.js.snap → block-view.jsx.snap} +0 -0
  1492. /package/src/components/block-compare/test/{block-view.js → block-view.jsx} +0 -0
  1493. /package/src/components/block-context/{index.js → index.jsx} +0 -0
  1494. /package/src/components/block-controls/{fill.js → fill.jsx} +0 -0
  1495. /package/src/components/block-controls/{index.js → index.jsx} +0 -0
  1496. /package/src/components/block-controls/{slot.js → slot.jsx} +0 -0
  1497. /package/src/components/block-controls/test/{index.js → index.jsx} +0 -0
  1498. /package/src/components/block-draggable/{draggable-chip.js → draggable-chip.jsx} +0 -0
  1499. /package/src/components/block-draggable/{index.js → index.jsx} +0 -0
  1500. /package/src/components/block-edit/{edit.js → edit.jsx} +0 -0
  1501. /package/src/components/block-edit/{index.js → index.jsx} +0 -0
  1502. /package/src/components/block-edit/{multiple-usage-warning.js → multiple-usage-warning.jsx} +0 -0
  1503. /package/src/components/block-edit/test/{edit.js → edit.jsx} +0 -0
  1504. /package/src/components/block-edit-visually-button/{index.js → index.jsx} +0 -0
  1505. /package/src/components/block-full-height-alignment-control/{index.js → index.jsx} +0 -0
  1506. /package/src/components/block-heading-level-dropdown/{heading-level-icon.js → heading-level-icon.jsx} +0 -0
  1507. /package/src/components/block-heading-level-dropdown/{index.js → index.jsx} +0 -0
  1508. /package/src/components/block-icon/{index.js → index.jsx} +0 -0
  1509. /package/src/components/block-icon/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1510. /package/src/components/block-icon/test/{index.js → index.jsx} +0 -0
  1511. /package/src/components/block-inspector/{edit-contents.js → edit-contents.jsx} +0 -0
  1512. /package/src/components/block-list/{block-crash-warning.js → block-crash-warning.jsx} +0 -0
  1513. /package/src/components/block-list/{block-html.js → block-html.jsx} +0 -0
  1514. /package/src/components/block-list/{block-invalid-warning.js → block-invalid-warning.jsx} +0 -0
  1515. /package/src/components/block-list/{layout.js → layout.jsx} +0 -0
  1516. /package/src/components/block-list/{subdirectory-icon.js → subdirectory-icon.jsx} +0 -0
  1517. /package/src/components/block-list/{zoom-out-separator.js → zoom-out-separator.jsx} +0 -0
  1518. /package/src/components/block-list-appender/{index.js → index.jsx} +0 -0
  1519. /package/src/components/block-lock/{menu-item.js → menu-item.jsx} +0 -0
  1520. /package/src/components/block-lock/{modal.js → modal.jsx} +0 -0
  1521. /package/src/components/block-lock/{toolbar.js → toolbar.jsx} +0 -0
  1522. /package/src/components/block-manager/{category.js → category.jsx} +0 -0
  1523. /package/src/components/block-manager/{checklist.js → checklist.jsx} +0 -0
  1524. /package/src/components/block-manager/{index.js → index.jsx} +0 -0
  1525. /package/src/components/block-mover/{button.js → button.jsx} +0 -0
  1526. /package/src/components/block-mover/{index.js → index.jsx} +0 -0
  1527. /package/src/components/block-navigation/{dropdown.js → dropdown.jsx} +0 -0
  1528. /package/src/components/block-pattern-setup/{index.js → index.jsx} +0 -0
  1529. /package/src/components/block-pattern-setup/{setup-toolbar.js → setup-toolbar.jsx} +0 -0
  1530. /package/src/components/block-patterns-list/{index.js → index.jsx} +0 -0
  1531. /package/src/components/block-patterns-paging/{index.js → index.jsx} +0 -0
  1532. /package/src/components/block-popover/{cover.js → cover.jsx} +0 -0
  1533. /package/src/components/block-popover/{drop-zone.js → drop-zone.jsx} +0 -0
  1534. /package/src/components/block-popover/{index.js → index.jsx} +0 -0
  1535. /package/src/components/block-preview/{auto.js → auto.jsx} +0 -0
  1536. /package/src/components/block-preview/test/{index.js → index.jsx} +0 -0
  1537. /package/src/components/block-quick-navigation/{index.js → index.jsx} +0 -0
  1538. /package/src/components/block-removal-warning-modal/{index.js → index.jsx} +0 -0
  1539. /package/src/components/block-rename/{modal.js → modal.jsx} +0 -0
  1540. /package/src/components/block-rename/{rename-control.js → rename-control.jsx} +0 -0
  1541. /package/src/components/block-selection-clearer/{index.js → index.jsx} +0 -0
  1542. /package/src/components/block-selection-clearer/test/{index.js → index.jsx} +0 -0
  1543. /package/src/components/block-settings-menu/{block-html-convert-button.js → block-html-convert-button.jsx} +0 -0
  1544. /package/src/components/block-settings-menu/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1545. /package/src/components/block-settings-menu/{block-parent-selector-menu-item.js → block-parent-selector-menu-item.jsx} +0 -0
  1546. /package/src/components/block-settings-menu/{block-settings-dropdown.js → block-settings-dropdown.jsx} +0 -0
  1547. /package/src/components/block-settings-menu/{index.js → index.jsx} +0 -0
  1548. /package/src/components/block-settings-menu/test/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1549. /package/src/components/block-settings-menu-controls/{index.js → index.jsx} +0 -0
  1550. /package/src/components/block-styles/{menu-items.js → menu-items.jsx} +0 -0
  1551. /package/src/components/block-switcher/{block-styles-menu.js → block-styles-menu.jsx} +0 -0
  1552. /package/src/components/block-switcher/{block-transformations-menu.js → block-transformations-menu.jsx} +0 -0
  1553. /package/src/components/block-switcher/{block-variation-transformations.js → block-variation-transformations.jsx} +0 -0
  1554. /package/src/components/block-switcher/{index.js → index.jsx} +0 -0
  1555. /package/src/components/block-switcher/{pattern-transformations-menu.js → pattern-transformations-menu.jsx} +0 -0
  1556. /package/src/components/block-switcher/{preview-block-popover.js → preview-block-popover.jsx} +0 -0
  1557. /package/src/components/block-switcher/test/{index.js → index.jsx} +0 -0
  1558. /package/src/components/block-title/test/{index.js → index.jsx} +0 -0
  1559. /package/src/components/block-toolbar/{block-styles-dropdown.js → block-styles-dropdown.jsx} +0 -0
  1560. /package/src/components/block-toolbar/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1561. /package/src/components/block-toolbar/{change-design.js → change-design.jsx} +0 -0
  1562. /package/src/components/block-toolbar/{edit-section-button.js → edit-section-button.jsx} +0 -0
  1563. /package/src/components/block-toolbar/{index.js → index.jsx} +0 -0
  1564. /package/src/components/block-toolbar/{pattern-overrides-dropdown.js → pattern-overrides-dropdown.jsx} +0 -0
  1565. /package/src/components/block-toolbar/{switch-section-style.js → switch-section-style.jsx} +0 -0
  1566. /package/src/components/block-toolbar/test/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1567. /package/src/components/block-tools/{block-toolbar-popover.js → block-toolbar-popover.jsx} +0 -0
  1568. /package/src/components/block-tools/{empty-block-inserter.js → empty-block-inserter.jsx} +0 -0
  1569. /package/src/components/block-tools/{index.js → index.jsx} +0 -0
  1570. /package/src/components/block-tools/{insertion-point.js → insertion-point.jsx} +0 -0
  1571. /package/src/components/block-tools/{zoom-out-mode-inserter-button.js → zoom-out-mode-inserter-button.jsx} +0 -0
  1572. /package/src/components/block-tools/{zoom-out-mode-inserters.js → zoom-out-mode-inserters.jsx} +0 -0
  1573. /package/src/components/block-types-list/{index.js → index.jsx} +0 -0
  1574. /package/src/components/block-variation-picker/{index.js → index.jsx} +0 -0
  1575. /package/src/components/block-variation-transforms/{index.js → index.jsx} +0 -0
  1576. /package/src/components/block-vertical-alignment-control/{index.js → index.jsx} +0 -0
  1577. /package/src/components/block-vertical-alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1578. /package/src/components/block-vertical-alignment-control/test/{index.js → index.jsx} +0 -0
  1579. /package/src/components/block-vertical-alignment-control/{ui.js → ui.jsx} +0 -0
  1580. /package/src/components/block-visibility/{modal.js → modal.jsx} +0 -0
  1581. /package/src/components/block-visibility/{viewport-menu-item.js → viewport-menu-item.jsx} +0 -0
  1582. /package/src/components/block-visibility/{viewport-toolbar.js → viewport-toolbar.jsx} +0 -0
  1583. /package/src/components/block-visibility/{viewport-visibility-info.js → viewport-visibility-info.jsx} +0 -0
  1584. /package/src/components/border-radius-control/{index.js → index.jsx} +0 -0
  1585. /package/src/components/border-radius-control/{linked-button.js → linked-button.jsx} +0 -0
  1586. /package/src/components/border-radius-control/test/{index.js → index.jsx} +0 -0
  1587. /package/src/components/button-block-appender/{index.js → index.jsx} +0 -0
  1588. /package/src/components/child-layout-control/test/{index.js → index.jsx} +0 -0
  1589. /package/src/components/color-palette/{control.js → control.jsx} +0 -0
  1590. /package/src/components/color-palette/test/{control.js → control.jsx} +0 -0
  1591. /package/src/components/color-palette/{with-color-context.js → with-color-context.jsx} +0 -0
  1592. /package/src/components/color-style-selector/{index.js → index.jsx} +0 -0
  1593. /package/src/components/colors-gradients/{control.js → control.jsx} +0 -0
  1594. /package/src/components/colors-gradients/{dropdown.js → dropdown.jsx} +0 -0
  1595. /package/src/components/colors-gradients/{panel-color-gradient-settings.js → panel-color-gradient-settings.jsx} +0 -0
  1596. /package/src/components/colors-gradients/test/{control.js → control.jsx} +0 -0
  1597. /package/src/components/contrast-checker/{index.js → index.jsx} +0 -0
  1598. /package/src/components/contrast-checker/test/{index.js → index.jsx} +0 -0
  1599. /package/src/components/convert-to-group-buttons/{index.js → index.jsx} +0 -0
  1600. /package/src/components/convert-to-group-buttons/{toolbar.js → toolbar.jsx} +0 -0
  1601. /package/src/components/copy-handler/{index.js → index.jsx} +0 -0
  1602. /package/src/components/date-format-picker/{index.js → index.jsx} +0 -0
  1603. /package/src/components/default-block-appender/{index.js → index.jsx} +0 -0
  1604. /package/src/components/default-block-appender/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1605. /package/src/components/default-block-appender/test/{index.js → index.jsx} +0 -0
  1606. /package/src/components/dimension-control/{index.js → index.jsx} +0 -0
  1607. /package/src/components/dimensions-tool/{scale-tool.js → scale-tool.jsx} +0 -0
  1608. /package/src/components/dimensions-tool/{width-height-tool.js → width-height-tool.jsx} +0 -0
  1609. /package/src/components/editable-text/{index.js → index.jsx} +0 -0
  1610. /package/src/components/editor-styles/{index.js → index.jsx} +0 -0
  1611. /package/src/components/fit-text-size-warning/{index.js → index.jsx} +0 -0
  1612. /package/src/components/font-appearance-control/{index.js → index.jsx} +0 -0
  1613. /package/src/components/font-family/{index.js → index.jsx} +0 -0
  1614. /package/src/components/font-sizes/{font-size-picker.js → font-size-picker.jsx} +0 -0
  1615. /package/src/components/font-sizes/{with-font-sizes.js → with-font-sizes.jsx} +0 -0
  1616. /package/src/components/global-styles/{color-gradient-dropdown-item.js → color-gradient-dropdown-item.jsx} +0 -0
  1617. /package/src/components/global-styles/{image-settings-panel.js → image-settings-panel.jsx} +0 -0
  1618. /package/src/components/global-styles/inheritance/{index.js → index.jsx} +0 -0
  1619. /package/src/components/global-styles/inheritance/test/{index.js → index.jsx} +0 -0
  1620. /package/src/components/global-styles/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1621. /package/src/components/global-styles/{state-control.js → state-control.jsx} +0 -0
  1622. /package/src/components/global-styles/test/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1623. /package/src/components/global-styles/test/{typography-panel-core.js → typography-panel-core.jsx} +0 -0
  1624. /package/src/components/global-styles/{typography-panel.js → typography-panel.jsx} +0 -0
  1625. /package/src/components/grid/{grid-item-movers.js → grid-item-movers.jsx} +0 -0
  1626. /package/src/components/grid/{grid-item-resizer.js → grid-item-resizer.jsx} +0 -0
  1627. /package/src/components/grid/{grid-visualizer.js → grid-visualizer.jsx} +0 -0
  1628. /package/src/components/height-control/{index.js → index.jsx} +0 -0
  1629. /package/src/components/html-element-control/{index.js → index.jsx} +0 -0
  1630. /package/src/components/iframe/{index.js → index.jsx} +0 -0
  1631. /package/src/components/image-editor/{aspect-ratio-dropdown.js → aspect-ratio-dropdown.jsx} +0 -0
  1632. /package/src/components/image-editor/{context.js → context.jsx} +0 -0
  1633. /package/src/components/image-editor/{cropper.js → cropper.jsx} +0 -0
  1634. /package/src/components/image-editor/{form-controls.js → form-controls.jsx} +0 -0
  1635. /package/src/components/image-editor/{index.js → index.jsx} +0 -0
  1636. /package/src/components/image-editor/{rotation-button.js → rotation-button.jsx} +0 -0
  1637. /package/src/components/image-editor/{zoom-dropdown.js → zoom-dropdown.jsx} +0 -0
  1638. /package/src/components/image-size-control/{index.js → index.jsx} +0 -0
  1639. /package/src/components/image-size-control/test/{index.js → index.jsx} +0 -0
  1640. /package/src/components/inner-blocks/{button-block-appender.js → button-block-appender.jsx} +0 -0
  1641. /package/src/components/inner-blocks/{default-block-appender.js → default-block-appender.jsx} +0 -0
  1642. /package/src/components/inner-blocks/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1643. /package/src/components/inner-blocks/test/{index.js → index.jsx} +0 -0
  1644. /package/src/components/inner-content/{index.js → index.jsx} +0 -0
  1645. /package/src/components/inner-content/test/{index.js → index.jsx} +0 -0
  1646. /package/src/components/inserter/block-patterns-tab/{index.js → index.jsx} +0 -0
  1647. /package/src/components/inserter/block-patterns-tab/{pattern-category-previews.js → pattern-category-previews.jsx} +0 -0
  1648. /package/src/components/inserter/block-patterns-tab/{patterns-filter.js → patterns-filter.jsx} +0 -0
  1649. /package/src/components/inserter/{block-types-tab.js → block-types-tab.jsx} +0 -0
  1650. /package/src/components/inserter/category-tabs/{index.js → index.jsx} +0 -0
  1651. /package/src/components/inserter/{index.js → index.jsx} +0 -0
  1652. /package/src/components/inserter/{library.js → library.jsx} +0 -0
  1653. /package/src/components/inserter/media-tab/{media-list.js → media-list.jsx} +0 -0
  1654. /package/src/components/inserter/media-tab/{media-panel.js → media-panel.jsx} +0 -0
  1655. /package/src/components/inserter/media-tab/{media-preview.js → media-preview.jsx} +0 -0
  1656. /package/src/components/inserter/media-tab/{media-tab.js → media-tab.jsx} +0 -0
  1657. /package/src/components/inserter/media-tab/test/{media-panel.js → media-panel.jsx} +0 -0
  1658. /package/src/components/inserter/media-tab/{utils.js → utils.jsx} +0 -0
  1659. /package/src/components/inserter/{mobile-tab-navigation.js → mobile-tab-navigation.jsx} +0 -0
  1660. /package/src/components/inserter/{no-results.js → no-results.jsx} +0 -0
  1661. /package/src/components/inserter/{panel.js → panel.jsx} +0 -0
  1662. /package/src/components/inserter/{preview-panel.js → preview-panel.jsx} +0 -0
  1663. /package/src/components/inserter/{search-results.js → search-results.jsx} +0 -0
  1664. /package/src/components/inserter/{tips.js → tips.jsx} +0 -0
  1665. /package/src/components/inserter-draggable-blocks/{index.js → index.jsx} +0 -0
  1666. /package/src/components/inserter-list-item/{index.js → index.jsx} +0 -0
  1667. /package/src/components/inserter-listbox/{group.js → group.jsx} +0 -0
  1668. /package/src/components/inserter-listbox/{index.js → index.jsx} +0 -0
  1669. /package/src/components/inserter-listbox/{item.js → item.jsx} +0 -0
  1670. /package/src/components/inserter-listbox/{row.js → row.jsx} +0 -0
  1671. /package/src/components/inspector-controls/{block-support-slot-container.js → block-support-slot-container.jsx} +0 -0
  1672. /package/src/components/inspector-controls/{block-support-tools-panel.js → block-support-tools-panel.jsx} +0 -0
  1673. /package/src/components/inspector-controls/{fill.js → fill.jsx} +0 -0
  1674. /package/src/components/inspector-controls/{index.js → index.jsx} +0 -0
  1675. /package/src/components/inspector-controls/{last-item.js → last-item.jsx} +0 -0
  1676. /package/src/components/inspector-controls/{list-view-content-popover.js → list-view-content-popover.jsx} +0 -0
  1677. /package/src/components/inspector-controls/{slot.js → slot.jsx} +0 -0
  1678. /package/src/components/inspector-controls-tabs/{advanced-controls-panel.js → advanced-controls-panel.jsx} +0 -0
  1679. /package/src/components/inspector-controls-tabs/{content-tab.js → content-tab.jsx} +0 -0
  1680. /package/src/components/inspector-controls-tabs/{index.js → index.jsx} +0 -0
  1681. /package/src/components/inspector-controls-tabs/{position-controls-panel.js → position-controls-panel.jsx} +0 -0
  1682. /package/src/components/inspector-controls-tabs/{settings-tab.js → settings-tab.jsx} +0 -0
  1683. /package/src/components/inspector-popover-header/{index.js → index.jsx} +0 -0
  1684. /package/src/components/justify-content-control/{index.js → index.jsx} +0 -0
  1685. /package/src/components/justify-content-control/{ui.js → ui.jsx} +0 -0
  1686. /package/src/components/letter-spacing-control/{index.js → index.jsx} +0 -0
  1687. /package/src/components/line-height-control/{index.js → index.jsx} +0 -0
  1688. /package/src/components/line-height-control/test/{index.js → index.jsx} +0 -0
  1689. /package/src/components/link-control/{index.js → index.jsx} +0 -0
  1690. /package/src/components/link-control/{link-preview.js → link-preview.jsx} +0 -0
  1691. /package/src/components/link-control/{search-create-button.js → search-create-button.jsx} +0 -0
  1692. /package/src/components/link-control/{search-input.js → search-input.jsx} +0 -0
  1693. /package/src/components/link-control/{search-item.js → search-item.jsx} +0 -0
  1694. /package/src/components/link-control/{search-results.js → search-results.jsx} +0 -0
  1695. /package/src/components/link-control/{settings-drawer.js → settings-drawer.jsx} +0 -0
  1696. /package/src/components/link-control/{settings.js → settings.jsx} +0 -0
  1697. /package/src/components/link-control/test/{url-normalization.test.js → url-normalization.test.jsx} +0 -0
  1698. /package/src/components/link-picker/{link-picker.js → link-picker.jsx} +0 -0
  1699. /package/src/components/link-picker/{link-preview.js → link-preview.jsx} +0 -0
  1700. /package/src/components/link-picker/test/{index.js → index.jsx} +0 -0
  1701. /package/src/components/list-view/{appender.js → appender.jsx} +0 -0
  1702. /package/src/components/list-view/{aria-referenced-text.js → aria-referenced-text.jsx} +0 -0
  1703. /package/src/components/list-view/{block-contents.js → block-contents.jsx} +0 -0
  1704. /package/src/components/list-view/{block-select-button.js → block-select-button.jsx} +0 -0
  1705. /package/src/components/list-view/{block.js → block.jsx} +0 -0
  1706. /package/src/components/list-view/{branch.js → branch.jsx} +0 -0
  1707. /package/src/components/list-view/{drop-indicator.js → drop-indicator.jsx} +0 -0
  1708. /package/src/components/list-view/{expander.js → expander.jsx} +0 -0
  1709. /package/src/components/list-view/{leaf.js → leaf.jsx} +0 -0
  1710. /package/src/components/media-placeholder/test/{index.js → index.jsx} +0 -0
  1711. /package/src/components/media-replace-flow/{index.js → index.jsx} +0 -0
  1712. /package/src/components/media-replace-flow/test/{index.js → index.jsx} +0 -0
  1713. /package/src/components/multi-selection-inspector/{index.js → index.jsx} +0 -0
  1714. /package/src/components/navigable-toolbar/{index.js → index.jsx} +0 -0
  1715. /package/src/components/observe-typing/{index.js → index.jsx} +0 -0
  1716. /package/src/components/panel-color-settings/{index.js → index.jsx} +0 -0
  1717. /package/src/components/panel-color-settings/test/{index.js → index.jsx} +0 -0
  1718. /package/src/components/plain-text/{index.js → index.jsx} +0 -0
  1719. /package/src/components/preset-input-control/{custom-value-controls.js → custom-value-controls.jsx} +0 -0
  1720. /package/src/components/preset-input-control/{index.js → index.jsx} +0 -0
  1721. /package/src/components/preset-input-control/test/{index.js → index.jsx} +0 -0
  1722. /package/src/components/provider/{block-refs-provider.js → block-refs-provider.jsx} +0 -0
  1723. /package/src/components/provider/test/{experimental-provider.js → experimental-provider.jsx} +0 -0
  1724. /package/src/components/provider/test/{use-block-sync.js → use-block-sync.jsx} +0 -0
  1725. /package/src/components/provider/{with-registry-provider.js → with-registry-provider.jsx} +0 -0
  1726. /package/src/components/recursion-provider/{index.js → index.jsx} +0 -0
  1727. /package/src/components/recursion-provider/test/{index.js → index.jsx} +0 -0
  1728. /package/src/components/resizable-box-popover/{index.js → index.jsx} +0 -0
  1729. /package/src/components/resolution-tool/{index.js → index.jsx} +0 -0
  1730. /package/src/components/responsive-block-control/{index.js → index.jsx} +0 -0
  1731. /package/src/components/responsive-block-control/{label.js → label.jsx} +0 -0
  1732. /package/src/components/responsive-block-control/test/{index.js → index.jsx} +0 -0
  1733. /package/src/components/rich-text/{content.js → content.jsx} +0 -0
  1734. /package/src/components/rich-text/{format-edit.js → format-edit.jsx} +0 -0
  1735. /package/src/components/rich-text/format-toolbar/{index.js → index.jsx} +0 -0
  1736. /package/src/components/rich-text/{format-toolbar-container.js → format-toolbar-container.jsx} +0 -0
  1737. /package/src/components/rich-text/{get-rich-text-values.js → get-rich-text-values.jsx} +0 -0
  1738. /package/src/components/rich-text/{toolbar-button.js → toolbar-button.jsx} +0 -0
  1739. /package/src/components/rich-text/{utils.js → utils.jsx} +0 -0
  1740. /package/src/components/rich-text/{with-deprecations.js → with-deprecations.jsx} +0 -0
  1741. /package/src/components/skip-to-selected-block/{index.js → index.jsx} +0 -0
  1742. /package/src/components/spacing-sizes-control/{index.js → index.jsx} +0 -0
  1743. /package/src/components/spacing-sizes-control/input-controls/{axial.js → axial.jsx} +0 -0
  1744. /package/src/components/spacing-sizes-control/input-controls/{separated.js → separated.jsx} +0 -0
  1745. /package/src/components/spacing-sizes-control/input-controls/{single.js → single.jsx} +0 -0
  1746. /package/src/components/spacing-sizes-control/input-controls/{spacing-input-control.js → spacing-input-control.jsx} +0 -0
  1747. /package/src/components/spacing-sizes-control/{linked-button.js → linked-button.jsx} +0 -0
  1748. /package/src/components/spacing-sizes-control/test/{index.js → index.jsx} +0 -0
  1749. /package/src/components/tabbed-sidebar/{index.js → index.jsx} +0 -0
  1750. /package/src/components/text-alignment-control/{index.js → index.jsx} +0 -0
  1751. /package/src/components/text-decoration-control/{index.js → index.jsx} +0 -0
  1752. /package/src/components/text-indent-control/{index.js → index.jsx} +0 -0
  1753. /package/src/components/text-transform-control/{index.js → index.jsx} +0 -0
  1754. /package/src/components/typewriter/{index.js → index.jsx} +0 -0
  1755. /package/src/components/unit-control/{index.js → index.jsx} +0 -0
  1756. /package/src/components/url-input/{button.js → button.jsx} +0 -0
  1757. /package/src/components/url-input/test/{button.js → button.jsx} +0 -0
  1758. /package/src/components/url-popover/{image-url-input-ui.js → image-url-input-ui.jsx} +0 -0
  1759. /package/src/components/url-popover/{index.js → index.jsx} +0 -0
  1760. /package/src/components/url-popover/{link-editor.js → link-editor.jsx} +0 -0
  1761. /package/src/components/url-popover/{link-viewer-url.js → link-viewer-url.jsx} +0 -0
  1762. /package/src/components/url-popover/{link-viewer.js → link-viewer.jsx} +0 -0
  1763. /package/src/components/use-block-display-information/test/{index.js → index.jsx} +0 -0
  1764. /package/src/components/warning/{index.js → index.jsx} +0 -0
  1765. /package/src/components/warning/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1766. /package/src/components/warning/test/{index.js → index.jsx} +0 -0
  1767. /package/src/components/writing-flow/{index.js → index.jsx} +0 -0
  1768. /package/src/components/writing-flow/{use-tab-nav.js → use-tab-nav.jsx} +0 -0
  1769. /package/src/components/writing-mode-control/{index.js → index.jsx} +0 -0
  1770. /package/src/hooks/{align.js → align.jsx} +0 -0
  1771. /package/src/hooks/{allowed-blocks.js → allowed-blocks.jsx} +0 -0
  1772. /package/src/hooks/{anchor.js → anchor.jsx} +0 -0
  1773. /package/src/hooks/{auto-inspector-controls.js → auto-inspector-controls.jsx} +0 -0
  1774. /package/src/hooks/{background.js → background.jsx} +0 -0
  1775. /package/src/hooks/{block-bindings.js → block-bindings.jsx} +0 -0
  1776. /package/src/hooks/block-fields/{fields-dropdown-menu.js → fields-dropdown-menu.jsx} +0 -0
  1777. /package/src/hooks/block-fields/{index.js → index.jsx} +0 -0
  1778. /package/src/hooks/block-fields/link/{index.js → index.jsx} +0 -0
  1779. /package/src/hooks/block-fields/media/{index.js → index.jsx} +0 -0
  1780. /package/src/hooks/block-fields/rich-text/{index.js → index.jsx} +0 -0
  1781. /package/src/hooks/{block-hooks.js → block-hooks.jsx} +0 -0
  1782. /package/src/hooks/{block-style-variation.js → block-style-variation.jsx} +0 -0
  1783. /package/src/hooks/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1784. /package/src/hooks/{custom-css.js → custom-css.jsx} +0 -0
  1785. /package/src/hooks/{elements.js → elements.jsx} +0 -0
  1786. /package/src/hooks/{fit-text.js → fit-text.jsx} +0 -0
  1787. /package/src/hooks/{font-size.js → font-size.jsx} +0 -0
  1788. /package/src/hooks/{line-height.js → line-height.jsx} +0 -0
  1789. /package/src/hooks/{list-view.js → list-view.jsx} +0 -0
  1790. /package/src/hooks/{spacing-visualizer.js → spacing-visualizer.jsx} +0 -0
  1791. /package/src/hooks/{style.js → style.jsx} +0 -0
  1792. /package/src/hooks/test/{align.js → align.jsx} +0 -0
  1793. /package/src/hooks/test/{background.js → background.jsx} +0 -0
  1794. /package/src/hooks/test/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1795. /package/src/hooks/test/{inherited-value-wiring.js → inherited-value-wiring.jsx} +0 -0
  1796. /package/src/hooks/test/{settings.js → settings.jsx} +0 -0
  1797. /package/src/hooks/test/{style.js → style.jsx} +0 -0
  1798. /package/src/hooks/test/{text-align.js → text-align.jsx} +0 -0
  1799. /package/src/hooks/{text-align.js → text-align.jsx} +0 -0
  1800. /package/src/hooks/{typography.js → typography.jsx} +0 -0
  1801. /package/src/hooks/{utils.js → utils.jsx} +0 -0
  1802. /package/src/layouts/test/{flex.js → flex.jsx} +0 -0
  1803. /package/src/store/test/{selectors.js → selectors.jsx} +0 -0
  1804. /package/src/utils/test/{dom.js → dom.jsx} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/block-keyboard-shortcuts/index.jsx"],
4
+ "sourcesContent": ["import { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { store as blocksStore, switchToBlockType } from '@wordpress/blocks';\nimport warning from '@wordpress/warning';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Returns every keyboard shortcut declared by a registered block type, through\n * either a block variation or a block transform.\n *\n * @return {Array} Declared shortcuts, each paired with the block change it makes.\n */\nfunction useDeclaredBlockShortcuts() {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getBlockKeyboardShortcuts(),\n\t\t[]\n\t);\n}\n\n/**\n * Returns a callback applying a block-declared shortcut to the selected block.\n *\n * The callback reports whether the shortcut was relevant to the current\n * selection, which is not the same as whether the block changed: a shortcut\n * that resolves to the block's current state is still handled, so that the key\n * combination is swallowed rather than typed into the block.\n *\n * @return {Function} Callback receiving a declared shortcut.\n */\nfunction useApplyBlockShortcut() {\n\tconst {\n\t\tgetBlock,\n\t\tgetBlockName,\n\t\tgetBlockAttributes,\n\t\tgetBlockEditingMode,\n\t\tgetSelectedBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst { getBlockVariations, getActiveBlockVariation } =\n\t\tuseSelect( blocksStore );\n\tconst { replaceBlocks, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn useCallback(\n\t\t( { targetBlockName, blockNames, variationName } ) => {\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Transforming a block is a structural change, so it is only\n\t\t\t// allowed where the block is fully editable.\n\t\t\tif ( getBlockEditingMode( clientId ) !== 'default' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tif ( ! blockNames.includes( blockName ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst variation = variationName\n\t\t\t\t? getBlockVariations( targetBlockName )?.find(\n\t\t\t\t\t\t( { name } ) => name === variationName\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\t// The block is already of the target type, so there is nothing to\n\t\t\t// transform. Applying the variation's attributes is all that is\n\t\t\t// left to do.\n\t\t\tif ( blockName === targetBlockName ) {\n\t\t\t\tif ( ! variation?.attributes ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst activeVariation = getActiveBlockVariation(\n\t\t\t\t\ttargetBlockName,\n\t\t\t\t\tgetBlockAttributes( clientId )\n\t\t\t\t);\n\t\t\t\tif ( activeVariation?.name !== variationName ) {\n\t\t\t\t\tupdateBlockAttributes( clientId, variation.attributes );\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst block = getBlock( clientId );\n\t\t\tif ( ! block ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Prefer a transform declared for this specific variation, and\n\t\t\t// fall back to transforming to the block type and applying the\n\t\t\t// variation's attributes on top.\n\t\t\tlet blocks = variation\n\t\t\t\t? switchToBlockType( block, targetBlockName, variation.name )\n\t\t\t\t: null;\n\n\t\t\tif ( ! blocks ) {\n\t\t\t\tblocks = switchToBlockType( block, targetBlockName );\n\n\t\t\t\tif ( blocks && variation?.attributes ) {\n\t\t\t\t\tblocks = blocks.map( ( newBlock ) =>\n\t\t\t\t\t\tnewBlock.name === targetBlockName\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t...newBlock,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t...newBlock.attributes,\n\t\t\t\t\t\t\t\t\t\t...variation.attributes,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: newBlock\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( ! blocks ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treplaceBlocks( clientId, blocks );\n\t\t\treturn true;\n\t\t},\n\t\t[\n\t\t\tgetBlock,\n\t\t\tgetBlockName,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockVariations,\n\t\t\tgetActiveBlockVariation,\n\t\t\treplaceBlocks,\n\t\t\tupdateBlockAttributes,\n\t\t]\n\t);\n}\n\nfunction BlockShortcut( { entry, apply } ) {\n\tuseShortcut( entry.name, ( event ) => {\n\t\t// Another handler already acted on this event: either a shortcut\n\t\t// claiming the same key combination, or this same shortcut mounted\n\t\t// twice because block editor providers can be nested.\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( apply( entry ) ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t} );\n\n\treturn null;\n}\n\nfunction BlockShortcutsRegister( { shortcuts } ) {\n\tconst { registerShortcut, unregisterShortcut } = useDispatch(\n\t\tkeyboardShortcutsStore\n\t);\n\t// Shortcuts registered by a previous run, keyed by name, so that those\n\t// belonging to a block type that has since been unregistered can be\n\t// removed. Registration deliberately outlives this component: providers can\n\t// be nested, and unmounting one of them must not take the shortcuts away\n\t// from the others.\n\tconst registeredRef = useRef( new Map() );\n\n\tuseEffect( () => {\n\t\tconst registered = new Map();\n\t\tconst combinations = new Map();\n\n\t\tfor ( const shortcut of shortcuts ) {\n\t\t\tconst config = {\n\t\t\t\tname: shortcut.name,\n\t\t\t\tcategory: 'block',\n\t\t\t\tdescription: shortcut.description,\n\t\t\t\tkeyCombination: shortcut.keyCombination,\n\t\t\t\taliases: shortcut.aliases,\n\t\t\t};\n\t\t\tconst serialized = JSON.stringify( config );\n\n\t\t\t// One shortcut is declared once per block change it can make, so\n\t\t\t// the same name legitimately appears more than once: the heading\n\t\t\t// level shortcuts are declared both on the variation, for a\n\t\t\t// heading, and on the transform that produces one from a\n\t\t\t// paragraph. Only declarations that disagree are a mistake, since\n\t\t\t// the store keys shortcuts by name and the last one registered\n\t\t\t// would decide what the others are matched against.\n\t\t\tconst previous = registered.get( shortcut.name );\n\t\t\tif ( previous !== undefined ) {\n\t\t\t\tif ( previous !== serialized ) {\n\t\t\t\t\twarning(\n\t\t\t\t\t\t`Block keyboard shortcut \"${ shortcut.name }\" is declared more than once with different settings.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Handlers are matched by key combination rather than by name, so\n\t\t\t// two shortcuts claiming the same one both run on the same event,\n\t\t\t// in registration order, and the first that applies takes it.\n\t\t\tconst { modifier, character } = shortcut.keyCombination;\n\t\t\tconst combination = `${ modifier ?? '' }+${ character }`;\n\t\t\tif ( combinations.has( combination ) ) {\n\t\t\t\twarning(\n\t\t\t\t\t`Block keyboard shortcut \"${\n\t\t\t\t\t\tshortcut.name\n\t\t\t\t\t}\" uses the same key combination as \"${ combinations.get(\n\t\t\t\t\t\tcombination\n\t\t\t\t\t) }\".`\n\t\t\t\t);\n\t\t\t}\n\t\t\tcombinations.set( combination, shortcut.name );\n\n\t\t\tregisterShortcut( config );\n\t\t\tregistered.set( shortcut.name, serialized );\n\t\t}\n\n\t\tfor ( const name of registeredRef.current.keys() ) {\n\t\t\tif ( ! registered.has( name ) ) {\n\t\t\t\tunregisterShortcut( name );\n\t\t\t}\n\t\t}\n\n\t\tregisteredRef.current = registered;\n\t}, [ shortcuts, registerShortcut, unregisterShortcut ] );\n\n\treturn null;\n}\n\n/**\n * Registers and handles the keyboard shortcuts that blocks declare on their\n * variations and transforms, applying them to the selected block.\n *\n * @return {Element} Element.\n */\nexport default function BlockKeyboardShortcuts() {\n\tconst shortcuts = useDeclaredBlockShortcuts();\n\tconst apply = useApplyBlockShortcut();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockShortcutsRegister shortcuts={ shortcuts } />\n\t\t\t{ shortcuts.map( ( entry, index ) => (\n\t\t\t\t<BlockShortcut\n\t\t\t\t\t// Shortcut names are not guaranteed to be unique across\n\t\t\t\t\t// blocks, so the index keeps the list stable.\n\t\t\t\t\tkey={ `${ entry.name }-${ index }` }\n\t\t\t\t\tentry={ entry }\n\t\t\t\t\tapply={ apply }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/block-crash-warning.js
1
+ // packages/block-editor/src/components/block-list/block-crash-warning.jsx
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import Warning from "../warning/index.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/block-crash-warning.js"],
3
+ "sources": ["../../../src/components/block-list/block-crash-warning.jsx"],
4
4
  "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport Warning from '../warning';\n\nconst warning = (\n\t<Warning className=\"block-editor-block-list__block-crash-warning\">\n\t\t{ __( 'This block has encountered an error and cannot be previewed.' ) }\n\t</Warning>\n);\n\nexport default function BlockCrashWarning() {\n\treturn warning;\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,UAAU;AACnB,OAAO,aAAa;AAGnB;AADD,IAAM,UACL,oBAAC,WAAQ,WAAU,gDAChB,aAAI,8DAA+D,GACtE;AAGc,SAAR,oBAAqC;AAC3C,SAAO;AACR;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/block-html.js
1
+ // packages/block-editor/src/components/block-list/block-html.jsx
2
2
  import TextareaAutosize from "react-autosize-textarea";
3
3
  import { useEffect, useMemo, useState } from "@wordpress/element";
4
4
  import { useSelect, useDispatch } from "@wordpress/data";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/block-html.js"],
3
+ "sources": ["../../../src/components/block-list/block-html.jsx"],
4
4
  "sourcesContent": ["import TextareaAutosize from 'react-autosize-textarea';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tgetBlockAttributes,\n\tgetBlockContent,\n\tgetBlockType,\n\tgetSaveContent,\n\tvalidateBlock,\n} from '@wordpress/blocks';\nimport { store as blockEditorStore } from '../../store';\nimport { useNativeUndo } from '../../utils/native-undo';\n\nfunction BlockHTML( { clientId } ) {\n\tconst [ html, setHtml ] = useState( '' );\n\tconst nativeUndoRef = useNativeUndo();\n\tconst block = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { updateBlock } = useDispatch( blockEditorStore );\n\n\t// Derive block content as a primitive string so the effect only fires\n\t// when the serialized content genuinely changes, not when the block\n\t// object reference changes (which happens on every RESET_BLOCKS during\n\t// RTC sync, even for unchanged blocks).\n\tconst blockContent = useMemo(\n\t\t() => ( block ? getBlockContent( block ) : '' ),\n\t\t[ block ]\n\t);\n\n\tconst onChange = () => {\n\t\tconst blockType = getBlockType( block.name );\n\n\t\tif ( ! blockType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attributes = getBlockAttributes(\n\t\t\tblockType,\n\t\t\thtml,\n\t\t\tblock.attributes\n\t\t);\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst [ isValid ] = html\n\t\t\t? validateBlock( {\n\t\t\t\t\t...block,\n\t\t\t\t\tattributes,\n\t\t\t\t\toriginalContent: content,\n\t\t\t } )\n\t\t\t: [ true ];\n\n\t\tupdateBlock( clientId, {\n\t\t\tattributes,\n\t\t\toriginalContent: content,\n\t\t\tisValid,\n\t\t} );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content.\n\t\tif ( ! html ) {\n\t\t\tsetHtml( content );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tsetHtml( blockContent );\n\t}, [ blockContent ] );\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tclassName=\"block-editor-block-list__block-html-textarea\"\n\t\t\tvalue={ html }\n\t\t\tonBlur={ onChange }\n\t\t\tonChange={ ( event ) => setHtml( event.target.value ) }\n\t\t\t// The edits are local state until committed on blur, so undo\n\t\t\t// and redo must remain the browser's own within the field.\n\t\t\tref={ nativeUndoRef }\n\t\t/>\n\t);\n}\n\nexport default BlockHTML;\n"],
5
5
  "mappings": ";AAAA,OAAO,sBAAsB;AAC7B,SAAS,WAAW,SAAS,gBAAgB;AAC7C,SAAS,WAAW,mBAAmB;AACvC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,SAAS,wBAAwB;AAC1C,SAAS,qBAAqB;AA4D5B;AA1DF,SAAS,UAAW,EAAE,SAAS,GAAI;AAClC,QAAM,CAAE,MAAM,OAAQ,IAAI,SAAU,EAAG;AACvC,QAAM,gBAAgB,cAAc;AACpC,QAAM,QAAQ;AAAA,IACb,CAAE,WAAY,OAAQ,gBAAiB,EAAE,SAAU,QAAS;AAAA,IAC5D,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,YAAY,IAAI,YAAa,gBAAiB;AAMtD,QAAM,eAAe;AAAA,IACpB,MAAQ,QAAQ,gBAAiB,KAAM,IAAI;AAAA,IAC3C,CAAE,KAAM;AAAA,EACT;AAEA,QAAM,WAAW,MAAM;AACtB,UAAM,YAAY,aAAc,MAAM,IAAK;AAE3C,QAAK,CAAE,WAAY;AAClB;AAAA,IACD;AAEA,UAAM,aAAa;AAAA,MAClB;AAAA,MACA;AAAA,MACA,MAAM;AAAA,IACP;AAGA,UAAM,UAAU,OAAO,OAAO,eAAgB,WAAW,UAAW;AACpE,UAAM,CAAE,OAAQ,IAAI,OACjB,cAAe;AAAA,MACf,GAAG;AAAA,MACH;AAAA,MACA,iBAAiB;AAAA,IACjB,CAAE,IACF,CAAE,IAAK;AAEV,gBAAa,UAAU;AAAA,MACtB;AAAA,MACA,iBAAiB;AAAA,MACjB;AAAA,IACD,CAAE;AAGF,QAAK,CAAE,MAAO;AACb,cAAS,OAAQ;AAAA,IAClB;AAAA,EACD;AAEA,YAAW,MAAM;AAChB,YAAS,YAAa;AAAA,EACvB,GAAG,CAAE,YAAa,CAAE;AAEpB,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ;AAAA,MACR,QAAS;AAAA,MACT,UAAW,CAAE,UAAW,QAAS,MAAM,OAAO,KAAM;AAAA,MAGpD,KAAM;AAAA;AAAA,EACP;AAEF;AAEA,IAAO,qBAAQ;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/block-invalid-warning.js
1
+ // packages/block-editor/src/components/block-list/block-invalid-warning.jsx
2
2
  import { __, _x } from "@wordpress/i18n";
3
3
  import { Button, Modal } from "@wordpress/components";
4
4
  import { useState, useCallback, useMemo } from "@wordpress/element";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/block-invalid-warning.js"],
3
+ "sources": ["../../../src/components/block-list/block-invalid-warning.jsx"],
4
4
  "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock(\n\t\t\t\t\t'core/html',\n\t\t\t\t\t{},\n\t\t\t\t\t[],\n\t\t\t\t\t[ block.originalContent ]\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'Block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,IAAI,UAAU;AACvB,SAAS,QAAQ,aAAa;AAC9B,SAAS,UAAU,aAAa,eAAe;AAC/C,SAAS,aAAa,kBAAkB;AACxC,SAAS,aAAa,iBAAiB;AACvC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,SAAS,SAAS,wBAAwB;AA0ExC,mBAGG,KAHH;AAxEF,IAAM,gBAAgB,CAAE,UACvB,WAAY;AAAA,EACX,MAAM,MAAM;AACb,CAAE;AAEY,SAAR,oBAAsC,EAAE,SAAS,GAAI;AAC3D,QAAM,EAAE,OAAO,mBAAmB,IAAI;AAAA,IACrC,CAAE,WAAY;AACb,YAAM,EAAE,oBAAoB,UAAU,qBAAqB,IAC1D,OAAQ,gBAAiB;AAE1B,YAAM,eAAe,qBAAsB,QAAS;AAEpD,aAAO;AAAA,QACN,OAAO,SAAU,QAAS;AAAA,QAC1B,oBAAoB;AAAA,UACnB;AAAA,UACA;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AACA,QAAM,EAAE,aAAa,IAAI,YAAa,gBAAiB;AAEvD,QAAM,CAAE,SAAS,UAAW,IAAI,SAAU,KAAM;AAChD,QAAM,iBAAiB,YAAa,MAAM,WAAY,KAAM,GAAG,CAAC,CAAE;AAElE,QAAM,UAAU;AAAA,IACf,OAAQ;AAAA,MACP,SAAS;AACR,cAAM,YAAY;AAAA,UACjB;AAAA,UACA,CAAC;AAAA,UACD,CAAC;AAAA,UACD,CAAE,MAAM,eAAgB;AAAA,QACzB;AACA,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,WAAW;AACV,cAAM,YAAY,cAAe,KAAM;AACvC,eAAO,aAAc,MAAM,UAAU,SAAU;AAAA,MAChD;AAAA,MACA,mBAAmB;AAClB,cAAM,iBAAiB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,MAAM;AAAA,QACP;AACA,eAAO,aAAc,MAAM,UAAU,cAAe;AAAA,MACrD;AAAA,IACD;AAAA,IACA,CAAE,OAAO,YAAa;AAAA,EACvB;AAEA,QAAM,mBAAmB;AAAA,IACxB,MACC;AAAA,MACC;AAAA;AAAA,QAEC,OAAO,GAAI,WAAW,iBAAkB;AAAA,QACxC,SAAS,MAAM,WAAY,IAAK;AAAA,MACjC;AAAA,MACA,sBAAsB;AAAA,QACrB,OAAO,GAAI,iBAAkB;AAAA,QAC7B,SAAS,QAAQ;AAAA,MAClB;AAAA,IACD,EAAE,OAAQ,OAAQ;AAAA,IACnB,CAAE,oBAAoB,OAAQ;AAAA,EAC/B;AAEA,SACC,iCACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,SAAU;AAAA,UACT;AAAA,YAAC;AAAA;AAAA,cACA,uBAAqB;AAAA,cAErB,SAAU,QAAQ;AAAA,cAClB,SAAQ;AAAA,cAEN,aAAI,kBAAmB;AAAA;AAAA,YAJrB;AAAA,UAKL;AAAA,QACD;AAAA,QACA;AAAA,QAEE,aAAI,+CAAgD;AAAA;AAAA,IACvD;AAAA,IACE,WACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA;AAAA,UAEC,GAAI,eAAgB;AAAA;AAAA,QAErB,gBAAiB;AAAA,QACjB,WAAU;AAAA,QAEV;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,QAAS,QAAQ;AAAA,YACjB,WAAY,QAAQ;AAAA,YACpB,WAAY;AAAA,YACZ,mBAAoB,GAAI,mBAAoB;AAAA;AAAA,QAC7C;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/block.js
1
+ // packages/block-editor/src/components/block-list/block.jsx
2
2
  import clsx from "clsx";
3
3
  import { memo, RawHTML, useContext, useMemo } from "@wordpress/element";
4
4
  import {
@@ -533,7 +533,12 @@ function BlockListBlockProvider(props) {
533
533
  originalBlockClientId: isInvalid ? blocksWithSameName[0] : false,
534
534
  blockVisibility: blockVisibility2,
535
535
  deviceType: deviceType2,
536
- viewportSettings: viewportSettings2
536
+ viewportSettings: viewportSettings2,
537
+ supportsSplitting: hasBlockSupport(
538
+ blockName,
539
+ "splitting",
540
+ false
541
+ )
537
542
  };
538
543
  },
539
544
  [clientId, rootClientId, ghostBlock, ghostBlockWithoutAttributes]
@@ -603,7 +608,8 @@ function BlockListBlockProvider(props) {
603
608
  bindableAttributes,
604
609
  blockVisibility,
605
610
  deviceType,
606
- viewportSettings
611
+ viewportSettings,
612
+ supportsSplitting
607
613
  } = selectedProps;
608
614
  const privateContext = {
609
615
  isPreviewMode,
@@ -644,7 +650,8 @@ function BlockListBlockProvider(props) {
644
650
  bindableAttributes,
645
651
  blockVisibility,
646
652
  deviceType,
647
- viewportSettings
653
+ viewportSettings,
654
+ supportsSplitting
648
655
  };
649
656
  if (isBlockCurrentlyHidden && !isSelected && !isMultiSelected && !hasChildSelected) {
650
657
  return null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/block.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose, useRefEffect } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\nimport { useBlockVisibility } from '../block-visibility/';\nimport { unlock } from '../../lock-unlock';\nimport { deviceTypeKey } from '../../store/private-keys';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tisSelectionWithinCurrentSection,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tmayDisplayPatternEditingControls={ isSelectionWithinCurrentSection }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ), 'content' )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock(\n\t\t\t\t\t\t\t\tgetBlock( _clientId ),\n\t\t\t\t\t\t\t\t'content'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Forward deleting an unmodified default block should\n\t\t\t\t// remove it and move into the next block, not pull the\n\t\t\t\t// next block's first item out of it.\n\t\t\t\tif ( isUnmodifiedDefaultBlock( getBlock( clientId ) ) ) {\n\t\t\t\t\t// Select the first leaf block, so the caret starts at\n\t\t\t\t\t// the beginning of the block's content rather than on\n\t\t\t\t\t// a container's shell.\n\t\t\t\t\tlet firstLeafClientId = nextBlockClientId;\n\t\t\t\t\twhile ( getBlockOrder( firstLeafClientId ).length ) {\n\t\t\t\t\t\tfirstLeafClientId =\n\t\t\t\t\t\t\tgetBlockOrder( firstLeafClientId )[ 0 ];\n\t\t\t\t\t}\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\tselectBlock( firstLeafClientId );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId, ghostBlock } = props;\n\t// Stable fallback so the selector returns referentially equal values.\n\tconst ghostBlockWithoutAttributes = useMemo(\n\t\t() =>\n\t\t\tghostBlock\n\t\t\t\t? {\n\t\t\t\t\t\tclientId: ghostBlock.clientId,\n\t\t\t\t\t\tname: ghostBlock.name,\n\t\t\t\t\t\tisValid: true,\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t[ ghostBlock ]\n\t);\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetParentSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId ) ??\n\t\t\t\t// An appender ghost renders from its block object until it\n\t\t\t\t// is inserted on entry; it is never selected before that.\n\t\t\t\t( clientId === ghostBlockWithoutAttributes?.clientId\n\t\t\t\t\t? ghostBlockWithoutAttributes\n\t\t\t\t\t: undefined );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes =\n\t\t\t\tgetBlockAttributes( clientId ) ?? ghostBlock?.attributes;\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst settings = getSettings();\n\t\t\tconst {\n\t\t\t\tsupportsLayout,\n\t\t\t\tisPreviewMode,\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes,\n\t\t\t} = settings;\n\t\t\tconst bindableAttributes =\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes?.[ blockName ];\n\t\t\tconst blockVisibility = attributes?.metadata?.blockVisibility;\n\t\t\tconst deviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() || 'desktop';\n\t\t\tconst viewportSettings = settings?.__experimentalFeatures?.viewport;\n\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tbindableAttributes,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t\tisMultiSelected,\n\t\t\t\tblockEditingMode,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst isSectionBlock = _isSectionBlock( clientId );\n\t\t\tconst sectionBlockClientId = isSectionBlock\n\t\t\t\t? clientId\n\t\t\t\t: getParentSectionBlock( clientId );\n\t\t\t// Without a section block there is nothing for the deep check to\n\t\t\t// match, and it walks the parents of every selected block to find\n\t\t\t// that out.\n\t\t\tconst isSelectionWithinCurrentSection =\n\t\t\t\tisBlockSelected( sectionBlockClientId ) ||\n\t\t\t\t( !! sectionBlockClientId &&\n\t\t\t\t\thasSelectedInnerBlock( sectionBlockClientId, checkDeep ) );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock,\n\t\t\t\tisWithinSectionBlock: !! sectionBlockClientId,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\tblockType,\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisEditingContentOnlySection:\n\t\t\t\t\tgetEditedContentOnlySection() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId, ghostBlock, ghostBlockWithoutAttributes ]\n\t);\n\n\tconst defaultViewRef = useRefEffect( ( element ) => {\n\t\tif ( element ) {\n\t\t\tconst { ownerDocument } = element;\n\t\t\tconst { defaultView } = ownerDocument;\n\t\t\tdefaultViewRef.current = defaultView;\n\t\t}\n\t}, [] );\n\n\t// Use block visibility hook with data from existing useSelect to avoid extra subscription\n\tconst { isBlockCurrentlyHidden } = useBlockVisibility( {\n\t\tblockVisibility: selectedProps?.blockVisibility,\n\t\tdeviceType: selectedProps?.deviceType,\n\t\tviewportSettings: selectedProps?.viewportSettings,\n\t\tview: defaultViewRef.current,\n\t} );\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( {\n\t\t\t...selectedProps?.blockWithoutAttributes,\n\t\t\tattributes: selectedProps?.attributes,\n\t\t} ),\n\t\t[ selectedProps?.blockWithoutAttributes, selectedProps?.attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisEditingContentOnlySection,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t} = selectedProps;\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tghostBlock,\n\t\trootClientId,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisEditingContentOnlySection,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t\tisBlockCurrentlyHidden,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t};\n\n\tif (\n\t\tisBlockCurrentlyHidden &&\n\t\t! isSelected &&\n\t\t! isMultiSelected &&\n\t\t! hasChildSelected\n\t) {\n\t\treturn null;\n\t}\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,MAAM,SAAS,YAAY,eAAe;AACnD;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,mBAAmB;AAC5B,SAAS,cAAc,iBAAiB;AACxC,SAAS,SAAS,oBAAoB;AACtC,SAAS,gBAAgB;AACzB,OAAO,eAAe;AACtB,OAAO,yBAAyB;AAChC,OAAO,uBAAuB;AAC9B,OAAO,wBAAwB;AAC/B,OAAO,eAAe;AACtB,SAAS,qBAAqB;AAC9B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,iBAAiB;AAC1B,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AACnC,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAoC5B,SAyHC,UAzHD,KAgHC,YAhHD;AA1BF,SAAS,kBAAmB,QAAQ,QAAS;AAC5C,QAAM,WAAW;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACJ;AAGA,MACC,QAAQ,eAAgB,WAAY,KACpC,QAAQ,eAAgB,WAAY,GACnC;AACD,aAAS,YAAY,KAAM,OAAO,WAAW,OAAO,SAAU;AAAA,EAC/D;AAEA,MACC,QAAQ,eAAgB,OAAQ,KAChC,QAAQ,eAAgB,OAAQ,GAC/B;AACD,aAAS,QAAQ,EAAE,GAAG,OAAO,OAAO,GAAG,OAAO,MAAM;AAAA,EACrD;AAEA,SAAO;AACR;AAEA,SAAS,MAAO,EAAE,UAAU,QAAQ,GAAG,MAAM,GAAI;AAChD,SACC,oBAAC,SAAM,GAAG,cAAe,OAAO,EAAE,kBAAkB,OAAO,CAAE,GAC1D,UACH;AAEF;AAEA,SAAS,eAAgB;AAAA,EACxB,OAAO,EAAE,sBAAsB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,4BAA4B;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,IAAI,WAAY,mBAAoB;AAEpC,QAAM,eAAe,UAAU,KAAK,CAAC;AAMrC,MAAI,YACH;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAoB,WAAW,SAAY;AAAA,MAC3C,WAAY,YAAY,YAAY;AAAA,MACpC,UAAW,YAAY,WAAW;AAAA,MAClC,aAAc,YAAY,UAAU;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA,4BAA6B;AAAA,MAC7B,wBACC,OAAO,KAAM,YAAa,EAAE,SAAS,eAAe;AAAA,MAErD;AAAA,MACA;AAAA,MACA,kCAAmC;AAAA,MACnC,kBAAmB,QAAQ;AAAA,MAC3B,eAAgB,QAAQ;AAAA;AAAA,EACzB;AAGD,QAAM,YAAY,aAAc,IAAK;AAGrC,MAAK,WAAW,qBAAsB;AACrC,mBAAe;AAAA,MACd;AAAA,MACA,UAAU,oBAAqB,UAAW;AAAA,IAC3C;AAAA,EACD;AAEA,QAAM,YACL,gBACA,CAAC,CAAE,aAAc,YAAa,KAC9B,CAAE;AAIH,QAAM,WAAW,WAAW,SAAU,oBAAqB;AAU3D,MAAK,WAAY;AAChB,gBACC;AAAA,MAAC;AAAA;AAAA,QACA,WAAY,KAAM,YAAY,YAAY,SAAU;AAAA,QACpD,cAAa,aAAc,YAAa;AAAA,QAEtC;AAAA;AAAA,IACH;AAAA,EAEF;AAEA,MAAI;AAEJ,MAAK,CAAE,SAAU;AAChB,UAAM,cAAc,wBACjB,kBAAmB,qBAAsB,IACzC,eAAgB,WAAW,UAAW;AAEzC,YACC,qBAAC,SAAM,WAAU,eAChB;AAAA,0BAAC,uBAAoB,UAAsB;AAAA,MAC3C,oBAAC,WAAU,mBAAU,WAAY,GAAG;AAAA,OACrC;AAAA,EAEF,WAAY,SAAS,QAAS;AAG7B,YACC,iCACC;AAAA,0BAAC,SAAI,OAAQ,EAAE,SAAS,OAAO,GAAM,qBAAW;AAAA,MAChD,oBAAC,SAAM,QAAM,MACZ,8BAAC,aAAU,UAAsB,GAClC;AAAA,OACD;AAAA,EAEF,WAAY,WAAW,aAAa,GAAI;AACvC,YAAQ;AAAA,EACT,OAAO;AACN,YAAQ,oBAAC,SAAQ,qBAAW;AAAA,EAC7B;AAEA,QAAM,EAAE,cAAc,WAAW,GAAG,iBAAiB,IAAI,gBAAgB,CAAC;AAC1E,QAAM,sBAAsB;AAAA,IAC3B,GAAG;AAAA,IACH,WAAW;AAAA,MACV,iBAAiB;AAAA,MACjB,aAAa,uBAAuB,QAAS,SAAU;AAAA,MACvD,EAAI,aAAa,aAAc;AAAA,IAChC;AAAA,EACD;AAUA,SACC;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACA,OAAQ;AAAA,QACP,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACJ;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACA,UACC,oBAAC,SAAM,WAAU,eAChB,8BAAC,qBAAkB,GACpB;AAAA,UAGC;AAAA;AAAA,MACH;AAAA;AAAA,EACD;AAEF;AAEA,IAAM,oBAAoB,aAAc,CAAE,UAAU,UAAU,aAAc;AAC3E,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,SAAU,gBAAiB;AAI/B,SAAO;AAAA,IACN,cAAe,gBAAiB;AAC/B,YAAM,EAAE,+BAA+B,IACtC,SAAS,OAAQ,gBAAiB;AACnC,YAAM,8BACL,+BAA+B;AAChC,YAAM,EAAE,UAAU,WAAW,IAAI;AACjC,YAAM,YAAY,4BAA4B,SAC3C,8BACA,CAAE,QAAS;AACd,YAAM,gBACL,OAAO,mBAAmB,aACvB,eAAgB,UAAW,IAC3B;AAEJ,4BAAuB,WAAW,aAAc;AAAA,IACjD;AAAA,IACA,eAAgB,QAAQ,OAAQ;AAC/B,YAAM,EAAE,aAAa,IAAI;AACzB,mBAAc,QAAQ,OAAO,YAAa;AAAA,IAC3C;AAAA,IACA,oBAAqB,QAAS;AAC7B,YAAM,EAAE,UAAU,aAAa,IAAI;AACnC,YAAM,EAAE,cAAc,IAAI,SAAS,OAAQ,gBAAiB;AAC5D,YAAM,QAAQ,cAAe,QAAS;AACtC,mBAAc,QAAQ,QAAQ,GAAG,YAAa;AAAA,IAC/C;AAAA,IACA,QAAS,SAAU;AAClB,YAAM,EAAE,UAAU,aAAa,IAAI;AACnC,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,SAAS,OAAQ,gBAAiB;AAEtC,eAAS,0BAA0B;AAClC,cAAM,QAAQ,SAAU,QAAS;AACjC,cAAM,mBAAmB,oBAAoB;AAC7C,cAAM,mBAAmB,aAAc,gBAAiB;AACxD,YAAK,aAAc,QAAS,MAAM,kBAAmB;AACpD,gBAAM,cAAc;AAAA,YACnB;AAAA,YACA;AAAA,UACD;AACA,cAAK,eAAe,YAAY,QAAS;AACxC,0BAAe,UAAU,WAAY;AAAA,UACtC;AAAA,QACD,WAAY,yBAA0B,KAAM,GAAI;AAC/C,gBAAM,oBAAoB,qBAAsB,QAAS;AACzD,cAAK,mBAAoB;AACxB,qBAAS,MAAO,MAAM;AACrB,0BAAa,QAAS;AACtB,0BAAa,iBAAkB;AAAA,YAChC,CAAE;AAAA,UACH;AAAA,QACD,WAAY,iBAAiB,OAAQ;AACpC,gBAAM,aAAa,iBAAiB;AAAA,YACnC,CAAC;AAAA,YACD,MAAM;AAAA,UACP;AACA;AAAA,YACC,CAAE,QAAS;AAAA,YACX,CAAE,YAAa,kBAAkB,UAAW,CAAE;AAAA,UAC/C;AAAA,QACD;AAAA,MACD;AAWA,eAAS,gBAAiB,WAAW,kBAAkB,MAAO;AAC7D,cAAM,mBAAmB,aAAc,SAAU;AACjD,cAAM,mBAAmB,aAAc,gBAAiB;AACxD,cAAM,mBAAmB,iBAAiB,aAAa;AACvD,cAAM,qBAAqB,qBAAsB,SAAU;AAC3D,cAAM,aAAa,cAAe,SAAU;AAC5C,cAAM,CAAE,aAAc,IAAI;AAE1B,YACC,WAAW,WAAW,KACtB,kBAAmB,SAAU,aAAc,GAAG,SAAU,GACvD;AACD,sBAAa,SAAU;AAAA,QACxB,WAAY,kBAAmB;AAC9B,mBAAS,MAAO,MAAM;AACrB,gBACC;AAAA,cACC,aAAc,aAAc;AAAA,cAC5B;AAAA,YACD,GACC;AACD;AAAA,gBACC,CAAE,aAAc;AAAA,gBAChB;AAAA,gBACA;AAAA,gBACA,cAAe,SAAU;AAAA,cAC1B;AAAA,YACD,OAAO;AACN,oBAAM,cAAc;AAAA,gBACnB,SAAU,aAAc;AAAA,gBACxB,oBAAoB;AAAA,cACrB;AAEA,kBACC,eACA,YAAY,UACZ,YAAY;AAAA,gBAAO,CAAE,UACpB;AAAA,kBACC,MAAM;AAAA,kBACN;AAAA,gBACD;AAAA,cACD,GACC;AACD;AAAA,kBACC;AAAA,kBACA,cAAe,SAAU;AAAA,kBACzB;AAAA,kBACA;AAAA,gBACD;AACA,4BAAa,eAAe,KAAM;AAAA,cACnC,OAAO;AACN,wCAAwB;AAAA,cACzB;AAAA,YACD;AAEA,gBACC,CAAE,cAAe,SAAU,EAAE,UAC7B;AAAA,cACC,SAAU,SAAU;AAAA,cACpB;AAAA,YACD,GACC;AACD,0BAAa,WAAW,KAAM;AAAA,YAC/B;AAAA,UACD,CAAE;AAAA,QACH,OAAO;AACN,kCAAwB;AAAA,QACzB;AAAA,MACD;AAIA,UAAK,SAAU;AACd,YAAK,cAAe;AACnB,gBAAM,mBACL,qBAAsB,YAAa;AAEpC,cAAK,kBAAmB;AAIvB,gBACC,aAAc,YAAa,MAC3B,aAAc,gBAAiB,GAC9B;AACD,oBAAM,iBACL,mBAAoB,YAAa;AAClC,oBAAM,yBACL,mBAAoB,gBAAiB;AAEtC,kBACC,OAAO,KAAM,cAAe,EAAE;AAAA,gBAC7B,CAAE,QACD,eAAgB,GAAI,MACpB,uBAAwB,GAAI;AAAA,cAC9B,GACC;AACD,yBAAS,MAAO,MAAM;AACrB;AAAA,oBACC,cAAe,gBAAiB;AAAA,oBAChC;AAAA,oBACA;AAAA,kBACD;AACA,8BAAa,kBAAkB,KAAM;AAAA,gBACtC,CAAE;AACF;AAAA,cACD;AAAA,YACD,OAAO;AACN,0BAAa,cAAc,gBAAiB;AAC5C;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAEA,cAAM,oBAAoB,qBAAsB,QAAS;AAEzD,YAAK,CAAE,mBAAoB;AAC1B;AAAA,QACD;AAKA,YAAK,yBAA0B,SAAU,QAAS,CAAE,GAAI;AAIvD,cAAI,oBAAoB;AACxB,iBAAQ,cAAe,iBAAkB,EAAE,QAAS;AACnD,gCACC,cAAe,iBAAkB,EAAG,CAAE;AAAA,UACxC;AACA,mBAAS,MAAO,MAAM;AACrB,wBAAa,QAAS;AACtB,wBAAa,iBAAkB;AAAA,UAChC,CAAE;AAAA,QACH,WAAY,cAAe,iBAAkB,EAAE,QAAS;AACvD,0BAAiB,mBAAmB,KAAM;AAAA,QAC3C,OAAO;AACN,sBAAa,UAAU,iBAAkB;AAAA,QAC1C;AAAA,MACD,OAAO;AACN,cAAM,wBACL,yBAA0B,QAAS;AAEpC,YAAK,uBAAwB;AAC5B,sBAAa,uBAAuB,QAAS;AAAA,QAC9C,WAAY,cAAe;AAC1B,gBAAM,uBACL,yBAA0B,YAAa;AAIxC,cACC,wBACA,aAAc,YAAa,MAC1B,aAAc,oBAAqB,GACnC;AACD,kBAAM,iBACL,mBAAoB,YAAa;AAClC,kBAAM,yBACL,mBAAoB,oBAAqB;AAE1C,gBACC,OAAO,KAAM,cAAe,EAAE;AAAA,cAC7B,CAAE,QACD,eAAgB,GAAI,MACpB,uBAAwB,GAAI;AAAA,YAC9B,GACC;AACD,uBAAS,MAAO,MAAM;AACrB;AAAA,kBACC,cAAe,YAAa;AAAA,kBAC5B;AAAA,kBACA;AAAA,gBACD;AACA,4BAAa,cAAc,KAAM;AAAA,cAClC,CAAE;AACF;AAAA,YACD;AAAA,UACD;AAEA,0BAAiB,YAAa;AAAA,QAC/B,OAAO;AACN,kCAAwB;AAAA,QACzB;AAAA,MACD;AAAA,IACD;AAAA,IACA,UAAW,QAAQ,eAAe,iBAAkB;AACnD,UACC,OAAO,UACP,CAAE,yBAA0B,OAAQ,OAAO,SAAS,CAAE,CAAE,GACvD;AACD,6CAAqC;AAAA,MACtC;AAEA,YAAM,oBACL,QAAQ,WAAW,KAAK,MAAM,QAAS,OAAQ,CAAE,CAAE,IAChD,OAAQ,CAAE,IACV;AACJ;AAAA,QACC,CAAE,SAAS,QAAS;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,WAAW;AACV,kBAAa,SAAS,QAAS;AAAA,IAChC;AAAA,IACA,gBAAiB,kBAAmB;AACnC,sBAAiB,gBAAiB;AAAA,IACnC;AAAA,EACD;AACD,CAAE;AAIF,iBAAiB;AAAA,EAChB;AAAA,EACA,YAAa,uBAAwB;AACtC,EAAG,cAAe;AAQlB,SAAS,uBAAwB,OAAQ;AACxC,QAAM,EAAE,UAAU,cAAc,WAAW,IAAI;AAE/C,QAAM,8BAA8B;AAAA,IACnC,MACC,aACG;AAAA,MACA,UAAU,WAAW;AAAA,MACrB,MAAM,WAAW;AAAA,MACjB,SAAS;AAAA,IACT,IACA;AAAA,IACJ,CAAE,UAAW;AAAA,EACd;AACA,QAAM,gBAAgB;AAAA,IACrB,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,oBAAAA;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAEA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAAC;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AACvC,YAAM,yBACL,0BAA2B,QAAS;AAAA;AAAA,OAGlC,aAAa,6BAA6B,WACzC,8BACA;AAMJ,UAAK,CAAE,wBAAyB;AAC/B;AAAA,MACD;AAEA,YAAM;AAAA,QACL,iBAAiB;AAAA,QACjB;AAAA,MACD,IAAI,OAAQ,WAAY;AACxB,YAAMC,cACL,mBAAoB,QAAS,KAAK,YAAY;AAC/C,YAAM,EAAE,MAAM,WAAW,SAAAC,SAAQ,IAAI;AACrC,YAAMC,aAAY,aAAc,SAAU;AAC1C,YAAM,WAAW,YAAY;AAC7B,YAAM;AAAA,QACL;AAAA,QACA,eAAAC;AAAA,QACA;AAAA,MACD,IAAI;AACJ,YAAMC,sBACL,iDAAkD,SAAU;AAC7D,YAAMC,mBAAkBL,aAAY,UAAU;AAC9C,YAAMM,cACL,WAAY,aAAc,GAAG,YAAY,KAAK;AAC/C,YAAMC,oBAAmB,UAAU,wBAAwB;AAE3D,YAAM,uBAAuBL,YAAW,aAAa;AACrD,YAAMM,mBAAkB,qBAAsB,QAAS;AACvD,YAAMC,oBAAmB,oBAAqB,QAAS;AACvD,YAAM,iBAAiB;AAAA,QACtB,eAAAN;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,YAAAH;AAAA,QACA,SAAAC;AAAA,QACA,qBAAqB;AAAA,QACrB,OAAO,cAAe,QAAS;AAAA,QAC/B,YAAY,gBAAiBC,UAAU;AAAA,QACvC,WAAW,uBACRF,YAAW,YACX;AAAA,QACH,kBAAkB,uBACf,yBAA0B,SAAU,IACpC;AAAA,QACH,YAAYE,YAAW;AAAA,QACvB,oBAAAE;AAAA,QACA,iBAAAC;AAAA,QACA,YAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,kBAAAC;AAAA,QACA,mBAAmBA,sBAAqB;AAAA,MACzC;AAIA,UAAKN,gBAAgB;AACpB,eAAO;AAAA,MACR;AACA,YAAM,cAAc,gBAAiB,QAAS;AAC9C,YAAMO,aAAY,eAAgB,QAAS;AAC3C,YAAMC,WAAU,aAAc,QAAS;AACvC,YAAM,QAAQ,wBAAyB,WAAWX,WAAW;AAC7D,YAAM,YAAY;AAClB,YAAM,4BAA4B;AAAA,QACjC;AAAA,QACA;AAAA,MACD;AACA,YAAMY,kBAAiB,gBAAiB,QAAS;AACjD,YAAM,uBAAuBA,kBAC1B,WACA,sBAAuB,QAAS;AAInC,YAAMC,mCACL,gBAAiB,oBAAqB,KACpC,CAAC,CAAE,wBACJ,sBAAuB,sBAAsB,SAAU;AAEzD,YAAM,WAAW,gBAAiB,WAAW,YAAY,IAAK;AAI9D,YAAM,qBAAqB,WACxB,CAAC,IACD,gBAAiB,SAAU;AAC9B,YAAM,YACL,mBAAmB,UACnB,mBAAoB,CAAE,MAAM;AAE7B,aAAO;AAAA,QACN,GAAG;AAAA,QACH,MAAM,aAAc,QAAS;AAAA,QAC7B,oBAAoBf,oBAAmB;AAAA,QACvC,UAAU,CAAC,CAAE,gBAAiB,YAAa;AAAA,QAC3C,gBAAAc;AAAA,QACA,sBAAsB,CAAC,CAAE;AAAA,QACzB,iCAAAC;AAAA,QACA,WAAAX;AAAA,QACA,WAAAQ;AAAA,QACA,SAAAC;AAAA,QACA,YAAY;AAAA,QACZ,6BACC,4BAA4B,MAAM;AAAA,QACnC,kBAAAF;AAAA,QACA,oBACC,eACE,0BAA2B,QAAS,KACrC,+BAA+B,EAAE;AAAA,UAChC,CAAE,OAAQ,aAAc,EAAG,MAAM;AAAA,QAClC;AAAA,QACF,0BACC;AAAA,UACC,aAAc,QAAS;AAAA,UACvB;AAAA,UACA;AAAA,QACD,KAAK,sBAAuB,QAAS;AAAA,QACtC,iBAAiBP,YAAW,cAAc;AAAA,QAC1C,YAAY,OAAO,SAASA,YAAW;AAAA,QACvC,mBACCO,sBAAqB,cACrB,uBAAwB,QAAS;AAAA,QAClC,YACC,sCAAuC,QAAS,KAChD,CAAEV,YAAW;AAAA,QACd,iBAAiB,cACd,sCAAsC,IACtC;AAAA,QACH,eAAe,mBAAoB,QAAS;AAAA,QAC5C,iBAAAS;AAAA,QACA,qBACCA,oBACA,CAAE,0BAA0B,KAC5B,CAAE,uCAAuC;AAAA,QAC1C,YAAY,oBAAqB,QAAS;AAAA,QAC1C,kBAAkB;AAAA,QAClB,mBAAmBC,sBAAqB;AAAA,QACxC,oBACCA,sBAAqB,cACrB,oBAAqB,YAAa,MAAM;AAAA,QACzC,uBAAuB,YACpB,mBAAoB,CAAE,IACtB;AAAA,QACH,iBAAAJ;AAAA,QACA,YAAAC;AAAA,QACA,kBAAAC;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,cAAc,YAAY,2BAA4B;AAAA,EACnE;AAEA,QAAM,iBAAiB,aAAc,CAAE,YAAa;AACnD,QAAK,SAAU;AACd,YAAM,EAAE,cAAc,IAAI;AAC1B,YAAM,EAAE,YAAY,IAAI;AACxB,qBAAe,UAAU;AAAA,IAC1B;AAAA,EACD,GAAG,CAAC,CAAE;AAGN,QAAM,EAAE,uBAAuB,IAAI,mBAAoB;AAAA,IACtD,iBAAiB,eAAe;AAAA,IAChC,YAAY,eAAe;AAAA,IAC3B,kBAAkB,eAAe;AAAA,IACjC,MAAM,eAAe;AAAA,EACtB,CAAE;AAMF,QAAM,QAAQ;AAAA,IACb,OAAQ;AAAA,MACP,GAAG,eAAe;AAAA,MAClB,YAAY,eAAe;AAAA,IAC5B;AAAA,IACA,CAAE,eAAe,wBAAwB,eAAe,UAAW;AAAA,EACpE;AAKA,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,QAAM;AAAA,IACL;AAAA;AAAA;AAAA,IAGA,OAAO;AAAA,IACP,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAEJ,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,MACC,0BACA,CAAE,cACF,CAAE,mBACF,CAAE,kBACD;AACD,WAAO;AAAA,EACR;AAWA,SACC,oBAAC,oBAAoB,UAApB,EAA6B,OAAQ,gBACrC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MAIH,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA;AAAA,EACD,GACD;AAEF;AAEA,IAAO,gBAAQ,KAAM,sBAAuB;",
3
+ "sources": ["../../../src/components/block-list/block.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose, useRefEffect } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\nimport { useBlockVisibility } from '../block-visibility/';\nimport { unlock } from '../../lock-unlock';\nimport { deviceTypeKey } from '../../store/private-keys';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tisSelectionWithinCurrentSection,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tmayDisplayPatternEditingControls={ isSelectionWithinCurrentSection }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ), 'content' )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock(\n\t\t\t\t\t\t\t\tgetBlock( _clientId ),\n\t\t\t\t\t\t\t\t'content'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Forward deleting an unmodified default block should\n\t\t\t\t// remove it and move into the next block, not pull the\n\t\t\t\t// next block's first item out of it.\n\t\t\t\tif ( isUnmodifiedDefaultBlock( getBlock( clientId ) ) ) {\n\t\t\t\t\t// Select the first leaf block, so the caret starts at\n\t\t\t\t\t// the beginning of the block's content rather than on\n\t\t\t\t\t// a container's shell.\n\t\t\t\t\tlet firstLeafClientId = nextBlockClientId;\n\t\t\t\t\twhile ( getBlockOrder( firstLeafClientId ).length ) {\n\t\t\t\t\t\tfirstLeafClientId =\n\t\t\t\t\t\t\tgetBlockOrder( firstLeafClientId )[ 0 ];\n\t\t\t\t\t}\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\tselectBlock( firstLeafClientId );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId, ghostBlock } = props;\n\t// Stable fallback so the selector returns referentially equal values.\n\tconst ghostBlockWithoutAttributes = useMemo(\n\t\t() =>\n\t\t\tghostBlock\n\t\t\t\t? {\n\t\t\t\t\t\tclientId: ghostBlock.clientId,\n\t\t\t\t\t\tname: ghostBlock.name,\n\t\t\t\t\t\tisValid: true,\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t[ ghostBlock ]\n\t);\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetParentSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId ) ??\n\t\t\t\t// An appender ghost renders from its block object until it\n\t\t\t\t// is inserted on entry; it is never selected before that.\n\t\t\t\t( clientId === ghostBlockWithoutAttributes?.clientId\n\t\t\t\t\t? ghostBlockWithoutAttributes\n\t\t\t\t\t: undefined );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes =\n\t\t\t\tgetBlockAttributes( clientId ) ?? ghostBlock?.attributes;\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst settings = getSettings();\n\t\t\tconst {\n\t\t\t\tsupportsLayout,\n\t\t\t\tisPreviewMode,\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes,\n\t\t\t} = settings;\n\t\t\tconst bindableAttributes =\n\t\t\t\t__experimentalBlockBindingsSupportedAttributes?.[ blockName ];\n\t\t\tconst blockVisibility = attributes?.metadata?.blockVisibility;\n\t\t\tconst deviceType =\n\t\t\t\tsettings?.[ deviceTypeKey ]?.toLowerCase() || 'desktop';\n\t\t\tconst viewportSettings = settings?.__experimentalFeatures?.viewport;\n\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tbindableAttributes,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t\tisMultiSelected,\n\t\t\t\tblockEditingMode,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst isSectionBlock = _isSectionBlock( clientId );\n\t\t\tconst sectionBlockClientId = isSectionBlock\n\t\t\t\t? clientId\n\t\t\t\t: getParentSectionBlock( clientId );\n\t\t\t// Without a section block there is nothing for the deep check to\n\t\t\t// match, and it walks the parents of every selected block to find\n\t\t\t// that out.\n\t\t\tconst isSelectionWithinCurrentSection =\n\t\t\t\tisBlockSelected( sectionBlockClientId ) ||\n\t\t\t\t( !! sectionBlockClientId &&\n\t\t\t\t\thasSelectedInnerBlock( sectionBlockClientId, checkDeep ) );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock,\n\t\t\t\tisWithinSectionBlock: !! sectionBlockClientId,\n\t\t\t\tisSelectionWithinCurrentSection,\n\t\t\t\tblockType,\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisEditingContentOnlySection:\n\t\t\t\t\tgetEditedContentOnlySection() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t\tblockVisibility,\n\t\t\t\tdeviceType,\n\t\t\t\tviewportSettings,\n\t\t\t\tsupportsSplitting: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'splitting',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId, ghostBlock, ghostBlockWithoutAttributes ]\n\t);\n\n\tconst defaultViewRef = useRefEffect( ( element ) => {\n\t\tif ( element ) {\n\t\t\tconst { ownerDocument } = element;\n\t\t\tconst { defaultView } = ownerDocument;\n\t\t\tdefaultViewRef.current = defaultView;\n\t\t}\n\t}, [] );\n\n\t// Use block visibility hook with data from existing useSelect to avoid extra subscription\n\tconst { isBlockCurrentlyHidden } = useBlockVisibility( {\n\t\tblockVisibility: selectedProps?.blockVisibility,\n\t\tdeviceType: selectedProps?.deviceType,\n\t\tviewportSettings: selectedProps?.viewportSettings,\n\t\tview: defaultViewRef.current,\n\t} );\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( {\n\t\t\t...selectedProps?.blockWithoutAttributes,\n\t\t\tattributes: selectedProps?.attributes,\n\t\t} ),\n\t\t[ selectedProps?.blockWithoutAttributes, selectedProps?.attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisEditingContentOnlySection,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t\tsupportsSplitting,\n\t} = selectedProps;\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tghostBlock,\n\t\trootClientId,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockType,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisWithinSectionBlock,\n\t\tisSelectionWithinCurrentSection,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisEditingContentOnlySection,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t\tisBlockCurrentlyHidden,\n\t\tbindableAttributes,\n\t\tblockVisibility,\n\t\tdeviceType,\n\t\tviewportSettings,\n\t\tsupportsSplitting,\n\t};\n\n\tif (\n\t\tisBlockCurrentlyHidden &&\n\t\t! isSelected &&\n\t\t! isMultiSelected &&\n\t\t! hasChildSelected\n\t) {\n\t\treturn null;\n\t}\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],
5
+ "mappings": "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",
6
6
  "names": ["isSelectionEnabled", "isDragging", "attributes", "isValid", "blockType", "isPreviewMode", "bindableAttributes", "blockVisibility", "deviceType", "viewportSettings", "isMultiSelected", "blockEditingMode", "canRemove", "canMove", "isSectionBlock", "isSelectionWithinCurrentSection"]
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/index.js
1
+ // packages/block-editor/src/components/block-list/index.jsx
2
2
  import clsx from "clsx";
3
3
  import {
4
4
  AsyncModeProvider,
@@ -54,7 +54,12 @@ function Root({ className, ...settings }) {
54
54
  } = getSettings();
55
55
  return {
56
56
  isOutlineMode: outlineMode && !isTyping(),
57
- isFocusMode: focusMode || hasBlockSpotlight(),
57
+ /*
58
+ * Spotlight fades everything but the block being worked on, which
59
+ * has nothing to offer a canvas that cannot be edited — a preview
60
+ * would just render most of its content faded out.
61
+ */
62
+ isFocusMode: !_isPreviewMode && (focusMode || hasBlockSpotlight()),
58
63
  isPreviewMode: _isPreviewMode,
59
64
  editedContentOnlySection: getEditedContentOnlySection()
60
65
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/index.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport { useMergeRefs, useDebounce } from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nIntersectionObserver.displayName = 'IntersectionObserverContext';\n\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\nconst delayedBlockVisibilityDebounceOptions = {\n\ttrailing: true,\n};\n\nfunction Root( { className, ...settings } ) {\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\tisPreviewMode,\n\t\teditedContentOnlySection,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\tisTyping,\n\t\t\thasBlockSpotlight,\n\t\t\tgetEditedContentOnlySection,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst {\n\t\t\toutlineMode,\n\t\t\tfocusMode,\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\tisFocusMode: focusMode || hasBlockSpotlight(),\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t\teditedContentOnlySection: getEditedContentOnlySection(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\tdelayedBlockVisibilityDebounceOptions\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t] ),\n\t\t\tclassName: clsx( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t'is-preview-mode': isPreviewMode,\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! editedContentOnlySection && (\n\t\t\t\t<StopEditingContentOnlySectionOnOutsideSelect\n\t\t\t\t\tclientId={ editedContentOnlySection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingContentOnlySectionOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingContentOnlySection } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockSelectionStart,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t! getBlockSelectionStart() ||\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingContentOnlySection();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingContentOnlySection ] );\n\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tghostBlockName,\n\t\tghostBlockAttributes,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisContainerInsertableToInContentOnlyMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// A block list without a custom appender renders a ghost of\n\t\t\t// the container's default block while empty: a real block\n\t\t\t// object rendered before it exists in the store, inserted on\n\t\t\t// entry.\n\t\t\tlet _ghostBlockName;\n\t\t\tlet _ghostBlockAttributes;\n\t\t\tif ( hasAppender && ! hasCustomAppender && ! _order.length ) {\n\t\t\t\tconst defaultBlock = ( rootClientId\n\t\t\t\t\t? getBlockListSettings( rootClientId )?.defaultBlock\n\t\t\t\t\t: undefined ) ?? { name: getDefaultBlockName() };\n\t\t\t\tif (\n\t\t\t\t\tdefaultBlock.name &&\n\t\t\t\t\tcanInsertBlockType( defaultBlock.name, rootClientId )\n\t\t\t\t) {\n\t\t\t\t\t_ghostBlockName = defaultBlock.name;\n\t\t\t\t\t_ghostBlockAttributes = defaultBlock.attributes;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst showRootAppender =\n\t\t\t\t! rootClientId &&\n\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t( ! _order.length ||\n\t\t\t\t\t! canInsertBlockType(\n\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) );\n\t\t\tconst hasSelectedRoot = !! (\n\t\t\t\trootClientId &&\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\trootClientId === selectedBlockClientId\n\t\t\t);\n\n\t\t\tconst templateLock = getTemplateLock( rootClientId );\n\n\t\t\tconst appenderAllowed =\n\t\t\t\t( ! isSectionBlock( rootClientId ) ||\n\t\t\t\t\tisContainerInsertableToInContentOnlyMode(\n\t\t\t\t\t\tgetBlockName( selectedBlockClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) ) &&\n\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t( ! templateLock || templateLock === 'contentOnly' ) &&\n\t\t\t\thasAppender &&\n\t\t\t\t! _isZoomOut();\n\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: selectedBlockClientIds,\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\t// The ghost is the block list's empty state: it renders\n\t\t\t\t// whether or not the block is selected.\n\t\t\t\tghostBlockName: appenderAllowed ? _ghostBlockName : undefined,\n\t\t\t\tghostBlockAttributes: _ghostBlockAttributes,\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\tappenderAllowed &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\thasSelectedRoot ||\n\t\t\t\t\t\tshowRootAppender ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\t// One ghost per empty period: regenerated when the list empties again\n\t// or the default block changes, stable in between so the client ID,\n\t// and with it the DOM, survives materialization.\n\tconst ghostBlock = useMemo(\n\t\t() =>\n\t\t\tghostBlockName\n\t\t\t\t? createBlock( ghostBlockName, ghostBlockAttributes )\n\t\t\t\t: null,\n\t\t[ ghostBlockName, ghostBlockAttributes ]\n\t);\n\tconst showGhost = !! ghostBlock;\n\n\tconst items = showGhost ? [ ...order, ghostBlock.clientId ] : order;\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ items.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible, not selected, and not the ghost.\n\t\t\t\t\t\tclientId !== ghostBlock?.clientId &&\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tghostBlock={\n\t\t\t\t\t\t\tclientId === ghostBlock?.clientId\n\t\t\t\t\t\t\t\t? ghostBlock\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && ! showGhost && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],
5
- "mappings": ";AAAA,OAAO,UAAU;AACjB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,cAAc,mBAAmB;AAC1C;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,aAAa,2BAA2B;AACjD,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,gBAAgB,qBAAqB;AAC9C,SAAS,gCAAgC;AACzC,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,EACA;AAAA,OACM;AACP,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAsFrB,SACC,KADD;AApFK,IAAM,uBAAuB,cAAc;AAClD,qBAAqB,cAAc;AAEnC,IAAM,2CAA2C,oBAAI,QAAQ;AAC7D,IAAM,wCAAwC;AAAA,EAC7C,UAAU;AACX;AAEA,SAAS,KAAM,EAAE,WAAW,GAAG,SAAS,GAAI;AAC3C,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,UAAW,CAAE,WAAY;AAC5B,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AACvC,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA,eAAe;AAAA,IAChB,IAAI,YAAY;AAChB,WAAO;AAAA,MACN,eAAe,eAAe,CAAE,SAAS;AAAA,MACzC,aAAa,aAAa,kBAAkB;AAAA,MAC5C,eAAe;AAAA,MACf,0BAA0B,4BAA4B;AAAA,IACvD;AAAA,EACD,GAAG,CAAC,CAAE;AACN,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,mBAAmB,IAAI,YAAa,gBAAiB;AAE7D,QAAM,gCAAgC;AAAA,IACrC,YAAa,MAAM;AAClB,YAAM,UAAU,CAAC;AACjB,+CACE,IAAK,QAAS,EACd,QAAS,CAAE,CAAE,IAAI,cAAe,MAAO;AACvC,gBAAS,EAAG,IAAI;AAAA,MACjB,CAAE;AACH,yBAAoB,OAAQ;AAAA,IAC7B,GAAG,CAAE,QAAS,CAAE;AAAA,IAChB;AAAA,IACA;AAAA,EACD;AACA,QAAM,uBAAuB,QAAS,MAAM;AAC3C,UAAM,EAAE,sBAAsB,SAAS,IAAI;AAE3C,QAAK,CAAE,UAAW;AACjB;AAAA,IACD;AAEA,WAAO,IAAI,SAAU,CAAE,YAAa;AACnC,UAAK,CAAE,yCAAyC,IAAK,QAAS,GAAI;AACjE,iDAAyC,IAAK,UAAU,CAAC,CAAE;AAAA,MAC5D;AACA,iBAAY,SAAS,SAAU;AAC9B,cAAM,WAAW,MAAM,OAAO,aAAc,YAAa;AACzD,iDACE,IAAK,QAAS,EACd,KAAM,CAAE,UAAU,MAAM,cAAe,CAAE;AAAA,MAC5C;AACA,oCAA8B;AAAA,IAC/B,CAAE;AAAA,EACH,GAAG,CAAC,CAAE;AACN,QAAM,mBAAmB;AAAA,IACxB;AAAA,MACC,KAAK,aAAc;AAAA,QAClB,yBAAyB;AAAA,QACzB,qBAAqB;AAAA,MACtB,CAAE;AAAA,MACF,WAAW,KAAM,qBAAqB,WAAW;AAAA,QAChD,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,MACpB,CAAE;AAAA,IACH;AAAA,IACA;AAAA,EACD;AACA,SACC,qBAAC,qBAAqB,UAArB,EAA8B,OAAQ,sBACtC;AAAA,wBAAC,SAAM,GAAG,kBAAmB;AAAA,IAC3B,CAAC,CAAE,4BACJ;AAAA,MAAC;AAAA;AAAA,QACA,UAAW;AAAA;AAAA,IACZ;AAAA,KAEF;AAEF;AAEA,SAAS,6CAA8C,EAAE,SAAS,GAAI;AACrE,QAAM,EAAE,8BAA8B,IAAI;AAAA,IACzC,YAAa,gBAAiB;AAAA,EAC/B;AACA,QAAM,8BAA8B;AAAA,IACnC,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,gBAAiB;AAC7B,aACC,CAAE,uBAAuB,KACzB,gBAAiB,QAAS,KAC1B,sBAAuB,UAAU,IAAK;AAAA,IAExC;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,YAAW,MAAM;AAChB,QAAK,CAAE,6BAA8B;AACpC,oCAA8B;AAAA,IAC/B;AAAA,EACD,GAAG,CAAE,6BAA6B,6BAA8B,CAAE;AAElE,SAAO;AACR;AAEe,SAAR,UAA4B,UAAW;AAC7C,SACC,oBAAC,4BAAyB,OAAQ,4BACjC,8BAAC,QAAO,GAAG,UAAW,GACvB;AAEF;AAEA,IAAM,cAAc,CAAC;AACrB,IAAM,YAAY,oBAAI,IAAI;AAE1B,SAAS,MAAO;AAAA,EACf;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,SAAS;AACV,GAAI;AAGH,QAAM,cAAc,mBAAmB;AACvC,QAAM,oBAAoB,CAAC,CAAE;AAC7B,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAAA,IACH,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA,MACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AAEvC,YAAM,SAAS,cAAe,YAAa;AAE3C,UAAK,YAAY,EAAE,eAAgB;AAClC,eAAO;AAAA,UACN,OAAO;AAAA,UACP,gBAAgB;AAAA,UAChB,eAAe;AAAA,QAChB;AAAA,MACD;AAMA,UAAI;AACJ,UAAI;AACJ,UAAK,eAAe,CAAE,qBAAqB,CAAE,OAAO,QAAS;AAC5D,cAAM,gBAAiB,eACpB,qBAAsB,YAAa,GAAG,eACtC,WAAe,EAAE,MAAM,oBAAoB,EAAE;AAChD,YACC,aAAa,QACb,mBAAoB,aAAa,MAAM,YAAa,GACnD;AACD,4BAAkB,aAAa;AAC/B,kCAAwB,aAAa;AAAA,QACtC;AAAA,MACD;AAEA,YAAM,yBAAyB,0BAA0B;AACzD,YAAM,wBAAwB,uBAAwB,CAAE;AACxD,YAAM,mBACL,CAAE,gBACF,CAAE,0BACA,CAAE,OAAO,UACV,CAAE;AAAA,QACD,oBAAoB;AAAA,QACpB;AAAA,MACD;AACF,YAAM,kBAAkB,CAAC,EACxB,gBACA,yBACA,iBAAiB;AAGlB,YAAM,eAAe,gBAAiB,YAAa;AAEnD,YAAM,mBACH,CAAE,eAAgB,YAAa,KAChC;AAAA,QACC,aAAc,qBAAsB;AAAA,QACpC;AAAA,MACD,MACD,oBAAqB,YAAa,MAAM,eACtC,CAAE,gBAAgB,iBAAiB,kBACrC,eACA,CAAE,WAAW;AAEd,aAAO;AAAA,QACN,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,eAAe,2BAA2B;AAAA,QAC1C,WAAW,WAAW;AAAA;AAAA;AAAA,QAGtB,gBAAgB,kBAAkB,kBAAkB;AAAA,QACpD,sBAAsB;AAAA,QACtB,sBACC,oBACE,qBACD,mBACA;AAAA,MACH;AAAA,IACD;AAAA,IACA,CAAE,cAAc,aAAa,iBAAkB;AAAA,EAChD;AAKA,QAAM,aAAa;AAAA,IAClB,MACC,iBACG,YAAa,gBAAgB,oBAAqB,IAClD;AAAA,IACJ,CAAE,gBAAgB,oBAAqB;AAAA,EACxC;AACA,QAAM,YAAY,CAAC,CAAE;AAErB,QAAM,QAAQ,YAAY,CAAE,GAAG,OAAO,WAAW,QAAS,IAAI;AAE9D,SACC,qBAAC,kBAAe,OAAQ,QACrB;AAAA,UAAM,IAAK,CAAE,aACd;AAAA,MAAC;AAAA;AAAA,QAEA;AAAA;AAAA;AAAA,UAGC,aAAa,YAAY,YACzB,CAAE,cAAc,IAAK,QAAS,KAC9B,CAAE,eAAe,SAAU,QAAS;AAAA;AAAA,QAGnC;AAAA,uBACD;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAS;AAAA;AAAA,UACV;AAAA,UAED;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA,YACC,aAAa,YAAY,WACtB,aACA;AAAA;AAAA,UAEL;AAAA,UACE,aACD;AAAA,YAAC;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAS;AAAA;AAAA,UACV;AAAA;AAAA;AAAA,MA9BK;AAAA,IAgCP,CACC;AAAA,IACA,MAAM,SAAS,KAAK;AAAA,IACpB,wBAAwB,CAAE,aAC3B;AAAA,MAAC;AAAA;AAAA,QACA,SAAU;AAAA,QACV;AAAA,QACA;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAEO,SAAS,eAAgB,OAAQ;AAGvC,SACC,oBAAC,qBAAkB,OAAQ,OAC1B,8BAAC,SAAQ,GAAG,OAAQ,GACrB;AAEF;",
3
+ "sources": ["../../../src/components/block-list/index.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport { useMergeRefs, useDebounce } from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nIntersectionObserver.displayName = 'IntersectionObserverContext';\n\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\nconst delayedBlockVisibilityDebounceOptions = {\n\ttrailing: true,\n};\n\nfunction Root( { className, ...settings } ) {\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\tisPreviewMode,\n\t\teditedContentOnlySection,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\tisTyping,\n\t\t\thasBlockSpotlight,\n\t\t\tgetEditedContentOnlySection,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst {\n\t\t\toutlineMode,\n\t\t\tfocusMode,\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\t/*\n\t\t\t * Spotlight fades everything but the block being worked on, which\n\t\t\t * has nothing to offer a canvas that cannot be edited — a preview\n\t\t\t * would just render most of its content faded out.\n\t\t\t */\n\t\t\tisFocusMode:\n\t\t\t\t! _isPreviewMode && ( focusMode || hasBlockSpotlight() ),\n\t\t\tisPreviewMode: _isPreviewMode,\n\t\t\teditedContentOnlySection: getEditedContentOnlySection(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\tdelayedBlockVisibilityDebounceOptions\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t] ),\n\t\t\tclassName: clsx( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t'is-preview-mode': isPreviewMode,\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! editedContentOnlySection && (\n\t\t\t\t<StopEditingContentOnlySectionOnOutsideSelect\n\t\t\t\t\tclientId={ editedContentOnlySection }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingContentOnlySectionOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingContentOnlySection } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockSelectionStart,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t! getBlockSelectionStart() ||\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingContentOnlySection();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingContentOnlySection ] );\n\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tghostBlockName,\n\t\tghostBlockAttributes,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisContainerInsertableToInContentOnlyMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// A block list without a custom appender renders a ghost of\n\t\t\t// the container's default block while empty: a real block\n\t\t\t// object rendered before it exists in the store, inserted on\n\t\t\t// entry.\n\t\t\tlet _ghostBlockName;\n\t\t\tlet _ghostBlockAttributes;\n\t\t\tif ( hasAppender && ! hasCustomAppender && ! _order.length ) {\n\t\t\t\tconst defaultBlock = ( rootClientId\n\t\t\t\t\t? getBlockListSettings( rootClientId )?.defaultBlock\n\t\t\t\t\t: undefined ) ?? { name: getDefaultBlockName() };\n\t\t\t\tif (\n\t\t\t\t\tdefaultBlock.name &&\n\t\t\t\t\tcanInsertBlockType( defaultBlock.name, rootClientId )\n\t\t\t\t) {\n\t\t\t\t\t_ghostBlockName = defaultBlock.name;\n\t\t\t\t\t_ghostBlockAttributes = defaultBlock.attributes;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst showRootAppender =\n\t\t\t\t! rootClientId &&\n\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t( ! _order.length ||\n\t\t\t\t\t! canInsertBlockType(\n\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) );\n\t\t\tconst hasSelectedRoot = !! (\n\t\t\t\trootClientId &&\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\trootClientId === selectedBlockClientId\n\t\t\t);\n\n\t\t\tconst templateLock = getTemplateLock( rootClientId );\n\n\t\t\tconst appenderAllowed =\n\t\t\t\t( ! isSectionBlock( rootClientId ) ||\n\t\t\t\t\tisContainerInsertableToInContentOnlyMode(\n\t\t\t\t\t\tgetBlockName( selectedBlockClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t) ) &&\n\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t( ! templateLock || templateLock === 'contentOnly' ) &&\n\t\t\t\thasAppender &&\n\t\t\t\t! _isZoomOut();\n\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: selectedBlockClientIds,\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\t// The ghost is the block list's empty state: it renders\n\t\t\t\t// whether or not the block is selected.\n\t\t\t\tghostBlockName: appenderAllowed ? _ghostBlockName : undefined,\n\t\t\t\tghostBlockAttributes: _ghostBlockAttributes,\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\tappenderAllowed &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\thasSelectedRoot ||\n\t\t\t\t\t\tshowRootAppender ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\t// One ghost per empty period: regenerated when the list empties again\n\t// or the default block changes, stable in between so the client ID,\n\t// and with it the DOM, survives materialization.\n\tconst ghostBlock = useMemo(\n\t\t() =>\n\t\t\tghostBlockName\n\t\t\t\t? createBlock( ghostBlockName, ghostBlockAttributes )\n\t\t\t\t: null,\n\t\t[ ghostBlockName, ghostBlockAttributes ]\n\t);\n\tconst showGhost = !! ghostBlock;\n\n\tconst items = showGhost ? [ ...order, ghostBlock.clientId ] : order;\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ items.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible, not selected, and not the ghost.\n\t\t\t\t\t\tclientId !== ghostBlock?.clientId &&\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tghostBlock={\n\t\t\t\t\t\t\tclientId === ghostBlock?.clientId\n\t\t\t\t\t\t\t\t? ghostBlock\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && ! showGhost && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/layout.js
1
+ // packages/block-editor/src/components/block-list/layout.jsx
2
2
  import { createContext, useContext } from "@wordpress/element";
3
3
  import { getLayoutType } from "../../layouts/index.mjs";
4
4
  import { useSettings } from "../use-settings/index.mjs";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/layout.js"],
3
+ "sources": ["../../../src/components/block-list/layout.jsx"],
4
4
  "sourcesContent": ["import { createContext, useContext } from '@wordpress/element';\nimport { getLayoutType } from '../../layouts';\nimport { useSettings } from '../use-settings';\n\nexport const defaultLayout = { type: 'default' };\n\nconst Layout = createContext( defaultLayout );\nLayout.displayName = 'BlockLayoutContext';\n\n/**\n * Allows to define the layout.\n */\nexport const LayoutProvider = Layout.Provider;\n\n/**\n * React hook used to retrieve the layout config.\n */\nexport function useLayout() {\n\treturn useContext( Layout );\n}\n\nexport function LayoutStyle( { layout = {}, css, ...props } ) {\n\tconst layoutType = getLayoutType( layout.type );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\tif ( layoutType ) {\n\t\tif ( css ) {\n\t\t\treturn <style>{ css }</style>;\n\t\t}\n\t\tconst layoutStyle = layoutType.getLayoutStyle?.( {\n\t\t\thasBlockGapSupport,\n\t\t\tlayout,\n\t\t\t...props,\n\t\t} );\n\t\tif ( layoutStyle ) {\n\t\t\treturn <style>{ layoutStyle }</style>;\n\t\t}\n\t}\n\treturn null;\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,eAAe,kBAAkB;AAC1C,SAAS,qBAAqB;AAC9B,SAAS,mBAAmB;AA0BlB;AAxBH,IAAM,gBAAgB,EAAE,MAAM,UAAU;AAE/C,IAAM,SAAS,cAAe,aAAc;AAC5C,OAAO,cAAc;AAKd,IAAM,iBAAiB,OAAO;AAK9B,SAAS,YAAY;AAC3B,SAAO,WAAY,MAAO;AAC3B;AAEO,SAAS,YAAa,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,MAAM,GAAI;AAC7D,QAAM,aAAa,cAAe,OAAO,IAAK;AAC9C,QAAM,CAAE,eAAgB,IAAI,YAAa,kBAAmB;AAC5D,QAAM,qBAAqB,oBAAoB;AAE/C,MAAK,YAAa;AACjB,QAAK,KAAM;AACV,aAAO,oBAAC,WAAQ,eAAK;AAAA,IACtB;AACA,UAAM,cAAc,WAAW,iBAAkB;AAAA,MAChD;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACJ,CAAE;AACF,QAAK,aAAc;AAClB,aAAO,oBAAC,WAAQ,uBAAa;AAAA,IAC9B;AAAA,EACD;AACA,SAAO;AACR;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/block-list/subdirectory-icon.js
1
+ // packages/block-editor/src/components/block-list/subdirectory-icon.jsx
2
2
  import { SVG, Path } from "@wordpress/components";
3
3
  import { isRTL } from "@wordpress/i18n";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/block-list/subdirectory-icon.js"],
3
+ "sources": ["../../../src/components/block-list/subdirectory-icon.jsx"],
4
4
  "sourcesContent": ["import { SVG, Path } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\nconst Subdirectory = ( { ...extraProps } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth={ 14 }\n\t\theight={ 14 }\n\t\tviewBox=\"0 0 20 20\"\n\t\t{ ...extraProps }\n\t>\n\t\t<Path\n\t\t\td=\"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n\t\t\ttransform={ isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined }\n\t\t/>\n\t</SVG>\n);\nexport default Subdirectory;\n"],
5
5
  "mappings": ";AAAA,SAAS,KAAK,YAAY;AAC1B,SAAS,aAAa;AAUpB;AARF,IAAM,eAAe,CAAE,EAAE,GAAG,WAAW,MACtC;AAAA,EAAC;AAAA;AAAA,IACA,OAAM;AAAA,IACN,OAAQ;AAAA,IACR,QAAS;AAAA,IACT,SAAQ;AAAA,IACN,GAAG;AAAA,IAEL;AAAA,MAAC;AAAA;AAAA,QACA,GAAE;AAAA,QACF,WAAY,MAAM,IAAI,iCAAiC;AAAA;AAAA,IACxD;AAAA;AACD;AAED,IAAO,4BAAQ;",
6
6
  "names": []
@@ -27,6 +27,10 @@ function useFocusFirstElement({ clientId, initialPosition }) {
27
27
  if (isInsideRootBlock(ref.current, ownerDocument.activeElement)) {
28
28
  return;
29
29
  }
30
+ if (initialPosition === true) {
31
+ ref.current.focus();
32
+ return;
33
+ }
30
34
  const textInputs = focus.tabbable.find(ref.current).filter((node) => isTextField(node));
31
35
  const isReverse = -1 === initialPosition;
32
36
  const target = textInputs[isReverse ? textInputs.length - 1 : 0] || ref.current;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/block-list/use-block-props/use-focus-first-element.js"],
4
- "sourcesContent": ["import { useEffect, useRef } from '@wordpress/element';\nimport {\n\tfocus,\n\tisFormElement,\n\tisTextField,\n\tplaceCaretAtHorizontalEdge,\n} from '@wordpress/dom';\nimport { useSelect } from '@wordpress/data';\nimport { isInsideRootBlock } from '../../../utils/dom';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\n/**\n * Transitions focus to the block or inner tabbable when the block becomes\n * selected and an initial position is set.\n *\n * @param {string} clientId Block client ID.\n *\n * @return {RefObject} React ref with the block element.\n */\nexport function useFocusFirstElement( { clientId, initialPosition } ) {\n\tconst ref = useRef();\n\tconst { isBlockSelected, isMultiSelecting, isZoomOut, getSelectionStart } =\n\t\tunlock( useSelect( blockEditorStore ) );\n\n\tuseEffect( () => {\n\t\t// Check if the block is still selected at the time this effect runs.\n\t\tif (\n\t\t\t! isBlockSelected( clientId ) ||\n\t\t\tisMultiSelecting() ||\n\t\t\tisZoomOut()\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( initialPosition === undefined || initialPosition === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\n\t\t// Do not focus the block if it already contains the active element.\n\t\tif ( isInsideRootBlock( ref.current, ownerDocument.activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find all tabbables within node.\n\t\tconst textInputs = focus.tabbable\n\t\t\t.find( ref.current )\n\t\t\t.filter( ( node ) => isTextField( node ) );\n\n\t\t// If reversed (e.g. merge via backspace), use the last in the set of\n\t\t// tabbables.\n\t\tconst isReverse = -1 === initialPosition;\n\t\tconst target =\n\t\t\ttextInputs[ isReverse ? textInputs.length - 1 : 0 ] || ref.current;\n\n\t\tif ( ! isInsideRootBlock( ref.current, target ) ) {\n\t\t\tref.current.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Check to see if element is focussable before a generic caret insert.\n\t\tif ( ! ref.current.getAttribute( 'contenteditable' ) ) {\n\t\t\tconst focusElement = focus.tabbable.findNext( ref.current );\n\t\t\t// Make sure focusElement is valid, contained in the same block, and a form field.\n\t\t\tif (\n\t\t\t\tfocusElement &&\n\t\t\t\tisInsideRootBlock( ref.current, focusElement ) &&\n\t\t\t\tisFormElement( focusElement )\n\t\t\t) {\n\t\t\t\tfocusElement.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Do not place a caret when the target already contains one:\n\t\t// while a focused editing host contains the target (the block\n\t\t// supports `editableRoot`), the caret can be inside it without the\n\t\t// target holding focus. Only a caret the rich text synchronized to\n\t\t// the store (offsets present) is deliberate; a leftover one yields\n\t\t// to an explicitly requested edge position (initialPosition -1).\n\t\tconst { activeElement } = ownerDocument;\n\t\tconst selection = ownerDocument.defaultView.getSelection();\n\t\tconst { clientId: selectionClientId, offset } = getSelectionStart();\n\t\tconst hasCaret =\n\t\t\tactiveElement?.isContentEditable &&\n\t\t\tactiveElement.contains( target ) &&\n\t\t\t!! selection.anchorNode &&\n\t\t\ttarget.contains( selection.anchorNode );\n\t\tconst isDeliberate =\n\t\t\tinitialPosition === 0 ||\n\t\t\t( offset !== undefined && selectionClientId === clientId );\n\n\t\tif ( ! ( hasCaret && isDeliberate ) ) {\n\t\t\tplaceCaretAtHorizontalEdge( target, isReverse );\n\t\t}\n\t}, [ initialPosition, clientId ] );\n\n\treturn ref;\n}\n"],
5
- "mappings": ";AAAA,SAAS,WAAW,cAAc;AAClC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAYhB,SAAS,qBAAsB,EAAE,UAAU,gBAAgB,GAAI;AACrE,QAAM,MAAM,OAAO;AACnB,QAAM,EAAE,iBAAiB,kBAAkB,WAAW,kBAAkB,IACvE,OAAQ,UAAW,gBAAiB,CAAE;AAEvC,YAAW,MAAM;AAEhB,QACC,CAAE,gBAAiB,QAAS,KAC5B,iBAAiB,KACjB,UAAU,GACT;AACD;AAAA,IACD;AAEA,QAAK,oBAAoB,UAAa,oBAAoB,MAAO;AAChE;AAAA,IACD;AAEA,QAAK,CAAE,IAAI,SAAU;AACpB;AAAA,IACD;AAEA,UAAM,EAAE,cAAc,IAAI,IAAI;AAG9B,QAAK,kBAAmB,IAAI,SAAS,cAAc,aAAc,GAAI;AACpE;AAAA,IACD;AAGA,UAAM,aAAa,MAAM,SACvB,KAAM,IAAI,OAAQ,EAClB,OAAQ,CAAE,SAAU,YAAa,IAAK,CAAE;AAI1C,UAAM,YAAY,OAAO;AACzB,UAAM,SACL,WAAY,YAAY,WAAW,SAAS,IAAI,CAAE,KAAK,IAAI;AAE5D,QAAK,CAAE,kBAAmB,IAAI,SAAS,MAAO,GAAI;AACjD,UAAI,QAAQ,MAAM;AAClB;AAAA,IACD;AAGA,QAAK,CAAE,IAAI,QAAQ,aAAc,iBAAkB,GAAI;AACtD,YAAM,eAAe,MAAM,SAAS,SAAU,IAAI,OAAQ;AAE1D,UACC,gBACA,kBAAmB,IAAI,SAAS,YAAa,KAC7C,cAAe,YAAa,GAC3B;AACD,qBAAa,MAAM;AACnB;AAAA,MACD;AAAA,IACD;AAOA,UAAM,EAAE,cAAc,IAAI;AAC1B,UAAM,YAAY,cAAc,YAAY,aAAa;AACzD,UAAM,EAAE,UAAU,mBAAmB,OAAO,IAAI,kBAAkB;AAClE,UAAM,WACL,eAAe,qBACf,cAAc,SAAU,MAAO,KAC/B,CAAC,CAAE,UAAU,cACb,OAAO,SAAU,UAAU,UAAW;AACvC,UAAM,eACL,oBAAoB,KAClB,WAAW,UAAa,sBAAsB;AAEjD,QAAK,EAAI,YAAY,eAAiB;AACrC,iCAA4B,QAAQ,SAAU;AAAA,IAC/C;AAAA,EACD,GAAG,CAAE,iBAAiB,QAAS,CAAE;AAEjC,SAAO;AACR;",
4
+ "sourcesContent": ["import { useEffect, useRef } from '@wordpress/element';\nimport {\n\tfocus,\n\tisFormElement,\n\tisTextField,\n\tplaceCaretAtHorizontalEdge,\n} from '@wordpress/dom';\nimport { useSelect } from '@wordpress/data';\nimport { isInsideRootBlock } from '../../../utils/dom';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\n/** @typedef {import('@wordpress/element').RefObject} RefObject */\n\n/**\n * Transitions focus to the block or inner tabbable when the block becomes\n * selected and an initial position is set.\n *\n * @param {string} clientId Block client ID.\n *\n * @return {RefObject} React ref with the block element.\n */\nexport function useFocusFirstElement( { clientId, initialPosition } ) {\n\tconst ref = useRef();\n\tconst { isBlockSelected, isMultiSelecting, isZoomOut, getSelectionStart } =\n\t\tunlock( useSelect( blockEditorStore ) );\n\n\tuseEffect( () => {\n\t\t// Check if the block is still selected at the time this effect runs.\n\t\tif (\n\t\t\t! isBlockSelected( clientId ) ||\n\t\t\tisMultiSelecting() ||\n\t\t\tisZoomOut()\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( initialPosition === undefined || initialPosition === null ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! ref.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { ownerDocument } = ref.current;\n\n\t\t// Do not focus the block if it already contains the active element.\n\t\tif ( isInsideRootBlock( ref.current, ownerDocument.activeElement ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( initialPosition === true ) {\n\t\t\tref.current.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Find all tabbables within node.\n\t\tconst textInputs = focus.tabbable\n\t\t\t.find( ref.current )\n\t\t\t.filter( ( node ) => isTextField( node ) );\n\n\t\t// If reversed (e.g. merge via backspace), use the last in the set of\n\t\t// tabbables.\n\t\tconst isReverse = -1 === initialPosition;\n\t\tconst target =\n\t\t\ttextInputs[ isReverse ? textInputs.length - 1 : 0 ] || ref.current;\n\n\t\tif ( ! isInsideRootBlock( ref.current, target ) ) {\n\t\t\tref.current.focus();\n\t\t\treturn;\n\t\t}\n\n\t\t// Check to see if element is focussable before a generic caret insert.\n\t\tif ( ! ref.current.getAttribute( 'contenteditable' ) ) {\n\t\t\tconst focusElement = focus.tabbable.findNext( ref.current );\n\t\t\t// Make sure focusElement is valid, contained in the same block, and a form field.\n\t\t\tif (\n\t\t\t\tfocusElement &&\n\t\t\t\tisInsideRootBlock( ref.current, focusElement ) &&\n\t\t\t\tisFormElement( focusElement )\n\t\t\t) {\n\t\t\t\tfocusElement.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Do not place a caret when the target already contains one:\n\t\t// while a focused editing host contains the target (the block\n\t\t// supports `editableRoot`), the caret can be inside it without the\n\t\t// target holding focus. Only a caret the rich text synchronized to\n\t\t// the store (offsets present) is deliberate; a leftover one yields\n\t\t// to an explicitly requested edge position (initialPosition -1).\n\t\tconst { activeElement } = ownerDocument;\n\t\tconst selection = ownerDocument.defaultView.getSelection();\n\t\tconst { clientId: selectionClientId, offset } = getSelectionStart();\n\t\tconst hasCaret =\n\t\t\tactiveElement?.isContentEditable &&\n\t\t\tactiveElement.contains( target ) &&\n\t\t\t!! selection.anchorNode &&\n\t\t\ttarget.contains( selection.anchorNode );\n\t\tconst isDeliberate =\n\t\t\tinitialPosition === 0 ||\n\t\t\t( offset !== undefined && selectionClientId === clientId );\n\n\t\tif ( ! ( hasCaret && isDeliberate ) ) {\n\t\t\tplaceCaretAtHorizontalEdge( target, isReverse );\n\t\t}\n\t}, [ initialPosition, clientId ] );\n\n\treturn ref;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW,cAAc;AAClC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,iBAAiB;AAC1B,SAAS,yBAAyB;AAClC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAYhB,SAAS,qBAAsB,EAAE,UAAU,gBAAgB,GAAI;AACrE,QAAM,MAAM,OAAO;AACnB,QAAM,EAAE,iBAAiB,kBAAkB,WAAW,kBAAkB,IACvE,OAAQ,UAAW,gBAAiB,CAAE;AAEvC,YAAW,MAAM;AAEhB,QACC,CAAE,gBAAiB,QAAS,KAC5B,iBAAiB,KACjB,UAAU,GACT;AACD;AAAA,IACD;AAEA,QAAK,oBAAoB,UAAa,oBAAoB,MAAO;AAChE;AAAA,IACD;AAEA,QAAK,CAAE,IAAI,SAAU;AACpB;AAAA,IACD;AAEA,UAAM,EAAE,cAAc,IAAI,IAAI;AAG9B,QAAK,kBAAmB,IAAI,SAAS,cAAc,aAAc,GAAI;AACpE;AAAA,IACD;AAEA,QAAK,oBAAoB,MAAO;AAC/B,UAAI,QAAQ,MAAM;AAClB;AAAA,IACD;AAGA,UAAM,aAAa,MAAM,SACvB,KAAM,IAAI,OAAQ,EAClB,OAAQ,CAAE,SAAU,YAAa,IAAK,CAAE;AAI1C,UAAM,YAAY,OAAO;AACzB,UAAM,SACL,WAAY,YAAY,WAAW,SAAS,IAAI,CAAE,KAAK,IAAI;AAE5D,QAAK,CAAE,kBAAmB,IAAI,SAAS,MAAO,GAAI;AACjD,UAAI,QAAQ,MAAM;AAClB;AAAA,IACD;AAGA,QAAK,CAAE,IAAI,QAAQ,aAAc,iBAAkB,GAAI;AACtD,YAAM,eAAe,MAAM,SAAS,SAAU,IAAI,OAAQ;AAE1D,UACC,gBACA,kBAAmB,IAAI,SAAS,YAAa,KAC7C,cAAe,YAAa,GAC3B;AACD,qBAAa,MAAM;AACnB;AAAA,MACD;AAAA,IACD;AAOA,UAAM,EAAE,cAAc,IAAI;AAC1B,UAAM,YAAY,cAAc,YAAY,aAAa;AACzD,UAAM,EAAE,UAAU,mBAAmB,OAAO,IAAI,kBAAkB;AAClE,UAAM,WACL,eAAe,qBACf,cAAc,SAAU,MAAO,KAC/B,CAAC,CAAE,UAAU,cACb,OAAO,SAAU,UAAU,UAAW;AACvC,UAAM,eACL,oBAAoB,KAClB,WAAW,UAAa,sBAAsB;AAEjD,QAAK,EAAI,YAAY,eAAiB;AACrC,iCAA4B,QAAQ,SAAU;AAAA,IAC/C;AAAA,EACD,GAAG,CAAE,iBAAiB,QAAS,CAAE;AAEjC,SAAO;AACR;",
6
6
  "names": []
7
7
  }
@@ -19,7 +19,6 @@ function useEventHandlers({ clientId, isSelected }) {
19
19
  getBlock
20
20
  } = unlock(useSelect(blockEditorStore));
21
21
  const {
22
- insertAfterBlock,
23
22
  removeBlock,
24
23
  resetZoomLevel,
25
24
  startDraggingBlocks,
@@ -39,12 +38,13 @@ function useEventHandlers({ clientId, isSelected }) {
39
38
  if (target !== node || isTextField(target)) {
40
39
  return;
41
40
  }
42
- event.preventDefault();
43
- if (keyCode === ENTER && isZoomOut()) {
44
- resetZoomLevel();
45
- } else if (keyCode === ENTER) {
46
- insertAfterBlock(clientId);
41
+ if (keyCode === ENTER) {
42
+ if (isZoomOut()) {
43
+ event.preventDefault();
44
+ resetZoomLevel();
45
+ }
47
46
  } else {
47
+ event.preventDefault();
48
48
  removeBlock(clientId);
49
49
  }
50
50
  }
@@ -220,7 +220,6 @@ function useEventHandlers({ clientId, isSelected }) {
220
220
  getBlock,
221
221
  isReusableBlock,
222
222
  isTemplatePart,
223
- insertAfterBlock,
224
223
  removeBlock,
225
224
  isZoomOut,
226
225
  resetZoomLevel,