@wordpress/block-editor 12.16.0 → 12.16.1-next.79a6196f.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 (650) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +3 -6
  3. package/build/components/block-canvas/index.js +0 -2
  4. package/build/components/block-canvas/index.js.map +1 -1
  5. package/build/components/block-card/index.js +1 -1
  6. package/build/components/block-card/index.js.map +1 -1
  7. package/build/components/block-draggable/draggable-chip.js +6 -1
  8. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  9. package/build/components/block-draggable/index.js +76 -6
  10. package/build/components/block-draggable/index.js.map +1 -1
  11. package/build/components/block-draggable/index.native.js +0 -6
  12. package/build/components/block-draggable/index.native.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  15. package/build/components/block-editing-mode/index.js +2 -3
  16. package/build/components/block-editing-mode/index.js.map +1 -1
  17. package/build/components/block-inspector/index.js +1 -1
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  20. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  21. package/build/components/block-list/block.js +245 -102
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/block.native.js +46 -20
  24. package/build/components/block-list/block.native.js.map +1 -1
  25. package/build/components/block-list/index.native.js +3 -5
  26. package/build/components/block-list/index.native.js.map +1 -1
  27. package/build/components/block-list/private-block-context.js +14 -0
  28. package/build/components/block-list/private-block-context.js.map +1 -0
  29. package/build/components/block-list/use-block-props/index.js +33 -96
  30. package/build/components/block-list/use-block-props/index.js.map +1 -1
  31. package/build/components/block-list/use-in-between-inserter.js +3 -2
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  33. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  34. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  35. package/build/components/block-lock/toolbar.js +21 -27
  36. package/build/components/block-lock/toolbar.js.map +1 -1
  37. package/build/components/block-mover/index.js +2 -1
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-patterns-list/index.js +4 -4
  40. package/build/components/block-patterns-list/index.js.map +1 -1
  41. package/build/components/block-switcher/index.js +4 -4
  42. package/build/components/block-switcher/index.js.map +1 -1
  43. package/build/components/block-toolbar/index.js +1 -2
  44. package/build/components/block-toolbar/index.js.map +1 -1
  45. package/build/components/block-tools/block-toolbar-popover.js +0 -2
  46. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  47. package/build/components/block-variation-transforms/index.js +29 -2
  48. package/build/components/block-variation-transforms/index.js.map +1 -1
  49. package/build/components/border-radius-control/linked-button.js +1 -1
  50. package/build/components/border-radius-control/linked-button.js.map +1 -1
  51. package/build/components/colors/utils.js +10 -2
  52. package/build/components/colors/utils.js.map +1 -1
  53. package/build/components/colors/with-colors.js +6 -2
  54. package/build/components/colors/with-colors.js.map +1 -1
  55. package/build/components/font-sizes/utils.js +10 -2
  56. package/build/components/font-sizes/utils.js.map +1 -1
  57. package/build/components/global-styles/border-panel.js +2 -1
  58. package/build/components/global-styles/border-panel.js.map +1 -1
  59. package/build/components/global-styles/color-panel.js +2 -1
  60. package/build/components/global-styles/color-panel.js.map +1 -1
  61. package/build/components/global-styles/dimensions-panel.js +4 -3
  62. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  63. package/build/components/global-styles/effects-panel.js +2 -1
  64. package/build/components/global-styles/effects-panel.js.map +1 -1
  65. package/build/components/global-styles/filters-panel.js +1 -4
  66. package/build/components/global-styles/filters-panel.js.map +1 -1
  67. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  68. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  69. package/build/components/global-styles/hooks.js +3 -2
  70. package/build/components/global-styles/hooks.js.map +1 -1
  71. package/build/components/global-styles/image-settings-panel.js +7 -1
  72. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  73. package/build/components/global-styles/index.js +7 -0
  74. package/build/components/global-styles/index.js.map +1 -1
  75. package/build/components/global-styles/typography-panel.js +33 -15
  76. package/build/components/global-styles/typography-panel.js.map +1 -1
  77. package/build/components/global-styles/use-global-styles-output.js +22 -8
  78. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  79. package/build/components/global-styles/utils.js +8 -1
  80. package/build/components/global-styles/utils.js.map +1 -1
  81. package/build/components/height-control/index.js +6 -2
  82. package/build/components/height-control/index.js.map +1 -1
  83. package/build/components/image-size-control/index.js +2 -2
  84. package/build/components/image-size-control/index.js.map +1 -1
  85. package/build/components/index.native.js +6 -5
  86. package/build/components/index.native.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +61 -22
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inner-blocks/index.native.js +18 -4
  90. package/build/components/inner-blocks/index.native.js.map +1 -1
  91. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  92. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  93. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  94. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  95. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  97. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  98. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  99. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  100. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  101. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  102. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  103. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  104. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  105. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  106. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  107. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  109. package/build/components/inserter/index.js +1 -2
  110. package/build/components/inserter/index.js.map +1 -1
  111. package/build/components/inserter/library.js +3 -7
  112. package/build/components/inserter/library.js.map +1 -1
  113. package/build/components/inserter/menu.js +14 -28
  114. package/build/components/inserter/menu.js.map +1 -1
  115. package/build/components/inserter/tabs.js +21 -21
  116. package/build/components/inserter/tabs.js.map +1 -1
  117. package/build/components/inserter-draggable-blocks/index.js +1 -1
  118. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  119. package/build/components/inserter-list-item/index.js +2 -4
  120. package/build/components/inserter-list-item/index.js.map +1 -1
  121. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  122. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  123. package/build/components/inspector-controls-tabs/index.js +34 -23
  124. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  125. package/build/components/list-view/block-select-button.js +4 -0
  126. package/build/components/list-view/block-select-button.js.map +1 -1
  127. package/build/components/list-view/block.js +57 -3
  128. package/build/components/list-view/block.js.map +1 -1
  129. package/build/components/media-upload-progress/constants.js +19 -0
  130. package/build/components/media-upload-progress/constants.js.map +1 -0
  131. package/build/components/media-upload-progress/index.native.js +42 -17
  132. package/build/components/media-upload-progress/index.native.js.map +1 -1
  133. package/build/components/navigable-toolbar/index.js +9 -14
  134. package/build/components/navigable-toolbar/index.js.map +1 -1
  135. package/build/components/plain-text/index.native.js +8 -3
  136. package/build/components/plain-text/index.native.js.map +1 -1
  137. package/build/components/provider/index.js +3 -1
  138. package/build/components/provider/index.js.map +1 -1
  139. package/build/components/provider/use-block-sync.js +7 -1
  140. package/build/components/provider/use-block-sync.js.map +1 -1
  141. package/build/components/rich-text/index.js +17 -7
  142. package/build/components/rich-text/index.js.map +1 -1
  143. package/build/components/rich-text/native/index.native.js +16 -24
  144. package/build/components/rich-text/native/index.native.js.map +1 -1
  145. package/build/components/rich-text/use-input-rules.js +2 -2
  146. package/build/components/rich-text/use-input-rules.js.map +1 -1
  147. package/build/components/rich-text/use-mark-persistent.js +1 -1
  148. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  149. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  150. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  151. package/build/components/url-input/index.js +9 -6
  152. package/build/components/url-input/index.js.map +1 -1
  153. package/build/components/use-block-commands/index.js +14 -18
  154. package/build/components/use-block-commands/index.js.map +1 -1
  155. package/build/components/use-block-drop-zone/index.js +51 -22
  156. package/build/components/use-block-drop-zone/index.js.map +1 -1
  157. package/build/components/use-moving-animation/index.js +100 -92
  158. package/build/components/use-moving-animation/index.js.map +1 -1
  159. package/build/components/use-on-block-drop/index.js +8 -11
  160. package/build/components/use-on-block-drop/index.js.map +1 -1
  161. package/build/components/writing-flow/index.js +0 -1
  162. package/build/components/writing-flow/index.js.map +1 -1
  163. package/build/components/writing-flow/use-drag-selection.js +15 -4
  164. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  165. package/build/components/writing-flow/use-selection-observer.js +73 -27
  166. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  167. package/build/components/writing-flow/use-tab-nav.js +7 -4
  168. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  169. package/build/hooks/align.js +1 -1
  170. package/build/hooks/align.js.map +1 -1
  171. package/build/hooks/anchor.js +1 -1
  172. package/build/hooks/anchor.js.map +1 -1
  173. package/build/hooks/aria-label.js +9 -1
  174. package/build/hooks/aria-label.js.map +1 -1
  175. package/build/hooks/background.js +185 -20
  176. package/build/hooks/background.js.map +1 -1
  177. package/build/hooks/border.js +5 -10
  178. package/build/hooks/border.js.map +1 -1
  179. package/build/hooks/color.js +13 -11
  180. package/build/hooks/color.js.map +1 -1
  181. package/build/hooks/custom-class-name.js +1 -1
  182. package/build/hooks/custom-class-name.js.map +1 -1
  183. package/build/hooks/custom-class-name.native.js +9 -1
  184. package/build/hooks/custom-class-name.native.js.map +1 -1
  185. package/build/hooks/dimensions.js +4 -9
  186. package/build/hooks/dimensions.js.map +1 -1
  187. package/build/hooks/font-family.js +7 -3
  188. package/build/hooks/font-family.js.map +1 -1
  189. package/build/hooks/font-size.js +1 -1
  190. package/build/hooks/font-size.js.map +1 -1
  191. package/build/hooks/index.js +4 -4
  192. package/build/hooks/index.js.map +1 -1
  193. package/build/hooks/index.native.js +5 -3
  194. package/build/hooks/index.native.js.map +1 -1
  195. package/build/hooks/layout.js +10 -4
  196. package/build/hooks/layout.js.map +1 -1
  197. package/build/hooks/style.js +1 -1
  198. package/build/hooks/style.js.map +1 -1
  199. package/build/hooks/typography.js +4 -9
  200. package/build/hooks/typography.js.map +1 -1
  201. package/build/hooks/typography.native.js +43 -18
  202. package/build/hooks/typography.native.js.map +1 -1
  203. package/build/hooks/use-typography-props.js +10 -2
  204. package/build/hooks/use-typography-props.js.map +1 -1
  205. package/build/hooks/utils.js +48 -5
  206. package/build/hooks/utils.js.map +1 -1
  207. package/build/private-apis.js +2 -4
  208. package/build/private-apis.js.map +1 -1
  209. package/build/private-apis.native.js +0 -2
  210. package/build/private-apis.native.js.map +1 -1
  211. package/build/store/actions.js +0 -16
  212. package/build/store/actions.js.map +1 -1
  213. package/build/store/private-actions.js +51 -5
  214. package/build/store/private-actions.js.map +1 -1
  215. package/build/store/private-selectors.js +12 -0
  216. package/build/store/private-selectors.js.map +1 -1
  217. package/build/store/reducer.js +14 -6
  218. package/build/store/reducer.js.map +1 -1
  219. package/build/store/selectors.js +1 -13
  220. package/build/store/selectors.js.map +1 -1
  221. package/build/store/undo-ignore.js +12 -0
  222. package/build/store/undo-ignore.js.map +1 -0
  223. package/build/store/utils.js +1 -1
  224. package/build/store/utils.js.map +1 -1
  225. package/build/utils/get-px-from-css-unit.js +16 -0
  226. package/build/utils/get-px-from-css-unit.js.map +1 -0
  227. package/build/utils/index.js +2 -2
  228. package/build/utils/index.js.map +1 -1
  229. package/build/utils/object.js +17 -38
  230. package/build/utils/object.js.map +1 -1
  231. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  232. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  233. package/build-module/components/block-canvas/index.js +0 -2
  234. package/build-module/components/block-canvas/index.js.map +1 -1
  235. package/build-module/components/block-card/index.js +1 -1
  236. package/build-module/components/block-card/index.js.map +1 -1
  237. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  238. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  239. package/build-module/components/block-draggable/index.js +76 -6
  240. package/build-module/components/block-draggable/index.js.map +1 -1
  241. package/build-module/components/block-draggable/index.native.js +1 -7
  242. package/build-module/components/block-draggable/index.native.js.map +1 -1
  243. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  244. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  245. package/build-module/components/block-editing-mode/index.js +3 -4
  246. package/build-module/components/block-editing-mode/index.js.map +1 -1
  247. package/build-module/components/block-inspector/index.js +1 -1
  248. package/build-module/components/block-inspector/index.js.map +1 -1
  249. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  250. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  251. package/build-module/components/block-list/block.js +249 -106
  252. package/build-module/components/block-list/block.js.map +1 -1
  253. package/build-module/components/block-list/block.native.js +48 -22
  254. package/build-module/components/block-list/block.native.js.map +1 -1
  255. package/build-module/components/block-list/index.native.js +3 -5
  256. package/build-module/components/block-list/index.native.js.map +1 -1
  257. package/build-module/components/block-list/private-block-context.js +6 -0
  258. package/build-module/components/block-list/private-block-context.js.map +1 -0
  259. package/build-module/components/block-list/use-block-props/index.js +34 -97
  260. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  261. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  262. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  263. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  264. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  265. package/build-module/components/block-lock/toolbar.js +22 -28
  266. package/build-module/components/block-lock/toolbar.js.map +1 -1
  267. package/build-module/components/block-mover/index.js +2 -1
  268. package/build-module/components/block-mover/index.js.map +1 -1
  269. package/build-module/components/block-patterns-list/index.js +5 -5
  270. package/build-module/components/block-patterns-list/index.js.map +1 -1
  271. package/build-module/components/block-switcher/index.js +4 -4
  272. package/build-module/components/block-switcher/index.js.map +1 -1
  273. package/build-module/components/block-toolbar/index.js +1 -2
  274. package/build-module/components/block-toolbar/index.js.map +1 -1
  275. package/build-module/components/block-tools/block-toolbar-popover.js +0 -2
  276. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  277. package/build-module/components/block-variation-transforms/index.js +30 -3
  278. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  279. package/build-module/components/border-radius-control/linked-button.js +1 -1
  280. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  281. package/build-module/components/colors/utils.js +9 -1
  282. package/build-module/components/colors/utils.js.map +1 -1
  283. package/build-module/components/colors/with-colors.js +5 -1
  284. package/build-module/components/colors/with-colors.js.map +1 -1
  285. package/build-module/components/font-sizes/utils.js +9 -1
  286. package/build-module/components/font-sizes/utils.js.map +1 -1
  287. package/build-module/components/global-styles/border-panel.js +3 -2
  288. package/build-module/components/global-styles/border-panel.js.map +1 -1
  289. package/build-module/components/global-styles/color-panel.js +3 -2
  290. package/build-module/components/global-styles/color-panel.js.map +1 -1
  291. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  292. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  293. package/build-module/components/global-styles/effects-panel.js +3 -2
  294. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  295. package/build-module/components/global-styles/filters-panel.js +2 -5
  296. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  297. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  298. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  299. package/build-module/components/global-styles/hooks.js +3 -2
  300. package/build-module/components/global-styles/hooks.js.map +1 -1
  301. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  302. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  303. package/build-module/components/global-styles/index.js +1 -0
  304. package/build-module/components/global-styles/index.js.map +1 -1
  305. package/build-module/components/global-styles/typography-panel.js +35 -17
  306. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  307. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  308. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  309. package/build-module/components/global-styles/utils.js +7 -0
  310. package/build-module/components/global-styles/utils.js.map +1 -1
  311. package/build-module/components/height-control/index.js +6 -2
  312. package/build-module/components/height-control/index.js.map +1 -1
  313. package/build-module/components/image-size-control/index.js +2 -2
  314. package/build-module/components/image-size-control/index.js.map +1 -1
  315. package/build-module/components/index.native.js +2 -1
  316. package/build-module/components/index.native.js.map +1 -1
  317. package/build-module/components/inner-blocks/index.js +62 -23
  318. package/build-module/components/inner-blocks/index.js.map +1 -1
  319. package/build-module/components/inner-blocks/index.native.js +18 -4
  320. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  321. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  322. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  323. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  324. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  325. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  326. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  327. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  328. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  329. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  330. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  331. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  332. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  333. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  334. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  335. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  336. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  337. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  338. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  339. package/build-module/components/inserter/index.js +1 -2
  340. package/build-module/components/inserter/index.js.map +1 -1
  341. package/build-module/components/inserter/library.js +3 -7
  342. package/build-module/components/inserter/library.js.map +1 -1
  343. package/build-module/components/inserter/menu.js +14 -28
  344. package/build-module/components/inserter/menu.js.map +1 -1
  345. package/build-module/components/inserter/tabs.js +22 -22
  346. package/build-module/components/inserter/tabs.js.map +1 -1
  347. package/build-module/components/inserter-draggable-blocks/index.js +2 -2
  348. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  349. package/build-module/components/inserter-list-item/index.js +2 -4
  350. package/build-module/components/inserter-list-item/index.js.map +1 -1
  351. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  352. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  353. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  354. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  355. package/build-module/components/list-view/block-select-button.js +4 -0
  356. package/build-module/components/list-view/block-select-button.js.map +1 -1
  357. package/build-module/components/list-view/block.js +58 -4
  358. package/build-module/components/list-view/block.js.map +1 -1
  359. package/build-module/components/media-upload-progress/constants.js +7 -0
  360. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  361. package/build-module/components/media-upload-progress/index.native.js +37 -8
  362. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  363. package/build-module/components/navigable-toolbar/index.js +9 -14
  364. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  365. package/build-module/components/plain-text/index.native.js +6 -1
  366. package/build-module/components/plain-text/index.native.js.map +1 -1
  367. package/build-module/components/provider/index.js +3 -1
  368. package/build-module/components/provider/index.js.map +1 -1
  369. package/build-module/components/provider/use-block-sync.js +7 -1
  370. package/build-module/components/provider/use-block-sync.js.map +1 -1
  371. package/build-module/components/rich-text/index.js +17 -7
  372. package/build-module/components/rich-text/index.js.map +1 -1
  373. package/build-module/components/rich-text/native/index.native.js +16 -23
  374. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  375. package/build-module/components/rich-text/use-input-rules.js +2 -2
  376. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  377. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  378. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  379. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  380. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  381. package/build-module/components/url-input/index.js +9 -6
  382. package/build-module/components/url-input/index.js.map +1 -1
  383. package/build-module/components/use-block-commands/index.js +14 -18
  384. package/build-module/components/use-block-commands/index.js.map +1 -1
  385. package/build-module/components/use-block-drop-zone/index.js +51 -23
  386. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  387. package/build-module/components/use-moving-animation/index.js +102 -94
  388. package/build-module/components/use-moving-animation/index.js.map +1 -1
  389. package/build-module/components/use-on-block-drop/index.js +8 -11
  390. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  391. package/build-module/components/writing-flow/index.js +0 -1
  392. package/build-module/components/writing-flow/index.js.map +1 -1
  393. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  394. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  395. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  396. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  397. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  398. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  399. package/build-module/hooks/align.js +1 -1
  400. package/build-module/hooks/align.js.map +1 -1
  401. package/build-module/hooks/anchor.js +1 -1
  402. package/build-module/hooks/anchor.js.map +1 -1
  403. package/build-module/hooks/aria-label.js +7 -1
  404. package/build-module/hooks/aria-label.js.map +1 -1
  405. package/build-module/hooks/background.js +181 -19
  406. package/build-module/hooks/background.js.map +1 -1
  407. package/build-module/hooks/border.js +2 -8
  408. package/build-module/hooks/border.js.map +1 -1
  409. package/build-module/hooks/color.js +11 -9
  410. package/build-module/hooks/color.js.map +1 -1
  411. package/build-module/hooks/custom-class-name.js +1 -1
  412. package/build-module/hooks/custom-class-name.js.map +1 -1
  413. package/build-module/hooks/custom-class-name.native.js +7 -1
  414. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  415. package/build-module/hooks/dimensions.js +1 -7
  416. package/build-module/hooks/dimensions.js.map +1 -1
  417. package/build-module/hooks/font-family.js +6 -2
  418. package/build-module/hooks/font-family.js.map +1 -1
  419. package/build-module/hooks/font-size.js +1 -1
  420. package/build-module/hooks/font-size.js.map +1 -1
  421. package/build-module/hooks/index.js +5 -5
  422. package/build-module/hooks/index.js.map +1 -1
  423. package/build-module/hooks/index.native.js +6 -4
  424. package/build-module/hooks/index.native.js.map +1 -1
  425. package/build-module/hooks/layout.js +9 -3
  426. package/build-module/hooks/layout.js.map +1 -1
  427. package/build-module/hooks/style.js +1 -1
  428. package/build-module/hooks/style.js.map +1 -1
  429. package/build-module/hooks/typography.js +1 -7
  430. package/build-module/hooks/typography.js.map +1 -1
  431. package/build-module/hooks/typography.native.js +43 -17
  432. package/build-module/hooks/typography.native.js.map +1 -1
  433. package/build-module/hooks/use-typography-props.js +9 -1
  434. package/build-module/hooks/use-typography-props.js.map +1 -1
  435. package/build-module/hooks/utils.js +47 -5
  436. package/build-module/hooks/utils.js.map +1 -1
  437. package/build-module/private-apis.js +2 -4
  438. package/build-module/private-apis.js.map +1 -1
  439. package/build-module/private-apis.native.js +0 -2
  440. package/build-module/private-apis.native.js.map +1 -1
  441. package/build-module/store/actions.js +0 -15
  442. package/build-module/store/actions.js.map +1 -1
  443. package/build-module/store/private-actions.js +49 -4
  444. package/build-module/store/private-actions.js.map +1 -1
  445. package/build-module/store/private-selectors.js +11 -0
  446. package/build-module/store/private-selectors.js.map +1 -1
  447. package/build-module/store/reducer.js +14 -6
  448. package/build-module/store/reducer.js.map +1 -1
  449. package/build-module/store/selectors.js +1 -12
  450. package/build-module/store/selectors.js.map +1 -1
  451. package/build-module/store/undo-ignore.js +5 -0
  452. package/build-module/store/undo-ignore.js.map +1 -0
  453. package/build-module/store/utils.js +2 -2
  454. package/build-module/store/utils.js.map +1 -1
  455. package/build-module/utils/get-px-from-css-unit.js +9 -0
  456. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  457. package/build-module/utils/index.js +1 -1
  458. package/build-module/utils/index.js.map +1 -1
  459. package/build-module/utils/object.js +16 -37
  460. package/build-module/utils/object.js.map +1 -1
  461. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  462. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  463. package/build-style/content-rtl.css +7 -6
  464. package/build-style/content.css +7 -6
  465. package/build-style/style-rtl.css +51 -8
  466. package/build-style/style.css +51 -8
  467. package/package.json +31 -31
  468. package/src/components/alignment-control/README.md +0 -5
  469. package/src/components/block-alignment-control/README.md +0 -5
  470. package/src/components/block-alignment-matrix-control/README.md +0 -10
  471. package/src/components/block-breadcrumb/README.md +0 -5
  472. package/src/components/block-canvas/index.js +0 -2
  473. package/src/components/block-canvas/style.scss +6 -0
  474. package/src/components/block-caption/README.md +0 -5
  475. package/src/components/block-card/README.md +0 -5
  476. package/src/components/block-card/index.js +1 -1
  477. package/src/components/block-draggable/draggable-chip.js +11 -1
  478. package/src/components/block-draggable/index.js +116 -4
  479. package/src/components/block-draggable/index.native.js +0 -5
  480. package/src/components/block-draggable/style.scss +35 -0
  481. package/src/components/block-draggable/test/helpers.native.js +8 -7
  482. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  483. package/src/components/block-editing-mode/index.js +3 -3
  484. package/src/components/block-icon/README.md +0 -5
  485. package/src/components/block-inspector/README.md +0 -5
  486. package/src/components/block-inspector/index.js +3 -1
  487. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  488. package/src/components/block-list/block.js +290 -119
  489. package/src/components/block-list/block.native.js +55 -21
  490. package/src/components/block-list/content.scss +14 -10
  491. package/src/components/block-list/index.native.js +3 -5
  492. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  493. package/src/components/block-list/use-block-props/index.js +32 -128
  494. package/src/components/block-list/use-in-between-inserter.js +4 -1
  495. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  496. package/src/components/block-lock/toolbar.js +23 -34
  497. package/src/components/block-mover/README.md +0 -5
  498. package/src/components/block-mover/index.js +1 -1
  499. package/src/components/block-parent-selector/README.md +0 -5
  500. package/src/components/block-patterns-list/README.md +0 -5
  501. package/src/components/block-patterns-list/index.js +8 -5
  502. package/src/components/block-switcher/index.js +49 -59
  503. package/src/components/block-toolbar/README.md +0 -5
  504. package/src/components/block-toolbar/index.js +1 -2
  505. package/src/components/block-tools/block-toolbar-popover.js +4 -10
  506. package/src/components/block-types-list/README.md +0 -5
  507. package/src/components/block-variation-picker/README.md +0 -5
  508. package/src/components/block-variation-transforms/README.md +0 -5
  509. package/src/components/block-variation-transforms/index.js +49 -3
  510. package/src/components/border-radius-control/linked-button.js +1 -1
  511. package/src/components/caption/README.md +0 -5
  512. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  513. package/src/components/colors/utils.js +8 -1
  514. package/src/components/colors/with-colors.js +3 -1
  515. package/src/components/contrast-checker/README.md +0 -4
  516. package/src/components/copy-handler/README.md +0 -10
  517. package/src/components/font-sizes/utils.js +7 -1
  518. package/src/components/global-styles/border-panel.js +2 -1
  519. package/src/components/global-styles/color-panel.js +2 -1
  520. package/src/components/global-styles/dimensions-panel.js +4 -3
  521. package/src/components/global-styles/effects-panel.js +2 -1
  522. package/src/components/global-styles/filters-panel.js +2 -5
  523. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  524. package/src/components/global-styles/hooks.js +5 -0
  525. package/src/components/global-styles/image-settings-panel.js +6 -0
  526. package/src/components/global-styles/index.js +1 -0
  527. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  528. package/src/components/global-styles/typography-panel.js +47 -14
  529. package/src/components/global-styles/use-global-styles-output.js +9 -5
  530. package/src/components/global-styles/utils.js +7 -0
  531. package/src/components/height-control/README.md +2 -7
  532. package/src/components/height-control/index.js +4 -0
  533. package/src/components/image-size-control/index.js +5 -2
  534. package/src/components/index.native.js +2 -2
  535. package/src/components/inner-blocks/index.js +68 -29
  536. package/src/components/inner-blocks/index.native.js +19 -7
  537. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  538. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  539. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  540. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  541. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  542. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  543. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  544. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  545. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  546. package/src/components/inserter/index.js +0 -1
  547. package/src/components/inserter/library.js +2 -8
  548. package/src/components/inserter/menu.js +13 -31
  549. package/src/components/inserter/style.scss +6 -4
  550. package/src/components/inserter/tabs.js +34 -25
  551. package/src/components/inserter-draggable-blocks/index.js +2 -2
  552. package/src/components/inserter-list-item/index.js +6 -6
  553. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  554. package/src/components/inspector-controls-tabs/index.js +39 -28
  555. package/src/components/inspector-controls-tabs/style.scss +3 -2
  556. package/src/components/letter-spacing-control/README.md +0 -5
  557. package/src/components/line-height-control/README.md +0 -5
  558. package/src/components/list-view/README.md +0 -5
  559. package/src/components/list-view/block-select-button.js +4 -0
  560. package/src/components/list-view/block.js +73 -2
  561. package/src/components/list-view/style.scss +6 -0
  562. package/src/components/media-upload-progress/constants.js +6 -0
  563. package/src/components/media-upload-progress/index.native.js +66 -14
  564. package/src/components/media-upload-progress/test/index.native.js +2 -2
  565. package/src/components/multi-selection-inspector/README.md +0 -5
  566. package/src/components/navigable-toolbar/index.js +13 -11
  567. package/src/components/plain-text/index.native.js +6 -1
  568. package/src/components/provider/index.js +1 -1
  569. package/src/components/provider/test/use-block-sync.js +20 -17
  570. package/src/components/provider/use-block-sync.js +6 -0
  571. package/src/components/rich-text/index.js +18 -6
  572. package/src/components/rich-text/native/index.native.js +16 -24
  573. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  574. package/src/components/rich-text/native/test/index.native.js +72 -5
  575. package/src/components/rich-text/use-input-rules.js +2 -2
  576. package/src/components/rich-text/use-mark-persistent.js +1 -2
  577. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  578. package/src/components/text-decoration-control/README.md +40 -0
  579. package/src/components/text-transform-control/README.md +0 -4
  580. package/src/components/ungroup-button/README.md +0 -5
  581. package/src/components/unit-control/README.md +0 -4
  582. package/src/components/url-input/index.js +11 -11
  583. package/src/components/use-block-commands/index.js +18 -21
  584. package/src/components/use-block-drop-zone/index.js +85 -34
  585. package/src/components/use-moving-animation/index.js +107 -103
  586. package/src/components/use-on-block-drop/index.js +7 -23
  587. package/src/components/use-on-block-drop/test/index.js +12 -26
  588. package/src/components/use-resize-canvas/README.md +0 -4
  589. package/src/components/use-settings/README.md +0 -4
  590. package/src/components/writing-flow/index.js +0 -1
  591. package/src/components/writing-flow/use-drag-selection.js +18 -4
  592. package/src/components/writing-flow/use-selection-observer.js +99 -37
  593. package/src/components/writing-flow/use-tab-nav.js +7 -7
  594. package/src/hooks/align.js +1 -5
  595. package/src/hooks/anchor.js +1 -5
  596. package/src/hooks/aria-label.js +8 -5
  597. package/src/hooks/background.js +253 -21
  598. package/src/hooks/border.js +2 -13
  599. package/src/hooks/color.js +19 -14
  600. package/src/hooks/custom-class-name.js +1 -5
  601. package/src/hooks/custom-class-name.native.js +8 -5
  602. package/src/hooks/dimensions.js +1 -7
  603. package/src/hooks/font-family.js +4 -7
  604. package/src/hooks/font-size.js +1 -6
  605. package/src/hooks/index.js +19 -5
  606. package/src/hooks/index.native.js +17 -4
  607. package/src/hooks/layout.js +5 -2
  608. package/src/hooks/style.js +1 -6
  609. package/src/hooks/test/anchor.js +4 -9
  610. package/src/hooks/test/custom-class-name.js +3 -8
  611. package/src/hooks/test/style.js +4 -14
  612. package/src/hooks/typography.js +1 -7
  613. package/src/hooks/typography.native.js +31 -33
  614. package/src/hooks/use-typography-props.js +7 -1
  615. package/src/hooks/utils.js +76 -6
  616. package/src/private-apis.js +2 -4
  617. package/src/private-apis.native.js +0 -2
  618. package/src/store/actions.js +0 -15
  619. package/src/store/private-actions.js +44 -4
  620. package/src/store/private-selectors.js +11 -0
  621. package/src/store/reducer.js +16 -5
  622. package/src/store/selectors.js +5 -13
  623. package/src/store/undo-ignore.js +4 -0
  624. package/src/store/utils.js +2 -2
  625. package/src/style.scss +1 -0
  626. package/src/utils/get-px-from-css-unit.js +8 -0
  627. package/src/utils/index.js +1 -1
  628. package/src/utils/object.js +16 -35
  629. package/src/utils/test/object.js +1 -96
  630. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  631. package/build/components/block-list/block-list-block-context.js +0 -14
  632. package/build/components/block-list/block-list-block-context.js.map +0 -1
  633. package/build/hooks/custom-fields.js +0 -106
  634. package/build/hooks/custom-fields.js.map +0 -1
  635. package/build/utils/parse-css-unit-to-px.js +0 -302
  636. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  637. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  638. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  639. package/build-module/components/block-list/block-list-block-context.js +0 -6
  640. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  641. package/build-module/hooks/custom-fields.js +0 -99
  642. package/build-module/hooks/custom-fields.js.map +0 -1
  643. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  644. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  645. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  646. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  647. package/src/hooks/custom-fields.js +0 -115
  648. package/src/utils/parse-css-unit-to-px.js +0 -329
  649. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  650. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_blockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","classnames","style","Block","children","isHtml","props","_react","createElement","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","themeSupportsLayout","isTemporarilyEditingAsBlocks","blockEditingMode","mayDisplayControls","mayDisplayParentControls","useSelect","select","getSettings","__unstableGetTemporarilyEditingAsBlocks","getBlockEditingMode","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","hasSelectedInnerBlock","blockEditorStore","hasBlockSupport","blocksStore","supportsLayout","every","id","removeBlock","useDispatch","onRemove","useCallback","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockType","getBlockType","tabIndex","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","value","memoizedValue","useMemo","values","BlockListBlockContext","Provider","fallback","applyWithSelect","withSelect","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","key","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","isUnmodifiedDefaultBlock","replacementBlocks","Array","isArray","selectionEnabled","_default","compose","pure","ifCondition","withFilters","exports"],"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 { useMemo, useCallback, RawHTML } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport {\n\twithDispatch,\n\twithSelect,\n\tuseDispatch,\n\tuseSelect,\n} from '@wordpress/data';\nimport { compose, pure, ifCondition } 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 { BlockListBlockContext } from './block-list-block-context';\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\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\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\t\t\t} = select( blockEditorStore );\n\t\t\tconst { hasBlockSupport } = select( blocksStore );\n\t\t\treturn {\n\t\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\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\tmayDisplayParentControls:\n\t\t\t\t\thasBlockSupport(\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};\n\t\t},\n\t\t[ clientId, isSelected, name ]\n\t);\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\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/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\tif ( blockEditingMode === 'disabled' ) {\n\t\twrapperProps = {\n\t\t\t...wrapperProps,\n\t\t\ttabIndex: -1,\n\t\t};\n\t}\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 { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName: classnames(\n\t\t\t{\n\t\t\t\t'is-editing-disabled': blockEditingMode === 'disabled',\n\t\t\t\t'is-content-locked-temporarily-editing-as-blocks':\n\t\t\t\t\tisTemporarilyEditingAsBlocks,\n\t\t\t},\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t\twrapperProps: restWrapperProps,\n\t\tisAligned,\n\t};\n\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\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</BlockListBlockContext.Provider>\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\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( 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, attributes, 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\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\nexport default compose(\n\tpure,\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":["_classnames","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_privateBlockContext","_lockUnlock","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","classnames","style","Block","children","isHtml","props","_react","createElement","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","useContext","PrivateBlockContext","removeBlock","useDispatch","blockEditorStore","onRemove","useCallback","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockType","getBlockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","Provider","value","fallback","applyWithDispatch","withDispatch","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","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","every","key","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","isUnmodifiedDefaultBlock","replacementBlocks","Array","isArray","selectionEnabled","compose","withFilters","BlockListBlockProvider","selectedProps","useSelect","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","getSettings","__unstableGetTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","isTyping","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","hasBlockMovingClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","unlock","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blocksStore","_isSelected","templateLock","canMove","blockName","match","outlineMode","supportsLayout","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","typing","hasLightBlockWrapper","movingClientId","isTemporarilyEditingAsBlocks","blockEditingMode","id","blockApiVersion","blockTitle","title","isSubtreeDisabled","isOutlineEnabled","hasOverlay","isHighlighted","isPartiallySelected","isReusable","isReusableBlock","isDragging","hasChildSelected","removeOutline","isBlockMovingMode","canInsertMovingBlock","isEditingDisabled","defaultClassName","getBlockDefaultClassName","privateContext","_default","pure","exports"],"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 { useCallback, RawHTML, useContext } 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, pure } 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( () => removeBlock( clientId ), [ clientId ] );\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/>\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\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 {\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\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 necesssary 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\t__unstableGetBlockWithoutInnerBlocks,\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\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\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 block = __unstableGetBlockWithoutInnerBlocks( 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 ( ! block ) {\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 templateLock = getTemplateLock( rootClientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\t\t\tconst canMove = canMoveBlock( clientId, rootClientId );\n\t\t\tconst { name: blockName, attributes, isValid } = block;\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\n\t\t\treturn {\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! templateLock,\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t\t\t// access the block prop.\n\t\t\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t\t\t// This is kept for backward compatibility reasons.\n\t\t\t\tblock,\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: getBlockEditingMode( clientId ),\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: isBlockSubtreeDisabled( clientId ),\n\t\t\t\tisOutlineEnabled: outlineMode,\n\t\t\t\thasOverlay: __unstableHasActiveBlockOverlayActive( clientId ),\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\tgetBlockRootClientId( clientId )\n\t\t\t\t\t),\n\t\t\t\tisEditingDisabled:\n\t\t\t\t\tgetBlockEditingMode( clientId ) === '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\tblock,\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\tisEditingDisabled,\n\t\tclassName,\n\t\tdefaultClassName,\n\t} = selectedProps;\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\tisEditingDisabled,\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 pure( BlockListBlockProvider );\n"],"mappings":"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"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = require("react");
9
9
  var _reactNative = require("react-native");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
10
11
  var _element = require("@wordpress/element");
11
12
  var _components = require("@wordpress/components");
12
13
  var _blocks = require("@wordpress/blocks");
@@ -18,6 +19,7 @@ var _blockInvalidWarning = _interopRequireDefault(require("./block-invalid-warni
18
19
  var _blockOutline = _interopRequireDefault(require("./block-outline"));
19
20
  var _store = require("../../store");
20
21
  var _layout = require("./layout");
22
+ var _useScrollUponInsertion = _interopRequireDefault(require("./use-scroll-upon-insertion"));
21
23
  var _useSettings = require("../use-settings");
22
24
  /**
23
25
  * External dependencies
@@ -33,20 +35,31 @@ var _useSettings = require("../use-settings");
33
35
 
34
36
  const EMPTY_ARRAY = [];
35
37
 
36
- // Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference.
37
- const wrapperPropsCache = new WeakMap();
38
- const emptyObj = {};
39
- function getWrapperProps(value, getWrapperPropsFunction) {
40
- if (!getWrapperPropsFunction) {
41
- return emptyObj;
38
+ /**
39
+ * Merges wrapper props with special handling for classNames and styles.
40
+ *
41
+ * @param {Object} propsA
42
+ * @param {Object} propsB
43
+ *
44
+ * @return {Object} Merged props.
45
+ */
46
+ function mergeWrapperProps(propsA, propsB) {
47
+ const newProps = {
48
+ ...propsA,
49
+ ...propsB
50
+ };
51
+
52
+ // May be set to undefined, so check if the property is set!
53
+ if (propsA?.hasOwnProperty('className') && propsB?.hasOwnProperty('className')) {
54
+ newProps.className = (0, _classnames.default)(propsA.className, propsB.className);
42
55
  }
43
- const cachedValue = wrapperPropsCache.get(value);
44
- if (!cachedValue) {
45
- const wrapperProps = getWrapperPropsFunction(value);
46
- wrapperPropsCache.set(value, wrapperProps);
47
- return wrapperProps;
56
+ if (propsA?.hasOwnProperty('style') && propsB?.hasOwnProperty('style')) {
57
+ newProps.style = {
58
+ ...propsA.style,
59
+ ...propsB.style
60
+ };
48
61
  }
49
- return cachedValue;
62
+ return newProps;
50
63
  }
51
64
  function BlockWrapper({
52
65
  accessibilityLabel,
@@ -73,13 +86,26 @@ function BlockWrapper({
73
86
  marginHorizontal
74
87
  }];
75
88
  const accessible = !(isSelected || isDescendentBlockSelected);
89
+ const ref = (0, _element.useRef)();
90
+ const [isLayoutCalculated, setIsLayoutCalculated] = (0, _element.useState)();
91
+ (0, _useScrollUponInsertion.default)({
92
+ clientId,
93
+ isSelected,
94
+ isLayoutCalculated,
95
+ elementRef: ref
96
+ });
97
+ const onLayout = (0, _element.useCallback)(() => {
98
+ setIsLayoutCalculated(true);
99
+ }, []);
76
100
  return (0, _react.createElement)(_reactNative.Pressable, {
77
101
  accessibilityLabel: accessibilityLabel,
78
102
  accessibilityRole: "button",
79
103
  accessible: accessible,
80
104
  disabled: !isTouchable,
81
105
  onPress: onFocus,
82
- style: blockWrapperStyle
106
+ style: blockWrapperStyle,
107
+ ref: ref,
108
+ onLayout: onLayout
83
109
  }, (0, _react.createElement)(_blockOutline.default, {
84
110
  blockCategory: blockCategory,
85
111
  hasInnerBlocks: hasInnerBlocks,
@@ -115,7 +141,8 @@ function BlockListBlock({
115
141
  parentWidth,
116
142
  rootClientId,
117
143
  setAttributes,
118
- toggleSelection
144
+ toggleSelection,
145
+ wrapperProps
119
146
  }) {
120
147
  const {
121
148
  baseGlobalStyles,
@@ -205,15 +232,14 @@ function BlockListBlock({
205
232
  }
206
233
  }, [blockWidth, setBlockWidth]);
207
234
 
208
- // Block level styles.
209
- let wrapperProps = {};
235
+ // Determine whether the block has props to apply to the wrapper.
210
236
  if (blockType?.getEditWrapperProps) {
211
- wrapperProps = getWrapperProps(attributes, blockType.getEditWrapperProps);
237
+ wrapperProps = mergeWrapperProps(wrapperProps, blockType.getEditWrapperProps(attributes));
212
238
  }
213
239
 
214
240
  // Inherited styles merged with block level styles.
215
241
  const mergedStyle = (0, _element.useMemo)(() => {
216
- return (0, _components.getMergedGlobalStyles)(baseGlobalStyles, globalStyle, wrapperProps.style, attributes, defaultColors, name, fontSizes || EMPTY_ARRAY);
242
+ return (0, _components.getMergedGlobalStyles)(baseGlobalStyles, globalStyle, wrapperProps?.style, attributes, defaultColors, name, fontSizes || EMPTY_ARRAY);
217
243
  // eslint-disable-next-line react-hooks/exhaustive-deps
218
244
  }, [
219
245
  // It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.
@@ -226,7 +252,7 @@ function BlockListBlock({
226
252
  // eslint-disable-next-line react-hooks/exhaustive-deps
227
253
  JSON.stringify(globalStyle),
228
254
  // eslint-disable-next-line react-hooks/exhaustive-deps
229
- JSON.stringify(wrapperProps.style),
255
+ JSON.stringify(wrapperProps?.style),
230
256
  // eslint-disable-next-line react-hooks/exhaustive-deps
231
257
  JSON.stringify(Object.fromEntries(Object.entries(attributes !== null && attributes !== void 0 ? attributes : {}).filter(([key]) => _components.GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes(key))))]);
232
258
  const isFocused = isSelected || isDescendentBlockSelected;
@@ -497,6 +523,6 @@ var _default = (0, _compose.compose)(_compose.pure, applyWithSelect, applyWithDi
497
523
  // https://github.com/WordPress/gutenberg/issues/17013
498
524
  (0, _compose.ifCondition)(({
499
525
  block
500
- }) => !!block))(BlockListBlock);
526
+ }) => !!block), (0, _components.withFilters)('editor.BlockListBlock'))(BlockListBlock);
501
527
  exports.default = _default;
502
528
  //# sourceMappingURL=block.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_components","_blocks","_data","_compose","_blockEdit","_interopRequireDefault","_blockDraggable","_blockInvalidWarning","_blockOutline","_store","_layout","_useSettings","EMPTY_ARRAY","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","get","wrapperProps","set","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isRootList","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","_react","createElement","Pressable","accessibilityRole","disabled","onPress","style","default","enabled","testID","BlockListBlock","attributes","blockWidth","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isStackedHorizontally","isValid","onDeleteBlock","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","baseGlobalStyles","blockType","isDescendantOfParentSelected","isParentSelected","order","mayDisplayControls","useSelect","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","blockEditorStore","currentBlockType","getBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","useDispatch","initialBlockWidth","setBlockWidth","useState","parentLayout","useLayout","defaultColors","useMobileGlobalStylesColors","globalStyle","useGlobalStyles","fontSizes","useSettings","onRemove","useCallback","onLayout","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","useMemo","getMergedGlobalStyles","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","getAccessibleBlockLabel","Provider","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","View","applyWithSelect","withSelect","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","isUnmodifiedDefaultBlock","selectionEnabled","_default","compose","pure","ifCondition","exports"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\tuseMobileGlobalStylesColors,\n\tuseGlobalStyles,\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, pure } 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 { useSettings } from '../use-settings';\n\nconst EMPTY_ARRAY = [];\n\n// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference.\nconst wrapperPropsCache = new WeakMap();\nconst emptyObj = {};\nfunction getWrapperProps( value, getWrapperPropsFunction ) {\n\tif ( ! getWrapperPropsFunction ) {\n\t\treturn emptyObj;\n\t}\n\tconst cachedValue = wrapperPropsCache.get( value );\n\tif ( ! cachedValue ) {\n\t\tconst wrapperProps = getWrapperPropsFunction( value );\n\t\twrapperPropsCache.set( value, wrapperProps );\n\t\treturn wrapperProps;\n\t}\n\treturn cachedValue;\n}\n\nfunction BlockWrapper( {\n\taccessibilityLabel,\n\tblockCategory,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\thasInnerBlocks,\n\tisDescendentBlockSelected,\n\tisRootList,\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\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>\n\t\t\t<BlockOutline\n\t\t\t\tblockCategory={ blockCategory }\n\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\tisRootList={ isRootList }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockDraggable\n\t\t\t\tclientId={ clientId }\n\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</BlockDraggable>\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} ) {\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} = 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} = 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};\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// Block level styles.\n\tlet wrapperProps = {};\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = getWrapperProps(\n\t\t\tattributes,\n\t\t\tblockType.getEditWrapperProps\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\tisRootList={ ! rootClientId }\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/>\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\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( 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, attributes, 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\tpure,\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)( BlockListBlock );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_classnames","_interopRequireDefault","_element","_components","_blocks","_data","_compose","_blockEdit","_blockDraggable","_blockInvalidWarning","_blockOutline","_store","_layout","_useScrollUponInsertion","_useSettings","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","classnames","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isRootList","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","useRef","isLayoutCalculated","setIsLayoutCalculated","useState","useScrollUponInsertion","elementRef","onLayout","useCallback","_react","createElement","Pressable","accessibilityRole","disabled","onPress","default","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","useSelect","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","blockEditorStore","currentBlockType","getBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","useDispatch","initialBlockWidth","setBlockWidth","parentLayout","useLayout","defaultColors","useMobileGlobalStylesColors","globalStyle","useGlobalStyles","fontSizes","useSettings","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","useMemo","getMergedGlobalStyles","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","getAccessibleBlockLabel","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","View","applyWithSelect","withSelect","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","isUnmodifiedBlock","batch","replacement","switchToBlockType","getDefaultBlockName","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","isUnmodifiedDefaultBlock","selectionEnabled","_default","compose","pure","ifCondition","withFilters","exports"],"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 { useCallback, useMemo, useState, useRef } 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, pure } 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';\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\tisRootList,\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\tisRootList={ isRootList }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockDraggable\n\t\t\t\tclientId={ clientId }\n\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</BlockDraggable>\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} = 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} = 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};\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\tisRootList={ ! rootClientId }\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/>\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\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( 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, attributes, 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\tpure,\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":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAOA,IAAAK,OAAA,GAAAL,OAAA;AAQA,IAAAM,KAAA,GAAAN,OAAA;AAMA,IAAAO,QAAA,GAAAP,OAAA;AAKA,IAAAQ,UAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,eAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,oBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,aAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,uBAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,YAAA,GAAAf,OAAA;AA3CA;AACA;AACA;;AAIA;AACA;AACA;;AAyBA;AACA;AACA;;AAUA,MAAMgB,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,iBAAiBA,CAAEC,MAAM,EAAEC,MAAM,EAAG;EAC5C,MAAMC,QAAQ,GAAG;IAChB,GAAGF,MAAM;IACT,GAAGC;EACJ,CAAC;;EAED;EACA,IACCD,MAAM,EAAEG,cAAc,CAAE,WAAY,CAAC,IACrCF,MAAM,EAAEE,cAAc,CAAE,WAAY,CAAC,EACpC;IACDD,QAAQ,CAACE,SAAS,GAAG,IAAAC,mBAAU,EAAEL,MAAM,CAACI,SAAS,EAAEH,MAAM,CAACG,SAAU,CAAC;EACtE;EAEA,IACCJ,MAAM,EAAEG,cAAc,CAAE,OAAQ,CAAC,IACjCF,MAAM,EAAEE,cAAc,CAAE,OAAQ,CAAC,EAChC;IACDD,QAAQ,CAACI,KAAK,GAAG;MAAE,GAAGN,MAAM,CAACM,KAAK;MAAE,GAAGL,MAAM,CAACK;IAAM,CAAC;EACtD;EAEA,OAAOJ,QAAQ;AAChB;AAEA,SAASK,YAAYA,CAAE;EACtBC,kBAAkB;EAClBC,aAAa;EACbC,QAAQ;EACRC,QAAQ;EACRC,gBAAgB;EAChBC,eAAe;EACfC,cAAc;EACdC,yBAAyB;EACzBC,UAAU;EACVC,UAAU;EACVC,WAAW;EACXC,gBAAgB;EAChBC,cAAc;EACdC,IAAI;EACJC;AACD,CAAC,EAAG;EACH,MAAMC,kBAAkB,GAAG;IAAEC,IAAI,EAAE;EAAE,CAAC;EACtC,MAAMC,iBAAiB,GAAG,CACzBF,kBAAkB,EAClB;IACCH,cAAc;IACdD;EACD,CAAC,CACD;EACD,MAAMO,UAAU,GAAG,EAAIT,UAAU,IAAIF,yBAAyB,CAAE;EAEhE,MAAMY,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EACpB,MAAM,CAAEC,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAChE,IAAAC,+BAAsB,EAAE;IACvBrB,QAAQ;IACRM,UAAU;IACVY,kBAAkB;IAClBI,UAAU,EAAEN;EACb,CAAE,CAAC;EACH,MAAMO,QAAQ,GAAG,IAAAC,oBAAW,EAAE,MAAM;IACnCL,qBAAqB,CAAE,IAAK,CAAC;EAC9B,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACxD,YAAA,CAAAyD,SAAS;IACT9B,kBAAkB,EAAGA,kBAAoB;IACzC+B,iBAAiB,EAAC,QAAQ;IAC1Bb,UAAU,EAAGA,UAAY;IACzBc,QAAQ,EAAG,CAAEtB,WAAa;IAC1BuB,OAAO,EAAGnB,OAAS;IACnBhB,KAAK,EAAGmB,iBAAmB;IAC3BE,GAAG,EAAGA,GAAK;IACXO,QAAQ,EAAGA;EAAU,GAErB,IAAAE,MAAA,CAAAC,aAAA,EAAC5C,aAAA,CAAAiD,OAAY;IACZjC,aAAa,EAAGA,aAAe;IAC/BK,cAAc,EAAGA,cAAgB;IACjCE,UAAU,EAAGA,UAAY;IACzBC,UAAU,EAAGA,UAAY;IACzBI,IAAI,EAAGA;EAAM,CACb,CAAC,EACF,IAAAe,MAAA,CAAAC,aAAA,EAAC9C,eAAA,CAAAmD,OAAc;IACd/B,QAAQ,EAAGA,QAAU;IACrBC,gBAAgB,EAAGA,gBAAkB;IACrC+B,OAAO,EAAG9B,eAAiB;IAC3B+B,MAAM,EAAC;EAA2B,GAEhClC,QACa,CACN,CAAC;AAEd;AAEA,SAASmC,cAAcA,CAAE;EACxBC,UAAU;EACVC,UAAU,EAAEC,iBAAiB;EAC7BC,SAAS;EACTtC,QAAQ;EACRuC,YAAY;EACZC,QAAQ;EACRlC,UAAU;EACVmC,kBAAkB;EAClBC,qBAAqB;EACrBC,OAAO;EACPnC,gBAAgB;EAChBC,cAAc;EACdC,IAAI;EACJkC,aAAa;EACbC,mBAAmB;EACnBC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,WAAW;EACXC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,gBAAgB;IAChBxD,aAAa;IACbyD,SAAS;IACTtD,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdqD,4BAA4B;IAC5BpD,yBAAyB;IACzBqD,gBAAgB;IAChBC,KAAK;IACLC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IACb,MAAM;MACLC,aAAa;MACbC,6BAA6B;MAC7BC,aAAa;MACbC,eAAe;MACfC,wBAAwB;MACxBC,WAAW;MACXC,qBAAqB;MACrBC,YAAY;MACZC,yBAAyB;MACzBC;IACD,CAAC,GAAGV,MAAM,CAAEW,YAAiB,CAAC;IAC9B,MAAMC,gBAAgB,GAAG,IAAAC,oBAAY,EAAEhE,IAAI,IAAI,cAAe,CAAC;IAC/D,MAAMiE,oBAAoB,GAAGF,gBAAgB,EAAEG,QAAQ;IACvD,MAAMC,UAAU,GAAGb,aAAa,CAAEhE,QAAS,CAAC;IAC5C,MAAM8E,uBAAuB,GAAGV,qBAAqB,CACpDpE,QAAQ,EACR,IACD,CAAC;IACD,MAAM+E,qBAAqB,GAAGb,wBAAwB,CAAC,CAAC;IAExD,MAAMc,OAAO,GAAGf,eAAe,CAAEjE,QAAQ,EAAE,IAAK,CAAC;IACjD,MAAMiF,cAAc;IACnB;IACA,CAAEF,qBAAqB,IAAI,KAAK,KAChCA,qBAAqB,KAAK7B,YAAY;IAEvC,MAAMgC,eAAe,GAAGlF,QAAQ,GAAGgF,OAAO,GAAG,EAAE;IAC/C,MAAMG,0BAA0B,GAC/BD,eAAe,CAACE,QAAQ,CAAElC,YAAa,CAAC;IACzC,MAAMmC,mBAAmB,GAAGvB,aAAa,CAAE9D,QAAS,CAAC,GAAG,CAAC;;IAEzD;IACA;IACA;IACA,MAAMsF,iBAAiB,GACtB,CAAED,mBAAmB,IACrB/E,UAAU,IACV,CAAEwE,uBAAuB;IAC1B;IACA;IACA,MAAMS,uBAAuB,GAC5BxB,6BAA6B,CAAE/D,QAAS,CAAC;IAE1C,MAAMwF,sBAAsB,GAC3BrB,WAAW,CAAC,CAAC,EAAEsB,oCAAoC;IAEpD,OAAO;MACNnC,gBAAgB,EAAEkC,sBAAsB;MACxC1F,aAAa,EAAE6E,oBAAoB;MACnCpB,SAAS,EAAEkB,gBAAgB;MAC3BxE,gBAAgB,EAAEsF,uBAAuB;MACzCrF,eAAe,EAAEoF,iBAAiB;MAClCnF,cAAc,EAAEkF,mBAAmB;MACnC7B,4BAA4B,EAAE2B,0BAA0B;MACxD/E,yBAAyB,EAAE0E,uBAAuB;MAClDrB,gBAAgB,EAAEwB,cAAc;MAChCvB,KAAK,EAAEmB,UAAU;MACjBlB,kBAAkB,EACjBrD,UAAU,IACRgE,yBAAyB,CAAEtE,QAAS,CAAC,IACtCuE,8BAA8B,CAAC,CAAC,CAACmB,KAAK,CACnCC,EAAE,IAAMtB,YAAY,CAAEsB,EAAG,CAAC,KAAKjF,IAClC;IACH,CAAC;EACF,CAAC,EACD,CAAEV,QAAQ,EAAEM,UAAU,EAAEI,IAAI,EAAEwC,YAAY,CAC3C,CAAC;EACD,MAAM;IAAE0C,WAAW;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEtB,YAAiB,CAAC;EACpE,MAAMuB,iBAAiB,GAAG1D,iBAAiB,GAAG,CAAC,GAAG7B,gBAAgB;EAClE,MAAM,CAAE4B,UAAU,EAAE4D,aAAa,CAAE,GAAG,IAAA5E,iBAAQ,EAAE2E,iBAAkB,CAAC;EACnE,MAAME,YAAY,GAAG,IAAAC,iBAAS,EAAC,CAAC,IAAI,CAAC,CAAC;EACtC,MAAMC,aAAa,GAAG,IAAAC,uCAA2B,EAAC,CAAC;EACnD,MAAMC,WAAW,GAAG,IAAAC,2BAAe,EAAC,CAAC;EACrC,MAAM,CAAEC,SAAS,CAAE,GAAG,IAAAC,wBAAW,EAAE,sBAAuB,CAAC;EAE3D,MAAMC,QAAQ,GAAG,IAAAjF,oBAAW,EAC3B,MAAMoE,WAAW,CAAE5F,QAAS,CAAC,EAC7B,CAAEA,QAAQ,EAAE4F,WAAW,CACxB,CAAC;EACD,MAAMjF,OAAO,GAAG,IAAAa,oBAAW,EAAE,MAAM;IAClC,IAAK,CAAElB,UAAU,EAAG;MACnBuF,WAAW,CAAE7F,QAAS,CAAC;IACxB;EACD,CAAC,EAAE,CAAE6F,WAAW,EAAE7F,QAAQ,EAAEM,UAAU,CAAG,CAAC;EAE1C,MAAMiB,QAAQ,GAAG,IAAAC,oBAAW,EAC3B,CAAE;IAAEkF;EAAY,CAAC,KAAM;IACtB,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAEH,WAAW,CAACI,MAAM,CAACC,KAAM,CAAC;IAE1D,IAAK,CAAE3E,UAAU,IAAI,CAAEuE,WAAW,EAAG;MACpC;IACD;IAEA,IAAKvE,UAAU,KAAKuE,WAAW,EAAG;MACjCX,aAAa,CAAEW,WAAY,CAAC;IAC7B;EACD,CAAC,EACD,CAAEvE,UAAU,EAAE4D,aAAa,CAC5B,CAAC;;EAED;EACA,IAAKzC,SAAS,EAAEyD,mBAAmB,EAAG;IACrC3D,YAAY,GAAGjE,iBAAiB,CAC/BiE,YAAY,EACZE,SAAS,CAACyD,mBAAmB,CAAE7E,UAAW,CAC3C,CAAC;EACF;;EAEA;EACA,MAAM8E,WAAW,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAClC,OAAO,IAAAC,iCAAqB,EAC3B7D,gBAAgB,EAChB+C,WAAW,EACXhD,YAAY,EAAE1D,KAAK,EACnBwC,UAAU,EACVgE,aAAa,EACbzF,IAAI,EACJ6F,SAAS,IAAIpH,WACd,CAAC;IACD;EACD,CAAC,EAAE;EACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAiI,IAAI,CAACC,SAAS,CAAEhB,WAAY,CAAC;EAC7B;EACAe,IAAI,CAACC,SAAS,CAAEhE,YAAY,EAAE1D,KAAM,CAAC;EACrC;EACAyH,IAAI,CAACC,SAAS,CACbC,MAAM,CAACC,WAAW,CACjBD,MAAM,CAACE,OAAO,CAAErF,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,CAAC,CAAE,CAAC,CAACsF,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KACnDC,+BAAmB,CAACC,sBAAsB,CAACxC,QAAQ,CAAEsC,GAAI,CAC1D,CACD,CACD,CAAC,CACA,CAAC;EAEH,MAAMG,SAAS,GAAGvH,UAAU,IAAIF,yBAAyB;EACzD,MAAMG,WAAW,GAChBD,UAAU,IACVkD,4BAA4B,IAC5BC,gBAAgB,IAChB,CAAEP,YAAY;EAEf,MAAMrD,kBAAkB,GAAG,IAAAiI,6CAAuB,EACjDvE,SAAS,EACTpB,UAAU,EACVuB,KAAK,GAAG,CACT,CAAC;EAED,OACC,IAAAjC,MAAA,CAAAC,aAAA,EAAC9B,YAAY;IACZC,kBAAkB,EAAGA,kBAAoB;IACzCC,aAAa,EAAGA,aAAe;IAC/BE,QAAQ,EAAGA,QAAU;IACrBC,gBAAgB,EAAGA,gBAAkB;IACrCC,eAAe,EAAGA,eAAiB;IACnCC,cAAc,EAAGA,cAAgB;IACjCC,yBAAyB,EAAGA,yBAA2B;IACvDyH,SAAS,EAAGA,SAAW;IACvBxH,UAAU,EAAG,CAAE6C,YAAc;IAC7B5C,UAAU,EAAGA,UAAY;IACzBoC,qBAAqB,EAAGA,qBAAuB;IAC/CnC,WAAW,EAAGA,WAAa;IAC3BC,gBAAgB,EAAGA,gBAAkB;IACrCC,cAAc,EAAGA,cAAgB;IACjCC,IAAI,EAAGA,IAAM;IACbC,OAAO,EAAGA;EAAS,GAEjB,MACD,CAAEgC,OAAO,GACR,IAAAlB,MAAA,CAAAC,aAAA,EAAC7C,oBAAA,CAAAkD,OAAmB;IAAC/B,QAAQ,EAAGA;EAAU,CAAE,CAAC,GAE7C,IAAAyB,MAAA,CAAAC,aAAA,EAACnD,WAAA,CAAAoJ,mBAAmB,CAACI,QAAQ;IAACC,KAAK,EAAGf;EAAa,GAClD,IAAAxF,MAAA,CAAAC,aAAA,EAAC/C,UAAA,CAAAoD,OAAS;IACTI,UAAU,EAAGA,UAAY;IACzBC,UAAU,EAAGA,UAAY;IACzBpC,QAAQ,EAAGA,QAAU;IACrBuC,YAAY,EAAGA,YAAc;IAC7B0F,iBAAiB,EAChBzF,QAAQ,GAAG0F,SAAS,GAAGrF,mBACvB;IACDvC,UAAU,EAAGA,UAAY;IACzBmC,kBAAkB,EAAGA,kBAAoB;IACzC0F,WAAW,EAAG7F,SAAS,GAAGQ,OAAO,GAAGoF,SAAW;IAC/CxH,IAAI,EAAGA,IAAM;IACbkC,aAAa,EAAGA,aAAe;IAC/BjC,OAAO,EAAGA,OAAS;IACnB8F,QAAQ,EAAGnE,SAAS,GAAGmE,QAAQ,GAAGyB,SAAW;IAC7CnF,SAAS,EAAGT,SAAS,GAAGS,SAAS,GAAGmF,SAAW;IAC/ClF,oBAAoB,EAAGA,oBAAsB;IAC7CC,WAAW,EAAGA,WAAa;IAC3BE,aAAa,EAAGA,aAAe;IAC/BxD,KAAK,EAAGsH,WAAa;IACrB7D,eAAe,EAAGA,eAAiB;IACnCgF,sBAAsB,EACrBd,MAAM,CAACe,IAAI,CAAEpC,YAAa,CAAC,CAACqC,MAAM,GAC/BrC,YAAY,GACZiC,SACH;IACD7E,YAAY,EAAGA,YAAc;IAC7BM,kBAAkB,EAAGA;EAAoB,CACzC,CAAC,EACF,IAAAlC,MAAA,CAAAC,aAAA,EAACxD,YAAA,CAAAqK,IAAI;IAAChH,QAAQ,EAAGA;EAAU,CAAE,CACA,CAGnB,CAAC;AAEjB;AAEA,MAAMiH,eAAe,GAAG,IAAAC,gBAAU,EAAE,CAAE5E,MAAM,EAAE;EAAE7D,QAAQ;EAAEkD;AAAa,CAAC,KAAM;EAC7E,MAAM;IACLwF,eAAe;IACfC,YAAY;IACZlG,kBAAkB;IAClBmG,eAAe;IACfC,oCAAoC;IACpCC,cAAc;IACdC;EACD,CAAC,GAAGlF,MAAM,CAAEW,YAAiB,CAAC;EAC9B,MAAMwE,KAAK,GAAGH,oCAAoC,CAAE7I,QAAS,CAAC;EAC9D,MAAMM,UAAU,GAAGoI,eAAe,CAAE1I,QAAS,CAAC;EAC9C,MAAMiJ,YAAY,GAAGL,eAAe,CAAE1F,YAAa,CAAC;EACpD,MAAMZ,SAAS,GAAGwG,cAAc,CAAE9I,QAAQ,EAAEkD,YAAa,CAAC;EAC1D,MAAMgG,OAAO,GAAGH,YAAY,CAAE/I,QAAQ,EAAEkD,YAAa,CAAC;;EAEtD;EACA;EACA;EACA;EACA,MAAM;IAAExC,IAAI;IAAEyB,UAAU;IAAEQ;EAAQ,CAAC,GAAGqG,KAAK,IAAI,CAAC,CAAC;;EAEjD;EACA;EACA,OAAO;IACNG,IAAI,EAAER,YAAY,CAAE3I,QAAS,CAAC;IAC9ByC,kBAAkB,EAAEA,kBAAkB,CAAC,CAAC;IACxCD,QAAQ,EAAE,CAAC,CAAEyG,YAAY;IACzB3G,SAAS;IACT4G,OAAO;IACP;IACA;IACA;IACA;IACAF,KAAK;IACLtI,IAAI;IACJyB,UAAU;IACVQ,OAAO;IACPrC;EACD,CAAC;AACF,CAAE,CAAC;AAEH,MAAM8I,iBAAiB,GAAG,IAAAC,kBAAY,EAAE,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,KAAM;EAC3E,MAAM;IACLC,qBAAqB;IACrBC,YAAY;IACZvB,WAAW;IACXwB,aAAa;IACbvG,eAAe;IACfwG,oCAAoC;IACpCC,oBAAoB;IACpBjE;EACD,CAAC,GAAG0D,QAAQ,CAAE9E,YAAiB,CAAC;;EAEhC;EACA;EACA,OAAO;IACNrB,aAAaA,CAAE2G,aAAa,EAAG;MAC9B,MAAM;QAAEvF;MAA+B,CAAC,GACvCiF,QAAQ,CAAC3F,MAAM,CAAEW,YAAiB,CAAC;MACpC,MAAMuF,2BAA2B,GAChCxF,8BAA8B,CAAC,CAAC;MACjC,MAAM;QAAEvE;MAAS,CAAC,GAAGuJ,QAAQ;MAC7B,MAAMS,SAAS,GAAGD,2BAA2B,CAACzB,MAAM,GACjDyB,2BAA2B,GAC3B,CAAE/J,QAAQ,CAAE;MAEfyJ,qBAAqB,CAAEO,SAAS,EAAEF,aAAc,CAAC;IAClD,CAAC;IACDG,cAAcA,CAAEC,MAAM,EAAEC,KAAK,EAAG;MAC/B,MAAM;QAAEjH;MAAa,CAAC,GAAGqG,QAAQ;MACjCG,YAAY,CAAEQ,MAAM,EAAEC,KAAK,EAAEjH,YAAa,CAAC;IAC5C,CAAC;IACDL,mBAAmBA,CAAEqH,MAAM,EAAG;MAC7B,MAAM;QAAElK,QAAQ;QAAEkD;MAAa,CAAC,GAAGqG,QAAQ;MAC3C,MAAM;QAAEvF;MAAc,CAAC,GAAGwF,QAAQ,CAAC3F,MAAM,CAAEW,YAAiB,CAAC;MAC7D,MAAM2F,KAAK,GAAGnG,aAAa,CAAEhE,QAAS,CAAC;MACvC0J,YAAY,CAAEQ,MAAM,EAAEC,KAAK,GAAG,CAAC,EAAEjH,YAAa,CAAC;IAChD,CAAC;IACDJ,OAAOA,CAAEsH,OAAO,EAAG;MAClB,MAAM;QAAEpK,QAAQ;QAAEkD;MAAa,CAAC,GAAGqG,QAAQ;MAC3C,MAAM;QACLc,wBAAwB;QACxBC,oBAAoB;QACpBC,QAAQ;QACRC,kBAAkB;QAClBnG,YAAY;QACZoG,aAAa;QACbzG,aAAa;QACb0G,oBAAoB;QACpBC;MACD,CAAC,GAAGnB,QAAQ,CAAC3F,MAAM,CAAEW,YAAiB,CAAC;;MAEvC;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACG,SAASoG,eAAeA,CAAEC,SAAS,EAAEC,eAAe,GAAG,IAAI,EAAG;QAC7D,MAAMC,kBAAkB,GAAGL,oBAAoB,CAAEG,SAAU,CAAC;QAC5D,MAAMhG,UAAU,GAAG4F,aAAa,CAAEI,SAAU,CAAC;QAC7C,MAAM,CAAEG,aAAa,CAAE,GAAGnG,UAAU;QAEpC,IACCA,UAAU,CAACyD,MAAM,KAAK,CAAC,IACvB,IAAA2C,yBAAiB,EAAEV,QAAQ,CAAES,aAAc,CAAE,CAAC,EAC7C;UACDpF,WAAW,CAAEiF,SAAU,CAAC;QACzB,CAAC,MAAM;UACNrB,QAAQ,CAAC0B,KAAK,CAAE,MAAM;YACrB,IACCP,kBAAkB,CACjBtG,YAAY,CAAE2G,aAAc,CAAC,EAC7BD,kBACD,CAAC,EACA;cACDlB,oBAAoB,CACnB,CAAEmB,aAAa,CAAE,EACjBH,SAAS,EACTE,kBAAkB,EAClB/G,aAAa,CAAE6G,SAAU,CAC1B,CAAC;YACF,CAAC,MAAM;cACN,MAAMM,WAAW,GAAG,IAAAC,yBAAiB,EACpCb,QAAQ,CAAES,aAAc,CAAC,EACzB,IAAAK,2BAAmB,EAAC,CACrB,CAAC;cAED,IAAKF,WAAW,IAAIA,WAAW,CAAC7C,MAAM,EAAG;gBACxCoB,YAAY,CACXyB,WAAW,EACXnH,aAAa,CAAE6G,SAAU,CAAC,EAC1BE,kBAAkB,EAClBD,eACD,CAAC;gBACDlF,WAAW,CAAEoF,aAAa,EAAE,KAAM,CAAC;cACpC;YACD;YAEA,IACC,CAAEP,aAAa,CAAEI,SAAU,CAAC,CAACvC,MAAM,IACnC,IAAA2C,yBAAiB,EAAEV,QAAQ,CAAEM,SAAU,CAAE,CAAC,EACzC;cACDjF,WAAW,CAAEiF,SAAS,EAAE,KAAM,CAAC;YAChC;UACD,CAAE,CAAC;QACJ;MACD;;MAEA;MACA;MACA,IAAKT,OAAO,EAAG;QACd,IAAKlH,YAAY,EAAG;UACnB,MAAMoI,gBAAgB,GACrBhB,oBAAoB,CAAEpH,YAAa,CAAC;UAErC,IAAKoI,gBAAgB,EAAG;YACvB;YACA;YACA;YACA,IACCjH,YAAY,CAAEnB,YAAa,CAAC,KAC5BmB,YAAY,CAAEiH,gBAAiB,CAAC,EAC/B;cACD,MAAMC,cAAc,GACnBf,kBAAkB,CAAEtH,YAAa,CAAC;cACnC,MAAMsI,sBAAsB,GAC3BhB,kBAAkB,CAAEc,gBAAiB,CAAC;cAEvC,IACChE,MAAM,CAACe,IAAI,CAAEkD,cAAe,CAAC,CAAC7F,KAAK,CAChCgC,GAAG,IACJ6D,cAAc,CAAE7D,GAAG,CAAE,KACrB8D,sBAAsB,CAAE9D,GAAG,CAC7B,CAAC,EACA;gBACD8B,QAAQ,CAAC0B,KAAK,CAAE,MAAM;kBACrBrB,oBAAoB,CACnBY,aAAa,CAAEa,gBAAiB,CAAC,EACjCA,gBAAgB,EAChBpI,YACD,CAAC;kBACD0C,WAAW,CAAE0F,gBAAgB,EAAE,KAAM,CAAC;gBACvC,CAAE,CAAC;gBACH;cACD;YACD,CAAC,MAAM;cACNnD,WAAW,CAAEjF,YAAY,EAAEoI,gBAAiB,CAAC;cAC7C;YACD;UACD;QACD;QAEA,MAAMG,iBAAiB,GAAGnB,oBAAoB,CAAEtK,QAAS,CAAC;QAE1D,IAAK,CAAEyL,iBAAiB,EAAG;UAC1B;QACD;QAEA,IAAKhB,aAAa,CAAEgB,iBAAkB,CAAC,CAACnD,MAAM,EAAG;UAChDsC,eAAe,CAAEa,iBAAiB,EAAE,KAAM,CAAC;QAC5C,CAAC,MAAM;UACNtD,WAAW,CAAEnI,QAAQ,EAAEyL,iBAAkB,CAAC;QAC3C;MACD,CAAC,MAAM;QACN,MAAMC,qBAAqB,GAC1BrB,wBAAwB,CAAErK,QAAS,CAAC;QAErC,IAAK0L,qBAAqB,EAAG;UAC5BvD,WAAW,CAAEuD,qBAAqB,EAAE1L,QAAS,CAAC;QAC/C,CAAC,MAAM,IAAKkD,YAAY,EAAG;UAC1B,MAAMyI,oBAAoB,GACzBtB,wBAAwB,CAAEnH,YAAa,CAAC;;UAEzC;UACA;UACA,IACCyI,oBAAoB,IACpBtH,YAAY,CAAEnB,YAAa,CAAC,KAC3BmB,YAAY,CAAEsH,oBAAqB,CAAC,EACpC;YACD,MAAMJ,cAAc,GACnBf,kBAAkB,CAAEtH,YAAa,CAAC;YACnC,MAAMsI,sBAAsB,GAC3BhB,kBAAkB,CAAEmB,oBAAqB,CAAC;YAE3C,IACCrE,MAAM,CAACe,IAAI,CAAEkD,cAAe,CAAC,CAAC7F,KAAK,CAChCgC,GAAG,IACJ6D,cAAc,CAAE7D,GAAG,CAAE,KACrB8D,sBAAsB,CAAE9D,GAAG,CAC7B,CAAC,EACA;cACD8B,QAAQ,CAAC0B,KAAK,CAAE,MAAM;gBACrBrB,oBAAoB,CACnBY,aAAa,CAAEvH,YAAa,CAAC,EAC7BA,YAAY,EACZyI,oBACD,CAAC;gBACD/F,WAAW,CAAE1C,YAAY,EAAE,KAAM,CAAC;cACnC,CAAE,CAAC;cACH;YACD;UACD;UAEA0H,eAAe,CAAE1H,YAAa,CAAC;QAChC,CAAC,MAAM;UACN0C,WAAW,CAAE5F,QAAS,CAAC;QACxB;MACD;IACD,CAAC;IACD+C,SAASA,CAAEmH,MAAM,EAAE0B,aAAa,EAAEC,eAAe,EAAG;MACnD,IACC3B,MAAM,CAAC5B,MAAM,IACb,CAAE,IAAAwD,gCAAwB,EAAE5B,MAAM,CAAEA,MAAM,CAAC5B,MAAM,GAAG,CAAC,CAAG,CAAC,EACxD;QACDsB,oCAAoC,CAAC,CAAC;MACvC;MACAD,aAAa,CACZ,CAAEJ,QAAQ,CAACvJ,QAAQ,CAAE,EACrBkK,MAAM,EACN0B,aAAa,EACbC,eACD,CAAC;IACF,CAAC;IACDzI,eAAeA,CAAE2I,gBAAgB,EAAG;MACnC3I,eAAe,CAAE2I,gBAAiB,CAAC;IACpC;EACD,CAAC;AACF,CAAE,CAAC;AAAC,IAAAC,QAAA,GAEW,IAAAC,gBAAO,EACrBC,aAAI,EACJ1D,eAAe,EACfY,iBAAiB;AACjB;AACA;AACA;AACA,IAAA+C,oBAAW,EAAE,CAAE;EAAEnD;AAAM,CAAC,KAAM,CAAC,CAAEA,KAAM,CAAC,EACxC,IAAAoD,uBAAW,EAAE,uBAAwB,CACtC,CAAC,CAAElK,cAAe,CAAC;AAAAmK,OAAA,CAAAtK,OAAA,GAAAiK,QAAA"}
@@ -121,7 +121,7 @@ function BlockList({
121
121
  const addBlockToEndOfPost = newBlock => {
122
122
  insertBlock(newBlock, blockCount);
123
123
  };
124
- const scrollViewRef = (0, _element.useRef)(null);
124
+ const scrollRef = (0, _element.useRef)(null);
125
125
  const shouldFlatListPreventAutomaticScroll = () => blockInsertionPointIsVisible;
126
126
  const shouldShowInnerBlockAppender = () => renderAppender && blockClientIds.length > 0;
127
127
  const getExtraData = () => {
@@ -206,7 +206,7 @@ function BlockList({
206
206
  }, isRootList ? (0, _react.createElement)(_blockListContext.BlockListProvider, {
207
207
  value: {
208
208
  ..._blockListContext.DEFAULT_BLOCK_LIST_CONTEXT,
209
- scrollRef: scrollViewRef.current
209
+ scrollRef: scrollRef.current
210
210
  }
211
211
  }, (0, _react.createElement)(_blockDraggable.BlockDraggableWrapper, {
212
212
  isRTL: isRTL
@@ -218,9 +218,7 @@ function BlockList({
218
218
  } : {}),
219
219
  // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541
220
220
  accessibilityLabel: "block-list",
221
- innerRef: ref => {
222
- scrollViewRef.current = ref;
223
- },
221
+ ref: scrollRef,
224
222
  extraScrollHeight: extraScrollHeight,
225
223
  keyboardShouldPersistTaps: "always",
226
224
  scrollViewStyle: {