@wordpress/block-editor 12.23.0 → 12.24.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 (1403) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js.map +1 -1
  5. package/build/components/alignment-control/index.js.map +1 -1
  6. package/build/components/alignment-control/ui.js.map +1 -1
  7. package/build/components/autocomplete/index.js.map +1 -1
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-control/constants.js.map +1 -1
  10. package/build/components/block-alignment-control/index.js.map +1 -1
  11. package/build/components/block-alignment-control/ui.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  13. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  14. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  15. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  16. package/build/components/block-breadcrumb/index.js.map +1 -1
  17. package/build/components/block-canvas/index.js.map +1 -1
  18. package/build/components/block-caption/index.native.js.map +1 -1
  19. package/build/components/block-card/index.js.map +1 -1
  20. package/build/components/block-compare/block-view.js.map +1 -1
  21. package/build/components/block-compare/index.js.map +1 -1
  22. package/build/components/block-content-overlay/index.js.map +1 -1
  23. package/build/components/block-context/index.js.map +1 -1
  24. package/build/components/block-controls/fill.js.map +1 -1
  25. package/build/components/block-controls/groups.js.map +1 -1
  26. package/build/components/block-controls/hook.js.map +1 -1
  27. package/build/components/block-controls/index.js.map +1 -1
  28. package/build/components/block-controls/slot.js.map +1 -1
  29. package/build/components/block-controls/slot.native.js.map +1 -1
  30. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  31. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  32. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  33. package/build/components/block-draggable/dropping-insertion-point.native.js +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  35. package/build/components/block-draggable/index.js.map +1 -1
  36. package/build/components/block-draggable/index.native.js +1 -1
  37. package/build/components/block-draggable/index.native.js.map +1 -1
  38. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  39. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  40. package/build/components/block-edit/context.js +2 -1
  41. package/build/components/block-edit/context.js.map +1 -1
  42. package/build/components/block-edit/edit.js.map +1 -1
  43. package/build/components/block-edit/edit.native.js.map +1 -1
  44. package/build/components/block-edit/index.js +4 -2
  45. package/build/components/block-edit/index.js.map +1 -1
  46. package/build/components/block-edit-visually-button/index.js.map +1 -1
  47. package/build/components/block-editing-mode/index.js.map +1 -1
  48. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  49. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  50. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  51. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  52. package/build/components/block-icon/index.js.map +1 -1
  53. package/build/components/block-icon/index.native.js.map +1 -1
  54. package/build/components/block-info-slot-fill/index.js.map +1 -1
  55. package/build/components/block-inspector/index.js +5 -4
  56. package/build/components/block-inspector/index.js.map +1 -1
  57. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  58. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  59. package/build/components/block-list/block-crash-boundary.native.js.map +1 -1
  60. package/build/components/block-list/block-crash-warning.js.map +1 -1
  61. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  62. package/build/components/block-list/block-html.js.map +1 -1
  63. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  64. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  65. package/build/components/block-list/block-list-context.native.js.map +1 -1
  66. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  67. package/build/components/block-list/block-list-item.native.js.map +1 -1
  68. package/build/components/block-list/block-outline.native.js.map +1 -1
  69. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  70. package/build/components/block-list/block.js +44 -26
  71. package/build/components/block-list/block.js.map +1 -1
  72. package/build/components/block-list/block.native.js +2 -2
  73. package/build/components/block-list/block.native.js.map +1 -1
  74. package/build/components/block-list/grid-item.native.js.map +1 -1
  75. package/build/components/block-list/index.js +16 -5
  76. package/build/components/block-list/index.js.map +1 -1
  77. package/build/components/block-list/index.native.js.map +1 -1
  78. package/build/components/block-list/insertion-point.native.js.map +1 -1
  79. package/build/components/block-list/layout.js.map +1 -1
  80. package/build/components/block-list/private-block-context.js.map +1 -1
  81. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  82. package/build/components/block-list/use-block-props/index.js +2 -1
  83. package/build/components/block-list/use-block-props/index.js.map +1 -1
  84. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  85. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
  86. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  87. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  88. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  89. package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  90. package/build/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  91. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  92. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  93. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  94. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  95. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  96. package/build/components/block-list-appender/index.js.map +1 -1
  97. package/build/components/block-list-appender/index.native.js.map +1 -1
  98. package/build/components/block-lock/index.js.map +1 -1
  99. package/build/components/block-lock/menu-item.js.map +1 -1
  100. package/build/components/block-lock/modal.js.map +1 -1
  101. package/build/components/block-lock/toolbar.js.map +1 -1
  102. package/build/components/block-lock/use-block-lock.js.map +1 -1
  103. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  104. package/build/components/block-mover/button.js.map +1 -1
  105. package/build/components/block-mover/index.js.map +1 -1
  106. package/build/components/block-mover/index.native.js.map +1 -1
  107. package/build/components/block-mover/mover-description.js.map +1 -1
  108. package/build/components/block-mover/mover-description.native.js.map +1 -1
  109. package/build/components/block-navigation/dropdown.js.map +1 -1
  110. package/build/components/block-parent-selector/index.js.map +1 -1
  111. package/build/components/block-pattern-setup/constants.js.map +1 -1
  112. package/build/components/block-pattern-setup/index.js.map +1 -1
  113. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  114. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  115. package/build/components/block-patterns-list/index.js.map +1 -1
  116. package/build/components/block-patterns-paging/index.js +8 -4
  117. package/build/components/block-patterns-paging/index.js.map +1 -1
  118. package/build/components/block-popover/cover.js.map +1 -1
  119. package/build/components/block-popover/drop-zone.js.map +1 -1
  120. package/build/components/block-popover/inbetween.js.map +1 -1
  121. package/build/components/block-popover/index.js.map +1 -1
  122. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  123. package/build/components/block-preview/auto.js.map +1 -1
  124. package/build/components/block-preview/index.js.map +1 -1
  125. package/build/components/block-quick-navigation/index.js.map +1 -1
  126. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  127. package/build/components/block-rename/index.js.map +1 -1
  128. package/build/components/block-rename/is-empty-string.js.map +1 -1
  129. package/build/components/block-rename/modal.js +13 -9
  130. package/build/components/block-rename/modal.js.map +1 -1
  131. package/build/components/block-rename/rename-control.js +3 -1
  132. package/build/components/block-rename/rename-control.js.map +1 -1
  133. package/build/components/block-rename/use-block-rename.js.map +1 -1
  134. package/build/components/block-selection-clearer/index.js.map +1 -1
  135. package/build/components/block-settings/button.native.js.map +1 -1
  136. package/build/components/block-settings/container.native.js.map +1 -1
  137. package/build/components/block-settings/index.native.js +1 -1
  138. package/build/components/block-settings/index.native.js.map +1 -1
  139. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  140. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  141. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  142. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  143. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  144. package/build/components/block-settings-menu/index.js.map +1 -1
  145. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  146. package/build/components/block-styles/index.js.map +1 -1
  147. package/build/components/block-styles/index.native.js.map +1 -1
  148. package/build/components/block-styles/menu-items.js.map +1 -1
  149. package/build/components/block-styles/preview-panel.js.map +1 -1
  150. package/build/components/block-styles/preview.native.js.map +1 -1
  151. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  152. package/build/components/block-styles/utils.js.map +1 -1
  153. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  154. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  155. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  156. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  157. package/build/components/block-switcher/index.js.map +1 -1
  158. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  159. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  160. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  161. package/build/components/block-switcher/utils.js.map +1 -1
  162. package/build/components/block-title/index.js.map +1 -1
  163. package/build/components/block-title/use-block-display-title.js.map +1 -1
  164. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  165. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  166. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  167. package/build/components/block-toolbar/index.js +1 -1
  168. package/build/components/block-toolbar/index.js.map +1 -1
  169. package/build/components/block-toolbar/index.native.js.map +1 -1
  170. package/build/components/block-toolbar/shuffle.js.map +1 -1
  171. package/build/components/block-toolbar/use-has-block-toolbar.js +6 -3
  172. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  173. package/build/components/block-toolbar/utils.js.map +1 -1
  174. package/build/components/block-tools/block-selection-button.js +16 -12
  175. package/build/components/block-tools/block-selection-button.js.map +1 -1
  176. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  177. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  178. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  179. package/build/components/block-tools/index.js +1 -1
  180. package/build/components/block-tools/index.js.map +1 -1
  181. package/build/components/block-tools/insertion-point.js.map +1 -1
  182. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  183. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  184. package/build/components/block-tools/use-show-block-tools.js +7 -13
  185. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  186. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  187. package/build/components/block-types-list/index.js.map +1 -1
  188. package/build/components/block-types-list/index.native.js.map +1 -1
  189. package/build/components/block-variation-picker/index.js.map +1 -1
  190. package/build/components/block-variation-picker/index.native.js.map +1 -1
  191. package/build/components/block-variation-transforms/index.js +4 -1
  192. package/build/components/block-variation-transforms/index.js.map +1 -1
  193. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  194. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  195. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  196. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  197. package/build/components/border-radius-control/index.js.map +1 -1
  198. package/build/components/border-radius-control/input-controls.js.map +1 -1
  199. package/build/components/border-radius-control/linked-button.js.map +1 -1
  200. package/build/components/border-radius-control/utils.js.map +1 -1
  201. package/build/components/button-block-appender/index.js.map +1 -1
  202. package/build/components/button-block-appender/index.native.js +11 -1
  203. package/build/components/button-block-appender/index.native.js.map +1 -1
  204. package/build/components/caption/index.native.js.map +1 -1
  205. package/build/components/child-layout-control/index.js.map +1 -1
  206. package/build/components/color-palette/control.js.map +1 -1
  207. package/build/components/color-palette/index.js.map +1 -1
  208. package/build/components/color-palette/with-color-context.js.map +1 -1
  209. package/build/components/color-style-selector/index.js.map +1 -1
  210. package/build/components/colors/index.js +1 -1
  211. package/build/components/colors/index.js.map +1 -1
  212. package/build/components/colors/utils.js.map +1 -1
  213. package/build/components/colors/with-colors.js.map +1 -1
  214. package/build/components/colors-gradients/control.js.map +1 -1
  215. package/build/components/colors-gradients/dropdown.js.map +1 -1
  216. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  217. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  218. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  219. package/build/components/contrast-checker/index.js.map +1 -1
  220. package/build/components/contrast-checker/index.native.js.map +1 -1
  221. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  222. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  223. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  224. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  225. package/build/components/copy-handler/index.js.map +1 -1
  226. package/build/components/date-format-picker/index.js.map +1 -1
  227. package/build/components/default-block-appender/index.js.map +1 -1
  228. package/build/components/default-block-appender/index.native.js.map +1 -1
  229. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  230. package/build/components/dimensions-tool/index.js.map +1 -1
  231. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  232. package/build/components/dimensions-tool/width-height-tool.js +6 -2
  233. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  234. package/build/components/duotone/utils.js.map +1 -1
  235. package/build/components/duotone-control/index.js.map +1 -1
  236. package/build/components/editable-text/index.js.map +1 -1
  237. package/build/components/editor-styles/index.js +2 -1
  238. package/build/components/editor-styles/index.js.map +1 -1
  239. package/build/components/floating-toolbar/index.native.js.map +1 -1
  240. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  241. package/build/components/font-appearance-control/index.js.map +1 -1
  242. package/build/components/font-family/index.js.map +1 -1
  243. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  244. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  245. package/build/components/font-sizes/index.js.map +1 -1
  246. package/build/components/font-sizes/index.native.js.map +1 -1
  247. package/build/components/font-sizes/utils.js.map +1 -1
  248. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  249. package/build/components/global-styles/advanced-panel.js.map +1 -1
  250. package/build/components/global-styles/background-panel.js +19 -16
  251. package/build/components/global-styles/background-panel.js.map +1 -1
  252. package/build/components/global-styles/border-panel.js.map +1 -1
  253. package/build/components/global-styles/color-panel.js.map +1 -1
  254. package/build/components/global-styles/color-panel.native.js.map +1 -1
  255. package/build/components/global-styles/context.js.map +1 -1
  256. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  257. package/build/components/global-styles/filters-panel.js.map +1 -1
  258. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  259. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  260. package/build/components/global-styles/hooks.js.map +1 -1
  261. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  262. package/build/components/global-styles/index.js +1 -1
  263. package/build/components/global-styles/index.js.map +1 -1
  264. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  265. package/build/components/global-styles/typography-panel.js.map +1 -1
  266. package/build/components/global-styles/typography-utils.js.map +1 -1
  267. package/build/components/global-styles/use-global-styles-output.js +4 -4
  268. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  269. package/build/components/global-styles/utils.js.map +1 -1
  270. package/build/components/gradients/index.js.map +1 -1
  271. package/build/components/gradients/index.native.js.map +1 -1
  272. package/build/components/gradients/use-gradient.js.map +1 -1
  273. package/build/components/gradients/with-gradient.js.map +1 -1
  274. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  275. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  276. package/build/components/grid-visualizer/index.js.map +1 -1
  277. package/build/components/grid-visualizer/utils.js.map +1 -1
  278. package/build/components/height-control/index.js.map +1 -1
  279. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  280. package/build/components/iframe/index.js +12 -13
  281. package/build/components/iframe/index.js.map +1 -1
  282. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  283. package/build/components/image-editor/constants.js.map +1 -1
  284. package/build/components/image-editor/context.js.map +1 -1
  285. package/build/components/image-editor/cropper.js +6 -2
  286. package/build/components/image-editor/cropper.js.map +1 -1
  287. package/build/components/image-editor/form-controls.js.map +1 -1
  288. package/build/components/image-editor/index.js +0 -2
  289. package/build/components/image-editor/index.js.map +1 -1
  290. package/build/components/image-editor/rotation-button.js.map +1 -1
  291. package/build/components/image-editor/use-save-image.js.map +1 -1
  292. package/build/components/image-editor/use-transform-image.js.map +1 -1
  293. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  294. package/build/components/image-link-destinations/index.native.js.map +1 -1
  295. package/build/components/image-size-control/index.js.map +1 -1
  296. package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
  297. package/build/components/index.js +1 -1
  298. package/build/components/index.js.map +1 -1
  299. package/build/components/index.native.js +1 -1
  300. package/build/components/index.native.js.map +1 -1
  301. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  302. package/build/components/inner-blocks/constants.native.js.map +1 -1
  303. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  304. package/build/components/inner-blocks/index.js.map +1 -1
  305. package/build/components/inner-blocks/index.native.js.map +1 -1
  306. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  307. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  308. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  309. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  310. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  311. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  312. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  313. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  314. package/build/components/inserter/block-patterns-tab/index.js +31 -18
  315. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  316. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  317. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  318. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  319. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  320. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  321. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  322. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  323. package/build/components/inserter/block-types-tab.js.map +1 -1
  324. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  325. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  326. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  327. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  328. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  329. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  330. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  331. package/build/components/inserter/index.js.map +1 -1
  332. package/build/components/inserter/index.native.js.map +1 -1
  333. package/build/components/inserter/library.js.map +1 -1
  334. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  335. package/build/components/inserter/media-tab/index.js.map +1 -1
  336. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  337. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  338. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  339. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  340. package/build/components/inserter/media-tab/utils.js.map +1 -1
  341. package/build/components/inserter/menu.js +17 -11
  342. package/build/components/inserter/menu.js.map +1 -1
  343. package/build/components/inserter/menu.native.js.map +1 -1
  344. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  345. package/build/components/inserter/no-results.js.map +1 -1
  346. package/build/components/inserter/no-results.native.js.map +1 -1
  347. package/build/components/inserter/panel.js.map +1 -1
  348. package/build/components/inserter/preview-panel.js.map +1 -1
  349. package/build/components/inserter/quick-inserter.js.map +1 -1
  350. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  351. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  352. package/build/components/inserter/search-items.js.map +1 -1
  353. package/build/components/inserter/search-results.js.map +1 -1
  354. package/build/components/inserter/search-results.native.js.map +1 -1
  355. package/build/components/inserter/tabs.js +7 -3
  356. package/build/components/inserter/tabs.js.map +1 -1
  357. package/build/components/inserter/tabs.native.js.map +1 -1
  358. package/build/components/inserter/tips.js.map +1 -1
  359. package/build/components/inserter/utils.native.js.map +1 -1
  360. package/build/components/inserter-button/index.native.js.map +1 -1
  361. package/build/components/inserter-button/sparkles.js.map +1 -1
  362. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  363. package/build/components/inserter-list-item/index.js.map +1 -1
  364. package/build/components/inserter-listbox/context.js.map +1 -1
  365. package/build/components/inserter-listbox/group.js.map +1 -1
  366. package/build/components/inserter-listbox/index.js.map +1 -1
  367. package/build/components/inserter-listbox/item.js.map +1 -1
  368. package/build/components/inserter-listbox/row.js.map +1 -1
  369. package/build/components/inserter-menu-extension/index.js.map +1 -1
  370. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  371. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  372. package/build/components/inspector-controls/fill.js.map +1 -1
  373. package/build/components/inspector-controls/fill.native.js.map +1 -1
  374. package/build/components/inspector-controls/groups.js.map +1 -1
  375. package/build/components/inspector-controls/index.js.map +1 -1
  376. package/build/components/inspector-controls/slot.js.map +1 -1
  377. package/build/components/inspector-controls/slot.native.js.map +1 -1
  378. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  379. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  380. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  381. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  382. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  383. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  384. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  385. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  386. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  387. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  388. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  389. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  390. package/build/components/inspector-popover-header/index.js.map +1 -1
  391. package/build/components/justify-content-control/index.js.map +1 -1
  392. package/build/components/justify-content-control/ui.js.map +1 -1
  393. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  394. package/build/components/letter-spacing-control/index.js.map +1 -1
  395. package/build/components/line-height-control/index.js.map +1 -1
  396. package/build/components/line-height-control/index.native.js.map +1 -1
  397. package/build/components/line-height-control/utils.js.map +1 -1
  398. package/build/components/link-control/constants.js.map +1 -1
  399. package/build/components/link-control/index.js.map +1 -1
  400. package/build/components/link-control/is-url-like.js.map +1 -1
  401. package/build/components/link-control/link-preview.js.map +1 -1
  402. package/build/components/link-control/search-create-button.js.map +1 -1
  403. package/build/components/link-control/search-input.js.map +1 -1
  404. package/build/components/link-control/search-item.js.map +1 -1
  405. package/build/components/link-control/search-results.js.map +1 -1
  406. package/build/components/link-control/settings-drawer.js.map +1 -1
  407. package/build/components/link-control/settings.js.map +1 -1
  408. package/build/components/link-control/use-create-page.js.map +1 -1
  409. package/build/components/link-control/use-internal-value.js.map +1 -1
  410. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  411. package/build/components/link-control/use-search-handler.js.map +1 -1
  412. package/build/components/link-control/viewer-slot.js.map +1 -1
  413. package/build/components/list-view/appender.js.map +1 -1
  414. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  415. package/build/components/list-view/block-contents.js.map +1 -1
  416. package/build/components/list-view/block-select-button.js +29 -1
  417. package/build/components/list-view/block-select-button.js.map +1 -1
  418. package/build/components/list-view/block.js.map +1 -1
  419. package/build/components/list-view/branch.js.map +1 -1
  420. package/build/components/list-view/context.js.map +1 -1
  421. package/build/components/list-view/drop-indicator.js.map +1 -1
  422. package/build/components/list-view/expander.js.map +1 -1
  423. package/build/components/list-view/index.js.map +1 -1
  424. package/build/components/list-view/leaf.js.map +1 -1
  425. package/build/components/list-view/use-block-selection.js.map +1 -1
  426. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  427. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  428. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  429. package/build/components/list-view/use-list-view-collapse-items.js.map +1 -1
  430. package/build/components/list-view/use-list-view-drop-zone.js +5 -0
  431. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  432. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  433. package/build/components/list-view/use-list-view-images.js.map +1 -1
  434. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  435. package/build/components/list-view/utils.js.map +1 -1
  436. package/build/components/media-placeholder/index.js.map +1 -1
  437. package/build/components/media-placeholder/index.native.js.map +1 -1
  438. package/build/components/media-replace-flow/index.js.map +1 -1
  439. package/build/components/media-replace-flow/index.native.js.map +1 -1
  440. package/build/components/media-upload/check.js.map +1 -1
  441. package/build/components/media-upload/constants.native.js.map +1 -1
  442. package/build/components/media-upload/index.js.map +1 -1
  443. package/build/components/media-upload/index.native.js.map +1 -1
  444. package/build/components/media-upload-progress/constants.js.map +1 -1
  445. package/build/components/media-upload-progress/index.native.js.map +1 -1
  446. package/build/components/multi-selection-inspector/index.js.map +1 -1
  447. package/build/components/navigable-toolbar/index.js.map +1 -1
  448. package/build/components/observe-typing/index.js.map +1 -1
  449. package/build/components/panel-color-settings/index.js.map +1 -1
  450. package/build/components/plain-text/index.js.map +1 -1
  451. package/build/components/plain-text/index.native.js.map +1 -1
  452. package/build/components/preview-options/index.js.map +1 -1
  453. package/build/components/provider/block-refs-provider.js.map +1 -1
  454. package/build/components/provider/index.js.map +1 -1
  455. package/build/components/provider/index.native.js.map +1 -1
  456. package/build/components/provider/use-block-sync.js.map +1 -1
  457. package/build/components/provider/with-registry-provider.js.map +1 -1
  458. package/build/components/publish-date-time-picker/index.js.map +1 -1
  459. package/build/components/recursion-provider/index.js +2 -2
  460. package/build/components/recursion-provider/index.js.map +1 -1
  461. package/build/components/resizable-box-popover/index.js.map +1 -1
  462. package/build/components/resolution-tool/index.js.map +1 -1
  463. package/build/components/responsive-block-control/index.js.map +1 -1
  464. package/build/components/responsive-block-control/label.js.map +1 -1
  465. package/build/components/rich-text/content.js +26 -19
  466. package/build/components/rich-text/content.js.map +1 -1
  467. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  468. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  469. package/build/components/rich-text/format-edit.js.map +1 -1
  470. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  471. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  472. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  473. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  474. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  475. package/build/components/rich-text/index.js +40 -0
  476. package/build/components/rich-text/index.js.map +1 -1
  477. package/build/components/rich-text/index.native.js +3 -1
  478. package/build/components/rich-text/index.native.js.map +1 -1
  479. package/build/components/rich-text/input-event.js.map +1 -1
  480. package/build/components/rich-text/input-event.native.js.map +1 -1
  481. package/build/components/rich-text/multiline.js.map +1 -1
  482. package/build/components/rich-text/native/format-edit.js.map +1 -1
  483. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  484. package/build/components/rich-text/native/index.js.map +1 -1
  485. package/build/components/rich-text/native/index.native.js.map +1 -1
  486. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  487. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  488. package/build/components/rich-text/prevent-event-discovery.js.map +1 -1
  489. package/build/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  490. package/build/components/rich-text/shortcut.js.map +1 -1
  491. package/build/components/rich-text/shortcut.native.js.map +1 -1
  492. package/build/components/rich-text/split-value.js.map +1 -1
  493. package/build/components/rich-text/toolbar-button.js.map +1 -1
  494. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  495. package/build/components/rich-text/use-delete.js.map +1 -1
  496. package/build/components/rich-text/use-enter.js.map +1 -1
  497. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  498. package/build/components/rich-text/use-format-types.js.map +1 -1
  499. package/build/components/rich-text/use-input-events.js.map +1 -1
  500. package/build/components/rich-text/use-input-rules.js.map +1 -1
  501. package/build/components/rich-text/use-insert-replacement-text.js.map +1 -1
  502. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  503. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  504. package/build/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
  505. package/build/components/rich-text/use-shortcuts.js.map +1 -1
  506. package/build/components/rich-text/use-undo-automatic-change.js +1 -1
  507. package/build/components/rich-text/use-undo-automatic-change.js.map +1 -1
  508. package/build/components/rich-text/utils.js.map +1 -1
  509. package/build/components/rich-text/with-deprecations.js.map +1 -1
  510. package/build/components/selection-scroll-into-view/index.js.map +1 -1
  511. package/build/components/skip-to-selected-block/index.js.map +1 -1
  512. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  513. package/build/components/spacing-sizes-control/index.js.map +1 -1
  514. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  515. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  516. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  517. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  518. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  519. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  520. package/build/components/text-decoration-control/index.js.map +1 -1
  521. package/build/components/text-transform-control/index.js.map +1 -1
  522. package/build/components/tool-selector/index.js.map +1 -1
  523. package/build/components/typewriter/index.js.map +1 -1
  524. package/build/components/ungroup-button/index.native.js.map +1 -1
  525. package/build/components/unit-control/index.js.map +1 -1
  526. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  527. package/build/components/url-input/button.js.map +1 -1
  528. package/build/components/url-input/index.js.map +1 -1
  529. package/build/components/url-input/index.native.js.map +1 -1
  530. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  531. package/build/components/url-popover/index.js.map +1 -1
  532. package/build/components/url-popover/link-editor.js.map +1 -1
  533. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  534. package/build/components/url-popover/link-viewer.js.map +1 -1
  535. package/build/components/use-block-commands/index.js +20 -2
  536. package/build/components/use-block-commands/index.js.map +1 -1
  537. package/build/components/use-block-display-information/index.js.map +1 -1
  538. package/build/components/use-block-drop-zone/index.js.map +1 -1
  539. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  540. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  541. package/build/components/use-moving-animation/index.js.map +1 -1
  542. package/build/components/use-on-block-drop/index.js.map +1 -1
  543. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  544. package/build/components/use-on-block-drop/types.js.map +1 -1
  545. package/build/components/use-paste-styles/index.js +1 -0
  546. package/build/components/use-paste-styles/index.js.map +1 -1
  547. package/build/components/use-resize-canvas/index.js.map +1 -1
  548. package/build/components/use-settings/index.js.map +1 -1
  549. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -1
  550. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  551. package/build/components/video-player/index.native.js.map +1 -1
  552. package/build/components/warning/index.js.map +1 -1
  553. package/build/components/warning/index.native.js.map +1 -1
  554. package/build/components/writing-flow/index.js.map +1 -1
  555. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  556. package/build/components/writing-flow/use-click-selection.js.map +1 -1
  557. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  558. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  559. package/build/components/writing-flow/use-input.js.map +1 -1
  560. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  561. package/build/components/writing-flow/use-select-all.js.map +1 -1
  562. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  563. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  564. package/build/components/writing-flow/utils.js.map +1 -1
  565. package/build/components/writing-mode-control/index.js.map +1 -1
  566. package/build/elements/index.js.map +1 -1
  567. package/build/hooks/align.js.map +1 -1
  568. package/build/hooks/align.native.js +1 -1
  569. package/build/hooks/align.native.js.map +1 -1
  570. package/build/hooks/anchor.js.map +1 -1
  571. package/build/hooks/aria-label.js.map +1 -1
  572. package/build/hooks/background.js +3 -3
  573. package/build/hooks/background.js.map +1 -1
  574. package/build/hooks/block-hooks.js.map +1 -1
  575. package/build/hooks/block-renaming.js +0 -37
  576. package/build/hooks/block-renaming.js.map +1 -1
  577. package/build/hooks/border.js.map +1 -1
  578. package/build/hooks/color.js +1 -1
  579. package/build/hooks/color.js.map +1 -1
  580. package/build/hooks/compat.js.map +1 -1
  581. package/build/hooks/content-lock-ui.js +5 -5
  582. package/build/hooks/content-lock-ui.js.map +1 -1
  583. package/build/hooks/contrast-checker.js.map +1 -1
  584. package/build/hooks/custom-class-name.js.map +1 -1
  585. package/build/hooks/custom-class-name.native.js.map +1 -1
  586. package/build/hooks/dimensions.js.map +1 -1
  587. package/build/hooks/duotone.js.map +1 -1
  588. package/build/hooks/font-family.js.map +1 -1
  589. package/build/hooks/font-size.js.map +1 -1
  590. package/build/hooks/gap.js.map +1 -1
  591. package/build/hooks/generated-class-name.js.map +1 -1
  592. package/build/hooks/index.js +6 -5
  593. package/build/hooks/index.js.map +1 -1
  594. package/build/hooks/index.native.js.map +1 -1
  595. package/build/hooks/layout-child.js.map +1 -1
  596. package/build/hooks/layout.js +38 -19
  597. package/build/hooks/layout.js.map +1 -1
  598. package/build/hooks/layout.native.js.map +1 -1
  599. package/build/hooks/line-height.js.map +1 -1
  600. package/build/hooks/lock.js.map +1 -1
  601. package/build/hooks/metadata.js.map +1 -1
  602. package/build/hooks/position.js.map +1 -1
  603. package/build/hooks/settings.js.map +1 -1
  604. package/build/hooks/spacing-visualizer.js.map +1 -1
  605. package/build/hooks/style.js.map +1 -1
  606. package/build/hooks/supports.js +27 -4
  607. package/build/hooks/supports.js.map +1 -1
  608. package/build/hooks/text-align.js +156 -0
  609. package/build/hooks/text-align.js.map +1 -0
  610. package/build/hooks/typography.js +3 -2
  611. package/build/hooks/typography.js.map +1 -1
  612. package/build/hooks/typography.native.js.map +1 -1
  613. package/build/hooks/use-bindings-attributes.js +66 -129
  614. package/build/hooks/use-bindings-attributes.js.map +1 -1
  615. package/build/hooks/use-border-props.js.map +1 -1
  616. package/build/hooks/use-cached-truthy.js.map +1 -1
  617. package/build/hooks/use-color-props.js.map +1 -1
  618. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  619. package/build/hooks/use-shadow-props.js.map +1 -1
  620. package/build/hooks/use-spacing-props.js.map +1 -1
  621. package/build/hooks/use-typography-props.js +2 -1
  622. package/build/hooks/use-typography-props.js.map +1 -1
  623. package/build/hooks/use-zoom-out.js +22 -15
  624. package/build/hooks/use-zoom-out.js.map +1 -1
  625. package/build/hooks/utils.js +29 -5
  626. package/build/hooks/utils.js.map +1 -1
  627. package/build/index.js.map +1 -1
  628. package/build/index.native.js.map +1 -1
  629. package/build/layouts/constrained.js.map +1 -1
  630. package/build/layouts/definitions.js +8 -6
  631. package/build/layouts/definitions.js.map +1 -1
  632. package/build/layouts/flex.js.map +1 -1
  633. package/build/layouts/flow.js.map +1 -1
  634. package/build/layouts/grid.js +52 -9
  635. package/build/layouts/grid.js.map +1 -1
  636. package/build/layouts/index.js.map +1 -1
  637. package/build/layouts/utils.js.map +1 -1
  638. package/build/lock-unlock.js.map +1 -1
  639. package/build/private-apis.js +1 -1
  640. package/build/private-apis.js.map +1 -1
  641. package/build/private-apis.native.js +1 -1
  642. package/build/private-apis.native.js.map +1 -1
  643. package/build/store/actions.js +18 -4
  644. package/build/store/actions.js.map +1 -1
  645. package/build/store/array.js.map +1 -1
  646. package/build/store/constants.js.map +1 -1
  647. package/build/store/defaults.js.map +1 -1
  648. package/build/store/defaults.native.js.map +1 -1
  649. package/build/store/get-block-settings.js.map +1 -1
  650. package/build/store/index.js +1 -1
  651. package/build/store/index.js.map +1 -1
  652. package/build/store/private-actions.js +5 -2
  653. package/build/store/private-actions.js.map +1 -1
  654. package/build/store/private-keys.js.map +1 -1
  655. package/build/store/private-selectors.js +94 -38
  656. package/build/store/private-selectors.js.map +1 -1
  657. package/build/store/reducer.js.map +1 -1
  658. package/build/store/selectors.js +122 -81
  659. package/build/store/selectors.js.map +1 -1
  660. package/build/store/undo-ignore.js.map +1 -1
  661. package/build/store/utils.js.map +1 -1
  662. package/build/utils/dom.js.map +1 -1
  663. package/build/utils/get-px-from-css-unit.js.map +1 -1
  664. package/build/utils/index.js.map +1 -1
  665. package/build/utils/math.js.map +1 -1
  666. package/build/utils/object.js.map +1 -1
  667. package/build/utils/order-inserter-block-items.js.map +1 -1
  668. package/build/utils/pasting.js.map +1 -1
  669. package/build/utils/selection.js.map +1 -1
  670. package/build/utils/sorting.js.map +1 -1
  671. package/build/utils/transform-styles/index.js +1 -1
  672. package/build/utils/transform-styles/index.js.map +1 -1
  673. package/build/utils/use-notify-copy.js.map +1 -1
  674. package/build-module/autocompleters/block.js.map +1 -1
  675. package/build-module/autocompleters/link.js.map +1 -1
  676. package/build-module/components/alignment-control/index.js.map +1 -1
  677. package/build-module/components/alignment-control/ui.js.map +1 -1
  678. package/build-module/components/autocomplete/index.js.map +1 -1
  679. package/build-module/components/block-actions/index.js.map +1 -1
  680. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  681. package/build-module/components/block-alignment-control/index.js.map +1 -1
  682. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  683. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  684. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  685. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  686. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  687. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  688. package/build-module/components/block-canvas/index.js.map +1 -1
  689. package/build-module/components/block-caption/index.native.js.map +1 -1
  690. package/build-module/components/block-card/index.js.map +1 -1
  691. package/build-module/components/block-compare/block-view.js.map +1 -1
  692. package/build-module/components/block-compare/index.js.map +1 -1
  693. package/build-module/components/block-content-overlay/index.js.map +1 -1
  694. package/build-module/components/block-context/index.js.map +1 -1
  695. package/build-module/components/block-controls/fill.js.map +1 -1
  696. package/build-module/components/block-controls/groups.js.map +1 -1
  697. package/build-module/components/block-controls/hook.js.map +1 -1
  698. package/build-module/components/block-controls/index.js.map +1 -1
  699. package/build-module/components/block-controls/slot.js.map +1 -1
  700. package/build-module/components/block-controls/slot.native.js.map +1 -1
  701. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  702. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  703. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  704. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  705. package/build-module/components/block-draggable/index.js.map +1 -1
  706. package/build-module/components/block-draggable/index.native.js.map +1 -1
  707. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  708. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  709. package/build-module/components/block-edit/context.js +1 -0
  710. package/build-module/components/block-edit/context.js.map +1 -1
  711. package/build-module/components/block-edit/edit.js.map +1 -1
  712. package/build-module/components/block-edit/edit.native.js.map +1 -1
  713. package/build-module/components/block-edit/index.js +5 -3
  714. package/build-module/components/block-edit/index.js.map +1 -1
  715. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  716. package/build-module/components/block-editing-mode/index.js.map +1 -1
  717. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  718. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  719. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  720. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  721. package/build-module/components/block-icon/index.js.map +1 -1
  722. package/build-module/components/block-icon/index.native.js.map +1 -1
  723. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  724. package/build-module/components/block-inspector/index.js +5 -4
  725. package/build-module/components/block-inspector/index.js.map +1 -1
  726. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  727. package/build-module/components/block-list/block-crash-boundary.js.map +1 -1
  728. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -1
  729. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  730. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  731. package/build-module/components/block-list/block-html.js.map +1 -1
  732. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  733. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  734. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  735. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  736. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  737. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  738. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  739. package/build-module/components/block-list/block.js +44 -26
  740. package/build-module/components/block-list/block.js.map +1 -1
  741. package/build-module/components/block-list/block.native.js +2 -2
  742. package/build-module/components/block-list/block.native.js.map +1 -1
  743. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  744. package/build-module/components/block-list/index.js +16 -5
  745. package/build-module/components/block-list/index.js.map +1 -1
  746. package/build-module/components/block-list/index.native.js.map +1 -1
  747. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  748. package/build-module/components/block-list/layout.js.map +1 -1
  749. package/build-module/components/block-list/private-block-context.js.map +1 -1
  750. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  751. package/build-module/components/block-list/use-block-props/index.js +2 -1
  752. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  753. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  754. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
  755. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  756. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  757. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  758. package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  759. package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  760. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  761. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  762. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  763. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  764. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  765. package/build-module/components/block-list-appender/index.js.map +1 -1
  766. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  767. package/build-module/components/block-lock/index.js.map +1 -1
  768. package/build-module/components/block-lock/menu-item.js.map +1 -1
  769. package/build-module/components/block-lock/modal.js.map +1 -1
  770. package/build-module/components/block-lock/toolbar.js.map +1 -1
  771. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  772. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  773. package/build-module/components/block-mover/button.js.map +1 -1
  774. package/build-module/components/block-mover/index.js.map +1 -1
  775. package/build-module/components/block-mover/index.native.js.map +1 -1
  776. package/build-module/components/block-mover/mover-description.js.map +1 -1
  777. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  778. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  779. package/build-module/components/block-parent-selector/index.js.map +1 -1
  780. package/build-module/components/block-pattern-setup/constants.js.map +1 -1
  781. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  782. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  783. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  784. package/build-module/components/block-patterns-list/index.js.map +1 -1
  785. package/build-module/components/block-patterns-paging/index.js +8 -4
  786. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  787. package/build-module/components/block-popover/cover.js.map +1 -1
  788. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  789. package/build-module/components/block-popover/inbetween.js.map +1 -1
  790. package/build-module/components/block-popover/index.js.map +1 -1
  791. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  792. package/build-module/components/block-preview/auto.js.map +1 -1
  793. package/build-module/components/block-preview/index.js.map +1 -1
  794. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  795. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  796. package/build-module/components/block-rename/index.js.map +1 -1
  797. package/build-module/components/block-rename/is-empty-string.js.map +1 -1
  798. package/build-module/components/block-rename/modal.js +14 -10
  799. package/build-module/components/block-rename/modal.js.map +1 -1
  800. package/build-module/components/block-rename/rename-control.js +3 -1
  801. package/build-module/components/block-rename/rename-control.js.map +1 -1
  802. package/build-module/components/block-rename/use-block-rename.js.map +1 -1
  803. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  804. package/build-module/components/block-settings/button.native.js.map +1 -1
  805. package/build-module/components/block-settings/container.native.js.map +1 -1
  806. package/build-module/components/block-settings/index.native.js.map +1 -1
  807. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  808. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  809. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  810. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  811. package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  812. package/build-module/components/block-settings-menu/index.js.map +1 -1
  813. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  814. package/build-module/components/block-styles/index.js.map +1 -1
  815. package/build-module/components/block-styles/index.native.js.map +1 -1
  816. package/build-module/components/block-styles/menu-items.js.map +1 -1
  817. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  818. package/build-module/components/block-styles/preview.native.js.map +1 -1
  819. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  820. package/build-module/components/block-styles/utils.js.map +1 -1
  821. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  822. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  823. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  824. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  825. package/build-module/components/block-switcher/index.js.map +1 -1
  826. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  827. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  828. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  829. package/build-module/components/block-switcher/utils.js.map +1 -1
  830. package/build-module/components/block-title/index.js.map +1 -1
  831. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  832. package/build-module/components/block-toolbar/block-name-context.js.map +1 -1
  833. package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  834. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  835. package/build-module/components/block-toolbar/index.js +1 -1
  836. package/build-module/components/block-toolbar/index.js.map +1 -1
  837. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  838. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  839. package/build-module/components/block-toolbar/use-has-block-toolbar.js +6 -3
  840. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  841. package/build-module/components/block-toolbar/utils.js.map +1 -1
  842. package/build-module/components/block-tools/block-selection-button.js +16 -12
  843. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  844. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  845. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  846. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  847. package/build-module/components/block-tools/index.js.map +1 -1
  848. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  849. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  850. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  851. package/build-module/components/block-tools/use-show-block-tools.js +7 -13
  852. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  853. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  854. package/build-module/components/block-types-list/index.js.map +1 -1
  855. package/build-module/components/block-types-list/index.native.js.map +1 -1
  856. package/build-module/components/block-variation-picker/index.js.map +1 -1
  857. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  858. package/build-module/components/block-variation-transforms/index.js +4 -1
  859. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  860. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  861. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  862. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  863. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  864. package/build-module/components/border-radius-control/index.js.map +1 -1
  865. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  866. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  867. package/build-module/components/border-radius-control/utils.js.map +1 -1
  868. package/build-module/components/button-block-appender/index.js.map +1 -1
  869. package/build-module/components/button-block-appender/index.native.js +11 -1
  870. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  871. package/build-module/components/caption/index.native.js.map +1 -1
  872. package/build-module/components/child-layout-control/index.js.map +1 -1
  873. package/build-module/components/color-palette/control.js.map +1 -1
  874. package/build-module/components/color-palette/index.js.map +1 -1
  875. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  876. package/build-module/components/color-style-selector/index.js.map +1 -1
  877. package/build-module/components/colors/index.js.map +1 -1
  878. package/build-module/components/colors/utils.js.map +1 -1
  879. package/build-module/components/colors/with-colors.js.map +1 -1
  880. package/build-module/components/colors-gradients/control.js.map +1 -1
  881. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  882. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  883. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  884. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  885. package/build-module/components/contrast-checker/index.js.map +1 -1
  886. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  887. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  888. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  889. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  890. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  891. package/build-module/components/copy-handler/index.js.map +1 -1
  892. package/build-module/components/date-format-picker/index.js.map +1 -1
  893. package/build-module/components/default-block-appender/index.js.map +1 -1
  894. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  895. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  896. package/build-module/components/dimensions-tool/index.js.map +1 -1
  897. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  898. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  899. package/build-module/components/duotone/utils.js.map +1 -1
  900. package/build-module/components/duotone-control/index.js.map +1 -1
  901. package/build-module/components/editable-text/index.js.map +1 -1
  902. package/build-module/components/editor-styles/index.js +3 -2
  903. package/build-module/components/editor-styles/index.js.map +1 -1
  904. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  905. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  906. package/build-module/components/font-appearance-control/index.js.map +1 -1
  907. package/build-module/components/font-family/index.js.map +1 -1
  908. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  909. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  910. package/build-module/components/font-sizes/index.js.map +1 -1
  911. package/build-module/components/font-sizes/index.native.js.map +1 -1
  912. package/build-module/components/font-sizes/utils.js.map +1 -1
  913. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  914. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  915. package/build-module/components/global-styles/background-panel.js +19 -16
  916. package/build-module/components/global-styles/background-panel.js.map +1 -1
  917. package/build-module/components/global-styles/border-panel.js.map +1 -1
  918. package/build-module/components/global-styles/color-panel.js.map +1 -1
  919. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  920. package/build-module/components/global-styles/context.js.map +1 -1
  921. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  922. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  923. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  924. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  925. package/build-module/components/global-styles/hooks.js.map +1 -1
  926. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  927. package/build-module/components/global-styles/index.js.map +1 -1
  928. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  929. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  930. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  931. package/build-module/components/global-styles/use-global-styles-output.js +4 -4
  932. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  933. package/build-module/components/global-styles/utils.js.map +1 -1
  934. package/build-module/components/gradients/index.js.map +1 -1
  935. package/build-module/components/gradients/index.native.js.map +1 -1
  936. package/build-module/components/gradients/use-gradient.js.map +1 -1
  937. package/build-module/components/gradients/with-gradient.js.map +1 -1
  938. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  939. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  940. package/build-module/components/grid-visualizer/index.js.map +1 -1
  941. package/build-module/components/grid-visualizer/utils.js.map +1 -1
  942. package/build-module/components/height-control/index.js.map +1 -1
  943. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  944. package/build-module/components/iframe/index.js +12 -13
  945. package/build-module/components/iframe/index.js.map +1 -1
  946. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  947. package/build-module/components/image-editor/constants.js.map +1 -1
  948. package/build-module/components/image-editor/context.js.map +1 -1
  949. package/build-module/components/image-editor/cropper.js +7 -3
  950. package/build-module/components/image-editor/cropper.js.map +1 -1
  951. package/build-module/components/image-editor/form-controls.js.map +1 -1
  952. package/build-module/components/image-editor/index.js +0 -2
  953. package/build-module/components/image-editor/index.js.map +1 -1
  954. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  955. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  956. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  957. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  958. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  959. package/build-module/components/image-size-control/index.js.map +1 -1
  960. package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
  961. package/build-module/components/index.js.map +1 -1
  962. package/build-module/components/index.native.js.map +1 -1
  963. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  964. package/build-module/components/inner-blocks/constants.native.js.map +1 -1
  965. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  966. package/build-module/components/inner-blocks/index.js.map +1 -1
  967. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  968. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  969. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  970. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  971. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  972. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  973. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  974. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  975. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  976. package/build-module/components/inserter/block-patterns-tab/index.js +32 -19
  977. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  978. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  979. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  980. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -4
  981. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  982. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  983. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  984. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  985. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  986. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  987. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  988. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  989. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  990. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  991. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  992. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  993. package/build-module/components/inserter/index.js.map +1 -1
  994. package/build-module/components/inserter/index.native.js.map +1 -1
  995. package/build-module/components/inserter/library.js.map +1 -1
  996. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  997. package/build-module/components/inserter/media-tab/index.js.map +1 -1
  998. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  999. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1000. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1001. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1002. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1003. package/build-module/components/inserter/menu.js +17 -11
  1004. package/build-module/components/inserter/menu.js.map +1 -1
  1005. package/build-module/components/inserter/menu.native.js.map +1 -1
  1006. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1007. package/build-module/components/inserter/no-results.js.map +1 -1
  1008. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1009. package/build-module/components/inserter/panel.js.map +1 -1
  1010. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1011. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1012. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1013. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1014. package/build-module/components/inserter/search-items.js.map +1 -1
  1015. package/build-module/components/inserter/search-results.js.map +1 -1
  1016. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1017. package/build-module/components/inserter/tabs.js +7 -3
  1018. package/build-module/components/inserter/tabs.js.map +1 -1
  1019. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1020. package/build-module/components/inserter/tips.js.map +1 -1
  1021. package/build-module/components/inserter/utils.native.js.map +1 -1
  1022. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1023. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1024. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1025. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1026. package/build-module/components/inserter-listbox/context.js.map +1 -1
  1027. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1028. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1029. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1030. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1031. package/build-module/components/inserter-menu-extension/index.js.map +1 -1
  1032. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1033. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1034. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1035. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1036. package/build-module/components/inspector-controls/groups.js.map +1 -1
  1037. package/build-module/components/inspector-controls/index.js.map +1 -1
  1038. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1039. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1040. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1041. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1042. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1043. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1044. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1045. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1046. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  1047. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1048. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1049. package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  1050. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  1051. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1052. package/build-module/components/justify-content-control/index.js.map +1 -1
  1053. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1054. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1055. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1056. package/build-module/components/line-height-control/index.js.map +1 -1
  1057. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1058. package/build-module/components/line-height-control/utils.js.map +1 -1
  1059. package/build-module/components/link-control/constants.js.map +1 -1
  1060. package/build-module/components/link-control/index.js.map +1 -1
  1061. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1062. package/build-module/components/link-control/link-preview.js.map +1 -1
  1063. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1064. package/build-module/components/link-control/search-input.js.map +1 -1
  1065. package/build-module/components/link-control/search-item.js.map +1 -1
  1066. package/build-module/components/link-control/search-results.js.map +1 -1
  1067. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1068. package/build-module/components/link-control/settings.js.map +1 -1
  1069. package/build-module/components/link-control/use-create-page.js.map +1 -1
  1070. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  1071. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1072. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1073. package/build-module/components/link-control/viewer-slot.js.map +1 -1
  1074. package/build-module/components/list-view/appender.js.map +1 -1
  1075. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1076. package/build-module/components/list-view/block-contents.js.map +1 -1
  1077. package/build-module/components/list-view/block-select-button.js +29 -1
  1078. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1079. package/build-module/components/list-view/block.js.map +1 -1
  1080. package/build-module/components/list-view/branch.js.map +1 -1
  1081. package/build-module/components/list-view/context.js.map +1 -1
  1082. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1083. package/build-module/components/list-view/expander.js.map +1 -1
  1084. package/build-module/components/list-view/index.js.map +1 -1
  1085. package/build-module/components/list-view/leaf.js.map +1 -1
  1086. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1087. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  1088. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  1089. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1090. package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -1
  1091. package/build-module/components/list-view/use-list-view-drop-zone.js +5 -0
  1092. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1093. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1094. package/build-module/components/list-view/use-list-view-images.js.map +1 -1
  1095. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1096. package/build-module/components/list-view/utils.js.map +1 -1
  1097. package/build-module/components/media-placeholder/index.js.map +1 -1
  1098. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1099. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1100. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1101. package/build-module/components/media-upload/check.js.map +1 -1
  1102. package/build-module/components/media-upload/constants.native.js.map +1 -1
  1103. package/build-module/components/media-upload/index.js.map +1 -1
  1104. package/build-module/components/media-upload/index.native.js.map +1 -1
  1105. package/build-module/components/media-upload-progress/constants.js.map +1 -1
  1106. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1107. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1108. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1109. package/build-module/components/observe-typing/index.js.map +1 -1
  1110. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1111. package/build-module/components/plain-text/index.js.map +1 -1
  1112. package/build-module/components/plain-text/index.native.js.map +1 -1
  1113. package/build-module/components/preview-options/index.js.map +1 -1
  1114. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1115. package/build-module/components/provider/index.js.map +1 -1
  1116. package/build-module/components/provider/index.native.js.map +1 -1
  1117. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1118. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1119. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1120. package/build-module/components/recursion-provider/index.js +2 -2
  1121. package/build-module/components/recursion-provider/index.js.map +1 -1
  1122. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1123. package/build-module/components/resolution-tool/index.js.map +1 -1
  1124. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1125. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1126. package/build-module/components/rich-text/content.js +25 -19
  1127. package/build-module/components/rich-text/content.js.map +1 -1
  1128. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1129. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  1130. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1131. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1132. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1133. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1134. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1135. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1136. package/build-module/components/rich-text/index.js +42 -2
  1137. package/build-module/components/rich-text/index.js.map +1 -1
  1138. package/build-module/components/rich-text/index.native.js +3 -1
  1139. package/build-module/components/rich-text/index.native.js.map +1 -1
  1140. package/build-module/components/rich-text/input-event.js.map +1 -1
  1141. package/build-module/components/rich-text/input-event.native.js.map +1 -1
  1142. package/build-module/components/rich-text/multiline.js.map +1 -1
  1143. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1144. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  1145. package/build-module/components/rich-text/native/index.js.map +1 -1
  1146. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1147. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1148. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  1149. package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -1
  1150. package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  1151. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1152. package/build-module/components/rich-text/shortcut.native.js.map +1 -1
  1153. package/build-module/components/rich-text/split-value.js.map +1 -1
  1154. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1155. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1156. package/build-module/components/rich-text/use-delete.js.map +1 -1
  1157. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1158. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1159. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1160. package/build-module/components/rich-text/use-input-events.js.map +1 -1
  1161. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1162. package/build-module/components/rich-text/use-insert-replacement-text.js.map +1 -1
  1163. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1164. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1165. package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
  1166. package/build-module/components/rich-text/use-shortcuts.js.map +1 -1
  1167. package/build-module/components/rich-text/use-undo-automatic-change.js +2 -2
  1168. package/build-module/components/rich-text/use-undo-automatic-change.js.map +1 -1
  1169. package/build-module/components/rich-text/utils.js.map +1 -1
  1170. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1171. package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
  1172. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1173. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1174. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1175. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1176. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1177. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1178. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1179. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1180. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1181. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1182. package/build-module/components/text-transform-control/index.js.map +1 -1
  1183. package/build-module/components/tool-selector/index.js.map +1 -1
  1184. package/build-module/components/typewriter/index.js.map +1 -1
  1185. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1186. package/build-module/components/unit-control/index.js.map +1 -1
  1187. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1188. package/build-module/components/url-input/button.js.map +1 -1
  1189. package/build-module/components/url-input/index.js.map +1 -1
  1190. package/build-module/components/url-input/index.native.js.map +1 -1
  1191. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1192. package/build-module/components/url-popover/index.js.map +1 -1
  1193. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1194. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1195. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1196. package/build-module/components/use-block-commands/index.js +20 -2
  1197. package/build-module/components/use-block-commands/index.js.map +1 -1
  1198. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1199. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1200. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1201. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  1202. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1203. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1204. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1205. package/build-module/components/use-on-block-drop/types.js.map +1 -1
  1206. package/build-module/components/use-paste-styles/index.js +2 -1
  1207. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1208. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  1209. package/build-module/components/use-settings/index.js.map +1 -1
  1210. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -1
  1211. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1212. package/build-module/components/video-player/index.native.js.map +1 -1
  1213. package/build-module/components/warning/index.js.map +1 -1
  1214. package/build-module/components/warning/index.native.js.map +1 -1
  1215. package/build-module/components/writing-flow/index.js.map +1 -1
  1216. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  1217. package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
  1218. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1219. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1220. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1221. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  1222. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  1223. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  1224. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1225. package/build-module/components/writing-flow/utils.js.map +1 -1
  1226. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1227. package/build-module/elements/index.js.map +1 -1
  1228. package/build-module/hooks/align.js.map +1 -1
  1229. package/build-module/hooks/align.native.js.map +1 -1
  1230. package/build-module/hooks/anchor.js.map +1 -1
  1231. package/build-module/hooks/aria-label.js.map +1 -1
  1232. package/build-module/hooks/background.js +2 -2
  1233. package/build-module/hooks/background.js.map +1 -1
  1234. package/build-module/hooks/block-hooks.js.map +1 -1
  1235. package/build-module/hooks/block-renaming.js +0 -36
  1236. package/build-module/hooks/block-renaming.js.map +1 -1
  1237. package/build-module/hooks/border.js.map +1 -1
  1238. package/build-module/hooks/color.js.map +1 -1
  1239. package/build-module/hooks/compat.js.map +1 -1
  1240. package/build-module/hooks/content-lock-ui.js +5 -5
  1241. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1242. package/build-module/hooks/contrast-checker.js.map +1 -1
  1243. package/build-module/hooks/custom-class-name.js.map +1 -1
  1244. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1245. package/build-module/hooks/dimensions.js.map +1 -1
  1246. package/build-module/hooks/duotone.js.map +1 -1
  1247. package/build-module/hooks/font-family.js.map +1 -1
  1248. package/build-module/hooks/font-size.js.map +1 -1
  1249. package/build-module/hooks/gap.js.map +1 -1
  1250. package/build-module/hooks/generated-class-name.js.map +1 -1
  1251. package/build-module/hooks/index.js +5 -4
  1252. package/build-module/hooks/index.js.map +1 -1
  1253. package/build-module/hooks/index.native.js.map +1 -1
  1254. package/build-module/hooks/layout-child.js.map +1 -1
  1255. package/build-module/hooks/layout.js +38 -19
  1256. package/build-module/hooks/layout.js.map +1 -1
  1257. package/build-module/hooks/layout.native.js.map +1 -1
  1258. package/build-module/hooks/line-height.js.map +1 -1
  1259. package/build-module/hooks/lock.js.map +1 -1
  1260. package/build-module/hooks/metadata.js.map +1 -1
  1261. package/build-module/hooks/position.js.map +1 -1
  1262. package/build-module/hooks/settings.js.map +1 -1
  1263. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1264. package/build-module/hooks/style.js.map +1 -1
  1265. package/build-module/hooks/supports.js +22 -1
  1266. package/build-module/hooks/supports.js.map +1 -1
  1267. package/build-module/hooks/text-align.js +145 -0
  1268. package/build-module/hooks/text-align.js.map +1 -0
  1269. package/build-module/hooks/typography.js +2 -1
  1270. package/build-module/hooks/typography.js.map +1 -1
  1271. package/build-module/hooks/typography.native.js.map +1 -1
  1272. package/build-module/hooks/use-bindings-attributes.js +68 -132
  1273. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1274. package/build-module/hooks/use-border-props.js.map +1 -1
  1275. package/build-module/hooks/use-cached-truthy.js.map +1 -1
  1276. package/build-module/hooks/use-color-props.js.map +1 -1
  1277. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1278. package/build-module/hooks/use-shadow-props.js.map +1 -1
  1279. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1280. package/build-module/hooks/use-typography-props.js +2 -1
  1281. package/build-module/hooks/use-typography-props.js.map +1 -1
  1282. package/build-module/hooks/use-zoom-out.js +23 -16
  1283. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1284. package/build-module/hooks/utils.js +30 -6
  1285. package/build-module/hooks/utils.js.map +1 -1
  1286. package/build-module/index.js.map +1 -1
  1287. package/build-module/index.native.js.map +1 -1
  1288. package/build-module/layouts/constrained.js.map +1 -1
  1289. package/build-module/layouts/definitions.js +8 -6
  1290. package/build-module/layouts/definitions.js.map +1 -1
  1291. package/build-module/layouts/flex.js.map +1 -1
  1292. package/build-module/layouts/flow.js.map +1 -1
  1293. package/build-module/layouts/grid.js +52 -9
  1294. package/build-module/layouts/grid.js.map +1 -1
  1295. package/build-module/layouts/index.js.map +1 -1
  1296. package/build-module/layouts/utils.js.map +1 -1
  1297. package/build-module/lock-unlock.js.map +1 -1
  1298. package/build-module/private-apis.js.map +1 -1
  1299. package/build-module/private-apis.native.js.map +1 -1
  1300. package/build-module/store/actions.js +18 -4
  1301. package/build-module/store/actions.js.map +1 -1
  1302. package/build-module/store/array.js.map +1 -1
  1303. package/build-module/store/constants.js.map +1 -1
  1304. package/build-module/store/defaults.js.map +1 -1
  1305. package/build-module/store/defaults.native.js.map +1 -1
  1306. package/build-module/store/get-block-settings.js.map +1 -1
  1307. package/build-module/store/index.js.map +1 -1
  1308. package/build-module/store/private-actions.js +5 -2
  1309. package/build-module/store/private-actions.js.map +1 -1
  1310. package/build-module/store/private-keys.js.map +1 -1
  1311. package/build-module/store/private-selectors.js +87 -33
  1312. package/build-module/store/private-selectors.js.map +1 -1
  1313. package/build-module/store/reducer.js.map +1 -1
  1314. package/build-module/store/selectors.js +95 -55
  1315. package/build-module/store/selectors.js.map +1 -1
  1316. package/build-module/store/undo-ignore.js.map +1 -1
  1317. package/build-module/store/utils.js.map +1 -1
  1318. package/build-module/utils/dom.js.map +1 -1
  1319. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  1320. package/build-module/utils/index.js.map +1 -1
  1321. package/build-module/utils/math.js.map +1 -1
  1322. package/build-module/utils/object.js.map +1 -1
  1323. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1324. package/build-module/utils/pasting.js.map +1 -1
  1325. package/build-module/utils/selection.js.map +1 -1
  1326. package/build-module/utils/sorting.js.map +1 -1
  1327. package/build-module/utils/transform-styles/index.js.map +1 -1
  1328. package/build-module/utils/use-notify-copy.js.map +1 -1
  1329. package/build-style/content-rtl.css +36 -18
  1330. package/build-style/content.css +36 -18
  1331. package/build-style/default-editor-styles-rtl.css +1 -1
  1332. package/build-style/default-editor-styles.css +1 -1
  1333. package/build-style/style-rtl.css +73 -58
  1334. package/build-style/style.css +73 -58
  1335. package/package.json +32 -33
  1336. package/src/components/block-bindings-toolbar-indicator/style.scss +1 -1
  1337. package/src/components/block-edit/context.js +1 -0
  1338. package/src/components/block-edit/index.js +4 -0
  1339. package/src/components/block-inspector/index.js +6 -4
  1340. package/src/components/block-list/block.js +50 -27
  1341. package/src/components/block-list/block.native.js +3 -2
  1342. package/src/components/block-list/content.scss +37 -19
  1343. package/src/components/block-list/index.js +22 -6
  1344. package/src/components/block-list/use-block-props/index.js +5 -1
  1345. package/src/components/block-list/use-block-props/use-focus-first-element.js +7 -3
  1346. package/src/components/block-patterns-paging/index.js +4 -0
  1347. package/src/components/block-rename/modal.js +17 -13
  1348. package/src/components/block-rename/rename-control.js +8 -1
  1349. package/src/components/block-toolbar/index.js +26 -22
  1350. package/src/components/block-toolbar/use-has-block-toolbar.js +5 -3
  1351. package/src/components/block-tools/block-selection-button.js +55 -43
  1352. package/src/components/block-tools/use-show-block-tools.js +4 -7
  1353. package/src/components/block-variation-transforms/index.js +3 -1
  1354. package/src/components/button-block-appender/index.native.js +16 -1
  1355. package/src/components/default-block-appender/content.scss +1 -1
  1356. package/src/components/editor-styles/index.js +4 -2
  1357. package/src/components/global-styles/background-panel.js +30 -26
  1358. package/src/components/global-styles/style.scss +2 -8
  1359. package/src/components/global-styles/test/use-global-styles-output.js +8 -17
  1360. package/src/components/global-styles/use-global-styles-output.js +5 -5
  1361. package/src/components/iframe/index.js +20 -27
  1362. package/src/components/image-editor/cropper.js +11 -2
  1363. package/src/components/image-editor/index.js +0 -2
  1364. package/src/components/inserter/block-patterns-tab/index.js +53 -39
  1365. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +9 -36
  1366. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  1367. package/src/components/inserter/menu.js +27 -16
  1368. package/src/components/inserter/style.scss +83 -59
  1369. package/src/components/inserter/tabs.js +7 -2
  1370. package/src/components/inspector-controls-tabs/styles-tab.js +1 -1
  1371. package/src/components/link-control/style.scss +10 -2
  1372. package/src/components/link-control/test/index.js +1 -1
  1373. package/src/components/list-view/block-select-button.js +31 -2
  1374. package/src/components/list-view/use-list-view-drop-zone.js +5 -0
  1375. package/src/components/recursion-provider/index.js +2 -2
  1376. package/src/components/rich-text/README.md +4 -0
  1377. package/src/components/rich-text/content.js +26 -19
  1378. package/src/components/rich-text/index.js +46 -2
  1379. package/src/components/rich-text/index.native.js +3 -1
  1380. package/src/components/rich-text/use-undo-automatic-change.js +2 -6
  1381. package/src/components/use-block-commands/index.js +46 -28
  1382. package/src/components/use-paste-styles/index.js +2 -0
  1383. package/src/hooks/background.js +2 -2
  1384. package/src/hooks/block-renaming.js +0 -33
  1385. package/src/hooks/content-lock-ui.js +5 -7
  1386. package/src/hooks/index.js +5 -2
  1387. package/src/hooks/layout.js +57 -25
  1388. package/src/hooks/supports.js +24 -0
  1389. package/src/hooks/test/text-align.js +114 -0
  1390. package/src/hooks/test/use-typography-props.js +3 -1
  1391. package/src/hooks/text-align.js +178 -0
  1392. package/src/hooks/typography.js +2 -0
  1393. package/src/hooks/use-bindings-attributes.js +90 -161
  1394. package/src/hooks/use-typography-props.js +4 -1
  1395. package/src/hooks/use-zoom-out.js +25 -15
  1396. package/src/hooks/utils.js +41 -3
  1397. package/src/layouts/definitions.js +6 -6
  1398. package/src/layouts/grid.js +106 -47
  1399. package/src/store/actions.js +22 -6
  1400. package/src/store/private-actions.js +6 -3
  1401. package/src/store/private-selectors.js +127 -35
  1402. package/src/store/selectors.js +142 -86
  1403. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","memo","useCallback","RawHTML","useContext","useMemo","getBlockType","getSaveContent","isUnmodifiedDefaultBlock","serializeRawBlock","switchToBlockType","getDefaultBlockName","isUnmodifiedBlock","isReusableBlock","getBlockDefaultClassName","store","blocksStore","withFilters","withDispatch","useDispatch","useSelect","compose","safeHTML","BlockEdit","BlockInvalidWarning","BlockCrashWarning","BlockCrashBoundary","BlockHtml","useBlockProps","blockEditorStore","useLayout","PrivateBlockContext","unlock","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","Block","children","isHtml","props","createElement","__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","removeBlock","onRemove","parentLayout","blockEdit","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","blockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","Fragment","display","apiVersion","dataAlign","restWrapperProps","Provider","value","fallback","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","every","key","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","BlockListBlockProvider","selectedProps","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","__unstableGetTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","isTyping","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","hasBlockMovingClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","_isSelected","canMove","blockName","match","outlineMode","supportsLayout","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","typing","hasLightBlockWrapper","movingClientId","templateLock","isTemporarilyEditingAsBlocks","id","blockApiVersion","blockTitle","title","isSubtreeDisabled","isOutlineEnabled","hasOverlay","isHighlighted","isPartiallySelected","isReusable","hasChildSelected","removeOutline","isBlockMovingMode","canInsertMovingBlock","isEditingDisabled","hasEditableOutline","defaultClassName","privateContext"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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\tstore as blocksStore,\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\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 = classnames( 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/>\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={ classnames( '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\n\trestWrapperProps.className = classnames(\n\t\trestWrapperProps.className,\n\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t! ( dataAlign && isSticky ) && className\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: restWrapperProps,\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} = 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 ) {\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\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\t__unstableGetTemporarilyEditingAsBlocks,\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\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisTyping,\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\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\t__unstableGetEditorMode,\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 _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\t\t\tconst canMove = canMoveBlock( clientId, rootClientId );\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 match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst { outlineMode, supportsLayout } = getSettings();\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 typing = isTyping();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst movingClientId = hasBlockMovingClientId();\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\treturn {\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\ttemplateLock: getTemplateLock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\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\tisSelected: _isSelected,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks() === 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\tindex: getBlockIndex( 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\tisOutlineEnabled: outlineMode,\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:\n\t\t\t\t\t_isSelected && __unstableGetEditorMode() === 'edit'\n\t\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\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\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tremoveOutline: _isSelected && outlineMode && typing,\n\t\t\t\tisBlockMovingMode: !! movingClientId,\n\t\t\t\tcanInsertMovingBlock:\n\t\t\t\t\tmovingClientId &&\n\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\tgetBlockName( movingClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\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\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};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tmode,\n\t\tisSelectionEnabled,\n\t\tisLocked,\n\t\tcanRemove,\n\t\tcanMove,\n\t\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\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\tisOutlineEnabled,\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\tremoveOutline,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\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\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\tisOutlineEnabled,\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\tremoveOutline,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\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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"}
