@wordpress/block-editor 14.3.4 → 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 +4 -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 +12 -24
- package/build/components/media-placeholder/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/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/layouts/flex.js +6 -38
- package/build/layouts/flex.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 +2 -0
- package/build/utils/block-bindings.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 +12 -24
- package/build-module/components/media-placeholder/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/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/layouts/flex.js +7 -39
- package/build-module/layouts/flex.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 +2 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-style/content-rtl.css +14 -56
- package/build-style/content.css +14 -56
- 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/index.js +6 -12
- 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/duotone.js +4 -1
- package/src/hooks/layout-child.js +4 -1
- package/src/hooks/position.js +4 -1
- package/src/layouts/flex.js +10 -53
- 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 +2 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","hasDuotone","resetDuotone","undefined","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","__experimentalItemGroup","isBordered","isSeparated","Button","__next40pxDefaultSize","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\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</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","hasDuotone","resetDuotone","undefined","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","__experimentalItemGroup","isBordered","isSeparated","Button","__next40pxDefaultSize","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\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</DropdownContentWrapper>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,10 +48,8 @@ function ShadowPopoverContainer({
|
|
|
48
48
|
onSelect: onShadowChange
|
|
49
49
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
50
50
|
className: "block-editor-global-styles__clear-shadow",
|
|
51
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
52
|
-
|
|
53
|
-
, {
|
|
54
|
-
__next40pxDefaultSize: false,
|
|
51
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
52
|
+
__next40pxDefaultSize: true,
|
|
55
53
|
variant: "tertiary",
|
|
56
54
|
onClick: () => onShadowChange(undefined),
|
|
57
55
|
children: (0, _i18n.__)('Clear')
|
|
@@ -89,28 +87,27 @@ function ShadowIndicator({
|
|
|
89
87
|
onSelect,
|
|
90
88
|
shadow
|
|
91
89
|
}) {
|
|
92
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
// TODO: Switch to `true` (40px size) if possible
|
|
101
|
-
, {
|
|
102
|
-
__next40pxDefaultSize: false,
|
|
103
|
-
className: (0, _clsx.default)('block-editor-global-styles__shadow-indicator', {
|
|
104
|
-
unset: type === 'unset'
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
|
|
91
|
+
text: label,
|
|
92
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
93
|
+
role: "option",
|
|
94
|
+
"aria-label": label,
|
|
95
|
+
"aria-selected": isActive,
|
|
96
|
+
className: (0, _clsx.default)('block-editor-global-styles__shadow__item', {
|
|
97
|
+
'is-active': isActive
|
|
105
98
|
}),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
99
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
100
|
+
className: (0, _clsx.default)('block-editor-global-styles__shadow-indicator', {
|
|
101
|
+
unset: type === 'unset'
|
|
102
|
+
}),
|
|
103
|
+
onClick: onSelect,
|
|
104
|
+
style: {
|
|
105
|
+
boxShadow: shadow
|
|
106
|
+
},
|
|
107
|
+
"aria-label": label,
|
|
108
|
+
children: isActive && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
|
|
109
|
+
icon: _icons.check
|
|
110
|
+
})
|
|
114
111
|
})
|
|
115
112
|
})
|
|
116
113
|
});
|
|
@@ -151,10 +148,8 @@ function renderShadowToggle() {
|
|
|
151
148
|
}),
|
|
152
149
|
'aria-expanded': isOpen
|
|
153
150
|
};
|
|
154
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button
|
|
155
|
-
|
|
156
|
-
, {
|
|
157
|
-
__next40pxDefaultSize: false,
|
|
151
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
152
|
+
__next40pxDefaultSize: true,
|
|
158
153
|
...toggleProps,
|
|
159
154
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
160
155
|
justify: "flex-start",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Item","clsx","render","unset","style","boxShadow","showTooltip","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Composite.Item\n\t\t\trole=\"option\"\n\t\t\taria-label={ label }\n\t\t\taria-selected={ isActive }\n\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t'is-active': isActive,\n\t\t\t} ) }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\tshowTooltip\n\t\t\t\t>\n\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t{ ...toggleProps }\n\t\t\t>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Tooltip","text","Item","clsx","render","unset","style","boxShadow","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -172,14 +172,11 @@ function useInnerBlocksProps(props = {}, options = {}) {
|
|
|
172
172
|
const selected = (0, _data.useSelect)(select => {
|
|
173
173
|
const {
|
|
174
174
|
getBlockName,
|
|
175
|
-
isBlockSelected,
|
|
176
|
-
hasSelectedInnerBlock,
|
|
177
175
|
__unstableGetEditorMode,
|
|
178
176
|
getTemplateLock,
|
|
179
177
|
getBlockRootClientId,
|
|
180
178
|
getBlockEditingMode,
|
|
181
179
|
getBlockSettings,
|
|
182
|
-
isDragging,
|
|
183
180
|
getSectionRootClientId
|
|
184
181
|
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
185
182
|
let _isDropZoneDisabled;
|
|
@@ -193,7 +190,6 @@ function useInnerBlocksProps(props = {}, options = {}) {
|
|
|
193
190
|
getBlockType
|
|
194
191
|
} = select(_blocks.store);
|
|
195
192
|
const blockName = getBlockName(clientId);
|
|
196
|
-
const enableClickThrough = __unstableGetEditorMode() === 'navigation';
|
|
197
193
|
const blockEditingMode = getBlockEditingMode(clientId);
|
|
198
194
|
const parentClientId = getBlockRootClientId(clientId);
|
|
199
195
|
const [defaultLayout] = getBlockSettings(clientId, 'layout');
|
|
@@ -207,7 +203,6 @@ function useInnerBlocksProps(props = {}, options = {}) {
|
|
|
207
203
|
}
|
|
208
204
|
return {
|
|
209
205
|
__experimentalCaptureToolbars: hasBlockSupport(blockName, '__experimentalExposeControlsToChildren', false),
|
|
210
|
-
hasOverlay: blockName !== 'core/template' && !isBlockSelected(clientId) && !hasSelectedInnerBlock(clientId, true) && enableClickThrough && !isDragging(),
|
|
211
206
|
name: blockName,
|
|
212
207
|
blockType: getBlockType(blockName),
|
|
213
208
|
parentLock: getTemplateLock(parentClientId),
|
|
@@ -218,7 +213,6 @@ function useInnerBlocksProps(props = {}, options = {}) {
|
|
|
218
213
|
}, [clientId]);
|
|
219
214
|
const {
|
|
220
215
|
__experimentalCaptureToolbars,
|
|
221
|
-
hasOverlay,
|
|
222
216
|
name,
|
|
223
217
|
blockType,
|
|
224
218
|
parentLock,
|
|
@@ -245,9 +239,7 @@ function useInnerBlocksProps(props = {}, options = {}) {
|
|
|
245
239
|
return {
|
|
246
240
|
...props,
|
|
247
241
|
ref,
|
|
248
|
-
className: (0, _clsx.default)(props.className, 'block-editor-block-list__layout', __unstableDisableLayoutClassNames ? '' : layoutClassNames,
|
|
249
|
-
'has-overlay': hasOverlay
|
|
250
|
-
}),
|
|
242
|
+
className: (0, _clsx.default)(props.className, 'block-editor-block-list__layout', __unstableDisableLayoutClassNames ? '' : layoutClassNames),
|
|
251
243
|
children: clientId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(InnerBlocks, {
|
|
252
244
|
...innerBlocksProps,
|
|
253
245
|
clientId: clientId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_data","_blocks","_buttonBlockAppender","_defaultBlockAppender","_useNestedSettingsUpdate","_useInnerBlockTemplateSync","_useBlockContext","_blockList","_blockContext","_context","_useBlockSync","_store","_useBlockDropZone","_lockUnlock","_jsxRuntime","EMPTY_OBJECT","BlockContext","children","clientId","context","useBlockContext","jsx","BlockContextProvider","value","BlockListItemsMemo","memo","BlockListItems","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","useNestedSettingsUpdate","useInnerBlockTemplateSync","defaultLayoutBlockSupport","getBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","useMemo","items","rootClientId","providesContext","Object","keys","length","ControlledInnerBlocks","useBlockSync","ForwardedInnerBlocks","forwardRef","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","useBlockEditContext","selected","useSelect","select","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","isDragging","getSectionRootClientId","unlock","blockEditorStore","_isDropZoneDisabled","isDropZoneDisabled","hasBlockSupport","getBlockType","blocksStore","blockName","enableClickThrough","blockEditingMode","parentClientId","sectionRootClientId","hasOverlay","blockDropZoneRef","useBlockDropZone","useMergeRefs","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","clsx","save","getInnerBlocksProps","DefaultBlockAppender","ButtonBlockAppender","Content","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif (\n\t\t! blockType?.providesContext ||\n\t\tObject.keys( blockType.providesContext ).length === 0\n\t) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tisDragging,\n\t\t\t\tgetSectionRootClientId,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tlet _isDropZoneDisabled;\n\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn { isDropZoneDisabled: _isDropZoneDisabled };\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation';\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\t_isDropZoneDisabled = blockEditingMode === 'disabled';\n\n\t\t\tif ( __unstableGetEditorMode() === 'zoom-out' ) {\n\t\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\thasOverlay,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_element","_data","_blocks","_buttonBlockAppender","_defaultBlockAppender","_useNestedSettingsUpdate","_useInnerBlockTemplateSync","_useBlockContext","_blockList","_blockContext","_context","_useBlockSync","_store","_useBlockDropZone","_lockUnlock","_jsxRuntime","EMPTY_OBJECT","BlockContext","children","clientId","context","useBlockContext","jsx","BlockContextProvider","value","BlockListItemsMemo","memo","BlockListItems","UncontrolledInnerBlocks","props","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","name","blockType","parentLock","defaultLayout","useNestedSettingsUpdate","useInnerBlockTemplateSync","defaultLayoutBlockSupport","getBlockSupport","allowSizingOnChildren","usedLayout","memoedLayout","useMemo","items","rootClientId","providesContext","Object","keys","length","ControlledInnerBlocks","useBlockSync","ForwardedInnerBlocks","forwardRef","ref","innerBlocksProps","useInnerBlocksProps","className","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","dropZoneElement","__unstableLayoutClassNames","layoutClassNames","useBlockEditContext","selected","useSelect","select","getBlockName","__unstableGetEditorMode","getTemplateLock","getBlockRootClientId","getBlockEditingMode","getBlockSettings","getSectionRootClientId","unlock","blockEditorStore","_isDropZoneDisabled","isDropZoneDisabled","hasBlockSupport","getBlockType","blocksStore","blockName","blockEditingMode","parentClientId","sectionRootClientId","blockDropZoneRef","useBlockDropZone","useMergeRefs","isManualPlacement","window","__experimentalEnableGridInteractivity","InnerBlocks","onChange","clsx","save","getInnerBlocksProps","DefaultBlockAppender","ButtonBlockAppender","Content","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_OBJECT = {};\n\nfunction BlockContext( { children, clientId } ) {\n\tconst context = useBlockContext( clientId );\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t{ children }\n\t\t</BlockContextProvider>\n\t);\n}\n\nconst BlockListItemsMemo = memo( BlockListItems );\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tparentLock,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// For controlled inner blocks, we don't want a change in blocks to\n\t// re-render the blocks list.\n\tconst items = (\n\t\t<BlockListItemsMemo\n\t\t\trootClientId={ clientId }\n\t\t\trenderAppender={ renderAppender }\n\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\tlayout={ memoedLayout }\n\t\t\twrapperRef={ wrapperRef }\n\t\t\tplaceholder={ placeholder }\n\t\t/>\n\t);\n\n\tif (\n\t\t! blockType?.providesContext ||\n\t\tObject.keys( blockType.providesContext ).length === 0\n\t) {\n\t\treturn items;\n\t}\n\n\treturn <BlockContext clientId={ clientId }>{ items }</BlockContext>;\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst {\n\t\t__unstableDisableLayoutClassNames,\n\t\t__unstableDisableDropZone,\n\t\tdropZoneElement,\n\t} = options;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockSettings,\n\t\t\t\tgetSectionRootClientId,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tlet _isDropZoneDisabled;\n\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn { isDropZoneDisabled: _isDropZoneDisabled };\n\t\t\t}\n\n\t\t\tconst { hasBlockSupport, getBlockType } = select( blocksStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\t\t\tconst parentClientId = getBlockRootClientId( clientId );\n\t\t\tconst [ defaultLayout ] = getBlockSettings( clientId, 'layout' );\n\n\t\t\t_isDropZoneDisabled = blockEditingMode === 'disabled';\n\n\t\t\tif ( __unstableGetEditorMode() === 'zoom-out' ) {\n\t\t\t\t// In zoom out mode, we want to disable the drop zone for the sections.\n\t\t\t\t// The inner blocks belonging to the section drop zone is\n\t\t\t\t// already disabled by the blocks themselves being disabled.\n\t\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\n\t\t\t\t_isDropZoneDisabled = clientId !== sectionRootClientId;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tname: blockName,\n\t\t\t\tblockType: getBlockType( blockName ),\n\t\t\t\tparentLock: getTemplateLock( parentClientId ),\n\t\t\t\tparentClientId,\n\t\t\t\tisDropZoneDisabled: _isDropZoneDisabled,\n\t\t\t\tdefaultLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\t__experimentalCaptureToolbars,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tparentClientId,\n\t\tisDropZoneDisabled,\n\t\tdefaultLayout,\n\t} = selected;\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\tdropZoneElement,\n\t\trootClientId: clientId,\n\t\tparentClientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ||\n\t\tisDropZoneDisabled ||\n\t\t( layout?.isManualPlacement &&\n\t\t\twindow.__experimentalEnableGridInteractivity )\n\t\t\t? null\n\t\t\t: blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\tname,\n\t\tblockType,\n\t\tparentLock,\n\t\tdefaultLayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: clsx(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AASA,IAAAK,oBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,wBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,0BAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,gBAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,aAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,iBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AAA2C,IAAAiB,WAAA,GAAAjB,OAAA;AA/B3C;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;;AAcA,MAAMkB,YAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,YAAYA,CAAE;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAMC,OAAO,GAAG,IAAAC,wBAAe,EAAEF,QAAS,CAAC;EAC3C,oBACC,IAAAJ,WAAA,CAAAO,GAAA,EAACb,aAAA,CAAAc,oBAAoB;IAACC,KAAK,EAAGJ,OAAS;IAAAF,QAAA,EACpCA;EAAQ,CACW,CAAC;AAEzB;AAEA,MAAMO,kBAAkB,GAAG,IAAAC,aAAI,EAAEC,yBAAe,CAAC;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,uBAAuBA,CAAEC,KAAK,EAAG;EACzC,MAAM;IACLV,QAAQ;IACRW,aAAa;IACbC,yBAAyB;IACzBC,YAAY;IACZC,YAAY;IACZC,0BAA0B;IAC1BC,0BAA0B;IAC1BC,QAAQ;IACRC,YAAY;IACZC,UAAU;IACVC,8BAA8B;IAC9BC,6BAA6B,EAAEC,eAAe;IAC9CC,6BAA6B;IAC7BC,cAAc;IACdC,WAAW;IACXC,WAAW;IACXC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,UAAU;IACVC;EACD,CAAC,GAAGrB,KAAK;EAET,IAAAsB,gCAAuB,EACtBhC,QAAQ,EACR8B,UAAU,EACVnB,aAAa,EACbC,yBAAyB,EACzBC,YAAY,EACZC,YAAY,EACZC,0BAA0B,EAC1BC,0BAA0B,EAC1BE,YAAY,EACZI,eAAe,EACfG,WAAW,EACXE,MACD,CAAC;EAED,IAAAM,kCAAyB,EACxBjC,QAAQ,EACRiB,QAAQ,EACRC,YAAY,EACZE,8BACD,CAAC;EAED,MAAMc,yBAAyB,GAC9B,IAAAC,uBAAe,EAAEP,IAAI,EAAE,QAAS,CAAC,IACjC,IAAAO,uBAAe,EAAEP,IAAI,EAAE,sBAAuB,CAAC,IAC/C/B,YAAY;EAEb,MAAM;IAAEuC,qBAAqB,GAAG;EAAM,CAAC,GAAGF,yBAAyB;EACnE,MAAMG,UAAU,GAAGV,MAAM,IAAIO,yBAAyB;EAEtD,MAAMI,YAAY,GAAG,IAAAC,gBAAO,EAC3B,OAAQ;IACP;IACA,GAAGR,aAAa;IAChB,GAAGM,UAAU;IACb,IAAKD,qBAAqB,IAAI;MAC7BA,qBAAqB,EAAE;IACxB,CAAC;EACF,CAAC,CAAE,EACH,CAAEL,aAAa,EAAEM,UAAU,EAAED,qBAAqB,CACnD,CAAC;;EAED;EACA;EACA,MAAMI,KAAK,gBACV,IAAA5C,WAAA,CAAAO,GAAA,EAACG,kBAAkB;IAClBmC,YAAY,EAAGzC,QAAU;IACzBwB,cAAc,EAAGA,cAAgB;IACjCD,6BAA6B,EAAGA,6BAA+B;IAC/DI,MAAM,EAAGW,YAAc;IACvBnB,UAAU,EAAGA,UAAY;IACzBO,WAAW,EAAGA;EAAa,CAC3B,CACD;EAED,IACC,CAAEG,SAAS,EAAEa,eAAe,IAC5BC,MAAM,CAACC,IAAI,CAAEf,SAAS,CAACa,eAAgB,CAAC,CAACG,MAAM,KAAK,CAAC,EACpD;IACD,OAAOL,KAAK;EACb;EAEA,oBAAO,IAAA5C,WAAA,CAAAO,GAAA,EAACL,YAAY;IAACE,QAAQ,EAAGA,QAAU;IAAAD,QAAA,EAAGyC;EAAK,CAAgB,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,qBAAqBA,CAAEpC,KAAK,EAAG;EACvC,IAAAqC,qBAAY,EAAErC,KAAM,CAAC;EACrB,oBAAO,IAAAd,WAAA,CAAAO,GAAA,EAACM,uBAAuB;IAAA,GAAMC;EAAK,CAAI,CAAC;AAChD;AAEA,MAAMsC,oBAAoB,GAAG,IAAAC,mBAAU,EAAE,CAAEvC,KAAK,EAAEwC,GAAG,KAAM;EAC1D,MAAMC,gBAAgB,GAAGC,mBAAmB,CAAE;IAAEF;EAAI,CAAC,EAAExC,KAAM,CAAC;EAC9D,oBACC,IAAAd,WAAA,CAAAO,GAAA;IAAKkD,SAAS,EAAC,2BAA2B;IAAAtD,QAAA,eACzC,IAAAH,WAAA,CAAAO,GAAA;MAAA,GAAUgD;IAAgB,CAAI;EAAC,CAC3B,CAAC;AAER,CAAE,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAE1C,KAAK,GAAG,CAAC,CAAC,EAAE4C,OAAO,GAAG,CAAC,CAAC,EAAG;EAC/D,MAAM;IACLC,iCAAiC;IACjCC,yBAAyB;IACzBC;EACD,CAAC,GAAGH,OAAO;EACX,MAAM;IACLtD,QAAQ;IACR2B,MAAM,GAAG,IAAI;IACb+B,0BAA0B,EAAEC,gBAAgB,GAAG;EAChD,CAAC,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EACzB,MAAMC,QAAQ,GAAG,IAAAC,eAAS,EACvBC,MAAM,IAAM;IACb,MAAM;MACLC,YAAY;MACZC,uBAAuB;MACvBC,eAAe;MACfC,oBAAoB;MACpBC,mBAAmB;MACnBC,gBAAgB;MAChBC;IACD,CAAC,GAAG,IAAAC,kBAAM,EAAER,MAAM,CAAES,YAAiB,CAAE,CAAC;IACxC,IAAIC,mBAAmB;IAEvB,IAAK,CAAEzE,QAAQ,EAAG;MACjB,OAAO;QAAE0E,kBAAkB,EAAED;MAAoB,CAAC;IACnD;IAEA,MAAM;MAAEE,eAAe;MAAEC;IAAa,CAAC,GAAGb,MAAM,CAAEc,aAAY,CAAC;IAC/D,MAAMC,SAAS,GAAGd,YAAY,CAAEhE,QAAS,CAAC;IAC1C,MAAM+E,gBAAgB,GAAGX,mBAAmB,CAAEpE,QAAS,CAAC;IACxD,MAAMgF,cAAc,GAAGb,oBAAoB,CAAEnE,QAAS,CAAC;IACvD,MAAM,CAAE+B,aAAa,CAAE,GAAGsC,gBAAgB,CAAErE,QAAQ,EAAE,QAAS,CAAC;IAEhEyE,mBAAmB,GAAGM,gBAAgB,KAAK,UAAU;IAErD,IAAKd,uBAAuB,CAAC,CAAC,KAAK,UAAU,EAAG;MAC/C;MACA;MACA;MACA,MAAMgB,mBAAmB,GAAGX,sBAAsB,CAAC,CAAC;MAEpDG,mBAAmB,GAAGzE,QAAQ,KAAKiF,mBAAmB;IACvD;IAEA,OAAO;MACN5D,6BAA6B,EAAEsD,eAAe,CAC7CG,SAAS,EACT,wCAAwC,EACxC,KACD,CAAC;MACDlD,IAAI,EAAEkD,SAAS;MACfjD,SAAS,EAAE+C,YAAY,CAAEE,SAAU,CAAC;MACpChD,UAAU,EAAEoC,eAAe,CAAEc,cAAe,CAAC;MAC7CA,cAAc;MACdN,kBAAkB,EAAED,mBAAmB;MACvC1C;IACD,CAAC;EACF,CAAC,EACD,CAAE/B,QAAQ,CACX,CAAC;EACD,MAAM;IACLqB,6BAA6B;IAC7BO,IAAI;IACJC,SAAS;IACTC,UAAU;IACVkD,cAAc;IACdN,kBAAkB;IAClB3C;EACD,CAAC,GAAG8B,QAAQ;EAEZ,MAAMqB,gBAAgB,GAAG,IAAAC,yBAAgB,EAAE;IAC1C1B,eAAe;IACfhB,YAAY,EAAEzC,QAAQ;IACtBgF;EACD,CAAE,CAAC;EAEH,MAAM9B,GAAG,GAAG,IAAAkC,qBAAY,EAAE,CACzB1E,KAAK,CAACwC,GAAG,EACTM,yBAAyB,IACzBkB,kBAAkB,IAChB/C,MAAM,EAAE0D,iBAAiB,IAC1BC,MAAM,CAACC,qCAAuC,GAC5C,IAAI,GACJL,gBAAgB,CAClB,CAAC;EAEH,MAAM/B,gBAAgB,GAAG;IACxB9B,6BAA6B;IAC7BM,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,UAAU;IACVC,aAAa;IACb,GAAGuB;EACJ,CAAC;EACD,MAAMkC,WAAW,GAChBrC,gBAAgB,CAAC9C,KAAK,IAAI8C,gBAAgB,CAACsC,QAAQ,GAChD3C,qBAAqB,GACrBrC,uBAAuB;EAE3B,OAAO;IACN,GAAGC,KAAK;IACRwC,GAAG;IACHG,SAAS,EAAE,IAAAqC,aAAI,EACdhF,KAAK,CAAC2C,SAAS,EACf,iCAAiC,EACjCE,iCAAiC,GAAG,EAAE,GAAGI,gBAC1C,CAAC;IACD5D,QAAQ,EAAEC,QAAQ,gBACjB,IAAAJ,WAAA,CAAAO,GAAA,EAACqF,WAAW;MAAA,GAAMrC,gBAAgB;MAAGnD,QAAQ,EAAGA;IAAU,CAAE,CAAC,gBAE7D,IAAAJ,WAAA,CAAAO,GAAA,EAACd,UAAA,CAAAmB,cAAc;MAAA,GAAM8C;IAAO,CAAI;EAElC,CAAC;AACF;AAEAF,mBAAmB,CAACuC,IAAI,GAAGC,qCAAmB;;AAE9C;AACA5C,oBAAoB,CAAC6C,oBAAoB,GAAGA,6BAAoB;AAChE7C,oBAAoB,CAAC8C,mBAAmB,GAAGA,4BAAmB;AAE9D9C,oBAAoB,CAAC+C,OAAO,GAAG,MAAM3C,mBAAmB,CAACuC,IAAI,CAAC,CAAC,CAAC5F,QAAQ;;AAExE;AACA;AACA;AAFA,IAAAiG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGelD,oBAAoB","ignoreList":[]}
|
|
@@ -153,7 +153,7 @@ function BlockTypesTab({
|
|
|
153
153
|
if (item.category === 'reusable') {
|
|
154
154
|
continue;
|
|
155
155
|
}
|
|
156
|
-
if (rootClientId && item.
|
|
156
|
+
if (rootClientId && item.isAllowedInCurrentRoot) {
|
|
157
157
|
itemsForCurrentRoot.push(item);
|
|
158
158
|
} else {
|
|
159
159
|
itemsRemaining.push(item);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_compose","_blockTypesList","_interopRequireDefault","_panel","_useBlockTypesState","_inserterListbox","_sorting","_noResults","_jsxRuntime","getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTabPanel","items","collections","categories","onSelectItem","onHover","showMostUsedBlocks","className","suggestedItems","useMemo","orderBy","slice","uncategorizedItems","filter","category","itemsPerCollection","result","Object","keys","forEach","namespace","length","useEffect","currentlyRenderedCategories","useAsyncList","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","jsxs","children","jsx","default","title","_x","onSelect","label","map","categoryItems","slug","icon","__","collection","collectionItems","BlockTypesTab","rootClientId","onInsert","ref","useBlockTypesState","itemsForCurrentRoot","itemsRemaining","push","Fragment","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect, forwardRef } from '@wordpress/element';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport InserterPanel from './panel';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\nimport InserterNoResults from './no-results';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nconst MAX_SUGGESTED_ITEMS = 6;\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function BlockTypesTabPanel( {\n\titems,\n\tcollections,\n\tcategories,\n\tonSelectItem,\n\tonHover,\n\tshowMostUsedBlocks,\n\tclassName,\n} ) {\n\tconst suggestedItems = useMemo( () => {\n\t\treturn orderBy( items, 'frecency', 'desc' ).slice(\n\t\t\t0,\n\t\t\tMAX_SUGGESTED_ITEMS\n\t\t);\n\t}, [ items ] );\n\n\tconst uncategorizedItems = useMemo( () => {\n\t\treturn items.filter( ( item ) => ! item.category );\n\t}, [ items ] );\n\n\tconst itemsPerCollection = useMemo( () => {\n\t\t// Create a new Object to avoid mutating collection.\n\t\tconst result = { ...collections };\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tresult[ namespace ] = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( result[ namespace ].length === 0 ) {\n\t\t\t\tdelete result[ namespace ];\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\t// Hide block preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\t/**\n\t * The inserter contains a big number of blocks and opening it is a costful operation.\n\t * The rendering is the most costful part of it, in order to improve the responsiveness\n\t * of the \"opening\" action, these lazy lists allow us to render the inserter category per category,\n\t * once all the categories are rendered, we start rendering the collections and the uncategorized block types.\n\t */\n\tconst currentlyRenderedCategories = useAsyncList( categories );\n\tconst didRenderAllCategories =\n\t\tcategories.length === currentlyRenderedCategories.length;\n\n\t// Async List requires an array.\n\tconst collectionEntries = useMemo( () => {\n\t\treturn Object.entries( collections );\n\t}, [ collections ] );\n\tconst currentlyRenderedCollections = useAsyncList(\n\t\tdidRenderAllCategories ? collectionEntries : EMPTY_ARRAY\n\t);\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ showMostUsedBlocks &&\n\t\t\t\t// Only show the most used blocks if the total amount of block\n\t\t\t\t// is larger than 1 row, otherwise it is not so useful.\n\t\t\t\titems.length > 3 &&\n\t\t\t\t!! suggestedItems.length && (\n\t\t\t\t\t<InserterPanel title={ _x( 'Most used', 'blocks' ) }>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ suggestedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ _x( 'Most used', 'blocks' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t{ currentlyRenderedCategories.map( ( category ) => {\n\t\t\t\tconst categoryItems = items.filter(\n\t\t\t\t\t( item ) => item.category === category.slug\n\t\t\t\t);\n\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ categoryItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ category.title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t>\n\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t/>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ currentlyRenderedCollections.map(\n\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\ticon={ collection.icon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\titems={ collectionItems }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\tlabel={ collection.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport function BlockTypesTab(\n\t{ rootClientId, onInsert, onHover, showMostUsedBlocks },\n\tref\n) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tif ( ! items.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\tconst itemsForCurrentRoot = [];\n\tconst itemsRemaining = [];\n\n\tfor ( const item of items ) {\n\t\t// Skip reusable blocks, they moved to the patterns tab.\n\t\tif ( item.category === 'reusable' ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( rootClientId && item.rootClientId === rootClientId ) {\n\t\t\titemsForCurrentRoot.push( item );\n\t\t} else {\n\t\t\titemsRemaining.push( item );\n\t\t}\n\t}\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div ref={ ref }>\n\t\t\t\t{ !! itemsForCurrentRoot.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\t\t\titems={ itemsForCurrentRoot }\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tcollections={ collections }\n\t\t\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__insertable-blocks-at-selection\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\titems={ itemsRemaining }\n\t\t\t\t\tcategories={ categories }\n\t\t\t\t\tcollections={ collections }\n\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tclassName=\"block-editor-inserter__all-blocks\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default forwardRef( BlockTypesTab );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_compose","_blockTypesList","_interopRequireDefault","_panel","_useBlockTypesState","_inserterListbox","_sorting","_noResults","_jsxRuntime","getBlockNamespace","item","name","split","MAX_SUGGESTED_ITEMS","EMPTY_ARRAY","BlockTypesTabPanel","items","collections","categories","onSelectItem","onHover","showMostUsedBlocks","className","suggestedItems","useMemo","orderBy","slice","uncategorizedItems","filter","category","itemsPerCollection","result","Object","keys","forEach","namespace","length","useEffect","currentlyRenderedCategories","useAsyncList","didRenderAllCategories","collectionEntries","entries","currentlyRenderedCollections","jsxs","children","jsx","default","title","_x","onSelect","label","map","categoryItems","slug","icon","__","collection","collectionItems","BlockTypesTab","rootClientId","onInsert","ref","useBlockTypesState","itemsForCurrentRoot","itemsRemaining","isAllowedInCurrentRoot","push","Fragment","_default","exports","forwardRef"],"sources":["@wordpress/block-editor/src/components/inserter/block-types-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useMemo, useEffect, forwardRef } from '@wordpress/element';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport InserterPanel from './panel';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\nimport InserterNoResults from './no-results';\n\nconst getBlockNamespace = ( item ) => item.name.split( '/' )[ 0 ];\n\nconst MAX_SUGGESTED_ITEMS = 6;\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function BlockTypesTabPanel( {\n\titems,\n\tcollections,\n\tcategories,\n\tonSelectItem,\n\tonHover,\n\tshowMostUsedBlocks,\n\tclassName,\n} ) {\n\tconst suggestedItems = useMemo( () => {\n\t\treturn orderBy( items, 'frecency', 'desc' ).slice(\n\t\t\t0,\n\t\t\tMAX_SUGGESTED_ITEMS\n\t\t);\n\t}, [ items ] );\n\n\tconst uncategorizedItems = useMemo( () => {\n\t\treturn items.filter( ( item ) => ! item.category );\n\t}, [ items ] );\n\n\tconst itemsPerCollection = useMemo( () => {\n\t\t// Create a new Object to avoid mutating collection.\n\t\tconst result = { ...collections };\n\t\tObject.keys( collections ).forEach( ( namespace ) => {\n\t\t\tresult[ namespace ] = items.filter(\n\t\t\t\t( item ) => getBlockNamespace( item ) === namespace\n\t\t\t);\n\t\t\tif ( result[ namespace ].length === 0 ) {\n\t\t\t\tdelete result[ namespace ];\n\t\t\t}\n\t\t} );\n\n\t\treturn result;\n\t}, [ items, collections ] );\n\n\t// Hide block preview on unmount.\n\tuseEffect( () => () => onHover( null ), [] );\n\n\t/**\n\t * The inserter contains a big number of blocks and opening it is a costful operation.\n\t * The rendering is the most costful part of it, in order to improve the responsiveness\n\t * of the \"opening\" action, these lazy lists allow us to render the inserter category per category,\n\t * once all the categories are rendered, we start rendering the collections and the uncategorized block types.\n\t */\n\tconst currentlyRenderedCategories = useAsyncList( categories );\n\tconst didRenderAllCategories =\n\t\tcategories.length === currentlyRenderedCategories.length;\n\n\t// Async List requires an array.\n\tconst collectionEntries = useMemo( () => {\n\t\treturn Object.entries( collections );\n\t}, [ collections ] );\n\tconst currentlyRenderedCollections = useAsyncList(\n\t\tdidRenderAllCategories ? collectionEntries : EMPTY_ARRAY\n\t);\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ showMostUsedBlocks &&\n\t\t\t\t// Only show the most used blocks if the total amount of block\n\t\t\t\t// is larger than 1 row, otherwise it is not so useful.\n\t\t\t\titems.length > 3 &&\n\t\t\t\t!! suggestedItems.length && (\n\t\t\t\t\t<InserterPanel title={ _x( 'Most used', 'blocks' ) }>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ suggestedItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ _x( 'Most used', 'blocks' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t) }\n\n\t\t\t{ currentlyRenderedCategories.map( ( category ) => {\n\t\t\t\tconst categoryItems = items.filter(\n\t\t\t\t\t( item ) => item.category === category.slug\n\t\t\t\t);\n\t\t\t\tif ( ! categoryItems || ! categoryItems.length ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\ticon={ category.icon }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\titems={ categoryItems }\n\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tlabel={ category.title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InserterPanel>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ didRenderAllCategories && uncategorizedItems.length > 0 && (\n\t\t\t\t<InserterPanel\n\t\t\t\t\tclassName=\"block-editor-inserter__uncategorized-blocks-panel\"\n\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t>\n\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\titems={ uncategorizedItems }\n\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tlabel={ __( 'Uncategorized' ) }\n\t\t\t\t\t/>\n\t\t\t\t</InserterPanel>\n\t\t\t) }\n\n\t\t\t{ currentlyRenderedCollections.map(\n\t\t\t\t( [ namespace, collection ] ) => {\n\t\t\t\t\tconst collectionItems = itemsPerCollection[ namespace ];\n\t\t\t\t\tif ( ! collectionItems || ! collectionItems.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<InserterPanel\n\t\t\t\t\t\t\tkey={ namespace }\n\t\t\t\t\t\t\ttitle={ collection.title }\n\t\t\t\t\t\t\ticon={ collection.icon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockTypesList\n\t\t\t\t\t\t\t\titems={ collectionItems }\n\t\t\t\t\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\t\tlabel={ collection.title }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</InserterPanel>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport function BlockTypesTab(\n\t{ rootClientId, onInsert, onHover, showMostUsedBlocks },\n\tref\n) {\n\tconst [ items, categories, collections, onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tif ( ! items.length ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\tconst itemsForCurrentRoot = [];\n\tconst itemsRemaining = [];\n\n\tfor ( const item of items ) {\n\t\t// Skip reusable blocks, they moved to the patterns tab.\n\t\tif ( item.category === 'reusable' ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( rootClientId && item.isAllowedInCurrentRoot ) {\n\t\t\titemsForCurrentRoot.push( item );\n\t\t} else {\n\t\t\titemsRemaining.push( item );\n\t\t}\n\t}\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t<div ref={ ref }>\n\t\t\t\t{ !! itemsForCurrentRoot.length && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\t\t\titems={ itemsForCurrentRoot }\n\t\t\t\t\t\t\tcategories={ categories }\n\t\t\t\t\t\t\tcollections={ collections }\n\t\t\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t\t\tclassName=\"block-editor-inserter__insertable-blocks-at-selection\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockTypesTabPanel\n\t\t\t\t\titems={ itemsRemaining }\n\t\t\t\t\tcategories={ categories }\n\t\t\t\t\tcollections={ collections }\n\t\t\t\t\tonSelectItem={ onSelectItem }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\tclassName=\"block-editor-inserter__all-blocks\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterListbox>\n\t);\n}\n\nexport default forwardRef( BlockTypesTab );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,8 +7,11 @@ exports.default = void 0;
|
|
|
7
7
|
var _blocks = require("@wordpress/blocks");
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
9
|
var _element = require("@wordpress/element");
|
|
10
|
+
var _notices = require("@wordpress/notices");
|
|
11
|
+
var _i18n = require("@wordpress/i18n");
|
|
10
12
|
var _store = require("../../../store");
|
|
11
13
|
var _utils = require("../../../store/utils");
|
|
14
|
+
var _lockUnlock = require("../../../lock-unlock");
|
|
12
15
|
/**
|
|
13
16
|
* WordPress dependencies
|
|
14
17
|
*/
|
|
@@ -27,9 +30,15 @@ var _utils = require("../../../store/utils");
|
|
|
27
30
|
*/
|
|
28
31
|
const useBlockTypesState = (rootClientId, onInsert, isQuick) => {
|
|
29
32
|
const options = (0, _element.useMemo)(() => ({
|
|
30
|
-
[_utils.
|
|
33
|
+
[_utils.isFiltered]: !!isQuick
|
|
31
34
|
}), [isQuick]);
|
|
32
35
|
const [items] = (0, _data.useSelect)(select => [select(_store.store).getInserterItems(rootClientId, options)], [rootClientId, options]);
|
|
36
|
+
const {
|
|
37
|
+
getClosestAllowedInsertionPoint
|
|
38
|
+
} = (0, _lockUnlock.unlock)((0, _data.useSelect)(_store.store));
|
|
39
|
+
const {
|
|
40
|
+
createErrorNotice
|
|
41
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
33
42
|
const [categories, collections] = (0, _data.useSelect)(select => {
|
|
34
43
|
const {
|
|
35
44
|
getCategories,
|
|
@@ -42,14 +51,24 @@ const useBlockTypesState = (rootClientId, onInsert, isQuick) => {
|
|
|
42
51
|
initialAttributes,
|
|
43
52
|
innerBlocks,
|
|
44
53
|
syncStatus,
|
|
45
|
-
content
|
|
46
|
-
rootClientId: _rootClientId
|
|
54
|
+
content
|
|
47
55
|
}, shouldFocusBlock) => {
|
|
56
|
+
const destinationClientId = getClosestAllowedInsertionPoint(name, rootClientId);
|
|
57
|
+
if (destinationClientId === null) {
|
|
58
|
+
var _getBlockType$title;
|
|
59
|
+
const title = (_getBlockType$title = (0, _blocks.getBlockType)(name)?.title) !== null && _getBlockType$title !== void 0 ? _getBlockType$title : name;
|
|
60
|
+
createErrorNotice((0, _i18n.sprintf)( /* translators: %s: block pattern title. */
|
|
61
|
+
(0, _i18n.__)('Block "%s" can\'t be inserted.'), title), {
|
|
62
|
+
type: 'snackbar',
|
|
63
|
+
id: 'inserter-notice'
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
48
67
|
const insertedBlock = syncStatus === 'unsynced' ? (0, _blocks.parse)(content, {
|
|
49
68
|
__unstableSkipMigrationLogs: true
|
|
50
69
|
}) : (0, _blocks.createBlock)(name, initialAttributes, (0, _blocks.createBlocksFromInnerBlocksTemplate)(innerBlocks));
|
|
51
|
-
onInsert(insertedBlock, undefined, shouldFocusBlock,
|
|
52
|
-
}, [onInsert]);
|
|
70
|
+
onInsert(insertedBlock, undefined, shouldFocusBlock, destinationClientId);
|
|
71
|
+
}, [onInsert, getClosestAllowedInsertionPoint, rootClientId]);
|
|
53
72
|
return [items, categories, collections, onSelectItem];
|
|
54
73
|
};
|
|
55
74
|
var _default = exports.default = useBlockTypesState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_data","_element","_store","_utils","useBlockTypesState","rootClientId","onInsert","isQuick","options","useMemo","
|
|
1
|
+
{"version":3,"names":["_blocks","require","_data","_element","_notices","_i18n","_store","_utils","_lockUnlock","useBlockTypesState","rootClientId","onInsert","isQuick","options","useMemo","isFiltered","items","useSelect","select","blockEditorStore","getInserterItems","getClosestAllowedInsertionPoint","unlock","createErrorNotice","useDispatch","noticesStore","categories","collections","getCategories","getCollections","blocksStore","onSelectItem","useCallback","name","initialAttributes","innerBlocks","syncStatus","content","shouldFocusBlock","destinationClientId","_getBlockType$title","title","getBlockType","sprintf","__","type","id","insertedBlock","parse","__unstableSkipMigrationLogs","createBlock","createBlocksFromInnerBlocksTemplate","undefined","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-block-types-state.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n\tparse,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { isFiltered } from '../../../store/utils';\nimport { unlock } from '../../../lock-unlock';\n\n/**\n * Retrieves the block types inserter state.\n *\n * @param {string=} rootClientId Insertion's root client ID.\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @param {boolean} isQuick\n * @return {Array} Returns the block types state. (block types, categories, collections, onSelect handler)\n */\nconst useBlockTypesState = ( rootClientId, onInsert, isQuick ) => {\n\tconst options = useMemo(\n\t\t() => ( { [ isFiltered ]: !! isQuick } ),\n\t\t[ isQuick ]\n\t);\n\tconst [ items ] = useSelect(\n\t\t( select ) => [\n\t\t\tselect( blockEditorStore ).getInserterItems(\n\t\t\t\trootClientId,\n\t\t\t\toptions\n\t\t\t),\n\t\t],\n\t\t[ rootClientId, options ]\n\t);\n\tconst { getClosestAllowedInsertionPoint } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ categories, collections ] = useSelect( ( select ) => {\n\t\tconst { getCategories, getCollections } = select( blocksStore );\n\t\treturn [ getCategories(), getCollections() ];\n\t}, [] );\n\n\tconst onSelectItem = useCallback(\n\t\t(\n\t\t\t{ name, initialAttributes, innerBlocks, syncStatus, content },\n\t\t\tshouldFocusBlock\n\t\t) => {\n\t\t\tconst destinationClientId = getClosestAllowedInsertionPoint(\n\t\t\t\tname,\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\tif ( destinationClientId === null ) {\n\t\t\t\tconst title = getBlockType( name )?.title ?? name;\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: %s: block pattern title. */\n\t\t\t\t\t\t__( 'Block \"%s\" can\\'t be inserted.' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'inserter-notice',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst insertedBlock =\n\t\t\t\tsyncStatus === 'unsynced'\n\t\t\t\t\t? parse( content, {\n\t\t\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t\t } )\n\t\t\t\t\t: createBlock(\n\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\tinitialAttributes,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocks )\n\t\t\t\t\t );\n\t\t\tonInsert(\n\t\t\t\tinsertedBlock,\n\t\t\t\tundefined,\n\t\t\t\tshouldFocusBlock,\n\t\t\t\tdestinationClientId\n\t\t\t);\n\t\t},\n\t\t[ onInsert, getClosestAllowedInsertionPoint, rootClientId ]\n\t);\n\n\treturn [ items, categories, collections, onSelectItem ];\n};\n\nexport default useBlockTypesState;\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AApBA;AACA;AACA;;AAaA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMQ,kBAAkB,GAAGA,CAAEC,YAAY,EAAEC,QAAQ,EAAEC,OAAO,KAAM;EACjE,MAAMC,OAAO,GAAG,IAAAC,gBAAO,EACtB,OAAQ;IAAE,CAAEC,iBAAU,GAAI,CAAC,CAAEH;EAAQ,CAAC,CAAE,EACxC,CAAEA,OAAO,CACV,CAAC;EACD,MAAM,CAAEI,KAAK,CAAE,GAAG,IAAAC,eAAS,EACxBC,MAAM,IAAM,CACbA,MAAM,CAAEC,YAAiB,CAAC,CAACC,gBAAgB,CAC1CV,YAAY,EACZG,OACD,CAAC,CACD,EACD,CAAEH,YAAY,EAAEG,OAAO,CACxB,CAAC;EACD,MAAM;IAAEQ;EAAgC,CAAC,GAAG,IAAAC,kBAAM,EACjD,IAAAL,eAAS,EAAEE,YAAiB,CAC7B,CAAC;EACD,MAAM;IAAEI;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAEzD,MAAM,CAAEC,UAAU,EAAEC,WAAW,CAAE,GAAG,IAAAV,eAAS,EAAIC,MAAM,IAAM;IAC5D,MAAM;MAAEU,aAAa;MAAEC;IAAe,CAAC,GAAGX,MAAM,CAAEY,aAAY,CAAC;IAC/D,OAAO,CAAEF,aAAa,CAAC,CAAC,EAAEC,cAAc,CAAC,CAAC,CAAE;EAC7C,CAAC,EAAE,EAAG,CAAC;EAEP,MAAME,YAAY,GAAG,IAAAC,oBAAW,EAC/B,CACC;IAAEC,IAAI;IAAEC,iBAAiB;IAAEC,WAAW;IAAEC,UAAU;IAAEC;EAAQ,CAAC,EAC7DC,gBAAgB,KACZ;IACJ,MAAMC,mBAAmB,GAAGlB,+BAA+B,CAC1DY,IAAI,EACJvB,YACD,CAAC;IACD,IAAK6B,mBAAmB,KAAK,IAAI,EAAG;MAAA,IAAAC,mBAAA;MACnC,MAAMC,KAAK,IAAAD,mBAAA,GAAG,IAAAE,oBAAY,EAAET,IAAK,CAAC,EAAEQ,KAAK,cAAAD,mBAAA,cAAAA,mBAAA,GAAIP,IAAI;MACjDV,iBAAiB,CAChB,IAAAoB,aAAO,GACN;MACA,IAAAC,QAAE,EAAE,gCAAiC,CAAC,EACtCH,KACD,CAAC,EACD;QACCI,IAAI,EAAE,UAAU;QAChBC,EAAE,EAAE;MACL,CACD,CAAC;MACD;IACD;IAEA,MAAMC,aAAa,GAClBX,UAAU,KAAK,UAAU,GACtB,IAAAY,aAAK,EAAEX,OAAO,EAAE;MAChBY,2BAA2B,EAAE;IAC7B,CAAE,CAAC,GACH,IAAAC,mBAAW,EACXjB,IAAI,EACJC,iBAAiB,EACjB,IAAAiB,2CAAmC,EAAEhB,WAAY,CACjD,CAAC;IACLxB,QAAQ,CACPoC,aAAa,EACbK,SAAS,EACTd,gBAAgB,EAChBC,mBACD,CAAC;EACF,CAAC,EACD,CAAE5B,QAAQ,EAAEU,+BAA+B,EAAEX,YAAY,CAC1D,CAAC;EAED,OAAO,CAAEM,KAAK,EAAEU,UAAU,EAAEC,WAAW,EAAEI,YAAY,CAAE;AACxD,CAAC;AAAC,IAAAsB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa9C,kBAAkB","ignoreList":[]}
|
|
@@ -67,8 +67,10 @@ function useInsertionPoint({
|
|
|
67
67
|
}) {
|
|
68
68
|
const registry = (0, _data.useRegistry)();
|
|
69
69
|
const {
|
|
70
|
-
getSelectedBlock
|
|
71
|
-
|
|
70
|
+
getSelectedBlock,
|
|
71
|
+
getClosestAllowedInsertionPoint,
|
|
72
|
+
isBlockInsertionPointVisible
|
|
73
|
+
} = (0, _lockUnlock.unlock)((0, _data.useSelect)(_store.store));
|
|
72
74
|
const {
|
|
73
75
|
destinationRootClientId,
|
|
74
76
|
destinationIndex
|
|
@@ -77,14 +79,19 @@ function useInsertionPoint({
|
|
|
77
79
|
getSelectedBlockClientId,
|
|
78
80
|
getBlockRootClientId,
|
|
79
81
|
getBlockIndex,
|
|
80
|
-
getBlockOrder
|
|
81
|
-
|
|
82
|
+
getBlockOrder,
|
|
83
|
+
getInsertionPoint
|
|
84
|
+
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
82
85
|
const selectedBlockClientId = getSelectedBlockClientId();
|
|
83
86
|
let _destinationRootClientId = rootClientId;
|
|
84
87
|
let _destinationIndex;
|
|
88
|
+
const insertionPoint = getInsertionPoint();
|
|
85
89
|
if (insertionIndex !== undefined) {
|
|
86
90
|
// Insert into a specific index.
|
|
87
91
|
_destinationIndex = insertionIndex;
|
|
92
|
+
} else if (insertionPoint && insertionPoint.hasOwnProperty('index')) {
|
|
93
|
+
_destinationRootClientId = insertionPoint?.rootClientId ? insertionPoint.rootClientId : rootClientId;
|
|
94
|
+
_destinationIndex = insertionPoint.index;
|
|
88
95
|
} else if (clientId) {
|
|
89
96
|
// Insert after a specific client ID.
|
|
90
97
|
_destinationIndex = getBlockIndex(clientId);
|
|
@@ -136,17 +143,20 @@ function useInsertionPoint({
|
|
|
136
143
|
}
|
|
137
144
|
}, [isAppender, getSelectedBlock, replaceBlocks, insertBlocks, destinationRootClientId, destinationIndex, onSelect, shouldFocusBlock, selectBlockOnInsert]);
|
|
138
145
|
const onToggleInsertionPoint = (0, _element.useCallback)(item => {
|
|
139
|
-
if (item
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
+
if (item && !isBlockInsertionPointVisible()) {
|
|
147
|
+
const allowedDestinationRootClientId = getClosestAllowedInsertionPoint(item.name, destinationRootClientId);
|
|
148
|
+
if (allowedDestinationRootClientId !== null) {
|
|
149
|
+
showInsertionPoint(allowedDestinationRootClientId, getIndex({
|
|
150
|
+
destinationRootClientId,
|
|
151
|
+
destinationIndex,
|
|
152
|
+
rootClientId: allowedDestinationRootClientId,
|
|
153
|
+
registry
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
146
156
|
} else {
|
|
147
157
|
hideInsertionPoint();
|
|
148
158
|
}
|
|
149
|
-
}, [showInsertionPoint, hideInsertionPoint, destinationRootClientId, destinationIndex]);
|
|
159
|
+
}, [getClosestAllowedInsertionPoint, isBlockInsertionPointVisible, showInsertionPoint, hideInsertionPoint, destinationRootClientId, destinationIndex]);
|
|
150
160
|
return [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint];
|
|
151
161
|
}
|
|
152
162
|
var _default = exports.default = useInsertionPoint;
|