@wordpress/block-editor 14.5.0 → 14.6.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.
- package/CHANGELOG.md +2 -0
- package/README.md +0 -8
- package/build/autocompleters/block.js +13 -5
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-canvas/index.js +10 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-list/block.js +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +5 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +1 -1
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +2 -45
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -3
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-toolbar/change-design.js +122 -0
- package/build/components/block-toolbar/change-design.js.map +1 -0
- package/build/components/block-toolbar/index.js +19 -7
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +4 -10
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +3 -9
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +2 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +6 -10
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +7 -10
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/collab/block-comment-icon-slot.js +18 -0
- package/build/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/iframe/index.js +17 -22
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-size-control/index.js +61 -20
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -5
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +15 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/menu.js +4 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter-button/index.native.js +1 -1
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +0 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +3 -6
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/link-control/link-preview.js +12 -9
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/appender.js +4 -3
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/branch.js +6 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +1 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/index.js +3 -1
- package/build/components/rich-text/event-listeners/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -6
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +2 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +1 -5
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -4
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +1 -1
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +5 -5
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +0 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +1 -3
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-settings/index.js +1 -3
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/writing-flow/index.js +5 -3
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +19 -8
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/contrast-checker.js +0 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/duotone.js +2 -2
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/style.js +4 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-zoom-out.js +13 -22
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/index.js +0 -7
- package/build/index.js.map +1 -1
- package/build/private-apis.js +6 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -33
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/private-actions.js +57 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +9 -21
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +16 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +44 -7
- package/build/store/selectors.js.map +1 -1
- package/build/utils/dom.js +16 -1
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -1
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/transform-styles/index.js +4 -3
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +14 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-canvas/index.js +11 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +3 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-list/block.js +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +1 -1
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -45
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-toolbar/change-design.js +114 -0
- package/build-module/components/block-toolbar/change-design.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +19 -7
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +4 -10
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +3 -9
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +2 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +8 -11
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/collab/block-comment-icon-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -5
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/iframe/index.js +17 -22
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +62 -21
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -5
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +15 -2
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +5 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +1 -1
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +0 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js +3 -6
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +13 -10
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -3
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/branch.js +7 -6
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/index.js +4 -2
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +3 -3
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -4
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -1
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +5 -5
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +0 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +1 -3
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +1 -3
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +2 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +20 -9
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +0 -1
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/duotone.js +2 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/style.js +4 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +15 -23
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +7 -5
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -33
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/private-actions.js +54 -7
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +9 -20
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +16 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +45 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/dom.js +16 -1
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +2 -2
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +3 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +9 -4
- package/build-style/content.css +9 -4
- package/build-style/style-rtl.css +33 -22
- package/build-style/style.css +33 -22
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +33 -32
- package/src/autocompleters/block.js +16 -7
- package/src/components/block-canvas/index.js +17 -1
- package/src/components/block-canvas/style.scss +2 -0
- package/src/components/block-card/index.js +3 -3
- package/src/components/block-full-height-alignment-control/index.js +1 -1
- package/src/components/block-inspector/style.scss +0 -6
- package/src/components/block-list/block.js +1 -2
- package/src/components/block-list/block.native.js +0 -4
- package/src/components/block-list/content.scss +1 -1
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/use-block-props/index.js +0 -2
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-patterns-list/stories/fixtures.js +834 -0
- package/src/components/block-patterns-list/stories/index.story.js +81 -0
- package/src/components/block-patterns-list/style.scss +2 -0
- package/src/components/block-patterns-paging/index.js +1 -1
- package/src/components/block-popover/index.js +0 -62
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
- package/src/components/block-settings-menu/index.js +3 -0
- package/src/components/block-toolbar/change-design.js +133 -0
- package/src/components/block-toolbar/index.js +25 -8
- package/src/components/block-toolbar/style.scss +16 -0
- package/src/components/block-tools/index.js +4 -17
- package/src/components/block-tools/insertion-point.js +4 -3
- package/src/components/block-tools/style.scss +0 -20
- package/src/components/block-tools/use-show-block-tools.js +0 -13
- package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/block-vertical-alignment-control/ui.js +11 -15
- package/src/components/border-radius-control/linked-button.js +9 -11
- package/src/components/collab/block-comment-icon-slot.js +12 -0
- package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/src/components/convert-to-group-buttons/toolbar.js +4 -4
- package/src/components/global-styles/color-panel.js +2 -10
- package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
- package/src/components/global-styles/use-global-styles-context.native.js +6 -0
- package/src/components/iframe/content.scss +4 -9
- package/src/components/iframe/index.js +31 -34
- package/src/components/iframe/style.scss +2 -3
- package/src/components/image-size-control/index.js +74 -43
- package/src/components/image-size-control/test/index.js +5 -63
- package/src/components/inner-blocks/index.js +12 -6
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/src/components/inserter/category-tabs/index.js +16 -2
- package/src/components/inserter/menu.js +6 -4
- package/src/components/inserter/style.scss +13 -0
- package/src/components/inserter-button/index.native.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +1 -6
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/link-control/link-preview.js +15 -8
- package/src/components/link-control/test/index.js +63 -24
- package/src/components/list-view/appender.js +5 -6
- package/src/components/list-view/branch.js +8 -6
- package/src/components/list-view/index.js +1 -2
- package/src/components/provider/index.js +1 -3
- package/src/components/provider/test/experimental-provider.js +43 -1
- package/src/components/rich-text/event-listeners/index.js +4 -2
- package/src/components/rich-text/index.native.js +0 -2
- package/src/components/spacing-sizes-control/index.js +3 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/src/components/spacing-sizes-control/linked-button.js +2 -12
- package/src/components/tool-selector/index.js +1 -5
- package/src/components/url-input/index.js +1 -1
- package/src/components/use-block-commands/index.js +1 -1
- package/src/components/use-block-drop-zone/index.js +5 -5
- package/src/components/use-block-drop-zone/index.native.js +0 -1
- package/src/components/use-moving-animation/index.js +0 -1
- package/src/components/use-settings/index.js +0 -1
- package/src/components/writing-flow/index.js +5 -3
- package/src/components/writing-flow/use-tab-nav.js +1 -2
- package/src/hooks/block-bindings.js +48 -31
- package/src/hooks/contrast-checker.js +0 -1
- package/src/hooks/duotone.js +2 -2
- package/src/hooks/style.js +7 -3
- package/src/hooks/use-zoom-out.js +14 -34
- package/src/index.js +0 -1
- package/src/private-apis.js +6 -3
- package/src/store/actions.js +3 -52
- package/src/store/defaults.js +2 -1
- package/src/store/private-actions.js +71 -8
- package/src/store/private-selectors.js +9 -19
- package/src/store/reducer.js +25 -11
- package/src/store/selectors.js +59 -8
- package/src/store/test/actions.js +41 -0
- package/src/store/test/reducer.js +23 -0
- package/src/utils/dom.js +22 -2
- package/src/utils/get-font-styles-and-weights.js +2 -2
- package/src/utils/transform-styles/index.js +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build/components/block-toolbar/shuffle.js +0 -110
- package/build/components/block-toolbar/shuffle.js.map +0 -1
- package/build/components/block-tools/zoom-out-popover.js +0 -58
- package/build/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build/components/block-tools/zoom-out-toolbar.js +0 -132
- package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build/components/block-vertical-alignment-control/icons.js +0 -48
- package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build-module/components/block-toolbar/shuffle.js +0 -103
- package/build-module/components/block-toolbar/shuffle.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-popover.js +0 -49
- package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
- package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
- package/src/components/block-toolbar/shuffle.js +0 -111
- package/src/components/block-tools/zoom-out-popover.js +0 -47
- package/src/components/block-tools/zoom-out-toolbar.js +0 -135
- package/src/components/block-vertical-alignment-control/icons.js +0 -34
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import blockLibraryStyles from '!!raw-loader!../../../../../block-library/build-style/style.css';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import BlockPatternsList from '../';
|
|
15
|
+
import { ExperimentalBlockEditorProvider } from '../../provider';
|
|
16
|
+
import patterns from './fixtures';
|
|
17
|
+
|
|
18
|
+
const blockEditorSettings = {
|
|
19
|
+
styles: [ { css: blockLibraryStyles } ],
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
component: BlockPatternsList,
|
|
24
|
+
title: 'BlockEditor/BlockPatternsList',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const Default = {
|
|
28
|
+
render: function Template( props ) {
|
|
29
|
+
const shownPatterns = useAsyncList( props.blockPatterns );
|
|
30
|
+
return (
|
|
31
|
+
<ExperimentalBlockEditorProvider settings={ blockEditorSettings }>
|
|
32
|
+
<BlockPatternsList
|
|
33
|
+
shownPatterns={ shownPatterns }
|
|
34
|
+
{ ...props }
|
|
35
|
+
/>
|
|
36
|
+
</ExperimentalBlockEditorProvider>
|
|
37
|
+
);
|
|
38
|
+
},
|
|
39
|
+
args: {
|
|
40
|
+
blockPatterns: patterns,
|
|
41
|
+
isDraggable: false,
|
|
42
|
+
label: 'Block patterns story',
|
|
43
|
+
showTitle: true,
|
|
44
|
+
showTitlesAsTooltip: false,
|
|
45
|
+
},
|
|
46
|
+
argTypes: {
|
|
47
|
+
blockPatterns: { description: 'The patterns to render.' },
|
|
48
|
+
shownPatterns: {
|
|
49
|
+
description:
|
|
50
|
+
'Usually this component is used with `useAsyncList` for performance reasons and you should provide the returned list from that hook. Alternatively it should have the same value with `blockPatterns`.',
|
|
51
|
+
},
|
|
52
|
+
showTitle: {
|
|
53
|
+
description: 'Whether to render the title of each pattern.',
|
|
54
|
+
table: {
|
|
55
|
+
defaultValue: { summary: true },
|
|
56
|
+
type: { summary: 'boolean' },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
onClickPattern: { type: 'function' },
|
|
60
|
+
onHover: { type: 'function' },
|
|
61
|
+
showTitlesAsTooltip: {
|
|
62
|
+
description:
|
|
63
|
+
'Whether to render the title of each pattern as a tooltip. If enabled, it takes precedence over `showTitle` prop.',
|
|
64
|
+
},
|
|
65
|
+
orientation: {
|
|
66
|
+
description: 'Orientation for the underlying composite widget.',
|
|
67
|
+
table: {
|
|
68
|
+
defaultValue: { summary: 'both' },
|
|
69
|
+
type: { summary: 'string' },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
category: { description: 'The currently selected pattern category.' },
|
|
73
|
+
isDraggable: {
|
|
74
|
+
description: 'Whether the pattern list item should be draggable.',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
parameters: {
|
|
78
|
+
actions: { argTypesRegex: '^on.*' },
|
|
79
|
+
controls: { expanded: true },
|
|
80
|
+
},
|
|
81
|
+
};
|
|
@@ -62,7 +62,7 @@ export default function Pagination( {
|
|
|
62
62
|
</HStack>
|
|
63
63
|
<Text variant="muted">
|
|
64
64
|
{ sprintf(
|
|
65
|
-
// translators:
|
|
65
|
+
// translators: 1: Current page number. 2: Total number of pages.
|
|
66
66
|
_x( '%1$s of %2$s', 'paging' ),
|
|
67
67
|
currentPage,
|
|
68
68
|
numPages
|
|
@@ -8,7 +8,6 @@ import clsx from 'clsx';
|
|
|
8
8
|
*/
|
|
9
9
|
import { useMergeRefs } from '@wordpress/compose';
|
|
10
10
|
import { Popover } from '@wordpress/components';
|
|
11
|
-
import { useSelect } from '@wordpress/data';
|
|
12
11
|
import {
|
|
13
12
|
forwardRef,
|
|
14
13
|
useMemo,
|
|
@@ -22,8 +21,6 @@ import {
|
|
|
22
21
|
import { useBlockElement } from '../block-list/use-block-props/use-block-refs';
|
|
23
22
|
import usePopoverScroll from './use-popover-scroll';
|
|
24
23
|
import { rectUnion, getVisibleElementBounds } from '../../utils/dom';
|
|
25
|
-
import { store as blockEditorStore } from '../../store';
|
|
26
|
-
import { unlock } from '../../lock-unlock';
|
|
27
24
|
|
|
28
25
|
const MAX_POPOVER_RECOMPUTE_COUNTER = Number.MAX_SAFE_INTEGER;
|
|
29
26
|
|
|
@@ -77,38 +74,12 @@ function BlockPopover(
|
|
|
77
74
|
};
|
|
78
75
|
}, [ selectedElement ] );
|
|
79
76
|
|
|
80
|
-
const { isZoomOut, parentSectionBlock, isSectionSelected } = useSelect(
|
|
81
|
-
( select ) => {
|
|
82
|
-
const {
|
|
83
|
-
isZoomOut: isZoomOutSelector,
|
|
84
|
-
getSectionRootClientId,
|
|
85
|
-
getParentSectionBlock,
|
|
86
|
-
getBlockOrder,
|
|
87
|
-
} = unlock( select( blockEditorStore ) );
|
|
88
|
-
|
|
89
|
-
return {
|
|
90
|
-
isZoomOut: isZoomOutSelector(),
|
|
91
|
-
parentSectionBlock:
|
|
92
|
-
getParentSectionBlock( clientId ) ?? clientId,
|
|
93
|
-
isSectionSelected: getBlockOrder(
|
|
94
|
-
getSectionRootClientId()
|
|
95
|
-
).includes( clientId ),
|
|
96
|
-
};
|
|
97
|
-
},
|
|
98
|
-
[ clientId ]
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
// This element is used to position the zoom out view vertical toolbar
|
|
102
|
-
// correctly, relative to the selected section.
|
|
103
|
-
const parentSectionElement = useBlockElement( parentSectionBlock );
|
|
104
|
-
|
|
105
77
|
const popoverAnchor = useMemo( () => {
|
|
106
78
|
if (
|
|
107
79
|
// popoverDimensionsRecomputeCounter is by definition always equal or greater
|
|
108
80
|
// than 0. This check is only there to satisfy the correctness of the
|
|
109
81
|
// exhaustive-deps rule for the `useMemo` hook.
|
|
110
82
|
popoverDimensionsRecomputeCounter < 0 ||
|
|
111
|
-
( isZoomOut && ! parentSectionElement ) ||
|
|
112
83
|
! selectedElement ||
|
|
113
84
|
( bottomClientId && ! lastSelectedElement )
|
|
114
85
|
) {
|
|
@@ -117,35 +88,6 @@ function BlockPopover(
|
|
|
117
88
|
|
|
118
89
|
return {
|
|
119
90
|
getBoundingClientRect() {
|
|
120
|
-
// The zoom out view has a vertical block toolbar that should always
|
|
121
|
-
// be on the edge of the canvas, aligned to the top of the currently
|
|
122
|
-
// selected section. This condition changes the anchor of the toolbar
|
|
123
|
-
// to the section instead of the block to handle blocks that are
|
|
124
|
-
// not full width and nested blocks to keep section height.
|
|
125
|
-
if ( isZoomOut && isSectionSelected ) {
|
|
126
|
-
// Compute the height based on the parent section of the
|
|
127
|
-
// selected block, because the selected block may be
|
|
128
|
-
// shorter than the section.
|
|
129
|
-
const canvasElementRect = getVisibleElementBounds(
|
|
130
|
-
__unstableContentRef.current
|
|
131
|
-
);
|
|
132
|
-
const parentSectionElementRect =
|
|
133
|
-
getVisibleElementBounds( parentSectionElement );
|
|
134
|
-
const anchorHeight =
|
|
135
|
-
parentSectionElementRect.bottom -
|
|
136
|
-
parentSectionElementRect.top;
|
|
137
|
-
|
|
138
|
-
// Always use the width of the section root element to make sure
|
|
139
|
-
// the toolbar is always on the edge of the canvas.
|
|
140
|
-
const anchorWidth = canvasElementRect.width;
|
|
141
|
-
return new window.DOMRectReadOnly(
|
|
142
|
-
canvasElementRect.left,
|
|
143
|
-
parentSectionElementRect.top,
|
|
144
|
-
anchorWidth,
|
|
145
|
-
anchorHeight
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
91
|
return lastSelectedElement
|
|
150
92
|
? rectUnion(
|
|
151
93
|
getVisibleElementBounds( selectedElement ),
|
|
@@ -157,13 +99,9 @@ function BlockPopover(
|
|
|
157
99
|
};
|
|
158
100
|
}, [
|
|
159
101
|
popoverDimensionsRecomputeCounter,
|
|
160
|
-
isZoomOut,
|
|
161
|
-
parentSectionElement,
|
|
162
102
|
selectedElement,
|
|
163
103
|
bottomClientId,
|
|
164
104
|
lastSelectedElement,
|
|
165
|
-
isSectionSelected,
|
|
166
|
-
__unstableContentRef,
|
|
167
105
|
] );
|
|
168
106
|
|
|
169
107
|
if ( ! selectedElement || ( bottomClientId && ! lastSelectedElement ) ) {
|
|
@@ -59,7 +59,7 @@ export function BlockPreview( {
|
|
|
59
59
|
() => ( {
|
|
60
60
|
...originalSettings,
|
|
61
61
|
focusMode: false, // Disable "Spotlight mode".
|
|
62
|
-
|
|
62
|
+
isPreviewMode: true,
|
|
63
63
|
} ),
|
|
64
64
|
[ originalSettings ]
|
|
65
65
|
);
|
|
@@ -124,7 +124,7 @@ export function useBlockPreview( { blocks, props = {}, layout } ) {
|
|
|
124
124
|
...originalSettings,
|
|
125
125
|
styles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.
|
|
126
126
|
focusMode: false, // Disable "Spotlight mode".
|
|
127
|
-
|
|
127
|
+
isPreviewMode: true,
|
|
128
128
|
} ),
|
|
129
129
|
[ originalSettings ]
|
|
130
130
|
);
|
|
@@ -19,6 +19,7 @@ import { pipe, useCopyToClipboard } from '@wordpress/compose';
|
|
|
19
19
|
* Internal dependencies
|
|
20
20
|
*/
|
|
21
21
|
import BlockActions from '../block-actions';
|
|
22
|
+
import __unstableCommentIconFill from '../../components/collab/block-comment-icon-slot';
|
|
22
23
|
import BlockHTMLConvertButton from './block-html-convert-button';
|
|
23
24
|
import __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';
|
|
24
25
|
import BlockSettingsMenuControls from '../block-settings-menu-controls';
|
|
@@ -294,6 +295,9 @@ export function BlockSettingsDropdown( {
|
|
|
294
295
|
</MenuItem>
|
|
295
296
|
</>
|
|
296
297
|
) }
|
|
298
|
+
<__unstableCommentIconFill.Slot
|
|
299
|
+
fillProps={ { onClose } }
|
|
300
|
+
/>
|
|
297
301
|
</MenuGroup>
|
|
298
302
|
{ canCopyStyles && ! isContentOnly && (
|
|
299
303
|
<MenuGroup>
|
|
@@ -7,10 +7,13 @@ import { ToolbarGroup, ToolbarItem } from '@wordpress/components';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import BlockSettingsDropdown from './block-settings-dropdown';
|
|
10
|
+
import __unstableCommentIconToolbarFill from '../../components/collab/block-comment-icon-toolbar-slot';
|
|
10
11
|
|
|
11
12
|
export function BlockSettingsMenu( { clientIds, ...props } ) {
|
|
12
13
|
return (
|
|
13
14
|
<ToolbarGroup>
|
|
15
|
+
<__unstableCommentIconToolbarFill.Slot />
|
|
16
|
+
|
|
14
17
|
<ToolbarItem>
|
|
15
18
|
{ ( toggleProps ) => (
|
|
16
19
|
<BlockSettingsDropdown
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
ToolbarButton,
|
|
6
|
+
ToolbarGroup,
|
|
7
|
+
Dropdown,
|
|
8
|
+
__experimentalDropdownContentWrapper as DropdownContentWrapper,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
import { __ } from '@wordpress/i18n';
|
|
11
|
+
import { cloneBlock } from '@wordpress/blocks';
|
|
12
|
+
import { useMemo } from '@wordpress/element';
|
|
13
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
14
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Internal dependencies
|
|
18
|
+
*/
|
|
19
|
+
import { store as blockEditorStore } from '../../store';
|
|
20
|
+
import BlockPatternsList from '../block-patterns-list';
|
|
21
|
+
|
|
22
|
+
const EMPTY_ARRAY = [];
|
|
23
|
+
const MAX_PATTERNS_TO_SHOW = 6;
|
|
24
|
+
const POPOVER_PROPS = {
|
|
25
|
+
placement: 'bottom-start',
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default function ChangeDesign( { clientId } ) {
|
|
29
|
+
const { categories, currentPatternName, patterns } = useSelect(
|
|
30
|
+
( select ) => {
|
|
31
|
+
const {
|
|
32
|
+
getBlockAttributes,
|
|
33
|
+
getBlockRootClientId,
|
|
34
|
+
__experimentalGetAllowedPatterns,
|
|
35
|
+
} = select( blockEditorStore );
|
|
36
|
+
const attributes = getBlockAttributes( clientId );
|
|
37
|
+
const _categories = attributes?.metadata?.categories || EMPTY_ARRAY;
|
|
38
|
+
const rootBlock = getBlockRootClientId( clientId );
|
|
39
|
+
|
|
40
|
+
// Calling `__experimentalGetAllowedPatterns` is expensive.
|
|
41
|
+
// Checking if the block can be changed prevents unnecessary selector calls.
|
|
42
|
+
// See: https://github.com/WordPress/gutenberg/pull/64736.
|
|
43
|
+
const _patterns =
|
|
44
|
+
_categories.length > 0
|
|
45
|
+
? __experimentalGetAllowedPatterns( rootBlock )
|
|
46
|
+
: EMPTY_ARRAY;
|
|
47
|
+
return {
|
|
48
|
+
categories: _categories,
|
|
49
|
+
currentPatternName: attributes?.metadata?.patternName,
|
|
50
|
+
patterns: _patterns,
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
[ clientId ]
|
|
54
|
+
);
|
|
55
|
+
const { replaceBlocks } = useDispatch( blockEditorStore );
|
|
56
|
+
const sameCategoryPatternsWithSingleWrapper = useMemo( () => {
|
|
57
|
+
if ( categories.length === 0 || ! patterns || patterns.length === 0 ) {
|
|
58
|
+
return EMPTY_ARRAY;
|
|
59
|
+
}
|
|
60
|
+
return patterns
|
|
61
|
+
.filter( ( pattern ) => {
|
|
62
|
+
const isCorePattern =
|
|
63
|
+
pattern.source === 'core' ||
|
|
64
|
+
( pattern.source?.startsWith( 'pattern-directory' ) &&
|
|
65
|
+
pattern.source !== 'pattern-directory/theme' );
|
|
66
|
+
return (
|
|
67
|
+
// Check if the pattern has only one top level block,
|
|
68
|
+
// otherwise we may switch to a pattern that doesn't have replacement suggestions.
|
|
69
|
+
pattern.blocks.length === 1 &&
|
|
70
|
+
// We exclude the core patterns and pattern directory patterns that are not theme patterns.
|
|
71
|
+
! isCorePattern &&
|
|
72
|
+
// Exclude current pattern.
|
|
73
|
+
currentPatternName !== pattern.name &&
|
|
74
|
+
pattern.categories?.some( ( category ) => {
|
|
75
|
+
return categories.includes( category );
|
|
76
|
+
} ) &&
|
|
77
|
+
// Check if the pattern is not a synced pattern.
|
|
78
|
+
( pattern.syncStatus === 'unsynced' || ! pattern.id )
|
|
79
|
+
);
|
|
80
|
+
} )
|
|
81
|
+
.slice( 0, MAX_PATTERNS_TO_SHOW );
|
|
82
|
+
}, [ categories, currentPatternName, patterns ] );
|
|
83
|
+
|
|
84
|
+
const currentShownPatterns = useAsyncList(
|
|
85
|
+
sameCategoryPatternsWithSingleWrapper
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
if ( sameCategoryPatternsWithSingleWrapper.length < 2 ) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const onClickPattern = ( pattern ) => {
|
|
93
|
+
const newBlocks = ( pattern.blocks ?? [] ).map( ( block ) => {
|
|
94
|
+
return cloneBlock( block );
|
|
95
|
+
} );
|
|
96
|
+
newBlocks[ 0 ].attributes.metadata = {
|
|
97
|
+
...newBlocks[ 0 ].attributes.metadata,
|
|
98
|
+
categories,
|
|
99
|
+
};
|
|
100
|
+
replaceBlocks( clientId, newBlocks );
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
<Dropdown
|
|
105
|
+
popoverProps={ POPOVER_PROPS }
|
|
106
|
+
renderToggle={ ( { onToggle, isOpen } ) => {
|
|
107
|
+
return (
|
|
108
|
+
<ToolbarGroup>
|
|
109
|
+
<ToolbarButton
|
|
110
|
+
onClick={ () => onToggle( ! isOpen ) }
|
|
111
|
+
aria-expanded={ isOpen }
|
|
112
|
+
>
|
|
113
|
+
{ __( 'Change design' ) }
|
|
114
|
+
</ToolbarButton>
|
|
115
|
+
</ToolbarGroup>
|
|
116
|
+
);
|
|
117
|
+
} }
|
|
118
|
+
renderContent={ () => (
|
|
119
|
+
<DropdownContentWrapper
|
|
120
|
+
className="block-editor-block-toolbar-change-design-content-wrapper"
|
|
121
|
+
paddingSize="none"
|
|
122
|
+
>
|
|
123
|
+
<BlockPatternsList
|
|
124
|
+
shownPatterns={ currentShownPatterns }
|
|
125
|
+
blockPatterns={ sameCategoryPatternsWithSingleWrapper }
|
|
126
|
+
onClickPattern={ onClickPattern }
|
|
127
|
+
showTitle={ false }
|
|
128
|
+
/>
|
|
129
|
+
</DropdownContentWrapper>
|
|
130
|
+
) }
|
|
131
|
+
/>
|
|
132
|
+
);
|
|
133
|
+
}
|
|
@@ -35,6 +35,7 @@ import { store as blockEditorStore } from '../../store';
|
|
|
35
35
|
import __unstableBlockNameContext from './block-name-context';
|
|
36
36
|
import NavigableToolbar from '../navigable-toolbar';
|
|
37
37
|
import { useHasBlockToolbar } from './use-has-block-toolbar';
|
|
38
|
+
import ChangeDesign from './change-design';
|
|
38
39
|
import { unlock } from '../../lock-unlock';
|
|
39
40
|
|
|
40
41
|
/**
|
|
@@ -67,6 +68,10 @@ export function PrivateBlockToolbar( {
|
|
|
67
68
|
isUsingBindings,
|
|
68
69
|
hasParentPattern,
|
|
69
70
|
hasContentOnlyLocking,
|
|
71
|
+
showShuffleButton,
|
|
72
|
+
showSlots,
|
|
73
|
+
showGroupButtons,
|
|
74
|
+
showLockButtons,
|
|
70
75
|
} = useSelect( ( select ) => {
|
|
71
76
|
const {
|
|
72
77
|
getBlockName,
|
|
@@ -79,6 +84,7 @@ export function PrivateBlockToolbar( {
|
|
|
79
84
|
getBlockParentsByBlockName,
|
|
80
85
|
getTemplateLock,
|
|
81
86
|
getParentSectionBlock,
|
|
87
|
+
isZoomOut,
|
|
82
88
|
} = unlock( select( blockEditorStore ) );
|
|
83
89
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
84
90
|
const selectedBlockClientId = selectedBlockClientIds[ 0 ];
|
|
@@ -119,6 +125,7 @@ export function PrivateBlockToolbar( {
|
|
|
119
125
|
shouldShowVisualToolbar: isValid && isVisual,
|
|
120
126
|
toolbarKey: `${ selectedBlockClientId }${ parentClientId }`,
|
|
121
127
|
showParentSelector:
|
|
128
|
+
! isZoomOut() &&
|
|
122
129
|
parentBlockType &&
|
|
123
130
|
getBlockEditingMode( parentClientId ) !== 'disabled' &&
|
|
124
131
|
hasBlockSupport(
|
|
@@ -130,6 +137,10 @@ export function PrivateBlockToolbar( {
|
|
|
130
137
|
isUsingBindings: _isUsingBindings,
|
|
131
138
|
hasParentPattern: _hasParentPattern,
|
|
132
139
|
hasContentOnlyLocking: _hasTemplateLock,
|
|
140
|
+
showShuffleButton: isZoomOut(),
|
|
141
|
+
showSlots: ! isZoomOut(),
|
|
142
|
+
showGroupButtons: ! isZoomOut(),
|
|
143
|
+
showLockButtons: ! isZoomOut(),
|
|
133
144
|
};
|
|
134
145
|
}, [] );
|
|
135
146
|
|
|
@@ -179,7 +190,7 @@ export function PrivateBlockToolbar( {
|
|
|
179
190
|
key={ toolbarKey }
|
|
180
191
|
>
|
|
181
192
|
<div ref={ toolbarWrapperRef } className={ innerClasses }>
|
|
182
|
-
{ ! isMultiToolbar && isLargeViewport && (
|
|
193
|
+
{ showParentSelector && ! isMultiToolbar && isLargeViewport && (
|
|
183
194
|
<BlockParentSelector />
|
|
184
195
|
) }
|
|
185
196
|
{ ( shouldShowVisualToolbar || isMultiToolbar ) &&
|
|
@@ -190,11 +201,13 @@ export function PrivateBlockToolbar( {
|
|
|
190
201
|
>
|
|
191
202
|
<ToolbarGroup className="block-editor-block-toolbar__block-controls">
|
|
192
203
|
<BlockSwitcher clientIds={ blockClientIds } />
|
|
193
|
-
{ ! isMultiToolbar &&
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
204
|
+
{ ! isMultiToolbar &&
|
|
205
|
+
isDefaultEditingMode &&
|
|
206
|
+
showLockButtons && (
|
|
207
|
+
<BlockLockToolbar
|
|
208
|
+
clientId={ blockClientId }
|
|
209
|
+
/>
|
|
210
|
+
) }
|
|
198
211
|
<BlockMover
|
|
199
212
|
clientIds={ blockClientIds }
|
|
200
213
|
hideDragHandle={ hideDragHandle }
|
|
@@ -204,8 +217,12 @@ export function PrivateBlockToolbar( {
|
|
|
204
217
|
) }
|
|
205
218
|
{ ! hasContentOnlyLocking &&
|
|
206
219
|
shouldShowVisualToolbar &&
|
|
207
|
-
isMultiToolbar &&
|
|
208
|
-
|
|
220
|
+
isMultiToolbar &&
|
|
221
|
+
showGroupButtons && <BlockGroupToolbar /> }
|
|
222
|
+
{ showShuffleButton && (
|
|
223
|
+
<ChangeDesign clientId={ blockClientIds[ 0 ] } />
|
|
224
|
+
) }
|
|
225
|
+
{ shouldShowVisualToolbar && showSlots && (
|
|
209
226
|
<>
|
|
210
227
|
<BlockControls.Slot
|
|
211
228
|
group="parent"
|
|
@@ -285,3 +285,19 @@
|
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
+
|
|
289
|
+
.block-editor-block-toolbar-change-design-content-wrapper {
|
|
290
|
+
padding: $grid-unit-15;
|
|
291
|
+
width: 320px;
|
|
292
|
+
.block-editor-block-patterns-list {
|
|
293
|
+
display: grid;
|
|
294
|
+
grid-template-columns: 1fr 1fr;
|
|
295
|
+
grid-gap: $grid-unit-15;
|
|
296
|
+
.block-editor-block-patterns-list__list-item {
|
|
297
|
+
margin-bottom: 0;
|
|
298
|
+
}
|
|
299
|
+
.block-editor-inserter__media-list__list-item {
|
|
300
|
+
min-height: 100px;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
default as InsertionPoint,
|
|
20
20
|
} from './insertion-point';
|
|
21
21
|
import BlockToolbarPopover from './block-toolbar-popover';
|
|
22
|
-
import ZoomOutPopover from './zoom-out-popover';
|
|
23
22
|
import { store as blockEditorStore } from '../../store';
|
|
24
23
|
import usePopoverScroll from '../block-popover/use-popover-scroll';
|
|
25
24
|
import ZoomOutModeInserters from './zoom-out-mode-inserters';
|
|
@@ -31,21 +30,19 @@ function selector( select ) {
|
|
|
31
30
|
getSelectedBlockClientId,
|
|
32
31
|
getFirstMultiSelectedBlockClientId,
|
|
33
32
|
getSettings,
|
|
34
|
-
__unstableGetEditorMode,
|
|
35
33
|
isTyping,
|
|
36
34
|
isDragging,
|
|
35
|
+
isZoomOut,
|
|
37
36
|
} = unlock( select( blockEditorStore ) );
|
|
38
37
|
|
|
39
38
|
const clientId =
|
|
40
39
|
getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
41
40
|
|
|
42
|
-
const editorMode = __unstableGetEditorMode();
|
|
43
|
-
|
|
44
41
|
return {
|
|
45
42
|
clientId,
|
|
46
43
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
47
44
|
isTyping: isTyping(),
|
|
48
|
-
isZoomOutMode:
|
|
45
|
+
isZoomOutMode: isZoomOut(),
|
|
49
46
|
isDragging: isDragging(),
|
|
50
47
|
};
|
|
51
48
|
}
|
|
@@ -75,11 +72,8 @@ export default function BlockTools( {
|
|
|
75
72
|
isGroupable,
|
|
76
73
|
} = useSelect( blockEditorStore );
|
|
77
74
|
const { getGroupingBlockName } = useSelect( blocksStore );
|
|
78
|
-
const {
|
|
79
|
-
|
|
80
|
-
showBlockToolbarPopover,
|
|
81
|
-
showZoomOutToolbar,
|
|
82
|
-
} = useShowBlockTools();
|
|
75
|
+
const { showEmptyBlockSideInserter, showBlockToolbarPopover } =
|
|
76
|
+
useShowBlockTools();
|
|
83
77
|
|
|
84
78
|
const {
|
|
85
79
|
duplicateBlocks,
|
|
@@ -211,13 +205,6 @@ export default function BlockTools( {
|
|
|
211
205
|
/>
|
|
212
206
|
) }
|
|
213
207
|
|
|
214
|
-
{ showZoomOutToolbar && (
|
|
215
|
-
<ZoomOutPopover
|
|
216
|
-
__unstableContentRef={ __unstableContentRef }
|
|
217
|
-
clientId={ clientId }
|
|
218
|
-
/>
|
|
219
|
-
) }
|
|
220
|
-
|
|
221
208
|
{ /* Used for the inline rich text toolbar. Until this toolbar is combined into BlockToolbar, someone implementing their own BlockToolbar will also need to use this to see the image caption toolbar. */ }
|
|
222
209
|
{ ! isZoomOutMode && ! hasFixedToolbar && (
|
|
223
210
|
<Popover.Slot
|
|
@@ -18,6 +18,7 @@ import Inserter from '../inserter';
|
|
|
18
18
|
import { store as blockEditorStore } from '../../store';
|
|
19
19
|
import BlockPopoverInbetween from '../block-popover/inbetween';
|
|
20
20
|
import BlockDropZonePopover from '../block-popover/drop-zone';
|
|
21
|
+
import { unlock } from '../../lock-unlock';
|
|
21
22
|
|
|
22
23
|
export const InsertionPointOpenRef = createContext();
|
|
23
24
|
|
|
@@ -47,8 +48,8 @@ function InbetweenInsertionPointPopover( {
|
|
|
47
48
|
getPreviousBlockClientId,
|
|
48
49
|
getNextBlockClientId,
|
|
49
50
|
getSettings,
|
|
50
|
-
|
|
51
|
-
} = select( blockEditorStore );
|
|
51
|
+
isZoomOut,
|
|
52
|
+
} = unlock( select( blockEditorStore ) );
|
|
52
53
|
const insertionPoint = getBlockInsertionPoint();
|
|
53
54
|
const order = getBlockOrder( insertionPoint.rootClientId );
|
|
54
55
|
|
|
@@ -78,7 +79,7 @@ function InbetweenInsertionPointPopover( {
|
|
|
78
79
|
rootClientId: insertionPoint.rootClientId,
|
|
79
80
|
isDistractionFree: settings.isDistractionFree,
|
|
80
81
|
isInserterShown: insertionPoint?.__unstableWithInserter,
|
|
81
|
-
isZoomOutMode:
|
|
82
|
+
isZoomOutMode: isZoomOut(),
|
|
82
83
|
};
|
|
83
84
|
}, [] );
|
|
84
85
|
const { getBlockEditingMode } = useSelect( blockEditorStore );
|
|
@@ -187,23 +187,3 @@
|
|
|
187
187
|
top: 50%;
|
|
188
188
|
left: 50%;
|
|
189
189
|
}
|
|
190
|
-
|
|
191
|
-
.zoom-out-toolbar {
|
|
192
|
-
|
|
193
|
-
.block-editor-block-mover-button.block-editor-block-mover-button:focus-visible::before,
|
|
194
|
-
.zoom-out-toolbar-button:focus::before,
|
|
195
|
-
.block-editor-block-toolbar-shuffle:focus::before,
|
|
196
|
-
.block-selection-button_drag-handle:focus::before {
|
|
197
|
-
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.block-editor-block-mover {
|
|
201
|
-
background: none;
|
|
202
|
-
border: none;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Make the spacing consistent between controls.
|
|
206
|
-
.zoom-out-toolbar-button {
|
|
207
|
-
height: $button-size-next-default-40px;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
@@ -25,8 +25,6 @@ export function useShowBlockTools() {
|
|
|
25
25
|
getSettings,
|
|
26
26
|
__unstableGetEditorMode,
|
|
27
27
|
isTyping,
|
|
28
|
-
getBlockOrder,
|
|
29
|
-
getSectionRootClientId,
|
|
30
28
|
} = unlock( select( blockEditorStore ) );
|
|
31
29
|
|
|
32
30
|
const clientId =
|
|
@@ -44,17 +42,7 @@ export function useShowBlockTools() {
|
|
|
44
42
|
! isTyping() &&
|
|
45
43
|
editorMode === 'edit' &&
|
|
46
44
|
isEmptyDefaultBlock;
|
|
47
|
-
const isZoomOut = editorMode === 'zoom-out';
|
|
48
|
-
const isSectionSelected = getBlockOrder(
|
|
49
|
-
getSectionRootClientId()
|
|
50
|
-
).includes( clientId );
|
|
51
|
-
const _showZoomOutToolbar =
|
|
52
|
-
clientId &&
|
|
53
|
-
isZoomOut &&
|
|
54
|
-
! _showEmptyBlockSideInserter &&
|
|
55
|
-
isSectionSelected;
|
|
56
45
|
const _showBlockToolbarPopover =
|
|
57
|
-
! _showZoomOutToolbar &&
|
|
58
46
|
! getSettings().hasFixedToolbar &&
|
|
59
47
|
! _showEmptyBlockSideInserter &&
|
|
60
48
|
hasSelectedBlock &&
|
|
@@ -63,7 +51,6 @@ export function useShowBlockTools() {
|
|
|
63
51
|
return {
|
|
64
52
|
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
65
53
|
showBlockToolbarPopover: _showBlockToolbarPopover,
|
|
66
|
-
showZoomOutToolbar: _showZoomOutToolbar,
|
|
67
54
|
};
|
|
68
55
|
}, [] );
|
|
69
56
|
}
|