@wordpress/block-editor 14.4.0 → 14.6.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 (1056) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +4 -8
  3. package/build/autocompleters/block.js +13 -5
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/background-image-control/index.js +1 -1
  6. package/build/components/background-image-control/index.js.map +1 -1
  7. package/build/components/block-canvas/index.js +10 -0
  8. package/build/components/block-canvas/index.js.map +1 -1
  9. package/build/components/block-card/index.js +2 -2
  10. package/build/components/block-card/index.js.map +1 -1
  11. package/build/components/block-controls/slot.js.map +1 -1
  12. package/build/components/block-controls/slot.native.js.map +1 -1
  13. package/build/components/block-draggable/draggable-chip.js +1 -1
  14. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  15. package/build/components/block-full-height-alignment-control/index.js +1 -1
  16. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  17. package/build/components/block-list/block-invalid-warning.native.js +1 -1
  18. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  19. package/build/components/block-list/block-list-item.native.js.map +1 -1
  20. package/build/components/block-list/block.js +1 -1
  21. package/build/components/block-list/block.js.map +1 -1
  22. package/build/components/block-list/block.native.js +1 -7
  23. package/build/components/block-list/block.native.js.map +1 -1
  24. package/build/components/block-list/index.js +6 -5
  25. package/build/components/block-list/index.js.map +1 -1
  26. package/build/components/block-list/index.native.js.map +1 -1
  27. package/build/components/block-list/use-block-props/index.js +1 -2
  28. package/build/components/block-list/use-block-props/index.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  30. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  31. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +11 -6
  32. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  33. package/build/components/block-list/use-in-between-inserter.js +1 -1
  34. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  35. package/build/components/block-list/zoom-out-separator.js +10 -7
  36. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  37. package/build/components/block-lock/modal.js +1 -1
  38. package/build/components/block-lock/modal.js.map +1 -1
  39. package/build/components/block-mover/button.js.map +1 -1
  40. package/build/components/block-parent-selector/index.js +1 -1
  41. package/build/components/block-parent-selector/index.js.map +1 -1
  42. package/build/components/block-pattern-setup/index.js.map +1 -1
  43. package/build/components/block-patterns-list/index.js.map +1 -1
  44. package/build/components/block-patterns-paging/index.js +1 -1
  45. package/build/components/block-patterns-paging/index.js.map +1 -1
  46. package/build/components/block-popover/index.js +1 -1
  47. package/build/components/block-popover/index.js.map +1 -1
  48. package/build/components/block-preview/auto.js +1 -4
  49. package/build/components/block-preview/auto.js.map +1 -1
  50. package/build/components/block-preview/index.js +2 -2
  51. package/build/components/block-preview/index.js.map +1 -1
  52. package/build/components/block-rename/modal.js +2 -2
  53. package/build/components/block-rename/modal.js.map +1 -1
  54. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  55. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  56. package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
  57. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  58. package/build/components/block-settings-menu/index.js +4 -3
  59. package/build/components/block-settings-menu/index.js.map +1 -1
  60. package/build/components/block-switcher/block-transformations-menu.native.js +1 -1
  61. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  62. package/build/components/block-switcher/index.js +2 -1
  63. package/build/components/block-switcher/index.js.map +1 -1
  64. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  65. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  66. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  67. package/build/components/block-switcher/utils.js +1 -0
  68. package/build/components/block-switcher/utils.js.map +1 -1
  69. package/build/components/block-toolbar/change-design.js +122 -0
  70. package/build/components/block-toolbar/change-design.js.map +1 -0
  71. package/build/components/block-toolbar/index.js +19 -7
  72. package/build/components/block-toolbar/index.js.map +1 -1
  73. package/build/components/block-tools/index.js +4 -17
  74. package/build/components/block-tools/index.js.map +1 -1
  75. package/build/components/block-tools/insertion-point.js +4 -3
  76. package/build/components/block-tools/insertion-point.js.map +1 -1
  77. package/build/components/block-tools/use-show-block-tools.js +4 -6
  78. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
  80. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  81. package/build/components/block-types-list/index.js.map +1 -1
  82. package/build/components/block-types-list/index.native.js.map +1 -1
  83. package/build/components/block-variation-transforms/index.js +3 -2
  84. package/build/components/block-variation-transforms/index.js.map +1 -1
  85. package/build/components/block-vertical-alignment-control/ui.js +6 -10
  86. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  87. package/build/components/border-radius-control/index.js.map +1 -1
  88. package/build/components/border-radius-control/linked-button.js +7 -10
  89. package/build/components/border-radius-control/linked-button.js.map +1 -1
  90. package/build/components/border-radius-control/utils.js.map +1 -1
  91. package/build/components/button-block-appender/index.js.map +1 -1
  92. package/build/components/collab/block-comment-icon-slot.js +18 -0
  93. package/build/components/collab/block-comment-icon-slot.js.map +1 -0
  94. package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
  95. package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  96. package/build/components/color-style-selector/index.js.map +1 -1
  97. package/build/components/colors/utils.js.map +1 -1
  98. package/build/components/colors/with-colors.js.map +1 -1
  99. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  100. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  101. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  102. package/build/components/convert-to-group-buttons/toolbar.js +4 -4
  103. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  104. package/build/components/date-format-picker/index.js +1 -0
  105. package/build/components/date-format-picker/index.js.map +1 -1
  106. package/build/components/duotone/utils.js.map +1 -1
  107. package/build/components/duotone-control/index.js.map +1 -1
  108. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  109. package/build/components/font-sizes/utils.js.map +1 -1
  110. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  111. package/build/components/global-styles/border-panel.js.map +1 -1
  112. package/build/components/global-styles/color-panel.js +1 -4
  113. package/build/components/global-styles/color-panel.js.map +1 -1
  114. package/build/components/global-styles/filters-panel.js.map +1 -1
  115. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  116. package/build/components/global-styles/get-global-styles-changes.js +2 -1
  117. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  118. package/build/components/global-styles/hooks.js.map +1 -1
  119. package/build/components/global-styles/typography-panel.js.map +1 -1
  120. package/build/components/global-styles/use-global-styles-context.native.js +6 -0
  121. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  122. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  123. package/build/components/global-styles/utils.js.map +1 -1
  124. package/build/components/gradients/use-gradient.js.map +1 -1
  125. package/build/components/grid/grid-item-movers.js.map +1 -1
  126. package/build/components/grid/grid-visualizer.js.map +1 -1
  127. package/build/components/iframe/index.js +46 -11
  128. package/build/components/iframe/index.js.map +1 -1
  129. package/build/components/image-editor/use-save-image.js +1 -1
  130. package/build/components/image-editor/use-save-image.js.map +1 -1
  131. package/build/components/image-size-control/index.js +61 -20
  132. package/build/components/image-size-control/index.js.map +1 -1
  133. package/build/components/inner-blocks/index.js +9 -5
  134. package/build/components/inner-blocks/index.js.map +1 -1
  135. package/build/components/inner-blocks/use-nested-settings-update.js +15 -8
  136. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  137. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  138. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  139. package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  140. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  141. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  142. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  143. package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  144. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  145. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  146. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  147. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  148. package/build/components/inserter/category-tabs/index.js +16 -12
  149. package/build/components/inserter/category-tabs/index.js.map +1 -1
  150. package/build/components/inserter/hooks/use-block-types-state.js +1 -1
  151. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  152. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  153. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  154. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  155. package/build/components/inserter/media-tab/media-preview.js +1 -1
  156. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  157. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  158. package/build/components/inserter/media-tab/utils.js.map +1 -1
  159. package/build/components/inserter/menu.js +8 -3
  160. package/build/components/inserter/menu.js.map +1 -1
  161. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  162. package/build/components/inserter/preview-panel.js.map +1 -1
  163. package/build/components/inserter/quick-inserter.js +1 -1
  164. package/build/components/inserter/quick-inserter.js.map +1 -1
  165. package/build/components/inserter/search-results.js +1 -1
  166. package/build/components/inserter/search-results.js.map +1 -1
  167. package/build/components/inserter/tabs.native.js.map +1 -1
  168. package/build/components/inserter-button/index.native.js +1 -1
  169. package/build/components/inserter-button/index.native.js.map +1 -1
  170. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  171. package/build/components/inspector-controls/fill.js.map +1 -1
  172. package/build/components/inspector-controls/fill.native.js.map +1 -1
  173. package/build/components/inspector-controls/slot.js.map +1 -1
  174. package/build/components/inspector-controls/slot.native.js.map +1 -1
  175. package/build/components/inspector-controls-tabs/index.js +0 -2
  176. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  177. package/build/components/inspector-controls-tabs/utils.js +3 -6
  178. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  179. package/build/components/line-height-control/index.js.map +1 -1
  180. package/build/components/link-control/is-url-like.js.map +1 -1
  181. package/build/components/link-control/link-preview.js +12 -9
  182. package/build/components/link-control/link-preview.js.map +1 -1
  183. package/build/components/link-control/search-create-button.js +1 -1
  184. package/build/components/link-control/search-create-button.js.map +1 -1
  185. package/build/components/link-control/search-input.js +3 -5
  186. package/build/components/link-control/search-input.js.map +1 -1
  187. package/build/components/link-control/search-results.js +5 -15
  188. package/build/components/link-control/search-results.js.map +1 -1
  189. package/build/components/link-control/settings-drawer.js.map +1 -1
  190. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  191. package/build/components/list-view/appender.js +5 -4
  192. package/build/components/list-view/appender.js.map +1 -1
  193. package/build/components/list-view/block-select-button.js.map +1 -1
  194. package/build/components/list-view/block.js.map +1 -1
  195. package/build/components/list-view/branch.js +6 -5
  196. package/build/components/list-view/branch.js.map +1 -1
  197. package/build/components/list-view/drop-indicator.js.map +1 -1
  198. package/build/components/list-view/index.js +1 -2
  199. package/build/components/list-view/index.js.map +1 -1
  200. package/build/components/list-view/use-block-selection.js +2 -2
  201. package/build/components/list-view/use-block-selection.js.map +1 -1
  202. package/build/components/list-view/utils.js +1 -1
  203. package/build/components/list-view/utils.js.map +1 -1
  204. package/build/components/media-placeholder/index.native.js +1 -1
  205. package/build/components/media-placeholder/index.native.js.map +1 -1
  206. package/build/components/media-replace-flow/index.js.map +1 -1
  207. package/build/components/multi-selection-inspector/index.js +2 -2
  208. package/build/components/multi-selection-inspector/index.js.map +1 -1
  209. package/build/components/observe-typing/index.js +1 -0
  210. package/build/components/observe-typing/index.js.map +1 -1
  211. package/build/components/provider/index.js +1 -1
  212. package/build/components/provider/index.js.map +1 -1
  213. package/build/components/recursion-provider/index.js +1 -0
  214. package/build/components/recursion-provider/index.js.map +1 -1
  215. package/build/components/responsive-block-control/index.js +3 -3
  216. package/build/components/responsive-block-control/index.js.map +1 -1
  217. package/build/components/responsive-block-control/label.js +1 -1
  218. package/build/components/responsive-block-control/label.js.map +1 -1
  219. package/build/components/rich-text/content.js.map +1 -1
  220. package/build/components/rich-text/event-listeners/index.js +3 -1
  221. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  222. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  223. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  224. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  225. package/build/components/rich-text/index.js +3 -2
  226. package/build/components/rich-text/index.js.map +1 -1
  227. package/build/components/rich-text/index.native.js +2 -6
  228. package/build/components/rich-text/index.native.js.map +1 -1
  229. package/build/components/rich-text/multiline.js.map +1 -1
  230. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  231. package/build/components/rich-text/native/index.native.js.map +1 -1
  232. package/build/components/rich-text/native/use-format-types.js +1 -0
  233. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  234. package/build/components/rich-text/toolbar-button.js.map +1 -1
  235. package/build/components/rich-text/use-format-types.js +1 -0
  236. package/build/components/rich-text/use-format-types.js.map +1 -1
  237. package/build/components/spacing-sizes-control/index.js +2 -2
  238. package/build/components/spacing-sizes-control/index.js.map +1 -1
  239. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  240. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  241. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
  242. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  243. package/build/components/spacing-sizes-control/linked-button.js +1 -5
  244. package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
  245. package/build/components/spacing-sizes-control/utils.js +1 -0
  246. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  247. package/build/components/tool-selector/index.js +8 -5
  248. package/build/components/tool-selector/index.js.map +1 -1
  249. package/build/components/typewriter/index.js +1 -0
  250. package/build/components/typewriter/index.js.map +1 -1
  251. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  252. package/build/components/url-input/index.js +1 -1
  253. package/build/components/url-input/index.js.map +1 -1
  254. package/build/components/use-block-commands/index.js +1 -1
  255. package/build/components/use-block-commands/index.js.map +1 -1
  256. package/build/components/use-block-drop-zone/index.js +5 -5
  257. package/build/components/use-block-drop-zone/index.js.map +1 -1
  258. package/build/components/use-block-drop-zone/index.native.js +0 -1
  259. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  260. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  261. package/build/components/use-moving-animation/index.js +1 -3
  262. package/build/components/use-moving-animation/index.js.map +1 -1
  263. package/build/components/use-resize-canvas/index.js +1 -2
  264. package/build/components/use-resize-canvas/index.js.map +1 -1
  265. package/build/components/use-settings/index.js +1 -3
  266. package/build/components/use-settings/index.js.map +1 -1
  267. package/build/components/writing-flow/index.js +5 -3
  268. package/build/components/writing-flow/index.js.map +1 -1
  269. package/build/components/writing-flow/use-tab-nav.js +20 -5
  270. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  271. package/build/hooks/align.js.map +1 -1
  272. package/build/hooks/block-bindings.js +19 -8
  273. package/build/hooks/block-bindings.js.map +1 -1
  274. package/build/hooks/block-hooks.js +1 -1
  275. package/build/hooks/block-hooks.js.map +1 -1
  276. package/build/hooks/block-style-variation.js.map +1 -1
  277. package/build/hooks/contrast-checker.js +0 -1
  278. package/build/hooks/contrast-checker.js.map +1 -1
  279. package/build/hooks/duotone.js +2 -2
  280. package/build/hooks/duotone.js.map +1 -1
  281. package/build/hooks/font-family.js.map +1 -1
  282. package/build/hooks/gap.js.map +1 -1
  283. package/build/hooks/generated-class-name.js +1 -0
  284. package/build/hooks/generated-class-name.js.map +1 -1
  285. package/build/hooks/grid-visualizer.js +13 -11
  286. package/build/hooks/grid-visualizer.js.map +1 -1
  287. package/build/hooks/layout-child.js +41 -3
  288. package/build/hooks/layout-child.js.map +1 -1
  289. package/build/hooks/layout.js.map +1 -1
  290. package/build/hooks/position.js +1 -1
  291. package/build/hooks/position.js.map +1 -1
  292. package/build/hooks/spacing-visualizer.js.map +1 -1
  293. package/build/hooks/style.js +4 -1
  294. package/build/hooks/style.js.map +1 -1
  295. package/build/hooks/text-align.js.map +1 -1
  296. package/build/hooks/use-typography-props.js.map +1 -1
  297. package/build/hooks/use-zoom-out.js +17 -18
  298. package/build/hooks/use-zoom-out.js.map +1 -1
  299. package/build/index.js +0 -7
  300. package/build/index.js.map +1 -1
  301. package/build/layouts/constrained.js.map +1 -1
  302. package/build/layouts/flex.js.map +1 -1
  303. package/build/layouts/grid.js.map +1 -1
  304. package/build/layouts/utils.js.map +1 -1
  305. package/build/private-apis.js +6 -1
  306. package/build/private-apis.js.map +1 -1
  307. package/build/store/actions.js +6 -38
  308. package/build/store/actions.js.map +1 -1
  309. package/build/store/defaults.js +1 -1
  310. package/build/store/defaults.js.map +1 -1
  311. package/build/store/private-actions.js +57 -8
  312. package/build/store/private-actions.js.map +1 -1
  313. package/build/store/private-selectors.js +9 -21
  314. package/build/store/private-selectors.js.map +1 -1
  315. package/build/store/reducer.js +18 -24
  316. package/build/store/reducer.js.map +1 -1
  317. package/build/store/selectors.js +66 -22
  318. package/build/store/selectors.js.map +1 -1
  319. package/build/utils/block-bindings.js +9 -6
  320. package/build/utils/block-bindings.js.map +1 -1
  321. package/build/utils/dom.js +16 -1
  322. package/build/utils/dom.js.map +1 -1
  323. package/build/utils/get-font-styles-and-weights.js +2 -2
  324. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  325. package/build/utils/object.js +1 -0
  326. package/build/utils/object.js.map +1 -1
  327. package/build/utils/pasting.js.map +1 -1
  328. package/build/utils/transform-styles/index.js +4 -3
  329. package/build/utils/transform-styles/index.js.map +1 -1
  330. package/build-module/autocompleters/block.js +15 -9
  331. package/build-module/autocompleters/block.js.map +1 -1
  332. package/build-module/autocompleters/link.js +1 -3
  333. package/build-module/autocompleters/link.js.map +1 -1
  334. package/build-module/components/audio-player/index.native.js +1 -2
  335. package/build-module/components/audio-player/index.native.js.map +1 -1
  336. package/build-module/components/background-image-control/index.js +2 -3
  337. package/build-module/components/background-image-control/index.js.map +1 -1
  338. package/build-module/components/block-alignment-control/ui.js +1 -2
  339. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  340. package/build-module/components/block-breadcrumb/index.js +1 -2
  341. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  342. package/build-module/components/block-canvas/index.js +12 -3
  343. package/build-module/components/block-canvas/index.js.map +1 -1
  344. package/build-module/components/block-card/index.js +4 -5
  345. package/build-module/components/block-card/index.js.map +1 -1
  346. package/build-module/components/block-compare/block-view.js +1 -2
  347. package/build-module/components/block-compare/block-view.js.map +1 -1
  348. package/build-module/components/block-compare/index.js +1 -2
  349. package/build-module/components/block-compare/index.js.map +1 -1
  350. package/build-module/components/block-controls/fill.js +1 -3
  351. package/build-module/components/block-controls/fill.js.map +1 -1
  352. package/build-module/components/block-controls/slot.js.map +1 -1
  353. package/build-module/components/block-controls/slot.native.js.map +1 -1
  354. package/build-module/components/block-draggable/draggable-chip.js +2 -3
  355. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  356. package/build-module/components/block-draggable/draggable-chip.native.js +1 -2
  357. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  358. package/build-module/components/block-draggable/index.native.js +1 -3
  359. package/build-module/components/block-draggable/index.native.js.map +1 -1
  360. package/build-module/components/block-edit/index.js +1 -2
  361. package/build-module/components/block-edit/index.js.map +1 -1
  362. package/build-module/components/block-edit/multiple-usage-warning.js +1 -2
  363. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  364. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  365. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  366. package/build-module/components/block-inspector/index.js +1 -3
  367. package/build-module/components/block-inspector/index.js.map +1 -1
  368. package/build-module/components/block-list/block-crash-warning.js +1 -1
  369. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  370. package/build-module/components/block-list/block-crash-warning.native.js +1 -1
  371. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  372. package/build-module/components/block-list/block-invalid-warning.js +1 -3
  373. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  374. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  375. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  376. package/build-module/components/block-list/block-list-item.native.js +1 -2
  377. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  378. package/build-module/components/block-list/block-selection-button.native.js +1 -2
  379. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  380. package/build-module/components/block-list/block.js +2 -4
  381. package/build-module/components/block-list/block.js.map +1 -1
  382. package/build-module/components/block-list/block.native.js +2 -9
  383. package/build-module/components/block-list/block.native.js.map +1 -1
  384. package/build-module/components/block-list/index.js +7 -7
  385. package/build-module/components/block-list/index.js.map +1 -1
  386. package/build-module/components/block-list/index.native.js +1 -3
  387. package/build-module/components/block-list/index.native.js.map +1 -1
  388. package/build-module/components/block-list/insertion-point.native.js +1 -2
  389. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  390. package/build-module/components/block-list/use-block-props/index.js +1 -2
  391. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  392. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  393. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  394. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +11 -6
  395. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  396. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  397. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  398. package/build-module/components/block-list/zoom-out-separator.js +10 -7
  399. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  400. package/build-module/components/block-lock/menu-item.js +1 -3
  401. package/build-module/components/block-lock/menu-item.js.map +1 -1
  402. package/build-module/components/block-lock/modal.js +2 -3
  403. package/build-module/components/block-lock/modal.js.map +1 -1
  404. package/build-module/components/block-lock/toolbar.js +1 -3
  405. package/build-module/components/block-lock/toolbar.js.map +1 -1
  406. package/build-module/components/block-media-update-progress/index.native.js +1 -2
  407. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  408. package/build-module/components/block-mover/button.js +1 -3
  409. package/build-module/components/block-mover/button.js.map +1 -1
  410. package/build-module/components/block-mover/index.js +1 -2
  411. package/build-module/components/block-mover/index.js.map +1 -1
  412. package/build-module/components/block-mover/index.native.js +1 -2
  413. package/build-module/components/block-mover/index.native.js.map +1 -1
  414. package/build-module/components/block-navigation/dropdown.js +1 -2
  415. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  416. package/build-module/components/block-parent-selector/index.js +1 -1
  417. package/build-module/components/block-parent-selector/index.js.map +1 -1
  418. package/build-module/components/block-pattern-setup/index.js +1 -3
  419. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  420. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -2
  421. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  422. package/build-module/components/block-patterns-list/index.js +1 -3
  423. package/build-module/components/block-patterns-list/index.js.map +1 -1
  424. package/build-module/components/block-patterns-paging/index.js +2 -3
  425. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  426. package/build-module/components/block-popover/index.js +1 -1
  427. package/build-module/components/block-popover/index.js.map +1 -1
  428. package/build-module/components/block-preview/auto.js +2 -7
  429. package/build-module/components/block-preview/auto.js.map +1 -1
  430. package/build-module/components/block-preview/index.js +3 -4
  431. package/build-module/components/block-preview/index.js.map +1 -1
  432. package/build-module/components/block-quick-navigation/index.js +1 -2
  433. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  434. package/build-module/components/block-removal-warning-modal/index.js +1 -2
  435. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  436. package/build-module/components/block-rename/modal.js +3 -4
  437. package/build-module/components/block-rename/modal.js.map +1 -1
  438. package/build-module/components/block-rename/rename-control.js +1 -3
  439. package/build-module/components/block-rename/rename-control.js.map +1 -1
  440. package/build-module/components/block-settings/container.native.js +1 -3
  441. package/build-module/components/block-settings/container.native.js.map +1 -1
  442. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  443. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  444. package/build-module/components/block-settings-menu/block-settings-dropdown.js +6 -3
  445. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  446. package/build-module/components/block-settings-menu/index.js +5 -4
  447. package/build-module/components/block-settings-menu/index.js.map +1 -1
  448. package/build-module/components/block-settings-menu-controls/index.js +1 -2
  449. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  450. package/build-module/components/block-styles/index.js +1 -2
  451. package/build-module/components/block-styles/index.js.map +1 -1
  452. package/build-module/components/block-styles/menu-items.js +1 -2
  453. package/build-module/components/block-styles/menu-items.js.map +1 -1
  454. package/build-module/components/block-styles/preview.native.js +1 -2
  455. package/build-module/components/block-styles/preview.native.js.map +1 -1
  456. package/build-module/components/block-switcher/block-transformations-menu.js +1 -3
  457. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  458. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  459. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  460. package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
  461. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  462. package/build-module/components/block-switcher/index.js +3 -4
  463. package/build-module/components/block-switcher/index.js.map +1 -1
  464. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -2
  465. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  466. package/build-module/components/block-switcher/preview-block-popover.js +1 -2
  467. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  468. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  469. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  470. package/build-module/components/block-switcher/utils.js +1 -0
  471. package/build-module/components/block-switcher/utils.js.map +1 -1
  472. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  473. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  474. package/build-module/components/block-toolbar/change-design.js +114 -0
  475. package/build-module/components/block-toolbar/change-design.js.map +1 -0
  476. package/build-module/components/block-toolbar/index.js +20 -10
  477. package/build-module/components/block-toolbar/index.js.map +1 -1
  478. package/build-module/components/block-toolbar/index.native.js +1 -3
  479. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  480. package/build-module/components/block-tools/index.js +5 -19
  481. package/build-module/components/block-tools/index.js.map +1 -1
  482. package/build-module/components/block-tools/insertion-point.js +5 -5
  483. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  484. package/build-module/components/block-tools/use-show-block-tools.js +4 -6
  485. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  486. package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
  487. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  488. package/build-module/components/block-types-list/index.js +1 -2
  489. package/build-module/components/block-types-list/index.js.map +1 -1
  490. package/build-module/components/block-types-list/index.native.js +1 -2
  491. package/build-module/components/block-types-list/index.native.js.map +1 -1
  492. package/build-module/components/block-variation-picker/index.js +1 -2
  493. package/build-module/components/block-variation-picker/index.js.map +1 -1
  494. package/build-module/components/block-variation-picker/index.native.js +1 -2
  495. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  496. package/build-module/components/block-variation-transforms/index.js +4 -4
  497. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  498. package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
  499. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  500. package/build-module/components/border-radius-control/index.js +1 -3
  501. package/build-module/components/border-radius-control/index.js.map +1 -1
  502. package/build-module/components/border-radius-control/linked-button.js +8 -11
  503. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  504. package/build-module/components/border-radius-control/utils.js.map +1 -1
  505. package/build-module/components/button-block-appender/index.js.map +1 -1
  506. package/build-module/components/button-block-appender/index.native.js +1 -2
  507. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  508. package/build-module/components/child-layout-control/index.js +1 -3
  509. package/build-module/components/child-layout-control/index.js.map +1 -1
  510. package/build-module/components/collab/block-comment-icon-slot.js +11 -0
  511. package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
  512. package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
  513. package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  514. package/build-module/components/color-style-selector/index.js.map +1 -1
  515. package/build-module/components/colors/utils.js.map +1 -1
  516. package/build-module/components/colors/with-colors.js.map +1 -1
  517. package/build-module/components/colors-gradients/control.js +1 -2
  518. package/build-module/components/colors-gradients/control.js.map +1 -1
  519. package/build-module/components/colors-gradients/dropdown.js +1 -3
  520. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  521. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -3
  522. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  523. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -3
  524. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  525. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  526. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  527. package/build-module/components/contrast-checker/index.native.js +1 -2
  528. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  529. package/build-module/components/convert-to-group-buttons/index.js +1 -3
  530. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  531. package/build-module/components/convert-to-group-buttons/toolbar.js +5 -6
  532. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  533. package/build-module/components/date-format-picker/index.js +2 -2
  534. package/build-module/components/date-format-picker/index.js.map +1 -1
  535. package/build-module/components/default-block-appender/index.js +1 -2
  536. package/build-module/components/default-block-appender/index.js.map +1 -1
  537. package/build-module/components/dimensions-tool/index.js +1 -3
  538. package/build-module/components/dimensions-tool/index.js.map +1 -1
  539. package/build-module/components/dimensions-tool/width-height-tool.js +1 -3
  540. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  541. package/build-module/components/duotone/utils.js.map +1 -1
  542. package/build-module/components/duotone-control/index.js +1 -2
  543. package/build-module/components/duotone-control/index.js.map +1 -1
  544. package/build-module/components/editor-styles/index.js +1 -3
  545. package/build-module/components/editor-styles/index.js.map +1 -1
  546. package/build-module/components/floating-toolbar/index.native.js +1 -2
  547. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  548. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -2
  549. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  550. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  551. package/build-module/components/font-sizes/utils.js.map +1 -1
  552. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  553. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  554. package/build-module/components/global-styles/advanced-panel.js +1 -2
  555. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  556. package/build-module/components/global-styles/border-panel.js +1 -2
  557. package/build-module/components/global-styles/border-panel.js.map +1 -1
  558. package/build-module/components/global-styles/color-panel.js +3 -7
  559. package/build-module/components/global-styles/color-panel.js.map +1 -1
  560. package/build-module/components/global-styles/dimensions-panel.js +1 -2
  561. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  562. package/build-module/components/global-styles/filters-panel.js +1 -2
  563. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  564. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  565. package/build-module/components/global-styles/get-global-styles-changes.js +2 -1
  566. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  567. package/build-module/components/global-styles/hooks.js.map +1 -1
  568. package/build-module/components/global-styles/image-settings-panel.js +1 -2
  569. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  570. package/build-module/components/global-styles/shadow-panel-components.js +1 -2
  571. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  572. package/build-module/components/global-styles/typography-panel.js +1 -2
  573. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  574. package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
  575. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  576. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  577. package/build-module/components/global-styles/utils.js.map +1 -1
  578. package/build-module/components/gradients/use-gradient.js.map +1 -1
  579. package/build-module/components/grid/grid-item-movers.js +1 -3
  580. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  581. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  582. package/build-module/components/height-control/index.js +1 -2
  583. package/build-module/components/height-control/index.js.map +1 -1
  584. package/build-module/components/iframe/index.js +47 -14
  585. package/build-module/components/iframe/index.js.map +1 -1
  586. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -3
  587. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  588. package/build-module/components/image-editor/cropper.js +1 -3
  589. package/build-module/components/image-editor/cropper.js.map +1 -1
  590. package/build-module/components/image-editor/form-controls.js +1 -3
  591. package/build-module/components/image-editor/form-controls.js.map +1 -1
  592. package/build-module/components/image-editor/index.js +1 -2
  593. package/build-module/components/image-editor/index.js.map +1 -1
  594. package/build-module/components/image-editor/use-save-image.js +1 -1
  595. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  596. package/build-module/components/image-link-destinations/index.native.js +1 -3
  597. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  598. package/build-module/components/image-size-control/index.js +63 -24
  599. package/build-module/components/image-size-control/index.js.map +1 -1
  600. package/build-module/components/inner-blocks/index.js +9 -5
  601. package/build-module/components/inner-blocks/index.js.map +1 -1
  602. package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -9
  603. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  604. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  605. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  606. package/build-module/components/inserter/block-patterns-explorer/index.js +1 -2
  607. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  608. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -3
  609. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  610. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -5
  611. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  612. package/build-module/components/inserter/block-patterns-tab/index.js +1 -3
  613. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  614. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +3 -5
  615. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  616. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +2 -4
  617. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  618. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  619. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  620. package/build-module/components/inserter/block-types-tab.js +1 -3
  621. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  622. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  623. package/build-module/components/inserter/category-tabs/index.js +18 -15
  624. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  625. package/build-module/components/inserter/hooks/use-block-types-state.js +1 -1
  626. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  627. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -1
  628. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  629. package/build-module/components/inserter/index.native.js +1 -3
  630. package/build-module/components/inserter/index.native.js.map +1 -1
  631. package/build-module/components/inserter/media-tab/media-panel.js +1 -2
  632. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  633. package/build-module/components/inserter/media-tab/media-preview.js +2 -4
  634. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  635. package/build-module/components/inserter/media-tab/media-tab.js +1 -3
  636. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  637. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  638. package/build-module/components/inserter/menu.js +10 -7
  639. package/build-module/components/inserter/menu.js.map +1 -1
  640. package/build-module/components/inserter/menu.native.js +1 -3
  641. package/build-module/components/inserter/menu.native.js.map +1 -1
  642. package/build-module/components/inserter/mobile-tab-navigation.js +1 -2
  643. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  644. package/build-module/components/inserter/no-results.js +1 -2
  645. package/build-module/components/inserter/no-results.js.map +1 -1
  646. package/build-module/components/inserter/no-results.native.js +1 -2
  647. package/build-module/components/inserter/no-results.native.js.map +1 -1
  648. package/build-module/components/inserter/panel.js +1 -3
  649. package/build-module/components/inserter/panel.js.map +1 -1
  650. package/build-module/components/inserter/preview-panel.js +1 -2
  651. package/build-module/components/inserter/preview-panel.js.map +1 -1
  652. package/build-module/components/inserter/quick-inserter.js +2 -3
  653. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  654. package/build-module/components/inserter/search-results.js +2 -3
  655. package/build-module/components/inserter/search-results.js.map +1 -1
  656. package/build-module/components/inserter/tabs.native.js.map +1 -1
  657. package/build-module/components/inserter-button/index.native.js +2 -3
  658. package/build-module/components/inserter-button/index.native.js.map +1 -1
  659. package/build-module/components/inserter-list-item/index.js +1 -2
  660. package/build-module/components/inserter-list-item/index.js.map +1 -1
  661. package/build-module/components/inserter-listbox/index.js +1 -2
  662. package/build-module/components/inserter-listbox/index.js.map +1 -1
  663. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  664. package/build-module/components/inspector-controls/fill.js.map +1 -1
  665. package/build-module/components/inspector-controls/fill.native.js +1 -3
  666. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  667. package/build-module/components/inspector-controls/slot.js.map +1 -1
  668. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  669. package/build-module/components/inspector-controls-tabs/index.js +1 -4
  670. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  671. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -3
  672. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  673. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -3
  674. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  675. package/build-module/components/inspector-controls-tabs/utils.js +3 -6
  676. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  677. package/build-module/components/inspector-popover-header/index.js +1 -2
  678. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  679. package/build-module/components/line-height-control/index.js.map +1 -1
  680. package/build-module/components/link-control/index.js +1 -3
  681. package/build-module/components/link-control/index.js.map +1 -1
  682. package/build-module/components/link-control/is-url-like.js.map +1 -1
  683. package/build-module/components/link-control/link-preview.js +14 -13
  684. package/build-module/components/link-control/link-preview.js.map +1 -1
  685. package/build-module/components/link-control/search-create-button.js +1 -1
  686. package/build-module/components/link-control/search-create-button.js.map +1 -1
  687. package/build-module/components/link-control/search-input.js +4 -7
  688. package/build-module/components/link-control/search-input.js.map +1 -1
  689. package/build-module/components/link-control/search-results.js +6 -17
  690. package/build-module/components/link-control/search-results.js.map +1 -1
  691. package/build-module/components/link-control/settings-drawer.js +1 -3
  692. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  693. package/build-module/components/link-control/settings.js +1 -2
  694. package/build-module/components/link-control/settings.js.map +1 -1
  695. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  696. package/build-module/components/list-view/appender.js +6 -6
  697. package/build-module/components/list-view/appender.js.map +1 -1
  698. package/build-module/components/list-view/block-contents.js +1 -3
  699. package/build-module/components/list-view/block-contents.js.map +1 -1
  700. package/build-module/components/list-view/block-select-button.js +1 -2
  701. package/build-module/components/list-view/block-select-button.js.map +1 -1
  702. package/build-module/components/list-view/block.js +1 -3
  703. package/build-module/components/list-view/block.js.map +1 -1
  704. package/build-module/components/list-view/branch.js +8 -9
  705. package/build-module/components/list-view/branch.js.map +1 -1
  706. package/build-module/components/list-view/drop-indicator.js +1 -2
  707. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  708. package/build-module/components/list-view/index.js +2 -4
  709. package/build-module/components/list-view/index.js.map +1 -1
  710. package/build-module/components/list-view/use-block-selection.js +2 -2
  711. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  712. package/build-module/components/list-view/utils.js +1 -1
  713. package/build-module/components/list-view/utils.js.map +1 -1
  714. package/build-module/components/media-placeholder/index.js +1 -3
  715. package/build-module/components/media-placeholder/index.js.map +1 -1
  716. package/build-module/components/media-placeholder/index.native.js +2 -4
  717. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  718. package/build-module/components/media-replace-flow/index.js +1 -3
  719. package/build-module/components/media-replace-flow/index.js.map +1 -1
  720. package/build-module/components/media-upload/index.native.js +1 -3
  721. package/build-module/components/media-upload/index.native.js.map +1 -1
  722. package/build-module/components/media-upload-progress/index.native.js +1 -2
  723. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  724. package/build-module/components/multi-selection-inspector/index.js +3 -4
  725. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  726. package/build-module/components/observe-typing/index.js +1 -0
  727. package/build-module/components/observe-typing/index.js.map +1 -1
  728. package/build-module/components/provider/index.js +2 -3
  729. package/build-module/components/provider/index.js.map +1 -1
  730. package/build-module/components/publish-date-time-picker/index.js +1 -2
  731. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  732. package/build-module/components/recursion-provider/index.js +1 -0
  733. package/build-module/components/recursion-provider/index.js.map +1 -1
  734. package/build-module/components/responsive-block-control/index.js +4 -5
  735. package/build-module/components/responsive-block-control/index.js.map +1 -1
  736. package/build-module/components/responsive-block-control/label.js +2 -4
  737. package/build-module/components/responsive-block-control/label.js.map +1 -1
  738. package/build-module/components/rich-text/content.js.map +1 -1
  739. package/build-module/components/rich-text/event-listeners/before-input-rules.js +2 -2
  740. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  741. package/build-module/components/rich-text/event-listeners/delete.js +2 -2
  742. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  743. package/build-module/components/rich-text/event-listeners/enter.js +2 -2
  744. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  745. package/build-module/components/rich-text/event-listeners/firefox-compat.js +2 -2
  746. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -1
  747. package/build-module/components/rich-text/event-listeners/index.js +4 -2
  748. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  749. package/build-module/components/rich-text/event-listeners/input-events.js +2 -2
  750. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -1
  751. package/build-module/components/rich-text/event-listeners/input-rules.js +2 -2
  752. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  753. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +2 -2
  754. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -1
  755. package/build-module/components/rich-text/event-listeners/paste-handler.js +2 -2
  756. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  757. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +2 -2
  758. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -1
  759. package/build-module/components/rich-text/event-listeners/shortcuts.js +2 -2
  760. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -1
  761. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +2 -2
  762. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -1
  763. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  764. package/build-module/components/rich-text/format-toolbar/index.js +1 -3
  765. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  766. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
  767. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  768. package/build-module/components/rich-text/index.js +4 -5
  769. package/build-module/components/rich-text/index.js.map +1 -1
  770. package/build-module/components/rich-text/index.native.js +3 -9
  771. package/build-module/components/rich-text/index.native.js.map +1 -1
  772. package/build-module/components/rich-text/multiline.js.map +1 -1
  773. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  774. package/build-module/components/rich-text/native/index.js +1 -1
  775. package/build-module/components/rich-text/native/index.js.map +1 -1
  776. package/build-module/components/rich-text/native/index.native.js +1 -3
  777. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  778. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -3
  779. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  780. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  781. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  782. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  783. package/build-module/components/rich-text/use-format-types.js +1 -0
  784. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  785. package/build-module/components/spacing-sizes-control/index.js +4 -5
  786. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  787. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -2
  788. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  789. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -2
  790. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  791. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +5 -7
  792. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  793. package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
  794. package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
  795. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  796. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  797. package/build-module/components/tabbed-sidebar/index.js +1 -2
  798. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  799. package/build-module/components/tool-selector/index.js +9 -8
  800. package/build-module/components/tool-selector/index.js.map +1 -1
  801. package/build-module/components/typewriter/index.js +1 -0
  802. package/build-module/components/typewriter/index.js.map +1 -1
  803. package/build-module/components/unsupported-block-details/index.native.js +1 -2
  804. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  805. package/build-module/components/url-input/button.js +1 -2
  806. package/build-module/components/url-input/button.js.map +1 -1
  807. package/build-module/components/url-input/index.js +2 -4
  808. package/build-module/components/url-input/index.js.map +1 -1
  809. package/build-module/components/url-popover/image-url-input-ui.js +1 -3
  810. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  811. package/build-module/components/url-popover/index.js +1 -2
  812. package/build-module/components/url-popover/index.js.map +1 -1
  813. package/build-module/components/url-popover/link-editor.js +1 -2
  814. package/build-module/components/url-popover/link-editor.js.map +1 -1
  815. package/build-module/components/url-popover/link-viewer.js +1 -2
  816. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  817. package/build-module/components/use-block-commands/index.js +1 -1
  818. package/build-module/components/use-block-commands/index.js.map +1 -1
  819. package/build-module/components/use-block-drop-zone/index.js +5 -5
  820. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  821. package/build-module/components/use-block-drop-zone/index.native.js +0 -1
  822. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  823. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  824. package/build-module/components/use-moving-animation/index.js +1 -3
  825. package/build-module/components/use-moving-animation/index.js.map +1 -1
  826. package/build-module/components/use-resize-canvas/index.js +1 -2
  827. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  828. package/build-module/components/use-settings/index.js +1 -3
  829. package/build-module/components/use-settings/index.js.map +1 -1
  830. package/build-module/components/video-player/index.native.js +1 -2
  831. package/build-module/components/video-player/index.native.js.map +1 -1
  832. package/build-module/components/warning/index.js +1 -2
  833. package/build-module/components/warning/index.js.map +1 -1
  834. package/build-module/components/warning/index.native.js +1 -2
  835. package/build-module/components/warning/index.native.js.map +1 -1
  836. package/build-module/components/writing-flow/index.js +6 -6
  837. package/build-module/components/writing-flow/index.js.map +1 -1
  838. package/build-module/components/writing-flow/use-tab-nav.js +20 -5
  839. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  840. package/build-module/hooks/align.js.map +1 -1
  841. package/build-module/hooks/anchor.js +1 -3
  842. package/build-module/hooks/anchor.js.map +1 -1
  843. package/build-module/hooks/block-bindings.js +21 -12
  844. package/build-module/hooks/block-bindings.js.map +1 -1
  845. package/build-module/hooks/block-hooks.js +2 -3
  846. package/build-module/hooks/block-hooks.js.map +1 -1
  847. package/build-module/hooks/block-style-variation.js +1 -2
  848. package/build-module/hooks/block-style-variation.js.map +1 -1
  849. package/build-module/hooks/contrast-checker.js +0 -1
  850. package/build-module/hooks/contrast-checker.js.map +1 -1
  851. package/build-module/hooks/dimensions.js +1 -3
  852. package/build-module/hooks/dimensions.js.map +1 -1
  853. package/build-module/hooks/duotone.js +3 -5
  854. package/build-module/hooks/duotone.js.map +1 -1
  855. package/build-module/hooks/font-family.js.map +1 -1
  856. package/build-module/hooks/gap.js.map +1 -1
  857. package/build-module/hooks/generated-class-name.js +1 -0
  858. package/build-module/hooks/generated-class-name.js.map +1 -1
  859. package/build-module/hooks/grid-visualizer.js +14 -14
  860. package/build-module/hooks/grid-visualizer.js.map +1 -1
  861. package/build-module/hooks/layout-child.js +42 -6
  862. package/build-module/hooks/layout-child.js.map +1 -1
  863. package/build-module/hooks/layout.js +1 -3
  864. package/build-module/hooks/layout.js.map +1 -1
  865. package/build-module/hooks/position.js +1 -1
  866. package/build-module/hooks/position.js.map +1 -1
  867. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  868. package/build-module/hooks/style.js +5 -4
  869. package/build-module/hooks/style.js.map +1 -1
  870. package/build-module/hooks/text-align.js.map +1 -1
  871. package/build-module/hooks/typography.native.js +1 -2
  872. package/build-module/hooks/typography.native.js.map +1 -1
  873. package/build-module/hooks/use-bindings-attributes.js +1 -2
  874. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  875. package/build-module/hooks/use-typography-props.js.map +1 -1
  876. package/build-module/hooks/use-zoom-out.js +18 -19
  877. package/build-module/hooks/use-zoom-out.js.map +1 -1
  878. package/build-module/index.js +1 -1
  879. package/build-module/index.js.map +1 -1
  880. package/build-module/layouts/constrained.js +1 -3
  881. package/build-module/layouts/constrained.js.map +1 -1
  882. package/build-module/layouts/flex.js +1 -3
  883. package/build-module/layouts/flex.js.map +1 -1
  884. package/build-module/layouts/grid.js +1 -3
  885. package/build-module/layouts/grid.js.map +1 -1
  886. package/build-module/layouts/utils.js.map +1 -1
  887. package/build-module/private-apis.js +7 -3
  888. package/build-module/private-apis.js.map +1 -1
  889. package/build-module/store/actions.js +6 -38
  890. package/build-module/store/actions.js.map +1 -1
  891. package/build-module/store/defaults.js +1 -1
  892. package/build-module/store/defaults.js.map +1 -1
  893. package/build-module/store/private-actions.js +54 -7
  894. package/build-module/store/private-actions.js.map +1 -1
  895. package/build-module/store/private-selectors.js +9 -20
  896. package/build-module/store/private-selectors.js.map +1 -1
  897. package/build-module/store/reducer.js +17 -22
  898. package/build-module/store/reducer.js.map +1 -1
  899. package/build-module/store/selectors.js +66 -20
  900. package/build-module/store/selectors.js.map +1 -1
  901. package/build-module/utils/block-bindings.js +9 -6
  902. package/build-module/utils/block-bindings.js.map +1 -1
  903. package/build-module/utils/dom.js +16 -1
  904. package/build-module/utils/dom.js.map +1 -1
  905. package/build-module/utils/get-font-styles-and-weights.js +3 -3
  906. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  907. package/build-module/utils/get-px-from-css-unit.js +1 -1
  908. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  909. package/build-module/utils/object.js +1 -0
  910. package/build-module/utils/object.js.map +1 -1
  911. package/build-module/utils/pasting.js.map +1 -1
  912. package/build-module/utils/transform-styles/index.js +3 -2
  913. package/build-module/utils/transform-styles/index.js.map +1 -1
  914. package/build-style/content-rtl.css +19 -27
  915. package/build-style/content.css +19 -27
  916. package/build-style/style-rtl.css +47 -54
  917. package/build-style/style.css +47 -54
  918. package/build-types/utils/dom.d.ts.map +1 -1
  919. package/package.json +34 -33
  920. package/src/autocompleters/block.js +16 -7
  921. package/src/components/block-canvas/index.js +17 -1
  922. package/src/components/block-canvas/style.scss +1 -0
  923. package/src/components/block-card/index.js +3 -3
  924. package/src/components/block-full-height-alignment-control/index.js +1 -1
  925. package/src/components/block-inspector/style.scss +0 -6
  926. package/src/components/block-list/block.js +1 -2
  927. package/src/components/block-list/block.native.js +0 -4
  928. package/src/components/block-list/content.scss +4 -3
  929. package/src/components/block-list/index.js +4 -4
  930. package/src/components/block-list/use-block-props/index.js +0 -2
  931. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
  932. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +12 -4
  933. package/src/components/block-list/use-in-between-inserter.js +1 -1
  934. package/src/components/block-list/zoom-out-separator.js +8 -6
  935. package/src/components/block-patterns-list/stories/fixtures.js +834 -0
  936. package/src/components/block-patterns-list/stories/index.story.js +81 -0
  937. package/src/components/block-patterns-list/style.scss +2 -0
  938. package/src/components/block-patterns-paging/index.js +1 -1
  939. package/src/components/block-popover/index.js +2 -2
  940. package/src/components/block-preview/auto.js +1 -4
  941. package/src/components/block-preview/index.js +2 -2
  942. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  943. package/src/components/block-settings-menu/index.js +3 -0
  944. package/src/components/block-toolbar/change-design.js +133 -0
  945. package/src/components/block-toolbar/index.js +25 -8
  946. package/src/components/block-toolbar/style.scss +16 -0
  947. package/src/components/block-tools/index.js +4 -28
  948. package/src/components/block-tools/insertion-point.js +4 -3
  949. package/src/components/block-tools/style.scss +0 -20
  950. package/src/components/block-tools/use-show-block-tools.js +2 -8
  951. package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
  952. package/src/components/block-variation-transforms/index.js +2 -2
  953. package/src/components/block-vertical-alignment-control/ui.js +11 -15
  954. package/src/components/border-radius-control/linked-button.js +9 -11
  955. package/src/components/collab/block-comment-icon-slot.js +12 -0
  956. package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
  957. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  958. package/src/components/convert-to-group-buttons/toolbar.js +4 -4
  959. package/src/components/global-styles/color-panel.js +2 -10
  960. package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
  961. package/src/components/global-styles/use-global-styles-context.native.js +6 -0
  962. package/src/components/iframe/content.scss +22 -32
  963. package/src/components/iframe/index.js +62 -15
  964. package/src/components/iframe/style.scss +17 -0
  965. package/src/components/image-size-control/index.js +74 -43
  966. package/src/components/image-size-control/test/index.js +5 -63
  967. package/src/components/inner-blocks/index.js +12 -6
  968. package/src/components/inner-blocks/use-nested-settings-update.js +16 -10
  969. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  970. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
  971. package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  972. package/src/components/inserter/category-tabs/index.js +17 -13
  973. package/src/components/inserter/menu.js +12 -5
  974. package/src/components/inserter/quick-inserter.js +1 -1
  975. package/src/components/inserter/style.scss +14 -41
  976. package/src/components/inserter-button/index.native.js +1 -1
  977. package/src/components/inspector-controls-tabs/index.js +1 -6
  978. package/src/components/inspector-controls-tabs/utils.js +0 -3
  979. package/src/components/link-control/link-preview.js +15 -8
  980. package/src/components/link-control/search-input.js +4 -5
  981. package/src/components/link-control/search-results.js +2 -13
  982. package/src/components/link-control/test/index.js +147 -70
  983. package/src/components/list-view/appender.js +5 -6
  984. package/src/components/list-view/branch.js +8 -6
  985. package/src/components/list-view/index.js +1 -2
  986. package/src/components/media-replace-flow/test/index.js +1 -1
  987. package/src/components/provider/index.js +1 -3
  988. package/src/components/provider/test/experimental-provider.js +43 -1
  989. package/src/components/responsive-block-control/style.scss +0 -1
  990. package/src/components/rich-text/event-listeners/index.js +4 -2
  991. package/src/components/rich-text/index.native.js +0 -2
  992. package/src/components/rich-text/style.scss +5 -0
  993. package/src/components/spacing-sizes-control/index.js +3 -3
  994. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  995. package/src/components/spacing-sizes-control/linked-button.js +2 -12
  996. package/src/components/tool-selector/index.js +6 -5
  997. package/src/components/url-input/index.js +1 -1
  998. package/src/components/use-block-commands/index.js +1 -1
  999. package/src/components/use-block-drop-zone/index.js +5 -5
  1000. package/src/components/use-block-drop-zone/index.native.js +0 -1
  1001. package/src/components/use-moving-animation/index.js +0 -1
  1002. package/src/components/use-resize-canvas/index.js +1 -3
  1003. package/src/components/use-settings/index.js +0 -1
  1004. package/src/components/writing-flow/index.js +5 -3
  1005. package/src/components/writing-flow/use-tab-nav.js +27 -4
  1006. package/src/hooks/block-bindings.js +48 -31
  1007. package/src/hooks/contrast-checker.js +0 -1
  1008. package/src/hooks/duotone.js +2 -2
  1009. package/src/hooks/grid-visualizer.js +23 -9
  1010. package/src/hooks/layout-child.js +48 -3
  1011. package/src/hooks/style.js +7 -3
  1012. package/src/hooks/use-zoom-out.js +20 -24
  1013. package/src/index.js +0 -1
  1014. package/src/private-apis.js +6 -1
  1015. package/src/store/actions.js +5 -53
  1016. package/src/store/defaults.js +2 -1
  1017. package/src/store/private-actions.js +71 -8
  1018. package/src/store/private-selectors.js +9 -19
  1019. package/src/store/reducer.js +25 -28
  1020. package/src/store/selectors.js +82 -20
  1021. package/src/store/test/actions.js +41 -0
  1022. package/src/store/test/private-selectors.js +7 -1
  1023. package/src/store/test/reducer.js +23 -0
  1024. package/src/store/test/selectors.js +13 -2
  1025. package/src/style.scss +1 -0
  1026. package/src/utils/block-bindings.js +9 -6
  1027. package/src/utils/dom.js +22 -2
  1028. package/src/utils/get-font-styles-and-weights.js +2 -2
  1029. package/src/utils/test/use-block-bindings-utils.js +174 -0
  1030. package/src/utils/transform-styles/index.js +3 -2
  1031. package/tsconfig.tsbuildinfo +1 -1
  1032. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
  1033. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  1034. package/build/components/block-toolbar/shuffle.js +0 -110
  1035. package/build/components/block-toolbar/shuffle.js.map +0 -1
  1036. package/build/components/block-tools/zoom-out-popover.js +0 -57
  1037. package/build/components/block-tools/zoom-out-popover.js.map +0 -1
  1038. package/build/components/block-tools/zoom-out-toolbar.js +0 -149
  1039. package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
  1040. package/build/components/block-vertical-alignment-control/icons.js +0 -48
  1041. package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
  1042. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
  1043. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  1044. package/build-module/components/block-toolbar/shuffle.js +0 -103
  1045. package/build-module/components/block-toolbar/shuffle.js.map +0 -1
  1046. package/build-module/components/block-tools/zoom-out-popover.js +0 -48
  1047. package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
  1048. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -142
  1049. package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
  1050. package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
  1051. package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
  1052. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
  1053. package/src/components/block-toolbar/shuffle.js +0 -111
  1054. package/src/components/block-tools/zoom-out-popover.js +0 -46
  1055. package/src/components/block-tools/zoom-out-toolbar.js +0 -156
  1056. package/src/components/block-vertical-alignment-control/icons.js +0 -34
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_i18n","_data","_blocks","_warning","_interopRequireDefault","_store","_jsxRuntime","BlockInvalidWarning","clientId","selector","select","getBlock","blockEditorStore","block","name","blockType","getBlockType","title","blockIcon","icon","blockTitle","useSelect","accessibilityLabel","sprintf","__","replaceBlock","useDispatch","recoverBlock","attributes","innerBlocks","createBlock","attemptBlockRecovery","jsx","TouchableWithoutFeedback","onPress","accessible","accessibilityRole","children","default","message"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst blockIcon = blockType?.icon;\n\n\t\treturn {\n\t\t\tblock,\n\t\t\tblockTitle: title,\n\t\t\ticon: blockIcon,\n\t\t};\n\t};\n\n\tconst { block, blockTitle, icon } = useSelect( selector, [ clientId ] );\n\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for blocks with invalid content. %d: localized block title */\n\t\t__( '%s block. This block has invalid content' ),\n\t\tblockTitle\n\t);\n\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\t\tcreateBlock( name, attributes, innerBlocks );\n\n\tconst attemptBlockRecovery = () => {\n\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t};\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ attemptBlockRecovery }\n\t\t\taccessible\n\t\t\taccessibilityRole=\"button\"\n\t\t>\n\t\t\t<Warning\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'Problem displaying block. \\nTap to attempt block recovery.'\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t/>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAwD,IAAAO,WAAA,GAAAP,OAAA;AAhBxD;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAIe,SAASQ,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,QAAQ,GAAKC,MAAM,IAAM;IAC9B,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC/C,MAAMC,KAAK,GAAGF,QAAQ,CAAEH,QAAS,CAAC;IAClC,MAAM;MAAEM;IAAK,CAAC,GAAGD,KAAK,IAAI,CAAC,CAAC;IAE5B,MAAME,SAAS,GAAG,IAAAC,oBAAY,EAAEF,IAAI,IAAI,cAAe,CAAC;IACxD,MAAMG,KAAK,GAAGF,SAAS,EAAEE,KAAK;IAC9B,MAAMC,SAAS,GAAGH,SAAS,EAAEI,IAAI;IAEjC,OAAO;MACNN,KAAK;MACLO,UAAU,EAAEH,KAAK;MACjBE,IAAI,EAAED;IACP,CAAC;EACF,CAAC;EAED,MAAM;IAAEL,KAAK;IAAEO,UAAU;IAAED;EAAK,CAAC,GAAG,IAAAE,eAAS,EAAEZ,QAAQ,EAAE,CAAED,QAAQ,CAAG,CAAC;EAEvE,MAAMc,kBAAkB,GAAG,IAAAC,aAAO,GACjC;EACA,IAAAC,QAAE,EAAE,0CAA2C,CAAC,EAChDJ,UACD,CAAC;EAED,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEd,YAAiB,CAAC;EAExD,MAAMe,YAAY,GAAGA,CAAE;IAAEb,IAAI;IAAEc,UAAU;IAAEC;EAAY,CAAC,KACvD,IAAAC,mBAAW,EAAEhB,IAAI,EAAEc,UAAU,EAAEC,WAAY,CAAC;EAE7C,MAAME,oBAAoB,GAAGA,CAAA,KAAM;IAClCN,YAAY,CAAEZ,KAAK,CAACL,QAAQ,EAAEmB,YAAY,CAAEd,KAAM,CAAE,CAAC;EACtD,CAAC;EAED,oBACC,IAAAP,WAAA,CAAA0B,GAAA,EAAClC,YAAA,CAAAmC,wBAAwB;IACxBC,OAAO,EAAGH,oBAAsB;IAChCI,UAAU;IACVC,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,eAE1B,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,QAAA,CAAAmC,OAAO;MACPrB,KAAK,EAAGG;MACR;MAAA;MACAmB,OAAO,EAAG,IAAAf,QAAE,EACX,4DACD,CAAG;MACHL,IAAI,EAAGA,IAAM;MACbG,kBAAkB,EAAGA;IAAoB,CACzC;EAAC,CACuB,CAAC;AAE7B","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_i18n","_data","_blocks","_warning","_interopRequireDefault","_store","_jsxRuntime","BlockInvalidWarning","clientId","selector","select","getBlock","blockEditorStore","block","name","blockType","getBlockType","title","blockIcon","icon","blockTitle","useSelect","accessibilityLabel","sprintf","__","replaceBlock","useDispatch","recoverBlock","attributes","innerBlocks","createBlock","attemptBlockRecovery","jsx","TouchableWithoutFeedback","onPress","accessible","accessibilityRole","children","default","message"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst blockIcon = blockType?.icon;\n\n\t\treturn {\n\t\t\tblock,\n\t\t\tblockTitle: title,\n\t\t\ticon: blockIcon,\n\t\t};\n\t};\n\n\tconst { block, blockTitle, icon } = useSelect( selector, [ clientId ] );\n\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for blocks with invalid content. %d: localized block title */\n\t\t__( '%s block. This block has invalid content' ),\n\t\tblockTitle\n\t);\n\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\t\tcreateBlock( name, attributes, innerBlocks );\n\n\tconst attemptBlockRecovery = () => {\n\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t};\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ attemptBlockRecovery }\n\t\t\taccessible\n\t\t\taccessibilityRole=\"button\"\n\t\t>\n\t\t\t<Warning\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'Problem displaying block. \\nTap to attempt block recovery.'\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t/>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAwD,IAAAO,WAAA,GAAAP,OAAA;AAhBxD;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAIe,SAASQ,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,QAAQ,GAAKC,MAAM,IAAM;IAC9B,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC/C,MAAMC,KAAK,GAAGF,QAAQ,CAAEH,QAAS,CAAC;IAClC,MAAM;MAAEM;IAAK,CAAC,GAAGD,KAAK,IAAI,CAAC,CAAC;IAE5B,MAAME,SAAS,GAAG,IAAAC,oBAAY,EAAEF,IAAI,IAAI,cAAe,CAAC;IACxD,MAAMG,KAAK,GAAGF,SAAS,EAAEE,KAAK;IAC9B,MAAMC,SAAS,GAAGH,SAAS,EAAEI,IAAI;IAEjC,OAAO;MACNN,KAAK;MACLO,UAAU,EAAEH,KAAK;MACjBE,IAAI,EAAED;IACP,CAAC;EACF,CAAC;EAED,MAAM;IAAEL,KAAK;IAAEO,UAAU;IAAED;EAAK,CAAC,GAAG,IAAAE,eAAS,EAAEZ,QAAQ,EAAE,CAAED,QAAQ,CAAG,CAAC;EAEvE,MAAMc,kBAAkB,GAAG,IAAAC,aAAO,EACjC;EACA,IAAAC,QAAE,EAAE,0CAA2C,CAAC,EAChDJ,UACD,CAAC;EAED,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEd,YAAiB,CAAC;EAExD,MAAMe,YAAY,GAAGA,CAAE;IAAEb,IAAI;IAAEc,UAAU;IAAEC;EAAY,CAAC,KACvD,IAAAC,mBAAW,EAAEhB,IAAI,EAAEc,UAAU,EAAEC,WAAY,CAAC;EAE7C,MAAME,oBAAoB,GAAGA,CAAA,KAAM;IAClCN,YAAY,CAAEZ,KAAK,CAACL,QAAQ,EAAEmB,YAAY,CAAEd,KAAM,CAAE,CAAC;EACtD,CAAC;EAED,oBACC,IAAAP,WAAA,CAAA0B,GAAA,EAAClC,YAAA,CAAAmC,wBAAwB;IACxBC,OAAO,EAAGH,oBAAsB;IAChCI,UAAU;IACVC,iBAAiB,EAAC,QAAQ;IAAAC,QAAA,eAE1B,IAAA/B,WAAA,CAAA0B,GAAA,EAAC7B,QAAA,CAAAmC,OAAO;MACPrB,KAAK,EAAGG;MACR;MAAA;MACAmB,OAAO,EAAG,IAAAf,QAAE,EACX,4DACD,CAAG;MACHL,IAAI,EAAGA,IAAM;MACbG,kBAAkB,EAAGA;IAAoB,CACzC;EAAC,CACuB,CAAC;AAE7B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_data","_block","_interopRequireDefault","_gridItem","_insertionPoint","_store","_useEditorWrapperStyles","_jsxRuntime","BlockListItemContent","blockWidth","clientId","contentResizeMode","contentStyle","index","isStackedHorizontally","marginHorizontal","marginVertical","onAddBlock","onDeleteBlock","parentWidth","rootClientId","shouldShowInnerBlockAppender","blockAlignment","blockName","hasParents","parentBlockAlignment","parentBlockName","shouldShowInsertionPointAfter","shouldShowInsertionPointBefore","useSelect","select","getBlockAttributes","getBlockInsertionPoint","getBlockName","getBlockOrder","isBlockInsertionPointVisible","blockEditorStore","blockClientIds","insertionPoint","insertionPointVisibleInCurrentRoot","isListEmpty","length","isInsertionPointBeforeBlock","isInsertionPointAtEnd","isBlockLastInList","showInsertionPointBefore","showInsertionPointAfter","blockHasParents","name","parentName","align","textAlign","parentBlockAlign","wrapperStyles","margin","useEditorWrapperStyles","shouldShowBlockInsertionPointAfter","jsxs","View","style","children","jsx","default","testID","BlockListItem","props","isGridItem","numOfColumns","tileCount","tileIndex","restProps","maxWidth","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Block from './block';\nimport Grid from './grid-item';\nimport BlockInsertionPoint from './insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\n\n/**\n * BlockListItemContent component. Renders a block with an optional insertion point.\n *\n * @param {Object} props Component properties.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component} The rendered block list item content.\n */\nfunction BlockListItemContent( {\n\tblockWidth,\n\tclientId,\n\tcontentResizeMode,\n\tcontentStyle,\n\tindex,\n\tisStackedHorizontally,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonAddBlock,\n\tonDeleteBlock,\n\tparentWidth,\n\trootClientId,\n\tshouldShowInnerBlockAppender,\n} ) {\n\tconst {\n\t\tblockAlignment,\n\t\tblockName,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tshouldShowInsertionPointAfter,\n\t\tshouldShowInsertionPointBefore,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\n\t\t\tconst insertionPointVisibleInCurrentRoot =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId;\n\n\t\t\tconst isListEmpty = blockClientIds.length === 0;\n\t\t\tconst isInsertionPointBeforeBlock =\n\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId;\n\t\t\tconst isInsertionPointAtEnd =\n\t\t\t\tblockClientIds.length === insertionPoint.index;\n\t\t\tconst isBlockLastInList =\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst showInsertionPointBefore =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\t( isListEmpty || isInsertionPointBeforeBlock );\n\n\t\t\tconst showInsertionPointAfter =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\tisInsertionPointAtEnd &&\n\t\t\t\tisBlockLastInList;\n\n\t\t\tconst blockHasParents = !! rootClientId;\n\t\t\tconst name = getBlockName( clientId );\n\t\t\tconst parentName = getBlockName( rootClientId );\n\t\t\tconst { align } = getBlockAttributes( clientId ) || {};\n\t\t\tconst { textAlign: parentBlockAlign } =\n\t\t\t\tgetBlockAttributes( rootClientId ) || {};\n\n\t\t\treturn {\n\t\t\t\tblockAlignment: align,\n\t\t\t\tblockName: name,\n\t\t\t\thasParents: blockHasParents,\n\t\t\t\tparentBlockAlignment: parentBlockAlign,\n\t\t\t\tparentBlockName: parentName,\n\t\t\t\tshouldShowInsertionPointAfter: showInsertionPointAfter,\n\t\t\t\tshouldShowInsertionPointBefore: showInsertionPointBefore,\n\t\t\t};\n\t\t},\n\t\t[ isStackedHorizontally, rootClientId, clientId ]\n\t);\n\n\tconst [ wrapperStyles, margin ] = useEditorWrapperStyles( {\n\t\talign: blockAlignment,\n\t\tblockName,\n\t\tblockWidth,\n\t\tcontentResizeMode,\n\t\thasParents,\n\t\tmarginHorizontal,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tparentWidth,\n\t} );\n\n\tconst shouldShowBlockInsertionPointAfter =\n\t\t! shouldShowInnerBlockAppender() && shouldShowInsertionPointAfter;\n\n\treturn (\n\t\t<View style={ wrapperStyles }>\n\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-before-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Block\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tmarginHorizontal={ margin }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t\t{ shouldShowBlockInsertionPointAfter && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-after-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\n/**\n * BlockListItem component. Renders a block list item either as a grid item or as a standalone item.\n *\n * @param {Object} props Component properties.\n * @param {boolean} props.isGridItem Whether the block is a grid item.\n * @param {number} props.numOfColumns The number of columns for grid layout.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {number} props.tileCount The total number of tiles in the grid.\n * @param {number} props.tileIndex The index of the current tile in the grid.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component|null} The rendered block list item or null if the block width is not provided.\n */\nfunction BlockListItem( props ) {\n\tconst { isGridItem, numOfColumns, tileCount, tileIndex, ...restProps } =\n\t\tprops;\n\n\tif ( ! props?.blockWidth ) {\n\t\treturn null;\n\t}\n\n\tif ( isGridItem ) {\n\t\treturn (\n\t\t\t<Grid\n\t\t\t\tmaxWidth={ props?.parentWidth }\n\t\t\t\tnumOfColumns={ numOfColumns }\n\t\t\t\ttileCount={ tileCount }\n\t\t\t\tindex={ tileIndex }\n\t\t\t>\n\t\t\t\t<BlockListItemContent { ...restProps } />\n\t\t\t</Grid>\n\t\t);\n\t}\n\n\treturn <BlockListItemContent { ...restProps } />;\n}\n\nexport default BlockListItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_data","_block","_interopRequireDefault","_gridItem","_insertionPoint","_store","_useEditorWrapperStyles","_jsxRuntime","BlockListItemContent","blockWidth","clientId","contentResizeMode","contentStyle","index","isStackedHorizontally","marginHorizontal","marginVertical","onAddBlock","onDeleteBlock","parentWidth","rootClientId","shouldShowInnerBlockAppender","blockAlignment","blockName","hasParents","parentBlockAlignment","parentBlockName","shouldShowInsertionPointAfter","shouldShowInsertionPointBefore","useSelect","select","getBlockAttributes","getBlockInsertionPoint","getBlockName","getBlockOrder","isBlockInsertionPointVisible","blockEditorStore","blockClientIds","insertionPoint","insertionPointVisibleInCurrentRoot","isListEmpty","length","isInsertionPointBeforeBlock","isInsertionPointAtEnd","isBlockLastInList","showInsertionPointBefore","showInsertionPointAfter","blockHasParents","name","parentName","align","textAlign","parentBlockAlign","wrapperStyles","margin","useEditorWrapperStyles","shouldShowBlockInsertionPointAfter","jsxs","View","style","children","jsx","default","testID","BlockListItem","props","isGridItem","numOfColumns","tileCount","tileIndex","restProps","maxWidth","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Block from './block';\nimport Grid from './grid-item';\nimport BlockInsertionPoint from './insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\n\n/**\n * BlockListItemContent component. Renders a block with an optional insertion point.\n *\n * @param {Object} props Component properties.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component} The rendered block list item content.\n */\nfunction BlockListItemContent( {\n\tblockWidth,\n\tclientId,\n\tcontentResizeMode,\n\tcontentStyle,\n\tindex,\n\tisStackedHorizontally,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonAddBlock,\n\tonDeleteBlock,\n\tparentWidth,\n\trootClientId,\n\tshouldShowInnerBlockAppender,\n} ) {\n\tconst {\n\t\tblockAlignment,\n\t\tblockName,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tshouldShowInsertionPointAfter,\n\t\tshouldShowInsertionPointBefore,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\n\t\t\tconst insertionPointVisibleInCurrentRoot =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId;\n\n\t\t\tconst isListEmpty = blockClientIds.length === 0;\n\t\t\tconst isInsertionPointBeforeBlock =\n\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId;\n\t\t\tconst isInsertionPointAtEnd =\n\t\t\t\tblockClientIds.length === insertionPoint.index;\n\t\t\tconst isBlockLastInList =\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst showInsertionPointBefore =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\t( isListEmpty || isInsertionPointBeforeBlock );\n\n\t\t\tconst showInsertionPointAfter =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\tisInsertionPointAtEnd &&\n\t\t\t\tisBlockLastInList;\n\n\t\t\tconst blockHasParents = !! rootClientId;\n\t\t\tconst name = getBlockName( clientId );\n\t\t\tconst parentName = getBlockName( rootClientId );\n\t\t\tconst { align } = getBlockAttributes( clientId ) || {};\n\t\t\tconst { textAlign: parentBlockAlign } =\n\t\t\t\tgetBlockAttributes( rootClientId ) || {};\n\n\t\t\treturn {\n\t\t\t\tblockAlignment: align,\n\t\t\t\tblockName: name,\n\t\t\t\thasParents: blockHasParents,\n\t\t\t\tparentBlockAlignment: parentBlockAlign,\n\t\t\t\tparentBlockName: parentName,\n\t\t\t\tshouldShowInsertionPointAfter: showInsertionPointAfter,\n\t\t\t\tshouldShowInsertionPointBefore: showInsertionPointBefore,\n\t\t\t};\n\t\t},\n\t\t[ isStackedHorizontally, rootClientId, clientId ]\n\t);\n\n\tconst [ wrapperStyles, margin ] = useEditorWrapperStyles( {\n\t\talign: blockAlignment,\n\t\tblockName,\n\t\tblockWidth,\n\t\tcontentResizeMode,\n\t\thasParents,\n\t\tmarginHorizontal,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tparentWidth,\n\t} );\n\n\tconst shouldShowBlockInsertionPointAfter =\n\t\t! shouldShowInnerBlockAppender() && shouldShowInsertionPointAfter;\n\n\treturn (\n\t\t<View style={ wrapperStyles }>\n\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-before-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Block\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tmarginHorizontal={ margin }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t\t{ shouldShowBlockInsertionPointAfter && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-after-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\n/**\n * BlockListItem component. Renders a block list item either as a grid item or as a standalone item.\n *\n * @param {Object} props Component properties.\n * @param {boolean} props.isGridItem Whether the block is a grid item.\n * @param {number} props.numOfColumns The number of columns for grid layout.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {number} props.tileCount The total number of tiles in the grid.\n * @param {number} props.tileIndex The index of the current tile in the grid.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component|null} The rendered block list item or null if the block width is not provided.\n */\nfunction BlockListItem( props ) {\n\tconst { isGridItem, numOfColumns, tileCount, tileIndex, ...restProps } =\n\t\tprops;\n\n\tif ( ! props?.blockWidth ) {\n\t\treturn null;\n\t}\n\n\tif ( isGridItem ) {\n\t\treturn (\n\t\t\t<Grid\n\t\t\t\tmaxWidth={ props?.parentWidth }\n\t\t\t\tnumOfColumns={ numOfColumns }\n\t\t\t\ttileCount={ tileCount }\n\t\t\t\tindex={ tileIndex }\n\t\t\t>\n\t\t\t\t<BlockListItemContent { ...restProps } />\n\t\t\t</Grid>\n\t\t);\n\t}\n\n\treturn <BlockListItemContent { ...restProps } />;\n}\n\nexport default BlockListItem;\n"],"mappings":"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","ignoreList":[]}
@@ -500,7 +500,7 @@ function BlockListBlockProvider(props) {
500
500
  const blockType = (0, _blocks.getBlockType)(blockName);
501
501
  const {
502
502
  supportsLayout,
503
- __unstableIsPreviewMode: isPreviewMode
503
+ isPreviewMode
504
504
  } = getSettings();
505
505
  const hasLightBlockWrapper = blockType?.apiVersion > 1;
506
506
  const previewContext = {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_privateBlockContext","_lockUnlock","_jsxRuntime","isUnmodifiedBlockContent","unlock","blocksPrivateApis","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","Block","children","isHtml","props","jsx","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","useContext","PrivateBlockContext","removeBlock","useDispatch","blockEditorStore","onRemove","useCallback","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getBlockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","jsxs","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","selectBlock","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","getDefaultBlockName","replacement","switchToBlockType","isUnmodifiedDefaultBlock","nextBlockClientId","batch","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","isUnmodifiedBlock","firstBlock","isFirstBlockContentUnmodified","canTransformToDefaultBlock","every","canLiftAndTransformToDefaultBlock","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","compose","withFilters","BlockListBlockProvider","selectedProps","useSelect","isBlockSelected","getBlockMode","getTemplateLock","isSectionBlock","_isSectionBlock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","__unstableHasActiveBlockOverlayActive","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blocksStore","blockName","supportsLayout","__unstableIsPreviewMode","hasLightBlockWrapper","previewContext","isReusable","isReusableBlock","defaultClassName","getBlockDefaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","multiple","blocksWithSameName","isInvalid","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isEditingDisabled","hasEditableOutline","originalBlockClientId","useMemo","privateContext","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmemo,\n\tuseCallback,\n\tRawHTML,\n\tuseContext,\n\tuseMemo,\n} 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\tstore as blocksStore,\n\tprivateApis as blocksPrivateApis,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\nconst { isUnmodifiedBlockContent } = unlock( blocksPrivateApis );\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\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\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\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\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( newAttributes ) {\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 } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\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\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}\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 targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tconst firstBlock = getBlock( firstClientId );\n\t\t\t\t\t\tconst isFirstBlockContentUnmodified =\n\t\t\t\t\t\t\tisUnmodifiedBlockContent( firstBlock );\n\t\t\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\tfirstBlock,\n\t\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst canTransformToDefaultBlock =\n\t\t\t\t\t\t\t!! replacement?.length &&\n\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\tcanInsertBlockType( block.name, _clientId )\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tisFirstBlockContentUnmodified &&\n\t\t\t\t\t\t\tcanTransformToDefaultBlock\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Step 1: If the block is empty and can be transformed to the default block type.\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tfirstClientId,\n\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tisFirstBlockContentUnmodified &&\n\t\t\t\t\t\t\tfirstBlock.name === defaultBlockName\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Step 2: If the block is empty and is already the default block type.\n\t\t\t\t\t\t\tremoveBlock( firstClientId );\n\t\t\t\t\t\t\tconst nextBlockClientId =\n\t\t\t\t\t\t\t\tgetNextBlockClientId( clientId );\n\t\t\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tfirstBlock.name,\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\t// Step 3: If the block can be moved up.\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 canLiftAndTransformToDefaultBlock =\n\t\t\t\t\t\t\t\t!! replacement?.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\n\t\t\t\t\t\t\tif ( canLiftAndTransformToDefaultBlock ) {\n\t\t\t\t\t\t\t\t// Step 4: If the block can be transformed to the default block type and moved up.\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\t// Step 5: Continue the default behavior.\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\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\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, __unstableIsPreviewMode: isPreviewMode } =\n\t\t\t\tgetSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\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};\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\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 isMultiSelected = isBlockMultiSelected( clientId );\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 blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock: _isSectionBlock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === 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};\n\t\t},\n\t\t[ clientId, rootClientId ]\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\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\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\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t} = selectedProps;\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() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, 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 privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\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\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_privateBlockContext","_lockUnlock","_jsxRuntime","isUnmodifiedBlockContent","unlock","blocksPrivateApis","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","Block","children","isHtml","props","jsx","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","useContext","PrivateBlockContext","removeBlock","useDispatch","blockEditorStore","onRemove","useCallback","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getBlockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","jsxs","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","selectBlock","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","getDefaultBlockName","replacement","switchToBlockType","isUnmodifiedDefaultBlock","nextBlockClientId","batch","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","isUnmodifiedBlock","firstBlock","isFirstBlockContentUnmodified","canTransformToDefaultBlock","every","canLiftAndTransformToDefaultBlock","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","compose","withFilters","BlockListBlockProvider","selectedProps","useSelect","isBlockSelected","getBlockMode","getTemplateLock","isSectionBlock","_isSectionBlock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","__unstableHasActiveBlockOverlayActive","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blocksStore","blockName","supportsLayout","hasLightBlockWrapper","previewContext","isReusable","isReusableBlock","defaultClassName","getBlockDefaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","multiple","blocksWithSameName","isInvalid","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isEditingDisabled","hasEditableOutline","originalBlockClientId","useMemo","privateContext","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmemo,\n\tuseCallback,\n\tRawHTML,\n\tuseContext,\n\tuseMemo,\n} 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\tstore as blocksStore,\n\tprivateApis as blocksPrivateApis,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\nconst { isUnmodifiedBlockContent } = unlock( blocksPrivateApis );\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\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\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\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\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( newAttributes ) {\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 } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\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\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}\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 targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tconst firstBlock = getBlock( firstClientId );\n\t\t\t\t\t\tconst isFirstBlockContentUnmodified =\n\t\t\t\t\t\t\tisUnmodifiedBlockContent( firstBlock );\n\t\t\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\tfirstBlock,\n\t\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst canTransformToDefaultBlock =\n\t\t\t\t\t\t\t!! replacement?.length &&\n\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\tcanInsertBlockType( block.name, _clientId )\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tisFirstBlockContentUnmodified &&\n\t\t\t\t\t\t\tcanTransformToDefaultBlock\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Step 1: If the block is empty and can be transformed to the default block type.\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tfirstClientId,\n\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tisFirstBlockContentUnmodified &&\n\t\t\t\t\t\t\tfirstBlock.name === defaultBlockName\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// Step 2: If the block is empty and is already the default block type.\n\t\t\t\t\t\t\tremoveBlock( firstClientId );\n\t\t\t\t\t\t\tconst nextBlockClientId =\n\t\t\t\t\t\t\t\tgetNextBlockClientId( clientId );\n\t\t\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tfirstBlock.name,\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\t// Step 3: If the block can be moved up.\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 canLiftAndTransformToDefaultBlock =\n\t\t\t\t\t\t\t\t!! replacement?.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\n\t\t\t\t\t\t\tif ( canLiftAndTransformToDefaultBlock ) {\n\t\t\t\t\t\t\t\t// Step 4: If the block can be transformed to the default block type and moved up.\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\t// Step 5: Continue the default behavior.\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\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\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, isPreviewMode } = getSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\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};\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\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 isMultiSelected = isBlockMultiSelected( clientId );\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 blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock: _isSectionBlock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === 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};\n\t\t},\n\t\t[ clientId, rootClientId ]\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\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\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\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t} = selectedProps;\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() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, 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 privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\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\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\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"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,OAAA,GAAAF,OAAA;AAcA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,IAAA,GAAAN,OAAA;AAKA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,kBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,mBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,cAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,oBAAA,GAAAf,OAAA;AAEA,IAAAgB,WAAA,GAAAhB,OAAA;AAA2C,IAAAiB,WAAA,GAAAjB,OAAA;AA/C3C;AACA;AACA;;AAGA;AACA;AACA;;AA2BA;AACA;AACA;;AAaA,MAAM;EAAEkB;AAAyB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAAEC,MAAM,EAAEC,MAAM,EAAG;EAC5C,MAAMC,QAAQ,GAAG;IAChB,GAAGF,MAAM;IACT,GAAGC;EACJ,CAAC;;EAED;EACA,IACCD,MAAM,EAAEG,cAAc,CAAE,WAAY,CAAC,IACrCF,MAAM,EAAEE,cAAc,CAAE,WAAY,CAAC,EACpC;IACDD,QAAQ,CAACE,SAAS,GAAG,IAAAC,aAAI,EAAEL,MAAM,CAACI,SAAS,EAAEH,MAAM,CAACG,SAAU,CAAC;EAChE;EAEA,IACCJ,MAAM,EAAEG,cAAc,CAAE,OAAQ,CAAC,IACjCF,MAAM,EAAEE,cAAc,CAAE,OAAQ,CAAC,EAChC;IACDD,QAAQ,CAACI,KAAK,GAAG;MAAE,GAAGN,MAAM,CAACM,KAAK;MAAE,GAAGL,MAAM,CAACK;IAAM,CAAC;EACtD;EAEA,OAAOJ,QAAQ;AAChB;AAEA,SAASK,KAAKA,CAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAE,GAAGC;AAAM,CAAC,EAAG;EAChD,oBACC,IAAAf,WAAA,CAAAgB,GAAA;IAAA,GAAU,IAAAC,4BAAa,EAAEF,KAAK,EAAE;MAAEG,gBAAgB,EAAEJ;IAAO,CAAE,CAAC;IAAAD,QAAA,EAC3DA;EAAQ,CACN,CAAC;AAER;AAEA,SAASM,cAAcA,CAAE;EACxBC,KAAK,EAAE;IAAEC;EAAsB,CAAC;EAChCC,IAAI;EACJC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,UAAU;EACVC,kBAAkB;EAClBlB,SAAS;EACTmB,0BAA0B,EAAEC,gBAAgB;EAC5CC,IAAI;EACJC,OAAO;EACPC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,SAAS;EACTC,mBAAmB;EACnBC,OAAO;EACPC;AACD,CAAC,EAAG;EAAA,IAAAC,aAAA;EACH,MAAM;IACLC,kBAAkB;IAClBC,wBAAwB;IACxBC,mBAAmB;IACnB,GAAGC;EACJ,CAAC,GAAG,IAAAC,mBAAU,EAAEC,wCAAoB,CAAC;EACrC,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACvD,MAAMC,QAAQ,GAAG,IAAAC,oBAAW,EAC3B,MAAMJ,WAAW,CAAErB,QAAS,CAAC,EAC7B,CAAEA,QAAQ,EAAEqB,WAAW,CACxB,CAAC;EAED,MAAMK,YAAY,GAAG,IAAAC,iBAAS,EAAC,CAAC,IAAI,CAAC,CAAC;;EAEtC;EACA;EACA;EACA;EACA,IAAIC,SAAS,gBACZ,IAAArD,WAAA,CAAAgB,GAAA,EAAC1B,UAAA,CAAAgE,OAAS;IACTxB,IAAI,EAAGA,IAAM;IACbJ,UAAU,EAAGA,UAAY;IACzBM,UAAU,EAAGA,UAAY;IACzBE,aAAa,EAAGA,aAAe;IAC/BqB,iBAAiB,EAAGhC,QAAQ,GAAGiC,SAAS,GAAGpB,mBAAqB;IAChED,SAAS,EAAGX,SAAS,GAAGW,SAAS,GAAGqB,SAAW;IAC/CP,QAAQ,EAAGzB,SAAS,GAAGyB,QAAQ,GAAGO,SAAW;IAC7CC,WAAW,EAAGjC,SAAS,GAAGa,OAAO,GAAGmB,SAAW;IAC/C/B,QAAQ,EAAGA,QAAU;IACrBE,kBAAkB,EAAGA,kBAAoB;IACzCW,eAAe,EAAGA,eAAiB;IACnCV,0BAA0B,EAAGC,gBAAkB;IAC/C6B,sBAAsB,EACrBC,MAAM,CAACC,IAAI,CAAET,YAAa,CAAC,CAACU,MAAM,GAAGV,YAAY,GAAGK,SACpD;IACDhB,kBAAkB,EAAGA,kBAAoB;IACzCC,wBAAwB,EAAGA,wBAA0B;IACrDqB,gBAAgB,EAAGnB,OAAO,CAACmB,gBAAkB;IAC7CC,aAAa,EAAGpB,OAAO,CAACoB;EAAe,CACvC,CACD;EAED,MAAMC,SAAS,GAAG,IAAAC,oBAAY,EAAEnC,IAAK,CAAC;;EAEtC;EACA,IAAKkC,SAAS,EAAEE,mBAAmB,EAAG;IACrCjC,YAAY,GAAG7B,iBAAiB,CAC/B6B,YAAY,EACZ+B,SAAS,CAACE,mBAAmB,CAAElC,UAAW,CAC3C,CAAC;EACF;EAEA,MAAMmC,SAAS,GACdlC,YAAY,IACZ,CAAC,CAAEA,YAAY,CAAE,YAAY,CAAE,IAC/B,CAAES,mBAAmB;;EAEtB;;EAEA,MAAM0B,QAAQ,GAAG3D,SAAS,EAAE4D,QAAQ,CAAE,oBAAqB,CAAC;;EAE5D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAKF,SAAS,EAAG;IAChBd,SAAS,gBACR,IAAArD,WAAA,CAAAgB,GAAA;MACCP,SAAS,EAAG,IAAAC,aAAI,EAAE,UAAU,EAAE0D,QAAQ,IAAI3D,SAAU,CAAG;MACvD,cAAawB,YAAY,CAAE,YAAY,CAAI;MAAApB,QAAA,EAEzCwC;IAAS,CACP,CACL;EACF;EAEA,IAAIjC,KAAK;EAET,IAAK,CAAEW,OAAO,EAAG;IAChB,MAAMuC,WAAW,GAAGjD,qBAAqB,GACtC,IAAAkD,yBAAiB,EAAElD,qBAAsB,CAAC,GAC1C,IAAAmD,sBAAc,EAAER,SAAS,EAAEhC,UAAW,CAAC;IAE1CZ,KAAK,gBACJ,IAAApB,WAAA,CAAAyE,IAAA,EAAC7D,KAAK;MAACH,SAAS,EAAC,aAAa;MAAAI,QAAA,gBAC7B,IAAAb,WAAA,CAAAgB,GAAA,EAACzB,oBAAA,CAAA+D,OAAmB;QAAC7B,QAAQ,EAAGA;MAAU,CAAE,CAAC,eAC7C,IAAAzB,WAAA,CAAAgB,GAAA,EAAChC,QAAA,CAAA0F,OAAO;QAAA7D,QAAA,EAAG,IAAA8D,aAAQ,EAAEL,WAAY;MAAC,CAAW,CAAC;IAAA,CACxC,CACP;EACF,CAAC,MAAM,IAAKhD,IAAI,KAAK,MAAM,EAAG;IAC7B;IACA;IACAF,KAAK,gBACJ,IAAApB,WAAA,CAAAyE,IAAA,EAAAzE,WAAA,CAAA4E,QAAA;MAAA/D,QAAA,gBACC,IAAAb,WAAA,CAAAgB,GAAA;QAAKL,KAAK,EAAG;UAAEkE,OAAO,EAAE;QAAO,CAAG;QAAAhE,QAAA,EAAGwC;MAAS,CAAO,CAAC,eACtD,IAAArD,WAAA,CAAAgB,GAAA,EAACJ,KAAK;QAACE,MAAM;QAAAD,QAAA,eACZ,IAAAb,WAAA,CAAAgB,GAAA,EAACtB,UAAA,CAAA4D,OAAS;UAAC7B,QAAQ,EAAGA;QAAU,CAAE;MAAC,CAC7B,CAAC;IAAA,CACP,CACF;EACF,CAAC,MAAM,IAAKuC,SAAS,EAAEc,UAAU,GAAG,CAAC,EAAG;IACvC1D,KAAK,GAAGiC,SAAS;EAClB,CAAC,MAAM;IACNjC,KAAK,gBAAG,IAAApB,WAAA,CAAAgB,GAAA,EAACJ,KAAK;MAAAC,QAAA,EAAGwC;IAAS,CAAS,CAAC;EACrC;EAEA,MAAM;IAAE,YAAY,EAAE0B,SAAS;IAAE,GAAGC;EAAiB,CAAC,IAAAzC,aAAA,GAAGN,YAAY,cAAAM,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;EAC3E,MAAM0C,mBAAmB,GAAG;IAC3B,GAAGD,gBAAgB;IACnBvE,SAAS,EAAE,IAAAC,aAAI,EACdsE,gBAAgB,CAACvE,SAAS,EAC1BsE,SAAS,IAAIrC,mBAAmB,IAAI,QAASqC,SAAS,EAAG,EACzD,EAAIA,SAAS,IAAIX,QAAQ,CAAE,IAAI3D,SAChC;EACD,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBACC,IAAAT,WAAA,CAAAgB,GAAA,EAAClB,oBAAA,CAAA+C,mBAAmB,CAACqC,QAAQ;IAC5BC,KAAK,EAAG;MACPlD,YAAY,EAAEgD,mBAAmB;MACjCd,SAAS;MACT,GAAGxB;IACJ,CAAG;IAAA9B,QAAA,eAEH,IAAAb,WAAA,CAAAgB,GAAA,EAACvB,mBAAA,CAAA6D,OAAkB;MAClB8B,QAAQ,eACP,IAAApF,WAAA,CAAAgB,GAAA,EAACJ,KAAK;QAACH,SAAS,EAAC,aAAa;QAAAI,QAAA,eAC7B,IAAAb,WAAA,CAAAgB,GAAA,EAACxB,kBAAA,CAAA8D,OAAiB,IAAE;MAAC,CACf,CACP;MAAAzC,QAAA,EAECO;IAAK,CACY;EAAC,CACQ,CAAC;AAEjC;AAEA,MAAMiE,iBAAiB,GAAG,IAAAC,kBAAY,EAAE,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,KAAM;EAC3E,MAAM;IACLC,qBAAqB;IACrBC,YAAY;IACZlC,WAAW;IACXmC,aAAa;IACbtD,eAAe;IACfuD,oCAAoC;IACpCC,oBAAoB;IACpBhD,WAAW;IACXiD;EACD,CAAC,GAAGR,QAAQ,CAAEvC,YAAiB,CAAC;;EAEhC;EACA;EACA,OAAO;IACNd,aAAaA,CAAE8D,aAAa,EAAG;MAC9B,MAAM;QAAEC;MAA+B,CAAC,GACvCR,QAAQ,CAACS,MAAM,CAAElD,YAAiB,CAAC;MACpC,MAAMmD,2BAA2B,GAChCF,8BAA8B,CAAC,CAAC;MACjC,MAAM;QAAExE;MAAS,CAAC,GAAG+D,QAAQ;MAC7B,MAAMY,SAAS,GAAGD,2BAA2B,CAACtC,MAAM,GACjDsC,2BAA2B,GAC3B,CAAE1E,QAAQ,CAAE;MAEfiE,qBAAqB,CAAEU,SAAS,EAAEJ,aAAc,CAAC;IAClD,CAAC;IACDK,cAAcA,CAAEC,MAAM,EAAEC,KAAK,EAAG;MAC/B,MAAM;QAAEC;MAAa,CAAC,GAAGhB,QAAQ;MACjCG,YAAY,CAAEW,MAAM,EAAEC,KAAK,EAAEC,YAAa,CAAC;IAC5C,CAAC;IACDpE,mBAAmBA,CAAEkE,MAAM,EAAG;MAC7B,MAAM;QAAE7E,QAAQ;QAAE+E;MAAa,CAAC,GAAGhB,QAAQ;MAC3C,MAAM;QAAEiB;MAAc,CAAC,GAAGhB,QAAQ,CAACS,MAAM,CAAElD,YAAiB,CAAC;MAC7D,MAAMuD,KAAK,GAAGE,aAAa,CAAEhF,QAAS,CAAC;MACvCkE,YAAY,CAAEW,MAAM,EAAEC,KAAK,GAAG,CAAC,EAAEC,YAAa,CAAC;IAChD,CAAC;IACDnE,OAAOA,CAAEqE,OAAO,EAAG;MAClB,MAAM;QAAEjF,QAAQ;QAAE+E;MAAa,CAAC,GAAGhB,QAAQ;MAC3C,MAAM;QACLmB,wBAAwB;QACxBC,oBAAoB;QACpBC,QAAQ;QACRC,kBAAkB;QAClBC,YAAY;QACZC,aAAa;QACbP,aAAa;QACbQ,oBAAoB;QACpBC;MACD,CAAC,GAAGzB,QAAQ,CAACS,MAAM,CAAElD,YAAiB,CAAC;MAEvC,SAASmE,uBAAuBA,CAAA,EAAG;QAClC,MAAM/F,KAAK,GAAGyF,QAAQ,CAAEpF,QAAS,CAAC;QAClC,MAAM2F,gBAAgB,GAAG,IAAAC,2BAAmB,EAAC,CAAC;QAC9C,IAAKN,YAAY,CAAEtF,QAAS,CAAC,KAAK2F,gBAAgB,EAAG;UACpD,MAAME,WAAW,GAAG,IAAAC,yBAAiB,EACpCnG,KAAK,EACLgG,gBACD,CAAC;UACD,IAAKE,WAAW,IAAIA,WAAW,CAACzD,MAAM,EAAG;YACxC+B,aAAa,CAAEnE,QAAQ,EAAE6F,WAAY,CAAC;UACvC;QACD,CAAC,MAAM,IAAK,IAAAE,gCAAwB,EAAEpG,KAAM,CAAC,EAAG;UAC/C,MAAMqG,iBAAiB,GAAGb,oBAAoB,CAAEnF,QAAS,CAAC;UAC1D,IAAKgG,iBAAiB,EAAG;YACxBhC,QAAQ,CAACiC,KAAK,CAAE,MAAM;cACrB5E,WAAW,CAAErB,QAAS,CAAC;cACvBsE,WAAW,CAAE0B,iBAAkB,CAAC;YACjC,CAAE,CAAC;UACJ;QACD;MACD;;MAEA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACG,SAASE,eAAeA,CAAEC,SAAS,EAAEC,eAAe,GAAG,IAAI,EAAG;QAC7D,MAAMC,kBAAkB,GAAGb,oBAAoB,CAAEW,SAAU,CAAC;QAC5D,MAAMG,UAAU,GAAGf,aAAa,CAAEY,SAAU,CAAC;QAC7C,MAAM,CAAEI,aAAa,CAAE,GAAGD,UAAU;QAEpC,IACCA,UAAU,CAAClE,MAAM,KAAK,CAAC,IACvB,IAAAoE,yBAAiB,EAAEpB,QAAQ,CAAEmB,aAAc,CAAE,CAAC,EAC7C;UACDlF,WAAW,CAAE8E,SAAU,CAAC;QACzB,CAAC,MAAM;UACNnC,QAAQ,CAACiC,KAAK,CAAE,MAAM;YACrB,MAAMQ,UAAU,GAAGrB,QAAQ,CAAEmB,aAAc,CAAC;YAC5C,MAAMG,6BAA6B,GAClClI,wBAAwB,CAAEiI,UAAW,CAAC;YACvC,MAAMd,gBAAgB,GAAG,IAAAC,2BAAmB,EAAC,CAAC;YAC9C,MAAMC,WAAW,GAAG,IAAAC,yBAAiB,EACpCW,UAAU,EACVd,gBACD,CAAC;YACD,MAAMgB,0BAA0B,GAC/B,CAAC,CAAEd,WAAW,EAAEzD,MAAM,IACtByD,WAAW,CAACe,KAAK,CAAIjH,KAAK,IACzB8F,kBAAkB,CAAE9F,KAAK,CAACU,IAAI,EAAE8F,SAAU,CAC3C,CAAC;YAEF,IACCO,6BAA6B,IAC7BC,0BAA0B,EACzB;cACD;cACAxC,aAAa,CACZoC,aAAa,EACbV,WAAW,EACXO,eACD,CAAC;YACF,CAAC,MAAM,IACNM,6BAA6B,IAC7BD,UAAU,CAACpG,IAAI,KAAKsF,gBAAgB,EACnC;cACD;cACAtE,WAAW,CAAEkF,aAAc,CAAC;cAC5B,MAAMP,iBAAiB,GACtBb,oBAAoB,CAAEnF,QAAS,CAAC;cACjC,IAAKgG,iBAAiB,EAAG;gBACxB1B,WAAW,CAAE0B,iBAAkB,CAAC;cACjC;YACD,CAAC,MAAM,IACNP,kBAAkB,CACjBgB,UAAU,CAACpG,IAAI,EACfgG,kBACD,CAAC,EACA;cACD;cACAhC,oBAAoB,CACnB,CAAEkC,aAAa,CAAE,EACjBJ,SAAS,EACTE,kBAAkB,EAClBrB,aAAa,CAAEmB,SAAU,CAC1B,CAAC;YACF,CAAC,MAAM;cACN,MAAMU,iCAAiC,GACtC,CAAC,CAAEhB,WAAW,EAAEzD,MAAM,IACtByD,WAAW,CAACe,KAAK,CAAIjH,KAAK,IACzB8F,kBAAkB,CACjB9F,KAAK,CAACU,IAAI,EACVgG,kBACD,CACD,CAAC;cAEF,IAAKQ,iCAAiC,EAAG;gBACxC;gBACA3C,YAAY,CACX2B,WAAW,EACXb,aAAa,CAAEmB,SAAU,CAAC,EAC1BE,kBAAkB,EAClBD,eACD,CAAC;gBACD/E,WAAW,CAAEkF,aAAa,EAAE,KAAM,CAAC;cACpC,CAAC,MAAM;gBACN;gBACAb,uBAAuB,CAAC,CAAC;cAC1B;YACD;YAEA,IACC,CAAEH,aAAa,CAAEY,SAAU,CAAC,CAAC/D,MAAM,IACnC,IAAAoE,yBAAiB,EAAEpB,QAAQ,CAAEe,SAAU,CAAE,CAAC,EACzC;cACD9E,WAAW,CAAE8E,SAAS,EAAE,KAAM,CAAC;YAChC;UACD,CAAE,CAAC;QACJ;MACD;;MAEA;MACA;MACA,IAAKlB,OAAO,EAAG;QACd,IAAKF,YAAY,EAAG;UACnB,MAAM+B,gBAAgB,GACrB3B,oBAAoB,CAAEJ,YAAa,CAAC;UAErC,IAAK+B,gBAAgB,EAAG;YACvB;YACA;YACA;YACA,IACCxB,YAAY,CAAEP,YAAa,CAAC,KAC5BO,YAAY,CAAEwB,gBAAiB,CAAC,EAC/B;cACD,MAAMC,cAAc,GACnB1B,kBAAkB,CAAEN,YAAa,CAAC;cACnC,MAAMiC,sBAAsB,GAC3B3B,kBAAkB,CAAEyB,gBAAiB,CAAC;cAEvC,IACC5E,MAAM,CAACC,IAAI,CAAE4E,cAAe,CAAC,CAACH,KAAK,CAChCK,GAAG,IACJF,cAAc,CAAEE,GAAG,CAAE,KACrBD,sBAAsB,CAAEC,GAAG,CAC7B,CAAC,EACA;gBACDjD,QAAQ,CAACiC,KAAK,CAAE,MAAM;kBACrB5B,oBAAoB,CACnBkB,aAAa,CAAEuB,gBAAiB,CAAC,EACjCA,gBAAgB,EAChB/B,YACD,CAAC;kBACD1D,WAAW,CAAEyF,gBAAgB,EAAE,KAAM,CAAC;gBACvC,CAAE,CAAC;gBACH;cACD;YACD,CAAC,MAAM;cACN9E,WAAW,CAAE+C,YAAY,EAAE+B,gBAAiB,CAAC;cAC7C;YACD;UACD;QACD;QAEA,MAAMd,iBAAiB,GAAGb,oBAAoB,CAAEnF,QAAS,CAAC;QAE1D,IAAK,CAAEgG,iBAAiB,EAAG;UAC1B;QACD;QAEA,IAAKT,aAAa,CAAES,iBAAkB,CAAC,CAAC5D,MAAM,EAAG;UAChD8D,eAAe,CAAEF,iBAAiB,EAAE,KAAM,CAAC;QAC5C,CAAC,MAAM;UACNhE,WAAW,CAAEhC,QAAQ,EAAEgG,iBAAkB,CAAC;QAC3C;MACD,CAAC,MAAM;QACN,MAAMkB,qBAAqB,GAC1BhC,wBAAwB,CAAElF,QAAS,CAAC;QAErC,IAAKkH,qBAAqB,EAAG;UAC5BlF,WAAW,CAAEkF,qBAAqB,EAAElH,QAAS,CAAC;QAC/C,CAAC,MAAM,IAAK+E,YAAY,EAAG;UAC1B,MAAMoC,oBAAoB,GACzBjC,wBAAwB,CAAEH,YAAa,CAAC;;UAEzC;UACA;UACA,IACCoC,oBAAoB,IACpB7B,YAAY,CAAEP,YAAa,CAAC,KAC3BO,YAAY,CAAE6B,oBAAqB,CAAC,EACpC;YACD,MAAMJ,cAAc,GACnB1B,kBAAkB,CAAEN,YAAa,CAAC;YACnC,MAAMiC,sBAAsB,GAC3B3B,kBAAkB,CAAE8B,oBAAqB,CAAC;YAE3C,IACCjF,MAAM,CAACC,IAAI,CAAE4E,cAAe,CAAC,CAACH,KAAK,CAChCK,GAAG,IACJF,cAAc,CAAEE,GAAG,CAAE,KACrBD,sBAAsB,CAAEC,GAAG,CAC7B,CAAC,EACA;cACDjD,QAAQ,CAACiC,KAAK,CAAE,MAAM;gBACrB5B,oBAAoB,CACnBkB,aAAa,CAAER,YAAa,CAAC,EAC7BA,YAAY,EACZoC,oBACD,CAAC;gBACD9F,WAAW,CAAE0D,YAAY,EAAE,KAAM,CAAC;cACnC,CAAE,CAAC;cACH;YACD;UACD;UAEAmB,eAAe,CAAEnB,YAAa,CAAC;QAChC,CAAC,MAAM;UACNW,uBAAuB,CAAC,CAAC;QAC1B;MACD;IACD,CAAC;IACDhF,SAASA,CAAEmE,MAAM,EAAEuC,aAAa,EAAEC,eAAe,EAAG;MACnD,IACCxC,MAAM,CAACzC,MAAM,IACb,CAAE,IAAA2D,gCAAwB,EAAElB,MAAM,CAAEA,MAAM,CAACzC,MAAM,GAAG,CAAC,CAAG,CAAC,EACxD;QACDgC,oCAAoC,CAAC,CAAC;MACvC;MACA;MACA,MAAMkD,iBAAiB,GACtBzC,MAAM,EAAEzC,MAAM,KAAK,CAAC,IAAImF,KAAK,CAACC,OAAO,CAAE3C,MAAM,CAAE,CAAC,CAAG,CAAC,GACjDA,MAAM,CAAE,CAAC,CAAE,GACXA,MAAM;MACVV,aAAa,CACZ,CAAEJ,QAAQ,CAAC/D,QAAQ,CAAE,EACrBsH,iBAAiB,EACjBF,aAAa,EACbC,eACD,CAAC;IACF,CAAC;IACDxG,eAAeA,CAAE4G,gBAAgB,EAAG;MACnC5G,eAAe,CAAE4G,gBAAiB,CAAC;IACpC;EACD,CAAC;AACF,CAAE,CAAC;;AAEH;AACA;AACA/H,cAAc,GAAG,IAAAgI,gBAAO,EACvB9D,iBAAiB,EACjB,IAAA+D,uBAAW,EAAE,uBAAwB,CACtC,CAAC,CAAEjI,cAAe,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,SAASkI,sBAAsBA,CAAEtI,KAAK,EAAG;EACxC,MAAM;IAAEU,QAAQ;IAAE+E;EAAa,CAAC,GAAGzF,KAAK;EACxC,MAAMuI,aAAa,GAAG,IAAAC,eAAS,EAC5BrD,MAAM,IAAM;IACb,MAAM;MACLsD,eAAe;MACfC,YAAY;MACZ9H,kBAAkB;MAClB+H,eAAe;MACfC,cAAc,EAAEC,eAAe;MAC/BC,yBAAyB;MACzB/C,kBAAkB;MAClBgD,cAAc;MACdC,YAAY;MAEZC,WAAW;MACXC,6BAA6B;MAC7BC,mBAAmB;MACnBnD,YAAY;MACZoD,yBAAyB;MACzBlE,8BAA8B;MAC9BmE,qBAAqB;MACrBC,eAAe;MAEf5D,aAAa;MACb6D,oBAAoB;MACpBC,sBAAsB;MACtBC,kBAAkB;MAClBC,yBAAyB;MACzBC,sCAAsC;MACtCC,mBAAmB;MACnBC,UAAU;MACVC,qCAAqC;MACrCC;IACD,CAAC,GAAG,IAAA5K,kBAAM,EAAEgG,MAAM,CAAElD,YAAiB,CAAE,CAAC;IACxC,MAAM+H,sBAAsB,GAC3BlB,yBAAyB,CAAEpI,QAAS,CAAC;;IAEtC;IACA;IACA;IACA;IACA,IAAK,CAAEsJ,sBAAsB,EAAG;MAC/B;IACD;IAEA,MAAM;MACLC,eAAe,EAAEC,gBAAgB;MACjCC;IACD,CAAC,GAAGhF,MAAM,CAAEiF,aAAY,CAAC;IACzB,MAAMnJ,UAAU,GAAG8E,kBAAkB,CAAErF,QAAS,CAAC;IACjD,MAAM;MAAEK,IAAI,EAAEsJ,SAAS;MAAErJ;IAAQ,CAAC,GAAGgJ,sBAAsB;IAC3D,MAAM/G,SAAS,GAAG,IAAAC,oBAAY,EAAEmH,SAAU,CAAC;IAC3C,MAAM;MAAEC,cAAc;MAAEtH;IAAc,CAAC,GAAGiG,WAAW,CAAC,CAAC;IACvD,MAAMsB,oBAAoB,GAAGtH,SAAS,EAAEc,UAAU,GAAG,CAAC;IACtD,MAAMyG,cAAc,GAAG;MACtBxH,aAAa;MACbgH,sBAAsB;MACtBjJ,IAAI,EAAEsJ,SAAS;MACfpJ,UAAU;MACVD,OAAO;MACPW,mBAAmB,EAAE2I,cAAc;MACnC9E,KAAK,EAAEE,aAAa,CAAEhF,QAAS,CAAC;MAChC+J,UAAU,EAAE,IAAAC,uBAAe,EAAEzH,SAAU,CAAC;MACxCvD,SAAS,EAAE6K,oBAAoB,GAC5BtJ,UAAU,CAACvB,SAAS,GACpB+C,SAAS;MACZkI,gBAAgB,EAAEJ,oBAAoB,GACnC,IAAAK,gCAAwB,EAAEP,SAAU,CAAC,GACrC5H,SAAS;MACZoI,UAAU,EAAE5H,SAAS,EAAE6H;IACxB,CAAC;;IAED;IACA;IACA,IAAK9H,aAAa,EAAG;MACpB,OAAOwH,cAAc;IACtB;IAEA,MAAMO,WAAW,GAAGtC,eAAe,CAAE/H,QAAS,CAAC;IAC/C,MAAMD,SAAS,GAAGsI,cAAc,CAAErI,QAAS,CAAC;IAC5C,MAAMsK,OAAO,GAAGhC,YAAY,CAAEtI,QAAS,CAAC;IACxC,MAAMuK,KAAK,GAAGd,uBAAuB,CAAEE,SAAS,EAAEpJ,UAAW,CAAC;IAC9D,MAAMiK,eAAe,GAAG3B,oBAAoB,CAAE7I,QAAS,CAAC;IACxD,MAAMyK,SAAS,GAAG,IAAI;IACtB,MAAMC,yBAAyB,GAAG/B,qBAAqB,CACtD3I,QAAQ,EACRyK,SACD,CAAC;IACD,MAAMpI,gBAAgB,GAAGoG,mBAAmB,CAAEzI,QAAS,CAAC;IAExD,MAAM2K,QAAQ,GAAG,IAAApB,uBAAe,EAAEI,SAAS,EAAE,UAAU,EAAE,IAAK,CAAC;;IAE/D;IACA;IACA,MAAMiB,kBAAkB,GAAGD,QAAQ,GAChC,EAAE,GACF/B,eAAe,CAAEe,SAAU,CAAC;IAC/B,MAAMkB,SAAS,GACdD,kBAAkB,CAACxI,MAAM,IACzBwI,kBAAkB,CAAE,CAAC,CAAE,KAAK5K,QAAQ;IAErC,OAAO;MACN,GAAG8J,cAAc;MACjBjK,IAAI,EAAEmI,YAAY,CAAEhI,QAAS,CAAC;MAC9BE,kBAAkB,EAAEA,kBAAkB,CAAC,CAAC;MACxCJ,QAAQ,EAAE,CAAC,CAAEmI,eAAe,CAAElD,YAAa,CAAC;MAC5CmD,cAAc,EAAEC,eAAe,CAAEnI,QAAS,CAAC;MAC3CD,SAAS;MACTuK,OAAO;MACPrK,UAAU,EAAEoK,WAAW;MACvBS,4BAA4B,EAC3BtC,6BAA6B,CAAC,CAAC,KAAKxI,QAAQ;MAC7CqC,gBAAgB;MAChBtB,kBAAkB,EACjBsJ,WAAW,IACT3B,yBAAyB,CAAE1I,QAAS,CAAC,IACtCwE,8BAA8B,CAAC,CAAC,CAACoC,KAAK,CACnCmE,EAAE,IAAMzF,YAAY,CAAEyF,EAAG,CAAC,KAAKpB,SAClC,CAAG;MACL3I,wBAAwB,EACvBwI,gBAAgB,CACflE,YAAY,CAAEtF,QAAS,CAAC,EACxB,wCAAwC,EACxC,KACD,CAAC,IAAI2I,qBAAqB,CAAE3I,QAAS,CAAC;MACvCgL,eAAe,EAAEzI,SAAS,EAAEc,UAAU,IAAI,CAAC;MAC3C8G,UAAU,EAAEI,KAAK,EAAEH,KAAK,IAAI7H,SAAS,EAAE6H,KAAK;MAC5Ca,iBAAiB,EAChB5I,gBAAgB,KAAK,UAAU,IAC/ByG,sBAAsB,CAAE9I,QAAS,CAAC;MACnCkL,UAAU,EACT9B,qCAAqC,CAAEpJ,QAAS,CAAC,IACjD,CAAEmJ,UAAU,CAAC,CAAC;MACf9B,eAAe,EAAEgD,WAAW,GACzBhB,qCAAqC,CAAC,CAAC,GACvCtH,SAAS;MACZoJ,aAAa,EAAEpC,kBAAkB,CAAE/I,QAAS,CAAC;MAC7CwK,eAAe;MACfY,mBAAmB,EAClBZ,eAAe,IACf,CAAExB,yBAAyB,CAAC,CAAC,IAC7B,CAAEC,sCAAsC,CAAC,CAAC;MAC3CE,UAAU,EAAED,mBAAmB,CAAElJ,QAAS,CAAC;MAC3CqL,gBAAgB,EAAEX,yBAAyB;MAC3CY,iBAAiB,EAAEjJ,gBAAgB,KAAK,UAAU;MAClDkJ,kBAAkB,EACjBlJ,gBAAgB,KAAK,UAAU,IAC/BoG,mBAAmB,CAAE1D,YAAa,CAAC,KAAK,UAAU;MACnDyG,qBAAqB,EAAEX,SAAS,GAC7BD,kBAAkB,CAAE,CAAC,CAAE,GACvB;IACJ,CAAC;EACF,CAAC,EACD,CAAE5K,QAAQ,EAAE+E,YAAY,CACzB,CAAC;EAED,MAAM;IACLzC,aAAa;IACb;IACA;IACAzC,IAAI,GAAG,QAAQ;IACfK,kBAAkB,GAAG,KAAK;IAC1BJ,QAAQ,GAAG,KAAK;IAChBC,SAAS,GAAG,KAAK;IACjBuK,OAAO,GAAG,KAAK;IACfhB,sBAAsB;IACtBjJ,IAAI;IACJE,UAAU;IACVD,OAAO;IACPL,UAAU,GAAG,KAAK;IAClBgB,mBAAmB;IACnB6J,4BAA4B;IAC5BzI,gBAAgB;IAChBtB,kBAAkB;IAClBC,wBAAwB;IACxB8D,KAAK;IACLkG,eAAe;IACfb,UAAU;IACVc,iBAAiB;IACjBC,UAAU;IACV7D,eAAe;IACf8D,aAAa;IACbX,eAAe;IACfY,mBAAmB;IACnBrB,UAAU;IACVZ,UAAU;IACVkC,gBAAgB;IAChBnD,cAAc;IACdoD,iBAAiB;IACjBC,kBAAkB;IAClBvM,SAAS;IACTiL,gBAAgB;IAChBuB;EACD,CAAC,GAAG3D,aAAa;;EAEjB;EACA;EACA;EACA;EACA,MAAMlI,KAAK,GAAG,IAAA8L,gBAAO,EACpB,OAAQ;IAAE,GAAGnC,sBAAsB;IAAE/I;EAAW,CAAC,CAAE,EACnD,CAAE+I,sBAAsB,EAAE/I,UAAU,CACrC,CAAC;;EAED;EACA;EACA;EACA,IAAK,CAAEsH,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,MAAM6D,cAAc,GAAG;IACtBpJ,aAAa;IACbtC,QAAQ;IACRhB,SAAS;IACT8F,KAAK;IACLjF,IAAI;IACJQ,IAAI;IACJ2K,eAAe;IACfb,UAAU;IACVlK,UAAU;IACVgL,iBAAiB;IACjBC,UAAU;IACV7D,eAAe;IACfhF,gBAAgB;IAChB8I,aAAa;IACbX,eAAe;IACfY,mBAAmB;IACnBrB,UAAU;IACVZ,UAAU;IACVkC,gBAAgB;IAChBnD,cAAc;IACdoD,iBAAiB;IACjBC,kBAAkB;IAClBT,4BAA4B;IAC5Bb,gBAAgB;IAChBlJ,kBAAkB;IAClBC,wBAAwB;IACxBwK,qBAAqB;IACrBvK;EACD,CAAC;;EAED;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA,oBACC,IAAA1C,WAAA,CAAAgB,GAAA,EAAClB,oBAAA,CAAA+C,mBAAmB,CAACqC,QAAQ;IAACC,KAAK,EAAGgI,cAAgB;IAAAtM,QAAA,eACrD,IAAAb,WAAA,CAAAgB,GAAA,EAACG,cAAc;MAAA,GACTJ,KAAK;MAKTO,IAAI;MACJK,kBAAkB;MAClBJ,QAAQ;MACRC,SAAS;MACTuK,OAAO;MACP;MACA;MACA;MACA;MACA3K,KAAK;MACLU,IAAI;MACJE,UAAU;MACVD,OAAO;MACPL;IAAU,CAEX;EAAC,CAC2B,CAAC;AAEjC;AAAC,IAAA0L,QAAA,GAAAC,OAAA,CAAA/J,OAAA,GAEc,IAAAgK,aAAI,EAAEjE,sBAAuB,CAAC","ignoreList":[]}
