@wordpress/block-editor 12.24.0 → 12.26.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 (973) hide show
  1. package/CHANGELOG.md +11 -3
  2. package/README.md +7 -1
  3. package/build/components/alignment-control/ui.js +3 -1
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-actions/index.js +4 -2
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.js +2 -2
  8. package/build/components/block-alignment-control/ui.js.map +1 -1
  9. package/build/components/block-card/index.js +2 -2
  10. package/build/components/block-card/index.js.map +1 -1
  11. package/build/components/block-compare/index.js +2 -2
  12. package/build/components/block-compare/index.js.map +1 -1
  13. package/build/components/block-edit/edit.js +2 -2
  14. package/build/components/block-edit/edit.js.map +1 -1
  15. package/build/components/block-icon/index.js +2 -2
  16. package/build/components/block-icon/index.js.map +1 -1
  17. package/build/components/block-list/block.js +4 -13
  18. package/build/components/block-list/block.js.map +1 -1
  19. package/build/components/block-list/block.native.js +2 -2
  20. package/build/components/block-list/block.native.js.map +1 -1
  21. package/build/components/block-list/index.js +6 -5
  22. package/build/components/block-list/index.js.map +1 -1
  23. package/build/components/block-list/index.native.js +1 -9
  24. package/build/components/block-list/index.native.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +11 -8
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
  28. package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
  30. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  31. package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
  32. package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  33. package/build/components/block-list-appender/index.js +2 -2
  34. package/build/components/block-list-appender/index.js.map +1 -1
  35. package/build/components/block-mover/button.js +2 -2
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +2 -2
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-mover/index.native.js +3 -1
  40. package/build/components/block-mover/index.native.js.map +1 -1
  41. package/build/components/block-patterns-list/index.js +26 -5
  42. package/build/components/block-patterns-list/index.js.map +1 -1
  43. package/build/components/block-popover/cover.js +9 -6
  44. package/build/components/block-popover/cover.js.map +1 -1
  45. package/build/components/block-popover/inbetween.js +2 -2
  46. package/build/components/block-popover/inbetween.js.map +1 -1
  47. package/build/components/block-popover/index.js +22 -4
  48. package/build/components/block-popover/index.js.map +1 -1
  49. package/build/components/block-preview/index.js +2 -2
  50. package/build/components/block-preview/index.js.map +1 -1
  51. package/build/components/block-settings-menu/block-settings-dropdown.js +8 -30
  52. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  53. package/build/components/block-settings-menu-controls/index.js +10 -7
  54. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  55. package/build/components/block-styles/index.js +2 -2
  56. package/build/components/block-styles/index.js.map +1 -1
  57. package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
  58. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  59. package/build/components/block-switcher/use-transformed-patterns.js +6 -2
  60. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  61. package/build/components/block-switcher/utils.js +15 -5
  62. package/build/components/block-switcher/utils.js.map +1 -1
  63. package/build/components/block-toolbar/index.js +3 -3
  64. package/build/components/block-toolbar/index.js.map +1 -1
  65. package/build/components/block-toolbar/use-has-block-toolbar.js +14 -9
  66. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  67. package/build/components/block-tools/block-selection-button.js +2 -2
  68. package/build/components/block-tools/block-selection-button.js.map +1 -1
  69. package/build/components/block-tools/block-toolbar-breadcrumb.js +4 -4
  70. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  71. package/build/components/block-tools/block-toolbar-popover.js +2 -2
  72. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  73. package/build/components/block-tools/empty-block-inserter.js +2 -2
  74. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  75. package/build/components/block-tools/index.js +23 -2
  76. package/build/components/block-tools/index.js.map +1 -1
  77. package/build/components/block-tools/insertion-point.js +4 -4
  78. package/build/components/block-tools/insertion-point.js.map +1 -1
  79. package/build/components/block-tools/use-show-block-tools.js +2 -5
  80. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  81. package/build/components/block-tools/zoom-out-mode-inserters.js +68 -20
  82. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  83. package/build/components/block-variation-picker/index.js +5 -4
  84. package/build/components/block-variation-picker/index.js.map +1 -1
  85. package/build/components/block-variation-transforms/index.js +3 -1
  86. package/build/components/block-variation-transforms/index.js.map +1 -1
  87. package/build/components/button-block-appender/index.js +2 -2
  88. package/build/components/button-block-appender/index.js.map +1 -1
  89. package/build/components/child-layout-control/index.js +2 -2
  90. package/build/components/child-layout-control/index.js.map +1 -1
  91. package/build/components/colors-gradients/control.js +3 -3
  92. package/build/components/colors-gradients/control.js.map +1 -1
  93. package/build/components/colors-gradients/dropdown.js +2 -2
  94. package/build/components/colors-gradients/dropdown.js.map +1 -1
  95. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  96. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  97. package/build/components/convert-to-group-buttons/index.js +6 -0
  98. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  99. package/build/components/default-block-appender/index.js +2 -2
  100. package/build/components/default-block-appender/index.js.map +1 -1
  101. package/build/components/dimensions-tool/aspect-ratio-tool.js +30 -36
  102. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  103. package/build/components/floating-toolbar/index.native.js +9 -5
  104. package/build/components/floating-toolbar/index.native.js.map +1 -1
  105. package/build/components/global-styles/background-panel.js +4 -4
  106. package/build/components/global-styles/background-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +6 -4
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/dimensions-panel.js +20 -4
  110. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  111. package/build/components/global-styles/filters-panel.js +2 -2
  112. package/build/components/global-styles/filters-panel.js.map +1 -1
  113. package/build/components/global-styles/hooks.js +3 -2
  114. package/build/components/global-styles/hooks.js.map +1 -1
  115. package/build/components/global-styles/shadow-panel-components.js +4 -4
  116. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  117. package/build/components/global-styles/typography-panel.js +23 -23
  118. package/build/components/global-styles/typography-panel.js.map +1 -1
  119. package/build/components/global-styles/use-global-styles-output.js +149 -132
  120. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  121. package/build/components/global-styles/utils.js +45 -0
  122. package/build/components/global-styles/utils.js.map +1 -1
  123. package/build/components/grid-visualizer/grid-item-resizer.js +141 -24
  124. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  125. package/build/components/grid-visualizer/grid-visualizer.js +11 -5
  126. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  127. package/build/components/iframe/index.js +69 -30
  128. package/build/components/iframe/index.js.map +1 -1
  129. package/build/components/image-editor/aspect-ratio-dropdown.js +53 -36
  130. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  131. package/build/components/image-editor/cropper.js +2 -2
  132. package/build/components/image-editor/cropper.js.map +1 -1
  133. package/build/components/image-editor/index.js +1 -1
  134. package/build/components/image-editor/index.js.map +1 -1
  135. package/build/components/index.js +8 -0
  136. package/build/components/index.js.map +1 -1
  137. package/build/components/inner-blocks/button-block-appender.js +2 -2
  138. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  139. package/build/components/inner-blocks/index.js +25 -10
  140. package/build/components/inner-blocks/index.js.map +1 -1
  141. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  142. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  143. package/build/components/inserter/block-patterns-tab/index.js +20 -30
  144. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  145. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
  146. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  147. package/build/components/inserter/block-types-tab.js +9 -3
  148. package/build/components/inserter/block-types-tab.js.map +1 -1
  149. package/build/components/inserter/category-tabs/index.js +56 -0
  150. package/build/components/inserter/category-tabs/index.js.map +1 -0
  151. package/build/components/inserter/hooks/use-insertion-point.js +11 -2
  152. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  153. package/build/components/inserter/hooks/use-patterns-state.js +12 -5
  154. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  155. package/build/components/inserter/index.js +2 -2
  156. package/build/components/inserter/index.js.map +1 -1
  157. package/build/components/inserter/library.js +8 -2
  158. package/build/components/inserter/library.js.map +1 -1
  159. package/build/components/inserter/media-tab/index.js +2 -2
  160. package/build/components/inserter/media-tab/index.js.map +1 -1
  161. package/build/components/inserter/media-tab/media-panel.js +0 -25
  162. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  163. package/build/components/inserter/media-tab/media-preview.js +15 -5
  164. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  165. package/build/components/inserter/media-tab/media-tab.js +15 -29
  166. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  167. package/build/components/inserter/menu.js +115 -109
  168. package/build/components/inserter/menu.js.map +1 -1
  169. package/build/components/inserter/quick-inserter.js +2 -2
  170. package/build/components/inserter/quick-inserter.js.map +1 -1
  171. package/build/components/inserter/tabs.js +23 -11
  172. package/build/components/inserter/tabs.js.map +1 -1
  173. package/build/components/inserter-list-item/index.js +3 -3
  174. package/build/components/inserter-list-item/index.js.map +1 -1
  175. package/build/components/keyboard-shortcuts/index.js +9 -0
  176. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  177. package/build/components/line-height-control/index.js +6 -2
  178. package/build/components/line-height-control/index.js.map +1 -1
  179. package/build/components/link-control/index.js +2 -2
  180. package/build/components/link-control/index.js.map +1 -1
  181. package/build/components/link-control/link-preview.js +3 -3
  182. package/build/components/link-control/link-preview.js.map +1 -1
  183. package/build/components/link-control/search-item.js +9 -3
  184. package/build/components/link-control/search-item.js.map +1 -1
  185. package/build/components/link-control/search-results.js +2 -2
  186. package/build/components/link-control/search-results.js.map +1 -1
  187. package/build/components/list-view/block-contents.js +2 -2
  188. package/build/components/list-view/block-contents.js.map +1 -1
  189. package/build/components/list-view/block-select-button.js +15 -172
  190. package/build/components/list-view/block-select-button.js.map +1 -1
  191. package/build/components/list-view/block.js +196 -21
  192. package/build/components/list-view/block.js.map +1 -1
  193. package/build/components/list-view/drop-indicator.js +3 -3
  194. package/build/components/list-view/drop-indicator.js.map +1 -1
  195. package/build/components/list-view/index.js +3 -3
  196. package/build/components/list-view/index.js.map +1 -1
  197. package/build/components/list-view/leaf.js +2 -2
  198. package/build/components/list-view/leaf.js.map +1 -1
  199. package/build/components/list-view/use-list-view-drop-zone.js +1 -1
  200. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  201. package/build/components/list-view/utils.js +3 -1
  202. package/build/components/list-view/utils.js.map +1 -1
  203. package/build/components/media-placeholder/index.js +7 -7
  204. package/build/components/media-placeholder/index.js.map +1 -1
  205. package/build/components/media-replace-flow/index.js +2 -2
  206. package/build/components/media-replace-flow/index.js.map +1 -1
  207. package/build/components/navigable-toolbar/index.js +3 -1
  208. package/build/components/navigable-toolbar/index.js.map +1 -1
  209. package/build/components/plain-text/index.js +2 -2
  210. package/build/components/plain-text/index.js.map +1 -1
  211. package/build/components/provider/block-refs-provider.js +3 -4
  212. package/build/components/provider/block-refs-provider.js.map +1 -1
  213. package/build/components/provider/use-block-sync.js +10 -1
  214. package/build/components/provider/use-block-sync.js.map +1 -1
  215. package/build/components/responsive-block-control/index.js +2 -2
  216. package/build/components/responsive-block-control/index.js.map +1 -1
  217. package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
  218. package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
  219. package/build/components/rich-text/event-listeners/delete.js +58 -0
  220. package/build/components/rich-text/event-listeners/delete.js.map +1 -0
  221. package/build/components/rich-text/event-listeners/enter.js +89 -0
  222. package/build/components/rich-text/event-listeners/enter.js.map +1 -0
  223. package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
  224. package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
  225. package/build/components/rich-text/event-listeners/index.js +44 -0
  226. package/build/components/rich-text/event-listeners/index.js.map +1 -0
  227. package/build/components/rich-text/event-listeners/input-events.js +22 -0
  228. package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
  229. package/build/components/rich-text/event-listeners/input-rules.js +135 -0
  230. package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
  231. package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
  232. package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
  233. package/build/components/rich-text/event-listeners/paste-handler.js +126 -0
  234. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
  235. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
  236. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
  237. package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
  238. package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
  239. package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
  240. package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
  241. package/build/components/rich-text/format-toolbar/index.js +2 -2
  242. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  243. package/build/components/rich-text/index.js +20 -33
  244. package/build/components/rich-text/index.js.map +1 -1
  245. package/build/components/rich-text/index.native.js +15 -5
  246. package/build/components/rich-text/index.native.js.map +1 -1
  247. package/build/components/rich-text/multiline.js +36 -4
  248. package/build/components/rich-text/multiline.js.map +1 -1
  249. package/build/components/rich-text/native/index.native.js +12 -0
  250. package/build/components/rich-text/native/index.native.js.map +1 -1
  251. package/build/components/rich-text/use-format-types.js +8 -4
  252. package/build/components/rich-text/use-format-types.js.map +1 -1
  253. package/build/components/segmented-text-control/index.js +62 -0
  254. package/build/components/segmented-text-control/index.js.map +1 -0
  255. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
  256. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  257. package/build/components/text-alignment-control/index.js +76 -0
  258. package/build/components/text-alignment-control/index.js.map +1 -0
  259. package/build/components/text-decoration-control/index.js +22 -26
  260. package/build/components/text-decoration-control/index.js.map +1 -1
  261. package/build/components/text-transform-control/index.js +19 -23
  262. package/build/components/text-transform-control/index.js.map +1 -1
  263. package/build/components/url-input/index.js +4 -4
  264. package/build/components/url-input/index.js.map +1 -1
  265. package/build/components/url-popover/link-editor.js +2 -2
  266. package/build/components/url-popover/link-editor.js.map +1 -1
  267. package/build/components/url-popover/link-viewer-url.js +2 -2
  268. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  269. package/build/components/url-popover/link-viewer.js +2 -2
  270. package/build/components/url-popover/link-viewer.js.map +1 -1
  271. package/build/components/use-block-display-information/index.js +9 -3
  272. package/build/components/use-block-display-information/index.js.map +1 -1
  273. package/build/components/use-on-block-drop/index.js +3 -1
  274. package/build/components/use-on-block-drop/index.js.map +1 -1
  275. package/build/components/warning/index.js +2 -2
  276. package/build/components/warning/index.js.map +1 -1
  277. package/build/components/writing-flow/index.js +2 -2
  278. package/build/components/writing-flow/index.js.map +1 -1
  279. package/build/components/writing-flow/use-clipboard-handler.js +77 -30
  280. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  281. package/build/components/writing-flow/use-drag-selection.js +3 -1
  282. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  283. package/build/components/writing-flow/use-input.js +44 -2
  284. package/build/components/writing-flow/use-input.js.map +1 -1
  285. package/build/components/writing-flow/use-tab-nav.js +9 -2
  286. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  287. package/build/components/writing-mode-control/index.js +17 -21
  288. package/build/components/writing-mode-control/index.js.map +1 -1
  289. package/build/hooks/align.js +2 -2
  290. package/build/hooks/align.js.map +1 -1
  291. package/build/hooks/background.js +1 -1
  292. package/build/hooks/background.js.map +1 -1
  293. package/build/hooks/border.js +3 -3
  294. package/build/hooks/border.js.map +1 -1
  295. package/build/hooks/color.js +3 -3
  296. package/build/hooks/color.js.map +1 -1
  297. package/build/hooks/content-lock-ui.js +5 -28
  298. package/build/hooks/content-lock-ui.js.map +1 -1
  299. package/build/hooks/custom-class-name.js +2 -2
  300. package/build/hooks/custom-class-name.js.map +1 -1
  301. package/build/hooks/custom-class-name.native.js +2 -2
  302. package/build/hooks/custom-class-name.native.js.map +1 -1
  303. package/build/hooks/dimensions.js +2 -2
  304. package/build/hooks/dimensions.js.map +1 -1
  305. package/build/hooks/duotone.js +3 -1
  306. package/build/hooks/duotone.js.map +1 -1
  307. package/build/hooks/layout-child.js +16 -8
  308. package/build/hooks/layout-child.js.map +1 -1
  309. package/build/hooks/layout.js +2 -2
  310. package/build/hooks/layout.js.map +1 -1
  311. package/build/hooks/position.js +2 -2
  312. package/build/hooks/position.js.map +1 -1
  313. package/build/hooks/text-align.js +3 -3
  314. package/build/hooks/text-align.js.map +1 -1
  315. package/build/hooks/use-bindings-attributes.js +39 -13
  316. package/build/hooks/use-bindings-attributes.js.map +1 -1
  317. package/build/hooks/use-color-props.js +2 -2
  318. package/build/hooks/use-color-props.js.map +1 -1
  319. package/build/hooks/use-typography-props.js +2 -2
  320. package/build/hooks/use-typography-props.js.map +1 -1
  321. package/build/hooks/utils.js +13 -8
  322. package/build/hooks/utils.js.map +1 -1
  323. package/build/layouts/grid.js +7 -6
  324. package/build/layouts/grid.js.map +1 -1
  325. package/build/private-apis.js +8 -3
  326. package/build/private-apis.js.map +1 -1
  327. package/build/store/actions.js +143 -25
  328. package/build/store/actions.js.map +1 -1
  329. package/build/store/private-actions.js +26 -1
  330. package/build/store/private-actions.js.map +1 -1
  331. package/build/store/private-keys.js +2 -1
  332. package/build/store/private-keys.js.map +1 -1
  333. package/build/store/private-selectors.js +33 -6
  334. package/build/store/private-selectors.js.map +1 -1
  335. package/build/store/reducer.js +11 -8
  336. package/build/store/reducer.js.map +1 -1
  337. package/build/store/selectors.js +25 -8
  338. package/build/store/selectors.js.map +1 -1
  339. package/build/utils/object.js +17 -0
  340. package/build/utils/object.js.map +1 -1
  341. package/build/utils/order-inserter-block-items.js +6 -2
  342. package/build/utils/order-inserter-block-items.js.map +1 -1
  343. package/build/utils/pasting.js +6 -2
  344. package/build/utils/pasting.js.map +1 -1
  345. package/build/utils/selection.js +8 -0
  346. package/build/utils/selection.js.map +1 -1
  347. package/build/utils/transform-styles/index.js +12 -7
  348. package/build/utils/transform-styles/index.js.map +1 -1
  349. package/build-module/components/alignment-control/ui.js +3 -1
  350. package/build-module/components/alignment-control/ui.js.map +1 -1
  351. package/build-module/components/block-actions/index.js +4 -2
  352. package/build-module/components/block-actions/index.js.map +1 -1
  353. package/build-module/components/block-alignment-control/ui.js +2 -2
  354. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  355. package/build-module/components/block-card/index.js +2 -2
  356. package/build-module/components/block-card/index.js.map +1 -1
  357. package/build-module/components/block-compare/index.js +2 -2
  358. package/build-module/components/block-compare/index.js.map +1 -1
  359. package/build-module/components/block-edit/edit.js +2 -2
  360. package/build-module/components/block-edit/edit.js.map +1 -1
  361. package/build-module/components/block-icon/index.js +2 -2
  362. package/build-module/components/block-icon/index.js.map +1 -1
  363. package/build-module/components/block-list/block.js +4 -13
  364. package/build-module/components/block-list/block.js.map +1 -1
  365. package/build-module/components/block-list/block.native.js +2 -2
  366. package/build-module/components/block-list/block.native.js.map +1 -1
  367. package/build-module/components/block-list/index.js +6 -5
  368. package/build-module/components/block-list/index.js.map +1 -1
  369. package/build-module/components/block-list/index.native.js +1 -9
  370. package/build-module/components/block-list/index.native.js.map +1 -1
  371. package/build-module/components/block-list/use-block-props/index.js +11 -8
  372. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  373. package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
  374. package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
  375. package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
  376. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  377. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
  378. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  379. package/build-module/components/block-list-appender/index.js +2 -2
  380. package/build-module/components/block-list-appender/index.js.map +1 -1
  381. package/build-module/components/block-mover/button.js +2 -2
  382. package/build-module/components/block-mover/button.js.map +1 -1
  383. package/build-module/components/block-mover/index.js +2 -2
  384. package/build-module/components/block-mover/index.js.map +1 -1
  385. package/build-module/components/block-mover/index.native.js +3 -1
  386. package/build-module/components/block-mover/index.native.js.map +1 -1
  387. package/build-module/components/block-patterns-list/index.js +27 -6
  388. package/build-module/components/block-patterns-list/index.js.map +1 -1
  389. package/build-module/components/block-popover/cover.js +9 -5
  390. package/build-module/components/block-popover/cover.js.map +1 -1
  391. package/build-module/components/block-popover/inbetween.js +2 -2
  392. package/build-module/components/block-popover/inbetween.js.map +1 -1
  393. package/build-module/components/block-popover/index.js +21 -3
  394. package/build-module/components/block-popover/index.js.map +1 -1
  395. package/build-module/components/block-preview/index.js +2 -2
  396. package/build-module/components/block-preview/index.js.map +1 -1
  397. package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -31
  398. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  399. package/build-module/components/block-settings-menu-controls/index.js +10 -7
  400. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  401. package/build-module/components/block-styles/index.js +2 -2
  402. package/build-module/components/block-styles/index.js.map +1 -1
  403. package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
  404. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  405. package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
  406. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  407. package/build-module/components/block-switcher/utils.js +15 -5
  408. package/build-module/components/block-switcher/utils.js.map +1 -1
  409. package/build-module/components/block-toolbar/index.js +3 -3
  410. package/build-module/components/block-toolbar/index.js.map +1 -1
  411. package/build-module/components/block-toolbar/use-has-block-toolbar.js +14 -9
  412. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  413. package/build-module/components/block-tools/block-selection-button.js +2 -2
  414. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  415. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +4 -4
  416. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  417. package/build-module/components/block-tools/block-toolbar-popover.js +2 -2
  418. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  419. package/build-module/components/block-tools/empty-block-inserter.js +2 -2
  420. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  421. package/build-module/components/block-tools/index.js +23 -2
  422. package/build-module/components/block-tools/index.js.map +1 -1
  423. package/build-module/components/block-tools/insertion-point.js +4 -4
  424. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  425. package/build-module/components/block-tools/use-show-block-tools.js +2 -5
  426. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  427. package/build-module/components/block-tools/zoom-out-mode-inserters.js +69 -21
  428. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  429. package/build-module/components/block-variation-picker/index.js +5 -4
  430. package/build-module/components/block-variation-picker/index.js.map +1 -1
  431. package/build-module/components/block-variation-transforms/index.js +3 -1
  432. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  433. package/build-module/components/button-block-appender/index.js +2 -2
  434. package/build-module/components/button-block-appender/index.js.map +1 -1
  435. package/build-module/components/child-layout-control/index.js +2 -2
  436. package/build-module/components/child-layout-control/index.js.map +1 -1
  437. package/build-module/components/colors-gradients/control.js +3 -3
  438. package/build-module/components/colors-gradients/control.js.map +1 -1
  439. package/build-module/components/colors-gradients/dropdown.js +2 -2
  440. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  441. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  442. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  443. package/build-module/components/convert-to-group-buttons/index.js +7 -1
  444. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  445. package/build-module/components/default-block-appender/index.js +2 -2
  446. package/build-module/components/default-block-appender/index.js.map +1 -1
  447. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +30 -36
  448. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  449. package/build-module/components/floating-toolbar/index.native.js +9 -5
  450. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  451. package/build-module/components/global-styles/background-panel.js +4 -4
  452. package/build-module/components/global-styles/background-panel.js.map +1 -1
  453. package/build-module/components/global-styles/color-panel.js +6 -4
  454. package/build-module/components/global-styles/color-panel.js.map +1 -1
  455. package/build-module/components/global-styles/dimensions-panel.js +21 -5
  456. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  457. package/build-module/components/global-styles/filters-panel.js +2 -2
  458. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  459. package/build-module/components/global-styles/hooks.js +3 -2
  460. package/build-module/components/global-styles/hooks.js.map +1 -1
  461. package/build-module/components/global-styles/shadow-panel-components.js +4 -4
  462. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  463. package/build-module/components/global-styles/typography-panel.js +24 -24
  464. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  465. package/build-module/components/global-styles/use-global-styles-output.js +149 -132
  466. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  467. package/build-module/components/global-styles/utils.js +44 -0
  468. package/build-module/components/global-styles/utils.js.map +1 -1
  469. package/build-module/components/grid-visualizer/grid-item-resizer.js +141 -24
  470. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  471. package/build-module/components/grid-visualizer/grid-visualizer.js +12 -6
  472. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  473. package/build-module/components/iframe/index.js +70 -31
  474. package/build-module/components/iframe/index.js.map +1 -1
  475. package/build-module/components/image-editor/aspect-ratio-dropdown.js +52 -36
  476. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  477. package/build-module/components/image-editor/cropper.js +2 -2
  478. package/build-module/components/image-editor/cropper.js.map +1 -1
  479. package/build-module/components/image-editor/index.js +1 -1
  480. package/build-module/components/image-editor/index.js.map +1 -1
  481. package/build-module/components/index.js +1 -0
  482. package/build-module/components/index.js.map +1 -1
  483. package/build-module/components/inner-blocks/button-block-appender.js +2 -2
  484. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  485. package/build-module/components/inner-blocks/index.js +25 -10
  486. package/build-module/components/inner-blocks/index.js.map +1 -1
  487. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  488. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  489. package/build-module/components/inserter/block-patterns-tab/index.js +21 -31
  490. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  491. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
  492. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  493. package/build-module/components/inserter/block-types-tab.js +10 -4
  494. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  495. package/build-module/components/inserter/category-tabs/index.js +49 -0
  496. package/build-module/components/inserter/category-tabs/index.js.map +1 -0
  497. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -2
  498. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  499. package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
  500. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  501. package/build-module/components/inserter/index.js +2 -2
  502. package/build-module/components/inserter/index.js.map +1 -1
  503. package/build-module/components/inserter/library.js +8 -2
  504. package/build-module/components/inserter/library.js.map +1 -1
  505. package/build-module/components/inserter/media-tab/index.js +1 -1
  506. package/build-module/components/inserter/media-tab/index.js.map +1 -1
  507. package/build-module/components/inserter/media-tab/media-panel.js +0 -24
  508. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  509. package/build-module/components/inserter/media-tab/media-preview.js +15 -5
  510. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  511. package/build-module/components/inserter/media-tab/media-tab.js +17 -31
  512. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  513. package/build-module/components/inserter/menu.js +117 -111
  514. package/build-module/components/inserter/menu.js.map +1 -1
  515. package/build-module/components/inserter/quick-inserter.js +2 -2
  516. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  517. package/build-module/components/inserter/tabs.js +24 -12
  518. package/build-module/components/inserter/tabs.js.map +1 -1
  519. package/build-module/components/inserter-list-item/index.js +3 -3
  520. package/build-module/components/inserter-list-item/index.js.map +1 -1
  521. package/build-module/components/keyboard-shortcuts/index.js +9 -0
  522. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  523. package/build-module/components/line-height-control/index.js +6 -2
  524. package/build-module/components/line-height-control/index.js.map +1 -1
  525. package/build-module/components/link-control/index.js +2 -2
  526. package/build-module/components/link-control/index.js.map +1 -1
  527. package/build-module/components/link-control/link-preview.js +3 -3
  528. package/build-module/components/link-control/link-preview.js.map +1 -1
  529. package/build-module/components/link-control/search-item.js +9 -3
  530. package/build-module/components/link-control/search-item.js.map +1 -1
  531. package/build-module/components/link-control/search-results.js +2 -2
  532. package/build-module/components/link-control/search-results.js.map +1 -1
  533. package/build-module/components/list-view/block-contents.js +2 -2
  534. package/build-module/components/list-view/block-contents.js.map +1 -1
  535. package/build-module/components/list-view/block-select-button.js +17 -174
  536. package/build-module/components/list-view/block-select-button.js.map +1 -1
  537. package/build-module/components/list-view/block.js +198 -23
  538. package/build-module/components/list-view/block.js.map +1 -1
  539. package/build-module/components/list-view/drop-indicator.js +3 -3
  540. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  541. package/build-module/components/list-view/index.js +3 -3
  542. package/build-module/components/list-view/index.js.map +1 -1
  543. package/build-module/components/list-view/leaf.js +2 -2
  544. package/build-module/components/list-view/leaf.js.map +1 -1
  545. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
  546. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  547. package/build-module/components/list-view/utils.js +3 -1
  548. package/build-module/components/list-view/utils.js.map +1 -1
  549. package/build-module/components/media-placeholder/index.js +7 -7
  550. package/build-module/components/media-placeholder/index.js.map +1 -1
  551. package/build-module/components/media-replace-flow/index.js +2 -2
  552. package/build-module/components/media-replace-flow/index.js.map +1 -1
  553. package/build-module/components/navigable-toolbar/index.js +3 -1
  554. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  555. package/build-module/components/plain-text/index.js +2 -2
  556. package/build-module/components/plain-text/index.js.map +1 -1
  557. package/build-module/components/provider/block-refs-provider.js +3 -4
  558. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  559. package/build-module/components/provider/use-block-sync.js +10 -1
  560. package/build-module/components/provider/use-block-sync.js.map +1 -1
  561. package/build-module/components/responsive-block-control/index.js +2 -2
  562. package/build-module/components/responsive-block-control/index.js.map +1 -1
  563. package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
  564. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
  565. package/build-module/components/rich-text/event-listeners/delete.js +51 -0
  566. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
  567. package/build-module/components/rich-text/event-listeners/enter.js +82 -0
  568. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
  569. package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
  570. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
  571. package/build-module/components/rich-text/event-listeners/index.js +36 -0
  572. package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
  573. package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
  574. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
  575. package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
  576. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
  577. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
  578. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
  579. package/build-module/components/rich-text/event-listeners/paste-handler.js +122 -0
  580. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
  581. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
  582. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
  583. package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
  584. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
  585. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
  586. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
  587. package/build-module/components/rich-text/format-toolbar/index.js +2 -2
  588. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  589. package/build-module/components/rich-text/index.js +21 -34
  590. package/build-module/components/rich-text/index.js.map +1 -1
  591. package/build-module/components/rich-text/index.native.js +15 -5
  592. package/build-module/components/rich-text/index.native.js.map +1 -1
  593. package/build-module/components/rich-text/multiline.js +37 -5
  594. package/build-module/components/rich-text/multiline.js.map +1 -1
  595. package/build-module/components/rich-text/native/index.native.js +12 -0
  596. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  597. package/build-module/components/rich-text/use-format-types.js +8 -4
  598. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  599. package/build-module/components/segmented-text-control/index.js +55 -0
  600. package/build-module/components/segmented-text-control/index.js.map +1 -0
  601. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
  602. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  603. package/build-module/components/text-alignment-control/index.js +68 -0
  604. package/build-module/components/text-alignment-control/index.js.map +1 -0
  605. package/build-module/components/text-decoration-control/index.js +22 -26
  606. package/build-module/components/text-decoration-control/index.js.map +1 -1
  607. package/build-module/components/text-transform-control/index.js +19 -23
  608. package/build-module/components/text-transform-control/index.js.map +1 -1
  609. package/build-module/components/url-input/index.js +4 -4
  610. package/build-module/components/url-input/index.js.map +1 -1
  611. package/build-module/components/url-popover/link-editor.js +2 -2
  612. package/build-module/components/url-popover/link-editor.js.map +1 -1
  613. package/build-module/components/url-popover/link-viewer-url.js +2 -2
  614. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  615. package/build-module/components/url-popover/link-viewer.js +2 -2
  616. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  617. package/build-module/components/use-block-display-information/index.js +9 -3
  618. package/build-module/components/use-block-display-information/index.js.map +1 -1
  619. package/build-module/components/use-on-block-drop/index.js +3 -1
  620. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  621. package/build-module/components/warning/index.js +2 -2
  622. package/build-module/components/warning/index.js.map +1 -1
  623. package/build-module/components/writing-flow/index.js +2 -2
  624. package/build-module/components/writing-flow/index.js.map +1 -1
  625. package/build-module/components/writing-flow/use-clipboard-handler.js +78 -31
  626. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  627. package/build-module/components/writing-flow/use-drag-selection.js +3 -1
  628. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  629. package/build-module/components/writing-flow/use-input.js +45 -3
  630. package/build-module/components/writing-flow/use-input.js.map +1 -1
  631. package/build-module/components/writing-flow/use-tab-nav.js +9 -2
  632. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  633. package/build-module/components/writing-mode-control/index.js +17 -21
  634. package/build-module/components/writing-mode-control/index.js.map +1 -1
  635. package/build-module/hooks/align.js +2 -2
  636. package/build-module/hooks/align.js.map +1 -1
  637. package/build-module/hooks/background.js +1 -1
  638. package/build-module/hooks/background.js.map +1 -1
  639. package/build-module/hooks/border.js +3 -3
  640. package/build-module/hooks/border.js.map +1 -1
  641. package/build-module/hooks/color.js +3 -3
  642. package/build-module/hooks/color.js.map +1 -1
  643. package/build-module/hooks/content-lock-ui.js +5 -28
  644. package/build-module/hooks/content-lock-ui.js.map +1 -1
  645. package/build-module/hooks/custom-class-name.js +2 -2
  646. package/build-module/hooks/custom-class-name.js.map +1 -1
  647. package/build-module/hooks/custom-class-name.native.js +2 -2
  648. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  649. package/build-module/hooks/dimensions.js +2 -2
  650. package/build-module/hooks/dimensions.js.map +1 -1
  651. package/build-module/hooks/duotone.js +3 -1
  652. package/build-module/hooks/duotone.js.map +1 -1
  653. package/build-module/hooks/layout-child.js +16 -8
  654. package/build-module/hooks/layout-child.js.map +1 -1
  655. package/build-module/hooks/layout.js +2 -2
  656. package/build-module/hooks/layout.js.map +1 -1
  657. package/build-module/hooks/position.js +2 -2
  658. package/build-module/hooks/position.js.map +1 -1
  659. package/build-module/hooks/text-align.js +3 -3
  660. package/build-module/hooks/text-align.js.map +1 -1
  661. package/build-module/hooks/use-bindings-attributes.js +39 -13
  662. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  663. package/build-module/hooks/use-color-props.js +2 -2
  664. package/build-module/hooks/use-color-props.js.map +1 -1
  665. package/build-module/hooks/use-typography-props.js +2 -2
  666. package/build-module/hooks/use-typography-props.js.map +1 -1
  667. package/build-module/hooks/utils.js +13 -8
  668. package/build-module/hooks/utils.js.map +1 -1
  669. package/build-module/layouts/grid.js +7 -6
  670. package/build-module/layouts/grid.js.map +1 -1
  671. package/build-module/private-apis.js +9 -4
  672. package/build-module/private-apis.js.map +1 -1
  673. package/build-module/store/actions.js +145 -27
  674. package/build-module/store/actions.js.map +1 -1
  675. package/build-module/store/private-actions.js +24 -0
  676. package/build-module/store/private-actions.js.map +1 -1
  677. package/build-module/store/private-keys.js +1 -0
  678. package/build-module/store/private-keys.js.map +1 -1
  679. package/build-module/store/private-selectors.js +32 -5
  680. package/build-module/store/private-selectors.js.map +1 -1
  681. package/build-module/store/reducer.js +11 -8
  682. package/build-module/store/reducer.js.map +1 -1
  683. package/build-module/store/selectors.js +25 -8
  684. package/build-module/store/selectors.js.map +1 -1
  685. package/build-module/utils/object.js +16 -0
  686. package/build-module/utils/object.js.map +1 -1
  687. package/build-module/utils/order-inserter-block-items.js +6 -2
  688. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  689. package/build-module/utils/pasting.js +6 -2
  690. package/build-module/utils/pasting.js.map +1 -1
  691. package/build-module/utils/selection.js +7 -0
  692. package/build-module/utils/selection.js.map +1 -1
  693. package/build-module/utils/transform-styles/index.js +12 -7
  694. package/build-module/utils/transform-styles/index.js.map +1 -1
  695. package/build-style/content-rtl.css +124 -158
  696. package/build-style/content.css +124 -158
  697. package/build-style/style-rtl.css +114 -203
  698. package/build-style/style.css +114 -203
  699. package/build-types/components/block-context/index.d.ts +1 -1
  700. package/build-types/components/block-context/index.d.ts.map +1 -1
  701. package/package.json +32 -32
  702. package/src/components/alignment-control/ui.js +3 -1
  703. package/src/components/block-actions/index.js +5 -1
  704. package/src/components/block-alignment-control/ui.js +2 -2
  705. package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
  706. package/src/components/block-canvas/style.scss +1 -3
  707. package/src/components/block-card/index.js +2 -2
  708. package/src/components/block-compare/index.js +2 -2
  709. package/src/components/block-content-overlay/content.scss +4 -37
  710. package/src/components/block-edit/edit.js +2 -2
  711. package/src/components/block-icon/index.js +2 -2
  712. package/src/components/block-list/block.js +6 -17
  713. package/src/components/block-list/block.native.js +2 -2
  714. package/src/components/block-list/content.scss +53 -72
  715. package/src/components/block-list/index.js +6 -6
  716. package/src/components/block-list/index.native.js +1 -6
  717. package/src/components/block-list/use-block-props/index.js +16 -6
  718. package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
  719. package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
  720. package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
  721. package/src/components/block-list-appender/index.js +2 -2
  722. package/src/components/block-mover/button.js +2 -2
  723. package/src/components/block-mover/index.js +2 -2
  724. package/src/components/block-mover/index.native.js +3 -1
  725. package/src/components/block-patterns-list/index.js +29 -4
  726. package/src/components/block-patterns-list/style.scss +1 -3
  727. package/src/components/block-popover/README.md +1 -1
  728. package/src/components/block-popover/cover.js +22 -7
  729. package/src/components/block-popover/inbetween.js +2 -2
  730. package/src/components/block-popover/index.js +24 -6
  731. package/src/components/block-preview/index.js +2 -2
  732. package/src/components/block-preview/style.scss +13 -15
  733. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -57
  734. package/src/components/block-settings-menu-controls/index.js +25 -16
  735. package/src/components/block-styles/index.js +2 -2
  736. package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
  737. package/src/components/block-switcher/use-transformed-patterns.js +6 -2
  738. package/src/components/block-switcher/utils.js +14 -5
  739. package/src/components/block-toolbar/index.js +3 -3
  740. package/src/components/block-toolbar/style.scss +8 -11
  741. package/src/components/block-toolbar/use-has-block-toolbar.js +21 -16
  742. package/src/components/block-tools/block-selection-button.js +2 -2
  743. package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
  744. package/src/components/block-tools/block-toolbar-popover.js +4 -7
  745. package/src/components/block-tools/empty-block-inserter.js +2 -2
  746. package/src/components/block-tools/index.js +27 -4
  747. package/src/components/block-tools/insertion-point.js +4 -4
  748. package/src/components/block-tools/style.scss +8 -0
  749. package/src/components/block-tools/use-show-block-tools.js +36 -48
  750. package/src/components/block-tools/zoom-out-mode-inserters.js +74 -18
  751. package/src/components/block-variation-picker/content.scss +22 -72
  752. package/src/components/block-variation-picker/index.js +5 -4
  753. package/src/components/block-variation-transforms/index.js +3 -1
  754. package/src/components/button-block-appender/index.js +2 -2
  755. package/src/components/child-layout-control/index.js +14 -2
  756. package/src/components/colors-gradients/control.js +3 -3
  757. package/src/components/colors-gradients/dropdown.js +2 -2
  758. package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  759. package/src/components/colors-gradients/test/control.js +3 -3
  760. package/src/components/convert-to-group-buttons/index.js +10 -1
  761. package/src/components/default-block-appender/index.js +2 -2
  762. package/src/components/dimensions-tool/aspect-ratio-tool.js +40 -67
  763. package/src/components/dimensions-tool/test/index.js +10 -0
  764. package/src/components/editable-text/README.md +0 -4
  765. package/src/components/floating-toolbar/index.native.js +5 -2
  766. package/src/components/global-styles/background-panel.js +4 -6
  767. package/src/components/global-styles/color-panel.js +6 -4
  768. package/src/components/global-styles/dimensions-panel.js +22 -5
  769. package/src/components/global-styles/filters-panel.js +2 -2
  770. package/src/components/global-styles/hooks.js +2 -0
  771. package/src/components/global-styles/shadow-panel-components.js +6 -9
  772. package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
  773. package/src/components/global-styles/test/use-global-styles-output.js +5 -5
  774. package/src/components/global-styles/test/utils.js +21 -0
  775. package/src/components/global-styles/typography-panel.js +27 -23
  776. package/src/components/global-styles/use-global-styles-output.js +211 -187
  777. package/src/components/global-styles/utils.js +55 -0
  778. package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
  779. package/src/components/grid-visualizer/grid-visualizer.js +19 -6
  780. package/src/components/iframe/content.scss +63 -0
  781. package/src/components/iframe/index.js +119 -39
  782. package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
  783. package/src/components/image-editor/cropper.js +2 -2
  784. package/src/components/image-editor/index.js +1 -1
  785. package/src/components/image-editor/test/index.js +22 -0
  786. package/src/components/index.js +1 -0
  787. package/src/components/inner-blocks/button-block-appender.js +2 -2
  788. package/src/components/inner-blocks/index.js +24 -9
  789. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
  790. package/src/components/inserter/block-patterns-tab/index.js +30 -64
  791. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
  792. package/src/components/inserter/block-types-tab.js +12 -9
  793. package/src/components/inserter/category-tabs/index.js +74 -0
  794. package/src/components/inserter/hooks/use-insertion-point.js +15 -1
  795. package/src/components/inserter/hooks/use-patterns-state.js +18 -5
  796. package/src/components/inserter/index.js +4 -5
  797. package/src/components/inserter/library.js +6 -0
  798. package/src/components/inserter/media-tab/index.js +1 -1
  799. package/src/components/inserter/media-tab/media-panel.js +0 -22
  800. package/src/components/inserter/media-tab/media-preview.js +17 -9
  801. package/src/components/inserter/media-tab/media-tab.js +44 -83
  802. package/src/components/inserter/menu.js +168 -140
  803. package/src/components/inserter/quick-inserter.js +2 -2
  804. package/src/components/inserter/style.scss +96 -178
  805. package/src/components/inserter/tabs.js +33 -27
  806. package/src/components/inserter-list-item/index.js +3 -3
  807. package/src/components/keyboard-shortcuts/index.js +12 -0
  808. package/src/components/line-height-control/index.js +6 -2
  809. package/src/components/line-height-control/test/index.js +16 -14
  810. package/src/components/link-control/index.js +2 -2
  811. package/src/components/link-control/link-preview.js +3 -3
  812. package/src/components/link-control/search-item.js +9 -3
  813. package/src/components/link-control/search-results.js +2 -2
  814. package/src/components/list-view/block-contents.js +2 -2
  815. package/src/components/list-view/block-select-button.js +85 -267
  816. package/src/components/list-view/block.js +240 -26
  817. package/src/components/list-view/drop-indicator.js +3 -3
  818. package/src/components/list-view/index.js +3 -3
  819. package/src/components/list-view/leaf.js +2 -5
  820. package/src/components/list-view/style.scss +20 -28
  821. package/src/components/list-view/use-list-view-drop-zone.js +1 -1
  822. package/src/components/list-view/utils.js +3 -1
  823. package/src/components/media-placeholder/content.scss +0 -11
  824. package/src/components/media-placeholder/index.js +7 -7
  825. package/src/components/media-replace-flow/index.js +2 -2
  826. package/src/components/navigable-toolbar/index.js +3 -1
  827. package/src/components/plain-text/index.js +2 -2
  828. package/src/components/provider/block-refs-provider.js +3 -8
  829. package/src/components/provider/test/use-block-sync.js +7 -0
  830. package/src/components/provider/use-block-sync.js +10 -1
  831. package/src/components/responsive-block-control/index.js +2 -2
  832. package/src/components/rich-text/README.md +0 -8
  833. package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
  834. package/src/components/rich-text/event-listeners/delete.js +53 -0
  835. package/src/components/rich-text/event-listeners/enter.js +84 -0
  836. package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
  837. package/src/components/rich-text/event-listeners/index.js +56 -0
  838. package/src/components/rich-text/event-listeners/input-events.js +13 -0
  839. package/src/components/rich-text/event-listeners/input-rules.js +146 -0
  840. package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
  841. package/src/components/rich-text/event-listeners/paste-handler.js +132 -0
  842. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
  843. package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
  844. package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
  845. package/src/components/rich-text/format-toolbar/index.js +2 -2
  846. package/src/components/rich-text/index.js +17 -37
  847. package/src/components/rich-text/index.native.js +13 -2
  848. package/src/components/rich-text/multiline.js +37 -5
  849. package/src/components/rich-text/native/index.native.js +11 -0
  850. package/src/components/rich-text/use-format-types.js +6 -2
  851. package/src/components/segmented-text-control/index.js +63 -0
  852. package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
  853. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
  854. package/src/components/text-alignment-control/index.js +91 -0
  855. package/src/components/text-alignment-control/stories/index.story.js +39 -0
  856. package/src/components/text-decoration-control/index.js +22 -35
  857. package/src/components/text-transform-control/index.js +19 -32
  858. package/src/components/url-input/index.js +4 -4
  859. package/src/components/url-popover/link-editor.js +2 -2
  860. package/src/components/url-popover/link-viewer-url.js +2 -2
  861. package/src/components/url-popover/link-viewer.js +2 -2
  862. package/src/components/use-block-display-information/index.js +9 -3
  863. package/src/components/use-on-block-drop/index.js +3 -1
  864. package/src/components/warning/index.js +2 -2
  865. package/src/components/writing-flow/index.js +2 -2
  866. package/src/components/writing-flow/use-clipboard-handler.js +107 -47
  867. package/src/components/writing-flow/use-drag-selection.js +3 -1
  868. package/src/components/writing-flow/use-input.js +75 -1
  869. package/src/components/writing-flow/use-tab-nav.js +13 -2
  870. package/src/components/writing-mode-control/index.js +17 -33
  871. package/src/content.scss +1 -0
  872. package/src/hooks/align.js +2 -2
  873. package/src/hooks/background.js +1 -1
  874. package/src/hooks/border.js +3 -3
  875. package/src/hooks/color.js +12 -19
  876. package/src/hooks/color.scss +1 -0
  877. package/src/hooks/content-lock-ui.js +16 -33
  878. package/src/hooks/custom-class-name.js +2 -2
  879. package/src/hooks/custom-class-name.native.js +2 -2
  880. package/src/hooks/dimensions.js +2 -2
  881. package/src/hooks/duotone.js +3 -1
  882. package/src/hooks/layout-child.js +34 -20
  883. package/src/hooks/layout.js +2 -2
  884. package/src/hooks/position.js +2 -2
  885. package/src/hooks/text-align.js +3 -3
  886. package/src/hooks/use-bindings-attributes.js +48 -16
  887. package/src/hooks/use-color-props.js +2 -2
  888. package/src/hooks/use-typography-props.js +2 -2
  889. package/src/hooks/utils.js +18 -4
  890. package/src/layouts/grid.js +3 -7
  891. package/src/private-apis.js +8 -2
  892. package/src/store/actions.js +233 -54
  893. package/src/store/private-actions.js +24 -0
  894. package/src/store/private-keys.js +1 -0
  895. package/src/store/private-selectors.js +43 -4
  896. package/src/store/reducer.js +13 -23
  897. package/src/store/selectors.js +24 -9
  898. package/src/style.scss +1 -2
  899. package/src/utils/object.js +16 -0
  900. package/src/utils/order-inserter-block-items.js +6 -2
  901. package/src/utils/pasting.js +6 -2
  902. package/src/utils/selection.js +8 -0
  903. package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
  904. package/src/utils/test/transform-styles.js +14 -0
  905. package/src/utils/transform-styles/index.js +12 -9
  906. package/tsconfig.tsbuildinfo +1 -1
  907. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
  908. package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
  909. package/build/components/rich-text/split-value.js +0 -81
  910. package/build/components/rich-text/split-value.js.map +0 -1
  911. package/build/components/rich-text/use-before-input-rules.js +0 -98
  912. package/build/components/rich-text/use-before-input-rules.js.map +0 -1
  913. package/build/components/rich-text/use-delete.js +0 -64
  914. package/build/components/rich-text/use-delete.js.map +0 -1
  915. package/build/components/rich-text/use-enter.js +0 -109
  916. package/build/components/rich-text/use-enter.js.map +0 -1
  917. package/build/components/rich-text/use-firefox-compat.js +0 -44
  918. package/build/components/rich-text/use-firefox-compat.js.map +0 -1
  919. package/build/components/rich-text/use-input-events.js +0 -25
  920. package/build/components/rich-text/use-input-events.js.map +0 -1
  921. package/build/components/rich-text/use-input-rules.js +0 -139
  922. package/build/components/rich-text/use-input-rules.js.map +0 -1
  923. package/build/components/rich-text/use-insert-replacement-text.js +0 -38
  924. package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
  925. package/build/components/rich-text/use-paste-handler.js +0 -158
  926. package/build/components/rich-text/use-paste-handler.js.map +0 -1
  927. package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
  928. package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
  929. package/build/components/rich-text/use-shortcuts.js +0 -25
  930. package/build/components/rich-text/use-shortcuts.js.map +0 -1
  931. package/build/components/rich-text/use-undo-automatic-change.js +0 -53
  932. package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
  933. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
  934. package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
  935. package/build-module/components/rich-text/split-value.js +0 -75
  936. package/build-module/components/rich-text/split-value.js.map +0 -1
  937. package/build-module/components/rich-text/use-before-input-rules.js +0 -92
  938. package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
  939. package/build-module/components/rich-text/use-delete.js +0 -57
  940. package/build-module/components/rich-text/use-delete.js.map +0 -1
  941. package/build-module/components/rich-text/use-enter.js +0 -102
  942. package/build-module/components/rich-text/use-enter.js.map +0 -1
  943. package/build-module/components/rich-text/use-firefox-compat.js +0 -37
  944. package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
  945. package/build-module/components/rich-text/use-input-events.js +0 -18
  946. package/build-module/components/rich-text/use-input-events.js.map +0 -1
  947. package/build-module/components/rich-text/use-input-rules.js +0 -132
  948. package/build-module/components/rich-text/use-input-rules.js.map +0 -1
  949. package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
  950. package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
  951. package/build-module/components/rich-text/use-paste-handler.js +0 -152
  952. package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
  953. package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
  954. package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
  955. package/build-module/components/rich-text/use-shortcuts.js +0 -18
  956. package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
  957. package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
  958. package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
  959. package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
  960. package/src/components/rich-text/split-value.js +0 -64
  961. package/src/components/rich-text/use-before-input-rules.js +0 -99
  962. package/src/components/rich-text/use-delete.js +0 -59
  963. package/src/components/rich-text/use-enter.js +0 -110
  964. package/src/components/rich-text/use-firefox-compat.js +0 -39
  965. package/src/components/rich-text/use-input-events.js +0 -19
  966. package/src/components/rich-text/use-input-rules.js +0 -150
  967. package/src/components/rich-text/use-insert-replacement-text.js +0 -31
  968. package/src/components/rich-text/use-paste-handler.js +0 -180
  969. package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
  970. package/src/components/rich-text/use-shortcuts.js +0 -19
  971. package/src/components/rich-text/use-undo-automatic-change.js +0 -46
  972. package/src/components/text-decoration-control/style.scss +0 -18
  973. package/src/components/text-transform-control/style.scss +0 -18
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -99,9 +99,27 @@ function BlockPopover({
99
99
  flip: false,
100
100
  shift: shift,
101
101
  ...props,
102
- className: classnames('block-editor-block-popover', props.className),
102
+ className: clsx('block-editor-block-popover', props.className),
103
103
  variant: "unstyled"
104
104
  }, children);
