@wordpress/block-editor 14.8.1-next.cd6172eb0.0 → 14.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (954) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +8 -0
  3. package/build/autocompleters/block.js +1 -0
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +1 -0
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +1 -0
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +1 -0
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/background-image-control/index.js +1 -0
  12. package/build/components/background-image-control/index.js.map +1 -1
  13. package/build/components/block-actions/index.js +1 -0
  14. package/build/components/block-actions/index.js.map +1 -1
  15. package/build/components/block-alignment-control/ui.js +1 -0
  16. package/build/components/block-alignment-control/ui.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.native.js +1 -0
  18. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  19. package/build/components/block-alignment-control/use-available-alignments.js +1 -0
  20. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  21. package/build/components/block-breadcrumb/index.js +1 -0
  22. package/build/components/block-breadcrumb/index.js.map +1 -1
  23. package/build/components/block-compare/index.js +1 -0
  24. package/build/components/block-compare/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +1 -0
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-edit/edit.js +1 -0
  28. package/build/components/block-edit/edit.js.map +1 -1
  29. package/build/components/block-edit/edit.native.js +1 -0
  30. package/build/components/block-edit/edit.native.js.map +1 -1
  31. package/build/components/block-heading-level-dropdown/index.js +1 -0
  32. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  33. package/build/components/block-heading-level-dropdown/index.native.js +1 -0
  34. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  35. package/build/components/block-inspector/index.js +1 -0
  36. package/build/components/block-inspector/index.js.map +1 -1
  37. package/build/components/block-list/block-invalid-warning.js +1 -0
  38. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  39. package/build/components/block-list/block-list-context.native.js +1 -0
  40. package/build/components/block-list/block-list-context.native.js.map +1 -1
  41. package/build/components/block-list/block.js +1 -0
  42. package/build/components/block-list/block.js.map +1 -1
  43. package/build/components/block-list/block.native.js +1 -0
  44. package/build/components/block-list/block.native.js.map +1 -1
  45. package/build/components/block-list/index.js +1 -0
  46. package/build/components/block-list/index.js.map +1 -1
  47. package/build/components/block-list/index.native.js +1 -0
  48. package/build/components/block-list/index.native.js.map +1 -1
  49. package/build/components/block-list/use-block-props/index.js +2 -3
  50. package/build/components/block-list/use-block-props/index.js.map +1 -1
  51. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +61 -8
  52. package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
  53. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  54. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  55. package/build/components/block-list/use-in-between-inserter.js +1 -0
  56. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  57. package/build/components/block-lock/modal.js +5 -4
  58. package/build/components/block-lock/modal.js.map +1 -1
  59. package/build/components/block-manager/category.js +1 -0
  60. package/build/components/block-manager/category.js.map +1 -1
  61. package/build/components/block-manager/checklist.js +1 -0
  62. package/build/components/block-manager/checklist.js.map +1 -1
  63. package/build/components/block-manager/index.js +1 -0
  64. package/build/components/block-manager/index.js.map +1 -1
  65. package/build/components/block-media-update-progress/index.native.js +1 -0
  66. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  67. package/build/components/block-mover/index.native.js +1 -0
  68. package/build/components/block-mover/index.native.js.map +1 -1
  69. package/build/components/block-mover/mover-description.native.js +1 -0
  70. package/build/components/block-mover/mover-description.native.js.map +1 -1
  71. package/build/components/block-parent-selector/index.js +2 -15
  72. package/build/components/block-parent-selector/index.js.map +1 -1
  73. package/build/components/block-pattern-setup/index.js +1 -0
  74. package/build/components/block-pattern-setup/index.js.map +1 -1
  75. package/build/components/block-pattern-setup/use-patterns-setup.js +1 -0
  76. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  77. package/build/components/block-patterns-list/index.js +1 -0
  78. package/build/components/block-patterns-list/index.js.map +1 -1
  79. package/build/components/block-quick-navigation/index.js +1 -0
  80. package/build/components/block-quick-navigation/index.js.map +1 -1
  81. package/build/components/block-rename/rename-control.js +1 -0
  82. package/build/components/block-rename/rename-control.js.map +1 -1
  83. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -0
  84. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  85. package/build/components/block-styles/index.js +1 -0
  86. package/build/components/block-styles/index.js.map +1 -1
  87. package/build/components/block-styles/index.native.js +1 -0
  88. package/build/components/block-styles/index.native.js.map +1 -1
  89. package/build/components/block-styles/menu-items.js +1 -0
  90. package/build/components/block-styles/menu-items.js.map +1 -1
  91. package/build/components/block-styles/preview.native.js +1 -0
  92. package/build/components/block-styles/preview.native.js.map +1 -1
  93. package/build/components/block-switcher/block-transformations-menu.js +1 -0
  94. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  95. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  96. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  97. package/build/components/block-switcher/block-variation-transformations.js +1 -0
  98. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  99. package/build/components/block-switcher/index.js +1 -0
  100. package/build/components/block-switcher/index.js.map +1 -1
  101. package/build/components/block-switcher/pattern-transformations-menu.js +1 -0
  102. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  103. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  104. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  105. package/build/components/block-switcher/utils.js +1 -0
  106. package/build/components/block-switcher/utils.js.map +1 -1
  107. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  108. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  109. package/build/components/block-toolbar/change-design.js +1 -0
  110. package/build/components/block-toolbar/change-design.js.map +1 -1
  111. package/build/components/block-toolbar/index.js +2 -1
  112. package/build/components/block-toolbar/index.js.map +1 -1
  113. package/build/components/block-tools/use-selected-block-tool-props.js +1 -0
  114. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  115. package/build/components/block-types-list/index.js +1 -0
  116. package/build/components/block-types-list/index.js.map +1 -1
  117. package/build/components/block-variation-picker/index.js +1 -0
  118. package/build/components/block-variation-picker/index.js.map +1 -1
  119. package/build/components/block-variation-picker/index.native.js +1 -0
  120. package/build/components/block-variation-picker/index.native.js.map +1 -1
  121. package/build/components/block-variation-transforms/index.js +1 -0
  122. package/build/components/block-variation-transforms/index.js.map +1 -1
  123. package/build/components/block-vertical-alignment-control/ui.js +1 -0
  124. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  125. package/build/components/border-radius-control/index.js +1 -0
  126. package/build/components/border-radius-control/index.js.map +1 -1
  127. package/build/components/border-radius-control/input-controls.js +1 -0
  128. package/build/components/border-radius-control/input-controls.js.map +1 -1
  129. package/build/components/border-radius-control/utils.js +1 -0
  130. package/build/components/border-radius-control/utils.js.map +1 -1
  131. package/build/components/colors/utils.js +1 -0
  132. package/build/components/colors/utils.js.map +1 -1
  133. package/build/components/colors/with-colors.js +1 -0
  134. package/build/components/colors/with-colors.js.map +1 -1
  135. package/build/components/colors-gradients/dropdown.js +1 -0
  136. package/build/components/colors-gradients/dropdown.js.map +1 -1
  137. package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  138. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  139. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  140. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  141. package/build/components/convert-to-group-buttons/toolbar.js +1 -0
  142. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  143. package/build/components/date-format-picker/index.js +1 -0
  144. package/build/components/date-format-picker/index.js.map +1 -1
  145. package/build/components/dimensions-tool/scale-tool.js +1 -0
  146. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  147. package/build/components/duotone/utils.js +1 -0
  148. package/build/components/duotone/utils.js.map +1 -1
  149. package/build/components/editor-styles/index.js +1 -0
  150. package/build/components/editor-styles/index.js.map +1 -1
  151. package/build/components/font-appearance-control/index.js +1 -0
  152. package/build/components/font-appearance-control/index.js.map +1 -1
  153. package/build/components/font-family/index.js +1 -0
  154. package/build/components/font-family/index.js.map +1 -1
  155. package/build/components/font-sizes/with-font-sizes.js +1 -0
  156. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  157. package/build/components/global-styles/border-panel.js +1 -0
  158. package/build/components/global-styles/border-panel.js.map +1 -1
  159. package/build/components/global-styles/color-panel.js +25 -8
  160. package/build/components/global-styles/color-panel.js.map +1 -1
  161. package/build/components/global-styles/color-panel.native.js +1 -0
  162. package/build/components/global-styles/color-panel.native.js.map +1 -1
  163. package/build/components/global-styles/dimensions-panel.js +1 -0
  164. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  165. package/build/components/global-styles/filters-panel.js +3 -2
  166. package/build/components/global-styles/filters-panel.js.map +1 -1
  167. package/build/components/global-styles/get-global-styles-changes.js +1 -0
  168. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  169. package/build/components/global-styles/shadow-panel-components.js +1 -0
  170. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  171. package/build/components/global-styles/typography-utils.js +1 -0
  172. package/build/components/global-styles/typography-utils.js.map +1 -1
  173. package/build/components/global-styles/use-global-styles-context.native.js +1 -0
  174. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  175. package/build/components/global-styles/use-global-styles-output.js +2 -1
  176. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  177. package/build/components/global-styles/utils.js +1 -0
  178. package/build/components/global-styles/utils.js.map +1 -1
  179. package/build/components/grid/grid-visualizer.js +1 -0
  180. package/build/components/grid/grid-visualizer.js.map +1 -1
  181. package/build/components/grid/use-grid-layout-sync.js +1 -0
  182. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  183. package/build/components/grid/utils.js +1 -0
  184. package/build/components/grid/utils.js.map +1 -1
  185. package/build/components/iframe/get-compatibility-styles.js +1 -0
  186. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  187. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -0
  188. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  189. package/build/components/index.js +15 -8
  190. package/build/components/index.js.map +1 -1
  191. package/build/components/inner-blocks/use-block-context.js +1 -0
  192. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  193. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  194. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  195. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  196. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  197. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  198. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  199. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  200. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  201. package/build/components/inserter/block-types-tab.js +2 -1
  202. package/build/components/inserter/block-types-tab.js.map +1 -1
  203. package/build/components/inserter/block-types-tab.native.js +1 -0
  204. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  205. package/build/components/inserter/category-tabs/index.js +1 -0
  206. package/build/components/inserter/category-tabs/index.js.map +1 -1
  207. package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  208. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  209. package/build/components/inserter/hooks/use-patterns-state.js +1 -0
  210. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  211. package/build/components/inserter/index.js +1 -0
  212. package/build/components/inserter/index.js.map +1 -1
  213. package/build/components/inserter/index.native.js +1 -0
  214. package/build/components/inserter/index.native.js.map +1 -1
  215. package/build/components/inserter/media-tab/hooks.js +1 -0
  216. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  217. package/build/components/inserter/media-tab/media-list.js +1 -0
  218. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  219. package/build/components/inserter/media-tab/media-tab.js +1 -0
  220. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  221. package/build/components/inserter/menu.js +1 -0
  222. package/build/components/inserter/menu.js.map +1 -1
  223. package/build/components/inserter/mobile-tab-navigation.js +1 -0
  224. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  225. package/build/components/inserter/search-items.js +1 -0
  226. package/build/components/inserter/search-items.js.map +1 -1
  227. package/build/components/inserter/search-results.js +1 -0
  228. package/build/components/inserter/search-results.js.map +1 -1
  229. package/build/components/inserter/tabs.native.js +1 -0
  230. package/build/components/inserter/tabs.native.js.map +1 -1
  231. package/build/components/inserter/utils.native.js +1 -0
  232. package/build/components/inserter/utils.native.js.map +1 -1
  233. package/build/components/inspector-controls/block-support-tools-panel.js +1 -0
  234. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  235. package/build/components/inspector-controls/fill.js +1 -0
  236. package/build/components/inspector-controls/fill.js.map +1 -1
  237. package/build/components/inspector-controls/slot.js +2 -13
  238. package/build/components/inspector-controls/slot.js.map +1 -1
  239. package/build/components/inspector-controls-tabs/index.js +1 -0
  240. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  241. package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  242. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  243. package/build/components/inspector-popover-header/index.js +1 -0
  244. package/build/components/inspector-popover-header/index.js.map +1 -1
  245. package/build/components/justify-content-control/ui.js +1 -0
  246. package/build/components/justify-content-control/ui.js.map +1 -1
  247. package/build/components/link-control/index.js +13 -1
  248. package/build/components/link-control/index.js.map +1 -1
  249. package/build/components/link-control/search-input.js +11 -1
  250. package/build/components/link-control/search-input.js.map +1 -1
  251. package/build/components/link-control/search-item.js +12 -1
  252. package/build/components/link-control/search-item.js.map +1 -1
  253. package/build/components/link-control/search-results.js +13 -1
  254. package/build/components/link-control/search-results.js.map +1 -1
  255. package/build/components/link-control/settings.js +1 -0
  256. package/build/components/link-control/settings.js.map +1 -1
  257. package/build/components/link-control/use-internal-value.js +1 -0
  258. package/build/components/link-control/use-internal-value.js.map +1 -1
  259. package/build/components/link-control/use-search-handler.js +1 -0
  260. package/build/components/link-control/use-search-handler.js.map +1 -1
  261. package/build/components/list-view/block-select-button.js +1 -0
  262. package/build/components/list-view/block-select-button.js.map +1 -1
  263. package/build/components/list-view/block.js +1 -0
  264. package/build/components/list-view/block.js.map +1 -1
  265. package/build/components/list-view/branch.js +1 -0
  266. package/build/components/list-view/branch.js.map +1 -1
  267. package/build/components/list-view/index.js +1 -0
  268. package/build/components/list-view/index.js.map +1 -1
  269. package/build/components/list-view/use-block-selection.js +1 -0
  270. package/build/components/list-view/use-block-selection.js.map +1 -1
  271. package/build/components/list-view/use-clipboard-handler.js +1 -0
  272. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  273. package/build/components/list-view/use-list-view-block-indexes.js +1 -0
  274. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  275. package/build/components/list-view/use-list-view-drop-zone.js +1 -0
  276. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  277. package/build/components/list-view/utils.js +1 -0
  278. package/build/components/list-view/utils.js.map +1 -1
  279. package/build/components/media-placeholder/index.js +1 -0
  280. package/build/components/media-placeholder/index.js.map +1 -1
  281. package/build/components/media-placeholder/index.native.js +1 -0
  282. package/build/components/media-placeholder/index.native.js.map +1 -1
  283. package/build/components/media-replace-flow/index.js +1 -0
  284. package/build/components/media-replace-flow/index.js.map +1 -1
  285. package/build/components/media-upload/index.native.js +1 -0
  286. package/build/components/media-upload/index.native.js.map +1 -1
  287. package/build/components/multi-selection-inspector/index.js +9 -25
  288. package/build/components/multi-selection-inspector/index.js.map +1 -1
  289. package/build/components/navigable-toolbar/index.js +1 -0
  290. package/build/components/navigable-toolbar/index.js.map +1 -1
  291. package/build/components/panel-color-settings/index.js +1 -0
  292. package/build/components/panel-color-settings/index.js.map +1 -1
  293. package/build/components/provider/use-block-sync.js +1 -0
  294. package/build/components/provider/use-block-sync.js.map +1 -1
  295. package/build/components/responsive-block-control/index.js +1 -0
  296. package/build/components/responsive-block-control/index.js.map +1 -1
  297. package/build/components/rich-text/embed-handler-picker.native.js +1 -0
  298. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  299. package/build/components/rich-text/event-listeners/before-input-rules.js +1 -0
  300. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  301. package/build/components/rich-text/event-listeners/index.js +1 -0
  302. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  303. package/build/components/rich-text/event-listeners/input-rules.js +1 -0
  304. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
  305. package/build/components/rich-text/event-listeners/paste-handler.js +1 -0
  306. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  307. package/build/components/rich-text/file-paste-handler.native.js +1 -0
  308. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  309. package/build/components/rich-text/format-edit.js +1 -0
  310. package/build/components/rich-text/format-edit.js.map +1 -1
  311. package/build/components/rich-text/format-toolbar/index.js +1 -0
  312. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  313. package/build/components/rich-text/index.js +1 -0
  314. package/build/components/rich-text/index.js.map +1 -1
  315. package/build/components/rich-text/index.native.js +1 -0
  316. package/build/components/rich-text/index.native.js.map +1 -1
  317. package/build/components/rich-text/multiline.js +1 -0
  318. package/build/components/rich-text/multiline.js.map +1 -1
  319. package/build/components/rich-text/native/format-edit.js +1 -0
  320. package/build/components/rich-text/native/format-edit.js.map +1 -1
  321. package/build/components/rich-text/native/get-format-colors.native.js +1 -0
  322. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  323. package/build/components/rich-text/native/index.native.js +1 -0
  324. package/build/components/rich-text/native/index.native.js.map +1 -1
  325. package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  326. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  327. package/build/components/rich-text/native/use-format-types.js +1 -0
  328. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  329. package/build/components/rich-text/use-format-types.js +1 -0
  330. package/build/components/rich-text/use-format-types.js.map +1 -1
  331. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  332. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  333. package/build/components/spacing-sizes-control/input-controls/axial.js +1 -0
  334. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  335. package/build/components/spacing-sizes-control/input-controls/separated.js +1 -0
  336. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  337. package/build/components/spacing-sizes-control/input-controls/single.js +1 -0
  338. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  339. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  340. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  341. package/build/components/spacing-sizes-control/utils.js +1 -0
  342. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  343. package/build/components/tabbed-sidebar/index.js +1 -0
  344. package/build/components/tabbed-sidebar/index.js.map +1 -1
  345. package/build/components/text-alignment-control/index.js +1 -0
  346. package/build/components/text-alignment-control/index.js.map +1 -1
  347. package/build/components/text-decoration-control/index.js +1 -0
  348. package/build/components/text-decoration-control/index.js.map +1 -1
  349. package/build/components/text-transform-control/index.js +1 -0
  350. package/build/components/text-transform-control/index.js.map +1 -1
  351. package/build/components/unsupported-block-details/index.native.js +1 -0
  352. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  353. package/build/components/url-input/index.js +1 -0
  354. package/build/components/url-input/index.js.map +1 -1
  355. package/build/components/url-popover/image-url-input-ui.js +1 -0
  356. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  357. package/build/components/use-block-commands/index.js +1 -0
  358. package/build/components/use-block-commands/index.js.map +1 -1
  359. package/build/components/use-block-drop-zone/index.js +1 -0
  360. package/build/components/use-block-drop-zone/index.js.map +1 -1
  361. package/build/components/use-block-drop-zone/index.native.js +1 -0
  362. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  363. package/build/components/use-flash-editable-blocks/index.js +1 -0
  364. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  365. package/build/components/use-on-block-drop/index.js +1 -0
  366. package/build/components/use-on-block-drop/index.js.map +1 -1
  367. package/build/components/use-on-block-drop/index.native.js +1 -0
  368. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  369. package/build/components/use-paste-styles/index.js +1 -0
  370. package/build/components/use-paste-styles/index.js.map +1 -1
  371. package/build/components/warning/index.js +3 -3
  372. package/build/components/warning/index.js.map +1 -1
  373. package/build/components/writing-flow/use-arrow-nav.js +1 -0
  374. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  375. package/build/components/writing-flow/use-clipboard-handler.js +1 -0
  376. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  377. package/build/components/writing-flow/use-input.js +1 -0
  378. package/build/components/writing-flow/use-input.js.map +1 -1
  379. package/build/components/writing-flow/use-tab-nav.js +1 -0
  380. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  381. package/build/components/writing-flow/utils.js +1 -0
  382. package/build/components/writing-flow/utils.js.map +1 -1
  383. package/build/components/writing-mode-control/index.js +1 -0
  384. package/build/components/writing-mode-control/index.js.map +1 -1
  385. package/build/hooks/align.js +1 -0
  386. package/build/hooks/align.js.map +1 -1
  387. package/build/hooks/align.native.js +1 -0
  388. package/build/hooks/align.native.js.map +1 -1
  389. package/build/hooks/block-bindings.js +1 -0
  390. package/build/hooks/block-bindings.js.map +1 -1
  391. package/build/hooks/block-hooks.js +1 -0
  392. package/build/hooks/block-hooks.js.map +1 -1
  393. package/build/hooks/block-style-variation.js +1 -0
  394. package/build/hooks/block-style-variation.js.map +1 -1
  395. package/build/hooks/border.js +1 -0
  396. package/build/hooks/border.js.map +1 -1
  397. package/build/hooks/duotone.js +1 -0
  398. package/build/hooks/duotone.js.map +1 -1
  399. package/build/hooks/index.js +1 -0
  400. package/build/hooks/index.js.map +1 -1
  401. package/build/hooks/layout.js +1 -0
  402. package/build/hooks/layout.js.map +1 -1
  403. package/build/hooks/position.js +1 -0
  404. package/build/hooks/position.js.map +1 -1
  405. package/build/hooks/style.js +2 -1
  406. package/build/hooks/style.js.map +1 -1
  407. package/build/hooks/supports.js +1 -0
  408. package/build/hooks/supports.js.map +1 -1
  409. package/build/hooks/text-align.js +1 -0
  410. package/build/hooks/text-align.js.map +1 -1
  411. package/build/hooks/typography.js +1 -0
  412. package/build/hooks/typography.js.map +1 -1
  413. package/build/hooks/use-bindings-attributes.js +1 -0
  414. package/build/hooks/use-bindings-attributes.js.map +1 -1
  415. package/build/hooks/use-zoom-out.js +47 -14
  416. package/build/hooks/use-zoom-out.js.map +1 -1
  417. package/build/hooks/utils.js +1 -0
  418. package/build/hooks/utils.js.map +1 -1
  419. package/build/layouts/constrained.js +1 -0
  420. package/build/layouts/constrained.js.map +1 -1
  421. package/build/layouts/flex.js +1 -0
  422. package/build/layouts/flex.js.map +1 -1
  423. package/build/layouts/flow.js +1 -0
  424. package/build/layouts/flow.js.map +1 -1
  425. package/build/layouts/index.js +1 -0
  426. package/build/layouts/index.js.map +1 -1
  427. package/build/layouts/utils.js +1 -0
  428. package/build/layouts/utils.js.map +1 -1
  429. package/build/store/actions.js +1 -0
  430. package/build/store/actions.js.map +1 -1
  431. package/build/store/get-block-settings.js +1 -0
  432. package/build/store/get-block-settings.js.map +1 -1
  433. package/build/store/private-actions.js +1 -0
  434. package/build/store/private-actions.js.map +1 -1
  435. package/build/store/private-selectors.js +1 -0
  436. package/build/store/private-selectors.js.map +1 -1
  437. package/build/store/reducer.js +1 -0
  438. package/build/store/reducer.js.map +1 -1
  439. package/build/store/selectors.js +13 -15
  440. package/build/store/selectors.js.map +1 -1
  441. package/build/store/utils.js +1 -0
  442. package/build/store/utils.js.map +1 -1
  443. package/build/utils/block-bindings.js +1 -0
  444. package/build/utils/block-bindings.js.map +1 -1
  445. package/build/utils/get-editor-region.js +1 -0
  446. package/build/utils/get-editor-region.js.map +1 -1
  447. package/build/utils/get-font-styles-and-weights.js +1 -0
  448. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  449. package/build/utils/math.js +1 -0
  450. package/build/utils/math.js.map +1 -1
  451. package/build/utils/object.js +1 -0
  452. package/build/utils/object.js.map +1 -1
  453. package/build/utils/selection.js +1 -0
  454. package/build/utils/selection.js.map +1 -1
  455. package/build/utils/transform-styles/index.js +1 -0
  456. package/build/utils/transform-styles/index.js.map +1 -1
  457. package/build-module/autocompleters/block.js +1 -0
  458. package/build-module/autocompleters/block.js.map +1 -1
  459. package/build-module/autocompleters/link.js +1 -0
  460. package/build-module/autocompleters/link.js.map +1 -1
  461. package/build-module/components/alignment-control/ui.js +1 -0
  462. package/build-module/components/alignment-control/ui.js.map +1 -1
  463. package/build-module/components/autocomplete/index.js +1 -0
  464. package/build-module/components/autocomplete/index.js.map +1 -1
  465. package/build-module/components/background-image-control/index.js +1 -0
  466. package/build-module/components/background-image-control/index.js.map +1 -1
  467. package/build-module/components/block-actions/index.js +1 -0
  468. package/build-module/components/block-actions/index.js.map +1 -1
  469. package/build-module/components/block-alignment-control/ui.js +1 -0
  470. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  471. package/build-module/components/block-alignment-control/ui.native.js +1 -0
  472. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  473. package/build-module/components/block-alignment-control/use-available-alignments.js +1 -0
  474. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  475. package/build-module/components/block-breadcrumb/index.js +1 -0
  476. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  477. package/build-module/components/block-compare/index.js +1 -0
  478. package/build-module/components/block-compare/index.js.map +1 -1
  479. package/build-module/components/block-controls/fill.js +1 -0
  480. package/build-module/components/block-controls/fill.js.map +1 -1
  481. package/build-module/components/block-edit/edit.js +1 -0
  482. package/build-module/components/block-edit/edit.js.map +1 -1
  483. package/build-module/components/block-edit/edit.native.js +1 -0
  484. package/build-module/components/block-edit/edit.native.js.map +1 -1
  485. package/build-module/components/block-heading-level-dropdown/index.js +1 -0
  486. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  487. package/build-module/components/block-heading-level-dropdown/index.native.js +1 -0
  488. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  489. package/build-module/components/block-inspector/index.js +1 -0
  490. package/build-module/components/block-inspector/index.js.map +1 -1
  491. package/build-module/components/block-list/block-invalid-warning.js +1 -0
  492. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  493. package/build-module/components/block-list/block-list-context.native.js +1 -0
  494. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  495. package/build-module/components/block-list/block.js +1 -0
  496. package/build-module/components/block-list/block.js.map +1 -1
  497. package/build-module/components/block-list/block.native.js +1 -0
  498. package/build-module/components/block-list/block.native.js.map +1 -1
  499. package/build-module/components/block-list/index.js +1 -0
  500. package/build-module/components/block-list/index.js.map +1 -1
  501. package/build-module/components/block-list/index.native.js +1 -0
  502. package/build-module/components/block-list/index.native.js.map +1 -1
  503. package/build-module/components/block-list/use-block-props/index.js +2 -3
  504. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  505. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +60 -8
  506. package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js.map +1 -1
  507. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  508. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  509. package/build-module/components/block-list/use-in-between-inserter.js +1 -0
  510. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  511. package/build-module/components/block-lock/modal.js +5 -4
  512. package/build-module/components/block-lock/modal.js.map +1 -1
  513. package/build-module/components/block-manager/category.js +1 -0
  514. package/build-module/components/block-manager/category.js.map +1 -1
  515. package/build-module/components/block-manager/checklist.js +1 -0
  516. package/build-module/components/block-manager/checklist.js.map +1 -1
  517. package/build-module/components/block-manager/index.js +1 -0
  518. package/build-module/components/block-manager/index.js.map +1 -1
  519. package/build-module/components/block-media-update-progress/index.native.js +1 -0
  520. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  521. package/build-module/components/block-mover/index.native.js +1 -0
  522. package/build-module/components/block-mover/index.native.js.map +1 -1
  523. package/build-module/components/block-mover/mover-description.native.js +1 -0
  524. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  525. package/build-module/components/block-parent-selector/index.js +2 -15
  526. package/build-module/components/block-parent-selector/index.js.map +1 -1
  527. package/build-module/components/block-pattern-setup/index.js +1 -0
  528. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  529. package/build-module/components/block-pattern-setup/use-patterns-setup.js +1 -0
  530. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  531. package/build-module/components/block-patterns-list/index.js +1 -0
  532. package/build-module/components/block-patterns-list/index.js.map +1 -1
  533. package/build-module/components/block-quick-navigation/index.js +1 -0
  534. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  535. package/build-module/components/block-rename/rename-control.js +1 -0
  536. package/build-module/components/block-rename/rename-control.js.map +1 -1
  537. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -0
  538. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  539. package/build-module/components/block-styles/index.js +1 -0
  540. package/build-module/components/block-styles/index.js.map +1 -1
  541. package/build-module/components/block-styles/index.native.js +1 -0
  542. package/build-module/components/block-styles/index.native.js.map +1 -1
  543. package/build-module/components/block-styles/menu-items.js +1 -0
  544. package/build-module/components/block-styles/menu-items.js.map +1 -1
  545. package/build-module/components/block-styles/preview.native.js +1 -0
  546. package/build-module/components/block-styles/preview.native.js.map +1 -1
  547. package/build-module/components/block-switcher/block-transformations-menu.js +1 -0
  548. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  549. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  550. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  551. package/build-module/components/block-switcher/block-variation-transformations.js +1 -0
  552. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  553. package/build-module/components/block-switcher/index.js +1 -0
  554. package/build-module/components/block-switcher/index.js.map +1 -1
  555. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -0
  556. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  557. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  558. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  559. package/build-module/components/block-switcher/utils.js +1 -0
  560. package/build-module/components/block-switcher/utils.js.map +1 -1
  561. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -0
  562. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  563. package/build-module/components/block-toolbar/change-design.js +1 -0
  564. package/build-module/components/block-toolbar/change-design.js.map +1 -1
  565. package/build-module/components/block-toolbar/index.js +2 -1
  566. package/build-module/components/block-toolbar/index.js.map +1 -1
  567. package/build-module/components/block-tools/use-selected-block-tool-props.js +1 -0
  568. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  569. package/build-module/components/block-types-list/index.js +1 -0
  570. package/build-module/components/block-types-list/index.js.map +1 -1
  571. package/build-module/components/block-variation-picker/index.js +1 -0
  572. package/build-module/components/block-variation-picker/index.js.map +1 -1
  573. package/build-module/components/block-variation-picker/index.native.js +1 -0
  574. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  575. package/build-module/components/block-variation-transforms/index.js +1 -0
  576. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  577. package/build-module/components/block-vertical-alignment-control/ui.js +1 -0
  578. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  579. package/build-module/components/border-radius-control/index.js +1 -0
  580. package/build-module/components/border-radius-control/index.js.map +1 -1
  581. package/build-module/components/border-radius-control/input-controls.js +1 -0
  582. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  583. package/build-module/components/border-radius-control/utils.js +1 -0
  584. package/build-module/components/border-radius-control/utils.js.map +1 -1
  585. package/build-module/components/colors/utils.js +1 -0
  586. package/build-module/components/colors/utils.js.map +1 -1
  587. package/build-module/components/colors/with-colors.js +1 -0
  588. package/build-module/components/colors/with-colors.js.map +1 -1
  589. package/build-module/components/colors-gradients/dropdown.js +1 -0
  590. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  591. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -0
  592. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  593. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
  594. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  595. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -0
  596. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  597. package/build-module/components/date-format-picker/index.js +1 -0
  598. package/build-module/components/date-format-picker/index.js.map +1 -1
  599. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  600. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  601. package/build-module/components/duotone/utils.js +1 -0
  602. package/build-module/components/duotone/utils.js.map +1 -1
  603. package/build-module/components/editor-styles/index.js +1 -0
  604. package/build-module/components/editor-styles/index.js.map +1 -1
  605. package/build-module/components/font-appearance-control/index.js +1 -0
  606. package/build-module/components/font-appearance-control/index.js.map +1 -1
  607. package/build-module/components/font-family/index.js +1 -0
  608. package/build-module/components/font-family/index.js.map +1 -1
  609. package/build-module/components/font-sizes/with-font-sizes.js +1 -0
  610. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  611. package/build-module/components/global-styles/border-panel.js +1 -0
  612. package/build-module/components/global-styles/border-panel.js.map +1 -1
  613. package/build-module/components/global-styles/color-panel.js +27 -10
  614. package/build-module/components/global-styles/color-panel.js.map +1 -1
  615. package/build-module/components/global-styles/color-panel.native.js +1 -0
  616. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  617. package/build-module/components/global-styles/dimensions-panel.js +1 -0
  618. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  619. package/build-module/components/global-styles/filters-panel.js +4 -3
  620. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  621. package/build-module/components/global-styles/get-global-styles-changes.js +1 -0
  622. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  623. package/build-module/components/global-styles/shadow-panel-components.js +1 -0
  624. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  625. package/build-module/components/global-styles/typography-utils.js +1 -0
  626. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  627. package/build-module/components/global-styles/use-global-styles-context.native.js +1 -0
  628. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  629. package/build-module/components/global-styles/use-global-styles-output.js +2 -1
  630. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  631. package/build-module/components/global-styles/utils.js +1 -0
  632. package/build-module/components/global-styles/utils.js.map +1 -1
  633. package/build-module/components/grid/grid-visualizer.js +1 -0
  634. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  635. package/build-module/components/grid/use-grid-layout-sync.js +1 -0
  636. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  637. package/build-module/components/grid/utils.js +1 -0
  638. package/build-module/components/grid/utils.js.map +1 -1
  639. package/build-module/components/iframe/get-compatibility-styles.js +1 -0
  640. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  641. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -0
  642. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  643. package/build-module/components/index.js +4 -4
  644. package/build-module/components/index.js.map +1 -1
  645. package/build-module/components/inner-blocks/use-block-context.js +1 -0
  646. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  647. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
  648. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  649. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
  650. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  651. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
  652. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  653. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
  654. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  655. package/build-module/components/inserter/block-types-tab.js +2 -1
  656. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  657. package/build-module/components/inserter/block-types-tab.native.js +1 -0
  658. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  659. package/build-module/components/inserter/category-tabs/index.js +1 -0
  660. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  661. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
  662. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  663. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -0
  664. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  665. package/build-module/components/inserter/index.js +1 -0
  666. package/build-module/components/inserter/index.js.map +1 -1
  667. package/build-module/components/inserter/index.native.js +1 -0
  668. package/build-module/components/inserter/index.native.js.map +1 -1
  669. package/build-module/components/inserter/media-tab/hooks.js +1 -0
  670. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  671. package/build-module/components/inserter/media-tab/media-list.js +1 -0
  672. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  673. package/build-module/components/inserter/media-tab/media-tab.js +1 -0
  674. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  675. package/build-module/components/inserter/menu.js +1 -0
  676. package/build-module/components/inserter/menu.js.map +1 -1
  677. package/build-module/components/inserter/mobile-tab-navigation.js +1 -0
  678. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  679. package/build-module/components/inserter/search-items.js +1 -0
  680. package/build-module/components/inserter/search-items.js.map +1 -1
  681. package/build-module/components/inserter/search-results.js +1 -0
  682. package/build-module/components/inserter/search-results.js.map +1 -1
  683. package/build-module/components/inserter/tabs.native.js +1 -0
  684. package/build-module/components/inserter/tabs.native.js.map +1 -1
  685. package/build-module/components/inserter/utils.native.js +1 -0
  686. package/build-module/components/inserter/utils.native.js.map +1 -1
  687. package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -0
  688. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  689. package/build-module/components/inspector-controls/fill.js +1 -0
  690. package/build-module/components/inspector-controls/fill.js.map +1 -1
  691. package/build-module/components/inspector-controls/slot.js +3 -14
  692. package/build-module/components/inspector-controls/slot.js.map +1 -1
  693. package/build-module/components/inspector-controls-tabs/index.js +1 -0
  694. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  695. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -0
  696. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  697. package/build-module/components/inspector-popover-header/index.js +1 -0
  698. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  699. package/build-module/components/justify-content-control/ui.js +1 -0
  700. package/build-module/components/justify-content-control/ui.js.map +1 -1
  701. package/build-module/components/link-control/index.js +11 -0
  702. package/build-module/components/link-control/index.js.map +1 -1
  703. package/build-module/components/link-control/search-input.js +9 -0
  704. package/build-module/components/link-control/search-input.js.map +1 -1
  705. package/build-module/components/link-control/search-item.js +9 -0
  706. package/build-module/components/link-control/search-item.js.map +1 -1
  707. package/build-module/components/link-control/search-results.js +12 -1
  708. package/build-module/components/link-control/search-results.js.map +1 -1
  709. package/build-module/components/link-control/settings.js +1 -0
  710. package/build-module/components/link-control/settings.js.map +1 -1
  711. package/build-module/components/link-control/use-internal-value.js +1 -0
  712. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  713. package/build-module/components/link-control/use-search-handler.js +1 -0
  714. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  715. package/build-module/components/list-view/block-select-button.js +1 -0
  716. package/build-module/components/list-view/block-select-button.js.map +1 -1
  717. package/build-module/components/list-view/block.js +1 -0
  718. package/build-module/components/list-view/block.js.map +1 -1
  719. package/build-module/components/list-view/branch.js +1 -0
  720. package/build-module/components/list-view/branch.js.map +1 -1
  721. package/build-module/components/list-view/index.js +1 -0
  722. package/build-module/components/list-view/index.js.map +1 -1
  723. package/build-module/components/list-view/use-block-selection.js +1 -0
  724. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  725. package/build-module/components/list-view/use-clipboard-handler.js +1 -0
  726. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  727. package/build-module/components/list-view/use-list-view-block-indexes.js +1 -0
  728. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  729. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -0
  730. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  731. package/build-module/components/list-view/utils.js +1 -0
  732. package/build-module/components/list-view/utils.js.map +1 -1
  733. package/build-module/components/media-placeholder/index.js +1 -0
  734. package/build-module/components/media-placeholder/index.js.map +1 -1
  735. package/build-module/components/media-placeholder/index.native.js +1 -0
  736. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  737. package/build-module/components/media-replace-flow/index.js +1 -0
  738. package/build-module/components/media-replace-flow/index.js.map +1 -1
  739. package/build-module/components/media-upload/index.native.js +1 -0
  740. package/build-module/components/media-upload/index.native.js.map +1 -1
  741. package/build-module/components/multi-selection-inspector/index.js +9 -25
  742. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  743. package/build-module/components/navigable-toolbar/index.js +1 -0
  744. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  745. package/build-module/components/panel-color-settings/index.js +1 -0
  746. package/build-module/components/panel-color-settings/index.js.map +1 -1
  747. package/build-module/components/provider/use-block-sync.js +1 -0
  748. package/build-module/components/provider/use-block-sync.js.map +1 -1
  749. package/build-module/components/responsive-block-control/index.js +1 -0
  750. package/build-module/components/responsive-block-control/index.js.map +1 -1
  751. package/build-module/components/rich-text/embed-handler-picker.native.js +1 -0
  752. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  753. package/build-module/components/rich-text/event-listeners/before-input-rules.js +1 -0
  754. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  755. package/build-module/components/rich-text/event-listeners/index.js +1 -0
  756. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  757. package/build-module/components/rich-text/event-listeners/input-rules.js +1 -0
  758. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  759. package/build-module/components/rich-text/event-listeners/paste-handler.js +1 -0
  760. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  761. package/build-module/components/rich-text/file-paste-handler.native.js +1 -0
  762. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  763. package/build-module/components/rich-text/format-edit.js +1 -0
  764. package/build-module/components/rich-text/format-edit.js.map +1 -1
  765. package/build-module/components/rich-text/format-toolbar/index.js +1 -0
  766. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  767. package/build-module/components/rich-text/index.js +1 -0
  768. package/build-module/components/rich-text/index.js.map +1 -1
  769. package/build-module/components/rich-text/index.native.js +1 -0
  770. package/build-module/components/rich-text/index.native.js.map +1 -1
  771. package/build-module/components/rich-text/multiline.js +1 -0
  772. package/build-module/components/rich-text/multiline.js.map +1 -1
  773. package/build-module/components/rich-text/native/format-edit.js +1 -0
  774. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  775. package/build-module/components/rich-text/native/get-format-colors.native.js +1 -0
  776. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  777. package/build-module/components/rich-text/native/index.native.js +1 -0
  778. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  779. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
  780. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  781. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  782. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  783. package/build-module/components/rich-text/use-format-types.js +1 -0
  784. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  785. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
  786. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  787. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -0
  788. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  789. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -0
  790. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  791. package/build-module/components/spacing-sizes-control/input-controls/single.js +1 -0
  792. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  793. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
  794. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  795. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  796. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  797. package/build-module/components/tabbed-sidebar/index.js +1 -0
  798. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  799. package/build-module/components/text-alignment-control/index.js +1 -0
  800. package/build-module/components/text-alignment-control/index.js.map +1 -1
  801. package/build-module/components/text-decoration-control/index.js +1 -0
  802. package/build-module/components/text-decoration-control/index.js.map +1 -1
  803. package/build-module/components/text-transform-control/index.js +1 -0
  804. package/build-module/components/text-transform-control/index.js.map +1 -1
  805. package/build-module/components/unsupported-block-details/index.native.js +1 -0
  806. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  807. package/build-module/components/url-input/index.js +1 -0
  808. package/build-module/components/url-input/index.js.map +1 -1
  809. package/build-module/components/url-popover/image-url-input-ui.js +1 -0
  810. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  811. package/build-module/components/use-block-commands/index.js +1 -0
  812. package/build-module/components/use-block-commands/index.js.map +1 -1
  813. package/build-module/components/use-block-drop-zone/index.js +1 -0
  814. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  815. package/build-module/components/use-block-drop-zone/index.native.js +1 -0
  816. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  817. package/build-module/components/use-flash-editable-blocks/index.js +1 -0
  818. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  819. package/build-module/components/use-on-block-drop/index.js +1 -0
  820. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  821. package/build-module/components/use-on-block-drop/index.native.js +1 -0
  822. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  823. package/build-module/components/use-paste-styles/index.js +1 -0
  824. package/build-module/components/use-paste-styles/index.js.map +1 -1
  825. package/build-module/components/warning/index.js +3 -3
  826. package/build-module/components/warning/index.js.map +1 -1
  827. package/build-module/components/writing-flow/use-arrow-nav.js +1 -0
  828. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  829. package/build-module/components/writing-flow/use-clipboard-handler.js +1 -0
  830. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  831. package/build-module/components/writing-flow/use-input.js +1 -0
  832. package/build-module/components/writing-flow/use-input.js.map +1 -1
  833. package/build-module/components/writing-flow/use-tab-nav.js +1 -0
  834. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  835. package/build-module/components/writing-flow/utils.js +1 -0
  836. package/build-module/components/writing-flow/utils.js.map +1 -1
  837. package/build-module/components/writing-mode-control/index.js +1 -0
  838. package/build-module/components/writing-mode-control/index.js.map +1 -1
  839. package/build-module/hooks/align.js +1 -0
  840. package/build-module/hooks/align.js.map +1 -1
  841. package/build-module/hooks/align.native.js +1 -0
  842. package/build-module/hooks/align.native.js.map +1 -1
  843. package/build-module/hooks/block-bindings.js +1 -0
  844. package/build-module/hooks/block-bindings.js.map +1 -1
  845. package/build-module/hooks/block-hooks.js +1 -0
  846. package/build-module/hooks/block-hooks.js.map +1 -1
  847. package/build-module/hooks/block-style-variation.js +1 -0
  848. package/build-module/hooks/block-style-variation.js.map +1 -1
  849. package/build-module/hooks/border.js +1 -0
  850. package/build-module/hooks/border.js.map +1 -1
  851. package/build-module/hooks/duotone.js +1 -0
  852. package/build-module/hooks/duotone.js.map +1 -1
  853. package/build-module/hooks/index.js +1 -0
  854. package/build-module/hooks/index.js.map +1 -1
  855. package/build-module/hooks/layout.js +1 -0
  856. package/build-module/hooks/layout.js.map +1 -1
  857. package/build-module/hooks/position.js +1 -0
  858. package/build-module/hooks/position.js.map +1 -1
  859. package/build-module/hooks/style.js +2 -1
  860. package/build-module/hooks/style.js.map +1 -1
  861. package/build-module/hooks/supports.js +1 -0
  862. package/build-module/hooks/supports.js.map +1 -1
  863. package/build-module/hooks/text-align.js +1 -0
  864. package/build-module/hooks/text-align.js.map +1 -1
  865. package/build-module/hooks/typography.js +1 -0
  866. package/build-module/hooks/typography.js.map +1 -1
  867. package/build-module/hooks/use-bindings-attributes.js +1 -0
  868. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  869. package/build-module/hooks/use-zoom-out.js +48 -15
  870. package/build-module/hooks/use-zoom-out.js.map +1 -1
  871. package/build-module/hooks/utils.js +1 -0
  872. package/build-module/hooks/utils.js.map +1 -1
  873. package/build-module/layouts/constrained.js +1 -0
  874. package/build-module/layouts/constrained.js.map +1 -1
  875. package/build-module/layouts/flex.js +1 -0
  876. package/build-module/layouts/flex.js.map +1 -1
  877. package/build-module/layouts/flow.js +1 -0
  878. package/build-module/layouts/flow.js.map +1 -1
  879. package/build-module/layouts/index.js +1 -0
  880. package/build-module/layouts/index.js.map +1 -1
  881. package/build-module/layouts/utils.js +1 -0
  882. package/build-module/layouts/utils.js.map +1 -1
  883. package/build-module/store/actions.js +1 -0
  884. package/build-module/store/actions.js.map +1 -1
  885. package/build-module/store/get-block-settings.js +1 -0
  886. package/build-module/store/get-block-settings.js.map +1 -1
  887. package/build-module/store/private-actions.js +1 -0
  888. package/build-module/store/private-actions.js.map +1 -1
  889. package/build-module/store/private-selectors.js +1 -0
  890. package/build-module/store/private-selectors.js.map +1 -1
  891. package/build-module/store/reducer.js +1 -0
  892. package/build-module/store/reducer.js.map +1 -1
  893. package/build-module/store/selectors.js +13 -15
  894. package/build-module/store/selectors.js.map +1 -1
  895. package/build-module/store/utils.js +1 -0
  896. package/build-module/store/utils.js.map +1 -1
  897. package/build-module/utils/block-bindings.js +1 -0
  898. package/build-module/utils/block-bindings.js.map +1 -1
  899. package/build-module/utils/get-editor-region.js +1 -0
  900. package/build-module/utils/get-editor-region.js.map +1 -1
  901. package/build-module/utils/get-font-styles-and-weights.js +1 -0
  902. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  903. package/build-module/utils/math.js +1 -0
  904. package/build-module/utils/math.js.map +1 -1
  905. package/build-module/utils/object.js +1 -0
  906. package/build-module/utils/object.js.map +1 -1
  907. package/build-module/utils/selection.js +1 -0
  908. package/build-module/utils/selection.js.map +1 -1
  909. package/build-module/utils/transform-styles/index.js +1 -0
  910. package/build-module/utils/transform-styles/index.js.map +1 -1
  911. package/build-style/content-rtl.css +1 -1
  912. package/build-style/content.css +1 -1
  913. package/build-style/style-rtl.css +26 -48
  914. package/build-style/style.css +26 -48
  915. package/package.json +32 -32
  916. package/src/components/alignment-control/stories/aliginment-toolbar.story.js +2 -2
  917. package/src/components/alignment-control/stories/index.story.js +2 -2
  918. package/src/components/block-heading-level-dropdown/stories/index.story.js +61 -0
  919. package/src/components/block-list/use-block-props/index.js +2 -4
  920. package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +64 -6
  921. package/src/components/block-lock/modal.js +4 -6
  922. package/src/components/block-parent-selector/index.js +1 -19
  923. package/src/components/block-patterns-list/stories/fixtures.js +1 -0
  924. package/src/components/block-toolbar/index.js +1 -0
  925. package/src/components/colors-gradients/style.scss +21 -0
  926. package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +1 -1
  927. package/src/components/dimensions-tool/stories/index.story.js +1 -1
  928. package/src/components/dimensions-tool/stories/scale-tool.story.js +1 -1
  929. package/src/components/dimensions-tool/stories/width-height-tool.story.js +1 -1
  930. package/src/components/global-styles/color-panel.js +26 -7
  931. package/src/components/global-styles/filters-panel.js +3 -6
  932. package/src/components/global-styles/use-global-styles-output.js +1 -1
  933. package/src/components/index.js +7 -4
  934. package/src/components/inserter/block-types-tab.js +1 -1
  935. package/src/components/inserter/menu.js +2 -0
  936. package/src/components/inspector-controls/slot.js +3 -22
  937. package/src/components/link-control/index.js +10 -0
  938. package/src/components/link-control/search-input.js +9 -0
  939. package/src/components/link-control/search-item.js +9 -0
  940. package/src/components/link-control/search-results.js +12 -1
  941. package/src/components/multi-selection-inspector/index.js +17 -27
  942. package/src/components/multi-selection-inspector/style.scss +0 -12
  943. package/src/components/resolution-tool/stories/index.story.js +1 -1
  944. package/src/components/spacing-sizes-control/style.scss +0 -29
  945. package/src/components/text-alignment-control/stories/index.story.js +1 -1
  946. package/src/components/warning/index.js +3 -4
  947. package/src/components/warning/test/index.js +3 -1
  948. package/src/components/writing-mode-control/stories/index.story.js +56 -0
  949. package/src/hooks/style.js +1 -1
  950. package/src/hooks/test/font-size.js +15 -12
  951. package/src/hooks/use-zoom-out.js +48 -16
  952. package/src/store/selectors.js +26 -24
  953. package/src/store/test/selectors.js +1 -1
  954. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Pressable","View","clsx","useCallback","useMemo","useState","useRef","memo","withFilters","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","getBlockType","getDefaultBlockName","isUnmodifiedBlock","isUnmodifiedDefaultBlock","switchToBlockType","useDispatch","useSelect","withDispatch","withSelect","compose","ifCondition","BlockEdit","BlockDraggable","BlockInvalidWarning","BlockOutline","store","blockEditorStore","useLayout","useScrollUponInsertion","useSettings","unlock","BlockCrashBoundary","BlockCrashWarning","getMergedGlobalStyles","GlobalStylesContext","useGlobalStyles","useMobileGlobalStylesColors","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","isLayoutCalculated","setIsLayoutCalculated","elementRef","onLayout","accessibilityRole","disabled","onPress","blockName","fallback","enabled","testID","BlockListBlock","attributes","blockWidth","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isStackedHorizontally","isValid","onDeleteBlock","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","wrapperProps","baseGlobalStyles","blockType","isDescendantOfParentSelected","isParentSelected","order","mayDisplayControls","blockEditingMode","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","currentBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","JSON","stringify","Object","fromEntries","entries","filter","key","BLOCK_STYLE_ATTRIBUTES","isFocused","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","meta","selectionEnabled"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { withFilters } from '@wordpress/components';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tgetBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisUnmodifiedDefaultBlock,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tuseDispatch,\n\tuseSelect,\n\twithDispatch,\n\twithSelect,\n} from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockDraggable from '../block-draggable';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockOutline from './block-outline';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useScrollUponInsertion from './use-scroll-upon-insertion';\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockCrashWarning from './block-crash-warning';\nimport {\n\tgetMergedGlobalStyles,\n\tGlobalStylesContext,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '../global-styles/use-global-styles-context';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction BlockWrapper( {\n\taccessibilityLabel,\n\tblockCategory,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\thasInnerBlocks,\n\tisDescendentBlockSelected,\n\tisSelected,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonFocus,\n} ) {\n\tconst blockWrapperStyles = { flex: 1 };\n\tconst blockWrapperStyle = [\n\t\tblockWrapperStyles,\n\t\t{\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t},\n\t];\n\tconst accessible = ! ( isSelected || isDescendentBlockSelected );\n\n\tconst ref = useRef();\n\tconst [ isLayoutCalculated, setIsLayoutCalculated ] = useState();\n\tuseScrollUponInsertion( {\n\t\tclientId,\n\t\tisSelected,\n\t\tisLayoutCalculated,\n\t\telementRef: ref,\n\t} );\n\tconst onLayout = useCallback( () => {\n\t\tsetIsLayoutCalculated( true );\n\t}, [] );\n\n\treturn (\n\t\t<Pressable\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessible={ accessible }\n\t\t\tdisabled={ ! isTouchable }\n\t\t\tonPress={ onFocus }\n\t\t\tstyle={ blockWrapperStyle }\n\t\t\tref={ ref }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t<BlockOutline\n\t\t\t\tblockCategory={ blockCategory }\n\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tblockName={ name }\n\t\t\t\tfallback={ <BlockCrashWarning /> }\n\t\t\t>\n\t\t\t\t<BlockDraggable\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</BlockDraggable>\n\t\t\t</BlockCrashBoundary>\n\t\t</Pressable>\n\t);\n}\n\nfunction BlockListBlock( {\n\tattributes,\n\tblockWidth: blockWrapperWidth,\n\tcanRemove,\n\tclientId,\n\tcontentStyle,\n\tisLocked,\n\tisSelected,\n\tisSelectionEnabled,\n\tisStackedHorizontally,\n\tisValid,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonDeleteBlock,\n\tonInsertBlocksAfter,\n\tonMerge,\n\tonReplace,\n\tparentBlockAlignment,\n\tparentWidth,\n\trootClientId,\n\tsetAttributes,\n\ttoggleSelection,\n\twrapperProps,\n} ) {\n\tconst {\n\t\tbaseGlobalStyles,\n\t\tblockCategory,\n\t\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\thasInnerBlocks,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\n\t\tmayDisplayControls,\n\t\tblockEditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockHierarchyRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSettings,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\n\t\t\tconst currentBlockCategory = currentBlockType?.category;\n\t\t\tconst blockOrder = getBlockIndex( clientId );\n\t\t\tconst descendentBlockSelected = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst parentSelected =\n\t\t\t\t// Set false as a default value to prevent re-render when it's changed from null to false.\n\t\t\t\t( selectedBlockClientId || false ) &&\n\t\t\t\tselectedBlockClientId === rootClientId;\n\n\t\t\tconst selectedParents = clientId ? parents : [];\n\t\t\tconst descendantOfParentSelected =\n\t\t\t\tselectedParents.includes( rootClientId );\n\t\t\tconst blockHasInnerBlocks = getBlockCount( clientId ) > 0;\n\n\t\t\t// For blocks with inner blocks, we only enable the dragging in the nested\n\t\t\t// blocks if any of them are selected. This way we prevent the long-press\n\t\t\t// gesture from being disabled for elements within the block UI.\n\t\t\tconst isDraggingEnabled =\n\t\t\t\t! blockHasInnerBlocks ||\n\t\t\t\tisSelected ||\n\t\t\t\t! descendentBlockSelected;\n\t\t\t// Dragging nested blocks is not supported yet. For this reason, the block to be dragged\n\t\t\t// will be the top in the hierarchy.\n\t\t\tconst currentDraggingClientId =\n\t\t\t\tgetBlockHierarchyRootClientId( clientId );\n\n\t\t\tconst globalStylesBaseStyles =\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles;\n\n\t\t\treturn {\n\t\t\t\tbaseGlobalStyles: globalStylesBaseStyles,\n\t\t\t\tblockCategory: currentBlockCategory,\n\t\t\t\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\n\t\t\t\thasInnerBlocks: blockHasInnerBlocks,\n\t\t\t\tisDescendantOfParentSelected: descendantOfParentSelected,\n\t\t\t\tisDescendentBlockSelected: descendentBlockSelected,\n\t\t\t\tisParentSelected: parentSelected,\n\t\t\t\torder: blockOrder,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\tisSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === name\n\t\t\t\t\t\t) ),\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected, name, rootClientId ]\n\t);\n\tconst { removeBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst initialBlockWidth = blockWrapperWidth - 2 * marginHorizontal;\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth );\n\tconst parentLayout = useLayout() || {};\n\tconst defaultColors = useMobileGlobalStylesColors();\n\tconst globalStyle = useGlobalStyles();\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\tconst onFocus = useCallback( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t}, [ selectBlock, clientId, isSelected ] );\n\n\tconst onLayout = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tconst layoutWidth = Math.floor( nativeEvent.layout.width );\n\n\t\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\t\tsetBlockWidth( layoutWidth );\n\t\t\t}\n\t\t},\n\t\t[ blockWidth, setBlockWidth ]\n\t);\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\t// Inherited styles merged with block level styles.\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps?.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes || EMPTY_ARRAY\n\t\t);\n\t}, [\n\t\t// It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.\n\t\t// JSON.stringify is used for the following purposes:\n\t\t// 1. To create a single, comparable value from the globalStyle, wrapperProps.style, and attributes objects. This allows useMemo to\n\t\t// efficiently determine if a change has occurred in any of these objects.\n\t\t// 2. To filter the attributes object, ensuring that only the relevant attributes (included in\n\t\t// GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of\n\t\t// unnecessary useMemo calls when other, unrelated attributes change.\n\t\tJSON.stringify( globalStyle ),\n\t\tJSON.stringify( wrapperProps?.style ),\n\t\tJSON.stringify(\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( attributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\t\t\tGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t] );\n\n\tconst isFocused = isSelected || isDescendentBlockSelected;\n\tconst isTouchable =\n\t\tisSelected ||\n\t\tisDescendantOfParentSelected ||\n\t\tisParentSelected ||\n\t\t! rootClientId;\n\n\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\torder + 1\n\t);\n\n\treturn (\n\t\t<BlockWrapper\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\tblockCategory={ blockCategory }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisFocused={ isFocused }\n\t\t\tisSelected={ isSelected }\n\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\tisTouchable={ isTouchable }\n\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\tmarginVertical={ marginVertical }\n\t\t\tname={ name }\n\t\t\tonFocus={ onFocus }\n\t\t>\n\t\t\t{ () =>\n\t\t\t\t! isValid ? (\n\t\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t) : (\n\t\t\t\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t\t\t\t<BlockEdit\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\t\t\tinsertBlocksAfter={\n\t\t\t\t\t\t\t\tisLocked ? undefined : onInsertBlocksAfter\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\t\t\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\t\t\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\t\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tstyle={ mergedStyle }\n\t\t\t\t\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tObject.keys( parentLayout ).length\n\t\t\t\t\t\t\t\t\t? parentLayout\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View onLayout={ onLayout } />\n\t\t\t\t\t</GlobalStylesContext.Provider>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockWrapper>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\tgetBlockWithoutAttributes,\n\t\tgetBlockAttributes,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = unlock( select( blockEditorStore ) );\n\tconst block = getBlockWithoutAttributes( clientId );\n\tconst attributes = getBlockAttributes( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId );\n\tconst canMove = canMoveBlock( clientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else if (\n\t\t\t\t\tgetBlockName( clientId ) !== getDefaultBlockName()\n\t\t\t\t) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition, meta ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition,\n\t\t\t\tmeta\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tmemo,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Pressable","View","clsx","useCallback","useMemo","useState","useRef","memo","withFilters","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","getBlockType","getDefaultBlockName","isUnmodifiedBlock","isUnmodifiedDefaultBlock","switchToBlockType","useDispatch","useSelect","withDispatch","withSelect","compose","ifCondition","BlockEdit","BlockDraggable","BlockInvalidWarning","BlockOutline","store","blockEditorStore","useLayout","useScrollUponInsertion","useSettings","unlock","BlockCrashBoundary","BlockCrashWarning","getMergedGlobalStyles","GlobalStylesContext","useGlobalStyles","useMobileGlobalStylesColors","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","BlockWrapper","accessibilityLabel","blockCategory","children","clientId","draggingClientId","draggingEnabled","hasInnerBlocks","isDescendentBlockSelected","isSelected","isTouchable","marginHorizontal","marginVertical","name","onFocus","blockWrapperStyles","flex","blockWrapperStyle","accessible","ref","isLayoutCalculated","setIsLayoutCalculated","elementRef","onLayout","accessibilityRole","disabled","onPress","blockName","fallback","enabled","testID","BlockListBlock","attributes","blockWidth","blockWrapperWidth","canRemove","contentStyle","isLocked","isSelectionEnabled","isStackedHorizontally","isValid","onDeleteBlock","onInsertBlocksAfter","onMerge","onReplace","parentBlockAlignment","parentWidth","rootClientId","setAttributes","toggleSelection","wrapperProps","baseGlobalStyles","blockType","isDescendantOfParentSelected","isParentSelected","order","mayDisplayControls","blockEditingMode","select","getBlockCount","getBlockHierarchyRootClientId","getBlockIndex","getBlockParents","getSelectedBlockClientId","getSettings","hasSelectedInnerBlock","getBlockName","isFirstMultiSelectedBlock","getMultiSelectedBlockClientIds","getBlockEditingMode","currentBlockType","currentBlockCategory","category","blockOrder","descendentBlockSelected","selectedBlockClientId","parents","parentSelected","selectedParents","descendantOfParentSelected","includes","blockHasInnerBlocks","isDraggingEnabled","currentDraggingClientId","globalStylesBaseStyles","__experimentalGlobalStylesBaseStyles","every","id","removeBlock","selectBlock","initialBlockWidth","setBlockWidth","parentLayout","defaultColors","globalStyle","fontSizes","onRemove","nativeEvent","layoutWidth","Math","floor","layout","width","getEditWrapperProps","mergedStyle","JSON","stringify","Object","fromEntries","entries","filter","key","BLOCK_STYLE_ATTRIBUTES","isFocused","Provider","value","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","keys","length","applyWithSelect","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","getBlockAttributes","canRemoveBlock","canMoveBlock","block","templateLock","canMove","mode","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","newAttributes","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockOrder","getBlockRootClientId","canInsertBlockType","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","firstClientId","batch","replacement","nextRootClientId","rootAttributes","previousRootAttributes","nextBlockClientId","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","meta","selectionEnabled"],"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Pressable, View } from 'react-native';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { withFilters } from '@wordpress/components';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tgetBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisUnmodifiedDefaultBlock,\n\tswitchToBlockType,\n} from '@wordpress/blocks';\nimport {\n\tuseDispatch,\n\tuseSelect,\n\twithDispatch,\n\twithSelect,\n} from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockDraggable from '../block-draggable';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockOutline from './block-outline';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport useScrollUponInsertion from './use-scroll-upon-insertion';\nimport { useSettings } from '../use-settings';\nimport { unlock } from '../../lock-unlock';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockCrashWarning from './block-crash-warning';\nimport {\n\tgetMergedGlobalStyles,\n\tGlobalStylesContext,\n\tuseGlobalStyles,\n\tuseMobileGlobalStylesColors,\n} from '../global-styles/use-global-styles-context';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction BlockWrapper( {\n\taccessibilityLabel,\n\tblockCategory,\n\tchildren,\n\tclientId,\n\tdraggingClientId,\n\tdraggingEnabled,\n\thasInnerBlocks,\n\tisDescendentBlockSelected,\n\tisSelected,\n\tisTouchable,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonFocus,\n} ) {\n\tconst blockWrapperStyles = { flex: 1 };\n\tconst blockWrapperStyle = [\n\t\tblockWrapperStyles,\n\t\t{\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t},\n\t];\n\tconst accessible = ! ( isSelected || isDescendentBlockSelected );\n\n\tconst ref = useRef();\n\tconst [ isLayoutCalculated, setIsLayoutCalculated ] = useState();\n\tuseScrollUponInsertion( {\n\t\tclientId,\n\t\tisSelected,\n\t\tisLayoutCalculated,\n\t\telementRef: ref,\n\t} );\n\tconst onLayout = useCallback( () => {\n\t\tsetIsLayoutCalculated( true );\n\t}, [] );\n\n\treturn (\n\t\t<Pressable\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\taccessible={ accessible }\n\t\t\tdisabled={ ! isTouchable }\n\t\t\tonPress={ onFocus }\n\t\t\tstyle={ blockWrapperStyle }\n\t\t\tref={ ref }\n\t\t\tonLayout={ onLayout }\n\t\t>\n\t\t\t<BlockOutline\n\t\t\t\tblockCategory={ blockCategory }\n\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tname={ name }\n\t\t\t/>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tblockName={ name }\n\t\t\t\tfallback={ <BlockCrashWarning /> }\n\t\t\t>\n\t\t\t\t<BlockDraggable\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tdraggingClientId={ draggingClientId }\n\t\t\t\t\tenabled={ draggingEnabled }\n\t\t\t\t\ttestID=\"draggable-trigger-content\"\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</BlockDraggable>\n\t\t\t</BlockCrashBoundary>\n\t\t</Pressable>\n\t);\n}\n\nfunction BlockListBlock( {\n\tattributes,\n\tblockWidth: blockWrapperWidth,\n\tcanRemove,\n\tclientId,\n\tcontentStyle,\n\tisLocked,\n\tisSelected,\n\tisSelectionEnabled,\n\tisStackedHorizontally,\n\tisValid,\n\tmarginHorizontal,\n\tmarginVertical,\n\tname,\n\tonDeleteBlock,\n\tonInsertBlocksAfter,\n\tonMerge,\n\tonReplace,\n\tparentBlockAlignment,\n\tparentWidth,\n\trootClientId,\n\tsetAttributes,\n\ttoggleSelection,\n\twrapperProps,\n} ) {\n\tconst {\n\t\tbaseGlobalStyles,\n\t\tblockCategory,\n\t\tblockType,\n\t\tdraggingClientId,\n\t\tdraggingEnabled,\n\t\thasInnerBlocks,\n\t\tisDescendantOfParentSelected,\n\t\tisDescendentBlockSelected,\n\t\tisParentSelected,\n\t\torder,\n\t\tmayDisplayControls,\n\t\tblockEditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockHierarchyRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSettings,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentBlockType = getBlockType( name || 'core/missing' );\n\t\t\tconst currentBlockCategory = currentBlockType?.category;\n\t\t\tconst blockOrder = getBlockIndex( clientId );\n\t\t\tconst descendentBlockSelected = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tconst parents = getBlockParents( clientId, true );\n\t\t\tconst parentSelected =\n\t\t\t\t// Set false as a default value to prevent re-render when it's changed from null to false.\n\t\t\t\t( selectedBlockClientId || false ) &&\n\t\t\t\tselectedBlockClientId === rootClientId;\n\n\t\t\tconst selectedParents = clientId ? parents : [];\n\t\t\tconst descendantOfParentSelected =\n\t\t\t\tselectedParents.includes( rootClientId );\n\t\t\tconst blockHasInnerBlocks = getBlockCount( clientId ) > 0;\n\n\t\t\t// For blocks with inner blocks, we only enable the dragging in the nested\n\t\t\t// blocks if any of them are selected. This way we prevent the long-press\n\t\t\t// gesture from being disabled for elements within the block UI.\n\t\t\tconst isDraggingEnabled =\n\t\t\t\t! blockHasInnerBlocks ||\n\t\t\t\tisSelected ||\n\t\t\t\t! descendentBlockSelected;\n\t\t\t// Dragging nested blocks is not supported yet. For this reason, the block to be dragged\n\t\t\t// will be the top in the hierarchy.\n\t\t\tconst currentDraggingClientId =\n\t\t\t\tgetBlockHierarchyRootClientId( clientId );\n\n\t\t\tconst globalStylesBaseStyles =\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles;\n\n\t\t\treturn {\n\t\t\t\tbaseGlobalStyles: globalStylesBaseStyles,\n\t\t\t\tblockCategory: currentBlockCategory,\n\t\t\t\tblockType: currentBlockType,\n\t\t\t\tdraggingClientId: currentDraggingClientId,\n\t\t\t\tdraggingEnabled: isDraggingEnabled,\n\t\t\t\thasInnerBlocks: blockHasInnerBlocks,\n\t\t\t\tisDescendantOfParentSelected: descendantOfParentSelected,\n\t\t\t\tisDescendentBlockSelected: descendentBlockSelected,\n\t\t\t\tisParentSelected: parentSelected,\n\t\t\t\torder: blockOrder,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\tisSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === name\n\t\t\t\t\t\t) ),\n\t\t\t\tblockEditingMode: getBlockEditingMode( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected, name, rootClientId ]\n\t);\n\tconst { removeBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst initialBlockWidth = blockWrapperWidth - 2 * marginHorizontal;\n\tconst [ blockWidth, setBlockWidth ] = useState( initialBlockWidth );\n\tconst parentLayout = useLayout() || {};\n\tconst defaultColors = useMobileGlobalStylesColors();\n\tconst globalStyle = useGlobalStyles();\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\tconst onFocus = useCallback( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t}, [ selectBlock, clientId, isSelected ] );\n\n\tconst onLayout = useCallback(\n\t\t( { nativeEvent } ) => {\n\t\t\tconst layoutWidth = Math.floor( nativeEvent.layout.width );\n\n\t\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\t\tsetBlockWidth( layoutWidth );\n\t\t\t}\n\t\t},\n\t\t[ blockWidth, setBlockWidth ]\n\t);\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\t// Inherited styles merged with block level styles.\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps?.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes || EMPTY_ARRAY\n\t\t);\n\t}, [\n\t\t// It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.\n\t\t// JSON.stringify is used for the following purposes:\n\t\t// 1. To create a single, comparable value from the globalStyle, wrapperProps.style, and attributes objects. This allows useMemo to\n\t\t// efficiently determine if a change has occurred in any of these objects.\n\t\t// 2. To filter the attributes object, ensuring that only the relevant attributes (included in\n\t\t// GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of\n\t\t// unnecessary useMemo calls when other, unrelated attributes change.\n\t\tJSON.stringify( globalStyle ),\n\t\tJSON.stringify( wrapperProps?.style ),\n\t\tJSON.stringify(\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( attributes ?? {} ).filter( ( [ key ] ) =>\n\t\t\t\t\tGlobalStylesContext.BLOCK_STYLE_ATTRIBUTES.includes( key )\n\t\t\t\t)\n\t\t\t)\n\t\t),\n\t] );\n\n\tconst isFocused = isSelected || isDescendentBlockSelected;\n\tconst isTouchable =\n\t\tisSelected ||\n\t\tisDescendantOfParentSelected ||\n\t\tisParentSelected ||\n\t\t! rootClientId;\n\n\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\torder + 1\n\t);\n\n\treturn (\n\t\t<BlockWrapper\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\tblockCategory={ blockCategory }\n\t\t\tclientId={ clientId }\n\t\t\tdraggingClientId={ draggingClientId }\n\t\t\tdraggingEnabled={ draggingEnabled }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tisDescendentBlockSelected={ isDescendentBlockSelected }\n\t\t\tisFocused={ isFocused }\n\t\t\tisSelected={ isSelected }\n\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\tisTouchable={ isTouchable }\n\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\tmarginVertical={ marginVertical }\n\t\t\tname={ name }\n\t\t\tonFocus={ onFocus }\n\t\t>\n\t\t\t{ () =>\n\t\t\t\t! isValid ? (\n\t\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t) : (\n\t\t\t\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t\t\t\t<BlockEdit\n\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\t\t\t\tinsertBlocksAfter={\n\t\t\t\t\t\t\t\tisLocked ? undefined : onInsertBlocksAfter\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\t\t\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\t\t\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\t\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tstyle={ mergedStyle }\n\t\t\t\t\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tObject.keys( parentLayout ).length\n\t\t\t\t\t\t\t\t\t? parentLayout\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View onLayout={ onLayout } />\n\t\t\t\t\t</GlobalStylesContext.Provider>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockWrapper>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\tgetBlockWithoutAttributes,\n\t\tgetBlockAttributes,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = unlock( select( blockEditorStore ) );\n\tconst block = getBlockWithoutAttributes( clientId );\n\tconst attributes = getBlockAttributes( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId );\n\tconst canMove = canMoveBlock( clientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else if (\n\t\t\t\t\tgetBlockName( clientId ) !== getDefaultBlockName()\n\t\t\t\t) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tgetBlock( clientId ),\n\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition, meta ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition,\n\t\t\t\tmeta\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tmemo,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// Block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","ZoomOutSeparator","unlock","jsx","_jsx","jsxs","_jsxs","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","temporarilyEditingAsBlocks","select","getSettings","getTemporarilyEditingAsBlocks","isTyping","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","Provider","value","children","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","EMPTY_ARRAY","EMPTY_SET","Set","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","isZoomOut","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","isSectionBlock","_isZoomOut","_order","isPreviewMode","selectedBlockClientId","length","map","has","includes","position","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, temporarilyEditingAsBlocks } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings, getTemporarilyEditingAsBlocks, isTyping } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\ttemporarilyEditingAsBlocks: getTemporarilyEditingAsBlocks(),\n\t\t\t};\n\t\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: clsx( '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} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t! isSectionBlock( rootClientId ) &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t\t! getTemplateLock( rootClientId ) &&\n\t\t\t\t\thasAppender &&\n\t\t\t\t\t! _isZoomOut() &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\trootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t( ! rootClientId &&\n\t\t\t\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t\t\t\t! _order.length ) ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\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{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","ZoomOutSeparator","unlock","jsx","_jsx","jsxs","_jsxs","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","temporarilyEditingAsBlocks","select","getSettings","getTemporarilyEditingAsBlocks","isTyping","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","Provider","value","children","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","EMPTY_ARRAY","EMPTY_SET","Set","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","isZoomOut","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","isSectionBlock","_isZoomOut","_order","isPreviewMode","selectedBlockClientId","length","map","has","includes","position","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { ZoomOutSeparator } from './zoom-out-separator';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, temporarilyEditingAsBlocks } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings, getTemporarilyEditingAsBlocks, isTyping } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode && ! isTyping(),\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\ttemporarilyEditingAsBlocks: getTemporarilyEditingAsBlocks(),\n\t\t\t};\n\t\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: clsx( '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} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\nconst EMPTY_SET = new Set();\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tisZoomOut,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst _order = getBlockOrder( rootClientId );\n\n\t\t\tif ( getSettings().isPreviewMode ) {\n\t\t\t\treturn {\n\t\t\t\t\torder: _order,\n\t\t\t\t\tselectedBlocks: EMPTY_ARRAY,\n\t\t\t\t\tvisibleBlocks: EMPTY_SET,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\torder: _order,\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t! isSectionBlock( rootClientId ) &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t\t! getTemplateLock( rootClientId ) &&\n\t\t\t\t\thasAppender &&\n\t\t\t\t\t! _isZoomOut() &&\n\t\t\t\t\t( hasCustomAppender ||\n\t\t\t\t\t\trootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t( ! rootClientId &&\n\t\t\t\t\t\t\t! selectedBlockClientId &&\n\t\t\t\t\t\t\t! _order.length ) ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\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{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"top\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isZoomOut && (\n\t\t\t\t\t\t<ZoomOutSeparator\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * External dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["View","Platform","Pressable","useRef","useState","useCallback","useSelect","useDispatch","createBlock","KeyboardAwareFlatList","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","BlockListItemCell","BlockListProvider","DEFAULT_BLOCK_LIST_CONTEXT","BlockDraggableWrapper","useEditorWrapperStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","identity","x","stylesMemo","getStyles","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","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","selectedBlockClientId","rootBlockId","blockOrder","isRTLSetting","maxWidthSetting","readOnly","OS","undefined","insertBlock","clearSelectedBlock","extraData","setBlockWidth","addBlockToEndOfPost","newBlock","scrollRef","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","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","extraScrollHeight","height","style","onAccessibilityEscape","testID","children","value","onScroll","accessibilityLabel","ref","keyboardShouldPersistTaps","scrollEnabled","contentContainerStyle","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","data","keyExtractor","CellRendererComponent","shouldPreventAutomaticScroll","ListHeaderComponent","ListEmptyComponent","EmptyList","ListFooterComponent","Footer","map","currentClientId","innerAppender","showSeparator","onAddParagraphBlock","paragraphBlock","onPress","blockListFooter","shouldShowInsertionPoint","getBlockInsertionPoint","insertionPoint","align","alignments","full","wrapperStyles","containerStyles","defaultAppender"],"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform, Pressable } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useState, useCallback } 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 scrollRef = 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, 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\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: scrollRef.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\taccessibilityLabel=\"block-list\"\n\t\t\t\t\t\t\t\tref={ scrollRef }\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\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\tconst onAddParagraphBlock = useCallback( () => {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\taddBlockToEndOfPost( paragraphBlock );\n\t}, [ addBlockToEndOfPost ] );\n\n\tif ( ! isReadOnly && withFooter ) {\n\t\treturn (\n\t\t\t<Pressable\n\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\tonPress={ onAddParagraphBlock }\n\t\t\t>\n\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t</Pressable>\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["View","Platform","Pressable","useRef","useState","useCallback","useSelect","useDispatch","createBlock","KeyboardAwareFlatList","WIDE_ALIGNMENTS","alignmentHelpers","__","styles","BlockListAppender","BlockListItem","BlockListItemCell","BlockListProvider","DEFAULT_BLOCK_LIST_CONTEXT","BlockDraggableWrapper","useEditorWrapperStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","identity","x","stylesMemo","getStyles","isStackedHorizontally","horizontalAlignment","styleName","computedStyles","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","selectedBlockClientId","rootBlockId","blockOrder","isRTLSetting","maxWidthSetting","readOnly","OS","undefined","insertBlock","clearSelectedBlock","extraData","setBlockWidth","addBlockToEndOfPost","newBlock","scrollRef","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","floatingToolbar","containerStyle","flex","isContentStretch","isMultiBlocks","isWider","extraScrollHeight","height","style","onAccessibilityEscape","testID","children","value","onScroll","accessibilityLabel","ref","keyboardShouldPersistTaps","scrollEnabled","contentContainerStyle","horizontalContentContainer","horizontalContentContainerStretch","horizontalContentContainerCenter","data","keyExtractor","CellRendererComponent","shouldPreventAutomaticScroll","ListHeaderComponent","ListEmptyComponent","EmptyList","ListFooterComponent","Footer","map","currentClientId","innerAppender","showSeparator","onAddParagraphBlock","paragraphBlock","onPress","blockListFooter","shouldShowInsertionPoint","getBlockInsertionPoint","insertionPoint","align","alignments","full","wrapperStyles","containerStyles","defaultAppender"],"sources":["@wordpress/block-editor/src/components/block-list/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform, Pressable } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useState, useCallback } 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 scrollRef = 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, 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\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: scrollRef.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\taccessibilityLabel=\"block-list\"\n\t\t\t\t\t\t\t\tref={ scrollRef }\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\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\tconst onAddParagraphBlock = useCallback( () => {\n\t\tconst paragraphBlock = createBlock( 'core/paragraph' );\n\t\taddBlockToEndOfPost( paragraphBlock );\n\t}, [ addBlockToEndOfPost ] );\n\n\tif ( ! isReadOnly && withFooter ) {\n\t\treturn (\n\t\t\t<Pressable\n\t\t\t\taccessibilityLabel={ __( 'Add paragraph block' ) }\n\t\t\t\ttestID={ __( 'Add paragraph block' ) }\n\t\t\t\tonPress={ onAddParagraphBlock }\n\t\t\t>\n\t\t\t\t<View style={ styles.blockListFooter } />\n\t\t\t</Pressable>\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"],"mappings":"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","ignoreList":[]}
