@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
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
isReusableBlock,
|
|
25
25
|
getBlockDefaultClassName,
|
|
26
26
|
hasBlockSupport,
|
|
27
|
+
createBlock,
|
|
27
28
|
store as blocksStore,
|
|
28
|
-
privateApis as blocksPrivateApis,
|
|
29
29
|
} from '@wordpress/blocks';
|
|
30
30
|
import { withFilters } from '@wordpress/components';
|
|
31
31
|
import { withDispatch, useDispatch, useSelect } from '@wordpress/data';
|
|
@@ -47,8 +47,6 @@ import { PrivateBlockContext } from './private-block-context';
|
|
|
47
47
|
|
|
48
48
|
import { unlock } from '../../lock-unlock';
|
|
49
49
|
|
|
50
|
-
const { isUnmodifiedBlockContent } = unlock( blocksPrivateApis );
|
|
51
|
-
|
|
52
50
|
/**
|
|
53
51
|
* Merges wrapper props with special handling for classNames and styles.
|
|
54
52
|
*
|
|
@@ -313,6 +311,7 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
313
311
|
function switchToDefaultOrRemove() {
|
|
314
312
|
const block = getBlock( clientId );
|
|
315
313
|
const defaultBlockName = getDefaultBlockName();
|
|
314
|
+
const defaultBlockType = getBlockType( defaultBlockName );
|
|
316
315
|
if ( getBlockName( clientId ) !== defaultBlockName ) {
|
|
317
316
|
const replacement = switchToBlockType(
|
|
318
317
|
block,
|
|
@@ -329,6 +328,15 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
329
328
|
selectBlock( nextBlockClientId );
|
|
330
329
|
} );
|
|
331
330
|
}
|
|
331
|
+
} else if ( defaultBlockType.merge ) {
|
|
332
|
+
const attributes = defaultBlockType.merge(
|
|
333
|
+
{},
|
|
334
|
+
block.attributes
|
|
335
|
+
);
|
|
336
|
+
replaceBlocks(
|
|
337
|
+
[ clientId ],
|
|
338
|
+
[ createBlock( defaultBlockName, attributes ) ]
|
|
339
|
+
);
|
|
332
340
|
}
|
|
333
341
|
}
|
|
334
342
|
|
|
@@ -342,6 +350,9 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
342
350
|
* to the moved block.
|
|
343
351
|
*/
|
|
344
352
|
function moveFirstItemUp( _clientId, changeSelection = true ) {
|
|
353
|
+
const wrapperBlockName = getBlockName( _clientId );
|
|
354
|
+
const wrapperBlockType = getBlockType( wrapperBlockName );
|
|
355
|
+
const isTextualWrapper = wrapperBlockType.category === 'text';
|
|
345
356
|
const targetRootClientId = getBlockRootClientId( _clientId );
|
|
346
357
|
const blockOrder = getBlockOrder( _clientId );
|
|
347
358
|
const [ firstClientId ] = blockOrder;
|
|
@@ -351,50 +362,14 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
351
362
|
isUnmodifiedBlock( getBlock( firstClientId ) )
|
|
352
363
|
) {
|
|
353
364
|
removeBlock( _clientId );
|
|
354
|
-
} else {
|
|
365
|
+
} else if ( isTextualWrapper ) {
|
|
355
366
|
registry.batch( () => {
|
|
356
|
-
const firstBlock = getBlock( firstClientId );
|
|
357
|
-
const isFirstBlockContentUnmodified =
|
|
358
|
-
isUnmodifiedBlockContent( firstBlock );
|
|
359
|
-
const defaultBlockName = getDefaultBlockName();
|
|
360
|
-
const replacement = switchToBlockType(
|
|
361
|
-
firstBlock,
|
|
362
|
-
defaultBlockName
|
|
363
|
-
);
|
|
364
|
-
const canTransformToDefaultBlock =
|
|
365
|
-
!! replacement?.length &&
|
|
366
|
-
replacement.every( ( block ) =>
|
|
367
|
-
canInsertBlockType( block.name, _clientId )
|
|
368
|
-
);
|
|
369
|
-
|
|
370
367
|
if (
|
|
371
|
-
isFirstBlockContentUnmodified &&
|
|
372
|
-
canTransformToDefaultBlock
|
|
373
|
-
) {
|
|
374
|
-
// Step 1: If the block is empty and can be transformed to the default block type.
|
|
375
|
-
replaceBlocks(
|
|
376
|
-
firstClientId,
|
|
377
|
-
replacement,
|
|
378
|
-
changeSelection
|
|
379
|
-
);
|
|
380
|
-
} else if (
|
|
381
|
-
isFirstBlockContentUnmodified &&
|
|
382
|
-
firstBlock.name === defaultBlockName
|
|
383
|
-
) {
|
|
384
|
-
// Step 2: If the block is empty and is already the default block type.
|
|
385
|
-
removeBlock( firstClientId );
|
|
386
|
-
const nextBlockClientId =
|
|
387
|
-
getNextBlockClientId( clientId );
|
|
388
|
-
if ( nextBlockClientId ) {
|
|
389
|
-
selectBlock( nextBlockClientId );
|
|
390
|
-
}
|
|
391
|
-
} else if (
|
|
392
368
|
canInsertBlockType(
|
|
393
|
-
|
|
369
|
+
getBlockName( firstClientId ),
|
|
394
370
|
targetRootClientId
|
|
395
371
|
)
|
|
396
372
|
) {
|
|
397
|
-
// Step 3: If the block can be moved up.
|
|
398
373
|
moveBlocksToPosition(
|
|
399
374
|
[ firstClientId ],
|
|
400
375
|
_clientId,
|
|
@@ -402,17 +377,21 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
402
377
|
getBlockIndex( _clientId )
|
|
403
378
|
);
|
|
404
379
|
} else {
|
|
405
|
-
const
|
|
406
|
-
|
|
380
|
+
const replacement = switchToBlockType(
|
|
381
|
+
getBlock( firstClientId ),
|
|
382
|
+
getDefaultBlockName()
|
|
383
|
+
);
|
|
384
|
+
|
|
385
|
+
if (
|
|
386
|
+
replacement &&
|
|
387
|
+
replacement.length &&
|
|
407
388
|
replacement.every( ( block ) =>
|
|
408
389
|
canInsertBlockType(
|
|
409
390
|
block.name,
|
|
410
391
|
targetRootClientId
|
|
411
392
|
)
|
|
412
|
-
)
|
|
413
|
-
|
|
414
|
-
if ( canLiftAndTransformToDefaultBlock ) {
|
|
415
|
-
// Step 4: If the block can be transformed to the default block type and moved up.
|
|
393
|
+
)
|
|
394
|
+
) {
|
|
416
395
|
insertBlocks(
|
|
417
396
|
replacement,
|
|
418
397
|
getBlockIndex( _clientId ),
|
|
@@ -421,7 +400,6 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
421
400
|
);
|
|
422
401
|
removeBlock( firstClientId, false );
|
|
423
402
|
} else {
|
|
424
|
-
// Step 5: Continue the default behavior.
|
|
425
403
|
switchToDefaultOrRemove();
|
|
426
404
|
}
|
|
427
405
|
}
|
|
@@ -433,6 +411,8 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
|
|
|
433
411
|
removeBlock( _clientId, false );
|
|
434
412
|
}
|
|
435
413
|
} );
|
|
414
|
+
} else {
|
|
415
|
+
switchToDefaultOrRemove();
|
|
436
416
|
}
|
|
437
417
|
}
|
|
438
418
|
|
|
@@ -629,8 +609,7 @@ function BlockListBlockProvider( props ) {
|
|
|
629
609
|
const attributes = getBlockAttributes( clientId );
|
|
630
610
|
const { name: blockName, isValid } = blockWithoutAttributes;
|
|
631
611
|
const blockType = getBlockType( blockName );
|
|
632
|
-
const { supportsLayout,
|
|
633
|
-
getSettings();
|
|
612
|
+
const { supportsLayout, isPreviewMode } = getSettings();
|
|
634
613
|
const hasLightBlockWrapper = blockType?.apiVersion > 1;
|
|
635
614
|
const previewContext = {
|
|
636
615
|
isPreviewMode,
|
|
@@ -320,7 +320,6 @@ function BlockListBlock( {
|
|
|
320
320
|
name,
|
|
321
321
|
fontSizes || EMPTY_ARRAY
|
|
322
322
|
);
|
|
323
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
324
323
|
}, [
|
|
325
324
|
// It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.
|
|
326
325
|
// JSON.stringify is used for the following purposes:
|
|
@@ -329,11 +328,8 @@ function BlockListBlock( {
|
|
|
329
328
|
// 2. To filter the attributes object, ensuring that only the relevant attributes (included in
|
|
330
329
|
// GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of
|
|
331
330
|
// unnecessary useMemo calls when other, unrelated attributes change.
|
|
332
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
333
331
|
JSON.stringify( globalStyle ),
|
|
334
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
335
332
|
JSON.stringify( wrapperProps?.style ),
|
|
336
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
337
333
|
JSON.stringify(
|
|
338
334
|
Object.fromEntries(
|
|
339
335
|
Object.entries( attributes ?? {} ).filter( ( [ key ] ) =>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
// hack a progressive enhancement.
|
|
25
25
|
/* stylelint-disable -- Stylelint is disabled to allow the hack to work. */
|
|
26
26
|
_::-webkit-full-page-media, _:future, :root .block-editor-block-list__layout::selection,
|
|
27
|
-
_::-webkit-full-page-media, _:future, :root
|
|
27
|
+
_::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .block-editor-block-list__layout::selection {
|
|
28
28
|
background-color: transparent;
|
|
29
29
|
}
|
|
30
30
|
/* stylelint-enable */
|
|
@@ -181,13 +181,13 @@ function Items( {
|
|
|
181
181
|
__unstableGetVisibleBlocks,
|
|
182
182
|
getTemplateLock,
|
|
183
183
|
getBlockEditingMode,
|
|
184
|
-
__unstableGetEditorMode,
|
|
185
184
|
isSectionBlock,
|
|
185
|
+
isZoomOut: _isZoomOut,
|
|
186
186
|
} = unlock( select( blockEditorStore ) );
|
|
187
187
|
|
|
188
188
|
const _order = getBlockOrder( rootClientId );
|
|
189
189
|
|
|
190
|
-
if ( getSettings().
|
|
190
|
+
if ( getSettings().isPreviewMode ) {
|
|
191
191
|
return {
|
|
192
192
|
order: _order,
|
|
193
193
|
selectedBlocks: EMPTY_ARRAY,
|
|
@@ -200,13 +200,13 @@ function Items( {
|
|
|
200
200
|
order: _order,
|
|
201
201
|
selectedBlocks: getSelectedBlockClientIds(),
|
|
202
202
|
visibleBlocks: __unstableGetVisibleBlocks(),
|
|
203
|
-
isZoomOut:
|
|
203
|
+
isZoomOut: _isZoomOut(),
|
|
204
204
|
shouldRenderAppender:
|
|
205
205
|
! isSectionBlock( rootClientId ) &&
|
|
206
206
|
getBlockEditingMode( rootClientId ) !== 'disabled' &&
|
|
207
207
|
! getTemplateLock( rootClientId ) &&
|
|
208
208
|
hasAppender &&
|
|
209
|
-
|
|
209
|
+
! _isZoomOut() &&
|
|
210
210
|
( hasCustomAppender ||
|
|
211
211
|
rootClientId === selectedBlockClientId ||
|
|
212
212
|
( ! rootClientId &&
|
|
@@ -25,7 +25,6 @@ import {
|
|
|
25
25
|
} from '../../block-edit/context';
|
|
26
26
|
import { useFocusHandler } from './use-focus-handler';
|
|
27
27
|
import { useEventHandlers } from './use-selected-block-event-handlers';
|
|
28
|
-
import { useZoomOutModeExit } from './use-zoom-out-mode-exit';
|
|
29
28
|
import { useBlockRefProvider } from './use-block-refs';
|
|
30
29
|
import { useIntersectionObserver } from './use-intersection-observer';
|
|
31
30
|
import { useScrollIntoView } from './use-scroll-into-view';
|
|
@@ -112,7 +111,6 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
|
|
|
112
111
|
useBlockRefProvider( clientId ),
|
|
113
112
|
useFocusHandler( clientId ),
|
|
114
113
|
useEventHandlers( { clientId, isSelected } ),
|
|
115
|
-
useZoomOutModeExit(),
|
|
116
114
|
useIsHovered( { clientId } ),
|
|
117
115
|
useIntersectionObserver(),
|
|
118
116
|
useMovingAnimation( { triggerAnimationOnChange: index, clientId } ),
|
|
@@ -15,6 +15,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
15
15
|
*/
|
|
16
16
|
import { isInsideRootBlock } from '../../../utils/dom';
|
|
17
17
|
import { store as blockEditorStore } from '../../../store';
|
|
18
|
+
import { unlock } from '../../../lock-unlock';
|
|
18
19
|
|
|
19
20
|
/** @typedef {import('@wordpress/element').RefObject} RefObject */
|
|
20
21
|
|
|
@@ -28,15 +29,16 @@ import { store as blockEditorStore } from '../../../store';
|
|
|
28
29
|
*/
|
|
29
30
|
export function useFocusFirstElement( { clientId, initialPosition } ) {
|
|
30
31
|
const ref = useRef();
|
|
31
|
-
const { isBlockSelected, isMultiSelecting,
|
|
32
|
-
useSelect( blockEditorStore )
|
|
32
|
+
const { isBlockSelected, isMultiSelecting, isZoomOut } = unlock(
|
|
33
|
+
useSelect( blockEditorStore )
|
|
34
|
+
);
|
|
33
35
|
|
|
34
36
|
useEffect( () => {
|
|
35
37
|
// Check if the block is still selected at the time this effect runs.
|
|
36
38
|
if (
|
|
37
39
|
! isBlockSelected( clientId ) ||
|
|
38
40
|
isMultiSelecting() ||
|
|
39
|
-
|
|
41
|
+
isZoomOut()
|
|
40
42
|
) {
|
|
41
43
|
return;
|
|
42
44
|
}
|
|
@@ -21,18 +21,12 @@ import { unlock } from '../../../lock-unlock';
|
|
|
21
21
|
* @param {string} clientId Block client ID.
|
|
22
22
|
*/
|
|
23
23
|
export function useEventHandlers( { clientId, isSelected } ) {
|
|
24
|
-
const {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const {
|
|
31
|
-
insertAfterBlock,
|
|
32
|
-
removeBlock,
|
|
33
|
-
__unstableSetEditorMode,
|
|
34
|
-
resetZoomLevel,
|
|
35
|
-
} = unlock( useDispatch( blockEditorStore ) );
|
|
24
|
+
const { getBlockRootClientId, getBlockIndex, isZoomOut } = unlock(
|
|
25
|
+
useSelect( blockEditorStore )
|
|
26
|
+
);
|
|
27
|
+
const { insertAfterBlock, removeBlock, resetZoomLevel } = unlock(
|
|
28
|
+
useDispatch( blockEditorStore )
|
|
29
|
+
);
|
|
36
30
|
|
|
37
31
|
return useRefEffect(
|
|
38
32
|
( node ) => {
|
|
@@ -66,12 +60,7 @@ export function useEventHandlers( { clientId, isSelected } ) {
|
|
|
66
60
|
|
|
67
61
|
event.preventDefault();
|
|
68
62
|
|
|
69
|
-
if (
|
|
70
|
-
keyCode === ENTER &&
|
|
71
|
-
__unstableGetEditorMode() === 'zoom-out' &&
|
|
72
|
-
isZoomOut()
|
|
73
|
-
) {
|
|
74
|
-
__unstableSetEditorMode( 'edit' );
|
|
63
|
+
if ( keyCode === ENTER && isZoomOut() ) {
|
|
75
64
|
resetZoomLevel();
|
|
76
65
|
} else if ( keyCode === ENTER ) {
|
|
77
66
|
insertAfterBlock( clientId );
|
|
@@ -105,8 +94,6 @@ export function useEventHandlers( { clientId, isSelected } ) {
|
|
|
105
94
|
getBlockIndex,
|
|
106
95
|
insertAfterBlock,
|
|
107
96
|
removeBlock,
|
|
108
|
-
__unstableGetEditorMode,
|
|
109
|
-
__unstableSetEditorMode,
|
|
110
97
|
isZoomOut,
|
|
111
98
|
resetZoomLevel,
|
|
112
99
|
]
|
|
@@ -18,7 +18,7 @@ export function useInBetweenInserter() {
|
|
|
18
18
|
const isInBetweenInserterDisabled = useSelect(
|
|
19
19
|
( select ) =>
|
|
20
20
|
select( blockEditorStore ).getSettings().isDistractionFree ||
|
|
21
|
-
select( blockEditorStore ).
|
|
21
|
+
unlock( select( blockEditorStore ) ).isZoomOut(),
|
|
22
22
|
[]
|
|
23
23
|
);
|
|
24
24
|
const {
|
|
@@ -18,7 +18,6 @@ import { BlockPatternsList } from '@wordpress/block-editor';
|
|
|
18
18
|
const MyBlockPatternsList = () => (
|
|
19
19
|
<BlockPatternsList
|
|
20
20
|
blockPatterns={ shownBlockPatterns }
|
|
21
|
-
shownPatterns={ shownBlockPatterns }
|
|
22
21
|
onClickPattern={ onSelectBlockPattern }
|
|
23
22
|
/>
|
|
24
23
|
);
|
|
@@ -33,13 +32,6 @@ An array of block patterns that can be shown in the block patterns list.
|
|
|
33
32
|
- Type: `Array`
|
|
34
33
|
- Required: Yes
|
|
35
34
|
|
|
36
|
-
#### shownPatterns
|
|
37
|
-
|
|
38
|
-
An array of shown block patterns objects.
|
|
39
|
-
|
|
40
|
-
- Type: `Array`
|
|
41
|
-
- Required: Yes
|
|
42
|
-
|
|
43
35
|
#### onClickPattern
|
|
44
36
|
|
|
45
37
|
The performed event after a click on a block pattern. In most cases, the pattern is inserted in the block editor.
|
|
@@ -69,6 +61,14 @@ The aria label for the block patterns list.
|
|
|
69
61
|
- Required: No
|
|
70
62
|
- Default: `Block Patterns`
|
|
71
63
|
|
|
64
|
+
#### showTitlesAsTooltip
|
|
65
|
+
|
|
66
|
+
Whether to render the title of each pattern as a tooltip. User-defined patterns always show their visual title regardless of this prop.
|
|
67
|
+
|
|
68
|
+
- Type: `boolean`
|
|
69
|
+
- Required: No
|
|
70
|
+
- Default: `false`
|
|
71
|
+
|
|
72
72
|
## Related components
|
|
73
73
|
|
|
74
74
|
Block Editor components are components that can be used to compose the UI of your block editor. Thus, they can only be used under a [`BlockEditorProvider`](https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/provider/README.md) in the components tree.
|
|
@@ -39,14 +39,14 @@ function BlockPattern( {
|
|
|
39
39
|
pattern,
|
|
40
40
|
onClick,
|
|
41
41
|
onHover,
|
|
42
|
-
|
|
43
|
-
showTooltip,
|
|
42
|
+
showTitlesAsTooltip,
|
|
44
43
|
category,
|
|
45
44
|
} ) {
|
|
46
45
|
const [ isDragging, setIsDragging ] = useState( false );
|
|
47
46
|
const { blocks, viewportWidth } = pattern;
|
|
48
47
|
const instanceId = useInstanceId( BlockPattern );
|
|
49
48
|
const descriptionId = `block-editor-block-patterns-list__item-description-${ instanceId }`;
|
|
49
|
+
const isUserPattern = pattern.type === INSERTER_PATTERN_TYPES.user;
|
|
50
50
|
|
|
51
51
|
// When we have a selected category and the pattern is draggable, we need to update the
|
|
52
52
|
// pattern's categories in metadata to only contain the selected category, and pass this to
|
|
@@ -94,10 +94,7 @@ function BlockPattern( {
|
|
|
94
94
|
} }
|
|
95
95
|
>
|
|
96
96
|
<WithToolTip
|
|
97
|
-
showTooltip={
|
|
98
|
-
showTooltip &&
|
|
99
|
-
! pattern.type !== INSERTER_PATTERN_TYPES.user
|
|
100
|
-
}
|
|
97
|
+
showTooltip={ showTitlesAsTooltip && ! isUserPattern }
|
|
101
98
|
title={ pattern.title }
|
|
102
99
|
>
|
|
103
100
|
<Composite.Item
|
|
@@ -134,33 +131,30 @@ function BlockPattern( {
|
|
|
134
131
|
} }
|
|
135
132
|
onMouseLeave={ () => onHover?.( null ) }
|
|
136
133
|
>
|
|
137
|
-
<BlockPreview
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
134
|
+
<BlockPreview.Async
|
|
135
|
+
placeholder={ <BlockPatternPlaceholder /> }
|
|
136
|
+
>
|
|
137
|
+
<BlockPreview
|
|
138
|
+
blocks={ blocks }
|
|
139
|
+
viewportWidth={ viewportWidth }
|
|
140
|
+
/>
|
|
141
|
+
</BlockPreview.Async>
|
|
142
|
+
{ ( ! showTitlesAsTooltip || isUserPattern ) && (
|
|
143
143
|
<HStack
|
|
144
144
|
className="block-editor-patterns__pattern-details"
|
|
145
145
|
spacing={ 2 }
|
|
146
146
|
>
|
|
147
|
-
{ pattern.
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
icon={ symbol }
|
|
154
|
-
/>
|
|
155
|
-
</div>
|
|
156
|
-
) }
|
|
157
|
-
{ ( ! showTooltip ||
|
|
158
|
-
pattern.type ===
|
|
159
|
-
INSERTER_PATTERN_TYPES.user ) && (
|
|
160
|
-
<div className="block-editor-block-patterns-list__item-title">
|
|
161
|
-
{ pattern.title }
|
|
147
|
+
{ isUserPattern && ! pattern.syncStatus && (
|
|
148
|
+
<div className="block-editor-patterns__pattern-icon-wrapper">
|
|
149
|
+
<Icon
|
|
150
|
+
className="block-editor-patterns__pattern-icon"
|
|
151
|
+
icon={ symbol }
|
|
152
|
+
/>
|
|
162
153
|
</div>
|
|
163
154
|
) }
|
|
155
|
+
<div className="block-editor-block-patterns-list__item-title">
|
|
156
|
+
{ pattern.title }
|
|
157
|
+
</div>
|
|
164
158
|
</HStack>
|
|
165
159
|
) }
|
|
166
160
|
|
|
@@ -187,13 +181,11 @@ function BlockPatternsList(
|
|
|
187
181
|
{
|
|
188
182
|
isDraggable,
|
|
189
183
|
blockPatterns,
|
|
190
|
-
shownPatterns,
|
|
191
184
|
onHover,
|
|
192
185
|
onClickPattern,
|
|
193
186
|
orientation,
|
|
194
187
|
label = __( 'Block patterns' ),
|
|
195
188
|
category,
|
|
196
|
-
showTitle = true,
|
|
197
189
|
showTitlesAsTooltip,
|
|
198
190
|
pagingProps,
|
|
199
191
|
},
|
|
@@ -205,11 +197,9 @@ function BlockPatternsList(
|
|
|
205
197
|
// Reset the active composite item whenever the available patterns change,
|
|
206
198
|
// to make sure that Composite widget can receive focus correctly when its
|
|
207
199
|
// composite items change. The first composite item will receive focus.
|
|
208
|
-
const firstCompositeItemId = blockPatterns
|
|
209
|
-
shownPatterns.includes( pattern )
|
|
210
|
-
)?.name;
|
|
200
|
+
const firstCompositeItemId = blockPatterns[ 0 ]?.name;
|
|
211
201
|
setActiveCompositeId( firstCompositeItemId );
|
|
212
|
-
}, [
|
|
202
|
+
}, [ blockPatterns ] );
|
|
213
203
|
|
|
214
204
|
return (
|
|
215
205
|
<Composite
|
|
@@ -221,24 +211,18 @@ function BlockPatternsList(
|
|
|
221
211
|
aria-label={ label }
|
|
222
212
|
ref={ ref }
|
|
223
213
|
>
|
|
224
|
-
{ blockPatterns.map( ( pattern ) =>
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
category={ category }
|
|
237
|
-
/>
|
|
238
|
-
) : (
|
|
239
|
-
<BlockPatternPlaceholder key={ pattern.name } />
|
|
240
|
-
);
|
|
241
|
-
} ) }
|
|
214
|
+
{ blockPatterns.map( ( pattern ) => (
|
|
215
|
+
<BlockPattern
|
|
216
|
+
key={ pattern.name }
|
|
217
|
+
id={ pattern.name }
|
|
218
|
+
pattern={ pattern }
|
|
219
|
+
onClick={ onClickPattern }
|
|
220
|
+
onHover={ onHover }
|
|
221
|
+
isDraggable={ isDraggable }
|
|
222
|
+
showTitlesAsTooltip={ showTitlesAsTooltip }
|
|
223
|
+
category={ category }
|
|
224
|
+
/>
|
|
225
|
+
) ) }
|
|
242
226
|
{ pagingProps && <BlockPatternsPaging { ...pagingProps } /> }
|
|
243
227
|
</Composite>
|
|
244
228
|
);
|