105
105
  }
106
- export default forwardRef(BlockPopover);
106
+ export const PrivateBlockPopover = forwardRef(BlockPopover);
107
+ const PublicBlockPopover = ({
108
+ clientId,
109
+ bottomClientId,
110
+ children,
111
+ ...props
112
+ }, ref) => createElement(PrivateBlockPopover, {
113
+ ...props,
114
+ bottomClientId: bottomClientId,
115
+ clientId: clientId,
116
+ __unstableContentRef: undefined,
117
+ __unstablePopoverSlot: undefined,
118
+ ref: ref
119
+ }, children);
120
+
121
+ /**
122
+ * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-popover/README.md
123
+ */
124
+ export default forwardRef(PublicBlockPopover);
107
125
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useMergeRefs","Popover","forwardRef","useMemo","useReducer","useLayoutEffect","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","lastSelectedElement","mergedRefs","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","s","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","undefined","getBoundingClientRect","_lastSelectedBCR$left","_lastSelectedBCR$top","_lastSelectedBCR$righ","_lastSelectedBCR$bott","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","width","height","DOMRect","contextElement","createElement","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","variant"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\tcontextElement: selectedElement,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-block-popover',\n\t\t\t\tprops.className\n\t\t\t) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ children }\n\t\t</Popover>\n\t);\n}\n\nexport default forwardRef( BlockPopover );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useMergeRefs","Popover","forwardRef","useMemo","useReducer","useLayoutEffect","__unstableUseBlockElement","useBlockElement","usePopoverScroll","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","lastSelectedElement","mergedRefs","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","s","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","undefined","getBoundingClientRect","_lastSelectedBCR$left","_lastSelectedBCR$top","_lastSelectedBCR$righ","_lastSelectedBCR$bott","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","width","height","DOMRect","contextElement","createElement","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","variant","PrivateBlockPopover","PublicBlockPopover"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\tcontextElement: selectedElement,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx( 'block-editor-block-popover', props.className ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ children }\n\t\t</Popover>\n\t);\n}\n\nexport const PrivateBlockPopover = forwardRef( BlockPopover );\n\nconst PublicBlockPopover = (\n\t{ clientId, bottomClientId, children, ...props },\n\tref\n) => (\n\t<PrivateBlockPopover\n\t\t{ ...props }\n\t\tbottomClientId={ bottomClientId }\n\t\tclientId={ clientId }\n\t\t__unstableContentRef={ undefined }\n\t\t__unstablePopoverSlot={ undefined }\n\t\tref={ ref }\n\t>\n\t\t{ children }\n\t</PrivateBlockPopover>\n);\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-popover/README.md\n */\nexport default forwardRef( PublicBlockPopover );\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -124,7 +124,7 @@ export function useBlockPreview({
124
124
  return {
125
125
  ...props,
126
126
  ref,
127
- className: classnames(props.className, 'block-editor-block-preview__live-content', 'components-disabled'),
127
+ className: clsx(props.className, 'block-editor-block-preview__live-content', 'components-disabled'),
128
128
  children: blocks?.length ? children : null
129
129
  };
130
130
  }
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","EMPTY_ADDITIONAL_STYLES","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","focusMode","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nconst EMPTY_ADDITIONAL_STYLES = [];\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = EMPTY_ADDITIONAL_STYLES,\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {Component} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<EditorStyles />\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","EMPTY_ADDITIONAL_STYLES","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","focusMode","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nconst EMPTY_ADDITIONAL_STYLES = [];\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = EMPTY_ADDITIONAL_STYLES,\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {Component} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<EditorStyles />\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import { moreVertical } from '@wordpress/icons';
9
9
  import { Children, cloneElement } from '@wordpress/element';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { displayShortcut } from '@wordpress/keycodes';
12
- import { store as keyboardShortcutsStore, __unstableUseShortcutEventMatch } from '@wordpress/keyboard-shortcuts';
12
+ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
13
13
  import { pipe, useCopyToClipboard } from '@wordpress/compose';
14
14
 
15
15
  /**
@@ -59,7 +59,8 @@ export function BlockSettingsDropdown({
59
59
  parentBlockType,
60
60
  previousBlockClientId,
61
61
  selectedBlockClientIds,
62
- openedBlockSettingsMenu
62
+ openedBlockSettingsMenu,
63
+ isContentOnly
63
64
  } = useSelect(select => {
64
65
  const {
65
66
  getBlockCount,
@@ -68,7 +69,8 @@ export function BlockSettingsDropdown({
68
69
  getPreviousBlockClientId,
69
70
  getSelectedBlockClientIds,
70
71
  getBlockAttributes,
71
- getOpenedBlockSettingsMenu
72
+ getOpenedBlockSettingsMenu,
73
+ getBlockEditingMode
72
74
  } = unlock(select(blockEditorStore));
73
75
  const {
74
76
  getActiveBlockVariation
@@ -81,7 +83,8 @@ export function BlockSettingsDropdown({
81
83
  parentBlockType: _firstParentClientId && (getActiveBlockVariation(parentBlockName, getBlockAttributes(_firstParentClientId)) || getBlockType(parentBlockName)),
82
84
  previousBlockClientId: getPreviousBlockClientId(firstBlockClientId),
83
85
  selectedBlockClientIds: getSelectedBlockClientIds(),
84
- openedBlockSettingsMenu: getOpenedBlockSettingsMenu()
86
+ openedBlockSettingsMenu: getOpenedBlockSettingsMenu(),
87
+ isContentOnly: getBlockEditingMode(firstBlockClientId) === 'contentOnly'
85
88
  };
86
89
  }, [firstBlockClientId]);
87
90
  const {
@@ -102,7 +105,6 @@ export function BlockSettingsDropdown({
102
105
  insertBefore: getShortcutRepresentation('core/block-editor/insert-before')
103
106
  };
104
107
  }, []);
105
- const isMatch = __unstableUseShortcutEventMatch();
106
108
  const hasSelectedBlocks = selectedBlockClientIds.length > 0;
107
109
  async function updateSelectionAfterDuplicate(clientIdsPromise) {
108
110
  if (!__experimentalSelectBlock) {
@@ -172,30 +174,6 @@ export function BlockSettingsDropdown({
172
174
  open: open,
173
175
  onToggle: onToggle,
174
176
  noIcons: true,
175
- menuProps: {
176
- /**
177
- * @param {KeyboardEvent} event
178
- */
179
- onKeyDown(event) {
180
- if (event.defaultPrevented) return;
181
- if (isMatch('core/block-editor/remove', event) && canRemove) {
182
- event.preventDefault();
183
- onRemove();
184
- updateSelectionAfterRemove();
185
- } else if (isMatch('core/block-editor/duplicate', event) && canDuplicate) {
186
- event.preventDefault();
187
- updateSelectionAfterDuplicate(onDuplicate());
188
- } else if (isMatch('core/block-editor/insert-after', event) && canInsertBlock) {
189
- event.preventDefault();
190
- setOpenedBlockSettingsMenu(undefined);
191
- onInsertAfter();
192
- } else if (isMatch('core/block-editor/insert-before', event) && canInsertBlock) {
193
- event.preventDefault();
194
- setOpenedBlockSettingsMenu(undefined);
195
- onInsertBefore();
196
- }
197
- }
198
- },
199
177
  ...props
