@wordpress/block-editor 12.3.0 → 12.3.2

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 (971) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +13 -0
  3. package/build/autocompleters/block.js +5 -3
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +5 -9
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +2 -4
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +4 -0
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +3 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +3 -3
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +0 -1
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +2 -3
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +2 -1
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-controls/index.js +8 -8
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js +2 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +4 -2
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-edit/edit.js +4 -6
  34. package/build/components/block-edit/edit.js.map +1 -1
  35. package/build/components/block-edit/edit.native.js +2 -4
  36. package/build/components/block-edit/edit.native.js.map +1 -1
  37. package/build/components/block-edit/index.js +3 -2
  38. package/build/components/block-edit/index.js.map +1 -1
  39. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  40. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  41. package/build/components/block-heading-level-dropdown/index.js +83 -0
  42. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  43. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  44. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  45. package/build/components/block-icon/index.native.js +6 -7
  46. package/build/components/block-icon/index.native.js.map +1 -1
  47. package/build/components/block-info-slot-fill/index.js +4 -2
  48. package/build/components/block-info-slot-fill/index.js.map +1 -1
  49. package/build/components/block-inspector/index.js +20 -87
  50. package/build/components/block-inspector/index.js.map +1 -1
  51. package/build/components/block-list/block-list-item.native.js +4 -2
  52. package/build/components/block-list/block-list-item.native.js.map +1 -1
  53. package/build/components/block-list/block.js +6 -4
  54. package/build/components/block-list/block.js.map +1 -1
  55. package/build/components/block-list/block.native.js +1 -0
  56. package/build/components/block-list/block.native.js.map +1 -1
  57. package/build/components/block-list/index.js +7 -4
  58. package/build/components/block-list/index.js.map +1 -1
  59. package/build/components/block-list/index.native.js +8 -9
  60. package/build/components/block-list/index.native.js.map +1 -1
  61. package/build/components/block-list/subdirectory-icon.js +4 -7
  62. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  63. package/build/components/block-list/use-in-between-inserter.js +1 -3
  64. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  65. package/build/components/block-list-appender/index.js +21 -19
  66. package/build/components/block-list-appender/index.js.map +1 -1
  67. package/build/components/block-lock/toolbar.js +25 -6
  68. package/build/components/block-lock/toolbar.js.map +1 -1
  69. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  70. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  71. package/build/components/block-mover/button.js +12 -12
  72. package/build/components/block-mover/button.js.map +1 -1
  73. package/build/components/block-mover/index.js +11 -10
  74. package/build/components/block-mover/index.js.map +1 -1
  75. package/build/components/block-navigation/dropdown.js +4 -6
  76. package/build/components/block-navigation/dropdown.js.map +1 -1
  77. package/build/components/block-parent-selector/index.js +4 -5
  78. package/build/components/block-parent-selector/index.js.map +1 -1
  79. package/build/components/block-pattern-setup/index.js +6 -8
  80. package/build/components/block-pattern-setup/index.js.map +1 -1
  81. package/build/components/block-patterns-list/index.js +6 -8
  82. package/build/components/block-patterns-list/index.js.map +1 -1
  83. package/build/components/block-popover/inbetween.js +4 -6
  84. package/build/components/block-popover/inbetween.js.map +1 -1
  85. package/build/components/block-popover/index.js +4 -6
  86. package/build/components/block-popover/index.js.map +1 -1
  87. package/build/components/block-preview/auto.js +2 -4
  88. package/build/components/block-preview/auto.js.map +1 -1
  89. package/build/components/block-preview/index.js +7 -7
  90. package/build/components/block-preview/index.js.map +1 -1
  91. package/build/components/block-quick-navigation/index.js +83 -0
  92. package/build/components/block-quick-navigation/index.js.map +1 -0
  93. package/build/components/block-removal-warning-modal/index.js +90 -0
  94. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  95. package/build/components/block-selection-clearer/index.js +4 -7
  96. package/build/components/block-selection-clearer/index.js.map +1 -1
  97. package/build/components/block-settings/button.native.js +2 -1
  98. package/build/components/block-settings/button.native.js.map +1 -1
  99. package/build/components/block-settings/container.native.js +6 -6
  100. package/build/components/block-settings/container.native.js.map +1 -1
  101. package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
  102. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  103. package/build/components/block-settings-menu/index.js +4 -5
  104. package/build/components/block-settings-menu/index.js.map +1 -1
  105. package/build/components/block-settings-menu-controls/index.js +4 -5
  106. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  107. package/build/components/block-switcher/index.js +1 -2
  108. package/build/components/block-switcher/index.js.map +1 -1
  109. package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
  110. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  111. package/build/components/block-toolbar/index.js +10 -8
  112. package/build/components/block-toolbar/index.js.map +1 -1
  113. package/build/components/block-tools/block-contextual-toolbar.js +4 -5
  114. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  115. package/build/components/block-tools/block-selection-button.js +4 -5
  116. package/build/components/block-tools/block-selection-button.js.map +1 -1
  117. package/build/components/block-tools/index.js +13 -6
  118. package/build/components/block-tools/index.js.map +1 -1
  119. package/build/components/block-tools/insertion-point.js +5 -5
  120. package/build/components/block-tools/insertion-point.js.map +1 -1
  121. package/build/components/block-tools/selected-block-popover.js +8 -8
  122. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  123. package/build/components/block-types-list/index.native.js +4 -6
  124. package/build/components/block-types-list/index.native.js.map +1 -1
  125. package/build/components/block-vertical-alignment-control/index.js +4 -6
  126. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  127. package/build/components/block-vertical-alignment-control/ui.js +5 -12
  128. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  129. package/build/components/border-radius-control/all-input-control.js +2 -6
  130. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  131. package/build/components/border-radius-control/input-controls.js +2 -6
  132. package/build/components/border-radius-control/input-controls.js.map +1 -1
  133. package/build/components/border-radius-control/linked-button.js +2 -6
  134. package/build/components/border-radius-control/linked-button.js.map +1 -1
  135. package/build/components/color-palette/control.js +2 -4
  136. package/build/components/color-palette/control.js.map +1 -1
  137. package/build/components/color-palette/with-color-context.js +2 -4
  138. package/build/components/color-palette/with-color-context.js.map +1 -1
  139. package/build/components/colors/utils.js +7 -3
  140. package/build/components/colors/utils.js.map +1 -1
  141. package/build/components/colors/with-colors.js +11 -16
  142. package/build/components/colors/with-colors.js.map +1 -1
  143. package/build/components/colors-gradients/control.js +7 -5
  144. package/build/components/colors-gradients/control.js.map +1 -1
  145. package/build/components/colors-gradients/dropdown.js +12 -11
  146. package/build/components/colors-gradients/dropdown.js.map +1 -1
  147. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
  148. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  149. package/build/components/copy-handler/index.js +5 -6
  150. package/build/components/copy-handler/index.js.map +1 -1
  151. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  152. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  153. package/build/components/dimensions-tool/index.js +207 -0
  154. package/build/components/dimensions-tool/index.js.map +1 -0
  155. package/build/components/dimensions-tool/scale-tool.js +111 -0
  156. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  157. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  158. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  159. package/build/components/duotone-control/index.js +1 -2
  160. package/build/components/duotone-control/index.js.map +1 -1
  161. package/build/components/editable-text/index.js +6 -7
  162. package/build/components/editable-text/index.js.map +1 -1
  163. package/build/components/font-appearance-control/index.js +2 -6
  164. package/build/components/font-appearance-control/index.js.map +1 -1
  165. package/build/components/font-family/index.js +4 -5
  166. package/build/components/font-family/index.js.map +1 -1
  167. package/build/components/font-sizes/font-size-picker.js +2 -4
  168. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  169. package/build/components/font-sizes/utils.js +3 -3
  170. package/build/components/font-sizes/utils.js.map +1 -1
  171. package/build/components/font-sizes/with-font-sizes.js +7 -7
  172. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  173. package/build/components/global-styles/color-panel.js +15 -16
  174. package/build/components/global-styles/color-panel.js.map +1 -1
  175. package/build/components/global-styles/effects-panel.js +2 -1
  176. package/build/components/global-styles/effects-panel.js.map +1 -1
  177. package/build/components/global-styles/filters-panel.js +2 -1
  178. package/build/components/global-styles/filters-panel.js.map +1 -1
  179. package/build/components/global-styles/index.js +6 -0
  180. package/build/components/global-styles/index.js.map +1 -1
  181. package/build/components/global-styles/typography-panel.js +7 -7
  182. package/build/components/global-styles/typography-panel.js.map +1 -1
  183. package/build/components/global-styles/use-global-styles-output.js +19 -16
  184. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  185. package/build/components/gradients/with-gradient.js +2 -6
  186. package/build/components/gradients/with-gradient.js.map +1 -1
  187. package/build/components/iframe/index.js +5 -7
  188. package/build/components/iframe/index.js.map +1 -1
  189. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  190. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  191. package/build/components/image-editor/constants.js +1 -2
  192. package/build/components/image-editor/constants.js.map +1 -1
  193. package/build/components/image-editor/use-save-image.js +1 -2
  194. package/build/components/image-editor/use-save-image.js.map +1 -1
  195. package/build/components/image-size-control/index.js +6 -0
  196. package/build/components/image-size-control/index.js.map +1 -1
  197. package/build/components/index.js +9 -9
  198. package/build/components/index.js.map +1 -1
  199. package/build/components/index.native.js +9 -0
  200. package/build/components/index.native.js.map +1 -1
  201. package/build/components/inner-blocks/index.js +9 -8
  202. package/build/components/inner-blocks/index.js.map +1 -1
  203. package/build/components/inner-blocks/index.native.js +8 -7
  204. package/build/components/inner-blocks/index.native.js.map +1 -1
  205. package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
  206. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  207. package/build/components/inner-blocks/with-client-id.js +2 -6
  208. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  209. package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
  210. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  211. package/build/components/inserter/block-patterns-tab.js +33 -5
  212. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  213. package/build/components/inserter/hooks/use-block-types-state.js +4 -3
  214. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  215. package/build/components/inserter/hooks/use-insertion-point.js +1 -1
  216. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  217. package/build/components/inserter/index.js +8 -8
  218. package/build/components/inserter/index.js.map +1 -1
  219. package/build/components/inserter/index.native.js +4 -5
  220. package/build/components/inserter/index.native.js.map +1 -1
  221. package/build/components/inserter/library.js +1 -1
  222. package/build/components/inserter/library.js.map +1 -1
  223. package/build/components/inserter/media-tab/media-list.js +2 -6
  224. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  225. package/build/components/inserter/media-tab/media-preview.js +4 -6
  226. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  227. package/build/components/inserter/media-tab/media-tab.js +1 -1
  228. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  229. package/build/components/inserter/reusable-blocks-tab.js +3 -3
  230. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  231. package/build/components/inserter/tabs.js +3 -3
  232. package/build/components/inserter/tabs.js.map +1 -1
  233. package/build/components/inserter-list-item/index.js +4 -5
  234. package/build/components/inserter-list-item/index.js.map +1 -1
  235. package/build/components/inserter-listbox/group.js +4 -7
  236. package/build/components/inserter-listbox/group.js.map +1 -1
  237. package/build/components/inserter-listbox/item.js +8 -7
  238. package/build/components/inserter-listbox/item.js.map +1 -1
  239. package/build/components/inserter-listbox/row.js +4 -5
  240. package/build/components/inserter-listbox/row.js.map +1 -1
  241. package/build/components/inspector-controls/block-support-slot-container.js +2 -6
  242. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  243. package/build/components/inspector-controls/fill.native.js +2 -1
  244. package/build/components/inspector-controls/fill.native.js.map +1 -1
  245. package/build/components/inspector-controls/index.js +4 -6
  246. package/build/components/inspector-controls/index.js.map +1 -1
  247. package/build/components/inspector-controls/slot.js +4 -6
  248. package/build/components/inspector-controls/slot.js.map +1 -1
  249. package/build/components/inspector-controls/slot.native.js +2 -1
  250. package/build/components/inspector-controls/slot.native.js.map +1 -1
  251. package/build/components/justify-content-control/index.js +4 -6
  252. package/build/components/justify-content-control/index.js.map +1 -1
  253. package/build/components/justify-content-control/ui.js +4 -7
  254. package/build/components/justify-content-control/ui.js.map +1 -1
  255. package/build/components/letter-spacing-control/index.js +2 -4
  256. package/build/components/letter-spacing-control/index.js.map +1 -1
  257. package/build/components/line-height-control/index.js +2 -4
  258. package/build/components/line-height-control/index.js.map +1 -1
  259. package/build/components/link-control/index.js +20 -24
  260. package/build/components/link-control/index.js.map +1 -1
  261. package/build/components/link-control/search-create-button.js +2 -4
  262. package/build/components/link-control/search-create-button.js.map +1 -1
  263. package/build/components/link-control/search-input.js +7 -5
  264. package/build/components/link-control/search-input.js.map +1 -1
  265. package/build/components/link-control/search-item.js +2 -4
  266. package/build/components/link-control/search-item.js.map +1 -1
  267. package/build/components/link-control/search-results.js +2 -4
  268. package/build/components/link-control/search-results.js.map +1 -1
  269. package/build/components/link-control/settings-drawer.js +2 -3
  270. package/build/components/link-control/settings-drawer.js.map +1 -1
  271. package/build/components/list-view/appender.js +4 -6
  272. package/build/components/list-view/appender.js.map +1 -1
  273. package/build/components/list-view/aria-referenced-text.js +4 -8
  274. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  275. package/build/components/list-view/block-contents.js +4 -5
  276. package/build/components/list-view/block-contents.js.map +1 -1
  277. package/build/components/list-view/block-select-button.js +13 -2
  278. package/build/components/list-view/block-select-button.js.map +1 -1
  279. package/build/components/list-view/branch.js +9 -8
  280. package/build/components/list-view/branch.js.map +1 -1
  281. package/build/components/list-view/drop-indicator.js +62 -11
  282. package/build/components/list-view/drop-indicator.js.map +1 -1
  283. package/build/components/list-view/index.js +4 -6
  284. package/build/components/list-view/index.js.map +1 -1
  285. package/build/components/list-view/leaf.js +4 -5
  286. package/build/components/list-view/leaf.js.map +1 -1
  287. package/build/components/list-view/use-list-view-client-ids.js +2 -22
  288. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  289. package/build/components/list-view/use-list-view-drop-zone.js +46 -34
  290. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  291. package/build/components/media-placeholder/index.js +38 -13
  292. package/build/components/media-placeholder/index.js.map +1 -1
  293. package/build/components/media-replace-flow/index.js +1 -3
  294. package/build/components/media-replace-flow/index.js.map +1 -1
  295. package/build/components/navigable-toolbar/index.js +8 -8
  296. package/build/components/navigable-toolbar/index.js.map +1 -1
  297. package/build/components/panel-color-settings/index.js +4 -5
  298. package/build/components/panel-color-settings/index.js.map +1 -1
  299. package/build/components/plain-text/index.js +8 -8
  300. package/build/components/plain-text/index.js.map +1 -1
  301. package/build/components/plain-text/index.native.js +7 -6
  302. package/build/components/plain-text/index.native.js.map +1 -1
  303. package/build/components/preview-options/index.js +5 -4
  304. package/build/components/preview-options/index.js.map +1 -1
  305. package/build/components/provider/index.js +2 -4
  306. package/build/components/provider/index.js.map +1 -1
  307. package/build/components/provider/use-block-sync.js +21 -0
  308. package/build/components/provider/use-block-sync.js.map +1 -1
  309. package/build/components/provider/with-registry-provider.js +8 -10
  310. package/build/components/provider/with-registry-provider.js.map +1 -1
  311. package/build/components/publish-date-time-picker/index.js +4 -5
  312. package/build/components/publish-date-time-picker/index.js.map +1 -1
  313. package/build/components/resizable-box-popover/index.js +5 -5
  314. package/build/components/resizable-box-popover/index.js.map +1 -1
  315. package/build/components/resolution-tool/index.js +55 -0
  316. package/build/components/resolution-tool/index.js.map +1 -0
  317. package/build/components/rich-text/content.js +99 -0
  318. package/build/components/rich-text/content.js.map +1 -0
  319. package/build/components/rich-text/format-toolbar/index.js +1 -2
  320. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  321. package/build/components/rich-text/index.js +8 -42
  322. package/build/components/rich-text/index.js.map +1 -1
  323. package/build/components/rich-text/index.native.js +6 -34
  324. package/build/components/rich-text/index.native.js.map +1 -1
  325. package/build/components/rich-text/toolbar-button.js +2 -6
  326. package/build/components/rich-text/toolbar-button.js.map +1 -1
  327. package/build/components/spacing-sizes-control/index.js +8 -8
  328. package/build/components/spacing-sizes-control/index.js.map +1 -1
  329. package/build/components/tool-selector/index.js +2 -6
  330. package/build/components/tool-selector/index.js.map +1 -1
  331. package/build/components/unit-control/index.js +4 -5
  332. package/build/components/unit-control/index.js.map +1 -1
  333. package/build/components/url-input/index.js +12 -10
  334. package/build/components/url-input/index.js.map +1 -1
  335. package/build/components/url-input/index.native.js +4 -7
  336. package/build/components/url-input/index.native.js.map +1 -1
  337. package/build/components/url-popover/image-url-input-ui.js +21 -14
  338. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  339. package/build/components/url-popover/index.js +4 -5
  340. package/build/components/url-popover/index.js.map +1 -1
  341. package/build/components/url-popover/link-editor.js +4 -5
  342. package/build/components/url-popover/link-editor.js.map +1 -1
  343. package/build/components/url-popover/link-viewer.js +4 -5
  344. package/build/components/url-popover/link-viewer.js.map +1 -1
  345. package/build/components/use-block-display-information/index.js +30 -2
  346. package/build/components/use-block-display-information/index.js.map +1 -1
  347. package/build/components/video-player/index.native.js +2 -4
  348. package/build/components/video-player/index.native.js.map +1 -1
  349. package/build/components/warning/index.native.js +4 -5
  350. package/build/components/warning/index.native.js.map +1 -1
  351. package/build/components/writing-flow/index.js +2 -4
  352. package/build/components/writing-flow/index.js.map +1 -1
  353. package/build/components/writing-flow/use-drag-selection.js +1 -1
  354. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  355. package/build/components/writing-flow/use-tab-nav.js +32 -4
  356. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  357. package/build/hooks/align.js +8 -8
  358. package/build/hooks/align.js.map +1 -1
  359. package/build/hooks/anchor.js +4 -2
  360. package/build/hooks/anchor.js.map +1 -1
  361. package/build/hooks/behaviors.js +75 -37
  362. package/build/hooks/behaviors.js.map +1 -1
  363. package/build/hooks/border.js +4 -5
  364. package/build/hooks/border.js.map +1 -1
  365. package/build/hooks/color.js +4 -5
  366. package/build/hooks/color.js.map +1 -1
  367. package/build/hooks/content-lock-ui.js +8 -10
  368. package/build/hooks/content-lock-ui.js.map +1 -1
  369. package/build/hooks/custom-class-name.js +4 -2
  370. package/build/hooks/custom-class-name.js.map +1 -1
  371. package/build/hooks/dimensions.js +7 -7
  372. package/build/hooks/dimensions.js.map +1 -1
  373. package/build/hooks/duotone.js +5 -5
  374. package/build/hooks/duotone.js.map +1 -1
  375. package/build/hooks/font-family.js +2 -6
  376. package/build/hooks/font-family.js.map +1 -1
  377. package/build/hooks/font-size.js +10 -8
  378. package/build/hooks/font-size.js.map +1 -1
  379. package/build/hooks/layout.js +30 -28
  380. package/build/hooks/layout.js.map +1 -1
  381. package/build/hooks/position.js +24 -16
  382. package/build/hooks/position.js.map +1 -1
  383. package/build/hooks/style.js +8 -5
  384. package/build/hooks/style.js.map +1 -1
  385. package/build/hooks/supports.js +1 -1
  386. package/build/hooks/supports.js.map +1 -1
  387. package/build/hooks/typography.native.js +3 -1
  388. package/build/hooks/typography.native.js.map +1 -1
  389. package/build/hooks/use-typography-props.js +10 -17
  390. package/build/hooks/use-typography-props.js.map +1 -1
  391. package/build/index.js +0 -14
  392. package/build/index.js.map +1 -1
  393. package/build/layouts/constrained.js +3 -1
  394. package/build/layouts/constrained.js.map +1 -1
  395. package/build/layouts/definitions.js +154 -0
  396. package/build/layouts/definitions.js.map +1 -0
  397. package/build/layouts/flex.js +8 -5
  398. package/build/layouts/flex.js.map +1 -1
  399. package/build/layouts/flow.js +3 -1
  400. package/build/layouts/flow.js.map +1 -1
  401. package/build/layouts/grid.js +3 -1
  402. package/build/layouts/grid.js.map +1 -1
  403. package/build/layouts/utils.js +8 -2
  404. package/build/layouts/utils.js.map +1 -1
  405. package/build/private-apis.js +23 -1
  406. package/build/private-apis.js.map +1 -1
  407. package/build/store/actions.js +2 -62
  408. package/build/store/actions.js.map +1 -1
  409. package/build/store/defaults.js +1 -0
  410. package/build/store/defaults.js.map +1 -1
  411. package/build/store/private-actions.js +200 -0
  412. package/build/store/private-actions.js.map +1 -1
  413. package/build/store/private-selectors.js +72 -4
  414. package/build/store/private-selectors.js.map +1 -1
  415. package/build/store/reducer.js +52 -1
  416. package/build/store/reducer.js.map +1 -1
  417. package/build/store/selectors.js +42 -42
  418. package/build/store/selectors.js.map +1 -1
  419. package/build/utils/object.js +39 -0
  420. package/build/utils/object.js.map +1 -1
  421. package/build-module/autocompleters/block.js +5 -3
  422. package/build-module/autocompleters/block.js.map +1 -1
  423. package/build-module/components/alignment-control/index.js +4 -5
  424. package/build-module/components/alignment-control/index.js.map +1 -1
  425. package/build-module/components/alignment-control/ui.js +5 -6
  426. package/build-module/components/alignment-control/ui.js.map +1 -1
  427. package/build-module/components/autocomplete/index.js +2 -3
  428. package/build-module/components/autocomplete/index.js.map +1 -1
  429. package/build-module/components/block-actions/index.js +4 -0
  430. package/build-module/components/block-actions/index.js.map +1 -1
  431. package/build-module/components/block-alignment-control/constants.js +0 -3
  432. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  433. package/build-module/components/block-alignment-control/index.js +4 -5
  434. package/build-module/components/block-alignment-control/index.js.map +1 -1
  435. package/build-module/components/block-alignment-control/ui.js +4 -4
  436. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  437. package/build-module/components/block-alignment-control/ui.native.js +3 -2
  438. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  439. package/build-module/components/block-alignment-matrix-control/index.js +0 -1
  440. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  441. package/build-module/components/block-breadcrumb/index.js +2 -3
  442. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  443. package/build-module/components/block-controls/fill.js +2 -1
  444. package/build-module/components/block-controls/fill.js.map +1 -1
  445. package/build-module/components/block-controls/index.js +8 -7
  446. package/build-module/components/block-controls/index.js.map +1 -1
  447. package/build-module/components/block-controls/slot.js +2 -3
  448. package/build-module/components/block-controls/slot.js.map +1 -1
  449. package/build-module/components/block-controls/slot.native.js +4 -2
  450. package/build-module/components/block-controls/slot.native.js.map +1 -1
  451. package/build-module/components/block-edit/edit.js +4 -5
  452. package/build-module/components/block-edit/edit.js.map +1 -1
  453. package/build-module/components/block-edit/edit.native.js +2 -3
  454. package/build-module/components/block-edit/edit.native.js.map +1 -1
  455. package/build-module/components/block-edit/index.js +3 -2
  456. package/build-module/components/block-edit/index.js.map +1 -1
  457. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  458. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  459. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  460. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  461. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  462. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  463. package/build-module/components/block-icon/index.native.js +6 -6
  464. package/build-module/components/block-icon/index.native.js.map +1 -1
  465. package/build-module/components/block-info-slot-fill/index.js +4 -2
  466. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  467. package/build-module/components/block-inspector/index.js +20 -88
  468. package/build-module/components/block-inspector/index.js.map +1 -1
  469. package/build-module/components/block-list/block-list-item.native.js +4 -2
  470. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  471. package/build-module/components/block-list/block.js +6 -4
  472. package/build-module/components/block-list/block.js.map +1 -1
  473. package/build-module/components/block-list/block.native.js +1 -0
  474. package/build-module/components/block-list/block.native.js.map +1 -1
  475. package/build-module/components/block-list/index.js +7 -4
  476. package/build-module/components/block-list/index.js.map +1 -1
  477. package/build-module/components/block-list/index.native.js +8 -8
  478. package/build-module/components/block-list/index.native.js.map +1 -1
  479. package/build-module/components/block-list/subdirectory-icon.js +4 -4
  480. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  481. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  482. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  483. package/build-module/components/block-list-appender/index.js +21 -19
  484. package/build-module/components/block-list-appender/index.js.map +1 -1
  485. package/build-module/components/block-lock/toolbar.js +25 -7
  486. package/build-module/components/block-lock/toolbar.js.map +1 -1
  487. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  488. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  489. package/build-module/components/block-mover/button.js +12 -11
  490. package/build-module/components/block-mover/button.js.map +1 -1
  491. package/build-module/components/block-mover/index.js +11 -9
  492. package/build-module/components/block-mover/index.js.map +1 -1
  493. package/build-module/components/block-navigation/dropdown.js +4 -5
  494. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  495. package/build-module/components/block-parent-selector/index.js +4 -4
  496. package/build-module/components/block-parent-selector/index.js.map +1 -1
  497. package/build-module/components/block-pattern-setup/index.js +6 -7
  498. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  499. package/build-module/components/block-patterns-list/index.js +6 -7
  500. package/build-module/components/block-patterns-list/index.js.map +1 -1
  501. package/build-module/components/block-popover/inbetween.js +4 -5
  502. package/build-module/components/block-popover/inbetween.js.map +1 -1
  503. package/build-module/components/block-popover/index.js +4 -5
  504. package/build-module/components/block-popover/index.js.map +1 -1
  505. package/build-module/components/block-preview/auto.js +2 -3
  506. package/build-module/components/block-preview/auto.js.map +1 -1
  507. package/build-module/components/block-preview/index.js +7 -7
  508. package/build-module/components/block-preview/index.js.map +1 -1
  509. package/build-module/components/block-quick-navigation/index.js +69 -0
  510. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  511. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  512. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  513. package/build-module/components/block-selection-clearer/index.js +4 -4
  514. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  515. package/build-module/components/block-settings/button.native.js +2 -1
  516. package/build-module/components/block-settings/button.native.js.map +1 -1
  517. package/build-module/components/block-settings/container.native.js +6 -5
  518. package/build-module/components/block-settings/container.native.js.map +1 -1
  519. package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
  520. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  521. package/build-module/components/block-settings-menu/index.js +4 -4
  522. package/build-module/components/block-settings-menu/index.js.map +1 -1
  523. package/build-module/components/block-settings-menu-controls/index.js +4 -4
  524. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  525. package/build-module/components/block-switcher/index.js +1 -2
  526. package/build-module/components/block-switcher/index.js.map +1 -1
  527. package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
  528. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  529. package/build-module/components/block-toolbar/index.js +10 -7
  530. package/build-module/components/block-toolbar/index.js.map +1 -1
  531. package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
  532. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  533. package/build-module/components/block-tools/block-selection-button.js +4 -4
  534. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  535. package/build-module/components/block-tools/index.js +13 -5
  536. package/build-module/components/block-tools/index.js.map +1 -1
  537. package/build-module/components/block-tools/insertion-point.js +5 -4
  538. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  539. package/build-module/components/block-tools/selected-block-popover.js +8 -7
  540. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  541. package/build-module/components/block-types-list/index.native.js +4 -5
  542. package/build-module/components/block-types-list/index.native.js.map +1 -1
  543. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  544. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  545. package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
  546. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  547. package/build-module/components/border-radius-control/all-input-control.js +2 -3
  548. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  549. package/build-module/components/border-radius-control/input-controls.js +2 -3
  550. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  551. package/build-module/components/border-radius-control/linked-button.js +2 -3
  552. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  553. package/build-module/components/color-palette/control.js +2 -3
  554. package/build-module/components/color-palette/control.js.map +1 -1
  555. package/build-module/components/color-palette/with-color-context.js +2 -3
  556. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  557. package/build-module/components/colors/utils.js +5 -1
  558. package/build-module/components/colors/utils.js.map +1 -1
  559. package/build-module/components/colors/with-colors.js +10 -14
  560. package/build-module/components/colors/with-colors.js.map +1 -1
  561. package/build-module/components/colors-gradients/control.js +7 -4
  562. package/build-module/components/colors-gradients/control.js.map +1 -1
  563. package/build-module/components/colors-gradients/dropdown.js +12 -10
  564. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  565. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
  566. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  567. package/build-module/components/copy-handler/index.js +5 -6
  568. package/build-module/components/copy-handler/index.js.map +1 -1
  569. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  570. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  571. package/build-module/components/dimensions-tool/index.js +195 -0
  572. package/build-module/components/dimensions-tool/index.js.map +1 -0
  573. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  574. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  575. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  576. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  577. package/build-module/components/duotone-control/index.js +1 -2
  578. package/build-module/components/duotone-control/index.js.map +1 -1
  579. package/build-module/components/editable-text/index.js +6 -6
  580. package/build-module/components/editable-text/index.js.map +1 -1
  581. package/build-module/components/font-appearance-control/index.js +2 -3
  582. package/build-module/components/font-appearance-control/index.js.map +1 -1
  583. package/build-module/components/font-family/index.js +4 -4
  584. package/build-module/components/font-family/index.js.map +1 -1
  585. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  586. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  587. package/build-module/components/font-sizes/utils.js +2 -2
  588. package/build-module/components/font-sizes/utils.js.map +1 -1
  589. package/build-module/components/font-sizes/with-font-sizes.js +7 -6
  590. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  591. package/build-module/components/global-styles/color-panel.js +15 -15
  592. package/build-module/components/global-styles/color-panel.js.map +1 -1
  593. package/build-module/components/global-styles/effects-panel.js +2 -1
  594. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  595. package/build-module/components/global-styles/filters-panel.js +2 -1
  596. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  597. package/build-module/components/global-styles/index.js +1 -1
  598. package/build-module/components/global-styles/index.js.map +1 -1
  599. package/build-module/components/global-styles/typography-panel.js +7 -7
  600. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  601. package/build-module/components/global-styles/use-global-styles-output.js +11 -10
  602. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  603. package/build-module/components/gradients/with-gradient.js +2 -3
  604. package/build-module/components/gradients/with-gradient.js.map +1 -1
  605. package/build-module/components/iframe/index.js +5 -6
  606. package/build-module/components/iframe/index.js.map +1 -1
  607. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  608. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  609. package/build-module/components/image-editor/constants.js +1 -2
  610. package/build-module/components/image-editor/constants.js.map +1 -1
  611. package/build-module/components/image-editor/use-save-image.js +1 -2
  612. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  613. package/build-module/components/image-size-control/index.js +5 -0
  614. package/build-module/components/image-size-control/index.js.map +1 -1
  615. package/build-module/components/index.js +1 -1
  616. package/build-module/components/index.js.map +1 -1
  617. package/build-module/components/index.native.js +1 -0
  618. package/build-module/components/index.native.js.map +1 -1
  619. package/build-module/components/inner-blocks/index.js +9 -7
  620. package/build-module/components/inner-blocks/index.js.map +1 -1
  621. package/build-module/components/inner-blocks/index.native.js +8 -6
  622. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  623. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
  624. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  625. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  626. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  627. package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
  628. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  629. package/build-module/components/inserter/block-patterns-tab.js +33 -7
  630. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  631. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
  632. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  633. package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
  634. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  635. package/build-module/components/inserter/index.js +8 -7
  636. package/build-module/components/inserter/index.js.map +1 -1
  637. package/build-module/components/inserter/index.native.js +4 -4
  638. package/build-module/components/inserter/index.native.js.map +1 -1
  639. package/build-module/components/inserter/library.js +1 -1
  640. package/build-module/components/inserter/library.js.map +1 -1
  641. package/build-module/components/inserter/media-tab/media-list.js +2 -3
  642. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  643. package/build-module/components/inserter/media-tab/media-preview.js +4 -5
  644. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  645. package/build-module/components/inserter/media-tab/media-tab.js +3 -3
  646. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  647. package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
  648. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  649. package/build-module/components/inserter/tabs.js +3 -3
  650. package/build-module/components/inserter/tabs.js.map +1 -1
  651. package/build-module/components/inserter-list-item/index.js +4 -4
  652. package/build-module/components/inserter-list-item/index.js.map +1 -1
  653. package/build-module/components/inserter-listbox/group.js +4 -4
  654. package/build-module/components/inserter-listbox/group.js.map +1 -1
  655. package/build-module/components/inserter-listbox/item.js +8 -6
  656. package/build-module/components/inserter-listbox/item.js.map +1 -1
  657. package/build-module/components/inserter-listbox/row.js +4 -4
  658. package/build-module/components/inserter-listbox/row.js.map +1 -1
  659. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
  660. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  661. package/build-module/components/inspector-controls/fill.native.js +2 -1
  662. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  663. package/build-module/components/inspector-controls/index.js +4 -5
  664. package/build-module/components/inspector-controls/index.js.map +1 -1
  665. package/build-module/components/inspector-controls/slot.js +4 -5
  666. package/build-module/components/inspector-controls/slot.js.map +1 -1
  667. package/build-module/components/inspector-controls/slot.native.js +2 -1
  668. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  669. package/build-module/components/justify-content-control/index.js +4 -5
  670. package/build-module/components/justify-content-control/index.js.map +1 -1
  671. package/build-module/components/justify-content-control/ui.js +4 -4
  672. package/build-module/components/justify-content-control/ui.js.map +1 -1
  673. package/build-module/components/letter-spacing-control/index.js +2 -3
  674. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  675. package/build-module/components/line-height-control/index.js +2 -3
  676. package/build-module/components/line-height-control/index.js.map +1 -1
  677. package/build-module/components/link-control/index.js +20 -24
  678. package/build-module/components/link-control/index.js.map +1 -1
  679. package/build-module/components/link-control/search-create-button.js +2 -3
  680. package/build-module/components/link-control/search-create-button.js.map +1 -1
  681. package/build-module/components/link-control/search-input.js +7 -5
  682. package/build-module/components/link-control/search-input.js.map +1 -1
  683. package/build-module/components/link-control/search-item.js +2 -3
  684. package/build-module/components/link-control/search-item.js.map +1 -1
  685. package/build-module/components/link-control/search-results.js +2 -3
  686. package/build-module/components/link-control/search-results.js.map +1 -1
  687. package/build-module/components/link-control/settings-drawer.js +4 -5
  688. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  689. package/build-module/components/list-view/appender.js +4 -5
  690. package/build-module/components/list-view/appender.js.map +1 -1
  691. package/build-module/components/list-view/aria-referenced-text.js +4 -5
  692. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  693. package/build-module/components/list-view/block-contents.js +4 -4
  694. package/build-module/components/list-view/block-contents.js.map +1 -1
  695. package/build-module/components/list-view/block-select-button.js +14 -4
  696. package/build-module/components/list-view/block-select-button.js.map +1 -1
  697. package/build-module/components/list-view/branch.js +9 -7
  698. package/build-module/components/list-view/branch.js.map +1 -1
  699. package/build-module/components/list-view/drop-indicator.js +61 -11
  700. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  701. package/build-module/components/list-view/index.js +4 -5
  702. package/build-module/components/list-view/index.js.map +1 -1
  703. package/build-module/components/list-view/leaf.js +4 -4
  704. package/build-module/components/list-view/leaf.js.map +1 -1
  705. package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
  706. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  707. package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
  708. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  709. package/build-module/components/media-placeholder/index.js +38 -13
  710. package/build-module/components/media-placeholder/index.js.map +1 -1
  711. package/build-module/components/media-replace-flow/index.js +1 -3
  712. package/build-module/components/media-replace-flow/index.js.map +1 -1
  713. package/build-module/components/navigable-toolbar/index.js +8 -7
  714. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  715. package/build-module/components/panel-color-settings/index.js +4 -4
  716. package/build-module/components/panel-color-settings/index.js.map +1 -1
  717. package/build-module/components/plain-text/index.js +8 -7
  718. package/build-module/components/plain-text/index.js.map +1 -1
  719. package/build-module/components/plain-text/index.native.js +7 -5
  720. package/build-module/components/plain-text/index.native.js.map +1 -1
  721. package/build-module/components/preview-options/index.js +5 -4
  722. package/build-module/components/preview-options/index.js.map +1 -1
  723. package/build-module/components/provider/index.js +2 -3
  724. package/build-module/components/provider/index.js.map +1 -1
  725. package/build-module/components/provider/use-block-sync.js +21 -0
  726. package/build-module/components/provider/use-block-sync.js.map +1 -1
  727. package/build-module/components/provider/with-registry-provider.js +8 -7
  728. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  729. package/build-module/components/publish-date-time-picker/index.js +4 -4
  730. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  731. package/build-module/components/resizable-box-popover/index.js +5 -4
  732. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  733. package/build-module/components/resolution-tool/index.js +45 -0
  734. package/build-module/components/resolution-tool/index.js.map +1 -0
  735. package/build-module/components/rich-text/content.js +85 -0
  736. package/build-module/components/rich-text/content.js.map +1 -0
  737. package/build-module/components/rich-text/format-toolbar/index.js +1 -2
  738. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  739. package/build-module/components/rich-text/index.js +8 -42
  740. package/build-module/components/rich-text/index.js.map +1 -1
  741. package/build-module/components/rich-text/index.native.js +6 -34
  742. package/build-module/components/rich-text/index.native.js.map +1 -1
  743. package/build-module/components/rich-text/toolbar-button.js +2 -3
  744. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  745. package/build-module/components/spacing-sizes-control/index.js +8 -7
  746. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  747. package/build-module/components/tool-selector/index.js +2 -3
  748. package/build-module/components/tool-selector/index.js.map +1 -1
  749. package/build-module/components/unit-control/index.js +4 -4
  750. package/build-module/components/unit-control/index.js.map +1 -1
  751. package/build-module/components/url-input/index.js +12 -9
  752. package/build-module/components/url-input/index.js.map +1 -1
  753. package/build-module/components/url-input/index.native.js +4 -4
  754. package/build-module/components/url-input/index.native.js.map +1 -1
  755. package/build-module/components/url-popover/image-url-input-ui.js +22 -15
  756. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  757. package/build-module/components/url-popover/index.js +4 -4
  758. package/build-module/components/url-popover/index.js.map +1 -1
  759. package/build-module/components/url-popover/link-editor.js +4 -4
  760. package/build-module/components/url-popover/link-editor.js.map +1 -1
  761. package/build-module/components/url-popover/link-viewer.js +4 -4
  762. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  763. package/build-module/components/use-block-display-information/index.js +29 -2
  764. package/build-module/components/use-block-display-information/index.js.map +1 -1
  765. package/build-module/components/video-player/index.native.js +2 -3
  766. package/build-module/components/video-player/index.native.js.map +1 -1
  767. package/build-module/components/warning/index.native.js +4 -4
  768. package/build-module/components/warning/index.native.js.map +1 -1
  769. package/build-module/components/writing-flow/index.js +2 -3
  770. package/build-module/components/writing-flow/index.js.map +1 -1
  771. package/build-module/components/writing-flow/use-drag-selection.js +1 -1
  772. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  773. package/build-module/components/writing-flow/use-tab-nav.js +32 -5
  774. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  775. package/build-module/hooks/align.js +8 -7
  776. package/build-module/hooks/align.js.map +1 -1
  777. package/build-module/hooks/anchor.js +4 -2
  778. package/build-module/hooks/anchor.js.map +1 -1
  779. package/build-module/hooks/behaviors.js +76 -34
  780. package/build-module/hooks/behaviors.js.map +1 -1
  781. package/build-module/hooks/border.js +4 -4
  782. package/build-module/hooks/border.js.map +1 -1
  783. package/build-module/hooks/color.js +4 -4
  784. package/build-module/hooks/color.js.map +1 -1
  785. package/build-module/hooks/content-lock-ui.js +8 -7
  786. package/build-module/hooks/content-lock-ui.js.map +1 -1
  787. package/build-module/hooks/custom-class-name.js +4 -2
  788. package/build-module/hooks/custom-class-name.js.map +1 -1
  789. package/build-module/hooks/dimensions.js +7 -6
  790. package/build-module/hooks/dimensions.js.map +1 -1
  791. package/build-module/hooks/duotone.js +5 -4
  792. package/build-module/hooks/duotone.js.map +1 -1
  793. package/build-module/hooks/font-family.js +1 -5
  794. package/build-module/hooks/font-family.js.map +1 -1
  795. package/build-module/hooks/font-size.js +10 -9
  796. package/build-module/hooks/font-size.js.map +1 -1
  797. package/build-module/hooks/layout.js +26 -24
  798. package/build-module/hooks/layout.js.map +1 -1
  799. package/build-module/hooks/position.js +23 -15
  800. package/build-module/hooks/position.js.map +1 -1
  801. package/build-module/hooks/style.js +8 -4
  802. package/build-module/hooks/style.js.map +1 -1
  803. package/build-module/hooks/supports.js +1 -1
  804. package/build-module/hooks/supports.js.map +1 -1
  805. package/build-module/hooks/typography.native.js +3 -1
  806. package/build-module/hooks/typography.native.js.map +1 -1
  807. package/build-module/hooks/use-typography-props.js +8 -15
  808. package/build-module/hooks/use-typography-props.js.map +1 -1
  809. package/build-module/index.js +1 -1
  810. package/build-module/index.js.map +1 -1
  811. package/build-module/layouts/constrained.js +2 -1
  812. package/build-module/layouts/constrained.js.map +1 -1
  813. package/build-module/layouts/definitions.js +147 -0
  814. package/build-module/layouts/definitions.js.map +1 -0
  815. package/build-module/layouts/flex.js +8 -6
  816. package/build-module/layouts/flex.js.map +1 -1
  817. package/build-module/layouts/flow.js +2 -1
  818. package/build-module/layouts/flow.js.map +1 -1
  819. package/build-module/layouts/grid.js +2 -1
  820. package/build-module/layouts/grid.js.map +1 -1
  821. package/build-module/layouts/utils.js +7 -2
  822. package/build-module/layouts/utils.js.map +1 -1
  823. package/build-module/private-apis.js +16 -1
  824. package/build-module/private-apis.js.map +1 -1
  825. package/build-module/store/actions.js +2 -62
  826. package/build-module/store/actions.js.map +1 -1
  827. package/build-module/store/defaults.js +1 -0
  828. package/build-module/store/defaults.js.map +1 -1
  829. package/build-module/store/private-actions.js +186 -0
  830. package/build-module/store/private-actions.js.map +1 -1
  831. package/build-module/store/private-selectors.js +63 -3
  832. package/build-module/store/private-selectors.js.map +1 -1
  833. package/build-module/store/reducer.js +52 -1
  834. package/build-module/store/reducer.js.map +1 -1
  835. package/build-module/store/selectors.js +42 -42
  836. package/build-module/store/selectors.js.map +1 -1
  837. package/build-module/utils/object.js +37 -1
  838. package/build-module/utils/object.js.map +1 -1
  839. package/build-style/style-rtl.css +58 -67
  840. package/build-style/style.css +58 -67
  841. package/package.json +32 -31
  842. package/src/autocompleters/block.js +4 -2
  843. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  844. package/src/components/alignment-control/ui.js +1 -2
  845. package/src/components/block-actions/index.js +10 -0
  846. package/src/components/block-alignment-control/constants.js +0 -4
  847. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  848. package/src/components/block-alignment-control/ui.js +1 -6
  849. package/src/components/block-alignment-matrix-control/index.js +1 -1
  850. package/src/components/block-breadcrumb/index.js +2 -6
  851. package/src/components/block-edit/index.js +3 -5
  852. package/src/components/block-heading-level-dropdown/README.md +52 -0
  853. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  854. package/src/components/block-heading-level-dropdown/index.js +77 -0
  855. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  856. package/src/components/block-inspector/index.js +18 -92
  857. package/src/components/block-inspector/style.scss +0 -5
  858. package/src/components/block-list/block.native.js +1 -0
  859. package/src/components/block-list/index.js +1 -1
  860. package/src/components/block-list/use-in-between-inserter.js +0 -4
  861. package/src/components/block-list-appender/index.js +29 -22
  862. package/src/components/block-lock/style.scss +11 -4
  863. package/src/components/block-lock/toolbar.js +34 -6
  864. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  865. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  866. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  867. package/src/components/block-mover/test/index.native.js +1 -20
  868. package/src/components/block-preview/index.js +7 -14
  869. package/src/components/block-quick-navigation/index.js +81 -0
  870. package/src/components/block-removal-warning-modal/index.js +94 -0
  871. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
  872. package/src/components/block-switcher/index.js +1 -2
  873. package/src/components/block-toolbar/index.js +9 -6
  874. package/src/components/block-toolbar/style.scss +0 -4
  875. package/src/components/block-tools/index.js +10 -1
  876. package/src/components/block-tools/style.scss +4 -0
  877. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  878. package/src/components/colors/utils.js +5 -1
  879. package/src/components/colors/with-colors.js +1 -5
  880. package/src/components/copy-handler/index.js +5 -5
  881. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  882. package/src/components/dimensions-tool/index.js +212 -0
  883. package/src/components/dimensions-tool/scale-tool.js +124 -0
  884. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  885. package/src/components/dimensions-tool/stories/index.js +54 -0
  886. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  887. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  888. package/src/components/dimensions-tool/test/index.js +641 -0
  889. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  890. package/src/components/duotone-control/index.js +0 -1
  891. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  892. package/src/components/font-sizes/utils.js +2 -2
  893. package/src/components/global-styles/color-panel.js +3 -3
  894. package/src/components/global-styles/index.js +1 -0
  895. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  896. package/src/components/global-styles/typography-panel.js +19 -16
  897. package/src/components/global-styles/use-global-styles-output.js +12 -12
  898. package/src/components/iframe/index.js +1 -1
  899. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  900. package/src/components/image-editor/constants.js +0 -1
  901. package/src/components/image-editor/use-save-image.js +0 -1
  902. package/src/components/image-size-control/index.js +6 -0
  903. package/src/components/index.js +1 -1
  904. package/src/components/index.native.js +1 -0
  905. package/src/components/inner-blocks/index.js +4 -2
  906. package/src/components/inner-blocks/index.native.js +1 -1
  907. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  908. package/src/components/inserter/block-patterns-tab.js +63 -8
  909. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  910. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  911. package/src/components/inserter/library.js +2 -1
  912. package/src/components/inserter/media-tab/media-tab.js +9 -3
  913. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  914. package/src/components/inserter/tabs.js +3 -3
  915. package/src/components/link-control/index.js +34 -37
  916. package/src/components/link-control/search-input.js +5 -3
  917. package/src/components/link-control/settings-drawer.js +6 -5
  918. package/src/components/link-control/style.scss +33 -55
  919. package/src/components/link-control/test/index.js +161 -159
  920. package/src/components/list-view/block-select-button.js +19 -1
  921. package/src/components/list-view/branch.js +6 -3
  922. package/src/components/list-view/drop-indicator.js +94 -9
  923. package/src/components/list-view/style.scss +13 -12
  924. package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
  925. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  926. package/src/components/list-view/use-list-view-drop-zone.js +97 -54
  927. package/src/components/media-placeholder/index.js +54 -20
  928. package/src/components/media-replace-flow/index.js +1 -3
  929. package/src/components/media-replace-flow/test/index.js +1 -1
  930. package/src/components/preview-options/index.js +3 -2
  931. package/src/components/provider/test/experimental-provider.js +9 -6
  932. package/src/components/provider/test/use-block-sync.js +21 -6
  933. package/src/components/provider/use-block-sync.js +19 -0
  934. package/src/components/resolution-tool/index.js +56 -0
  935. package/src/components/resolution-tool/stories/index.js +48 -0
  936. package/src/components/rich-text/content.js +85 -0
  937. package/src/components/rich-text/format-toolbar/index.js +1 -2
  938. package/src/components/rich-text/index.js +2 -35
  939. package/src/components/rich-text/index.native.js +3 -33
  940. package/src/components/url-input/index.js +2 -0
  941. package/src/components/url-popover/image-url-input-ui.js +15 -15
  942. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  943. package/src/components/use-block-display-information/index.js +26 -0
  944. package/src/components/writing-flow/use-drag-selection.js +1 -1
  945. package/src/components/writing-flow/use-tab-nav.js +42 -6
  946. package/src/hooks/behaviors.js +82 -39
  947. package/src/hooks/font-family.js +1 -5
  948. package/src/hooks/font-size.js +12 -17
  949. package/src/hooks/layout.js +17 -25
  950. package/src/hooks/position.js +24 -12
  951. package/src/hooks/supports.js +1 -1
  952. package/src/hooks/use-typography-props.js +14 -19
  953. package/src/index.js +0 -2
  954. package/src/layouts/constrained.js +2 -1
  955. package/src/layouts/definitions.js +174 -0
  956. package/src/layouts/flex.js +7 -5
  957. package/src/layouts/flow.js +2 -1
  958. package/src/layouts/grid.js +2 -1
  959. package/src/layouts/test/utils.js +2 -7
  960. package/src/layouts/utils.js +7 -2
  961. package/src/private-apis.js +15 -0
  962. package/src/store/actions.js +7 -56
  963. package/src/store/defaults.js +1 -0
  964. package/src/store/private-actions.js +193 -0
  965. package/src/store/private-selectors.js +108 -35
  966. package/src/store/reducer.js +44 -0
  967. package/src/store/selectors.js +61 -39
  968. package/src/store/test/private-selectors.js +269 -1
  969. package/src/store/test/selectors.js +18 -17
  970. package/src/utils/object.js +35 -0
  971. package/src/utils/test/object.js +96 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","get","wrapperProps","set","BlockWrapper","accessibilityLabel","align","blockWidth","children","clientId","draggingClientId","draggingEnabled","isDescendentBlockSelected","isParentSelected","isSelected","isStackedHorizontally","isTouchable","marginHorizontal","marginVertical","onDeleteBlock","onFocus","width","screenWidth","anchorNodeRef","isFullWidth","alignmentHelpers","isScreenWidthEqual","isFullWidthToolbar","blockWrapperStyles","flex","blockWrapperStyle","accessible","styles","neutralToolbar","current","BlockListBlock","attributes","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isValid","name","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","baseGlobalStyles","blockType","isDescendantOfParentSelected","order","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","blockEditorStore","currentBlockType","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","hasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","onLayout","nativeEvent","layoutWidth","Math","floor","layout","getEditWrapperProps","mergedStyle","style","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","undefined","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","every","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, useWindowDimensions, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useRef, useState } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\tuseMobileGlobalStylesColors,\n\talignmentHelpers,\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 BlockMobileToolbar from '../block-mobile-toolbar';\nimport BlockOutline from './block-outline';\nimport styles from './block.scss';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useSetting from '../use-setting';\n\nconst emptyArray = [];\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\talign,\n\tblockWidth,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\tisDescendentBlockSelected,\n\tisParentSelected,\n\tisSelected,\n\tisStackedHorizontally,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonDeleteBlock,\n\tonFocus,\n} ) {\n\tconst { width: screenWidth } = useWindowDimensions();\n\tconst anchorNodeRef = useRef();\n\tconst { isFullWidth } = alignmentHelpers;\n\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\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\tisSelected={ isSelected }\n\t\t\t\tisParentSelected={ isParentSelected }\n\t\t\t\tscreenWidth={ screenWidth }\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\t<View style={ styles.neutralToolbar } ref={ anchorNodeRef }>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\tanchorNodeRef={ anchorNodeRef.current }\n\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\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\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\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} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\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 hasInnerBlocks = 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! hasInnerBlocks || isSelected || ! 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\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\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};\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 = useSetting( 'typography.fontSizes' ) || emptyArray;\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\tconst wrapperProps = getWrapperProps(\n\t\tattributes,\n\t\tblockType.getEditWrapperProps\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\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 { align } = attributes;\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\talign={ align }\n\t\t\tblockWidth={ blockWidth }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\tisFocused={ isFocused }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisParentSelected={ isParentSelected }\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\tonDeleteBlock={ onDeleteBlock }\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\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/>\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}\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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","get","wrapperProps","set","BlockWrapper","accessibilityLabel","align","blockWidth","children","clientId","draggingClientId","draggingEnabled","isDescendentBlockSelected","isParentSelected","isSelected","isStackedHorizontally","isTouchable","marginHorizontal","marginVertical","onDeleteBlock","onFocus","width","screenWidth","anchorNodeRef","isFullWidth","alignmentHelpers","isScreenWidthEqual","isFullWidthToolbar","blockWrapperStyles","flex","blockWrapperStyle","accessible","styles","neutralToolbar","current","BlockListBlock","attributes","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isValid","name","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","baseGlobalStyles","blockType","isDescendantOfParentSelected","order","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","blockEditorStore","currentBlockType","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","hasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","onLayout","nativeEvent","layoutWidth","Math","floor","layout","getEditWrapperProps","mergedStyle","style","JSON","stringify","Object","fromEntries","entries","filter","key","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","isFocused","undefined","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","every","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, useWindowDimensions, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useRef, useState } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\tuseMobileGlobalStylesColors,\n\talignmentHelpers,\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 BlockMobileToolbar from '../block-mobile-toolbar';\nimport BlockOutline from './block-outline';\nimport styles from './block.scss';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useSetting from '../use-setting';\n\nconst emptyArray = [];\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\talign,\n\tblockWidth,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\tisDescendentBlockSelected,\n\tisParentSelected,\n\tisSelected,\n\tisStackedHorizontally,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonDeleteBlock,\n\tonFocus,\n} ) {\n\tconst { width: screenWidth } = useWindowDimensions();\n\tconst anchorNodeRef = useRef();\n\tconst { isFullWidth } = alignmentHelpers;\n\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\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\tisSelected={ isSelected }\n\t\t\t\tisParentSelected={ isParentSelected }\n\t\t\t\tscreenWidth={ screenWidth }\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\t<View style={ styles.neutralToolbar } ref={ anchorNodeRef }>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\tanchorNodeRef={ anchorNodeRef.current }\n\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\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\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\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} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\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 hasInnerBlocks = 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! hasInnerBlocks || isSelected || ! 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\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\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};\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 = useSetting( 'typography.fontSizes' ) || emptyArray;\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\tconst wrapperProps = getWrapperProps(\n\t\tattributes,\n\t\tblockType.getEditWrapperProps\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\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 { align } = attributes;\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\talign={ align }\n\t\t\tblockWidth={ blockWidth }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\tisFocused={ isFocused }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisParentSelected={ isParentSelected }\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\tonDeleteBlock={ onDeleteBlock }\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/>\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}\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"]}
