@wordpress/block-editor 12.23.0 → 12.24.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 (1403) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/autocompleters/link.js.map +1 -1
  5. package/build/components/alignment-control/index.js.map +1 -1
  6. package/build/components/alignment-control/ui.js.map +1 -1
  7. package/build/components/autocomplete/index.js.map +1 -1
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-alignment-control/constants.js.map +1 -1
  10. package/build/components/block-alignment-control/index.js.map +1 -1
  11. package/build/components/block-alignment-control/ui.js.map +1 -1
  12. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  13. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  14. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  15. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  16. package/build/components/block-breadcrumb/index.js.map +1 -1
  17. package/build/components/block-canvas/index.js.map +1 -1
  18. package/build/components/block-caption/index.native.js.map +1 -1
  19. package/build/components/block-card/index.js.map +1 -1
  20. package/build/components/block-compare/block-view.js.map +1 -1
  21. package/build/components/block-compare/index.js.map +1 -1
  22. package/build/components/block-content-overlay/index.js.map +1 -1
  23. package/build/components/block-context/index.js.map +1 -1
  24. package/build/components/block-controls/fill.js.map +1 -1
  25. package/build/components/block-controls/groups.js.map +1 -1
  26. package/build/components/block-controls/hook.js.map +1 -1
  27. package/build/components/block-controls/index.js.map +1 -1
  28. package/build/components/block-controls/slot.js.map +1 -1
  29. package/build/components/block-controls/slot.native.js.map +1 -1
  30. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  31. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  32. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  33. package/build/components/block-draggable/dropping-insertion-point.native.js +1 -1
  34. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  35. package/build/components/block-draggable/index.js.map +1 -1
  36. package/build/components/block-draggable/index.native.js +1 -1
  37. package/build/components/block-draggable/index.native.js.map +1 -1
  38. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  39. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  40. package/build/components/block-edit/context.js +2 -1
  41. package/build/components/block-edit/context.js.map +1 -1
  42. package/build/components/block-edit/edit.js.map +1 -1
  43. package/build/components/block-edit/edit.native.js.map +1 -1
  44. package/build/components/block-edit/index.js +4 -2
  45. package/build/components/block-edit/index.js.map +1 -1
  46. package/build/components/block-edit-visually-button/index.js.map +1 -1
  47. package/build/components/block-editing-mode/index.js.map +1 -1
  48. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  49. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  50. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  51. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  52. package/build/components/block-icon/index.js.map +1 -1
  53. package/build/components/block-icon/index.native.js.map +1 -1
  54. package/build/components/block-info-slot-fill/index.js.map +1 -1
  55. package/build/components/block-inspector/index.js +5 -4
  56. package/build/components/block-inspector/index.js.map +1 -1
  57. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  58. package/build/components/block-list/block-crash-boundary.js.map +1 -1
  59. package/build/components/block-list/block-crash-boundary.native.js.map +1 -1
  60. package/build/components/block-list/block-crash-warning.js.map +1 -1
  61. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  62. package/build/components/block-list/block-html.js.map +1 -1
  63. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  64. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  65. package/build/components/block-list/block-list-context.native.js.map +1 -1
  66. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  67. package/build/components/block-list/block-list-item.native.js.map +1 -1
  68. package/build/components/block-list/block-outline.native.js.map +1 -1
  69. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  70. package/build/components/block-list/block.js +44 -26
  71. package/build/components/block-list/block.js.map +1 -1
  72. package/build/components/block-list/block.native.js +2 -2
  73. package/build/components/block-list/block.native.js.map +1 -1
  74. package/build/components/block-list/grid-item.native.js.map +1 -1
  75. package/build/components/block-list/index.js +16 -5
  76. package/build/components/block-list/index.js.map +1 -1
  77. package/build/components/block-list/index.native.js.map +1 -1
  78. package/build/components/block-list/insertion-point.native.js.map +1 -1
  79. package/build/components/block-list/layout.js.map +1 -1
  80. package/build/components/block-list/private-block-context.js.map +1 -1
  81. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  82. package/build/components/block-list/use-block-props/index.js +2 -1
  83. package/build/components/block-list/use-block-props/index.js.map +1 -1
  84. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  85. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
  86. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  87. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  88. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  89. package/build/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  90. package/build/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  91. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  92. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  93. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  94. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  95. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  96. package/build/components/block-list-appender/index.js.map +1 -1
  97. package/build/components/block-list-appender/index.native.js.map +1 -1
  98. package/build/components/block-lock/index.js.map +1 -1
  99. package/build/components/block-lock/menu-item.js.map +1 -1
  100. package/build/components/block-lock/modal.js.map +1 -1
  101. package/build/components/block-lock/toolbar.js.map +1 -1
  102. package/build/components/block-lock/use-block-lock.js.map +1 -1
  103. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  104. package/build/components/block-mover/button.js.map +1 -1
  105. package/build/components/block-mover/index.js.map +1 -1
  106. package/build/components/block-mover/index.native.js.map +1 -1
  107. package/build/components/block-mover/mover-description.js.map +1 -1
  108. package/build/components/block-mover/mover-description.native.js.map +1 -1
  109. package/build/components/block-navigation/dropdown.js.map +1 -1
  110. package/build/components/block-parent-selector/index.js.map +1 -1
  111. package/build/components/block-pattern-setup/constants.js.map +1 -1
  112. package/build/components/block-pattern-setup/index.js.map +1 -1
  113. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  114. package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  115. package/build/components/block-patterns-list/index.js.map +1 -1
  116. package/build/components/block-patterns-paging/index.js +8 -4
  117. package/build/components/block-patterns-paging/index.js.map +1 -1
  118. package/build/components/block-popover/cover.js.map +1 -1
  119. package/build/components/block-popover/drop-zone.js.map +1 -1
  120. package/build/components/block-popover/inbetween.js.map +1 -1
  121. package/build/components/block-popover/index.js.map +1 -1
  122. package/build/components/block-popover/use-popover-scroll.js.map +1 -1
  123. package/build/components/block-preview/auto.js.map +1 -1
  124. package/build/components/block-preview/index.js.map +1 -1
  125. package/build/components/block-quick-navigation/index.js.map +1 -1
  126. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  127. package/build/components/block-rename/index.js.map +1 -1
  128. package/build/components/block-rename/is-empty-string.js.map +1 -1
  129. package/build/components/block-rename/modal.js +13 -9
  130. package/build/components/block-rename/modal.js.map +1 -1
  131. package/build/components/block-rename/rename-control.js +3 -1
  132. package/build/components/block-rename/rename-control.js.map +1 -1
  133. package/build/components/block-rename/use-block-rename.js.map +1 -1
  134. package/build/components/block-selection-clearer/index.js.map +1 -1
  135. package/build/components/block-settings/button.native.js.map +1 -1
  136. package/build/components/block-settings/container.native.js.map +1 -1
  137. package/build/components/block-settings/index.native.js +1 -1
  138. package/build/components/block-settings/index.native.js.map +1 -1
  139. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  140. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  141. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  142. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  143. package/build/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  144. package/build/components/block-settings-menu/index.js.map +1 -1
  145. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  146. package/build/components/block-styles/index.js.map +1 -1
  147. package/build/components/block-styles/index.native.js.map +1 -1
  148. package/build/components/block-styles/menu-items.js.map +1 -1
  149. package/build/components/block-styles/preview-panel.js.map +1 -1
  150. package/build/components/block-styles/preview.native.js.map +1 -1
  151. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  152. package/build/components/block-styles/utils.js.map +1 -1
  153. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  154. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  155. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  156. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  157. package/build/components/block-switcher/index.js.map +1 -1
  158. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  159. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  160. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  161. package/build/components/block-switcher/utils.js.map +1 -1
  162. package/build/components/block-title/index.js.map +1 -1
  163. package/build/components/block-title/use-block-display-title.js.map +1 -1
  164. package/build/components/block-toolbar/block-name-context.js.map +1 -1
  165. package/build/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  166. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  167. package/build/components/block-toolbar/index.js +1 -1
  168. package/build/components/block-toolbar/index.js.map +1 -1
  169. package/build/components/block-toolbar/index.native.js.map +1 -1
  170. package/build/components/block-toolbar/shuffle.js.map +1 -1
  171. package/build/components/block-toolbar/use-has-block-toolbar.js +6 -3
  172. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  173. package/build/components/block-toolbar/utils.js.map +1 -1
  174. package/build/components/block-tools/block-selection-button.js +16 -12
  175. package/build/components/block-tools/block-selection-button.js.map +1 -1
  176. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  177. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  178. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  179. package/build/components/block-tools/index.js +1 -1
  180. package/build/components/block-tools/index.js.map +1 -1
  181. package/build/components/block-tools/insertion-point.js.map +1 -1
  182. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  183. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  184. package/build/components/block-tools/use-show-block-tools.js +7 -13
  185. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  186. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  187. package/build/components/block-types-list/index.js.map +1 -1
  188. package/build/components/block-types-list/index.native.js.map +1 -1
  189. package/build/components/block-variation-picker/index.js.map +1 -1
  190. package/build/components/block-variation-picker/index.native.js.map +1 -1
  191. package/build/components/block-variation-transforms/index.js +4 -1
  192. package/build/components/block-variation-transforms/index.js.map +1 -1
  193. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  194. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  195. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  196. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  197. package/build/components/border-radius-control/index.js.map +1 -1
  198. package/build/components/border-radius-control/input-controls.js.map +1 -1
  199. package/build/components/border-radius-control/linked-button.js.map +1 -1
  200. package/build/components/border-radius-control/utils.js.map +1 -1
  201. package/build/components/button-block-appender/index.js.map +1 -1
  202. package/build/components/button-block-appender/index.native.js +11 -1
  203. package/build/components/button-block-appender/index.native.js.map +1 -1
  204. package/build/components/caption/index.native.js.map +1 -1
  205. package/build/components/child-layout-control/index.js.map +1 -1
  206. package/build/components/color-palette/control.js.map +1 -1
  207. package/build/components/color-palette/index.js.map +1 -1
  208. package/build/components/color-palette/with-color-context.js.map +1 -1
  209. package/build/components/color-style-selector/index.js.map +1 -1
  210. package/build/components/colors/index.js +1 -1
  211. package/build/components/colors/index.js.map +1 -1
  212. package/build/components/colors/utils.js.map +1 -1
  213. package/build/components/colors/with-colors.js.map +1 -1
  214. package/build/components/colors-gradients/control.js.map +1 -1
  215. package/build/components/colors-gradients/dropdown.js.map +1 -1
  216. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  217. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  218. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  219. package/build/components/contrast-checker/index.js.map +1 -1
  220. package/build/components/contrast-checker/index.native.js.map +1 -1
  221. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  222. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  223. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  224. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  225. package/build/components/copy-handler/index.js.map +1 -1
  226. package/build/components/date-format-picker/index.js.map +1 -1
  227. package/build/components/default-block-appender/index.js.map +1 -1
  228. package/build/components/default-block-appender/index.native.js.map +1 -1
  229. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  230. package/build/components/dimensions-tool/index.js.map +1 -1
  231. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  232. package/build/components/dimensions-tool/width-height-tool.js +6 -2
  233. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  234. package/build/components/duotone/utils.js.map +1 -1
  235. package/build/components/duotone-control/index.js.map +1 -1
  236. package/build/components/editable-text/index.js.map +1 -1
  237. package/build/components/editor-styles/index.js +2 -1
  238. package/build/components/editor-styles/index.js.map +1 -1
  239. package/build/components/floating-toolbar/index.native.js.map +1 -1
  240. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  241. package/build/components/font-appearance-control/index.js.map +1 -1
  242. package/build/components/font-family/index.js.map +1 -1
  243. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  244. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  245. package/build/components/font-sizes/index.js.map +1 -1
  246. package/build/components/font-sizes/index.native.js.map +1 -1
  247. package/build/components/font-sizes/utils.js.map +1 -1
  248. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  249. package/build/components/global-styles/advanced-panel.js.map +1 -1
  250. package/build/components/global-styles/background-panel.js +19 -16
  251. package/build/components/global-styles/background-panel.js.map +1 -1
  252. package/build/components/global-styles/border-panel.js.map +1 -1
  253. package/build/components/global-styles/color-panel.js.map +1 -1
  254. package/build/components/global-styles/color-panel.native.js.map +1 -1
  255. package/build/components/global-styles/context.js.map +1 -1
  256. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  257. package/build/components/global-styles/filters-panel.js.map +1 -1
  258. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  259. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  260. package/build/components/global-styles/hooks.js.map +1 -1
  261. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  262. package/build/components/global-styles/index.js +1 -1
  263. package/build/components/global-styles/index.js.map +1 -1
  264. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  265. package/build/components/global-styles/typography-panel.js.map +1 -1
  266. package/build/components/global-styles/typography-utils.js.map +1 -1
  267. package/build/components/global-styles/use-global-styles-output.js +4 -4
  268. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  269. package/build/components/global-styles/utils.js.map +1 -1
  270. package/build/components/gradients/index.js.map +1 -1
  271. package/build/components/gradients/index.native.js.map +1 -1
  272. package/build/components/gradients/use-gradient.js.map +1 -1
  273. package/build/components/gradients/with-gradient.js.map +1 -1
  274. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  275. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  276. package/build/components/grid-visualizer/index.js.map +1 -1
  277. package/build/components/grid-visualizer/utils.js.map +1 -1
  278. package/build/components/height-control/index.js.map +1 -1
  279. package/build/components/iframe/get-compatibility-styles.js.map +1 -1
  280. package/build/components/iframe/index.js +12 -13
  281. package/build/components/iframe/index.js.map +1 -1
  282. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  283. package/build/components/image-editor/constants.js.map +1 -1
  284. package/build/components/image-editor/context.js.map +1 -1
  285. package/build/components/image-editor/cropper.js +6 -2
  286. package/build/components/image-editor/cropper.js.map +1 -1
  287. package/build/components/image-editor/form-controls.js.map +1 -1
  288. package/build/components/image-editor/index.js +0 -2
  289. package/build/components/image-editor/index.js.map +1 -1
  290. package/build/components/image-editor/rotation-button.js.map +1 -1
  291. package/build/components/image-editor/use-save-image.js.map +1 -1
  292. package/build/components/image-editor/use-transform-image.js.map +1 -1
  293. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  294. package/build/components/image-link-destinations/index.native.js.map +1 -1
  295. package/build/components/image-size-control/index.js.map +1 -1
  296. package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
  297. package/build/components/index.js +1 -1
  298. package/build/components/index.js.map +1 -1
  299. package/build/components/index.native.js +1 -1
  300. package/build/components/index.native.js.map +1 -1
  301. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  302. package/build/components/inner-blocks/constants.native.js.map +1 -1
  303. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  304. package/build/components/inner-blocks/index.js.map +1 -1
  305. package/build/components/inner-blocks/index.native.js.map +1 -1
  306. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  307. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  308. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  309. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  310. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  311. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  312. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  313. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  314. package/build/components/inserter/block-patterns-tab/index.js +31 -18
  315. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  316. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  317. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  318. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  319. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  320. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  321. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  322. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  323. package/build/components/inserter/block-types-tab.js.map +1 -1
  324. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  325. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  326. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  327. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  328. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  329. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  330. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  331. package/build/components/inserter/index.js.map +1 -1
  332. package/build/components/inserter/index.native.js.map +1 -1
  333. package/build/components/inserter/library.js.map +1 -1
  334. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  335. package/build/components/inserter/media-tab/index.js.map +1 -1
  336. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  337. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  338. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  339. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  340. package/build/components/inserter/media-tab/utils.js.map +1 -1
  341. package/build/components/inserter/menu.js +17 -11
  342. package/build/components/inserter/menu.js.map +1 -1
  343. package/build/components/inserter/menu.native.js.map +1 -1
  344. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  345. package/build/components/inserter/no-results.js.map +1 -1
  346. package/build/components/inserter/no-results.native.js.map +1 -1
  347. package/build/components/inserter/panel.js.map +1 -1
  348. package/build/components/inserter/preview-panel.js.map +1 -1
  349. package/build/components/inserter/quick-inserter.js.map +1 -1
  350. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  351. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  352. package/build/components/inserter/search-items.js.map +1 -1
  353. package/build/components/inserter/search-results.js.map +1 -1
  354. package/build/components/inserter/search-results.native.js.map +1 -1
  355. package/build/components/inserter/tabs.js +7 -3
  356. package/build/components/inserter/tabs.js.map +1 -1
  357. package/build/components/inserter/tabs.native.js.map +1 -1
  358. package/build/components/inserter/tips.js.map +1 -1
  359. package/build/components/inserter/utils.native.js.map +1 -1
  360. package/build/components/inserter-button/index.native.js.map +1 -1
  361. package/build/components/inserter-button/sparkles.js.map +1 -1
  362. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  363. package/build/components/inserter-list-item/index.js.map +1 -1
  364. package/build/components/inserter-listbox/context.js.map +1 -1
  365. package/build/components/inserter-listbox/group.js.map +1 -1
  366. package/build/components/inserter-listbox/index.js.map +1 -1
  367. package/build/components/inserter-listbox/item.js.map +1 -1
  368. package/build/components/inserter-listbox/row.js.map +1 -1
  369. package/build/components/inserter-menu-extension/index.js.map +1 -1
  370. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  371. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  372. package/build/components/inspector-controls/fill.js.map +1 -1
  373. package/build/components/inspector-controls/fill.native.js.map +1 -1
  374. package/build/components/inspector-controls/groups.js.map +1 -1
  375. package/build/components/inspector-controls/index.js.map +1 -1
  376. package/build/components/inspector-controls/slot.js.map +1 -1
  377. package/build/components/inspector-controls/slot.native.js.map +1 -1
  378. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
  379. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  380. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  381. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  382. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  383. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  384. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  385. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  386. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  387. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  388. package/build/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  389. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  390. package/build/components/inspector-popover-header/index.js.map +1 -1
  391. package/build/components/justify-content-control/index.js.map +1 -1
  392. package/build/components/justify-content-control/ui.js.map +1 -1
  393. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  394. package/build/components/letter-spacing-control/index.js.map +1 -1
  395. package/build/components/line-height-control/index.js.map +1 -1
  396. package/build/components/line-height-control/index.native.js.map +1 -1
  397. package/build/components/line-height-control/utils.js.map +1 -1
  398. package/build/components/link-control/constants.js.map +1 -1
  399. package/build/components/link-control/index.js.map +1 -1
  400. package/build/components/link-control/is-url-like.js.map +1 -1
  401. package/build/components/link-control/link-preview.js.map +1 -1
  402. package/build/components/link-control/search-create-button.js.map +1 -1
  403. package/build/components/link-control/search-input.js.map +1 -1
  404. package/build/components/link-control/search-item.js.map +1 -1
  405. package/build/components/link-control/search-results.js.map +1 -1
  406. package/build/components/link-control/settings-drawer.js.map +1 -1
  407. package/build/components/link-control/settings.js.map +1 -1
  408. package/build/components/link-control/use-create-page.js.map +1 -1
  409. package/build/components/link-control/use-internal-value.js.map +1 -1
  410. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  411. package/build/components/link-control/use-search-handler.js.map +1 -1
  412. package/build/components/link-control/viewer-slot.js.map +1 -1
  413. package/build/components/list-view/appender.js.map +1 -1
  414. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  415. package/build/components/list-view/block-contents.js.map +1 -1
  416. package/build/components/list-view/block-select-button.js +29 -1
  417. package/build/components/list-view/block-select-button.js.map +1 -1
  418. package/build/components/list-view/block.js.map +1 -1
  419. package/build/components/list-view/branch.js.map +1 -1
  420. package/build/components/list-view/context.js.map +1 -1
  421. package/build/components/list-view/drop-indicator.js.map +1 -1
  422. package/build/components/list-view/expander.js.map +1 -1
  423. package/build/components/list-view/index.js.map +1 -1
  424. package/build/components/list-view/leaf.js.map +1 -1
  425. package/build/components/list-view/use-block-selection.js.map +1 -1
  426. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  427. package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
  428. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  429. package/build/components/list-view/use-list-view-collapse-items.js.map +1 -1
  430. package/build/components/list-view/use-list-view-drop-zone.js +5 -0
  431. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  432. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  433. package/build/components/list-view/use-list-view-images.js.map +1 -1
  434. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  435. package/build/components/list-view/utils.js.map +1 -1
  436. package/build/components/media-placeholder/index.js.map +1 -1
  437. package/build/components/media-placeholder/index.native.js.map +1 -1
  438. package/build/components/media-replace-flow/index.js.map +1 -1
  439. package/build/components/media-replace-flow/index.native.js.map +1 -1
  440. package/build/components/media-upload/check.js.map +1 -1
  441. package/build/components/media-upload/constants.native.js.map +1 -1
  442. package/build/components/media-upload/index.js.map +1 -1
  443. package/build/components/media-upload/index.native.js.map +1 -1
  444. package/build/components/media-upload-progress/constants.js.map +1 -1
  445. package/build/components/media-upload-progress/index.native.js.map +1 -1
  446. package/build/components/multi-selection-inspector/index.js.map +1 -1
  447. package/build/components/navigable-toolbar/index.js.map +1 -1
  448. package/build/components/observe-typing/index.js.map +1 -1
  449. package/build/components/panel-color-settings/index.js.map +1 -1
  450. package/build/components/plain-text/index.js.map +1 -1
  451. package/build/components/plain-text/index.native.js.map +1 -1
  452. package/build/components/preview-options/index.js.map +1 -1
  453. package/build/components/provider/block-refs-provider.js.map +1 -1
  454. package/build/components/provider/index.js.map +1 -1
  455. package/build/components/provider/index.native.js.map +1 -1
  456. package/build/components/provider/use-block-sync.js.map +1 -1
  457. package/build/components/provider/with-registry-provider.js.map +1 -1
  458. package/build/components/publish-date-time-picker/index.js.map +1 -1
  459. package/build/components/recursion-provider/index.js +2 -2
  460. package/build/components/recursion-provider/index.js.map +1 -1
  461. package/build/components/resizable-box-popover/index.js.map +1 -1
  462. package/build/components/resolution-tool/index.js.map +1 -1
  463. package/build/components/responsive-block-control/index.js.map +1 -1
  464. package/build/components/responsive-block-control/label.js.map +1 -1
  465. package/build/components/rich-text/content.js +26 -19
  466. package/build/components/rich-text/content.js.map +1 -1
  467. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  468. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  469. package/build/components/rich-text/format-edit.js.map +1 -1
  470. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  471. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  472. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  473. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  474. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  475. package/build/components/rich-text/index.js +40 -0
  476. package/build/components/rich-text/index.js.map +1 -1
  477. package/build/components/rich-text/index.native.js +3 -1
  478. package/build/components/rich-text/index.native.js.map +1 -1
  479. package/build/components/rich-text/input-event.js.map +1 -1
  480. package/build/components/rich-text/input-event.native.js.map +1 -1
  481. package/build/components/rich-text/multiline.js.map +1 -1
  482. package/build/components/rich-text/native/format-edit.js.map +1 -1
  483. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  484. package/build/components/rich-text/native/index.js.map +1 -1
  485. package/build/components/rich-text/native/index.native.js.map +1 -1
  486. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  487. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  488. package/build/components/rich-text/prevent-event-discovery.js.map +1 -1
  489. package/build/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  490. package/build/components/rich-text/shortcut.js.map +1 -1
  491. package/build/components/rich-text/shortcut.native.js.map +1 -1
  492. package/build/components/rich-text/split-value.js.map +1 -1
  493. package/build/components/rich-text/toolbar-button.js.map +1 -1
  494. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  495. package/build/components/rich-text/use-delete.js.map +1 -1
  496. package/build/components/rich-text/use-enter.js.map +1 -1
  497. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  498. package/build/components/rich-text/use-format-types.js.map +1 -1
  499. package/build/components/rich-text/use-input-events.js.map +1 -1
  500. package/build/components/rich-text/use-input-rules.js.map +1 -1
  501. package/build/components/rich-text/use-insert-replacement-text.js.map +1 -1
  502. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  503. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  504. package/build/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
  505. package/build/components/rich-text/use-shortcuts.js.map +1 -1
  506. package/build/components/rich-text/use-undo-automatic-change.js +1 -1
  507. package/build/components/rich-text/use-undo-automatic-change.js.map +1 -1
  508. package/build/components/rich-text/utils.js.map +1 -1
  509. package/build/components/rich-text/with-deprecations.js.map +1 -1
  510. package/build/components/selection-scroll-into-view/index.js.map +1 -1
  511. package/build/components/skip-to-selected-block/index.js.map +1 -1
  512. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  513. package/build/components/spacing-sizes-control/index.js.map +1 -1
  514. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  515. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  516. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  517. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  518. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  519. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  520. package/build/components/text-decoration-control/index.js.map +1 -1
  521. package/build/components/text-transform-control/index.js.map +1 -1
  522. package/build/components/tool-selector/index.js.map +1 -1
  523. package/build/components/typewriter/index.js.map +1 -1
  524. package/build/components/ungroup-button/index.native.js.map +1 -1
  525. package/build/components/unit-control/index.js.map +1 -1
  526. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  527. package/build/components/url-input/button.js.map +1 -1
  528. package/build/components/url-input/index.js.map +1 -1
  529. package/build/components/url-input/index.native.js.map +1 -1
  530. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  531. package/build/components/url-popover/index.js.map +1 -1
  532. package/build/components/url-popover/link-editor.js.map +1 -1
  533. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  534. package/build/components/url-popover/link-viewer.js.map +1 -1
  535. package/build/components/use-block-commands/index.js +20 -2
  536. package/build/components/use-block-commands/index.js.map +1 -1
  537. package/build/components/use-block-display-information/index.js.map +1 -1
  538. package/build/components/use-block-drop-zone/index.js.map +1 -1
  539. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  540. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  541. package/build/components/use-moving-animation/index.js.map +1 -1
  542. package/build/components/use-on-block-drop/index.js.map +1 -1
  543. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  544. package/build/components/use-on-block-drop/types.js.map +1 -1
  545. package/build/components/use-paste-styles/index.js +1 -0
  546. package/build/components/use-paste-styles/index.js.map +1 -1
  547. package/build/components/use-resize-canvas/index.js.map +1 -1
  548. package/build/components/use-settings/index.js.map +1 -1
  549. package/build/components/use-unsupported-block-editor/index.native.js.map +1 -1
  550. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  551. package/build/components/video-player/index.native.js.map +1 -1
  552. package/build/components/warning/index.js.map +1 -1
  553. package/build/components/warning/index.native.js.map +1 -1
  554. package/build/components/writing-flow/index.js.map +1 -1
  555. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  556. package/build/components/writing-flow/use-click-selection.js.map +1 -1
  557. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  558. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  559. package/build/components/writing-flow/use-input.js.map +1 -1
  560. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  561. package/build/components/writing-flow/use-select-all.js.map +1 -1
  562. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  563. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  564. package/build/components/writing-flow/utils.js.map +1 -1
  565. package/build/components/writing-mode-control/index.js.map +1 -1
  566. package/build/elements/index.js.map +1 -1
  567. package/build/hooks/align.js.map +1 -1
  568. package/build/hooks/align.native.js +1 -1
  569. package/build/hooks/align.native.js.map +1 -1
  570. package/build/hooks/anchor.js.map +1 -1
  571. package/build/hooks/aria-label.js.map +1 -1
  572. package/build/hooks/background.js +3 -3
  573. package/build/hooks/background.js.map +1 -1
  574. package/build/hooks/block-hooks.js.map +1 -1
  575. package/build/hooks/block-renaming.js +0 -37
  576. package/build/hooks/block-renaming.js.map +1 -1
  577. package/build/hooks/border.js.map +1 -1
  578. package/build/hooks/color.js +1 -1
  579. package/build/hooks/color.js.map +1 -1
  580. package/build/hooks/compat.js.map +1 -1
  581. package/build/hooks/content-lock-ui.js +5 -5
  582. package/build/hooks/content-lock-ui.js.map +1 -1
  583. package/build/hooks/contrast-checker.js.map +1 -1
  584. package/build/hooks/custom-class-name.js.map +1 -1
  585. package/build/hooks/custom-class-name.native.js.map +1 -1
  586. package/build/hooks/dimensions.js.map +1 -1
  587. package/build/hooks/duotone.js.map +1 -1
  588. package/build/hooks/font-family.js.map +1 -1
  589. package/build/hooks/font-size.js.map +1 -1
  590. package/build/hooks/gap.js.map +1 -1
  591. package/build/hooks/generated-class-name.js.map +1 -1
  592. package/build/hooks/index.js +6 -5
  593. package/build/hooks/index.js.map +1 -1
  594. package/build/hooks/index.native.js.map +1 -1
  595. package/build/hooks/layout-child.js.map +1 -1
  596. package/build/hooks/layout.js +38 -19
  597. package/build/hooks/layout.js.map +1 -1
  598. package/build/hooks/layout.native.js.map +1 -1
  599. package/build/hooks/line-height.js.map +1 -1
  600. package/build/hooks/lock.js.map +1 -1
  601. package/build/hooks/metadata.js.map +1 -1
  602. package/build/hooks/position.js.map +1 -1
  603. package/build/hooks/settings.js.map +1 -1
  604. package/build/hooks/spacing-visualizer.js.map +1 -1
  605. package/build/hooks/style.js.map +1 -1
  606. package/build/hooks/supports.js +27 -4
  607. package/build/hooks/supports.js.map +1 -1
  608. package/build/hooks/text-align.js +156 -0
  609. package/build/hooks/text-align.js.map +1 -0
  610. package/build/hooks/typography.js +3 -2
  611. package/build/hooks/typography.js.map +1 -1
  612. package/build/hooks/typography.native.js.map +1 -1
  613. package/build/hooks/use-bindings-attributes.js +66 -129
  614. package/build/hooks/use-bindings-attributes.js.map +1 -1
  615. package/build/hooks/use-border-props.js.map +1 -1
  616. package/build/hooks/use-cached-truthy.js.map +1 -1
  617. package/build/hooks/use-color-props.js.map +1 -1
  618. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  619. package/build/hooks/use-shadow-props.js.map +1 -1
  620. package/build/hooks/use-spacing-props.js.map +1 -1
  621. package/build/hooks/use-typography-props.js +2 -1
  622. package/build/hooks/use-typography-props.js.map +1 -1
  623. package/build/hooks/use-zoom-out.js +22 -15
  624. package/build/hooks/use-zoom-out.js.map +1 -1
  625. package/build/hooks/utils.js +29 -5
  626. package/build/hooks/utils.js.map +1 -1
  627. package/build/index.js.map +1 -1
  628. package/build/index.native.js.map +1 -1
  629. package/build/layouts/constrained.js.map +1 -1
  630. package/build/layouts/definitions.js +8 -6
  631. package/build/layouts/definitions.js.map +1 -1
  632. package/build/layouts/flex.js.map +1 -1
  633. package/build/layouts/flow.js.map +1 -1
  634. package/build/layouts/grid.js +52 -9
  635. package/build/layouts/grid.js.map +1 -1
  636. package/build/layouts/index.js.map +1 -1
  637. package/build/layouts/utils.js.map +1 -1
  638. package/build/lock-unlock.js.map +1 -1
  639. package/build/private-apis.js +1 -1
  640. package/build/private-apis.js.map +1 -1
  641. package/build/private-apis.native.js +1 -1
  642. package/build/private-apis.native.js.map +1 -1
  643. package/build/store/actions.js +18 -4
  644. package/build/store/actions.js.map +1 -1
  645. package/build/store/array.js.map +1 -1
  646. package/build/store/constants.js.map +1 -1
  647. package/build/store/defaults.js.map +1 -1
  648. package/build/store/defaults.native.js.map +1 -1
  649. package/build/store/get-block-settings.js.map +1 -1
  650. package/build/store/index.js +1 -1
  651. package/build/store/index.js.map +1 -1
  652. package/build/store/private-actions.js +5 -2
  653. package/build/store/private-actions.js.map +1 -1
  654. package/build/store/private-keys.js.map +1 -1
  655. package/build/store/private-selectors.js +94 -38
  656. package/build/store/private-selectors.js.map +1 -1
  657. package/build/store/reducer.js.map +1 -1
  658. package/build/store/selectors.js +122 -81
  659. package/build/store/selectors.js.map +1 -1
  660. package/build/store/undo-ignore.js.map +1 -1
  661. package/build/store/utils.js.map +1 -1
  662. package/build/utils/dom.js.map +1 -1
  663. package/build/utils/get-px-from-css-unit.js.map +1 -1
  664. package/build/utils/index.js.map +1 -1
  665. package/build/utils/math.js.map +1 -1
  666. package/build/utils/object.js.map +1 -1
  667. package/build/utils/order-inserter-block-items.js.map +1 -1
  668. package/build/utils/pasting.js.map +1 -1
  669. package/build/utils/selection.js.map +1 -1
  670. package/build/utils/sorting.js.map +1 -1
  671. package/build/utils/transform-styles/index.js +1 -1
  672. package/build/utils/transform-styles/index.js.map +1 -1
  673. package/build/utils/use-notify-copy.js.map +1 -1
  674. package/build-module/autocompleters/block.js.map +1 -1
  675. package/build-module/autocompleters/link.js.map +1 -1
  676. package/build-module/components/alignment-control/index.js.map +1 -1
  677. package/build-module/components/alignment-control/ui.js.map +1 -1
  678. package/build-module/components/autocomplete/index.js.map +1 -1
  679. package/build-module/components/block-actions/index.js.map +1 -1
  680. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  681. package/build-module/components/block-alignment-control/index.js.map +1 -1
  682. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  683. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  684. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  685. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  686. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  687. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  688. package/build-module/components/block-canvas/index.js.map +1 -1
  689. package/build-module/components/block-caption/index.native.js.map +1 -1
  690. package/build-module/components/block-card/index.js.map +1 -1
  691. package/build-module/components/block-compare/block-view.js.map +1 -1
  692. package/build-module/components/block-compare/index.js.map +1 -1
  693. package/build-module/components/block-content-overlay/index.js.map +1 -1
  694. package/build-module/components/block-context/index.js.map +1 -1
  695. package/build-module/components/block-controls/fill.js.map +1 -1
  696. package/build-module/components/block-controls/groups.js.map +1 -1
  697. package/build-module/components/block-controls/hook.js.map +1 -1
  698. package/build-module/components/block-controls/index.js.map +1 -1
  699. package/build-module/components/block-controls/slot.js.map +1 -1
  700. package/build-module/components/block-controls/slot.native.js.map +1 -1
  701. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  702. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  703. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  704. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  705. package/build-module/components/block-draggable/index.js.map +1 -1
  706. package/build-module/components/block-draggable/index.native.js.map +1 -1
  707. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  708. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  709. package/build-module/components/block-edit/context.js +1 -0
  710. package/build-module/components/block-edit/context.js.map +1 -1
  711. package/build-module/components/block-edit/edit.js.map +1 -1
  712. package/build-module/components/block-edit/edit.native.js.map +1 -1
  713. package/build-module/components/block-edit/index.js +5 -3
  714. package/build-module/components/block-edit/index.js.map +1 -1
  715. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  716. package/build-module/components/block-editing-mode/index.js.map +1 -1
  717. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  718. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  719. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  720. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  721. package/build-module/components/block-icon/index.js.map +1 -1
  722. package/build-module/components/block-icon/index.native.js.map +1 -1
  723. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  724. package/build-module/components/block-inspector/index.js +5 -4
  725. package/build-module/components/block-inspector/index.js.map +1 -1
  726. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  727. package/build-module/components/block-list/block-crash-boundary.js.map +1 -1
  728. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -1
  729. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  730. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  731. package/build-module/components/block-list/block-html.js.map +1 -1
  732. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  733. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  734. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  735. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  736. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  737. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  738. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  739. package/build-module/components/block-list/block.js +44 -26
  740. package/build-module/components/block-list/block.js.map +1 -1
  741. package/build-module/components/block-list/block.native.js +2 -2
  742. package/build-module/components/block-list/block.native.js.map +1 -1
  743. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  744. package/build-module/components/block-list/index.js +16 -5
  745. package/build-module/components/block-list/index.js.map +1 -1
  746. package/build-module/components/block-list/index.native.js.map +1 -1
  747. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  748. package/build-module/components/block-list/layout.js.map +1 -1
  749. package/build-module/components/block-list/private-block-context.js.map +1 -1
  750. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  751. package/build-module/components/block-list/use-block-props/index.js +2 -1
  752. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  753. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  754. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +1 -1
  755. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  756. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +3 -2
  757. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  758. package/build-module/components/block-list/use-block-props/use-focus-handler.js.map +1 -1
  759. package/build-module/components/block-list/use-block-props/use-intersection-observer.js.map +1 -1
  760. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  761. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +1 -1
  762. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  763. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  764. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -1
  765. package/build-module/components/block-list-appender/index.js.map +1 -1
  766. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  767. package/build-module/components/block-lock/index.js.map +1 -1
  768. package/build-module/components/block-lock/menu-item.js.map +1 -1
  769. package/build-module/components/block-lock/modal.js.map +1 -1
  770. package/build-module/components/block-lock/toolbar.js.map +1 -1
  771. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  772. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  773. package/build-module/components/block-mover/button.js.map +1 -1
  774. package/build-module/components/block-mover/index.js.map +1 -1
  775. package/build-module/components/block-mover/index.native.js.map +1 -1
  776. package/build-module/components/block-mover/mover-description.js.map +1 -1
  777. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  778. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  779. package/build-module/components/block-parent-selector/index.js.map +1 -1
  780. package/build-module/components/block-pattern-setup/constants.js.map +1 -1
  781. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  782. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  783. package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
  784. package/build-module/components/block-patterns-list/index.js.map +1 -1
  785. package/build-module/components/block-patterns-paging/index.js +8 -4
  786. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  787. package/build-module/components/block-popover/cover.js.map +1 -1
  788. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  789. package/build-module/components/block-popover/inbetween.js.map +1 -1
  790. package/build-module/components/block-popover/index.js.map +1 -1
  791. package/build-module/components/block-popover/use-popover-scroll.js.map +1 -1
  792. package/build-module/components/block-preview/auto.js.map +1 -1
  793. package/build-module/components/block-preview/index.js.map +1 -1
  794. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  795. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  796. package/build-module/components/block-rename/index.js.map +1 -1
  797. package/build-module/components/block-rename/is-empty-string.js.map +1 -1
  798. package/build-module/components/block-rename/modal.js +14 -10
  799. package/build-module/components/block-rename/modal.js.map +1 -1
  800. package/build-module/components/block-rename/rename-control.js +3 -1
  801. package/build-module/components/block-rename/rename-control.js.map +1 -1
  802. package/build-module/components/block-rename/use-block-rename.js.map +1 -1
  803. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  804. package/build-module/components/block-settings/button.native.js.map +1 -1
  805. package/build-module/components/block-settings/container.native.js.map +1 -1
  806. package/build-module/components/block-settings/index.native.js.map +1 -1
  807. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  808. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  809. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  810. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  811. package/build-module/components/block-settings-menu/block-settings-menu-first-item.js.map +1 -1
  812. package/build-module/components/block-settings-menu/index.js.map +1 -1
  813. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  814. package/build-module/components/block-styles/index.js.map +1 -1
  815. package/build-module/components/block-styles/index.native.js.map +1 -1
  816. package/build-module/components/block-styles/menu-items.js.map +1 -1
  817. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  818. package/build-module/components/block-styles/preview.native.js.map +1 -1
  819. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  820. package/build-module/components/block-styles/utils.js.map +1 -1
  821. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  822. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  823. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  824. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  825. package/build-module/components/block-switcher/index.js.map +1 -1
  826. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  827. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  828. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  829. package/build-module/components/block-switcher/utils.js.map +1 -1
  830. package/build-module/components/block-title/index.js.map +1 -1
  831. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  832. package/build-module/components/block-toolbar/block-name-context.js.map +1 -1
  833. package/build-module/components/block-toolbar/block-toolbar-last-item.js.map +1 -1
  834. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  835. package/build-module/components/block-toolbar/index.js +1 -1
  836. package/build-module/components/block-toolbar/index.js.map +1 -1
  837. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  838. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  839. package/build-module/components/block-toolbar/use-has-block-toolbar.js +6 -3
  840. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  841. package/build-module/components/block-toolbar/utils.js.map +1 -1
  842. package/build-module/components/block-tools/block-selection-button.js +16 -12
  843. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  844. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  845. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  846. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  847. package/build-module/components/block-tools/index.js.map +1 -1
  848. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  849. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  850. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
  851. package/build-module/components/block-tools/use-show-block-tools.js +7 -13
  852. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  853. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  854. package/build-module/components/block-types-list/index.js.map +1 -1
  855. package/build-module/components/block-types-list/index.native.js.map +1 -1
  856. package/build-module/components/block-variation-picker/index.js.map +1 -1
  857. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  858. package/build-module/components/block-variation-transforms/index.js +4 -1
  859. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  860. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  861. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  862. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  863. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  864. package/build-module/components/border-radius-control/index.js.map +1 -1
  865. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  866. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  867. package/build-module/components/border-radius-control/utils.js.map +1 -1
  868. package/build-module/components/button-block-appender/index.js.map +1 -1
  869. package/build-module/components/button-block-appender/index.native.js +11 -1
  870. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  871. package/build-module/components/caption/index.native.js.map +1 -1
  872. package/build-module/components/child-layout-control/index.js.map +1 -1
  873. package/build-module/components/color-palette/control.js.map +1 -1
  874. package/build-module/components/color-palette/index.js.map +1 -1
  875. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  876. package/build-module/components/color-style-selector/index.js.map +1 -1
  877. package/build-module/components/colors/index.js.map +1 -1
  878. package/build-module/components/colors/utils.js.map +1 -1
  879. package/build-module/components/colors/with-colors.js.map +1 -1
  880. package/build-module/components/colors-gradients/control.js.map +1 -1
  881. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  882. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  883. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  884. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  885. package/build-module/components/contrast-checker/index.js.map +1 -1
  886. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  887. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  888. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  889. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  890. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  891. package/build-module/components/copy-handler/index.js.map +1 -1
  892. package/build-module/components/date-format-picker/index.js.map +1 -1
  893. package/build-module/components/default-block-appender/index.js.map +1 -1
  894. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  895. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  896. package/build-module/components/dimensions-tool/index.js.map +1 -1
  897. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  898. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  899. package/build-module/components/duotone/utils.js.map +1 -1
  900. package/build-module/components/duotone-control/index.js.map +1 -1
  901. package/build-module/components/editable-text/index.js.map +1 -1
  902. package/build-module/components/editor-styles/index.js +3 -2
  903. package/build-module/components/editor-styles/index.js.map +1 -1
  904. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  905. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  906. package/build-module/components/font-appearance-control/index.js.map +1 -1
  907. package/build-module/components/font-family/index.js.map +1 -1
  908. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  909. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  910. package/build-module/components/font-sizes/index.js.map +1 -1
  911. package/build-module/components/font-sizes/index.native.js.map +1 -1
  912. package/build-module/components/font-sizes/utils.js.map +1 -1
  913. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  914. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  915. package/build-module/components/global-styles/background-panel.js +19 -16
  916. package/build-module/components/global-styles/background-panel.js.map +1 -1
  917. package/build-module/components/global-styles/border-panel.js.map +1 -1
  918. package/build-module/components/global-styles/color-panel.js.map +1 -1
  919. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  920. package/build-module/components/global-styles/context.js.map +1 -1
  921. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  922. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  923. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  924. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  925. package/build-module/components/global-styles/hooks.js.map +1 -1
  926. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  927. package/build-module/components/global-styles/index.js.map +1 -1
  928. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  929. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  930. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  931. package/build-module/components/global-styles/use-global-styles-output.js +4 -4
  932. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  933. package/build-module/components/global-styles/utils.js.map +1 -1
  934. package/build-module/components/gradients/index.js.map +1 -1
  935. package/build-module/components/gradients/index.native.js.map +1 -1
  936. package/build-module/components/gradients/use-gradient.js.map +1 -1
  937. package/build-module/components/gradients/with-gradient.js.map +1 -1
  938. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  939. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  940. package/build-module/components/grid-visualizer/index.js.map +1 -1
  941. package/build-module/components/grid-visualizer/utils.js.map +1 -1
  942. package/build-module/components/height-control/index.js.map +1 -1
  943. package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
  944. package/build-module/components/iframe/index.js +12 -13
  945. package/build-module/components/iframe/index.js.map +1 -1
  946. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  947. package/build-module/components/image-editor/constants.js.map +1 -1
  948. package/build-module/components/image-editor/context.js.map +1 -1
  949. package/build-module/components/image-editor/cropper.js +7 -3
  950. package/build-module/components/image-editor/cropper.js.map +1 -1
  951. package/build-module/components/image-editor/form-controls.js.map +1 -1
  952. package/build-module/components/image-editor/index.js +0 -2
  953. package/build-module/components/image-editor/index.js.map +1 -1
  954. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  955. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  956. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  957. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  958. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  959. package/build-module/components/image-size-control/index.js.map +1 -1
  960. package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
  961. package/build-module/components/index.js.map +1 -1
  962. package/build-module/components/index.native.js.map +1 -1
  963. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  964. package/build-module/components/inner-blocks/constants.native.js.map +1 -1
  965. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  966. package/build-module/components/inner-blocks/index.js.map +1 -1
  967. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  968. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  969. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  970. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  971. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  972. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  973. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  974. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  975. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  976. package/build-module/components/inserter/block-patterns-tab/index.js +32 -19
  977. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  978. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +2 -24
  979. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  980. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -4
  981. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  982. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  983. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  984. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  985. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  986. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  987. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  988. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  989. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  990. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  991. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
  992. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  993. package/build-module/components/inserter/index.js.map +1 -1
  994. package/build-module/components/inserter/index.native.js.map +1 -1
  995. package/build-module/components/inserter/library.js.map +1 -1
  996. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  997. package/build-module/components/inserter/media-tab/index.js.map +1 -1
  998. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  999. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1000. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1001. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1002. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1003. package/build-module/components/inserter/menu.js +17 -11
  1004. package/build-module/components/inserter/menu.js.map +1 -1
  1005. package/build-module/components/inserter/menu.native.js.map +1 -1
  1006. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1007. package/build-module/components/inserter/no-results.js.map +1 -1
  1008. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1009. package/build-module/components/inserter/panel.js.map +1 -1
  1010. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1011. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1012. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1013. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1014. package/build-module/components/inserter/search-items.js.map +1 -1
  1015. package/build-module/components/inserter/search-results.js.map +1 -1
  1016. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1017. package/build-module/components/inserter/tabs.js +7 -3
  1018. package/build-module/components/inserter/tabs.js.map +1 -1
  1019. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1020. package/build-module/components/inserter/tips.js.map +1 -1
  1021. package/build-module/components/inserter/utils.native.js.map +1 -1
  1022. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1023. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1024. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1025. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1026. package/build-module/components/inserter-listbox/context.js.map +1 -1
  1027. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1028. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1029. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1030. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1031. package/build-module/components/inserter-menu-extension/index.js.map +1 -1
  1032. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1033. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1034. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1035. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1036. package/build-module/components/inspector-controls/groups.js.map +1 -1
  1037. package/build-module/components/inspector-controls/index.js.map +1 -1
  1038. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1039. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1040. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1041. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1042. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1043. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1044. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1045. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1046. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -1
  1047. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1048. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1049. package/build-module/components/inspector-controls-tabs/use-is-list-view-tab-disabled.js.map +1 -1
  1050. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  1051. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1052. package/build-module/components/justify-content-control/index.js.map +1 -1
  1053. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1054. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1055. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1056. package/build-module/components/line-height-control/index.js.map +1 -1
  1057. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1058. package/build-module/components/line-height-control/utils.js.map +1 -1
  1059. package/build-module/components/link-control/constants.js.map +1 -1
  1060. package/build-module/components/link-control/index.js.map +1 -1
  1061. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1062. package/build-module/components/link-control/link-preview.js.map +1 -1
  1063. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1064. package/build-module/components/link-control/search-input.js.map +1 -1
  1065. package/build-module/components/link-control/search-item.js.map +1 -1
  1066. package/build-module/components/link-control/search-results.js.map +1 -1
  1067. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1068. package/build-module/components/link-control/settings.js.map +1 -1
  1069. package/build-module/components/link-control/use-create-page.js.map +1 -1
  1070. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  1071. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1072. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1073. package/build-module/components/link-control/viewer-slot.js.map +1 -1
  1074. package/build-module/components/list-view/appender.js.map +1 -1
  1075. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1076. package/build-module/components/list-view/block-contents.js.map +1 -1
  1077. package/build-module/components/list-view/block-select-button.js +29 -1
  1078. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1079. package/build-module/components/list-view/block.js.map +1 -1
  1080. package/build-module/components/list-view/branch.js.map +1 -1
  1081. package/build-module/components/list-view/context.js.map +1 -1
  1082. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1083. package/build-module/components/list-view/expander.js.map +1 -1
  1084. package/build-module/components/list-view/index.js.map +1 -1
  1085. package/build-module/components/list-view/leaf.js.map +1 -1
  1086. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1087. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  1088. package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
  1089. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1090. package/build-module/components/list-view/use-list-view-collapse-items.js.map +1 -1
  1091. package/build-module/components/list-view/use-list-view-drop-zone.js +5 -0
  1092. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1093. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1094. package/build-module/components/list-view/use-list-view-images.js.map +1 -1
  1095. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1096. package/build-module/components/list-view/utils.js.map +1 -1
  1097. package/build-module/components/media-placeholder/index.js.map +1 -1
  1098. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1099. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1100. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1101. package/build-module/components/media-upload/check.js.map +1 -1
  1102. package/build-module/components/media-upload/constants.native.js.map +1 -1
  1103. package/build-module/components/media-upload/index.js.map +1 -1
  1104. package/build-module/components/media-upload/index.native.js.map +1 -1
  1105. package/build-module/components/media-upload-progress/constants.js.map +1 -1
  1106. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1107. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1108. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1109. package/build-module/components/observe-typing/index.js.map +1 -1
  1110. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1111. package/build-module/components/plain-text/index.js.map +1 -1
  1112. package/build-module/components/plain-text/index.native.js.map +1 -1
  1113. package/build-module/components/preview-options/index.js.map +1 -1
  1114. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1115. package/build-module/components/provider/index.js.map +1 -1
  1116. package/build-module/components/provider/index.native.js.map +1 -1
  1117. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1118. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1119. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1120. package/build-module/components/recursion-provider/index.js +2 -2
  1121. package/build-module/components/recursion-provider/index.js.map +1 -1
  1122. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1123. package/build-module/components/resolution-tool/index.js.map +1 -1
  1124. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1125. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1126. package/build-module/components/rich-text/content.js +25 -19
  1127. package/build-module/components/rich-text/content.js.map +1 -1
  1128. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1129. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  1130. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1131. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1132. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1133. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1134. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1135. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1136. package/build-module/components/rich-text/index.js +42 -2
  1137. package/build-module/components/rich-text/index.js.map +1 -1
  1138. package/build-module/components/rich-text/index.native.js +3 -1
  1139. package/build-module/components/rich-text/index.native.js.map +1 -1
  1140. package/build-module/components/rich-text/input-event.js.map +1 -1
  1141. package/build-module/components/rich-text/input-event.native.js.map +1 -1
  1142. package/build-module/components/rich-text/multiline.js.map +1 -1
  1143. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1144. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  1145. package/build-module/components/rich-text/native/index.js.map +1 -1
  1146. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1147. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1148. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  1149. package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -1
  1150. package/build-module/components/rich-text/remove-browser-shortcuts.native.js.map +1 -1
  1151. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1152. package/build-module/components/rich-text/shortcut.native.js.map +1 -1
  1153. package/build-module/components/rich-text/split-value.js.map +1 -1
  1154. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1155. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1156. package/build-module/components/rich-text/use-delete.js.map +1 -1
  1157. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1158. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1159. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1160. package/build-module/components/rich-text/use-input-events.js.map +1 -1
  1161. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1162. package/build-module/components/rich-text/use-insert-replacement-text.js.map +1 -1
  1163. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1164. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1165. package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +1 -1
  1166. package/build-module/components/rich-text/use-shortcuts.js.map +1 -1
  1167. package/build-module/components/rich-text/use-undo-automatic-change.js +2 -2
  1168. package/build-module/components/rich-text/use-undo-automatic-change.js.map +1 -1
  1169. package/build-module/components/rich-text/utils.js.map +1 -1
  1170. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1171. package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
  1172. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1173. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1174. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1175. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1176. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1177. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1178. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1179. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1180. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1181. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1182. package/build-module/components/text-transform-control/index.js.map +1 -1
  1183. package/build-module/components/tool-selector/index.js.map +1 -1
  1184. package/build-module/components/typewriter/index.js.map +1 -1
  1185. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1186. package/build-module/components/unit-control/index.js.map +1 -1
  1187. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1188. package/build-module/components/url-input/button.js.map +1 -1
  1189. package/build-module/components/url-input/index.js.map +1 -1
  1190. package/build-module/components/url-input/index.native.js.map +1 -1
  1191. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1192. package/build-module/components/url-popover/index.js.map +1 -1
  1193. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1194. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1195. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1196. package/build-module/components/use-block-commands/index.js +20 -2
  1197. package/build-module/components/use-block-commands/index.js.map +1 -1
  1198. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1199. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1200. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1201. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  1202. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1203. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1204. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1205. package/build-module/components/use-on-block-drop/types.js.map +1 -1
  1206. package/build-module/components/use-paste-styles/index.js +2 -1
  1207. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1208. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  1209. package/build-module/components/use-settings/index.js.map +1 -1
  1210. package/build-module/components/use-unsupported-block-editor/index.native.js.map +1 -1
  1211. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1212. package/build-module/components/video-player/index.native.js.map +1 -1
  1213. package/build-module/components/warning/index.js.map +1 -1
  1214. package/build-module/components/warning/index.native.js.map +1 -1
  1215. package/build-module/components/writing-flow/index.js.map +1 -1
  1216. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  1217. package/build-module/components/writing-flow/use-click-selection.js.map +1 -1
  1218. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1219. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1220. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1221. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  1222. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  1223. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  1224. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1225. package/build-module/components/writing-flow/utils.js.map +1 -1
  1226. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1227. package/build-module/elements/index.js.map +1 -1
  1228. package/build-module/hooks/align.js.map +1 -1
  1229. package/build-module/hooks/align.native.js.map +1 -1
  1230. package/build-module/hooks/anchor.js.map +1 -1
  1231. package/build-module/hooks/aria-label.js.map +1 -1
  1232. package/build-module/hooks/background.js +2 -2
  1233. package/build-module/hooks/background.js.map +1 -1
  1234. package/build-module/hooks/block-hooks.js.map +1 -1
  1235. package/build-module/hooks/block-renaming.js +0 -36
  1236. package/build-module/hooks/block-renaming.js.map +1 -1
  1237. package/build-module/hooks/border.js.map +1 -1
  1238. package/build-module/hooks/color.js.map +1 -1
  1239. package/build-module/hooks/compat.js.map +1 -1
  1240. package/build-module/hooks/content-lock-ui.js +5 -5
  1241. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1242. package/build-module/hooks/contrast-checker.js.map +1 -1
  1243. package/build-module/hooks/custom-class-name.js.map +1 -1
  1244. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1245. package/build-module/hooks/dimensions.js.map +1 -1
  1246. package/build-module/hooks/duotone.js.map +1 -1
  1247. package/build-module/hooks/font-family.js.map +1 -1
  1248. package/build-module/hooks/font-size.js.map +1 -1
  1249. package/build-module/hooks/gap.js.map +1 -1
  1250. package/build-module/hooks/generated-class-name.js.map +1 -1
  1251. package/build-module/hooks/index.js +5 -4
  1252. package/build-module/hooks/index.js.map +1 -1
  1253. package/build-module/hooks/index.native.js.map +1 -1
  1254. package/build-module/hooks/layout-child.js.map +1 -1
  1255. package/build-module/hooks/layout.js +38 -19
  1256. package/build-module/hooks/layout.js.map +1 -1
  1257. package/build-module/hooks/layout.native.js.map +1 -1
  1258. package/build-module/hooks/line-height.js.map +1 -1
  1259. package/build-module/hooks/lock.js.map +1 -1
  1260. package/build-module/hooks/metadata.js.map +1 -1
  1261. package/build-module/hooks/position.js.map +1 -1
  1262. package/build-module/hooks/settings.js.map +1 -1
  1263. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1264. package/build-module/hooks/style.js.map +1 -1
  1265. package/build-module/hooks/supports.js +22 -1
  1266. package/build-module/hooks/supports.js.map +1 -1
  1267. package/build-module/hooks/text-align.js +145 -0
  1268. package/build-module/hooks/text-align.js.map +1 -0
  1269. package/build-module/hooks/typography.js +2 -1
  1270. package/build-module/hooks/typography.js.map +1 -1
  1271. package/build-module/hooks/typography.native.js.map +1 -1
  1272. package/build-module/hooks/use-bindings-attributes.js +68 -132
  1273. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1274. package/build-module/hooks/use-border-props.js.map +1 -1
  1275. package/build-module/hooks/use-cached-truthy.js.map +1 -1
  1276. package/build-module/hooks/use-color-props.js.map +1 -1
  1277. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1278. package/build-module/hooks/use-shadow-props.js.map +1 -1
  1279. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1280. package/build-module/hooks/use-typography-props.js +2 -1
  1281. package/build-module/hooks/use-typography-props.js.map +1 -1
  1282. package/build-module/hooks/use-zoom-out.js +23 -16
  1283. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1284. package/build-module/hooks/utils.js +30 -6
  1285. package/build-module/hooks/utils.js.map +1 -1
  1286. package/build-module/index.js.map +1 -1
  1287. package/build-module/index.native.js.map +1 -1
  1288. package/build-module/layouts/constrained.js.map +1 -1
  1289. package/build-module/layouts/definitions.js +8 -6
  1290. package/build-module/layouts/definitions.js.map +1 -1
  1291. package/build-module/layouts/flex.js.map +1 -1
  1292. package/build-module/layouts/flow.js.map +1 -1
  1293. package/build-module/layouts/grid.js +52 -9
  1294. package/build-module/layouts/grid.js.map +1 -1
  1295. package/build-module/layouts/index.js.map +1 -1
  1296. package/build-module/layouts/utils.js.map +1 -1
  1297. package/build-module/lock-unlock.js.map +1 -1
  1298. package/build-module/private-apis.js.map +1 -1
  1299. package/build-module/private-apis.native.js.map +1 -1
  1300. package/build-module/store/actions.js +18 -4
  1301. package/build-module/store/actions.js.map +1 -1
  1302. package/build-module/store/array.js.map +1 -1
  1303. package/build-module/store/constants.js.map +1 -1
  1304. package/build-module/store/defaults.js.map +1 -1
  1305. package/build-module/store/defaults.native.js.map +1 -1
  1306. package/build-module/store/get-block-settings.js.map +1 -1
  1307. package/build-module/store/index.js.map +1 -1
  1308. package/build-module/store/private-actions.js +5 -2
  1309. package/build-module/store/private-actions.js.map +1 -1
  1310. package/build-module/store/private-keys.js.map +1 -1
  1311. package/build-module/store/private-selectors.js +87 -33
  1312. package/build-module/store/private-selectors.js.map +1 -1
  1313. package/build-module/store/reducer.js.map +1 -1
  1314. package/build-module/store/selectors.js +95 -55
  1315. package/build-module/store/selectors.js.map +1 -1
  1316. package/build-module/store/undo-ignore.js.map +1 -1
  1317. package/build-module/store/utils.js.map +1 -1
  1318. package/build-module/utils/dom.js.map +1 -1
  1319. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  1320. package/build-module/utils/index.js.map +1 -1
  1321. package/build-module/utils/math.js.map +1 -1
  1322. package/build-module/utils/object.js.map +1 -1
  1323. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1324. package/build-module/utils/pasting.js.map +1 -1
  1325. package/build-module/utils/selection.js.map +1 -1
  1326. package/build-module/utils/sorting.js.map +1 -1
  1327. package/build-module/utils/transform-styles/index.js.map +1 -1
  1328. package/build-module/utils/use-notify-copy.js.map +1 -1
  1329. package/build-style/content-rtl.css +36 -18
  1330. package/build-style/content.css +36 -18
  1331. package/build-style/default-editor-styles-rtl.css +1 -1
  1332. package/build-style/default-editor-styles.css +1 -1
  1333. package/build-style/style-rtl.css +73 -58
  1334. package/build-style/style.css +73 -58
  1335. package/package.json +32 -33
  1336. package/src/components/block-bindings-toolbar-indicator/style.scss +1 -1
  1337. package/src/components/block-edit/context.js +1 -0
  1338. package/src/components/block-edit/index.js +4 -0
  1339. package/src/components/block-inspector/index.js +6 -4
  1340. package/src/components/block-list/block.js +50 -27
  1341. package/src/components/block-list/block.native.js +3 -2
  1342. package/src/components/block-list/content.scss +37 -19
  1343. package/src/components/block-list/index.js +22 -6
  1344. package/src/components/block-list/use-block-props/index.js +5 -1
  1345. package/src/components/block-list/use-block-props/use-focus-first-element.js +7 -3
  1346. package/src/components/block-patterns-paging/index.js +4 -0
  1347. package/src/components/block-rename/modal.js +17 -13
  1348. package/src/components/block-rename/rename-control.js +8 -1
  1349. package/src/components/block-toolbar/index.js +26 -22
  1350. package/src/components/block-toolbar/use-has-block-toolbar.js +5 -3
  1351. package/src/components/block-tools/block-selection-button.js +55 -43
  1352. package/src/components/block-tools/use-show-block-tools.js +4 -7
  1353. package/src/components/block-variation-transforms/index.js +3 -1
  1354. package/src/components/button-block-appender/index.native.js +16 -1
  1355. package/src/components/default-block-appender/content.scss +1 -1
  1356. package/src/components/editor-styles/index.js +4 -2
  1357. package/src/components/global-styles/background-panel.js +30 -26
  1358. package/src/components/global-styles/style.scss +2 -8
  1359. package/src/components/global-styles/test/use-global-styles-output.js +8 -17
  1360. package/src/components/global-styles/use-global-styles-output.js +5 -5
  1361. package/src/components/iframe/index.js +20 -27
  1362. package/src/components/image-editor/cropper.js +11 -2
  1363. package/src/components/image-editor/index.js +0 -2
  1364. package/src/components/inserter/block-patterns-tab/index.js +53 -39
  1365. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +9 -36
  1366. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  1367. package/src/components/inserter/menu.js +27 -16
  1368. package/src/components/inserter/style.scss +83 -59
  1369. package/src/components/inserter/tabs.js +7 -2
  1370. package/src/components/inspector-controls-tabs/styles-tab.js +1 -1
  1371. package/src/components/link-control/style.scss +10 -2
  1372. package/src/components/link-control/test/index.js +1 -1
  1373. package/src/components/list-view/block-select-button.js +31 -2
  1374. package/src/components/list-view/use-list-view-drop-zone.js +5 -0
  1375. package/src/components/recursion-provider/index.js +2 -2
  1376. package/src/components/rich-text/README.md +4 -0
  1377. package/src/components/rich-text/content.js +26 -19
  1378. package/src/components/rich-text/index.js +46 -2
  1379. package/src/components/rich-text/index.native.js +3 -1
  1380. package/src/components/rich-text/use-undo-automatic-change.js +2 -6
  1381. package/src/components/use-block-commands/index.js +46 -28
  1382. package/src/components/use-paste-styles/index.js +2 -0
  1383. package/src/hooks/background.js +2 -2
  1384. package/src/hooks/block-renaming.js +0 -33
  1385. package/src/hooks/content-lock-ui.js +5 -7
  1386. package/src/hooks/index.js +5 -2
  1387. package/src/hooks/layout.js +57 -25
  1388. package/src/hooks/supports.js +24 -0
  1389. package/src/hooks/test/text-align.js +114 -0
  1390. package/src/hooks/test/use-typography-props.js +3 -1
  1391. package/src/hooks/text-align.js +178 -0
  1392. package/src/hooks/typography.js +2 -0
  1393. package/src/hooks/use-bindings-attributes.js +90 -161
  1394. package/src/hooks/use-typography-props.js +4 -1
  1395. package/src/hooks/use-zoom-out.js +25 -15
  1396. package/src/hooks/utils.js +41 -3
  1397. package/src/layouts/definitions.js +6 -6
  1398. package/src/layouts/grid.js +106 -47
  1399. package/src/store/actions.js +22 -6
  1400. package/src/store/private-actions.js +6 -3
  1401. package/src/store/private-selectors.js +127 -35
  1402. package/src/store/selectors.js +142 -86
  1403. package/tsconfig.tsbuildinfo +1 -1
