@wordpress/block-editor 14.3.6 → 14.5.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 (953) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +6 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js +2 -1
  5. package/build/autocompleters/link.js.map +1 -1
  6. package/build/components/background-image-control/index.js +1 -1
  7. package/build/components/background-image-control/index.js.map +1 -1
  8. package/build/components/block-actions/index.js +1 -13
  9. package/build/components/block-actions/index.js.map +1 -1
  10. package/build/components/block-controls/slot.js.map +1 -1
  11. package/build/components/block-controls/slot.native.js.map +1 -1
  12. package/build/components/block-draggable/draggable-chip.js +1 -1
  13. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  14. package/build/components/block-inspector/index.js +56 -75
  15. package/build/components/block-inspector/index.js.map +1 -1
  16. package/build/components/block-list/block-invalid-warning.native.js +1 -1
  17. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  18. package/build/components/block-list/block-list-item.native.js.map +1 -1
  19. package/build/components/block-list/block.js +5 -16
  20. package/build/components/block-list/block.js.map +1 -1
  21. package/build/components/block-list/index.js +6 -8
  22. package/build/components/block-list/index.js.map +1 -1
  23. package/build/components/block-list/index.native.js.map +1 -1
  24. package/build/components/block-list/use-block-props/index.js +3 -8
  25. package/build/components/block-list/use-block-props/index.js.map +1 -1
  26. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  27. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  28. package/build/components/block-list/use-in-between-inserter.js +5 -3
  29. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  30. package/build/components/block-list/zoom-out-separator.js +24 -13
  31. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  32. package/build/components/block-lock/modal.js +1 -1
  33. package/build/components/block-lock/modal.js.map +1 -1
  34. package/build/components/block-mover/button.js.map +1 -1
  35. package/build/components/block-navigation/dropdown.js +2 -4
  36. package/build/components/block-navigation/dropdown.js.map +1 -1
  37. package/build/components/block-parent-selector/index.js +14 -11
  38. package/build/components/block-parent-selector/index.js.map +1 -1
  39. package/build/components/block-pattern-setup/index.js.map +1 -1
  40. package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
  41. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  42. package/build/components/block-patterns-list/index.js.map +1 -1
  43. package/build/components/block-patterns-paging/index.js +11 -13
  44. package/build/components/block-patterns-paging/index.js.map +1 -1
  45. package/build/components/block-popover/index.js +45 -2
  46. package/build/components/block-popover/index.js.map +1 -1
  47. package/build/components/block-preview/auto.js +1 -4
  48. package/build/components/block-preview/auto.js.map +1 -1
  49. package/build/components/block-preview/index.js.map +1 -1
  50. package/build/components/block-quick-navigation/index.js +2 -4
  51. package/build/components/block-quick-navigation/index.js.map +1 -1
  52. package/build/components/block-rename/modal.js +2 -2
  53. package/build/components/block-rename/modal.js.map +1 -1
  54. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  55. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  56. package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
  57. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  58. package/build/components/block-settings-menu-controls/index.js +1 -6
  59. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  60. package/build/components/block-switcher/block-transformations-menu.native.js +1 -1
  61. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  62. package/build/components/block-switcher/index.js +19 -15
  63. package/build/components/block-switcher/index.js.map +1 -1
  64. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  65. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  66. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  67. package/build/components/block-switcher/utils.js +1 -0
  68. package/build/components/block-switcher/utils.js.map +1 -1
  69. package/build/components/block-toolbar/index.js +16 -19
  70. package/build/components/block-toolbar/index.js.map +1 -1
  71. package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
  72. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  73. package/build/components/block-tools/index.js +8 -18
  74. package/build/components/block-tools/index.js.map +1 -1
  75. package/build/components/block-tools/insertion-point.js +1 -4
  76. package/build/components/block-tools/insertion-point.js.map +1 -1
  77. package/build/components/block-tools/use-show-block-tools.js +8 -7
  78. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  80. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  81. package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
  82. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  83. package/build/components/block-tools/zoom-out-popover.js +3 -2
  84. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  85. package/build/components/block-tools/zoom-out-toolbar.js +5 -32
  86. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  87. package/build/components/block-types-list/index.js.map +1 -1
  88. package/build/components/block-types-list/index.native.js.map +1 -1
  89. package/build/components/block-variation-transforms/index.js +3 -2
  90. package/build/components/block-variation-transforms/index.js.map +1 -1
  91. package/build/components/border-radius-control/index.js.map +1 -1
  92. package/build/components/border-radius-control/utils.js.map +1 -1
  93. package/build/components/button-block-appender/index.js.map +1 -1
  94. package/build/components/color-style-selector/index.js.map +1 -1
  95. package/build/components/colors/utils.js.map +1 -1
  96. package/build/components/colors/with-colors.js.map +1 -1
  97. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  98. package/build/components/date-format-picker/index.js +1 -0
  99. package/build/components/date-format-picker/index.js.map +1 -1
  100. package/build/components/duotone/utils.js.map +1 -1
  101. package/build/components/duotone-control/index.js.map +1 -1
  102. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  103. package/build/components/font-sizes/utils.js.map +1 -1
  104. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  105. package/build/components/global-styles/border-panel.js +1 -1
  106. package/build/components/global-styles/border-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +1 -1
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/dimensions-panel.js +3 -3
  110. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  111. package/build/components/global-styles/filters-panel.js.map +1 -1
  112. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  113. package/build/components/global-styles/get-global-styles-changes.js +2 -1
  114. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  115. package/build/components/global-styles/hooks.js.map +1 -1
  116. package/build/components/global-styles/typography-panel.js.map +1 -1
  117. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  118. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  119. package/build/components/global-styles/utils.js.map +1 -1
  120. package/build/components/gradients/use-gradient.js.map +1 -1
  121. package/build/components/grid/grid-item-movers.js.map +1 -1
  122. package/build/components/grid/grid-visualizer.js.map +1 -1
  123. package/build/components/iframe/index.js +44 -9
  124. package/build/components/iframe/index.js.map +1 -1
  125. package/build/components/image-editor/use-save-image.js +1 -1
  126. package/build/components/image-editor/use-save-image.js.map +1 -1
  127. package/build/components/inner-blocks/index.js +1 -9
  128. package/build/components/inner-blocks/index.js.map +1 -1
  129. package/build/components/inner-blocks/use-nested-settings-update.js +15 -8
  130. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  131. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  132. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  133. package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  134. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  135. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  136. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  137. package/build/components/inserter/block-types-tab.js +1 -1
  138. package/build/components/inserter/block-types-tab.js.map +1 -1
  139. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  140. package/build/components/inserter/category-tabs/index.js +1 -10
  141. package/build/components/inserter/category-tabs/index.js.map +1 -1
  142. package/build/components/inserter/hooks/use-block-types-state.js +24 -5
  143. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  144. package/build/components/inserter/hooks/use-insertion-point.js +22 -12
  145. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  146. package/build/components/inserter/hooks/use-patterns-state.js +24 -11
  147. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  148. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  149. package/build/components/inserter/media-tab/media-preview.js +36 -14
  150. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  151. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  152. package/build/components/inserter/media-tab/utils.js.map +1 -1
  153. package/build/components/inserter/menu.js +4 -4
  154. package/build/components/inserter/menu.js.map +1 -1
  155. package/build/components/inserter/mobile-tab-navigation.js +5 -5
  156. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  157. package/build/components/inserter/preview-panel.js.map +1 -1
  158. package/build/components/inserter/quick-inserter.js +5 -5
  159. package/build/components/inserter/quick-inserter.js.map +1 -1
  160. package/build/components/inserter/search-results.js +1 -1
  161. package/build/components/inserter/search-results.js.map +1 -1
  162. package/build/components/inserter/tabs.native.js.map +1 -1
  163. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  164. package/build/components/inspector-controls/fill.js.map +1 -1
  165. package/build/components/inspector-controls/fill.native.js.map +1 -1
  166. package/build/components/inspector-controls/slot.js.map +1 -1
  167. package/build/components/inspector-controls/slot.native.js.map +1 -1
  168. package/build/components/line-height-control/index.js.map +1 -1
  169. package/build/components/link-control/index.js +1 -2
  170. package/build/components/link-control/index.js.map +1 -1
  171. package/build/components/link-control/is-url-like.js.map +1 -1
  172. package/build/components/link-control/search-create-button.js +1 -1
  173. package/build/components/link-control/search-create-button.js.map +1 -1
  174. package/build/components/link-control/search-input.js +3 -5
  175. package/build/components/link-control/search-input.js.map +1 -1
  176. package/build/components/link-control/search-results.js +5 -15
  177. package/build/components/link-control/search-results.js.map +1 -1
  178. package/build/components/link-control/settings-drawer.js.map +1 -1
  179. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  180. package/build/components/list-view/appender.js +1 -1
  181. package/build/components/list-view/appender.js.map +1 -1
  182. package/build/components/list-view/block-contents.js +1 -25
  183. package/build/components/list-view/block-contents.js.map +1 -1
  184. package/build/components/list-view/block-select-button.js.map +1 -1
  185. package/build/components/list-view/block.js.map +1 -1
  186. package/build/components/list-view/branch.js.map +1 -1
  187. package/build/components/list-view/drop-indicator.js.map +1 -1
  188. package/build/components/list-view/index.js.map +1 -1
  189. package/build/components/list-view/use-block-selection.js +2 -2
  190. package/build/components/list-view/use-block-selection.js.map +1 -1
  191. package/build/components/list-view/utils.js +1 -1
  192. package/build/components/list-view/utils.js.map +1 -1
  193. package/build/components/media-placeholder/index.native.js +1 -1
  194. package/build/components/media-placeholder/index.native.js.map +1 -1
  195. package/build/components/media-replace-flow/index.js.map +1 -1
  196. package/build/components/multi-selection-inspector/index.js +2 -2
  197. package/build/components/multi-selection-inspector/index.js.map +1 -1
  198. package/build/components/observe-typing/index.js +1 -0
  199. package/build/components/observe-typing/index.js.map +1 -1
  200. package/build/components/recursion-provider/index.js +1 -0
  201. package/build/components/recursion-provider/index.js.map +1 -1
  202. package/build/components/responsive-block-control/index.js +3 -3
  203. package/build/components/responsive-block-control/index.js.map +1 -1
  204. package/build/components/responsive-block-control/label.js +1 -1
  205. package/build/components/responsive-block-control/label.js.map +1 -1
  206. package/build/components/rich-text/content.js.map +1 -1
  207. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  208. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  209. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  210. package/build/components/rich-text/index.js +3 -2
  211. package/build/components/rich-text/index.js.map +1 -1
  212. package/build/components/rich-text/multiline.js.map +1 -1
  213. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  214. package/build/components/rich-text/native/index.native.js.map +1 -1
  215. package/build/components/rich-text/native/use-format-types.js +1 -0
  216. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  217. package/build/components/rich-text/toolbar-button.js.map +1 -1
  218. package/build/components/rich-text/use-format-types.js +1 -0
  219. package/build/components/rich-text/use-format-types.js.map +1 -1
  220. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  221. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  222. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  223. package/build/components/spacing-sizes-control/utils.js +1 -0
  224. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  225. package/build/components/tool-selector/index.js +13 -8
  226. package/build/components/tool-selector/index.js.map +1 -1
  227. package/build/components/typewriter/index.js +1 -0
  228. package/build/components/typewriter/index.js.map +1 -1
  229. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  230. package/build/components/url-input/index.js +1 -1
  231. package/build/components/url-input/index.js.map +1 -1
  232. package/build/components/use-block-commands/index.js +0 -61
  233. package/build/components/use-block-commands/index.js.map +1 -1
  234. package/build/components/use-block-drop-zone/index.js.map +1 -1
  235. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  236. package/build/components/use-moving-animation/index.js.map +1 -1
  237. package/build/components/writing-flow/use-tab-nav.js +23 -30
  238. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  239. package/build/hooks/align.js.map +1 -1
  240. package/build/hooks/block-hooks.js +1 -1
  241. package/build/hooks/block-hooks.js.map +1 -1
  242. package/build/hooks/block-style-variation.js.map +1 -1
  243. package/build/hooks/duotone.js +4 -1
  244. package/build/hooks/duotone.js.map +1 -1
  245. package/build/hooks/font-family.js.map +1 -1
  246. package/build/hooks/gap.js.map +1 -1
  247. package/build/hooks/generated-class-name.js +1 -0
  248. package/build/hooks/generated-class-name.js.map +1 -1
  249. package/build/hooks/layout-child.js +3 -1
  250. package/build/hooks/layout-child.js.map +1 -1
  251. package/build/hooks/layout.js.map +1 -1
  252. package/build/hooks/position.js +4 -3
  253. package/build/hooks/position.js.map +1 -1
  254. package/build/hooks/spacing-visualizer.js.map +1 -1
  255. package/build/hooks/style.js.map +1 -1
  256. package/build/hooks/text-align.js.map +1 -1
  257. package/build/hooks/use-typography-props.js.map +1 -1
  258. package/build/hooks/use-zoom-out.js +24 -16
  259. package/build/hooks/use-zoom-out.js.map +1 -1
  260. package/build/layouts/constrained.js.map +1 -1
  261. package/build/layouts/flex.js.map +1 -1
  262. package/build/layouts/grid.js.map +1 -1
  263. package/build/layouts/utils.js.map +1 -1
  264. package/build/store/actions.js +18 -20
  265. package/build/store/actions.js.map +1 -1
  266. package/build/store/private-actions.js +15 -0
  267. package/build/store/private-actions.js.map +1 -1
  268. package/build/store/private-selectors.js +104 -7
  269. package/build/store/private-selectors.js.map +1 -1
  270. package/build/store/reducer.js +24 -44
  271. package/build/store/reducer.js.map +1 -1
  272. package/build/store/selectors.js +149 -71
  273. package/build/store/selectors.js.map +1 -1
  274. package/build/store/utils.js +4 -3
  275. package/build/store/utils.js.map +1 -1
  276. package/build/utils/block-bindings.js +2 -0
  277. package/build/utils/block-bindings.js.map +1 -1
  278. package/build/utils/get-font-styles-and-weights.js +1 -1
  279. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  280. package/build/utils/object.js +1 -0
  281. package/build/utils/object.js.map +1 -1
  282. package/build/utils/pasting.js.map +1 -1
  283. package/build-module/autocompleters/block.js +1 -3
  284. package/build-module/autocompleters/block.js.map +1 -1
  285. package/build-module/autocompleters/link.js +3 -4
  286. package/build-module/autocompleters/link.js.map +1 -1
  287. package/build-module/components/audio-player/index.native.js +1 -2
  288. package/build-module/components/audio-player/index.native.js.map +1 -1
  289. package/build-module/components/background-image-control/index.js +2 -3
  290. package/build-module/components/background-image-control/index.js.map +1 -1
  291. package/build-module/components/block-actions/index.js +1 -13
  292. package/build-module/components/block-actions/index.js.map +1 -1
  293. package/build-module/components/block-alignment-control/ui.js +1 -2
  294. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  295. package/build-module/components/block-breadcrumb/index.js +1 -2
  296. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  297. package/build-module/components/block-canvas/index.js +1 -2
  298. package/build-module/components/block-canvas/index.js.map +1 -1
  299. package/build-module/components/block-card/index.js +1 -2
  300. package/build-module/components/block-card/index.js.map +1 -1
  301. package/build-module/components/block-compare/block-view.js +1 -2
  302. package/build-module/components/block-compare/block-view.js.map +1 -1
  303. package/build-module/components/block-compare/index.js +1 -2
  304. package/build-module/components/block-compare/index.js.map +1 -1
  305. package/build-module/components/block-controls/fill.js +1 -3
  306. package/build-module/components/block-controls/fill.js.map +1 -1
  307. package/build-module/components/block-controls/slot.js.map +1 -1
  308. package/build-module/components/block-controls/slot.native.js.map +1 -1
  309. package/build-module/components/block-draggable/draggable-chip.js +2 -3
  310. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  311. package/build-module/components/block-draggable/draggable-chip.native.js +1 -2
  312. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  313. package/build-module/components/block-draggable/index.native.js +1 -3
  314. package/build-module/components/block-draggable/index.native.js.map +1 -1
  315. package/build-module/components/block-edit/index.js +1 -2
  316. package/build-module/components/block-edit/index.js.map +1 -1
  317. package/build-module/components/block-edit/multiple-usage-warning.js +1 -2
  318. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  319. package/build-module/components/block-inspector/index.js +57 -78
  320. package/build-module/components/block-inspector/index.js.map +1 -1
  321. package/build-module/components/block-list/block-crash-warning.js +1 -1
  322. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  323. package/build-module/components/block-list/block-crash-warning.native.js +1 -1
  324. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  325. package/build-module/components/block-list/block-invalid-warning.js +1 -3
  326. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  327. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  328. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  329. package/build-module/components/block-list/block-list-item.native.js +1 -2
  330. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  331. package/build-module/components/block-list/block-selection-button.native.js +1 -2
  332. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  333. package/build-module/components/block-list/block.js +6 -19
  334. package/build-module/components/block-list/block.js.map +1 -1
  335. package/build-module/components/block-list/block.native.js +1 -2
  336. package/build-module/components/block-list/block.native.js.map +1 -1
  337. package/build-module/components/block-list/index.js +7 -10
  338. package/build-module/components/block-list/index.js.map +1 -1
  339. package/build-module/components/block-list/index.native.js +1 -3
  340. package/build-module/components/block-list/index.native.js.map +1 -1
  341. package/build-module/components/block-list/insertion-point.native.js +1 -2
  342. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  343. package/build-module/components/block-list/use-block-props/index.js +3 -8
  344. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  345. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  346. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  347. package/build-module/components/block-list/use-in-between-inserter.js +5 -3
  348. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  349. package/build-module/components/block-list/zoom-out-separator.js +24 -13
  350. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  351. package/build-module/components/block-lock/menu-item.js +1 -3
  352. package/build-module/components/block-lock/menu-item.js.map +1 -1
  353. package/build-module/components/block-lock/modal.js +2 -3
  354. package/build-module/components/block-lock/modal.js.map +1 -1
  355. package/build-module/components/block-lock/toolbar.js +1 -3
  356. package/build-module/components/block-lock/toolbar.js.map +1 -1
  357. package/build-module/components/block-media-update-progress/index.native.js +1 -2
  358. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  359. package/build-module/components/block-mover/button.js +1 -3
  360. package/build-module/components/block-mover/button.js.map +1 -1
  361. package/build-module/components/block-mover/index.js +1 -2
  362. package/build-module/components/block-mover/index.js.map +1 -1
  363. package/build-module/components/block-mover/index.native.js +1 -2
  364. package/build-module/components/block-mover/index.native.js.map +1 -1
  365. package/build-module/components/block-navigation/dropdown.js +3 -6
  366. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  367. package/build-module/components/block-parent-selector/index.js +14 -11
  368. package/build-module/components/block-parent-selector/index.js.map +1 -1
  369. package/build-module/components/block-pattern-setup/index.js +1 -3
  370. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  371. package/build-module/components/block-pattern-setup/setup-toolbar.js +11 -22
  372. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  373. package/build-module/components/block-patterns-list/index.js +1 -3
  374. package/build-module/components/block-patterns-list/index.js.map +1 -1
  375. package/build-module/components/block-patterns-paging/index.js +12 -15
  376. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  377. package/build-module/components/block-popover/index.js +45 -2
  378. package/build-module/components/block-popover/index.js.map +1 -1
  379. package/build-module/components/block-preview/auto.js +2 -7
  380. package/build-module/components/block-preview/auto.js.map +1 -1
  381. package/build-module/components/block-preview/index.js +1 -2
  382. package/build-module/components/block-preview/index.js.map +1 -1
  383. package/build-module/components/block-quick-navigation/index.js +3 -6
  384. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  385. package/build-module/components/block-removal-warning-modal/index.js +1 -2
  386. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  387. package/build-module/components/block-rename/modal.js +3 -4
  388. package/build-module/components/block-rename/modal.js.map +1 -1
  389. package/build-module/components/block-rename/rename-control.js +1 -3
  390. package/build-module/components/block-rename/rename-control.js.map +1 -1
  391. package/build-module/components/block-settings/container.native.js +1 -3
  392. package/build-module/components/block-settings/container.native.js.map +1 -1
  393. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  394. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  395. package/build-module/components/block-settings-menu/block-settings-dropdown.js +80 -79
  396. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  397. package/build-module/components/block-settings-menu-controls/index.js +3 -9
  398. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  399. package/build-module/components/block-styles/index.js +1 -2
  400. package/build-module/components/block-styles/index.js.map +1 -1
  401. package/build-module/components/block-styles/menu-items.js +1 -2
  402. package/build-module/components/block-styles/menu-items.js.map +1 -1
  403. package/build-module/components/block-styles/preview.native.js +1 -2
  404. package/build-module/components/block-styles/preview.native.js.map +1 -1
  405. package/build-module/components/block-switcher/block-transformations-menu.js +1 -3
  406. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  407. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  408. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  409. package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
  410. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  411. package/build-module/components/block-switcher/index.js +20 -18
  412. package/build-module/components/block-switcher/index.js.map +1 -1
  413. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -2
  414. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  415. package/build-module/components/block-switcher/preview-block-popover.js +1 -2
  416. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  417. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  418. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  419. package/build-module/components/block-switcher/utils.js +1 -0
  420. package/build-module/components/block-switcher/utils.js.map +1 -1
  421. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  422. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  423. package/build-module/components/block-toolbar/index.js +17 -22
  424. package/build-module/components/block-toolbar/index.js.map +1 -1
  425. package/build-module/components/block-toolbar/index.native.js +1 -3
  426. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  427. package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
  428. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  429. package/build-module/components/block-tools/index.js +9 -20
  430. package/build-module/components/block-tools/index.js.map +1 -1
  431. package/build-module/components/block-tools/insertion-point.js +2 -6
  432. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  433. package/build-module/components/block-tools/use-show-block-tools.js +8 -7
  434. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  435. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  436. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  437. package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
  438. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  439. package/build-module/components/block-tools/zoom-out-popover.js +2 -1
  440. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  441. package/build-module/components/block-tools/zoom-out-toolbar.js +7 -35
  442. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  443. package/build-module/components/block-types-list/index.js +1 -2
  444. package/build-module/components/block-types-list/index.js.map +1 -1
  445. package/build-module/components/block-types-list/index.native.js +1 -2
  446. package/build-module/components/block-types-list/index.native.js.map +1 -1
  447. package/build-module/components/block-variation-picker/index.js +1 -2
  448. package/build-module/components/block-variation-picker/index.js.map +1 -1
  449. package/build-module/components/block-variation-picker/index.native.js +1 -2
  450. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  451. package/build-module/components/block-variation-transforms/index.js +4 -4
  452. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  453. package/build-module/components/border-radius-control/index.js +1 -3
  454. package/build-module/components/border-radius-control/index.js.map +1 -1
  455. package/build-module/components/border-radius-control/utils.js.map +1 -1
  456. package/build-module/components/button-block-appender/index.js.map +1 -1
  457. package/build-module/components/button-block-appender/index.native.js +1 -2
  458. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  459. package/build-module/components/child-layout-control/index.js +1 -3
  460. package/build-module/components/child-layout-control/index.js.map +1 -1
  461. package/build-module/components/color-style-selector/index.js.map +1 -1
  462. package/build-module/components/colors/utils.js.map +1 -1
  463. package/build-module/components/colors/with-colors.js.map +1 -1
  464. package/build-module/components/colors-gradients/control.js +1 -2
  465. package/build-module/components/colors-gradients/control.js.map +1 -1
  466. package/build-module/components/colors-gradients/dropdown.js +1 -3
  467. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  468. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -3
  469. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  470. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -3
  471. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  472. package/build-module/components/contrast-checker/index.native.js +1 -2
  473. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  474. package/build-module/components/convert-to-group-buttons/index.js +1 -3
  475. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  476. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -2
  477. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  478. package/build-module/components/date-format-picker/index.js +2 -2
  479. package/build-module/components/date-format-picker/index.js.map +1 -1
  480. package/build-module/components/default-block-appender/index.js +1 -2
  481. package/build-module/components/default-block-appender/index.js.map +1 -1
  482. package/build-module/components/dimensions-tool/index.js +1 -3
  483. package/build-module/components/dimensions-tool/index.js.map +1 -1
  484. package/build-module/components/dimensions-tool/width-height-tool.js +1 -3
  485. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  486. package/build-module/components/duotone/utils.js.map +1 -1
  487. package/build-module/components/duotone-control/index.js +1 -2
  488. package/build-module/components/duotone-control/index.js.map +1 -1
  489. package/build-module/components/editor-styles/index.js +1 -3
  490. package/build-module/components/editor-styles/index.js.map +1 -1
  491. package/build-module/components/floating-toolbar/index.native.js +1 -2
  492. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  493. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -2
  494. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  495. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  496. package/build-module/components/font-sizes/utils.js.map +1 -1
  497. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  498. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  499. package/build-module/components/global-styles/advanced-panel.js +1 -2
  500. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  501. package/build-module/components/global-styles/border-panel.js +2 -3
  502. package/build-module/components/global-styles/border-panel.js.map +1 -1
  503. package/build-module/components/global-styles/color-panel.js +2 -3
  504. package/build-module/components/global-styles/color-panel.js.map +1 -1
  505. package/build-module/components/global-styles/dimensions-panel.js +2 -3
  506. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  507. package/build-module/components/global-styles/filters-panel.js +1 -2
  508. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  509. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  510. package/build-module/components/global-styles/get-global-styles-changes.js +2 -1
  511. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  512. package/build-module/components/global-styles/hooks.js.map +1 -1
  513. package/build-module/components/global-styles/image-settings-panel.js +1 -2
  514. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  515. package/build-module/components/global-styles/shadow-panel-components.js +1 -2
  516. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  517. package/build-module/components/global-styles/typography-panel.js +1 -2
  518. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  519. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  520. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  521. package/build-module/components/global-styles/utils.js.map +1 -1
  522. package/build-module/components/gradients/use-gradient.js.map +1 -1
  523. package/build-module/components/grid/grid-item-movers.js +1 -3
  524. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  525. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  526. package/build-module/components/height-control/index.js +1 -2
  527. package/build-module/components/height-control/index.js.map +1 -1
  528. package/build-module/components/iframe/index.js +45 -12
  529. package/build-module/components/iframe/index.js.map +1 -1
  530. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -3
  531. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  532. package/build-module/components/image-editor/cropper.js +1 -3
  533. package/build-module/components/image-editor/cropper.js.map +1 -1
  534. package/build-module/components/image-editor/form-controls.js +1 -3
  535. package/build-module/components/image-editor/form-controls.js.map +1 -1
  536. package/build-module/components/image-editor/index.js +1 -2
  537. package/build-module/components/image-editor/index.js.map +1 -1
  538. package/build-module/components/image-editor/use-save-image.js +1 -1
  539. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  540. package/build-module/components/image-link-destinations/index.native.js +1 -3
  541. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  542. package/build-module/components/image-size-control/index.js +1 -3
  543. package/build-module/components/image-size-control/index.js.map +1 -1
  544. package/build-module/components/inner-blocks/index.js +1 -9
  545. package/build-module/components/inner-blocks/index.js.map +1 -1
  546. package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -9
  547. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  548. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  549. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  550. package/build-module/components/inserter/block-patterns-explorer/index.js +1 -2
  551. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  552. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -3
  553. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  554. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -5
  555. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  556. package/build-module/components/inserter/block-patterns-tab/index.js +1 -3
  557. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  558. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  559. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  560. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -3
  561. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  562. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  563. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  564. package/build-module/components/inserter/block-types-tab.js +2 -4
  565. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  566. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  567. package/build-module/components/inserter/category-tabs/index.js +3 -13
  568. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  569. package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
  570. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  571. package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
  572. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  573. package/build-module/components/inserter/hooks/use-patterns-state.js +24 -11
  574. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  575. package/build-module/components/inserter/index.native.js +1 -3
  576. package/build-module/components/inserter/index.native.js.map +1 -1
  577. package/build-module/components/inserter/media-tab/media-panel.js +1 -2
  578. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  579. package/build-module/components/inserter/media-tab/media-preview.js +37 -17
  580. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  581. package/build-module/components/inserter/media-tab/media-tab.js +1 -3
  582. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  583. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  584. package/build-module/components/inserter/menu.js +5 -7
  585. package/build-module/components/inserter/menu.js.map +1 -1
  586. package/build-module/components/inserter/menu.native.js +1 -3
  587. package/build-module/components/inserter/menu.native.js.map +1 -1
  588. package/build-module/components/inserter/mobile-tab-navigation.js +7 -8
  589. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  590. package/build-module/components/inserter/no-results.js +1 -2
  591. package/build-module/components/inserter/no-results.js.map +1 -1
  592. package/build-module/components/inserter/no-results.native.js +1 -2
  593. package/build-module/components/inserter/no-results.native.js.map +1 -1
  594. package/build-module/components/inserter/panel.js +1 -3
  595. package/build-module/components/inserter/panel.js.map +1 -1
  596. package/build-module/components/inserter/preview-panel.js +1 -2
  597. package/build-module/components/inserter/preview-panel.js.map +1 -1
  598. package/build-module/components/inserter/quick-inserter.js +6 -7
  599. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  600. package/build-module/components/inserter/search-results.js +2 -3
  601. package/build-module/components/inserter/search-results.js.map +1 -1
  602. package/build-module/components/inserter/tabs.native.js.map +1 -1
  603. package/build-module/components/inserter-button/index.native.js +1 -2
  604. package/build-module/components/inserter-button/index.native.js.map +1 -1
  605. package/build-module/components/inserter-list-item/index.js +1 -2
  606. package/build-module/components/inserter-list-item/index.js.map +1 -1
  607. package/build-module/components/inserter-listbox/index.js +1 -2
  608. package/build-module/components/inserter-listbox/index.js.map +1 -1
  609. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  610. package/build-module/components/inspector-controls/fill.js.map +1 -1
  611. package/build-module/components/inspector-controls/fill.native.js +1 -3
  612. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  613. package/build-module/components/inspector-controls/slot.js.map +1 -1
  614. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  615. package/build-module/components/inspector-controls-tabs/index.js +1 -2
  616. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  617. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -3
  618. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  619. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -3
  620. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  621. package/build-module/components/inspector-popover-header/index.js +1 -2
  622. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  623. package/build-module/components/line-height-control/index.js.map +1 -1
  624. package/build-module/components/link-control/index.js +2 -5
  625. package/build-module/components/link-control/index.js.map +1 -1
  626. package/build-module/components/link-control/is-url-like.js.map +1 -1
  627. package/build-module/components/link-control/link-preview.js +1 -3
  628. package/build-module/components/link-control/link-preview.js.map +1 -1
  629. package/build-module/components/link-control/search-create-button.js +1 -1
  630. package/build-module/components/link-control/search-create-button.js.map +1 -1
  631. package/build-module/components/link-control/search-input.js +4 -7
  632. package/build-module/components/link-control/search-input.js.map +1 -1
  633. package/build-module/components/link-control/search-results.js +6 -17
  634. package/build-module/components/link-control/search-results.js.map +1 -1
  635. package/build-module/components/link-control/settings-drawer.js +1 -3
  636. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  637. package/build-module/components/link-control/settings.js +1 -2
  638. package/build-module/components/link-control/settings.js.map +1 -1
  639. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  640. package/build-module/components/list-view/appender.js +2 -3
  641. package/build-module/components/list-view/appender.js.map +1 -1
  642. package/build-module/components/list-view/block-contents.js +2 -28
  643. package/build-module/components/list-view/block-contents.js.map +1 -1
  644. package/build-module/components/list-view/block-select-button.js +1 -2
  645. package/build-module/components/list-view/block-select-button.js.map +1 -1
  646. package/build-module/components/list-view/block.js +1 -3
  647. package/build-module/components/list-view/block.js.map +1 -1
  648. package/build-module/components/list-view/branch.js +1 -3
  649. package/build-module/components/list-view/branch.js.map +1 -1
  650. package/build-module/components/list-view/drop-indicator.js +1 -2
  651. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  652. package/build-module/components/list-view/index.js +1 -2
  653. package/build-module/components/list-view/index.js.map +1 -1
  654. package/build-module/components/list-view/use-block-selection.js +2 -2
  655. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  656. package/build-module/components/list-view/utils.js +1 -1
  657. package/build-module/components/list-view/utils.js.map +1 -1
  658. package/build-module/components/media-placeholder/index.js +1 -3
  659. package/build-module/components/media-placeholder/index.js.map +1 -1
  660. package/build-module/components/media-placeholder/index.native.js +2 -4
  661. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  662. package/build-module/components/media-replace-flow/index.js +1 -3
  663. package/build-module/components/media-replace-flow/index.js.map +1 -1
  664. package/build-module/components/media-upload/index.native.js +1 -3
  665. package/build-module/components/media-upload/index.native.js.map +1 -1
  666. package/build-module/components/media-upload-progress/index.native.js +1 -2
  667. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  668. package/build-module/components/multi-selection-inspector/index.js +3 -4
  669. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  670. package/build-module/components/observe-typing/index.js +1 -0
  671. package/build-module/components/observe-typing/index.js.map +1 -1
  672. package/build-module/components/provider/index.js +1 -2
  673. package/build-module/components/provider/index.js.map +1 -1
  674. package/build-module/components/publish-date-time-picker/index.js +1 -2
  675. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  676. package/build-module/components/recursion-provider/index.js +1 -0
  677. package/build-module/components/recursion-provider/index.js.map +1 -1
  678. package/build-module/components/responsive-block-control/index.js +4 -5
  679. package/build-module/components/responsive-block-control/index.js.map +1 -1
  680. package/build-module/components/responsive-block-control/label.js +2 -4
  681. package/build-module/components/responsive-block-control/label.js.map +1 -1
  682. package/build-module/components/rich-text/content.js.map +1 -1
  683. package/build-module/components/rich-text/event-listeners/before-input-rules.js +2 -2
  684. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  685. package/build-module/components/rich-text/event-listeners/delete.js +2 -2
  686. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  687. package/build-module/components/rich-text/event-listeners/enter.js +2 -2
  688. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  689. package/build-module/components/rich-text/event-listeners/firefox-compat.js +2 -2
  690. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -1
  691. package/build-module/components/rich-text/event-listeners/input-events.js +2 -2
  692. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -1
  693. package/build-module/components/rich-text/event-listeners/input-rules.js +2 -2
  694. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  695. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +2 -2
  696. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -1
  697. package/build-module/components/rich-text/event-listeners/paste-handler.js +2 -2
  698. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  699. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +2 -2
  700. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -1
  701. package/build-module/components/rich-text/event-listeners/shortcuts.js +2 -2
  702. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -1
  703. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +2 -2
  704. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -1
  705. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  706. package/build-module/components/rich-text/format-toolbar/index.js +1 -3
  707. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  708. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
  709. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  710. package/build-module/components/rich-text/index.js +4 -5
  711. package/build-module/components/rich-text/index.js.map +1 -1
  712. package/build-module/components/rich-text/index.native.js +1 -3
  713. package/build-module/components/rich-text/index.native.js.map +1 -1
  714. package/build-module/components/rich-text/multiline.js.map +1 -1
  715. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  716. package/build-module/components/rich-text/native/index.js +1 -1
  717. package/build-module/components/rich-text/native/index.js.map +1 -1
  718. package/build-module/components/rich-text/native/index.native.js +1 -3
  719. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  720. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -3
  721. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  722. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  723. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  724. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  725. package/build-module/components/rich-text/use-format-types.js +1 -0
  726. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  727. package/build-module/components/spacing-sizes-control/index.js +1 -2
  728. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  729. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -2
  730. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  731. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -2
  732. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  733. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -3
  734. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  735. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  736. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  737. package/build-module/components/tabbed-sidebar/index.js +1 -2
  738. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  739. package/build-module/components/tool-selector/index.js +14 -11
  740. package/build-module/components/tool-selector/index.js.map +1 -1
  741. package/build-module/components/typewriter/index.js +1 -0
  742. package/build-module/components/typewriter/index.js.map +1 -1
  743. package/build-module/components/unsupported-block-details/index.native.js +1 -2
  744. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  745. package/build-module/components/url-input/button.js +1 -2
  746. package/build-module/components/url-input/button.js.map +1 -1
  747. package/build-module/components/url-input/index.js +2 -4
  748. package/build-module/components/url-input/index.js.map +1 -1
  749. package/build-module/components/url-popover/image-url-input-ui.js +1 -3
  750. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  751. package/build-module/components/url-popover/index.js +1 -2
  752. package/build-module/components/url-popover/index.js.map +1 -1
  753. package/build-module/components/url-popover/link-editor.js +1 -2
  754. package/build-module/components/url-popover/link-editor.js.map +1 -1
  755. package/build-module/components/url-popover/link-viewer.js +1 -2
  756. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  757. package/build-module/components/use-block-commands/index.js +1 -62
  758. package/build-module/components/use-block-commands/index.js.map +1 -1
  759. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  760. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  761. package/build-module/components/use-moving-animation/index.js.map +1 -1
  762. package/build-module/components/video-player/index.native.js +1 -2
  763. package/build-module/components/video-player/index.native.js.map +1 -1
  764. package/build-module/components/warning/index.js +1 -2
  765. package/build-module/components/warning/index.js.map +1 -1
  766. package/build-module/components/warning/index.native.js +1 -2
  767. package/build-module/components/warning/index.native.js.map +1 -1
  768. package/build-module/components/writing-flow/index.js +1 -3
  769. package/build-module/components/writing-flow/index.js.map +1 -1
  770. package/build-module/components/writing-flow/use-tab-nav.js +24 -31
  771. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  772. package/build-module/hooks/align.js.map +1 -1
  773. package/build-module/hooks/anchor.js +1 -3
  774. package/build-module/hooks/anchor.js.map +1 -1
  775. package/build-module/hooks/block-bindings.js +1 -3
  776. package/build-module/hooks/block-bindings.js.map +1 -1
  777. package/build-module/hooks/block-hooks.js +2 -3
  778. package/build-module/hooks/block-hooks.js.map +1 -1
  779. package/build-module/hooks/block-style-variation.js +1 -2
  780. package/build-module/hooks/block-style-variation.js.map +1 -1
  781. package/build-module/hooks/dimensions.js +1 -3
  782. package/build-module/hooks/dimensions.js.map +1 -1
  783. package/build-module/hooks/duotone.js +5 -4
  784. package/build-module/hooks/duotone.js.map +1 -1
  785. package/build-module/hooks/font-family.js.map +1 -1
  786. package/build-module/hooks/gap.js.map +1 -1
  787. package/build-module/hooks/generated-class-name.js +1 -0
  788. package/build-module/hooks/generated-class-name.js.map +1 -1
  789. package/build-module/hooks/grid-visualizer.js +1 -3
  790. package/build-module/hooks/grid-visualizer.js.map +1 -1
  791. package/build-module/hooks/layout-child.js +5 -4
  792. package/build-module/hooks/layout-child.js.map +1 -1
  793. package/build-module/hooks/layout.js +1 -3
  794. package/build-module/hooks/layout.js.map +1 -1
  795. package/build-module/hooks/position.js +5 -2
  796. package/build-module/hooks/position.js.map +1 -1
  797. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  798. package/build-module/hooks/style.js +1 -3
  799. package/build-module/hooks/style.js.map +1 -1
  800. package/build-module/hooks/text-align.js.map +1 -1
  801. package/build-module/hooks/typography.native.js +1 -2
  802. package/build-module/hooks/typography.native.js.map +1 -1
  803. package/build-module/hooks/use-bindings-attributes.js +1 -2
  804. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  805. package/build-module/hooks/use-typography-props.js.map +1 -1
  806. package/build-module/hooks/use-zoom-out.js +24 -17
  807. package/build-module/hooks/use-zoom-out.js.map +1 -1
  808. package/build-module/layouts/constrained.js +1 -3
  809. package/build-module/layouts/constrained.js.map +1 -1
  810. package/build-module/layouts/flex.js +1 -3
  811. package/build-module/layouts/flex.js.map +1 -1
  812. package/build-module/layouts/grid.js +1 -3
  813. package/build-module/layouts/grid.js.map +1 -1
  814. package/build-module/layouts/utils.js.map +1 -1
  815. package/build-module/store/actions.js +17 -18
  816. package/build-module/store/actions.js.map +1 -1
  817. package/build-module/store/private-actions.js +14 -0
  818. package/build-module/store/private-actions.js.map +1 -1
  819. package/build-module/store/private-selectors.js +98 -7
  820. package/build-module/store/private-selectors.js.map +1 -1
  821. package/build-module/store/reducer.js +22 -41
  822. package/build-module/store/reducer.js.map +1 -1
  823. package/build-module/store/selectors.js +150 -70
  824. package/build-module/store/selectors.js.map +1 -1
  825. package/build-module/store/utils.js +3 -2
  826. package/build-module/store/utils.js.map +1 -1
  827. package/build-module/utils/block-bindings.js +2 -0
  828. package/build-module/utils/block-bindings.js.map +1 -1
  829. package/build-module/utils/get-font-styles-and-weights.js +1 -1
  830. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  831. package/build-module/utils/get-px-from-css-unit.js +1 -1
  832. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  833. package/build-module/utils/object.js +1 -0
  834. package/build-module/utils/object.js.map +1 -1
  835. package/build-module/utils/pasting.js.map +1 -1
  836. package/build-style/content-rtl.css +22 -73
  837. package/build-style/content.css +22 -73
  838. package/build-style/default-editor-styles-rtl.css +10 -1
  839. package/build-style/default-editor-styles.css +10 -1
  840. package/build-style/style-rtl.css +48 -165
  841. package/build-style/style.css +48 -165
  842. package/package.json +33 -33
  843. package/src/autocompleters/link.js +2 -1
  844. package/src/components/block-actions/index.js +1 -13
  845. package/src/components/block-canvas/style.scss +0 -1
  846. package/src/components/block-draggable/style.scss +2 -2
  847. package/src/components/block-inspector/index.js +79 -95
  848. package/src/components/block-list/block.js +7 -25
  849. package/src/components/block-list/content.scss +4 -63
  850. package/src/components/block-list/index.js +21 -29
  851. package/src/components/block-list/use-block-props/index.js +2 -8
  852. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +25 -4
  853. package/src/components/block-list/use-in-between-inserter.js +5 -2
  854. package/src/components/block-list/zoom-out-separator.js +32 -14
  855. package/src/components/block-navigation/dropdown.js +1 -2
  856. package/src/components/block-parent-selector/index.js +13 -10
  857. package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
  858. package/src/components/block-patterns-paging/index.js +8 -7
  859. package/src/components/block-patterns-paging/style.scss +10 -27
  860. package/src/components/block-popover/index.js +64 -2
  861. package/src/components/block-preview/auto.js +1 -4
  862. package/src/components/block-quick-navigation/index.js +1 -2
  863. package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
  864. package/src/components/block-settings-menu-controls/index.js +0 -15
  865. package/src/components/block-switcher/index.js +37 -30
  866. package/src/components/block-toolbar/index.js +22 -34
  867. package/src/components/block-toolbar/style.scss +10 -1
  868. package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
  869. package/src/components/block-tools/index.js +7 -27
  870. package/src/components/block-tools/insertion-point.js +1 -4
  871. package/src/components/block-tools/style.scss +0 -90
  872. package/src/components/block-tools/use-show-block-tools.js +10 -13
  873. package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
  874. package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
  875. package/src/components/block-tools/zoom-out-popover.js +2 -1
  876. package/src/components/block-tools/zoom-out-toolbar.js +4 -36
  877. package/src/components/font-family/README.md +5 -1
  878. package/src/components/global-styles/border-panel.js +1 -1
  879. package/src/components/global-styles/dimensions-panel.js +1 -1
  880. package/src/components/iframe/content.scss +20 -24
  881. package/src/components/iframe/index.js +56 -12
  882. package/src/components/iframe/style.scss +6 -5
  883. package/src/components/inner-blocks/index.js +1 -16
  884. package/src/components/inner-blocks/use-nested-settings-update.js +16 -10
  885. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  886. package/src/components/inserter/block-types-tab.js +1 -1
  887. package/src/components/inserter/category-tabs/index.js +1 -11
  888. package/src/components/inserter/hooks/use-block-types-state.js +34 -14
  889. package/src/components/inserter/hooks/use-insertion-point.js +35 -13
  890. package/src/components/inserter/hooks/use-patterns-state.js +46 -9
  891. package/src/components/inserter/media-tab/media-preview.js +38 -12
  892. package/src/components/inserter/menu.js +4 -4
  893. package/src/components/inserter/mobile-tab-navigation.js +10 -13
  894. package/src/components/inserter/quick-inserter.js +6 -5
  895. package/src/components/inserter/style.scss +1 -69
  896. package/src/components/inspector-controls-tabs/style.scss +2 -6
  897. package/src/components/link-control/index.js +0 -1
  898. package/src/components/link-control/search-input.js +4 -5
  899. package/src/components/link-control/search-results.js +2 -13
  900. package/src/components/link-control/test/index.js +84 -46
  901. package/src/components/list-view/block-contents.js +1 -28
  902. package/src/components/list-view/style.scss +0 -14
  903. package/src/components/media-replace-flow/test/index.js +1 -1
  904. package/src/components/responsive-block-control/style.scss +0 -1
  905. package/src/components/rich-text/style.scss +5 -0
  906. package/src/components/tool-selector/index.js +15 -7
  907. package/src/components/tool-selector/style.scss +5 -0
  908. package/src/components/use-block-commands/index.js +0 -58
  909. package/src/components/writing-flow/use-tab-nav.js +32 -40
  910. package/src/content.scss +0 -1
  911. package/src/hooks/duotone.js +4 -1
  912. package/src/hooks/layout-child.js +4 -1
  913. package/src/hooks/position.js +4 -1
  914. package/src/hooks/use-zoom-out.js +36 -20
  915. package/src/store/actions.js +17 -15
  916. package/src/store/private-actions.js +14 -0
  917. package/src/store/private-selectors.js +120 -16
  918. package/src/store/reducer.js +22 -45
  919. package/src/store/selectors.js +218 -118
  920. package/src/store/test/private-actions.js +15 -0
  921. package/src/store/test/private-selectors.js +41 -1
  922. package/src/store/test/reducer.js +40 -4
  923. package/src/store/test/selectors.js +195 -21
  924. package/src/store/utils.js +4 -2
  925. package/src/style.scss +1 -0
  926. package/src/utils/block-bindings.js +2 -0
  927. package/build/components/block-controls/use-has-block-controls.js +0 -43
  928. package/build/components/block-controls/use-has-block-controls.js.map +0 -1
  929. package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
  930. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  931. package/build/components/block-tools/block-selection-button.js +0 -259
  932. package/build/components/block-tools/block-selection-button.js.map +0 -1
  933. package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
  934. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  935. package/build/components/inserter/tabs.js +0 -78
  936. package/build/components/inserter/tabs.js.map +0 -1
  937. package/build-module/components/block-controls/use-has-block-controls.js +0 -34
  938. package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
  939. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
  940. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  941. package/build-module/components/block-tools/block-selection-button.js +0 -254
  942. package/build-module/components/block-tools/block-selection-button.js.map +0 -1
  943. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
  944. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  945. package/build-module/components/inserter/tabs.js +0 -72
  946. package/build-module/components/inserter/tabs.js.map +0 -1
  947. package/src/components/block-controls/use-has-block-controls.js +0 -35
  948. package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
  949. package/src/components/block-tools/block-selection-button.js +0 -302
  950. package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
  951. package/src/components/inner-blocks/content.scss +0 -13
  952. package/src/components/inserter/tabs.js +0 -78
  953. package/src/components/inserter/test/block-types-tab.native.js +0 -67
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,7 @@ import { store as blockEditorStore } from '../../store';
30
30
  import __unstableBlockNameContext from './block-name-context';
