@wordpress/block-editor 13.4.0 → 14.1.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 (533) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +20 -15
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +3 -1
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-draggable/index.js +2 -2
  8. package/build/components/block-draggable/index.js.map +1 -1
  9. package/build/components/block-list/use-block-props/index.js +2 -2
  10. package/build/components/block-list/use-block-props/index.js.map +1 -1
  11. package/build/components/block-list/use-block-props/use-block-refs.js +24 -32
  12. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  13. package/build/components/block-list/use-in-between-inserter.js +11 -4
  14. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  15. package/build/components/block-mover/index.js +1 -2
  16. package/build/components/block-mover/index.js.map +1 -1
  17. package/build/components/block-popover/cover.js +1 -1
  18. package/build/components/block-popover/cover.js.map +1 -1
  19. package/build/components/block-popover/inbetween.js +2 -2
  20. package/build/components/block-popover/inbetween.js.map +1 -1
  21. package/build/components/block-popover/index.js +2 -2
  22. package/build/components/block-popover/index.js.map +1 -1
  23. package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
  24. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  25. package/build/components/block-tools/block-selection-button.js +1 -2
  26. package/build/components/block-tools/block-selection-button.js.map +1 -1
  27. package/build/components/block-tools/index.js +1 -1
  28. package/build/components/block-tools/index.js.map +1 -1
  29. package/build/components/block-tools/insertion-point.js +14 -3
  30. package/build/components/block-tools/insertion-point.js.map +1 -1
  31. package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  32. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  33. package/build/components/block-tools/use-show-block-tools.js +2 -1
  34. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  35. package/build/components/block-tools/zoom-out-mode-inserters.js +22 -19
  36. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  37. package/build/components/block-tools/zoom-out-toolbar.js +0 -1
  38. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  39. package/build/components/border-radius-control/index.js +1 -0
  40. package/build/components/border-radius-control/index.js.map +1 -1
  41. package/build/components/child-layout-control/index.js +3 -1
  42. package/build/components/child-layout-control/index.js.map +1 -1
  43. package/build/components/convert-to-group-buttons/index.js +1 -1
  44. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  45. package/build/components/date-format-picker/index.js +2 -0
  46. package/build/components/date-format-picker/index.js.map +1 -1
  47. package/build/components/dimensions-tool/scale-tool.js +1 -0
  48. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  49. package/build/components/font-appearance-control/index.js +3 -0
  50. package/build/components/font-appearance-control/index.js.map +1 -1
  51. package/build/components/font-family/index.js +15 -0
  52. package/build/components/font-family/index.js.map +1 -1
  53. package/build/components/global-styles/background-panel.js +153 -77
  54. package/build/components/global-styles/background-panel.js.map +1 -1
  55. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  56. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  57. package/build/components/global-styles/hooks.js +0 -7
  58. package/build/components/global-styles/hooks.js.map +1 -1
  59. package/build/components/global-styles/image-settings-panel.js +1 -0
  60. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  61. package/build/components/global-styles/index.js +0 -6
  62. package/build/components/global-styles/index.js.map +1 -1
  63. package/build/components/global-styles/typography-panel.js +0 -1
  64. package/build/components/global-styles/typography-panel.js.map +1 -1
  65. package/build/components/global-styles/use-global-styles-output.js +59 -40
  66. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  67. package/build/components/global-styles/utils.js +80 -0
  68. package/build/components/global-styles/utils.js.map +1 -1
  69. package/build/components/grid/grid-item-movers.js +30 -26
  70. package/build/components/grid/grid-item-movers.js.map +1 -1
  71. package/build/components/grid/grid-item-resizer.js +14 -15
  72. package/build/components/grid/grid-item-resizer.js.map +1 -1
  73. package/build/components/grid/grid-visualizer.js +21 -6
  74. package/build/components/grid/grid-visualizer.js.map +1 -1
  75. package/build/components/grid/use-grid-layout-sync.js +56 -20
  76. package/build/components/grid/use-grid-layout-sync.js.map +1 -1
  77. package/build/components/height-control/index.js +1 -0
  78. package/build/components/height-control/index.js.map +1 -1
  79. package/build/components/iframe/index.js +2 -4
  80. package/build/components/iframe/index.js.map +1 -1
  81. package/build/components/image-editor/zoom-dropdown.js +11 -7
  82. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  83. package/build/components/inner-blocks/button-block-appender.js +8 -8
  84. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  85. package/build/components/inner-blocks/default-block-appender.js +7 -25
  86. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +9 -11
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inserter/category-tabs/index.js +29 -2
  90. package/build/components/inserter/category-tabs/index.js.map +1 -1
  91. package/build/components/inserter/library.js +4 -2
  92. package/build/components/inserter/library.js.map +1 -1
  93. package/build/components/inserter/menu.js +32 -14
  94. package/build/components/inserter/menu.js.map +1 -1
  95. package/build/components/inserter/quick-inserter.js +4 -0
  96. package/build/components/inserter/quick-inserter.js.map +1 -1
  97. package/build/components/line-height-control/index.js +3 -15
  98. package/build/components/line-height-control/index.js.map +1 -1
  99. package/build/components/link-control/search-input.js +0 -1
  100. package/build/components/link-control/search-input.js.map +1 -1
  101. package/build/components/media-placeholder/index.js +9 -4
  102. package/build/components/media-placeholder/index.js.map +1 -1
  103. package/build/components/media-replace-flow/index.js +3 -1
  104. package/build/components/media-replace-flow/index.js.map +1 -1
  105. package/build/components/media-upload/index.native.js +4 -1
  106. package/build/components/media-upload/index.native.js.map +1 -1
  107. package/build/components/multi-selection-inspector/index.js +12 -12
  108. package/build/components/multi-selection-inspector/index.js.map +1 -1
  109. package/build/components/resolution-tool/index.js +1 -0
  110. package/build/components/resolution-tool/index.js.map +1 -1
  111. package/build/components/skip-to-selected-block/index.js +4 -2
  112. package/build/components/skip-to-selected-block/index.js.map +1 -1
  113. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  114. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  115. package/build/components/text-alignment-control/index.js +13 -8
  116. package/build/components/text-alignment-control/index.js.map +1 -1
  117. package/build/components/text-decoration-control/index.js +13 -8
  118. package/build/components/text-decoration-control/index.js.map +1 -1
  119. package/build/components/text-transform-control/index.js +13 -8
  120. package/build/components/text-transform-control/index.js.map +1 -1
  121. package/build/components/url-input/button.js +0 -1
  122. package/build/components/url-input/button.js.map +1 -1
  123. package/build/components/url-input/index.js +1 -11
  124. package/build/components/url-input/index.js.map +1 -1
  125. package/build/components/url-popover/image-url-input-ui.js +2 -0
  126. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  127. package/build/components/url-popover/link-editor.js +0 -1
  128. package/build/components/url-popover/link-editor.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +42 -4
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-on-block-drop/index.js +3 -6
  132. package/build/components/use-on-block-drop/index.js.map +1 -1
  133. package/build/components/use-resize-canvas/index.js +1 -3
  134. package/build/components/use-resize-canvas/index.js.map +1 -1
  135. package/build/components/use-settings/index.js +2 -1
  136. package/build/components/use-settings/index.js.map +1 -1
  137. package/build/components/writing-mode-control/index.js +13 -8
  138. package/build/components/writing-mode-control/index.js.map +1 -1
  139. package/build/hooks/background.js +19 -23
  140. package/build/hooks/background.js.map +1 -1
  141. package/build/hooks/block-bindings.js +209 -39
  142. package/build/hooks/block-bindings.js.map +1 -1
  143. package/build/hooks/block-hooks.js +1 -0
  144. package/build/hooks/block-hooks.js.map +1 -1
  145. package/build/hooks/block-style-variation.js +2 -2
  146. package/build/hooks/block-style-variation.js.map +1 -1
  147. package/build/hooks/contrast-checker.js +6 -6
  148. package/build/hooks/contrast-checker.js.map +1 -1
  149. package/build/hooks/duotone.js +3 -3
  150. package/build/hooks/duotone.js.map +1 -1
  151. package/build/hooks/index.js +7 -1
  152. package/build/hooks/index.js.map +1 -1
  153. package/build/hooks/line-height.js +0 -1
  154. package/build/hooks/line-height.js.map +1 -1
  155. package/build/hooks/spacing-visualizer.js +1 -1
  156. package/build/hooks/spacing-visualizer.js.map +1 -1
  157. package/build/hooks/use-bindings-attributes.js +4 -0
  158. package/build/hooks/use-bindings-attributes.js.map +1 -1
  159. package/build/hooks/use-zoom-out.js +1 -1
  160. package/build/hooks/use-zoom-out.js.map +1 -1
  161. package/build/hooks/utils.js +20 -0
  162. package/build/hooks/utils.js.map +1 -1
  163. package/build/index.js +7 -0
  164. package/build/index.js.map +1 -1
  165. package/build/layouts/constrained.js +1 -0
  166. package/build/layouts/constrained.js.map +1 -1
  167. package/build/layouts/flex.js +2 -0
  168. package/build/layouts/flex.js.map +1 -1
  169. package/build/layouts/grid.js +3 -0
  170. package/build/layouts/grid.js.map +1 -1
  171. package/build/private-apis.js +3 -2
  172. package/build/private-apis.js.map +1 -1
  173. package/build/store/actions.js +9 -1
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/private-selectors.js +30 -0
  176. package/build/store/private-selectors.js.map +1 -1
  177. package/build/store/reducer.js +10 -1
  178. package/build/store/reducer.js.map +1 -1
  179. package/build/store/selectors.js +4 -4
  180. package/build/store/selectors.js.map +1 -1
  181. package/build/utils/block-bindings.js +112 -0
  182. package/build/utils/block-bindings.js.map +1 -0
  183. package/build/utils/get-editor-region.js +1 -1
  184. package/build/utils/get-editor-region.js.map +1 -1
  185. package/build/utils/get-px-from-css-unit.js +1 -1
  186. package/build/utils/get-px-from-css-unit.js.map +1 -1
  187. package/build-module/autocompleters/block.js +1 -1
  188. package/build-module/autocompleters/block.js.map +1 -1
  189. package/build-module/components/block-breadcrumb/index.js +4 -2
  190. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  191. package/build-module/components/block-draggable/index.js +3 -3
  192. package/build-module/components/block-draggable/index.js.map +1 -1
  193. package/build-module/components/block-list/use-block-props/index.js +2 -2
  194. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  195. package/build-module/components/block-list/use-block-props/use-block-refs.js +24 -34
  196. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  197. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  198. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  199. package/build-module/components/block-mover/index.js +1 -2
  200. package/build-module/components/block-mover/index.js.map +1 -1
  201. package/build-module/components/block-popover/cover.js +1 -1
  202. package/build-module/components/block-popover/cover.js.map +1 -1
  203. package/build-module/components/block-popover/inbetween.js +1 -1
  204. package/build-module/components/block-popover/inbetween.js.map +1 -1
  205. package/build-module/components/block-popover/index.js +1 -1
  206. package/build-module/components/block-popover/index.js.map +1 -1
  207. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  208. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  209. package/build-module/components/block-tools/block-selection-button.js +1 -2
  210. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  211. package/build-module/components/block-tools/index.js +1 -1
  212. package/build-module/components/block-tools/index.js.map +1 -1
  213. package/build-module/components/block-tools/insertion-point.js +14 -3
  214. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  215. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  216. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  217. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  218. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  219. package/build-module/components/block-tools/zoom-out-mode-inserters.js +23 -20
  220. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  221. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -1
  222. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  223. package/build-module/components/border-radius-control/index.js +1 -0
  224. package/build-module/components/border-radius-control/index.js.map +1 -1
  225. package/build-module/components/child-layout-control/index.js +3 -1
  226. package/build-module/components/child-layout-control/index.js.map +1 -1
  227. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  228. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  229. package/build-module/components/date-format-picker/index.js +2 -0
  230. package/build-module/components/date-format-picker/index.js.map +1 -1
  231. package/build-module/components/dimensions-tool/scale-tool.js +1 -0
  232. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  233. package/build-module/components/font-appearance-control/index.js +3 -0
  234. package/build-module/components/font-appearance-control/index.js.map +1 -1
  235. package/build-module/components/font-family/index.js +14 -0
  236. package/build-module/components/font-family/index.js.map +1 -1
  237. package/build-module/components/global-styles/background-panel.js +156 -80
  238. package/build-module/components/global-styles/background-panel.js.map +1 -1
  239. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  240. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  241. package/build-module/components/global-styles/hooks.js +0 -6
  242. package/build-module/components/global-styles/hooks.js.map +1 -1
  243. package/build-module/components/global-styles/image-settings-panel.js +1 -0
  244. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  245. package/build-module/components/global-styles/index.js +1 -1
  246. package/build-module/components/global-styles/index.js.map +1 -1
  247. package/build-module/components/global-styles/typography-panel.js +0 -1
  248. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  249. package/build-module/components/global-styles/use-global-styles-output.js +61 -42
  250. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  251. package/build-module/components/global-styles/utils.js +77 -0
  252. package/build-module/components/global-styles/utils.js.map +1 -1
  253. package/build-module/components/grid/grid-item-movers.js +30 -26
  254. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  255. package/build-module/components/grid/grid-item-resizer.js +14 -15
  256. package/build-module/components/grid/grid-item-resizer.js.map +1 -1
  257. package/build-module/components/grid/grid-visualizer.js +21 -6
  258. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  259. package/build-module/components/grid/use-grid-layout-sync.js +56 -20
  260. package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
  261. package/build-module/components/height-control/index.js +1 -0
  262. package/build-module/components/height-control/index.js.map +1 -1
  263. package/build-module/components/iframe/index.js +2 -4
  264. package/build-module/components/iframe/index.js.map +1 -1
  265. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  266. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  267. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  268. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  269. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  270. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  271. package/build-module/components/inner-blocks/index.js +9 -11
  272. package/build-module/components/inner-blocks/index.js.map +1 -1
  273. package/build-module/components/inserter/category-tabs/index.js +30 -3
  274. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  275. package/build-module/components/inserter/library.js +4 -2
  276. package/build-module/components/inserter/library.js.map +1 -1
  277. package/build-module/components/inserter/menu.js +32 -14
  278. package/build-module/components/inserter/menu.js.map +1 -1
  279. package/build-module/components/inserter/quick-inserter.js +5 -1
  280. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  281. package/build-module/components/line-height-control/index.js +3 -14
  282. package/build-module/components/line-height-control/index.js.map +1 -1
  283. package/build-module/components/link-control/search-input.js +0 -1
  284. package/build-module/components/link-control/search-input.js.map +1 -1
  285. package/build-module/components/media-placeholder/index.js +9 -4
  286. package/build-module/components/media-placeholder/index.js.map +1 -1
  287. package/build-module/components/media-replace-flow/index.js +3 -1
  288. package/build-module/components/media-replace-flow/index.js.map +1 -1
  289. package/build-module/components/media-upload/index.native.js +4 -1
  290. package/build-module/components/media-upload/index.native.js.map +1 -1
  291. package/build-module/components/multi-selection-inspector/index.js +12 -12
  292. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  293. package/build-module/components/resolution-tool/index.js +1 -0
  294. package/build-module/components/resolution-tool/index.js.map +1 -1
  295. package/build-module/components/skip-to-selected-block/index.js +5 -3
  296. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  297. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -8
  298. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  299. package/build-module/components/text-alignment-control/index.js +13 -8
  300. package/build-module/components/text-alignment-control/index.js.map +1 -1
  301. package/build-module/components/text-decoration-control/index.js +13 -8
  302. package/build-module/components/text-decoration-control/index.js.map +1 -1
  303. package/build-module/components/text-transform-control/index.js +13 -8
  304. package/build-module/components/text-transform-control/index.js.map +1 -1
  305. package/build-module/components/url-input/button.js +0 -1
  306. package/build-module/components/url-input/button.js.map +1 -1
  307. package/build-module/components/url-input/index.js +1 -11
  308. package/build-module/components/url-input/index.js.map +1 -1
  309. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  310. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  311. package/build-module/components/url-popover/link-editor.js +0 -1
  312. package/build-module/components/url-popover/link-editor.js.map +1 -1
  313. package/build-module/components/use-block-drop-zone/index.js +42 -4
  314. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  315. package/build-module/components/use-on-block-drop/index.js +3 -6
  316. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  317. package/build-module/components/use-resize-canvas/index.js +1 -3
  318. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  319. package/build-module/components/use-settings/index.js +2 -1
  320. package/build-module/components/use-settings/index.js.map +1 -1
  321. package/build-module/components/writing-mode-control/index.js +13 -8
  322. package/build-module/components/writing-mode-control/index.js.map +1 -1
  323. package/build-module/hooks/background.js +19 -23
  324. package/build-module/hooks/background.js.map +1 -1
  325. package/build-module/hooks/block-bindings.js +214 -43
  326. package/build-module/hooks/block-bindings.js.map +1 -1
  327. package/build-module/hooks/block-hooks.js +1 -0
  328. package/build-module/hooks/block-hooks.js.map +1 -1
  329. package/build-module/hooks/block-style-variation.js +3 -3
  330. package/build-module/hooks/block-style-variation.js.map +1 -1
  331. package/build-module/hooks/contrast-checker.js +7 -7
  332. package/build-module/hooks/contrast-checker.js.map +1 -1
  333. package/build-module/hooks/duotone.js +4 -4
  334. package/build-module/hooks/duotone.js.map +1 -1
  335. package/build-module/hooks/index.js +2 -1
  336. package/build-module/hooks/index.js.map +1 -1
  337. package/build-module/hooks/line-height.js +0 -1
  338. package/build-module/hooks/line-height.js.map +1 -1
  339. package/build-module/hooks/spacing-visualizer.js +1 -1
  340. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  341. package/build-module/hooks/use-bindings-attributes.js +3 -0
  342. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  343. package/build-module/hooks/use-zoom-out.js +1 -1
  344. package/build-module/hooks/use-zoom-out.js.map +1 -1
  345. package/build-module/hooks/utils.js +19 -0
  346. package/build-module/hooks/utils.js.map +1 -1
  347. package/build-module/index.js +1 -1
  348. package/build-module/index.js.map +1 -1
  349. package/build-module/layouts/constrained.js +1 -0
  350. package/build-module/layouts/constrained.js.map +1 -1
  351. package/build-module/layouts/flex.js +2 -0
  352. package/build-module/layouts/flex.js.map +1 -1
  353. package/build-module/layouts/grid.js +3 -0
  354. package/build-module/layouts/grid.js.map +1 -1
  355. package/build-module/private-apis.js +4 -3
  356. package/build-module/private-apis.js.map +1 -1
  357. package/build-module/store/actions.js +9 -1
  358. package/build-module/store/actions.js.map +1 -1
  359. package/build-module/store/private-selectors.js +27 -0
  360. package/build-module/store/private-selectors.js.map +1 -1
  361. package/build-module/store/reducer.js +9 -1
  362. package/build-module/store/reducer.js.map +1 -1
  363. package/build-module/store/selectors.js +4 -4
  364. package/build-module/store/selectors.js.map +1 -1
  365. package/build-module/utils/block-bindings.js +105 -0
  366. package/build-module/utils/block-bindings.js.map +1 -0
  367. package/build-module/utils/get-editor-region.js +1 -1
  368. package/build-module/utils/get-editor-region.js.map +1 -1
  369. package/build-module/utils/get-px-from-css-unit.js +1 -1
  370. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  371. package/build-style/content-rtl.css +12 -26
  372. package/build-style/content.css +12 -26
  373. package/build-style/default-editor-styles-rtl.css +5 -2
  374. package/build-style/default-editor-styles.css +5 -2
  375. package/build-style/style-rtl.css +123 -83
  376. package/build-style/style.css +123 -83
  377. package/package.json +32 -32
  378. package/src/autocompleters/block.js +2 -1
  379. package/src/autocompleters/style.scss +4 -0
  380. package/src/components/block-breadcrumb/index.js +4 -2
  381. package/src/components/block-canvas/style.scss +1 -0
  382. package/src/components/block-draggable/index.js +3 -3
  383. package/src/components/block-list/content.scss +5 -13
  384. package/src/components/block-list/use-block-props/index.js +2 -2
  385. package/src/components/block-list/use-block-props/use-block-refs.js +27 -43
  386. package/src/components/block-list/use-in-between-inserter.js +17 -5
  387. package/src/components/block-mover/index.js +5 -2
  388. package/src/components/block-popover/cover.js +1 -1
  389. package/src/components/block-popover/inbetween.js +1 -1
  390. package/src/components/block-popover/index.js +1 -1
  391. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  392. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  393. package/src/components/block-tools/block-selection-button.js +1 -2
  394. package/src/components/block-tools/index.js +5 -6
  395. package/src/components/block-tools/insertion-point.js +11 -0
  396. package/src/components/block-tools/style.scss +1 -1
  397. package/src/components/block-tools/use-block-toolbar-popover-props.js +1 -1
  398. package/src/components/block-tools/use-show-block-tools.js +4 -1
  399. package/src/components/block-tools/zoom-out-mode-inserters.js +21 -19
  400. package/src/components/block-tools/zoom-out-toolbar.js +0 -1
  401. package/src/components/block-variation-transforms/style.scss +1 -1
  402. package/src/components/border-radius-control/index.js +1 -0
  403. package/src/components/border-radius-control/style.scss +0 -10
  404. package/src/components/button-block-appender/content.scss +1 -1
  405. package/src/components/child-layout-control/index.js +2 -0
  406. package/src/components/color-palette/test/__snapshots__/control.js.snap +2 -2
  407. package/src/components/colors-gradients/test/control.js +3 -2
  408. package/src/components/convert-to-group-buttons/index.js +1 -1
  409. package/src/components/date-format-picker/index.js +2 -0
  410. package/src/components/dimensions-tool/scale-tool.js +1 -0
  411. package/src/components/font-appearance-control/index.js +3 -0
  412. package/src/components/font-family/README.md +17 -0
  413. package/src/components/font-family/index.js +19 -0
  414. package/src/components/font-family/stories/index.story.js +54 -0
  415. package/src/components/global-styles/background-panel.js +180 -93
  416. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  417. package/src/components/global-styles/hooks.js +0 -5
  418. package/src/components/global-styles/image-settings-panel.js +1 -0
  419. package/src/components/global-styles/index.js +0 -1
  420. package/src/components/global-styles/style.scss +13 -12
  421. package/src/components/global-styles/test/use-global-styles-output.js +68 -7
  422. package/src/components/global-styles/test/utils.js +120 -0
  423. package/src/components/global-styles/typography-panel.js +0 -1
  424. package/src/components/global-styles/use-global-styles-output.js +71 -53
  425. package/src/components/global-styles/utils.js +90 -0
  426. package/src/components/grid/grid-item-movers.js +46 -44
  427. package/src/components/grid/grid-item-resizer.js +11 -17
  428. package/src/components/grid/grid-visualizer.js +23 -8
  429. package/src/components/grid/style.scss +60 -10
  430. package/src/components/grid/use-grid-layout-sync.js +68 -14
  431. package/src/components/height-control/index.js +1 -0
  432. package/src/components/iframe/content.scss +2 -2
  433. package/src/components/iframe/index.js +1 -3
  434. package/src/components/image-editor/zoom-dropdown.js +17 -9
  435. package/src/components/inner-blocks/button-block-appender.js +5 -7
  436. package/src/components/inner-blocks/default-block-appender.js +4 -23
  437. package/src/components/inner-blocks/index.js +10 -9
  438. package/src/components/inserter/category-tabs/index.js +35 -2
  439. package/src/components/inserter/library.js +2 -0
  440. package/src/components/inserter/menu.js +34 -29
  441. package/src/components/inserter/quick-inserter.js +4 -1
  442. package/src/components/inserter/style.scss +17 -12
  443. package/src/components/inserter-list-item/style.scss +1 -0
  444. package/src/components/inspector-controls/README.md +5 -0
  445. package/src/components/line-height-control/README.md +4 -5
  446. package/src/components/line-height-control/index.js +4 -21
  447. package/src/components/line-height-control/stories/index.story.js +0 -1
  448. package/src/components/line-height-control/test/index.js +1 -7
  449. package/src/components/link-control/search-input.js +0 -1
  450. package/src/components/link-control/style.scss +1 -1
  451. package/src/components/media-placeholder/index.js +12 -7
  452. package/src/components/media-replace-flow/README.md +7 -0
  453. package/src/components/media-replace-flow/index.js +3 -1
  454. package/src/components/media-upload/README.md +2 -0
  455. package/src/components/media-upload/index.native.js +2 -0
  456. package/src/components/multi-selection-inspector/index.js +8 -9
  457. package/src/components/resolution-tool/index.js +1 -0
  458. package/src/components/responsive-block-control/README.md +1 -0
  459. package/src/components/responsive-block-control/test/index.js +6 -1
  460. package/src/components/skip-to-selected-block/index.js +5 -3
  461. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +11 -10
  462. package/src/components/spacing-sizes-control/style.scss +16 -16
  463. package/src/components/tabbed-sidebar/style.scss +1 -19
  464. package/src/components/text-alignment-control/index.js +20 -8
  465. package/src/components/text-decoration-control/index.js +20 -8
  466. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  467. package/src/components/text-transform-control/index.js +20 -8
  468. package/src/components/text-transform-control/stories/index.story.js +0 -4
  469. package/src/components/url-input/README.md +0 -5
  470. package/src/components/url-input/button.js +0 -1
  471. package/src/components/url-input/index.js +1 -15
  472. package/src/components/url-input/style.scss +2 -2
  473. package/src/components/url-popover/image-url-input-ui.js +2 -0
  474. package/src/components/url-popover/link-editor.js +0 -1
  475. package/src/components/use-block-drop-zone/index.js +86 -16
  476. package/src/components/use-on-block-drop/index.js +1 -9
  477. package/src/components/use-resize-canvas/index.js +1 -3
  478. package/src/components/use-settings/index.js +2 -1
  479. package/src/components/writing-mode-control/index.js +20 -8
  480. package/src/hooks/background.js +21 -27
  481. package/src/hooks/block-bindings.js +248 -54
  482. package/src/hooks/block-bindings.scss +13 -2
  483. package/src/hooks/block-hooks.js +1 -0
  484. package/src/hooks/block-hooks.scss +1 -0
  485. package/src/hooks/block-style-variation.js +3 -3
  486. package/src/hooks/contrast-checker.js +7 -7
  487. package/src/hooks/duotone.js +4 -4
  488. package/src/hooks/index.js +2 -1
  489. package/src/hooks/line-height.js +0 -1
  490. package/src/hooks/spacing-visualizer.js +1 -1
  491. package/src/hooks/test/background.js +60 -0
  492. package/src/hooks/use-bindings-attributes.js +4 -0
  493. package/src/hooks/use-editor-wrapper-styles.native.scss +1 -0
  494. package/src/hooks/use-zoom-out.js +1 -1
  495. package/src/hooks/utils.js +14 -1
  496. package/src/index.js +1 -0
  497. package/src/layouts/constrained.js +1 -0
  498. package/src/layouts/flex.js +2 -0
  499. package/src/layouts/grid.js +3 -0
  500. package/src/private-apis.js +3 -2
  501. package/src/store/actions.js +13 -5
  502. package/src/store/private-selectors.js +36 -0
  503. package/src/store/reducer.js +7 -0
  504. package/src/store/selectors.js +4 -4
  505. package/src/store/test/private-selectors.js +89 -0
  506. package/src/style.scss +1 -2
  507. package/src/utils/block-bindings.js +98 -0
  508. package/src/utils/get-editor-region.js +1 -1
  509. package/src/utils/get-px-from-css-unit.js +1 -1
  510. package/src/utils/test/transform-styles.js +49 -0
  511. package/tsconfig.tsbuildinfo +1 -1
  512. package/build/components/global-styles/theme-file-uri-utils.js +0 -80
  513. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  514. package/build/components/inner-blocks/with-client-id.js +0 -28
  515. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  516. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -30
  517. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  518. package/build/components/segmented-text-control/index.js +0 -63
  519. package/build/components/segmented-text-control/index.js.map +0 -1
  520. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -73
  521. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  522. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  523. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  524. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -23
  525. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +0 -1
  526. package/build-module/components/segmented-text-control/index.js +0 -58
  527. package/build-module/components/segmented-text-control/index.js.map +0 -1
  528. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -66
  529. package/src/components/global-styles/theme-file-uri-utils.js +0 -77
  530. package/src/components/inner-blocks/with-client-id.js +0 -19
  531. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +0 -25
  532. package/src/components/segmented-text-control/index.js +0 -63
  533. package/src/components/segmented-text-control/style.scss +0 -15
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_components","_data","_i18n","_blockDraggable","_button","_store","_jsxRuntime","BlockMover","clientIds","hideDragHandle","isBlockMoverUpButtonDisabled","isBlockMoverDownButtonDisabled","canMove","rootClientId","isFirst","isLast","orientation","isManualGrid","useSelect","select","_getBlockAttributes","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","getBlockAttributes","blockEditorStore","normalizedClientIds","Array","isArray","firstClientId","_rootClientId","firstIndex","lastIndex","length","blockOrder","layout","type","isManualPlacement","window","__experimentalEnableGridInteractivity","jsxs","ToolbarGroup","className","clsx","children","jsx","default","fadeWhenDisabled","draggableProps","Button","icon","dragHandle","label","__","tabIndex","ToolbarItem","itemProps","BlockMoverUpButton","disabled","BlockMoverDownButton","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( {\n\tclientIds,\n\thideDragHandle,\n\tisBlockMoverUpButtonDisabled,\n\tisBlockMoverDownButtonDisabled,\n} ) {\n\tconst {\n\t\tcanMove,\n\t\trootClientId,\n\t\tisFirst,\n\t\tisLast,\n\t\torientation,\n\t\tisManualGrid,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t\t? clientIds\n\t\t\t\t: [ clientIds ];\n\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\tconst _rootClientId = getBlockRootClientId( firstClientId );\n\t\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\t\tconst lastIndex = getBlockIndex(\n\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( _rootClientId );\n\t\t\tconst { layout = {} } = getBlockAttributes( _rootClientId ) ?? {};\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds ),\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisFirst: firstIndex === 0,\n\t\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\t\torientation: getBlockListSettings( _rootClientId )?.orientation,\n\t\t\t\tisManualGrid:\n\t\t\t\t\tlayout.type === 'grid' &&\n\t\t\t\t\tlayout.isManualPlacement &&\n\t\t\t\t\twindow.__experimentalEnableGridInteractivity,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolbarGroup\n\t\t\tclassName={ clsx( 'block-editor-block-mover', {\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable clientIds={ clientIds } fadeWhenDisabled>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ __( 'Drag' ) }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t{ ! isManualGrid && (\n\t\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\tdisabled={ isBlockMoverUpButtonDisabled }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\tdisabled={ isBlockMoverDownButtonDisabled }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</ToolbarGroup>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default BlockMover;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_components","_data","_i18n","_blockDraggable","_button","_store","_jsxRuntime","BlockMover","clientIds","hideDragHandle","isBlockMoverUpButtonDisabled","isBlockMoverDownButtonDisabled","canMove","rootClientId","isFirst","isLast","orientation","isManualGrid","useSelect","select","_getBlockAttributes","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","getBlockAttributes","blockEditorStore","normalizedClientIds","Array","isArray","firstClientId","_rootClientId","firstIndex","lastIndex","length","blockOrder","layout","type","isManualPlacement","window","__experimentalEnableGridInteractivity","jsxs","ToolbarGroup","className","clsx","children","jsx","default","fadeWhenDisabled","draggableProps","Button","icon","dragHandle","label","__","tabIndex","ToolbarItem","itemProps","BlockMoverUpButton","disabled","BlockMoverDownButton","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( {\n\tclientIds,\n\thideDragHandle,\n\tisBlockMoverUpButtonDisabled,\n\tisBlockMoverDownButtonDisabled,\n} ) {\n\tconst {\n\t\tcanMove,\n\t\trootClientId,\n\t\tisFirst,\n\t\tisLast,\n\t\torientation,\n\t\tisManualGrid,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t\t? clientIds\n\t\t\t\t: [ clientIds ];\n\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\tconst _rootClientId = getBlockRootClientId( firstClientId );\n\t\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\t\tconst lastIndex = getBlockIndex(\n\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( _rootClientId );\n\t\t\tconst { layout = {} } = getBlockAttributes( _rootClientId ) ?? {};\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds ),\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisFirst: firstIndex === 0,\n\t\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\t\torientation: getBlockListSettings( _rootClientId )?.orientation,\n\t\t\t\tisManualGrid:\n\t\t\t\t\tlayout.type === 'grid' &&\n\t\t\t\t\tlayout.isManualPlacement &&\n\t\t\t\t\twindow.__experimentalEnableGridInteractivity,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tif (\n\t\t! canMove ||\n\t\t( isFirst && isLast && ! rootClientId ) ||\n\t\t( hideDragHandle && isManualGrid )\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToolbarGroup\n\t\t\tclassName={ clsx( 'block-editor-block-mover', {\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable clientIds={ clientIds } fadeWhenDisabled>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\tlabel={ __( 'Drag' ) }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t{ ! isManualGrid && (\n\t\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\tdisabled={ isBlockMoverUpButtonDisabled }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\tdisabled={ isBlockMoverDownButtonDisabled }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</ToolbarGroup>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default BlockMover;\n"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,7 @@ function BlockPopoverCover({
26
26
  }, ref) {
27
27
  var _bottomClientId;
28
28
  (_bottomClientId = bottomClientId) !== null && _bottomClientId !== void 0 ? _bottomClientId : bottomClientId = clientId;
29
- const selectedElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
29
+ const selectedElement = (0, _useBlockRefs.useBlockElement)(clientId);
30
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.PrivateBlockPopover, {
31
31
  ref: ref,
32
32
  clientId: clientId,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_useBlockRefs","_","_jsxRuntime","BlockPopoverCover","clientId","bottomClientId","children","shift","additionalStyles","props","ref","_bottomClientId","selectedElement","useBlockElement","jsx","PrivateBlockPopover","CoverContainer","width","setWidth","useState","offsetWidth","height","setHeight","offsetHeight","useEffect","observer","window","ResizeObserver","observe","box","disconnect","style","useMemo","position","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/block-popover/cover.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport { PrivateBlockPopover } from '.';\n\nfunction BlockPopoverCover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\tshift = false,\n\t\tadditionalStyles,\n\t\t...props\n\t},\n\tref\n) {\n\tbottomClientId ??= clientId;\n\n\tconst selectedElement = useBlockElement( clientId );\n\n\treturn (\n\t\t<PrivateBlockPopover\n\t\t\tref={ ref }\n\t\t\tclientId={ clientId }\n\t\t\tbottomClientId={ bottomClientId }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ selectedElement && clientId === bottomClientId ? (\n\t\t\t\t<CoverContainer\n\t\t\t\t\tselectedElement={ selectedElement }\n\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</CoverContainer>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t) }\n\t\t</PrivateBlockPopover>\n\t);\n}\n\nfunction CoverContainer( {\n\tselectedElement,\n\tadditionalStyles = {},\n\tchildren,\n} ) {\n\tconst [ width, setWidth ] = useState( selectedElement.offsetWidth );\n\tconst [ height, setHeight ] = useState( selectedElement.offsetHeight );\n\n\tuseEffect( () => {\n\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\tsetWidth( selectedElement.offsetWidth );\n\t\t\tsetHeight( selectedElement.offsetHeight );\n\t\t} );\n\t\tobserver.observe( selectedElement, { box: 'border-box' } );\n\t\treturn () => observer.disconnect();\n\t}, [ selectedElement ] );\n\n\tconst style = useMemo( () => {\n\t\treturn {\n\t\t\tposition: 'absolute',\n\t\t\twidth,\n\t\t\theight,\n\t\t\t...additionalStyles,\n\t\t};\n\t}, [ width, height, additionalStyles ] );\n\n\treturn <div style={ style }>{ children }</div>;\n}\n\nexport default forwardRef( BlockPopoverCover );\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAAwC,IAAAG,WAAA,GAAAH,OAAA;AATxC;AACA;AACA;;AAGA;AACA;AACA;;AAIA,SAASI,iBAAiBA,CACzB;EACCC,QAAQ;EACRC,cAAc;EACdC,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,gBAAgB;EAChB,GAAGC;AACJ,CAAC,EACDC,GAAG,EACF;EAAA,IAAAC,eAAA;EACD,CAAAA,eAAA,GAAAN,cAAc,cAAAM,eAAA,cAAAA,eAAA,GAAdN,cAAc,GAAKD,QAAQ;EAE3B,MAAMQ,eAAe,GAAG,IAAAC,uCAAe,EAAET,QAAS,CAAC;EAEnD,oBACC,IAAAF,WAAA,CAAAY,GAAA,EAACb,CAAA,CAAAc,mBAAmB;IACnBL,GAAG,EAAGA,GAAK;IACXN,QAAQ,EAAGA,QAAU;IACrBC,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IAAA,GACVE,KAAK;IAAAH,QAAA,EAERM,eAAe,IAAIR,QAAQ,KAAKC,cAAc,gBAC/C,IAAAH,WAAA,CAAAY,GAAA,EAACE,cAAc;MACdJ,eAAe,EAAGA,eAAiB;MACnCJ,gBAAgB,EAAGA,gBAAkB;MAAAF,QAAA,EAEnCA;IAAQ,CACK,CAAC,GAEjBA;EACA,CACmB,CAAC;AAExB;AAEA,SAASU,cAAcA,CAAE;EACxBJ,eAAe;EACfJ,gBAAgB,GAAG,CAAC,CAAC;EACrBF;AACD,CAAC,EAAG;EACH,MAAM,CAAEW,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAEP,eAAe,CAACQ,WAAY,CAAC;EACnE,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAH,iBAAQ,EAAEP,eAAe,CAACW,YAAa,CAAC;EAEtE,IAAAC,kBAAS,EAAE,MAAM;IAChB,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAACC,cAAc,CAAE,MAAM;MACjDT,QAAQ,CAAEN,eAAe,CAACQ,WAAY,CAAC;MACvCE,SAAS,CAAEV,eAAe,CAACW,YAAa,CAAC;IAC1C,CAAE,CAAC;IACHE,QAAQ,CAACG,OAAO,CAAEhB,eAAe,EAAE;MAAEiB,GAAG,EAAE;IAAa,CAAE,CAAC;IAC1D,OAAO,MAAMJ,QAAQ,CAACK,UAAU,CAAC,CAAC;EACnC,CAAC,EAAE,CAAElB,eAAe,CAAG,CAAC;EAExB,MAAMmB,KAAK,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC5B,OAAO;MACNC,QAAQ,EAAE,UAAU;MACpBhB,KAAK;MACLI,MAAM;MACN,GAAGb;IACJ,CAAC;EACF,CAAC,EAAE,CAAES,KAAK,EAAEI,MAAM,EAAEb,gBAAgB,CAAG,CAAC;EAExC,oBAAO,IAAAN,WAAA,CAAAY,GAAA;IAAKiB,KAAK,EAAGA,KAAO;IAAAzB,QAAA,EAAGA;EAAQ,CAAO,CAAC;AAC/C;AAAC,IAAA4B,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAElC,iBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_useBlockRefs","_","_jsxRuntime","BlockPopoverCover","clientId","bottomClientId","children","shift","additionalStyles","props","ref","_bottomClientId","selectedElement","useBlockElement","jsx","PrivateBlockPopover","CoverContainer","width","setWidth","useState","offsetWidth","height","setHeight","offsetHeight","useEffect","observer","window","ResizeObserver","observe","box","disconnect","style","useMemo","position","_default","exports","default","forwardRef"],"sources":["@wordpress/block-editor/src/components/block-popover/cover.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport { PrivateBlockPopover } from '.';\n\nfunction BlockPopoverCover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\tshift = false,\n\t\tadditionalStyles,\n\t\t...props\n\t},\n\tref\n) {\n\tbottomClientId ??= clientId;\n\n\tconst selectedElement = useBlockElement( clientId );\n\n\treturn (\n\t\t<PrivateBlockPopover\n\t\t\tref={ ref }\n\t\t\tclientId={ clientId }\n\t\t\tbottomClientId={ bottomClientId }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ selectedElement && clientId === bottomClientId ? (\n\t\t\t\t<CoverContainer\n\t\t\t\t\tselectedElement={ selectedElement }\n\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</CoverContainer>\n\t\t\t) : (\n\t\t\t\tchildren\n\t\t\t) }\n\t\t</PrivateBlockPopover>\n\t);\n}\n\nfunction CoverContainer( {\n\tselectedElement,\n\tadditionalStyles = {},\n\tchildren,\n} ) {\n\tconst [ width, setWidth ] = useState( selectedElement.offsetWidth );\n\tconst [ height, setHeight ] = useState( selectedElement.offsetHeight );\n\n\tuseEffect( () => {\n\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\tsetWidth( selectedElement.offsetWidth );\n\t\t\tsetHeight( selectedElement.offsetHeight );\n\t\t} );\n\t\tobserver.observe( selectedElement, { box: 'border-box' } );\n\t\treturn () => observer.disconnect();\n\t}, [ selectedElement ] );\n\n\tconst style = useMemo( () => {\n\t\treturn {\n\t\t\tposition: 'absolute',\n\t\t\twidth,\n\t\t\theight,\n\t\t\t...additionalStyles,\n\t\t};\n\t}, [ width, height, additionalStyles ] );\n\n\treturn <div style={ style }>{ children }</div>;\n}\n\nexport default forwardRef( BlockPopoverCover );\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAAwC,IAAAG,WAAA,GAAAH,OAAA;AATxC;AACA;AACA;;AAGA;AACA;AACA;;AAIA,SAASI,iBAAiBA,CACzB;EACCC,QAAQ;EACRC,cAAc;EACdC,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,gBAAgB;EAChB,GAAGC;AACJ,CAAC,EACDC,GAAG,EACF;EAAA,IAAAC,eAAA;EACD,CAAAA,eAAA,GAAAN,cAAc,cAAAM,eAAA,cAAAA,eAAA,GAAdN,cAAc,GAAKD,QAAQ;EAE3B,MAAMQ,eAAe,GAAG,IAAAC,6BAAe,EAAET,QAAS,CAAC;EAEnD,oBACC,IAAAF,WAAA,CAAAY,GAAA,EAACb,CAAA,CAAAc,mBAAmB;IACnBL,GAAG,EAAGA,GAAK;IACXN,QAAQ,EAAGA,QAAU;IACrBC,cAAc,EAAGA,cAAgB;IACjCE,KAAK,EAAGA,KAAO;IAAA,GACVE,KAAK;IAAAH,QAAA,EAERM,eAAe,IAAIR,QAAQ,KAAKC,cAAc,gBAC/C,IAAAH,WAAA,CAAAY,GAAA,EAACE,cAAc;MACdJ,eAAe,EAAGA,eAAiB;MACnCJ,gBAAgB,EAAGA,gBAAkB;MAAAF,QAAA,EAEnCA;IAAQ,CACK,CAAC,GAEjBA;EACA,CACmB,CAAC;AAExB;AAEA,SAASU,cAAcA,CAAE;EACxBJ,eAAe;EACfJ,gBAAgB,GAAG,CAAC,CAAC;EACrBF;AACD,CAAC,EAAG;EACH,MAAM,CAAEW,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAEP,eAAe,CAACQ,WAAY,CAAC;EACnE,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAH,iBAAQ,EAAEP,eAAe,CAACW,YAAa,CAAC;EAEtE,IAAAC,kBAAS,EAAE,MAAM;IAChB,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAACC,cAAc,CAAE,MAAM;MACjDT,QAAQ,CAAEN,eAAe,CAACQ,WAAY,CAAC;MACvCE,SAAS,CAAEV,eAAe,CAACW,YAAa,CAAC;IAC1C,CAAE,CAAC;IACHE,QAAQ,CAACG,OAAO,CAAEhB,eAAe,EAAE;MAAEiB,GAAG,EAAE;IAAa,CAAE,CAAC;IAC1D,OAAO,MAAMJ,QAAQ,CAACK,UAAU,CAAC,CAAC;EACnC,CAAC,EAAE,CAAElB,eAAe,CAAG,CAAC;EAExB,MAAMmB,KAAK,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC5B,OAAO;MACNC,QAAQ,EAAE,UAAU;MACpBhB,KAAK;MACLI,MAAM;MACN,GAAGb;IACJ,CAAC;EACF,CAAC,EAAE,CAAES,KAAK,EAAEI,MAAM,EAAEb,gBAAgB,CAAG,CAAC;EAExC,oBAAO,IAAAN,WAAA,CAAAY,GAAA;IAAKiB,KAAK,EAAGA,KAAO;IAAAzB,QAAA,EAAGA;EAAQ,CAAO,CAAC;AAC/C;AAAC,IAAA4B,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,mBAAU,EAAElC,iBAAkB,CAAC","ignoreList":[]}
@@ -59,8 +59,8 @@ function BlockPopoverInbetween({
59
59
  isVisible: isBlockVisible(previousClientId) && isBlockVisible(nextClientId)
60
60
  };
61
61
  }, [previousClientId, nextClientId]);
62
- const previousElement = (0, _useBlockRefs.__unstableUseBlockElement)(previousClientId);
63
- const nextElement = (0, _useBlockRefs.__unstableUseBlockElement)(nextClientId);
62
+ const previousElement = (0, _useBlockRefs.useBlockElement)(previousClientId);
63
+ const nextElement = (0, _useBlockRefs.useBlockElement)(nextClientId);
64
64
  const isVertical = orientation === 'vertical';
65
65
  const popoverAnchor = (0, _element.useMemo)(() => {
66
66
  if (
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_element","_components","_i18n","_store","_useBlockRefs","_usePopoverScroll","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","InsertionPointOpenRef","exports","createContext","BlockPopoverInbetween","previousClientId","nextClientId","children","__unstablePopoverSlot","__unstableContentRef","operation","nearestSide","props","popoverRecomputeCounter","forcePopoverRecompute","useReducer","s","orientation","rootClientId","isVisible","useSelect","select","getBlockListSettings","getBlockRootClientId","isBlockVisible","blockEditorStore","_rootClientId","previousElement","useBlockElement","nextElement","isVertical","popoverAnchor","useMemo","undefined","contextElement","getBoundingClientRect","previousRect","nextRect","left","top","width","height","targetRect","bottom","right","isRTL","window","DOMRect","popoverScrollRef","usePopoverScroll","useLayoutEffect","observer","MutationObserver","observe","attributes","disconnect","ownerDocument","defaultView","addEventListener","removeEventListener","jsx","Popover","ref","animate","anchor","focusOnMount","__unstableSlotName","inline","className","clsx","resize","flip","placement","variant","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/inbetween.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tcreateContext,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { Popover } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction BlockPopoverInbetween( {\n\tpreviousClientId,\n\tnextClientId,\n\tchildren,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n\toperation = 'insert',\n\tnearestSide = 'right',\n\t...props\n} ) {\n\t// This is a temporary hack to get the inbetween inserter to recompute properly.\n\tconst [ popoverRecomputeCounter, forcePopoverRecompute ] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\tconst { orientation, rootClientId, isVisible } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tisBlockVisible,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId(\n\t\t\t\tpreviousClientId ?? nextClientId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\torientation:\n\t\t\t\t\tgetBlockListSettings( _rootClientId )?.orientation ||\n\t\t\t\t\t'vertical',\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible:\n\t\t\t\t\tisBlockVisible( previousClientId ) &&\n\t\t\t\t\tisBlockVisible( nextClientId ),\n\t\t\t};\n\t\t},\n\t\t[ previousClientId, nextClientId ]\n\t);\n\tconst previousElement = useBlockElement( previousClientId );\n\tconst nextElement = useBlockElement( nextClientId );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverRecomputeCounter is by definition always equal or greater than 0.\n\t\t\t// This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverRecomputeCounter < 0 ||\n\t\t\t( ! previousElement && ! nextElement ) ||\n\t\t\t! isVisible\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst contextElement =\n\t\t\toperation === 'group'\n\t\t\t\t? nextElement || previousElement\n\t\t\t\t: previousElement || nextElement;\n\n\t\treturn {\n\t\t\tcontextElement,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst previousRect = previousElement\n\t\t\t\t\t? previousElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\t\t\t\tconst nextRect = nextElement\n\t\t\t\t\t? nextElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\n\t\t\t\tlet left = 0;\n\t\t\t\tlet top = 0;\n\t\t\t\tlet width = 0;\n\t\t\t\tlet height = 0;\n\n\t\t\t\tif ( operation === 'group' ) {\n\t\t\t\t\tconst targetRect = nextRect || previousRect;\n\t\t\t\t\ttop = targetRect.top;\n\t\t\t\t\t// No spacing is likely around blocks in this operation.\n\t\t\t\t\t// So width of the inserter containing rect is set to 0.\n\t\t\t\t\twidth = 0;\n\t\t\t\t\theight = targetRect.bottom - targetRect.top;\n\t\t\t\t\t// Popover calculates its distance from mid-block so some\n\t\t\t\t\t// adjustments are needed to make it appear in the right place.\n\t\t\t\t\tleft =\n\t\t\t\t\t\tnearestSide === 'left'\n\t\t\t\t\t\t\t? targetRect.left - 2\n\t\t\t\t\t\t\t: targetRect.right - 2;\n\t\t\t\t} else if ( isVertical ) {\n\t\t\t\t\t// vertical\n\t\t\t\t\ttop = previousRect ? previousRect.bottom : nextRect.top;\n\t\t\t\t\twidth = previousRect ? previousRect.width : nextRect.width;\n\t\t\t\t\theight =\n\t\t\t\t\t\tnextRect && previousRect\n\t\t\t\t\t\t\t? nextRect.top - previousRect.bottom\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tleft = previousRect ? previousRect.left : nextRect.left;\n\t\t\t\t} else {\n\t\t\t\t\ttop = previousRect ? previousRect.top : nextRect.top;\n\t\t\t\t\theight = previousRect\n\t\t\t\t\t\t? previousRect.height\n\t\t\t\t\t\t: nextRect.height;\n\n\t\t\t\t\tif ( isRTL() ) {\n\t\t\t\t\t\t// non vertical, rtl\n\t\t\t\t\t\tleft = nextRect ? nextRect.right : previousRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? previousRect.left - nextRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// non vertical, ltr\n\t\t\t\t\t\tleft = previousRect\n\t\t\t\t\t\t\t? previousRect.right\n\t\t\t\t\t\t\t: nextRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? nextRect.left - previousRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [\n\t\tpreviousElement,\n\t\tnextElement,\n\t\tpopoverRecomputeCounter,\n\t\tisVertical,\n\t\tisVisible,\n\t\toperation,\n\t\tnearestSide,\n\t] );\n\n\tconst popoverScrollRef = usePopoverScroll( __unstableContentRef );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\t// When blocks are moved up/down, their position can be set by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( previousElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ previousElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! nextElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( nextElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ nextElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tpreviousElement.ownerDocument.defaultView.addEventListener(\n\t\t\t'resize',\n\t\t\tforcePopoverRecompute\n\t\t);\n\t\treturn () => {\n\t\t\tpreviousElement.ownerDocument.defaultView?.removeEventListener(\n\t\t\t\t'resize',\n\t\t\t\tforcePopoverRecompute\n\t\t\t);\n\t\t};\n\t}, [ previousElement ] );\n\n\t// If there's either a previous or a next element, show the inbetween popover.\n\t// Note that drag and drop uses the inbetween popover to show the drop indicator\n\t// before the first block and after the last block.\n\tif ( ( ! previousElement && ! nextElement ) || ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t// While ideally it would be enough to capture the\n\t// bubbling focus event from the Inserter, due to the\n\t// characteristics of click focusing of `button`s in\n\t// Firefox and Safari, it is not reliable.\n\t//\n\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\treturn (\n\t\t<Popover\n\t\t\tref={ popoverScrollRef }\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\t// Forces a remount of the popover when its position changes\n\t\t\t// This makes sure the popover doesn't animate from its previous position.\n\t\t\tkey={ nextClientId + '--' + rootClientId }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\t'block-editor-block-popover__inbetween',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tplacement=\"overlay\"\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"block-editor-block-popover__inbetween-container\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</Popover>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n}\n\nexport default BlockPopoverInbetween;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_element","_components","_i18n","_store","_useBlockRefs","_usePopoverScroll","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","InsertionPointOpenRef","exports","createContext","BlockPopoverInbetween","previousClientId","nextClientId","children","__unstablePopoverSlot","__unstableContentRef","operation","nearestSide","props","popoverRecomputeCounter","forcePopoverRecompute","useReducer","s","orientation","rootClientId","isVisible","useSelect","select","getBlockListSettings","getBlockRootClientId","isBlockVisible","blockEditorStore","_rootClientId","previousElement","useBlockElement","nextElement","isVertical","popoverAnchor","useMemo","undefined","contextElement","getBoundingClientRect","previousRect","nextRect","left","top","width","height","targetRect","bottom","right","isRTL","window","DOMRect","popoverScrollRef","usePopoverScroll","useLayoutEffect","observer","MutationObserver","observe","attributes","disconnect","ownerDocument","defaultView","addEventListener","removeEventListener","jsx","Popover","ref","animate","anchor","focusOnMount","__unstableSlotName","inline","className","clsx","resize","flip","placement","variant","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/inbetween.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseMemo,\n\tcreateContext,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\nimport { Popover } from '@wordpress/components';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction BlockPopoverInbetween( {\n\tpreviousClientId,\n\tnextClientId,\n\tchildren,\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n\toperation = 'insert',\n\tnearestSide = 'right',\n\t...props\n} ) {\n\t// This is a temporary hack to get the inbetween inserter to recompute properly.\n\tconst [ popoverRecomputeCounter, forcePopoverRecompute ] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\tconst { orientation, rootClientId, isVisible } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tisBlockVisible,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _rootClientId = getBlockRootClientId(\n\t\t\t\tpreviousClientId ?? nextClientId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\torientation:\n\t\t\t\t\tgetBlockListSettings( _rootClientId )?.orientation ||\n\t\t\t\t\t'vertical',\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisVisible:\n\t\t\t\t\tisBlockVisible( previousClientId ) &&\n\t\t\t\t\tisBlockVisible( nextClientId ),\n\t\t\t};\n\t\t},\n\t\t[ previousClientId, nextClientId ]\n\t);\n\tconst previousElement = useBlockElement( previousClientId );\n\tconst nextElement = useBlockElement( nextClientId );\n\tconst isVertical = orientation === 'vertical';\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverRecomputeCounter is by definition always equal or greater than 0.\n\t\t\t// This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverRecomputeCounter < 0 ||\n\t\t\t( ! previousElement && ! nextElement ) ||\n\t\t\t! isVisible\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst contextElement =\n\t\t\toperation === 'group'\n\t\t\t\t? nextElement || previousElement\n\t\t\t\t: previousElement || nextElement;\n\n\t\treturn {\n\t\t\tcontextElement,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst previousRect = previousElement\n\t\t\t\t\t? previousElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\t\t\t\tconst nextRect = nextElement\n\t\t\t\t\t? nextElement.getBoundingClientRect()\n\t\t\t\t\t: null;\n\n\t\t\t\tlet left = 0;\n\t\t\t\tlet top = 0;\n\t\t\t\tlet width = 0;\n\t\t\t\tlet height = 0;\n\n\t\t\t\tif ( operation === 'group' ) {\n\t\t\t\t\tconst targetRect = nextRect || previousRect;\n\t\t\t\t\ttop = targetRect.top;\n\t\t\t\t\t// No spacing is likely around blocks in this operation.\n\t\t\t\t\t// So width of the inserter containing rect is set to 0.\n\t\t\t\t\twidth = 0;\n\t\t\t\t\theight = targetRect.bottom - targetRect.top;\n\t\t\t\t\t// Popover calculates its distance from mid-block so some\n\t\t\t\t\t// adjustments are needed to make it appear in the right place.\n\t\t\t\t\tleft =\n\t\t\t\t\t\tnearestSide === 'left'\n\t\t\t\t\t\t\t? targetRect.left - 2\n\t\t\t\t\t\t\t: targetRect.right - 2;\n\t\t\t\t} else if ( isVertical ) {\n\t\t\t\t\t// vertical\n\t\t\t\t\ttop = previousRect ? previousRect.bottom : nextRect.top;\n\t\t\t\t\twidth = previousRect ? previousRect.width : nextRect.width;\n\t\t\t\t\theight =\n\t\t\t\t\t\tnextRect && previousRect\n\t\t\t\t\t\t\t? nextRect.top - previousRect.bottom\n\t\t\t\t\t\t\t: 0;\n\t\t\t\t\tleft = previousRect ? previousRect.left : nextRect.left;\n\t\t\t\t} else {\n\t\t\t\t\ttop = previousRect ? previousRect.top : nextRect.top;\n\t\t\t\t\theight = previousRect\n\t\t\t\t\t\t? previousRect.height\n\t\t\t\t\t\t: nextRect.height;\n\n\t\t\t\t\tif ( isRTL() ) {\n\t\t\t\t\t\t// non vertical, rtl\n\t\t\t\t\t\tleft = nextRect ? nextRect.right : previousRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? previousRect.left - nextRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// non vertical, ltr\n\t\t\t\t\t\tleft = previousRect\n\t\t\t\t\t\t\t? previousRect.right\n\t\t\t\t\t\t\t: nextRect.left;\n\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\tpreviousRect && nextRect\n\t\t\t\t\t\t\t\t? nextRect.left - previousRect.right\n\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t};\n\t}, [\n\t\tpreviousElement,\n\t\tnextElement,\n\t\tpopoverRecomputeCounter,\n\t\tisVertical,\n\t\tisVisible,\n\t\toperation,\n\t\tnearestSide,\n\t] );\n\n\tconst popoverScrollRef = usePopoverScroll( __unstableContentRef );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\t// When blocks are moved up/down, their position can be set by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( previousElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ previousElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! nextElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( forcePopoverRecompute );\n\t\tobserver.observe( nextElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ nextElement ] );\n\n\tuseLayoutEffect( () => {\n\t\tif ( ! previousElement ) {\n\t\t\treturn;\n\t\t}\n\t\tpreviousElement.ownerDocument.defaultView.addEventListener(\n\t\t\t'resize',\n\t\t\tforcePopoverRecompute\n\t\t);\n\t\treturn () => {\n\t\t\tpreviousElement.ownerDocument.defaultView?.removeEventListener(\n\t\t\t\t'resize',\n\t\t\t\tforcePopoverRecompute\n\t\t\t);\n\t\t};\n\t}, [ previousElement ] );\n\n\t// If there's either a previous or a next element, show the inbetween popover.\n\t// Note that drag and drop uses the inbetween popover to show the drop indicator\n\t// before the first block and after the last block.\n\tif ( ( ! previousElement && ! nextElement ) || ! isVisible ) {\n\t\treturn null;\n\t}\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t// While ideally it would be enough to capture the\n\t// bubbling focus event from the Inserter, due to the\n\t// characteristics of click focusing of `button`s in\n\t// Firefox and Safari, it is not reliable.\n\t//\n\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\treturn (\n\t\t<Popover\n\t\t\tref={ popoverScrollRef }\n\t\t\tanimate={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ false }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\t// Forces a remount of the popover when its position changes\n\t\t\t// This makes sure the popover doesn't animate from its previous position.\n\t\t\tkey={ nextClientId + '--' + rootClientId }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\t'block-editor-block-popover__inbetween',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tplacement=\"overlay\"\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"block-editor-block-popover__inbetween-container\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</Popover>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n}\n\nexport default BlockPopoverInbetween;\n"],"mappings":"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","ignoreList":[]}
@@ -34,8 +34,8 @@ function BlockPopover({
34
34
  shift = true,
35
35
  ...props
36
36
  }, ref) {
37
- const selectedElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
38
- const lastSelectedElement = (0, _useBlockRefs.__unstableUseBlockElement)(bottomClientId !== null && bottomClientId !== void 0 ? bottomClientId : clientId);
37
+ const selectedElement = (0, _useBlockRefs.useBlockElement)(clientId);
38
+ const lastSelectedElement = (0, _useBlockRefs.useBlockElement)(bottomClientId !== null && bottomClientId !== void 0 ? bottomClientId : clientId);
39
39
  const mergedRefs = (0, _compose.useMergeRefs)([ref, (0, _usePopoverScroll.default)(__unstableContentRef)]);
40
40
  const [popoverDimensionsRecomputeCounter, forceRecomputePopoverDimensions] = (0, _element.useReducer)(
41
41
  // Module is there to make sure that the counter doesn't overflow.
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_useBlockRefs","_usePopoverScroll","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","useBlockElement","lastSelectedElement","mergedRefs","useMergeRefs","usePopoverScroll","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","useReducer","s","useLayoutEffect","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","useMemo","undefined","getBoundingClientRect","_lastSelectedBCR$left","_lastSelectedBCR$top","_lastSelectedBCR$righ","_lastSelectedBCR$bott","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","width","height","DOMRect","contextElement","jsx","Popover","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","clsx","variant","PrivateBlockPopover","exports","forwardRef","PublicBlockPopover","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\tcontextElement: selectedElement,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx( 'block-editor-block-popover', props.className ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ children }\n\t\t</Popover>\n\t);\n}\n\nexport const PrivateBlockPopover = forwardRef( BlockPopover );\n\nconst PublicBlockPopover = (\n\t{ clientId, bottomClientId, children, ...props },\n\tref\n) => (\n\t<PrivateBlockPopover\n\t\t{ ...props }\n\t\tbottomClientId={ bottomClientId }\n\t\tclientId={ clientId }\n\t\t__unstableContentRef={ undefined }\n\t\t__unstablePopoverSlot={ undefined }\n\t\tref={ ref }\n\t>\n\t\t{ children }\n\t</PrivateBlockPopover>\n);\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-popover/README.md\n */\nexport default forwardRef( PublicBlockPopover );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_useBlockRefs","_usePopoverScroll","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","useBlockElement","lastSelectedElement","mergedRefs","useMergeRefs","usePopoverScroll","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","useReducer","s","useLayoutEffect","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","useMemo","undefined","getBoundingClientRect","_lastSelectedBCR$left","_lastSelectedBCR$top","_lastSelectedBCR$righ","_lastSelectedBCR$bott","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","width","height","DOMRect","contextElement","jsx","Popover","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","clsx","variant","PrivateBlockPopover","exports","forwardRef","PublicBlockPopover","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\tcontextElement: selectedElement,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx( 'block-editor-block-popover', props.className ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ children }\n\t\t</Popover>\n\t);\n}\n\nexport const PrivateBlockPopover = forwardRef( BlockPopover );\n\nconst PublicBlockPopover = (\n\t{ clientId, bottomClientId, children, ...props },\n\tref\n) => (\n\t<PrivateBlockPopover\n\t\t{ ...props }\n\t\tbottomClientId={ bottomClientId }\n\t\tclientId={ clientId }\n\t\t__unstableContentRef={ undefined }\n\t\t__unstablePopoverSlot={ undefined }\n\t\tref={ ref }\n\t>\n\t\t{ children }\n\t</PrivateBlockPopover>\n);\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-popover/README.md\n */\nexport default forwardRef( PublicBlockPopover );\n"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.BlockModeToggle = BlockModeToggle;
7
- exports.default = void 0;
6
+ exports.default = BlockModeToggle;
8
7
  var _i18n = require("@wordpress/i18n");
9
8
  var _components = require("@wordpress/components");
10
9
  var _blocks = require("@wordpress/blocks");
11
10
  var _data = require("@wordpress/data");
12
- var _compose = require("@wordpress/compose");
13
11
  var _store = require("../../store");
14
12
  var _jsxRuntime = require("react/jsx-runtime");
15
13
  /**
@@ -22,43 +20,39 @@ var _jsxRuntime = require("react/jsx-runtime");
22
20
 
23
21
  const noop = () => {};
24
22
  function BlockModeToggle({
25
- blockType,
26
- mode,
27
- onToggleMode,
28
- small = false,
29
- isCodeEditingEnabled = true
23
+ clientId,
24
+ onToggle = noop
30
25
  }) {
26
+ const {
27
+ blockType,
28
+ mode,
29
+ isCodeEditingEnabled
30
+ } = (0, _data.useSelect)(select => {
31
+ const {
32
+ getBlock,
33
+ getBlockMode,
34
+ getSettings
35
+ } = select(_store.store);
36
+ const block = getBlock(clientId);
37
+ return {
38
+ mode: getBlockMode(clientId),
39
+ blockType: block ? (0, _blocks.getBlockType)(block.name) : null,
40
+ isCodeEditingEnabled: getSettings().codeEditingEnabled
41
+ };
42
+ }, [clientId]);
43
+ const {
44
+ toggleBlockMode
45
+ } = (0, _data.useDispatch)(_store.store);
31
46
  if (!blockType || !(0, _blocks.hasBlockSupport)(blockType, 'html', true) || !isCodeEditingEnabled) {
32
47
  return null;
33
48
  }
34
49
  const label = mode === 'visual' ? (0, _i18n.__)('Edit as HTML') : (0, _i18n.__)('Edit visually');
35
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
36
- onClick: onToggleMode,
37
- children: !small && label
51
+ onClick: () => {
52
+ toggleBlockMode(clientId);
53
+ onToggle();
54
+ },
55
+ children: label
38
56
  });
39
57
  }
40
- var _default = exports.default = (0, _compose.compose)([(0, _data.withSelect)((select, {
41
- clientId
42
- }) => {
43
- const {
44
- getBlock,
45
- getBlockMode,
46
- getSettings
47
- } = select(_store.store);
48
- const block = getBlock(clientId);
49
- const isCodeEditingEnabled = getSettings().codeEditingEnabled;
50
- return {
51
- mode: getBlockMode(clientId),
52
- blockType: block ? (0, _blocks.getBlockType)(block.name) : null,
53
- isCodeEditingEnabled
54
- };
55
- }), (0, _data.withDispatch)((dispatch, {
56
- onToggle = noop,
57
- clientId
58
- }) => ({
59
- onToggleMode() {
60
- dispatch(_store.store).toggleBlockMode(clientId);
61
- onToggle();
62
- }
63
- }))])(BlockModeToggle);
64
58
  //# sourceMappingURL=block-mode-toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blocks","_data","_compose","_store","_jsxRuntime","noop","BlockModeToggle","blockType","mode","onToggleMode","small","isCodeEditingEnabled","hasBlockSupport","label","__","jsx","MenuItem","onClick","children","_default","exports","default","compose","withSelect","select","clientId","getBlock","getBlockMode","getSettings","blockEditorStore","block","codeEditingEnabled","getBlockType","name","withDispatch","dispatch","onToggle","toggleBlockMode"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-mode-toggle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nexport function BlockModeToggle( {\n\tblockType,\n\tmode,\n\tonToggleMode,\n\tsmall = false,\n\tisCodeEditingEnabled = true,\n} ) {\n\tif (\n\t\t! blockType ||\n\t\t! hasBlockSupport( blockType, 'html', true ) ||\n\t\t! isCodeEditingEnabled\n\t) {\n\t\treturn null;\n\t}\n\n\tconst label =\n\t\tmode === 'visual' ? __( 'Edit as HTML' ) : __( 'Edit visually' );\n\n\treturn <MenuItem onClick={ onToggleMode }>{ ! small && label }</MenuItem>;\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock, getBlockMode, getSettings } =\n\t\t\tselect( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst isCodeEditingEnabled = getSettings().codeEditingEnabled;\n\n\t\treturn {\n\t\t\tmode: getBlockMode( clientId ),\n\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\tisCodeEditingEnabled,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { onToggle = noop, clientId } ) => ( {\n\t\tonToggleMode() {\n\t\t\tdispatch( blockEditorStore ).toggleBlockMode( clientId );\n\t\t\tonToggle();\n\t\t},\n\t} ) ),\n] )( BlockModeToggle );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAAwD,IAAAM,WAAA,GAAAN,OAAA;AAZxD;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAMO,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAEd,SAASC,eAAeA,CAAE;EAChCC,SAAS;EACTC,IAAI;EACJC,YAAY;EACZC,KAAK,GAAG,KAAK;EACbC,oBAAoB,GAAG;AACxB,CAAC,EAAG;EACH,IACC,CAAEJ,SAAS,IACX,CAAE,IAAAK,uBAAe,EAAEL,SAAS,EAAE,MAAM,EAAE,IAAK,CAAC,IAC5C,CAAEI,oBAAoB,EACrB;IACD,OAAO,IAAI;EACZ;EAEA,MAAME,KAAK,GACVL,IAAI,KAAK,QAAQ,GAAG,IAAAM,QAAE,EAAE,cAAe,CAAC,GAAG,IAAAA,QAAE,EAAE,eAAgB,CAAC;EAEjE,oBAAO,IAAAV,WAAA,CAAAW,GAAA,EAAChB,WAAA,CAAAiB,QAAQ;IAACC,OAAO,EAAGR,YAAc;IAAAS,QAAA,EAAG,CAAER,KAAK,IAAIG;EAAK,CAAY,CAAC;AAC1E;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,gBAAO,EAAE,CACvB,IAAAC,gBAAU,EAAE,CAAEC,MAAM,EAAE;EAAEC;AAAS,CAAC,KAAM;EACvC,MAAM;IAAEC,QAAQ;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAC5CJ,MAAM,CAAEK,YAAiB,CAAC;EAC3B,MAAMC,KAAK,GAAGJ,QAAQ,CAAED,QAAS,CAAC;EAClC,MAAMd,oBAAoB,GAAGiB,WAAW,CAAC,CAAC,CAACG,kBAAkB;EAE7D,OAAO;IACNvB,IAAI,EAAEmB,YAAY,CAAEF,QAAS,CAAC;IAC9BlB,SAAS,EAAEuB,KAAK,GAAG,IAAAE,oBAAY,EAAEF,KAAK,CAACG,IAAK,CAAC,GAAG,IAAI;IACpDtB;EACD,CAAC;AACF,CAAE,CAAC,EACH,IAAAuB,kBAAY,EAAE,CAAEC,QAAQ,EAAE;EAAEC,QAAQ,GAAG/B,IAAI;EAAEoB;AAAS,CAAC,MAAQ;EAC9DhB,YAAYA,CAAA,EAAG;IACd0B,QAAQ,CAAEN,YAAiB,CAAC,CAACQ,eAAe,CAAEZ,QAAS,CAAC;IACxDW,QAAQ,CAAC,CAAC;EACX;AACD,CAAC,CAAG,CAAC,CACJ,CAAC,CAAE9B,eAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blocks","_data","_store","_jsxRuntime","noop","BlockModeToggle","clientId","onToggle","blockType","mode","isCodeEditingEnabled","useSelect","select","getBlock","getBlockMode","getSettings","blockEditorStore","block","getBlockType","name","codeEditingEnabled","toggleBlockMode","useDispatch","hasBlockSupport","label","__","jsx","MenuItem","onClick","children"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-mode-toggle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nexport default function BlockModeToggle( { clientId, onToggle = noop } ) {\n\tconst { blockType, mode, isCodeEditingEnabled } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockMode, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\n\t\t\treturn {\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\t\tisCodeEditingEnabled: getSettings().codeEditingEnabled,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { toggleBlockMode } = useDispatch( blockEditorStore );\n\n\tif (\n\t\t! blockType ||\n\t\t! hasBlockSupport( blockType, 'html', true ) ||\n\t\t! isCodeEditingEnabled\n\t) {\n\t\treturn null;\n\t}\n\n\tconst label =\n\t\tmode === 'visual' ? __( 'Edit as HTML' ) : __( 'Edit visually' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\ttoggleBlockMode( clientId );\n\t\t\t\tonToggle();\n\t\t\t} }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAwD,IAAAK,WAAA,GAAAL,OAAA;AAXxD;AACA;AACA;;AAMA;AACA;AACA;;AAGA,MAAMM,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAEN,SAASC,eAAeA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ,GAAGH;AAAK,CAAC,EAAG;EACxE,MAAM;IAAEI,SAAS;IAAEC,IAAI;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EACxDC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC,YAAY;MAAEC;IAAY,CAAC,GAC5CH,MAAM,CAAEI,YAAiB,CAAC;IAC3B,MAAMC,KAAK,GAAGJ,QAAQ,CAAEP,QAAS,CAAC;IAElC,OAAO;MACNG,IAAI,EAAEK,YAAY,CAAER,QAAS,CAAC;MAC9BE,SAAS,EAAES,KAAK,GAAG,IAAAC,oBAAY,EAAED,KAAK,CAACE,IAAK,CAAC,GAAG,IAAI;MACpDT,oBAAoB,EAAEK,WAAW,CAAC,CAAC,CAACK;IACrC,CAAC;EACF,CAAC,EACD,CAAEd,QAAQ,CACX,CAAC;EACD,MAAM;IAAEe;EAAgB,CAAC,GAAG,IAAAC,iBAAW,EAAEN,YAAiB,CAAC;EAE3D,IACC,CAAER,SAAS,IACX,CAAE,IAAAe,uBAAe,EAAEf,SAAS,EAAE,MAAM,EAAE,IAAK,CAAC,IAC5C,CAAEE,oBAAoB,EACrB;IACD,OAAO,IAAI;EACZ;EAEA,MAAMc,KAAK,GACVf,IAAI,KAAK,QAAQ,GAAG,IAAAgB,QAAE,EAAE,cAAe,CAAC,GAAG,IAAAA,QAAE,EAAE,eAAgB,CAAC;EAEjE,oBACC,IAAAtB,WAAA,CAAAuB,GAAA,EAAC3B,WAAA,CAAA4B,QAAQ;IACRC,OAAO,EAAGA,CAAA,KAAM;MACfP,eAAe,CAAEf,QAAS,CAAC;MAC3BC,QAAQ,CAAC,CAAC;IACX,CAAG;IAAAsB,QAAA,EAEDL;EAAK,CACE,CAAC;AAEb","ignoreList":[]}
@@ -99,7 +99,7 @@ var _jsxRuntime = require("react/jsx-runtime");
99
99
  (0, _a11y.speak)(label);
100
100
  }
101
101
  }, [label, editorMode]);
102
- const blockElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
102
+ const blockElement = (0, _useBlockRefs.useBlockElement)(clientId);
103
103
  const {
104
104
  hasBlockMovingClientId,
105
105
  getBlockIndex,
@@ -224,7 +224,6 @@ var _jsxRuntime = require("react/jsx-runtime");
224
224
  children: draggableProps => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
225
225
  icon: _icons.dragHandle,
226
226
  className: "block-selection-button_drag-handle",
227
- "aria-hidden": "true",
228
227
  label: dragHandleLabel
229
228
  // Should not be able to tab to drag handle as this
230
229
  // button can only be used with a pointer device.
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_components","_data","_element","_keycodes","_blocks","_a11y","_dom","_i18n","_blockTitle","_blockIcon","_store","_blockDraggable","_useBlockRefs","_jsxRuntime","BlockSelectionButton","clientId","rootClientId","ref","selected","useSelect","select","getBlock","getBlockIndex","hasBlockMovingClientId","getBlockListSettings","__unstableGetEditorMode","getNextBlockClientId","getPreviousBlockClientId","canMoveBlock","blockEditorStore","getActiveBlockVariation","getBlockType","blocksStore","index","name","attributes","blockType","orientation","match","blockMovingMode","editorMode","icon","label","getAccessibleBlockLabel","canMove","setNavigationMode","removeBlock","useDispatch","useEffect","current","focus","speak","blockElement","useBlockElement","getBlockRootClientId","getClientIdsOfDescendants","getSelectedBlockClientId","getMultiSelectedBlocksEndClientId","selectBlock","clearSelectedBlock","setBlockMovingClientId","moveBlockToPosition","onKeyDown","event","keyCode","isUp","UP","isDown","DOWN","isLeft","LEFT","isRight","RIGHT","isTab","TAB","isEscape","ESCAPE","isEnter","ENTER","isSpace","SPACE","isShift","shiftKey","BACKSPACE","DELETE","preventDefault","selectedBlockClientId","selectionEndClientId","selectionBeforeEndClientId","selectionAfterEndClientId","navigateUp","navigateDown","navigateOut","navigateIn","focusedBlockUid","_getBlockRootClientId","_getClientIdsOfDescen","startingBlockClientId","defaultPrevented","sourceRoot","destRoot","sourceBlockIndex","destinationBlockIndex","nextTabbable","tabbable","findNext","contains","ownerDocument","defaultView","frameElement","findPrevious","classNames","clsx","dragHandleLabel","__","showBlockDraggable","jsx","className","children","jsxs","Flex","justify","FlexItem","default","showColors","clientIds","draggableProps","Button","dragHandle","tabIndex","onClick","undefined","showTooltip","maximumLength","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/block-tools/block-selection-button.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle } from '@wordpress/icons';\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport {\n\tBACKSPACE,\n\tDELETE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tTAB,\n\tESCAPE,\n\tENTER,\n\tSPACE,\n} from '@wordpress/keycodes';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport BlockDraggable from '../block-draggable';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\n\n/**\n * Block selection button component, displaying the label of the block. If the block\n * descends from a root block, a button is displayed enabling the user to select\n * the root block.\n *\n * @param {string} props Component props.\n * @param {string} props.clientId Client ID of block.\n * @param {Object} ref Reference to the component.\n *\n * @return {Component} The component to be rendered.\n */\nfunction BlockSelectionButton( { clientId, rootClientId }, ref ) {\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockIndex,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tcanMoveBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockType } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst { name, attributes } = getBlock( clientId );\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst orientation =\n\t\t\t\tgetBlockListSettings( rootClientId )?.orientation;\n\t\t\tconst match = getActiveBlockVariation( name, attributes );\n\n\t\t\treturn {\n\t\t\t\tblockMovingMode: hasBlockMovingClientId(),\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t\ticon: match?.icon || blockType.icon,\n\t\t\t\tlabel: getAccessibleBlockLabel(\n\t\t\t\t\tblockType,\n\t\t\t\t\tattributes,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\torientation\n\t\t\t\t),\n\t\t\t\tcanMove: canMoveBlock( clientId, rootClientId ),\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\tconst { label, icon, blockMovingMode, editorMode, canMove } = selected;\n\tconst { setNavigationMode, removeBlock } = useDispatch( blockEditorStore );\n\n\t// Focus the breadcrumb in navigation mode.\n\tuseEffect( () => {\n\t\tif ( editorMode === 'navigation' ) {\n\t\t\tref.current.focus();\n\t\t\tspeak( label );\n\t\t}\n\t}, [ label, editorMode ] );\n\tconst blockElement = useBlockElement( clientId );\n\n\tconst {\n\t\thasBlockMovingClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockRootClientId,\n\t\tgetClientIdsOfDescendants,\n\t\tgetSelectedBlockClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t\tsetBlockMovingClientId,\n\t\tmoveBlockToPosition,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\t\tconst isUp = keyCode === UP;\n\t\tconst isDown = keyCode === DOWN;\n\t\tconst isLeft = keyCode === LEFT;\n\t\tconst isRight = keyCode === RIGHT;\n\t\tconst isTab = keyCode === TAB;\n\t\tconst isEscape = keyCode === ESCAPE;\n\t\tconst isEnter = keyCode === ENTER;\n\t\tconst isSpace = keyCode === SPACE;\n\t\tconst isShift = event.shiftKey;\n\n\t\tif ( keyCode === BACKSPACE || keyCode === DELETE ) {\n\t\t\tremoveBlock( clientId );\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectionEndClientId = getMultiSelectedBlocksEndClientId();\n\t\tconst selectionBeforeEndClientId = getPreviousBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\t\tconst selectionAfterEndClientId = getNextBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\n\t\tconst navigateUp = ( isTab && isShift ) || isUp;\n\t\tconst navigateDown = ( isTab && ! isShift ) || isDown;\n\t\t// Move out of current nesting level (no effect if at root level).\n\t\tconst navigateOut = isLeft;\n\t\t// Move into next nesting level (no effect if the current block has no innerBlocks).\n\t\tconst navigateIn = isRight;\n\n\t\tlet focusedBlockUid;\n\t\tif ( navigateUp ) {\n\t\t\tfocusedBlockUid = selectionBeforeEndClientId;\n\t\t} else if ( navigateDown ) {\n\t\t\tfocusedBlockUid = selectionAfterEndClientId;\n\t\t} else if ( navigateOut ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetBlockRootClientId( selectedBlockClientId ) ??\n\t\t\t\tselectedBlockClientId;\n\t\t} else if ( navigateIn ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetClientIdsOfDescendants( selectedBlockClientId )[ 0 ] ??\n\t\t\t\tselectedBlockClientId;\n\t\t}\n\t\tconst startingBlockClientId = hasBlockMovingClientId();\n\t\tif ( isEscape && startingBlockClientId && ! event.defaultPrevented ) {\n\t\t\tsetBlockMovingClientId( null );\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tif ( ( isEnter || isSpace ) && startingBlockClientId ) {\n\t\t\tconst sourceRoot = getBlockRootClientId( startingBlockClientId );\n\t\t\tconst destRoot = getBlockRootClientId( selectedBlockClientId );\n\t\t\tconst sourceBlockIndex = getBlockIndex( startingBlockClientId );\n\t\t\tlet destinationBlockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tif (\n\t\t\t\tsourceBlockIndex < destinationBlockIndex &&\n\t\t\t\tsourceRoot === destRoot\n\t\t\t) {\n\t\t\t\tdestinationBlockIndex -= 1;\n\t\t\t}\n\t\t\tmoveBlockToPosition(\n\t\t\t\tstartingBlockClientId,\n\t\t\t\tsourceRoot,\n\t\t\t\tdestRoot,\n\t\t\t\tdestinationBlockIndex\n\t\t\t);\n\t\t\tselectBlock( startingBlockClientId );\n\t\t\tsetBlockMovingClientId( null );\n\t\t}\n\t\t// Prevent the block from being moved into itself.\n\t\tif (\n\t\t\tstartingBlockClientId &&\n\t\t\tselectedBlockClientId === startingBlockClientId &&\n\t\t\tnavigateIn\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif ( navigateDown || navigateUp || navigateOut || navigateIn ) {\n\t\t\tif ( focusedBlockUid ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectBlock( focusedBlockUid );\n\t\t\t} else if ( isTab && selectedBlockClientId ) {\n\t\t\t\tlet nextTabbable;\n\n\t\t\t\tif ( navigateDown ) {\n\t\t\t\t\tnextTabbable = blockElement;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t} while (\n\t\t\t\t\t\tnextTabbable &&\n\t\t\t\t\t\tblockElement.contains( nextTabbable )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! nextTabbable ) {\n\t\t\t\t\t\tnextTabbable =\n\t\t\t\t\t\t\tblockElement.ownerDocument.defaultView.frameElement;\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tnextTabbable = focus.tabbable.findPrevious( blockElement );\n\t\t\t\t}\n\n\t\t\t\tif ( nextTabbable ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnextTabbable.focus();\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst classNames = clsx(\n\t\t'block-editor-block-list__block-selection-button',\n\t\t{\n\t\t\t'is-block-moving-mode': !! blockMovingMode,\n\t\t}\n\t);\n\n\tconst dragHandleLabel = __( 'Drag' );\n\tconst showBlockDraggable = canMove && editorMode === 'navigation';\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t<Flex\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"block-editor-block-list__block-selection-button__content\"\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ showBlockDraggable && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockDraggable clientIds={ [ clientId ] }>\n\t\t\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\t\t\tclassName=\"block-selection-button_drag-handle\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockDraggable>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ editorMode === 'navigation' && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\teditorMode === 'navigation'\n\t\t\t\t\t\t\t\t\t? () => setNavigationMode( false )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\tclassName=\"block-selection-button_select-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( BlockSelectionButton );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_icons","_components","_data","_element","_keycodes","_blocks","_a11y","_dom","_i18n","_blockTitle","_blockIcon","_store","_blockDraggable","_useBlockRefs","_jsxRuntime","BlockSelectionButton","clientId","rootClientId","ref","selected","useSelect","select","getBlock","getBlockIndex","hasBlockMovingClientId","getBlockListSettings","__unstableGetEditorMode","getNextBlockClientId","getPreviousBlockClientId","canMoveBlock","blockEditorStore","getActiveBlockVariation","getBlockType","blocksStore","index","name","attributes","blockType","orientation","match","blockMovingMode","editorMode","icon","label","getAccessibleBlockLabel","canMove","setNavigationMode","removeBlock","useDispatch","useEffect","current","focus","speak","blockElement","useBlockElement","getBlockRootClientId","getClientIdsOfDescendants","getSelectedBlockClientId","getMultiSelectedBlocksEndClientId","selectBlock","clearSelectedBlock","setBlockMovingClientId","moveBlockToPosition","onKeyDown","event","keyCode","isUp","UP","isDown","DOWN","isLeft","LEFT","isRight","RIGHT","isTab","TAB","isEscape","ESCAPE","isEnter","ENTER","isSpace","SPACE","isShift","shiftKey","BACKSPACE","DELETE","preventDefault","selectedBlockClientId","selectionEndClientId","selectionBeforeEndClientId","selectionAfterEndClientId","navigateUp","navigateDown","navigateOut","navigateIn","focusedBlockUid","_getBlockRootClientId","_getClientIdsOfDescen","startingBlockClientId","defaultPrevented","sourceRoot","destRoot","sourceBlockIndex","destinationBlockIndex","nextTabbable","tabbable","findNext","contains","ownerDocument","defaultView","frameElement","findPrevious","classNames","clsx","dragHandleLabel","__","showBlockDraggable","jsx","className","children","jsxs","Flex","justify","FlexItem","default","showColors","clientIds","draggableProps","Button","dragHandle","tabIndex","onClick","undefined","showTooltip","maximumLength","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/block-tools/block-selection-button.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle } from '@wordpress/icons';\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef, useEffect } from '@wordpress/element';\nimport {\n\tBACKSPACE,\n\tDELETE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tTAB,\n\tESCAPE,\n\tENTER,\n\tSPACE,\n} from '@wordpress/keycodes';\nimport {\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport BlockDraggable from '../block-draggable';\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\n\n/**\n * Block selection button component, displaying the label of the block. If the block\n * descends from a root block, a button is displayed enabling the user to select\n * the root block.\n *\n * @param {string} props Component props.\n * @param {string} props.clientId Client ID of block.\n * @param {Object} ref Reference to the component.\n *\n * @return {Component} The component to be rendered.\n */\nfunction BlockSelectionButton( { clientId, rootClientId }, ref ) {\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockIndex,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tcanMoveBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getActiveBlockVariation, getBlockType } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst { name, attributes } = getBlock( clientId );\n\t\t\tconst blockType = getBlockType( name );\n\t\t\tconst orientation =\n\t\t\t\tgetBlockListSettings( rootClientId )?.orientation;\n\t\t\tconst match = getActiveBlockVariation( name, attributes );\n\n\t\t\treturn {\n\t\t\t\tblockMovingMode: hasBlockMovingClientId(),\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t\ticon: match?.icon || blockType.icon,\n\t\t\t\tlabel: getAccessibleBlockLabel(\n\t\t\t\t\tblockType,\n\t\t\t\t\tattributes,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\torientation\n\t\t\t\t),\n\t\t\t\tcanMove: canMoveBlock( clientId, rootClientId ),\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\tconst { label, icon, blockMovingMode, editorMode, canMove } = selected;\n\tconst { setNavigationMode, removeBlock } = useDispatch( blockEditorStore );\n\n\t// Focus the breadcrumb in navigation mode.\n\tuseEffect( () => {\n\t\tif ( editorMode === 'navigation' ) {\n\t\t\tref.current.focus();\n\t\t\tspeak( label );\n\t\t}\n\t}, [ label, editorMode ] );\n\tconst blockElement = useBlockElement( clientId );\n\n\tconst {\n\t\thasBlockMovingClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockRootClientId,\n\t\tgetClientIdsOfDescendants,\n\t\tgetSelectedBlockClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t\tsetBlockMovingClientId,\n\t\tmoveBlockToPosition,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\t\tconst isUp = keyCode === UP;\n\t\tconst isDown = keyCode === DOWN;\n\t\tconst isLeft = keyCode === LEFT;\n\t\tconst isRight = keyCode === RIGHT;\n\t\tconst isTab = keyCode === TAB;\n\t\tconst isEscape = keyCode === ESCAPE;\n\t\tconst isEnter = keyCode === ENTER;\n\t\tconst isSpace = keyCode === SPACE;\n\t\tconst isShift = event.shiftKey;\n\n\t\tif ( keyCode === BACKSPACE || keyCode === DELETE ) {\n\t\t\tremoveBlock( clientId );\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectionEndClientId = getMultiSelectedBlocksEndClientId();\n\t\tconst selectionBeforeEndClientId = getPreviousBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\t\tconst selectionAfterEndClientId = getNextBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\n\t\tconst navigateUp = ( isTab && isShift ) || isUp;\n\t\tconst navigateDown = ( isTab && ! isShift ) || isDown;\n\t\t// Move out of current nesting level (no effect if at root level).\n\t\tconst navigateOut = isLeft;\n\t\t// Move into next nesting level (no effect if the current block has no innerBlocks).\n\t\tconst navigateIn = isRight;\n\n\t\tlet focusedBlockUid;\n\t\tif ( navigateUp ) {\n\t\t\tfocusedBlockUid = selectionBeforeEndClientId;\n\t\t} else if ( navigateDown ) {\n\t\t\tfocusedBlockUid = selectionAfterEndClientId;\n\t\t} else if ( navigateOut ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetBlockRootClientId( selectedBlockClientId ) ??\n\t\t\t\tselectedBlockClientId;\n\t\t} else if ( navigateIn ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetClientIdsOfDescendants( selectedBlockClientId )[ 0 ] ??\n\t\t\t\tselectedBlockClientId;\n\t\t}\n\t\tconst startingBlockClientId = hasBlockMovingClientId();\n\t\tif ( isEscape && startingBlockClientId && ! event.defaultPrevented ) {\n\t\t\tsetBlockMovingClientId( null );\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tif ( ( isEnter || isSpace ) && startingBlockClientId ) {\n\t\t\tconst sourceRoot = getBlockRootClientId( startingBlockClientId );\n\t\t\tconst destRoot = getBlockRootClientId( selectedBlockClientId );\n\t\t\tconst sourceBlockIndex = getBlockIndex( startingBlockClientId );\n\t\t\tlet destinationBlockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tif (\n\t\t\t\tsourceBlockIndex < destinationBlockIndex &&\n\t\t\t\tsourceRoot === destRoot\n\t\t\t) {\n\t\t\t\tdestinationBlockIndex -= 1;\n\t\t\t}\n\t\t\tmoveBlockToPosition(\n\t\t\t\tstartingBlockClientId,\n\t\t\t\tsourceRoot,\n\t\t\t\tdestRoot,\n\t\t\t\tdestinationBlockIndex\n\t\t\t);\n\t\t\tselectBlock( startingBlockClientId );\n\t\t\tsetBlockMovingClientId( null );\n\t\t}\n\t\t// Prevent the block from being moved into itself.\n\t\tif (\n\t\t\tstartingBlockClientId &&\n\t\t\tselectedBlockClientId === startingBlockClientId &&\n\t\t\tnavigateIn\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif ( navigateDown || navigateUp || navigateOut || navigateIn ) {\n\t\t\tif ( focusedBlockUid ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectBlock( focusedBlockUid );\n\t\t\t} else if ( isTab && selectedBlockClientId ) {\n\t\t\t\tlet nextTabbable;\n\n\t\t\t\tif ( navigateDown ) {\n\t\t\t\t\tnextTabbable = blockElement;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t} while (\n\t\t\t\t\t\tnextTabbable &&\n\t\t\t\t\t\tblockElement.contains( nextTabbable )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! nextTabbable ) {\n\t\t\t\t\t\tnextTabbable =\n\t\t\t\t\t\t\tblockElement.ownerDocument.defaultView.frameElement;\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tnextTabbable = focus.tabbable.findPrevious( blockElement );\n\t\t\t\t}\n\n\t\t\t\tif ( nextTabbable ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnextTabbable.focus();\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst classNames = clsx(\n\t\t'block-editor-block-list__block-selection-button',\n\t\t{\n\t\t\t'is-block-moving-mode': !! blockMovingMode,\n\t\t}\n\t);\n\n\tconst dragHandleLabel = __( 'Drag' );\n\tconst showBlockDraggable = canMove && editorMode === 'navigation';\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t<Flex\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"block-editor-block-list__block-selection-button__content\"\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t</FlexItem>\n\t\t\t\t{ showBlockDraggable && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockDraggable clientIds={ [ clientId ] }>\n\t\t\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\t\t\tclassName=\"block-selection-button_drag-handle\"\n\t\t\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockDraggable>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ editorMode === 'navigation' && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\teditorMode === 'navigation'\n\t\t\t\t\t\t\t\t\t? () => setNavigationMode( false )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\tclassName=\"block-selection-button_select-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( BlockSelectionButton );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAYA,IAAAM,OAAA,GAAAN,OAAA;AAIA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AAKA,IAAAU,WAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,aAAA,GAAAd,OAAA;AAA+E,IAAAe,WAAA,GAAAf,OAAA;AAvC/E;AACA;AACA;;AAGA;AACA;AACA;;AAyBA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,SAASgB,oBAAoBA,CAAE;EAAEC,QAAQ;EAAEC;AAAa,CAAC,EAAEC,GAAG,EAAG;EAChE,MAAMC,QAAQ,GAAG,IAAAC,eAAS,EACvBC,MAAM,IAAM;IACb,MAAM;MACLC,QAAQ;MACRC,aAAa;MACbC,sBAAsB;MACtBC,oBAAoB;MACpBC,uBAAuB;MACvBC,oBAAoB;MACpBC,wBAAwB;MACxBC;IACD,CAAC,GAAGR,MAAM,CAAES,YAAiB,CAAC;IAC9B,MAAM;MAAEC,uBAAuB;MAAEC;IAAa,CAAC,GAC9CX,MAAM,CAAEY,aAAY,CAAC;IACtB,MAAMC,KAAK,GAAGX,aAAa,CAAEP,QAAS,CAAC;IACvC,MAAM;MAAEmB,IAAI;MAAEC;IAAW,CAAC,GAAGd,QAAQ,CAAEN,QAAS,CAAC;IACjD,MAAMqB,SAAS,GAAGL,YAAY,CAAEG,IAAK,CAAC;IACtC,MAAMG,WAAW,GAChBb,oBAAoB,CAAER,YAAa,CAAC,EAAEqB,WAAW;IAClD,MAAMC,KAAK,GAAGR,uBAAuB,CAAEI,IAAI,EAAEC,UAAW,CAAC;IAEzD,OAAO;MACNI,eAAe,EAAEhB,sBAAsB,CAAC,CAAC;MACzCiB,UAAU,EAAEf,uBAAuB,CAAC,CAAC;MACrCgB,IAAI,EAAEH,KAAK,EAAEG,IAAI,IAAIL,SAAS,CAACK,IAAI;MACnCC,KAAK,EAAE,IAAAC,6CAAuB,EAC7BP,SAAS,EACTD,UAAU,EACVF,KAAK,GAAG,CAAC,EACTI,WACD,CAAC;MACDO,OAAO,EAAEhB,YAAY,CAAEb,QAAQ,EAAEC,YAAa,CAAC;MAC/CU,oBAAoB;MACpBC;IACD,CAAC;EACF,CAAC,EACD,CAAEZ,QAAQ,EAAEC,YAAY,CACzB,CAAC;EACD,MAAM;IAAE0B,KAAK;IAAED,IAAI;IAAEF,eAAe;IAAEC,UAAU;IAAEI;EAAQ,CAAC,GAAG1B,QAAQ;EACtE,MAAM;IAAE2B,iBAAiB;IAAEC;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAElB,YAAiB,CAAC;;EAE1E;EACA,IAAAmB,kBAAS,EAAE,MAAM;IAChB,IAAKR,UAAU,KAAK,YAAY,EAAG;MAClCvB,GAAG,CAACgC,OAAO,CAACC,KAAK,CAAC,CAAC;MACnB,IAAAC,WAAK,EAAET,KAAM,CAAC;IACf;EACD,CAAC,EAAE,CAAEA,KAAK,EAAEF,UAAU,CAAG,CAAC;EAC1B,MAAMY,YAAY,GAAG,IAAAC,6BAAe,EAAEtC,QAAS,CAAC;EAEhD,MAAM;IACLQ,sBAAsB;IACtBD,aAAa;IACbgC,oBAAoB;IACpBC,yBAAyB;IACzBC,wBAAwB;IACxBC,iCAAiC;IACjC9B,wBAAwB;IACxBD;EACD,CAAC,GAAG,IAAAP,eAAS,EAAEU,YAAiB,CAAC;EACjC,MAAM;IACL6B,WAAW;IACXC,kBAAkB;IAClBC,sBAAsB;IACtBC;EACD,CAAC,GAAG,IAAAd,iBAAW,EAAElB,YAAiB,CAAC;EAEnC,SAASiC,SAASA,CAAEC,KAAK,EAAG;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IACzB,MAAME,IAAI,GAAGD,OAAO,KAAKE,YAAE;IAC3B,MAAMC,MAAM,GAAGH,OAAO,KAAKI,cAAI;IAC/B,MAAMC,MAAM,GAAGL,OAAO,KAAKM,cAAI;IAC/B,MAAMC,OAAO,GAAGP,OAAO,KAAKQ,eAAK;IACjC,MAAMC,KAAK,GAAGT,OAAO,KAAKU,aAAG;IAC7B,MAAMC,QAAQ,GAAGX,OAAO,KAAKY,gBAAM;IACnC,MAAMC,OAAO,GAAGb,OAAO,KAAKc,eAAK;IACjC,MAAMC,OAAO,GAAGf,OAAO,KAAKgB,eAAK;IACjC,MAAMC,OAAO,GAAGlB,KAAK,CAACmB,QAAQ;IAE9B,IAAKlB,OAAO,KAAKmB,mBAAS,IAAInB,OAAO,KAAKoB,gBAAM,EAAG;MAClDtC,WAAW,CAAE/B,QAAS,CAAC;MACvBgD,KAAK,CAACsB,cAAc,CAAC,CAAC;MACtB;IACD;IAEA,MAAMC,qBAAqB,GAAG9B,wBAAwB,CAAC,CAAC;IACxD,MAAM+B,oBAAoB,GAAG9B,iCAAiC,CAAC,CAAC;IAChE,MAAM+B,0BAA0B,GAAG7D,wBAAwB,CAC1D4D,oBAAoB,IAAID,qBACzB,CAAC;IACD,MAAMG,yBAAyB,GAAG/D,oBAAoB,CACrD6D,oBAAoB,IAAID,qBACzB,CAAC;IAED,MAAMI,UAAU,GAAKjB,KAAK,IAAIQ,OAAO,IAAMhB,IAAI;IAC/C,MAAM0B,YAAY,GAAKlB,KAAK,IAAI,CAAEQ,OAAO,IAAMd,MAAM;IACrD;IACA,MAAMyB,WAAW,GAAGvB,MAAM;IAC1B;IACA,MAAMwB,UAAU,GAAGtB,OAAO;IAE1B,IAAIuB,eAAe;IACnB,IAAKJ,UAAU,EAAG;MACjBI,eAAe,GAAGN,0BAA0B;IAC7C,CAAC,MAAM,IAAKG,YAAY,EAAG;MAC1BG,eAAe,GAAGL,yBAAyB;IAC5C,CAAC,MAAM,IAAKG,WAAW,EAAG;MAAA,IAAAG,qBAAA;MACzBD,eAAe,IAAAC,qBAAA,GACdzC,oBAAoB,CAAEgC,qBAAsB,CAAC,cAAAS,qBAAA,cAAAA,qBAAA,GAC7CT,qBAAqB;IACvB,CAAC,MAAM,IAAKO,UAAU,EAAG;MAAA,IAAAG,qBAAA;MACxBF,eAAe,IAAAE,qBAAA,GACdzC,yBAAyB,CAAE+B,qBAAsB,CAAC,CAAE,CAAC,CAAE,cAAAU,qBAAA,cAAAA,qBAAA,GACvDV,qBAAqB;IACvB;IACA,MAAMW,qBAAqB,GAAG1E,sBAAsB,CAAC,CAAC;IACtD,IAAKoD,QAAQ,IAAIsB,qBAAqB,IAAI,CAAElC,KAAK,CAACmC,gBAAgB,EAAG;MACpEtC,sBAAsB,CAAE,IAAK,CAAC;MAC9BG,KAAK,CAACsB,cAAc,CAAC,CAAC;IACvB;IACA,IAAK,CAAER,OAAO,IAAIE,OAAO,KAAMkB,qBAAqB,EAAG;MACtD,MAAME,UAAU,GAAG7C,oBAAoB,CAAE2C,qBAAsB,CAAC;MAChE,MAAMG,QAAQ,GAAG9C,oBAAoB,CAAEgC,qBAAsB,CAAC;MAC9D,MAAMe,gBAAgB,GAAG/E,aAAa,CAAE2E,qBAAsB,CAAC;MAC/D,IAAIK,qBAAqB,GAAGhF,aAAa,CAAEgE,qBAAsB,CAAC;MAClE,IACCe,gBAAgB,GAAGC,qBAAqB,IACxCH,UAAU,KAAKC,QAAQ,EACtB;QACDE,qBAAqB,IAAI,CAAC;MAC3B;MACAzC,mBAAmB,CAClBoC,qBAAqB,EACrBE,UAAU,EACVC,QAAQ,EACRE,qBACD,CAAC;MACD5C,WAAW,CAAEuC,qBAAsB,CAAC;MACpCrC,sBAAsB,CAAE,IAAK,CAAC;IAC/B;IACA;IACA,IACCqC,qBAAqB,IACrBX,qBAAqB,KAAKW,qBAAqB,IAC/CJ,UAAU,EACT;MACD;IACD;IACA,IAAKF,YAAY,IAAID,UAAU,IAAIE,WAAW,IAAIC,UAAU,EAAG;MAC9D,IAAKC,eAAe,EAAG;QACtB/B,KAAK,CAACsB,cAAc,CAAC,CAAC;QACtB3B,WAAW,CAAEoC,eAAgB,CAAC;MAC/B,CAAC,MAAM,IAAKrB,KAAK,IAAIa,qBAAqB,EAAG;QAC5C,IAAIiB,YAAY;QAEhB,IAAKZ,YAAY,EAAG;UACnBY,YAAY,GAAGnD,YAAY;UAC3B,GAAG;YACFmD,YAAY,GAAGrD,UAAK,CAACsD,QAAQ,CAACC,QAAQ,CAAEF,YAAa,CAAC;UACvD,CAAC,QACAA,YAAY,IACZnD,YAAY,CAACsD,QAAQ,CAAEH,YAAa,CAAC;UAGtC,IAAK,CAAEA,YAAY,EAAG;YACrBA,YAAY,GACXnD,YAAY,CAACuD,aAAa,CAACC,WAAW,CAACC,YAAY;YACpDN,YAAY,GAAGrD,UAAK,CAACsD,QAAQ,CAACC,QAAQ,CAAEF,YAAa,CAAC;UACvD;QACD,CAAC,MAAM;UACNA,YAAY,GAAGrD,UAAK,CAACsD,QAAQ,CAACM,YAAY,CAAE1D,YAAa,CAAC;QAC3D;QAEA,IAAKmD,YAAY,EAAG;UACnBxC,KAAK,CAACsB,cAAc,CAAC,CAAC;UACtBkB,YAAY,CAACrD,KAAK,CAAC,CAAC;UACpBS,kBAAkB,CAAC,CAAC;QACrB;MACD;IACD;EACD;EAEA,MAAMoD,UAAU,GAAG,IAAAC,aAAI,EACtB,iDAAiD,EACjD;IACC,sBAAsB,EAAE,CAAC,CAAEzE;EAC5B,CACD,CAAC;EAED,MAAM0E,eAAe,GAAG,IAAAC,QAAE,EAAE,MAAO,CAAC;EACpC,MAAMC,kBAAkB,GAAGvE,OAAO,IAAIJ,UAAU,KAAK,YAAY;EAEjE,oBACC,IAAA3B,WAAA,CAAAuG,GAAA;IAAKC,SAAS,EAAGN,UAAY;IAAAO,QAAA,eAC5B,IAAAzG,WAAA,CAAA0G,IAAA,EAACvH,WAAA,CAAAwH,IAAI;MACJC,OAAO,EAAC,QAAQ;MAChBJ,SAAS,EAAC,0DAA0D;MAAAC,QAAA,gBAEpE,IAAAzG,WAAA,CAAAuG,GAAA,EAACpH,WAAA,CAAA0H,QAAQ;QAAAJ,QAAA,eACR,IAAAzG,WAAA,CAAAuG,GAAA,EAAC3G,UAAA,CAAAkH,OAAS;UAAClF,IAAI,EAAGA,IAAM;UAACmF,UAAU;QAAA,CAAE;MAAC,CAC7B,CAAC,EACTT,kBAAkB,iBACnB,IAAAtG,WAAA,CAAAuG,GAAA,EAACpH,WAAA,CAAA0H,QAAQ;QAAAJ,QAAA,eACR,IAAAzG,WAAA,CAAAuG,GAAA,EAACzG,eAAA,CAAAgH,OAAc;UAACE,SAAS,EAAG,CAAE9G,QAAQ,CAAI;UAAAuG,QAAA,EACrCQ,cAAc,iBACjB,IAAAjH,WAAA,CAAAuG,GAAA,EAACpH,WAAA,CAAA+H,MAAM;YACNtF,IAAI,EAAGuF,iBAAY;YACnBX,SAAS,EAAC,oCAAoC;YAC9C3E,KAAK,EAAGuE;YACR;YACA;YAAA;YACAgB,QAAQ,EAAC,IAAI;YAAA,GACRH;UAAc,CACnB;QACD,CACc;MAAC,CACR,CACV,EACCtF,UAAU,KAAK,YAAY,iBAC5B,IAAA3B,WAAA,CAAAuG,GAAA,EAACpH,WAAA,CAAA0H,QAAQ;QAAAJ,QAAA,eACR,IAAAzG,WAAA,CAAAuG,GAAA,EAACpH,WAAA,CAAA+H,MAAM;UACN9G,GAAG,EAAGA,GAAK;UACXiH,OAAO,EACN1F,UAAU,KAAK,YAAY,GACxB,MAAMK,iBAAiB,CAAE,KAAM,CAAC,GAChCsF,SACH;UACDrE,SAAS,EAAGA,SAAW;UACvBpB,KAAK,EAAGA,KAAO;UACf0F,WAAW,EAAG,KAAO;UACrBf,SAAS,EAAC,sCAAsC;UAAAC,QAAA,eAEhD,IAAAzG,WAAA,CAAAuG,GAAA,EAAC5G,WAAA,CAAAmH,OAAU;YACV5G,QAAQ,EAAGA,QAAU;YACrBsH,aAAa,EAAG;UAAI,CACpB;QAAC,CACK;MAAC,CACA,CACV;IAAA,CACI;EAAC,CACH,CAAC;AAER;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAEc,IAAAa,mBAAU,EAAE1H,oBAAqB,CAAC","ignoreList":[]}
@@ -218,7 +218,7 @@ function BlockTools({
218
218
  }), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover.Slot, {
219
219
  name: "__unstable-block-tools-after",
220
220
  ref: blockToolbarAfterRef
221
- }), window.__experimentalEnableZoomedOutPatternsTab && isZoomOutMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomOutModeInserters.default, {
221
+ }), isZoomOutMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomOutModeInserters.default, {
222
222
  __unstableContentRef: __unstableContentRef
223
223
  })]
224
224
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_dom","_components","_keyboardShortcuts","_element","_blocks","_a11y","_i18n","_emptyBlockInserter","_interopRequireDefault","_insertionPoint","_interopRequireWildcard","_blockToolbarPopover","_blockToolbarBreadcrumb","_zoomOutPopover","_store","_usePopoverScroll","_zoomOutModeInserters","_useShowBlockTools","_lockUnlock","_getEditorRegion","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","selector","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getSettings","__unstableGetEditorMode","isTyping","blockEditorStore","clientId","editorMode","hasFixedToolbar","isZoomOutMode","BlockTools","children","__unstableContentRef","props","useSelect","isMatch","useShortcutEventMatch","getBlocksByClientId","getSelectedBlockClientIds","getBlockRootClientId","isGroupable","getGroupingBlockName","blocksStore","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbarPopover","showZoomOutToolbar","useShowBlockTools","clearSelectedBlock","duplicateBlocks","removeBlocks","replaceBlocks","insertAfterBlock","insertBeforeBlock","selectBlock","moveBlocksUp","moveBlocksDown","expandBlock","unlock","useDispatch","blockSelectionButtonRef","useRef","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","closest","current","getEditorRegion","focus","isTextField","contentWindow","document","activeElement","blocks","groupingBlockName","newBlocks","switchToBlockType","speak","__","blockToolbarRef","usePopoverScroll","blockToolbarAfterRef","jsx","jsxs","InsertionPointOpenRef","Provider","value","ref","Popover","Slot","name","window","__experimentalEnableZoomedOutPatternsTab"],"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isTextField } from '@wordpress/dom';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\nimport { switchToBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport EmptyBlockInserter from './empty-block-inserter';\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport BlockToolbarPopover from './block-toolbar-popover';\nimport BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';\nimport ZoomOutPopover from './zoom-out-popover';\nimport { store as blockEditorStore } from '../../store';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\nimport { useShowBlockTools } from './use-show-block-tools';\nimport { unlock } from '../../lock-unlock';\nimport getEditorRegion from '../../utils/get-editor-region';\n\nfunction selector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetSettings,\n\t\t__unstableGetEditorMode,\n\t\tisTyping,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tconst editorMode = __unstableGetEditorMode();\n\n\treturn {\n\t\tclientId,\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t\tisZoomOutMode: editorMode === 'zoom-out',\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst { clientId, hasFixedToolbar, isTyping, isZoomOutMode } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst {\n\t\tgetBlocksByClientId,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlockRootClientId,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\tconst {\n\t\tshowEmptyBlockSideInserter,\n\t\tshowBreadcrumb,\n\t\tshowBlockToolbarPopover,\n\t\tshowZoomOutToolbar,\n\t} = useShowBlockTools();\n\n\tconst {\n\t\tclearSelectedBlock,\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tselectBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t\texpandBlock,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst blockSelectionButtonRef = useRef();\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tif ( event.target.closest( '[role=toolbar]' ) ) {\n\t\t\t\t// This shouldn't be necessary, but we have a combination of a few things all combining to create a situation where:\n\t\t\t\t// - Because the block toolbar uses createPortal to populate the block toolbar fills, we can't rely on the React event bubbling to hit the onKeyDown listener for the block toolbar\n\t\t\t\t// - Since we can't use the React tree, we use the DOM tree which _should_ handle the event bubbling correctly from a `createPortal` element.\n\t\t\t\t// - This bubbles via the React tree, which hits this `unselect` escape keypress before the block toolbar DOM event listener has access to it.\n\t\t\t\t// An alternative would be to remove the addEventListener on the navigableToolbar and use this event to handle it directly right here. That feels hacky too though.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// If there is more than one block selected, select the first\n\t\t\t\t// block so that focus is directed back to the beginning of the selection.\n\t\t\t\t// In effect, to the user this feels like deselecting the multi-selection.\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t} else if (\n\t\t\t\tclientIds.length === 1 &&\n\t\t\t\tevent.target === blockSelectionButtonRef?.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tgetEditorRegion( __unstableContentRef.current )?.focus();\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\t// If focus is currently within a text field, such as a rich text block or other editable field,\n\t\t\t// skip collapsing the list view, and allow the keyboard shortcut to be handled by the text field.\n\t\t\t// This condition checks for both the active element and the active element within an iframed editor.\n\t\t\tif (\n\t\t\t\tisTextField( event.target ) ||\n\t\t\t\tisTextField(\n\t\t\t\t\tevent.target?.contentWindow?.document?.activeElement\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\texpandBlock( clientId );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 && isGroupable( clientIds ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( clientIds );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t}\n\t\t}\n\t}\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showEmptyBlockSideInserter && (\n\t\t\t\t\t<EmptyBlockInserter\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBlockToolbarPopover && (\n\t\t\t\t\t<BlockToolbarPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisTyping={ isTyping }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBreadcrumb && (\n\t\t\t\t\t<BlockToolbarBreadcrumb\n\t\t\t\t\t\tref={ blockSelectionButtonRef }\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showZoomOutToolbar && (\n\t\t\t\t\t<ZoomOutPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Used for the inline rich text toolbar. Until this toolbar is combined into BlockToolbar, someone implementing their own BlockToolbar will also need to use this to see the image caption toolbar. */ }\n\t\t\t\t{ ! isZoomOutMode && ! hasFixedToolbar && (\n\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ window.__experimentalEnableZoomedOutPatternsTab &&\n\t\t\t\t\tisZoomOutMode && (\n\t\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_dom","_components","_keyboardShortcuts","_element","_blocks","_a11y","_i18n","_emptyBlockInserter","_interopRequireDefault","_insertionPoint","_interopRequireWildcard","_blockToolbarPopover","_blockToolbarBreadcrumb","_zoomOutPopover","_store","_usePopoverScroll","_zoomOutModeInserters","_useShowBlockTools","_lockUnlock","_getEditorRegion","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","selector","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getSettings","__unstableGetEditorMode","isTyping","blockEditorStore","clientId","editorMode","hasFixedToolbar","isZoomOutMode","BlockTools","children","__unstableContentRef","props","useSelect","isMatch","useShortcutEventMatch","getBlocksByClientId","getSelectedBlockClientIds","getBlockRootClientId","isGroupable","getGroupingBlockName","blocksStore","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbarPopover","showZoomOutToolbar","useShowBlockTools","clearSelectedBlock","duplicateBlocks","removeBlocks","replaceBlocks","insertAfterBlock","insertBeforeBlock","selectBlock","moveBlocksUp","moveBlocksDown","expandBlock","unlock","useDispatch","blockSelectionButtonRef","useRef","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","closest","current","getEditorRegion","focus","isTextField","contentWindow","document","activeElement","blocks","groupingBlockName","newBlocks","switchToBlockType","speak","__","blockToolbarRef","usePopoverScroll","blockToolbarAfterRef","jsx","jsxs","InsertionPointOpenRef","Provider","value","ref","Popover","Slot","name"],"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isTextField } from '@wordpress/dom';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\nimport { switchToBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport EmptyBlockInserter from './empty-block-inserter';\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport BlockToolbarPopover from './block-toolbar-popover';\nimport BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';\nimport ZoomOutPopover from './zoom-out-popover';\nimport { store as blockEditorStore } from '../../store';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\nimport { useShowBlockTools } from './use-show-block-tools';\nimport { unlock } from '../../lock-unlock';\nimport getEditorRegion from '../../utils/get-editor-region';\n\nfunction selector( select ) {\n\tconst {\n\t\tgetSelectedBlockClientId,\n\t\tgetFirstMultiSelectedBlockClientId,\n\t\tgetSettings,\n\t\t__unstableGetEditorMode,\n\t\tisTyping,\n\t} = select( blockEditorStore );\n\n\tconst clientId =\n\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\tconst editorMode = __unstableGetEditorMode();\n\n\treturn {\n\t\tclientId,\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t\tisZoomOutMode: editorMode === 'zoom-out',\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst { clientId, hasFixedToolbar, isTyping, isZoomOutMode } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst {\n\t\tgetBlocksByClientId,\n\t\tgetSelectedBlockClientIds,\n\t\tgetBlockRootClientId,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\tconst {\n\t\tshowEmptyBlockSideInserter,\n\t\tshowBreadcrumb,\n\t\tshowBlockToolbarPopover,\n\t\tshowZoomOutToolbar,\n\t} = useShowBlockTools();\n\n\tconst {\n\t\tclearSelectedBlock,\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tselectBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t\texpandBlock,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst blockSelectionButtonRef = useRef();\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tif ( event.target.closest( '[role=toolbar]' ) ) {\n\t\t\t\t// This shouldn't be necessary, but we have a combination of a few things all combining to create a situation where:\n\t\t\t\t// - Because the block toolbar uses createPortal to populate the block toolbar fills, we can't rely on the React event bubbling to hit the onKeyDown listener for the block toolbar\n\t\t\t\t// - Since we can't use the React tree, we use the DOM tree which _should_ handle the event bubbling correctly from a `createPortal` element.\n\t\t\t\t// - This bubbles via the React tree, which hits this `unselect` escape keypress before the block toolbar DOM event listener has access to it.\n\t\t\t\t// An alternative would be to remove the addEventListener on the navigableToolbar and use this event to handle it directly right here. That feels hacky too though.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// If there is more than one block selected, select the first\n\t\t\t\t// block so that focus is directed back to the beginning of the selection.\n\t\t\t\t// In effect, to the user this feels like deselecting the multi-selection.\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t} else if (\n\t\t\t\tclientIds.length === 1 &&\n\t\t\t\tevent.target === blockSelectionButtonRef?.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tgetEditorRegion( __unstableContentRef.current )?.focus();\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\t// If focus is currently within a text field, such as a rich text block or other editable field,\n\t\t\t// skip collapsing the list view, and allow the keyboard shortcut to be handled by the text field.\n\t\t\t// This condition checks for both the active element and the active element within an iframed editor.\n\t\t\tif (\n\t\t\t\tisTextField( event.target ) ||\n\t\t\t\tisTextField(\n\t\t\t\t\tevent.target?.contentWindow?.document?.activeElement\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\texpandBlock( clientId );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 && isGroupable( clientIds ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( clientIds );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t}\n\t\t}\n\t}\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showEmptyBlockSideInserter && (\n\t\t\t\t\t<EmptyBlockInserter\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBlockToolbarPopover && (\n\t\t\t\t\t<BlockToolbarPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisTyping={ isTyping }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showBreadcrumb && (\n\t\t\t\t\t<BlockToolbarBreadcrumb\n\t\t\t\t\t\tref={ blockSelectionButtonRef }\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ showZoomOutToolbar && (\n\t\t\t\t\t<ZoomOutPopover\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ /* Used for the inline rich text toolbar. Until this toolbar is combined into BlockToolbar, someone implementing their own BlockToolbar will also need to use this to see the image caption toolbar. */ }\n\t\t\t\t{ ! isZoomOutMode && ! hasFixedToolbar && (\n\t\t\t\t\t<Popover.Slot\n\t\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\t\tref={ blockToolbarRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}