@@ -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","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","createElement","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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"}
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","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","createElement","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":[]}
@@ -140,7 +140,7 @@ export function PrivateBlockToolbar({
140
140
  }, createElement("div", {
141
141
  ref: toolbarWrapperRef,
142
142
  className: innerClasses
143
- }, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && createElement(BlockParentSelector, null), isUsingBindings && canBindBlock(blockName) && createElement(BlockBindingsIndicator, null), (shouldShowVisualToolbar || isMultiToolbar) && createElement("div", {
143
+ }, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && createElement(BlockParentSelector, null), isUsingBindings && canBindBlock(blockName) && createElement(BlockBindingsIndicator, null), (shouldShowVisualToolbar || isMultiToolbar) && (isDefaultEditingMode || isSynced) && createElement("div", {
144
144
  ref: nodeRef,
145
145
  ...showHoveredOrFocusedGestures
146
146
  }, createElement(ToolbarGroup, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","Shuffle","BlockBindingsIndicator","useHasBlockToolbar","canBindBlock","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","blockName","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","getBlockAttributes","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","metadata","bindings","rootClientId","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","createElement","focusEditorOnEscape","className","undefined","key","clientIds","disabled","Fragment","clientId","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 Shuffle from './shuffle';\nimport BlockBindingsIndicator from '../block-bindings-toolbar-indicator';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport { canBindBlock } from '../../hooks/use-bindings-attributes';\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\tblockName,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\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\tgetBlockRootClientId,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\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 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 _isDefaultEditingMode =\n\t\t\tgetBlockEditingMode( selectedBlockClientId ) === '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 = !! getBlockAttributes( selectedBlockClientId )\n\t\t\t?.metadata?.bindings;\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockName: _blockName,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\trootClientId: blockRootClientId,\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};\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 = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = classnames( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\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{ isUsingBindings && canBindBlock( blockName ) && (\n\t\t\t\t\t<BlockBindingsIndicator />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) && (\n\t\t\t\t\t<div ref={ nodeRef } { ...showHoveredOrFocusedGestures }>\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\tdisabled={ ! isDefaultEditingMode }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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\t<BlockMover\n\t\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\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) }\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<Shuffle clientId={ blockClientId } />\n\t\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t\t<BlockGroupToolbar />\n\t\t\t\t) }\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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"}
1
+ {"version":3,"names":["classnames","__","useSelect","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowHoveredOrFocusedGestures","store","blockEditorStore","__unstableBlockNameContext","NavigableToolbar","Shuffle","BlockBindingsIndicator","useHasBlockToolbar","canBindBlock","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","blockName","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","getBlockAttributes","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","metadata","bindings","rootClientId","toolbarWrapperRef","nodeRef","showHoveredOrFocusedGestures","ref","isLargeViewport","hasBlockToolbar","isMultiToolbar","isSynced","classes","innerClasses","createElement","focusEditorOnEscape","className","undefined","key","clientIds","disabled","Fragment","clientId","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 Shuffle from './shuffle';\nimport BlockBindingsIndicator from '../block-bindings-toolbar-indicator';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport { canBindBlock } from '../../hooks/use-bindings-attributes';\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\tblockName,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\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\tgetBlockRootClientId,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\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 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 _isDefaultEditingMode =\n\t\t\tgetBlockEditingMode( selectedBlockClientId ) === '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 = !! getBlockAttributes( selectedBlockClientId )\n\t\t\t?.metadata?.bindings;\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockName: _blockName,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\trootClientId: blockRootClientId,\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};\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 = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = classnames( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\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{ isUsingBindings && canBindBlock( blockName ) && (\n\t\t\t\t\t<BlockBindingsIndicator />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t( isDefaultEditingMode || isSynced ) && (\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/>\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<Shuffle clientId={ blockClientId } />\n\t\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t\t<BlockGroupToolbar />\n\t\t\t\t) }\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 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useCallback","BlockActionsMenu","BlockControls","BlockMover","UngroupButton","BlockSettingsButton","store","blockEditorStore","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","createElement","Fragment","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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"}
1
+ {"version":3,"names":["useSelect","useDispatch","useCallback","BlockActionsMenu","BlockControls","BlockMover","UngroupButton","BlockSettingsButton","store","blockEditorStore","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","createElement","Fragment","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 +1 @@
1
- {"version":3,"names":["shuffle","ToolbarButton","ToolbarGroup","__","useMemo","useSelect","useDispatch","store","blockEditorStore","EMPTY_ARRAY","Container","props","createElement","Shuffle","clientId","as","categories","patterns","patternName","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","attributes","_categories","metadata","_patternName","rootBlock","_patterns","replaceBlocks","sameCategoryPatternsWithSingleWrapper","length","filter","pattern","blocks","some","category","includes","getNextPattern","numberOfPatterns","patternIndex","findIndex","name","nextPatternIndex","ComponentToUse","label","icon","onClick","nextPattern"],"sources":["@wordpress/block-editor/src/components/block-toolbar/shuffle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { shuffle } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction Container( props ) {\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton { ...props } />\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default function Shuffle( { clientId, as = Container } ) {\n\tconst { categories, patterns, patternName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst _patternName = attributes?.metadata?.patternName;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\t\t\tconst _patterns = __experimentalGetAllowedPatterns( rootBlock );\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tpatterns: _patterns,\n\t\t\t\tpatternName: _patternName,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif (\n\t\t\t! categories ||\n\t\t\tcategories.length === 0 ||\n\t\t\t! patterns ||\n\t\t\tpatterns.length === 0\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t// otherwise we may shuffle to pattern that will not allow to continue shuffling.\n\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t} )\n\t\t\t);\n\t\t} );\n\t}, [ categories, patterns ] );\n\tif ( sameCategoryPatternsWithSingleWrapper.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tfunction getNextPattern() {\n\t\tconst numberOfPatterns = sameCategoryPatternsWithSingleWrapper.length;\n\t\tconst patternIndex = sameCategoryPatternsWithSingleWrapper.findIndex(\n\t\t\t( { name } ) => name === patternName\n\t\t);\n\t\tconst nextPatternIndex =\n\t\t\tpatternIndex + 1 < numberOfPatterns ? patternIndex + 1 : 0;\n\t\treturn sameCategoryPatternsWithSingleWrapper[ nextPatternIndex ];\n\t}\n\n\tconst ComponentToUse = as;\n\treturn (\n\t\t<ComponentToUse\n\t\t\tlabel={ __( 'Shuffle' ) }\n\t\t\ticon={ shuffle }\n\t\t\tonClick={ () => {\n\t\t\t\tconst nextPattern = getNextPattern();\n\t\t\t\tnextPattern.blocks[ 0 ].attributes = {\n\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes.metadata,\n\t\t\t\t\t\tcategories,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treplaceBlocks( clientId, nextPattern.blocks );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["shuffle","ToolbarButton","ToolbarGroup","__","useMemo","useSelect","useDispatch","store","blockEditorStore","EMPTY_ARRAY","Container","props","createElement","Shuffle","clientId","as","categories","patterns","patternName","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","attributes","_categories","metadata","_patternName","rootBlock","_patterns","replaceBlocks","sameCategoryPatternsWithSingleWrapper","length","filter","pattern","blocks","some","category","includes","getNextPattern","numberOfPatterns","patternIndex","findIndex","name","nextPatternIndex","ComponentToUse","label","icon","onClick","nextPattern"],"sources":["@wordpress/block-editor/src/components/block-toolbar/shuffle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { shuffle } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction Container( props ) {\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton { ...props } />\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default function Shuffle( { clientId, as = Container } ) {\n\tconst { categories, patterns, patternName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst _patternName = attributes?.metadata?.patternName;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\t\t\tconst _patterns = __experimentalGetAllowedPatterns( rootBlock );\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tpatterns: _patterns,\n\t\t\t\tpatternName: _patternName,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif (\n\t\t\t! categories ||\n\t\t\tcategories.length === 0 ||\n\t\t\t! patterns ||\n\t\t\tpatterns.length === 0\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t// otherwise we may shuffle to pattern that will not allow to continue shuffling.\n\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t} )\n\t\t\t);\n\t\t} );\n\t}, [ categories, patterns ] );\n\tif ( sameCategoryPatternsWithSingleWrapper.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tfunction getNextPattern() {\n\t\tconst numberOfPatterns = sameCategoryPatternsWithSingleWrapper.length;\n\t\tconst patternIndex = sameCategoryPatternsWithSingleWrapper.findIndex(\n\t\t\t( { name } ) => name === patternName\n\t\t);\n\t\tconst nextPatternIndex =\n\t\t\tpatternIndex + 1 < numberOfPatterns ? patternIndex + 1 : 0;\n\t\treturn sameCategoryPatternsWithSingleWrapper[ nextPatternIndex ];\n\t}\n\n\tconst ComponentToUse = as;\n\treturn (\n\t\t<ComponentToUse\n\t\t\tlabel={ __( 'Shuffle' ) }\n\t\t\ticon={ shuffle }\n\t\t\tonClick={ () => {\n\t\t\t\tconst nextPattern = getNextPattern();\n\t\t\t\tnextPattern.blocks[ 0 ].attributes = {\n\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes.metadata,\n\t\t\t\t\t\tcategories,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treplaceBlocks( clientId, nextPattern.blocks );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,aAAa,EAAEC,YAAY,QAAQ,uBAAuB;AACnE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,MAAMC,WAAW,GAAG,EAAE;AAEtB,SAASC,SAASA,CAAEC,KAAK,EAAG;EAC3B,OACCC,aAAA,CAACV,YAAY,QACZU,aAAA,CAACX,aAAa;IAAA,GAAMU;EAAK,CAAI,CAChB,CAAC;AAEjB;AAEA,eAAe,SAASE,OAAOA,CAAE;EAAEC,QAAQ;EAAEC,EAAE,GAAGL;AAAU,CAAC,EAAG;EAC/D,MAAM;IAAEM,UAAU;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGb,SAAS,CACpDc,MAAM,IAAM;IACb,MAAM;MACLC,kBAAkB;MAClBC,oBAAoB;MACpBC;IACD,CAAC,GAAGH,MAAM,CAAEX,gBAAiB,CAAC;IAC9B,MAAMe,UAAU,GAAGH,kBAAkB,CAAEN,QAAS,CAAC;IACjD,MAAMU,WAAW,GAAGD,UAAU,EAAEE,QAAQ,EAAET,UAAU,IAAIP,WAAW;IACnE,MAAMiB,YAAY,GAAGH,UAAU,EAAEE,QAAQ,EAAEP,WAAW;IACtD,MAAMS,SAAS,GAAGN,oBAAoB,CAAEP,QAAS,CAAC;IAClD,MAAMc,SAAS,GAAGN,gCAAgC,CAAEK,SAAU,CAAC;IAC/D,OAAO;MACNX,UAAU,EAAEQ,WAAW;MACvBP,QAAQ,EAAEW,SAAS;MACnBV,WAAW,EAAEQ;IACd,CAAC;EACF,CAAC,EACD,CAAEZ,QAAQ,CACX,CAAC;EACD,MAAM;IAAEe;EAAc,CAAC,GAAGvB,WAAW,CAAEE,gBAAiB,CAAC;EACzD,MAAMsB,qCAAqC,GAAG1B,OAAO,CAAE,MAAM;IAC5D,IACC,CAAEY,UAAU,IACZA,UAAU,CAACe,MAAM,KAAK,CAAC,IACvB,CAAEd,QAAQ,IACVA,QAAQ,CAACc,MAAM,KAAK,CAAC,EACpB;MACD,OAAOtB,WAAW;IACnB;IACA,OAAOQ,QAAQ,CAACe,MAAM,CAAIC,OAAO,IAAM;MACtC;QACC;QACA;QACAA,OAAO,CAACC,MAAM,CAACH,MAAM,KAAK,CAAC,IAC3BE,OAAO,CAACjB,UAAU,EAAEmB,IAAI,CAAIC,QAAQ,IAAM;UACzC,OAAOpB,UAAU,CAACqB,QAAQ,CAAED,QAAS,CAAC;QACvC,CAAE;MAAC;IAEL,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEpB,UAAU,EAAEC,QAAQ,CAAG,CAAC;EAC7B,IAAKa,qCAAqC,CAACC,MAAM,KAAK,CAAC,EAAG;IACzD,OAAO,IAAI;EACZ;EAEA,SAASO,cAAcA,CAAA,EAAG;IACzB,MAAMC,gBAAgB,GAAGT,qCAAqC,CAACC,MAAM;IACrE,MAAMS,YAAY,GAAGV,qCAAqC,CAACW,SAAS,CACnE,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAKxB,WAC1B,CAAC;IACD,MAAMyB,gBAAgB,GACrBH,YAAY,GAAG,CAAC,GAAGD,gBAAgB,GAAGC,YAAY,GAAG,CAAC,GAAG,CAAC;IAC3D,OAAOV,qCAAqC,CAAEa,gBAAgB,CAAE;EACjE;EAEA,MAAMC,cAAc,GAAG7B,EAAE;EACzB,OACCH,aAAA,CAACgC,cAAc;IACdC,KAAK,EAAG1C,EAAE,CAAE,SAAU,CAAG;IACzB2C,IAAI,EAAG9C,OAAS;IAChB+C,OAAO,EAAGA,CAAA,KAAM;MACf,MAAMC,WAAW,GAAGV,cAAc,CAAC,CAAC;MACpCU,WAAW,CAACd,MAAM,CAAE,CAAC,CAAE,CAACX,UAAU,GAAG;QACpC,GAAGyB,WAAW,CAACd,MAAM,CAAE,CAAC,CAAE,CAACX,UAAU;QACrCE,QAAQ,EAAE;UACT,GAAGuB,WAAW,CAACd,MAAM,CAAE,CAAC,CAAE,CAACX,UAAU,CAACE,QAAQ;UAC9CT;QACD;MACD,CAAC;MACDa,aAAa,CAAEf,QAAQ,EAAEkC,WAAW,CAACd,MAAO,CAAC;IAC9C;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -20,10 +20,13 @@ export function useHasBlockToolbar() {
20
20
  const {
21
21
  getBlockEditingMode,
22
22
  getBlockName,
23
- getSelectedBlockClientIds
23
+ getBlockSelectionStart
24
24
  } = select(blockEditorStore);
25
- const selectedBlockClientIds = getSelectedBlockClientIds();
26
- const selectedBlockClientId = selectedBlockClientIds[0];
25
+
26
+ // we only care about the 1st selected block
27
+ // for the toolbar, so we use getBlockSelectionStart
28
+ // instead of getSelectedBlockClientIds
29
+ const selectedBlockClientId = getBlockSelectionStart();
27
30
  const isDefaultEditingMode = getBlockEditingMode(selectedBlockClientId) === 'default';
28
31
  const blockType = selectedBlockClientId && getBlockType(getBlockName(selectedBlockClientId));
29
32
  const isToolbarEnabled = blockType && hasBlockSupport(blockType, '__experimentalToolbar', true);
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","getBlockType","hasBlockSupport","store","blockEditorStore","useHasAnyBlockControls","useHasBlockToolbar","hasAnyBlockControls","select","getBlockEditingMode","getBlockName","getSelectedBlockClientIds","selectedBlockClientIds","selectedBlockClientId","isDefaultEditingMode","blockType","isToolbarEnabled"],"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 hasAnyBlockControls = useHasAnyBlockControls();\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst isDefaultEditingMode =\n\t\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default';\n\t\t\tconst blockType =\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) );\n\t\t\tconst isToolbarEnabled =\n\t\t\t\tblockType &&\n\t\t\t\thasBlockSupport( blockType, '__experimentalToolbar', true );\n\n\t\t\tif (\n\t\t\t\t! isToolbarEnabled ||\n\t\t\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\t[ hasAnyBlockControls ]\n\t);\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,MAAMC,mBAAmB,GAAGF,sBAAsB,CAAC,CAAC;EACpD,OAAOL,SAAS,CACbQ,MAAM,IAAM;IACb,MAAM;MACLC,mBAAmB;MACnBC,YAAY;MACZC;IACD,CAAC,GAAGH,MAAM,CAAEJ,gBAAiB,CAAC;IAE9B,MAAMQ,sBAAsB,GAAGD,yBAAyB,CAAC,CAAC;IAC1D,MAAME,qBAAqB,GAAGD,sBAAsB,CAAE,CAAC,CAAE;IACzD,MAAME,oBAAoB,GACzBL,mBAAmB,CAAEI,qBAAsB,CAAC,KAAK,SAAS;IAC3D,MAAME,SAAS,GACdF,qBAAqB,IACrBZ,YAAY,CAAES,YAAY,CAAEG,qBAAsB,CAAE,CAAC;IACtD,MAAMG,gBAAgB,GACrBD,SAAS,IACTb,eAAe,CAAEa,SAAS,EAAE,uBAAuB,EAAE,IAAK,CAAC;IAE5D,IACC,CAAEC,gBAAgB,IAChB,CAAEF,oBAAoB,IAAI,CAAEP,mBAAqB,EAClD;MACD,OAAO,KAAK;IACb;IAEA,OAAO,IAAI;EACZ,CAAC,EACD,CAAEA,mBAAmB,CACtB,CAAC;AACF"}
1
+ {"version":3,"names":["useSelect","getBlockType","hasBlockSupport","store","blockEditorStore","useHasAnyBlockControls","useHasBlockToolbar","hasAnyBlockControls","select","getBlockEditingMode","getBlockName","getBlockSelectionStart","selectedBlockClientId","isDefaultEditingMode","blockType","isToolbarEnabled"],"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 hasAnyBlockControls = useHasAnyBlockControls();\n\treturn 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\t\t\tconst isDefaultEditingMode =\n\t\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default';\n\t\t\tconst blockType =\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) );\n\t\t\tconst isToolbarEnabled =\n\t\t\t\tblockType &&\n\t\t\t\thasBlockSupport( blockType, '__experimentalToolbar', true );\n\n\t\t\tif (\n\t\t\t\t! isToolbarEnabled ||\n\t\t\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\t[ hasAnyBlockControls ]\n\t);\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,MAAMC,mBAAmB,GAAGF,sBAAsB,CAAC,CAAC;EACpD,OAAOL,SAAS,CACbQ,MAAM,IAAM;IACb,MAAM;MACLC,mBAAmB;MACnBC,YAAY;MACZC;IACD,CAAC,GAAGH,MAAM,CAAEJ,gBAAiB,CAAC;;IAE9B;IACA;IACA;IACA,MAAMQ,qBAAqB,GAAGD,sBAAsB,CAAC,CAAC;IACtD,MAAME,oBAAoB,GACzBJ,mBAAmB,CAAEG,qBAAsB,CAAC,KAAK,SAAS;IAC3D,MAAME,SAAS,GACdF,qBAAqB,IACrBX,YAAY,CAAES,YAAY,CAAEE,qBAAsB,CAAE,CAAC;IACtD,MAAMG,gBAAgB,GACrBD,SAAS,IACTZ,eAAe,CAAEY,SAAS,EAAE,uBAAuB,EAAE,IAAK,CAAC;IAE5D,IACC,CAAEC,gBAAgB,IAChB,CAAEF,oBAAoB,IAAI,CAAEN,mBAAqB,EAClD;MACD,OAAO,KAAK;IACb;IAEA,OAAO,IAAI;EACZ,CAAC,EACD,CAAEA,mBAAmB,CACtB,CAAC;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useState","useRef","useEffect","store","blockEditorStore","clearTimeout","setTimeout","window","DEBOUNCE_TIMEOUT","useDebouncedShowGestures","ref","isFocused","highlightParent","debounceTimeout","getSelectedBlockClientId","getBlockRootClientId","toggleBlockHighlight","timeoutRef","isDistractionFree","select","getSettings","handleOnChange","nextIsFocused","selectedBlockClientId","clientId","getIsHovered","current","matches","shouldHideGestures","isHovered","clearTimeoutRef","timeout","debouncedShowGestures","event","stopPropagation","debouncedHideGestures","useShowHoveredOrFocusedGestures","setIsFocused","registerRef","isFocusedWithin","contains","ownerDocument","activeElement","node","handleOnFocus","handleOnBlur","addEventListener","removeEventListener","onMouseMove","onMouseLeave"],"sources":["@wordpress/block-editor/src/components/block-toolbar/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst { clearTimeout, setTimeout } = window;\nconst DEBOUNCE_TIMEOUT = 200;\n\n/**\n * Hook that creates debounced callbacks when the node is hovered or focused.\n *\n * @param {Object} props Component props.\n * @param {Object} props.ref Element reference.\n * @param {boolean} props.isFocused Whether the component has current focus.\n * @param {number} props.highlightParent Whether to highlight the parent block. It defaults in highlighting the selected block.\n * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds.\n */\nfunction useDebouncedShowGestures( {\n\tref,\n\tisFocused,\n\thighlightParent,\n\tdebounceTimeout = DEBOUNCE_TIMEOUT,\n} ) {\n\tconst { getSelectedBlockClientId, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst timeoutRef = useRef();\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst handleOnChange = ( nextIsFocused ) => {\n\t\tif ( nextIsFocused && isDistractionFree ) {\n\t\t\treturn;\n\t\t}\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst clientId = highlightParent\n\t\t\t? getBlockRootClientId( selectedBlockClientId )\n\t\t\t: selectedBlockClientId;\n\t\ttoggleBlockHighlight( clientId, nextIsFocused );\n\t};\n\n\tconst getIsHovered = () => {\n\t\treturn ref?.current && ref.current.matches( ':hover' );\n\t};\n\n\tconst shouldHideGestures = () => {\n\t\tconst isHovered = getIsHovered();\n\t\treturn ! isFocused && ! isHovered;\n\t};\n\n\tconst clearTimeoutRef = () => {\n\t\tconst timeout = timeoutRef.current;\n\n\t\tif ( timeout && clearTimeout ) {\n\t\t\tclearTimeout( timeout );\n\t\t}\n\t};\n\n\tconst debouncedShowGestures = ( event ) => {\n\t\tif ( event ) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tclearTimeoutRef();\n\t\thandleOnChange( true );\n\t};\n\n\tconst debouncedHideGestures = ( event ) => {\n\t\tif ( event ) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tclearTimeoutRef();\n\n\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\tif ( shouldHideGestures() ) {\n\t\t\t\thandleOnChange( false );\n\t\t\t}\n\t\t}, debounceTimeout );\n\t};\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\t/**\n\t\t\t * We need to call the change handler with `isFocused`\n\t\t\t * set to false on unmount because we also clear the\n\t\t\t * timeout that would handle that.\n\t\t\t */\n\t\t\thandleOnChange( false );\n\t\t\tclearTimeoutRef();\n\t\t},\n\t\t[]\n\t);\n\n\treturn {\n\t\tdebouncedShowGestures,\n\t\tdebouncedHideGestures,\n\t};\n}\n\n/**\n * Hook that provides gesture events for DOM elements\n * that interact with the isFocused state.\n *\n * @param {Object} props Component props.\n * @param {Object} props.ref Element reference.\n * @param {number} [props.highlightParent=false] Whether to highlight the parent block. It defaults to highlighting the selected block.\n * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds.\n */\nexport function useShowHoveredOrFocusedGestures( {\n\tref,\n\thighlightParent = false,\n\tdebounceTimeout = DEBOUNCE_TIMEOUT,\n} ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst { debouncedShowGestures, debouncedHideGestures } =\n\t\tuseDebouncedShowGestures( {\n\t\t\tref,\n\t\t\tdebounceTimeout,\n\t\t\tisFocused,\n\t\t\thighlightParent,\n\t\t} );\n\n\tconst registerRef = useRef( false );\n\n\tconst isFocusedWithin = () => {\n\t\treturn (\n\t\t\tref?.current &&\n\t\t\tref.current.contains( ref.current.ownerDocument.activeElement )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tconst node = ref.current;\n\n\t\tconst handleOnFocus = () => {\n\t\t\tif ( isFocusedWithin() ) {\n\t\t\t\tsetIsFocused( true );\n\t\t\t\tdebouncedShowGestures();\n\t\t\t}\n\t\t};\n\n\t\tconst handleOnBlur = () => {\n\t\t\tif ( ! isFocusedWithin() ) {\n\t\t\t\tsetIsFocused( false );\n\t\t\t\tdebouncedHideGestures();\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Events are added via DOM events (vs. React synthetic events),\n\t\t * as the child React components swallow mouse events.\n\t\t */\n\t\tif ( node && ! registerRef.current ) {\n\t\t\tnode.addEventListener( 'focus', handleOnFocus, true );\n\t\t\tnode.addEventListener( 'blur', handleOnBlur, true );\n\t\t\tregisterRef.current = true;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif ( node ) {\n\t\t\t\tnode.removeEventListener( 'focus', handleOnFocus );\n\t\t\t\tnode.removeEventListener( 'blur', handleOnBlur );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tref,\n\t\tregisterRef,\n\t\tsetIsFocused,\n\t\tdebouncedShowGestures,\n\t\tdebouncedHideGestures,\n\t] );\n\n\treturn {\n\t\tonMouseMove: debouncedShowGestures,\n\t\tonMouseLeave: debouncedHideGestures,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","useState","useRef","useEffect","store","blockEditorStore","clearTimeout","setTimeout","window","DEBOUNCE_TIMEOUT","useDebouncedShowGestures","ref","isFocused","highlightParent","debounceTimeout","getSelectedBlockClientId","getBlockRootClientId","toggleBlockHighlight","timeoutRef","isDistractionFree","select","getSettings","handleOnChange","nextIsFocused","selectedBlockClientId","clientId","getIsHovered","current","matches","shouldHideGestures","isHovered","clearTimeoutRef","timeout","debouncedShowGestures","event","stopPropagation","debouncedHideGestures","useShowHoveredOrFocusedGestures","setIsFocused","registerRef","isFocusedWithin","contains","ownerDocument","activeElement","node","handleOnFocus","handleOnBlur","addEventListener","removeEventListener","onMouseMove","onMouseLeave"],"sources":["@wordpress/block-editor/src/components/block-toolbar/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useRef, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst { clearTimeout, setTimeout } = window;\nconst DEBOUNCE_TIMEOUT = 200;\n\n/**\n * Hook that creates debounced callbacks when the node is hovered or focused.\n *\n * @param {Object} props Component props.\n * @param {Object} props.ref Element reference.\n * @param {boolean} props.isFocused Whether the component has current focus.\n * @param {number} props.highlightParent Whether to highlight the parent block. It defaults in highlighting the selected block.\n * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds.\n */\nfunction useDebouncedShowGestures( {\n\tref,\n\tisFocused,\n\thighlightParent,\n\tdebounceTimeout = DEBOUNCE_TIMEOUT,\n} ) {\n\tconst { getSelectedBlockClientId, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst timeoutRef = useRef();\n\tconst isDistractionFree = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().isDistractionFree,\n\t\t[]\n\t);\n\tconst handleOnChange = ( nextIsFocused ) => {\n\t\tif ( nextIsFocused && isDistractionFree ) {\n\t\t\treturn;\n\t\t}\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst clientId = highlightParent\n\t\t\t? getBlockRootClientId( selectedBlockClientId )\n\t\t\t: selectedBlockClientId;\n\t\ttoggleBlockHighlight( clientId, nextIsFocused );\n\t};\n\n\tconst getIsHovered = () => {\n\t\treturn ref?.current && ref.current.matches( ':hover' );\n\t};\n\n\tconst shouldHideGestures = () => {\n\t\tconst isHovered = getIsHovered();\n\t\treturn ! isFocused && ! isHovered;\n\t};\n\n\tconst clearTimeoutRef = () => {\n\t\tconst timeout = timeoutRef.current;\n\n\t\tif ( timeout && clearTimeout ) {\n\t\t\tclearTimeout( timeout );\n\t\t}\n\t};\n\n\tconst debouncedShowGestures = ( event ) => {\n\t\tif ( event ) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tclearTimeoutRef();\n\t\thandleOnChange( true );\n\t};\n\n\tconst debouncedHideGestures = ( event ) => {\n\t\tif ( event ) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tclearTimeoutRef();\n\n\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\tif ( shouldHideGestures() ) {\n\t\t\t\thandleOnChange( false );\n\t\t\t}\n\t\t}, debounceTimeout );\n\t};\n\n\tuseEffect(\n\t\t() => () => {\n\t\t\t/**\n\t\t\t * We need to call the change handler with `isFocused`\n\t\t\t * set to false on unmount because we also clear the\n\t\t\t * timeout that would handle that.\n\t\t\t */\n\t\t\thandleOnChange( false );\n\t\t\tclearTimeoutRef();\n\t\t},\n\t\t[]\n\t);\n\n\treturn {\n\t\tdebouncedShowGestures,\n\t\tdebouncedHideGestures,\n\t};\n}\n\n/**\n * Hook that provides gesture events for DOM elements\n * that interact with the isFocused state.\n *\n * @param {Object} props Component props.\n * @param {Object} props.ref Element reference.\n * @param {number} [props.highlightParent=false] Whether to highlight the parent block. It defaults to highlighting the selected block.\n * @param {number} [props.debounceTimeout=250] Debounce timeout in milliseconds.\n */\nexport function useShowHoveredOrFocusedGestures( {\n\tref,\n\thighlightParent = false,\n\tdebounceTimeout = DEBOUNCE_TIMEOUT,\n} ) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst { debouncedShowGestures, debouncedHideGestures } =\n\t\tuseDebouncedShowGestures( {\n\t\t\tref,\n\t\t\tdebounceTimeout,\n\t\t\tisFocused,\n\t\t\thighlightParent,\n\t\t} );\n\n\tconst registerRef = useRef( false );\n\n\tconst isFocusedWithin = () => {\n\t\treturn (\n\t\t\tref?.current &&\n\t\t\tref.current.contains( ref.current.ownerDocument.activeElement )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tconst node = ref.current;\n\n\t\tconst handleOnFocus = () => {\n\t\t\tif ( isFocusedWithin() ) {\n\t\t\t\tsetIsFocused( true );\n\t\t\t\tdebouncedShowGestures();\n\t\t\t}\n\t\t};\n\n\t\tconst handleOnBlur = () => {\n\t\t\tif ( ! isFocusedWithin() ) {\n\t\t\t\tsetIsFocused( false );\n\t\t\t\tdebouncedHideGestures();\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Events are added via DOM events (vs. React synthetic events),\n\t\t * as the child React components swallow mouse events.\n\t\t */\n\t\tif ( node && ! registerRef.current ) {\n\t\t\tnode.addEventListener( 'focus', handleOnFocus, true );\n\t\t\tnode.addEventListener( 'blur', handleOnBlur, true );\n\t\t\tregisterRef.current = true;\n\t\t}\n\n\t\treturn () => {\n\t\t\tif ( node ) {\n\t\t\t\tnode.removeEventListener( 'focus', handleOnFocus );\n\t\t\t\tnode.removeEventListener( 'blur', handleOnBlur );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tref,\n\t\tregisterRef,\n\t\tsetIsFocused,\n\t\tdebouncedShowGestures,\n\t\tdebouncedHideGestures,\n\t] );\n\n\treturn {\n\t\tonMouseMove: debouncedShowGestures,\n\t\tonMouseLeave: debouncedHideGestures,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,8 @@ function BlockSelectionButton({
51
51
  __unstableGetEditorMode,
52
52
  getNextBlockClientId,
53
53
  getPreviousBlockClientId,
54
- canRemoveBlock
54
+ canRemoveBlock,
55
+ canMoveBlock
55
56
  } = select(blockEditorStore);
56
57
  const {
57
58
  getActiveBlockVariation,
@@ -92,7 +93,8 @@ function BlockSelectionButton({
92
93
  isBlockTemplatePart,
93
94
  isNextBlockTemplatePart,
94
95
  isPrevBlockTemplatePart,
95
- canRemove: canRemoveBlock(clientId, rootClientId)
96
+ canRemove: canRemoveBlock(clientId, rootClientId),
97
+ canMove: canMoveBlock(clientId, rootClientId)
96
98
  };
97
99
  }, [clientId, rootClientId]);
98
100
  const {
@@ -103,7 +105,8 @@ function BlockSelectionButton({
103
105
  isBlockTemplatePart,
104
106
  isNextBlockTemplatePart,
105
107
  isPrevBlockTemplatePart,
106
- canRemove
108
+ canRemove,
109
+ canMove
107
110
  } = selected;
108
111
  const {
109
112
  setNavigationMode,
@@ -231,6 +234,7 @@ function BlockSelectionButton({
231
234
  'is-block-moving-mode': !!blockMovingMode
232
235
  });
233
236
  const dragHandleLabel = __('Drag');
237
+ const showBlockDraggable = canMove && editorMode === 'navigation' || editorMode === 'zoom-out' && canMove && !isBlockTemplatePart;
234
238
  return createElement("div", {
235
239
  className: classNames
236
240
  }, createElement(Flex, {
@@ -239,12 +243,7 @@ function BlockSelectionButton({
239
243
  }, createElement(FlexItem, null, createElement(BlockIcon, {
240
244
  icon: icon,
241
245
  showColors: true
242
- })), createElement(FlexItem, null, editorMode === 'zoom-out' && !isBlockTemplatePart && createElement(BlockMover, {
243
- clientIds: [clientId],
244
- hideDragHandle: true,
245
- isBlockMoverUpButtonDisabled: isPrevBlockTemplatePart,
246
- isBlockMoverDownButtonDisabled: isNextBlockTemplatePart
247
- }), editorMode === 'navigation' && createElement(BlockDraggable, {
246
+ })), showBlockDraggable && createElement(FlexItem, null, createElement(BlockDraggable, {
248
247
  clientIds: [clientId]
249
248
  }, draggableProps => createElement(Button, {
250
249
  icon: dragHandle,
@@ -256,16 +255,21 @@ function BlockSelectionButton({
256
255
  ,
257
256
  tabIndex: "-1",
258
257
  ...draggableProps
259
- }))), editorMode === 'zoom-out' && createElement(Shuffle, {
258
+ }))), editorMode === 'zoom-out' && !isBlockTemplatePart && createElement(FlexItem, null, createElement(BlockMover, {
259
+ clientIds: [clientId],
260
+ hideDragHandle: true,
261
+ isBlockMoverUpButtonDisabled: isPrevBlockTemplatePart,
262
+ isBlockMoverDownButtonDisabled: isNextBlockTemplatePart
263
+ })), canMove && canRemove && editorMode === 'zoom-out' && createElement(Shuffle, {
260
264
  clientId: clientId,
261
265
  as: Button
262
- }), canRemove && editorMode === 'zoom-out' && !isBlockTemplatePart && createElement(ToolbarButton, {
266
+ }), canRemove && editorMode === 'zoom-out' && !isBlockTemplatePart && createElement(FlexItem, null, createElement(ToolbarButton, {
263
267
  icon: trash,
264
268
  label: "Delete",
265
269
  onClick: () => {
266
270
  removeBlock(clientId);
267
271
  }
268
- }), createElement(FlexItem, null, createElement(Button, {
272
+ })), editorMode === 'navigation' && createElement(FlexItem, null, createElement(Button, {
269
273
  ref: ref,
270
274
  onClick: editorMode === 'navigation' ? () => setNavigationMode(false) : undefined,
271
275
  onKeyDown: onKeyDown,