1
+ {"version":3,"names":["classnames","memo","useCallback","RawHTML","useContext","useMemo","getBlockType","getSaveContent","isUnmodifiedDefaultBlock","serializeRawBlock","switchToBlockType","getDefaultBlockName","isUnmodifiedBlock","isReusableBlock","getBlockDefaultClassName","store","blocksStore","withFilters","withDispatch","useDispatch","useSelect","compose","safeHTML","BlockEdit","BlockInvalidWarning","BlockCrashWarning","BlockCrashBoundary","BlockHtml","useBlockProps","blockEditorStore","useLayout","PrivateBlockContext","unlock","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","Block","children","isHtml","props","createElement","__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","removeBlock","onRemove","parentLayout","blockEdit","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","Fragment","display","apiVersion","dataAlign","restWrapperProps","Provider","value","fallback","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","every","key","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","BlockListBlockProvider","selectedProps","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","isTyping","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","hasBlockMovingClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blockName","outlineMode","supportsLayout","__unstableIsPreviewMode","hasLightBlockWrapper","previewContext","isReusable","defaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","typing","movingClientId","templateLock","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","isOutlineEnabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","removeOutline","isBlockMovingMode","canInsertMovingBlock","isEditingDisabled","hasEditableOutline","privateContext"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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\tstore as blocksStore,\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\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 = classnames( 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={ classnames( '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\n\trestWrapperProps.className = classnames(\n\t\trestWrapperProps.className,\n\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t! ( dataAlign && isSticky ) && className\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: restWrapperProps,\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} = 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 ) {\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\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\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisTyping,\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\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\t__unstableGetEditorMode,\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 {\n\t\t\t\toutlineMode,\n\t\t\t\tsupportsLayout,\n\t\t\t\t__unstableIsPreviewMode: isPreviewMode,\n\t\t\t} = 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, rootClientId );\n\t\t\tconst canMove = canMoveBlock( clientId, rootClientId );\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 typing = isTyping();\n\t\t\tconst movingClientId = hasBlockMovingClientId();\n\t\t\tconst blockEditingMode = getBlockEditingMode( 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\ttemplateLock: getTemplateLock( 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\tisOutlineEnabled: outlineMode,\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:\n\t\t\t\t\t_isSelected &&\n\t\t\t\t\t( __unstableGetEditorMode() === 'edit' ||\n\t\t\t\t\t\t__unstableGetEditorMode() === 'zoom-out' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode\n\t\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\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\tremoveOutline: _isSelected && outlineMode && typing,\n\t\t\t\tisBlockMovingMode: !! movingClientId,\n\t\t\t\tcanInsertMovingBlock:\n\t\t\t\t\tmovingClientId &&\n\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\tgetBlockName( movingClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\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};\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\tisOutlineEnabled,\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\tremoveOutline,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\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\tisOutlineEnabled,\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\tremoveOutline,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\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":[]}
@@ -506,11 +506,11 @@ const applyWithDispatch = withDispatch((dispatch, ownProps, registry) => {
506
506
  }
507
507
  }
508
508
  },
509
- onReplace(blocks, indexToSelect, initialPosition) {
509
+ onReplace(blocks, indexToSelect, initialPosition, meta) {
510
510
  if (blocks.length && !isUnmodifiedDefaultBlock(blocks[blocks.length - 1])) {
511
511
  __unstableMarkLastChangeAsPersistent();
512
512
  }
513
- replaceBlocks([ownProps.clientId], blocks, indexToSelect, initialPosition);
513
+ replaceBlocks([ownProps.clientId], blocks, indexToSelect, initialPosition, meta);
514
514
  },
515
515
  toggleSelection(selectionEnabled) {
516
516
  toggleSelection(selectionEnabled);
@@ -1 +1 @@
1
- {"version":3,"names":["Pressable","View","classnames","useCallback","useMemo","useState","useRef","memo","GlobalStylesContext","getMergedGlobalStyles","useMobileGlobalStylesColors","useGlobalStyles","withFilters","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","getBlockType","getDefaultBlockName","isUnmodifiedBlock","isUnmodifiedDefaultBlock","switchToBlockType","useDispatch","useSelect","withDispatch","withSelect","compose","ifCondition","BlockEdit","BlockDraggable","BlockInvalidWarning","BlockOutline","store","blockEditorStore","useLayout","useScrollUponInsertion","useSettings","unlock","BlockCrashBoundary","BlockCrashWarning","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","isLayoutCalculated","setIsLayoutCalculated","elementRef","onLayout","createElement","accessibilityRole","disabled","onPress","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","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","currentBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","JSON","stringify","Object","fromEntries","entries","filter","key","BLOCK_STYLE_ATTRIBUTES","isFocused","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","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","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","selectionEnabled"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\tuseMobileGlobalStylesColors,\n\tuseGlobalStyles,\n\twithFilters,\n} 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';\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 = classnames( 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, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\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 {\n\t\t\t\t\tremoveBlock( clientId );\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\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);\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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"}
1
+ {"version":3,"names":["Pressable","View","classnames","useCallback","useMemo","useState","useRef","memo","GlobalStylesContext","getMergedGlobalStyles","useMobileGlobalStylesColors","useGlobalStyles","withFilters","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","getBlockType","getDefaultBlockName","isUnmodifiedBlock","isUnmodifiedDefaultBlock","switchToBlockType","useDispatch","useSelect","withDispatch","withSelect","compose","ifCondition","BlockEdit","BlockDraggable","BlockInvalidWarning","BlockOutline","store","blockEditorStore","useLayout","useScrollUponInsertion","useSettings","unlock","BlockCrashBoundary","BlockCrashWarning","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","isLayoutCalculated","setIsLayoutCalculated","elementRef","onLayout","createElement","accessibilityRole","disabled","onPress","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","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","currentBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","JSON","stringify","Object","fromEntries","entries","filter","key","BLOCK_STYLE_ATTRIBUTES","isFocused","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","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","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","meta","selectionEnabled"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\tuseMobileGlobalStylesColors,\n\tuseGlobalStyles,\n\twithFilters,\n} 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';\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 = classnames( 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, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\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 {\n\t\t\t\t\tremoveBlock( clientId );\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 +1 @@
1
- {"version":3,"names":["View","styles","Grid","props","numOfColumns","children","tileCount","index","maxWidth","lastTile","lastRow","Math","floor","row","rowLength","createElement","style","width","gridItem"],"sources":["@wordpress/block-editor/src/components/block-list/grid-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport styles from './block-list-item.scss';\n\nfunction Grid( props ) {\n\t/**\n\t * Since we don't have `calc()`, we must calculate our spacings here in\n\t * order to preserve even spacing between tiles and equal width for tiles\n\t * in a given row.\n\t *\n\t * In order to ensure equal sizing of tile contents, we distribute the\n\t * spacing such that each tile has an equal \"share\" of the fixed spacing. To\n\t * keep the tiles properly aligned within their rows, we calculate the left\n\t * and right paddings based on the tile's relative position within the row.\n\t *\n\t * Note: we use padding instead of margins so that the fixed spacing is\n\t * included within the relative spacing (i.e. width percentage), and\n\t * wrapping behavior is preserved.\n\t *\n\t * - The left most tile in a row must have left padding of zero.\n\t * - The right most tile in a row must have a right padding of zero.\n\t *\n\t * The values of these left and right paddings are interpolated for tiles in\n\t * between. The right padding is complementary with the left padding of the\n\t * next tile (i.e. the right padding of [tile n] + the left padding of\n\t * [tile n + 1] will be equal for all tiles except the last one in a given\n\t * row).\n\t *\n\t */\n\tconst { numOfColumns, children, tileCount, index, maxWidth } = props;\n\tconst lastTile = tileCount - 1;\n\tconst lastRow = Math.floor( lastTile / numOfColumns );\n\n\tconst row = Math.floor( index / numOfColumns );\n\tconst rowLength =\n\t\trow === lastRow ? ( lastTile % numOfColumns ) + 1 : numOfColumns;\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\t{\n\t\t\t\t\twidth: maxWidth / rowLength,\n\t\t\t\t},\n\t\t\t\tstyles.gridItem,\n\t\t\t] }\n\t\t>\n\t\t\t{ children }\n\t\t</View>\n\t);\n}\n\nexport default Grid;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,wBAAwB;AAE3C,SAASC,IAAIA,CAAEC,KAAK,EAAG;EACtB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAM;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGL,KAAK;EACpE,MAAMM,QAAQ,GAAGH,SAAS,GAAG,CAAC;EAC9B,MAAMI,OAAO,GAAGC,IAAI,CAACC,KAAK,CAAEH,QAAQ,GAAGL,YAAa,CAAC;EAErD,MAAMS,GAAG,GAAGF,IAAI,CAACC,KAAK,CAAEL,KAAK,GAAGH,YAAa,CAAC;EAC9C,MAAMU,SAAS,GACdD,GAAG,KAAKH,OAAO,GAAKD,QAAQ,GAAGL,YAAY,GAAK,CAAC,GAAGA,YAAY;EAEjE,OACCW,aAAA,CAACf,IAAI;IACJgB,KAAK,EAAG,CACP;MACCC,KAAK,EAAET,QAAQ,GAAGM;IACnB,CAAC,EACDb,MAAM,CAACiB,QAAQ;EACb,GAEDb,QACG,CAAC;AAET;AAEA,eAAeH,IAAI"}
1
+ {"version":3,"names":["View","styles","Grid","props","numOfColumns","children","tileCount","index","maxWidth","lastTile","lastRow","Math","floor","row","rowLength","createElement","style","width","gridItem"],"sources":["@wordpress/block-editor/src/components/block-list/grid-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport styles from './block-list-item.scss';\n\nfunction Grid( props ) {\n\t/**\n\t * Since we don't have `calc()`, we must calculate our spacings here in\n\t * order to preserve even spacing between tiles and equal width for tiles\n\t * in a given row.\n\t *\n\t * In order to ensure equal sizing of tile contents, we distribute the\n\t * spacing such that each tile has an equal \"share\" of the fixed spacing. To\n\t * keep the tiles properly aligned within their rows, we calculate the left\n\t * and right paddings based on the tile's relative position within the row.\n\t *\n\t * Note: we use padding instead of margins so that the fixed spacing is\n\t * included within the relative spacing (i.e. width percentage), and\n\t * wrapping behavior is preserved.\n\t *\n\t * - The left most tile in a row must have left padding of zero.\n\t * - The right most tile in a row must have a right padding of zero.\n\t *\n\t * The values of these left and right paddings are interpolated for tiles in\n\t * between. The right padding is complementary with the left padding of the\n\t * next tile (i.e. the right padding of [tile n] + the left padding of\n\t * [tile n + 1] will be equal for all tiles except the last one in a given\n\t * row).\n\t *\n\t */\n\tconst { numOfColumns, children, tileCount, index, maxWidth } = props;\n\tconst lastTile = tileCount - 1;\n\tconst lastRow = Math.floor( lastTile / numOfColumns );\n\n\tconst row = Math.floor( index / numOfColumns );\n\tconst rowLength =\n\t\trow === lastRow ? ( lastTile % numOfColumns ) + 1 : numOfColumns;\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\t{\n\t\t\t\t\twidth: maxWidth / rowLength,\n\t\t\t\t},\n\t\t\t\tstyles.gridItem,\n\t\t\t] }\n\t\t>\n\t\t\t{ children }\n\t\t</View>\n\t);\n}\n\nexport default Grid;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,QAAQ,cAAc;;AAEnC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,wBAAwB;AAE3C,SAASC,IAAIA,CAAEC,KAAK,EAAG;EACtB;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAM;IAAEC,YAAY;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGL,KAAK;EACpE,MAAMM,QAAQ,GAAGH,SAAS,GAAG,CAAC;EAC9B,MAAMI,OAAO,GAAGC,IAAI,CAACC,KAAK,CAAEH,QAAQ,GAAGL,YAAa,CAAC;EAErD,MAAMS,GAAG,GAAGF,IAAI,CAACC,KAAK,CAAEL,KAAK,GAAGH,YAAa,CAAC;EAC9C,MAAMU,SAAS,GACdD,GAAG,KAAKH,OAAO,GAAKD,QAAQ,GAAGL,YAAY,GAAK,CAAC,GAAGA,YAAY;EAEjE,OACCW,aAAA,CAACf,IAAI;IACJgB,KAAK,EAAG,CACP;MACCC,KAAK,EAAET,QAAQ,GAAGM;IACnB,CAAC,EACDb,MAAM,CAACiB,QAAQ;EACb,GAEDb,QACG,CAAC;AAET;AAEA,eAAeH,IAAI","ignoreList":[]}
@@ -40,8 +40,8 @@ function Root({
40
40
  const {
41
41
  getSettings,
42
42
  __unstableGetEditorMode,
43
- __unstableGetTemporarilyEditingAsBlocks
44
- } = select(blockEditorStore);
43
+ getTemporarilyEditingAsBlocks
44
+ } = unlock(select(blockEditorStore));
45
45
  const {
46
46
  outlineMode,
47
47
  focusMode
@@ -50,7 +50,7 @@ function Root({
50
50
  isOutlineMode: outlineMode,
51
51
  isFocusMode: focusMode,
52
52
  editorMode: __unstableGetEditorMode(),
53
- temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks()
53
+ temporarilyEditingAsBlocks: getTemporarilyEditingAsBlocks()
54
54
  };
55
55
  }, []);
56
56
  const registry = useRegistry();
@@ -127,6 +127,8 @@ export default function BlockList(settings) {
127
127
  ...settings
128
128
  }));
129
129
  }
130
+ const EMPTY_ARRAY = [];
131
+ const EMPTY_SET = new Set();
130
132
  function Items({
131
133
  placeholder,
132
134
  rootClientId,
@@ -145,6 +147,7 @@ function Items({
145
147
  shouldRenderAppender
146
148
  } = useSelect(select => {
147
149
  const {
150
+ getSettings,
148
151
  getBlockOrder,
149
152
  getSelectedBlockClientId,
150
153
  getSelectedBlockClientIds,
@@ -153,12 +156,20 @@ function Items({
153
156
  getBlockEditingMode,
154
157
  __unstableGetEditorMode
155
158
  } = select(blockEditorStore);
159
+ const _order = getBlockOrder(rootClientId);
160
+ if (getSettings().__unstableIsPreviewMode) {
161
+ return {
162
+ order: _order,
163
+ selectedBlocks: EMPTY_ARRAY,
164
+ visibleBlocks: EMPTY_SET
165
+ };
166
+ }
156
167
  const selectedBlockClientId = getSelectedBlockClientId();
157
168
  return {
158
- order: getBlockOrder(rootClientId),
169
+ order: _order,
159
170
  selectedBlocks: getSelectedBlockClientIds(),
160
171
  visibleBlocks: __unstableGetVisibleBlocks(),
161
- shouldRenderAppender: hasAppender && (hasCustomAppender ? !getTemplateLock(rootClientId) && getBlockEditingMode(rootClientId) !== 'disabled' && __unstableGetEditorMode() !== 'zoom-out' : rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId)
172
+ shouldRenderAppender: hasAppender && (hasCustomAppender ? !getTemplateLock(rootClientId) && getBlockEditingMode(rootClientId) !== 'disabled' && __unstableGetEditorMode() !== 'zoom-out' : rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId && !_order.length)
162
173
  };
163
174
  }, [rootClientId, hasAppender, hasCustomAppender]);
164
175
  return createElement(LayoutProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","temporarilyEditingAsBlocks","select","getSettings","__unstableGetEditorMode","__unstableGetTemporarilyEditingAsBlocks","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","selectedBlockClientId","map","key","has","includes","length","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\teditorMode,\n\t\ttemporarilyEditingAsBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\t__unstableGetEditorMode,\n\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t} = select( blockEditorStore );\n\t\tconst { outlineMode, focusMode } = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode,\n\t\t\tisFocusMode: focusMode,\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\ttemporarilyEditingAsBlocks:\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst { order, selectedBlocks, visibleBlocks, shouldRenderAppender } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\t__unstableGetEditorMode,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\t\treturn {\n\t\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t\thasAppender &&\n\t\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !==\n\t\t\t\t\t\t\t\t\t'disabled' &&\n\t\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t\t ( ! rootClientId && ! selectedBlockClientId ) ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","temporarilyEditingAsBlocks","select","getSettings","__unstableGetEditorMode","getTemporarilyEditingAsBlocks","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","EMPTY_ARRAY","EMPTY_SET","Set","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","_order","__unstableIsPreviewMode","selectedBlockClientId","length","map","key","has","includes","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\teditorMode,\n\t\ttemporarilyEditingAsBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\t__unstableGetEditorMode,\n\t\t\tgetTemporarilyEditingAsBlocks,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst { outlineMode, focusMode } = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode,\n\t\t\tisFocusMode: focusMode,\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\ttemporarilyEditingAsBlocks: getTemporarilyEditingAsBlocks(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst { order, selectedBlocks, visibleBlocks, shouldRenderAppender } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetSettings,\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\t__unstableGetEditorMode,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\t\tif ( getSettings().__unstableIsPreviewMode ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torder: _order,\n\t\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t\thasAppender &&\n\t\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !==\n\t\t\t\t\t\t\t\t\t'disabled' &&\n\t\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t\t ( ! rootClientId &&\n\t\t\t\t\t\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t\t\t\t\t\t! _order.length ) ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}