@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
|
@@ -5,6 +5,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
5
5
|
import {
|
|
6
6
|
getBlockBindingsSource,
|
|
7
7
|
getBlockBindingsSources,
|
|
8
|
+
getBlockType,
|
|
8
9
|
} from '@wordpress/blocks';
|
|
9
10
|
import {
|
|
10
11
|
__experimentalItemGroup as ItemGroup,
|
|
@@ -29,10 +30,11 @@ import {
|
|
|
29
30
|
import { unlock } from '../lock-unlock';
|
|
30
31
|
import InspectorControls from '../components/inspector-controls';
|
|
31
32
|
import BlockContext from '../components/block-context';
|
|
33
|
+
import { useBlockEditContext } from '../components/block-edit';
|
|
32
34
|
import { useBlockBindingsUtils } from '../utils/block-bindings';
|
|
33
35
|
import { store as blockEditorStore } from '../store';
|
|
34
36
|
|
|
35
|
-
const {
|
|
37
|
+
const { Menu } = unlock( componentsPrivateApis );
|
|
36
38
|
|
|
37
39
|
const EMPTY_OBJECT = {};
|
|
38
40
|
|
|
@@ -50,45 +52,60 @@ const useToolsPanelDropdownMenuProps = () => {
|
|
|
50
52
|
};
|
|
51
53
|
|
|
52
54
|
function BlockBindingsPanelDropdown( { fieldsList, attribute, binding } ) {
|
|
55
|
+
const { clientId } = useBlockEditContext();
|
|
53
56
|
const registeredSources = getBlockBindingsSources();
|
|
54
57
|
const { updateBlockBindings } = useBlockBindingsUtils();
|
|
55
58
|
const currentKey = binding?.args?.key;
|
|
59
|
+
const attributeType = useSelect(
|
|
60
|
+
( select ) => {
|
|
61
|
+
const { name: blockName } =
|
|
62
|
+
select( blockEditorStore ).getBlock( clientId );
|
|
63
|
+
const _attributeType =
|
|
64
|
+
getBlockType( blockName ).attributes?.[ attribute ]?.type;
|
|
65
|
+
return _attributeType === 'rich-text' ? 'string' : _attributeType;
|
|
66
|
+
},
|
|
67
|
+
[ clientId, attribute ]
|
|
68
|
+
);
|
|
56
69
|
return (
|
|
57
70
|
<>
|
|
58
71
|
{ Object.entries( fieldsList ).map( ( [ name, fields ], i ) => (
|
|
59
72
|
<Fragment key={ name }>
|
|
60
|
-
<
|
|
73
|
+
<Menu.Group>
|
|
61
74
|
{ Object.keys( fieldsList ).length > 1 && (
|
|
62
|
-
<
|
|
75
|
+
<Menu.GroupLabel>
|
|
63
76
|
{ registeredSources[ name ].label }
|
|
64
|
-
</
|
|
77
|
+
</Menu.GroupLabel>
|
|
65
78
|
) }
|
|
66
|
-
{ Object.entries( fields )
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
79
|
+
{ Object.entries( fields )
|
|
80
|
+
.filter(
|
|
81
|
+
( [ , args ] ) => args?.type === attributeType
|
|
82
|
+
)
|
|
83
|
+
.map( ( [ key, args ] ) => (
|
|
84
|
+
<Menu.RadioItem
|
|
85
|
+
key={ key }
|
|
86
|
+
onChange={ () =>
|
|
87
|
+
updateBlockBindings( {
|
|
88
|
+
[ attribute ]: {
|
|
89
|
+
source: name,
|
|
90
|
+
args: { key },
|
|
91
|
+
},
|
|
92
|
+
} )
|
|
93
|
+
}
|
|
94
|
+
name={ attribute + '-binding' }
|
|
95
|
+
value={ key }
|
|
96
|
+
checked={ key === currentKey }
|
|
97
|
+
>
|
|
98
|
+
<Menu.ItemLabel>
|
|
99
|
+
{ args?.label }
|
|
100
|
+
</Menu.ItemLabel>
|
|
101
|
+
<Menu.ItemHelpText>
|
|
102
|
+
{ args?.value }
|
|
103
|
+
</Menu.ItemHelpText>
|
|
104
|
+
</Menu.RadioItem>
|
|
105
|
+
) ) }
|
|
106
|
+
</Menu.Group>
|
|
90
107
|
{ i !== Object.keys( fieldsList ).length - 1 && (
|
|
91
|
-
<
|
|
108
|
+
<Menu.Separator />
|
|
92
109
|
) }
|
|
93
110
|
</Fragment>
|
|
94
111
|
) ) }
|
|
@@ -158,7 +175,7 @@ function EditableBlockBindingsPanelItems( {
|
|
|
158
175
|
} );
|
|
159
176
|
} }
|
|
160
177
|
>
|
|
161
|
-
<
|
|
178
|
+
<Menu
|
|
162
179
|
placement={
|
|
163
180
|
isMobile ? 'bottom-start' : 'left-start'
|
|
164
181
|
}
|
|
@@ -178,7 +195,7 @@ function EditableBlockBindingsPanelItems( {
|
|
|
178
195
|
attribute={ attribute }
|
|
179
196
|
binding={ binding }
|
|
180
197
|
/>
|
|
181
|
-
</
|
|
198
|
+
</Menu>
|
|
182
199
|
</ToolsPanelItem>
|
|
183
200
|
);
|
|
184
201
|
} ) }
|
|
@@ -21,7 +21,6 @@ export default function BlockColorContrastChecker( { clientId } ) {
|
|
|
21
21
|
|
|
22
22
|
// There are so many things that can change the color of a block
|
|
23
23
|
// So we perform this check on every render.
|
|
24
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
24
|
useEffect( () => {
|
|
26
25
|
if ( ! blockEl ) {
|
|
27
26
|
return;
|
package/src/hooks/duotone.js
CHANGED
|
@@ -302,12 +302,12 @@ function useDuotoneStyles( {
|
|
|
302
302
|
// `inline-block` is used instead of `none` to ensure that scroll
|
|
303
303
|
// position is not affected, as `none` results in the editor
|
|
304
304
|
// scrolling to the top of the block.
|
|
305
|
-
blockElement.style.display
|
|
305
|
+
blockElement.style.setProperty( 'display', 'inline-block' );
|
|
306
306
|
// Simply accessing el.offsetHeight flushes layout and style changes
|
|
307
307
|
// in WebKit without having to wait for setTimeout.
|
|
308
308
|
// eslint-disable-next-line no-unused-expressions
|
|
309
309
|
blockElement.offsetHeight;
|
|
310
|
-
blockElement.style.display
|
|
310
|
+
blockElement.style.setProperty( 'display', display );
|
|
311
311
|
}
|
|
312
312
|
// `colors` must be a dependency so this effect runs when the colors
|
|
313
313
|
// change in Safari.
|
package/src/hooks/font-family.js
CHANGED
|
@@ -13,7 +13,7 @@ import { shouldSkipSerialization } from './utils';
|
|
|
13
13
|
import { TYPOGRAPHY_SUPPORT_KEY } from './typography';
|
|
14
14
|
import { unlock } from '../lock-unlock';
|
|
15
15
|
|
|
16
|
-
export const FONT_FAMILY_SUPPORT_KEY = 'typography.
|
|
16
|
+
export const FONT_FAMILY_SUPPORT_KEY = 'typography.fontFamily';
|
|
17
17
|
const { kebabCase } = unlock( componentsPrivateApis );
|
|
18
18
|
|
|
19
19
|
/**
|
package/src/hooks/style.js
CHANGED
|
@@ -376,10 +376,14 @@ const elementTypes = [
|
|
|
376
376
|
},
|
|
377
377
|
];
|
|
378
378
|
|
|
379
|
+
// Used for generating the instance ID
|
|
380
|
+
const STYLE_BLOCK_PROPS_REFERENCE = {};
|
|
381
|
+
|
|
379
382
|
function useBlockProps( { name, style } ) {
|
|
380
|
-
const blockElementsContainerIdentifier =
|
|
381
|
-
|
|
382
|
-
|
|
383
|
+
const blockElementsContainerIdentifier = useInstanceId(
|
|
384
|
+
STYLE_BLOCK_PROPS_REFERENCE,
|
|
385
|
+
'wp-elements'
|
|
386
|
+
);
|
|
383
387
|
|
|
384
388
|
const baseElementSelector = `.${ blockElementsContainerIdentifier }`;
|
|
385
389
|
const blockElementStyles = style?.elements;
|
package/src/hooks/supports.js
CHANGED
|
@@ -9,17 +9,17 @@ const ALIGN_WIDE_SUPPORT_KEY = 'alignWide';
|
|
|
9
9
|
const BORDER_SUPPORT_KEY = '__experimentalBorder';
|
|
10
10
|
const COLOR_SUPPORT_KEY = 'color';
|
|
11
11
|
const CUSTOM_CLASS_NAME_SUPPORT_KEY = 'customClassName';
|
|
12
|
-
const FONT_FAMILY_SUPPORT_KEY = 'typography.
|
|
12
|
+
const FONT_FAMILY_SUPPORT_KEY = 'typography.fontFamily';
|
|
13
13
|
const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
|
|
14
14
|
const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';
|
|
15
15
|
/**
|
|
16
16
|
* Key within block settings' support array indicating support for font style.
|
|
17
17
|
*/
|
|
18
|
-
const FONT_STYLE_SUPPORT_KEY = 'typography.
|
|
18
|
+
const FONT_STYLE_SUPPORT_KEY = 'typography.fontStyle';
|
|
19
19
|
/**
|
|
20
20
|
* Key within block settings' support array indicating support for font weight.
|
|
21
21
|
*/
|
|
22
|
-
const FONT_WEIGHT_SUPPORT_KEY = 'typography.
|
|
22
|
+
const FONT_WEIGHT_SUPPORT_KEY = 'typography.fontWeight';
|
|
23
23
|
/**
|
|
24
24
|
* Key within block settings' supports array indicating support for text
|
|
25
25
|
* align e.g. settings found in `block.json`.
|
|
@@ -34,7 +34,7 @@ const TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';
|
|
|
34
34
|
* Key within block settings' supports array indicating support for text
|
|
35
35
|
* decorations e.g. settings found in `block.json`.
|
|
36
36
|
*/
|
|
37
|
-
const TEXT_DECORATION_SUPPORT_KEY = 'typography.
|
|
37
|
+
const TEXT_DECORATION_SUPPORT_KEY = 'typography.textDecoration';
|
|
38
38
|
/**
|
|
39
39
|
* Key within block settings' supports array indicating support for writing mode
|
|
40
40
|
* e.g. settings found in `block.json`.
|
|
@@ -44,13 +44,13 @@ const WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';
|
|
|
44
44
|
* Key within block settings' supports array indicating support for text
|
|
45
45
|
* transforms e.g. settings found in `block.json`.
|
|
46
46
|
*/
|
|
47
|
-
const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.
|
|
47
|
+
const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.textTransform';
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* Key within block settings' supports array indicating support for letter-spacing
|
|
51
51
|
* e.g. settings found in `block.json`.
|
|
52
52
|
*/
|
|
53
|
-
const LETTER_SPACING_SUPPORT_KEY = 'typography.
|
|
53
|
+
const LETTER_SPACING_SUPPORT_KEY = 'typography.letterSpacing';
|
|
54
54
|
const LAYOUT_SUPPORT_KEY = 'layout';
|
|
55
55
|
const TYPOGRAPHY_SUPPORT_KEYS = [
|
|
56
56
|
LINE_HEIGHT_SUPPORT_KEY,
|
package/src/hooks/typography.js
CHANGED
|
@@ -27,12 +27,12 @@ function omit( object, keys ) {
|
|
|
27
27
|
);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
const LETTER_SPACING_SUPPORT_KEY = 'typography.
|
|
31
|
-
const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.
|
|
32
|
-
const TEXT_DECORATION_SUPPORT_KEY = 'typography.
|
|
30
|
+
const LETTER_SPACING_SUPPORT_KEY = 'typography.letterSpacing';
|
|
31
|
+
const TEXT_TRANSFORM_SUPPORT_KEY = 'typography.textTransform';
|
|
32
|
+
const TEXT_DECORATION_SUPPORT_KEY = 'typography.textDecoration';
|
|
33
33
|
const TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';
|
|
34
|
-
const FONT_STYLE_SUPPORT_KEY = 'typography.
|
|
35
|
-
const FONT_WEIGHT_SUPPORT_KEY = 'typography.
|
|
34
|
+
const FONT_STYLE_SUPPORT_KEY = 'typography.fontStyle';
|
|
35
|
+
const FONT_WEIGHT_SUPPORT_KEY = 'typography.fontWeight';
|
|
36
36
|
const WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';
|
|
37
37
|
export const TYPOGRAPHY_SUPPORT_KEY = 'typography';
|
|
38
38
|
export const TYPOGRAPHY_SUPPORT_KEYS = [
|
|
@@ -2,62 +2,42 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
5
|
-
import { useEffect
|
|
5
|
+
import { useEffect } from '@wordpress/element';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { store as blockEditorStore } from '../store';
|
|
11
11
|
import { unlock } from '../lock-unlock';
|
|
12
|
+
|
|
12
13
|
/**
|
|
13
14
|
* A hook used to set the editor mode to zoomed out mode, invoking the hook sets the mode.
|
|
14
15
|
*
|
|
15
16
|
* @param {boolean} zoomOut If we should enter into zoomOut mode or not
|
|
16
17
|
*/
|
|
17
18
|
export function useZoomOut( zoomOut = true ) {
|
|
18
|
-
const {
|
|
19
|
+
const { setZoomLevel, resetZoomLevel } = unlock(
|
|
19
20
|
useDispatch( blockEditorStore )
|
|
20
21
|
);
|
|
21
|
-
const {
|
|
22
|
-
|
|
23
|
-
const originalEditingModeRef = useRef( null );
|
|
24
|
-
const mode = __unstableGetEditorMode();
|
|
22
|
+
const { isZoomOut } = unlock( useSelect( blockEditorStore ) );
|
|
25
23
|
|
|
26
24
|
useEffect( () => {
|
|
27
|
-
|
|
28
|
-
if ( ! originalEditingModeRef.current ) {
|
|
29
|
-
originalEditingModeRef.current = mode;
|
|
30
|
-
}
|
|
25
|
+
const isZoomOutOnMount = isZoomOut();
|
|
31
26
|
|
|
32
27
|
return () => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
) {
|
|
38
|
-
__unstableSetEditorMode( originalEditingModeRef.current );
|
|
39
|
-
setZoomLevel( 100 );
|
|
28
|
+
if ( isZoomOutOnMount ) {
|
|
29
|
+
setZoomLevel( 'auto-scaled' );
|
|
30
|
+
} else {
|
|
31
|
+
resetZoomLevel();
|
|
40
32
|
}
|
|
41
33
|
};
|
|
42
34
|
}, [] );
|
|
43
35
|
|
|
44
|
-
// The effect opens the zoom-out view if we want it open and it's not currently in zoom-out mode.
|
|
45
36
|
useEffect( () => {
|
|
46
|
-
if ( zoomOut
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
! zoomOut &&
|
|
51
|
-
__unstableGetEditorMode() === 'zoom-out' &&
|
|
52
|
-
originalEditingModeRef.current !== mode
|
|
53
|
-
) {
|
|
54
|
-
__unstableSetEditorMode( originalEditingModeRef.current );
|
|
55
|
-
setZoomLevel( 100 );
|
|
37
|
+
if ( zoomOut ) {
|
|
38
|
+
setZoomLevel( 'auto-scaled' );
|
|
39
|
+
} else {
|
|
40
|
+
resetZoomLevel();
|
|
56
41
|
}
|
|
57
|
-
}, [
|
|
58
|
-
__unstableGetEditorMode,
|
|
59
|
-
__unstableSetEditorMode,
|
|
60
|
-
zoomOut,
|
|
61
|
-
setZoomLevel,
|
|
62
|
-
] ); // Mode is deliberately excluded from the dependencies so that the effect does not run when mode changes.
|
|
42
|
+
}, [ zoomOut, setZoomLevel, resetZoomLevel ] );
|
|
63
43
|
}
|
package/src/hooks/utils.js
CHANGED
|
@@ -562,8 +562,13 @@ export function createBlockEditFilter( features ) {
|
|
|
562
562
|
addFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );
|
|
563
563
|
}
|
|
564
564
|
|
|
565
|
-
function BlockProps( {
|
|
566
|
-
|
|
565
|
+
function BlockProps( {
|
|
566
|
+
index,
|
|
567
|
+
useBlockProps: hook,
|
|
568
|
+
setAllWrapperProps,
|
|
569
|
+
...props
|
|
570
|
+
} ) {
|
|
571
|
+
const wrapperProps = hook( props );
|
|
567
572
|
const setWrapperProps = ( next ) =>
|
|
568
573
|
setAllWrapperProps( ( prev ) => {
|
|
569
574
|
const nextAll = [ ...prev ];
|
package/src/index.js
CHANGED
package/src/private-apis.js
CHANGED
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
useLayoutClasses,
|
|
25
25
|
useLayoutStyles,
|
|
26
26
|
__unstableBlockStyleVariationOverridesWithConfig,
|
|
27
|
+
useZoomOut,
|
|
27
28
|
} from './hooks';
|
|
28
29
|
import DimensionsTool from './components/dimensions-tool';
|
|
29
30
|
import ResolutionTool from './components/resolution-tool';
|
|
@@ -32,7 +33,6 @@ import { usesContextKey } from './components/rich-text/format-edit';
|
|
|
32
33
|
import { ExperimentalBlockCanvas } from './components/block-canvas';
|
|
33
34
|
import { getDuotoneFilter } from './components/duotone/utils';
|
|
34
35
|
import { useFlashEditableBlocks } from './components/use-flash-editable-blocks';
|
|
35
|
-
import { useZoomOutModeExit } from './components/block-list/use-block-props/use-zoom-out-mode-exit';
|
|
36
36
|
import {
|
|
37
37
|
selectBlockPatternsKey,
|
|
38
38
|
reusableBlocksSelectKey,
|
|
@@ -48,7 +48,8 @@ import { PrivatePublishDateTimePicker } from './components/publish-date-time-pic
|
|
|
48
48
|
import useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';
|
|
49
49
|
import useBlockDisplayTitle from './components/block-title/use-block-display-title';
|
|
50
50
|
import TabbedSidebar from './components/tabbed-sidebar';
|
|
51
|
-
|
|
51
|
+
import __unstableCommentIconFill from './components/collab/block-comment-icon-slot';
|
|
52
|
+
import __unstableCommentIconToolbarFill from './components/collab/block-comment-icon-toolbar-slot';
|
|
52
53
|
/**
|
|
53
54
|
* Private @wordpress/block-editor APIs.
|
|
54
55
|
*/
|
|
@@ -79,7 +80,7 @@ lock( privateApis, {
|
|
|
79
80
|
TextAlignmentControl,
|
|
80
81
|
usesContextKey,
|
|
81
82
|
useFlashEditableBlocks,
|
|
82
|
-
|
|
83
|
+
useZoomOut,
|
|
83
84
|
globalStylesDataKey,
|
|
84
85
|
globalStylesLinksDataKey,
|
|
85
86
|
selectBlockPatternsKey,
|
|
@@ -94,4 +95,6 @@ lock( privateApis, {
|
|
|
94
95
|
__unstableBlockStyleVariationOverridesWithConfig,
|
|
95
96
|
setBackgroundStyleDefaults,
|
|
96
97
|
sectionRootClientIdKey,
|
|
98
|
+
__unstableCommentIconFill,
|
|
99
|
+
__unstableCommentIconToolbarFill,
|
|
97
100
|
} );
|
package/src/store/actions.js
CHANGED
|
@@ -1669,62 +1669,13 @@ export const setNavigationMode =
|
|
|
1669
1669
|
*/
|
|
1670
1670
|
export const __unstableSetEditorMode =
|
|
1671
1671
|
( mode ) =>
|
|
1672
|
-
( {
|
|
1673
|
-
// When switching to zoom-out mode, we need to select the parent section
|
|
1674
|
-
if ( mode === 'zoom-out' ) {
|
|
1675
|
-
const firstSelectedClientId = select.getBlockSelectionStart();
|
|
1676
|
-
|
|
1677
|
-
const sectionRootClientId = select.getSectionRootClientId();
|
|
1678
|
-
|
|
1679
|
-
if ( firstSelectedClientId ) {
|
|
1680
|
-
let sectionClientId;
|
|
1681
|
-
|
|
1682
|
-
if ( sectionRootClientId ) {
|
|
1683
|
-
const sectionClientIds =
|
|
1684
|
-
select.getBlockOrder( sectionRootClientId );
|
|
1685
|
-
|
|
1686
|
-
// If the selected block is a section block, use it.
|
|
1687
|
-
if ( sectionClientIds?.includes( firstSelectedClientId ) ) {
|
|
1688
|
-
sectionClientId = firstSelectedClientId;
|
|
1689
|
-
} else {
|
|
1690
|
-
// If the selected block is not a section block, find
|
|
1691
|
-
// the parent section that contains the selected block.
|
|
1692
|
-
sectionClientId = select
|
|
1693
|
-
.getBlockParents( firstSelectedClientId )
|
|
1694
|
-
.find( ( parent ) =>
|
|
1695
|
-
sectionClientIds.includes( parent )
|
|
1696
|
-
);
|
|
1697
|
-
}
|
|
1698
|
-
} else {
|
|
1699
|
-
sectionClientId = select.getBlockHierarchyRootClientId(
|
|
1700
|
-
firstSelectedClientId
|
|
1701
|
-
);
|
|
1702
|
-
}
|
|
1703
|
-
|
|
1704
|
-
if ( sectionClientId ) {
|
|
1705
|
-
dispatch.selectBlock( sectionClientId );
|
|
1706
|
-
} else {
|
|
1707
|
-
dispatch.clearSelectedBlock();
|
|
1708
|
-
}
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
|
|
1672
|
+
( { registry } ) => {
|
|
1712
1673
|
registry.dispatch( preferencesStore ).set( 'core', 'editorTool', mode );
|
|
1713
1674
|
|
|
1714
1675
|
if ( mode === 'navigation' ) {
|
|
1715
|
-
speak(
|
|
1716
|
-
__(
|
|
1717
|
-
'You are currently in navigation mode. Navigate blocks using the Tab key and Arrow keys. Use Left and Right Arrow keys to move between nesting levels. To exit navigation mode and edit the selected block, press Enter.'
|
|
1718
|
-
)
|
|
1719
|
-
);
|
|
1676
|
+
speak( __( 'You are currently in Write mode.' ) );
|
|
1720
1677
|
} else if ( mode === 'edit' ) {
|
|
1721
|
-
speak(
|
|
1722
|
-
__(
|
|
1723
|
-
'You are currently in edit mode. To return to the navigation mode, press Escape.'
|
|
1724
|
-
)
|
|
1725
|
-
);
|
|
1726
|
-
} else if ( mode === 'zoom-out' ) {
|
|
1727
|
-
speak( __( 'You are currently in zoom-out mode.' ) );
|
|
1678
|
+
speak( __( 'You are currently in Design mode.' ) );
|
|
1728
1679
|
}
|
|
1729
1680
|
};
|
|
1730
1681
|
|
package/src/store/defaults.js
CHANGED
|
@@ -167,7 +167,8 @@ export const SETTINGS_DEFAULTS = {
|
|
|
167
167
|
__mobileEnablePageTemplates: false,
|
|
168
168
|
__experimentalBlockPatterns: [],
|
|
169
169
|
__experimentalBlockPatternCategories: [],
|
|
170
|
-
|
|
170
|
+
|
|
171
|
+
isPreviewMode: false,
|
|
171
172
|
|
|
172
173
|
// These settings will be completely revamped in the future.
|
|
173
174
|
// The goal is to evolve this into an API which will instruct
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { Platform } from '@wordpress/element';
|
|
5
|
+
import deprecated from '@wordpress/deprecated';
|
|
6
|
+
import { speak } from '@wordpress/a11y';
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
5
8
|
|
|
6
9
|
/**
|
|
7
10
|
* Internal dependencies
|
|
@@ -39,14 +42,32 @@ export function __experimentalUpdateSettings(
|
|
|
39
42
|
settings,
|
|
40
43
|
{ stripExperimentalSettings = false, reset = false } = {}
|
|
41
44
|
) {
|
|
42
|
-
let
|
|
45
|
+
let incomingSettings = settings;
|
|
46
|
+
|
|
47
|
+
if ( Object.hasOwn( incomingSettings, '__unstableIsPreviewMode' ) ) {
|
|
48
|
+
deprecated(
|
|
49
|
+
"__unstableIsPreviewMode argument in wp.data.dispatch('core/block-editor').updateSettings",
|
|
50
|
+
{
|
|
51
|
+
since: '6.8',
|
|
52
|
+
alternative: 'isPreviewMode',
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
incomingSettings = { ...incomingSettings };
|
|
57
|
+
incomingSettings.isPreviewMode =
|
|
58
|
+
incomingSettings.__unstableIsPreviewMode;
|
|
59
|
+
delete incomingSettings.__unstableIsPreviewMode;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
let cleanSettings = incomingSettings;
|
|
63
|
+
|
|
43
64
|
// There are no plugins in the mobile apps, so there is no
|
|
44
65
|
// need to strip the experimental settings:
|
|
45
66
|
if ( stripExperimentalSettings && Platform.OS === 'web' ) {
|
|
46
67
|
cleanSettings = {};
|
|
47
|
-
for ( const key in
|
|
68
|
+
for ( const key in incomingSettings ) {
|
|
48
69
|
if ( ! privateSettings.includes( key ) ) {
|
|
49
|
-
cleanSettings[ key ] =
|
|
70
|
+
cleanSettings[ key ] = incomingSettings[ key ];
|
|
50
71
|
}
|
|
51
72
|
}
|
|
52
73
|
}
|
|
@@ -404,12 +425,54 @@ export const modifyContentLockBlock =
|
|
|
404
425
|
* @param {number} zoom the new zoom level
|
|
405
426
|
* @return {Object} Action object.
|
|
406
427
|
*/
|
|
407
|
-
export
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
zoom,
|
|
428
|
+
export const setZoomLevel =
|
|
429
|
+
( zoom = 100 ) =>
|
|
430
|
+
( { select, dispatch } ) => {
|
|
431
|
+
// When switching to zoom-out mode, we need to select the parent section
|
|
432
|
+
if ( zoom !== 100 ) {
|
|
433
|
+
const firstSelectedClientId = select.getBlockSelectionStart();
|
|
434
|
+
const sectionRootClientId = select.getSectionRootClientId();
|
|
435
|
+
|
|
436
|
+
if ( firstSelectedClientId ) {
|
|
437
|
+
let sectionClientId;
|
|
438
|
+
|
|
439
|
+
if ( sectionRootClientId ) {
|
|
440
|
+
const sectionClientIds =
|
|
441
|
+
select.getBlockOrder( sectionRootClientId );
|
|
442
|
+
|
|
443
|
+
// If the selected block is a section block, use it.
|
|
444
|
+
if ( sectionClientIds?.includes( firstSelectedClientId ) ) {
|
|
445
|
+
sectionClientId = firstSelectedClientId;
|
|
446
|
+
} else {
|
|
447
|
+
// If the selected block is not a section block, find
|
|
448
|
+
// the parent section that contains the selected block.
|
|
449
|
+
sectionClientId = select
|
|
450
|
+
.getBlockParents( firstSelectedClientId )
|
|
451
|
+
.find( ( parent ) =>
|
|
452
|
+
sectionClientIds.includes( parent )
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
} else {
|
|
456
|
+
sectionClientId = select.getBlockHierarchyRootClientId(
|
|
457
|
+
firstSelectedClientId
|
|
458
|
+
);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
if ( sectionClientId ) {
|
|
462
|
+
dispatch.selectBlock( sectionClientId );
|
|
463
|
+
} else {
|
|
464
|
+
dispatch.clearSelectedBlock();
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
speak( __( 'You are currently in zoom-out mode.' ) );
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
dispatch( {
|
|
472
|
+
type: 'SET_ZOOM_LEVEL',
|
|
473
|
+
zoom,
|
|
474
|
+
} );
|
|
411
475
|
};
|
|
412
|
-
}
|
|
413
476
|
|
|
414
477
|
/**
|
|
415
478
|
* Resets the Zoom state.
|
|
@@ -109,16 +109,16 @@ function getEnabledClientIdsTreeUnmemoized( state, rootClientId ) {
|
|
|
109
109
|
*
|
|
110
110
|
* @return {Object[]} Tree of block objects with only clientID and innerBlocks set.
|
|
111
111
|
*/
|
|
112
|
-
export const getEnabledClientIdsTree =
|
|
113
|
-
getEnabledClientIdsTreeUnmemoized,
|
|
114
|
-
( state ) => [
|
|
112
|
+
export const getEnabledClientIdsTree = createRegistrySelector( ( select ) =>
|
|
113
|
+
createSelector( getEnabledClientIdsTreeUnmemoized, ( state ) => [
|
|
115
114
|
state.blocks.order,
|
|
116
115
|
state.blockEditingModes,
|
|
117
116
|
state.settings.templateLock,
|
|
118
117
|
state.blockListSettings,
|
|
119
|
-
state
|
|
118
|
+
select( STORE_NAME ).__unstableGetEditorMode( state ),
|
|
119
|
+
state.zoomLevel,
|
|
120
120
|
getSectionRootClientId( state ),
|
|
121
|
-
]
|
|
121
|
+
] )
|
|
122
122
|
);
|
|
123
123
|
|
|
124
124
|
/**
|
|
@@ -316,7 +316,7 @@ export const hasAllowedPatterns = createRegistrySelector( ( select ) =>
|
|
|
316
316
|
},
|
|
317
317
|
( state, rootClientId ) => [
|
|
318
318
|
...getAllPatternsDependants( select )( state ),
|
|
319
|
-
...getInsertBlockTypeDependants( state, rootClientId ),
|
|
319
|
+
...getInsertBlockTypeDependants( select )( state, rootClientId ),
|
|
320
320
|
]
|
|
321
321
|
)
|
|
322
322
|
);
|
|
@@ -571,17 +571,6 @@ export const getBlockStyles = createSelector(
|
|
|
571
571
|
]
|
|
572
572
|
);
|
|
573
573
|
|
|
574
|
-
/**
|
|
575
|
-
* Returns whether zoom out mode is enabled.
|
|
576
|
-
*
|
|
577
|
-
* @param {Object} state Editor state.
|
|
578
|
-
*
|
|
579
|
-
* @return {boolean} Is zoom out mode enabled.
|
|
580
|
-
*/
|
|
581
|
-
export function isZoomOutMode( state ) {
|
|
582
|
-
return state.editorMode === 'zoom-out';
|
|
583
|
-
}
|
|
584
|
-
|
|
585
574
|
/**
|
|
586
575
|
* Retrieves the client ID of the block which contains the blocks
|
|
587
576
|
* acting as "sections" in the editor. This is typically the "main content"
|
|
@@ -596,23 +585,23 @@ export function getSectionRootClientId( state ) {
|
|
|
596
585
|
}
|
|
597
586
|
|
|
598
587
|
/**
|
|
599
|
-
* Returns the
|
|
588
|
+
* Returns whether the editor is considered zoomed out.
|
|
600
589
|
*
|
|
601
590
|
* @param {Object} state Global application state.
|
|
602
|
-
* @return {boolean}
|
|
591
|
+
* @return {boolean} Whether the editor is zoomed.
|
|
603
592
|
*/
|
|
604
|
-
export function
|
|
605
|
-
return state.zoomLevel;
|
|
593
|
+
export function isZoomOut( state ) {
|
|
594
|
+
return state.zoomLevel === 'auto-scaled' || state.zoomLevel < 100;
|
|
606
595
|
}
|
|
607
596
|
|
|
608
597
|
/**
|
|
609
|
-
* Returns whether the
|
|
598
|
+
* Returns whether the zoom level.
|
|
610
599
|
*
|
|
611
600
|
* @param {Object} state Global application state.
|
|
612
|
-
* @return {
|
|
601
|
+
* @return {number|"auto-scaled"} Zoom level.
|
|
613
602
|
*/
|
|
614
|
-
export function
|
|
615
|
-
return
|
|
603
|
+
export function getZoomLevel( state ) {
|
|
604
|
+
return state.zoomLevel;
|
|
616
605
|
}
|
|
617
606
|
|
|
618
607
|
/**
|