@@ -125,14 +125,16 @@ function Root({
125
125
  value: element
126
126
  }, (0, _element.createElement)(IntersectionObserver.Provider, {
127
127
  value: intersectionObserver
128
- }, (0, _element.createElement)("div", innerBlocksProps)));
128
+ }, (0, _element.createElement)("div", { ...innerBlocksProps
129
+ })));
129
130
  }
130
131
 
131
132
  function BlockList(settings) {
132
133
  (0, _preParsePatterns.usePreParsePatterns)();
133
134
  return (0, _element.createElement)(_backCompat.default, null, (0, _element.createElement)(_context.BlockEditContextProvider, {
134
135
  value: _context.DEFAULT_BLOCK_EDIT_CONTEXT
135
- }, (0, _element.createElement)(Root, settings)));
136
+ }, (0, _element.createElement)(Root, { ...settings
137
+ })));
136
138
  }
137
139
 
138
140
  BlockList.__unstableElementContext = elementContext;
@@ -142,7 +144,7 @@ function Items({
142
144
  rootClientId,
143
145
  renderAppender,
144
146
  __experimentalAppenderTagName,
145
- __experimentalLayout: layout = _layout.defaultLayout
147
+ layout = _layout.defaultLayout
146
148
  }) {
147
149
  const {
148
150
  order,
@@ -182,6 +184,7 @@ function BlockListItems(props) {
182
184
  // the async mode depending on the block selection.
183
185
  return (0, _element.createElement)(_data.AsyncModeProvider, {
184
186
  value: false
185
- }, (0, _element.createElement)(Items, props));
187
+ }, (0, _element.createElement)(Items, { ...props
188
+ }));
186
189
  }
