@wordpress/block-editor 14.3.3 → 14.4.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 +46 -0
- package/build/autocompleters/link.js +2 -1
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/block-actions/index.js +1 -13
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-inspector/index.js +56 -75
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +5 -19
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +5 -8
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +3 -11
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +5 -3
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +14 -6
- package/build/components/block-list/zoom-out-separator.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +2 -4
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +13 -10
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +11 -13
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +2 -4
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -6
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +17 -14
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +16 -19
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/index.js +8 -11
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +1 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +2 -12
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/block-variation-picker/index.js +2 -4
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -4
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -4
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -4
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/global-styles/border-panel.js +1 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +2 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +3 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -4
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +24 -29
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/inner-blocks/index.js +1 -9
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +1 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +24 -5
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +23 -10
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +35 -13
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/menu.js +2 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +5 -5
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -4
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +11 -8
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +4 -8
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/link-control/index.js +5 -10
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +2 -4
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/list-view/block-contents.js +1 -25
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -4
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/media-placeholder/index.js +29 -43
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/rich-text/index.js +4 -8
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +2 -4
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/tool-selector/index.js +13 -12
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/button.js +14 -16
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +2 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +0 -61
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -25
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +6 -13
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/duotone.js +4 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +3 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +3 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +5 -4
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/layouts/flex.js +6 -38
- package/build/layouts/flex.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +13 -14
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +15 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +104 -7
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +22 -26
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +127 -56
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +4 -3
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-bindings.js +50 -0
- package/build/utils/block-bindings.js.map +1 -1
- package/build/utils/index.js +7 -0
- package/build/utils/index.js.map +1 -1
- package/build-module/autocompleters/link.js +2 -1
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/block-actions/index.js +1 -13
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +57 -76
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +5 -19
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -8
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +3 -11
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +5 -3
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +14 -6
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +2 -4
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +13 -10
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +10 -20
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +11 -13
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +2 -4
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +79 -76
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +2 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +17 -14
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +17 -20
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/index.js +8 -11
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +1 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +2 -12
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +2 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -4
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -4
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -4
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +1 -1
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +1 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -4
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +25 -30
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +1 -9
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +1 -1
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +23 -10
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +35 -13
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -2
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +6 -6
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -4
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +12 -9
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +4 -8
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/link-control/index.js +5 -10
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +2 -4
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +1 -25
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +2 -5
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +30 -44
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -8
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +2 -4
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +13 -12
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/button.js +15 -17
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +2 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -62
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +3 -26
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +6 -13
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout-child.js +4 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +4 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +5 -4
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/layouts/flex.js +7 -39
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +12 -12
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +14 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +98 -7
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +21 -25
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +129 -58
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +3 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-bindings.js +50 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-style/content-rtl.css +16 -70
- package/build-style/content.css +16 -70
- package/build-style/default-editor-styles-rtl.css +10 -1
- package/build-style/default-editor-styles.css +10 -1
- package/build-style/style-rtl.css +51 -149
- package/build-style/style.css +51 -149
- package/package.json +32 -32
- package/src/autocompleters/link.js +2 -1
- package/src/components/block-actions/index.js +1 -13
- package/src/components/block-draggable/style.scss +2 -2
- package/src/components/block-inspector/index.js +79 -95
- package/src/components/block-inspector/style.scss +2 -0
- package/src/components/block-list/block.js +7 -28
- package/src/components/block-list/content.scss +1 -61
- package/src/components/block-list/index.js +21 -29
- package/src/components/block-list/use-block-props/index.js +3 -10
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +19 -11
- package/src/components/block-list/use-in-between-inserter.js +5 -2
- package/src/components/block-list/zoom-out-separator.js +24 -8
- package/src/components/block-navigation/dropdown.js +1 -2
- package/src/components/block-parent-selector/index.js +13 -10
- package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
- package/src/components/block-patterns-paging/index.js +8 -7
- package/src/components/block-patterns-paging/style.scss +10 -27
- package/src/components/block-quick-navigation/index.js +1 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
- package/src/components/block-settings-menu-controls/index.js +0 -15
- package/src/components/block-switcher/index.js +37 -30
- package/src/components/block-toolbar/index.js +22 -34
- package/src/components/block-toolbar/style.scss +10 -1
- package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
- package/src/components/block-tools/index.js +7 -16
- package/src/components/block-tools/insertion-point.js +1 -4
- package/src/components/block-tools/style.scss +3 -88
- package/src/components/block-tools/use-show-block-tools.js +2 -12
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
- package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
- package/src/components/block-tools/zoom-out-toolbar.js +2 -13
- package/src/components/block-variation-picker/index.js +1 -2
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/button-block-appender/content.scss +0 -5
- package/src/components/button-block-appender/index.js +1 -2
- package/src/components/colors-gradients/dropdown.js +1 -5
- package/src/components/font-family/README.md +5 -1
- package/src/components/global-styles/border-panel.js +1 -1
- package/src/components/global-styles/color-panel.js +1 -5
- package/src/components/global-styles/dimensions-panel.js +1 -1
- package/src/components/global-styles/filters-panel.js +1 -2
- package/src/components/global-styles/shadow-panel-components.js +28 -33
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/inner-blocks/index.js +1 -16
- package/src/components/inserter/block-types-tab.js +1 -1
- package/src/components/inserter/hooks/use-block-types-state.js +34 -14
- package/src/components/inserter/hooks/use-insertion-point.js +35 -13
- package/src/components/inserter/hooks/use-patterns-state.js +46 -9
- package/src/components/inserter/media-tab/media-preview.js +38 -12
- package/src/components/inserter/menu.js +2 -2
- package/src/components/inserter/mobile-tab-navigation.js +10 -13
- package/src/components/inserter/quick-inserter.js +5 -4
- package/src/components/inserter/style.scss +0 -28
- package/src/components/inspector-controls-tabs/index.js +21 -20
- package/src/components/inspector-controls-tabs/style.scss +2 -6
- package/src/components/inspector-popover-header/index.js +2 -4
- package/src/components/inspector-popover-header/style.scss +0 -13
- package/src/components/link-control/index.js +2 -5
- package/src/components/link-control/settings-drawer.js +1 -2
- package/src/components/list-view/block-contents.js +1 -28
- package/src/components/list-view/block-select-button.js +2 -5
- package/src/components/list-view/style.scss +18 -14
- package/src/components/media-placeholder/content.scss +3 -19
- package/src/components/media-placeholder/index.js +23 -29
- package/src/components/rich-text/index.js +4 -13
- package/src/components/skip-to-selected-block/index.js +1 -2
- package/src/components/skip-to-selected-block/style.scss +0 -9
- package/src/components/tool-selector/index.js +14 -9
- package/src/components/tool-selector/style.scss +5 -0
- package/src/components/url-input/button.js +16 -12
- package/src/components/url-input/index.js +1 -2
- package/src/components/url-input/style.scss +0 -6
- package/src/components/use-block-commands/index.js +0 -58
- package/src/components/writing-flow/use-tab-nav.js +4 -36
- package/src/content.scss +0 -1
- package/src/hooks/block-bindings.js +9 -10
- package/src/hooks/duotone.js +4 -1
- package/src/hooks/layout-child.js +4 -1
- package/src/hooks/position.js +4 -1
- package/src/hooks/use-bindings-attributes.js +66 -63
- package/src/layouts/flex.js +10 -53
- package/src/private-apis.js +0 -2
- package/src/store/actions.js +14 -13
- package/src/store/private-actions.js +14 -0
- package/src/store/private-selectors.js +120 -16
- package/src/store/reducer.js +22 -28
- package/src/store/selectors.js +203 -114
- package/src/store/test/private-actions.js +15 -0
- package/src/store/test/private-selectors.js +34 -0
- package/src/store/test/reducer.js +40 -4
- package/src/store/test/selectors.js +183 -20
- package/src/store/utils.js +4 -2
- package/src/utils/block-bindings.js +49 -0
- package/src/utils/index.js +1 -0
- package/build/components/block-controls/use-has-block-controls.js +0 -43
- package/build/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build/components/block-tools/block-selection-button.js +0 -259
- package/build/components/block-tools/block-selection-button.js.map +0 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build/components/inserter/tabs.js +0 -78
- package/build/components/inserter/tabs.js.map +0 -1
- package/build-module/components/block-controls/use-has-block-controls.js +0 -34
- package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build-module/components/block-tools/block-selection-button.js +0 -254
- package/build-module/components/block-tools/block-selection-button.js.map +0 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build-module/components/inserter/tabs.js +0 -72
- package/build-module/components/inserter/tabs.js.map +0 -1
- package/src/components/block-controls/use-has-block-controls.js +0 -35
- package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
- package/src/components/block-tools/block-selection-button.js +0 -302
- package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
- package/src/components/inner-blocks/content.scss +0 -13
- package/src/components/inserter/tabs.js +0 -78
- package/src/components/inserter/test/block-types-tab.native.js +0 -67
|
@@ -27,27 +27,25 @@ export default function Pagination({
|
|
|
27
27
|
expanded: false,
|
|
28
28
|
spacing: 1,
|
|
29
29
|
className: "block-editor-patterns__grid-pagination-previous",
|
|
30
|
-
children: [/*#__PURE__*/_jsx(Button
|
|
31
|
-
// TODO: Switch to `true` (40px size) if possible
|
|
32
|
-
, {
|
|
33
|
-
__next40pxDefaultSize: false,
|
|
30
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
34
31
|
variant: "tertiary",
|
|
35
32
|
onClick: () => changePage(1),
|
|
36
33
|
disabled: currentPage === 1,
|
|
37
34
|
"aria-label": __('First page'),
|
|
35
|
+
size: "compact",
|
|
38
36
|
accessibleWhenDisabled: true,
|
|
37
|
+
className: "block-editor-patterns__grid-pagination-button",
|
|
39
38
|
children: /*#__PURE__*/_jsx("span", {
|
|
40
39
|
children: "\xAB"
|
|
41
40
|
})
|
|
42
|
-
}), /*#__PURE__*/_jsx(Button
|
|
43
|
-
// TODO: Switch to `true` (40px size) if possible
|
|
44
|
-
, {
|
|
45
|
-
__next40pxDefaultSize: false,
|
|
41
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
46
42
|
variant: "tertiary",
|
|
47
43
|
onClick: () => changePage(currentPage - 1),
|
|
48
44
|
disabled: currentPage === 1,
|
|
49
45
|
"aria-label": __('Previous page'),
|
|
46
|
+
size: "compact",
|
|
50
47
|
accessibleWhenDisabled: true,
|
|
48
|
+
className: "block-editor-patterns__grid-pagination-button",
|
|
51
49
|
children: /*#__PURE__*/_jsx("span", {
|
|
52
50
|
children: "\u2039"
|
|
53
51
|
})
|
|
@@ -61,15 +59,14 @@ export default function Pagination({
|
|
|
61
59
|
expanded: false,
|
|
62
60
|
spacing: 1,
|
|
63
61
|
className: "block-editor-patterns__grid-pagination-next",
|
|
64
|
-
children: [/*#__PURE__*/_jsx(Button
|
|
65
|
-
// TODO: Switch to `true` (40px size) if possible
|
|
66
|
-
, {
|
|
67
|
-
__next40pxDefaultSize: false,
|
|
62
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
68
63
|
variant: "tertiary",
|
|
69
64
|
onClick: () => changePage(currentPage + 1),
|
|
70
65
|
disabled: currentPage === numPages,
|
|
71
66
|
"aria-label": __('Next page'),
|
|
67
|
+
size: "compact",
|
|
72
68
|
accessibleWhenDisabled: true,
|
|
69
|
+
className: "block-editor-patterns__grid-pagination-button",
|
|
73
70
|
children: /*#__PURE__*/_jsx("span", {
|
|
74
71
|
children: "\u203A"
|
|
75
72
|
})
|
|
@@ -78,8 +75,9 @@ export default function Pagination({
|
|
|
78
75
|
onClick: () => changePage(numPages),
|
|
79
76
|
disabled: currentPage === numPages,
|
|
80
77
|
"aria-label": __('Last page'),
|
|
81
|
-
size: "
|
|
78
|
+
size: "compact",
|
|
82
79
|
accessibleWhenDisabled: true,
|
|
80
|
+
className: "block-editor-patterns__grid-pagination-button",
|
|
83
81
|
children: /*#__PURE__*/_jsx("span", {
|
|
84
82
|
children: "\xBB"
|
|
85
83
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalText","Text","Button","__","_x","_n","sprintf","jsx","_jsx","jsxs","_jsxs","Pagination","currentPage","numPages","changePage","totalItems","className","children","variant","expanded","spacing","justify","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalText","Text","Button","__","_x","_n","sprintf","jsx","_jsx","jsxs","_jsxs","Pagination","currentPage","numPages","changePage","totalItems","className","children","variant","expanded","spacing","justify","onClick","disabled","size","accessibleWhenDisabled"],"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\tsize=\"compact\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-button\"\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\tsize=\"compact\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-button\"\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\tsize=\"compact\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-button\"\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=\"compact\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"block-editor-patterns__grid-pagination-button\"\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":"AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,kBAAkB,IAAIC,IAAI,EAC1BC,MAAM,QACA,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEtD,eAAe,SAASC,UAAUA,CAAE;EACnCC,WAAW;EACXC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,oBACCL,KAAA,CAACb,MAAM;IAACmB,SAAS,EAAC,gDAAgD;IAAAC,QAAA,gBACjET,IAAA,CAACP,IAAI;MAACiB,OAAO,EAAC,OAAO;MAAAD,QAAA,EAClBX,OAAO;MACR;MACAD,EAAE,CAAE,SAAS,EAAE,UAAU,EAAEU,UAAW,CAAC,EACvCA,UACD;IAAC,CACI,CAAC,EAELF,QAAQ,GAAG,CAAC,iBACbH,KAAA,CAACX,MAAM;MACNoB,QAAQ,EAAG,KAAO;MAClBC,OAAO,EAAG,CAAG;MACbC,OAAO,EAAC,YAAY;MACpBL,SAAS,EAAC,wCAAwC;MAAAC,QAAA,gBAElDP,KAAA,CAACX,MAAM;QACNoB,QAAQ,EAAG,KAAO;QAClBC,OAAO,EAAG,CAAG;QACbJ,SAAS,EAAC,iDAAiD;QAAAC,QAAA,gBAE3DT,IAAA,CAACN,MAAM;UACNgB,OAAO,EAAC,UAAU;UAClBI,OAAO,EAAGA,CAAA,KAAMR,UAAU,CAAE,CAAE,CAAG;UACjCS,QAAQ,EAAGX,WAAW,KAAK,CAAG;UAC9B,cAAaT,EAAE,CAAE,YAAa,CAAG;UACjCqB,IAAI,EAAC,SAAS;UACdC,sBAAsB;UACtBT,SAAS,EAAC,+CAA+C;UAAAC,QAAA,eAEzDT,IAAA;YAAAS,QAAA,EAAM;UAAC,CAAM;QAAC,CACP,CAAC,eACTT,IAAA,CAACN,MAAM;UACNgB,OAAO,EAAC,UAAU;UAClBI,OAAO,EAAGA,CAAA,KAAMR,UAAU,CAAEF,WAAW,GAAG,CAAE,CAAG;UAC/CW,QAAQ,EAAGX,WAAW,KAAK,CAAG;UAC9B,cAAaT,EAAE,CAAE,eAAgB,CAAG;UACpCqB,IAAI,EAAC,SAAS;UACdC,sBAAsB;UACtBT,SAAS,EAAC,+CAA+C;UAAAC,QAAA,eAEzDT,IAAA;YAAAS,QAAA,EAAM;UAAC,CAAM;QAAC,CACP,CAAC;MAAA,CACF,CAAC,eACTT,IAAA,CAACP,IAAI;QAACiB,OAAO,EAAC,OAAO;QAAAD,QAAA,EAClBX,OAAO;QACR;QACAF,EAAE,CAAE,cAAc,EAAE,QAAS,CAAC,EAC9BQ,WAAW,EACXC,QACD;MAAC,CACI,CAAC,eACPH,KAAA,CAACX,MAAM;QACNoB,QAAQ,EAAG,KAAO;QAClBC,OAAO,EAAG,CAAG;QACbJ,SAAS,EAAC,6CAA6C;QAAAC,QAAA,gBAEvDT,IAAA,CAACN,MAAM;UACNgB,OAAO,EAAC,UAAU;UAClBI,OAAO,EAAGA,CAAA,KAAMR,UAAU,CAAEF,WAAW,GAAG,CAAE,CAAG;UAC/CW,QAAQ,EAAGX,WAAW,KAAKC,QAAU;UACrC,cAAaV,EAAE,CAAE,WAAY,CAAG;UAChCqB,IAAI,EAAC,SAAS;UACdC,sBAAsB;UACtBT,SAAS,EAAC,+CAA+C;UAAAC,QAAA,eAEzDT,IAAA;YAAAS,QAAA,EAAM;UAAC,CAAM;QAAC,CACP,CAAC,eACTT,IAAA,CAACN,MAAM;UACNgB,OAAO,EAAC,UAAU;UAClBI,OAAO,EAAGA,CAAA,KAAMR,UAAU,CAAED,QAAS,CAAG;UACxCU,QAAQ,EAAGX,WAAW,KAAKC,QAAU;UACrC,cAAaV,EAAE,CAAE,WAAY,CAAG;UAChCqB,IAAI,EAAC,SAAS;UACdC,sBAAsB;UACtBT,SAAS,EAAC,+CAA+C;UAAAC,QAAA,eAEzDT,IAAA;YAAAS,QAAA,EAAM;UAAC,CAAM;QAAC,CACP,CAAC;MAAA,CACF,CAAC;IAAA,CACF,CACR;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
|
|
@@ -51,10 +51,8 @@ function BlockQuickNavigationItem({
|
|
|
51
51
|
const {
|
|
52
52
|
selectBlock
|
|
53
53
|
} = useDispatch(blockEditorStore);
|
|
54
|
-
return /*#__PURE__*/_jsx(Button
|
|
55
|
-
|
|
56
|
-
, {
|
|
57
|
-
__next40pxDefaultSize: false,
|
|
54
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
55
|
+
__next40pxDefaultSize: true,
|
|
58
56
|
isPressed: isSelected,
|
|
59
57
|
onClick: async () => {
|
|
60
58
|
await selectBlock(clientId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalVStack","VStack","__experimentalTruncate","Truncate","Flex","FlexBlock","FlexItem","store","blockEditorStore","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","jsx","_jsx","jsxs","_jsxs","BlockQuickNavigation","clientIds","onSelect","length","spacing","children","map","clientId","BlockQuickNavigationItem","blockInformation","blockTitle","context","isSelected","select","isBlockSelected","hasSelectedInnerBlock","selectBlock","__next40pxDefaultSize","isPressed","onClick","icon","style","textAlign"],"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\
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalVStack","VStack","__experimentalTruncate","Truncate","Flex","FlexBlock","FlexItem","store","blockEditorStore","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","jsx","_jsx","jsxs","_jsxs","BlockQuickNavigation","clientIds","onSelect","length","spacing","children","map","clientId","BlockQuickNavigationItem","blockInformation","blockTitle","context","isSelected","select","isBlockSelected","hasSelectedInnerBlock","selectBlock","__next40pxDefaultSize","isPressed","onClick","icon","style","textAlign"],"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__next40pxDefaultSize\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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,MAAM,EACNC,oBAAoB,IAAIC,MAAM,EAC9BC,sBAAsB,IAAIC,QAAQ,EAClCC,IAAI,EACJC,SAAS,EACTC,QAAQ,QACF,uBAAuB;;AAE9B;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,0BAA0B,MAAM,kCAAkC;AACzE,OAAOC,oBAAoB,MAAM,wCAAwC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE1E,eAAe,SAASC,oBAAoBA,CAAE;EAAEC,SAAS;EAAEC;AAAS,CAAC,EAAG;EACvE,IAAK,CAAED,SAAS,CAACE,MAAM,EAAG;IACzB,OAAO,IAAI;EACZ;EACA,oBACCN,IAAA,CAACZ,MAAM;IAACmB,OAAO,EAAG,CAAG;IAAAC,QAAA,EAClBJ,SAAS,CAACK,GAAG,CAAIC,QAAQ,iBAC1BV,IAAA,CAACW,wBAAwB;MACxBN,QAAQ,EAAGA,QAAU;MAErBK,QAAQ,EAAGA;IAAU,GADfA,QAEN,CACA;EAAC,CACI,CAAC;AAEX;AAEA,SAASC,wBAAwBA,CAAE;EAAED,QAAQ;EAAEL;AAAS,CAAC,EAAG;EAC3D,MAAMO,gBAAgB,GAAGf,0BAA0B,CAAEa,QAAS,CAAC;EAC/D,MAAMG,UAAU,GAAGf,oBAAoB,CAAE;IACxCY,QAAQ;IACRI,OAAO,EAAE;EACV,CAAE,CAAC;EACH,MAAM;IAAEC;EAAW,CAAC,GAAG/B,SAAS,CAC7BgC,MAAM,IAAM;IACb,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/CF,MAAM,CAAErB,gBAAiB,CAAC;IAE3B,OAAO;MACNoB,UAAU,EACTE,eAAe,CAAEP,QAAS,CAAC,IAC3BQ,qBAAqB,CAAER,QAAQ,EAAE,WAAY,IAAK;IACpD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EACD,MAAM;IAAES;EAAY,CAAC,GAAGlC,WAAW,CAAEU,gBAAiB,CAAC;EAEvD,oBACCK,IAAA,CAACd,MAAM;IACNkC,qBAAqB;IACrBC,SAAS,EAAGN,UAAY;IACxBO,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrB,MAAMH,WAAW,CAAET,QAAS,CAAC;MAC7B,IAAKL,QAAQ,EAAG;QACfA,QAAQ,CAAEK,QAAS,CAAC;MACrB;IACD,CAAG;IAAAF,QAAA,eAEHN,KAAA,CAACX,IAAI;MAAAiB,QAAA,gBACJR,IAAA,CAACP,QAAQ;QAAAe,QAAA,eACRR,IAAA,CAACJ,SAAS;UAAC2B,IAAI,EAAGX,gBAAgB,EAAEW;QAAM,CAAE;MAAC,CACpC,CAAC,eACXvB,IAAA,CAACR,SAAS;QAACgC,KAAK,EAAG;UAAEC,SAAS,EAAE;QAAO,CAAG;QAAAjB,QAAA,eACzCR,IAAA,CAACV,QAAQ;UAAAkB,QAAA,EAAGK;QAAU,CAAY;MAAC,CACzB,CAAC;IAAA,CACP;EAAC,CACA,CAAC;AAEX","ignoreList":[]}
|
|
@@ -58,7 +58,6 @@ export function BlockSettingsDropdown({
|
|
|
58
58
|
const firstBlockClientId = clientIds[0];
|
|
59
59
|
const {
|
|
60
60
|
firstParentClientId,
|
|
61
|
-
onlyBlock,
|
|
62
61
|
parentBlockType,
|
|
63
62
|
previousBlockClientId,
|
|
64
63
|
selectedBlockClientIds,
|
|
@@ -66,7 +65,6 @@ export function BlockSettingsDropdown({
|
|
|
66
65
|
isContentOnly
|
|
67
66
|
} = useSelect(select => {
|
|
68
67
|
const {
|
|
69
|
-
getBlockCount,
|
|
70
68
|
getBlockName,
|
|
71
69
|
getBlockRootClientId,
|
|
72
70
|
getPreviousBlockClientId,
|
|
@@ -82,7 +80,6 @@ export function BlockSettingsDropdown({
|
|
|
82
80
|
const parentBlockName = _firstParentClientId && getBlockName(_firstParentClientId);
|
|
83
81
|
return {
|
|
84
82
|
firstParentClientId: _firstParentClientId,
|
|
85
|
-
onlyBlock: 1 === getBlockCount(_firstParentClientId),
|
|
86
83
|
parentBlockType: _firstParentClientId && (getActiveBlockVariation(parentBlockName, getBlockAttributes(_firstParentClientId)) || getBlockType(parentBlockName)),
|
|
87
84
|
previousBlockClientId: getPreviousBlockClientId(firstBlockClientId),
|
|
88
85
|
selectedBlockClientIds: getSelectedBlockClientIds(),
|
|
@@ -153,6 +150,7 @@ export function BlockSettingsDropdown({
|
|
|
153
150
|
setOpenedBlockSettingsMenu(undefined);
|
|
154
151
|
}
|
|
155
152
|
}
|
|
153
|
+
const shouldShowBlockParentMenuItem = !parentBlockIsSelected && !!firstParentClientId;
|
|
156
154
|
return /*#__PURE__*/_jsx(BlockActions, {
|
|
157
155
|
clientIds: clientIds,
|
|
158
156
|
__experimentalUpdateSelection: !__experimentalSelectBlock,
|
|
@@ -160,88 +158,93 @@ export function BlockSettingsDropdown({
|
|
|
160
158
|
canCopyStyles,
|
|
161
159
|
canDuplicate,
|
|
162
160
|
canInsertBlock,
|
|
163
|
-
canMove,
|
|
164
161
|
canRemove,
|
|
165
162
|
onDuplicate,
|
|
166
163
|
onInsertAfter,
|
|
167
164
|
onInsertBefore,
|
|
168
165
|
onRemove,
|
|
169
166
|
onCopy,
|
|
170
|
-
onPasteStyles
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
shortcut:
|
|
206
|
-
|
|
167
|
+
onPasteStyles
|
|
168
|
+
}) => {
|
|
169
|
+
// It is possible that some plugins register fills for this menu
|
|
170
|
+
// even if Core doesn't render anything in the block settings menu.
|
|
171
|
+
// in which case, we may want to render the menu anyway.
|
|
172
|
+
// That said for now, we can start more conservative.
|
|
173
|
+
const isEmpty = !canRemove && !canDuplicate && !canInsertBlock && isContentOnly;
|
|
174
|
+
if (isEmpty) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
return /*#__PURE__*/_jsx(DropdownMenu, {
|
|
178
|
+
icon: moreVertical,
|
|
179
|
+
label: __('Options'),
|
|
180
|
+
className: "block-editor-block-settings-menu",
|
|
181
|
+
popoverProps: POPOVER_PROPS,
|
|
182
|
+
open: open,
|
|
183
|
+
onToggle: onToggle,
|
|
184
|
+
noIcons: true,
|
|
185
|
+
...props,
|
|
186
|
+
children: ({
|
|
187
|
+
onClose
|
|
188
|
+
}) => /*#__PURE__*/_jsxs(_Fragment, {
|
|
189
|
+
children: [/*#__PURE__*/_jsxs(MenuGroup, {
|
|
190
|
+
children: [/*#__PURE__*/_jsx(__unstableBlockSettingsMenuFirstItem.Slot, {
|
|
191
|
+
fillProps: {
|
|
192
|
+
onClose
|
|
193
|
+
}
|
|
194
|
+
}), shouldShowBlockParentMenuItem && /*#__PURE__*/_jsx(BlockParentSelectorMenuItem, {
|
|
195
|
+
parentClientId: firstParentClientId,
|
|
196
|
+
parentBlockType: parentBlockType
|
|
197
|
+
}), count === 1 && /*#__PURE__*/_jsx(BlockHTMLConvertButton, {
|
|
198
|
+
clientId: firstBlockClientId
|
|
199
|
+
}), !isContentOnly && /*#__PURE__*/_jsx(CopyMenuItem, {
|
|
200
|
+
clientIds: clientIds,
|
|
201
|
+
onCopy: onCopy,
|
|
202
|
+
shortcut: displayShortcut.primary('c')
|
|
203
|
+
}), canDuplicate && /*#__PURE__*/_jsx(MenuItem, {
|
|
204
|
+
onClick: pipe(onClose, onDuplicate, updateSelectionAfterDuplicate),
|
|
205
|
+
shortcut: shortcuts.duplicate,
|
|
206
|
+
children: __('Duplicate')
|
|
207
|
+
}), canInsertBlock && !isContentOnly && /*#__PURE__*/_jsxs(_Fragment, {
|
|
208
|
+
children: [/*#__PURE__*/_jsx(MenuItem, {
|
|
209
|
+
onClick: pipe(onClose, onInsertBefore),
|
|
210
|
+
shortcut: shortcuts.insertBefore,
|
|
211
|
+
children: __('Add before')
|
|
212
|
+
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
213
|
+
onClick: pipe(onClose, onInsertAfter),
|
|
214
|
+
shortcut: shortcuts.insertAfter,
|
|
215
|
+
children: __('Add after')
|
|
216
|
+
})]
|
|
217
|
+
})]
|
|
218
|
+
}), canCopyStyles && !isContentOnly && /*#__PURE__*/_jsxs(MenuGroup, {
|
|
219
|
+
children: [/*#__PURE__*/_jsx(CopyMenuItem, {
|
|
220
|
+
clientIds: clientIds,
|
|
221
|
+
onCopy: onCopy,
|
|
222
|
+
label: __('Copy styles')
|
|
207
223
|
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
208
|
-
onClick:
|
|
209
|
-
|
|
210
|
-
children: __('Add after')
|
|
224
|
+
onClick: onPasteStyles,
|
|
225
|
+
children: __('Paste styles')
|
|
211
226
|
})]
|
|
227
|
+
}), /*#__PURE__*/_jsx(BlockSettingsMenuControls.Slot, {
|
|
228
|
+
fillProps: {
|
|
229
|
+
onClose,
|
|
230
|
+
count,
|
|
231
|
+
firstBlockClientId
|
|
232
|
+
},
|
|
233
|
+
clientIds: clientIds
|
|
234
|
+
}), typeof children === 'function' ? children({
|
|
235
|
+
onClose
|
|
236
|
+
}) : Children.map(child => cloneElement(child, {
|
|
237
|
+
onClose
|
|
238
|
+
})), canRemove && /*#__PURE__*/_jsx(MenuGroup, {
|
|
239
|
+
children: /*#__PURE__*/_jsx(MenuItem, {
|
|
240
|
+
onClick: pipe(onClose, onRemove, updateSelectionAfterRemove),
|
|
241
|
+
shortcut: shortcuts.remove,
|
|
242
|
+
children: __('Delete')
|
|
243
|
+
})
|
|
212
244
|
})]
|
|
213
|
-
})
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
onCopy: onCopy,
|
|
217
|
-
label: __('Copy styles')
|
|
218
|
-
}), /*#__PURE__*/_jsx(MenuItem, {
|
|
219
|
-
onClick: onPasteStyles,
|
|
220
|
-
children: __('Paste styles')
|
|
221
|
-
})]
|
|
222
|
-
}), /*#__PURE__*/_jsx(BlockSettingsMenuControls.Slot, {
|
|
223
|
-
fillProps: {
|
|
224
|
-
onClose,
|
|
225
|
-
canMove,
|
|
226
|
-
onMoveTo,
|
|
227
|
-
onlyBlock,
|
|
228
|
-
count,
|
|
229
|
-
firstBlockClientId
|
|
230
|
-
},
|
|
231
|
-
clientIds: clientIds
|
|
232
|
-
}), typeof children === 'function' ? children({
|
|
233
|
-
onClose
|
|
234
|
-
}) : Children.map(child => cloneElement(child, {
|
|
235
|
-
onClose
|
|
236
|
-
})), canRemove && /*#__PURE__*/_jsx(MenuGroup, {
|
|
237
|
-
children: /*#__PURE__*/_jsx(MenuItem, {
|
|
238
|
-
onClick: pipe(onClose, onRemove, updateSelectionAfterRemove),
|
|
239
|
-
shortcut: shortcuts.remove,
|
|
240
|
-
children: __('Delete')
|
|
241
|
-
})
|
|
242
|
-
})]
|
|
243
|
-
})
|
|
244
|
-
})
|
|
245
|
+
})
|
|
246
|
+
});
|
|
247
|
+
}
|
|
245
248
|
});
|
|
246
249
|
}
|
|
247
250
|
export default BlockSettingsDropdown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","displayShortcut","keyboardShortcutsStore","pipe","useCopyToClipboard","BlockActions","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","getBlocksByClientId","ref","copyMenuItemLabel","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","onlyBlock","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","icon","popoverProps","noIcons","onClose","Slot","fillProps","parentClientId","primary","onClick","map","child"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label, shortcut } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary(\n\t\t\t\t\t\t\t\t\t\t\t'c'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertBlock && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,YAAY,EACZC,SAAS,EACTC,KAAK,IAAIC,WAAW,QACd,mBAAmB;AAC1B,SAASC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AACzE,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,QAAQ,EAAEC,YAAY,QAAQ,oBAAoB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASX,KAAK,IAAIY,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASC,IAAI,EAAEC,kBAAkB,QAAQ,oBAAoB;;AAE7D;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,OAAOC,oCAAoC,MAAM,kCAAkC;AACnF,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,SAASnB,KAAK,IAAIoB,gBAAgB,QAAQ,aAAa;AACvD,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE,2CAA2C;EACtDC,SAAS,EAAE;AACZ,CAAC;AAED,SAASC,YAAYA,CAAE;EAAEC,SAAS;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAG;EAC/D,MAAM;IAAEC;EAAoB,CAAC,GAAG9B,SAAS,CAAEc,gBAAiB,CAAC;EAC7D,MAAMiB,GAAG,GAAGvB,kBAAkB,CAC7B,MAAMf,SAAS,CAAEqC,mBAAmB,CAAEJ,SAAU,CAAE,CAAC,EACnDC,MACD,CAAC;EACD,MAAMK,iBAAiB,GAAGJ,KAAK,GAAGA,KAAK,GAAGxB,EAAE,CAAE,MAAO,CAAC;EACtD,oBACCa,IAAA,CAACnB,QAAQ;IAACiC,GAAG,EAAGA,GAAK;IAACF,QAAQ,EAAGA,QAAU;IAAAI,QAAA,EACxCD;EAAiB,CACV,CAAC;AAEb;AAEA,OAAO,SAASE,qBAAqBA,CAAE;EACtCC,KAAK;EACLT,SAAS;EACTO,QAAQ;EACRG,yBAAyB;EACzB,GAAGC;AACJ,CAAC,EAAG;EACH;EACA,MAAMC,eAAe,GAAGH,KAAK,EAAEI,QAAQ;EACvC,MAAMC,KAAK,GAAGd,SAAS,CAACe,MAAM;EAC9B,MAAMC,kBAAkB,GAAGhB,SAAS,CAAE,CAAC,CAAE;EACzC,MAAM;IACLiB,mBAAmB;IACnBC,SAAS;IACTC,eAAe;IACfC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC;EACD,CAAC,GAAGjD,SAAS,CACVkD,MAAM,IAAM;IACb,MAAM;MACLC,aAAa;MACbC,YAAY;MACZC,oBAAoB;MACpBC,wBAAwB;MACxBC,yBAAyB;MACzBC,kBAAkB;MAClBC,0BAA0B;MAC1BC;IACD,CAAC,GAAG3C,MAAM,CAAEmC,MAAM,CAAEpC,gBAAiB,CAAE,CAAC;IAExC,MAAM;MAAE6C;IAAwB,CAAC,GAAGT,MAAM,CAAEvD,WAAY,CAAC;IAEzD,MAAMiE,oBAAoB,GACzBP,oBAAoB,CAAEX,kBAAmB,CAAC;IAC3C,MAAMmB,eAAe,GACpBD,oBAAoB,IAAIR,YAAY,CAAEQ,oBAAqB,CAAC;IAE7D,OAAO;MACNjB,mBAAmB,EAAEiB,oBAAoB;MACzChB,SAAS,EAAE,CAAC,KAAKO,aAAa,CAAES,oBAAqB,CAAC;MACtDf,eAAe,EACde,oBAAoB,KAClBD,uBAAuB,CACxBE,eAAe,EACfL,kBAAkB,CAAEI,oBAAqB,CAC1C,CAAC,IACApE,YAAY,CAAEqE,eAAgB,CAAC,CAAE;MACnCf,qBAAqB,EACpBQ,wBAAwB,CAAEZ,kBAAmB,CAAC;MAC/CK,sBAAsB,EAAEQ,yBAAyB,CAAC,CAAC;MACnDP,uBAAuB,EAAES,0BAA0B,CAAC,CAAC;MACrDR,aAAa,EACZS,mBAAmB,CAAEhB,kBAAmB,CAAC,KAAK;IAChD,CAAC;EACF,CAAC,EACD,CAAEA,kBAAkB,CACrB,CAAC;EACD,MAAM;IAAEoB,aAAa;IAAEP;EAA0B,CAAC,GACjDvD,SAAS,CAAEc,gBAAiB,CAAC;EAE9B,MAAM;IAAEiD;EAA2B,CAAC,GAAGhD,MAAM,CAC5ChB,WAAW,CAAEe,gBAAiB,CAC/B,CAAC;EAED,MAAMkD,SAAS,GAAGhE,SAAS,CAAIkD,MAAM,IAAM;IAC1C,MAAM;MAAEe;IAA0B,CAAC,GAAGf,MAAM,CAAE5C,sBAAuB,CAAC;IACtE,OAAO;MACN4D,SAAS,EAAED,yBAAyB,CACnC,6BACD,CAAC;MACDE,MAAM,EAAEF,yBAAyB,CAAE,0BAA2B,CAAC;MAC/DG,WAAW,EAAEH,yBAAyB,CACrC,gCACD,CAAC;MACDI,YAAY,EAAEJ,yBAAyB,CACtC,iCACD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMK,iBAAiB,GAAGvB,sBAAsB,CAACN,MAAM,GAAG,CAAC;EAE3D,eAAe8B,6BAA6BA,CAAEC,gBAAgB,EAAG;IAChE,IAAK,CAAEpC,yBAAyB,EAAG;MAClC;IACD;IAEA,MAAMqC,GAAG,GAAG,MAAMD,gBAAgB;IAClC,IAAKC,GAAG,IAAIA,GAAG,CAAE,CAAC,CAAE,EAAG;MACtBrC,yBAAyB,CAAEqC,GAAG,CAAE,CAAC,CAAE,EAAE,KAAM,CAAC;IAC7C;EACD;EAEA,SAASC,0BAA0BA,CAAA,EAAG;IACrC,IAAK,CAAEtC,yBAAyB,EAAG;MAClC;IACD;IAEA,IAAIuC,YAAY,GAAG7B,qBAAqB,IAAIH,mBAAmB;;IAE/D;IACA,IAAK,CAAEgC,YAAY,EAAG;MACrBA,YAAY,GAAGb,aAAa,CAAC,CAAC,CAAE,CAAC,CAAE;IACpC;;IAEA;IACA,MAAMc,qBAAqB,GAC1BN,iBAAiB,IAAIf,yBAAyB,CAAC,CAAC,CAACd,MAAM,KAAK,CAAC;IAE9DL,yBAAyB,CAAEuC,YAAY,EAAEC,qBAAsB,CAAC;EACjE;;EAEA;EACA;EACA,MAAMC,qBAAqB,GAC1B9B,sBAAsB,EAAE+B,QAAQ,CAAEnC,mBAAoB,CAAC;;EAExD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoC,IAAI,GAAG,CAAEzC,eAAe,GAC3B0C,SAAS,GACThC,uBAAuB,KAAKV,eAAe,IAAI,KAAK;EAEvD,SAAS2C,QAAQA,CAAEC,SAAS,EAAG;IAC9B,IAAKA,SAAS,IAAIlC,uBAAuB,KAAKV,eAAe,EAAG;MAC/DyB,0BAA0B,CAAEzB,eAAgB,CAAC;IAC9C,CAAC,MAAM,IACN,CAAE4C,SAAS,IACXlC,uBAAuB,IACvBA,uBAAuB,KAAKV,eAAe,EAC1C;MACDyB,0BAA0B,CAAEiB,SAAU,CAAC;IACxC;EACD;EAEA,oBACC/D,IAAA,CAACR,YAAY;IACZiB,SAAS,EAAGA,SAAW;IACvByD,6BAA6B,EAAG,CAAE/C,yBAA2B;IAAAH,QAAA,EAE3DA,CAAE;MACHmD,aAAa;MACbC,YAAY;MACZC,cAAc;MACdC,OAAO;MACPC,SAAS;MACTC,WAAW;MACXC,aAAa;MACbC,cAAc;MACdC,QAAQ;MACRjE,MAAM;MACNkE,aAAa;MACbC;IACD,CAAC,kBACA7E,IAAA,CAACrB,YAAY;MACZmG,IAAI,EAAG9F,YAAc;MACrB2B,KAAK,EAAGxB,EAAE,CAAE,SAAU,CAAG;MACzBmB,SAAS,EAAC,kCAAkC;MAC5CyE,YAAY,EAAG1E,aAAe;MAC9ByD,IAAI,EAAGA,IAAM;MACbE,QAAQ,EAAGA,QAAU;MACrBgB,OAAO;MAAA,GACF5D,KAAK;MAAAJ,QAAA,EAERA,CAAE;QAAEiE;MAAQ,CAAC,kBACd7E,KAAA,CAAAF,SAAA;QAAAc,QAAA,gBACCZ,KAAA,CAACxB,SAAS;UAAAoC,QAAA,gBACThB,IAAA,CAACN,oCAAoC,CAACwF,IAAI;YACzCC,SAAS,EAAG;cAAEF;YAAQ;UAAG,CACzB,CAAC,EACA,CAAErB,qBAAqB,IACxB,CAAC,CAAElC,mBAAmB,iBACrB1B,IAAA,CAACJ,2BAA2B;YAC3BwF,cAAc,EACb1D,mBACA;YACDE,eAAe,EAAGA;UAAiB,CACnC,CACD,EACAL,KAAK,KAAK,CAAC,iBACZvB,IAAA,CAACP,sBAAsB;YACtB6B,QAAQ,EAAGG;UAAoB,CAC/B,CACD,EACC,CAAEO,aAAa,iBAChBhC,IAAA,CAACQ,YAAY;YACZC,SAAS,EAAGA,SAAW;YACvBC,MAAM,EAAGA,MAAQ;YACjBE,QAAQ,EAAGxB,eAAe,CAACiG,OAAO,CACjC,GACD;UAAG,CACH,CACD,EACCjB,YAAY,iBACbpE,IAAA,CAACnB,QAAQ;YACRyG,OAAO,EAAGhG,IAAI,CACb2F,OAAO,EACPT,WAAW,EACXlB,6BACD,CAAG;YACH1C,QAAQ,EAAGmC,SAAS,CAACE,SAAW;YAAAjC,QAAA,EAE9B7B,EAAE,CAAE,WAAY;UAAC,CACV,CACV,EACCkF,cAAc,IAAI,CAAErC,aAAa,iBAClC5B,KAAA,CAAAF,SAAA;YAAAc,QAAA,gBACChB,IAAA,CAACnB,QAAQ;cACRyG,OAAO,EAAGhG,IAAI,CACb2F,OAAO,EACPP,cACD,CAAG;cACH9D,QAAQ,EAAGmC,SAAS,CAACK,YAAc;cAAApC,QAAA,EAEjC7B,EAAE,CAAE,YAAa;YAAC,CACX,CAAC,eACXa,IAAA,CAACnB,QAAQ;cACRyG,OAAO,EAAGhG,IAAI,CACb2F,OAAO,EACPR,aACD,CAAG;cACH7D,QAAQ,EAAGmC,SAAS,CAACI,WAAa;cAAAnC,QAAA,EAEhC7B,EAAE,CAAE,WAAY;YAAC,CACV,CAAC;UAAA,CACV,CACF;QAAA,CACS,CAAC,EACVgF,aAAa,IAAI,CAAEnC,aAAa,iBACjC5B,KAAA,CAACxB,SAAS;UAAAoC,QAAA,gBACThB,IAAA,CAACQ,YAAY;YACZC,SAAS,EAAGA,SAAW;YACvBC,MAAM,EAAGA,MAAQ;YACjBC,KAAK,EAAGxB,EAAE,CAAE,aAAc;UAAG,CAC7B,CAAC,eACFa,IAAA,CAACnB,QAAQ;YAACyG,OAAO,EAAGV,aAAe;YAAA5D,QAAA,EAChC7B,EAAE,CAAE,cAAe;UAAC,CACb,CAAC;QAAA,CACD,CACX,eACDa,IAAA,CAACL,yBAAyB,CAACuF,IAAI;UAC9BC,SAAS,EAAG;YACXF,OAAO;YACPX,OAAO;YACPO,QAAQ;YACRlD,SAAS;YACTJ,KAAK;YACLE;UACD,CAAG;UACHhB,SAAS,EAAGA;QAAW,CACvB,CAAC,EACA,OAAOO,QAAQ,KAAK,UAAU,GAC7BA,QAAQ,CAAE;UAAEiE;QAAQ,CAAE,CAAC,GACvBhG,QAAQ,CAACsG,GAAG,CAAIC,KAAK,IACrBtG,YAAY,CAAEsG,KAAK,EAAE;UAAEP;QAAQ,CAAE,CACjC,CAAC,EACFV,SAAS,iBACVvE,IAAA,CAACpB,SAAS;UAAAoC,QAAA,eACThB,IAAA,CAACnB,QAAQ;YACRyG,OAAO,EAAGhG,IAAI,CACb2F,OAAO,EACPN,QAAQ,EACRlB,0BACD,CAAG;YACH7C,QAAQ,EAAGmC,SAAS,CAACG,MAAQ;YAAAlC,QAAA,EAE3B7B,EAAE,CAAE,QAAS;UAAC,CACP;QAAC,CACD,CACX;MAAA,CACA;IACF,CACY;EACd,CACY,CAAC;AAEjB;AAEA,eAAe8B,qBAAqB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","displayShortcut","keyboardShortcutsStore","pipe","useCopyToClipboard","BlockActions","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","getBlocksByClientId","ref","copyMenuItemLabel","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","select","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","icon","popoverProps","noIcons","onClose","Slot","fillProps","parentClientId","primary","onClick","map","child"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label, shortcut } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t}\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\tconst shouldShowBlockParentMenuItem =\n\t\t! parentBlockIsSelected && !! firstParentClientId;\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t} ) => {\n\t\t\t\t// It is possible that some plugins register fills for this menu\n\t\t\t\t// even if Core doesn't render anything in the block settings menu.\n\t\t\t\t// in which case, we may want to render the menu anyway.\n\t\t\t\t// That said for now, we can start more conservative.\n\t\t\t\tconst isEmpty =\n\t\t\t\t\t! canRemove &&\n\t\t\t\t\t! canDuplicate &&\n\t\t\t\t\t! canInsertBlock &&\n\t\t\t\t\tisContentOnly;\n\n\t\t\t\tif ( isEmpty ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t\topen={ open }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ shouldShowBlockParentMenuItem && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary(\n\t\t\t\t\t\t\t\t\t\t\t\t'c'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ canInsertBlock && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\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</DropdownMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createSlotFill, MenuGroup,
|
|
4
|
+
import { createSlotFill, MenuGroup, __experimentalStyleProvider as StyleProvider } from '@wordpress/components';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import { pipe } from '@wordpress/compose';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* Internal dependencies
|
|
@@ -77,10 +75,7 @@ const BlockSettingsMenuControlsSlot = ({
|
|
|
77
75
|
clientId: selectedClientIds[0]
|
|
78
76
|
}), showRenameButton && /*#__PURE__*/_jsx(BlockRenameControl, {
|
|
79
77
|
clientId: selectedClientIds[0]
|
|
80
|
-
}), fills,
|
|
81
|
-
onClick: pipe(fillProps?.onClose, fillProps?.onMoveTo),
|
|
82
|
-
children: __('Move to')
|
|
83
|
-
}), selectedClientIds.length === 1 && /*#__PURE__*/_jsx(ModifyContentLockMenuItem, {
|
|
78
|
+
}), fills, selectedClientIds.length === 1 && /*#__PURE__*/_jsx(ModifyContentLockMenuItem, {
|
|
84
79
|
clientId: selectedClientIds[0],
|
|
85
80
|
onClose: fillProps?.onClose
|
|
86
81
|
}), fillProps?.count === 1 && !isContentOnly && /*#__PURE__*/_jsx(BlockModeToggle, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSlotFill","MenuGroup","
|
|
1
|
+
{"version":3,"names":["createSlotFill","MenuGroup","__experimentalStyleProvider","StyleProvider","useSelect","useConvertToGroupButtonProps","ConvertToGroupButton","BlockLockMenuItem","useBlockLock","store","blockEditorStore","BlockModeToggle","ModifyContentLockMenuItem","BlockRenameControl","useBlockRename","jsx","_jsx","jsxs","_jsxs","Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","select","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","ids","canLock","canRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","children","fills","onClose","clientId","count","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","document"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\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{ 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":[]}
|
|
@@ -24,8 +24,7 @@ function BlockSwitcherDropdownMenuContents({
|
|
|
24
24
|
onClose,
|
|
25
25
|
clientIds,
|
|
26
26
|
hasBlockStyles,
|
|
27
|
-
canRemove
|
|
28
|
-
isUsingBindings
|
|
27
|
+
canRemove
|
|
29
28
|
}) {
|
|
30
29
|
const {
|
|
31
30
|
replaceBlocks,
|
|
@@ -35,20 +34,23 @@ function BlockSwitcherDropdownMenuContents({
|
|
|
35
34
|
const {
|
|
36
35
|
possibleBlockTransformations,
|
|
37
36
|
patterns,
|
|
38
|
-
blocks
|
|
37
|
+
blocks,
|
|
38
|
+
isUsingBindings
|
|
39
39
|
} = useSelect(select => {
|
|
40
40
|
const {
|
|
41
|
+
getBlockAttributes,
|
|
41
42
|
getBlocksByClientId,
|
|
42
43
|
getBlockRootClientId,
|
|
43
44
|
getBlockTransformItems,
|
|
44
45
|
__experimentalGetPatternTransformItems
|
|
45
46
|
} = select(blockEditorStore);
|
|
46
|
-
const rootClientId = getBlockRootClientId(
|
|
47
|
+
const rootClientId = getBlockRootClientId(clientIds[0]);
|
|
47
48
|
const _blocks = getBlocksByClientId(clientIds);
|
|
48
49
|
return {
|
|
49
50
|
blocks: _blocks,
|
|
50
51
|
possibleBlockTransformations: getBlockTransformItems(_blocks, rootClientId),
|
|
51
|
-
patterns: __experimentalGetPatternTransformItems(_blocks, rootClientId)
|
|
52
|
+
patterns: __experimentalGetPatternTransformItems(_blocks, rootClientId),
|
|
53
|
+
isUsingBindings: clientIds.every(clientId => !!getBlockAttributes(clientId)?.metadata?.bindings)
|
|
52
54
|
};
|
|
53
55
|
}, [clientIds]);
|
|
54
56
|
const blockVariationTransformations = useBlockVariationTransforms({
|
|
@@ -145,9 +147,7 @@ const BlockIndicator = ({
|
|
|
145
147
|
})]
|
|
146
148
|
});
|
|
147
149
|
export const BlockSwitcher = ({
|
|
148
|
-
clientIds
|
|
149
|
-
disabled,
|
|
150
|
-
isUsingBindings
|
|
150
|
+
clientIds
|
|
151
151
|
}) => {
|
|
152
152
|
const {
|
|
153
153
|
hasContentOnlyLocking,
|
|
@@ -156,13 +156,15 @@ export const BlockSwitcher = ({
|
|
|
156
156
|
icon,
|
|
157
157
|
invalidBlocks,
|
|
158
158
|
isReusable,
|
|
159
|
-
isTemplate
|
|
159
|
+
isTemplate,
|
|
160
|
+
isDisabled
|
|
160
161
|
} = useSelect(select => {
|
|
161
162
|
const {
|
|
162
163
|
getTemplateLock,
|
|
163
164
|
getBlocksByClientId,
|
|
164
165
|
getBlockAttributes,
|
|
165
|
-
canRemoveBlocks
|
|
166
|
+
canRemoveBlocks,
|
|
167
|
+
getBlockEditingMode
|
|
166
168
|
} = select(blockEditorStore);
|
|
167
169
|
const {
|
|
168
170
|
getBlockStyles,
|
|
@@ -180,6 +182,7 @@ export const BlockSwitcher = ({
|
|
|
180
182
|
}] = _blocks;
|
|
181
183
|
const _isSingleBlockSelected = _blocks.length === 1;
|
|
182
184
|
const blockType = getBlockType(firstBlockName);
|
|
185
|
+
const editingMode = getBlockEditingMode(clientIds[0]);
|
|
183
186
|
let _icon;
|
|
184
187
|
let _hasTemplateLock;
|
|
185
188
|
if (_isSingleBlockSelected) {
|
|
@@ -202,7 +205,8 @@ export const BlockSwitcher = ({
|
|
|
202
205
|
icon: _icon,
|
|
203
206
|
isReusable: _isSingleBlockSelected && isReusableBlock(_blocks[0]),
|
|
204
207
|
isTemplate: _isSingleBlockSelected && isTemplatePart(_blocks[0]),
|
|
205
|
-
hasContentOnlyLocking: _hasTemplateLock
|
|
208
|
+
hasContentOnlyLocking: _hasTemplateLock,
|
|
209
|
+
isDisabled: editingMode !== 'default'
|
|
206
210
|
};
|
|
207
211
|
}, [clientIds]);
|
|
208
212
|
const blockTitle = useBlockDisplayTitle({
|
|
@@ -214,7 +218,7 @@ export const BlockSwitcher = ({
|
|
|
214
218
|
}
|
|
215
219
|
const isSingleBlock = clientIds.length === 1;
|
|
216
220
|
const blockSwitcherLabel = isSingleBlock ? blockTitle : __('Multiple blocks selected');
|
|
217
|
-
const hideDropdown =
|
|
221
|
+
const hideDropdown = isDisabled || !hasBlockStyles && !canRemove || hasContentOnlyLocking;
|
|
218
222
|
if (hideDropdown) {
|
|
219
223
|
return /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
220
224
|
children: /*#__PURE__*/_jsx(ToolbarButton, {
|
|
@@ -258,8 +262,7 @@ export const BlockSwitcher = ({
|
|
|
258
262
|
onClose: onClose,
|
|
259
263
|
clientIds: clientIds,
|
|
260
264
|
hasBlockStyles: hasBlockStyles,
|
|
261
|
-
canRemove: canRemove
|
|
262
|
-
isUsingBindings: isUsingBindings
|
|
265
|
+
canRemove: canRemove
|
|
263
266
|
})
|
|
264
267
|
})
|
|
265
268
|
})
|