@@ -102,7 +102,6 @@ export function useBlockProps(props = {}, {
102
102
  isSectionBlock,
103
103
  canMove
104
104
  } = useContext(PrivateBlockContext);
105
- const canDrag = canMove && !hasChildSelected;
106
105
 
107
106
  // translators: %s: Type of block (i.e. Text, Image etc)
108
107
  const blockLabel = sprintf(__('Block: %s'), blockTitle);
@@ -126,7 +125,7 @@ export function useBlockProps(props = {}, {
126
125
  isEnabled: isSectionBlock
127
126
  }), useScrollIntoView({
128
127
  isSelected
129
- }), canDrag ? ffDragRef : undefined]);
128
+ }), canMove ? ffDragRef : undefined]);
130
129
  const blockEditContext = useBlockEditContext();
131
130
  const hasBlockBindings = !!blockEditContext[blockBindingsKey];
132
131
  const bindingsStyle = hasBlockBindings && canBindBlock(name) ? {
@@ -144,7 +143,7 @@ export function useBlockProps(props = {}, {
144
143
  }
145
144
  return {
146
145
  tabIndex: blockEditingMode === 'disabled' ? -1 : 0,
147
- draggable: canDrag ? true : undefined,
146
+ draggable: canMove && !hasChildSelected ? true : undefined,
148
147
  ...wrapperProps,
149
148
  ...props,
150
149
  ref: mergedRefs,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","useMergeRefs","useDisabled","warning","useMovingAnimation","PrivateBlockContext","useFocusFirstElement","useIsHovered","blockBindingsKey","useBlockEditContext","useFocusHandler","useEventHandlers","useBlockRefProvider","useIntersectionObserver","useScrollIntoView","useFlashEditableBlocks","canBindBlock","useFirefoxDraggableCompatibility","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isSelected","isSubtreeDisabled","hasOverlay","initialPosition","blockEditingMode","isHighlighted","isMultiSelected","isPartiallySelected","isReusable","isDragging","hasChildSelected","isEditingDisabled","hasEditableOutline","isTemporarilyEditingAsBlocks","defaultClassName","isSectionBlock","canMove","canDrag","blockLabel","htmlSuffix","ffDragRef","mergedRefs","ref","triggerAnimationOnChange","isDisabled","isEnabled","undefined","blockEditContext","hasBlockBindings","bindingsStyle","globalThis","SCRIPT_DEBUG","hasNegativeMargin","style","marginTop","charAt","marginBottom","marginLeft","marginRight","tabIndex","draggable","id","role","inert","save"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { PrivateBlockContext } from '../private-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport {\n\tblockBindingsKey,\n\tuseBlockEditContext,\n} from '../../block-edit/context';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useFlashEditableBlocks } from '../../use-flash-editable-blocks';\nimport { canBindBlock } from '../../../hooks/use-bindings-attributes';\nimport { useFirefoxDraggableCompatibility } from './use-firefox-draggable-compatibility';\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps( {\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * } )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tisSectionBlock,\n\t\tcanMove,\n\t} = useContext( PrivateBlockContext );\n\n\tconst canDrag = canMove && ! hasChildSelected;\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst ffDragRef = useFirefoxDraggableCompatibility();\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( { clientId, initialPosition } ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( { clientId, isSelected } ),\n\t\tuseIsHovered( { clientId } ),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( { triggerAnimationOnChange: index, clientId } ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t\tuseFlashEditableBlocks( {\n\t\t\tclientId,\n\t\t\tisEnabled: isSectionBlock,\n\t\t} ),\n\t\tuseScrollIntoView( { isSelected } ),\n\t\tcanDrag ? ffDragRef : undefined,\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\tconst hasBlockBindings = !! blockEditContext[ blockBindingsKey ];\n\tconst bindingsStyle =\n\t\thasBlockBindings && canBindBlock( name )\n\t\t\t? {\n\t\t\t\t\t'--wp-admin-theme-color': 'var(--wp-block-synced-color)',\n\t\t\t\t\t'--wp-admin-theme-color--rgb':\n\t\t\t\t\t\t'var(--wp-block-synced-color--rgb)',\n\t\t\t }\n\t\t\t: {};\n\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\tlet hasNegativeMargin = false;\n\tif (\n\t\twrapperProps?.style?.marginTop?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginBottom?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginLeft?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginRight?.charAt( 0 ) === '-'\n\t) {\n\t\thasNegativeMargin = true;\n\t}\n\n\treturn {\n\t\ttabIndex: blockEditingMode === 'disabled' ? -1 : 0,\n\t\tdraggable: canDrag ? true : undefined,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: clsx(\n\t\t\t'block-editor-block-list__block',\n\t\t\t{\n\t\t\t\t// The wp-block className is important for editor styles.\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t'is-multi-selected': isMultiSelected,\n\t\t\t\t'is-partially-selected': isPartiallySelected,\n\t\t\t\t'is-reusable': isReusable,\n\t\t\t\t'is-dragging': isDragging,\n\t\t\t\t'has-child-selected': hasChildSelected,\n\t\t\t\t'is-editing-disabled': isEditingDisabled,\n\t\t\t\t'has-editable-outline': hasEditableOutline,\n\t\t\t\t'has-negative-margin': hasNegativeMargin,\n\t\t\t\t'is-content-locked-temporarily-editing-as-blocks':\n\t\t\t\t\tisTemporarilyEditingAsBlocks,\n\t\t\t},\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tdefaultClassName\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style, ...bindingsStyle },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useContext","__","sprintf","__unstableGetBlockProps","getBlockProps","useMergeRefs","useDisabled","warning","useMovingAnimation","PrivateBlockContext","useFocusFirstElement","useIsHovered","blockBindingsKey","useBlockEditContext","useFocusHandler","useEventHandlers","useBlockRefProvider","useIntersectionObserver","useScrollIntoView","useFlashEditableBlocks","canBindBlock","useFirefoxDraggableCompatibility","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isSelected","isSubtreeDisabled","hasOverlay","initialPosition","blockEditingMode","isHighlighted","isMultiSelected","isPartiallySelected","isReusable","isDragging","hasChildSelected","isEditingDisabled","hasEditableOutline","isTemporarilyEditingAsBlocks","defaultClassName","isSectionBlock","canMove","blockLabel","htmlSuffix","ffDragRef","mergedRefs","ref","triggerAnimationOnChange","isDisabled","isEnabled","undefined","blockEditContext","hasBlockBindings","bindingsStyle","globalThis","SCRIPT_DEBUG","hasNegativeMargin","style","marginTop","charAt","marginBottom","marginLeft","marginRight","tabIndex","draggable","id","role","inert","save"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { PrivateBlockContext } from '../private-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport {\n\tblockBindingsKey,\n\tuseBlockEditContext,\n} from '../../block-edit/context';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useFlashEditableBlocks } from '../../use-flash-editable-blocks';\nimport { canBindBlock } from '../../../hooks/use-bindings-attributes';\nimport { useFirefoxDraggableCompatibility } from './use-firefox-draggable-compatibility';\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps( {\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * } )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tisSectionBlock,\n\t\tcanMove,\n\t} = useContext( PrivateBlockContext );\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst ffDragRef = useFirefoxDraggableCompatibility();\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( { clientId, initialPosition } ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( { clientId, isSelected } ),\n\t\tuseIsHovered( { clientId } ),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( { triggerAnimationOnChange: index, clientId } ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t\tuseFlashEditableBlocks( {\n\t\t\tclientId,\n\t\t\tisEnabled: isSectionBlock,\n\t\t} ),\n\t\tuseScrollIntoView( { isSelected } ),\n\t\tcanMove ? ffDragRef : undefined,\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\tconst hasBlockBindings = !! blockEditContext[ blockBindingsKey ];\n\tconst bindingsStyle =\n\t\thasBlockBindings && canBindBlock( name )\n\t\t\t? {\n\t\t\t\t\t'--wp-admin-theme-color': 'var(--wp-block-synced-color)',\n\t\t\t\t\t'--wp-admin-theme-color--rgb':\n\t\t\t\t\t\t'var(--wp-block-synced-color--rgb)',\n\t\t\t }\n\t\t\t: {};\n\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\tlet hasNegativeMargin = false;\n\tif (\n\t\twrapperProps?.style?.marginTop?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginBottom?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginLeft?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginRight?.charAt( 0 ) === '-'\n\t) {\n\t\thasNegativeMargin = true;\n\t}\n\n\treturn {\n\t\ttabIndex: blockEditingMode === 'disabled' ? -1 : 0,\n\t\tdraggable: canMove && ! hasChildSelected ? true : undefined,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: clsx(\n\t\t\t'block-editor-block-list__block',\n\t\t\t{\n\t\t\t\t// The wp-block className is important for editor styles.\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t'is-multi-selected': isMultiSelected,\n\t\t\t\t'is-partially-selected': isPartiallySelected,\n\t\t\t\t'is-reusable': isReusable,\n\t\t\t\t'is-dragging': isDragging,\n\t\t\t\t'has-child-selected': hasChildSelected,\n\t\t\t\t'is-editing-disabled': isEditingDisabled,\n\t\t\t\t'has-editable-outline': hasEditableOutline,\n\t\t\t\t'has-negative-margin': hasNegativeMargin,\n\t\t\t\t'is-content-locked-temporarily-editing-as-blocks':\n\t\t\t\t\tisTemporarilyEditingAsBlocks,\n\t\t\t},\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tdefaultClassName\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style, ...bindingsStyle },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,64 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useRefEffect } from '@wordpress/compose';
5
+ const nodesByDocument = new Map();
6
+ function add(doc, node) {
7
+ let set = nodesByDocument.get(doc);
8
+ if (!set) {
9
+ set = new Set();
10
+ nodesByDocument.set(doc, set);
11
+ doc.addEventListener('pointerdown', down);
12
+ }
13
+ set.add(node);
14
+ }
15
+ function remove(doc, node) {
16
+ const set = nodesByDocument.get(doc);
17
+ if (set) {
18
+ set.delete(node);
19
+ restore(node);
20
+ if (set.size === 0) {
21
+ nodesByDocument.delete(doc);
22
+ doc.removeEventListener('pointerdown', down);
23
+ }
24
+ }
25
+ }
26
+ function restore(node) {
27
+ const prevDraggable = node.getAttribute('data-draggable');
28
+ if (prevDraggable) {
29
+ node.removeAttribute('data-draggable');
30
+ // Only restore if `draggable` is still removed. It could have been
31
+ // changed by React in the meantime.
32
+ if (prevDraggable === 'true' && !node.getAttribute('draggable')) {
33
+ node.setAttribute('draggable', 'true');
34
+ }
35
+ }
36
+ }
37
+ function down(event) {
38
+ const {
39
+ target
40
+ } = event;
41
+ const {
42
+ ownerDocument,
43
+ isContentEditable
44
+ } = target;
45
+ const nodes = nodesByDocument.get(ownerDocument);
46
+ if (isContentEditable) {
47
+ // Whenever an editable element is clicked, check which draggable
48
+ // blocks contain this element, and temporarily disable draggability.
49
+ for (const node of nodes) {
50
+ if (node.getAttribute('draggable') === 'true' && node.contains(target)) {
51
+ node.removeAttribute('draggable');
52
+ node.setAttribute('data-draggable', 'true');
53
+ }
54
+ }
55
+ } else {
56
+ // Whenever a non-editable element is clicked, re-enable draggability
57
+ // for any blocks that were previously disabled.
58
+ for (const node of nodes) {
59
+ restore(node);
60
+ }
61
+ }
62
+ }
5
63
 
6
64
  /**
7
65
  * In Firefox, the `draggable` and `contenteditable` attributes don't play well
@@ -13,15 +71,9 @@ import { useRefEffect } from '@wordpress/compose';
13
71
  */
14
72
  export function useFirefoxDraggableCompatibility() {
15
73
  return useRefEffect(node => {
16
- function onDown(event) {
17
- node.draggable = !event.target.isContentEditable;
18
- }
19
- const {
20
- ownerDocument
21
- } = node;
22
- ownerDocument.addEventListener('pointerdown', onDown);
74
+ add(node.ownerDocument, node);
23
75
  return () => {
24
- ownerDocument.removeEventListener('pointerdown', onDown);
76
+ remove(node.ownerDocument, node);
25
77
  };
26
78
  }, []);
27
79
  }