187
190
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"names":["elementContext","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","element","setElement","isLargeViewport","isOutlineMode","isFocusMode","editorMode","select","getSettings","__unstableGetEditorMode","blockEditorStore","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","BlockList","DEFAULT_BLOCK_EDIT_CONTEXT","__unstableElementContext","Items","placeholder","rootClientId","renderAppender","__experimentalAppenderTagName","__experimentalLayout","layout","defaultLayout","order","selectedBlocks","visibleBlocks","getBlockOrder","getSelectedBlockClientIds","__unstableGetVisibleBlocks","map","has","includes","length","BlockListItems","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { usePreParsePatterns } from '../../utils/pre-parse-patterns';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport BlockToolsBackCompat from '../block-tools/back-compat';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\n\nconst elementContext = createContext();\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst [ element, setElement ] = useState();\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, editorMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tsetElement,\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<elementContext.Provider value={ element }>\n\t\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</IntersectionObserver.Provider>\n\t\t</elementContext.Provider>\n\t);\n}\n\nexport default function BlockList( settings ) {\n\tusePreParsePatterns();\n\treturn (\n\t\t<BlockToolsBackCompat>\n\t\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t\t<Root { ...settings } />\n\t\t\t</BlockEditContextProvider>\n\t\t</BlockToolsBackCompat>\n\t);\n}\n\nBlockList.__unstableElementContext = elementContext;\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender,\n\t__experimentalAppenderTagName,\n\t__experimentalLayout: layout = defaultLayout,\n} ) {\n\tconst { order, selectedBlocks, visibleBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t<BlockListAppender\n\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t/>\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"names":["elementContext","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","element","setElement","isLargeViewport","isOutlineMode","isFocusMode","editorMode","select","getSettings","__unstableGetEditorMode","blockEditorStore","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","BlockList","DEFAULT_BLOCK_EDIT_CONTEXT","__unstableElementContext","Items","placeholder","rootClientId","renderAppender","__experimentalAppenderTagName","layout","defaultLayout","order","selectedBlocks","visibleBlocks","getBlockOrder","getSelectedBlockClientIds","__unstableGetVisibleBlocks","map","has","includes","length","BlockListItems","props"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { usePreParsePatterns } from '../../utils/pre-parse-patterns';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport BlockToolsBackCompat from '../block-tools/back-compat';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\n\nconst elementContext = createContext();\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst [ element, setElement ] = useState();\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, editorMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tsetElement,\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<elementContext.Provider value={ element }>\n\t\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</IntersectionObserver.Provider>\n\t\t</elementContext.Provider>\n\t);\n}\n\nexport default function BlockList( settings ) {\n\tusePreParsePatterns();\n\treturn (\n\t\t<BlockToolsBackCompat>\n\t\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t\t<Root { ...settings } />\n\t\t\t</BlockEditContextProvider>\n\t\t</BlockToolsBackCompat>\n\t);\n}\n\nBlockList.__unstableElementContext = elementContext;\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\tconst { order, selectedBlocks, visibleBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t<BlockListAppender\n\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t/>\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"]}
@@ -9,8 +9,6 @@ exports.default = BlockList;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _reactNative = require("react-native");
15
13
 