200
178
  }, ({
201
179
  onClose
@@ -208,7 +186,7 @@ export function BlockSettingsDropdown({
208
186
  parentBlockType: parentBlockType
209
187
  }), count === 1 && createElement(BlockHTMLConvertButton, {
210
188
  clientId: firstBlockClientId
211
- }), createElement(CopyMenuItem, {
189
+ }), !isContentOnly && createElement(CopyMenuItem, {
212
190
  clientIds: clientIds,
213
191
  onCopy: onCopy,
214
192
  shortcut: displayShortcut.primary('c')
@@ -221,7 +199,7 @@ export function BlockSettingsDropdown({
221
199
  }, __('Add before')), createElement(MenuItem, {
222
200
  onClick: pipe(onClose, onInsertAfter),
223
201
  shortcut: shortcuts.insertAfter
224
- }, __('Add after')))), canCopyStyles && createElement(MenuGroup, null, createElement(CopyMenuItem, {
202
+ }, __('Add after')))), canCopyStyles && !isContentOnly && createElement(MenuGroup, null, createElement(CopyMenuItem, {
225
203
  clientIds: clientIds,
226
204
  onCopy: onCopy,
227
205
  label: __('Copy styles')
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","displayShortcut","keyboardShortcutsStore","__unstableUseShortcutEventMatch","pipe","useCopyToClipboard","BlockActions","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","getBlocksByClientId","ref","copyMenuItemLabel","createElement","BlockSettingsDropdown","block","children","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","onlyBlock","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","isMatch","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","icon","popoverProps","noIcons","menuProps","onKeyDown","event","defaultPrevented","preventDefault","onClose","Fragment","Slot","fillProps","parentClientId","primary","onClick","map","child"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport {\n\tstore as keyboardShortcutsStore,\n\t__unstableUseShortcutEventMatch,\n} from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label, shortcut } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isMatch = __unstableUseShortcutEventMatch();\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\tmenuProps={ {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @param {KeyboardEvent} event\n\t\t\t\t\t\t */\n\t\t\t\t\t\tonKeyDown( event ) {\n\t\t\t\t\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tisMatch( 'core/block-editor/remove', event ) &&\n\t\t\t\t\t\t\t\tcanRemove\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\t\t\tupdateSelectionAfterRemove();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/duplicate',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanDuplicate\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate( onDuplicate() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-after',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertAfter();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-before',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertBefore();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\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{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'c' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","displayShortcut","keyboardShortcutsStore","pipe","useCopyToClipboard","BlockActions","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","getBlocksByClientId","ref","copyMenuItemLabel","createElement","BlockSettingsDropdown","block","children","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","onlyBlock","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","icon","popoverProps","noIcons","onClose","Fragment","Slot","fillProps","parentClientId","primary","onClick","map","child"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label, shortcut } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\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{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary(\n\t\t\t\t\t\t\t\t\t\t\t'c'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -25,16 +25,19 @@ const BlockSettingsMenuControlsSlot = ({
25
25
  }) => {
26
26
  const {
27
27
  selectedBlocks,
28
- selectedClientIds
28
+ selectedClientIds,
29
+ isContentOnly
29
30
  } = useSelect(select => {
30
31
  const {
31
32
  getBlockNamesByClientId,
32
- getSelectedBlockClientIds
33
+ getSelectedBlockClientIds,
34
+ getBlockEditingMode
33
35
  } = select(blockEditorStore);
34
36
  const ids = clientIds !== null ? clientIds : getSelectedBlockClientIds();
35
37
  return {
36
38
  selectedBlocks: getBlockNamesByClientId(ids),
37
- selectedClientIds: ids
39
+ selectedClientIds: ids,
40
+ isContentOnly: getBlockEditingMode(ids[0]) === 'contentOnly'
38
41
  };
39
42
  }, [clientIds]);
40
43
  const {
@@ -43,8 +46,8 @@ const BlockSettingsMenuControlsSlot = ({
43
46
  const {
44
47
  canRename
45
48
  } = useBlockRename(selectedBlocks[0]);
46
- const showLockButton = selectedClientIds.length === 1 && canLock;
47
- const showRenameButton = selectedClientIds.length === 1 && canRename;
49
+ const showLockButton = selectedClientIds.length === 1 && canLock && !isContentOnly;
50
+ const showRenameButton = selectedClientIds.length === 1 && canRename && !isContentOnly;
48
51
 
49
52
  // Check if current selection of blocks is Groupable or Ungroupable
50
53
  // and pass this props down to ConvertToGroupButton.
@@ -71,9 +74,9 @@ const BlockSettingsMenuControlsSlot = ({
71
74
  clientId: selectedClientIds[0]
72
75
  }), showRenameButton && createElement(BlockRenameControl, {
73
76
  clientId: selectedClientIds[0]
74
- }), fills, fillProps?.canMove && !fillProps?.onlyBlock && createElement(MenuItem, {
77
+ }), fills, fillProps?.canMove && !fillProps?.onlyBlock && !isContentOnly && createElement(MenuItem, {
75
78
  onClick: pipe(fillProps?.onClose, fillProps?.onMoveTo)
76
- }, __('Move to')), fillProps?.count === 1 && createElement(BlockModeToggle, {
79
+ }, __('Move to')), fillProps?.count === 1 && !isContentOnly && createElement(BlockModeToggle, {
77
80
  clientId: fillProps?.firstBlockClientId,
78
81
  onToggle: fillProps?.onClose
79
82
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["createSlotFill","MenuGroup","MenuItem","__experimentalStyleProvider","StyleProvider","useSelect","pipe","__","useConvertToGroupButtonProps","ConvertToGroupButton","BlockLockMenuItem","useBlockLock","store","blockEditorStore","BlockModeToggle","BlockRenameControl","useBlockRename","Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","select","getBlockNamesByClientId","getSelectedBlockClientIds","ids","canLock","canRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","createElement","fills","onClose","clientId","canMove","onlyBlock","onClick","onMoveTo","count","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","document"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => {\n\tconst { selectedBlocks, selectedClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockNamesByClientId, getSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst { canRename } = useBlockRename( selectedBlocks[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\tconst showRenameButton = selectedClientIds.length === 1 && canRename;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showRenameButton && (\n\t\t\t\t\t\t\t<BlockRenameControl\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove && ! fillProps?.onlyBlock && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {Element} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,cAAc,EACdC,SAAS,EACTC,QAAQ,EACRC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,oBAAoB;AACzC,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SACCC,4BAA4B,EAC5BC,oBAAoB,QACd,6BAA6B;AACpC,SAASC,iBAAiB,EAAEC,YAAY,QAAQ,eAAe;AAC/D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,eAAe,MAAM,0CAA0C;AAEtE,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,iBAAiB;AAEpE,MAAM;EAAEC,IAAI;EAAEC;AAAK,CAAC,GAAGlB,cAAc,CAAE,2BAA4B,CAAC;AAEpE,MAAMmB,6BAA6B,GAAGA,CAAE;EAAEC,SAAS;EAAEC,SAAS,GAAG;AAAK,CAAC,KAAM;EAC5E,MAAM;IAAEC,cAAc;IAAEC;EAAkB,CAAC,GAAGlB,SAAS,CACpDmB,MAAM,IAAM;IACb,MAAM;MAAEC,uBAAuB;MAAEC;IAA0B,CAAC,GAC3DF,MAAM,CAAEX,gBAAiB,CAAC;IAC3B,MAAMc,GAAG,GACRN,SAAS,KAAK,IAAI,GAAGA,SAAS,GAAGK,yBAAyB,CAAC,CAAC;IAC7D,OAAO;MACNJ,cAAc,EAAEG,uBAAuB,CAAEE,GAAI,CAAC;MAC9CJ,iBAAiB,EAAEI;IACpB,CAAC;EACF,CAAC,EACD,CAAEN,SAAS,CACZ,CAAC;EAED,MAAM;IAAEO;EAAQ,CAAC,GAAGjB,YAAY,CAAEY,iBAAiB,CAAE,CAAC,CAAG,CAAC;EAC1D,MAAM;IAAEM;EAAU,CAAC,GAAGb,cAAc,CAAEM,cAAc,CAAE,CAAC,CAAG,CAAC;EAC3D,MAAMQ,cAAc,GAAGP,iBAAiB,CAACQ,MAAM,KAAK,CAAC,IAAIH,OAAO;EAChE,MAAMI,gBAAgB,GAAGT,iBAAiB,CAACQ,MAAM,KAAK,CAAC,IAAIF,SAAS;;EAEpE;EACA;EACA,MAAMI,yBAAyB,GAC9BzB,4BAA4B,CAAEe,iBAAkB,CAAC;EAClD,MAAM;IAAEW,WAAW;IAAEC;EAAc,CAAC,GAAGF,yBAAyB;EAChE,MAAMG,wBAAwB,GAAGF,WAAW,IAAIC,aAAa;EAE7D,OACCE,aAAA,CAACnB,IAAI;IACJE,SAAS,EAAG;MACX,GAAGA,SAAS;MACZE,cAAc;MACdC;IACD;EAAG,GAECe,KAAK,IAAM;IACd,IACC,CAAEA,KAAK,EAAEP,MAAM,GAAG,CAAC,IACnB,CAAEK,wBAAwB,IAC1B,CAAEN,cAAc,EACf;MACD,OAAO,IAAI;IACZ;IAEA,OACCO,aAAA,CAACpC,SAAS,QACPmC,wBAAwB,IACzBC,aAAA,CAAC5B,oBAAoB;MAAA,GACfwB,yBAAyB;MAC9BM,OAAO,EAAGnB,SAAS,EAAEmB;IAAS,CAC9B,CACD,EACCT,cAAc,IACfO,aAAA,CAAC3B,iBAAiB;MACjB8B,QAAQ,EAAGjB,iBAAiB,CAAE,CAAC;IAAI,CACnC,CACD,EACCS,gBAAgB,IACjBK,aAAA,CAACtB,kBAAkB;MAClByB,QAAQ,EAAGjB,iBAAiB,CAAE,CAAC;IAAI,CACnC,CACD,EACCe,KAAK,EACLlB,SAAS,EAAEqB,OAAO,IAAI,CAAErB,SAAS,EAAEsB,SAAS,IAC7CL,aAAA,CAACnC,QAAQ;MACRyC,OAAO,EAAGrC,IAAI,CACbc,SAAS,EAAEmB,OAAO,EAClBnB,SAAS,EAAEwB,QACZ;IAAG,GAEDrC,EAAE,CAAE,SAAU,CACP,CACV,EACCa,SAAS,EAAEyB,KAAK,KAAK,CAAC,IACvBR,aAAA,CAACvB,eAAe;MACf0B,QAAQ,EAAGpB,SAAS,EAAE0B,kBAAoB;MAC1CC,QAAQ,EAAG3B,SAAS,EAAEmB;IAAS,CAC/B,CAEQ,CAAC;EAEd,CACK,CAAC;AAET,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,yBAAyBA,CAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EAClD,OACCZ,aAAA,CAACjC,aAAa;IAAC8C,QAAQ,EAAGA;EAAU,GACnCb,aAAA,CAACpB,IAAI;IAAA,GAAMgC;EAAK,CAAI,CACN,CAAC;AAElB;AAEAD,yBAAyB,CAAC9B,IAAI,GAAGC,6BAA6B;AAE9D,eAAe6B,yBAAyB","ignoreList":[]}
1
+ {"version":3,"names":["createSlotFill","MenuGroup","MenuItem","__experimentalStyleProvider","StyleProvider","useSelect","pipe","__","useConvertToGroupButtonProps","ConvertToGroupButton","BlockLockMenuItem","useBlockLock","store","blockEditorStore","BlockModeToggle","BlockRenameControl","useBlockRename","Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","select","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","ids","canLock","canRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","createElement","fills","onClose","clientId","canMove","onlyBlock","onClick","onMoveTo","count","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","document"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => {\n\tconst { selectedBlocks, selectedClientIds, isContentOnly } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockNamesByClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( ids[ 0 ] ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst { canRename } = useBlockRename( selectedBlocks[ 0 ] );\n\tconst showLockButton =\n\t\tselectedClientIds.length === 1 && canLock && ! isContentOnly;\n\tconst showRenameButton =\n\t\tselectedClientIds.length === 1 && canRename && ! isContentOnly;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showRenameButton && (\n\t\t\t\t\t\t\t<BlockRenameControl\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove &&\n\t\t\t\t\t\t\t! fillProps?.onlyBlock &&\n\t\t\t\t\t\t\t! isContentOnly && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && ! isContentOnly && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {Element} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -63,7 +63,7 @@ function BlockStyles({
63
63
  const buttonText = style.label || style.name;
64
64
  return createElement(Button, {
65
65
  __next40pxDefaultSize: true,
66
- className: classnames('block-editor-block-styles__item', {
66
+ className: clsx('block-editor-block-styles__item', {
67
67
  'is-active': activeStyle.name === style.name
68
68
  }),
69
69
  key: style.name,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useState","debounce","useViewportMatch","Button","__experimentalTruncate","Truncate","Popover","BlockStylesPreviewPanel","useStylesForBlocks","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","hoveredStyle","setHoveredStyle","isMobileViewport","length","debouncedSetHoveredStyle","onSelectStylePreview","style","cancel","styleItemHandler","item","_item$name","name","createElement","map","buttonText","label","__next40pxDefaultSize","key","variant","onMouseEnter","onFocus","onMouseLeave","onBlur","onClick","numberOfLines","placement","offset","focusOnMount"],"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 34 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","debounce","useViewportMatch","Button","__experimentalTruncate","Truncate","Popover","BlockStylesPreviewPanel","useStylesForBlocks","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","hoveredStyle","setHoveredStyle","isMobileViewport","length","debouncedSetHoveredStyle","onSelectStylePreview","style","cancel","styleItemHandler","item","_item$name","name","createElement","map","buttonText","label","__next40pxDefaultSize","key","variant","onMouseEnter","onFocus","onMouseLeave","onBlur","onClick","numberOfLines","placement","offset","focusOnMount"],"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 34 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,QAAQ,EAAEC,gBAAgB,QAAQ,oBAAoB;AAC/D,SACCC,MAAM,EACNC,sBAAsB,IAAIC,QAAQ,EAClCC,OAAO,QACD,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,iBAAiB;AACrD,OAAOC,kBAAkB,MAAM,wBAAwB;AAEvD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA,SAASC,WAAWA,CAAE;EAAEC,QAAQ;EAAEC,QAAQ,GAAGH,IAAI;EAAEI,gBAAgB,GAAGJ;AAAK,CAAC,EAAG;EAC9E,MAAM;IACLK,QAAQ;IACRC,cAAc;IACdC,WAAW;IACXC,mBAAmB;IACnBC,SAAS,EAAEC;EACZ,CAAC,GAAGX,kBAAkB,CAAE;IACvBG,QAAQ;IACRC;EACD,CAAE,CAAC;EACH,MAAM,CAAEQ,YAAY,EAAEC,eAAe,CAAE,GAAGrB,QAAQ,CAAE,IAAK,CAAC;EAC1D,MAAMsB,gBAAgB,GAAGpB,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAE1D,IAAK,CAAEa,cAAc,IAAIA,cAAc,CAACQ,MAAM,KAAK,CAAC,EAAG;IACtD,OAAO,IAAI;EACZ;EAEA,MAAMC,wBAAwB,GAAGvB,QAAQ,CAAEoB,eAAe,EAAE,GAAI,CAAC;EAEjE,MAAMI,oBAAoB,GAAKC,KAAK,IAAM;IACzCZ,QAAQ,CAAEY,KAAM,CAAC;IACjBb,gBAAgB,CAAE,IAAK,CAAC;IACxBQ,eAAe,CAAE,IAAK,CAAC;IACvBG,wBAAwB,CAACG,MAAM,CAAC,CAAC;EAClC,CAAC;EAED,MAAMC,gBAAgB,GAAKC,IAAI,IAAM;IAAA,IAAAC,UAAA;IACpC,IAAKV,YAAY,KAAKS,IAAI,EAAG;MAC5BL,wBAAwB,CAACG,MAAM,CAAC,CAAC;MACjC;IACD;IACAH,wBAAwB,CAAEK,IAAK,CAAC;IAChChB,gBAAgB,EAAAiB,UAAA,GAAED,IAAI,EAAEE,IAAI,cAAAD,UAAA,cAAAA,UAAA,GAAI,IAAK,CAAC;EACvC,CAAC;EAED,OACCE,aAAA;IAAKd,SAAS,EAAC;EAA2B,GACzCc,aAAA;IAAKd,SAAS,EAAC;EAAqC,GACjDH,cAAc,CAACkB,GAAG,CAAIP,KAAK,IAAM;IAClC,MAAMQ,UAAU,GAAGR,KAAK,CAACS,KAAK,IAAIT,KAAK,CAACK,IAAI;IAE5C,OACCC,aAAA,CAAC7B,MAAM;MACNiC,qBAAqB;MACrBlB,SAAS,EAAGnB,IAAI,CACf,iCAAiC,EACjC;QACC,WAAW,EACViB,WAAW,CAACe,IAAI,KAAKL,KAAK,CAACK;MAC7B,CACD,CAAG;MACHM,GAAG,EAAGX,KAAK,CAACK,IAAM;MAClBO,OAAO,EAAC,WAAW;MACnBH,KAAK,EAAGD,UAAY;MACpBK,YAAY,EAAGA,CAAA,KAAMX,gBAAgB,CAAEF,KAAM,CAAG;MAChDc,OAAO,EAAGA,CAAA,KAAMZ,gBAAgB,CAAEF,KAAM,CAAG;MAC3Ce,YAAY,EAAGA,CAAA,KAAMb,gBAAgB,CAAE,IAAK,CAAG;MAC/Cc,MAAM,EAAGA,CAAA,KAAMd,gBAAgB,CAAE,IAAK,CAAG;MACzCe,OAAO,EAAGA,CAAA,KAAMlB,oBAAoB,CAAEC,KAAM,CAAG;MAC/C,gBAAeV,WAAW,CAACe,IAAI,KAAKL,KAAK,CAACK;IAAM,GAEhDC,aAAA,CAAC3B,QAAQ;MACRuC,aAAa,EAAG,CAAG;MACnB1B,SAAS,EAAC;IAAsC,GAE9CgB,UACO,CACH,CAAC;EAEX,CAAE,CACE,CAAC,EACJd,YAAY,IAAI,CAAEE,gBAAgB,IACnCU,aAAA,CAAC1B,OAAO;IACPuC,SAAS,EAAC,YAAY;IACtBC,MAAM,EAAG,EAAI;IACbC,YAAY,EAAG;EAAO,GAEtBf,aAAA;IACCd,SAAS,EAAC,0CAA0C;IACpDuB,YAAY,EAAGA,CAAA,KAAMb,gBAAgB,CAAE,IAAK;EAAG,GAE/CI,aAAA,CAACzB,uBAAuB;IACvBS,WAAW,EAAGA,WAAa;IAC3BE,SAAS,EAAGC,gBAAkB;IAC9BF,mBAAmB,EAAGA,mBAAqB;IAC3CS,KAAK,EAAGN;EAAc,CACtB,CACG,CACG,CAEN,CAAC;AAER;AAEA,eAAeV,WAAW","ignoreList":[]}
@@ -26,7 +26,9 @@ function PatternTransformationsMenu({
26
26
  }) {
27
27
  const [showTransforms, setShowTransforms] = useState(false);
28
28
  const patterns = useTransformedPatterns(statePatterns, blocks);
29
- if (!patterns.length) return null;
29
+ if (!patterns.length) {
30
+ return null;
31
+ }
30
32
  return createElement(MenuGroup, {
31
33
  className: "block-editor-block-switcher__pattern__transforms__menugroup"
32
34
  }, showTransforms && createElement(PreviewPatternsPopover, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","useState","useInstanceId","chevronRight","MenuGroup","MenuItem","Popover","VisuallyHidden","privateApis","componentsPrivateApis","BlockPreview","useTransformedPatterns","unlock","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","createElement","className","PreviewPatternsPopover","onClick","event","preventDefault","icon","position","BlockPatternsList","composite","store","role","map","pattern","BlockPattern","key","name","baseClassName","descriptionId","render","title","description","undefined","transformedBlocks","viewportWidth","id"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\tif ( ! patterns.length ) return null;\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","useState","useInstanceId","chevronRight","MenuGroup","MenuItem","Popover","VisuallyHidden","privateApis","componentsPrivateApis","BlockPreview","useTransformedPatterns","unlock","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","createElement","className","PreviewPatternsPopover","onClick","event","preventDefault","icon","position","BlockPatternsList","composite","store","role","map","pattern","BlockPattern","key","name","baseClassName","descriptionId","render","title","description","undefined","transformedBlocks","viewportWidth","id"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,9 @@ export const getPatternTransformedBlocks = (selectedBlocks, patternBlocks) => {
50
50
  let isMatch = false;
51
51
  for (const patternBlock of _patternBlocks) {
52
52
  const match = getMatchingBlockByName(patternBlock, selectedBlock.name, consumedBlocks);
53
- if (!match) continue;
53
+ if (!match) {
54
+ continue;
55
+ }
54
56
  isMatch = true;
55
57
  consumedBlocks.add(match.clientId);
56
58
  // We update (mutate) the matching pattern block.
@@ -59,7 +61,9 @@ export const getPatternTransformedBlocks = (selectedBlocks, patternBlocks) => {
59
61
  break;
60
62
  }
61
63
  // Bail eary if a selected block has not been matched.
62
- if (!isMatch) return;
64
+ if (!isMatch) {
65
+ return;
66
+ }
63
67
  }
64
68
  return _patternBlocks;
65
69
  };