@wordpress/block-editor 17.0.0 → 17.1.1-next.v.202609031004.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 (1802) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/build/autocompleters/block.cjs +1 -1
  3. package/build/autocompleters/block.cjs.map +1 -1
  4. package/build/components/alignment-control/index.cjs +1 -1
  5. package/build/components/alignment-control/index.cjs.map +1 -1
  6. package/build/components/alignment-control/ui.cjs +1 -1
  7. package/build/components/alignment-control/ui.cjs.map +1 -1
  8. package/build/components/autocomplete/index.cjs +1 -1
  9. package/build/components/autocomplete/index.cjs.map +1 -1
  10. package/build/components/background-image-control/index.cjs +19 -2
  11. package/build/components/background-image-control/index.cjs.map +3 -3
  12. package/build/components/block-alignment-control/index.cjs +1 -1
  13. package/build/components/block-alignment-control/index.cjs.map +1 -1
  14. package/build/components/block-alignment-control/ui.cjs +1 -1
  15. package/build/components/block-alignment-control/ui.cjs.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.cjs +1 -1
  17. package/build/components/block-alignment-matrix-control/index.cjs.map +1 -1
  18. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs +1 -1
  19. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +1 -1
  20. package/build/components/block-allowed-blocks/modal.cjs +1 -1
  21. package/build/components/block-allowed-blocks/modal.cjs.map +1 -1
  22. package/build/components/block-bindings/attribute-control.cjs +1 -1
  23. package/build/components/block-bindings/attribute-control.cjs.map +1 -1
  24. package/build/components/block-bindings/source-fields-list.cjs +1 -1
  25. package/build/components/block-bindings/source-fields-list.cjs.map +1 -1
  26. package/build/components/block-breadcrumb/index.cjs +1 -1
  27. package/build/components/block-breadcrumb/index.cjs.map +1 -1
  28. package/build/components/block-canvas/index.cjs +1 -1
  29. package/build/components/block-canvas/index.cjs.map +1 -1
  30. package/build/components/block-card/index.cjs +1 -1
  31. package/build/components/block-card/index.cjs.map +1 -1
  32. package/build/components/block-compare/block-view.cjs +1 -1
  33. package/build/components/block-compare/block-view.cjs.map +1 -1
  34. package/build/components/block-compare/index.cjs +1 -1
  35. package/build/components/block-compare/index.cjs.map +1 -1
  36. package/build/components/block-context/index.cjs +1 -1
  37. package/build/components/block-context/index.cjs.map +1 -1
  38. package/build/components/block-controls/fill.cjs +1 -1
  39. package/build/components/block-controls/fill.cjs.map +1 -1
  40. package/build/components/block-controls/index.cjs +1 -1
  41. package/build/components/block-controls/index.cjs.map +1 -1
  42. package/build/components/block-controls/slot.cjs +1 -1
  43. package/build/components/block-controls/slot.cjs.map +1 -1
  44. package/build/components/block-draggable/draggable-chip.cjs +1 -1
  45. package/build/components/block-draggable/draggable-chip.cjs.map +1 -1
  46. package/build/components/block-draggable/index.cjs +1 -1
  47. package/build/components/block-draggable/index.cjs.map +1 -1
  48. package/build/components/block-edit/edit.cjs +1 -1
  49. package/build/components/block-edit/edit.cjs.map +2 -2
  50. package/build/components/block-edit/index.cjs +1 -1
  51. package/build/components/block-edit/index.cjs.map +1 -1
  52. package/build/components/block-edit/multiple-usage-warning.cjs +1 -1
  53. package/build/components/block-edit/multiple-usage-warning.cjs.map +1 -1
  54. package/build/components/block-edit-visually-button/index.cjs +1 -1
  55. package/build/components/block-edit-visually-button/index.cjs.map +1 -1
  56. package/build/components/block-full-height-alignment-control/index.cjs +1 -1
  57. package/build/components/block-full-height-alignment-control/index.cjs.map +1 -1
  58. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs +1 -1
  59. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +1 -1
  60. package/build/components/block-heading-level-dropdown/index.cjs +1 -1
  61. package/build/components/block-heading-level-dropdown/index.cjs.map +1 -1
  62. package/build/components/block-icon/index.cjs +1 -1
  63. package/build/components/block-icon/index.cjs.map +1 -1
  64. package/build/components/block-inspector/edit-contents.cjs +1 -1
  65. package/build/components/block-inspector/edit-contents.cjs.map +1 -1
  66. package/build/components/block-inspector/index.cjs +8 -16
  67. package/build/components/block-inspector/index.cjs.map +3 -3
  68. package/build/components/block-keyboard-shortcuts/index.cjs +1 -1
  69. package/build/components/block-keyboard-shortcuts/index.cjs.map +1 -1
  70. package/build/components/block-list/block-crash-warning.cjs +1 -1
  71. package/build/components/block-list/block-crash-warning.cjs.map +1 -1
  72. package/build/components/block-list/block-html.cjs +1 -1
  73. package/build/components/block-list/block-html.cjs.map +1 -1
  74. package/build/components/block-list/block-invalid-warning.cjs +1 -1
  75. package/build/components/block-list/block-invalid-warning.cjs.map +1 -1
  76. package/build/components/block-list/block.cjs +1 -1
  77. package/build/components/block-list/block.cjs.map +1 -1
  78. package/build/components/block-list/index.cjs +1 -1
  79. package/build/components/block-list/index.cjs.map +1 -1
  80. package/build/components/block-list/layout.cjs +1 -1
  81. package/build/components/block-list/layout.cjs.map +1 -1
  82. package/build/components/block-list/subdirectory-icon.cjs +1 -1
  83. package/build/components/block-list/subdirectory-icon.cjs.map +1 -1
  84. package/build/components/block-list/use-block-props/use-is-hovered.cjs +17 -4
  85. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  86. package/build/components/block-list/zoom-out-separator.cjs +1 -1
  87. package/build/components/block-list/zoom-out-separator.cjs.map +1 -1
  88. package/build/components/block-list-appender/index.cjs +1 -1
  89. package/build/components/block-list-appender/index.cjs.map +1 -1
  90. package/build/components/block-lock/menu-item.cjs +1 -1
  91. package/build/components/block-lock/menu-item.cjs.map +1 -1
  92. package/build/components/block-lock/modal.cjs +1 -1
  93. package/build/components/block-lock/modal.cjs.map +1 -1
  94. package/build/components/block-lock/toolbar.cjs +1 -1
  95. package/build/components/block-lock/toolbar.cjs.map +1 -1
  96. package/build/components/block-manager/category.cjs +1 -1
  97. package/build/components/block-manager/category.cjs.map +1 -1
  98. package/build/components/block-manager/checklist.cjs +1 -1
  99. package/build/components/block-manager/checklist.cjs.map +1 -1
  100. package/build/components/block-manager/index.cjs +1 -1
  101. package/build/components/block-manager/index.cjs.map +1 -1
  102. package/build/components/block-mover/button.cjs +1 -1
  103. package/build/components/block-mover/button.cjs.map +1 -1
  104. package/build/components/block-mover/index.cjs +1 -1
  105. package/build/components/block-mover/index.cjs.map +1 -1
  106. package/build/components/block-navigation/dropdown.cjs +1 -1
  107. package/build/components/block-navigation/dropdown.cjs.map +1 -1
  108. package/build/components/block-parent-selector/index.cjs +1 -1
  109. package/build/components/block-parent-selector/index.cjs.map +1 -1
  110. package/build/components/block-pattern-setup/index.cjs +1 -1
  111. package/build/components/block-pattern-setup/index.cjs.map +1 -1
  112. package/build/components/block-pattern-setup/setup-toolbar.cjs +1 -1
  113. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +1 -1
  114. package/build/components/block-patterns-list/index.cjs +1 -1
  115. package/build/components/block-patterns-list/index.cjs.map +1 -1
  116. package/build/components/block-patterns-paging/index.cjs +1 -1
  117. package/build/components/block-patterns-paging/index.cjs.map +1 -1
  118. package/build/components/block-popover/cover.cjs +1 -1
  119. package/build/components/block-popover/cover.cjs.map +1 -1
  120. package/build/components/block-popover/drop-zone.cjs +1 -1
  121. package/build/components/block-popover/drop-zone.cjs.map +1 -1
  122. package/build/components/block-popover/inbetween.cjs +1 -1
  123. package/build/components/block-popover/inbetween.cjs.map +1 -1
  124. package/build/components/block-popover/index.cjs +1 -1
  125. package/build/components/block-popover/index.cjs.map +1 -1
  126. package/build/components/block-preview/auto.cjs +1 -1
  127. package/build/components/block-preview/auto.cjs.map +1 -1
  128. package/build/components/block-preview/index.cjs +1 -1
  129. package/build/components/block-preview/index.cjs.map +1 -1
  130. package/build/components/block-quick-navigation/index.cjs +1 -1
  131. package/build/components/block-quick-navigation/index.cjs.map +1 -1
  132. package/build/components/block-removal-warning-modal/index.cjs +1 -1
  133. package/build/components/block-removal-warning-modal/index.cjs.map +1 -1
  134. package/build/components/block-rename/modal.cjs +1 -1
  135. package/build/components/block-rename/modal.cjs.map +1 -1
  136. package/build/components/block-rename/rename-control.cjs +1 -1
  137. package/build/components/block-rename/rename-control.cjs.map +1 -1
  138. package/build/components/block-selection-clearer/index.cjs +1 -1
  139. package/build/components/block-selection-clearer/index.cjs.map +1 -1
  140. package/build/components/block-settings-menu/block-html-convert-button.cjs +1 -1
  141. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +1 -1
  142. package/build/components/block-settings-menu/block-mode-toggle.cjs +1 -1
  143. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +1 -1
  144. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs +1 -1
  145. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +1 -1
  146. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  147. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +1 -1
  148. package/build/components/block-settings-menu/index.cjs +1 -1
  149. package/build/components/block-settings-menu/index.cjs.map +1 -1
  150. package/build/components/block-settings-menu-controls/index.cjs +1 -1
  151. package/build/components/block-settings-menu-controls/index.cjs.map +1 -1
  152. package/build/components/block-styles/index.cjs +1 -1
  153. package/build/components/block-styles/index.cjs.map +1 -1
  154. package/build/components/block-styles/menu-items.cjs +1 -1
  155. package/build/components/block-styles/menu-items.cjs.map +1 -1
  156. package/build/components/block-switcher/block-styles-menu.cjs +1 -1
  157. package/build/components/block-switcher/block-styles-menu.cjs.map +1 -1
  158. package/build/components/block-switcher/block-transformations-menu.cjs +1 -1
  159. package/build/components/block-switcher/block-transformations-menu.cjs.map +1 -1
  160. package/build/components/block-switcher/block-variation-transformations.cjs +1 -1
  161. package/build/components/block-switcher/block-variation-transformations.cjs.map +1 -1
  162. package/build/components/block-switcher/index.cjs +1 -1
  163. package/build/components/block-switcher/index.cjs.map +1 -1
  164. package/build/components/block-switcher/pattern-transformations-menu.cjs +1 -1
  165. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +1 -1
  166. package/build/components/block-switcher/preview-block-popover.cjs +1 -1
  167. package/build/components/block-switcher/preview-block-popover.cjs.map +1 -1
  168. package/build/components/block-toolbar/block-styles-dropdown.cjs +1 -1
  169. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +1 -1
  170. package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
  171. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +1 -1
  172. package/build/components/block-toolbar/change-design.cjs +1 -1
  173. package/build/components/block-toolbar/change-design.cjs.map +1 -1
  174. package/build/components/block-toolbar/edit-section-button.cjs +1 -1
  175. package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
  176. package/build/components/block-toolbar/index.cjs +1 -1
  177. package/build/components/block-toolbar/index.cjs.map +1 -1
  178. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs +1 -1
  179. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +1 -1
  180. package/build/components/block-toolbar/switch-section-style.cjs +1 -1
  181. package/build/components/block-toolbar/switch-section-style.cjs.map +1 -1
  182. package/build/components/block-tools/block-toolbar-popover.cjs +1 -1
  183. package/build/components/block-tools/block-toolbar-popover.cjs.map +1 -1
  184. package/build/components/block-tools/empty-block-inserter.cjs +1 -1
  185. package/build/components/block-tools/empty-block-inserter.cjs.map +1 -1
  186. package/build/components/block-tools/index.cjs +1 -1
  187. package/build/components/block-tools/index.cjs.map +1 -1
  188. package/build/components/block-tools/insertion-point.cjs +1 -1
  189. package/build/components/block-tools/insertion-point.cjs.map +1 -1
  190. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs +1 -1
  191. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +1 -1
  192. package/build/components/block-tools/zoom-out-mode-inserters.cjs +1 -1
  193. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +1 -1
  194. package/build/components/block-types-list/index.cjs +1 -1
  195. package/build/components/block-types-list/index.cjs.map +1 -1
  196. package/build/components/block-variation-picker/index.cjs +1 -1
  197. package/build/components/block-variation-picker/index.cjs.map +1 -1
  198. package/build/components/block-variation-transforms/index.cjs +1 -1
  199. package/build/components/block-variation-transforms/index.cjs.map +1 -1
  200. package/build/components/block-vertical-alignment-control/index.cjs +1 -1
  201. package/build/components/block-vertical-alignment-control/index.cjs.map +1 -1
  202. package/build/components/block-vertical-alignment-control/ui.cjs +1 -1
  203. package/build/components/block-vertical-alignment-control/ui.cjs.map +1 -1
  204. package/build/components/block-visibility/constants.cjs.map +1 -1
  205. package/build/components/block-visibility/modal.cjs +1 -1
  206. package/build/components/block-visibility/modal.cjs.map +1 -1
  207. package/build/components/block-visibility/viewport-menu-item.cjs +1 -1
  208. package/build/components/block-visibility/viewport-menu-item.cjs.map +1 -1
  209. package/build/components/block-visibility/viewport-toolbar.cjs +1 -1
  210. package/build/components/block-visibility/viewport-toolbar.cjs.map +1 -1
  211. package/build/components/block-visibility/viewport-visibility-info.cjs +1 -1
  212. package/build/components/block-visibility/viewport-visibility-info.cjs.map +1 -1
  213. package/build/components/border-radius-control/index.cjs +1 -1
  214. package/build/components/border-radius-control/index.cjs.map +1 -1
  215. package/build/components/border-radius-control/linked-button.cjs +1 -1
  216. package/build/components/border-radius-control/linked-button.cjs.map +1 -1
  217. package/build/components/button-block-appender/index.cjs +1 -1
  218. package/build/components/button-block-appender/index.cjs.map +1 -1
  219. package/build/components/child-layout-control/index.cjs +1 -1
  220. package/build/components/child-layout-control/index.cjs.map +1 -1
  221. package/build/components/color-palette/control.cjs +1 -1
  222. package/build/components/color-palette/control.cjs.map +1 -1
  223. package/build/components/color-palette/with-color-context.cjs +1 -1
  224. package/build/components/color-palette/with-color-context.cjs.map +1 -1
  225. package/build/components/color-style-selector/index.cjs +1 -1
  226. package/build/components/color-style-selector/index.cjs.map +1 -1
  227. package/build/components/colors/with-colors.cjs +1 -1
  228. package/build/components/colors/with-colors.cjs.map +1 -1
  229. package/build/components/colors-gradients/control.cjs +1 -1
  230. package/build/components/colors-gradients/control.cjs.map +1 -1
  231. package/build/components/colors-gradients/dropdown.cjs +1 -1
  232. package/build/components/colors-gradients/dropdown.cjs.map +1 -1
  233. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +1 -1
  234. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +1 -1
  235. package/build/components/contrast-checker/index.cjs +1 -1
  236. package/build/components/contrast-checker/index.cjs.map +1 -1
  237. package/build/components/convert-to-group-buttons/index.cjs +1 -1
  238. package/build/components/convert-to-group-buttons/index.cjs.map +1 -1
  239. package/build/components/convert-to-group-buttons/toolbar.cjs +1 -1
  240. package/build/components/convert-to-group-buttons/toolbar.cjs.map +1 -1
  241. package/build/components/copy-handler/index.cjs +1 -1
  242. package/build/components/copy-handler/index.cjs.map +1 -1
  243. package/build/components/date-format-picker/index.cjs +1 -1
  244. package/build/components/date-format-picker/index.cjs.map +1 -1
  245. package/build/components/default-block-appender/index.cjs +1 -1
  246. package/build/components/default-block-appender/index.cjs.map +1 -1
  247. package/build/components/dimension-control/index.cjs +1 -1
  248. package/build/components/dimension-control/index.cjs.map +1 -1
  249. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -1
  250. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +1 -1
  251. package/build/components/dimensions-tool/index.cjs +1 -1
  252. package/build/components/dimensions-tool/index.cjs.map +1 -1
  253. package/build/components/dimensions-tool/scale-tool.cjs +1 -1
  254. package/build/components/dimensions-tool/scale-tool.cjs.map +1 -1
  255. package/build/components/dimensions-tool/width-height-tool.cjs +1 -1
  256. package/build/components/dimensions-tool/width-height-tool.cjs.map +1 -1
  257. package/build/components/duotone-control/index.cjs +1 -1
  258. package/build/components/duotone-control/index.cjs.map +1 -1
  259. package/build/components/editable-text/index.cjs +1 -1
  260. package/build/components/editable-text/index.cjs.map +1 -1
  261. package/build/components/editor-styles/index.cjs +1 -1
  262. package/build/components/editor-styles/index.cjs.map +1 -1
  263. package/build/components/fit-text-size-warning/index.cjs +1 -1
  264. package/build/components/fit-text-size-warning/index.cjs.map +1 -1
  265. package/build/components/font-appearance-control/index.cjs +1 -1
  266. package/build/components/font-appearance-control/index.cjs.map +1 -1
  267. package/build/components/font-family/index.cjs +1 -1
  268. package/build/components/font-family/index.cjs.map +1 -1
  269. package/build/components/font-sizes/font-size-picker.cjs +1 -1
  270. package/build/components/font-sizes/font-size-picker.cjs.map +1 -1
  271. package/build/components/font-sizes/with-font-sizes.cjs +1 -1
  272. package/build/components/font-sizes/with-font-sizes.cjs.map +1 -1
  273. package/build/components/global-styles/advanced-panel.cjs +1 -1
  274. package/build/components/global-styles/advanced-panel.cjs.map +1 -1
  275. package/build/components/global-styles/background-panel.cjs +1 -1
  276. package/build/components/global-styles/background-panel.cjs.map +2 -2
  277. package/build/components/global-styles/border-panel.cjs +20 -43
  278. package/build/components/global-styles/border-panel.cjs.map +3 -3
  279. package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
  280. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +1 -1
  281. package/build/components/global-styles/color-panel.cjs +1 -1
  282. package/build/components/global-styles/color-panel.cjs.map +1 -1
  283. package/build/components/global-styles/dimensions-panel.cjs +1 -1
  284. package/build/components/global-styles/dimensions-panel.cjs.map +1 -1
  285. package/build/components/global-styles/filters-panel.cjs +1 -1
  286. package/build/components/global-styles/filters-panel.cjs.map +1 -1
  287. package/build/components/global-styles/image-settings-panel.cjs +1 -1
  288. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  289. package/build/components/global-styles/inheritance/index.cjs +1 -1
  290. package/build/components/global-styles/inheritance/index.cjs.map +1 -1
  291. package/build/components/global-styles/shadow-panel-components.cjs +1 -1
  292. package/build/components/global-styles/shadow-panel-components.cjs.map +1 -1
  293. package/build/components/global-styles/state-control-badges.cjs +1 -1
  294. package/build/components/global-styles/state-control-badges.cjs.map +1 -1
  295. package/build/components/global-styles/state-control.cjs +1 -1
  296. package/build/components/global-styles/state-control.cjs.map +1 -1
  297. package/build/components/global-styles/typography-panel.cjs +1 -1
  298. package/build/components/global-styles/typography-panel.cjs.map +1 -1
  299. package/build/components/grid/grid-item-movers.cjs +1 -1
  300. package/build/components/grid/grid-item-movers.cjs.map +1 -1
  301. package/build/components/grid/grid-item-resizer.cjs +1 -1
  302. package/build/components/grid/grid-item-resizer.cjs.map +1 -1
  303. package/build/components/grid/grid-visualizer.cjs +1 -1
  304. package/build/components/grid/grid-visualizer.cjs.map +1 -1
  305. package/build/components/height-control/index.cjs +1 -1
  306. package/build/components/height-control/index.cjs.map +1 -1
  307. package/build/components/html-element-control/index.cjs +1 -1
  308. package/build/components/html-element-control/index.cjs.map +1 -1
  309. package/build/components/iframe/index.cjs +1 -1
  310. package/build/components/iframe/index.cjs.map +2 -2
  311. package/build/components/image-editor/aspect-ratio-dropdown.cjs +1 -1
  312. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +1 -1
  313. package/build/components/image-editor/context.cjs +1 -1
  314. package/build/components/image-editor/context.cjs.map +1 -1
  315. package/build/components/image-editor/cropper.cjs +1 -1
  316. package/build/components/image-editor/cropper.cjs.map +1 -1
  317. package/build/components/image-editor/form-controls.cjs +1 -1
  318. package/build/components/image-editor/form-controls.cjs.map +1 -1
  319. package/build/components/image-editor/index.cjs +1 -1
  320. package/build/components/image-editor/index.cjs.map +1 -1
  321. package/build/components/image-editor/rotation-button.cjs +1 -1
  322. package/build/components/image-editor/rotation-button.cjs.map +1 -1
  323. package/build/components/image-editor/zoom-dropdown.cjs +1 -1
  324. package/build/components/image-editor/zoom-dropdown.cjs.map +1 -1
  325. package/build/components/image-size-control/index.cjs +1 -1
  326. package/build/components/image-size-control/index.cjs.map +1 -1
  327. package/build/components/inner-blocks/button-block-appender.cjs +1 -1
  328. package/build/components/inner-blocks/button-block-appender.cjs.map +1 -1
  329. package/build/components/inner-blocks/default-block-appender.cjs +1 -1
  330. package/build/components/inner-blocks/default-block-appender.cjs.map +1 -1
  331. package/build/components/inner-blocks/index.cjs +1 -1
  332. package/build/components/inner-blocks/index.cjs.map +1 -1
  333. package/build/components/inner-content/index.cjs +1 -1
  334. package/build/components/inner-content/index.cjs.map +1 -1
  335. package/build/components/inserter/block-patterns-explorer/index.cjs +1 -1
  336. package/build/components/inserter/block-patterns-explorer/index.cjs.map +1 -1
  337. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +1 -1
  338. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +1 -1
  339. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +1 -1
  340. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +1 -1
  341. package/build/components/inserter/block-patterns-tab/index.cjs +1 -1
  342. package/build/components/inserter/block-patterns-tab/index.cjs.map +1 -1
  343. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs +1 -1
  344. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +1 -1
  345. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs +1 -1
  346. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +1 -1
  347. package/build/components/inserter/block-types-tab.cjs +1 -1
  348. package/build/components/inserter/block-types-tab.cjs.map +1 -1
  349. package/build/components/inserter/category-tabs/index.cjs +1 -1
  350. package/build/components/inserter/category-tabs/index.cjs.map +1 -1
  351. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +1 -1
  352. package/build/components/inserter/index.cjs +1 -1
  353. package/build/components/inserter/index.cjs.map +1 -1
  354. package/build/components/inserter/library.cjs +1 -1
  355. package/build/components/inserter/library.cjs.map +1 -1
  356. package/build/components/inserter/media-tab/media-list.cjs +1 -1
  357. package/build/components/inserter/media-tab/media-list.cjs.map +1 -1
  358. package/build/components/inserter/media-tab/media-panel.cjs +1 -1
  359. package/build/components/inserter/media-tab/media-panel.cjs.map +1 -1
  360. package/build/components/inserter/media-tab/media-preview.cjs +1 -1
  361. package/build/components/inserter/media-tab/media-preview.cjs.map +1 -1
  362. package/build/components/inserter/media-tab/media-tab.cjs +1 -1
  363. package/build/components/inserter/media-tab/media-tab.cjs.map +1 -1
  364. package/build/components/inserter/media-tab/utils.cjs +1 -1
  365. package/build/components/inserter/media-tab/utils.cjs.map +1 -1
  366. package/build/components/inserter/menu.cjs +2 -2
  367. package/build/components/inserter/menu.cjs.map +3 -3
  368. package/build/components/inserter/mobile-tab-navigation.cjs +1 -1
  369. package/build/components/inserter/mobile-tab-navigation.cjs.map +1 -1
  370. package/build/components/inserter/no-results.cjs +1 -1
  371. package/build/components/inserter/no-results.cjs.map +1 -1
  372. package/build/components/inserter/panel.cjs +1 -1
  373. package/build/components/inserter/panel.cjs.map +1 -1
  374. package/build/components/inserter/preview-panel.cjs +1 -1
  375. package/build/components/inserter/preview-panel.cjs.map +1 -1
  376. package/build/components/inserter/quick-inserter.cjs +1 -1
  377. package/build/components/inserter/quick-inserter.cjs.map +1 -1
  378. package/build/components/inserter/search-results.cjs +1 -1
  379. package/build/components/inserter/search-results.cjs.map +1 -1
  380. package/build/components/inserter/tips.cjs +1 -1
  381. package/build/components/inserter/tips.cjs.map +1 -1
  382. package/build/components/inserter-draggable-blocks/index.cjs +1 -1
  383. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  384. package/build/components/inserter-list-item/index.cjs +1 -1
  385. package/build/components/inserter-list-item/index.cjs.map +1 -1
  386. package/build/components/inserter-listbox/group.cjs +1 -1
  387. package/build/components/inserter-listbox/group.cjs.map +1 -1
  388. package/build/components/inserter-listbox/index.cjs +1 -1
  389. package/build/components/inserter-listbox/index.cjs.map +1 -1
  390. package/build/components/inserter-listbox/item.cjs +1 -1
  391. package/build/components/inserter-listbox/item.cjs.map +1 -1
  392. package/build/components/inserter-listbox/row.cjs +1 -1
  393. package/build/components/inserter-listbox/row.cjs.map +1 -1
  394. package/build/components/inspector-controls/block-support-slot-container.cjs +1 -1
  395. package/build/components/inspector-controls/block-support-slot-container.cjs.map +1 -1
  396. package/build/components/inspector-controls/block-support-tools-panel.cjs +1 -1
  397. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +1 -1
  398. package/build/components/inspector-controls/fill.cjs +1 -1
  399. package/build/components/inspector-controls/fill.cjs.map +1 -1
  400. package/build/components/inspector-controls/groups.cjs +3 -1
  401. package/build/components/inspector-controls/groups.cjs.map +2 -2
  402. package/build/components/inspector-controls/index.cjs +1 -1
  403. package/build/components/inspector-controls/index.cjs.map +1 -1
  404. package/build/components/inspector-controls/last-item.cjs +1 -1
  405. package/build/components/inspector-controls/last-item.cjs.map +1 -1
  406. package/build/components/inspector-controls/list-view-content-popover.cjs +1 -1
  407. package/build/components/inspector-controls/list-view-content-popover.cjs.map +1 -1
  408. package/build/components/inspector-controls/slot.cjs +1 -1
  409. package/build/components/inspector-controls/slot.cjs.map +1 -1
  410. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs +1 -1
  411. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +1 -1
  412. package/build/components/inspector-controls-tabs/content-tab.cjs +1 -1
  413. package/build/components/inspector-controls-tabs/content-tab.cjs.map +1 -1
  414. package/build/components/inspector-controls-tabs/index.cjs +1 -1
  415. package/build/components/inspector-controls-tabs/index.cjs.map +1 -1
  416. package/build/components/inspector-controls-tabs/position-controls-panel.cjs +1 -1
  417. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +1 -1
  418. package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -1
  419. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +1 -1
  420. package/build/components/inspector-controls-tabs/styles-tab.cjs +2 -4
  421. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
  422. package/build/components/inspector-popover-header/index.cjs +1 -1
  423. package/build/components/inspector-popover-header/index.cjs.map +1 -1
  424. package/build/components/justify-content-control/index.cjs +1 -1
  425. package/build/components/justify-content-control/index.cjs.map +1 -1
  426. package/build/components/justify-content-control/ui.cjs +1 -1
  427. package/build/components/justify-content-control/ui.cjs.map +1 -1
  428. package/build/components/letter-spacing-control/index.cjs +1 -1
  429. package/build/components/letter-spacing-control/index.cjs.map +1 -1
  430. package/build/components/line-height-control/index.cjs +1 -1
  431. package/build/components/line-height-control/index.cjs.map +1 -1
  432. package/build/components/link-control/index.cjs +1 -1
  433. package/build/components/link-control/index.cjs.map +3 -3
  434. package/build/components/link-control/link-preview.cjs +1 -1
  435. package/build/components/link-control/link-preview.cjs.map +1 -1
  436. package/build/components/link-control/search-create-button.cjs +1 -1
  437. package/build/components/link-control/search-create-button.cjs.map +1 -1
  438. package/build/components/link-control/search-input.cjs +1 -1
  439. package/build/components/link-control/search-input.cjs.map +2 -2
  440. package/build/components/link-control/search-item.cjs +1 -1
  441. package/build/components/link-control/search-item.cjs.map +1 -1
  442. package/build/components/link-control/search-results.cjs +1 -1
  443. package/build/components/link-control/search-results.cjs.map +1 -1
  444. package/build/components/link-control/settings-drawer.cjs +1 -1
  445. package/build/components/link-control/settings-drawer.cjs.map +1 -1
  446. package/build/components/link-control/settings.cjs +1 -1
  447. package/build/components/link-control/settings.cjs.map +1 -1
  448. package/build/components/link-picker/link-picker.cjs +1 -1
  449. package/build/components/link-picker/link-picker.cjs.map +1 -1
  450. package/build/components/link-picker/link-preview.cjs +1 -1
  451. package/build/components/link-picker/link-preview.cjs.map +1 -1
  452. package/build/components/list-view/appender.cjs +1 -1
  453. package/build/components/list-view/appender.cjs.map +1 -1
  454. package/build/components/list-view/aria-referenced-text.cjs +1 -1
  455. package/build/components/list-view/aria-referenced-text.cjs.map +1 -1
  456. package/build/components/list-view/block-contents.cjs +1 -1
  457. package/build/components/list-view/block-contents.cjs.map +1 -1
  458. package/build/components/list-view/block-select-button.cjs +1 -1
  459. package/build/components/list-view/block-select-button.cjs.map +1 -1
  460. package/build/components/list-view/block.cjs +2 -2
  461. package/build/components/list-view/block.cjs.map +3 -3
  462. package/build/components/list-view/branch.cjs +1 -1
  463. package/build/components/list-view/branch.cjs.map +1 -1
  464. package/build/components/list-view/drop-indicator.cjs +1 -1
  465. package/build/components/list-view/drop-indicator.cjs.map +1 -1
  466. package/build/components/list-view/expander.cjs +1 -1
  467. package/build/components/list-view/expander.cjs.map +1 -1
  468. package/build/components/list-view/index.cjs +1 -1
  469. package/build/components/list-view/index.cjs.map +1 -1
  470. package/build/components/list-view/leaf.cjs +1 -1
  471. package/build/components/list-view/leaf.cjs.map +1 -1
  472. package/build/components/list-view/use-list-view-drop-zone.cjs.map +1 -1
  473. package/build/components/media-placeholder/index.cjs +1 -1
  474. package/build/components/media-placeholder/index.cjs.map +1 -1
  475. package/build/components/media-replace-flow/index.cjs +1 -1
  476. package/build/components/media-replace-flow/index.cjs.map +1 -1
  477. package/build/components/multi-selection-inspector/index.cjs +1 -1
  478. package/build/components/multi-selection-inspector/index.cjs.map +1 -1
  479. package/build/components/navigable-toolbar/index.cjs +1 -1
  480. package/build/components/navigable-toolbar/index.cjs.map +1 -1
  481. package/build/components/observe-typing/index.cjs +1 -1
  482. package/build/components/observe-typing/index.cjs.map +1 -1
  483. package/build/components/panel-color-settings/index.cjs +1 -1
  484. package/build/components/panel-color-settings/index.cjs.map +1 -1
  485. package/build/components/plain-text/index.cjs +1 -1
  486. package/build/components/plain-text/index.cjs.map +1 -1
  487. package/build/components/preset-input-control/custom-value-controls.cjs +1 -1
  488. package/build/components/preset-input-control/custom-value-controls.cjs.map +1 -1
  489. package/build/components/preset-input-control/index.cjs +1 -1
  490. package/build/components/preset-input-control/index.cjs.map +1 -1
  491. package/build/components/provider/block-refs-provider.cjs +1 -1
  492. package/build/components/provider/block-refs-provider.cjs.map +1 -1
  493. package/build/components/provider/index.cjs +21 -4
  494. package/build/components/provider/index.cjs.map +3 -3
  495. package/build/components/provider/with-registry-provider.cjs +1 -1
  496. package/build/components/provider/with-registry-provider.cjs.map +1 -1
  497. package/build/components/publish-date-time-picker/index.cjs +1 -1
  498. package/build/components/publish-date-time-picker/index.cjs.map +1 -1
  499. package/build/components/recursion-provider/index.cjs +1 -1
  500. package/build/components/recursion-provider/index.cjs.map +1 -1
  501. package/build/components/resizable-box-popover/index.cjs +1 -1
  502. package/build/components/resizable-box-popover/index.cjs.map +1 -1
  503. package/build/components/resolution-tool/index.cjs +1 -1
  504. package/build/components/resolution-tool/index.cjs.map +1 -1
  505. package/build/components/responsive-block-control/index.cjs +1 -1
  506. package/build/components/responsive-block-control/index.cjs.map +1 -1
  507. package/build/components/responsive-block-control/label.cjs +1 -1
  508. package/build/components/responsive-block-control/label.cjs.map +1 -1
  509. package/build/components/rich-text/content.cjs +1 -1
  510. package/build/components/rich-text/content.cjs.map +1 -1
  511. package/build/components/rich-text/event-listeners/input-rules.cjs +4 -2
  512. package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
  513. package/build/components/rich-text/format-edit.cjs +1 -1
  514. package/build/components/rich-text/format-edit.cjs.map +1 -1
  515. package/build/components/rich-text/format-toolbar/index.cjs +1 -1
  516. package/build/components/rich-text/format-toolbar/index.cjs.map +1 -1
  517. package/build/components/rich-text/format-toolbar-container.cjs +1 -1
  518. package/build/components/rich-text/format-toolbar-container.cjs.map +1 -1
  519. package/build/components/rich-text/get-rich-text-values.cjs +1 -1
  520. package/build/components/rich-text/get-rich-text-values.cjs.map +1 -1
  521. package/build/components/rich-text/index.cjs +1 -1
  522. package/build/components/rich-text/index.cjs.map +1 -1
  523. package/build/components/rich-text/multiline.cjs +1 -1
  524. package/build/components/rich-text/multiline.cjs.map +1 -1
  525. package/build/components/rich-text/toolbar-button.cjs +1 -1
  526. package/build/components/rich-text/toolbar-button.cjs.map +1 -1
  527. package/build/components/rich-text/utils.cjs +1 -1
  528. package/build/components/rich-text/utils.cjs.map +1 -1
  529. package/build/components/rich-text/with-deprecations.cjs +1 -1
  530. package/build/components/rich-text/with-deprecations.cjs.map +1 -1
  531. package/build/components/skip-to-selected-block/index.cjs +1 -1
  532. package/build/components/skip-to-selected-block/index.cjs.map +1 -1
  533. package/build/components/spacing-sizes-control/index.cjs +1 -1
  534. package/build/components/spacing-sizes-control/index.cjs.map +1 -1
  535. package/build/components/spacing-sizes-control/input-controls/axial.cjs +1 -1
  536. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +1 -1
  537. package/build/components/spacing-sizes-control/input-controls/separated.cjs +1 -1
  538. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +1 -1
  539. package/build/components/spacing-sizes-control/input-controls/single.cjs +1 -1
  540. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +1 -1
  541. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs +1 -1
  542. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +1 -1
  543. package/build/components/spacing-sizes-control/linked-button.cjs +1 -1
  544. package/build/components/spacing-sizes-control/linked-button.cjs.map +1 -1
  545. package/build/components/tabbed-sidebar/index.cjs +1 -1
  546. package/build/components/tabbed-sidebar/index.cjs.map +1 -1
  547. package/build/components/text-alignment-control/index.cjs +1 -1
  548. package/build/components/text-alignment-control/index.cjs.map +1 -1
  549. package/build/components/text-decoration-control/index.cjs +1 -1
  550. package/build/components/text-decoration-control/index.cjs.map +1 -1
  551. package/build/components/text-indent-control/index.cjs +1 -1
  552. package/build/components/text-indent-control/index.cjs.map +1 -1
  553. package/build/components/text-transform-control/index.cjs +1 -1
  554. package/build/components/text-transform-control/index.cjs.map +1 -1
  555. package/build/components/typewriter/index.cjs +1 -1
  556. package/build/components/typewriter/index.cjs.map +1 -1
  557. package/build/components/unit-control/index.cjs +1 -1
  558. package/build/components/unit-control/index.cjs.map +1 -1
  559. package/build/components/url-input/button.cjs +1 -1
  560. package/build/components/url-input/button.cjs.map +1 -1
  561. package/build/components/url-input/index.cjs +1 -1
  562. package/build/components/url-input/index.cjs.map +1 -1
  563. package/build/components/url-popover/image-url-input-ui.cjs +1 -1
  564. package/build/components/url-popover/image-url-input-ui.cjs.map +1 -1
  565. package/build/components/url-popover/index.cjs +1 -1
  566. package/build/components/url-popover/index.cjs.map +1 -1
  567. package/build/components/url-popover/link-editor.cjs +1 -1
  568. package/build/components/url-popover/link-editor.cjs.map +1 -1
  569. package/build/components/url-popover/link-viewer-url.cjs +1 -1
  570. package/build/components/url-popover/link-viewer-url.cjs.map +1 -1
  571. package/build/components/url-popover/link-viewer.cjs +1 -1
  572. package/build/components/url-popover/link-viewer.cjs.map +1 -1
  573. package/build/components/use-block-drop-zone/index.cjs.map +1 -1
  574. package/build/components/warning/index.cjs +1 -1
  575. package/build/components/warning/index.cjs.map +1 -1
  576. package/build/components/writing-flow/index.cjs +1 -1
  577. package/build/components/writing-flow/index.cjs.map +1 -1
  578. package/build/components/writing-flow/use-arrow-nav.cjs.map +1 -1
  579. package/build/components/writing-flow/use-tab-nav.cjs +13 -28
  580. package/build/components/writing-flow/use-tab-nav.cjs.map +4 -4
  581. package/build/components/writing-mode-control/index.cjs +1 -1
  582. package/build/components/writing-mode-control/index.cjs.map +1 -1
  583. package/build/hooks/align.cjs +1 -1
  584. package/build/hooks/align.cjs.map +1 -1
  585. package/build/hooks/allowed-blocks.cjs +1 -1
  586. package/build/hooks/allowed-blocks.cjs.map +1 -1
  587. package/build/hooks/anchor.cjs +1 -1
  588. package/build/hooks/anchor.cjs.map +1 -1
  589. package/build/hooks/auto-inspector-controls.cjs +1 -1
  590. package/build/hooks/auto-inspector-controls.cjs.map +1 -1
  591. package/build/hooks/background.cjs +1 -1
  592. package/build/hooks/background.cjs.map +1 -1
  593. package/build/hooks/block-bindings.cjs +1 -1
  594. package/build/hooks/block-bindings.cjs.map +1 -1
  595. package/build/hooks/block-fields/fields-dropdown-menu.cjs +1 -1
  596. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +1 -1
  597. package/build/hooks/block-fields/index.cjs +1 -1
  598. package/build/hooks/block-fields/index.cjs.map +1 -1
  599. package/build/hooks/block-fields/link/index.cjs +1 -1
  600. package/build/hooks/block-fields/link/index.cjs.map +1 -1
  601. package/build/hooks/block-fields/media/index.cjs +1 -1
  602. package/build/hooks/block-fields/media/index.cjs.map +1 -1
  603. package/build/hooks/block-fields/rich-text/index.cjs +1 -1
  604. package/build/hooks/block-fields/rich-text/index.cjs.map +1 -1
  605. package/build/hooks/block-hooks.cjs +1 -1
  606. package/build/hooks/block-hooks.cjs.map +1 -1
  607. package/build/hooks/block-style-variation.cjs +1 -1
  608. package/build/hooks/block-style-variation.cjs.map +1 -1
  609. package/build/hooks/border.cjs +3 -47
  610. package/build/hooks/border.cjs.map +3 -3
  611. package/build/hooks/custom-class-name.cjs +1 -1
  612. package/build/hooks/custom-class-name.cjs.map +1 -1
  613. package/build/hooks/custom-css.cjs +1 -1
  614. package/build/hooks/custom-css.cjs.map +1 -1
  615. package/build/hooks/dimensions.cjs +1 -1
  616. package/build/hooks/dimensions.cjs.map +1 -1
  617. package/build/hooks/duotone.cjs +1 -1
  618. package/build/hooks/duotone.cjs.map +1 -1
  619. package/build/hooks/elements.cjs +1 -1
  620. package/build/hooks/elements.cjs.map +1 -1
  621. package/build/hooks/fit-text.cjs +1 -1
  622. package/build/hooks/fit-text.cjs.map +1 -1
  623. package/build/hooks/font-size.cjs +1 -1
  624. package/build/hooks/font-size.cjs.map +1 -1
  625. package/build/hooks/grid-visualizer.cjs +1 -1
  626. package/build/hooks/grid-visualizer.cjs.map +2 -2
  627. package/build/hooks/layout-child.cjs +1 -1
  628. package/build/hooks/layout-child.cjs.map +1 -1
  629. package/build/hooks/layout.cjs +1 -1
  630. package/build/hooks/layout.cjs.map +1 -1
  631. package/build/hooks/line-height.cjs +1 -1
  632. package/build/hooks/line-height.cjs.map +1 -1
  633. package/build/hooks/list-view.cjs +1 -1
  634. package/build/hooks/list-view.cjs.map +1 -1
  635. package/build/hooks/position.cjs +2 -2
  636. package/build/hooks/position.cjs.map +3 -3
  637. package/build/hooks/spacing-visualizer.cjs +1 -1
  638. package/build/hooks/spacing-visualizer.cjs.map +1 -1
  639. package/build/hooks/states.cjs +1 -1
  640. package/build/hooks/states.cjs.map +1 -1
  641. package/build/hooks/style.cjs +3 -3
  642. package/build/hooks/style.cjs.map +3 -3
  643. package/build/hooks/text-align.cjs +1 -1
  644. package/build/hooks/text-align.cjs.map +1 -1
  645. package/build/hooks/typography.cjs +1 -1
  646. package/build/hooks/typography.cjs.map +1 -1
  647. package/build/hooks/utils.cjs +1 -1
  648. package/build/hooks/utils.cjs.map +1 -1
  649. package/build/layouts/constrained.cjs +1 -1
  650. package/build/layouts/constrained.cjs.map +1 -1
  651. package/build/layouts/flex.cjs +4 -1
  652. package/build/layouts/flex.cjs.map +3 -3
  653. package/build/layouts/grid.cjs +1 -1
  654. package/build/layouts/grid.cjs.map +1 -1
  655. package/build-module/autocompleters/block.mjs +1 -1
  656. package/build-module/autocompleters/block.mjs.map +1 -1
  657. package/build-module/components/alignment-control/index.mjs +1 -1
  658. package/build-module/components/alignment-control/index.mjs.map +1 -1
  659. package/build-module/components/alignment-control/ui.mjs +1 -1
  660. package/build-module/components/alignment-control/ui.mjs.map +1 -1
  661. package/build-module/components/autocomplete/index.mjs +1 -1
  662. package/build-module/components/autocomplete/index.mjs.map +1 -1
  663. package/build-module/components/background-image-control/index.mjs +19 -2
  664. package/build-module/components/background-image-control/index.mjs.map +3 -3
  665. package/build-module/components/block-alignment-control/index.mjs +1 -1
  666. package/build-module/components/block-alignment-control/index.mjs.map +1 -1
  667. package/build-module/components/block-alignment-control/ui.mjs +1 -1
  668. package/build-module/components/block-alignment-control/ui.mjs.map +1 -1
  669. package/build-module/components/block-alignment-matrix-control/index.mjs +1 -1
  670. package/build-module/components/block-alignment-matrix-control/index.mjs.map +1 -1
  671. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs +1 -1
  672. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +1 -1
  673. package/build-module/components/block-allowed-blocks/modal.mjs +1 -1
  674. package/build-module/components/block-allowed-blocks/modal.mjs.map +1 -1
  675. package/build-module/components/block-bindings/attribute-control.mjs +1 -1
  676. package/build-module/components/block-bindings/attribute-control.mjs.map +1 -1
  677. package/build-module/components/block-bindings/source-fields-list.mjs +1 -1
  678. package/build-module/components/block-bindings/source-fields-list.mjs.map +1 -1
  679. package/build-module/components/block-breadcrumb/index.mjs +1 -1
  680. package/build-module/components/block-breadcrumb/index.mjs.map +1 -1
  681. package/build-module/components/block-canvas/index.mjs +1 -1
  682. package/build-module/components/block-canvas/index.mjs.map +1 -1
  683. package/build-module/components/block-card/index.mjs +1 -1
  684. package/build-module/components/block-card/index.mjs.map +1 -1
  685. package/build-module/components/block-compare/block-view.mjs +1 -1
  686. package/build-module/components/block-compare/block-view.mjs.map +1 -1
  687. package/build-module/components/block-compare/index.mjs +1 -1
  688. package/build-module/components/block-compare/index.mjs.map +1 -1
  689. package/build-module/components/block-context/index.mjs +1 -1
  690. package/build-module/components/block-context/index.mjs.map +1 -1
  691. package/build-module/components/block-controls/fill.mjs +1 -1
  692. package/build-module/components/block-controls/fill.mjs.map +1 -1
  693. package/build-module/components/block-controls/index.mjs +1 -1
  694. package/build-module/components/block-controls/index.mjs.map +1 -1
  695. package/build-module/components/block-controls/slot.mjs +1 -1
  696. package/build-module/components/block-controls/slot.mjs.map +1 -1
  697. package/build-module/components/block-draggable/draggable-chip.mjs +1 -1
  698. package/build-module/components/block-draggable/draggable-chip.mjs.map +1 -1
  699. package/build-module/components/block-draggable/index.mjs +1 -1
  700. package/build-module/components/block-draggable/index.mjs.map +1 -1
  701. package/build-module/components/block-edit/edit.mjs +1 -1
  702. package/build-module/components/block-edit/edit.mjs.map +2 -2
  703. package/build-module/components/block-edit/index.mjs +1 -1
  704. package/build-module/components/block-edit/index.mjs.map +1 -1
  705. package/build-module/components/block-edit/multiple-usage-warning.mjs +1 -1
  706. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +1 -1
  707. package/build-module/components/block-edit-visually-button/index.mjs +1 -1
  708. package/build-module/components/block-edit-visually-button/index.mjs.map +1 -1
  709. package/build-module/components/block-full-height-alignment-control/index.mjs +1 -1
  710. package/build-module/components/block-full-height-alignment-control/index.mjs.map +1 -1
  711. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +1 -1
  712. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +1 -1
  713. package/build-module/components/block-heading-level-dropdown/index.mjs +1 -1
  714. package/build-module/components/block-heading-level-dropdown/index.mjs.map +1 -1
  715. package/build-module/components/block-icon/index.mjs +1 -1
  716. package/build-module/components/block-icon/index.mjs.map +1 -1
  717. package/build-module/components/block-inspector/edit-contents.mjs +1 -1
  718. package/build-module/components/block-inspector/edit-contents.mjs.map +1 -1
  719. package/build-module/components/block-inspector/index.mjs +8 -16
  720. package/build-module/components/block-inspector/index.mjs.map +3 -3
  721. package/build-module/components/block-keyboard-shortcuts/index.mjs +1 -1
  722. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +1 -1
  723. package/build-module/components/block-list/block-crash-warning.mjs +1 -1
  724. package/build-module/components/block-list/block-crash-warning.mjs.map +1 -1
  725. package/build-module/components/block-list/block-html.mjs +1 -1
  726. package/build-module/components/block-list/block-html.mjs.map +1 -1
  727. package/build-module/components/block-list/block-invalid-warning.mjs +1 -1
  728. package/build-module/components/block-list/block-invalid-warning.mjs.map +1 -1
  729. package/build-module/components/block-list/block.mjs +1 -1
  730. package/build-module/components/block-list/block.mjs.map +1 -1
  731. package/build-module/components/block-list/index.mjs +1 -1
  732. package/build-module/components/block-list/index.mjs.map +1 -1
  733. package/build-module/components/block-list/layout.mjs +1 -1
  734. package/build-module/components/block-list/layout.mjs.map +1 -1
  735. package/build-module/components/block-list/subdirectory-icon.mjs +1 -1
  736. package/build-module/components/block-list/subdirectory-icon.mjs.map +1 -1
  737. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs +17 -4
  738. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  739. package/build-module/components/block-list/zoom-out-separator.mjs +1 -1
  740. package/build-module/components/block-list/zoom-out-separator.mjs.map +1 -1
  741. package/build-module/components/block-list-appender/index.mjs +1 -1
  742. package/build-module/components/block-list-appender/index.mjs.map +1 -1
  743. package/build-module/components/block-lock/menu-item.mjs +1 -1
  744. package/build-module/components/block-lock/menu-item.mjs.map +1 -1
  745. package/build-module/components/block-lock/modal.mjs +1 -1
  746. package/build-module/components/block-lock/modal.mjs.map +1 -1
  747. package/build-module/components/block-lock/toolbar.mjs +1 -1
  748. package/build-module/components/block-lock/toolbar.mjs.map +1 -1
  749. package/build-module/components/block-manager/category.mjs +1 -1
  750. package/build-module/components/block-manager/category.mjs.map +1 -1
  751. package/build-module/components/block-manager/checklist.mjs +1 -1
  752. package/build-module/components/block-manager/checklist.mjs.map +1 -1
  753. package/build-module/components/block-manager/index.mjs +1 -1
  754. package/build-module/components/block-manager/index.mjs.map +1 -1
  755. package/build-module/components/block-mover/button.mjs +1 -1
  756. package/build-module/components/block-mover/button.mjs.map +1 -1
  757. package/build-module/components/block-mover/index.mjs +1 -1
  758. package/build-module/components/block-mover/index.mjs.map +1 -1
  759. package/build-module/components/block-navigation/dropdown.mjs +1 -1
  760. package/build-module/components/block-navigation/dropdown.mjs.map +1 -1
  761. package/build-module/components/block-parent-selector/index.mjs +1 -1
  762. package/build-module/components/block-parent-selector/index.mjs.map +1 -1
  763. package/build-module/components/block-pattern-setup/index.mjs +1 -1
  764. package/build-module/components/block-pattern-setup/index.mjs.map +1 -1
  765. package/build-module/components/block-pattern-setup/setup-toolbar.mjs +1 -1
  766. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +1 -1
  767. package/build-module/components/block-patterns-list/index.mjs +1 -1
  768. package/build-module/components/block-patterns-list/index.mjs.map +1 -1
  769. package/build-module/components/block-patterns-paging/index.mjs +1 -1
  770. package/build-module/components/block-patterns-paging/index.mjs.map +1 -1
  771. package/build-module/components/block-popover/cover.mjs +1 -1
  772. package/build-module/components/block-popover/cover.mjs.map +1 -1
  773. package/build-module/components/block-popover/drop-zone.mjs +1 -1
  774. package/build-module/components/block-popover/drop-zone.mjs.map +1 -1
  775. package/build-module/components/block-popover/inbetween.mjs +1 -1
  776. package/build-module/components/block-popover/inbetween.mjs.map +1 -1
  777. package/build-module/components/block-popover/index.mjs +1 -1
  778. package/build-module/components/block-popover/index.mjs.map +1 -1
  779. package/build-module/components/block-preview/auto.mjs +1 -1
  780. package/build-module/components/block-preview/auto.mjs.map +1 -1
  781. package/build-module/components/block-preview/index.mjs +1 -1
  782. package/build-module/components/block-preview/index.mjs.map +1 -1
  783. package/build-module/components/block-quick-navigation/index.mjs +1 -1
  784. package/build-module/components/block-quick-navigation/index.mjs.map +1 -1
  785. package/build-module/components/block-removal-warning-modal/index.mjs +1 -1
  786. package/build-module/components/block-removal-warning-modal/index.mjs.map +1 -1
  787. package/build-module/components/block-rename/modal.mjs +1 -1
  788. package/build-module/components/block-rename/modal.mjs.map +1 -1
  789. package/build-module/components/block-rename/rename-control.mjs +1 -1
  790. package/build-module/components/block-rename/rename-control.mjs.map +1 -1
  791. package/build-module/components/block-selection-clearer/index.mjs +1 -1
  792. package/build-module/components/block-selection-clearer/index.mjs.map +1 -1
  793. package/build-module/components/block-settings-menu/block-html-convert-button.mjs +1 -1
  794. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +1 -1
  795. package/build-module/components/block-settings-menu/block-mode-toggle.mjs +1 -1
  796. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +1 -1
  797. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs +1 -1
  798. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +1 -1
  799. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  800. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +1 -1
  801. package/build-module/components/block-settings-menu/index.mjs +1 -1
  802. package/build-module/components/block-settings-menu/index.mjs.map +1 -1
  803. package/build-module/components/block-settings-menu-controls/index.mjs +1 -1
  804. package/build-module/components/block-settings-menu-controls/index.mjs.map +1 -1
  805. package/build-module/components/block-styles/index.mjs +1 -1
  806. package/build-module/components/block-styles/index.mjs.map +1 -1
  807. package/build-module/components/block-styles/menu-items.mjs +1 -1
  808. package/build-module/components/block-styles/menu-items.mjs.map +1 -1
  809. package/build-module/components/block-switcher/block-styles-menu.mjs +1 -1
  810. package/build-module/components/block-switcher/block-styles-menu.mjs.map +1 -1
  811. package/build-module/components/block-switcher/block-transformations-menu.mjs +1 -1
  812. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +1 -1
  813. package/build-module/components/block-switcher/block-variation-transformations.mjs +1 -1
  814. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +1 -1
  815. package/build-module/components/block-switcher/index.mjs +1 -1
  816. package/build-module/components/block-switcher/index.mjs.map +1 -1
  817. package/build-module/components/block-switcher/pattern-transformations-menu.mjs +1 -1
  818. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +1 -1
  819. package/build-module/components/block-switcher/preview-block-popover.mjs +1 -1
  820. package/build-module/components/block-switcher/preview-block-popover.mjs.map +1 -1
  821. package/build-module/components/block-toolbar/block-styles-dropdown.mjs +1 -1
  822. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +1 -1
  823. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
  824. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +1 -1
  825. package/build-module/components/block-toolbar/change-design.mjs +1 -1
  826. package/build-module/components/block-toolbar/change-design.mjs.map +1 -1
  827. package/build-module/components/block-toolbar/edit-section-button.mjs +1 -1
  828. package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
  829. package/build-module/components/block-toolbar/index.mjs +1 -1
  830. package/build-module/components/block-toolbar/index.mjs.map +1 -1
  831. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs +1 -1
  832. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +1 -1
  833. package/build-module/components/block-toolbar/switch-section-style.mjs +1 -1
  834. package/build-module/components/block-toolbar/switch-section-style.mjs.map +1 -1
  835. package/build-module/components/block-tools/block-toolbar-popover.mjs +1 -1
  836. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +1 -1
  837. package/build-module/components/block-tools/empty-block-inserter.mjs +1 -1
  838. package/build-module/components/block-tools/empty-block-inserter.mjs.map +1 -1
  839. package/build-module/components/block-tools/index.mjs +1 -1
  840. package/build-module/components/block-tools/index.mjs.map +1 -1
  841. package/build-module/components/block-tools/insertion-point.mjs +1 -1
  842. package/build-module/components/block-tools/insertion-point.mjs.map +1 -1
  843. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs +1 -1
  844. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +1 -1
  845. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs +1 -1
  846. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +1 -1
  847. package/build-module/components/block-types-list/index.mjs +1 -1
  848. package/build-module/components/block-types-list/index.mjs.map +1 -1
  849. package/build-module/components/block-variation-picker/index.mjs +1 -1
  850. package/build-module/components/block-variation-picker/index.mjs.map +1 -1
  851. package/build-module/components/block-variation-transforms/index.mjs +1 -1
  852. package/build-module/components/block-variation-transforms/index.mjs.map +1 -1
  853. package/build-module/components/block-vertical-alignment-control/index.mjs +1 -1
  854. package/build-module/components/block-vertical-alignment-control/index.mjs.map +1 -1
  855. package/build-module/components/block-vertical-alignment-control/ui.mjs +1 -1
  856. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +1 -1
  857. package/build-module/components/block-visibility/constants.mjs.map +1 -1
  858. package/build-module/components/block-visibility/modal.mjs +1 -1
  859. package/build-module/components/block-visibility/modal.mjs.map +1 -1
  860. package/build-module/components/block-visibility/viewport-menu-item.mjs +1 -1
  861. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +1 -1
  862. package/build-module/components/block-visibility/viewport-toolbar.mjs +1 -1
  863. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +1 -1
  864. package/build-module/components/block-visibility/viewport-visibility-info.mjs +1 -1
  865. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +1 -1
  866. package/build-module/components/border-radius-control/index.mjs +1 -1
  867. package/build-module/components/border-radius-control/index.mjs.map +1 -1
  868. package/build-module/components/border-radius-control/linked-button.mjs +1 -1
  869. package/build-module/components/border-radius-control/linked-button.mjs.map +1 -1
  870. package/build-module/components/button-block-appender/index.mjs +1 -1
  871. package/build-module/components/button-block-appender/index.mjs.map +1 -1
  872. package/build-module/components/child-layout-control/index.mjs +1 -1
  873. package/build-module/components/child-layout-control/index.mjs.map +1 -1
  874. package/build-module/components/color-palette/control.mjs +1 -1
  875. package/build-module/components/color-palette/control.mjs.map +1 -1
  876. package/build-module/components/color-palette/with-color-context.mjs +1 -1
  877. package/build-module/components/color-palette/with-color-context.mjs.map +1 -1
  878. package/build-module/components/color-style-selector/index.mjs +1 -1
  879. package/build-module/components/color-style-selector/index.mjs.map +1 -1
  880. package/build-module/components/colors/with-colors.mjs +1 -1
  881. package/build-module/components/colors/with-colors.mjs.map +1 -1
  882. package/build-module/components/colors-gradients/control.mjs +1 -1
  883. package/build-module/components/colors-gradients/control.mjs.map +1 -1
  884. package/build-module/components/colors-gradients/dropdown.mjs +1 -1
  885. package/build-module/components/colors-gradients/dropdown.mjs.map +1 -1
  886. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +1 -1
  887. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +1 -1
  888. package/build-module/components/contrast-checker/index.mjs +1 -1
  889. package/build-module/components/contrast-checker/index.mjs.map +1 -1
  890. package/build-module/components/convert-to-group-buttons/index.mjs +1 -1
  891. package/build-module/components/convert-to-group-buttons/index.mjs.map +1 -1
  892. package/build-module/components/convert-to-group-buttons/toolbar.mjs +1 -1
  893. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +1 -1
  894. package/build-module/components/copy-handler/index.mjs +1 -1
  895. package/build-module/components/copy-handler/index.mjs.map +1 -1
  896. package/build-module/components/date-format-picker/index.mjs +1 -1
  897. package/build-module/components/date-format-picker/index.mjs.map +1 -1
  898. package/build-module/components/default-block-appender/index.mjs +1 -1
  899. package/build-module/components/default-block-appender/index.mjs.map +1 -1
  900. package/build-module/components/dimension-control/index.mjs +1 -1
  901. package/build-module/components/dimension-control/index.mjs.map +1 -1
  902. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -1
  903. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +1 -1
  904. package/build-module/components/dimensions-tool/index.mjs +1 -1
  905. package/build-module/components/dimensions-tool/index.mjs.map +1 -1
  906. package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
  907. package/build-module/components/dimensions-tool/scale-tool.mjs.map +1 -1
  908. package/build-module/components/dimensions-tool/width-height-tool.mjs +1 -1
  909. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +1 -1
  910. package/build-module/components/duotone-control/index.mjs +1 -1
  911. package/build-module/components/duotone-control/index.mjs.map +1 -1
  912. package/build-module/components/editable-text/index.mjs +1 -1
  913. package/build-module/components/editable-text/index.mjs.map +1 -1
  914. package/build-module/components/editor-styles/index.mjs +1 -1
  915. package/build-module/components/editor-styles/index.mjs.map +1 -1
  916. package/build-module/components/fit-text-size-warning/index.mjs +1 -1
  917. package/build-module/components/fit-text-size-warning/index.mjs.map +1 -1
  918. package/build-module/components/font-appearance-control/index.mjs +1 -1
  919. package/build-module/components/font-appearance-control/index.mjs.map +1 -1
  920. package/build-module/components/font-family/index.mjs +1 -1
  921. package/build-module/components/font-family/index.mjs.map +1 -1
  922. package/build-module/components/font-sizes/font-size-picker.mjs +1 -1
  923. package/build-module/components/font-sizes/font-size-picker.mjs.map +1 -1
  924. package/build-module/components/font-sizes/with-font-sizes.mjs +1 -1
  925. package/build-module/components/font-sizes/with-font-sizes.mjs.map +1 -1
  926. package/build-module/components/global-styles/advanced-panel.mjs +1 -1
  927. package/build-module/components/global-styles/advanced-panel.mjs.map +1 -1
  928. package/build-module/components/global-styles/background-panel.mjs +1 -1
  929. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  930. package/build-module/components/global-styles/border-panel.mjs +20 -43
  931. package/build-module/components/global-styles/border-panel.mjs.map +3 -3
  932. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +1 -1
  933. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +1 -1
  934. package/build-module/components/global-styles/color-panel.mjs +1 -1
  935. package/build-module/components/global-styles/color-panel.mjs.map +1 -1
  936. package/build-module/components/global-styles/dimensions-panel.mjs +1 -1
  937. package/build-module/components/global-styles/dimensions-panel.mjs.map +1 -1
  938. package/build-module/components/global-styles/filters-panel.mjs +1 -1
  939. package/build-module/components/global-styles/filters-panel.mjs.map +1 -1
  940. package/build-module/components/global-styles/image-settings-panel.mjs +1 -1
  941. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  942. package/build-module/components/global-styles/inheritance/index.mjs +1 -1
  943. package/build-module/components/global-styles/inheritance/index.mjs.map +1 -1
  944. package/build-module/components/global-styles/shadow-panel-components.mjs +1 -1
  945. package/build-module/components/global-styles/shadow-panel-components.mjs.map +1 -1
  946. package/build-module/components/global-styles/state-control-badges.mjs +1 -1
  947. package/build-module/components/global-styles/state-control-badges.mjs.map +1 -1
  948. package/build-module/components/global-styles/state-control.mjs +1 -1
  949. package/build-module/components/global-styles/state-control.mjs.map +1 -1
  950. package/build-module/components/global-styles/typography-panel.mjs +1 -1
  951. package/build-module/components/global-styles/typography-panel.mjs.map +1 -1
  952. package/build-module/components/grid/grid-item-movers.mjs +1 -1
  953. package/build-module/components/grid/grid-item-movers.mjs.map +1 -1
  954. package/build-module/components/grid/grid-item-resizer.mjs +1 -1
  955. package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
  956. package/build-module/components/grid/grid-visualizer.mjs +1 -1
  957. package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
  958. package/build-module/components/height-control/index.mjs +1 -1
  959. package/build-module/components/height-control/index.mjs.map +1 -1
  960. package/build-module/components/html-element-control/index.mjs +1 -1
  961. package/build-module/components/html-element-control/index.mjs.map +1 -1
  962. package/build-module/components/iframe/index.mjs +1 -1
  963. package/build-module/components/iframe/index.mjs.map +2 -2
  964. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs +1 -1
  965. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +1 -1
  966. package/build-module/components/image-editor/context.mjs +1 -1
  967. package/build-module/components/image-editor/context.mjs.map +1 -1
  968. package/build-module/components/image-editor/cropper.mjs +1 -1
  969. package/build-module/components/image-editor/cropper.mjs.map +1 -1
  970. package/build-module/components/image-editor/form-controls.mjs +1 -1
  971. package/build-module/components/image-editor/form-controls.mjs.map +1 -1
  972. package/build-module/components/image-editor/index.mjs +1 -1
  973. package/build-module/components/image-editor/index.mjs.map +1 -1
  974. package/build-module/components/image-editor/rotation-button.mjs +1 -1
  975. package/build-module/components/image-editor/rotation-button.mjs.map +1 -1
  976. package/build-module/components/image-editor/zoom-dropdown.mjs +1 -1
  977. package/build-module/components/image-editor/zoom-dropdown.mjs.map +1 -1
  978. package/build-module/components/image-size-control/index.mjs +1 -1
  979. package/build-module/components/image-size-control/index.mjs.map +1 -1
  980. package/build-module/components/inner-blocks/button-block-appender.mjs +1 -1
  981. package/build-module/components/inner-blocks/button-block-appender.mjs.map +1 -1
  982. package/build-module/components/inner-blocks/default-block-appender.mjs +1 -1
  983. package/build-module/components/inner-blocks/default-block-appender.mjs.map +1 -1
  984. package/build-module/components/inner-blocks/index.mjs +1 -1
  985. package/build-module/components/inner-blocks/index.mjs.map +1 -1
  986. package/build-module/components/inner-content/index.mjs +1 -1
  987. package/build-module/components/inner-content/index.mjs.map +1 -1
  988. package/build-module/components/inserter/block-patterns-explorer/index.mjs +1 -1
  989. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +1 -1
  990. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +1 -1
  991. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +1 -1
  992. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +1 -1
  993. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +1 -1
  994. package/build-module/components/inserter/block-patterns-tab/index.mjs +1 -1
  995. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +1 -1
  996. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs +1 -1
  997. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +1 -1
  998. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs +1 -1
  999. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +1 -1
  1000. package/build-module/components/inserter/block-types-tab.mjs +1 -1
  1001. package/build-module/components/inserter/block-types-tab.mjs.map +1 -1
  1002. package/build-module/components/inserter/category-tabs/index.mjs +1 -1
  1003. package/build-module/components/inserter/category-tabs/index.mjs.map +1 -1
  1004. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +1 -1
  1005. package/build-module/components/inserter/index.mjs +1 -1
  1006. package/build-module/components/inserter/index.mjs.map +1 -1
  1007. package/build-module/components/inserter/library.mjs +1 -1
  1008. package/build-module/components/inserter/library.mjs.map +1 -1
  1009. package/build-module/components/inserter/media-tab/media-list.mjs +1 -1
  1010. package/build-module/components/inserter/media-tab/media-list.mjs.map +1 -1
  1011. package/build-module/components/inserter/media-tab/media-panel.mjs +1 -1
  1012. package/build-module/components/inserter/media-tab/media-panel.mjs.map +1 -1
  1013. package/build-module/components/inserter/media-tab/media-preview.mjs +1 -1
  1014. package/build-module/components/inserter/media-tab/media-preview.mjs.map +1 -1
  1015. package/build-module/components/inserter/media-tab/media-tab.mjs +1 -1
  1016. package/build-module/components/inserter/media-tab/media-tab.mjs.map +1 -1
  1017. package/build-module/components/inserter/media-tab/utils.mjs +1 -1
  1018. package/build-module/components/inserter/media-tab/utils.mjs.map +1 -1
  1019. package/build-module/components/inserter/menu.mjs +2 -2
  1020. package/build-module/components/inserter/menu.mjs.map +3 -3
  1021. package/build-module/components/inserter/mobile-tab-navigation.mjs +1 -1
  1022. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +1 -1
  1023. package/build-module/components/inserter/no-results.mjs +1 -1
  1024. package/build-module/components/inserter/no-results.mjs.map +1 -1
  1025. package/build-module/components/inserter/panel.mjs +1 -1
  1026. package/build-module/components/inserter/panel.mjs.map +1 -1
  1027. package/build-module/components/inserter/preview-panel.mjs +1 -1
  1028. package/build-module/components/inserter/preview-panel.mjs.map +1 -1
  1029. package/build-module/components/inserter/quick-inserter.mjs +1 -1
  1030. package/build-module/components/inserter/quick-inserter.mjs.map +1 -1
  1031. package/build-module/components/inserter/search-results.mjs +1 -1
  1032. package/build-module/components/inserter/search-results.mjs.map +1 -1
  1033. package/build-module/components/inserter/tips.mjs +1 -1
  1034. package/build-module/components/inserter/tips.mjs.map +1 -1
  1035. package/build-module/components/inserter-draggable-blocks/index.mjs +1 -1
  1036. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  1037. package/build-module/components/inserter-list-item/index.mjs +1 -1
  1038. package/build-module/components/inserter-list-item/index.mjs.map +1 -1
  1039. package/build-module/components/inserter-listbox/group.mjs +1 -1
  1040. package/build-module/components/inserter-listbox/group.mjs.map +1 -1
  1041. package/build-module/components/inserter-listbox/index.mjs +1 -1
  1042. package/build-module/components/inserter-listbox/index.mjs.map +1 -1
  1043. package/build-module/components/inserter-listbox/item.mjs +1 -1
  1044. package/build-module/components/inserter-listbox/item.mjs.map +1 -1
  1045. package/build-module/components/inserter-listbox/row.mjs +1 -1
  1046. package/build-module/components/inserter-listbox/row.mjs.map +1 -1
  1047. package/build-module/components/inspector-controls/block-support-slot-container.mjs +1 -1
  1048. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +1 -1
  1049. package/build-module/components/inspector-controls/block-support-tools-panel.mjs +1 -1
  1050. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +1 -1
  1051. package/build-module/components/inspector-controls/fill.mjs +1 -1
  1052. package/build-module/components/inspector-controls/fill.mjs.map +1 -1
  1053. package/build-module/components/inspector-controls/groups.mjs +3 -1
  1054. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1055. package/build-module/components/inspector-controls/index.mjs +1 -1
  1056. package/build-module/components/inspector-controls/index.mjs.map +1 -1
  1057. package/build-module/components/inspector-controls/last-item.mjs +1 -1
  1058. package/build-module/components/inspector-controls/last-item.mjs.map +1 -1
  1059. package/build-module/components/inspector-controls/list-view-content-popover.mjs +1 -1
  1060. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +1 -1
  1061. package/build-module/components/inspector-controls/slot.mjs +1 -1
  1062. package/build-module/components/inspector-controls/slot.mjs.map +1 -1
  1063. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs +1 -1
  1064. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +1 -1
  1065. package/build-module/components/inspector-controls-tabs/content-tab.mjs +1 -1
  1066. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +1 -1
  1067. package/build-module/components/inspector-controls-tabs/index.mjs +1 -1
  1068. package/build-module/components/inspector-controls-tabs/index.mjs.map +1 -1
  1069. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs +1 -1
  1070. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +1 -1
  1071. package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -1
  1072. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +1 -1
  1073. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +2 -4
  1074. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +3 -3
  1075. package/build-module/components/inspector-popover-header/index.mjs +1 -1
  1076. package/build-module/components/inspector-popover-header/index.mjs.map +1 -1
  1077. package/build-module/components/justify-content-control/index.mjs +1 -1
  1078. package/build-module/components/justify-content-control/index.mjs.map +1 -1
  1079. package/build-module/components/justify-content-control/ui.mjs +1 -1
  1080. package/build-module/components/justify-content-control/ui.mjs.map +1 -1
  1081. package/build-module/components/letter-spacing-control/index.mjs +1 -1
  1082. package/build-module/components/letter-spacing-control/index.mjs.map +1 -1
  1083. package/build-module/components/line-height-control/index.mjs +1 -1
  1084. package/build-module/components/line-height-control/index.mjs.map +1 -1
  1085. package/build-module/components/link-control/index.mjs +1 -1
  1086. package/build-module/components/link-control/index.mjs.map +3 -3
  1087. package/build-module/components/link-control/link-preview.mjs +1 -1
  1088. package/build-module/components/link-control/link-preview.mjs.map +1 -1
  1089. package/build-module/components/link-control/search-create-button.mjs +1 -1
  1090. package/build-module/components/link-control/search-create-button.mjs.map +1 -1
  1091. package/build-module/components/link-control/search-input.mjs +1 -1
  1092. package/build-module/components/link-control/search-input.mjs.map +2 -2
  1093. package/build-module/components/link-control/search-item.mjs +1 -1
  1094. package/build-module/components/link-control/search-item.mjs.map +1 -1
  1095. package/build-module/components/link-control/search-results.mjs +1 -1
  1096. package/build-module/components/link-control/search-results.mjs.map +1 -1
  1097. package/build-module/components/link-control/settings-drawer.mjs +1 -1
  1098. package/build-module/components/link-control/settings-drawer.mjs.map +1 -1
  1099. package/build-module/components/link-control/settings.mjs +1 -1
  1100. package/build-module/components/link-control/settings.mjs.map +1 -1
  1101. package/build-module/components/link-picker/link-picker.mjs +1 -1
  1102. package/build-module/components/link-picker/link-picker.mjs.map +1 -1
  1103. package/build-module/components/link-picker/link-preview.mjs +1 -1
  1104. package/build-module/components/link-picker/link-preview.mjs.map +1 -1
  1105. package/build-module/components/list-view/appender.mjs +1 -1
  1106. package/build-module/components/list-view/appender.mjs.map +1 -1
  1107. package/build-module/components/list-view/aria-referenced-text.mjs +1 -1
  1108. package/build-module/components/list-view/aria-referenced-text.mjs.map +1 -1
  1109. package/build-module/components/list-view/block-contents.mjs +1 -1
  1110. package/build-module/components/list-view/block-contents.mjs.map +1 -1
  1111. package/build-module/components/list-view/block-select-button.mjs +1 -1
  1112. package/build-module/components/list-view/block-select-button.mjs.map +1 -1
  1113. package/build-module/components/list-view/block.mjs +2 -2
  1114. package/build-module/components/list-view/block.mjs.map +3 -3
  1115. package/build-module/components/list-view/branch.mjs +1 -1
  1116. package/build-module/components/list-view/branch.mjs.map +1 -1
  1117. package/build-module/components/list-view/drop-indicator.mjs +1 -1
  1118. package/build-module/components/list-view/drop-indicator.mjs.map +1 -1
  1119. package/build-module/components/list-view/expander.mjs +1 -1
  1120. package/build-module/components/list-view/expander.mjs.map +1 -1
  1121. package/build-module/components/list-view/index.mjs +1 -1
  1122. package/build-module/components/list-view/index.mjs.map +1 -1
  1123. package/build-module/components/list-view/leaf.mjs +1 -1
  1124. package/build-module/components/list-view/leaf.mjs.map +1 -1
  1125. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +1 -1
  1126. package/build-module/components/media-placeholder/index.mjs +1 -1
  1127. package/build-module/components/media-placeholder/index.mjs.map +1 -1
  1128. package/build-module/components/media-replace-flow/index.mjs +1 -1
  1129. package/build-module/components/media-replace-flow/index.mjs.map +1 -1
  1130. package/build-module/components/multi-selection-inspector/index.mjs +1 -1
  1131. package/build-module/components/multi-selection-inspector/index.mjs.map +1 -1
  1132. package/build-module/components/navigable-toolbar/index.mjs +1 -1
  1133. package/build-module/components/navigable-toolbar/index.mjs.map +1 -1
  1134. package/build-module/components/observe-typing/index.mjs +1 -1
  1135. package/build-module/components/observe-typing/index.mjs.map +1 -1
  1136. package/build-module/components/panel-color-settings/index.mjs +1 -1
  1137. package/build-module/components/panel-color-settings/index.mjs.map +1 -1
  1138. package/build-module/components/plain-text/index.mjs +1 -1
  1139. package/build-module/components/plain-text/index.mjs.map +1 -1
  1140. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -1
  1141. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +1 -1
  1142. package/build-module/components/preset-input-control/index.mjs +1 -1
  1143. package/build-module/components/preset-input-control/index.mjs.map +1 -1
  1144. package/build-module/components/provider/block-refs-provider.mjs +1 -1
  1145. package/build-module/components/provider/block-refs-provider.mjs.map +1 -1
  1146. package/build-module/components/provider/index.mjs +21 -4
  1147. package/build-module/components/provider/index.mjs.map +3 -3
  1148. package/build-module/components/provider/with-registry-provider.mjs +1 -1
  1149. package/build-module/components/provider/with-registry-provider.mjs.map +1 -1
  1150. package/build-module/components/publish-date-time-picker/index.mjs +1 -1
  1151. package/build-module/components/publish-date-time-picker/index.mjs.map +1 -1
  1152. package/build-module/components/recursion-provider/index.mjs +1 -1
  1153. package/build-module/components/recursion-provider/index.mjs.map +1 -1
  1154. package/build-module/components/resizable-box-popover/index.mjs +1 -1
  1155. package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
  1156. package/build-module/components/resolution-tool/index.mjs +1 -1
  1157. package/build-module/components/resolution-tool/index.mjs.map +1 -1
  1158. package/build-module/components/responsive-block-control/index.mjs +1 -1
  1159. package/build-module/components/responsive-block-control/index.mjs.map +1 -1
  1160. package/build-module/components/responsive-block-control/label.mjs +1 -1
  1161. package/build-module/components/responsive-block-control/label.mjs.map +1 -1
  1162. package/build-module/components/rich-text/content.mjs +1 -1
  1163. package/build-module/components/rich-text/content.mjs.map +1 -1
  1164. package/build-module/components/rich-text/event-listeners/input-rules.mjs +4 -2
  1165. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1166. package/build-module/components/rich-text/format-edit.mjs +1 -1
  1167. package/build-module/components/rich-text/format-edit.mjs.map +1 -1
  1168. package/build-module/components/rich-text/format-toolbar/index.mjs +1 -1
  1169. package/build-module/components/rich-text/format-toolbar/index.mjs.map +1 -1
  1170. package/build-module/components/rich-text/format-toolbar-container.mjs +1 -1
  1171. package/build-module/components/rich-text/format-toolbar-container.mjs.map +1 -1
  1172. package/build-module/components/rich-text/get-rich-text-values.mjs +1 -1
  1173. package/build-module/components/rich-text/get-rich-text-values.mjs.map +1 -1
  1174. package/build-module/components/rich-text/index.mjs +1 -1
  1175. package/build-module/components/rich-text/index.mjs.map +1 -1
  1176. package/build-module/components/rich-text/multiline.mjs +1 -1
  1177. package/build-module/components/rich-text/multiline.mjs.map +1 -1
  1178. package/build-module/components/rich-text/toolbar-button.mjs +1 -1
  1179. package/build-module/components/rich-text/toolbar-button.mjs.map +1 -1
  1180. package/build-module/components/rich-text/utils.mjs +1 -1
  1181. package/build-module/components/rich-text/utils.mjs.map +1 -1
  1182. package/build-module/components/rich-text/with-deprecations.mjs +1 -1
  1183. package/build-module/components/rich-text/with-deprecations.mjs.map +1 -1
  1184. package/build-module/components/skip-to-selected-block/index.mjs +1 -1
  1185. package/build-module/components/skip-to-selected-block/index.mjs.map +1 -1
  1186. package/build-module/components/spacing-sizes-control/index.mjs +1 -1
  1187. package/build-module/components/spacing-sizes-control/index.mjs.map +1 -1
  1188. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs +1 -1
  1189. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +1 -1
  1190. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs +1 -1
  1191. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +1 -1
  1192. package/build-module/components/spacing-sizes-control/input-controls/single.mjs +1 -1
  1193. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +1 -1
  1194. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs +1 -1
  1195. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +1 -1
  1196. package/build-module/components/spacing-sizes-control/linked-button.mjs +1 -1
  1197. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +1 -1
  1198. package/build-module/components/tabbed-sidebar/index.mjs +1 -1
  1199. package/build-module/components/tabbed-sidebar/index.mjs.map +1 -1
  1200. package/build-module/components/text-alignment-control/index.mjs +1 -1
  1201. package/build-module/components/text-alignment-control/index.mjs.map +1 -1
  1202. package/build-module/components/text-decoration-control/index.mjs +1 -1
  1203. package/build-module/components/text-decoration-control/index.mjs.map +1 -1
  1204. package/build-module/components/text-indent-control/index.mjs +1 -1
  1205. package/build-module/components/text-indent-control/index.mjs.map +1 -1
  1206. package/build-module/components/text-transform-control/index.mjs +1 -1
  1207. package/build-module/components/text-transform-control/index.mjs.map +1 -1
  1208. package/build-module/components/typewriter/index.mjs +1 -1
  1209. package/build-module/components/typewriter/index.mjs.map +1 -1
  1210. package/build-module/components/unit-control/index.mjs +1 -1
  1211. package/build-module/components/unit-control/index.mjs.map +1 -1
  1212. package/build-module/components/url-input/button.mjs +1 -1
  1213. package/build-module/components/url-input/button.mjs.map +1 -1
  1214. package/build-module/components/url-input/index.mjs +1 -1
  1215. package/build-module/components/url-input/index.mjs.map +1 -1
  1216. package/build-module/components/url-popover/image-url-input-ui.mjs +1 -1
  1217. package/build-module/components/url-popover/image-url-input-ui.mjs.map +1 -1
  1218. package/build-module/components/url-popover/index.mjs +1 -1
  1219. package/build-module/components/url-popover/index.mjs.map +1 -1
  1220. package/build-module/components/url-popover/link-editor.mjs +1 -1
  1221. package/build-module/components/url-popover/link-editor.mjs.map +1 -1
  1222. package/build-module/components/url-popover/link-viewer-url.mjs +1 -1
  1223. package/build-module/components/url-popover/link-viewer-url.mjs.map +1 -1
  1224. package/build-module/components/url-popover/link-viewer.mjs +1 -1
  1225. package/build-module/components/url-popover/link-viewer.mjs.map +1 -1
  1226. package/build-module/components/use-block-drop-zone/index.mjs.map +1 -1
  1227. package/build-module/components/warning/index.mjs +1 -1
  1228. package/build-module/components/warning/index.mjs.map +1 -1
  1229. package/build-module/components/writing-flow/index.mjs +1 -1
  1230. package/build-module/components/writing-flow/index.mjs.map +1 -1
  1231. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +1 -1
  1232. package/build-module/components/writing-flow/use-tab-nav.mjs +13 -28
  1233. package/build-module/components/writing-flow/use-tab-nav.mjs.map +4 -4
  1234. package/build-module/components/writing-mode-control/index.mjs +1 -1
  1235. package/build-module/components/writing-mode-control/index.mjs.map +1 -1
  1236. package/build-module/hooks/align.mjs +1 -1
  1237. package/build-module/hooks/align.mjs.map +1 -1
  1238. package/build-module/hooks/allowed-blocks.mjs +1 -1
  1239. package/build-module/hooks/allowed-blocks.mjs.map +1 -1
  1240. package/build-module/hooks/anchor.mjs +1 -1
  1241. package/build-module/hooks/anchor.mjs.map +1 -1
  1242. package/build-module/hooks/auto-inspector-controls.mjs +1 -1
  1243. package/build-module/hooks/auto-inspector-controls.mjs.map +1 -1
  1244. package/build-module/hooks/background.mjs +1 -1
  1245. package/build-module/hooks/background.mjs.map +1 -1
  1246. package/build-module/hooks/block-bindings.mjs +1 -1
  1247. package/build-module/hooks/block-bindings.mjs.map +1 -1
  1248. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs +1 -1
  1249. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +1 -1
  1250. package/build-module/hooks/block-fields/index.mjs +1 -1
  1251. package/build-module/hooks/block-fields/index.mjs.map +1 -1
  1252. package/build-module/hooks/block-fields/link/index.mjs +1 -1
  1253. package/build-module/hooks/block-fields/link/index.mjs.map +1 -1
  1254. package/build-module/hooks/block-fields/media/index.mjs +1 -1
  1255. package/build-module/hooks/block-fields/media/index.mjs.map +1 -1
  1256. package/build-module/hooks/block-fields/rich-text/index.mjs +1 -1
  1257. package/build-module/hooks/block-fields/rich-text/index.mjs.map +1 -1
  1258. package/build-module/hooks/block-hooks.mjs +1 -1
  1259. package/build-module/hooks/block-hooks.mjs.map +1 -1
  1260. package/build-module/hooks/block-style-variation.mjs +1 -1
  1261. package/build-module/hooks/block-style-variation.mjs.map +1 -1
  1262. package/build-module/hooks/border.mjs +2 -46
  1263. package/build-module/hooks/border.mjs.map +3 -3
  1264. package/build-module/hooks/custom-class-name.mjs +1 -1
  1265. package/build-module/hooks/custom-class-name.mjs.map +1 -1
  1266. package/build-module/hooks/custom-css.mjs +1 -1
  1267. package/build-module/hooks/custom-css.mjs.map +1 -1
  1268. package/build-module/hooks/dimensions.mjs +1 -1
  1269. package/build-module/hooks/dimensions.mjs.map +1 -1
  1270. package/build-module/hooks/duotone.mjs +1 -1
  1271. package/build-module/hooks/duotone.mjs.map +1 -1
  1272. package/build-module/hooks/elements.mjs +1 -1
  1273. package/build-module/hooks/elements.mjs.map +1 -1
  1274. package/build-module/hooks/fit-text.mjs +1 -1
  1275. package/build-module/hooks/fit-text.mjs.map +1 -1
  1276. package/build-module/hooks/font-size.mjs +1 -1
  1277. package/build-module/hooks/font-size.mjs.map +1 -1
  1278. package/build-module/hooks/grid-visualizer.mjs +1 -1
  1279. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1280. package/build-module/hooks/layout-child.mjs +1 -1
  1281. package/build-module/hooks/layout-child.mjs.map +1 -1
  1282. package/build-module/hooks/layout.mjs +1 -1
  1283. package/build-module/hooks/layout.mjs.map +1 -1
  1284. package/build-module/hooks/line-height.mjs +1 -1
  1285. package/build-module/hooks/line-height.mjs.map +1 -1
  1286. package/build-module/hooks/list-view.mjs +1 -1
  1287. package/build-module/hooks/list-view.mjs.map +1 -1
  1288. package/build-module/hooks/position.mjs +2 -2
  1289. package/build-module/hooks/position.mjs.map +3 -3
  1290. package/build-module/hooks/spacing-visualizer.mjs +1 -1
  1291. package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
  1292. package/build-module/hooks/states.mjs +1 -1
  1293. package/build-module/hooks/states.mjs.map +1 -1
  1294. package/build-module/hooks/style.mjs +4 -3
  1295. package/build-module/hooks/style.mjs.map +3 -3
  1296. package/build-module/hooks/text-align.mjs +1 -1
  1297. package/build-module/hooks/text-align.mjs.map +1 -1
  1298. package/build-module/hooks/typography.mjs +1 -1
  1299. package/build-module/hooks/typography.mjs.map +1 -1
  1300. package/build-module/hooks/utils.mjs +1 -1
  1301. package/build-module/hooks/utils.mjs.map +1 -1
  1302. package/build-module/layouts/constrained.mjs +1 -1
  1303. package/build-module/layouts/constrained.mjs.map +1 -1
  1304. package/build-module/layouts/flex.mjs +4 -1
  1305. package/build-module/layouts/flex.mjs.map +3 -3
  1306. package/build-module/layouts/grid.mjs +1 -1
  1307. package/build-module/layouts/grid.mjs.map +1 -1
  1308. package/build-style/content-rtl.css +14 -14
  1309. package/build-style/content.css +14 -14
  1310. package/build-style/style-rtl.css +15 -44
  1311. package/build-style/style.css +15 -44
  1312. package/build-types/components/block-context/index.d.ts.map +1 -1
  1313. package/build-types/components/block-visibility/constants.d.ts +1 -1
  1314. package/package.json +41 -43
  1315. package/src/autocompleters/test/block.js +1 -0
  1316. package/src/components/alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +30 -12
  1317. package/src/components/background-image-control/README.md +1 -1
  1318. package/src/components/background-image-control/{index.js → index.jsx} +32 -1
  1319. package/src/components/background-image-control/style.scss +5 -3
  1320. package/src/components/block-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +65 -10
  1321. package/src/components/block-edit/{edit.js → edit.jsx} +1 -1
  1322. package/src/components/block-icon/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +6 -2
  1323. package/src/components/block-inspector/{index.js → index.jsx} +8 -13
  1324. package/src/components/block-list/content.scss +4 -1
  1325. package/src/components/block-list/use-block-props/use-is-hovered.js +24 -5
  1326. package/src/components/block-manager/style.scss +2 -0
  1327. package/src/components/block-mover/test/mover-description.js +1 -0
  1328. package/src/components/block-styles/test/utils.js +1 -0
  1329. package/src/components/block-switcher/test/use-transformed.patterns.js +1 -0
  1330. package/src/components/block-switcher/test/utils.js +1 -0
  1331. package/src/components/block-toolbar/style.scss +1 -1
  1332. package/src/components/block-variation-picker/content.scss +5 -3
  1333. package/src/components/block-vertical-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +52 -8
  1334. package/src/components/block-visibility/constants.ts +1 -1
  1335. package/src/components/block-visibility/test/utils.js +2 -1
  1336. package/src/components/border-radius-control/test/utils.js +1 -0
  1337. package/src/components/button-block-appender/content.scss +1 -1
  1338. package/src/components/color-palette/test/__snapshots__/{control.js.snap → control.jsdom.test.jsx.snap} +6 -2
  1339. package/src/components/colors/test/utils.js +1 -0
  1340. package/src/components/dimensions-tool/test/utils.js +1 -0
  1341. package/src/components/font-sizes/test/fluid-utils.js +1 -0
  1342. package/src/components/font-sizes/test/utils.js +1 -0
  1343. package/src/components/global-styles/{background-panel.js → background-panel.jsx} +2 -2
  1344. package/src/components/global-styles/{border-panel.js → border-panel.jsx} +17 -40
  1345. package/src/components/global-styles/{image-settings-panel.js → image-settings-panel.jsx} +1 -1
  1346. package/src/components/global-styles/test/{background-panel.js → background-panel.jsdom.test.jsx} +1 -1
  1347. package/src/components/global-styles/test/{border-panel.js → border-panel.jsdom.test.jsx} +97 -0
  1348. package/src/components/global-styles/test/{inherited-value-context-core.js → inherited-value-context-core.jsdom.test.js} +1 -1
  1349. package/src/components/global-styles/test/{inherited-value-context.js → inherited-value-context.jsdom.test.jsx} +1 -1
  1350. package/src/components/global-styles/test/{typography-panel.js → typography-panel.jsdom.test.jsx} +1 -1
  1351. package/src/components/global-styles/test/typography-utils.js +1 -0
  1352. package/src/components/global-styles/test/utils.js +1 -0
  1353. package/src/components/iframe/{index.js → index.jsx} +3 -3
  1354. package/src/components/image-editor/test/index.js +1 -0
  1355. package/src/components/inserter/hooks/use-patterns-paging.js +1 -1
  1356. package/src/components/inserter/{menu.js → menu.jsx} +1 -1
  1357. package/src/components/inserter/style.scss +2 -6
  1358. package/src/components/inserter/test/get-appender-label.js +12 -11
  1359. package/src/components/inserter/test/search-items.js +1 -0
  1360. package/src/components/inserter-draggable-blocks/{index.js → index.jsx} +1 -1
  1361. package/src/components/inserter-list-item/style.scss +1 -0
  1362. package/src/components/inspector-controls/groups.js +2 -0
  1363. package/src/components/inspector-controls-tabs/{styles-tab.js → styles-tab.jsx} +1 -4
  1364. package/src/components/link-control/{index.js → index.jsx} +3 -0
  1365. package/src/components/link-control/{search-input.js → search-input.jsx} +1 -1
  1366. package/src/components/link-control/style.scss +1 -1
  1367. package/src/components/link-control/test/is-url-like.js +1 -0
  1368. package/src/components/list-view/{block.js → block.jsx} +5 -4
  1369. package/src/components/list-view/test/use-list-view-drop-zone.js +1 -0
  1370. package/src/components/list-view/test/utils.js +1 -0
  1371. package/src/components/list-view/use-list-view-drop-zone.js +1 -1
  1372. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +1 -0
  1373. package/src/components/preset-input-control/test/utils.js +1 -0
  1374. package/src/components/provider/{index.js → index.jsx} +38 -0
  1375. package/src/components/responsive-block-control/style.scss +1 -0
  1376. package/src/components/rich-text/content.scss +6 -0
  1377. package/src/components/rich-text/event-listeners/input-rules.js +7 -2
  1378. package/src/components/spacing-sizes-control/test/utils.js +1 -0
  1379. package/src/components/url-input/test/{index.js → index.jsdom.test.jsx} +9 -3
  1380. package/src/components/use-block-drop-zone/index.js +2 -2
  1381. package/src/components/use-block-drop-zone/test/index.js +1 -0
  1382. package/src/components/use-on-block-drop/test/index.js +28 -31
  1383. package/src/components/writing-flow/use-arrow-nav.js +2 -2
  1384. package/src/components/writing-flow/{use-tab-nav.js → use-tab-nav.jsx} +15 -42
  1385. package/src/hooks/block-hooks.scss +0 -9
  1386. package/src/hooks/{border.js → border.jsx} +0 -53
  1387. package/src/hooks/{grid-visualizer.js → grid-visualizer.jsx} +1 -1
  1388. package/src/hooks/{position.js → position.jsx} +1 -1
  1389. package/src/hooks/{style.js → style.jsx} +3 -2
  1390. package/src/hooks/test/allowed-blocks.js +1 -0
  1391. package/src/hooks/test/gap.js +1 -0
  1392. package/src/hooks/test/generate-fields-from-attributes.js +1 -0
  1393. package/src/hooks/test/generated-class-name.js +1 -0
  1394. package/src/hooks/test/metadata.js +1 -0
  1395. package/src/hooks/test/preset-round-trip.js +2 -0
  1396. package/src/hooks/test/{settings.js → settings.jsx} +1 -0
  1397. package/src/hooks/test/state-utils.js +1 -0
  1398. package/src/layouts/{flex.js → flex.jsx} +7 -0
  1399. package/src/layouts/test/{flex.js → flex.jsdom.test.jsx} +45 -0
  1400. package/src/layouts/test/utils.js +1 -0
  1401. package/src/store/test/array.js +1 -0
  1402. package/src/store/test/get-block-settings.js +1 -0
  1403. package/src/store/test/performance.js +2 -1
  1404. package/src/store/test/private-actions.js +1 -0
  1405. package/src/store/test/private-selectors.js +13 -3
  1406. package/src/store/test/reducer.js +37 -8
  1407. package/src/utils/test/block-bindings.js +1 -0
  1408. package/src/utils/test/color-values.js +1 -0
  1409. package/src/utils/test/format-font-style.js +1 -0
  1410. package/src/utils/test/format-font-weight.js +1 -0
  1411. package/src/utils/test/get-font-styles-and-weights.js +1 -0
  1412. package/src/utils/test/math.js +1 -0
  1413. package/src/utils/test/object.js +1 -0
  1414. package/src/utils/test/pasting.js +1 -0
  1415. package/src/utils/test/selection.js +1 -0
  1416. package/src/utils/test/sorting.js +1 -0
  1417. package/src/utils/test/transform-styles.js +2 -1
  1418. /package/src/autocompleters/{block.js → block.jsx} +0 -0
  1419. /package/src/components/alignment-control/{index.js → index.jsx} +0 -0
  1420. /package/src/components/alignment-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1421. /package/src/components/alignment-control/{ui.js → ui.jsx} +0 -0
  1422. /package/src/components/autocomplete/{index.js → index.jsx} +0 -0
  1423. /package/src/components/background-image-control/test/{index.js → index.jsdom.test.js} +0 -0
  1424. /package/src/components/block-alignment-control/{index.js → index.jsx} +0 -0
  1425. /package/src/components/block-alignment-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1426. /package/src/components/block-alignment-control/{ui.js → ui.jsx} +0 -0
  1427. /package/src/components/block-alignment-matrix-control/{index.js → index.jsx} +0 -0
  1428. /package/src/components/block-allowed-blocks/{allowed-blocks-control.js → allowed-blocks-control.jsx} +0 -0
  1429. /package/src/components/block-allowed-blocks/{modal.js → modal.jsx} +0 -0
  1430. /package/src/components/block-bindings/{attribute-control.js → attribute-control.jsx} +0 -0
  1431. /package/src/components/block-bindings/{source-fields-list.js → source-fields-list.jsx} +0 -0
  1432. /package/src/components/block-bindings/test/{use-block-bindings-utils.js → use-block-bindings-utils.jsdom.test.js} +0 -0
  1433. /package/src/components/block-breadcrumb/{index.js → index.jsx} +0 -0
  1434. /package/src/components/block-breadcrumb/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +0 -0
  1435. /package/src/components/block-breadcrumb/test/{index.js → index.jsdom.test.jsx} +0 -0
  1436. /package/src/components/block-canvas/{index.js → index.jsx} +0 -0
  1437. /package/src/components/block-card/{index.js → index.jsx} +0 -0
  1438. /package/src/components/block-compare/{block-view.js → block-view.jsx} +0 -0
  1439. /package/src/components/block-compare/{index.js → index.jsx} +0 -0
  1440. /package/src/components/block-compare/test/__snapshots__/{block-view.js.snap → block-view.jsdom.test.jsx.snap} +0 -0
  1441. /package/src/components/block-compare/test/{block-view.js → block-view.jsdom.test.jsx} +0 -0
  1442. /package/src/components/block-context/{index.js → index.jsx} +0 -0
  1443. /package/src/components/block-controls/{fill.js → fill.jsx} +0 -0
  1444. /package/src/components/block-controls/{index.js → index.jsx} +0 -0
  1445. /package/src/components/block-controls/{slot.js → slot.jsx} +0 -0
  1446. /package/src/components/block-controls/test/{index.js → index.jsdom.test.jsx} +0 -0
  1447. /package/src/components/block-draggable/{draggable-chip.js → draggable-chip.jsx} +0 -0
  1448. /package/src/components/block-draggable/{index.js → index.jsx} +0 -0
  1449. /package/src/components/block-edit/{index.js → index.jsx} +0 -0
  1450. /package/src/components/block-edit/{multiple-usage-warning.js → multiple-usage-warning.jsx} +0 -0
  1451. /package/src/components/block-edit/test/{edit.js → edit.jsdom.test.jsx} +0 -0
  1452. /package/src/components/block-edit-visually-button/{index.js → index.jsx} +0 -0
  1453. /package/src/components/block-full-height-alignment-control/{index.js → index.jsx} +0 -0
  1454. /package/src/components/block-heading-level-dropdown/{heading-level-icon.js → heading-level-icon.jsx} +0 -0
  1455. /package/src/components/block-heading-level-dropdown/{index.js → index.jsx} +0 -0
  1456. /package/src/components/block-icon/{index.js → index.jsx} +0 -0
  1457. /package/src/components/block-icon/test/{index.js → index.jsdom.test.jsx} +0 -0
  1458. /package/src/components/block-inspector/{edit-contents.js → edit-contents.jsx} +0 -0
  1459. /package/src/components/block-keyboard-shortcuts/{index.js → index.jsx} +0 -0
  1460. /package/src/components/block-list/{block-crash-warning.js → block-crash-warning.jsx} +0 -0
  1461. /package/src/components/block-list/{block-html.js → block-html.jsx} +0 -0
  1462. /package/src/components/block-list/{block-invalid-warning.js → block-invalid-warning.jsx} +0 -0
  1463. /package/src/components/block-list/{block.js → block.jsx} +0 -0
  1464. /package/src/components/block-list/{index.js → index.jsx} +0 -0
  1465. /package/src/components/block-list/{layout.js → layout.jsx} +0 -0
  1466. /package/src/components/block-list/{subdirectory-icon.js → subdirectory-icon.jsx} +0 -0
  1467. /package/src/components/block-list/{zoom-out-separator.js → zoom-out-separator.jsx} +0 -0
  1468. /package/src/components/block-list-appender/{index.js → index.jsx} +0 -0
  1469. /package/src/components/block-lock/{menu-item.js → menu-item.jsx} +0 -0
  1470. /package/src/components/block-lock/{modal.js → modal.jsx} +0 -0
  1471. /package/src/components/block-lock/{toolbar.js → toolbar.jsx} +0 -0
  1472. /package/src/components/block-manager/{category.js → category.jsx} +0 -0
  1473. /package/src/components/block-manager/{checklist.js → checklist.jsx} +0 -0
  1474. /package/src/components/block-manager/{index.js → index.jsx} +0 -0
  1475. /package/src/components/block-mover/{button.js → button.jsx} +0 -0
  1476. /package/src/components/block-mover/{index.js → index.jsx} +0 -0
  1477. /package/src/components/block-navigation/{dropdown.js → dropdown.jsx} +0 -0
  1478. /package/src/components/block-parent-selector/{index.js → index.jsx} +0 -0
  1479. /package/src/components/block-pattern-setup/{index.js → index.jsx} +0 -0
  1480. /package/src/components/block-pattern-setup/{setup-toolbar.js → setup-toolbar.jsx} +0 -0
  1481. /package/src/components/block-patterns-list/{index.js → index.jsx} +0 -0
  1482. /package/src/components/block-patterns-paging/{index.js → index.jsx} +0 -0
  1483. /package/src/components/block-popover/{cover.js → cover.jsx} +0 -0
  1484. /package/src/components/block-popover/{drop-zone.js → drop-zone.jsx} +0 -0
  1485. /package/src/components/block-popover/{inbetween.js → inbetween.jsx} +0 -0
  1486. /package/src/components/block-popover/{index.js → index.jsx} +0 -0
  1487. /package/src/components/block-preview/{auto.js → auto.jsx} +0 -0
  1488. /package/src/components/block-preview/{index.js → index.jsx} +0 -0
  1489. /package/src/components/block-preview/test/{index.js → index.jsdom.test.jsx} +0 -0
  1490. /package/src/components/block-quick-navigation/{index.js → index.jsx} +0 -0
  1491. /package/src/components/block-removal-warning-modal/{index.js → index.jsx} +0 -0
  1492. /package/src/components/block-rename/{modal.js → modal.jsx} +0 -0
  1493. /package/src/components/block-rename/{rename-control.js → rename-control.jsx} +0 -0
  1494. /package/src/components/block-selection-clearer/{index.js → index.jsx} +0 -0
  1495. /package/src/components/block-selection-clearer/test/{index.js → index.jsdom.test.jsx} +0 -0
  1496. /package/src/components/block-settings-menu/{block-html-convert-button.js → block-html-convert-button.jsx} +0 -0
  1497. /package/src/components/block-settings-menu/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1498. /package/src/components/block-settings-menu/{block-parent-selector-menu-item.js → block-parent-selector-menu-item.jsx} +0 -0
  1499. /package/src/components/block-settings-menu/{block-settings-dropdown.js → block-settings-dropdown.jsx} +0 -0
  1500. /package/src/components/block-settings-menu/{index.js → index.jsx} +0 -0
  1501. /package/src/components/block-settings-menu/test/{block-mode-toggle.js → block-mode-toggle.jsdom.test.jsx} +0 -0
  1502. /package/src/components/block-settings-menu-controls/{index.js → index.jsx} +0 -0
  1503. /package/src/components/block-styles/{index.js → index.jsx} +0 -0
  1504. /package/src/components/block-styles/{menu-items.js → menu-items.jsx} +0 -0
  1505. /package/src/components/block-switcher/{block-styles-menu.js → block-styles-menu.jsx} +0 -0
  1506. /package/src/components/block-switcher/{block-transformations-menu.js → block-transformations-menu.jsx} +0 -0
  1507. /package/src/components/block-switcher/{block-variation-transformations.js → block-variation-transformations.jsx} +0 -0
  1508. /package/src/components/block-switcher/{index.js → index.jsx} +0 -0
  1509. /package/src/components/block-switcher/{pattern-transformations-menu.js → pattern-transformations-menu.jsx} +0 -0
  1510. /package/src/components/block-switcher/{preview-block-popover.js → preview-block-popover.jsx} +0 -0
  1511. /package/src/components/block-switcher/test/{index.js → index.jsdom.test.jsx} +0 -0
  1512. /package/src/components/block-title/test/{index.js → index.jsdom.test.jsx} +0 -0
  1513. /package/src/components/block-toolbar/{block-styles-dropdown.js → block-styles-dropdown.jsx} +0 -0
  1514. /package/src/components/block-toolbar/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1515. /package/src/components/block-toolbar/{change-design.js → change-design.jsx} +0 -0
  1516. /package/src/components/block-toolbar/{edit-section-button.js → edit-section-button.jsx} +0 -0
  1517. /package/src/components/block-toolbar/{index.js → index.jsx} +0 -0
  1518. /package/src/components/block-toolbar/{pattern-overrides-dropdown.js → pattern-overrides-dropdown.jsx} +0 -0
  1519. /package/src/components/block-toolbar/{switch-section-style.js → switch-section-style.jsx} +0 -0
  1520. /package/src/components/block-toolbar/test/{block-toolbar-icon.js → block-toolbar-icon.jsdom.test.jsx} +0 -0
  1521. /package/src/components/block-tools/{block-toolbar-popover.js → block-toolbar-popover.jsx} +0 -0
  1522. /package/src/components/block-tools/{empty-block-inserter.js → empty-block-inserter.jsx} +0 -0
  1523. /package/src/components/block-tools/{index.js → index.jsx} +0 -0
  1524. /package/src/components/block-tools/{insertion-point.js → insertion-point.jsx} +0 -0
  1525. /package/src/components/block-tools/{zoom-out-mode-inserter-button.js → zoom-out-mode-inserter-button.jsx} +0 -0
  1526. /package/src/components/block-tools/{zoom-out-mode-inserters.js → zoom-out-mode-inserters.jsx} +0 -0
  1527. /package/src/components/block-types-list/{index.js → index.jsx} +0 -0
  1528. /package/src/components/block-variation-picker/{index.js → index.jsx} +0 -0
  1529. /package/src/components/block-variation-transforms/{index.js → index.jsx} +0 -0
  1530. /package/src/components/block-vertical-alignment-control/{index.js → index.jsx} +0 -0
  1531. /package/src/components/block-vertical-alignment-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1532. /package/src/components/block-vertical-alignment-control/{ui.js → ui.jsx} +0 -0
  1533. /package/src/components/block-visibility/{modal.js → modal.jsx} +0 -0
  1534. /package/src/components/block-visibility/test/{use-block-visibility.js → use-block-visibility.jsdom.test.js} +0 -0
  1535. /package/src/components/block-visibility/{viewport-menu-item.js → viewport-menu-item.jsx} +0 -0
  1536. /package/src/components/block-visibility/{viewport-toolbar.js → viewport-toolbar.jsx} +0 -0
  1537. /package/src/components/block-visibility/{viewport-visibility-info.js → viewport-visibility-info.jsx} +0 -0
  1538. /package/src/components/border-radius-control/{index.js → index.jsx} +0 -0
  1539. /package/src/components/border-radius-control/{linked-button.js → linked-button.jsx} +0 -0
  1540. /package/src/components/border-radius-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1541. /package/src/components/button-block-appender/{index.js → index.jsx} +0 -0
  1542. /package/src/components/child-layout-control/{index.js → index.jsx} +0 -0
  1543. /package/src/components/child-layout-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1544. /package/src/components/color-palette/{control.js → control.jsx} +0 -0
  1545. /package/src/components/color-palette/test/{control.js → control.jsdom.test.jsx} +0 -0
  1546. /package/src/components/color-palette/{with-color-context.js → with-color-context.jsx} +0 -0
  1547. /package/src/components/color-style-selector/{index.js → index.jsx} +0 -0
  1548. /package/src/components/colors/test/{with-colors.js → with-colors.jsdom.test.jsx} +0 -0
  1549. /package/src/components/colors/{with-colors.js → with-colors.jsx} +0 -0
  1550. /package/src/components/colors-gradients/{control.js → control.jsx} +0 -0
  1551. /package/src/components/colors-gradients/{dropdown.js → dropdown.jsx} +0 -0
  1552. /package/src/components/colors-gradients/{panel-color-gradient-settings.js → panel-color-gradient-settings.jsx} +0 -0
  1553. /package/src/components/colors-gradients/test/{control.js → control.jsdom.test.jsx} +0 -0
  1554. /package/src/components/contrast-checker/{index.js → index.jsx} +0 -0
  1555. /package/src/components/contrast-checker/test/{index.js → index.jsdom.test.jsx} +0 -0
  1556. /package/src/components/convert-to-group-buttons/{index.js → index.jsx} +0 -0
  1557. /package/src/components/convert-to-group-buttons/{toolbar.js → toolbar.jsx} +0 -0
  1558. /package/src/components/copy-handler/{index.js → index.jsx} +0 -0
  1559. /package/src/components/date-format-picker/{index.js → index.jsx} +0 -0
  1560. /package/src/components/default-block-appender/{index.js → index.jsx} +0 -0
  1561. /package/src/components/default-block-appender/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +0 -0
  1562. /package/src/components/default-block-appender/test/{index.js → index.jsdom.test.jsx} +0 -0
  1563. /package/src/components/dimension-control/{index.js → index.jsx} +0 -0
  1564. /package/src/components/dimensions-tool/{aspect-ratio-tool.js → aspect-ratio-tool.jsx} +0 -0
  1565. /package/src/components/dimensions-tool/{index.js → index.jsx} +0 -0
  1566. /package/src/components/dimensions-tool/{scale-tool.js → scale-tool.jsx} +0 -0
  1567. /package/src/components/dimensions-tool/test/{index.js → index.jsdom.test.jsx} +0 -0
  1568. /package/src/components/dimensions-tool/{width-height-tool.js → width-height-tool.jsx} +0 -0
  1569. /package/src/components/duotone-control/{index.js → index.jsx} +0 -0
  1570. /package/src/components/duotone-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1571. /package/src/components/editable-text/{index.js → index.jsx} +0 -0
  1572. /package/src/components/editor-styles/{index.js → index.jsx} +0 -0
  1573. /package/src/components/fit-text-size-warning/{index.js → index.jsx} +0 -0
  1574. /package/src/components/font-appearance-control/{index.js → index.jsx} +0 -0
  1575. /package/src/components/font-family/{index.js → index.jsx} +0 -0
  1576. /package/src/components/font-sizes/{font-size-picker.js → font-size-picker.jsx} +0 -0
  1577. /package/src/components/font-sizes/{with-font-sizes.js → with-font-sizes.jsx} +0 -0
  1578. /package/src/components/global-styles/{advanced-panel.js → advanced-panel.jsx} +0 -0
  1579. /package/src/components/global-styles/{color-gradient-dropdown-item.js → color-gradient-dropdown-item.jsx} +0 -0
  1580. /package/src/components/global-styles/{color-panel.js → color-panel.jsx} +0 -0
  1581. /package/src/components/global-styles/{dimensions-panel.js → dimensions-panel.jsx} +0 -0
  1582. /package/src/components/global-styles/{filters-panel.js → filters-panel.jsx} +0 -0
  1583. /package/src/components/global-styles/inheritance/{index.js → index.jsx} +0 -0
  1584. /package/src/components/global-styles/inheritance/test/{index.js → index.jsdom.test.jsx} +0 -0
  1585. /package/src/components/global-styles/{shadow-panel-components.js → shadow-panel-components.jsx} +0 -0
  1586. /package/src/components/global-styles/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1587. /package/src/components/global-styles/{state-control.js → state-control.jsx} +0 -0
  1588. /package/src/components/global-styles/test/{color-panel.js → color-panel.jsdom.test.jsx} +0 -0
  1589. /package/src/components/global-styles/test/{dimensions-panel.js → dimensions-panel.jsdom.test.jsx} +0 -0
  1590. /package/src/components/global-styles/test/{filters-panel.js → filters-panel.jsdom.test.jsx} +0 -0
  1591. /package/src/components/global-styles/test/{state-control-badges.js → state-control-badges.jsdom.test.jsx} +0 -0
  1592. /package/src/components/global-styles/test/{typography-panel-core.js → typography-panel-core.jsdom.test.jsx} +0 -0
  1593. /package/src/components/global-styles/{typography-panel.js → typography-panel.jsx} +0 -0
  1594. /package/src/components/grid/{grid-item-movers.js → grid-item-movers.jsx} +0 -0
  1595. /package/src/components/grid/{grid-item-resizer.js → grid-item-resizer.jsx} +0 -0
  1596. /package/src/components/grid/{grid-visualizer.js → grid-visualizer.jsx} +0 -0
  1597. /package/src/components/height-control/{index.js → index.jsx} +0 -0
  1598. /package/src/components/html-element-control/{index.js → index.jsx} +0 -0
  1599. /package/src/components/image-editor/{aspect-ratio-dropdown.js → aspect-ratio-dropdown.jsx} +0 -0
  1600. /package/src/components/image-editor/{context.js → context.jsx} +0 -0
  1601. /package/src/components/image-editor/{cropper.js → cropper.jsx} +0 -0
  1602. /package/src/components/image-editor/{form-controls.js → form-controls.jsx} +0 -0
  1603. /package/src/components/image-editor/{index.js → index.jsx} +0 -0
  1604. /package/src/components/image-editor/{rotation-button.js → rotation-button.jsx} +0 -0
  1605. /package/src/components/image-editor/{zoom-dropdown.js → zoom-dropdown.jsx} +0 -0
  1606. /package/src/components/image-size-control/{index.js → index.jsx} +0 -0
  1607. /package/src/components/image-size-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1608. /package/src/components/inner-blocks/{button-block-appender.js → button-block-appender.jsx} +0 -0
  1609. /package/src/components/inner-blocks/{default-block-appender.js → default-block-appender.jsx} +0 -0
  1610. /package/src/components/inner-blocks/{index.js → index.jsx} +0 -0
  1611. /package/src/components/inner-blocks/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +0 -0
  1612. /package/src/components/inner-blocks/test/{index.js → index.jsdom.test.jsx} +0 -0
  1613. /package/src/components/inner-content/{index.js → index.jsx} +0 -0
  1614. /package/src/components/inner-content/test/{index.js → index.jsdom.test.jsx} +0 -0
  1615. /package/src/components/inserter/block-patterns-explorer/{index.js → index.jsx} +0 -0
  1616. /package/src/components/inserter/block-patterns-explorer/{pattern-explorer-sidebar.js → pattern-explorer-sidebar.jsx} +0 -0
  1617. /package/src/components/inserter/block-patterns-explorer/{pattern-list.js → pattern-list.jsx} +0 -0
  1618. /package/src/components/inserter/block-patterns-tab/{index.js → index.jsx} +0 -0
  1619. /package/src/components/inserter/block-patterns-tab/{pattern-category-previews.js → pattern-category-previews.jsx} +0 -0
  1620. /package/src/components/inserter/block-patterns-tab/{patterns-filter.js → patterns-filter.jsx} +0 -0
  1621. /package/src/components/inserter/{block-types-tab.js → block-types-tab.jsx} +0 -0
  1622. /package/src/components/inserter/category-tabs/{index.js → index.jsx} +0 -0
  1623. /package/src/components/inserter/{index.js → index.jsx} +0 -0
  1624. /package/src/components/inserter/{library.js → library.jsx} +0 -0
  1625. /package/src/components/inserter/media-tab/{media-list.js → media-list.jsx} +0 -0
  1626. /package/src/components/inserter/media-tab/{media-panel.js → media-panel.jsx} +0 -0
  1627. /package/src/components/inserter/media-tab/{media-preview.js → media-preview.jsx} +0 -0
  1628. /package/src/components/inserter/media-tab/{media-tab.js → media-tab.jsx} +0 -0
  1629. /package/src/components/inserter/media-tab/test/{hooks.js → hooks.jsdom.test.js} +0 -0
  1630. /package/src/components/inserter/media-tab/test/{media-panel.js → media-panel.jsdom.test.jsx} +0 -0
  1631. /package/src/components/inserter/media-tab/{utils.js → utils.jsx} +0 -0
  1632. /package/src/components/inserter/{mobile-tab-navigation.js → mobile-tab-navigation.jsx} +0 -0
  1633. /package/src/components/inserter/{no-results.js → no-results.jsx} +0 -0
  1634. /package/src/components/inserter/{panel.js → panel.jsx} +0 -0
  1635. /package/src/components/inserter/{preview-panel.js → preview-panel.jsx} +0 -0
  1636. /package/src/components/inserter/{quick-inserter.js → quick-inserter.jsx} +0 -0
  1637. /package/src/components/inserter/{search-results.js → search-results.jsx} +0 -0
  1638. /package/src/components/inserter/{tips.js → tips.jsx} +0 -0
  1639. /package/src/components/inserter-list-item/{index.js → index.jsx} +0 -0
  1640. /package/src/components/inserter-listbox/{group.js → group.jsx} +0 -0
  1641. /package/src/components/inserter-listbox/{index.js → index.jsx} +0 -0
  1642. /package/src/components/inserter-listbox/{item.js → item.jsx} +0 -0
  1643. /package/src/components/inserter-listbox/{row.js → row.jsx} +0 -0
  1644. /package/src/components/inspector-controls/{block-support-slot-container.js → block-support-slot-container.jsx} +0 -0
  1645. /package/src/components/inspector-controls/{block-support-tools-panel.js → block-support-tools-panel.jsx} +0 -0
  1646. /package/src/components/inspector-controls/{fill.js → fill.jsx} +0 -0
  1647. /package/src/components/inspector-controls/{index.js → index.jsx} +0 -0
  1648. /package/src/components/inspector-controls/{last-item.js → last-item.jsx} +0 -0
  1649. /package/src/components/inspector-controls/{list-view-content-popover.js → list-view-content-popover.jsx} +0 -0
  1650. /package/src/components/inspector-controls/{slot.js → slot.jsx} +0 -0
  1651. /package/src/components/inspector-controls-tabs/{advanced-controls-panel.js → advanced-controls-panel.jsx} +0 -0
  1652. /package/src/components/inspector-controls-tabs/{content-tab.js → content-tab.jsx} +0 -0
  1653. /package/src/components/inspector-controls-tabs/{index.js → index.jsx} +0 -0
  1654. /package/src/components/inspector-controls-tabs/{position-controls-panel.js → position-controls-panel.jsx} +0 -0
  1655. /package/src/components/inspector-controls-tabs/{settings-tab.js → settings-tab.jsx} +0 -0
  1656. /package/src/components/inspector-popover-header/{index.js → index.jsx} +0 -0
  1657. /package/src/components/justify-content-control/{index.js → index.jsx} +0 -0
  1658. /package/src/components/justify-content-control/{ui.js → ui.jsx} +0 -0
  1659. /package/src/components/letter-spacing-control/{index.js → index.jsx} +0 -0
  1660. /package/src/components/line-height-control/{index.js → index.jsx} +0 -0
  1661. /package/src/components/line-height-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1662. /package/src/components/link-control/{link-preview.js → link-preview.jsx} +0 -0
  1663. /package/src/components/link-control/{search-create-button.js → search-create-button.jsx} +0 -0
  1664. /package/src/components/link-control/{search-item.js → search-item.jsx} +0 -0
  1665. /package/src/components/link-control/{search-results.js → search-results.jsx} +0 -0
  1666. /package/src/components/link-control/{settings-drawer.js → settings-drawer.jsx} +0 -0
  1667. /package/src/components/link-control/{settings.js → settings.jsx} +0 -0
  1668. /package/src/components/link-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1669. /package/src/components/link-control/test/{url-normalization.test.js → url-normalization.jsdom.test.jsx} +0 -0
  1670. /package/src/components/link-picker/{link-picker.js → link-picker.jsx} +0 -0
  1671. /package/src/components/link-picker/{link-preview.js → link-preview.jsx} +0 -0
  1672. /package/src/components/link-picker/test/{index.js → index.jsdom.test.jsx} +0 -0
  1673. /package/src/components/list-view/{appender.js → appender.jsx} +0 -0
  1674. /package/src/components/list-view/{aria-referenced-text.js → aria-referenced-text.jsx} +0 -0
  1675. /package/src/components/list-view/{block-contents.js → block-contents.jsx} +0 -0
  1676. /package/src/components/list-view/{block-select-button.js → block-select-button.jsx} +0 -0
  1677. /package/src/components/list-view/{branch.js → branch.jsx} +0 -0
  1678. /package/src/components/list-view/{drop-indicator.js → drop-indicator.jsx} +0 -0
  1679. /package/src/components/list-view/{expander.js → expander.jsx} +0 -0
  1680. /package/src/components/list-view/{index.js → index.jsx} +0 -0
  1681. /package/src/components/list-view/{leaf.js → leaf.jsx} +0 -0
  1682. /package/src/components/media-placeholder/{index.js → index.jsx} +0 -0
  1683. /package/src/components/media-placeholder/test/{index.js → index.jsdom.test.jsx} +0 -0
  1684. /package/src/components/media-replace-flow/{index.js → index.jsx} +0 -0
  1685. /package/src/components/media-replace-flow/test/{index.js → index.jsdom.test.jsx} +0 -0
  1686. /package/src/components/multi-selection-inspector/{index.js → index.jsx} +0 -0
  1687. /package/src/components/navigable-toolbar/{index.js → index.jsx} +0 -0
  1688. /package/src/components/observe-typing/{index.js → index.jsx} +0 -0
  1689. /package/src/components/panel-color-settings/{index.js → index.jsx} +0 -0
  1690. /package/src/components/panel-color-settings/test/{index.js → index.jsdom.test.jsx} +0 -0
  1691. /package/src/components/plain-text/{index.js → index.jsx} +0 -0
  1692. /package/src/components/preset-input-control/{custom-value-controls.js → custom-value-controls.jsx} +0 -0
  1693. /package/src/components/preset-input-control/{index.js → index.jsx} +0 -0
  1694. /package/src/components/preset-input-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1695. /package/src/components/provider/{block-refs-provider.js → block-refs-provider.jsx} +0 -0
  1696. /package/src/components/provider/test/{experimental-provider.js → experimental-provider.jsdom.test.jsx} +0 -0
  1697. /package/src/components/provider/test/{use-block-sync.js → use-block-sync.jsdom.test.jsx} +0 -0
  1698. /package/src/components/provider/{with-registry-provider.js → with-registry-provider.jsx} +0 -0
  1699. /package/src/components/publish-date-time-picker/{index.js → index.jsx} +0 -0
  1700. /package/src/components/recursion-provider/{index.js → index.jsx} +0 -0
  1701. /package/src/components/recursion-provider/test/{index.js → index.jsdom.test.jsx} +0 -0
  1702. /package/src/components/resizable-box-popover/{index.js → index.jsx} +0 -0
  1703. /package/src/components/resolution-tool/{index.js → index.jsx} +0 -0
  1704. /package/src/components/responsive-block-control/{index.js → index.jsx} +0 -0
  1705. /package/src/components/responsive-block-control/{label.js → label.jsx} +0 -0
  1706. /package/src/components/responsive-block-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1707. /package/src/components/rich-text/{content.js → content.jsx} +0 -0
  1708. /package/src/components/rich-text/{format-edit.js → format-edit.jsx} +0 -0
  1709. /package/src/components/rich-text/format-toolbar/{index.js → index.jsx} +0 -0
  1710. /package/src/components/rich-text/{format-toolbar-container.js → format-toolbar-container.jsx} +0 -0
  1711. /package/src/components/rich-text/{get-rich-text-values.js → get-rich-text-values.jsx} +0 -0
  1712. /package/src/components/rich-text/{index.js → index.jsx} +0 -0
  1713. /package/src/components/rich-text/{multiline.js → multiline.jsx} +0 -0
  1714. /package/src/components/rich-text/{toolbar-button.js → toolbar-button.jsx} +0 -0
  1715. /package/src/components/rich-text/{utils.js → utils.jsx} +0 -0
  1716. /package/src/components/rich-text/{with-deprecations.js → with-deprecations.jsx} +0 -0
  1717. /package/src/components/skip-to-selected-block/{index.js → index.jsx} +0 -0
  1718. /package/src/components/spacing-sizes-control/{index.js → index.jsx} +0 -0
  1719. /package/src/components/spacing-sizes-control/input-controls/{axial.js → axial.jsx} +0 -0
  1720. /package/src/components/spacing-sizes-control/input-controls/{separated.js → separated.jsx} +0 -0
  1721. /package/src/components/spacing-sizes-control/input-controls/{single.js → single.jsx} +0 -0
  1722. /package/src/components/spacing-sizes-control/input-controls/{spacing-input-control.js → spacing-input-control.jsx} +0 -0
  1723. /package/src/components/spacing-sizes-control/{linked-button.js → linked-button.jsx} +0 -0
  1724. /package/src/components/spacing-sizes-control/test/{index.js → index.jsdom.test.jsx} +0 -0
  1725. /package/src/components/tabbed-sidebar/{index.js → index.jsx} +0 -0
  1726. /package/src/components/text-alignment-control/{index.js → index.jsx} +0 -0
  1727. /package/src/components/text-decoration-control/{index.js → index.jsx} +0 -0
  1728. /package/src/components/text-indent-control/{index.js → index.jsx} +0 -0
  1729. /package/src/components/text-transform-control/{index.js → index.jsx} +0 -0
  1730. /package/src/components/typewriter/{index.js → index.jsx} +0 -0
  1731. /package/src/components/unit-control/{index.js → index.jsx} +0 -0
  1732. /package/src/components/url-input/{button.js → button.jsx} +0 -0
  1733. /package/src/components/url-input/{index.js → index.jsx} +0 -0
  1734. /package/src/components/url-input/test/{button.js → button.jsdom.test.jsx} +0 -0
  1735. /package/src/components/url-popover/{image-url-input-ui.js → image-url-input-ui.jsx} +0 -0
  1736. /package/src/components/url-popover/{index.js → index.jsx} +0 -0
  1737. /package/src/components/url-popover/{link-editor.js → link-editor.jsx} +0 -0
  1738. /package/src/components/url-popover/{link-viewer-url.js → link-viewer-url.jsx} +0 -0
  1739. /package/src/components/url-popover/{link-viewer.js → link-viewer.jsx} +0 -0
  1740. /package/src/components/use-block-display-information/test/{index.js → index.jsdom.test.jsx} +0 -0
  1741. /package/src/components/warning/{index.js → index.jsx} +0 -0
  1742. /package/src/components/warning/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +0 -0
  1743. /package/src/components/warning/test/{index.js → index.jsdom.test.jsx} +0 -0
  1744. /package/src/components/writing-flow/{index.js → index.jsx} +0 -0
  1745. /package/src/components/writing-flow/test/{index.js → index.jsdom.test.js} +0 -0
  1746. /package/src/components/writing-mode-control/{index.js → index.jsx} +0 -0
  1747. /package/src/elements/test/{index.js → index.jsdom.test.js} +0 -0
  1748. /package/src/hooks/{align.js → align.jsx} +0 -0
  1749. /package/src/hooks/{allowed-blocks.js → allowed-blocks.jsx} +0 -0
  1750. /package/src/hooks/{anchor.js → anchor.jsx} +0 -0
  1751. /package/src/hooks/{auto-inspector-controls.js → auto-inspector-controls.jsx} +0 -0
  1752. /package/src/hooks/{background.js → background.jsx} +0 -0
  1753. /package/src/hooks/{block-bindings.js → block-bindings.jsx} +0 -0
  1754. /package/src/hooks/block-fields/{fields-dropdown-menu.js → fields-dropdown-menu.jsx} +0 -0
  1755. /package/src/hooks/block-fields/{index.js → index.jsx} +0 -0
  1756. /package/src/hooks/block-fields/link/{index.js → index.jsx} +0 -0
  1757. /package/src/hooks/block-fields/media/{index.js → index.jsx} +0 -0
  1758. /package/src/hooks/block-fields/rich-text/{index.js → index.jsx} +0 -0
  1759. /package/src/hooks/{block-hooks.js → block-hooks.jsx} +0 -0
  1760. /package/src/hooks/{block-style-variation.js → block-style-variation.jsx} +0 -0
  1761. /package/src/hooks/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1762. /package/src/hooks/{custom-css.js → custom-css.jsx} +0 -0
  1763. /package/src/hooks/{dimensions.js → dimensions.jsx} +0 -0
  1764. /package/src/hooks/{duotone.js → duotone.jsx} +0 -0
  1765. /package/src/hooks/{elements.js → elements.jsx} +0 -0
  1766. /package/src/hooks/{fit-text.js → fit-text.jsx} +0 -0
  1767. /package/src/hooks/{font-size.js → font-size.jsx} +0 -0
  1768. /package/src/hooks/{layout-child.js → layout-child.jsx} +0 -0
  1769. /package/src/hooks/{layout.js → layout.jsx} +0 -0
  1770. /package/src/hooks/{line-height.js → line-height.jsx} +0 -0
  1771. /package/src/hooks/{list-view.js → list-view.jsx} +0 -0
  1772. /package/src/hooks/{spacing-visualizer.js → spacing-visualizer.jsx} +0 -0
  1773. /package/src/hooks/{states.js → states.jsx} +0 -0
  1774. /package/src/hooks/test/{align.js → align.jsdom.test.jsx} +0 -0
  1775. /package/src/hooks/test/{anchor.js → anchor.jsdom.test.js} +0 -0
  1776. /package/src/hooks/test/{auto-inspector-controls.js → auto-inspector-controls.jsdom.test.js} +0 -0
  1777. /package/src/hooks/test/{background.js → background.jsdom.test.jsx} +0 -0
  1778. /package/src/hooks/test/{block-style-state.js → block-style-state.jsdom.test.js} +0 -0
  1779. /package/src/hooks/test/{cross-origin-isolation.js → cross-origin-isolation.jsdom.test.js} +0 -0
  1780. /package/src/hooks/test/{custom-class-name.js → custom-class-name.jsdom.test.jsx} +0 -0
  1781. /package/src/hooks/test/{dimensions.js → dimensions.jsdom.test.js} +0 -0
  1782. /package/src/hooks/test/{duotone.js → duotone.jsdom.test.js} +0 -0
  1783. /package/src/hooks/test/{font-size.js → font-size.jsdom.test.js} +0 -0
  1784. /package/src/hooks/test/{inherited-value-wiring.js → inherited-value-wiring.jsdom.test.jsx} +0 -0
  1785. /package/src/hooks/test/{layout-child.js → layout-child.jsdom.test.js} +0 -0
  1786. /package/src/hooks/test/{layout.js → layout.jsdom.test.js} +0 -0
  1787. /package/src/hooks/test/{style.js → style.jsdom.test.jsx} +0 -0
  1788. /package/src/hooks/test/{text-align.js → text-align.jsdom.test.jsx} +0 -0
  1789. /package/src/hooks/test/{use-typography-props.js → use-typography-props.jsdom.test.js} +0 -0
  1790. /package/src/hooks/test/{utils.js → utils.jsdom.test.js} +0 -0
  1791. /package/src/hooks/{text-align.js → text-align.jsx} +0 -0
  1792. /package/src/hooks/{typography.js → typography.jsx} +0 -0
  1793. /package/src/hooks/{utils.js → utils.jsx} +0 -0
  1794. /package/src/layouts/{constrained.js → constrained.jsx} +0 -0
  1795. /package/src/layouts/{grid.js → grid.jsx} +0 -0
  1796. /package/src/layouts/test/{constrained.js → constrained.jsdom.test.jsx} +0 -0
  1797. /package/src/layouts/test/{flow.js → flow.jsdom.test.js} +0 -0
  1798. /package/src/layouts/test/{grid.js → grid.jsdom.test.jsx} +0 -0
  1799. /package/src/store/test/{actions.js → actions.jsdom.test.js} +0 -0
  1800. /package/src/store/test/{registry-selectors.js → registry-selectors.jsdom.test.js} +0 -0
  1801. /package/src/store/test/{selectors.js → selectors.jsdom.test.jsx} +0 -0
  1802. /package/src/utils/test/{dom.js → dom.jsdom.test.jsx} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/block-select-button.js"],