16
14
  var _data = require("@wordpress/data");
@@ -194,7 +192,7 @@ function BlockList({
194
192
  tileCount: blockClientIds.length,
195
193
  tileIndex: blockClientIds.indexOf(clientId)
196
194
  };
197
- return (0, _element.createElement)(_blockListItem.default, (0, _extends2.default)({
195
+ return (0, _element.createElement)(_blockListItem.default, {
198
196
  index: index,
199
197
  isStackedHorizontally: isStackedHorizontally,
200
198
  rootClientId: rootClientId,
@@ -208,8 +206,9 @@ function BlockList({
208
206
  onDeleteBlock: onDeleteBlock,
209
207
  shouldShowInnerBlockAppender: shouldShowInnerBlockAppender,
210
208
  blockWidth: blockWidth,
211
- isGridItem: isGridItem
212
- }, gridItemProps));
209
+ isGridItem: isGridItem,
210
+ ...gridItemProps
211
+ });
213
212
  };
214
213
 
215
214
  const {
@@ -242,9 +241,9 @@ function BlockList({
242
241
  isRTL: isRTL
243
242
  }, ({
244
243
  onScroll
245
- }) => (0, _element.createElement)(_components.KeyboardAwareFlatList, (0, _extends2.default)({}, _reactNative.Platform.OS === 'android' ? {
246
- removeClippedSubviews: false
247
- } : {}, {
244
+ }) => (0, _element.createElement)(_components.KeyboardAwareFlatList, { ...(_reactNative.Platform.OS === 'android' ? {
245
+ removeClippedSubviews: false
246
+ } : {}),
248
247
  // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541
249
248
  accessibilityLabel: "block-list",
250
249
  innerRef: ref => {
@@ -277,7 +276,7 @@ function BlockList({
277
276
  withFooter: withFooter
278
277
  }),
279
278
  onScroll: onScroll
280
- })))) : (0, _element.createElement)(_element.Fragment, null, blockClientIds.length > 0 ? (0, _element.createElement)(_reactNative.View, {
279
+ }))) : (0, _element.createElement)(_element.Fragment, null, blockClientIds.length > 0 ? (0, _element.createElement)(_reactNative.View, {
281
280
  style: [{
282
281
  flex: 0
283
282
  }, _style.default.overflowVisible]
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","x","stylesMemo","getStyles","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","styles","horizontal","overflowVisible","BlockList","blockWidth","initialBlockWidth","contentResizeMode","contentStyle","filterInnerBlocks","gridProperties","header","marginHorizontal","defaultBlock","marginLeft","marginVertical","marginTop","onAddBlock","onDeleteBlock","orientation","parentWidth","renderAppender","renderFooterAppender","rootClientId","withFooter","blockClientIds","blockCount","blockInsertionPointIsVisible","isReadOnly","isRootList","isFloatingToolbarVisible","maxWidth","isRTL","select","getBlockCount","getBlockHierarchyRootClientId","getBlockOrder","getSelectedBlockClientId","isBlockInsertionPointVisible","getSettings","blockEditorStore","selectedBlockClientId","rootBlockId","blockOrder","isRTLSetting","maxWidthSetting","readOnly","Platform","OS","undefined","insertBlock","clearSelectedBlock","extraData","setBlockWidth","addBlockToEndOfPost","newBlock","scrollViewRef","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","length","getExtraData","current","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","min","renderItem","item","clientId","index","isGridItem","gridItemProps","numOfColumns","numColumns","tileCount","tileIndex","indexOf","blockToolbar","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","alignmentHelpers","extraScrollHeight","height","DEFAULT_BLOCK_LIST_CONTEXT","scrollRef","onScroll","removeClippedSubviews","ref","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","BlockListItemCell","map","currentClientId","innerAppender","Footer","paragraphBlock","blockListFooter","EmptyList","shouldShowInsertionPoint","getBlockInsertionPoint","insertionPoint","align","WIDE_ALIGNMENTS","alignments","full","wrapperStyles","containerStyles","defaultAppender"],"mappings":";;;;;;;;;AAQA;;;;AALA;;AAMA;;AACA;;AACA;;AAKA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AA/BA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAaA,MAAMA,QAAQ,GAAKC,CAAF,IAASA,CAA1B;;AAEA,MAAMC,UAAU,GAAG,EAAnB;;AACA,MAAMC,SAAS,GAAG,CAAEC,qBAAF,EAAyBC,mBAAzB,KAAkD;AACnE,QAAMC,SAAS,GAAI,GAAGF,qBAAuB,IAAIC,mBAAqB,EAAtE;;AACA,MAAKH,UAAU,CAAEI,SAAF,CAAf,EAA+B;AAC9B,WAAOJ,UAAU,CAAEI,SAAF,CAAjB;AACA;;AACD,QAAMC,cAAc,GAAG,CACtBH,qBAAqB,IAAII,eAAOC,UADV,EAEtBJ,mBAAmB,IAAIG,eAAS,cAAcH,mBAAqB,EAA5C,CAFD,EAGtBG,eAAOE,eAHe,CAAvB;AAKAR,EAAAA,UAAU,CAAEI,SAAF,CAAV,GAA0BC,cAA1B;AACA,SAAOA,cAAP;AACA,CAZD;;AAce,SAASI,SAAT,CAAoB;AAClCC,EAAAA,UAAU,EAAEC,iBADsB;AAElCC,EAAAA,iBAFkC;AAGlCC,EAAAA,YAHkC;AAIlCC,EAAAA,iBAJkC;AAKlCC,EAAAA,cALkC;AAMlCC,EAAAA,MANkC;AAOlCT,EAAAA,UAPkC;AAQlCJ,EAAAA,mBARkC;AASlCc,EAAAA,gBAAgB,GAAGX,eAAOY,YAAP,CAAoBC,UATL;AAUlCC,EAAAA,cAAc,GAAGd,eAAOY,YAAP,CAAoBG,SAVH;AAWlCC,EAAAA,UAXkC;AAYlCC,EAAAA,aAZkC;AAalCC,EAAAA,WAbkC;AAclCC,EAAAA,WAdkC;AAelCC,EAAAA,cAfkC;AAgBlCC,EAAAA,oBAhBkC;AAiBlCC,EAAAA,YAjBkC;AAkBlCC,EAAAA,UAAU,GAAG;AAlBqB,CAApB,EAmBX;AACH,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,UAFK;AAGLC,IAAAA,4BAHK;AAILC,IAAAA,UAJK;AAKLC,IAAAA,UALK;AAMLC,IAAAA,wBANK;AAOLjC,IAAAA,qBAPK;AAQLkC,IAAAA,QARK;AASLC,IAAAA;AATK,MAUF,qBACDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,aADK;AAELC,MAAAA,6BAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA,wBAJK;AAKLC,MAAAA,4BALK;AAMLC,MAAAA;AANK,QAOFN,MAAM,CAAEO,YAAF,CAPV;AASA,UAAMC,qBAAqB,GAAGJ,wBAAwB,EAAtD;AACA,UAAMK,WAAW,GAAGP,6BAA6B,CAChDM,qBADgD,CAAjD;AAIA,QAAIE,UAAU,GAAGP,aAAa,CAAEb,YAAF,CAA9B,CAfa,CAgBb;;AACA,QAAKd,iBAAL,EAAyB;AACxBkC,MAAAA,UAAU,GAAGlC,iBAAiB,CAAEkC,UAAF,CAA9B;AACA;;AAED,UAAM;AACLX,MAAAA,KAAK,EAAEY,YADF;AAELb,MAAAA,QAAQ,EAAEc,eAFL;AAGLC,MAAAA;AAHK,QAIFP,WAAW,EAJf;AAMA,WAAO;AACNd,MAAAA,cAAc,EAAEkB,UADV;AAENjB,MAAAA,UAAU,EAAEQ,aAAa,EAFnB;AAGNP,MAAAA,4BAA4B,EAC3BoB,sBAASC,EAAT,KAAgB,KAAhB,IAAyBV,4BAA4B,EAJhD;AAKNV,MAAAA,UAAU,EAAEkB,QALN;AAMNjB,MAAAA,UAAU,EAAEN,YAAY,KAAK0B,SANvB;AAONnB,MAAAA,wBAAwB,EACvB,CAAC,CAAEW,qBAAH,IAA4B,CAAC,CAAEP,aAAa,CAAEQ,WAAF,CARvC;AASN7C,MAAAA,qBAAqB,EAAEsB,WAAW,KAAK,YATjC;AAUNY,MAAAA,QAAQ,EAAEc,eAVJ;AAWNb,MAAAA,KAAK,EAAEY;AAXD,KAAP;AAaA,GAzCE,EA0CH,CAAEnC,iBAAF,EAAqBU,WAArB,EAAkCI,YAAlC,CA1CG,CAVJ;AAuDA,QAAM;AAAE2B,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAsC,uBAAaX,YAAb,CAA5C;AAEA,QAAMY,SAAS,GAAG,qBAAQ;AACzBhC,IAAAA,WADyB;AAEzBE,IAAAA,oBAFyB;AAGzBD,IAAAA,cAHyB;AAIzBH,IAAAA,aAJyB;AAKzBV,IAAAA;AALyB,GAAR,CAAlB;AAQA,QAAM,CAAEH,UAAF,EAAcgD,aAAd,IAAgC,uBAAU/C,iBAAiB,IAAI,CAA/B,CAAtC;;AAEA,QAAMgD,mBAAmB,GAAKC,QAAF,IAAgB;AAC3CL,IAAAA,WAAW,CAAEK,QAAF,EAAY7B,UAAZ,CAAX;AACA,GAFD;;AAIA,QAAM8B,aAAa,GAAG,qBAAQ,IAAR,CAAtB;;AAEA,QAAMC,oCAAoC,GAAG,MAC5C9B,4BADD;;AAGA,QAAM+B,4BAA4B,GAAG,MACpCrC,cAAc,IAAII,cAAc,CAACkC,MAAf,GAAwB,CAD3C;;AAGA,QAAMC,YAAY,GAAG,MAAM;AAC1B,QACCR,SAAS,CAACS,OAAV,CAAkBzC,WAAlB,KAAkCA,WAAlC,IACAgC,SAAS,CAACS,OAAV,CAAkBvC,oBAAlB,KAA2CA,oBAD3C,IAEA8B,SAAS,CAACS,OAAV,CAAkB3C,aAAlB,KAAoCA,aAFpC,IAGAkC,SAAS,CAACS,OAAV,CAAkBrD,YAAlB,KAAmCA,YAHnC,IAIA4C,SAAS,CAACS,OAAV,CAAkBxC,cAAlB,KAAqCA,cAJrC,IAKA+B,SAAS,CAACS,OAAV,CAAkBxD,UAAlB,KAAiCA,UALjC,IAMA+C,SAAS,CAACS,OAAV,CAAkBnD,cAAlB,KAAqCA,cAPtC,EAQE;AACD0C,MAAAA,SAAS,CAACS,OAAV,GAAoB;AACnBzC,QAAAA,WADmB;AAEnBE,QAAAA,oBAFmB;AAGnBJ,QAAAA,aAHmB;AAInBV,QAAAA,YAJmB;AAKnBa,QAAAA,cALmB;AAMnBhB,QAAAA,UANmB;AAOnBK,QAAAA;AAPmB,OAApB;AASA;;AACD,WAAO0C,SAAS,CAACS,OAAjB;AACA,GArBD;;AAuBA,QAAMC,QAAQ,GAAG,CAAE;AAAEC,IAAAA;AAAF,GAAF,KAAuB;AACvC,UAAM;AAAEC,MAAAA;AAAF,QAAaD,WAAnB;AAEA,UAAME,WAAW,GAAGC,IAAI,CAACC,KAAL,CAAYH,MAAM,CAACI,KAAnB,CAApB;;AACA,QAAKvC,UAAU,IAAIxB,UAAU,KAAK4D,WAAlC,EAAgD;AAC/CZ,MAAAA,aAAa,CAAEa,IAAI,CAACG,GAAL,CAAUJ,WAAV,EAAuBlC,QAAvB,CAAF,CAAb;AACA,KAFD,MAEO,IAAK,CAAEF,UAAF,IAAgB,CAAExB,UAAvB,EAAoC;AAC1CgD,MAAAA,aAAa,CAAEa,IAAI,CAACG,GAAL,CAAUJ,WAAV,EAAuBlC,QAAvB,CAAF,CAAb;AACA;AACD,GATD;;AAWA,QAAMuC,UAAU,GAAG,CAAE;AAAEC,IAAAA,IAAI,EAAEC,QAAR;AAAkBC,IAAAA;AAAlB,GAAF,KAAiC;AACnD;AACA;AACA,UAAMC,UAAU,GAAG,CAAC,CAAEhE,cAAtB;AACA,UAAMiE,aAAa,GAAGjE,cAAc,IAAI;AACvCkE,MAAAA,YAAY,EAAElE,cAAc,CAACmE,UADU;AAEvCC,MAAAA,SAAS,EAAErD,cAAc,CAACkC,MAFa;AAGvCoB,MAAAA,SAAS,EAAEtD,cAAc,CAACuD,OAAf,CAAwBR,QAAxB;AAH4B,KAAxC;AAKA,WACC,4BAAC,sBAAD;AACC,MAAA,KAAK,EAAGC,KADT;AAEC,MAAA,qBAAqB,EAAG5E,qBAFzB;AAGC,MAAA,YAAY,EAAG0B,YAHhB;AAIC,MAAA,QAAQ,EAAGiD,QAJZ;AAKC,MAAA,WAAW,EAAGpD,WALf;AAMC,MAAA,iBAAiB,EAAGb,iBANrB;AAOC,MAAA,YAAY,EAAGC,YAPhB;AAQC,MAAA,UAAU,EAAGS,UARd;AASC,MAAA,cAAc,EAAGF,cATlB;AAUC,MAAA,gBAAgB,EAAGH,gBAVpB;AAWC,MAAA,aAAa,EAAGM,aAXjB;AAYC,MAAA,4BAA4B,EAAGwC,4BAZhC;AAaC,MAAA,UAAU,EAAGrD,UAbd;AAcC,MAAA,UAAU,EAAGqE;AAdd,OAeMC,aAfN,EADD;AAmBA,GA5BD;;AA8BA,QAAM;AAAEM,IAAAA,YAAF;AAAgBC,IAAAA,aAAhB;AAA+BC,IAAAA;AAA/B,MAAmDlF,cAAzD;AAEA,QAAMmF,cAAc,GAAG;AACtBC,IAAAA,IAAI,EAAExD,UAAU,GAAG,CAAH,GAAO,CADD;AAEtB;AACAd,IAAAA,cAAc,EAAEc,UAAU,GAAG,CAAH,GAAO,CAACd,cAHZ;AAItBH,IAAAA,gBAAgB,EAAEiB,UAAU,GAAG,CAAH,GAAO,CAACjB;AAJd,GAAvB;AAOA,QAAM0E,gBAAgB,GAAG/E,iBAAiB,KAAK,SAA/C;AACA,QAAMgF,aAAa,GAAG9D,cAAc,CAACkC,MAAf,GAAwB,CAA9C;AACA,QAAM;AAAE6B,IAAAA;AAAF,MAAcC,4BAApB;AACA,QAAMC,iBAAiB,GACtBR,aAAa,CAACS,MAAd,GACAV,YAAY,CAACU,MADb,IAEE7D,wBAAwB,GAAGqD,eAAe,CAACQ,MAAnB,GAA4B,CAFtD,CADD;AAKA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGP,cADT;AAEC,IAAA,qBAAqB,EAAGjC,kBAFzB;AAGC,IAAA,QAAQ,EAAGW,QAHZ;AAIC,IAAA,MAAM,EAAC;AAJR,KAMGjC,UAAU,GACX,4BAAC,mCAAD;AACC,IAAA,KAAK,EAAG,EACP,GAAG+D,4CADI;AAEPC,MAAAA,SAAS,EAAErC,aAAa,CAACK;AAFlB;AADT,KAMC,4BAAC,qCAAD;AAAuB,IAAA,KAAK,EAAG7B;AAA/B,KACG,CAAE;AAAE8D,IAAAA;AAAF,GAAF,KACD,4BAAC,iCAAD,6BACQ/C,sBAASC,EAAT,KAAgB,SAAhB,GACJ;AAAE+C,IAAAA,qBAAqB,EAAE;AAAzB,GADI,GAEJ,EAHJ;AAGW;AACV,IAAA,kBAAkB,EAAC,YAJpB;AAKC,IAAA,QAAQ,EAAKC,GAAF,IAAW;AACrBxC,MAAAA,aAAa,CAACK,OAAd,GAAwBmC,GAAxB;AACA,KAPF;AAQC,IAAA,iBAAiB,EAAGN,iBARrB;AASC,IAAA,yBAAyB,EAAC,QAT3B;AAUC,IAAA,eAAe,EAAG;AAAEL,MAAAA,IAAI,EAAE;AAAR,KAVnB;AAWC,IAAA,SAAS,EAAGzB,YAAY,EAXzB;AAYC,IAAA,aAAa,EAAG/B,UAZjB;AAaC,IAAA,qBAAqB,EAAG,CACvB3B,UAAU,IACTD,eAAOgG,0BAFe,EAGvBT,OAAO,CAAEnF,UAAF,EAAc,QAAd,CAAP,KACGiF,gBAAgB,IAAIC,aAApB,GACCtF,eAAOiG,iCADR,GAECjG,eAAOkG,gCAHX,CAHuB,CAbzB;AAqBC,IAAA,IAAI,EAAG1E,cArBR;AAsBC,IAAA,YAAY,EAAGhC,QAtBhB;AAuBC,IAAA,UAAU,EAAG6E,UAvBd;AAwBC,IAAA,qBAAqB,EAAG8B,0BAxBzB;AAyBC,IAAA,4BAA4B,EAC3B3C,oCA1BF;AA4BC,IAAA,mBAAmB,EAAG9C,MA5BvB;AA6BC,IAAA,kBAAkB,EACjB,CAAEiB,UAAF,IACC,4BAAC,SAAD;AACC,MAAA,WAAW,EAAGT,WADf;AAEC,MAAA,YAAY,EAAGI,YAFhB;AAGC,MAAA,cAAc,EAAGF,cAHlB;AAIC,MAAA,oBAAoB,EACnBC;AALF,MA/BH;AAyCC,IAAA,mBAAmB,EAClB,4BAAC,MAAD;AACC,MAAA,mBAAmB,EAClBgC,mBAFF;AAIC,MAAA,UAAU,EAAG1B,UAJd;AAKC,MAAA,oBAAoB,EACnBN,oBANF;AAQC,MAAA,UAAU,EAAGE;AARd,MA1CF;AAqDC,IAAA,QAAQ,EAAGsE;AArDZ,KAFF,CAND,CADW,GAoEX,qDACGrE,cAAc,CAACkC,MAAf,GAAwB,CAAxB,GACD,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAG,CAAE;AAAE0B,MAAAA,IAAI,EAAE;AAAR,KAAF,EAAepF,eAAOE,eAAtB;AAAd,KACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,CACP,GAAGP,SAAS,CACXC,qBADW,EAEXC,mBAFW,CADL,EAKPI,UAAU,IACTD,eAAOgG,0BAND;AADT,KAUGxE,cAAc,CAAC4E,GAAf,CACD,CAAEC,eAAF,EAAmB7B,KAAnB,KAA8B;AAC7B,WACC,4BAAC,iBAAD;AAAM,MAAA,GAAG,EAAG6B;AAAZ,OACGhC,UAAU,CAAE;AACbC,MAAAA,IAAI,EAAE+B,eADO;AAEb7B,MAAAA;AAFa,KAAF,CADb,CADD;AAQA,GAVA,CAVH,EAsBC,4BAAC,MAAD;AACC,IAAA,mBAAmB,EAAGnB,mBADvB;AAEC,IAAA,UAAU,EAAG1B,UAFd;AAGC,IAAA,oBAAoB,EACnBN,oBAJF;AAMC,IAAA,UAAU,EAAGE;AANd,IAtBD,CADD,CADC,GAmCD,4BAAC,SAAD;AACC,IAAA,WAAW,EAAGL,WADf;AAEC,IAAA,YAAY,EAAGI,YAFhB;AAGC,IAAA,cAAc,EAAGF,cAHlB;AAIC,IAAA,oBAAoB,EAAGC;AAJxB,IApCF,CA1EF,EAuHGoC,4BAA4B,MAC7B,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG;AACP9C,MAAAA,gBAAgB,EACfA,gBAAgB,GAAGX,eAAOsG,aAAP,CAAqBzF;AAFlC;AADT,KAMC,4BAAC,0BAAD;AACC,IAAA,YAAY,EAAGS,YADhB;AAEC,IAAA,cAAc,EAAGF,cAFlB;AAGC,IAAA,aAAa;AAHd,IAND,CAxHF,CADD;AAwIA;;AAED,SAASmF,MAAT,CAAiB;AAChBlD,EAAAA,mBADgB;AAEhB1B,EAAAA,UAFgB;AAGhBN,EAAAA,oBAHgB;AAIhBE,EAAAA;AAJgB,CAAjB,EAKI;AACH,MAAK,CAAEI,UAAF,IAAgBJ,UAArB,EAAkC;AACjC,WACC,qDACC,4BAAC,qCAAD;AACC,MAAA,kBAAkB,EAAG,cAAI,qBAAJ,CADtB;AAEC,MAAA,MAAM,EAAG,cAAI,qBAAJ,CAFV;AAGC,MAAA,OAAO,EAAG,MAAM;AACf,cAAMiF,cAAc,GAAG,yBAAa,gBAAb,CAAvB;AACAnD,QAAAA,mBAAmB,CAAEmD,cAAF,CAAnB;AACA;AANF,OAQC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGxG,eAAOyG;AAArB,MARD,CADD,CADD;AAcA,GAfD,MAeO,IAAKpF,oBAAL,EAA4B;AAClC,WAAO,4BAAC,iBAAD,QAAQA,oBAAoB,EAA5B,CAAP;AACA;;AAED,SAAO,IAAP;AACA;;AAED,SAASqF,SAAT,CAAoB;AACnBxF,EAAAA,WADmB;AAEnBE,EAAAA,cAFmB;AAGnBC,EAAAA,oBAHmB;AAInBC,EAAAA;AAJmB,CAApB,EAKI;AACH,QAAM;AAAEqF,IAAAA;AAAF,MAA+B,qBAAa3E,MAAF,IAAc;AAC7D,UAAM;AACLG,MAAAA,aADK;AAELyE,MAAAA,sBAFK;AAGLvE,MAAAA;AAHK,QAIFL,MAAM,CAAEO,YAAF,CAJV;AAMA,UAAM3C,qBAAqB,GAAGsB,WAAW,KAAK,YAA9C;AACA,UAAMM,cAAc,GAAGW,aAAa,CAAEb,YAAF,CAApC;AACA,UAAMuF,cAAc,GAAGD,sBAAsB,EAA7C;AACA,UAAMlF,4BAA4B,GAAGW,4BAA4B,EAAjE;AAEA,WAAO;AACNsE,MAAAA,wBAAwB,EACvB,CAAE/G,qBAAF,IACA8B,4BADA,IAEAmF,cAAc,CAACvF,YAAf,KAAgCA,YAFhC,MAGA;AACEE,MAAAA,cAAc,CAACkC,MAAf,KAA0B,CAA1B,IACD;AACA,OAAElC,cAAc,CAAEqF,cAAc,CAACrC,KAAjB,CANjB;AAFK,KAAP;AAUA,GAtBoC,CAArC;AAuBA,QAAMsC,KAAK,GAAG1F,cAAc,GAAG2F,4BAAgBC,UAAhB,CAA2BC,IAA9B,GAAqCjE,SAAjE;AACA,QAAM,CAAEkE,aAAF,IAAoB,oDAAwB;AAAEJ,IAAAA;AAAF,GAAxB,CAA1B;;AAEA,MAAKzF,oBAAoB,IAAID,cAAc,KAAK,KAAhD,EAAwD;AACvD,WAAO,IAAP;AACA;;AAED,QAAM+F,eAAe,GAAG,CAAEnH,eAAOoH,eAAT,EAA0BF,aAA1B,CAAxB;AAEA,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGC;AAAd,KACC,4BAAC,0BAAD;AACC,IAAA,YAAY,EAAG7F,YADhB;AAEC,IAAA,cAAc,EAAGF,cAFlB;AAGC,IAAA,aAAa,EAAGuF;AAHjB,IADD,CADD;AASA","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport BlockListItemCell from './block-list-item-cell';\nimport {\n\tBlockListProvider,\n\tDEFAULT_BLOCK_LIST_CONTEXT,\n} from './block-list-context';\nimport { BlockDraggableWrapper } from '../block-draggable';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\nimport { store as blockEditorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nconst stylesMemo = {};\nconst getStyles = ( isStackedHorizontally, horizontalAlignment ) => {\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport default function BlockList( {\n\tblockWidth: initialBlockWidth,\n\tcontentResizeMode,\n\tcontentStyle,\n\tfilterInnerBlocks,\n\tgridProperties,\n\theader,\n\thorizontal,\n\thorizontalAlignment,\n\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\tmarginVertical = styles.defaultBlock.marginTop,\n\tonAddBlock,\n\tonDeleteBlock,\n\torientation,\n\tparentWidth,\n\trenderAppender,\n\trenderFooterAppender,\n\trootClientId,\n\twithFooter = true,\n} ) {\n\tconst {\n\t\tblockClientIds,\n\t\tblockCount,\n\t\tblockInsertionPointIsVisible,\n\t\tisReadOnly,\n\t\tisRootList,\n\t\tisFloatingToolbarVisible,\n\t\tisStackedHorizontally,\n\t\tmaxWidth,\n\t\tisRTL,\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\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst rootBlockId = getBlockHierarchyRootClientId(\n\t\t\t\tselectedBlockClientId\n\t\t\t);\n\n\t\t\tlet blockOrder = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function.\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockOrder = filterInnerBlocks( blockOrder );\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tisRTL: isRTLSetting,\n\t\t\t\tmaxWidth: maxWidthSetting,\n\t\t\t\treadOnly,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockClientIds: blockOrder,\n\t\t\t\tblockCount: getBlockCount(),\n\t\t\t\tblockInsertionPointIsVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly: readOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible:\n\t\t\t\t\t!! selectedBlockClientId && !! getBlockCount( rootBlockId ),\n\t\t\t\tisStackedHorizontally: orientation === 'horizontal',\n\t\t\t\tmaxWidth: maxWidthSetting,\n\t\t\t\tisRTL: isRTLSetting,\n\t\t\t};\n\t\t},\n\t\t[ filterInnerBlocks, orientation, rootClientId ]\n\t);\n\n\tconst { insertBlock, clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst extraData = useRef( {\n\t\tparentWidth,\n\t\trenderFooterAppender,\n\t\trenderAppender,\n\t\tonDeleteBlock,\n\t\tcontentStyle,\n\t} );\n\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth || 0 );\n\n\tconst addBlockToEndOfPost = ( newBlock ) => {\n\t\tinsertBlock( newBlock, blockCount );\n\t};\n\n\tconst scrollViewRef = useRef( null );\n\n\tconst shouldFlatListPreventAutomaticScroll = () =>\n\t\tblockInsertionPointIsVisible;\n\n\tconst shouldShowInnerBlockAppender = () =>\n\t\trenderAppender && blockClientIds.length > 0;\n\n\tconst getExtraData = () => {\n\t\tif (\n\t\t\textraData.current.parentWidth !== parentWidth ||\n\t\t\textraData.current.renderFooterAppender !== renderFooterAppender ||\n\t\t\textraData.current.onDeleteBlock !== onDeleteBlock ||\n\t\t\textraData.current.contentStyle !== contentStyle ||\n\t\t\textraData.current.renderAppender !== renderAppender ||\n\t\t\textraData.current.blockWidth !== blockWidth ||\n\t\t\textraData.current.gridProperties !== gridProperties\n\t\t) {\n\t\t\textraData.current = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn extraData.current;\n\t};\n\n\tconst onLayout = ( { nativeEvent } ) => {\n\t\tconst { layout } = nativeEvent;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tsetBlockWidth( Math.min( layoutWidth, maxWidth ) );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tsetBlockWidth( Math.min( layoutWidth, maxWidth ) );\n\t\t}\n\t};\n\n\tconst renderItem = ( { item: clientId, index } ) => {\n\t\t// Extracting the grid item properties here to avoid\n\t\t// re-renders in the blockListItem component.\n\t\tconst isGridItem = !! gridProperties;\n\t\tconst gridItemProps = gridProperties && {\n\t\t\tnumOfColumns: gridProperties.numColumns,\n\t\t\ttileCount: blockClientIds.length,\n\t\t\ttileIndex: blockClientIds.indexOf( clientId ),\n\t\t};\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tindex={ index }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={ shouldShowInnerBlockAppender }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tisGridItem={ isGridItem }\n\t\t\t\t{ ...gridItemProps }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst { blockToolbar, headerToolbar, floatingToolbar } = styles;\n\n\tconst containerStyle = {\n\t\tflex: isRootList ? 1 : 0,\n\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks.\n\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t};\n\n\tconst isContentStretch = contentResizeMode === 'stretch';\n\tconst isMultiBlocks = blockClientIds.length > 1;\n\tconst { isWider } = alignmentHelpers;\n\tconst extraScrollHeight =\n\t\theaderToolbar.height +\n\t\tblockToolbar.height +\n\t\t( isFloatingToolbarVisible ? floatingToolbar.height : 0 );\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ containerStyle }\n\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\tonLayout={ onLayout }\n\t\t\ttestID=\"block-list-wrapper\"\n\t\t>\n\t\t\t{ isRootList ? (\n\t\t\t\t<BlockListProvider\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t...DEFAULT_BLOCK_LIST_CONTEXT,\n\t\t\t\t\t\tscrollRef: scrollViewRef.current,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<BlockDraggableWrapper isRTL={ isRTL }>\n\t\t\t\t\t\t{ ( { onScroll } ) => (\n\t\t\t\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\t\t\t\tscrollViewRef.current = ref;\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\textraScrollHeight={ extraScrollHeight }\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\t\t\tscrollViewStyle={ { flex: 1 } }\n\t\t\t\t\t\t\t\textraData={ getExtraData() }\n\t\t\t\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t\t\t\thorizontal &&\n\t\t\t\t\t\t\t\t\t\tstyles.horizontalContentContainer,\n\t\t\t\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\t\t\t\trenderItem={ renderItem }\n\t\t\t\t\t\t\t\tCellRendererComponent={ BlockListItemCell }\n\t\t\t\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\t\t\t\tshouldFlatListPreventAutomaticScroll\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\t\t\t\tListEmptyComponent={\n\t\t\t\t\t\t\t\t\t! isReadOnly && (\n\t\t\t\t\t\t\t\t\t\t<EmptyList\n\t\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t\t\t<Footer\n\t\t\t\t\t\t\t\t\t\taddBlockToEndOfPost={\n\t\t\t\t\t\t\t\t\t\t\taddBlockToEndOfPost\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisReadOnly={ isReadOnly }\n\t\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\twithFooter={ withFooter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonScroll={ onScroll }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockDraggableWrapper>\n\t\t\t\t</BlockListProvider>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{ blockClientIds.length > 0 ? (\n\t\t\t\t\t\t<View style={ [ { flex: 0 }, styles.overflowVisible ] }>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t...getStyles(\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\thorizontal &&\n\t\t\t\t\t\t\t\t\t\tstyles.horizontalContentContainer,\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\t{ blockClientIds.map(\n\t\t\t\t\t\t\t\t\t( currentClientId, index ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<View key={ currentClientId }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ renderItem( {\n\t\t\t\t\t\t\t\t\t\t\t\t\titem: currentClientId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<Footer\n\t\t\t\t\t\t\t\t\taddBlockToEndOfPost={ addBlockToEndOfPost }\n\t\t\t\t\t\t\t\t\tisReadOnly={ isReadOnly }\n\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\twithFooter={ withFooter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<EmptyList\n\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\t\trenderFooterAppender={ renderFooterAppender }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ shouldShowInnerBlockAppender() && (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\tmarginHorizontal - styles.innerAppender.marginLeft,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nfunction Footer( {\n\taddBlockToEndOfPost,\n\tisReadOnly,\n\trenderFooterAppender,\n\twithFooter,\n} ) {\n\tif ( ! isReadOnly && withFooter ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\t\t\t\t\taddBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</>\n\t\t);\n\t} else if ( renderFooterAppender ) {\n\t\treturn <View>{ renderFooterAppender() }</View>;\n\t}\n\n\treturn null;\n}\n\nfunction EmptyList( {\n\torientation,\n\trenderAppender,\n\trenderFooterAppender,\n\trootClientId,\n} ) {\n\tconst { shouldShowInsertionPoint } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint:\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t\t! blockClientIds[ insertionPoint.index ] ),\n\t\t};\n\t} );\n\tconst align = renderAppender ? WIDE_ALIGNMENTS.alignments.full : undefined;\n\tconst [ wrapperStyles ] = useEditorWrapperStyles( { align } );\n\n\tif ( renderFooterAppender || renderAppender === false ) {\n\t\treturn null;\n\t}\n\n\tconst containerStyles = [ styles.defaultAppender, wrapperStyles ];\n\n\treturn (\n\t\t<View style={ containerStyles }>\n\t\t\t<BlockListAppender\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"names":["identity","x","stylesMemo","getStyles","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","styles","horizontal","overflowVisible","BlockList","blockWidth","initialBlockWidth","contentResizeMode","contentStyle","filterInnerBlocks","gridProperties","header","marginHorizontal","defaultBlock","marginLeft","marginVertical","marginTop","onAddBlock","onDeleteBlock","orientation","parentWidth","renderAppender","renderFooterAppender","rootClientId","withFooter","blockClientIds","blockCount","blockInsertionPointIsVisible","isReadOnly","isRootList","isFloatingToolbarVisible","maxWidth","isRTL","select","getBlockCount","getBlockHierarchyRootClientId","getBlockOrder","getSelectedBlockClientId","isBlockInsertionPointVisible","getSettings","blockEditorStore","selectedBlockClientId","rootBlockId","blockOrder","isRTLSetting","maxWidthSetting","readOnly","Platform","OS","undefined","insertBlock","clearSelectedBlock","extraData","setBlockWidth","addBlockToEndOfPost","newBlock","scrollViewRef","shouldFlatListPreventAutomaticScroll","shouldShowInnerBlockAppender","length","getExtraData","current","onLayout","nativeEvent","layout","layoutWidth","Math","floor","width","min","renderItem","item","clientId","index","isGridItem","gridItemProps","numOfColumns","numColumns","tileCount","tileIndex","indexOf","blockToolbar","headerToolbar","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","alignmentHelpers","extraScrollHeight","height","DEFAULT_BLOCK_LIST_CONTEXT","scrollRef","onScroll","removeClippedSubviews","ref","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","BlockListItemCell","map","currentClientId","innerAppender","Footer","paragraphBlock","blockListFooter","EmptyList","shouldShowInsertionPoint","getBlockInsertionPoint","insertionPoint","align","WIDE_ALIGNMENTS","alignments","full","wrapperStyles","containerStyles","defaultAppender"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tKeyboardAwareFlatList,\n\tWIDE_ALIGNMENTS,\n\talignmentHelpers,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListAppender from '../block-list-appender';\nimport BlockListItem from './block-list-item';\nimport BlockListItemCell from './block-list-item-cell';\nimport {\n\tBlockListProvider,\n\tDEFAULT_BLOCK_LIST_CONTEXT,\n} from './block-list-context';\nimport { BlockDraggableWrapper } from '../block-draggable';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\nimport { store as blockEditorStore } from '../../store';\n\nconst identity = ( x ) => x;\n\nconst stylesMemo = {};\nconst getStyles = ( isStackedHorizontally, horizontalAlignment ) => {\n\tconst styleName = `${ isStackedHorizontally }-${ horizontalAlignment }`;\n\tif ( stylesMemo[ styleName ] ) {\n\t\treturn stylesMemo[ styleName ];\n\t}\n\tconst computedStyles = [\n\t\tisStackedHorizontally && styles.horizontal,\n\t\thorizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],\n\t\tstyles.overflowVisible,\n\t];\n\tstylesMemo[ styleName ] = computedStyles;\n\treturn computedStyles;\n};\n\nexport default function BlockList( {\n\tblockWidth: initialBlockWidth,\n\tcontentResizeMode,\n\tcontentStyle,\n\tfilterInnerBlocks,\n\tgridProperties,\n\theader,\n\thorizontal,\n\thorizontalAlignment,\n\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\tmarginVertical = styles.defaultBlock.marginTop,\n\tonAddBlock,\n\tonDeleteBlock,\n\torientation,\n\tparentWidth,\n\trenderAppender,\n\trenderFooterAppender,\n\trootClientId,\n\twithFooter = true,\n} ) {\n\tconst {\n\t\tblockClientIds,\n\t\tblockCount,\n\t\tblockInsertionPointIsVisible,\n\t\tisReadOnly,\n\t\tisRootList,\n\t\tisFloatingToolbarVisible,\n\t\tisStackedHorizontally,\n\t\tmaxWidth,\n\t\tisRTL,\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\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetSettings,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst rootBlockId = getBlockHierarchyRootClientId(\n\t\t\t\tselectedBlockClientId\n\t\t\t);\n\n\t\t\tlet blockOrder = getBlockOrder( rootClientId );\n\t\t\t// Display only block which fulfill the condition in passed `filterInnerBlocks` function.\n\t\t\tif ( filterInnerBlocks ) {\n\t\t\t\tblockOrder = filterInnerBlocks( blockOrder );\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tisRTL: isRTLSetting,\n\t\t\t\tmaxWidth: maxWidthSetting,\n\t\t\t\treadOnly,\n\t\t\t} = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockClientIds: blockOrder,\n\t\t\t\tblockCount: getBlockCount(),\n\t\t\t\tblockInsertionPointIsVisible:\n\t\t\t\t\tPlatform.OS === 'ios' && isBlockInsertionPointVisible(),\n\t\t\t\tisReadOnly: readOnly,\n\t\t\t\tisRootList: rootClientId === undefined,\n\t\t\t\tisFloatingToolbarVisible:\n\t\t\t\t\t!! selectedBlockClientId && !! getBlockCount( rootBlockId ),\n\t\t\t\tisStackedHorizontally: orientation === 'horizontal',\n\t\t\t\tmaxWidth: maxWidthSetting,\n\t\t\t\tisRTL: isRTLSetting,\n\t\t\t};\n\t\t},\n\t\t[ filterInnerBlocks, orientation, rootClientId ]\n\t);\n\n\tconst { insertBlock, clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst extraData = useRef( {\n\t\tparentWidth,\n\t\trenderFooterAppender,\n\t\trenderAppender,\n\t\tonDeleteBlock,\n\t\tcontentStyle,\n\t} );\n\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth || 0 );\n\n\tconst addBlockToEndOfPost = ( newBlock ) => {\n\t\tinsertBlock( newBlock, blockCount );\n\t};\n\n\tconst scrollViewRef = useRef( null );\n\n\tconst shouldFlatListPreventAutomaticScroll = () =>\n\t\tblockInsertionPointIsVisible;\n\n\tconst shouldShowInnerBlockAppender = () =>\n\t\trenderAppender && blockClientIds.length > 0;\n\n\tconst getExtraData = () => {\n\t\tif (\n\t\t\textraData.current.parentWidth !== parentWidth ||\n\t\t\textraData.current.renderFooterAppender !== renderFooterAppender ||\n\t\t\textraData.current.onDeleteBlock !== onDeleteBlock ||\n\t\t\textraData.current.contentStyle !== contentStyle ||\n\t\t\textraData.current.renderAppender !== renderAppender ||\n\t\t\textraData.current.blockWidth !== blockWidth ||\n\t\t\textraData.current.gridProperties !== gridProperties\n\t\t) {\n\t\t\textraData.current = {\n\t\t\t\tparentWidth,\n\t\t\t\trenderFooterAppender,\n\t\t\t\tonDeleteBlock,\n\t\t\t\tcontentStyle,\n\t\t\t\trenderAppender,\n\t\t\t\tblockWidth,\n\t\t\t\tgridProperties,\n\t\t\t};\n\t\t}\n\t\treturn extraData.current;\n\t};\n\n\tconst onLayout = ( { nativeEvent } ) => {\n\t\tconst { layout } = nativeEvent;\n\n\t\tconst layoutWidth = Math.floor( layout.width );\n\t\tif ( isRootList && blockWidth !== layoutWidth ) {\n\t\t\tsetBlockWidth( Math.min( layoutWidth, maxWidth ) );\n\t\t} else if ( ! isRootList && ! blockWidth ) {\n\t\t\tsetBlockWidth( Math.min( layoutWidth, maxWidth ) );\n\t\t}\n\t};\n\n\tconst renderItem = ( { item: clientId, index } ) => {\n\t\t// Extracting the grid item properties here to avoid\n\t\t// re-renders in the blockListItem component.\n\t\tconst isGridItem = !! gridProperties;\n\t\tconst gridItemProps = gridProperties && {\n\t\t\tnumOfColumns: gridProperties.numColumns,\n\t\t\ttileCount: blockClientIds.length,\n\t\t\ttileIndex: blockClientIds.indexOf( clientId ),\n\t\t};\n\t\treturn (\n\t\t\t<BlockListItem\n\t\t\t\tindex={ index }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentResizeMode={ contentResizeMode }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tshouldShowInnerBlockAppender={ shouldShowInnerBlockAppender }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tisGridItem={ isGridItem }\n\t\t\t\t{ ...gridItemProps }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst { blockToolbar, headerToolbar, floatingToolbar } = styles;\n\n\tconst containerStyle = {\n\t\tflex: isRootList ? 1 : 0,\n\t\t// We set negative margin in the parent to remove the edge spacing between parent block and child block in ineer blocks.\n\t\tmarginVertical: isRootList ? 0 : -marginVertical,\n\t\tmarginHorizontal: isRootList ? 0 : -marginHorizontal,\n\t};\n\n\tconst isContentStretch = contentResizeMode === 'stretch';\n\tconst isMultiBlocks = blockClientIds.length > 1;\n\tconst { isWider } = alignmentHelpers;\n\tconst extraScrollHeight =\n\t\theaderToolbar.height +\n\t\tblockToolbar.height +\n\t\t( isFloatingToolbarVisible ? floatingToolbar.height : 0 );\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ containerStyle }\n\t\t\tonAccessibilityEscape={ clearSelectedBlock }\n\t\t\tonLayout={ onLayout }\n\t\t\ttestID=\"block-list-wrapper\"\n\t\t>\n\t\t\t{ isRootList ? (\n\t\t\t\t<BlockListProvider\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t...DEFAULT_BLOCK_LIST_CONTEXT,\n\t\t\t\t\t\tscrollRef: scrollViewRef.current,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<BlockDraggableWrapper isRTL={ isRTL }>\n\t\t\t\t\t\t{ ( { onScroll } ) => (\n\t\t\t\t\t\t\t<KeyboardAwareFlatList\n\t\t\t\t\t\t\t\t{ ...( Platform.OS === 'android'\n\t\t\t\t\t\t\t\t\t? { removeClippedSubviews: false }\n\t\t\t\t\t\t\t\t\t: {} ) } // Disable clipping on Android to fix focus losing. See https://github.com/wordpress-mobile/gutenberg-mobile/pull/741#issuecomment-472746541\n\t\t\t\t\t\t\t\taccessibilityLabel=\"block-list\"\n\t\t\t\t\t\t\t\tinnerRef={ ( ref ) => {\n\t\t\t\t\t\t\t\t\tscrollViewRef.current = ref;\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\textraScrollHeight={ extraScrollHeight }\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\t\t\t\tscrollViewStyle={ { flex: 1 } }\n\t\t\t\t\t\t\t\textraData={ getExtraData() }\n\t\t\t\t\t\t\t\tscrollEnabled={ isRootList }\n\t\t\t\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t\t\t\thorizontal &&\n\t\t\t\t\t\t\t\t\t\tstyles.horizontalContentContainer,\n\t\t\t\t\t\t\t\t\tisWider( blockWidth, 'medium' ) &&\n\t\t\t\t\t\t\t\t\t\t( isContentStretch && isMultiBlocks\n\t\t\t\t\t\t\t\t\t\t\t? styles.horizontalContentContainerStretch\n\t\t\t\t\t\t\t\t\t\t\t: styles.horizontalContentContainerCenter ),\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\tdata={ blockClientIds }\n\t\t\t\t\t\t\t\tkeyExtractor={ identity }\n\t\t\t\t\t\t\t\trenderItem={ renderItem }\n\t\t\t\t\t\t\t\tCellRendererComponent={ BlockListItemCell }\n\t\t\t\t\t\t\t\tshouldPreventAutomaticScroll={\n\t\t\t\t\t\t\t\t\tshouldFlatListPreventAutomaticScroll\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tListHeaderComponent={ header }\n\t\t\t\t\t\t\t\tListEmptyComponent={\n\t\t\t\t\t\t\t\t\t! isReadOnly && (\n\t\t\t\t\t\t\t\t\t\t<EmptyList\n\t\t\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tListFooterComponent={\n\t\t\t\t\t\t\t\t\t<Footer\n\t\t\t\t\t\t\t\t\t\taddBlockToEndOfPost={\n\t\t\t\t\t\t\t\t\t\t\taddBlockToEndOfPost\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisReadOnly={ isReadOnly }\n\t\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\twithFooter={ withFooter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonScroll={ onScroll }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockDraggableWrapper>\n\t\t\t\t</BlockListProvider>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{ blockClientIds.length > 0 ? (\n\t\t\t\t\t\t<View style={ [ { flex: 0 }, styles.overflowVisible ] }>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t...getStyles(\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally,\n\t\t\t\t\t\t\t\t\t\thorizontalAlignment\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\thorizontal &&\n\t\t\t\t\t\t\t\t\t\tstyles.horizontalContentContainer,\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\t{ blockClientIds.map(\n\t\t\t\t\t\t\t\t\t( currentClientId, index ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<View key={ currentClientId }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ renderItem( {\n\t\t\t\t\t\t\t\t\t\t\t\t\titem: currentClientId,\n\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<Footer\n\t\t\t\t\t\t\t\t\taddBlockToEndOfPost={ addBlockToEndOfPost }\n\t\t\t\t\t\t\t\t\tisReadOnly={ isReadOnly }\n\t\t\t\t\t\t\t\t\trenderFooterAppender={\n\t\t\t\t\t\t\t\t\t\trenderFooterAppender\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\twithFooter={ withFooter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<EmptyList\n\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\t\trenderFooterAppender={ renderFooterAppender }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ shouldShowInnerBlockAppender() && (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tmarginHorizontal:\n\t\t\t\t\t\t\tmarginHorizontal - styles.innerAppender.marginLeft,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<BlockListAppender\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\t\tshowSeparator\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nfunction Footer( {\n\taddBlockToEndOfPost,\n\tisReadOnly,\n\trenderFooterAppender,\n\twithFooter,\n} ) {\n\tif ( ! isReadOnly && withFooter ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\t\t\t\t\taddBlockToEndOfPost( paragraphBlock );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</>\n\t\t);\n\t} else if ( renderFooterAppender ) {\n\t\treturn <View>{ renderFooterAppender() }</View>;\n\t}\n\n\treturn null;\n}\n\nfunction EmptyList( {\n\torientation,\n\trenderAppender,\n\trenderFooterAppender,\n\trootClientId,\n} ) {\n\tconst { shouldShowInsertionPoint } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t} = select( blockEditorStore );\n\n\t\tconst isStackedHorizontally = orientation === 'horizontal';\n\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst blockInsertionPointIsVisible = isBlockInsertionPointVisible();\n\n\t\treturn {\n\t\t\tshouldShowInsertionPoint:\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tblockInsertionPointIsVisible &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId &&\n\t\t\t\t// If list is empty, show the insertion point (via the default appender)\n\t\t\t\t( blockClientIds.length === 0 ||\n\t\t\t\t\t// Or if the insertion point is right before the denoted block.\n\t\t\t\t\t! blockClientIds[ insertionPoint.index ] ),\n\t\t};\n\t} );\n\tconst align = renderAppender ? WIDE_ALIGNMENTS.alignments.full : undefined;\n\tconst [ wrapperStyles ] = useEditorWrapperStyles( { align } );\n\n\tif ( renderFooterAppender || renderAppender === false ) {\n\t\treturn null;\n\t}\n\n\tconst containerStyles = [ styles.defaultAppender, wrapperStyles ];\n\n\treturn (\n\t\t<View style={ containerStyles }>\n\t\t\t<BlockListAppender\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\tshowSeparator={ shouldShowInsertionPoint }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n"]}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,8 +7,6 @@ exports.default = void 0;
9
7
 
10
8
  var _element = require("@wordpress/element");
11
9
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _components = require("@wordpress/components");
15
11
 
16
12
  var _i18n = require("@wordpress/i18n");
@@ -19,12 +15,13 @@ var _i18n = require("@wordpress/i18n");
19
15
  * WordPress dependencies
20
16
  */
21
17
  const Subdirectory = ({ ...extraProps
22
- }) => (0, _element.createElement)(_components.SVG, (0, _extends2.default)({
18
+ }) => (0, _element.createElement)(_components.SVG, {
23
19
  xmlns: "http://www.w3.org/2000/svg",
24
20
  width: 14,
25
21
  height: 14,
26
- viewBox: "0 0 20 20"
27
- }, extraProps), (0, _element.createElement)(_components.Path, {
22
+ viewBox: "0 0 20 20",
23
+ ...extraProps
24
+ }, (0, _element.createElement)(_components.Path, {
28
25
  d: "M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z",
29
26
  transform: (0, _i18n.isRTL)() ? 'scale(-1,1) translate(-20,0)' : undefined
30
27
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/subdirectory-icon.js"],"names":["Subdirectory","extraProps","undefined"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,YAAY,GAAG,CAAE,EAAE,GAAGC;AAAL,CAAF,KACpB,4BAAC,eAAD;AACC,EAAA,KAAK,EAAC,4BADP;AAEC,EAAA,KAAK,EAAG,EAFT;AAGC,EAAA,MAAM,EAAG,EAHV;AAIC,EAAA,OAAO,EAAC;AAJT,GAKMA,UALN,GAOC,4BAAC,gBAAD;AACC,EAAA,CAAC,EAAC,mEADH;AAEC,EAAA,SAAS,EAAG,qBAAU,8BAAV,GAA2CC;AAFxD,EAPD,CADD;;eAceF,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\nconst Subdirectory = ( { ...extraProps } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth={ 14 }\n\t\theight={ 14 }\n\t\tviewBox=\"0 0 20 20\"\n\t\t{ ...extraProps }\n\t>\n\t\t<Path\n\t\t\td=\"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n\t\t\ttransform={ isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined }\n\t\t/>\n\t</SVG>\n);\nexport default Subdirectory;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/subdirectory-icon.js"],"names":["Subdirectory","extraProps","undefined"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,YAAY,GAAG,CAAE,EAAE,GAAGC;AAAL,CAAF,KACpB,4BAAC,eAAD;AACC,EAAA,KAAK,EAAC,4BADP;AAEC,EAAA,KAAK,EAAG,EAFT;AAGC,EAAA,MAAM,EAAG,EAHV;AAIC,EAAA,OAAO,EAAC,WAJT;AAAA,KAKMA;AALN,GAOC,4BAAC,gBAAD;AACC,EAAA,CAAC,EAAC,mEADH;AAEC,EAAA,SAAS,EAAG,qBAAU,8BAAV,GAA2CC;AAFxD,EAPD,CADD;;eAceF,Y","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\nconst Subdirectory = ( { ...extraProps } ) => (\n\t<SVG\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\twidth={ 14 }\n\t\theight={ 14 }\n\t\tviewBox=\"0 0 20 20\"\n\t\t{ ...extraProps }\n\t>\n\t\t<Path\n\t\t\td=\"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n\t\t\ttransform={ isRTL() ? 'scale(-1,1) translate(-20,0)' : undefined }\n\t\t/>\n\t</SVG>\n);\nexport default Subdirectory;\n"]}
@@ -31,9 +31,7 @@ function useInBetweenInserter() {
31
31
  const isInBetweenInserterDisabled = (0, _data.useSelect)(select => select(_store.store).getSettings().isDistractionFree || select(_store.store).__unstableGetEditorMode() === 'zoom-out', []);
32
32
  const {
33
33
  getBlockListSettings,
34
- getBlockRootClientId,
35
34
  getBlockIndex,
36
- isBlockInsertionPointVisible,
37
35
  isMultiSelecting,
38
36
  getSelectedBlockClientIds,
39
37
  getTemplateLock,
@@ -142,6 +140,6 @@ function useInBetweenInserter() {
142
140
  return () => {
143
141
  node.removeEventListener('mousemove', onMouseMove);
144
142
  };
145
- }, [openRef, getBlockListSettings, getBlockRootClientId, getBlockIndex, isBlockInsertionPointVisible, isMultiSelecting, showInsertionPoint, hideInsertionPoint, getSelectedBlockClientIds, isInBetweenInserterDisabled]);
143
+ }, [openRef, getBlockListSettings, getBlockIndex, isMultiSelecting, showInsertionPoint, hideInsertionPoint, getSelectedBlockClientIds, isInBetweenInserterDisabled]);
146
144
  }
147
145
  //# sourceMappingURL=use-in-between-inserter.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","isInBetweenInserterDisabled","select","blockEditorStore","getSettings","isDistractionFree","__unstableGetEditorMode","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","__unstableIsWithinBlockOverlay","getBlockEditingMode","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","nodeType","TEXT_NODE","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","offsetTop","clientY","offsetLeft","clientX","children","Array","from","element","find","blockEl","blockElRect","getBoundingClientRect","top","right","left","id","firstElementChild","clientId","slice","length","includes","elementRect","bottom","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\nimport { unlock } from '../../lock-unlock';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst isInBetweenInserterDisabled = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree ||\n\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tisBlockInsertionPointVisible,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t\t__unstableIsWithinBlockOverlay,\n\t\tgetBlockEditingMode,\n\t} = unlock( useSelect( blockEditorStore ) );\n\tconst { showInsertionPoint, hideInsertionPoint } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( isInBetweenInserterDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Ignore text nodes sometimes detected in FireFox.\n\t\t\t\tif ( event.target.nodeType === event.target.TEXT_NODE ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tgetTemplateLock( rootClientId ) ||\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst offsetTop = event.clientY;\n\t\t\t\tconst offsetLeft = event.clientX;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\tconst blockElRect = blockEl.getBoundingClientRect();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockElRect.top > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\t( isRTL()\n\t\t\t\t\t\t\t\t? blockElRect.right < offsetLeft\n\t\t\t\t\t\t\t\t: blockElRect.left > offsetLeft ) )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\t\t\t\tif (\n\t\t\t\t\t! clientId ||\n\t\t\t\t\t__unstableIsWithinBlockOverlay( clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisInBetweenInserterDisabled,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","isInBetweenInserterDisabled","select","blockEditorStore","getSettings","isDistractionFree","__unstableGetEditorMode","getBlockListSettings","getBlockIndex","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","__unstableIsWithinBlockOverlay","getBlockEditingMode","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","nodeType","TEXT_NODE","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","offsetTop","clientY","offsetLeft","clientX","children","Array","from","element","find","blockEl","blockElRect","getBoundingClientRect","top","right","left","id","firstElementChild","clientId","slice","length","includes","elementRect","bottom","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\nimport { unlock } from '../../lock-unlock';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst isInBetweenInserterDisabled = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree ||\n\t\t\tselect( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockIndex,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t\t__unstableIsWithinBlockOverlay,\n\t\tgetBlockEditingMode,\n\t} = unlock( useSelect( blockEditorStore ) );\n\tconst { showInsertionPoint, hideInsertionPoint } =\n\t\tuseDispatch( blockEditorStore );\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( isInBetweenInserterDisabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Ignore text nodes sometimes detected in FireFox.\n\t\t\t\tif ( event.target.nodeType === event.target.TEXT_NODE ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tgetTemplateLock( rootClientId ) ||\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled'\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst offsetTop = event.clientY;\n\t\t\t\tconst offsetLeft = event.clientX;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\tconst blockElRect = blockEl.getBoundingClientRect();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockElRect.top > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\t( isRTL()\n\t\t\t\t\t\t\t\t? blockElRect.right < offsetLeft\n\t\t\t\t\t\t\t\t: blockElRect.left > offsetLeft ) )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\t\t\t\tif (\n\t\t\t\t\t! clientId ||\n\t\t\t\t\t__unstableIsWithinBlockOverlay( clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockIndex,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisInBetweenInserterDisabled,\n\t\t]\n\t);\n}\n"]}