31
31
  import NavigableToolbar from '../navigable-toolbar';
32
32
  import { useHasBlockToolbar } from './use-has-block-toolbar';
33
+ import { unlock } from '../../lock-unlock';
33
34
 
34
35
  /**
35
36
  * Renders the block toolbar.
@@ -43,9 +44,7 @@ import { useHasBlockToolbar } from './use-has-block-toolbar';
43
44
  * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.
44
45
  * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.
45
46
  */
46
- import { jsx as _jsx } from "react/jsx-runtime";
47
- import { Fragment as _Fragment } from "react/jsx-runtime";
48
- import { jsxs as _jsxs } from "react/jsx-runtime";
47
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
49
48
  export function PrivateBlockToolbar({
50
49
  hideDragHandle,
51
50
  focusOnMount,
@@ -56,7 +55,6 @@ export function PrivateBlockToolbar({
56
55
  const {
57
56
  blockClientId,
58
57
  blockClientIds,
59
- isContentOnlyEditingMode,
60
58
  isDefaultEditingMode,
61
59
  blockType,
62
60
  toolbarKey,
@@ -75,13 +73,15 @@ export function PrivateBlockToolbar({
75
73
  getBlockEditingMode,
76
74
  getBlockAttributes,
77
75
  getBlockParentsByBlockName,
78
- getTemplateLock
79
- } = select(blockEditorStore);
76
+ getTemplateLock,
77
+ getParentSectionBlock
78
+ } = unlock(select(blockEditorStore));
80
79
  const selectedBlockClientIds = getSelectedBlockClientIds();
81
80
  const selectedBlockClientId = selectedBlockClientIds[0];
82
81
  const parents = getBlockParents(selectedBlockClientId);
83
- const firstParentClientId = parents[parents.length - 1];
84
- const parentBlockName = getBlockName(firstParentClientId);
82
+ const parentSection = getParentSectionBlock(selectedBlockClientId);
83
+ const parentClientId = parentSection !== null && parentSection !== void 0 ? parentSection : parents[parents.length - 1];
84
+ const parentBlockName = getBlockName(parentClientId);
85
85
  const parentBlockType = getBlockType(parentBlockName);
86
86
  const editingMode = getBlockEditingMode(selectedBlockClientId);
87
87
  const _isDefaultEditingMode = editingMode === 'default';
@@ -96,12 +96,11 @@ export function PrivateBlockToolbar({
96
96
  return {
97
97
  blockClientId: selectedBlockClientId,
98
98
  blockClientIds: selectedBlockClientIds,
99
- isContentOnlyEditingMode: editingMode === 'contentOnly',
100
99
  isDefaultEditingMode: _isDefaultEditingMode,
101
100
  blockType: selectedBlockClientId && getBlockType(_blockName),
102
101
  shouldShowVisualToolbar: isValid && isVisual,
103
- toolbarKey: `${selectedBlockClientId}${firstParentClientId}`,
104
- showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && hasBlockSupport(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode,
102
+ toolbarKey: `${selectedBlockClientId}${parentClientId}`,
103
+ showParentSelector: parentBlockType && getBlockEditingMode(parentClientId) !== 'disabled' && hasBlockSupport(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1,
105
104
  isUsingBindings: _isUsingBindings,
106
105
  hasParentPattern: _hasParentPattern,
107
106
  hasContentOnlyLocking: _hasTemplateLock
@@ -148,22 +147,18 @@ export function PrivateBlockToolbar({
148
147
  children: /*#__PURE__*/_jsxs("div", {
149
148
  ref: toolbarWrapperRef,
150
149
  className: innerClasses,
151
- children: [!isMultiToolbar && isLargeViewport && isDefaultEditingMode && /*#__PURE__*/_jsx(BlockParentSelector, {}), (shouldShowVisualToolbar || isMultiToolbar) && (isDefaultEditingMode || isContentOnlyEditingMode && !hasParentPattern || isSynced) && /*#__PURE__*/_jsx("div", {
150
+ children: [!isMultiToolbar && isLargeViewport && /*#__PURE__*/_jsx(BlockParentSelector, {}), (shouldShowVisualToolbar || isMultiToolbar) && !hasParentPattern && /*#__PURE__*/_jsx("div", {
152
151
  ref: nodeRef,
153
152
  ...showHoveredOrFocusedGestures,
154
153
  children: /*#__PURE__*/_jsxs(ToolbarGroup, {
155
154
  className: "block-editor-block-toolbar__block-controls",
156
155
  children: [/*#__PURE__*/_jsx(BlockSwitcher, {
156
+ clientIds: blockClientIds
157
+ }), !isMultiToolbar && isDefaultEditingMode && /*#__PURE__*/_jsx(BlockLockToolbar, {
158
+ clientId: blockClientId
159
+ }), /*#__PURE__*/_jsx(BlockMover, {
157
160
  clientIds: blockClientIds,
158
- disabled: !isDefaultEditingMode,
159
- isUsingBindings: isUsingBindings
160
- }), isDefaultEditingMode && /*#__PURE__*/_jsxs(_Fragment, {
161
- children: [!isMultiToolbar && /*#__PURE__*/_jsx(BlockLockToolbar, {
162
- clientId: blockClientId
163
- }), /*#__PURE__*/_jsx(BlockMover, {
164
- clientIds: blockClientIds,
165
- hideDragHandle: hideDragHandle
166
- })]
161
+ hideDragHandle: hideDragHandle
167
162
  })]
168
163
  })
169
164
  }), !hasContentOnlyLocking && shouldShowVisualToolbar && isMultiToolbar && /*#__PURE__*/_jsx(BlockGroupToolbar, {}), shouldShowVisualToolbar && /*#__PURE__*/_jsxs(_Fragment, {
@@ -187,7 +182,7 @@ export function PrivateBlockToolbar({
187
182
  })]
188
183
  }), /*#__PURE__*/_jsx(BlockEditVisuallyButton, {
189
184
  clientIds: blockClientIds
190
- }), isDefaultEditingMode && /*#__PURE__*/_jsx(BlockSettingsMenu, {
185
+ }), /*#__PURE__*/_jsx(BlockSettingsMenu, {
191
186
  clientIds: blockClientIds
192
187
  })]
193
188
  })
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasBlockToolbar","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isContentOnlyEditingMode","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","selectedBlockClientIds","selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","focusEditorOnEscape","className","undefined","children","clientIds","disabled","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisContentOnlyEditingMode,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisContentOnlyEditingMode: editingMode === 'contentOnly',\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ firstParentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1 &&\n\t\t\t\t_isDefaultEditingMode,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisDefaultEditingMode && <BlockParentSelector /> }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t( isDefaultEditingMode ||\n\t\t\t\t\t\t( isContentOnlyEditingMode && ! hasParentPattern ) ||\n\t\t\t\t\t\tisSynced ) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isDefaultEditingMode }\n\t\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar && <BlockGroupToolbar /> }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","useHasBlockToolbar","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getParentSectionBlock","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","focusEditorOnEscape","className","undefined","children","clientIds","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetParentSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar && isDefaultEditingMode && (\n\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar && <BlockGroupToolbar /> }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,9 +13,7 @@ import BlockMover from '../block-mover';
13
13
  import UngroupButton from '../ungroup-button';
14
14
  import { BlockSettingsButton } from '../block-settings';
15
15
  import { store as blockEditorStore } from '../../store';
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { Fragment as _Fragment } from "react/jsx-runtime";
18
- import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
19
17
  const REMOVE_EMPY_PARENT_BLOCKS = ['core/buttons', 'core/columns', 'core/social-links'];
20
18
  export default function BlockToolbar({
21
19
  anchorNodeRef
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useCallback","BlockActionsMenu","BlockControls","BlockMover","UngroupButton","BlockSettingsButton","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REMOVE_EMPY_PARENT_BLOCKS","BlockToolbar","anchorNodeRef","rootClientId","blockClientId","isSelected","isValidAndVisual","isStackedHorizontally","parentBlockName","parentNumberOfInnerBlocks","select","getBlockListSettings","getBlockMode","getBlockName","getBlockCount","getBlockRootClientId","getSelectedBlockClientIds","isBlockValid","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","blockListSettings","orientation","isBlockStackedHorizontally","parentName","numberOfInnerBlocks","length","removeBlock","onRemove","includes","children","Slot","fills","group","clientIds","clientId","onDelete"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockActionsMenu from './block-toolbar-menu';\nimport BlockControls from '../block-controls';\nimport BlockMover from '../block-mover';\nimport UngroupButton from '../ungroup-button';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\nconst REMOVE_EMPY_PARENT_BLOCKS = [\n\t'core/buttons',\n\t'core/columns',\n\t'core/social-links',\n];\n\nexport default function BlockToolbar( { anchorNodeRef } ) {\n\tconst {\n\t\trootClientId,\n\t\tblockClientId,\n\t\tisSelected,\n\t\tisValidAndVisual,\n\t\tisStackedHorizontally,\n\t\tparentBlockName,\n\t\tparentNumberOfInnerBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockName,\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst blockListSettings = getBlockListSettings( blockRootClientId );\n\t\tconst orientation = blockListSettings?.orientation;\n\t\tconst isBlockStackedHorizontally = orientation === 'horizontal';\n\t\tconst parentName = getBlockName( blockRootClientId );\n\t\tconst numberOfInnerBlocks = getBlockCount( blockRootClientId );\n\n\t\treturn {\n\t\t\trootClientId: blockRootClientId,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tisSelected: selectedBlockClientIds.length > 0,\n\t\t\tisStackedHorizontally: isBlockStackedHorizontally,\n\t\t\tparentBlockName: parentName,\n\t\t\tparentNumberOfInnerBlocks: numberOfInnerBlocks,\n\t\t\tisValidAndVisual:\n\t\t\t\tselectedBlockClientIds.length === 1\n\t\t\t\t\t? isBlockValid( selectedBlockClientIds[ 0 ] ) &&\n\t\t\t\t\t getBlockMode( selectedBlockClientIds[ 0 ] ) === 'visual'\n\t\t\t\t\t: false,\n\t\t};\n\t}, [] );\n\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => {\n\t\t// Temp: remove parent block for specific cases where they don't\n\t\t// have inner blocks, ideally we should match the behavior as in\n\t\t// the Web editor and show a placeholder instead of removing the parent.\n\t\tif (\n\t\t\tREMOVE_EMPY_PARENT_BLOCKS.includes( parentBlockName ) &&\n\t\t\tparentNumberOfInnerBlocks === 1\n\t\t) {\n\t\t\tremoveBlock( rootClientId );\n\t\t\treturn;\n\t\t}\n\n\t\tremoveBlock( blockClientId );\n\t}, [\n\t\tblockClientId,\n\t\tparentBlockName,\n\t\tparentNumberOfInnerBlocks,\n\t\tremoveBlock,\n\t\trootClientId,\n\t] );\n\n\tif ( ! isSelected ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isValidAndVisual && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }\n\t\t\t\t\t\t{ ( fills = [ null ] ) => {\n\t\t\t\t\t\t\tif ( ! fills?.length > 0 ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn fills[ 0 ];\n\t\t\t\t\t\t} }\n\t\t\t\t\t</BlockSettingsButton.Slot>\n\t\t\t\t\t<BlockControls.Slot group=\"block\" />\n\t\t\t\t\t<BlockControls.Slot />\n\t\t\t\t\t<BlockControls.Slot group=\"inline\" />\n\t\t\t\t\t<BlockControls.Slot group=\"other\" />\n\t\t\t\t\t<UngroupButton />\n\n\t\t\t\t\t<BlockMover\n\t\t\t\t\t\tclientIds={ [ blockClientId ] }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<BlockActionsMenu\n\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t\tonDelete={ onRemove }\n\t\t\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","useCallback","BlockActionsMenu","BlockControls","BlockMover","UngroupButton","BlockSettingsButton","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","REMOVE_EMPY_PARENT_BLOCKS","BlockToolbar","anchorNodeRef","rootClientId","blockClientId","isSelected","isValidAndVisual","isStackedHorizontally","parentBlockName","parentNumberOfInnerBlocks","select","getBlockListSettings","getBlockMode","getBlockName","getBlockCount","getBlockRootClientId","getSelectedBlockClientIds","isBlockValid","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","blockListSettings","orientation","isBlockStackedHorizontally","parentName","numberOfInnerBlocks","length","removeBlock","onRemove","includes","children","Slot","fills","group","clientIds","clientId","onDelete"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockActionsMenu from './block-toolbar-menu';\nimport BlockControls from '../block-controls';\nimport BlockMover from '../block-mover';\nimport UngroupButton from '../ungroup-button';\nimport { BlockSettingsButton } from '../block-settings';\nimport { store as blockEditorStore } from '../../store';\n\nconst REMOVE_EMPY_PARENT_BLOCKS = [\n\t'core/buttons',\n\t'core/columns',\n\t'core/social-links',\n];\n\nexport default function BlockToolbar( { anchorNodeRef } ) {\n\tconst {\n\t\trootClientId,\n\t\tblockClientId,\n\t\tisSelected,\n\t\tisValidAndVisual,\n\t\tisStackedHorizontally,\n\t\tparentBlockName,\n\t\tparentNumberOfInnerBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockName,\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst blockListSettings = getBlockListSettings( blockRootClientId );\n\t\tconst orientation = blockListSettings?.orientation;\n\t\tconst isBlockStackedHorizontally = orientation === 'horizontal';\n\t\tconst parentName = getBlockName( blockRootClientId );\n\t\tconst numberOfInnerBlocks = getBlockCount( blockRootClientId );\n\n\t\treturn {\n\t\t\trootClientId: blockRootClientId,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tisSelected: selectedBlockClientIds.length > 0,\n\t\t\tisStackedHorizontally: isBlockStackedHorizontally,\n\t\t\tparentBlockName: parentName,\n\t\t\tparentNumberOfInnerBlocks: numberOfInnerBlocks,\n\t\t\tisValidAndVisual:\n\t\t\t\tselectedBlockClientIds.length === 1\n\t\t\t\t\t? isBlockValid( selectedBlockClientIds[ 0 ] ) &&\n\t\t\t\t\t getBlockMode( selectedBlockClientIds[ 0 ] ) === 'visual'\n\t\t\t\t\t: false,\n\t\t};\n\t}, [] );\n\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => {\n\t\t// Temp: remove parent block for specific cases where they don't\n\t\t// have inner blocks, ideally we should match the behavior as in\n\t\t// the Web editor and show a placeholder instead of removing the parent.\n\t\tif (\n\t\t\tREMOVE_EMPY_PARENT_BLOCKS.includes( parentBlockName ) &&\n\t\t\tparentNumberOfInnerBlocks === 1\n\t\t) {\n\t\t\tremoveBlock( rootClientId );\n\t\t\treturn;\n\t\t}\n\n\t\tremoveBlock( blockClientId );\n\t}, [\n\t\tblockClientId,\n\t\tparentBlockName,\n\t\tparentNumberOfInnerBlocks,\n\t\tremoveBlock,\n\t\trootClientId,\n\t] );\n\n\tif ( ! isSelected ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isValidAndVisual && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockSettingsButton.Slot>\n\t\t\t\t\t\t{ /* Render only one settings icon even if we have more than one fill - need for hooks with controls. */ }\n\t\t\t\t\t\t{ ( fills = [ null ] ) => {\n\t\t\t\t\t\t\tif ( ! fills?.length > 0 ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn fills[ 0 ];\n\t\t\t\t\t\t} }\n\t\t\t\t\t</BlockSettingsButton.Slot>\n\t\t\t\t\t<BlockControls.Slot group=\"block\" />\n\t\t\t\t\t<BlockControls.Slot />\n\t\t\t\t\t<BlockControls.Slot group=\"inline\" />\n\t\t\t\t\t<BlockControls.Slot group=\"other\" />\n\t\t\t\t\t<UngroupButton />\n\n\t\t\t\t\t<BlockMover\n\t\t\t\t\t\tclientIds={ [ blockClientId ] }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<BlockActionsMenu\n\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\t\t\tonDelete={ onRemove }\n\t\t\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,6 @@ import { getBlockType, hasBlockSupport } from '@wordpress/blocks';
7
7
  * Internal dependencies
8
8
  */
9
9
  import { store as blockEditorStore } from '../../store';
10
- import { useHasAnyBlockControls } from '../block-controls/use-has-block-controls';
11
10
 
12
11
  /**
13
12
  * Returns true if the block toolbar should be shown.
@@ -17,7 +16,7 @@ import { useHasAnyBlockControls } from '../block-controls/use-has-block-controls
17
16
  export function useHasBlockToolbar() {
18
17
  const {
19
18
  isToolbarEnabled,
20
- isDefaultEditingMode
19
+ isBlockDisabled
21
20
  } = useSelect(select => {
22
21
  const {
23
22
  getBlockEditingMode,
@@ -32,11 +31,10 @@ export function useHasBlockToolbar() {
32
31
  const blockType = selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId));
33
32
  return {
34
33
  isToolbarEnabled: blockType && hasBlockSupport(blockType, '__experimentalToolbar', true),
35
- isDefaultEditingMode: getBlockEditingMode(selectedBlockClientId) === 'default'
34
+ isBlockDisabled: getBlockEditingMode(selectedBlockClientId) === 'disabled'
36
35
  };
37
36
  }, []);
38
- const hasAnyBlockControls = useHasAnyBlockControls();
39
- if (!isToolbarEnabled || !isDefaultEditingMode && !hasAnyBlockControls) {
37
+ if (!isToolbarEnabled || isBlockDisabled) {
40
38
  return false;
41
39
  }
42
40
  return true;
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","getBlockType","hasBlockSupport","store","blockEditorStore","useHasAnyBlockControls","useHasBlockToolbar","isToolbarEnabled","isDefaultEditingMode","select","getBlockEditingMode","getBlockName","getBlockSelectionStart","selectedBlockClientId","blockType","hasAnyBlockControls"],"sources":["@wordpress/block-editor/src/components/block-toolbar/use-has-block-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useHasAnyBlockControls } from '../block-controls/use-has-block-controls';\n\n/**\n * Returns true if the block toolbar should be shown.\n *\n * @return {boolean} Whether the block toolbar component will be rendered.\n */\nexport function useHasBlockToolbar() {\n\tconst { isToolbarEnabled, isDefaultEditingMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockSelectionStart,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\t// we only care about the 1st selected block\n\t\t\t// for the toolbar, so we use getBlockSelectionStart\n\t\t\t// instead of getSelectedBlockClientIds\n\t\t\tconst selectedBlockClientId = getBlockSelectionStart();\n\n\t\t\tconst blockType =\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) );\n\n\t\t\treturn {\n\t\t\t\tisToolbarEnabled:\n\t\t\t\t\tblockType &&\n\t\t\t\t\thasBlockSupport( blockType, '__experimentalToolbar', true ),\n\t\t\t\tisDefaultEditingMode:\n\t\t\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default',\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst hasAnyBlockControls = useHasAnyBlockControls();\n\n\tif (\n\t\t! isToolbarEnabled ||\n\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,YAAY,EAAEC,eAAe,QAAQ,mBAAmB;AACjE;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,sBAAsB,QAAQ,0CAA0C;;AAEjF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACpC,MAAM;IAAEC,gBAAgB;IAAEC;EAAqB,CAAC,GAAGR,SAAS,CACzDS,MAAM,IAAM;IACb,MAAM;MACLC,mBAAmB;MACnBC,YAAY;MACZC;IACD,CAAC,GAAGH,MAAM,CAAEL,gBAAiB,CAAC;;IAE9B;IACA;IACA;IACA,MAAMS,qBAAqB,GAAGD,sBAAsB,CAAC,CAAC;IAEtD,MAAME,SAAS,GACdD,qBAAqB,IACrBZ,YAAY,CAAEU,YAAY,CAAEE,qBAAsB,CAAE,CAAC;IAEtD,OAAO;MACNN,gBAAgB,EACfO,SAAS,IACTZ,eAAe,CAAEY,SAAS,EAAE,uBAAuB,EAAE,IAAK,CAAC;MAC5DN,oBAAoB,EACnBE,mBAAmB,CAAEG,qBAAsB,CAAC,KAAK;IACnD,CAAC;EACF,CAAC,EACD,EACD,CAAC;EAED,MAAME,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EAEpD,IACC,CAAEE,gBAAgB,IAChB,CAAEC,oBAAoB,IAAI,CAAEO,mBAAqB,EAClD;IACD,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","getBlockType","hasBlockSupport","store","blockEditorStore","useHasBlockToolbar","isToolbarEnabled","isBlockDisabled","select","getBlockEditingMode","getBlockName","getBlockSelectionStart","selectedBlockClientId","blockType"],"sources":["@wordpress/block-editor/src/components/block-toolbar/use-has-block-toolbar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getBlockType, hasBlockSupport } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Returns true if the block toolbar should be shown.\n *\n * @return {boolean} Whether the block toolbar component will be rendered.\n */\nexport function useHasBlockToolbar() {\n\tconst { isToolbarEnabled, isBlockDisabled } = useSelect( ( select ) => {\n\t\tconst { getBlockEditingMode, getBlockName, getBlockSelectionStart } =\n\t\t\tselect( blockEditorStore );\n\n\t\t// we only care about the 1st selected block\n\t\t// for the toolbar, so we use getBlockSelectionStart\n\t\t// instead of getSelectedBlockClientIds\n\t\tconst selectedBlockClientId = getBlockSelectionStart();\n\n\t\tconst blockType =\n\t\t\tselectedBlockClientId &&\n\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) );\n\n\t\treturn {\n\t\t\tisToolbarEnabled:\n\t\t\t\tblockType &&\n\t\t\t\thasBlockSupport( blockType, '__experimentalToolbar', true ),\n\t\t\tisBlockDisabled:\n\t\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'disabled',\n\t\t};\n\t}, [] );\n\n\tif ( ! isToolbarEnabled || isBlockDisabled ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,YAAY,EAAEC,eAAe,QAAQ,mBAAmB;AACjE;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACpC,MAAM;IAAEC,gBAAgB;IAAEC;EAAgB,CAAC,GAAGP,SAAS,CAAIQ,MAAM,IAAM;IACtE,MAAM;MAAEC,mBAAmB;MAAEC,YAAY;MAAEC;IAAuB,CAAC,GAClEH,MAAM,CAAEJ,gBAAiB,CAAC;;IAE3B;IACA;IACA;IACA,MAAMQ,qBAAqB,GAAGD,sBAAsB,CAAC,CAAC;IAEtD,MAAME,SAAS,GACdD,qBAAqB,IACrBX,YAAY,CAAES,YAAY,CAAEE,qBAAsB,CAAE,CAAC;IAEtD,OAAO;MACNN,gBAAgB,EACfO,SAAS,IACTX,eAAe,CAAEW,SAAS,EAAE,uBAAuB,EAAE,IAAK,CAAC;MAC5DN,eAAe,EACdE,mBAAmB,CAAEG,qBAAsB,CAAC,KAAK;IACnD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEN,gBAAgB,IAAIC,eAAe,EAAG;IAC5C,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ","ignoreList":[]}
@@ -16,31 +16,30 @@ import { __ } from '@wordpress/i18n';
16
16
  import EmptyBlockInserter from './empty-block-inserter';
17
17
  import { InsertionPointOpenRef, default as InsertionPoint } from './insertion-point';
18
18
  import BlockToolbarPopover from './block-toolbar-popover';
19
- import BlockToolbarBreadcrumb from './block-toolbar-breadcrumb';
20
19
  import ZoomOutPopover from './zoom-out-popover';
21
20
  import { store as blockEditorStore } from '../../store';
22
21
  import usePopoverScroll from '../block-popover/use-popover-scroll';
23
22
  import ZoomOutModeInserters from './zoom-out-mode-inserters';
24
23
  import { useShowBlockTools } from './use-show-block-tools';
25
24
  import { unlock } from '../../lock-unlock';
26
- import getEditorRegion from '../../utils/get-editor-region';
27
- import { jsx as _jsx } from "react/jsx-runtime";
28
- import { jsxs as _jsxs } from "react/jsx-runtime";
25
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
26
  function selector(select) {
30
27
  const {
31
28
  getSelectedBlockClientId,
32
29
  getFirstMultiSelectedBlockClientId,
33
30
  getSettings,
34
31
  __unstableGetEditorMode,
35
- isTyping
36
- } = select(blockEditorStore);
32
+ isTyping,
33
+ isDragging
34
+ } = unlock(select(blockEditorStore));
37
35
  const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
38
36
  const editorMode = __unstableGetEditorMode();
39
37
  return {
40
38
  clientId,
41
39
  hasFixedToolbar: getSettings().hasFixedToolbar,
42
40
  isTyping: isTyping(),
43
- isZoomOutMode: editorMode === 'zoom-out'
41
+ isZoomOutMode: editorMode === 'zoom-out',
42
+ isDragging: isDragging()
44
43
  };
45
44
  }
46
45
 
@@ -62,7 +61,8 @@ export default function BlockTools({
62
61
  clientId,
63
62
  hasFixedToolbar,
64
63
  isTyping,
65
- isZoomOutMode
64
+ isZoomOutMode,
65
+ isDragging
66
66
  } = useSelect(selector, []);
67
67
  const isMatch = useShortcutEventMatch();
68
68
  const {
@@ -76,12 +76,10 @@ export default function BlockTools({
76
76
  } = useSelect(blocksStore);
77
77
  const {
78
78
  showEmptyBlockSideInserter,
79
- showBreadcrumb,
80
79
  showBlockToolbarPopover,
81
80
  showZoomOutToolbar
82
81
  } = useShowBlockTools();
83
82
  const {
84
- clearSelectedBlock,
85
83
  duplicateBlocks,
86
84
  removeBlocks,
87
85
  replaceBlocks,
@@ -92,7 +90,6 @@ export default function BlockTools({
92
90
  moveBlocksDown,
93
91
  expandBlock
94
92
  } = unlock(useDispatch(blockEditorStore));
95
- const blockSelectionButtonRef = useRef();
96
93
  function onKeyDown(event) {
97
94
  if (event.defaultPrevented) {
98
95
  return;
@@ -151,10 +148,6 @@ export default function BlockTools({
151
148
  // block so that focus is directed back to the beginning of the selection.
152
149
  // In effect, to the user this feels like deselecting the multi-selection.
153
150
  selectBlock(clientIds[0]);
154
- } else if (clientIds.length === 1 && event.target === blockSelectionButtonRef?.current) {
155
- event.preventDefault();
156
- clearSelectedBlock();
157
- getEditorRegion(__unstableContentRef.current)?.focus();
158
151
  }
159
152
  } else if (isMatch('core/block-editor/collapse-list-view', event)) {
160
153
  // If focus is currently within a text field, such as a rich text block or other editable field,
@@ -196,10 +189,6 @@ export default function BlockTools({
196
189
  __unstableContentRef: __unstableContentRef,
197
190
  clientId: clientId,
198
191
  isTyping: isTyping
199
- }), showBreadcrumb && /*#__PURE__*/_jsx(BlockToolbarBreadcrumb, {
200
- ref: blockSelectionButtonRef,
201
- __unstableContentRef: __unstableContentRef,
202
- clientId: clientId
203
192
  }), showZoomOutToolbar && /*#__PURE__*/_jsx(ZoomOutPopover, {
204
193
  __unstableContentRef: __unstableContentRef,
205
194
  clientId: clientId
@@ -209,7 +198,7 @@ export default function BlockTools({
209
198
  }), children, /*#__PURE__*/_jsx(Popover.Slot, {
210
199
  name: "__unstable-block-tools-after",
211
200
  ref: blockToolbarAfterRef
212
- }), isZoomOutMode && /*#__PURE__*/_jsx(ZoomOutModeInserters, {
201
+ }), isZoomOutMode && !isDragging && /*#__PURE__*/_jsx(ZoomOutModeInserters, {
213
202
  __unstableContentRef: __unstableContentRef
214
203
  })]
215
204
  })