@wordpress/block-editor 14.5.0 → 14.7.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 +4 -0
- package/README.md +0 -8
- package/build/autocompleters/block.js +13 -5
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-canvas/index.js +10 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-list/block.js +15 -29
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +5 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-patterns-list/index.js +23 -26
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +1 -1
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +3 -46
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/async.js +51 -0
- package/build/components/block-preview/async.js.map +1 -0
- package/build/components/block-preview/index.js +6 -3
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -3
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-toolbar/change-design.js +119 -0
- package/build/components/block-toolbar/change-design.js.map +1 -0
- package/build/components/block-toolbar/index.js +19 -7
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +16 -19
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js +1 -1
- package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +7 -10
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +2 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +6 -10
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +7 -10
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/collab/block-comment-icon-slot.js +18 -0
- package/build/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +26 -14
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js +4 -4
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/iframe/index.js +33 -22
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-size-control/index.js +61 -20
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -5
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +1 -2
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +5 -3
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +3 -0
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/utils.js +5 -1
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +15 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-paging.js +0 -5
- package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -1
- package/build/components/inserter/menu.js +4 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-results.js +0 -2
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter-button/index.native.js +1 -1
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +0 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +3 -6
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/link-control/link-preview.js +12 -9
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/appender.js +4 -3
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/branch.js +6 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +1 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +4 -4
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/index.js +3 -1
- package/build/components/rich-text/event-listeners/index.js.map +1 -1
- package/build/components/rich-text/index.js +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -6
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +2 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +1 -5
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build/components/tabbed-sidebar/index.js +1 -1
- package/build/components/tabbed-sidebar/index.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -4
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/index.js +4 -2
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +6 -7
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +5 -5
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +0 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +1 -3
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-settings/index.js +1 -3
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/writing-flow/index.js +5 -3
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +19 -8
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/contrast-checker.js +0 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/duotone.js +2 -2
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/style.js +4 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +6 -6
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +5 -5
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-zoom-out.js +13 -22
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/hooks/utils.js +2 -2
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +0 -7
- package/build/index.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/private-apis.js +6 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -33
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/private-actions.js +57 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +10 -22
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +16 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +53 -15
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +5 -4
- package/build/store/utils.js.map +1 -1
- package/build/utils/dom.js +37 -17
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -1
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/transform-styles/index.js +4 -3
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +14 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-canvas/index.js +11 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +3 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-list/block.js +16 -28
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +23 -26
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +1 -1
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +4 -47
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/async.js +44 -0
- package/build-module/components/block-preview/async.js.map +1 -0
- package/build-module/components/block-preview/index.js +6 -3
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-toolbar/change-design.js +111 -0
- package/build-module/components/block-toolbar/change-design.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +19 -7
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +17 -20
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -2
- package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +7 -10
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +2 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +8 -11
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/collab/block-comment-icon-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -5
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +26 -14
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js +4 -4
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/iframe/index.js +33 -22
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +62 -21
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -5
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +1 -2
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +6 -4
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +4 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/utils.js +4 -0
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +15 -2
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-paging.js +1 -6
- package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -1
- package/build-module/components/inserter/menu.js +5 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-results.js +0 -2
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +1 -1
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +0 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js +3 -6
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +13 -10
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -3
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/branch.js +7 -6
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +4 -4
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/index.js +4 -2
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +3 -3
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build-module/components/tabbed-sidebar/index.js +1 -1
- package/build-module/components/tabbed-sidebar/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -4
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +5 -5
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +5 -5
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +0 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +1 -3
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +1 -3
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +2 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +20 -9
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +0 -1
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/duotone.js +2 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/style.js +4 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +6 -6
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +5 -5
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +15 -23
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/hooks/utils.js +2 -2
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/private-apis.js +7 -5
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -33
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/private-actions.js +54 -7
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +10 -21
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +16 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +54 -16
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +3 -3
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/dom.js +35 -16
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +2 -2
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +3 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +16 -10
- package/build-style/content.css +16 -10
- package/build-style/style-rtl.css +47 -25
- package/build-style/style.css +47 -25
- package/build-types/utils/dom.d.ts +7 -9
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +34 -32
- package/src/autocompleters/block.js +16 -7
- package/src/components/block-canvas/index.js +17 -1
- package/src/components/block-canvas/style.scss +3 -1
- package/src/components/block-card/index.js +3 -3
- package/src/components/block-full-height-alignment-control/index.js +1 -1
- package/src/components/block-inspector/style.scss +2 -7
- package/src/components/block-list/block.js +29 -50
- package/src/components/block-list/block.native.js +0 -4
- package/src/components/block-list/content.scss +1 -1
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/use-block-props/index.js +0 -2
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-patterns-list/README.md +8 -8
- package/src/components/block-patterns-list/index.js +35 -51
- package/src/components/block-patterns-list/stories/fixtures.js +834 -0
- package/src/components/block-patterns-list/stories/index.story.js +64 -0
- package/src/components/block-patterns-list/style.scss +2 -0
- package/src/components/block-patterns-paging/index.js +1 -1
- package/src/components/block-popover/index.js +4 -66
- package/src/components/block-preview/async.js +43 -0
- package/src/components/block-preview/index.js +8 -3
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
- package/src/components/block-settings-menu/index.js +3 -0
- package/src/components/block-toolbar/change-design.js +127 -0
- package/src/components/block-toolbar/index.js +25 -8
- package/src/components/block-toolbar/style.scss +16 -0
- package/src/components/block-tools/index.js +30 -27
- package/src/components/block-tools/insertion-point.js +4 -3
- package/src/components/block-tools/style.scss +12 -20
- package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -2
- package/src/components/block-tools/use-show-block-tools.js +3 -14
- package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/block-vertical-alignment-control/ui.js +11 -15
- package/src/components/border-radius-control/linked-button.js +9 -11
- package/src/components/collab/block-comment-icon-slot.js +12 -0
- package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/src/components/convert-to-group-buttons/toolbar.js +4 -4
- package/src/components/default-block-appender/content.scss +13 -19
- package/src/components/global-styles/color-panel.js +2 -10
- package/src/components/global-styles/dimensions-panel.js +22 -16
- package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
- package/src/components/global-styles/use-global-styles-context.native.js +6 -0
- package/src/components/iframe/content.scss +4 -9
- package/src/components/iframe/get-compatibility-styles.js +4 -9
- package/src/components/iframe/index.js +48 -34
- package/src/components/iframe/style.scss +2 -3
- package/src/components/image-size-control/index.js +74 -43
- package/src/components/image-size-control/test/index.js +5 -63
- package/src/components/inner-blocks/index.js +12 -6
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +3 -6
- package/src/components/inserter/block-patterns-tab/index.js +0 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -4
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +8 -0
- package/src/components/inserter/block-patterns-tab/utils.js +5 -0
- package/src/components/inserter/category-tabs/index.js +16 -2
- package/src/components/inserter/hooks/use-block-types-state.js +6 -1
- package/src/components/inserter/hooks/use-patterns-paging.js +1 -6
- package/src/components/inserter/menu.js +6 -4
- package/src/components/inserter/search-results.js +0 -6
- package/src/components/inserter/style.scss +13 -0
- package/src/components/inserter-button/index.native.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +1 -6
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/link-control/link-preview.js +15 -8
- package/src/components/link-control/test/index.js +63 -24
- package/src/components/list-view/appender.js +5 -6
- package/src/components/list-view/branch.js +8 -6
- package/src/components/list-view/index.js +1 -2
- package/src/components/media-placeholder/index.js +4 -4
- package/src/components/provider/index.js +1 -3
- package/src/components/provider/test/experimental-provider.js +43 -1
- package/src/components/rich-text/event-listeners/index.js +4 -2
- package/src/components/rich-text/index.js +8 -1
- package/src/components/rich-text/index.native.js +0 -2
- package/src/components/spacing-sizes-control/index.js +3 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/src/components/spacing-sizes-control/linked-button.js +2 -12
- package/src/components/tabbed-sidebar/index.js +1 -1
- package/src/components/tabbed-sidebar/style.scss +1 -1
- package/src/components/tool-selector/index.js +1 -5
- package/src/components/url-input/index.js +4 -5
- package/src/components/use-block-commands/index.js +245 -234
- package/src/components/use-block-drop-zone/index.js +5 -5
- package/src/components/use-block-drop-zone/index.native.js +0 -1
- package/src/components/use-moving-animation/index.js +0 -1
- package/src/components/use-settings/index.js +0 -1
- package/src/components/writing-flow/index.js +5 -3
- package/src/components/writing-flow/use-tab-nav.js +1 -2
- package/src/hooks/block-bindings.js +48 -31
- package/src/hooks/contrast-checker.js +0 -1
- package/src/hooks/duotone.js +2 -2
- package/src/hooks/font-family.js +1 -1
- package/src/hooks/style.js +7 -3
- package/src/hooks/supports.js +6 -6
- package/src/hooks/typography.js +5 -5
- package/src/hooks/use-zoom-out.js +14 -34
- package/src/hooks/utils.js +7 -2
- package/src/index.js +0 -1
- package/src/private-apis.js +6 -3
- package/src/store/actions.js +3 -52
- package/src/store/defaults.js +2 -1
- package/src/store/private-actions.js +71 -8
- package/src/store/private-selectors.js +14 -25
- package/src/store/reducer.js +25 -11
- package/src/store/selectors.js +116 -53
- package/src/store/test/actions.js +41 -0
- package/src/store/test/private-selectors.js +5 -0
- package/src/store/test/reducer.js +23 -0
- package/src/store/utils.js +12 -11
- package/src/utils/dom.js +42 -17
- package/src/utils/get-font-styles-and-weights.js +2 -2
- package/src/utils/test/dom.js +224 -0
- package/src/utils/transform-styles/index.js +3 -2
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build/components/block-toolbar/shuffle.js +0 -110
- package/build/components/block-toolbar/shuffle.js.map +0 -1
- package/build/components/block-tools/zoom-out-popover.js +0 -58
- package/build/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build/components/block-tools/zoom-out-toolbar.js +0 -132
- package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build/components/block-vertical-alignment-control/icons.js +0 -48
- package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build-module/components/block-toolbar/shuffle.js +0 -103
- package/build-module/components/block-toolbar/shuffle.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-popover.js +0 -49
- package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
- package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
- package/src/components/block-toolbar/shuffle.js +0 -111
- package/src/components/block-tools/zoom-out-popover.js +0 -47
- package/src/components/block-tools/zoom-out-toolbar.js +0 -135
- package/src/components/block-vertical-alignment-control/icons.js +0 -34
- /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
package/src/store/reducer.js
CHANGED
|
@@ -8,6 +8,7 @@ import fastDeepEqual from 'fast-deep-equal/es6';
|
|
|
8
8
|
*/
|
|
9
9
|
import { pipe } from '@wordpress/compose';
|
|
10
10
|
import { combineReducers, select } from '@wordpress/data';
|
|
11
|
+
import deprecated from '@wordpress/deprecated';
|
|
11
12
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
12
13
|
/**
|
|
13
14
|
* Internal dependencies
|
|
@@ -1660,17 +1661,30 @@ export function template( state = { isValid: true }, action ) {
|
|
|
1660
1661
|
*/
|
|
1661
1662
|
export function settings( state = SETTINGS_DEFAULTS, action ) {
|
|
1662
1663
|
switch ( action.type ) {
|
|
1663
|
-
case 'UPDATE_SETTINGS':
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1664
|
+
case 'UPDATE_SETTINGS': {
|
|
1665
|
+
const updatedSettings = action.reset
|
|
1666
|
+
? {
|
|
1667
|
+
...SETTINGS_DEFAULTS,
|
|
1668
|
+
...action.settings,
|
|
1669
|
+
}
|
|
1670
|
+
: {
|
|
1671
|
+
...state,
|
|
1672
|
+
...action.settings,
|
|
1673
|
+
};
|
|
1674
|
+
|
|
1675
|
+
Object.defineProperty( updatedSettings, '__unstableIsPreviewMode', {
|
|
1676
|
+
get() {
|
|
1677
|
+
deprecated( '__unstableIsPreviewMode', {
|
|
1678
|
+
since: '6.8',
|
|
1679
|
+
alternative: 'isPreviewMode',
|
|
1680
|
+
} );
|
|
1681
|
+
|
|
1682
|
+
return this.isPreviewMode;
|
|
1683
|
+
},
|
|
1684
|
+
} );
|
|
1685
|
+
|
|
1686
|
+
return updatedSettings;
|
|
1687
|
+
}
|
|
1674
1688
|
}
|
|
1675
1689
|
|
|
1676
1690
|
return state;
|
package/src/store/selectors.js
CHANGED
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
getSectionRootClientId,
|
|
42
42
|
isSectionBlock,
|
|
43
43
|
getParentSectionBlock,
|
|
44
|
+
isZoomOut,
|
|
44
45
|
} from './private-selectors';
|
|
45
46
|
|
|
46
47
|
/**
|
|
@@ -541,6 +542,39 @@ export function getSelectedBlockClientId( state ) {
|
|
|
541
542
|
*
|
|
542
543
|
* @param {Object} state Global application state.
|
|
543
544
|
*
|
|
545
|
+
* @example
|
|
546
|
+
*
|
|
547
|
+
*```js
|
|
548
|
+
* import { select } from '@wordpress/data'
|
|
549
|
+
* import { store as blockEditorStore } from '@wordpress/block-editor'
|
|
550
|
+
*
|
|
551
|
+
* // Set initial active block client ID
|
|
552
|
+
* let activeBlockClientId = null
|
|
553
|
+
*
|
|
554
|
+
* const getActiveBlockData = () => {
|
|
555
|
+
* const activeBlock = select(blockEditorStore).getSelectedBlock()
|
|
556
|
+
*
|
|
557
|
+
* if (activeBlock && activeBlock.clientId !== activeBlockClientId) {
|
|
558
|
+
* activeBlockClientId = activeBlock.clientId
|
|
559
|
+
*
|
|
560
|
+
* // Get active block name and attributes
|
|
561
|
+
* const activeBlockName = activeBlock.name
|
|
562
|
+
* const activeBlockAttributes = activeBlock.attributes
|
|
563
|
+
*
|
|
564
|
+
* // Log active block name and attributes
|
|
565
|
+
* console.log(activeBlockName, activeBlockAttributes)
|
|
566
|
+
* }
|
|
567
|
+
* }
|
|
568
|
+
*
|
|
569
|
+
* // Subscribe to changes in the editor
|
|
570
|
+
* // wp.data.subscribe(() => {
|
|
571
|
+
* // getActiveBlockData()
|
|
572
|
+
* // })
|
|
573
|
+
*
|
|
574
|
+
* // Update active block data on click
|
|
575
|
+
* // onclick="getActiveBlockData()"
|
|
576
|
+
*```
|
|
577
|
+
*
|
|
544
578
|
* @return {?Object} Selected block.
|
|
545
579
|
*/
|
|
546
580
|
export function getSelectedBlock( state ) {
|
|
@@ -1552,12 +1586,18 @@ export function getTemplateLock( state, rootClientId ) {
|
|
|
1552
1586
|
* @param {string|Object} blockNameOrType The block type object, e.g., the response
|
|
1553
1587
|
* from the block directory; or a string name of
|
|
1554
1588
|
* an installed block type, e.g.' core/paragraph'.
|
|
1589
|
+
* @param {Set} checkedBlocks Set of block names that have already been checked.
|
|
1555
1590
|
*
|
|
1556
1591
|
* @return {boolean} Whether the given block type is allowed to be inserted.
|
|
1557
1592
|
*/
|
|
1558
|
-
const isBlockVisibleInTheInserter = (
|
|
1593
|
+
const isBlockVisibleInTheInserter = (
|
|
1594
|
+
state,
|
|
1595
|
+
blockNameOrType,
|
|
1596
|
+
checkedBlocks = new Set()
|
|
1597
|
+
) => {
|
|
1559
1598
|
let blockType;
|
|
1560
1599
|
let blockName;
|
|
1600
|
+
|
|
1561
1601
|
if ( blockNameOrType && 'object' === typeof blockNameOrType ) {
|
|
1562
1602
|
blockType = blockNameOrType;
|
|
1563
1603
|
blockName = blockNameOrType.name;
|
|
@@ -1565,6 +1605,7 @@ const isBlockVisibleInTheInserter = ( state, blockNameOrType ) => {
|
|
|
1565
1605
|
blockType = getBlockType( blockNameOrType );
|
|
1566
1606
|
blockName = blockNameOrType;
|
|
1567
1607
|
}
|
|
1608
|
+
|
|
1568
1609
|
if ( ! blockType ) {
|
|
1569
1610
|
return false;
|
|
1570
1611
|
}
|
|
@@ -1580,17 +1621,29 @@ const isBlockVisibleInTheInserter = ( state, blockNameOrType ) => {
|
|
|
1580
1621
|
return false;
|
|
1581
1622
|
}
|
|
1582
1623
|
|
|
1624
|
+
if ( checkedBlocks.has( blockName ) ) {
|
|
1625
|
+
return false;
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
checkedBlocks.add( blockName );
|
|
1629
|
+
|
|
1583
1630
|
// If parent blocks are not visible, child blocks should be hidden too.
|
|
1584
|
-
if (
|
|
1631
|
+
if ( Array.isArray( blockType.parent ) ) {
|
|
1585
1632
|
return blockType.parent.some(
|
|
1586
1633
|
( name ) =>
|
|
1587
|
-
|
|
1634
|
+
( blockName !== name &&
|
|
1635
|
+
isBlockVisibleInTheInserter(
|
|
1636
|
+
state,
|
|
1637
|
+
name,
|
|
1638
|
+
checkedBlocks
|
|
1639
|
+
) ) ||
|
|
1588
1640
|
// Exception for blocks with post-content parent,
|
|
1589
1641
|
// the root level is often consider as "core/post-content".
|
|
1590
1642
|
// This exception should only apply to the post editor ideally though.
|
|
1591
1643
|
name === 'core/post-content'
|
|
1592
1644
|
);
|
|
1593
1645
|
}
|
|
1646
|
+
|
|
1594
1647
|
return true;
|
|
1595
1648
|
};
|
|
1596
1649
|
|
|
@@ -1741,10 +1794,12 @@ const canInsertBlockTypeUnmemoized = (
|
|
|
1741
1794
|
*
|
|
1742
1795
|
* @return {boolean} Whether the given block type is allowed to be inserted.
|
|
1743
1796
|
*/
|
|
1744
|
-
export const canInsertBlockType =
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1797
|
+
export const canInsertBlockType = createRegistrySelector( ( select ) =>
|
|
1798
|
+
createSelector(
|
|
1799
|
+
canInsertBlockTypeUnmemoized,
|
|
1800
|
+
( state, blockName, rootClientId ) =>
|
|
1801
|
+
getInsertBlockTypeDependants( select )( state, rootClientId )
|
|
1802
|
+
)
|
|
1748
1803
|
);
|
|
1749
1804
|
|
|
1750
1805
|
/**
|
|
@@ -2171,7 +2226,7 @@ export const getInserterItems = createRegistrySelector( ( select ) =>
|
|
|
2171
2226
|
unlock( select( STORE_NAME ) ).getReusableBlocks(),
|
|
2172
2227
|
state.blocks.order,
|
|
2173
2228
|
state.preferences.insertUsage,
|
|
2174
|
-
...getInsertBlockTypeDependants( state, rootClientId ),
|
|
2229
|
+
...getInsertBlockTypeDependants( select )( state, rootClientId ),
|
|
2175
2230
|
]
|
|
2176
2231
|
)
|
|
2177
2232
|
);
|
|
@@ -2202,44 +2257,51 @@ export const getInserterItems = createRegistrySelector( ( select ) =>
|
|
|
2202
2257
|
* this item.
|
|
2203
2258
|
* @property {number} frecency Heuristic that combines frequency and recency.
|
|
2204
2259
|
*/
|
|
2205
|
-
export const getBlockTransformItems =
|
|
2206
|
-
(
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
)
|
|
2215
|
-
|
|
2260
|
+
export const getBlockTransformItems = createRegistrySelector( ( select ) =>
|
|
2261
|
+
createSelector(
|
|
2262
|
+
( state, blocks, rootClientId = null ) => {
|
|
2263
|
+
const normalizedBlocks = Array.isArray( blocks )
|
|
2264
|
+
? blocks
|
|
2265
|
+
: [ blocks ];
|
|
2266
|
+
const buildBlockTypeTransformItem = buildBlockTypeItem( state, {
|
|
2267
|
+
buildScope: 'transform',
|
|
2268
|
+
} );
|
|
2269
|
+
const blockTypeTransformItems = getBlockTypes()
|
|
2270
|
+
.filter( ( blockType ) =>
|
|
2271
|
+
canIncludeBlockTypeInInserter(
|
|
2272
|
+
state,
|
|
2273
|
+
blockType,
|
|
2274
|
+
rootClientId
|
|
2275
|
+
)
|
|
2276
|
+
)
|
|
2277
|
+
.map( buildBlockTypeTransformItem );
|
|
2216
2278
|
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
);
|
|
2279
|
+
const itemsByName = Object.fromEntries(
|
|
2280
|
+
Object.entries( blockTypeTransformItems ).map(
|
|
2281
|
+
( [ , value ] ) => [ value.name, value ]
|
|
2282
|
+
)
|
|
2283
|
+
);
|
|
2223
2284
|
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2285
|
+
const possibleTransforms = getPossibleBlockTransformations(
|
|
2286
|
+
normalizedBlocks
|
|
2287
|
+
).reduce( ( accumulator, block ) => {
|
|
2288
|
+
if ( itemsByName[ block?.name ] ) {
|
|
2289
|
+
accumulator.push( itemsByName[ block.name ] );
|
|
2290
|
+
}
|
|
2291
|
+
return accumulator;
|
|
2292
|
+
}, [] );
|
|
2293
|
+
return orderBy(
|
|
2294
|
+
possibleTransforms,
|
|
2295
|
+
( block ) => itemsByName[ block.name ].frecency,
|
|
2296
|
+
'desc'
|
|
2297
|
+
);
|
|
2298
|
+
},
|
|
2299
|
+
( state, blocks, rootClientId ) => [
|
|
2300
|
+
getBlockTypes(),
|
|
2301
|
+
state.preferences.insertUsage,
|
|
2302
|
+
...getInsertBlockTypeDependants( select )( state, rootClientId ),
|
|
2303
|
+
]
|
|
2304
|
+
)
|
|
2243
2305
|
);
|
|
2244
2306
|
|
|
2245
2307
|
/**
|
|
@@ -2307,7 +2369,7 @@ export const getAllowedBlocks = createRegistrySelector( ( select ) =>
|
|
|
2307
2369
|
( state, rootClientId ) => [
|
|
2308
2370
|
getBlockTypes(),
|
|
2309
2371
|
unlock( select( STORE_NAME ) ).getReusableBlocks(),
|
|
2310
|
-
...getInsertBlockTypeDependants( state, rootClientId ),
|
|
2372
|
+
...getInsertBlockTypeDependants( select )( state, rootClientId ),
|
|
2311
2373
|
]
|
|
2312
2374
|
)
|
|
2313
2375
|
);
|
|
@@ -2382,7 +2444,7 @@ export const __experimentalGetParsedPattern = createRegistrySelector(
|
|
|
2382
2444
|
|
|
2383
2445
|
const getAllowedPatternsDependants = ( select ) => ( state, rootClientId ) => [
|
|
2384
2446
|
...getAllPatternsDependants( select )( state ),
|
|
2385
|
-
...getInsertBlockTypeDependants( state, rootClientId ),
|
|
2447
|
+
...getInsertBlockTypeDependants( select )( state, rootClientId ),
|
|
2386
2448
|
];
|
|
2387
2449
|
|
|
2388
2450
|
const patternsWithParsedBlocks = new WeakMap();
|
|
@@ -2711,8 +2773,11 @@ export function isNavigationMode( state ) {
|
|
|
2711
2773
|
* @return {string} the editor mode.
|
|
2712
2774
|
*/
|
|
2713
2775
|
export const __unstableGetEditorMode = createRegistrySelector(
|
|
2714
|
-
( select ) => () => {
|
|
2715
|
-
return
|
|
2776
|
+
( select ) => ( state ) => {
|
|
2777
|
+
return (
|
|
2778
|
+
state.settings.editorTool ??
|
|
2779
|
+
select( preferencesStore ).get( 'core', 'editorTool' )
|
|
2780
|
+
);
|
|
2716
2781
|
}
|
|
2717
2782
|
);
|
|
2718
2783
|
|
|
@@ -2884,10 +2949,8 @@ export function __unstableHasActiveBlockOverlayActive( state, clientId ) {
|
|
|
2884
2949
|
return true;
|
|
2885
2950
|
}
|
|
2886
2951
|
|
|
2887
|
-
const editorMode = __unstableGetEditorMode( state );
|
|
2888
|
-
|
|
2889
2952
|
// In zoom-out mode, the block overlay is always active for section level blocks.
|
|
2890
|
-
if (
|
|
2953
|
+
if ( isZoomOut( state ) ) {
|
|
2891
2954
|
const sectionRootClientId = getSectionRootClientId( state );
|
|
2892
2955
|
if ( sectionRootClientId ) {
|
|
2893
2956
|
const sectionClientIds = getBlockOrder(
|
|
@@ -2986,8 +3049,7 @@ export const getBlockEditingMode = createRegistrySelector(
|
|
|
2986
3049
|
// In zoom-out mode, override the behavior set by
|
|
2987
3050
|
// __unstableSetBlockEditingMode to only allow editing the top-level
|
|
2988
3051
|
// sections.
|
|
2989
|
-
|
|
2990
|
-
if ( editorMode === 'zoom-out' ) {
|
|
3052
|
+
if ( isZoomOut( state ) ) {
|
|
2991
3053
|
const sectionRootClientId = getSectionRootClientId( state );
|
|
2992
3054
|
|
|
2993
3055
|
if ( clientId === '' /* ROOT_CONTAINER_CLIENT_ID */ ) {
|
|
@@ -3009,6 +3071,7 @@ export const getBlockEditingMode = createRegistrySelector(
|
|
|
3009
3071
|
return 'disabled';
|
|
3010
3072
|
}
|
|
3011
3073
|
|
|
3074
|
+
const editorMode = __unstableGetEditorMode( state );
|
|
3012
3075
|
if ( editorMode === 'navigation' ) {
|
|
3013
3076
|
const sectionRootClientId = getSectionRootClientId( state );
|
|
3014
3077
|
|
|
@@ -1125,6 +1125,47 @@ describe( 'actions', () => {
|
|
|
1125
1125
|
} );
|
|
1126
1126
|
} );
|
|
1127
1127
|
|
|
1128
|
+
describe( 'updateSettings', () => {
|
|
1129
|
+
it( 'warns when setting the deprecated __unstableIsPreviewMode property and sets the stable property instead', () => {
|
|
1130
|
+
const consoleWarn = jest
|
|
1131
|
+
.spyOn( global.console, 'warn' )
|
|
1132
|
+
.mockImplementation();
|
|
1133
|
+
|
|
1134
|
+
const store = createRegistry().registerStore(
|
|
1135
|
+
blockEditorStoreName,
|
|
1136
|
+
{
|
|
1137
|
+
actions,
|
|
1138
|
+
selectors,
|
|
1139
|
+
reducer,
|
|
1140
|
+
}
|
|
1141
|
+
);
|
|
1142
|
+
|
|
1143
|
+
store.dispatch(
|
|
1144
|
+
updateSettings( {
|
|
1145
|
+
__unstableIsPreviewMode: true,
|
|
1146
|
+
} )
|
|
1147
|
+
);
|
|
1148
|
+
|
|
1149
|
+
expect( consoleWarn ).toHaveBeenCalledWith(
|
|
1150
|
+
"__unstableIsPreviewMode argument in wp.data.dispatch('core/block-editor').updateSettings is deprecated since version 6.8. Please use isPreviewMode instead."
|
|
1151
|
+
);
|
|
1152
|
+
|
|
1153
|
+
consoleWarn.mockClear();
|
|
1154
|
+
|
|
1155
|
+
expect( store.getState().settings.__unstableIsPreviewMode ).toBe(
|
|
1156
|
+
true
|
|
1157
|
+
);
|
|
1158
|
+
|
|
1159
|
+
expect( store.getState().settings.isPreviewMode ).toBe( true );
|
|
1160
|
+
|
|
1161
|
+
expect( consoleWarn ).toHaveBeenCalledWith(
|
|
1162
|
+
'__unstableIsPreviewMode is deprecated since version 6.8. Please use isPreviewMode instead.'
|
|
1163
|
+
);
|
|
1164
|
+
|
|
1165
|
+
consoleWarn.mockRestore();
|
|
1166
|
+
} );
|
|
1167
|
+
} );
|
|
1168
|
+
|
|
1128
1169
|
describe( 'registerInserterMediaCategory', () => {
|
|
1129
1170
|
describe( 'should log errors when invalid', () => {
|
|
1130
1171
|
it( 'valid object', () => {
|
|
@@ -292,6 +292,11 @@ describe( 'private selectors', () => {
|
|
|
292
292
|
'9b9c5c3f-2e46-4f02-9e14-9fe9515b958f': {},
|
|
293
293
|
},
|
|
294
294
|
};
|
|
295
|
+
getEnabledClientIdsTree.registry = {
|
|
296
|
+
select: jest.fn( () => ( {
|
|
297
|
+
__unstableGetEditorMode: () => 'edit',
|
|
298
|
+
} ) ),
|
|
299
|
+
};
|
|
295
300
|
|
|
296
301
|
it( 'should return tree containing only clientId and innerBlocks', () => {
|
|
297
302
|
const state = {
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
insertionPoint,
|
|
33
33
|
template,
|
|
34
34
|
blockListSettings,
|
|
35
|
+
settings,
|
|
35
36
|
lastBlockAttributesChange,
|
|
36
37
|
lastBlockInserted,
|
|
37
38
|
blockEditingModes,
|
|
@@ -3070,6 +3071,28 @@ describe( 'state', () => {
|
|
|
3070
3071
|
} );
|
|
3071
3072
|
} );
|
|
3072
3073
|
|
|
3074
|
+
describe( 'settings', () => {
|
|
3075
|
+
it( 'should warn about __unstableIsPreviewMode deprecation', () => {
|
|
3076
|
+
const consoleWarn = jest
|
|
3077
|
+
.spyOn( global.console, 'warn' )
|
|
3078
|
+
.mockImplementation();
|
|
3079
|
+
|
|
3080
|
+
const settingsObject = settings( undefined, {
|
|
3081
|
+
type: 'UPDATE_SETTINGS',
|
|
3082
|
+
reset: true,
|
|
3083
|
+
} );
|
|
3084
|
+
|
|
3085
|
+
expect( settingsObject.__unstableIsPreviewMode ).toBeDefined();
|
|
3086
|
+
expect( settingsObject.isPreviewMode ).toBeDefined();
|
|
3087
|
+
|
|
3088
|
+
expect( consoleWarn ).toHaveBeenCalledWith(
|
|
3089
|
+
'__unstableIsPreviewMode is deprecated since version 6.8. Please use isPreviewMode instead.'
|
|
3090
|
+
);
|
|
3091
|
+
|
|
3092
|
+
consoleWarn.mockRestore();
|
|
3093
|
+
} );
|
|
3094
|
+
} );
|
|
3095
|
+
|
|
3073
3096
|
describe( 'blockListSettings', () => {
|
|
3074
3097
|
it( 'should add new settings', () => {
|
|
3075
3098
|
const original = deepFreeze( {} );
|
package/src/store/utils.js
CHANGED
|
@@ -110,14 +110,15 @@ export const getAllPatternsDependants = ( select ) => ( state ) => {
|
|
|
110
110
|
];
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
export
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
113
|
+
export const getInsertBlockTypeDependants =
|
|
114
|
+
( select ) => ( state, rootClientId ) => {
|
|
115
|
+
return [
|
|
116
|
+
state.blockListSettings[ rootClientId ],
|
|
117
|
+
state.blocks.byClientId.get( rootClientId ),
|
|
118
|
+
state.settings.allowedBlockTypes,
|
|
119
|
+
state.settings.templateLock,
|
|
120
|
+
state.blockEditingModes,
|
|
121
|
+
select( STORE_NAME ).__unstableGetEditorMode( state ),
|
|
122
|
+
getSectionRootClientId( state ),
|
|
123
|
+
];
|
|
124
|
+
};
|
package/src/utils/dom.js
CHANGED
|
@@ -119,38 +119,63 @@ function isElementVisible( element ) {
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
*
|
|
122
|
+
* Checks if the element is scrollable.
|
|
123
123
|
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
* @param {Element} element Element.
|
|
125
|
+
* @return {boolean} True if the element is scrollable.
|
|
126
|
+
*/
|
|
127
|
+
function isScrollable( element ) {
|
|
128
|
+
const style = window.getComputedStyle( element );
|
|
129
|
+
return (
|
|
130
|
+
style.overflowX === 'auto' ||
|
|
131
|
+
style.overflowX === 'scroll' ||
|
|
132
|
+
style.overflowY === 'auto' ||
|
|
133
|
+
style.overflowY === 'scroll'
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export const WITH_OVERFLOW_ELEMENT_BLOCKS = [ 'core/navigation' ];
|
|
138
|
+
/**
|
|
139
|
+
* Returns the bounding rectangle of an element, with special handling for blocks
|
|
140
|
+
* that have visible overflowing children (defined in WITH_OVERFLOW_ELEMENT_BLOCKS).
|
|
130
141
|
*
|
|
142
|
+
* For blocks like Navigation that can have overflowing elements (e.g. submenus),
|
|
143
|
+
* this function calculates the combined bounds of both the parent and its visible
|
|
144
|
+
* children. The returned rect may extend beyond the viewport.
|
|
131
145
|
* The returned rect represents the full extent of the element and its visible
|
|
132
146
|
* children, which may extend beyond the viewport.
|
|
133
147
|
*
|
|
134
148
|
* @param {Element} element Element.
|
|
135
149
|
* @return {DOMRect} Bounding client rect of the element and its visible children.
|
|
136
150
|
*/
|
|
137
|
-
export function
|
|
151
|
+
export function getElementBounds( element ) {
|
|
138
152
|
const viewport = element.ownerDocument.defaultView;
|
|
153
|
+
|
|
139
154
|
if ( ! viewport ) {
|
|
140
155
|
return new window.DOMRectReadOnly();
|
|
141
156
|
}
|
|
142
157
|
|
|
143
158
|
let bounds = element.getBoundingClientRect();
|
|
159
|
+
const dataType = element.getAttribute( 'data-type' );
|
|
144
160
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
161
|
+
/*
|
|
162
|
+
* For blocks with overflowing elements (like Navigation), include the bounds
|
|
163
|
+
* of visible children that extend beyond the parent container.
|
|
164
|
+
*/
|
|
165
|
+
if ( dataType && WITH_OVERFLOW_ELEMENT_BLOCKS.includes( dataType ) ) {
|
|
166
|
+
const stack = [ element ];
|
|
167
|
+
let currentElement;
|
|
168
|
+
|
|
169
|
+
while ( ( currentElement = stack.pop() ) ) {
|
|
170
|
+
// Children won’t affect bounds unless the element is not scrollable.
|
|
171
|
+
if ( ! isScrollable( currentElement ) ) {
|
|
172
|
+
for ( const child of currentElement.children ) {
|
|
173
|
+
if ( isElementVisible( child ) ) {
|
|
174
|
+
const childBounds = child.getBoundingClientRect();
|
|
175
|
+
bounds = rectUnion( bounds, childBounds );
|
|
176
|
+
stack.push( child );
|
|
177
|
+
}
|
|
178
|
+
}
|
|
154
179
|
}
|
|
155
180
|
}
|
|
156
181
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { _x,
|
|
4
|
+
import { _x, sprintf } from '@wordpress/i18n';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
@@ -173,7 +173,7 @@ export function getFontStylesAndWeights( fontFamilyFaces ) {
|
|
|
173
173
|
? weightName
|
|
174
174
|
: sprintf(
|
|
175
175
|
/* translators: 1: Font weight name. 2: Font style name. */
|
|
176
|
-
|
|
176
|
+
_x( '%1$s %2$s', 'font' ),
|
|
177
177
|
weightName,
|
|
178
178
|
styleName
|
|
179
179
|
);
|