@wordpress/block-editor 14.3.3 → 14.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +46 -0
- package/build/autocompleters/link.js +2 -1
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/block-actions/index.js +1 -13
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-inspector/index.js +56 -75
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block.js +5 -19
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +5 -8
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +3 -11
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +5 -3
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +14 -6
- package/build/components/block-list/zoom-out-separator.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +2 -4
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +13 -10
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +11 -13
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +2 -4
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -6
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +17 -14
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +16 -19
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/index.js +8 -11
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +1 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +2 -12
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/block-variation-picker/index.js +2 -4
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -4
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -4
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -4
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/global-styles/border-panel.js +1 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +2 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +3 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -4
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +24 -29
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/inner-blocks/index.js +1 -9
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +1 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +24 -5
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +23 -10
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +35 -13
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/menu.js +2 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +5 -5
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -4
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +11 -8
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +4 -8
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/link-control/index.js +5 -10
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +2 -4
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/list-view/block-contents.js +1 -25
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -4
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/media-placeholder/index.js +29 -43
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/rich-text/index.js +4 -8
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +2 -4
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/tool-selector/index.js +13 -12
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/button.js +14 -16
- package/build/components/url-input/button.js.map +1 -1
- package/build/components/url-input/index.js +2 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +0 -61
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -25
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +6 -13
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/duotone.js +4 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +3 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +3 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +5 -4
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/layouts/flex.js +6 -38
- package/build/layouts/flex.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +13 -14
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +15 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +104 -7
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +22 -26
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +127 -56
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +4 -3
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-bindings.js +50 -0
- package/build/utils/block-bindings.js.map +1 -1
- package/build/utils/index.js +7 -0
- package/build/utils/index.js.map +1 -1
- package/build-module/autocompleters/link.js +2 -1
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/block-actions/index.js +1 -13
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +57 -76
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block.js +5 -19
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -8
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +3 -11
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +5 -3
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +14 -6
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +2 -4
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +13 -10
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +10 -20
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +11 -13
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +2 -4
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +79 -76
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +2 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +17 -14
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +17 -20
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/index.js +8 -11
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +1 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +2 -12
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +2 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -4
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -4
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -4
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +1 -1
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +1 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -4
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +25 -30
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +1 -9
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +1 -1
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +23 -10
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +35 -13
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/menu.js +2 -2
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +6 -6
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -4
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +12 -9
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +4 -8
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/link-control/index.js +5 -10
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +2 -4
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +1 -25
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +2 -5
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +30 -44
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -8
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +2 -4
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +13 -12
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/button.js +15 -17
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +2 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -62
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +3 -26
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +6 -13
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/duotone.js +4 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout-child.js +4 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +4 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +5 -4
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/layouts/flex.js +7 -39
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +12 -12
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +14 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +98 -7
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +21 -25
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +129 -58
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +3 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-bindings.js +50 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-module/utils/index.js +1 -0
- package/build-module/utils/index.js.map +1 -1
- package/build-style/content-rtl.css +16 -70
- package/build-style/content.css +16 -70
- package/build-style/default-editor-styles-rtl.css +10 -1
- package/build-style/default-editor-styles.css +10 -1
- package/build-style/style-rtl.css +51 -149
- package/build-style/style.css +51 -149
- package/package.json +32 -32
- package/src/autocompleters/link.js +2 -1
- package/src/components/block-actions/index.js +1 -13
- package/src/components/block-draggable/style.scss +2 -2
- package/src/components/block-inspector/index.js +79 -95
- package/src/components/block-inspector/style.scss +2 -0
- package/src/components/block-list/block.js +7 -28
- package/src/components/block-list/content.scss +1 -61
- package/src/components/block-list/index.js +21 -29
- package/src/components/block-list/use-block-props/index.js +3 -10
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +19 -11
- package/src/components/block-list/use-in-between-inserter.js +5 -2
- package/src/components/block-list/zoom-out-separator.js +24 -8
- package/src/components/block-navigation/dropdown.js +1 -2
- package/src/components/block-parent-selector/index.js +13 -10
- package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
- package/src/components/block-patterns-paging/index.js +8 -7
- package/src/components/block-patterns-paging/style.scss +10 -27
- package/src/components/block-quick-navigation/index.js +1 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
- package/src/components/block-settings-menu-controls/index.js +0 -15
- package/src/components/block-switcher/index.js +37 -30
- package/src/components/block-toolbar/index.js +22 -34
- package/src/components/block-toolbar/style.scss +10 -1
- package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
- package/src/components/block-tools/index.js +7 -16
- package/src/components/block-tools/insertion-point.js +1 -4
- package/src/components/block-tools/style.scss +3 -88
- package/src/components/block-tools/use-show-block-tools.js +2 -12
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
- package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
- package/src/components/block-tools/zoom-out-toolbar.js +2 -13
- package/src/components/block-variation-picker/index.js +1 -2
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/button-block-appender/content.scss +0 -5
- package/src/components/button-block-appender/index.js +1 -2
- package/src/components/colors-gradients/dropdown.js +1 -5
- package/src/components/font-family/README.md +5 -1
- package/src/components/global-styles/border-panel.js +1 -1
- package/src/components/global-styles/color-panel.js +1 -5
- package/src/components/global-styles/dimensions-panel.js +1 -1
- package/src/components/global-styles/filters-panel.js +1 -2
- package/src/components/global-styles/shadow-panel-components.js +28 -33
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/inner-blocks/index.js +1 -16
- package/src/components/inserter/block-types-tab.js +1 -1
- package/src/components/inserter/hooks/use-block-types-state.js +34 -14
- package/src/components/inserter/hooks/use-insertion-point.js +35 -13
- package/src/components/inserter/hooks/use-patterns-state.js +46 -9
- package/src/components/inserter/media-tab/media-preview.js +38 -12
- package/src/components/inserter/menu.js +2 -2
- package/src/components/inserter/mobile-tab-navigation.js +10 -13
- package/src/components/inserter/quick-inserter.js +5 -4
- package/src/components/inserter/style.scss +0 -28
- package/src/components/inspector-controls-tabs/index.js +21 -20
- package/src/components/inspector-controls-tabs/style.scss +2 -6
- package/src/components/inspector-popover-header/index.js +2 -4
- package/src/components/inspector-popover-header/style.scss +0 -13
- package/src/components/link-control/index.js +2 -5
- package/src/components/link-control/settings-drawer.js +1 -2
- package/src/components/list-view/block-contents.js +1 -28
- package/src/components/list-view/block-select-button.js +2 -5
- package/src/components/list-view/style.scss +18 -14
- package/src/components/media-placeholder/content.scss +3 -19
- package/src/components/media-placeholder/index.js +23 -29
- package/src/components/rich-text/index.js +4 -13
- package/src/components/skip-to-selected-block/index.js +1 -2
- package/src/components/skip-to-selected-block/style.scss +0 -9
- package/src/components/tool-selector/index.js +14 -9
- package/src/components/tool-selector/style.scss +5 -0
- package/src/components/url-input/button.js +16 -12
- package/src/components/url-input/index.js +1 -2
- package/src/components/url-input/style.scss +0 -6
- package/src/components/use-block-commands/index.js +0 -58
- package/src/components/writing-flow/use-tab-nav.js +4 -36
- package/src/content.scss +0 -1
- package/src/hooks/block-bindings.js +9 -10
- package/src/hooks/duotone.js +4 -1
- package/src/hooks/layout-child.js +4 -1
- package/src/hooks/position.js +4 -1
- package/src/hooks/use-bindings-attributes.js +66 -63
- package/src/layouts/flex.js +10 -53
- package/src/private-apis.js +0 -2
- package/src/store/actions.js +14 -13
- package/src/store/private-actions.js +14 -0
- package/src/store/private-selectors.js +120 -16
- package/src/store/reducer.js +22 -28
- package/src/store/selectors.js +203 -114
- package/src/store/test/private-actions.js +15 -0
- package/src/store/test/private-selectors.js +34 -0
- package/src/store/test/reducer.js +40 -4
- package/src/store/test/selectors.js +183 -20
- package/src/store/utils.js +4 -2
- package/src/utils/block-bindings.js +49 -0
- package/src/utils/index.js +1 -0
- package/build/components/block-controls/use-has-block-controls.js +0 -43
- package/build/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build/components/block-tools/block-selection-button.js +0 -259
- package/build/components/block-tools/block-selection-button.js.map +0 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build/components/inserter/tabs.js +0 -78
- package/build/components/inserter/tabs.js.map +0 -1
- package/build-module/components/block-controls/use-has-block-controls.js +0 -34
- package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build-module/components/block-tools/block-selection-button.js +0 -254
- package/build-module/components/block-tools/block-selection-button.js.map +0 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build-module/components/inserter/tabs.js +0 -72
- package/build-module/components/inserter/tabs.js.map +0 -1
- package/src/components/block-controls/use-has-block-controls.js +0 -35
- package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
- package/src/components/block-tools/block-selection-button.js +0 -302
- package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
- package/src/components/inner-blocks/content.scss +0 -13
- package/src/components/inserter/tabs.js +0 -78
- package/src/components/inserter/test/block-types-tab.native.js +0 -67
package/build/store/selectors.js
CHANGED
|
@@ -162,7 +162,9 @@ const EMPTY_ARRAY = [];
|
|
|
162
162
|
* @type {Set}
|
|
163
163
|
*/
|
|
164
164
|
const EMPTY_SET = new Set();
|
|
165
|
-
const
|
|
165
|
+
const DEFAULT_INSERTER_OPTIONS = {
|
|
166
|
+
[_utils.isFiltered]: true
|
|
167
|
+
};
|
|
166
168
|
|
|
167
169
|
/**
|
|
168
170
|
* Returns a block's name given its client ID, or null if no block exists with
|
|
@@ -1364,8 +1366,7 @@ function isCaretWithinFormattedText() {
|
|
|
1364
1366
|
}
|
|
1365
1367
|
|
|
1366
1368
|
/**
|
|
1367
|
-
* Returns the
|
|
1368
|
-
* be placed. Defaults to the last index.
|
|
1369
|
+
* Returns the location of the insertion cue. Defaults to the last index.
|
|
1369
1370
|
*
|
|
1370
1371
|
* @param {Object} state Editor state.
|
|
1371
1372
|
*
|
|
@@ -1374,13 +1375,13 @@ function isCaretWithinFormattedText() {
|
|
|
1374
1375
|
const getBlockInsertionPoint = exports.getBlockInsertionPoint = (0, _data.createSelector)(state => {
|
|
1375
1376
|
let rootClientId, index;
|
|
1376
1377
|
const {
|
|
1377
|
-
|
|
1378
|
+
insertionCue,
|
|
1378
1379
|
selection: {
|
|
1379
1380
|
selectionEnd
|
|
1380
1381
|
}
|
|
1381
1382
|
} = state;
|
|
1382
|
-
if (
|
|
1383
|
-
return
|
|
1383
|
+
if (insertionCue !== null) {
|
|
1384
|
+
return insertionCue;
|
|
1384
1385
|
}
|
|
1385
1386
|
const {
|
|
1386
1387
|
clientId
|
|
@@ -1395,17 +1396,17 @@ const getBlockInsertionPoint = exports.getBlockInsertionPoint = (0, _data.create
|
|
|
1395
1396
|
rootClientId,
|
|
1396
1397
|
index
|
|
1397
1398
|
};
|
|
1398
|
-
}, state => [state.
|
|
1399
|
+
}, state => [state.insertionCue, state.selection.selectionEnd.clientId, state.blocks.parents, state.blocks.order]);
|
|
1399
1400
|
|
|
1400
1401
|
/**
|
|
1401
|
-
* Returns true if
|
|
1402
|
+
* Returns true if the block insertion point is visible.
|
|
1402
1403
|
*
|
|
1403
1404
|
* @param {Object} state Global application state.
|
|
1404
1405
|
*
|
|
1405
1406
|
* @return {?boolean} Whether the insertion point is visible or not.
|
|
1406
1407
|
*/
|
|
1407
1408
|
function isBlockInsertionPointVisible(state) {
|
|
1408
|
-
return state.
|
|
1409
|
+
return state.insertionCue !== null;
|
|
1409
1410
|
}
|
|
1410
1411
|
|
|
1411
1412
|
/**
|
|
@@ -1447,6 +1448,52 @@ function getTemplateLock(state, rootClientId) {
|
|
|
1447
1448
|
return (_getBlockListSettings = getBlockListSettings(state, rootClientId)?.templateLock) !== null && _getBlockListSettings !== void 0 ? _getBlockListSettings : false;
|
|
1448
1449
|
}
|
|
1449
1450
|
|
|
1451
|
+
/**
|
|
1452
|
+
* Determines if the given block type is visible in the inserter.
|
|
1453
|
+
* Note that this is different than whether a block is allowed to be inserted.
|
|
1454
|
+
* In some cases, the block is not allowed in a given position but
|
|
1455
|
+
* it should still be visible in the inserter to be able to add it
|
|
1456
|
+
* to a different position.
|
|
1457
|
+
*
|
|
1458
|
+
* @param {Object} state Editor state.
|
|
1459
|
+
* @param {string|Object} blockNameOrType The block type object, e.g., the response
|
|
1460
|
+
* from the block directory; or a string name of
|
|
1461
|
+
* an installed block type, e.g.' core/paragraph'.
|
|
1462
|
+
*
|
|
1463
|
+
* @return {boolean} Whether the given block type is allowed to be inserted.
|
|
1464
|
+
*/
|
|
1465
|
+
const isBlockVisibleInTheInserter = (state, blockNameOrType) => {
|
|
1466
|
+
let blockType;
|
|
1467
|
+
let blockName;
|
|
1468
|
+
if (blockNameOrType && 'object' === typeof blockNameOrType) {
|
|
1469
|
+
blockType = blockNameOrType;
|
|
1470
|
+
blockName = blockNameOrType.name;
|
|
1471
|
+
} else {
|
|
1472
|
+
blockType = (0, _blocks.getBlockType)(blockNameOrType);
|
|
1473
|
+
blockName = blockNameOrType;
|
|
1474
|
+
}
|
|
1475
|
+
if (!blockType) {
|
|
1476
|
+
return false;
|
|
1477
|
+
}
|
|
1478
|
+
const {
|
|
1479
|
+
allowedBlockTypes
|
|
1480
|
+
} = getSettings(state);
|
|
1481
|
+
const isBlockAllowedInEditor = (0, _utils.checkAllowList)(allowedBlockTypes, blockName, true);
|
|
1482
|
+
if (!isBlockAllowedInEditor) {
|
|
1483
|
+
return false;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
// If parent blocks are not visible, child blocks should be hidden too.
|
|
1487
|
+
if (!!blockType.parent?.length) {
|
|
1488
|
+
return blockType.parent.some(name => isBlockVisibleInTheInserter(state, name) ||
|
|
1489
|
+
// Exception for blocks with post-content parent,
|
|
1490
|
+
// the root level is often consider as "core/post-content".
|
|
1491
|
+
// This exception should only apply to the post editor ideally though.
|
|
1492
|
+
name === 'core/post-content');
|
|
1493
|
+
}
|
|
1494
|
+
return true;
|
|
1495
|
+
};
|
|
1496
|
+
|
|
1450
1497
|
/**
|
|
1451
1498
|
* Determines if the given block type is allowed to be inserted into the block list.
|
|
1452
1499
|
* This function is not exported and not memoized because using a memoized selector
|
|
@@ -1461,6 +1508,9 @@ function getTemplateLock(state, rootClientId) {
|
|
|
1461
1508
|
* @return {boolean} Whether the given block type is allowed to be inserted.
|
|
1462
1509
|
*/
|
|
1463
1510
|
const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) => {
|
|
1511
|
+
if (!isBlockVisibleInTheInserter(state, blockName)) {
|
|
1512
|
+
return false;
|
|
1513
|
+
}
|
|
1464
1514
|
let blockType;
|
|
1465
1515
|
if (blockName && 'object' === typeof blockName) {
|
|
1466
1516
|
blockType = blockName;
|
|
@@ -1468,20 +1518,14 @@ const canInsertBlockTypeUnmemoized = (state, blockName, rootClientId = null) =>
|
|
|
1468
1518
|
} else {
|
|
1469
1519
|
blockType = (0, _blocks.getBlockType)(blockName);
|
|
1470
1520
|
}
|
|
1471
|
-
if (!blockType) {
|
|
1472
|
-
return false;
|
|
1473
|
-
}
|
|
1474
|
-
const {
|
|
1475
|
-
allowedBlockTypes
|
|
1476
|
-
} = getSettings(state);
|
|
1477
|
-
const isBlockAllowedInEditor = (0, _utils.checkAllowList)(allowedBlockTypes, blockName, true);
|
|
1478
|
-
if (!isBlockAllowedInEditor) {
|
|
1479
|
-
return false;
|
|
1480
|
-
}
|
|
1481
1521
|
const isLocked = !!getTemplateLock(state, rootClientId);
|
|
1482
1522
|
if (isLocked) {
|
|
1483
1523
|
return false;
|
|
1484
1524
|
}
|
|
1525
|
+
const _isSectionBlock = !!(0, _privateSelectors.isSectionBlock)(state, rootClientId);
|
|
1526
|
+
if (_isSectionBlock) {
|
|
1527
|
+
return false;
|
|
1528
|
+
}
|
|
1485
1529
|
if (getBlockEditingMode(state, rootClientId !== null && rootClientId !== void 0 ? rootClientId : '') === 'disabled') {
|
|
1486
1530
|
return false;
|
|
1487
1531
|
}
|
|
@@ -1587,6 +1631,10 @@ function canRemoveBlock(state, clientId) {
|
|
|
1587
1631
|
if (getTemplateLock(state, rootClientId)) {
|
|
1588
1632
|
return false;
|
|
1589
1633
|
}
|
|
1634
|
+
const isBlockWithinSection = !!(0, _privateSelectors.getParentSectionBlock)(state, clientId);
|
|
1635
|
+
if (isBlockWithinSection) {
|
|
1636
|
+
return false;
|
|
1637
|
+
}
|
|
1590
1638
|
return getBlockEditingMode(state, rootClientId) !== 'disabled';
|
|
1591
1639
|
}
|
|
1592
1640
|
|
|
@@ -1810,6 +1858,7 @@ const buildBlockTypeItem = (state, {
|
|
|
1810
1858
|
description: blockType.description,
|
|
1811
1859
|
category: blockType.category,
|
|
1812
1860
|
keywords: blockType.keywords,
|
|
1861
|
+
parent: blockType.parent,
|
|
1813
1862
|
variations: inserterVariations,
|
|
1814
1863
|
example: blockType.example,
|
|
1815
1864
|
utility: 1 // Deprecated.
|
|
@@ -1845,7 +1894,7 @@ const buildBlockTypeItem = (state, {
|
|
|
1845
1894
|
* this item.
|
|
1846
1895
|
* @property {number} frecency Heuristic that combines frequency and recency.
|
|
1847
1896
|
*/
|
|
1848
|
-
const getInserterItems = exports.getInserterItems = (0, _data.createRegistrySelector)(select => (0, _data.createSelector)((state, rootClientId = null, options =
|
|
1897
|
+
const getInserterItems = exports.getInserterItems = (0, _data.createRegistrySelector)(select => (0, _data.createSelector)((state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
|
|
1849
1898
|
const buildReusableBlockInserterItem = reusableBlock => {
|
|
1850
1899
|
const icon = !reusableBlock.wp_pattern_sync_status ? {
|
|
1851
1900
|
src: _icons.symbol,
|
|
@@ -1880,35 +1929,13 @@ const getInserterItems = exports.getInserterItems = (0, _data.createRegistrySele
|
|
|
1880
1929
|
buildScope: 'inserter'
|
|
1881
1930
|
});
|
|
1882
1931
|
let blockTypeInserterItems = (0, _blocks.getBlockTypes)().filter(blockType => (0, _blocks.hasBlockSupport)(blockType, 'inserter', true)).map(buildBlockTypeInserterItem);
|
|
1883
|
-
if (options[_utils.
|
|
1884
|
-
blockTypeInserterItems = blockTypeInserterItems.reduce((accumulator, item) => {
|
|
1885
|
-
item.rootClientId = rootClientId !== null && rootClientId !== void 0 ? rootClientId : '';
|
|
1886
|
-
while (!canInsertBlockTypeUnmemoized(state, item.name, item.rootClientId)) {
|
|
1887
|
-
if (!item.rootClientId) {
|
|
1888
|
-
let sectionRootClientId;
|
|
1889
|
-
try {
|
|
1890
|
-
sectionRootClientId = (0, _privateSelectors.getSectionRootClientId)(state);
|
|
1891
|
-
} catch (e) {}
|
|
1892
|
-
if (sectionRootClientId && canInsertBlockTypeUnmemoized(state, item.name, sectionRootClientId)) {
|
|
1893
|
-
item.rootClientId = sectionRootClientId;
|
|
1894
|
-
} else {
|
|
1895
|
-
delete item.rootClientId;
|
|
1896
|
-
}
|
|
1897
|
-
break;
|
|
1898
|
-
} else {
|
|
1899
|
-
const parentClientId = getBlockRootClientId(state, item.rootClientId);
|
|
1900
|
-
item.rootClientId = parentClientId;
|
|
1901
|
-
}
|
|
1902
|
-
}
|
|
1903
|
-
|
|
1904
|
-
// We could also add non insertable items and gray them out.
|
|
1905
|
-
if (item.hasOwnProperty('rootClientId')) {
|
|
1906
|
-
accumulator.push(item);
|
|
1907
|
-
}
|
|
1908
|
-
return accumulator;
|
|
1909
|
-
}, []);
|
|
1910
|
-
} else {
|
|
1932
|
+
if (options[_utils.isFiltered] !== false) {
|
|
1911
1933
|
blockTypeInserterItems = blockTypeInserterItems.filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId));
|
|
1934
|
+
} else {
|
|
1935
|
+
blockTypeInserterItems = blockTypeInserterItems.filter(blockType => isBlockVisibleInTheInserter(state, blockType)).map(blockType => ({
|
|
1936
|
+
...blockType,
|
|
1937
|
+
isAllowedInCurrentRoot: canIncludeBlockTypeInInserter(state, blockType, rootClientId)
|
|
1938
|
+
}));
|
|
1912
1939
|
}
|
|
1913
1940
|
const items = blockTypeInserterItems.reduce((accumulator, item) => {
|
|
1914
1941
|
const {
|
|
@@ -2089,7 +2116,7 @@ const getAllowedPatternsDependants = select => (state, rootClientId) => [...(0,
|
|
|
2089
2116
|
* @return {Array?} The list of allowed patterns.
|
|
2090
2117
|
*/
|
|
2091
2118
|
const __experimentalGetAllowedPatterns = exports.__experimentalGetAllowedPatterns = (0, _data.createRegistrySelector)(select => {
|
|
2092
|
-
return (0, _data.createSelector)((state, rootClientId = null) => {
|
|
2119
|
+
return (0, _data.createSelector)((state, rootClientId = null, options = DEFAULT_INSERTER_OPTIONS) => {
|
|
2093
2120
|
const {
|
|
2094
2121
|
getAllPatterns
|
|
2095
2122
|
} = (0, _lockUnlock.unlock)(select(_constants.STORE_NAME));
|
|
@@ -2110,7 +2137,7 @@ const __experimentalGetAllowedPatterns = exports.__experimentalGetAllowedPattern
|
|
|
2110
2137
|
const availableParsedPatterns = parsedPatterns.filter(pattern => (0, _utils.checkAllowListRecursive)((0, _utils.getGrammar)(pattern), allowedBlockTypes));
|
|
2111
2138
|
const patternsAllowed = availableParsedPatterns.filter(pattern => (0, _utils.getGrammar)(pattern).every(({
|
|
2112
2139
|
blockName: name
|
|
2113
|
-
}) => canInsertBlockType(state, name, rootClientId)));
|
|
2140
|
+
}) => options[_utils.isFiltered] !== false ? canInsertBlockType(state, name, rootClientId) : isBlockVisibleInTheInserter(state, name)));
|
|
2114
2141
|
return patternsAllowed;
|
|
2115
2142
|
}, getAllowedPatternsDependants(select));
|
|
2116
2143
|
});
|
|
@@ -2330,12 +2357,14 @@ function __unstableGetEditorMode(state) {
|
|
|
2330
2357
|
/**
|
|
2331
2358
|
* Returns whether block moving mode is enabled.
|
|
2332
2359
|
*
|
|
2333
|
-
* @
|
|
2334
|
-
*
|
|
2335
|
-
* @return {string} Client Id of moving block.
|
|
2360
|
+
* @deprecated
|
|
2336
2361
|
*/
|
|
2337
|
-
function hasBlockMovingClientId(
|
|
2338
|
-
|
|
2362
|
+
function hasBlockMovingClientId() {
|
|
2363
|
+
(0, _deprecated.default)('wp.data.select( "core/block-editor" ).hasBlockMovingClientId', {
|
|
2364
|
+
since: '6.7',
|
|
2365
|
+
hint: 'Block moving mode feature has been removed'
|
|
2366
|
+
});
|
|
2367
|
+
return false;
|
|
2339
2368
|
}
|
|
2340
2369
|
|
|
2341
2370
|
/**
|
|
@@ -2486,7 +2515,7 @@ function __unstableHasActiveBlockOverlayActive(state, clientId) {
|
|
|
2486
2515
|
// (reusable block, template part, navigation), unless explicitly disabled
|
|
2487
2516
|
// with `supports.__experimentalDisableBlockOverlay`.
|
|
2488
2517
|
const blockSupportDisable = (0, _blocks.hasBlockSupport)(getBlockName(state, clientId), '__experimentalDisableBlockOverlay', false);
|
|
2489
|
-
const shouldEnableIfUnselected =
|
|
2518
|
+
const shouldEnableIfUnselected = blockSupportDisable ? false : areInnerBlocksControlled(state, clientId);
|
|
2490
2519
|
return shouldEnableIfUnselected && !isBlockSelected(state, clientId) && !hasSelectedInnerBlock(state, clientId, true);
|
|
2491
2520
|
}
|
|
2492
2521
|
function __unstableIsWithinBlockOverlay(state, clientId) {
|
|
@@ -2499,6 +2528,13 @@ function __unstableIsWithinBlockOverlay(state, clientId) {
|
|
|
2499
2528
|
}
|
|
2500
2529
|
return false;
|
|
2501
2530
|
}
|
|
2531
|
+
function isWithinBlock(state, clientId, parentClientId) {
|
|
2532
|
+
let parent = state.blocks.parents.get(clientId);
|
|
2533
|
+
while (!!parent && parent !== parentClientId) {
|
|
2534
|
+
parent = state.blocks.parents.get(parent);
|
|
2535
|
+
}
|
|
2536
|
+
return parent === parentClientId;
|
|
2537
|
+
}
|
|
2502
2538
|
|
|
2503
2539
|
/**
|
|
2504
2540
|
* @typedef {import('../components/block-editing-mode').BlockEditingMode} BlockEditingMode
|
|
@@ -2559,15 +2595,49 @@ const getBlockEditingMode = exports.getBlockEditingMode = (0, _data.createRegist
|
|
|
2559
2595
|
}
|
|
2560
2596
|
return 'disabled';
|
|
2561
2597
|
}
|
|
2598
|
+
if (editorMode === 'navigation') {
|
|
2599
|
+
const sectionRootClientId = (0, _privateSelectors.getSectionRootClientId)(state);
|
|
2600
|
+
|
|
2601
|
+
// The root section is "default mode"
|
|
2602
|
+
if (clientId === sectionRootClientId) {
|
|
2603
|
+
return 'default';
|
|
2604
|
+
}
|
|
2605
|
+
|
|
2606
|
+
// Sections should always be contentOnly in navigation mode.
|
|
2607
|
+
const sectionsClientIds = getBlockOrder(state, sectionRootClientId);
|
|
2608
|
+
if (sectionsClientIds.includes(clientId)) {
|
|
2609
|
+
return 'contentOnly';
|
|
2610
|
+
}
|
|
2611
|
+
|
|
2612
|
+
// Blocks outside sections should be disabled.
|
|
2613
|
+
const isWithinSectionRoot = isWithinBlock(state, clientId, sectionRootClientId);
|
|
2614
|
+
if (!isWithinSectionRoot) {
|
|
2615
|
+
return 'disabled';
|
|
2616
|
+
}
|
|
2617
|
+
|
|
2618
|
+
// The rest of the blocks depend on whether they are content blocks or not.
|
|
2619
|
+
// This "flattens" the sections tree.
|
|
2620
|
+
const name = getBlockName(state, clientId);
|
|
2621
|
+
const {
|
|
2622
|
+
hasContentRoleAttribute
|
|
2623
|
+
} = (0, _lockUnlock.unlock)(select(_blocks.store));
|
|
2624
|
+
const isContent = hasContentRoleAttribute(name);
|
|
2625
|
+
return isContent ? 'contentOnly' : 'disabled';
|
|
2626
|
+
}
|
|
2627
|
+
|
|
2628
|
+
// In normal mode, consider that an explicitely set editing mode takes over.
|
|
2562
2629
|
const blockEditingMode = state.blockEditingModes.get(clientId);
|
|
2563
2630
|
if (blockEditingMode) {
|
|
2564
2631
|
return blockEditingMode;
|
|
2565
2632
|
}
|
|
2633
|
+
|
|
2634
|
+
// In normal mode, top level is default mode.
|
|
2566
2635
|
if (!clientId) {
|
|
2567
2636
|
return 'default';
|
|
2568
2637
|
}
|
|
2569
2638
|
const rootClientId = getBlockRootClientId(state, clientId);
|
|
2570
2639
|
const templateLock = getTemplateLock(state, rootClientId);
|
|
2640
|
+
// If the parent of the block is contentOnly locked, check whether it's a content block.
|
|
2571
2641
|
if (templateLock === 'contentOnly') {
|
|
2572
2642
|
const name = getBlockName(state, clientId);
|
|
2573
2643
|
const {
|
|
@@ -2576,6 +2646,7 @@ const getBlockEditingMode = exports.getBlockEditingMode = (0, _data.createRegist
|
|
|
2576
2646
|
const isContent = hasContentRoleAttribute(name);
|
|
2577
2647
|
return isContent ? 'contentOnly' : 'disabled';
|
|
2578
2648
|
}
|
|
2649
|
+
// Otherwise, check if there's an ancestor that is contentOnly
|
|
2579
2650
|
const parentMode = getBlockEditingMode(state, rootClientId);
|
|
2580
2651
|
return parentMode === 'contentOnly' ? 'default' : parentMode;
|
|
2581
2652
|
});
|