@@ -251,7 +251,6 @@ function BlockListBlock({
251
251
  // Inherited styles merged with block level styles.
252
252
  const mergedStyle = (0, _element.useMemo)(() => {
253
253
  return (0, _useGlobalStylesContext.getMergedGlobalStyles)(baseGlobalStyles, globalStyle, wrapperProps?.style, attributes, defaultColors, name, fontSizes || EMPTY_ARRAY);
254
- // eslint-disable-next-line react-hooks/exhaustive-deps
255
254
  }, [
256
255
  // It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.
257
256
  // JSON.stringify is used for the following purposes:
@@ -260,12 +259,7 @@ function BlockListBlock({
260
259
  // 2. To filter the attributes object, ensuring that only the relevant attributes (included in
261
260
  // GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of
262
261
  // unnecessary useMemo calls when other, unrelated attributes change.
263
- // eslint-disable-next-line react-hooks/exhaustive-deps
264
- JSON.stringify(globalStyle),
265
- // eslint-disable-next-line react-hooks/exhaustive-deps
266
- JSON.stringify(wrapperProps?.style),
267
- // eslint-disable-next-line react-hooks/exhaustive-deps
268
- JSON.stringify(Object.fromEntries(Object.entries(attributes !== null && attributes !== void 0 ? attributes : {}).filter(([key]) => _useGlobalStylesContext.GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes(key))))]);
262
+ JSON.stringify(globalStyle), JSON.stringify(wrapperProps?.style), JSON.stringify(Object.fromEntries(Object.entries(attributes !== null && attributes !== void 0 ? attributes : {}).filter(([key]) => _useGlobalStylesContext.GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes(key))))]);
269
263
  const isFocused = isSelected || isDescendentBlockSelected;
270
264
  const isTouchable = isSelected || isDescendantOfParentSelected || isParentSelected || !rootClientId;
271
265
  const accessibilityLabel = (0, _blocks.__experimentalGetAccessibleBlockLabel)(blockType, attributes, order + 1);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_clsx","_interopRequireDefault","_element","_components","_blocks","_data","_compose","_blockEdit","_blockDraggable","_blockInvalidWarning","_blockOutline","_store","_layout","_useScrollUponInsertion","_useSettings","_lockUnlock","_blockCrashBoundary","_blockCrashWarning","_useGlobalStylesContext","_jsxRuntime","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","useRef","isLayoutCalculated","setIsLayoutCalculated","useState","useScrollUponInsertion","elementRef","onLayout","useCallback","jsxs","Pressable","accessibilityRole","disabled","onPress","jsx","default","blockName","fallback","enabled","testID","BlockListBlock","attributes","blockWidth","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isStackedHorizontally","isValid","onDeleteBlock","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","wrapperProps","baseGlobalStyles","blockType","isDescendantOfParentSelected","isParentSelected","order","mayDisplayControls","blockEditingMode","useSelect","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","currentBlockType","getBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","useDispatch","initialBlockWidth","setBlockWidth","parentLayout","useLayout","defaultColors","useMobileGlobalStylesColors","globalStyle","useGlobalStyles","fontSizes","useSettings","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","useMemo","getMergedGlobalStyles","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","getAccessibleBlockLabel","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","View","applyWithSelect","withSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","unlock","block","templateLock","canMove","mode","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","meta","isUnmodifiedDefaultBlock","selectionEnabled","_default","exports","compose","memo","ifCondition","withFilters"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { withFilters } from '@wordpress/components';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tgetBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisUnmodifiedDefaultBlock,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tuseDispatch,\n\tuseSelect,\n\twithDispatch,\n\twithSelect,\n} from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockDraggable from '../block-draggable';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockOutline from './block-outline';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useScrollUponInsertion from './use-scroll-upon-insertion';\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockCrashWarning from './block-crash-warning';\nimport {\n\tgetMergedGlobalStyles,\n\tGlobalStylesContext,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '../global-styles/use-global-styles-context';\n\nconst EMPTY_ARRAY = [];\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 BlockWrapper( {\n\taccessibilityLabel,\n\tblockCategory,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\thasInnerBlocks,\n\tisDescendentBlockSelected,\n\tisSelected,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonFocus,\n} ) {\n\tconst blockWrapperStyles = { flex: 1 };\n\tconst blockWrapperStyle = [\n\t\tblockWrapperStyles,\n\t\t{\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t},\n\t];\n\tconst accessible = ! ( isSelected || isDescendentBlockSelected );\n\n\tconst ref = useRef();\n\tconst [ isLayoutCalculated, setIsLayoutCalculated ] = useState();\n\tuseScrollUponInsertion( {\n\t\tclientId,\n\t\tisSelected,\n\t\tisLayoutCalculated,\n\t\telementRef: ref,\n\t} );\n\tconst onLayout = useCallback( () => {\n\t\tsetIsLayoutCalculated( true );\n\t}, [] );\n\n\treturn (\n\t\t<Pressable\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessible={ accessible }\n\t\t\tdisabled={ ! isTouchable }\n\t\t\tonPress={ onFocus }\n\t\t\tstyle={ blockWrapperStyle }\n\t\t\tref={ ref }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t<BlockOutline\n\t\t\t\tblockCategory={ blockCategory }\n\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tblockName={ name }\n\t\t\t\tfallback={ <BlockCrashWarning /> }\n\t\t\t>\n\t\t\t\t<BlockDraggable\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</BlockDraggable>\n\t\t\t</BlockCrashBoundary>\n\t\t</Pressable>\n\t);\n}\n\nfunction BlockListBlock( {\n\tattributes,\n\tblockWidth: blockWrapperWidth,\n\tcanRemove,\n\tclientId,\n\tcontentStyle,\n\tisLocked,\n\tisSelected,\n\tisSelectionEnabled,\n\tisStackedHorizontally,\n\tisValid,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonDeleteBlock,\n\tonInsertBlocksAfter,\n\tonMerge,\n\tonReplace,\n\tparentBlockAlignment,\n\tparentWidth,\n\trootClientId,\n\tsetAttributes,\n\ttoggleSelection,\n\twrapperProps,\n} ) {\n\tconst {\n\t\tbaseGlobalStyles,\n\t\tblockCategory,\n\t\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\thasInnerBlocks,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\n\t\tmayDisplayControls,\n\t\tblockEditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockHierarchyRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSettings,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\n\t\t\tconst currentBlockCategory = currentBlockType?.category;\n\t\t\tconst blockOrder = getBlockIndex( clientId );\n\t\t\tconst descendentBlockSelected = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst parentSelected =\n\t\t\t\t// Set false as a default value to prevent re-render when it's changed from null to false.\n\t\t\t\t( selectedBlockClientId || false ) &&\n\t\t\t\tselectedBlockClientId === rootClientId;\n\n\t\t\tconst selectedParents = clientId ? parents : [];\n\t\t\tconst descendantOfParentSelected =\n\t\t\t\tselectedParents.includes( rootClientId );\n\t\t\tconst blockHasInnerBlocks = getBlockCount( clientId ) > 0;\n\n\t\t\t// For blocks with inner blocks, we only enable the dragging in the nested\n\t\t\t// blocks if any of them are selected. This way we prevent the long-press\n\t\t\t// gesture from being disabled for elements within the block UI.\n\t\t\tconst isDraggingEnabled =\n\t\t\t\t! blockHasInnerBlocks ||\n\t\t\t\tisSelected ||\n\t\t\t\t! descendentBlockSelected;\n\t\t\t// Dragging nested blocks is not supported yet. For this reason, the block to be dragged\n\t\t\t// will be the top in the hierarchy.\n\t\t\tconst currentDraggingClientId =\n\t\t\t\tgetBlockHierarchyRootClientId( clientId );\n\n\t\t\tconst globalStylesBaseStyles =\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles;\n\n\t\t\treturn {\n\t\t\t\tbaseGlobalStyles: globalStylesBaseStyles,\n\t\t\t\tblockCategory: currentBlockCategory,\n\t\t\t\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\n\t\t\t\thasInnerBlocks: blockHasInnerBlocks,\n\t\t\t\tisDescendantOfParentSelected: descendantOfParentSelected,\n\t\t\t\tisDescendentBlockSelected: descendentBlockSelected,\n\t\t\t\tisParentSelected: parentSelected,\n\t\t\t\torder: blockOrder,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\tisSelected ||\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 ) === name\n\t\t\t\t\t\t) ),\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected, name, rootClientId ]\n\t);\n\tconst { removeBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst initialBlockWidth = blockWrapperWidth - 2 * marginHorizontal;\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth );\n\tconst parentLayout = useLayout() || {};\n\tconst defaultColors = useMobileGlobalStylesColors();\n\tconst globalStyle = useGlobalStyles();\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\tconst onFocus = useCallback( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t}, [ selectBlock, clientId, isSelected ] );\n\n\tconst onLayout = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tconst layoutWidth = Math.floor( nativeEvent.layout.width );\n\n\t\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\t\tsetBlockWidth( layoutWidth );\n\t\t\t}\n\t\t},\n\t\t[ blockWidth, setBlockWidth ]\n\t);\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\t// Inherited styles merged with block level styles.\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps?.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes || EMPTY_ARRAY\n\t\t);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [\n\t\t// It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.\n\t\t// JSON.stringify is used for the following purposes:\n\t\t// 1. To create a single, comparable value from the globalStyle, wrapperProps.style, and attributes objects. This allows useMemo to\n\t\t// efficiently determine if a change has occurred in any of these objects.\n\t\t// 2. To filter the attributes object, ensuring that only the relevant attributes (included in\n\t\t// GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of\n\t\t// unnecessary useMemo calls when other, unrelated attributes change.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tJSON.stringify( globalStyle ),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tJSON.stringify( wrapperProps?.style ),\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tJSON.stringify(\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( attributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\t\t\tGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t] );\n\n\tconst isFocused = isSelected || isDescendentBlockSelected;\n\tconst isTouchable =\n\t\tisSelected ||\n\t\tisDescendantOfParentSelected ||\n\t\tisParentSelected ||\n\t\t! rootClientId;\n\n\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\torder + 1\n\t);\n\n\treturn (\n\t\t<BlockWrapper\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\tblockCategory={ blockCategory }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisFocused={ isFocused }\n\t\t\tisSelected={ isSelected }\n\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\tisTouchable={ isTouchable }\n\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\tmarginVertical={ marginVertical }\n\t\t\tname={ name }\n\t\t\tonFocus={ onFocus }\n\t\t>\n\t\t\t{ () =>\n\t\t\t\t! isValid ? (\n\t\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t) : (\n\t\t\t\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t\t\t\t<BlockEdit\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\t\t\tinsertBlocksAfter={\n\t\t\t\t\t\t\t\tisLocked ? undefined : onInsertBlocksAfter\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\t\t\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\t\t\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\t\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tstyle={ mergedStyle }\n\t\t\t\t\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tObject.keys( parentLayout ).length\n\t\t\t\t\t\t\t\t\t? parentLayout\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View onLayout={ onLayout } />\n\t\t\t\t\t</GlobalStylesContext.Provider>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockWrapper>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\tgetBlockWithoutAttributes,\n\t\tgetBlockAttributes,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = unlock( select( blockEditorStore ) );\n\tconst block = getBlockWithoutAttributes( clientId );\n\tconst attributes = getBlockAttributes( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId );\n\tconst canMove = canMoveBlock( clientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\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} = 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( newAttributes ) {\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 } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\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\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 targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\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 ( replacement && replacement.length ) {\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}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else if (\n\t\t\t\t\tgetBlockName( clientId ) !== getDefaultBlockName()\n\t\t\t\t) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\tgetDefaultBlockName()\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}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition, meta ) {\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\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition,\n\t\t\t\tmeta\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tmemo,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_clsx","_interopRequireDefault","_element","_components","_blocks","_data","_compose","_blockEdit","_blockDraggable","_blockInvalidWarning","_blockOutline","_store","_layout","_useScrollUponInsertion","_useSettings","_lockUnlock","_blockCrashBoundary","_blockCrashWarning","_useGlobalStylesContext","_jsxRuntime","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","useRef","isLayoutCalculated","setIsLayoutCalculated","useState","useScrollUponInsertion","elementRef","onLayout","useCallback","jsxs","Pressable","accessibilityRole","disabled","onPress","jsx","default","blockName","fallback","enabled","testID","BlockListBlock","attributes","blockWidth","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isStackedHorizontally","isValid","onDeleteBlock","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","wrapperProps","baseGlobalStyles","blockType","isDescendantOfParentSelected","isParentSelected","order","mayDisplayControls","blockEditingMode","useSelect","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","currentBlockType","getBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","useDispatch","initialBlockWidth","setBlockWidth","parentLayout","useLayout","defaultColors","useMobileGlobalStylesColors","globalStyle","useGlobalStyles","fontSizes","useSettings","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","useMemo","getMergedGlobalStyles","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","getAccessibleBlockLabel","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","View","applyWithSelect","withSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","unlock","block","templateLock","canMove","mode","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","meta","isUnmodifiedDefaultBlock","selectionEnabled","_default","exports","compose","memo","ifCondition","withFilters"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { withFilters } from '@wordpress/components';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tgetBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisUnmodifiedDefaultBlock,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tuseDispatch,\n\tuseSelect,\n\twithDispatch,\n\twithSelect,\n} from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockDraggable from '../block-draggable';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockOutline from './block-outline';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useScrollUponInsertion from './use-scroll-upon-insertion';\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockCrashWarning from './block-crash-warning';\nimport {\n\tgetMergedGlobalStyles,\n\tGlobalStylesContext,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '../global-styles/use-global-styles-context';\n\nconst EMPTY_ARRAY = [];\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 BlockWrapper( {\n\taccessibilityLabel,\n\tblockCategory,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\thasInnerBlocks,\n\tisDescendentBlockSelected,\n\tisSelected,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonFocus,\n} ) {\n\tconst blockWrapperStyles = { flex: 1 };\n\tconst blockWrapperStyle = [\n\t\tblockWrapperStyles,\n\t\t{\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t},\n\t];\n\tconst accessible = ! ( isSelected || isDescendentBlockSelected );\n\n\tconst ref = useRef();\n\tconst [ isLayoutCalculated, setIsLayoutCalculated ] = useState();\n\tuseScrollUponInsertion( {\n\t\tclientId,\n\t\tisSelected,\n\t\tisLayoutCalculated,\n\t\telementRef: ref,\n\t} );\n\tconst onLayout = useCallback( () => {\n\t\tsetIsLayoutCalculated( true );\n\t}, [] );\n\n\treturn (\n\t\t<Pressable\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessible={ accessible }\n\t\t\tdisabled={ ! isTouchable }\n\t\t\tonPress={ onFocus }\n\t\t\tstyle={ blockWrapperStyle }\n\t\t\tref={ ref }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t<BlockOutline\n\t\t\t\tblockCategory={ blockCategory }\n\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tblockName={ name }\n\t\t\t\tfallback={ <BlockCrashWarning /> }\n\t\t\t>\n\t\t\t\t<BlockDraggable\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</BlockDraggable>\n\t\t\t</BlockCrashBoundary>\n\t\t</Pressable>\n\t);\n}\n\nfunction BlockListBlock( {\n\tattributes,\n\tblockWidth: blockWrapperWidth,\n\tcanRemove,\n\tclientId,\n\tcontentStyle,\n\tisLocked,\n\tisSelected,\n\tisSelectionEnabled,\n\tisStackedHorizontally,\n\tisValid,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonDeleteBlock,\n\tonInsertBlocksAfter,\n\tonMerge,\n\tonReplace,\n\tparentBlockAlignment,\n\tparentWidth,\n\trootClientId,\n\tsetAttributes,\n\ttoggleSelection,\n\twrapperProps,\n} ) {\n\tconst {\n\t\tbaseGlobalStyles,\n\t\tblockCategory,\n\t\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\thasInnerBlocks,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\n\t\tmayDisplayControls,\n\t\tblockEditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockHierarchyRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSettings,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\n\t\t\tconst currentBlockCategory = currentBlockType?.category;\n\t\t\tconst blockOrder = getBlockIndex( clientId );\n\t\t\tconst descendentBlockSelected = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst parentSelected =\n\t\t\t\t// Set false as a default value to prevent re-render when it's changed from null to false.\n\t\t\t\t( selectedBlockClientId || false ) &&\n\t\t\t\tselectedBlockClientId === rootClientId;\n\n\t\t\tconst selectedParents = clientId ? parents : [];\n\t\t\tconst descendantOfParentSelected =\n\t\t\t\tselectedParents.includes( rootClientId );\n\t\t\tconst blockHasInnerBlocks = getBlockCount( clientId ) > 0;\n\n\t\t\t// For blocks with inner blocks, we only enable the dragging in the nested\n\t\t\t// blocks if any of them are selected. This way we prevent the long-press\n\t\t\t// gesture from being disabled for elements within the block UI.\n\t\t\tconst isDraggingEnabled =\n\t\t\t\t! blockHasInnerBlocks ||\n\t\t\t\tisSelected ||\n\t\t\t\t! descendentBlockSelected;\n\t\t\t// Dragging nested blocks is not supported yet. For this reason, the block to be dragged\n\t\t\t// will be the top in the hierarchy.\n\t\t\tconst currentDraggingClientId =\n\t\t\t\tgetBlockHierarchyRootClientId( clientId );\n\n\t\t\tconst globalStylesBaseStyles =\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles;\n\n\t\t\treturn {\n\t\t\t\tbaseGlobalStyles: globalStylesBaseStyles,\n\t\t\t\tblockCategory: currentBlockCategory,\n\t\t\t\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\n\t\t\t\thasInnerBlocks: blockHasInnerBlocks,\n\t\t\t\tisDescendantOfParentSelected: descendantOfParentSelected,\n\t\t\t\tisDescendentBlockSelected: descendentBlockSelected,\n\t\t\t\tisParentSelected: parentSelected,\n\t\t\t\torder: blockOrder,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\tisSelected ||\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 ) === name\n\t\t\t\t\t\t) ),\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected, name, rootClientId ]\n\t);\n\tconst { removeBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst initialBlockWidth = blockWrapperWidth - 2 * marginHorizontal;\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth );\n\tconst parentLayout = useLayout() || {};\n\tconst defaultColors = useMobileGlobalStylesColors();\n\tconst globalStyle = useGlobalStyles();\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\tconst onFocus = useCallback( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t}, [ selectBlock, clientId, isSelected ] );\n\n\tconst onLayout = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tconst layoutWidth = Math.floor( nativeEvent.layout.width );\n\n\t\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\t\tsetBlockWidth( layoutWidth );\n\t\t\t}\n\t\t},\n\t\t[ blockWidth, setBlockWidth ]\n\t);\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\t// Inherited styles merged with block level styles.\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps?.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes || EMPTY_ARRAY\n\t\t);\n\t}, [\n\t\t// It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.\n\t\t// JSON.stringify is used for the following purposes:\n\t\t// 1. To create a single, comparable value from the globalStyle, wrapperProps.style, and attributes objects. This allows useMemo to\n\t\t// efficiently determine if a change has occurred in any of these objects.\n\t\t// 2. To filter the attributes object, ensuring that only the relevant attributes (included in\n\t\t// GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of\n\t\t// unnecessary useMemo calls when other, unrelated attributes change.\n\t\tJSON.stringify( globalStyle ),\n\t\tJSON.stringify( wrapperProps?.style ),\n\t\tJSON.stringify(\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( attributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\t\t\tGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t] );\n\n\tconst isFocused = isSelected || isDescendentBlockSelected;\n\tconst isTouchable =\n\t\tisSelected ||\n\t\tisDescendantOfParentSelected ||\n\t\tisParentSelected ||\n\t\t! rootClientId;\n\n\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\torder + 1\n\t);\n\n\treturn (\n\t\t<BlockWrapper\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\tblockCategory={ blockCategory }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisFocused={ isFocused }\n\t\t\tisSelected={ isSelected }\n\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\tisTouchable={ isTouchable }\n\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\tmarginVertical={ marginVertical }\n\t\t\tname={ name }\n\t\t\tonFocus={ onFocus }\n\t\t>\n\t\t\t{ () =>\n\t\t\t\t! isValid ? (\n\t\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t) : (\n\t\t\t\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t\t\t\t<BlockEdit\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\t\t\tinsertBlocksAfter={\n\t\t\t\t\t\t\t\tisLocked ? undefined : onInsertBlocksAfter\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\t\t\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\t\t\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\t\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tstyle={ mergedStyle }\n\t\t\t\t\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tObject.keys( parentLayout ).length\n\t\t\t\t\t\t\t\t\t? parentLayout\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View onLayout={ onLayout } />\n\t\t\t\t\t</GlobalStylesContext.Provider>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockWrapper>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\tgetBlockWithoutAttributes,\n\t\tgetBlockAttributes,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = unlock( select( blockEditorStore ) );\n\tconst block = getBlockWithoutAttributes( clientId );\n\tconst attributes = getBlockAttributes( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId );\n\tconst canMove = canMoveBlock( clientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\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} = 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( newAttributes ) {\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 } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\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\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 targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\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 ( replacement && replacement.length ) {\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}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else if (\n\t\t\t\t\tgetBlockName( clientId ) !== getDefaultBlockName()\n\t\t\t\t) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\tgetDefaultBlockName()\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}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition, meta ) {\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\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition,\n\t\t\t\tmeta\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tmemo,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"],"mappings":"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","ignoreList":[]}