@wordpress/block-editor 14.5.0 → 14.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +0 -8
- package/build/autocompleters/block.js +13 -5
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-canvas/index.js +10 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-full-height-alignment-control/index.js +1 -1
- package/build/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build/components/block-list/block.js +1 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -7
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +5 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +1 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -1
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +1 -1
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +2 -45
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -3
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-toolbar/change-design.js +122 -0
- package/build/components/block-toolbar/change-design.js.map +1 -0
- package/build/components/block-toolbar/index.js +19 -7
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +4 -10
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +3 -9
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +2 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +6 -10
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +7 -10
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/collab/block-comment-icon-slot.js +18 -0
- package/build/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
- package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/iframe/index.js +17 -22
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-size-control/index.js +61 -20
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -5
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +15 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/menu.js +4 -2
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter-button/index.native.js +1 -1
- package/build/components/inserter-button/index.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +0 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/utils.js +3 -6
- package/build/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build/components/link-control/link-preview.js +12 -9
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/appender.js +4 -3
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/branch.js +6 -5
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +1 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/provider/index.js +1 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/index.js +3 -1
- package/build/components/rich-text/event-listeners/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -6
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +2 -2
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +1 -5
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build/components/tool-selector/index.js +1 -4
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +1 -1
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +5 -5
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +0 -1
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-moving-animation/index.js +1 -3
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/use-settings/index.js +1 -3
- package/build/components/use-settings/index.js.map +1 -1
- package/build/components/writing-flow/index.js +5 -3
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +2 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/block-bindings.js +19 -8
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/contrast-checker.js +0 -1
- package/build/hooks/contrast-checker.js.map +1 -1
- package/build/hooks/duotone.js +2 -2
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/style.js +4 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/use-zoom-out.js +13 -22
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/index.js +0 -7
- package/build/index.js.map +1 -1
- package/build/private-apis.js +6 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -33
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/private-actions.js +57 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +9 -21
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +16 -6
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +44 -7
- package/build/store/selectors.js.map +1 -1
- package/build/utils/dom.js +16 -1
- package/build/utils/dom.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -1
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/transform-styles/index.js +4 -3
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +14 -6
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-canvas/index.js +11 -1
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +3 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js +1 -1
- package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
- package/build-module/components/block-list/block.js +1 -1
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -7
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +5 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +1 -1
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +2 -45
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +5 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-toolbar/change-design.js +114 -0
- package/build-module/components/block-toolbar/change-design.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +19 -7
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +4 -10
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +3 -9
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +2 -2
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +8 -11
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/collab/block-comment-icon-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
- package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -5
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/iframe/index.js +17 -22
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-size-control/index.js +62 -21
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -5
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +15 -2
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +5 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +1 -1
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +0 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/utils.js +3 -6
- package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +13 -10
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -3
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/branch.js +7 -6
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/provider/index.js +1 -1
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/index.js +4 -2
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -6
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +3 -3
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
- package/build-module/components/tool-selector/index.js +1 -4
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -1
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -1
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +5 -5
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +0 -1
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js +1 -3
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/use-settings/index.js +1 -3
- package/build-module/components/use-settings/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +5 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +2 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/block-bindings.js +20 -9
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/contrast-checker.js +0 -1
- package/build-module/hooks/contrast-checker.js.map +1 -1
- package/build-module/hooks/duotone.js +2 -2
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/style.js +4 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +15 -23
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +7 -5
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -33
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/private-actions.js +54 -7
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +9 -20
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +16 -6
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +45 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/dom.js +16 -1
- package/build-module/utils/dom.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +2 -2
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +3 -2
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +9 -4
- package/build-style/content.css +9 -4
- package/build-style/style-rtl.css +33 -22
- package/build-style/style.css +33 -22
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +33 -32
- package/src/autocompleters/block.js +16 -7
- package/src/components/block-canvas/index.js +17 -1
- package/src/components/block-canvas/style.scss +2 -0
- package/src/components/block-card/index.js +3 -3
- package/src/components/block-full-height-alignment-control/index.js +1 -1
- package/src/components/block-inspector/style.scss +0 -6
- package/src/components/block-list/block.js +1 -2
- package/src/components/block-list/block.native.js +0 -4
- package/src/components/block-list/content.scss +1 -1
- package/src/components/block-list/index.js +4 -4
- package/src/components/block-list/use-block-props/index.js +0 -2
- package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
- package/src/components/block-list/use-in-between-inserter.js +1 -1
- package/src/components/block-patterns-list/stories/fixtures.js +834 -0
- package/src/components/block-patterns-list/stories/index.story.js +81 -0
- package/src/components/block-patterns-list/style.scss +2 -0
- package/src/components/block-patterns-paging/index.js +1 -1
- package/src/components/block-popover/index.js +0 -62
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
- package/src/components/block-settings-menu/index.js +3 -0
- package/src/components/block-toolbar/change-design.js +133 -0
- package/src/components/block-toolbar/index.js +25 -8
- package/src/components/block-toolbar/style.scss +16 -0
- package/src/components/block-tools/index.js +4 -17
- package/src/components/block-tools/insertion-point.js +4 -3
- package/src/components/block-tools/style.scss +0 -20
- package/src/components/block-tools/use-show-block-tools.js +0 -13
- package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
- package/src/components/block-variation-transforms/index.js +2 -2
- package/src/components/block-vertical-alignment-control/ui.js +11 -15
- package/src/components/border-radius-control/linked-button.js +9 -11
- package/src/components/collab/block-comment-icon-slot.js +12 -0
- package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
- package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
- package/src/components/convert-to-group-buttons/toolbar.js +4 -4
- package/src/components/global-styles/color-panel.js +2 -10
- package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
- package/src/components/global-styles/use-global-styles-context.native.js +6 -0
- package/src/components/iframe/content.scss +4 -9
- package/src/components/iframe/index.js +31 -34
- package/src/components/iframe/style.scss +2 -3
- package/src/components/image-size-control/index.js +74 -43
- package/src/components/image-size-control/test/index.js +5 -63
- package/src/components/inner-blocks/index.js +12 -6
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
- package/src/components/inserter/category-tabs/index.js +16 -2
- package/src/components/inserter/menu.js +6 -4
- package/src/components/inserter/style.scss +13 -0
- package/src/components/inserter-button/index.native.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +1 -6
- package/src/components/inspector-controls-tabs/utils.js +0 -3
- package/src/components/link-control/link-preview.js +15 -8
- package/src/components/link-control/test/index.js +63 -24
- package/src/components/list-view/appender.js +5 -6
- package/src/components/list-view/branch.js +8 -6
- package/src/components/list-view/index.js +1 -2
- package/src/components/provider/index.js +1 -3
- package/src/components/provider/test/experimental-provider.js +43 -1
- package/src/components/rich-text/event-listeners/index.js +4 -2
- package/src/components/rich-text/index.native.js +0 -2
- package/src/components/spacing-sizes-control/index.js +3 -3
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
- package/src/components/spacing-sizes-control/linked-button.js +2 -12
- package/src/components/tool-selector/index.js +1 -5
- package/src/components/url-input/index.js +1 -1
- package/src/components/use-block-commands/index.js +1 -1
- package/src/components/use-block-drop-zone/index.js +5 -5
- package/src/components/use-block-drop-zone/index.native.js +0 -1
- package/src/components/use-moving-animation/index.js +0 -1
- package/src/components/use-settings/index.js +0 -1
- package/src/components/writing-flow/index.js +5 -3
- package/src/components/writing-flow/use-tab-nav.js +1 -2
- package/src/hooks/block-bindings.js +48 -31
- package/src/hooks/contrast-checker.js +0 -1
- package/src/hooks/duotone.js +2 -2
- package/src/hooks/style.js +7 -3
- package/src/hooks/use-zoom-out.js +14 -34
- package/src/index.js +0 -1
- package/src/private-apis.js +6 -3
- package/src/store/actions.js +3 -52
- package/src/store/defaults.js +2 -1
- package/src/store/private-actions.js +71 -8
- package/src/store/private-selectors.js +9 -19
- package/src/store/reducer.js +25 -11
- package/src/store/selectors.js +59 -8
- package/src/store/test/actions.js +41 -0
- package/src/store/test/reducer.js +23 -0
- package/src/utils/dom.js +22 -2
- package/src/utils/get-font-styles-and-weights.js +2 -2
- package/src/utils/transform-styles/index.js +3 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build/components/block-toolbar/shuffle.js +0 -110
- package/build/components/block-toolbar/shuffle.js.map +0 -1
- package/build/components/block-tools/zoom-out-popover.js +0 -58
- package/build/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build/components/block-tools/zoom-out-toolbar.js +0 -132
- package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build/components/block-vertical-alignment-control/icons.js +0 -48
- package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
- package/build-module/components/block-toolbar/shuffle.js +0 -103
- package/build-module/components/block-toolbar/shuffle.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-popover.js +0 -49
- package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
- package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
- package/src/components/block-toolbar/shuffle.js +0 -111
- package/src/components/block-tools/zoom-out-popover.js +0 -47
- package/src/components/block-tools/zoom-out-toolbar.js +0 -135
- package/src/components/block-vertical-alignment-control/icons.js +0 -34
|
@@ -373,7 +373,9 @@ describe( 'Basic rendering', () => {
|
|
|
373
373
|
/>
|
|
374
374
|
);
|
|
375
375
|
|
|
376
|
-
const linkPreview = screen.
|
|
376
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
377
|
+
name: 'Manage link',
|
|
378
|
+
} );
|
|
377
379
|
|
|
378
380
|
const isPreviewError = linkPreview.classList.contains( 'is-error' );
|
|
379
381
|
expect( isPreviewError ).toBe( true );
|
|
@@ -834,7 +836,9 @@ describe( 'Manual link entry', () => {
|
|
|
834
836
|
|
|
835
837
|
render( <LinkControlConsumer /> );
|
|
836
838
|
|
|
837
|
-
let linkPreview = screen.
|
|
839
|
+
let linkPreview = screen.getByRole( 'group', {
|
|
840
|
+
name: 'Manage link',
|
|
841
|
+
} );
|
|
838
842
|
|
|
839
843
|
expect( linkPreview ).toBeInTheDocument();
|
|
840
844
|
|
|
@@ -868,7 +872,9 @@ describe( 'Manual link entry', () => {
|
|
|
868
872
|
// Cancel the editing process.
|
|
869
873
|
await user.click( cancelButton );
|
|
870
874
|
|
|
871
|
-
linkPreview = screen.
|
|
875
|
+
linkPreview = screen.getByRole( 'group', {
|
|
876
|
+
name: 'Manage link',
|
|
877
|
+
} );
|
|
872
878
|
|
|
873
879
|
expect( linkPreview ).toBeInTheDocument();
|
|
874
880
|
|
|
@@ -1076,7 +1082,9 @@ describe( 'Default search suggestions', () => {
|
|
|
1076
1082
|
|
|
1077
1083
|
// Click the "Edit/Change" button and check initial suggestions are not
|
|
1078
1084
|
// shown.
|
|
1079
|
-
const currentLinkUI = screen.
|
|
1085
|
+
const currentLinkUI = screen.getByRole( 'group', {
|
|
1086
|
+
name: 'Manage link',
|
|
1087
|
+
} );
|
|
1080
1088
|
const currentLinkBtn = within( currentLinkUI ).getByRole( 'button', {
|
|
1081
1089
|
name: 'Edit link',
|
|
1082
1090
|
} );
|
|
@@ -1230,8 +1238,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => {
|
|
|
1230
1238
|
|
|
1231
1239
|
// Check for loading indicator.
|
|
1232
1240
|
const loadingIndicator = screen.getByText( 'Creating…' );
|
|
1233
|
-
const currentLinkLabel =
|
|
1234
|
-
|
|
1241
|
+
const currentLinkLabel = screen.queryByRole( 'group', {
|
|
1242
|
+
name: 'Manage link',
|
|
1243
|
+
} );
|
|
1235
1244
|
|
|
1236
1245
|
expect( currentLinkLabel ).not.toBeInTheDocument();
|
|
1237
1246
|
expect( loadingIndicator ).toBeVisible();
|
|
@@ -1242,8 +1251,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => {
|
|
|
1242
1251
|
// Resolve the `createSuggestion` promise.
|
|
1243
1252
|
resolver();
|
|
1244
1253
|
|
|
1245
|
-
const currentLink =
|
|
1246
|
-
|
|
1254
|
+
const currentLink = await screen.findByRole( 'group', {
|
|
1255
|
+
name: 'Manage link',
|
|
1256
|
+
} );
|
|
1247
1257
|
|
|
1248
1258
|
expect( currentLink ).toHaveTextContent( entityNameText );
|
|
1249
1259
|
expect( currentLink ).toHaveTextContent( '/?p=123' );
|
|
@@ -1291,7 +1301,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => {
|
|
|
1291
1301
|
|
|
1292
1302
|
await user.click( createButton );
|
|
1293
1303
|
|
|
1294
|
-
const currentLink = screen.
|
|
1304
|
+
const currentLink = screen.getByRole( 'group', {
|
|
1305
|
+
name: 'Manage link',
|
|
1306
|
+
} );
|
|
1295
1307
|
|
|
1296
1308
|
expect( currentLink ).toHaveTextContent( 'Some new page to create' );
|
|
1297
1309
|
expect( currentLink ).toHaveTextContent( '/?p=123' );
|
|
@@ -1350,7 +1362,9 @@ describe( 'Creating Entities (eg: Posts, Pages)', () => {
|
|
|
1350
1362
|
triggerEnter( searchInput );
|
|
1351
1363
|
|
|
1352
1364
|
expect(
|
|
1353
|
-
await screen.
|
|
1365
|
+
await screen.findByRole( 'group', {
|
|
1366
|
+
name: 'Manage link',
|
|
1367
|
+
} )
|
|
1354
1368
|
).toHaveTextContent( entityNameText );
|
|
1355
1369
|
} );
|
|
1356
1370
|
|
|
@@ -1529,7 +1543,9 @@ describe( 'Selecting links', () => {
|
|
|
1529
1543
|
|
|
1530
1544
|
render( <LinkControlConsumer /> );
|
|
1531
1545
|
|
|
1532
|
-
const currentLink = screen.
|
|
1546
|
+
const currentLink = screen.getByRole( 'group', {
|
|
1547
|
+
name: 'Manage link',
|
|
1548
|
+
} );
|
|
1533
1549
|
const currentLinkAnchor = screen.getByRole( 'link', {
|
|
1534
1550
|
name: `${ selectedLink.title } (opens in a new tab)`,
|
|
1535
1551
|
} );
|
|
@@ -1559,7 +1575,9 @@ describe( 'Selecting links', () => {
|
|
|
1559
1575
|
render( <LinkControlConsumer /> );
|
|
1560
1576
|
|
|
1561
1577
|
// Required in order to select the button below.
|
|
1562
|
-
let currentLinkUI = screen.
|
|
1578
|
+
let currentLinkUI = screen.getByRole( 'group', {
|
|
1579
|
+
name: 'Manage link',
|
|
1580
|
+
} );
|
|
1563
1581
|
const currentLinkBtn = within( currentLinkUI ).getByRole( 'button', {
|
|
1564
1582
|
name: 'Edit link',
|
|
1565
1583
|
} );
|
|
@@ -1570,7 +1588,9 @@ describe( 'Selecting links', () => {
|
|
|
1570
1588
|
const searchInput = screen.getByRole( 'combobox', {
|
|
1571
1589
|
name: 'Search or type URL',
|
|
1572
1590
|
} );
|
|
1573
|
-
currentLinkUI = screen.
|
|
1591
|
+
currentLinkUI = screen.queryByRole( 'group', {
|
|
1592
|
+
name: 'Manage link',
|
|
1593
|
+
} );
|
|
1574
1594
|
|
|
1575
1595
|
// We should be back to showing the search input.
|
|
1576
1596
|
expect( searchInput ).toBeVisible();
|
|
@@ -1733,8 +1753,9 @@ describe( 'Selecting links', () => {
|
|
|
1733
1753
|
triggerEnter( searchInput );
|
|
1734
1754
|
|
|
1735
1755
|
// Check that the suggestion selected via is now shown as selected.
|
|
1736
|
-
const currentLink =
|
|
1737
|
-
|
|
1756
|
+
const currentLink = screen.getByRole( 'group', {
|
|
1757
|
+
name: 'Manage link',
|
|
1758
|
+
} );
|
|
1738
1759
|
const currentLinkAnchor = screen.getByRole( 'link', {
|
|
1739
1760
|
name: `${ selectedLink.title } (opens in a new tab)`,
|
|
1740
1761
|
} );
|
|
@@ -2127,7 +2148,9 @@ describe( 'Rich link previews', () => {
|
|
|
2127
2148
|
|
|
2128
2149
|
render( <LinkControl value={ selectedLink } /> );
|
|
2129
2150
|
|
|
2130
|
-
const linkPreview = screen.
|
|
2151
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2152
|
+
name: 'Manage link',
|
|
2153
|
+
} );
|
|
2131
2154
|
|
|
2132
2155
|
const isRichLinkPreview = linkPreview.classList.contains( 'is-rich' );
|
|
2133
2156
|
|
|
@@ -2148,7 +2171,9 @@ describe( 'Rich link previews', () => {
|
|
|
2148
2171
|
|
|
2149
2172
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2150
2173
|
|
|
2151
|
-
const linkPreview = screen.
|
|
2174
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2175
|
+
name: 'Manage link',
|
|
2176
|
+
} );
|
|
2152
2177
|
|
|
2153
2178
|
await waitFor( () => expect( linkPreview ).toHaveClass( 'is-rich' ) );
|
|
2154
2179
|
} );
|
|
@@ -2165,7 +2190,9 @@ describe( 'Rich link previews', () => {
|
|
|
2165
2190
|
|
|
2166
2191
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2167
2192
|
|
|
2168
|
-
const linkPreview = screen.
|
|
2193
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2194
|
+
name: 'Manage link',
|
|
2195
|
+
} );
|
|
2169
2196
|
|
|
2170
2197
|
await waitFor( () => expect( linkPreview ).toHaveClass( 'is-rich' ) );
|
|
2171
2198
|
|
|
@@ -2197,7 +2224,9 @@ describe( 'Rich link previews', () => {
|
|
|
2197
2224
|
|
|
2198
2225
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2199
2226
|
|
|
2200
|
-
const linkPreview = screen.
|
|
2227
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2228
|
+
name: 'Manage link',
|
|
2229
|
+
} );
|
|
2201
2230
|
|
|
2202
2231
|
await waitFor( () => expect( linkPreview ).toHaveClass( 'is-rich' ) );
|
|
2203
2232
|
|
|
@@ -2221,7 +2250,9 @@ describe( 'Rich link previews', () => {
|
|
|
2221
2250
|
|
|
2222
2251
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2223
2252
|
|
|
2224
|
-
const linkPreview = screen.
|
|
2253
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2254
|
+
name: 'Manage link',
|
|
2255
|
+
} );
|
|
2225
2256
|
|
|
2226
2257
|
await waitFor( () => expect( linkPreview ).toHaveClass( 'is-rich' ) );
|
|
2227
2258
|
|
|
@@ -2256,7 +2287,9 @@ describe( 'Rich link previews', () => {
|
|
|
2256
2287
|
|
|
2257
2288
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2258
2289
|
|
|
2259
|
-
const linkPreview = screen.
|
|
2290
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2291
|
+
name: 'Manage link',
|
|
2292
|
+
} );
|
|
2260
2293
|
|
|
2261
2294
|
await waitFor( () =>
|
|
2262
2295
|
expect( linkPreview ).toHaveClass( 'is-rich' )
|
|
@@ -2281,7 +2314,9 @@ describe( 'Rich link previews', () => {
|
|
|
2281
2314
|
|
|
2282
2315
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2283
2316
|
|
|
2284
|
-
const linkPreview = screen.
|
|
2317
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2318
|
+
name: 'Manage link',
|
|
2319
|
+
} );
|
|
2285
2320
|
|
|
2286
2321
|
expect( linkPreview ).toHaveClass( 'is-fetching' );
|
|
2287
2322
|
|
|
@@ -2300,7 +2335,9 @@ describe( 'Rich link previews', () => {
|
|
|
2300
2335
|
|
|
2301
2336
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2302
2337
|
|
|
2303
|
-
const linkPreview = screen.
|
|
2338
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2339
|
+
name: 'Manage link',
|
|
2340
|
+
} );
|
|
2304
2341
|
|
|
2305
2342
|
expect( linkPreview ).toHaveClass( 'is-fetching' );
|
|
2306
2343
|
expect( linkPreview ).not.toHaveClass( 'is-rich' );
|
|
@@ -2313,7 +2350,9 @@ describe( 'Rich link previews', () => {
|
|
|
2313
2350
|
|
|
2314
2351
|
render( <LinkControl value={ selectedLink } hasRichPreviews /> );
|
|
2315
2352
|
|
|
2316
|
-
const linkPreview = screen.
|
|
2353
|
+
const linkPreview = screen.getByRole( 'group', {
|
|
2354
|
+
name: 'Manage link',
|
|
2355
|
+
} );
|
|
2317
2356
|
|
|
2318
2357
|
expect( linkPreview ).toHaveClass( 'is-fetching' );
|
|
2319
2358
|
|
|
@@ -15,6 +15,7 @@ import useBlockDisplayTitle from '../block-title/use-block-display-title';
|
|
|
15
15
|
import { useListViewContext } from './context';
|
|
16
16
|
import Inserter from '../inserter';
|
|
17
17
|
import AriaReferencedText from './aria-referenced-text';
|
|
18
|
+
import { unlock } from '../../lock-unlock';
|
|
18
19
|
|
|
19
20
|
export const Appender = forwardRef(
|
|
20
21
|
( { nestingLevel, blockCount, clientId, ...props }, ref ) => {
|
|
@@ -23,13 +24,11 @@ export const Appender = forwardRef(
|
|
|
23
24
|
const instanceId = useInstanceId( Appender );
|
|
24
25
|
const hideInserter = useSelect(
|
|
25
26
|
( select ) => {
|
|
26
|
-
const { getTemplateLock,
|
|
27
|
-
select( blockEditorStore )
|
|
28
|
-
|
|
29
|
-
return (
|
|
30
|
-
!! getTemplateLock( clientId ) ||
|
|
31
|
-
__unstableGetEditorMode() === 'zoom-out'
|
|
27
|
+
const { getTemplateLock, isZoomOut } = unlock(
|
|
28
|
+
select( blockEditorStore )
|
|
32
29
|
);
|
|
30
|
+
|
|
31
|
+
return !! getTemplateLock( clientId ) || isZoomOut();
|
|
33
32
|
},
|
|
34
33
|
[ clientId ]
|
|
35
34
|
);
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
__experimentalTreeGridRow as TreeGridRow,
|
|
6
6
|
__experimentalTreeGridCell as TreeGridCell,
|
|
7
7
|
} from '@wordpress/components';
|
|
8
|
-
import { memo } from '@wordpress/element';
|
|
8
|
+
import { memo, useRef } from '@wordpress/element';
|
|
9
9
|
import { AsyncModeProvider, useSelect } from '@wordpress/data';
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -123,6 +123,8 @@ function ListViewBranch( props ) {
|
|
|
123
123
|
draggedClientIds,
|
|
124
124
|
} = useListViewContext();
|
|
125
125
|
|
|
126
|
+
const nextPositionRef = useRef();
|
|
127
|
+
|
|
126
128
|
if ( ! canParentExpand ) {
|
|
127
129
|
return null;
|
|
128
130
|
}
|
|
@@ -133,7 +135,7 @@ function ListViewBranch( props ) {
|
|
|
133
135
|
const blockCount = filteredBlocks.length;
|
|
134
136
|
// The appender means an extra row in List View, so add 1 to the row count.
|
|
135
137
|
const rowCount = showAppender ? blockCount + 1 : blockCount;
|
|
136
|
-
|
|
138
|
+
nextPositionRef.current = listPosition;
|
|
137
139
|
|
|
138
140
|
return (
|
|
139
141
|
<>
|
|
@@ -141,7 +143,7 @@ function ListViewBranch( props ) {
|
|
|
141
143
|
const { clientId, innerBlocks } = block;
|
|
142
144
|
|
|
143
145
|
if ( index > 0 ) {
|
|
144
|
-
|
|
146
|
+
nextPositionRef.current += countBlocks(
|
|
145
147
|
filteredBlocks[ index - 1 ],
|
|
146
148
|
expandedState,
|
|
147
149
|
draggedClientIds,
|
|
@@ -165,7 +167,7 @@ function ListViewBranch( props ) {
|
|
|
165
167
|
} );
|
|
166
168
|
|
|
167
169
|
const { itemInView } = fixedListWindow;
|
|
168
|
-
const blockInView = itemInView(
|
|
170
|
+
const blockInView = itemInView( nextPositionRef.current );
|
|
169
171
|
|
|
170
172
|
const position = index + 1;
|
|
171
173
|
const updatedPath =
|
|
@@ -218,7 +220,7 @@ function ListViewBranch( props ) {
|
|
|
218
220
|
showBlockMovers={ showBlockMovers }
|
|
219
221
|
path={ updatedPath }
|
|
220
222
|
isExpanded={ isDragged ? false : shouldExpand }
|
|
221
|
-
listPosition={
|
|
223
|
+
listPosition={ nextPositionRef.current }
|
|
222
224
|
selectedClientIds={ selectedClientIds }
|
|
223
225
|
isSyncedBranch={ syncedBranch }
|
|
224
226
|
displacement={ displacement }
|
|
@@ -239,7 +241,7 @@ function ListViewBranch( props ) {
|
|
|
239
241
|
showBlockMovers={ showBlockMovers }
|
|
240
242
|
level={ level + 1 }
|
|
241
243
|
path={ updatedPath }
|
|
242
|
-
listPosition={
|
|
244
|
+
listPosition={ nextPositionRef.current + 1 }
|
|
243
245
|
fixedListWindow={ fixedListWindow }
|
|
244
246
|
isBranchSelected={ isSelectedBranch }
|
|
245
247
|
selectedClientIds={ selectedClientIds }
|
|
@@ -185,8 +185,7 @@ function ListViewComponent(
|
|
|
185
185
|
if ( selectedClientIds?.length ) {
|
|
186
186
|
focusListItem( selectedClientIds[ 0 ], elementRef?.current );
|
|
187
187
|
}
|
|
188
|
-
//
|
|
189
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
188
|
+
// Only focus on the selected item when the list view is mounted.
|
|
190
189
|
}, [] );
|
|
191
190
|
|
|
192
191
|
const expand = useCallback(
|
|
@@ -46,9 +46,7 @@ export const ExperimentalBlockEditorProvider = withRegistryProvider(
|
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
48
|
<SlotFillProvider passthrough>
|
|
49
|
-
{ ! settings?.
|
|
50
|
-
<KeyboardShortcuts.Register />
|
|
51
|
-
) }
|
|
49
|
+
{ ! settings?.isPreviewMode && <KeyboardShortcuts.Register /> }
|
|
52
50
|
<BlockRefsProvider>{ children }</BlockRefsProvider>
|
|
53
51
|
</SlotFillProvider>
|
|
54
52
|
);
|
|
@@ -5,7 +5,7 @@ import { render } from '@testing-library/react';
|
|
|
5
5
|
/**
|
|
6
6
|
* WordPress dependencies
|
|
7
7
|
*/
|
|
8
|
-
import { useRegistry } from '@wordpress/data';
|
|
8
|
+
import { useRegistry, useSelect } from '@wordpress/data';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Internal dependencies
|
|
@@ -21,6 +21,20 @@ const HasEditorSetting = ( props ) => {
|
|
|
21
21
|
return <p>Test.</p>;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
+
const PreviewModeGetter = () => {
|
|
25
|
+
const previewModeKeys = useSelect( ( select ) => {
|
|
26
|
+
const { getSettings } = select( blockEditorStore );
|
|
27
|
+
const settings = getSettings();
|
|
28
|
+
return {
|
|
29
|
+
// This property will be removed in the future. There is a test that asserts we're throwing a deprecation warning.
|
|
30
|
+
__unstableIsPreviewMode: settings.__unstableIsPreviewMode,
|
|
31
|
+
isPreviewMode: settings.isPreviewMode,
|
|
32
|
+
};
|
|
33
|
+
}, [] );
|
|
34
|
+
|
|
35
|
+
return <>{ JSON.stringify( previewModeKeys ) }</>;
|
|
36
|
+
};
|
|
37
|
+
|
|
24
38
|
describe( 'BlockEditorProvider', () => {
|
|
25
39
|
let registry;
|
|
26
40
|
const setRegistry = ( reg ) => {
|
|
@@ -58,6 +72,34 @@ describe( 'BlockEditorProvider', () => {
|
|
|
58
72
|
const settings = registry.select( blockEditorStore ).getSettings();
|
|
59
73
|
expect( settings ).toHaveProperty( 'stableSetting' );
|
|
60
74
|
} );
|
|
75
|
+
it( 'preserves deprecated getters incoming from the settings reducer', async () => {
|
|
76
|
+
const consoleWarn = jest
|
|
77
|
+
.spyOn( global.console, 'warn' )
|
|
78
|
+
.mockImplementation();
|
|
79
|
+
|
|
80
|
+
const { container } = render(
|
|
81
|
+
<BlockEditorProvider
|
|
82
|
+
settings={ {
|
|
83
|
+
isPreviewMode: true,
|
|
84
|
+
} }
|
|
85
|
+
>
|
|
86
|
+
<PreviewModeGetter />
|
|
87
|
+
</BlockEditorProvider>
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
expect( container ).toHaveTextContent(
|
|
91
|
+
JSON.stringify( {
|
|
92
|
+
__unstableIsPreviewMode: true,
|
|
93
|
+
isPreviewMode: true,
|
|
94
|
+
} )
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
expect( consoleWarn ).toHaveBeenCalledWith(
|
|
98
|
+
'__unstableIsPreviewMode is deprecated since version 6.8. Please use isPreviewMode instead.'
|
|
99
|
+
);
|
|
100
|
+
|
|
101
|
+
consoleWarn.mockRestore();
|
|
102
|
+
} );
|
|
61
103
|
} );
|
|
62
104
|
|
|
63
105
|
describe( 'ExperimentalBlockEditorProvider', () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useMemo, useRef } from '@wordpress/element';
|
|
4
|
+
import { useMemo, useRef, useInsertionEffect } from '@wordpress/element';
|
|
5
5
|
import { useRefEffect } from '@wordpress/compose';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -35,7 +35,9 @@ const allEventListeners = [
|
|
|
35
35
|
|
|
36
36
|
export function useEventListeners( props ) {
|
|
37
37
|
const propsRef = useRef( props );
|
|
38
|
-
|
|
38
|
+
useInsertionEffect( () => {
|
|
39
|
+
propsRef.current = props;
|
|
40
|
+
} );
|
|
39
41
|
const refEffects = useMemo(
|
|
40
42
|
() => allEventListeners.map( ( refEffect ) => refEffect( propsRef ) ),
|
|
41
43
|
[ propsRef ]
|
|
@@ -212,7 +212,6 @@ export function RichTextWrapper(
|
|
|
212
212
|
selectionChangeEnd
|
|
213
213
|
);
|
|
214
214
|
},
|
|
215
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
216
215
|
[ clientId, identifier ]
|
|
217
216
|
);
|
|
218
217
|
|
|
@@ -368,7 +367,6 @@ export function RichTextWrapper(
|
|
|
368
367
|
onChange( insert( value, '\n' ) );
|
|
369
368
|
}
|
|
370
369
|
},
|
|
371
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
372
370
|
[
|
|
373
371
|
onReplace,
|
|
374
372
|
onSplit,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
__experimentalVStack as VStack,
|
|
8
8
|
} from '@wordpress/components';
|
|
9
9
|
import { useState } from '@wordpress/element';
|
|
10
|
-
import {
|
|
10
|
+
import { _x, sprintf } from '@wordpress/i18n';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Internal dependencies
|
|
@@ -89,8 +89,8 @@ export default function SpacingSizesControl( {
|
|
|
89
89
|
ALL_SIDES.includes( view ) && showSideInLabel ? LABELS[ view ] : '';
|
|
90
90
|
|
|
91
91
|
const label = sprintf(
|
|
92
|
-
// translators:
|
|
93
|
-
|
|
92
|
+
// translators: 1: The side of the block being modified (top, bottom, left etc.). 2. Type of spacing being modified (padding, margin, etc).
|
|
93
|
+
_x( '%1$s %2$s', 'spacing' ),
|
|
94
94
|
labelProp,
|
|
95
95
|
sideLabel
|
|
96
96
|
).trim();
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { useSelect } from '@wordpress/data';
|
|
15
15
|
import { useState, useMemo } from '@wordpress/element';
|
|
16
16
|
import { usePrevious } from '@wordpress/compose';
|
|
17
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
17
|
+
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
18
18
|
import { settings } from '@wordpress/icons';
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -124,7 +124,7 @@ export default function SpacingInputControl( {
|
|
|
124
124
|
...spacingSizes,
|
|
125
125
|
{
|
|
126
126
|
name: ! isMixed
|
|
127
|
-
? // translators: A custom measurement,
|
|
127
|
+
? // translators: %s: A custom measurement, e.g. a number followed by a unit like 12px.
|
|
128
128
|
sprintf( __( 'Custom (%s)' ), value )
|
|
129
129
|
: __( 'Mixed' ),
|
|
130
130
|
slug: 'custom',
|
|
@@ -200,8 +200,8 @@ export default function SpacingInputControl( {
|
|
|
200
200
|
const typeLabel = showSideInLabel ? type?.toLowerCase() : type;
|
|
201
201
|
|
|
202
202
|
const ariaLabel = sprintf(
|
|
203
|
-
// translators: 1: The side of the block being modified (top, bottom, left
|
|
204
|
-
|
|
203
|
+
// translators: 1: The side of the block being modified (top, bottom, left etc.). 2. Type of spacing being modified (padding, margin, etc).
|
|
204
|
+
_x( '%1$s %2$s', 'spacing' ),
|
|
205
205
|
sideLabel,
|
|
206
206
|
typeLabel
|
|
207
207
|
).trim();
|
|
@@ -3,20 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Button, Tooltip } from '@wordpress/components';
|
|
5
5
|
import { link, linkOff } from '@wordpress/icons';
|
|
6
|
-
import { __
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
7
|
|
|
8
8
|
export default function LinkedButton( { isLinked, ...props } ) {
|
|
9
|
-
const label = isLinked
|
|
10
|
-
? sprintf(
|
|
11
|
-
// translators: 1. Type of spacing being modified (padding, margin, etc).
|
|
12
|
-
__( 'Unlink %1$s' ),
|
|
13
|
-
props.label.toLowerCase()
|
|
14
|
-
).trim()
|
|
15
|
-
: sprintf(
|
|
16
|
-
// translators: 1. Type of spacing being modified (padding, margin, etc).
|
|
17
|
-
__( 'Link %1$s' ),
|
|
18
|
-
props.label.toLowerCase()
|
|
19
|
-
).trim();
|
|
9
|
+
const label = isLinked ? __( 'Unlink sides' ) : __( 'Link sides' );
|
|
20
10
|
|
|
21
11
|
return (
|
|
22
12
|
<Tooltip text={ label }>
|
|
@@ -18,7 +18,6 @@ import { Icon, edit as editIcon } from '@wordpress/icons';
|
|
|
18
18
|
* Internal dependencies
|
|
19
19
|
*/
|
|
20
20
|
import { store as blockEditorStore } from '../../store';
|
|
21
|
-
import { unlock } from '../../lock-unlock';
|
|
22
21
|
|
|
23
22
|
const selectIcon = (
|
|
24
23
|
<SVG
|
|
@@ -36,9 +35,7 @@ function ToolSelector( props, ref ) {
|
|
|
36
35
|
( select ) => select( blockEditorStore ).__unstableGetEditorMode(),
|
|
37
36
|
[]
|
|
38
37
|
);
|
|
39
|
-
const {
|
|
40
|
-
useDispatch( blockEditorStore )
|
|
41
|
-
);
|
|
38
|
+
const { __unstableSetEditorMode } = useDispatch( blockEditorStore );
|
|
42
39
|
|
|
43
40
|
return (
|
|
44
41
|
<Dropdown
|
|
@@ -68,7 +65,6 @@ function ToolSelector( props, ref ) {
|
|
|
68
65
|
mode === 'navigation' ? 'navigation' : 'edit'
|
|
69
66
|
}
|
|
70
67
|
onSelect={ ( newMode ) => {
|
|
71
|
-
resetZoomLevel();
|
|
72
68
|
__unstableSetEditorMode( newMode );
|
|
73
69
|
} }
|
|
74
70
|
choices={ [
|
|
@@ -196,7 +196,7 @@ class URLInput extends Component {
|
|
|
196
196
|
if ( !! suggestions.length ) {
|
|
197
197
|
this.props.debouncedSpeak(
|
|
198
198
|
sprintf(
|
|
199
|
-
/* translators: %
|
|
199
|
+
/* translators: %d: number of results. */
|
|
200
200
|
_n(
|
|
201
201
|
'%d result found, use up and down arrow keys to navigate.',
|
|
202
202
|
'%d results found, use up and down arrow keys to navigate.',
|
|
@@ -113,7 +113,7 @@ export const useTransformCommands = () => {
|
|
|
113
113
|
const { name, title, icon } = transformation;
|
|
114
114
|
return {
|
|
115
115
|
name: 'core/block-editor/transform-to-' + name.replace( '/', '-' ),
|
|
116
|
-
|
|
116
|
+
/* translators: %s: Block or block variation name. */
|
|
117
117
|
label: sprintf( __( 'Transform to %s' ), title ),
|
|
118
118
|
icon: <BlockIcon icon={ icon } />,
|
|
119
119
|
callback: ( { close } ) => {
|
|
@@ -287,7 +287,7 @@ function isInsertionPoint( targetToCheck, ownerDocument ) {
|
|
|
287
287
|
return !! (
|
|
288
288
|
defaultView &&
|
|
289
289
|
targetToCheck instanceof defaultView.HTMLElement &&
|
|
290
|
-
targetToCheck.
|
|
290
|
+
targetToCheck.closest( '[data-is-insertion-point]' )
|
|
291
291
|
);
|
|
292
292
|
}
|
|
293
293
|
|
|
@@ -330,7 +330,7 @@ export default function useBlockDropZone( {
|
|
|
330
330
|
getAllowedBlocks,
|
|
331
331
|
isDragging,
|
|
332
332
|
isGroupable,
|
|
333
|
-
|
|
333
|
+
isZoomOut,
|
|
334
334
|
getSectionRootClientId,
|
|
335
335
|
} = unlock( useSelect( blockEditorStore ) );
|
|
336
336
|
const {
|
|
@@ -383,7 +383,7 @@ export default function useBlockDropZone( {
|
|
|
383
383
|
// do not allow dropping as the drop target is not within the root (that which is
|
|
384
384
|
// treated as "the content" by Zoom Out Mode).
|
|
385
385
|
if (
|
|
386
|
-
|
|
386
|
+
isZoomOut() &&
|
|
387
387
|
sectionRootClientId !== targetRootClientId
|
|
388
388
|
) {
|
|
389
389
|
return;
|
|
@@ -439,7 +439,7 @@ export default function useBlockDropZone( {
|
|
|
439
439
|
const [ targetIndex, operation, nearestSide ] =
|
|
440
440
|
dropTargetPosition;
|
|
441
441
|
|
|
442
|
-
if (
|
|
442
|
+
if ( isZoomOut() && operation !== 'insert' ) {
|
|
443
443
|
return;
|
|
444
444
|
}
|
|
445
445
|
|
|
@@ -514,7 +514,7 @@ export default function useBlockDropZone( {
|
|
|
514
514
|
getDraggedBlockClientIds,
|
|
515
515
|
getBlockType,
|
|
516
516
|
getSectionRootClientId,
|
|
517
|
-
|
|
517
|
+
isZoomOut,
|
|
518
518
|
getBlocks,
|
|
519
519
|
getBlockListSettings,
|
|
520
520
|
dropZoneElement,
|
|
@@ -132,7 +132,6 @@ export default function useBlockDropZone( {
|
|
|
132
132
|
const getSortedBlocksLayouts = useCallback( () => {
|
|
133
133
|
return getBlockLayoutsOrderedByYCoord( blocksLayouts.current );
|
|
134
134
|
// We use the value of `blocksLayouts` as the dependency.
|
|
135
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
136
135
|
}, [ blocksLayouts.current ] );
|
|
137
136
|
|
|
138
137
|
const isRTL = getSettings().isRTL;
|
|
@@ -61,7 +61,6 @@ function useMovingAnimation( { triggerAnimationOnChange, clientId } ) {
|
|
|
61
61
|
previous: ref.current && getAbsolutePosition( ref.current ),
|
|
62
62
|
prevRect: ref.current && ref.current.getBoundingClientRect(),
|
|
63
63
|
} ),
|
|
64
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
64
|
[ triggerAnimationOnChange ]
|
|
66
65
|
);
|
|
67
66
|
|
|
@@ -47,19 +47,21 @@ export function useWritingFlow() {
|
|
|
47
47
|
useRefEffect(
|
|
48
48
|
( node ) => {
|
|
49
49
|
node.tabIndex = 0;
|
|
50
|
+
node.dataset.hasMultiSelection = hasMultiSelection;
|
|
50
51
|
|
|
51
52
|
if ( ! hasMultiSelection ) {
|
|
52
|
-
return
|
|
53
|
+
return () => {
|
|
54
|
+
delete node.dataset.hasMultiSelection;
|
|
55
|
+
};
|
|
53
56
|
}
|
|
54
57
|
|
|
55
|
-
node.classList.add( 'has-multi-selection' );
|
|
56
58
|
node.setAttribute(
|
|
57
59
|
'aria-label',
|
|
58
60
|
__( 'Multiple selected blocks' )
|
|
59
61
|
);
|
|
60
62
|
|
|
61
63
|
return () => {
|
|
62
|
-
node.
|
|
64
|
+
delete node.dataset.hasMultiSelection;
|
|
63
65
|
node.removeAttribute( 'aria-label' );
|
|
64
66
|
};
|
|
65
67
|
},
|