3
+ "sources": ["../../../src/components/list-view/block-select-button.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { __experimentalTruncate as Truncate } from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tlockSmall as lock,\n\tpinSmall,\n\tsymbol,\n\tunseen,\n} from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\nimport { Stack, Tooltip } from '@wordpress/ui';\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport useListViewImages from './use-list-view-images';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tclientId,\n\t\tonClick,\n\t\tonContextMenu,\n\t\tonMouseDown,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t\tisExpanded,\n\t\tariaDescribedBy,\n\t\tvisibilityLabel,\n\t\tisDisabled = false,\n\t},\n\tref\n) {\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { icon, anchor, isSticky, isLocked } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlock,\n\t\t\t\tisSectionBlock,\n\t\t\t\tisLockedBlock,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\n\t\t\t// Pattern-sourced section blocks show the pattern icon.\n\t\t\t// Everything else resolves its variation or block type icon.\n\t\t\tlet blockIcon = symbol;\n\t\t\tif (\n\t\t\t\t! attributes?.metadata?.patternName ||\n\t\t\t\t! isSectionBlock( clientId )\n\t\t\t) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tblockName,\n\t\t\t\t\tattributes,\n\t\t\t\t\tundefined,\n\t\t\t\t\tgetBlock( clientId )?.innerContent\n\t\t\t\t);\n\t\t\t\tblockIcon = match?.icon || getBlockType( blockName )?.icon;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ticon: blockIcon,\n\t\t\t\tanchor: attributes?.anchor,\n\t\t\t\tisSticky: attributes?.style?.position?.type === 'sticky',\n\t\t\t\tisLocked: isLockedBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst shouldShowLockIcon = isLocked;\n\tconst images = useListViewImages( { clientId, isExpanded } );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t// Disabled list view items intentionally omit href so TreeGrid skips them.\n\t\t// eslint-disable-next-line jsx-a11y/anchor-is-valid\n\t\t<a\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonContextMenu={ onContextMenu }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseDown={ onMouseDown }\n\t\t\tref={ ref }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tonFocus={ onFocus }\n\t\t\tonDragStart={ onDragStartHandler }\n\t\t\tonDragEnd={ onDragEnd }\n\t\t\tdraggable={ draggable }\n\t\t\thref={ isDisabled ? undefined : `#block-${ clientId }` }\n\t\t\taria-disabled={ isDisabled ? true : undefined }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t<BlockIcon icon={ icon } showColors context=\"list-view\" />\n\t\t\t<Stack\n\t\t\t\talign=\"center\"\n\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tgap=\"xs\"\n\t\t\t>\n\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t</span>\n\t\t\t\t{ !! anchor && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor\">\n\t\t\t\t\t\t\t{ anchor }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ isSticky && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__sticky\">\n\t\t\t\t\t\t<Icon icon={ pinSmall } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ images.length ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__images\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.map( ( image, index ) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__image\"\n\t\t\t\t\t\t\t\tkey={ image.clientId }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundImage: `url(${ image.url })`,\n\t\t\t\t\t\t\t\t\tzIndex: images.length - index, // Ensure the first image is on top, and subsequent images are behind.\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : null }\n\t\t\t\t{ !! visibilityLabel && (\n\t\t\t\t\t// The tooltip below is a sighted-hover affordance for\n\t\t\t\t\t// the (decorative) visibility icon. The same\n\t\t\t\t\t// `visibilityLabel` is exposed to assistive technology\n\t\t\t\t\t// via the row's `aria-describedby`, which references the\n\t\t\t\t\t// hidden `AriaReferencedText` rendered by the parent\n\t\t\t\t\t// `ListViewBlock`.\n\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__block-visibility\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ unseen } />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Tooltip.Popup>{ visibilityLabel }</Tooltip.Popup>\n\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowLockIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</Stack>\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/block.js
1
+ // packages/block-editor/src/components/list-view/block.jsx
2
2
  import clsx from "clsx";
3
3
  import { hasBlockSupport, store as blocksStore } from "@wordpress/blocks";
4
4
  import {
@@ -323,7 +323,7 @@ function ListViewBlock({
323
323
  const selectEditorBlock = useCallback(
324
324
  (event) => {
325
325
  const isKeyboardActivation = event?.detail === 0;
326
- selectBlock(event, clientId, isKeyboardActivation ? -1 : null);
326
+ selectBlock(event, clientId, isKeyboardActivation ? 0 : null);
327
327
  event.preventDefault();
328
328
  },
329
329
  [clientId, selectBlock]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/block.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId, useDebounce } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { groupBlocks } from '../../utils/group-blocks';\nimport { getPositionTypeLabel } from '../use-block-display-information';\nimport { BlockRenameModal } from '../block-rename';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\nimport usePasteStyles from '../use-paste-styles';\nimport { getBlockVisibilityLabel } from '../block-visibility';\n\nfunction ListViewBlock( {\n\tclientId,\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\tconst [ isRenameModalOpen, setIsRenameModalOpen ] = useState( false );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tshowViewportModal,\n\t\tstopEditingContentOnlySection,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlockEditingMode,\n\t\tgetBlocksByClientId,\n\t\tcanEditBlock,\n\t\tcanMoveBlock,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst pasteStyles = usePasteStyles();\n\n\tconst {\n\t\tblockName,\n\t\tblockVisibility,\n\t\tblockEditingMode,\n\t\tallowRightClickOverrides,\n\t\teditedSection,\n\t\tviewportSettings,\n\t\tblockVisibilitySetting,\n\t\tpositionLabel,\n\t\tisSynced,\n\t\tisLocked,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockEditingMode: getBlockEditingModeForClientId,\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tisSyncedBlock,\n\t\t\t\tisLockedBlock,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst settings = getSettings();\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\n\t\t\treturn {\n\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\tblockVisibility: attributes?.metadata?.blockVisibility,\n\t\t\t\tblockEditingMode: getBlockEditingModeForClientId( clientId ),\n\t\t\t\tallowRightClickOverrides: settings.allowRightClickOverrides,\n\t\t\t\teditedSection: getEditedContentOnlySection(),\n\t\t\t\tviewportSettings: settings.__experimentalFeatures?.viewport,\n\t\t\t\tblockVisibilitySetting:\n\t\t\t\t\tsettings.__experimentalFeatures?.blockVisibility\n\t\t\t\t\t\t?.allowEditing,\n\t\t\t\tpositionLabel: getPositionTypeLabel( attributes ),\n\t\t\t\tisSynced: isSyncedBlock( clientId ),\n\t\t\t\tisLocked: isLockedBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst isDisabled = blockEditingMode === 'disabled';\n\tconst canRename =\n\t\t!! blockName && hasBlockSupport( blockName, 'renaming', true );\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\tupdateExpansion,\n\t\tsetInsertedBlockClientId,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( editedSection && isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tstopEditingContentOnlySection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/paste-styles', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\n\t\t\tpasteStyles( blocks );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\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\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks and expand the block's parents.\n\t\t\tupdateExpansion( { type: 'replace', clientIds: blockParents } );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = groupBlocks( blocks, groupingBlockName );\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/toggle-block-visibility', event )\n\t\t) {\n\t\t\tif ( blockVisibilitySetting === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\tconst supportsBlockVisibility = blocks.every( ( _block ) =>\n\t\t\t\thasBlockSupport( _block.name, 'visibility', true )\n\t\t\t);\n\n\t\t\tif ( ! supportsBlockVisibility ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't allow visibility toggle for blocks that\n\t\t\t// are not in the default editing mode.\n\t\t\tif (\n\t\t\t\tblocksToUpdate.some(\n\t\t\t\t\t( id ) => getBlockEditingMode( id ) !== 'default'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Open the visibility breakpoints modal.\n\t\t\tshowViewportModal( blocksToUpdate );\n\t\t} else if ( isMatch( 'core/block-editor/rename', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst isContentOnly =\n\t\t\t\tgetBlockEditingMode( blocksToUpdate[ 0 ] ) === 'contentOnly';\n\t\t\tif ( blocksToUpdate.length === 1 && canRename && ! isContentOnly ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetIsRenameModalOpen( true );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\tdebouncedToggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\tdebouncedToggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\t// For keyboard activation (Enter/Space on a link), transfer focus\n\t\t\t// to the canvas with the caret at the end of the block.\n\t\t\t// For mouse clicks, keep focus in the list view so that subsequent\n\t\t\t// keyboard operations (arrow navigation, copy/paste) still work.\n\t\t\tconst isKeyboardActivation = event?.detail === 0;\n\t\t\tselectBlock( event, clientId, isKeyboardActivation ? -1 : null );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateExpansion( {\n\t\t\t\ttype: isExpanded ? 'collapse' : 'expand',\n\t\t\t\tclientIds: [ clientId ],\n\t\t\t} );\n\t\t},\n\t\t[ clientId, updateExpansion, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tconst { ownerDocument } = settingsRef?.current || {};\n\t\t\tif ( ! ownerDocument || ! ownerDocument.hasFocus() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! blockName ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tpositionLabel,\n\t\tisLocked\n\t);\n\n\t// Determine label based on where block is hidden (not when/current viewport)\n\tconst blockVisibilityDescription = getBlockVisibilityLabel(\n\t\tblockVisibility,\n\t\tviewportSettings\n\t);\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst canShowBlockActions = showBlockActions && ! isDisabled;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings && ! isDisabled;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! canShowBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': isSynced,\n\t\t'is-draggable': canMoveBlock && ! isDisabled,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t\t'is-disabled': isDisabled,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\tconst getListViewBlockTabIndex = ( rovingTabIndex ) => {\n\t\tif ( isDisabled ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\t\tif ( isSelected && selectedClientIds.length === 1 ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn rovingTabIndex;\n\t};\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ isDisabled ? undefined : onMouseEnter }\n\t\t\tonMouseLeave={ isDisabled ? undefined : onMouseLeave }\n\t\t\tonFocus={ isDisabled ? undefined : onMouseEnter }\n\t\t\tonBlur={ isDisabled ? undefined : onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEditBlock ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={\n\t\t\t\t\t\t\t\tisDisabled ? undefined : onContextMenu\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={\n\t\t\t\t\t\t\t\tisDisabled ? undefined : toggleExpanded\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={ getListViewBlockTabIndex( tabIndex ) }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEditBlock ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t\tvisibilityLabel={ blockVisibilityDescription }\n\t\t\t\t\t\t\tisDisabled={ isDisabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t\tblockVisibilityDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ canShowBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\tupdateExpansion={ updateExpansion }\n\t\t\t\t\t\t\tsetInsertedBlockClientId={\n\t\t\t\t\t\t\t\tsetInsertedBlockClientId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisContentOnlyListView={\n\t\t\t\t\t\t\t\t!! rootClientId &&\n\t\t\t\t\t\t\t\tgetBlockEditingMode( rootClientId ) ===\n\t\t\t\t\t\t\t\t\t'contentOnly'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t\t{ isRenameModalOpen && (\n\t\t\t\t<BlockRenameModal\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonClose={ () => setIsRenameModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],
5
- "mappings": "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",
3
+ "sources": ["../../../src/components/list-view/block.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId, useDebounce } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { groupBlocks } from '../../utils/group-blocks';\nimport { getPositionTypeLabel } from '../use-block-display-information';\nimport { BlockRenameModal } from '../block-rename';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\nimport usePasteStyles from '../use-paste-styles';\nimport { getBlockVisibilityLabel } from '../block-visibility';\n\nfunction ListViewBlock( {\n\tclientId,\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\tconst [ isRenameModalOpen, setIsRenameModalOpen ] = useState( false );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tshowViewportModal,\n\t\tstopEditingContentOnlySection,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlockEditingMode,\n\t\tgetBlocksByClientId,\n\t\tcanEditBlock,\n\t\tcanMoveBlock,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst pasteStyles = usePasteStyles();\n\n\tconst {\n\t\tblockName,\n\t\tblockVisibility,\n\t\tblockEditingMode,\n\t\tallowRightClickOverrides,\n\t\teditedSection,\n\t\tviewportSettings,\n\t\tblockVisibilitySetting,\n\t\tpositionLabel,\n\t\tisSynced,\n\t\tisLocked,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockEditingMode: getBlockEditingModeForClientId,\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedContentOnlySection,\n\t\t\t\tisSyncedBlock,\n\t\t\t\tisLockedBlock,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst settings = getSettings();\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\n\t\t\treturn {\n\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\tblockVisibility: attributes?.metadata?.blockVisibility,\n\t\t\t\tblockEditingMode: getBlockEditingModeForClientId( clientId ),\n\t\t\t\tallowRightClickOverrides: settings.allowRightClickOverrides,\n\t\t\t\teditedSection: getEditedContentOnlySection(),\n\t\t\t\tviewportSettings: settings.__experimentalFeatures?.viewport,\n\t\t\t\tblockVisibilitySetting:\n\t\t\t\t\tsettings.__experimentalFeatures?.blockVisibility\n\t\t\t\t\t\t?.allowEditing,\n\t\t\t\tpositionLabel: getPositionTypeLabel( attributes ),\n\t\t\t\tisSynced: isSyncedBlock( clientId ),\n\t\t\t\tisLocked: isLockedBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst isDisabled = blockEditingMode === 'disabled';\n\tconst canRename =\n\t\t!! blockName && hasBlockSupport( blockName, 'renaming', true );\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\tupdateExpansion,\n\t\tsetInsertedBlockClientId,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( editedSection && isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tstopEditingContentOnlySection();\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/paste-styles', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\n\t\t\tpasteStyles( blocks );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\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\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks and expand the block's parents.\n\t\t\tupdateExpansion( { type: 'replace', clientIds: blockParents } );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = groupBlocks( blocks, groupingBlockName );\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/toggle-block-visibility', event )\n\t\t) {\n\t\t\tif ( blockVisibilitySetting === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\tconst supportsBlockVisibility = blocks.every( ( _block ) =>\n\t\t\t\thasBlockSupport( _block.name, 'visibility', true )\n\t\t\t);\n\n\t\t\tif ( ! supportsBlockVisibility ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't allow visibility toggle for blocks that\n\t\t\t// are not in the default editing mode.\n\t\t\tif (\n\t\t\t\tblocksToUpdate.some(\n\t\t\t\t\t( id ) => getBlockEditingMode( id ) !== 'default'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Open the visibility breakpoints modal.\n\t\t\tshowViewportModal( blocksToUpdate );\n\t\t} else if ( isMatch( 'core/block-editor/rename', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst isContentOnly =\n\t\t\t\tgetBlockEditingMode( blocksToUpdate[ 0 ] ) === 'contentOnly';\n\t\t\tif ( blocksToUpdate.length === 1 && canRename && ! isContentOnly ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetIsRenameModalOpen( true );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\tdebouncedToggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\tdebouncedToggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\t// For keyboard activation (Enter/Space on a link), transfer focus\n\t\t\t// to the canvas at the default initial position (start of the first\n\t\t\t// field). For mouse clicks, keep focus in the list view so that\n\t\t\t// subsequent keyboard operations (arrow navigation, copy/paste)\n\t\t\t// still work.\n\t\t\tconst isKeyboardActivation = event?.detail === 0;\n\t\t\tselectBlock( event, clientId, isKeyboardActivation ? 0 : null );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === undefined ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateExpansion( {\n\t\t\t\ttype: isExpanded ? 'collapse' : 'expand',\n\t\t\t\tclientIds: [ clientId ],\n\t\t\t} );\n\t\t},\n\t\t[ clientId, updateExpansion, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tconst { ownerDocument } = settingsRef?.current || {};\n\t\t\tif ( ! ownerDocument || ! ownerDocument.hasFocus() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! blockName ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tpositionLabel,\n\t\tisLocked\n\t);\n\n\t// Determine label based on where block is hidden (not when/current viewport)\n\tconst blockVisibilityDescription = getBlockVisibilityLabel(\n\t\tblockVisibility,\n\t\tviewportSettings\n\t);\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst canShowBlockActions = showBlockActions && ! isDisabled;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings && ! isDisabled;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! canShowBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': isSynced,\n\t\t'is-draggable': canMoveBlock && ! isDisabled,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t\t'is-disabled': isDisabled,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\tconst getListViewBlockTabIndex = ( rovingTabIndex ) => {\n\t\tif ( isDisabled ) {\n\t\t\treturn -1;\n\t\t}\n\n\t\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\t\tif ( isSelected && selectedClientIds.length === 1 ) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn rovingTabIndex;\n\t};\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ isDisabled ? undefined : onMouseEnter }\n\t\t\tonMouseLeave={ isDisabled ? undefined : onMouseLeave }\n\t\t\tonFocus={ isDisabled ? undefined : onMouseEnter }\n\t\t\tonBlur={ isDisabled ? undefined : onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEditBlock ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={\n\t\t\t\t\t\t\t\tisDisabled ? undefined : onContextMenu\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={\n\t\t\t\t\t\t\t\tisDisabled ? undefined : toggleExpanded\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={ getListViewBlockTabIndex( tabIndex ) }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEditBlock ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t\tvisibilityLabel={ blockVisibilityDescription }\n\t\t\t\t\t\t\tisDisabled={ isDisabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t\tblockVisibilityDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ canShowBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\tupdateExpansion={ updateExpansion }\n\t\t\t\t\t\t\tsetInsertedBlockClientId={\n\t\t\t\t\t\t\t\tsetInsertedBlockClientId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisContentOnlyListView={\n\t\t\t\t\t\t\t\t!! rootClientId &&\n\t\t\t\t\t\t\t\tgetBlockEditingMode( rootClientId ) ===\n\t\t\t\t\t\t\t\t\t'contentOnly'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t\t{ isRenameModalOpen && (\n\t\t\t\t<BlockRenameModal\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonClose={ () => setIsRenameModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/branch.js
1
+ // packages/block-editor/src/components/list-view/branch.jsx
2
2
  import {
3
3
  __experimentalTreeGridRow as TreeGridRow,
4
4
  __experimentalTreeGridCell as TreeGridCell
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/branch.js"],
3
+ "sources": ["../../../src/components/list-view/branch.jsx"],
4
4
  "sourcesContent": ["import {\n\t__experimentalTreeGridRow as TreeGridRow,\n\t__experimentalTreeGridCell as TreeGridCell,\n} from '@wordpress/components';\nimport { memo } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport { Appender } from './appender';\nimport ListViewBlock from './block';\nimport { useListViewTreeState } from './context';\nimport {\n\tBLOCK_LIST_ITEM_HEIGHT,\n\tgetDragDisplacementValues,\n\tisClientIdSelected,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Given a block, returns the total number of blocks in that subtree. This is used to help determine\n * the list position of a block.\n *\n * When a block is collapsed, we do not count their children as part of that total. In the current drag\n * implementation dragged blocks and their children are not counted.\n *\n * @param {Object} block block tree\n * @param {Object} expansionState state that notes which branches are collapsed\n * @param {Array} draggedClientIds a list of dragged client ids\n * @param {boolean} isExpandedByDefault flag to determine the default fallback expanded state.\n * @return {number} block count\n */\nfunction countBlocks(\n\tblock,\n\texpansionState,\n\tdraggedClientIds,\n\tisExpandedByDefault\n) {\n\tconst isDragged = draggedClientIds?.includes( block.clientId );\n\tif ( isDragged ) {\n\t\treturn 0;\n\t}\n\tconst isExpanded = expansionState[ block.clientId ] ?? isExpandedByDefault;\n\tif ( ! isExpanded ) {\n\t\treturn 1;\n\t}\n\treturn block.innerBlocks.reduce(\n\t\t( count, innerBlock ) =>\n\t\t\tcount +\n\t\t\tcountBlocks(\n\t\t\t\tinnerBlock,\n\t\t\t\texpansionState,\n\t\t\t\tdraggedClientIds,\n\t\t\t\tisExpandedByDefault\n\t\t\t),\n\t\t1\n\t);\n}\n\nconst noop = () => {};\n\nfunction ListViewBranch( props ) {\n\tconst {\n\t\tblocks,\n\t\tselectBlock = noop,\n\t\tshowBlockMovers,\n\t\tselectedClientIds,\n\t\tlevel = 1,\n\t\tpath = '',\n\t\tisBranchSelected = false,\n\t\tlistPosition = 0,\n\t\tfixedListWindow,\n\t\tisExpanded,\n\t\tparentId,\n\t\tisSyncedBranch = false,\n\t\tshowAppender: showAppenderProp = true,\n\t} = props;\n\n\tconst { canParentExpand, isParentSynced } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parentId ) {\n\t\t\t\treturn { canParentExpand: true, isParentSynced: false };\n\t\t\t}\n\t\t\tconst { canEditBlock, isSyncedBlock } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanParentExpand: canEditBlock( parentId ),\n\t\t\t\tisParentSynced: isSyncedBlock( parentId ),\n\t\t\t};\n\t\t},\n\t\t[ parentId ]\n\t);\n\n\tconst syncedBranch = isSyncedBranch || isParentSynced;\n\n\tconst {\n\t\tblockDropPosition,\n\t\tblockDropTargetIndex,\n\t\tfirstDraggedBlockIndex,\n\t\tblockIndexes,\n\t\texpansionState,\n\t\tdraggedClientIds,\n\t} = useListViewTreeState();\n\n\tif ( ! canParentExpand ) {\n\t\treturn null;\n\t}\n\n\t// Only show the appender at the first level.\n\tconst showAppender = showAppenderProp && level === 1;\n\tconst filteredBlocks = blocks.filter( Boolean );\n\tconst blockCount = filteredBlocks.length;\n\t// The appender means an extra row in List View, so add 1 to the row count.\n\tconst rowCount = showAppender ? blockCount + 1 : blockCount;\n\tlet nextPosition = listPosition;\n\n\tconst rows = [];\n\n\t// A run of blocks outside of the render window becomes one spacer row that\n\t// stands in for their height.\n\tlet placeholderRows = 0;\n\tlet placeholderKey;\n\n\t// Adds the pending placeholder row, if there is one. Call before\n\t// adding a real row.\n\tconst pushPlaceholderRow = () => {\n\t\tif ( ! placeholderRows ) {\n\t\t\treturn;\n\t\t}\n\t\trows.push(\n\t\t\t<tr key={ `placeholder-${ placeholderKey }` }>\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"block-editor-list-view-placeholder\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: placeholderRows * BLOCK_LIST_ITEM_HEIGHT,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</tr>\n\t\t);\n\t\tplaceholderRows = 0;\n\t\tplaceholderKey = undefined;\n\t};\n\n\tfilteredBlocks.forEach( ( block, index ) => {\n\t\tconst { clientId, innerBlocks } = block;\n\n\t\t// The next sibling is offset by this block's subtree.\n\t\tconst blockListPosition = nextPosition;\n\t\tnextPosition += countBlocks(\n\t\t\tblock,\n\t\t\texpansionState,\n\t\t\tdraggedClientIds,\n\t\t\tisExpanded\n\t\t);\n\n\t\tconst isDragged = !! draggedClientIds?.includes( clientId );\n\n\t\tconst { itemInView } = fixedListWindow;\n\t\tconst blockInView = itemInView( blockListPosition );\n\n\t\tconst position = index + 1;\n\t\tconst updatedPath =\n\t\t\tpath.length > 0 ? `${ path }_${ position }` : `${ position }`;\n\t\tconst hasNestedBlocks = !! innerBlocks?.length;\n\n\t\tconst shouldExpand = hasNestedBlocks\n\t\t\t? expansionState[ clientId ] ?? isExpanded\n\t\t\t: undefined;\n\n\t\t// Make updates to the selected or dragged blocks synchronous,\n\t\t// but asynchronous for any other block.\n\t\tconst isSelected = isClientIdSelected( clientId, selectedClientIds );\n\t\tconst isSelectedBranch =\n\t\t\tisBranchSelected || ( isSelected && hasNestedBlocks );\n\n\t\t// To avoid performance issues, we only render blocks that are in view,\n\t\t// or blocks that are selected or dragged. If a block is selected,\n\t\t// it is only counted if it is the first of the block selection.\n\t\t// This prevents the entire tree from being rendered when a branch is\n\t\t// selected, or a user selects all blocks, while still enabling scroll\n\t\t// into view behavior when selecting a block or opening the list view.\n\t\t// The first and last blocks of the list are always rendered, to ensure\n\t\t// that Home and End keys work as expected.\n\t\tconst showBlock =\n\t\t\tisDragged ||\n\t\t\tblockInView ||\n\t\t\t( isSelected && clientId === selectedClientIds[ 0 ] ) ||\n\t\t\tindex === 0 ||\n\t\t\tindex === blockCount - 1;\n\n\t\tconst showNestedBlocks = hasNestedBlocks && shouldExpand && ! isDragged;\n\n\t\tif ( ! showBlock ) {\n\t\t\tplaceholderRows += 1;\n\t\t\tplaceholderKey ??= clientId;\n\n\t\t\t// Inner blocks of an off-window block may still be in view.\n\t\t\tif ( ! showNestedBlocks ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tpushPlaceholderRow();\n\n\t\t// Determine the displacement of the block while dragging. This\n\t\t// works out whether the current block should be displaced up or\n\t\t// down, relative to the dragged blocks and the drop target.\n\t\tconst { displacement, isAfterDraggedBlocks, isNesting } =\n\t\t\tgetDragDisplacementValues( {\n\t\t\t\tblockIndexes,\n\t\t\t\tblockDropTargetIndex,\n\t\t\t\tblockDropPosition,\n\t\t\t\tclientId,\n\t\t\t\tfirstDraggedBlockIndex,\n\t\t\t\tisDragged,\n\t\t\t} );\n\n\t\trows.push(\n\t\t\t<AsyncModeProvider key={ clientId } value={ ! isSelected }>\n\t\t\t\t{ showBlock && (\n\t\t\t\t\t<ListViewBlock\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\tisDragged={ isDragged }\n\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\trowCount={ rowCount }\n\t\t\t\t\t\tsiblingBlockCount={ blockCount }\n\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\tisExpanded={ isDragged ? false : shouldExpand }\n\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t\tdisplacement={ displacement }\n\t\t\t\t\t\tisAfterDraggedBlocks={ isAfterDraggedBlocks }\n\t\t\t\t\t\tisNesting={ isNesting }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showNestedBlocks && (\n\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\tparentId={ clientId }\n\t\t\t\t\t\tblocks={ innerBlocks }\n\t\t\t\t\t\tselectBlock={ selectBlock }\n\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\tlevel={ level + 1 }\n\t\t\t\t\t\tpath={ updatedPath }\n\t\t\t\t\t\tlistPosition={ blockListPosition + 1 }\n\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\tisBranchSelected={ isSelectedBranch }\n\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\tisSyncedBranch={ syncedBranch }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</AsyncModeProvider>\n\t\t);\n\t} );\n\n\tpushPlaceholderRow();\n\n\treturn (\n\t\t<>\n\t\t\t{ rows }\n\t\t\t{ showAppender && (\n\t\t\t\t<TreeGridRow\n\t\t\t\t\tlevel={ level }\n\t\t\t\t\tsetSize={ rowCount }\n\t\t\t\t\tpositionInSet={ rowCount }\n\t\t\t\t\tisExpanded\n\t\t\t\t>\n\t\t\t\t\t<TreeGridCell>\n\t\t\t\t\t\t{ ( treeGridCellProps ) => (\n\t\t\t\t\t\t\t<Appender\n\t\t\t\t\t\t\t\tclientId={ parentId }\n\t\t\t\t\t\t\t\tnestingLevel={ level }\n\t\t\t\t\t\t\t\tblockCount={ blockCount }\n\t\t\t\t\t\t\t\t{ ...treeGridCellProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</TreeGridRow>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default memo( ListViewBranch );\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/drop-indicator.js
1
+ // packages/block-editor/src/components/list-view/drop-indicator.jsx
2
2
  import clsx from "clsx";
3
3
  import {
4
4
  Popover,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/drop-indicator.js"],
3
+ "sources": ["../../../src/components/list-view/drop-indicator.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tPopover,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { getScrollContainer } from '@wordpress/dom';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\nimport { Stack } from '@wordpress/ui';\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\n\nexport default function ListViewDropIndicatorPreview( {\n\tdraggedBlockClientId,\n\tlistViewRef,\n\tblockDropTarget,\n} ) {\n\tconst blockInformation = useBlockDisplayInformation( draggedBlockClientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: draggedBlockClientId,\n\t\tcontext: 'list-view',\n\t} );\n\n\tconst { rootClientId, clientId, dropPosition } = blockDropTarget || {};\n\n\tconst [ rootBlockElement, blockElement ] = useMemo( () => {\n\t\tif ( ! listViewRef.current ) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// The rootClientId will be defined whenever dropping into inner\n\t\t// block lists, but is undefined when dropping at the root level.\n\t\tconst _rootBlockElement = rootClientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ rootClientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\t// The clientId represents the sibling block, the dragged block will\n\t\t// usually be inserted adjacent to it. It will be undefined when\n\t\t// dropping a block into an empty block list.\n\t\tconst _blockElement = clientId\n\t\t\t? listViewRef.current.querySelector(\n\t\t\t\t\t`[data-block=\"${ clientId }\"]`\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn [ _rootBlockElement, _blockElement ];\n\t}, [ listViewRef, rootClientId, clientId ] );\n\n\t// The targetElement is the element that the drop indicator will appear\n\t// before or after. When dropping into an empty block list, blockElement\n\t// is undefined, so the indicator will appear after the rootBlockElement.\n\tconst targetElement = blockElement || rootBlockElement;\n\n\tconst rtl = isRTL();\n\n\tconst getDropIndicatorWidth = useCallback(\n\t\t( targetElementRect, indent ) => {\n\t\t\tif ( ! targetElement ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// Default to assuming that the width of the drop indicator\n\t\t\t// should be the same as the target element.\n\t\t\tlet width = targetElement.offsetWidth;\n\n\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t// the width of the drop indicator should be the width of\n\t\t\t// the scroll container, minus the distance from the left\n\t\t\t// edge of the scroll container to the left edge of the\n\t\t\t// target element.\n\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\ttargetElement,\n\t\t\t\t'horizontal'\n\t\t\t);\n\n\t\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\t\tconst windowScroll =\n\t\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\tconst distanceBetweenContainerAndTarget = isRTL()\n\t\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\t\tconst scrollContainerWidth = scrollContainer.clientWidth;\n\n\t\t\t\tif (\n\t\t\t\t\tscrollContainerWidth <\n\t\t\t\t\twidth + distanceBetweenContainerAndTarget\n\t\t\t\t) {\n\t\t\t\t\twidth =\n\t\t\t\t\t\tscrollContainerWidth -\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget;\n\t\t\t\t}\n\n\t\t\t\t// LTR logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\t! rtl &&\n\t\t\t\t\ttargetElementRect.left + indent < scrollContainerRect.left\n\t\t\t\t) {\n\t\t\t\t\twidth -= scrollContainerRect.left - targetElementRect.left;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\n\t\t\t\t// RTL logic for ensuring the drop indicator does not extend\n\t\t\t\t// beyond the right edge of the scroll container.\n\t\t\t\tif (\n\t\t\t\t\trtl &&\n\t\t\t\t\ttargetElementRect.right - indent > scrollContainerRect.right\n\t\t\t\t) {\n\t\t\t\t\twidth -=\n\t\t\t\t\t\ttargetElementRect.right - scrollContainerRect.right;\n\t\t\t\t\treturn width;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Subtract the indent from the final width of the indicator.\n\t\t\treturn width - indent;\n\t\t},\n\t\t[ rtl, targetElement ]\n\t);\n\n\tconst style = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\treturn {\n\t\t\twidth: getDropIndicatorWidth( targetElementRect, 0 ),\n\t\t};\n\t}, [ getDropIndicatorWidth, targetElement ] );\n\n\tconst horizontalScrollOffsetStyle = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst scrollContainer = getScrollContainer( targetElement );\n\t\tconst ownerDocument = targetElement.ownerDocument;\n\t\tconst windowScroll =\n\t\t\tscrollContainer === ownerDocument.body ||\n\t\t\tscrollContainer === ownerDocument.documentElement;\n\n\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\tconst scrollContainerRect = scrollContainer.getBoundingClientRect();\n\t\t\tconst targetElementRect = targetElement.getBoundingClientRect();\n\n\t\t\tconst distanceBetweenContainerAndTarget = rtl\n\t\t\t\t? scrollContainerRect.right - targetElementRect.right\n\t\t\t\t: targetElementRect.left - scrollContainerRect.left;\n\n\t\t\tif ( ! rtl && scrollContainerRect.left > targetElementRect.left ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${ distanceBetweenContainerAndTarget }px )`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( rtl && scrollContainerRect.right < targetElementRect.right ) {\n\t\t\t\treturn {\n\t\t\t\t\ttransform: `translateX( ${\n\t\t\t\t\t\tdistanceBetweenContainerAndTarget * -1\n\t\t\t\t\t}px )`,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\treturn {};\n\t}, [ rtl, targetElement ] );\n\n\tconst ariaLevel = useMemo( () => {\n\t\tif ( ! rootBlockElement ) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tconst _ariaLevel = parseInt(\n\t\t\trootBlockElement.getAttribute( 'aria-level' ),\n\t\t\t10\n\t\t);\n\n\t\treturn _ariaLevel ? _ariaLevel + 1 : 1;\n\t}, [ rootBlockElement ] );\n\n\tconst hasAdjacentSelectedBranch = useMemo( () => {\n\t\tif ( ! targetElement ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn targetElement.classList.contains( 'is-branch-selected' );\n\t}, [ targetElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tconst isValidDropPosition =\n\t\t\tdropPosition === 'top' ||\n\t\t\tdropPosition === 'bottom' ||\n\t\t\tdropPosition === 'inside';\n\t\tif ( ! targetElement || ! isValidDropPosition ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tcontextElement: targetElement,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst rect = targetElement.getBoundingClientRect();\n\t\t\t\t// In RTL languages, the drop indicator should be positioned\n\t\t\t\t// to the left of the target element, with the width of the\n\t\t\t\t// indicator determining the indent at the right edge of the\n\t\t\t\t// target element. In LTR languages, the drop indicator should\n\t\t\t\t// end at the right edge of the target element, with the indent\n\t\t\t\t// added to the position of the left edge of the target element.\n\t\t\t\t// let left = rtl ? rect.left : rect.left + indent;\n\t\t\t\tlet left = rect.left;\n\t\t\t\tlet top = 0;\n\n\t\t\t\t// In deeply nested lists, where a scrollbar is present,\n\t\t\t\t// the width of the drop indicator should be the width of\n\t\t\t\t// the visible area of the scroll container. Additionally,\n\t\t\t\t// the left edge of the drop indicator line needs to be\n\t\t\t\t// offset by the distance the left edge of the target element\n\t\t\t\t// and the left edge of the scroll container. The ensures\n\t\t\t\t// that the drop indicator position never breaks out of the\n\t\t\t\t// visible area of the scroll container.\n\t\t\t\tconst scrollContainer = getScrollContainer(\n\t\t\t\t\ttargetElement,\n\t\t\t\t\t'horizontal'\n\t\t\t\t);\n\n\t\t\t\tconst doc = targetElement.ownerDocument;\n\t\t\t\tconst windowScroll =\n\t\t\t\t\tscrollContainer === doc.body ||\n\t\t\t\t\tscrollContainer === doc.documentElement;\n\n\t\t\t\t// If the scroll container is not the window, offset the left position, if need be.\n\t\t\t\tif ( scrollContainer && ! windowScroll ) {\n\t\t\t\t\tconst scrollContainerRect =\n\t\t\t\t\t\tscrollContainer.getBoundingClientRect();\n\n\t\t\t\t\t// In RTL languages, a vertical scrollbar is present on the\n\t\t\t\t\t// left edge of the scroll container. The width of the\n\t\t\t\t\t// scrollbar needs to be accounted for when positioning the\n\t\t\t\t\t// drop indicator.\n\t\t\t\t\tconst scrollbarWidth = rtl\n\t\t\t\t\t\t? scrollContainer.offsetWidth -\n\t\t\t\t\t\t scrollContainer.clientWidth\n\t\t\t\t\t\t: 0;\n\n\t\t\t\t\tif ( left < scrollContainerRect.left + scrollbarWidth ) {\n\t\t\t\t\t\tleft = scrollContainerRect.left + scrollbarWidth;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( dropPosition === 'top' ) {\n\t\t\t\t\ttop = rect.top - rect.height * 2;\n\t\t\t\t} else {\n\t\t\t\t\t// `dropPosition` is either `bottom` or `inside`\n\t\t\t\t\ttop = rect.top;\n\t\t\t\t}\n\n\t\t\t\tconst width = getDropIndicatorWidth( rect, 0 );\n\t\t\t\tconst height = rect.height;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [ targetElement, dropPosition, getDropIndicatorWidth, rtl ] );\n\n\tif ( ! targetElement ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\tclassName=\"block-editor-list-view-drop-indicator--preview\"\n\t\t\tvariant=\"unstyled\"\n\t\t\tflip={ false }\n\t\t\tresize\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={ style }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-list-view-drop-indicator__line',\n\t\t\t\t\t{\n\t\t\t\t\t\t'block-editor-list-view-drop-indicator__line--darker':\n\t\t\t\t\t\t\thasAdjacentSelectedBranch,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"block-editor-list-view-leaf\"\n\t\t\t\t\taria-level={ ariaLevel }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\t\t\t\t'block-editor-list-view-block-contents'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ horizontalScrollOffsetStyle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListViewExpander onClick={ () => {} } />\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\tcontext=\"list-view\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Stack\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\tgap=\"xs\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-list-view-block__menu-cell\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Popover>\n\t);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/expander.js
1
+ // packages/block-editor/src/components/list-view/expander.jsx
2
2
  import { chevronRightSmall, chevronLeftSmall, Icon } from "@wordpress/icons";
3
3
  import { isRTL } from "@wordpress/i18n";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/expander.js"],
3
+ "sources": ["../../../src/components/list-view/expander.jsx"],
4
4
  "sourcesContent": ["import { chevronRightSmall, chevronLeftSmall, Icon } from '@wordpress/icons';\nimport { isRTL } from '@wordpress/i18n';\n\nexport default function ListViewExpander( { onClick } ) {\n\treturn (\n\t\t// Keyboard events are handled by TreeGrid see: components/src/tree-grid/index.js\n\t\t//\n\t\t// The expander component is implemented as a pseudo element in the w3 example\n\t\t// https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html\n\t\t//\n\t\t// We've mimicked this by adding an icon with aria-hidden set to true to hide this from the accessibility tree.\n\t\t// For the current tree grid implementation, please do not try to make this a button.\n\t\t<span\n\t\t\tclassName=\"block-editor-list-view__expander\"\n\t\t\tonClick={\n\t\t\t\tonClick\n\t\t\t\t\t? ( event ) => onClick( event, { forceToggle: true } )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\taria-hidden=\"true\"\n\t\t\tdata-testid=\"list-view-expander\"\n\t\t>\n\t\t\t<Icon icon={ isRTL() ? chevronLeftSmall : chevronRightSmall } />\n\t\t</span>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,mBAAmB,kBAAkB,YAAY;AAC1D,SAAS,aAAa;AAqBnB;AAnBY,SAAR,iBAAmC,EAAE,QAAQ,GAAI;AACvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQC;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,SACC,UACG,CAAE,UAAW,QAAS,OAAO,EAAE,aAAa,KAAK,CAAE,IACnD;AAAA,QAEJ,eAAY;AAAA,QACZ,eAAY;AAAA,QAEZ,8BAAC,QAAK,MAAO,MAAM,IAAI,mBAAmB,mBAAoB;AAAA;AAAA,IAC/D;AAAA;AAEF;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/index.js
1
+ // packages/block-editor/src/components/list-view/index.jsx
2
2
  import clsx from "clsx";
3
3
  import {
4
4
  useInstanceId,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/index.js"],
3
+ "sources": ["../../../src/components/list-view/index.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tuseInstanceId,\n\tuseMergeRefs,\n\tuseRefEffect,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\nimport { __experimentalTreeGrid as TreeGrid } from '@wordpress/components';\nimport { VisuallyHidden } from '@wordpress/ui';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport ListViewBranch from './branch';\nimport {\n\tListViewContext,\n\tListViewInsertedBlockContext,\n\tListViewTreeStateContext,\n} from './context';\nimport ListViewDropIndicatorPreview from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewBlockIndexes from './use-list-view-block-indexes';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewCollapseItems from './use-list-view-collapse-items';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockSettingsDropdown } from '../block-settings-menu/block-settings-dropdown';\nimport { BLOCK_LIST_ITEM_HEIGHT, focusListItem } from './utils';\nimport useClipboardHandler from './use-clipboard-handler';\n\nconst expansion = ( state, action ) => {\n\tconst { type, clientIds } = action;\n\n\t// Overwrite the state: only the listed blocks stay expanded, every other\n\t// block falls back to the list view's default.\n\tif ( type === 'replace' ) {\n\t\tconst next = Object.fromEntries(\n\t\t\tclientIds.map( ( id ) => [ id, true ] )\n\t\t);\n\t\treturn isShallowEqual( state, next ) ? state : next;\n\t}\n\n\tif ( type !== 'expand' && type !== 'collapse' ) {\n\t\treturn state;\n\t}\n\n\tconst isExpand = type === 'expand';\n\t// An unrecorded block is not the same as an explicitly collapsed one,\n\t// because the fallback depends on the `isExpanded` prop.\n\tconst changed = clientIds.filter( ( id ) => state[ id ] !== isExpand );\n\n\tif ( ! changed.length ) {\n\t\treturn state;\n\t}\n\n\treturn {\n\t\t...state,\n\t\t...Object.fromEntries( changed.map( ( id ) => [ id, isExpand ] ) ),\n\t};\n};\n\n/** @typedef {React.ComponentType} ComponentType */\n/** @typedef {React.Ref<HTMLElement>} Ref */\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks _deprecated_ Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {?HTMLElement} props.dropZoneElement Optional element to be used as the drop zone.\n * @param {?boolean} props.showBlockMovers Flag to enable block movers. Defaults to `false`.\n * @param {?boolean} props.isExpanded Flag to determine whether nested levels are expanded by default. Defaults to `false`.\n * @param {?boolean} props.showAppender Flag to show or hide the block appender. Defaults to `false`.\n * @param {?boolean} props.focusOnMount Flag to move focus into the list when it mounts. Defaults to `false`.\n * @param {?ComponentType} props.blockSettingsMenu Optional more menu substitution. Defaults to the standard `BlockSettingsDropdown` component.\n * @param {string} props.rootClientId The client id of the root block from which we determine the blocks to show in the list.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {?Function} props.onSelect Optional callback to be invoked when a block is selected. Receives the block object that was selected.\n * @param {?ComponentType} props.additionalBlockContent Component that renders additional block content UI.\n * @param {Ref} ref Forwarded ref\n */\nfunction ListViewComponent(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tdropZoneElement,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = false,\n\t\tfocusOnMount = false,\n\t\tblockSettingsMenu: BlockSettingsMenu = BlockSettingsDropdown,\n\t\trootClientId,\n\t\tdescription,\n\t\tonSelect,\n\t\tadditionalBlockContent: AdditionalBlockContent,\n\t},\n\tref\n) {\n\t// This can be removed once we no longer need to support the blocks prop.\n\tif ( blocks ) {\n\t\tdeprecated(\n\t\t\t'`blocks` property in `wp.blockEditor.__experimentalListView`',\n\t\t\t{\n\t\t\t\tsince: '6.3',\n\t\t\t\talternative: '`rootClientId` property',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst instanceId = useInstanceId( ListViewComponent );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( { blocks, rootClientId } );\n\tconst blockIndexes = useListViewBlockIndexes( clientIdsTree );\n\n\tconst { getBlock, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\tconst { visibleBlockCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getGlobalBlockCount, getClientIdsOfDescendants } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expansionState, updateExpansion ] = useReducer( expansion, {} );\n\n\tconst [ insertedBlockClientId, setInsertedBlockClientId ] =\n\t\tuseState( null );\n\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tupdateExpansion,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t/**\n\t\t * @param {MouseEvent | KeyboardEvent | undefined} event\n\t\t * @param {string} blockClientId\n\t\t * @param {null | undefined | -1 | 1} focusPosition\n\t\t */\n\t\t( event, blockClientId, focusPosition ) => {\n\t\t\tupdateBlockSelection( event, blockClientId, null, focusPosition );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone( {\n\t\tdropZoneElement,\n\t\tupdateExpansion,\n\t} );\n\tconst elementRef = useRef();\n\n\t// Allow handling of copy, cut, and paste events.\n\tconst clipBoardRef = useClipboardHandler( {\n\t\tselectBlock: selectEditorBlock,\n\t} );\n\n\tconst focusOnMountRef = useRefEffect(\n\t\t( node ) => {\n\t\t\t// A list that mounts as a side effect of selecting a block, the\n\t\t\t// block inspector's for one, would pull focus out of whatever the\n\t\t\t// user is editing, so taking focus is opt-in.\n\t\t\tif ( ! focusOnMount ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst controller = new window.AbortController();\n\t\t\tconst focusRow = ( clientId ) =>\n\t\t\t\tfocusListItem( clientId, node, controller.signal ).then( () =>\n\t\t\t\t\tcontroller.abort()\n\t\t\t\t);\n\n\t\t\t// Anything that takes focus first has a better claim to it. The row\n\t\t\t// is not always there yet either, because a nested block waits on\n\t\t\t// its ancestors expanding.\n\t\t\tnode.ownerDocument.addEventListener(\n\t\t\t\t'focusin',\n\t\t\t\t() => controller.abort(),\n\t\t\t\t{ once: true, signal: controller.signal }\n\t\t\t);\n\n\t\t\tconst [ firstSelectedClientId ] = getSelectedBlockClientIds();\n\n\t\t\tif ( firstSelectedClientId ) {\n\t\t\t\tfocusRow( firstSelectedClientId );\n\t\t\t\treturn () => controller.abort();\n\t\t\t}\n\n\t\t\t// With nothing selected the top of the list gets focus, but only\n\t\t\t// once the click that opened the list is over. Focusing a row costs\n\t\t\t// a style and layout pass, and inside that commit it lands on a\n\t\t\t// document that is still dirty.\n\t\t\tconst timerId = setTimeout( () => {\n\t\t\t\tconst firstClientId = node.querySelector(\n\t\t\t\t\t'[role=row][data-block]'\n\t\t\t\t)?.dataset.block;\n\t\t\t\tif ( firstClientId ) {\n\t\t\t\t\tfocusRow( firstClientId );\n\t\t\t\t}\n\t\t\t}, 0 );\n\n\t\t\treturn () => {\n\t\t\t\tclearTimeout( timerId );\n\t\t\t\tcontroller.abort();\n\t\t\t};\n\t\t},\n\t\t[ focusOnMount, getSelectedBlockClientIds ]\n\t);\n\n\tconst treeGridRef = useMergeRefs( [\n\t\tclipBoardRef,\n\t\tfocusOnMountRef,\n\t\telementRef,\n\t\tdropZoneRef,\n\t\tref,\n\t] );\n\n\tconst expandRow = useCallback( ( row ) => {\n\t\tconst clientId = row?.dataset?.block;\n\t\tif ( clientId ) {\n\t\t\tupdateExpansion( { type: 'expand', clientIds: [ clientId ] } );\n\t\t}\n\t}, [] );\n\tconst collapseRow = useCallback( ( row ) => {\n\t\tconst clientId = row?.dataset?.block;\n\t\tif ( clientId ) {\n\t\t\tupdateExpansion( { type: 'collapse', clientIds: [ clientId ] } );\n\t\t}\n\t}, [] );\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tuseListViewCollapseItems( { updateExpansion } );\n\n\tconst firstDraggedBlockClientId = draggedClientIds?.[ 0 ];\n\n\t// Convert a blockDropTarget into indexes relative to the blocks in the list view.\n\t// These values are used to determine which blocks should be displaced to make room\n\t// for the drop indicator. See `ListViewBranch` and `getDragDisplacementValues`.\n\tconst { blockDropTargetIndex, blockDropPosition, firstDraggedBlockIndex } =\n\t\tuseMemo( () => {\n\t\t\tlet _blockDropTargetIndex, _firstDraggedBlockIndex;\n\n\t\t\tif ( blockDropTarget?.clientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ blockDropTarget.clientId ];\n\t\t\t\t// If dragging below or inside the block, treat the drop target as the next block.\n\t\t\t\t_blockDropTargetIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t} else if ( blockDropTarget === null ) {\n\t\t\t\t// A `null` value is used to indicate that the user is dragging outside of the list view.\n\t\t\t\t_blockDropTargetIndex = null;\n\t\t\t}\n\n\t\t\tif ( firstDraggedBlockClientId ) {\n\t\t\t\tconst foundBlockIndex =\n\t\t\t\t\tblockIndexes[ firstDraggedBlockClientId ];\n\t\t\t\t_firstDraggedBlockIndex =\n\t\t\t\t\tfoundBlockIndex === undefined ||\n\t\t\t\t\tblockDropTarget?.dropPosition === 'top'\n\t\t\t\t\t\t? foundBlockIndex\n\t\t\t\t\t\t: foundBlockIndex + 1;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tblockDropTargetIndex: _blockDropTargetIndex,\n\t\t\t\tblockDropPosition: blockDropTarget?.dropPosition,\n\t\t\t\tfirstDraggedBlockIndex: _firstDraggedBlockIndex,\n\t\t\t};\n\t\t}, [ blockDropTarget, blockIndexes, firstDraggedBlockClientId ] );\n\n\t// Values that stay stable for the lifetime of the List View.\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tAdditionalBlockContent,\n\t\t\tBlockSettingsMenu,\n\t\t\tlistViewInstanceId: instanceId,\n\t\t\trootClientId,\n\t\t\tsetInsertedBlockClientId,\n\t\t\ttreeGridElementRef: elementRef,\n\t\t\tupdateExpansion,\n\t\t} ),\n\t\t[\n\t\t\tAdditionalBlockContent,\n\t\t\tBlockSettingsMenu,\n\t\t\tinstanceId,\n\t\t\trootClientId,\n\t\t\tsetInsertedBlockClientId,\n\t\t\tupdateExpansion,\n\t\t]\n\t);\n\n\t// Values that change while expanding, collapsing, or dragging.\n\tconst treeStateContextValue = useMemo(\n\t\t() => ( {\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpansionState,\n\t\t\tfirstDraggedBlockIndex,\n\t\t} ),\n\t\t[\n\t\t\tblockDropPosition,\n\t\t\tblockDropTargetIndex,\n\t\t\tblockIndexes,\n\t\t\tdraggedClientIds,\n\t\t\texpansionState,\n\t\t\tfirstDraggedBlockIndex,\n\t\t]\n\t);\n\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\t// Ensure that the windowing logic is recalculated when the expanded state changes.\n\t\t\t// This is necessary because expanding a collapsed block in a short list view can\n\t\t\t// switch the list view to a tall list view with a scrollbar, and vice versa.\n\t\t\t// When this happens, the windowing logic needs to be recalculated to ensure that\n\t\t\t// the correct number of blocks are rendered, by rechecking for a scroll container.\n\t\t\texpandedState: expansionState,\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\t// If there are no blocks to show and we're not showing the appender, do not render the list view.\n\tif ( ! clientIdsTree.length && ! showAppender ) {\n\t\treturn null;\n\t}\n\n\tconst describedById =\n\t\tdescription && `block-editor-list-view-description-${ instanceId }`;\n\n\treturn (\n\t\t<AsyncModeProvider value>\n\t\t\t<ListViewDropIndicatorPreview\n\t\t\t\tdraggedBlockClientId={ firstDraggedBlockClientId }\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t{ description && (\n\t\t\t\t<VisuallyHidden id={ describedById }>\n\t\t\t\t\t{ description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t\t<TreeGrid\n\t\t\t\tid={ id }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-tree', {\n\t\t\t\t\t'is-dragging':\n\t\t\t\t\t\tdraggedClientIds?.length > 0 &&\n\t\t\t\t\t\tblockDropTargetIndex !== undefined,\n\t\t\t\t} ) }\n\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\tref={ treeGridRef }\n\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\tapplicationAriaLabel={ __( 'Block navigation structure' ) }\n\t\t\t\taria-describedby={ describedById }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-admin--list-view-dragged-items-height':\n\t\t\t\t\t\tdraggedClientIds?.length\n\t\t\t\t\t\t\t? `${\n\t\t\t\t\t\t\t\t\tBLOCK_LIST_ITEM_HEIGHT *\n\t\t\t\t\t\t\t\t\t( draggedClientIds.length - 1 )\n\t\t\t\t\t\t\t }px`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t<ListViewInsertedBlockContext.Provider\n\t\t\t\t\t\tvalue={ insertedBlockClientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListViewTreeStateContext.Provider\n\t\t\t\t\t\t\tvalue={ treeStateContextValue }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\t\t\tparentId={ rootClientId }\n\t\t\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ListViewTreeStateContext.Provider>\n\t\t\t\t\t</ListViewInsertedBlockContext.Provider>\n\t\t\t\t</ListViewContext.Provider>\n\t\t\t</TreeGrid>\n\t\t</AsyncModeProvider>\n\t);\n}\n\n// This is the private API for the ListView component.\n// It allows access to all props, not just the public ones.\nexport const PrivateListView = forwardRef( ListViewComponent );\n\n// This is the public API for the ListView component.\n// We wrap the PrivateListView component to hide some props from the public API.\nexport default forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateListView\n\t\t\tref={ ref }\n\t\t\t{ ...props }\n\t\t\tshowAppender={ false }\n\t\t\trootClientId={ null }\n\t\t\tonSelect={ null }\n\t\t\tadditionalBlockContent={ null }\n\t\t\tblockSettingsMenu={ undefined }\n\t\t/>\n\t);\n} );\n"],
5
5
  "mappings": "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",
6
6
  "names": ["focusRow"]
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/list-view/leaf.js
1
+ // packages/block-editor/src/components/list-view/leaf.jsx
2
2
  import { animated } from "@react-spring/web";
3
3
  import clsx from "clsx";
4
4
  import { __experimentalTreeGridRow as TreeGridRow } from "@wordpress/components";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/list-view/leaf.js"],
3
+ "sources": ["../../../src/components/list-view/leaf.jsx"],
4
4
  "sourcesContent": ["import { animated } from '@react-spring/web';\nimport clsx from 'clsx';\nimport { __experimentalTreeGridRow as TreeGridRow } from '@wordpress/components';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\nimport useMovingAnimation from '../use-moving-animation';\n\nconst AnimatedTreeGridRow = animated( TreeGridRow );\n\nconst ListViewLeaf = forwardRef(\n\t(\n\t\t{\n\t\t\tisDragged,\n\t\t\tisSelected,\n\t\t\tposition,\n\t\t\tlevel,\n\t\t\trowCount,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tpath,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst animationRef = useMovingAnimation( {\n\t\t\tclientId: props[ 'data-block' ],\n\t\t\tenableAnimation: true,\n\t\t\ttriggerAnimationOnChange: path,\n\t\t} );\n\n\t\tconst mergedRef = useMergeRefs( [ ref, animationRef ] );\n\n\t\treturn (\n\t\t\t<AnimatedTreeGridRow\n\t\t\t\tref={ mergedRef }\n\t\t\t\tclassName={ clsx( 'block-editor-list-view-leaf', className ) }\n\t\t\t\tlevel={ level }\n\t\t\t\tpositionInSet={ position }\n\t\t\t\tsetSize={ rowCount }\n\t\t\t\tisExpanded={ undefined }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</AnimatedTreeGridRow>\n\t\t);\n\t}\n);\n\nexport default ListViewLeaf;\n"],
5
5
  "mappings": ";AAAA,SAAS,gBAAgB;AACzB,OAAO,UAAU;AACjB,SAAS,6BAA6B,mBAAmB;AACzD,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,OAAO,wBAAwB;AA4B5B;AA1BH,IAAM,sBAAsB,SAAU,WAAY;AAElD,IAAM,eAAe;AAAA,EACpB,CACC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACJ,GACA,QACI;AACJ,UAAM,eAAe,mBAAoB;AAAA,MACxC,UAAU,MAAO,YAAa;AAAA,MAC9B,iBAAiB;AAAA,MACjB,0BAA0B;AAAA,IAC3B,CAAE;AAEF,UAAM,YAAY,aAAc,CAAE,KAAK,YAAa,CAAE;AAEtD,WACC;AAAA,MAAC;AAAA;AAAA,QACA,KAAM;AAAA,QACN,WAAY,KAAM,+BAA+B,SAAU;AAAA,QAC3D;AAAA,QACA,eAAgB;AAAA,QAChB,SAAU;AAAA,QACV,YAAa;AAAA,QACX,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEF;AACD;AAEA,IAAO,eAAQ;",
6
6
  "names": []
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/use-list-view-drop-zone.js"],
4
- "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useEffect } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 24;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block (or bottom right in RTL languages), then it is an upward gesture.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel(\n\tpoint,\n\trect,\n\tnestingLevel = 1,\n\trtl = false\n) {\n\t// In RTL languages, the block indent position is from the right edge of the block.\n\t// In LTR languages, the block indent position is from the left edge of the block.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst distanceBetweenPointAndBlockIndentPosition = rtl\n\t\t? blockIndentPosition - point.x\n\t\t: point.x - blockIndentPosition;\n\n\tconst desiredParentLevel = Math.round(\n\t\tdistanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION\n\t);\n\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting. The vertical position of the\n * cursor must also be within the block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst isNestingHorizontalGesture = rtl\n\t\t? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION\n\t\t: point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION;\n\n\treturn isNestingHorizontalGesture && point.y < rect.bottom;\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position, rtl = false ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t) )\n\t) {\n\t\t// If the block is expanded, insert the block as the first child.\n\t\t// Otherwise, for collapsed blocks, insert the block as the last child.\n\t\tconst newBlockIndex = candidateBlockData.isExpanded\n\t\t\t? 0\n\t\t\t: candidateBlockData.innerBlockCount || 0;\n\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tclientId: candidateBlockData.clientId,\n\t\t\tblockIndex: newBlockIndex,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture(\n\t\t\tposition,\n\t\t\tcandidateRect,\n\t\t\tcandidateBlockParents.length,\n\t\t\trtl\n\t\t)\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n// Throttle options need to be defined outside of the hook to avoid\n// re-creating the object on every render. This is due to a limitation\n// of the `useThrottle` hook, where the options object is included\n// in the dependency array for memoization.\nconst EXPAND_THROTTLE_OPTIONS = {\n\tleading: false, // Don't call the function immediately on the first call.\n\ttrailing: true, // Do call the function on the last call.\n};\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @param {Object} props Named parameters.\n * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone.\n * @param {Function} [props.updateExpansion] Dispatch to update the expansion state of a list of block clientIds.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone( {\n\tdropZoneElement,\n\tupdateExpansion,\n} ) {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst rtl = isRTL();\n\n\tconst previousRootClientId = usePrevious( targetRootClientId );\n\n\tconst maybeExpandBlock = useCallback(\n\t\t( _target ) => {\n\t\t\t// If the user is attempting to drop a block inside a collapsed block,\n\t\t\t// that is, using a nesting gesture flagged by 'inside' dropPosition,\n\t\t\t// expand the block within the list view.\n\t\t\tconst { rootClientId } = _target || {};\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( _target?.dropPosition === 'inside' ) {\n\t\t\t\tupdateExpansion( {\n\t\t\t\t\ttype: 'expand',\n\t\t\t\t\tclientIds: [ rootClientId ],\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ updateExpansion ]\n\t);\n\n\t// Throttle the maybeExpandBlock function to avoid expanding the block\n\t// too quickly when the user is dragging over the block. This is to\n\t// avoid expanding the block when the user is just passing over it.\n\tconst throttledMaybeExpandBlock = useThrottle(\n\t\tmaybeExpandBlock,\n\t\t500,\n\t\tEXPAND_THROTTLE_OPTIONS\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\ttarget?.dropPosition !== 'inside' ||\n\t\t\tpreviousRootClientId !== target?.rootClientId\n\t\t) {\n\t\t\tthrottledMaybeExpandBlock.cancel();\n\t\t\treturn;\n\t\t}\n\t\tthrottledMaybeExpandBlock( target );\n\t}, [ previousRootClientId, target, throttledMaybeExpandBlock ] );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\t\t\t\t\tconst isDraggedBlock =\n\t\t\t\t\t\tblockElement.classList.contains( 'is-dragging' );\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag ? isDraggedBlock : false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget(\n\t\t\t\t\tblocksData,\n\t\t\t\t\tposition,\n\t\t\t\t\trtl\n\t\t\t\t);\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tcanInsertBlocks,\n\t\t\t\tdraggedBlockClientIds,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\trtl,\n\t\t\t]\n\t\t),\n\t\t50\n\t);\n\n\tconst ref = useDropZone( {\n\t\tdropZoneElement,\n\t\tonDrop( event ) {\n\t\t\tthrottled.cancel();\n\t\t\tif ( target ) {\n\t\t\t\tonBlockDrop( event );\n\t\t\t}\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `null` value to indicate that the drop target is not valid,\n\t\t\t// but that the drag is still active. This allows for styling rules\n\t\t\t// that are active only when a user drags outside of the list view.\n\t\t\tsetTarget( null );\n\t\t},\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"],
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useEffect } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 24;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block (or bottom right in RTL languages), then it is an upward gesture.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel(\n\tpoint,\n\trect,\n\tnestingLevel = 1,\n\trtl = false\n) {\n\t// In RTL languages, the block indent position is from the right edge of the block.\n\t// In LTR languages, the block indent position is from the left edge of the block.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst distanceBetweenPointAndBlockIndentPosition = rtl\n\t\t? blockIndentPosition - point.x\n\t\t: point.x - blockIndentPosition;\n\n\tconst desiredParentLevel = Math.round(\n\t\tdistanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION\n\t);\n\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting. The vertical position of the\n * cursor must also be within the block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst isNestingHorizontalGesture = rtl\n\t\t? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION\n\t\t: point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION;\n\n\treturn isNestingHorizontalGesture && point.y < rect.bottom;\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position, rtl = false ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t) )\n\t) {\n\t\t// If the block is expanded, insert the block as the first child.\n\t\t// Otherwise, for collapsed blocks, insert the block as the last child.\n\t\tconst newBlockIndex = candidateBlockData.isExpanded\n\t\t\t? 0\n\t\t\t: candidateBlockData.innerBlockCount || 0;\n\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tclientId: candidateBlockData.clientId,\n\t\t\tblockIndex: newBlockIndex,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture(\n\t\t\tposition,\n\t\t\tcandidateRect,\n\t\t\tcandidateBlockParents.length,\n\t\t\trtl\n\t\t)\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n// Throttle options need to be defined outside of the hook to avoid\n// re-creating the object on every render. This is due to a limitation\n// of the `useThrottle` hook, where the options object is included\n// in the dependency array for memoization.\nconst EXPAND_THROTTLE_OPTIONS = {\n\tleading: false, // Don't call the function immediately on the first call.\n\ttrailing: true, // Do call the function on the last call.\n};\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @param {Object} props Named parameters.\n * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone.\n * @param {Function} [props.updateExpansion] Dispatch to update the expansion state of a list of block clientIds.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone( {\n\tdropZoneElement,\n\tupdateExpansion,\n} ) {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst rtl = isRTL();\n\n\tconst previousRootClientId = usePrevious( targetRootClientId );\n\n\tconst maybeExpandBlock = useCallback(\n\t\t( _target ) => {\n\t\t\t// If the user is attempting to drop a block inside a collapsed block,\n\t\t\t// that is, using a nesting gesture flagged by 'inside' dropPosition,\n\t\t\t// expand the block within the list view.\n\t\t\tconst { rootClientId } = _target || {};\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( _target?.dropPosition === 'inside' ) {\n\t\t\t\tupdateExpansion( {\n\t\t\t\t\ttype: 'expand',\n\t\t\t\t\tclientIds: [ rootClientId ],\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ updateExpansion ]\n\t);\n\n\t// Throttle the maybeExpandBlock function to avoid expanding the block\n\t// too quickly when the user is dragging over the block. This is to\n\t// avoid expanding the block when the user is just passing over it.\n\tconst throttledMaybeExpandBlock = useThrottle(\n\t\tmaybeExpandBlock,\n\t\t500,\n\t\tEXPAND_THROTTLE_OPTIONS\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\ttarget?.dropPosition !== 'inside' ||\n\t\t\tpreviousRootClientId !== target?.rootClientId\n\t\t) {\n\t\t\tthrottledMaybeExpandBlock.cancel();\n\t\t\treturn;\n\t\t}\n\t\tthrottledMaybeExpandBlock( target );\n\t}, [ previousRootClientId, target, throttledMaybeExpandBlock ] );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\t\t\t\t\tconst isDraggedBlock =\n\t\t\t\t\t\tblockElement.classList.contains( 'is-dragging' );\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag ? isDraggedBlock : false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget(\n\t\t\t\t\tblocksData,\n\t\t\t\t\tposition,\n\t\t\t\t\trtl\n\t\t\t\t);\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tcanInsertBlocks,\n\t\t\t\tdraggedBlockClientIds,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\trtl,\n\t\t\t]\n\t\t),\n\t\t50\n\t);\n\n\tconst ref = useDropZone( {\n\t\tdropZoneElement,\n\t\tonDrop( event ) {\n\t\t\tthrottled.cancel();\n\t\t\tif ( target ) {\n\t\t\t\tonBlockDrop( event );\n\t\t\t}\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `null` value to indicate that the drop target is not valid,\n\t\t\t// but that the drag is still active. This allows for styling rules\n\t\t\t// that are active only when a user drags outside of the list view.\n\t\t\tsetTarget( null );\n\t\t},\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the throttled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/media-placeholder/index.js
1
+ // packages/block-editor/src/components/media-placeholder/index.jsx
2
2
  import clsx from "clsx";
3
3
  import {
4
4
  Button,