@wordpress/block-editor 14.1.0 → 14.2.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 (630) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -10
  3. package/build/components/block-alignment-matrix-control/index.js +2 -2
  4. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  5. package/build/components/block-breadcrumb/index.js +8 -2
  6. package/build/components/block-breadcrumb/index.js.map +1 -1
  7. package/build/components/block-canvas/index.js +8 -1
  8. package/build/components/block-canvas/index.js.map +1 -1
  9. package/build/components/block-compare/block-view.js +4 -1
  10. package/build/components/block-compare/block-view.js.map +1 -1
  11. package/build/components/block-draggable/index.js +4 -4
  12. package/build/components/block-draggable/index.js.map +1 -1
  13. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  14. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  15. package/build/components/block-edit/multiple-usage-warning.js +8 -2
  16. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  17. package/build/components/block-inspector/index.js +27 -9
  18. package/build/components/block-inspector/index.js.map +1 -1
  19. package/build/components/block-list/block-invalid-warning.js +6 -3
  20. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  21. package/build/components/block-list/block.js +5 -1
  22. package/build/components/block-list/block.js.map +1 -1
  23. package/build/components/block-list/use-block-props/index.js +5 -1
  24. package/build/components/block-list/use-block-props/index.js.map +1 -1
  25. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  26. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +46 -0
  28. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  29. package/build/components/block-lock/toolbar.js +3 -3
  30. package/build/components/block-lock/toolbar.js.map +1 -1
  31. package/build/components/block-mover/button.js +4 -1
  32. package/build/components/block-mover/button.js.map +1 -1
  33. package/build/components/block-mover/index.js +4 -1
  34. package/build/components/block-mover/index.js.map +1 -1
  35. package/build/components/block-navigation/dropdown.js +4 -1
  36. package/build/components/block-navigation/dropdown.js.map +1 -1
  37. package/build/components/block-pattern-setup/index.js +1 -4
  38. package/build/components/block-pattern-setup/index.js.map +1 -1
  39. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  40. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  41. package/build/components/block-patterns-list/index.js +11 -14
  42. package/build/components/block-patterns-list/index.js.map +1 -1
  43. package/build/components/block-patterns-paging/index.js +12 -3
  44. package/build/components/block-patterns-paging/index.js.map +1 -1
  45. package/build/components/block-popover/index.js +2 -15
  46. package/build/components/block-popover/index.js.map +1 -1
  47. package/build/components/block-quick-navigation/index.js +4 -1
  48. package/build/components/block-quick-navigation/index.js.map +1 -1
  49. package/build/components/block-settings-menu-controls/index.js +4 -0
  50. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  51. package/build/components/block-switcher/index.js +22 -17
  52. package/build/components/block-switcher/index.js.map +1 -1
  53. package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
  54. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  55. package/build/components/block-toolbar/index.js +12 -11
  56. package/build/components/block-toolbar/index.js.map +1 -1
  57. package/build/components/block-toolbar/shuffle.js +6 -2
  58. package/build/components/block-toolbar/shuffle.js.map +1 -1
  59. package/build/components/block-tools/block-selection-button.js +8 -2
  60. package/build/components/block-tools/block-selection-button.js.map +1 -1
  61. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  62. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  63. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  64. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  65. package/build/components/block-tools/zoom-out-mode-inserters.js +4 -9
  66. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  67. package/build/components/block-tools/zoom-out-popover.js +3 -4
  68. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  69. package/build/components/block-tools/zoom-out-toolbar.js +14 -5
  70. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  71. package/build/components/block-variation-picker/index.js +4 -1
  72. package/build/components/block-variation-picker/index.js.map +1 -1
  73. package/build/components/block-variation-transforms/index.js +4 -1
  74. package/build/components/block-variation-transforms/index.js.map +1 -1
  75. package/build/components/button-block-appender/index.js +14 -3
  76. package/build/components/button-block-appender/index.js.map +1 -1
  77. package/build/components/colors-gradients/dropdown.js +4 -1
  78. package/build/components/colors-gradients/dropdown.js.map +1 -1
  79. package/build/components/content-lock/index.js +13 -0
  80. package/build/components/content-lock/index.js.map +1 -0
  81. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  82. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  83. package/build/components/editor-styles/index.js +4 -3
  84. package/build/components/editor-styles/index.js.map +1 -1
  85. package/build/components/global-styles/background-panel.js +8 -12
  86. package/build/components/global-styles/background-panel.js.map +1 -1
  87. package/build/components/global-styles/color-panel.js +8 -5
  88. package/build/components/global-styles/color-panel.js.map +1 -1
  89. package/build/components/global-styles/color-panel.native.js +1 -1
  90. package/build/components/global-styles/color-panel.native.js.map +1 -1
  91. package/build/components/global-styles/dimensions-panel.js +34 -37
  92. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  93. package/build/components/global-styles/filters-panel.js +4 -1
  94. package/build/components/global-styles/filters-panel.js.map +1 -1
  95. package/build/components/global-styles/shadow-panel-components.js +13 -7
  96. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  97. package/build/components/global-styles/typography-utils.js +17 -6
  98. package/build/components/global-styles/typography-utils.js.map +1 -1
  99. package/build/components/global-styles/utils.js +4 -6
  100. package/build/components/global-styles/utils.js.map +1 -1
  101. package/build/components/grid/grid-item-movers.js +2 -2
  102. package/build/components/grid/grid-item-movers.js.map +1 -1
  103. package/build/components/iframe/index.js +5 -5
  104. package/build/components/iframe/index.js.map +1 -1
  105. package/build/components/inner-blocks/index.js +2 -4
  106. package/build/components/inner-blocks/index.js.map +1 -1
  107. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  108. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  109. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  110. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  111. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  112. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  113. package/build/components/inserter/library.js +2 -4
  114. package/build/components/inserter/library.js.map +1 -1
  115. package/build/components/inserter/media-tab/hooks.js +3 -3
  116. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  117. package/build/components/inserter/media-tab/media-list.js +1 -4
  118. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  119. package/build/components/inserter/media-tab/media-preview.js +8 -2
  120. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  121. package/build/components/inserter/media-tab/media-tab.js +4 -1
  122. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  123. package/build/components/inserter/menu.js +7 -24
  124. package/build/components/inserter/menu.js.map +1 -1
  125. package/build/components/inserter/quick-inserter.js +4 -1
  126. package/build/components/inserter/quick-inserter.js.map +1 -1
  127. package/build/components/inserter-list-item/index.js +4 -4
  128. package/build/components/inserter-list-item/index.js.map +1 -1
  129. package/build/components/inserter-listbox/index.js +3 -7
  130. package/build/components/inserter-listbox/index.js.map +1 -1
  131. package/build/components/inserter-listbox/item.js +4 -1
  132. package/build/components/inserter-listbox/item.js.map +1 -1
  133. package/build/components/inspector-controls/groups.js +2 -0
  134. package/build/components/inspector-controls/groups.js.map +1 -1
  135. package/build/components/inspector-controls-tabs/index.js +4 -1
  136. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  137. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  138. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  139. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  140. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  141. package/build/components/inspector-popover-header/index.js +8 -2
  142. package/build/components/inspector-popover-header/index.js.map +1 -1
  143. package/build/components/letter-spacing-control/index.js +7 -4
  144. package/build/components/letter-spacing-control/index.js.map +1 -1
  145. package/build/components/link-control/index.js +19 -10
  146. package/build/components/link-control/index.js.map +1 -1
  147. package/build/components/link-control/settings-drawer.js +4 -1
  148. package/build/components/link-control/settings-drawer.js.map +1 -1
  149. package/build/components/list-view/block-select-button.js +4 -1
  150. package/build/components/list-view/block-select-button.js.map +1 -1
  151. package/build/components/media-placeholder/index.js +28 -7
  152. package/build/components/media-placeholder/index.js.map +1 -1
  153. package/build/components/media-replace-flow/index.js +8 -1
  154. package/build/components/media-replace-flow/index.js.map +1 -1
  155. package/build/components/provider/use-block-sync.js +19 -19
  156. package/build/components/provider/use-block-sync.js.map +1 -1
  157. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  158. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  159. package/build/components/rich-text/index.js +38 -30
  160. package/build/components/rich-text/index.js.map +1 -1
  161. package/build/components/rich-text/use-mark-persistent.js +5 -5
  162. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  163. package/build/components/skip-to-selected-block/index.js +4 -1
  164. package/build/components/skip-to-selected-block/index.js.map +1 -1
  165. package/build/components/tool-selector/index.js +4 -1
  166. package/build/components/tool-selector/index.js.map +1 -1
  167. package/build/components/url-input/button.js +12 -3
  168. package/build/components/url-input/button.js.map +1 -1
  169. package/build/components/url-input/index.js +4 -1
  170. package/build/components/url-input/index.js.map +1 -1
  171. package/build/components/use-block-drop-zone/index.js +4 -6
  172. package/build/components/use-block-drop-zone/index.js.map +1 -1
  173. package/build/components/writing-flow/index.js +2 -1
  174. package/build/components/writing-flow/index.js.map +1 -1
  175. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  176. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  177. package/build/components/writing-flow/use-event-redirect.js +66 -0
  178. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  179. package/build/components/writing-flow/use-input.js +31 -1
  180. package/build/components/writing-flow/use-input.js.map +1 -1
  181. package/build/components/writing-flow/use-select-all.js +14 -1
  182. package/build/components/writing-flow/use-select-all.js.map +1 -1
  183. package/build/components/writing-flow/use-selection-observer.js +20 -6
  184. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  185. package/build/components/writing-flow/use-tab-nav.js +4 -4
  186. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  187. package/build/components/writing-flow/utils.js +27 -0
  188. package/build/components/writing-flow/utils.js.map +1 -1
  189. package/build/hooks/block-bindings.js +32 -29
  190. package/build/hooks/block-bindings.js.map +1 -1
  191. package/build/hooks/content-lock-ui.js +8 -26
  192. package/build/hooks/content-lock-ui.js.map +1 -1
  193. package/build/hooks/duotone.js +0 -4
  194. package/build/hooks/duotone.js.map +1 -1
  195. package/build/hooks/layout.js +4 -1
  196. package/build/hooks/layout.js.map +1 -1
  197. package/build/hooks/spacing-visualizer.js +3 -3
  198. package/build/hooks/spacing-visualizer.js.map +1 -1
  199. package/build/hooks/style.js +1 -5
  200. package/build/hooks/style.js.map +1 -1
  201. package/build/hooks/use-bindings-attributes.js +19 -20
  202. package/build/hooks/use-bindings-attributes.js.map +1 -1
  203. package/build/hooks/use-zoom-out.js +7 -7
  204. package/build/hooks/use-zoom-out.js.map +1 -1
  205. package/build/layouts/constrained.js +41 -41
  206. package/build/layouts/constrained.js.map +1 -1
  207. package/build/layouts/flex.js +4 -1
  208. package/build/layouts/flex.js.map +1 -1
  209. package/build/layouts/utils.js +1 -7
  210. package/build/layouts/utils.js.map +1 -1
  211. package/build/private-apis.js +2 -1
  212. package/build/private-apis.js.map +1 -1
  213. package/build/store/actions.js +2 -7
  214. package/build/store/actions.js.map +1 -1
  215. package/build/store/private-actions.js +1 -0
  216. package/build/store/private-actions.js.map +1 -1
  217. package/build/store/private-keys.js +2 -1
  218. package/build/store/private-keys.js.map +1 -1
  219. package/build/store/private-selectors.js +13 -15
  220. package/build/store/private-selectors.js.map +1 -1
  221. package/build/store/reducer.js +1 -8
  222. package/build/store/reducer.js.map +1 -1
  223. package/build/store/selectors.js +19 -43
  224. package/build/store/selectors.js.map +1 -1
  225. package/build/store/utils.js +48 -0
  226. package/build/store/utils.js.map +1 -1
  227. package/build/utils/block-bindings.js +16 -11
  228. package/build/utils/block-bindings.js.map +1 -1
  229. package/build/utils/dom.js +101 -0
  230. package/build/utils/dom.js.map +1 -1
  231. package/build/utils/get-font-styles-and-weights.js +4 -4
  232. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  233. package/build/utils/transform-styles/index.js +120 -16
  234. package/build/utils/transform-styles/index.js.map +1 -1
  235. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  236. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  237. package/build-module/components/block-breadcrumb/index.js +8 -2
  238. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  239. package/build-module/components/block-canvas/index.js +9 -1
  240. package/build-module/components/block-canvas/index.js.map +1 -1
  241. package/build-module/components/block-compare/block-view.js +4 -1
  242. package/build-module/components/block-compare/block-view.js.map +1 -1
  243. package/build-module/components/block-draggable/index.js +4 -4
  244. package/build-module/components/block-draggable/index.js.map +1 -1
  245. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  246. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  247. package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
  248. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  249. package/build-module/components/block-inspector/index.js +27 -9
  250. package/build-module/components/block-inspector/index.js.map +1 -1
  251. package/build-module/components/block-list/block-invalid-warning.js +6 -3
  252. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  253. package/build-module/components/block-list/block.js +5 -1
  254. package/build-module/components/block-list/block.js.map +1 -1
  255. package/build-module/components/block-list/use-block-props/index.js +5 -1
  256. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  257. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  258. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  259. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
  260. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  261. package/build-module/components/block-lock/toolbar.js +3 -3
  262. package/build-module/components/block-lock/toolbar.js.map +1 -1
  263. package/build-module/components/block-mover/button.js +4 -1
  264. package/build-module/components/block-mover/button.js.map +1 -1
  265. package/build-module/components/block-mover/index.js +4 -1
  266. package/build-module/components/block-mover/index.js.map +1 -1
  267. package/build-module/components/block-navigation/dropdown.js +4 -1
  268. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  269. package/build-module/components/block-pattern-setup/index.js +1 -4
  270. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  271. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  272. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  273. package/build-module/components/block-patterns-list/index.js +11 -14
  274. package/build-module/components/block-patterns-list/index.js.map +1 -1
  275. package/build-module/components/block-patterns-paging/index.js +12 -3
  276. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  277. package/build-module/components/block-popover/index.js +2 -15
  278. package/build-module/components/block-popover/index.js.map +1 -1
  279. package/build-module/components/block-quick-navigation/index.js +4 -1
  280. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  281. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  282. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  283. package/build-module/components/block-switcher/index.js +22 -17
  284. package/build-module/components/block-switcher/index.js.map +1 -1
  285. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
  286. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  287. package/build-module/components/block-toolbar/index.js +12 -11
  288. package/build-module/components/block-toolbar/index.js.map +1 -1
  289. package/build-module/components/block-toolbar/shuffle.js +6 -2
  290. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  291. package/build-module/components/block-tools/block-selection-button.js +8 -2
  292. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  293. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  294. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  295. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  296. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  297. package/build-module/components/block-tools/zoom-out-mode-inserters.js +4 -9
  298. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  299. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  300. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  301. package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
  302. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  303. package/build-module/components/block-variation-picker/index.js +4 -1
  304. package/build-module/components/block-variation-picker/index.js.map +1 -1
  305. package/build-module/components/block-variation-transforms/index.js +4 -1
  306. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  307. package/build-module/components/button-block-appender/index.js +15 -4
  308. package/build-module/components/button-block-appender/index.js.map +1 -1
  309. package/build-module/components/colors-gradients/dropdown.js +4 -1
  310. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  311. package/build-module/components/content-lock/index.js +2 -0
  312. package/build-module/components/content-lock/index.js.map +1 -0
  313. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  314. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  315. package/build-module/components/editor-styles/index.js +4 -3
  316. package/build-module/components/editor-styles/index.js.map +1 -1
  317. package/build-module/components/global-styles/background-panel.js +8 -12
  318. package/build-module/components/global-styles/background-panel.js.map +1 -1
  319. package/build-module/components/global-styles/color-panel.js +7 -4
  320. package/build-module/components/global-styles/color-panel.js.map +1 -1
  321. package/build-module/components/global-styles/color-panel.native.js +2 -2
  322. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  323. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  324. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  325. package/build-module/components/global-styles/filters-panel.js +4 -1
  326. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  327. package/build-module/components/global-styles/shadow-panel-components.js +13 -7
  328. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  329. package/build-module/components/global-styles/typography-utils.js +17 -6
  330. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  331. package/build-module/components/global-styles/utils.js +4 -6
  332. package/build-module/components/global-styles/utils.js.map +1 -1
  333. package/build-module/components/grid/grid-item-movers.js +3 -3
  334. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  335. package/build-module/components/iframe/index.js +5 -5
  336. package/build-module/components/iframe/index.js.map +1 -1
  337. package/build-module/components/inner-blocks/index.js +2 -4
  338. package/build-module/components/inner-blocks/index.js.map +1 -1
  339. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  340. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  341. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  342. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  343. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  344. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  345. package/build-module/components/inserter/library.js +2 -4
  346. package/build-module/components/inserter/library.js.map +1 -1
  347. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  348. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  349. package/build-module/components/inserter/media-tab/media-list.js +1 -4
  350. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  351. package/build-module/components/inserter/media-tab/media-preview.js +8 -2
  352. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  353. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  354. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  355. package/build-module/components/inserter/menu.js +7 -24
  356. package/build-module/components/inserter/menu.js.map +1 -1
  357. package/build-module/components/inserter/quick-inserter.js +4 -1
  358. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  359. package/build-module/components/inserter-list-item/index.js +4 -4
  360. package/build-module/components/inserter-list-item/index.js.map +1 -1
  361. package/build-module/components/inserter-listbox/index.js +3 -7
  362. package/build-module/components/inserter-listbox/index.js.map +1 -1
  363. package/build-module/components/inserter-listbox/item.js +4 -1
  364. package/build-module/components/inserter-listbox/item.js.map +1 -1
  365. package/build-module/components/inspector-controls/groups.js +2 -0
  366. package/build-module/components/inspector-controls/groups.js.map +1 -1
  367. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  368. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  369. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  370. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  371. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  372. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  373. package/build-module/components/inspector-popover-header/index.js +8 -2
  374. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  375. package/build-module/components/letter-spacing-control/index.js +7 -4
  376. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  377. package/build-module/components/link-control/index.js +19 -10
  378. package/build-module/components/link-control/index.js.map +1 -1
  379. package/build-module/components/link-control/settings-drawer.js +4 -1
  380. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  381. package/build-module/components/list-view/block-select-button.js +4 -1
  382. package/build-module/components/list-view/block-select-button.js.map +1 -1
  383. package/build-module/components/media-placeholder/index.js +28 -7
  384. package/build-module/components/media-placeholder/index.js.map +1 -1
  385. package/build-module/components/media-replace-flow/index.js +8 -1
  386. package/build-module/components/media-replace-flow/index.js.map +1 -1
  387. package/build-module/components/provider/use-block-sync.js +19 -19
  388. package/build-module/components/provider/use-block-sync.js.map +1 -1
  389. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  390. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  391. package/build-module/components/rich-text/index.js +39 -31
  392. package/build-module/components/rich-text/index.js.map +1 -1
  393. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  394. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  395. package/build-module/components/skip-to-selected-block/index.js +4 -1
  396. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  397. package/build-module/components/tool-selector/index.js +4 -1
  398. package/build-module/components/tool-selector/index.js.map +1 -1
  399. package/build-module/components/url-input/button.js +12 -3
  400. package/build-module/components/url-input/button.js.map +1 -1
  401. package/build-module/components/url-input/index.js +4 -1
  402. package/build-module/components/url-input/index.js.map +1 -1
  403. package/build-module/components/use-block-drop-zone/index.js +4 -6
  404. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  405. package/build-module/components/writing-flow/index.js +2 -1
  406. package/build-module/components/writing-flow/index.js.map +1 -1
  407. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  408. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  409. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  410. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  411. package/build-module/components/writing-flow/use-input.js +31 -1
  412. package/build-module/components/writing-flow/use-input.js.map +1 -1
  413. package/build-module/components/writing-flow/use-select-all.js +14 -1
  414. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  415. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  416. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  417. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  418. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  419. package/build-module/components/writing-flow/utils.js +26 -0
  420. package/build-module/components/writing-flow/utils.js.map +1 -1
  421. package/build-module/hooks/block-bindings.js +34 -31
  422. package/build-module/hooks/block-bindings.js.map +1 -1
  423. package/build-module/hooks/content-lock-ui.js +10 -30
  424. package/build-module/hooks/content-lock-ui.js.map +1 -1
  425. package/build-module/hooks/duotone.js +0 -4
  426. package/build-module/hooks/duotone.js.map +1 -1
  427. package/build-module/hooks/layout.js +4 -1
  428. package/build-module/hooks/layout.js.map +1 -1
  429. package/build-module/hooks/spacing-visualizer.js +3 -3
  430. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  431. package/build-module/hooks/style.js +1 -5
  432. package/build-module/hooks/style.js.map +1 -1
  433. package/build-module/hooks/use-bindings-attributes.js +19 -20
  434. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  435. package/build-module/hooks/use-zoom-out.js +7 -7
  436. package/build-module/hooks/use-zoom-out.js.map +1 -1
  437. package/build-module/layouts/constrained.js +43 -43
  438. package/build-module/layouts/constrained.js.map +1 -1
  439. package/build-module/layouts/flex.js +4 -1
  440. package/build-module/layouts/flex.js.map +1 -1
  441. package/build-module/layouts/utils.js +1 -7
  442. package/build-module/layouts/utils.js.map +1 -1
  443. package/build-module/private-apis.js +3 -2
  444. package/build-module/private-apis.js.map +1 -1
  445. package/build-module/store/actions.js +2 -7
  446. package/build-module/store/actions.js.map +1 -1
  447. package/build-module/store/private-actions.js +1 -0
  448. package/build-module/store/private-actions.js.map +1 -1
  449. package/build-module/store/private-keys.js +1 -0
  450. package/build-module/store/private-keys.js.map +1 -1
  451. package/build-module/store/private-selectors.js +12 -15
  452. package/build-module/store/private-selectors.js.map +1 -1
  453. package/build-module/store/reducer.js +1 -7
  454. package/build-module/store/reducer.js.map +1 -1
  455. package/build-module/store/selectors.js +22 -46
  456. package/build-module/store/selectors.js.map +1 -1
  457. package/build-module/store/utils.js +46 -0
  458. package/build-module/store/utils.js.map +1 -1
  459. package/build-module/utils/block-bindings.js +17 -12
  460. package/build-module/utils/block-bindings.js.map +1 -1
  461. package/build-module/utils/dom.js +99 -0
  462. package/build-module/utils/dom.js.map +1 -1
  463. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  464. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  465. package/build-module/utils/transform-styles/index.js +120 -16
  466. package/build-module/utils/transform-styles/index.js.map +1 -1
  467. package/build-style/content-rtl.css +2 -11
  468. package/build-style/content.css +2 -11
  469. package/build-style/style-rtl.css +17 -38
  470. package/build-style/style.css +17 -38
  471. package/build-types/utils/dom.d.ts +25 -0
  472. package/build-types/utils/dom.d.ts.map +1 -1
  473. package/package.json +34 -32
  474. package/src/components/block-alignment-matrix-control/index.js +1 -1
  475. package/src/components/block-breadcrumb/index.js +4 -0
  476. package/src/components/block-breadcrumb/style.scss +1 -1
  477. package/src/components/block-canvas/index.js +9 -1
  478. package/src/components/block-compare/block-view.js +7 -1
  479. package/src/components/block-draggable/content.scss +1 -1
  480. package/src/components/block-draggable/index.js +4 -4
  481. package/src/components/block-draggable/style.scss +1 -1
  482. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  483. package/src/components/block-edit/multiple-usage-warning.js +4 -0
  484. package/src/components/block-inspector/index.js +22 -6
  485. package/src/components/block-list/block-invalid-warning.js +4 -2
  486. package/src/components/block-list/block.js +6 -2
  487. package/src/components/block-list/content.scss +2 -3
  488. package/src/components/block-list/use-block-props/index.js +3 -0
  489. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  490. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
  491. package/src/components/block-lock/style.scss +1 -1
  492. package/src/components/block-lock/toolbar.js +3 -3
  493. package/src/components/block-mover/button.js +2 -0
  494. package/src/components/block-mover/index.js +2 -0
  495. package/src/components/block-mover/style.scss +1 -1
  496. package/src/components/block-navigation/dropdown.js +2 -0
  497. package/src/components/block-pattern-setup/index.js +3 -7
  498. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  499. package/src/components/block-pattern-setup/style.scss +2 -2
  500. package/src/components/block-patterns-list/index.js +15 -13
  501. package/src/components/block-patterns-list/style.scss +2 -2
  502. package/src/components/block-patterns-paging/index.js +6 -0
  503. package/src/components/block-popover/index.js +7 -28
  504. package/src/components/block-popover/style.scss +1 -1
  505. package/src/components/block-quick-navigation/index.js +2 -0
  506. package/src/components/block-settings-menu-controls/index.js +7 -1
  507. package/src/components/block-switcher/index.js +26 -20
  508. package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
  509. package/src/components/block-switcher/style.scss +5 -6
  510. package/src/components/block-toolbar/index.js +17 -8
  511. package/src/components/block-toolbar/shuffle.js +9 -7
  512. package/src/components/block-tools/block-selection-button.js +4 -0
  513. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  514. package/src/components/block-tools/style.scss +3 -4
  515. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  516. package/src/components/block-tools/zoom-out-mode-inserters.js +2 -5
  517. package/src/components/block-tools/zoom-out-popover.js +3 -7
  518. package/src/components/block-tools/zoom-out-toolbar.js +20 -6
  519. package/src/components/block-variation-picker/README.md +2 -2
  520. package/src/components/block-variation-picker/index.js +6 -1
  521. package/src/components/block-variation-transforms/index.js +2 -0
  522. package/src/components/block-variation-transforms/style.scss +1 -1
  523. package/src/components/button-block-appender/content.scss +0 -1
  524. package/src/components/button-block-appender/index.js +14 -3
  525. package/src/components/color-palette/test/control.js +15 -2
  526. package/src/components/colors-gradients/dropdown.js +5 -1
  527. package/src/components/colors-gradients/style.scss +4 -4
  528. package/src/components/content-lock/index.js +1 -0
  529. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  530. package/src/components/default-block-appender/content.scss +0 -1
  531. package/src/components/editor-styles/index.js +4 -3
  532. package/src/components/global-styles/background-panel.js +6 -14
  533. package/src/components/global-styles/color-panel.js +8 -4
  534. package/src/components/global-styles/color-panel.native.js +2 -2
  535. package/src/components/global-styles/dimensions-panel.js +40 -40
  536. package/src/components/global-styles/filters-panel.js +5 -1
  537. package/src/components/global-styles/shadow-panel-components.js +12 -8
  538. package/src/components/global-styles/style.scss +3 -4
  539. package/src/components/global-styles/test/typography-utils.js +96 -5
  540. package/src/components/global-styles/test/utils.js +10 -0
  541. package/src/components/global-styles/typography-utils.js +22 -6
  542. package/src/components/global-styles/utils.js +4 -6
  543. package/src/components/grid/grid-item-movers.js +3 -3
  544. package/src/components/grid/style.scss +1 -1
  545. package/src/components/iframe/index.js +5 -5
  546. package/src/components/inner-blocks/index.js +2 -2
  547. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  548. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  549. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  550. package/src/components/inserter/library.js +0 -2
  551. package/src/components/inserter/media-tab/hooks.js +3 -3
  552. package/src/components/inserter/media-tab/media-list.js +1 -4
  553. package/src/components/inserter/media-tab/media-preview.js +12 -2
  554. package/src/components/inserter/media-tab/media-tab.js +2 -0
  555. package/src/components/inserter/menu.js +15 -29
  556. package/src/components/inserter/quick-inserter.js +2 -0
  557. package/src/components/inserter/style.scss +6 -8
  558. package/src/components/inserter-list-item/index.js +4 -4
  559. package/src/components/inserter-list-item/style.scss +1 -3
  560. package/src/components/inserter-listbox/index.js +2 -8
  561. package/src/components/inserter-listbox/item.js +9 -1
  562. package/src/components/inspector-controls/groups.js +2 -0
  563. package/src/components/inspector-controls-tabs/index.js +2 -0
  564. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  565. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  566. package/src/components/inspector-popover-header/index.js +4 -0
  567. package/src/components/letter-spacing-control/README.md +8 -1
  568. package/src/components/letter-spacing-control/index.js +7 -4
  569. package/src/components/link-control/index.js +17 -8
  570. package/src/components/link-control/settings-drawer.js +2 -0
  571. package/src/components/link-control/style.scss +1 -3
  572. package/src/components/list-view/block-select-button.js +2 -0
  573. package/src/components/list-view/style.scss +14 -16
  574. package/src/components/media-placeholder/index.js +14 -0
  575. package/src/components/media-replace-flow/index.js +12 -1
  576. package/src/components/provider/use-block-sync.js +20 -20
  577. package/src/components/responsive-block-control/README.md +3 -27
  578. package/src/components/rich-text/content.scss +1 -1
  579. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  580. package/src/components/rich-text/index.js +54 -41
  581. package/src/components/rich-text/style.scss +1 -1
  582. package/src/components/rich-text/use-mark-persistent.js +5 -5
  583. package/src/components/skip-to-selected-block/index.js +2 -0
  584. package/src/components/spacing-sizes-control/style.scss +1 -0
  585. package/src/components/tool-selector/index.js +2 -0
  586. package/src/components/url-input/button.js +6 -0
  587. package/src/components/url-input/index.js +2 -0
  588. package/src/components/url-popover/stories/index.story.js +7 -1
  589. package/src/components/use-block-drop-zone/index.js +4 -4
  590. package/src/components/warning/content.scss +3 -10
  591. package/src/components/writing-flow/index.js +2 -0
  592. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  593. package/src/components/writing-flow/use-event-redirect.js +72 -0
  594. package/src/components/writing-flow/use-input.js +36 -1
  595. package/src/components/writing-flow/use-select-all.js +18 -1
  596. package/src/components/writing-flow/use-selection-observer.js +23 -3
  597. package/src/components/writing-flow/use-tab-nav.js +4 -4
  598. package/src/components/writing-flow/utils.js +30 -0
  599. package/src/hooks/block-bindings.js +42 -43
  600. package/src/hooks/block-bindings.scss +1 -9
  601. package/src/hooks/content-lock-ui.js +11 -36
  602. package/src/hooks/duotone.js +0 -4
  603. package/src/hooks/layout.js +2 -0
  604. package/src/hooks/layout.scss +3 -11
  605. package/src/hooks/spacing-visualizer.js +3 -3
  606. package/src/hooks/style.js +1 -4
  607. package/src/hooks/use-bindings-attributes.js +23 -24
  608. package/src/hooks/use-zoom-out.js +7 -7
  609. package/src/layouts/constrained.js +50 -47
  610. package/src/layouts/flex.js +2 -0
  611. package/src/layouts/test/grid.js +2 -2
  612. package/src/layouts/test/utils.js +6 -8
  613. package/src/layouts/utils.js +1 -9
  614. package/src/private-apis.js +2 -0
  615. package/src/store/actions.js +4 -6
  616. package/src/store/private-actions.js +1 -0
  617. package/src/store/private-keys.js +1 -0
  618. package/src/store/private-selectors.js +12 -11
  619. package/src/store/reducer.js +0 -5
  620. package/src/store/selectors.js +32 -51
  621. package/src/store/utils.js +50 -0
  622. package/src/utils/block-bindings.js +15 -16
  623. package/src/utils/dom.js +117 -0
  624. package/src/utils/get-font-styles-and-weights.js +12 -4
  625. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  626. package/src/utils/test/transform-styles.js +259 -50
  627. package/src/utils/transform-styles/index.js +132 -21
  628. package/tsconfig.json +1 -0
  629. package/tsconfig.tsbuildinfo +1 -1
  630. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -33,7 +33,10 @@ function Pagination({
33
33
  expanded: false,
34
34
  spacing: 1,
35
35
  className: "block-editor-patterns__grid-pagination-previous",
36
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
37
+ // TODO: Switch to `true` (40px size) if possible
38
+ , {
39
+ __next40pxDefaultSize: false,
37
40
  variant: "tertiary",
38
41
  onClick: () => changePage(1),
39
42
  disabled: currentPage === 1,
@@ -42,7 +45,10 @@ function Pagination({
42
45
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
43
46
  children: "\xAB"
44
47
  })
45
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
48
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
49
+ // TODO: Switch to `true` (40px size) if possible
50
+ , {
51
+ __next40pxDefaultSize: false,
46
52
  variant: "tertiary",
47
53
  onClick: () => changePage(currentPage - 1),
48
54
  disabled: currentPage === 1,
@@ -61,7 +67,10 @@ function Pagination({
61
67
  expanded: false,
62
68
  spacing: 1,
63
69
  className: "block-editor-patterns__grid-pagination-next",
64
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
71
+ // TODO: Switch to `true` (40px size) if possible
72
+ , {
73
+ __next40pxDefaultSize: false,
65
74
  variant: "tertiary",
66
75
  onClick: () => changePage(currentPage + 1),
67
76
  disabled: currentPage === numPages,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_jsxRuntime","Pagination","currentPage","numPages","changePage","totalItems","jsxs","__experimentalVStack","className","children","jsx","__experimentalText","variant","sprintf","_n","__experimentalHStack","expanded","spacing","justify","Button","onClick","disabled","__","accessibleWhenDisabled","_x","size"],"sources":["@wordpress/block-editor/src/components/block-patterns-paging/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\n\nexport default function Pagination( {\n\tcurrentPage,\n\tnumPages,\n\tchangePage,\n\ttotalItems,\n} ) {\n\treturn (\n\t\t<VStack className=\"block-editor-patterns__grid-pagination-wrapper\">\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\ttotalItems\n\t\t\t\t) }\n\t\t\t</Text>\n\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<HStack\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-previous\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\t\taria-label={ __( 'First page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>«</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\t\taria-label={ __( 'Previous page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>‹</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\t\t\tcurrentPage,\n\t\t\t\t\t\t\tnumPages\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-next\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\t\t\taria-label={ __( 'Next page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>›</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\t\t\taria-label={ __( 'Last page' ) }\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>»</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_jsxRuntime","Pagination","currentPage","numPages","changePage","totalItems","jsxs","__experimentalVStack","className","children","jsx","__experimentalText","variant","sprintf","_n","__experimentalHStack","expanded","spacing","justify","Button","__next40pxDefaultSize","onClick","disabled","__","accessibleWhenDisabled","_x","size"],"sources":["@wordpress/block-editor/src/components/block-patterns-paging/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x, _n, sprintf } from '@wordpress/i18n';\n\nexport default function Pagination( {\n\tcurrentPage,\n\tnumPages,\n\tchangePage,\n\ttotalItems,\n} ) {\n\treturn (\n\t\t<VStack className=\"block-editor-patterns__grid-pagination-wrapper\">\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\ttotalItems\n\t\t\t\t) }\n\t\t\t</Text>\n\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<HStack\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-previous\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\t\taria-label={ __( 'First page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>«</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\t\taria-label={ __( 'Previous page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>‹</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\t\t\tcurrentPage,\n\t\t\t\t\t\t\tnumPages\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-next\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\t\t\taria-label={ __( 'Next page' ) }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>›</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\t\t\tdisabled={ currentPage === numPages }\n\t\t\t\t\t\t\taria-label={ __( 'Last page' ) }\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span>»</span>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var _components = require("@wordpress/components");
11
11
  var _element = require("@wordpress/element");
12
12
  var _useBlockRefs = require("../block-list/use-block-props/use-block-refs");
13
13
  var _usePopoverScroll = _interopRequireDefault(require("./use-popover-scroll"));
14
+ var _dom = require("../../utils/dom");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  /**
16
17
  * External dependencies
@@ -70,21 +71,7 @@ function BlockPopover({
70
71
  }
71
72
  return {
72
73
  getBoundingClientRect() {
73
- var _lastSelectedBCR$left, _lastSelectedBCR$top, _lastSelectedBCR$righ, _lastSelectedBCR$bott;
74
- const selectedBCR = selectedElement.getBoundingClientRect();
75
- const lastSelectedBCR = lastSelectedElement?.getBoundingClientRect();
76
-
77
- // Get the biggest rectangle that encompasses completely the currently
78
- // selected element and the last selected element:
79
- // - for top/left coordinates, use the smaller numbers
80
- // - for the bottom/right coordinates, use the largest numbers
81
- const left = Math.min(selectedBCR.left, (_lastSelectedBCR$left = lastSelectedBCR?.left) !== null && _lastSelectedBCR$left !== void 0 ? _lastSelectedBCR$left : Infinity);
82
- const top = Math.min(selectedBCR.top, (_lastSelectedBCR$top = lastSelectedBCR?.top) !== null && _lastSelectedBCR$top !== void 0 ? _lastSelectedBCR$top : Infinity);
83
- const right = Math.max(selectedBCR.right, (_lastSelectedBCR$righ = lastSelectedBCR.right) !== null && _lastSelectedBCR$righ !== void 0 ? _lastSelectedBCR$righ : -Infinity);
84
- const bottom = Math.max(selectedBCR.bottom, (_lastSelectedBCR$bott = lastSelectedBCR.bottom) !== null && _lastSelectedBCR$bott !== void 0 ? _lastSelectedBCR$bott : -Infinity);
85
- const width = right - left;
86
- const height = bottom - top;
87
- return new window.DOMRect(left, top, width, height);
74
+ return lastSelectedElement ? (0, _dom.rectUnion)((0, _dom.getVisibleElementBounds)(selectedElement), (0, _dom.getVisibleElementBounds)(lastSelectedElement)) : (0, _dom.getVisibleElementBounds)(selectedElement);
88
75
  },
89
76
  contextElement: selectedElement
90
77
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_useBlockRefs","_usePopoverScroll","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","useBlockElement","lastSelectedElement","mergedRefs","useMergeRefs","usePopoverScroll","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","useReducer","s","useLayoutEffect","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","useMemo","undefined","getBoundingClientRect","_lastSelectedBCR$left","_lastSelectedBCR$top","_lastSelectedBCR$righ","_lastSelectedBCR$bott","selectedBCR","lastSelectedBCR","left","Math","min","Infinity","top","right","max","bottom","width","height","DOMRect","contextElement","jsx","Popover","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","clsx","variant","PrivateBlockPopover","exports","forwardRef","PublicBlockPopover","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\n\nconst MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;\n\nfunction BlockPopover(\n\t{\n\t\tclientId,\n\t\tbottomClientId,\n\t\tchildren,\n\t\t__unstablePopoverSlot,\n\t\t__unstableContentRef,\n\t\tshift = true,\n\t\t...props\n\t},\n\tref\n) {\n\tconst selectedElement = useBlockElement( clientId );\n\tconst lastSelectedElement = useBlockElement( bottomClientId ?? clientId );\n\tconst mergedRefs = useMergeRefs( [\n\t\tref,\n\t\tusePopoverScroll( __unstableContentRef ),\n\t] );\n\n\tconst [\n\t\tpopoverDimensionsRecomputeCounter,\n\t\tforceRecomputePopoverDimensions,\n\t] = useReducer(\n\t\t// Module is there to make sure that the counter doesn't overflow.\n\t\t( s ) => ( s + 1 ) % MAX_POPOVER_RECOMPUTE_COUNTER,\n\t\t0\n\t);\n\n\t// When blocks are moved up/down, they are animated to their new position by\n\t// updating the `transform` property manually (i.e. without using CSS\n\t// transitions or animations). The animation, which can also scroll the block\n\t// editor, can sometimes cause the position of the Popover to get out of sync.\n\t// A MutationObserver is therefore used to make sure that changes to the\n\t// selectedElement's attribute (i.e. `transform`) can be tracked and used to\n\t// trigger the Popover to rerender.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new window.MutationObserver(\n\t\t\tforceRecomputePopoverDimensions\n\t\t);\n\t\tobserver.observe( selectedElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ selectedElement ] );\n\n\tconst popoverAnchor = useMemo( () => {\n\t\tif (\n\t\t\t// popoverDimensionsRecomputeCounter is by definition always equal or greater\n\t\t\t// than 0. This check is only there to satisfy the correctness of the\n\t\t\t// exhaustive-deps rule for the `useMemo` hook.\n\t\t\tpopoverDimensionsRecomputeCounter < 0 ||\n\t\t\t! selectedElement ||\n\t\t\t( bottomClientId && ! lastSelectedElement )\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn {\n\t\t\tgetBoundingClientRect() {\n\t\t\t\tconst selectedBCR = selectedElement.getBoundingClientRect();\n\t\t\t\tconst lastSelectedBCR =\n\t\t\t\t\tlastSelectedElement?.getBoundingClientRect();\n\n\t\t\t\t// Get the biggest rectangle that encompasses completely the currently\n\t\t\t\t// selected element and the last selected element:\n\t\t\t\t// - for top/left coordinates, use the smaller numbers\n\t\t\t\t// - for the bottom/right coordinates, use the largest numbers\n\t\t\t\tconst left = Math.min(\n\t\t\t\t\tselectedBCR.left,\n\t\t\t\t\tlastSelectedBCR?.left ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst top = Math.min(\n\t\t\t\t\tselectedBCR.top,\n\t\t\t\t\tlastSelectedBCR?.top ?? Infinity\n\t\t\t\t);\n\t\t\t\tconst right = Math.max(\n\t\t\t\t\tselectedBCR.right,\n\t\t\t\t\tlastSelectedBCR.right ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst bottom = Math.max(\n\t\t\t\t\tselectedBCR.bottom,\n\t\t\t\t\tlastSelectedBCR.bottom ?? -Infinity\n\t\t\t\t);\n\t\t\t\tconst width = right - left;\n\t\t\t\tconst height = bottom - top;\n\n\t\t\t\treturn new window.DOMRect( left, top, width, height );\n\t\t\t},\n\t\t\tcontextElement: selectedElement,\n\t\t};\n\t}, [\n\t\tbottomClientId,\n\t\tlastSelectedElement,\n\t\tselectedElement,\n\t\tpopoverDimensionsRecomputeCounter,\n\t] );\n\n\tif ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tref={ mergedRefs }\n\t\t\tanimate={ false }\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\t// Render in the old slot if needed for backward compatibility,\n\t\t\t// otherwise render in place (not in the default popover slot).\n\t\t\t__unstableSlotName={ __unstablePopoverSlot }\n\t\t\tinline={ ! __unstablePopoverSlot }\n\t\t\tplacement=\"top-start\"\n\t\t\tresize={ false }\n\t\t\tflip={ false }\n\t\t\tshift={ shift }\n\t\t\t{ ...props }\n\t\t\tclassName={ clsx( 'block-editor-block-popover', props.className ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t{ children }\n\t\t</Popover>\n\t);\n}\n\nexport const PrivateBlockPopover = forwardRef( BlockPopover );\n\nconst PublicBlockPopover = (\n\t{ clientId, bottomClientId, children, ...props },\n\tref\n) => (\n\t<PrivateBlockPopover\n\t\t{ ...props }\n\t\tbottomClientId={ bottomClientId }\n\t\tclientId={ clientId }\n\t\t__unstableContentRef={ undefined }\n\t\t__unstablePopoverSlot={ undefined }\n\t\tref={ ref }\n\t>\n\t\t{ children }\n\t</PrivateBlockPopover>\n);\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-popover/README.md\n */\nexport default forwardRef( PublicBlockPopover );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_useBlockRefs","_usePopoverScroll","_dom","_jsxRuntime","MAX_POPOVER_RECOMPUTE_COUNTER","Number","MAX_SAFE_INTEGER","BlockPopover","clientId","bottomClientId","children","__unstablePopoverSlot","__unstableContentRef","shift","props","ref","selectedElement","useBlockElement","lastSelectedElement","mergedRefs","useMergeRefs","usePopoverScroll","popoverDimensionsRecomputeCounter","forceRecomputePopoverDimensions","useReducer","s","useLayoutEffect","observer","window","MutationObserver","observe","attributes","disconnect","popoverAnchor","useMemo","undefined","getBoundingClientRect","rectUnion","getVisibleElementBounds","contextElement","jsx","Popover","animate","focusOnMount","anchor","__unstableSlotName","inline","placement","resize","flip","className","clsx","variant","PrivateBlockPopover","exports","forwardRef","PublicBlockPopover","_default","default"],"sources":["@wordpress/block-editor/src/components/block-popover/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseLayoutEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport usePopoverScroll from './use-popover-scroll';\nimport { rectUnion, getVisibleElementBounds } from '../../utils/dom';\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\treturn lastSelectedElement\n\t\t\t\t\t? rectUnion(\n\t\t\t\t\t\t\tgetVisibleElementBounds( selectedElement ),\n\t\t\t\t\t\t\tgetVisibleElementBounds( lastSelectedElement )\n\t\t\t\t\t )\n\t\t\t\t\t: getVisibleElementBounds( selectedElement );\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":[]}
@@ -58,7 +58,10 @@ function BlockQuickNavigationItem({
58
58
  const {
59
59
  selectBlock
60
60
  } = (0, _data.useDispatch)(_store.store);
61
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
62
+ // TODO: Switch to `true` (40px size) if possible
63
+ , {
64
+ __next40pxDefaultSize: false,
62
65
  isPressed: isSelected,
63
66
  onClick: async () => {
64
67
  await selectBlock(clientId);
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_store","_blockIcon","_interopRequireDefault","_useBlockDisplayInformation","_useBlockDisplayTitle","_jsxRuntime","BlockQuickNavigation","clientIds","onSelect","length","jsx","__experimentalVStack","spacing","children","map","clientId","BlockQuickNavigationItem","blockInformation","useBlockDisplayInformation","blockTitle","useBlockDisplayTitle","context","isSelected","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","selectBlock","useDispatch","Button","isPressed","onClick","jsxs","Flex","FlexItem","default","icon","FlexBlock","style","textAlign","__experimentalTruncate"],"sources":["@wordpress/block-editor/src/components/block-quick-navigation/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalVStack as VStack,\n\t__experimentalTruncate as Truncate,\n\tFlex,\n\tFlexBlock,\n\tFlexItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport default function BlockQuickNavigation( { clientIds, onSelect } ) {\n\tif ( ! clientIds.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t{ clientIds.map( ( clientId ) => (\n\t\t\t\t<BlockQuickNavigationItem\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</VStack>\n\t);\n}\n\nfunction BlockQuickNavigationItem( { clientId, onSelect } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isSelected } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, /* deep: */ true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ async () => {\n\t\t\t\tawait selectBlock( clientId );\n\t\t\t\tif ( onSelect ) {\n\t\t\t\t\tonSelect( clientId );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<Flex>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ blockInformation?.icon } />\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexBlock style={ { textAlign: 'left' } }>\n\t\t\t\t\t<Truncate>{ blockTitle }</Truncate>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,2BAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,qBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAA0E,IAAAO,WAAA,GAAAP,OAAA;AAnB1E;AACA;AACA;;AAWA;AACA;AACA;;AAMe,SAASQ,oBAAoBA,CAAE;EAAEC,SAAS;EAAEC;AAAS,CAAC,EAAG;EACvE,IAAK,CAAED,SAAS,CAACE,MAAM,EAAG;IACzB,OAAO,IAAI;EACZ;EACA,oBACC,IAAAJ,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAY,oBAAM;IAACC,OAAO,EAAG,CAAG;IAAAC,QAAA,EAClBN,SAAS,CAACO,GAAG,CAAIC,QAAQ,iBAC1B,IAAAV,WAAA,CAAAK,GAAA,EAACM,wBAAwB;MACxBR,QAAQ,EAAGA,QAAU;MAErBO,QAAQ,EAAGA;IAAU,GADfA,QAEN,CACA;EAAC,CACI,CAAC;AAEX;AAEA,SAASC,wBAAwBA,CAAE;EAAED,QAAQ;EAAEP;AAAS,CAAC,EAAG;EAC3D,MAAMS,gBAAgB,GAAG,IAAAC,mCAA0B,EAAEH,QAAS,CAAC;EAC/D,MAAMI,UAAU,GAAG,IAAAC,6BAAoB,EAAE;IACxCL,QAAQ;IACRM,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAC7BC,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAEG,YAAiB,CAAC;IAE3B,OAAO;MACNL,UAAU,EACTG,eAAe,CAAEV,QAAS,CAAC,IAC3BW,qBAAqB,CAAEX,QAAQ,EAAE,WAAY,IAAK;IACpD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEa;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEF,YAAiB,CAAC;EAEvD,oBACC,IAAAtB,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAA+B,MAAM;IACNC,SAAS,EAAGT,UAAY;IACxBU,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrB,MAAMJ,WAAW,CAAEb,QAAS,CAAC;MAC7B,IAAKP,QAAQ,EAAG;QACfA,QAAQ,CAAEO,QAAS,CAAC;MACrB;IACD,CAAG;IAAAF,QAAA,eAEH,IAAAR,WAAA,CAAA4B,IAAA,EAAClC,WAAA,CAAAmC,IAAI;MAAArB,QAAA,gBACJ,IAAAR,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAoC,QAAQ;QAAAtB,QAAA,eACR,IAAAR,WAAA,CAAAK,GAAA,EAACT,UAAA,CAAAmC,OAAS;UAACC,IAAI,EAAGpB,gBAAgB,EAAEoB;QAAM,CAAE;MAAC,CACpC,CAAC,eACX,IAAAhC,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAuC,SAAS;QAACC,KAAK,EAAG;UAAEC,SAAS,EAAE;QAAO,CAAG;QAAA3B,QAAA,eACzC,IAAAR,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAA0C,sBAAQ;UAAA5B,QAAA,EAAGM;QAAU,CAAY;MAAC,CACzB,CAAC;IAAA,CACP;EAAC,CACA,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_components","_store","_blockIcon","_interopRequireDefault","_useBlockDisplayInformation","_useBlockDisplayTitle","_jsxRuntime","BlockQuickNavigation","clientIds","onSelect","length","jsx","__experimentalVStack","spacing","children","map","clientId","BlockQuickNavigationItem","blockInformation","useBlockDisplayInformation","blockTitle","useBlockDisplayTitle","context","isSelected","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","selectBlock","useDispatch","Button","__next40pxDefaultSize","isPressed","onClick","jsxs","Flex","FlexItem","default","icon","FlexBlock","style","textAlign","__experimentalTruncate"],"sources":["@wordpress/block-editor/src/components/block-quick-navigation/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalVStack as VStack,\n\t__experimentalTruncate as Truncate,\n\tFlex,\n\tFlexBlock,\n\tFlexItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nexport default function BlockQuickNavigation( { clientIds, onSelect } ) {\n\tif ( ! clientIds.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t{ clientIds.map( ( clientId ) => (\n\t\t\t\t<BlockQuickNavigationItem\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</VStack>\n\t);\n}\n\nfunction BlockQuickNavigationItem( { clientId, onSelect } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isSelected } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tisSelected:\n\t\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\t\thasSelectedInnerBlock( clientId, /* deep: */ true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\treturn (\n\t\t<Button\n\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t__next40pxDefaultSize={ false }\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ async () => {\n\t\t\t\tawait selectBlock( clientId );\n\t\t\t\tif ( onSelect ) {\n\t\t\t\t\tonSelect( clientId );\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<Flex>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ blockInformation?.icon } />\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexBlock style={ { textAlign: 'left' } }>\n\t\t\t\t\t<Truncate>{ blockTitle }</Truncate>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,2BAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,qBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAA0E,IAAAO,WAAA,GAAAP,OAAA;AAnB1E;AACA;AACA;;AAWA;AACA;AACA;;AAMe,SAASQ,oBAAoBA,CAAE;EAAEC,SAAS;EAAEC;AAAS,CAAC,EAAG;EACvE,IAAK,CAAED,SAAS,CAACE,MAAM,EAAG;IACzB,OAAO,IAAI;EACZ;EACA,oBACC,IAAAJ,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAY,oBAAM;IAACC,OAAO,EAAG,CAAG;IAAAC,QAAA,EAClBN,SAAS,CAACO,GAAG,CAAIC,QAAQ,iBAC1B,IAAAV,WAAA,CAAAK,GAAA,EAACM,wBAAwB;MACxBR,QAAQ,EAAGA,QAAU;MAErBO,QAAQ,EAAGA;IAAU,GADfA,QAEN,CACA;EAAC,CACI,CAAC;AAEX;AAEA,SAASC,wBAAwBA,CAAE;EAAED,QAAQ;EAAEP;AAAS,CAAC,EAAG;EAC3D,MAAMS,gBAAgB,GAAG,IAAAC,mCAA0B,EAAEH,QAAS,CAAC;EAC/D,MAAMI,UAAU,GAAG,IAAAC,6BAAoB,EAAE;IACxCL,QAAQ;IACRM,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAC7BC,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAEG,YAAiB,CAAC;IAE3B,OAAO;MACNL,UAAU,EACTG,eAAe,CAAEV,QAAS,CAAC,IAC3BW,qBAAqB,CAAEX,QAAQ,EAAE,WAAY,IAAK;IACpD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAEa;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAEF,YAAiB,CAAC;EAEvD,oBACC,IAAAtB,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAA+B;EACA;EAAA;IACAC,qBAAqB,EAAG,KAAO;IAC/BC,SAAS,EAAGV,UAAY;IACxBW,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrB,MAAML,WAAW,CAAEb,QAAS,CAAC;MAC7B,IAAKP,QAAQ,EAAG;QACfA,QAAQ,CAAEO,QAAS,CAAC;MACrB;IACD,CAAG;IAAAF,QAAA,eAEH,IAAAR,WAAA,CAAA6B,IAAA,EAACnC,WAAA,CAAAoC,IAAI;MAAAtB,QAAA,gBACJ,IAAAR,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAqC,QAAQ;QAAAvB,QAAA,eACR,IAAAR,WAAA,CAAAK,GAAA,EAACT,UAAA,CAAAoC,OAAS;UAACC,IAAI,EAAGrB,gBAAgB,EAAEqB;QAAM,CAAE;MAAC,CACpC,CAAC,eACX,IAAAjC,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAAwC,SAAS;QAACC,KAAK,EAAG;UAAEC,SAAS,EAAE;QAAO,CAAG;QAAA5B,QAAA,eACzC,IAAAR,WAAA,CAAAK,GAAA,EAACX,WAAA,CAAA2C,sBAAQ;UAAA7B,QAAA,EAAGM;QAAU,CAAY;MAAC,CACzB,CAAC;IAAA,CACP;EAAC,CACA,CAAC;AAEX","ignoreList":[]}
@@ -13,6 +13,7 @@ var _convertToGroupButtons = require("../convert-to-group-buttons");
13
13
  var _blockLock = require("../block-lock");
14
14
  var _store = require("../../store");
15
15
  var _blockModeToggle = _interopRequireDefault(require("../block-settings-menu/block-mode-toggle"));
16
+ var _contentLock = require("../content-lock");
16
17
  var _blockRename = require("../block-rename");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  /**
@@ -86,6 +87,9 @@ const BlockSettingsMenuControlsSlot = ({
86
87
  }), fills, fillProps?.canMove && !fillProps?.onlyBlock && !isContentOnly && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
87
88
  onClick: (0, _compose.pipe)(fillProps?.onClose, fillProps?.onMoveTo),
88
89
  children: (0, _i18n.__)('Move to')
90
+ }), selectedClientIds.length === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_contentLock.ModifyContentLockMenuItem, {
91
+ clientId: selectedClientIds[0],
92
+ onClose: fillProps?.onClose
89
93
  }), fillProps?.count === 1 && !isContentOnly && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockModeToggle.default, {
90
94
  clientId: fillProps?.firstBlockClientId,
91
95
  onToggle: fillProps?.onClose
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_blockRename","_jsxRuntime","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","ids","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","jsx","children","fills","jsxs","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"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":[]}
1
+ {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_contentLock","_blockRename","_jsxRuntime","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","ids","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","jsx","children","fills","jsxs","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","ModifyContentLockMenuItem","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"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';\nimport { ModifyContentLockMenuItem } from '../content-lock';\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{ selectedClientIds.length === 1 && (\n\t\t\t\t\t\t\t<ModifyContentLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\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{ 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":[]}
@@ -136,6 +136,20 @@ function BlockSwitcherDropdownMenuContents({
136
136
  })]
137
137
  });
138
138
  }
139
+ const BlockIndicator = ({
140
+ icon,
141
+ showTitle,
142
+ blockTitle
143
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
144
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockIcon.default, {
145
+ className: "block-editor-block-switcher__toggle",
146
+ icon: icon,
147
+ showColors: true
148
+ }), showTitle && blockTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
149
+ className: "block-editor-block-switcher__toggle-text",
150
+ children: blockTitle
151
+ })]
152
+ });
139
153
  const BlockSwitcher = ({
140
154
  clientIds,
141
155
  disabled,
@@ -207,14 +221,10 @@ const BlockSwitcher = ({
207
221
  disabled: true,
208
222
  className: "block-editor-block-switcher__no-switcher-icon",
209
223
  title: blockSwitcherLabel,
210
- icon: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
211
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockIcon.default, {
212
- icon: icon,
213
- showColors: true
214
- }), (isReusable || isTemplate) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
215
- className: "block-editor-block-switcher__toggle-text",
216
- children: blockTitle
217
- })]
224
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockIndicator, {
225
+ icon: icon,
226
+ showTitle: isReusable || isTemplate,
227
+ blockTitle: blockTitle
218
228
  })
219
229
  })
220
230
  });
@@ -230,15 +240,10 @@ const BlockSwitcher = ({
230
240
  placement: 'bottom-start',
231
241
  className: 'block-editor-block-switcher__popover'
232
242
  },
233
- icon: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
234
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockIcon.default, {
235
- icon: icon,
236
- className: "block-editor-block-switcher__toggle",
237
- showColors: true
238
- }), (isReusable || isTemplate) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
239
- className: "block-editor-block-switcher__toggle-text",
240
- children: blockTitle
241
- })]
243
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockIndicator, {
244
+ icon: icon,
245
+ showTitle: isReusable || isTemplate,
246
+ blockTitle: blockTitle
242
247
  }),
243
248
  toggleProps: {
244
249
  description: blockSwitcherDescription,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","isUsingBindings","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","useSelect","select","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","Array","isArray","_blocks","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","clientId","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockSwitcher","disabled","icon","invalidBlocks","isReusable","getBlockAttributes","canRemoveBlocks","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","_icon","match","isSelectionOfSameType","Set","map","size","copy","isReusableBlock","blockTitle","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","title","Fragment","showColors","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n\tisUsingBindings,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\treturn {\n\t\t\t\tblocks: _blocks,\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {\n\tconst {\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocksByClientId, getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown = disabled || ( ! hasBlockStyles && ! canRemove );\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","isUsingBindings","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","useSelect","select","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","Array","isArray","_blocks","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","clientId","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockIndicator","icon","showTitle","blockTitle","Fragment","showColors","BlockSwitcher","disabled","invalidBlocks","isReusable","getBlockAttributes","canRemoveBlocks","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","_icon","match","isSelectionOfSameType","Set","map","size","copy","isReusableBlock","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","title","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n\tisUsingBindings,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\treturn {\n\t\t\t\tblocks: _blocks,\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockIndicator = ( { icon, showTitle, blockTitle } ) => (\n\t<>\n\t\t<BlockIcon\n\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\ticon={ icon }\n\t\t\tshowColors\n\t\t/>\n\t\t{ showTitle && blockTitle && (\n\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t{ blockTitle }\n\t\t\t</span>\n\t\t) }\n\t</>\n);\n\nexport const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {\n\tconst {\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocksByClientId, getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown = disabled || ( ! hasBlockStyles && ! canRemove );\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
@@ -24,8 +24,7 @@ var _jsxRuntime = require("react/jsx-runtime");
24
24
 
25
25
  const {
26
26
  CompositeV2: Composite,
27
- CompositeItemV2: CompositeItem,
28
- useCompositeStoreV2: useCompositeStore
27
+ CompositeItemV2: CompositeItem
29
28
  } = (0, _lockUnlock.unlock)(_components.privateApis);
30
29
  function PatternTransformationsMenu({
31
30
  blocks,
@@ -77,9 +76,7 @@ function BlockPatternsList({
77
76
  patterns,
78
77
  onSelect
79
78
  }) {
80
- const composite = useCompositeStore();
81
79
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Composite, {
82
- store: composite,
83
80
  role: "listbox",
84
81
  className: "block-editor-block-switcher__preview-patterns-container",
85
82
  "aria-label": (0, _i18n.__)('Patterns list'),
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_lockUnlock","_jsxRuntime","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","isMobile","useViewportMatch","Popover","placement","offset","BlockPatternsList","composite","store","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","useInstanceId","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"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, useViewportMatch } 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\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\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\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":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_lockUnlock","_jsxRuntime","CompositeV2","Composite","CompositeItemV2","CompositeItem","unlock","componentsPrivateApis","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","isMobile","useViewportMatch","Popover","placement","offset","BlockPatternsList","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","useInstanceId","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"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, useViewportMatch } 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 { CompositeV2: Composite, CompositeItemV2: CompositeItem } = unlock(\n\tcomponentsPrivateApis\n);\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\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\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\treturn (\n\t\t<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":[]}
@@ -26,7 +26,6 @@ var _utils = require("./utils");
26
26
  var _store = require("../../store");
27
27
  var _blockNameContext = _interopRequireDefault(require("./block-name-context"));
28
28
  var _navigableToolbar = _interopRequireDefault(require("../navigable-toolbar"));
29
- var _shuffle = _interopRequireDefault(require("./shuffle"));
30
29
  var _useHasBlockToolbar = require("./use-has-block-toolbar");
31
30
  var _jsxRuntime = require("react/jsx-runtime");
32
31
  /**
@@ -63,12 +62,14 @@ function PrivateBlockToolbar({
63
62
  const {
64
63
  blockClientId,
65
64
  blockClientIds,
65
+ isContentOnlyEditingMode,
66
66
  isDefaultEditingMode,
67
67
  blockType,
68
68
  toolbarKey,
69
69
  shouldShowVisualToolbar,
70
70
  showParentSelector,
71
- isUsingBindings
71
+ isUsingBindings,
72
+ hasParentPattern
72
73
  } = (0, _data.useSelect)(select => {
73
74
  const {
74
75
  getBlockName,
@@ -76,32 +77,34 @@ function PrivateBlockToolbar({
76
77
  getBlockParents,
77
78
  getSelectedBlockClientIds,
78
79
  isBlockValid,
79
- getBlockRootClientId,
80
80
  getBlockEditingMode,
81
- getBlockAttributes
81
+ getBlockAttributes,
82
+ getBlockParentsByBlockName
82
83
  } = select(_store.store);
83
84
  const selectedBlockClientIds = getSelectedBlockClientIds();
84
85
  const selectedBlockClientId = selectedBlockClientIds[0];
85
- const blockRootClientId = getBlockRootClientId(selectedBlockClientId);
86
86
  const parents = getBlockParents(selectedBlockClientId);
87
87
  const firstParentClientId = parents[parents.length - 1];
88
88
  const parentBlockName = getBlockName(firstParentClientId);
89
89
  const parentBlockType = (0, _blocks.getBlockType)(parentBlockName);
90
- const _isDefaultEditingMode = getBlockEditingMode(selectedBlockClientId) === 'default';
90
+ const editingMode = getBlockEditingMode(selectedBlockClientId);
91
+ const _isDefaultEditingMode = editingMode === 'default';
91
92
  const _blockName = getBlockName(selectedBlockClientId);
92
93
  const isValid = selectedBlockClientIds.every(id => isBlockValid(id));
93
94
  const isVisual = selectedBlockClientIds.every(id => getBlockMode(id) === 'visual');
94
95
  const _isUsingBindings = selectedBlockClientIds.every(clientId => !!getBlockAttributes(clientId)?.metadata?.bindings);
96
+ const _hasParentPattern = selectedBlockClientIds.every(clientId => getBlockParentsByBlockName(clientId, 'core/block', true).length > 0);
95
97
  return {
96
98
  blockClientId: selectedBlockClientId,
97
99
  blockClientIds: selectedBlockClientIds,
100
+ isContentOnlyEditingMode: editingMode === 'contentOnly',
98
101
  isDefaultEditingMode: _isDefaultEditingMode,
99
102
  blockType: selectedBlockClientId && (0, _blocks.getBlockType)(_blockName),
100
103
  shouldShowVisualToolbar: isValid && isVisual,
101
- rootClientId: blockRootClientId,
102
104
  toolbarKey: `${selectedBlockClientId}${firstParentClientId}`,
103
105
  showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode,
104
- isUsingBindings: _isUsingBindings
106
+ isUsingBindings: _isUsingBindings,
107
+ hasParentPattern: _hasParentPattern
105
108
  };
106
109
  }, []);
107
110
  const toolbarWrapperRef = (0, _element.useRef)(null);
@@ -145,7 +148,7 @@ function PrivateBlockToolbar({
145
148
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
146
149
  ref: toolbarWrapperRef,
147
150
  className: innerClasses,
148
- children: [!isMultiToolbar && isLargeViewport && isDefaultEditingMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockParentSelector.default, {}), (shouldShowVisualToolbar || isMultiToolbar) && (isDefaultEditingMode || isSynced) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
151
+ children: [!isMultiToolbar && isLargeViewport && isDefaultEditingMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockParentSelector.default, {}), (shouldShowVisualToolbar || isMultiToolbar) && (isDefaultEditingMode || isContentOnlyEditingMode && !hasParentPattern || isSynced) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
149
152
  ref: nodeRef,
150
153
  ...showHoveredOrFocusedGestures,
151
154
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.ToolbarGroup, {
@@ -163,8 +166,6 @@ function PrivateBlockToolbar({
163
166
  })]
164
167
  })]
165
168
  })
166
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_shuffle.default, {
167
- clientId: blockClientId
168
169
  }), shouldShowVisualToolbar && isMultiToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)(_convertToGroupButtons.BlockGroupToolbar, {}), shouldShowVisualToolbar && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
169
170
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockControls.default.Slot, {
170
171
  group: "parent",