@wordpress/block-editor 15.23.0 → 16.0.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 +33 -0
- package/build/autocompleters/block.cjs +10 -2
- package/build/autocompleters/block.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +0 -2
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-canvas/index.cjs +6 -1
- package/build/components/block-canvas/index.cjs.map +2 -2
- package/build/components/block-controls/groups.cjs +3 -1
- package/build/components/block-controls/groups.cjs.map +2 -2
- package/build/components/block-edit/edit.cjs +10 -18
- package/build/components/block-edit/edit.cjs.map +2 -2
- package/build/components/block-inspector/edit-contents.cjs +3 -0
- package/build/components/block-inspector/edit-contents.cjs.map +3 -3
- package/build/components/block-inspector/index.cjs +2 -3
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-invalid-warning.cjs +8 -19
- package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
- package/build/components/block-list/block.cjs +9 -3
- package/build/components/block-list/block.cjs.map +3 -3
- package/build/components/block-list/index.cjs +1 -3
- package/build/components/block-list/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/index.cjs +3 -1
- package/build/components/block-list/use-block-props/index.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
- package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-styles/use-styles-for-block.cjs +2 -1
- package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
- package/build/components/block-title/use-block-display-title.cjs +7 -2
- package/build/components/block-title/use-block-display-title.cjs.map +2 -2
- package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
- package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
- package/build/components/block-toolbar/index.cjs +43 -24
- package/build/components/block-toolbar/index.cjs.map +2 -2
- package/build/components/block-tools/index.cjs +7 -2
- package/build/components/block-tools/index.cjs.map +2 -2
- package/build/components/block-variation-transforms/index.cjs +0 -1
- package/build/components/block-variation-transforms/index.cjs.map +2 -2
- package/build/components/block-visibility/modal.cjs +20 -6
- package/build/components/block-visibility/modal.cjs.map +2 -2
- package/build/components/block-visibility/use-block-visibility.cjs +16 -6
- package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
- package/build/components/block-visibility/utils.cjs +15 -2
- package/build/components/block-visibility/utils.cjs.map +3 -3
- package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
- package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
- package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
- package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
- package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
- package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -6
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +5 -5
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/date-format-picker/index.cjs +0 -1
- package/build/components/date-format-picker/index.cjs.map +2 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/scale-tool.cjs +0 -1
- package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
- package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
- package/build/components/font-appearance-control/index.cjs +6 -25
- package/build/components/font-appearance-control/index.cjs.map +3 -3
- package/build/components/font-family/index.cjs +6 -15
- package/build/components/font-family/index.cjs.map +3 -3
- package/build/components/font-sizes/font-size-picker.cjs +1 -2
- package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
- package/build/components/global-styles/border-panel.cjs +0 -1
- package/build/components/global-styles/border-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +0 -3
- package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
- package/build/components/global-styles/state-control-badges.cjs +39 -3
- package/build/components/global-styles/state-control-badges.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +4 -11
- package/build/components/global-styles/typography-panel.cjs.map +2 -2
- package/build/components/height-control/index.cjs +0 -2
- package/build/components/height-control/index.cjs.map +2 -2
- package/build/components/html-element-control/index.cjs +0 -1
- package/build/components/html-element-control/index.cjs.map +2 -2
- package/build/components/image-editor/index.cjs +5 -0
- package/build/components/image-editor/index.cjs.map +3 -3
- package/build/components/image-editor/zoom-dropdown.cjs +0 -1
- package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
- package/build/components/image-size-control/index.cjs +3 -7
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/inner-content/index.cjs +107 -0
- package/build/components/inner-content/index.cjs.map +7 -0
- package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
- package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs +67 -12
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-list.cjs +3 -1
- package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs +287 -28
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- package/build/components/inserter/media-tab/media-preview.cjs +32 -17
- package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-tab.cjs +26 -6
- package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
- package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
- package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
- package/build/components/inserter/no-results.cjs +2 -2
- package/build/components/inserter/no-results.cjs.map +2 -2
- package/build/components/inserter/preview-panel.cjs +2 -1
- package/build/components/inserter/preview-panel.cjs.map +2 -2
- package/build/components/inserter-list-item/index.cjs +8 -2
- package/build/components/inserter-list-item/index.cjs.map +2 -2
- package/build/components/keyboard-shortcuts/index.cjs +19 -11
- package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
- package/build/components/letter-spacing-control/index.cjs +0 -24
- package/build/components/letter-spacing-control/index.cjs.map +3 -3
- package/build/components/line-height-control/index.cjs +6 -22
- package/build/components/line-height-control/index.cjs.map +3 -3
- package/build/components/list-view/block-select-button.cjs +90 -84
- package/build/components/list-view/block-select-button.cjs.map +2 -2
- package/build/components/list-view/block.cjs +61 -21
- package/build/components/list-view/block.cjs.map +2 -2
- package/build/components/list-view/expander.cjs +1 -1
- package/build/components/list-view/expander.cjs.map +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
- package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
- package/build/components/media-placeholder/index.cjs +0 -1
- package/build/components/media-placeholder/index.cjs.map +2 -2
- package/build/components/observe-typing/index.cjs +4 -3
- package/build/components/observe-typing/index.cjs.map +2 -2
- package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
- package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
- package/build/components/preset-input-control/index.cjs +1 -3
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/resolution-tool/index.cjs +1 -2
- package/build/components/resolution-tool/index.cjs.map +2 -2
- package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/delete.cjs +2 -3
- package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/enter.cjs +3 -2
- package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
- package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
- package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
- package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
- package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
- package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
- package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
- package/build/components/rich-text/index.cjs +66 -17
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/text-alignment-control/index.cjs +0 -1
- package/build/components/text-alignment-control/index.cjs.map +2 -2
- package/build/components/text-decoration-control/index.cjs +0 -1
- package/build/components/text-decoration-control/index.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs +0 -8
- package/build/components/text-indent-control/index.cjs.map +2 -2
- package/build/components/text-transform-control/index.cjs +0 -1
- package/build/components/text-transform-control/index.cjs.map +2 -2
- package/build/components/typewriter/index.cjs +129 -136
- package/build/components/typewriter/index.cjs.map +3 -3
- package/build/components/use-block-commands/index.cjs +21 -17
- package/build/components/use-block-commands/index.cjs.map +2 -2
- package/build/components/use-block-display-information/index.cjs +10 -8
- package/build/components/use-block-display-information/index.cjs.map +2 -2
- package/build/components/use-on-block-drop/index.cjs +3 -7
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs +12 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +2 -2
- package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
- package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
- package/build/components/writing-flow/use-drag-selection.cjs +3 -8
- package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-editable-root.cjs +112 -0
- package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
- package/build/components/writing-flow/use-home-end.cjs +64 -0
- package/build/components/writing-flow/use-home-end.cjs.map +7 -0
- package/build/components/writing-flow/use-input.cjs +15 -5
- package/build/components/writing-flow/use-input.cjs.map +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs +2 -2
- package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
- package/build/components/writing-flow/use-select-all.cjs +14 -2
- package/build/components/writing-flow/use-select-all.cjs.map +2 -2
- package/build/components/writing-flow/use-selection-observer.cjs +126 -20
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- package/build/components/writing-flow/utils.cjs +39 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/components/writing-mode-control/index.cjs +0 -1
- package/build/components/writing-mode-control/index.cjs.map +2 -2
- package/build/hooks/background.cjs +3 -2
- package/build/hooks/background.cjs.map +2 -2
- package/build/hooks/block-fields/rich-text/index.cjs +2 -3
- package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
- package/build/hooks/elements.cjs +1 -1
- package/build/hooks/elements.cjs.map +2 -2
- package/build/hooks/font-size.cjs +1 -2
- package/build/hooks/font-size.cjs.map +2 -2
- package/build/hooks/grid-visualizer.cjs +5 -3
- package/build/hooks/grid-visualizer.cjs.map +2 -2
- package/build/hooks/layout-child.cjs +22 -12
- package/build/hooks/layout-child.cjs.map +3 -3
- package/build/hooks/layout.cjs +33 -16
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/position.cjs +36 -16
- package/build/hooks/position.cjs.map +2 -2
- package/build/hooks/states.cjs +29 -12
- package/build/hooks/states.cjs.map +3 -3
- package/build/hooks/style.cjs +31 -9
- package/build/hooks/style.cjs.map +3 -3
- package/build/hooks/text-align.cjs +36 -6
- package/build/hooks/text-align.cjs.map +3 -3
- package/build/hooks/typography.cjs +1 -1
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +35 -27
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -22
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +51 -11
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +4 -1
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +2 -2
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-keys.cjs +3 -0
- package/build/store/private-keys.cjs.map +2 -2
- package/build/store/private-selectors.cjs +85 -6
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/selectors.cjs +13 -0
- package/build/store/selectors.cjs.map +2 -2
- package/build/utils/block-bindings.cjs +29 -0
- package/build/utils/block-bindings.cjs.map +2 -2
- package/build/utils/dom.cjs +14 -0
- package/build/utils/dom.cjs.map +2 -2
- package/build-module/autocompleters/block.mjs +10 -2
- package/build-module/autocompleters/block.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +0 -2
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-canvas/index.mjs +7 -2
- package/build-module/components/block-canvas/index.mjs.map +2 -2
- package/build-module/components/block-controls/groups.mjs +3 -1
- package/build-module/components/block-controls/groups.mjs.map +2 -2
- package/build-module/components/block-edit/edit.mjs +11 -18
- package/build-module/components/block-edit/edit.mjs.map +2 -2
- package/build-module/components/block-inspector/edit-contents.mjs +4 -1
- package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
- package/build-module/components/block-inspector/index.mjs +2 -3
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
- package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
- package/build-module/components/block-list/block.mjs +9 -3
- package/build-module/components/block-list/block.mjs.map +3 -3
- package/build-module/components/block-list/index.mjs +1 -3
- package/build-module/components/block-list/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/index.mjs +3 -1
- package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
- package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
- package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
- package/build-module/components/block-title/use-block-display-title.mjs +7 -2
- package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
- package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
- package/build-module/components/block-toolbar/index.mjs +43 -24
- package/build-module/components/block-toolbar/index.mjs.map +2 -2
- package/build-module/components/block-tools/index.mjs +7 -2
- package/build-module/components/block-tools/index.mjs.map +2 -2
- package/build-module/components/block-variation-transforms/index.mjs +0 -1
- package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
- package/build-module/components/block-visibility/modal.mjs +22 -10
- package/build-module/components/block-visibility/modal.mjs.map +2 -2
- package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
- package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
- package/build-module/components/block-visibility/utils.mjs +18 -3
- package/build-module/components/block-visibility/utils.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
- package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
- package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
- package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
- package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -6
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +5 -5
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/date-format-picker/index.mjs +0 -1
- package/build-module/components/date-format-picker/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
- package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
- package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
- package/build-module/components/font-appearance-control/index.mjs +6 -15
- package/build-module/components/font-appearance-control/index.mjs.map +2 -2
- package/build-module/components/font-family/index.mjs +6 -15
- package/build-module/components/font-family/index.mjs.map +2 -2
- package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
- package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +0 -1
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/state-control-badges.mjs +41 -5
- package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +4 -11
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/height-control/index.mjs +0 -2
- package/build-module/components/height-control/index.mjs.map +2 -2
- package/build-module/components/html-element-control/index.mjs +0 -1
- package/build-module/components/html-element-control/index.mjs.map +2 -2
- package/build-module/components/image-editor/index.mjs +5 -0
- package/build-module/components/image-editor/index.mjs.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
- package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +3 -7
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inner-content/index.mjs +82 -0
- package/build-module/components/inner-content/index.mjs.map +7 -0
- package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
- package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs +66 -12
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
- package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs +297 -32
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
- package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
- package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
- package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
- package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
- package/build-module/components/inserter/no-results.mjs +2 -2
- package/build-module/components/inserter/no-results.mjs.map +2 -2
- package/build-module/components/inserter/preview-panel.mjs +2 -1
- package/build-module/components/inserter/preview-panel.mjs.map +2 -2
- package/build-module/components/inserter-list-item/index.mjs +8 -2
- package/build-module/components/inserter-list-item/index.mjs.map +2 -2
- package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
- package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
- package/build-module/components/letter-spacing-control/index.mjs +0 -14
- package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
- package/build-module/components/line-height-control/index.mjs +6 -12
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block-select-button.mjs +90 -84
- package/build-module/components/list-view/block-select-button.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +61 -21
- package/build-module/components/list-view/block.mjs.map +2 -2
- package/build-module/components/list-view/expander.mjs +1 -1
- package/build-module/components/list-view/expander.mjs.map +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
- package/build-module/components/media-placeholder/index.mjs +0 -1
- package/build-module/components/media-placeholder/index.mjs.map +2 -2
- package/build-module/components/observe-typing/index.mjs +4 -3
- package/build-module/components/observe-typing/index.mjs.map +2 -2
- package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
- package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
- package/build-module/components/preset-input-control/index.mjs +1 -3
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/resolution-tool/index.mjs +1 -2
- package/build-module/components/resolution-tool/index.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
- package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
- package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
- package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
- package/build-module/components/rich-text/index.mjs +64 -13
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/text-alignment-control/index.mjs +0 -1
- package/build-module/components/text-alignment-control/index.mjs.map +2 -2
- package/build-module/components/text-decoration-control/index.mjs +0 -1
- package/build-module/components/text-decoration-control/index.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs +0 -8
- package/build-module/components/text-indent-control/index.mjs.map +2 -2
- package/build-module/components/text-transform-control/index.mjs +0 -1
- package/build-module/components/text-transform-control/index.mjs.map +2 -2
- package/build-module/components/typewriter/index.mjs +129 -136
- package/build-module/components/typewriter/index.mjs.map +2 -2
- package/build-module/components/use-block-commands/index.mjs +21 -17
- package/build-module/components/use-block-commands/index.mjs.map +2 -2
- package/build-module/components/use-block-display-information/index.mjs +10 -8
- package/build-module/components/use-block-display-information/index.mjs.map +2 -2
- package/build-module/components/use-on-block-drop/index.mjs +4 -7
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs +12 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
- package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
- package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
- package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
- package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
- package/build-module/components/writing-flow/use-home-end.mjs +43 -0
- package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
- package/build-module/components/writing-flow/use-input.mjs +15 -5
- package/build-module/components/writing-flow/use-input.mjs.map +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
- package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
- package/build-module/components/writing-flow/use-select-all.mjs +19 -3
- package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
- package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs +35 -1
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/components/writing-mode-control/index.mjs +0 -1
- package/build-module/components/writing-mode-control/index.mjs.map +2 -2
- package/build-module/hooks/background.mjs +3 -2
- package/build-module/hooks/background.mjs.map +2 -2
- package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
- package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +1 -1
- package/build-module/hooks/elements.mjs.map +2 -2
- package/build-module/hooks/font-size.mjs +1 -2
- package/build-module/hooks/font-size.mjs.map +2 -2
- package/build-module/hooks/grid-visualizer.mjs +5 -3
- package/build-module/hooks/grid-visualizer.mjs.map +2 -2
- package/build-module/hooks/layout-child.mjs +22 -12
- package/build-module/hooks/layout-child.mjs.map +2 -2
- package/build-module/hooks/layout.mjs +32 -16
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/position.mjs +38 -18
- package/build-module/hooks/position.mjs.map +2 -2
- package/build-module/hooks/states.mjs +29 -12
- package/build-module/hooks/states.mjs.map +2 -2
- package/build-module/hooks/style.mjs +40 -11
- package/build-module/hooks/style.mjs.map +2 -2
- package/build-module/hooks/text-align.mjs +39 -10
- package/build-module/hooks/text-align.mjs.map +2 -2
- package/build-module/hooks/typography.mjs +1 -1
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +35 -27
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -22
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +52 -11
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +5 -1
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +3 -3
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-keys.mjs +2 -0
- package/build-module/store/private-keys.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +84 -6
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/selectors.mjs +13 -0
- package/build-module/store/selectors.mjs.map +2 -2
- package/build-module/utils/block-bindings.mjs +28 -0
- package/build-module/utils/block-bindings.mjs.map +2 -2
- package/build-module/utils/dom.mjs +13 -0
- package/build-module/utils/dom.mjs.map +2 -2
- package/build-style/content-rtl.css +15 -14
- package/build-style/content.css +15 -14
- package/build-style/default-editor-styles-rtl.css +1 -1
- package/build-style/default-editor-styles.css +1 -1
- package/build-style/style-rtl.css +144 -47
- package/build-style/style.css +144 -47
- package/build-types/components/block-context/index.d.ts +7 -0
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/block-bindings.d.ts +19 -0
- package/build-types/utils/block-bindings.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts +11 -0
- package/build-types/utils/dom.d.ts.map +1 -1
- package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
- package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
- package/build-types/utils/pasting.d.ts +1 -1
- package/build-types/utils/pasting.d.ts.map +1 -1
- package/package.json +46 -44
- package/src/autocompleters/block.js +10 -3
- package/src/autocompleters/test/block.js +53 -0
- package/src/components/background-image-control/index.js +0 -2
- package/src/components/block-canvas/index.js +9 -2
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-edit/edit.js +13 -31
- package/src/components/block-inspector/edit-contents.js +5 -1
- package/src/components/block-inspector/index.js +3 -2
- package/src/components/block-list/block-invalid-warning.js +8 -19
- package/src/components/block-list/block.js +6 -0
- package/src/components/block-list/index.js +0 -2
- package/src/components/block-list/use-block-props/index.js +2 -0
- package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
- package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
- package/src/components/block-lock/style.scss +1 -1
- package/src/components/block-manager/style.scss +1 -1
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
- package/src/components/block-quick-navigation/style.scss +1 -3
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-styles/use-styles-for-block.js +1 -0
- package/src/components/block-title/use-block-display-title.js +7 -2
- package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
- package/src/components/block-toolbar/index.js +41 -18
- package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
- package/src/components/block-tools/index.js +7 -0
- package/src/components/block-types-list/style.scss +0 -1
- package/src/components/block-variation-transforms/index.js +0 -1
- package/src/components/block-visibility/modal.js +24 -10
- package/src/components/block-visibility/style.scss +1 -1
- package/src/components/block-visibility/test/use-block-visibility.js +128 -35
- package/src/components/block-visibility/test/utils.js +11 -0
- package/src/components/block-visibility/use-block-visibility.js +33 -11
- package/src/components/block-visibility/utils.js +31 -6
- package/src/components/block-visibility/viewport-menu-item.js +10 -1
- package/src/components/block-visibility/viewport-toolbar.js +6 -0
- package/src/components/block-visibility/viewport-visibility-info.js +5 -1
- package/src/components/button-block-appender/content.scss +1 -7
- package/src/components/child-layout-control/index.js +0 -6
- package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
- package/src/components/colors-gradients/control.js +4 -4
- package/src/components/colors-gradients/style.scss +2 -2
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
- package/src/components/dimensions-tool/scale-tool.js +0 -1
- package/src/components/dimensions-tool/width-height-tool.js +0 -2
- package/src/components/font-appearance-control/index.js +6 -19
- package/src/components/font-family/README.md +0 -9
- package/src/components/font-family/index.js +6 -19
- package/src/components/font-family/stories/index.story.jsx +1 -2
- package/src/components/font-sizes/font-size-picker.js +0 -1
- package/src/components/global-styles/border-panel.js +0 -1
- package/src/components/global-styles/dimensions-panel.js +0 -3
- package/src/components/global-styles/state-control-badges.js +45 -6
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/state-control-badges.js +65 -0
- package/src/components/global-styles/typography-panel.js +0 -7
- package/src/components/height-control/index.js +0 -2
- package/src/components/html-element-control/index.js +0 -1
- package/src/components/iframe/content.scss +3 -3
- package/src/components/image-editor/index.js +22 -0
- package/src/components/image-editor/zoom-dropdown.js +0 -1
- package/src/components/image-size-control/index.js +0 -4
- package/src/components/inner-content/index.js +119 -0
- package/src/components/inner-content/test/index.js +81 -0
- package/src/components/inserter/hooks/use-block-types-state.js +10 -2
- package/src/components/inserter/media-tab/hooks.js +114 -16
- package/src/components/inserter/media-tab/media-list.js +2 -0
- package/src/components/inserter/media-tab/media-panel.js +354 -19
- package/src/components/inserter/media-tab/media-preview.js +34 -17
- package/src/components/inserter/media-tab/media-tab.js +20 -2
- package/src/components/inserter/media-tab/test/hooks.js +267 -0
- package/src/components/inserter/media-tab/test/media-panel.js +127 -0
- package/src/components/inserter/mobile-tab-navigation.js +6 -1
- package/src/components/inserter/no-results.js +2 -2
- package/src/components/inserter/preview-panel.js +1 -0
- package/src/components/inserter/style.scss +115 -3
- package/src/components/inserter-list-item/index.js +8 -2
- package/src/components/inserter-list-item/style.scss +0 -15
- package/src/components/keyboard-shortcuts/index.js +28 -11
- package/src/components/letter-spacing-control/README.md +0 -8
- package/src/components/letter-spacing-control/index.js +5 -23
- package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
- package/src/components/line-height-control/README.md +0 -8
- package/src/components/line-height-control/index.js +6 -16
- package/src/components/line-height-control/stories/index.story.jsx +0 -1
- package/src/components/line-height-control/test/index.js +1 -7
- package/src/components/link-control/style.scss +2 -2
- package/src/components/link-control/test/index.js +6 -6
- package/src/components/link-picker/style.scss +1 -2
- package/src/components/link-picker/test/index.js +3 -1
- package/src/components/list-view/block-select-button.js +5 -1
- package/src/components/list-view/block.js +69 -23
- package/src/components/list-view/expander.js +5 -1
- package/src/components/list-view/style.scss +23 -5
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.js +0 -1
- package/src/components/multi-selection-inspector/style.scss +1 -1
- package/src/components/observe-typing/index.js +9 -4
- package/src/components/preset-input-control/custom-value-controls.js +0 -2
- package/src/components/preset-input-control/index.js +0 -2
- package/src/components/resolution-tool/index.js +0 -1
- package/src/components/responsive-block-control/style.scss +1 -1
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/delete.js +7 -4
- package/src/components/rich-text/event-listeners/enter.js +10 -4
- package/src/components/rich-text/event-listeners/input-events.js +4 -3
- package/src/components/rich-text/event-listeners/input-rules.js +8 -5
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
- package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
- package/src/components/rich-text/index.js +94 -25
- package/src/components/skip-to-selected-block/style.scss +1 -1
- package/src/components/text-alignment-control/index.js +0 -1
- package/src/components/text-decoration-control/index.js +0 -1
- package/src/components/text-indent-control/index.js +7 -16
- package/src/components/text-transform-control/index.js +0 -1
- package/src/components/typewriter/index.js +228 -224
- package/src/components/use-block-commands/index.js +27 -17
- package/src/components/use-block-display-information/index.js +9 -13
- package/src/components/use-block-display-information/test/index.js +47 -9
- package/src/components/use-on-block-drop/index.js +4 -7
- package/src/components/writing-flow/index.js +15 -1
- package/src/components/writing-flow/use-arrow-nav.js +39 -12
- package/src/components/writing-flow/use-click-selection.js +2 -3
- package/src/components/writing-flow/use-clipboard-handler.js +5 -2
- package/src/components/writing-flow/use-drag-selection.js +1 -14
- package/src/components/writing-flow/use-editable-root.js +182 -0
- package/src/components/writing-flow/use-home-end.js +63 -0
- package/src/components/writing-flow/use-input.js +25 -8
- package/src/components/writing-flow/use-multi-selection.js +2 -3
- package/src/components/writing-flow/use-select-all.js +33 -3
- package/src/components/writing-flow/use-selection-observer.js +197 -38
- package/src/components/writing-flow/utils.js +83 -0
- package/src/components/writing-mode-control/index.js +0 -1
- package/src/hooks/background.js +7 -9
- package/src/hooks/block-fields/link/styles.scss +1 -6
- package/src/hooks/block-fields/media/styles.scss +1 -6
- package/src/hooks/block-fields/rich-text/index.js +6 -9
- package/src/hooks/block-hooks.scss +15 -0
- package/src/hooks/elements.js +0 -1
- package/src/hooks/font-size.js +0 -1
- package/src/hooks/grid-visualizer.js +40 -36
- package/src/hooks/layout-child.js +19 -9
- package/src/hooks/layout.js +53 -35
- package/src/hooks/position.js +44 -23
- package/src/hooks/states.js +36 -13
- package/src/hooks/style.js +67 -17
- package/src/hooks/test/cross-origin-isolation.js +0 -4
- package/src/hooks/test/layout.js +75 -1
- package/src/hooks/test/style.js +29 -0
- package/src/hooks/test/text-align.js +34 -1
- package/src/hooks/text-align.js +41 -10
- package/src/hooks/typography.js +0 -1
- package/src/layouts/constrained.js +56 -29
- package/src/layouts/flex.js +5 -4
- package/src/layouts/grid.js +59 -9
- package/src/layouts/test/constrained.js +91 -0
- package/src/layouts/test/grid.js +71 -0
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +43 -14
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +166 -9
- package/src/store/selectors.js +41 -0
- package/src/store/test/actions.js +1 -1
- package/src/store/test/private-selectors.js +533 -0
- package/src/store/test/reducer.js +11 -11
- package/src/store/test/selectors.js +133 -0
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- package/src/utils/test/block-bindings.js +181 -0
- package/build/components/rich-text/input-event.cjs +0 -50
- package/build/components/rich-text/input-event.cjs.map +0 -7
- package/build/components/rich-text/shortcut.cjs +0 -51
- package/build/components/rich-text/shortcut.cjs.map +0 -7
- package/build-module/components/rich-text/input-event.mjs +0 -25
- package/build-module/components/rich-text/input-event.mjs.map +0 -7
- package/build-module/components/rich-text/shortcut.mjs +0 -26
- package/build-module/components/rich-text/shortcut.mjs.map +0 -7
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
|
@@ -22,19 +22,17 @@ import { useSettings } from '../../components/use-settings';
|
|
|
22
22
|
/**
|
|
23
23
|
* Control for line text indent.
|
|
24
24
|
*
|
|
25
|
-
* @param {Object} props
|
|
26
|
-
* @param {
|
|
27
|
-
* @param {
|
|
28
|
-
* @param {
|
|
29
|
-
* @param {
|
|
30
|
-
* @param {boolean} props.
|
|
31
|
-
* @param {
|
|
32
|
-
* @param {string} props.help Help text to display below the control.
|
|
25
|
+
* @param {Object} props Component props.
|
|
26
|
+
* @param {string} props.value Currently selected text indent.
|
|
27
|
+
* @param {Function} props.onChange Handles change in text indent selection.
|
|
28
|
+
* @param {string|number|undefined} props.__unstableInputWidth Input width to pass through to inner UnitControl. Should be a valid CSS value.
|
|
29
|
+
* @param {boolean} props.withSlider Whether to show the slider control.
|
|
30
|
+
* @param {boolean} props.hasBottomMargin Whether to add bottom margin below the control.
|
|
31
|
+
* @param {string} props.help Help text to display below the control.
|
|
33
32
|
*
|
|
34
33
|
* @return {Element} Text indent control.
|
|
35
34
|
*/
|
|
36
35
|
export default function TextIndentControl( {
|
|
37
|
-
__next40pxDefaultSize = false,
|
|
38
36
|
value,
|
|
39
37
|
onChange,
|
|
40
38
|
__unstableInputWidth = '60px',
|
|
@@ -68,8 +66,6 @@ export default function TextIndentControl( {
|
|
|
68
66
|
if ( ! withSlider ) {
|
|
69
67
|
return (
|
|
70
68
|
<UnitControl
|
|
71
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
72
|
-
__shouldNotWarnDeprecated36pxSize
|
|
73
69
|
{ ...otherProps }
|
|
74
70
|
label={ __( 'Line indent' ) }
|
|
75
71
|
value={ value }
|
|
@@ -89,14 +85,11 @@ export default function TextIndentControl( {
|
|
|
89
85
|
<Flex>
|
|
90
86
|
<FlexItem isBlock>
|
|
91
87
|
<UnitControl
|
|
92
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
93
|
-
__shouldNotWarnDeprecated36pxSize
|
|
94
88
|
label={ __( 'Line indent' ) }
|
|
95
89
|
labelPosition="top"
|
|
96
90
|
hideLabelFromVision
|
|
97
91
|
value={ value }
|
|
98
92
|
onChange={ onChange }
|
|
99
|
-
size={ otherProps.size }
|
|
100
93
|
units={ units }
|
|
101
94
|
__unstableInputWidth={ __unstableInputWidth }
|
|
102
95
|
min={ 0 }
|
|
@@ -106,8 +99,6 @@ export default function TextIndentControl( {
|
|
|
106
99
|
<FlexItem isBlock>
|
|
107
100
|
<Spacer marginX={ 2 } marginBottom={ 0 }>
|
|
108
101
|
<RangeControl
|
|
109
|
-
__next40pxDefaultSize={ __next40pxDefaultSize }
|
|
110
|
-
__shouldNotWarnDeprecated36pxSize
|
|
111
102
|
label={ __( 'Line indent' ) }
|
|
112
103
|
hideLabelFromVision
|
|
113
104
|
value={ valueQuantity }
|
|
@@ -3,261 +3,265 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useRefEffect } from '@wordpress/compose';
|
|
5
5
|
import { computeCaretRect, getScrollContainer } from '@wordpress/dom';
|
|
6
|
-
import { useSelect } from '@wordpress/data';
|
|
7
6
|
import { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';
|
|
8
7
|
|
|
9
|
-
/**
|
|
10
|
-
* Internal dependencies
|
|
11
|
-
*/
|
|
12
|
-
import { store as blockEditorStore } from '../../store';
|
|
13
|
-
|
|
14
8
|
const isIE = window.navigator.userAgent.indexOf( 'Trident' ) !== -1;
|
|
15
9
|
const arrowKeyCodes = new Set( [ UP, DOWN, LEFT, RIGHT ] );
|
|
16
10
|
const initialTriggerPercentage = 0.75;
|
|
17
11
|
|
|
18
12
|
export function useTypewriter() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
);
|
|
13
|
+
return useRefEffect( ( node ) => {
|
|
14
|
+
const { ownerDocument } = node;
|
|
15
|
+
const { defaultView } = ownerDocument;
|
|
23
16
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
let scrollResizeRafId;
|
|
18
|
+
let onKeyDownRafId;
|
|
19
|
+
|
|
20
|
+
let caretRect;
|
|
21
|
+
|
|
22
|
+
function onScrollResize() {
|
|
23
|
+
if ( scrollResizeRafId ) {
|
|
27
24
|
return;
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
scrollResizeRafId = defaultView.requestAnimationFrame( () => {
|
|
28
|
+
computeCaretRectangle();
|
|
29
|
+
scrollResizeRafId = null;
|
|
30
|
+
} );
|
|
31
|
+
}
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
function onKeyDown( event ) {
|
|
34
|
+
// Ensure the any remaining request is cancelled.
|
|
35
|
+
if ( onKeyDownRafId ) {
|
|
36
|
+
defaultView.cancelAnimationFrame( onKeyDownRafId );
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Use an animation frame for a smooth result.
|
|
40
|
+
onKeyDownRafId = defaultView.requestAnimationFrame( () => {
|
|
41
|
+
maintainCaretPosition( event );
|
|
42
|
+
onKeyDownRafId = null;
|
|
43
|
+
} );
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Maintains the scroll position after a selection change caused by a
|
|
48
|
+
* keyboard event.
|
|
49
|
+
*
|
|
50
|
+
* @param {KeyboardEvent} event Keyboard event.
|
|
51
|
+
*/
|
|
52
|
+
function maintainCaretPosition( { keyCode } ) {
|
|
53
|
+
if ( ! isSelectionEligibleForScroll() ) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
35
56
|
|
|
36
|
-
|
|
57
|
+
const currentCaretRect = computeCaretRect( defaultView );
|
|
58
|
+
|
|
59
|
+
if ( ! currentCaretRect ) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
37
62
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
63
|
+
// If for some reason there is no position set to be scrolled to, let
|
|
64
|
+
// this be the position to be scrolled to in the future.
|
|
65
|
+
if ( ! caretRect ) {
|
|
66
|
+
caretRect = currentCaretRect;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
42
69
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
70
|
+
// Even though enabling the typewriter effect for arrow keys results in
|
|
71
|
+
// a pleasant experience, it may not be the case for everyone, so, for
|
|
72
|
+
// now, let's disable it.
|
|
73
|
+
if ( arrowKeyCodes.has( keyCode ) ) {
|
|
74
|
+
// Reset the caret position to maintain.
|
|
75
|
+
caretRect = currentCaretRect;
|
|
76
|
+
return;
|
|
47
77
|
}
|
|
48
78
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Use an animation frame for a smooth result.
|
|
56
|
-
onKeyDownRafId = defaultView.requestAnimationFrame( () => {
|
|
57
|
-
maintainCaretPosition( event );
|
|
58
|
-
onKeyDownRafId = null;
|
|
59
|
-
} );
|
|
79
|
+
const diff = currentCaretRect.top - caretRect.top;
|
|
80
|
+
|
|
81
|
+
if ( diff === 0 ) {
|
|
82
|
+
return;
|
|
60
83
|
}
|
|
61
84
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
*/
|
|
68
|
-
function maintainCaretPosition( { keyCode } ) {
|
|
69
|
-
if ( ! isSelectionEligibleForScroll() ) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const currentCaretRect = computeCaretRect( defaultView );
|
|
74
|
-
|
|
75
|
-
if ( ! currentCaretRect ) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// If for some reason there is no position set to be scrolled to, let
|
|
80
|
-
// this be the position to be scrolled to in the future.
|
|
81
|
-
if ( ! caretRect ) {
|
|
82
|
-
caretRect = currentCaretRect;
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Even though enabling the typewriter effect for arrow keys results in
|
|
87
|
-
// a pleasant experience, it may not be the case for everyone, so, for
|
|
88
|
-
// now, let's disable it.
|
|
89
|
-
if ( arrowKeyCodes.has( keyCode ) ) {
|
|
90
|
-
// Reset the caret position to maintain.
|
|
91
|
-
caretRect = currentCaretRect;
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const diff = currentCaretRect.top - caretRect.top;
|
|
96
|
-
|
|
97
|
-
if ( diff === 0 ) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
const scrollContainer = getScrollContainer( node );
|
|
102
|
-
|
|
103
|
-
// The page must be scrollable.
|
|
104
|
-
if ( ! scrollContainer ) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const windowScroll =
|
|
109
|
-
scrollContainer === ownerDocument.body ||
|
|
110
|
-
scrollContainer === ownerDocument.documentElement;
|
|
111
|
-
const scrollY = windowScroll
|
|
112
|
-
? defaultView.scrollY
|
|
113
|
-
: scrollContainer.scrollTop;
|
|
114
|
-
const scrollContainerY = windowScroll
|
|
115
|
-
? 0
|
|
116
|
-
: scrollContainer.getBoundingClientRect().top;
|
|
117
|
-
const relativeScrollPosition = windowScroll
|
|
118
|
-
? caretRect.top / defaultView.innerHeight
|
|
119
|
-
: ( caretRect.top - scrollContainerY ) /
|
|
120
|
-
( defaultView.innerHeight - scrollContainerY );
|
|
121
|
-
|
|
122
|
-
// If the scroll position is at the start, the active editable element
|
|
123
|
-
// is the last one, and the caret is positioned within the initial
|
|
124
|
-
// trigger percentage of the page, do not scroll the page.
|
|
125
|
-
// The typewriter effect should not kick in until an empty page has been
|
|
126
|
-
// filled with the initial trigger percentage or the user scrolls
|
|
127
|
-
// intentionally down.
|
|
128
|
-
if (
|
|
129
|
-
scrollY === 0 &&
|
|
130
|
-
relativeScrollPosition < initialTriggerPercentage &&
|
|
131
|
-
isLastEditableNode()
|
|
132
|
-
) {
|
|
133
|
-
// Reset the caret position to maintain.
|
|
134
|
-
caretRect = currentCaretRect;
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
const scrollContainerHeight = windowScroll
|
|
139
|
-
? defaultView.innerHeight
|
|
140
|
-
: scrollContainer.clientHeight;
|
|
141
|
-
|
|
142
|
-
// Abort if the target scroll position would scroll the caret out of
|
|
143
|
-
// view.
|
|
144
|
-
if (
|
|
145
|
-
// The caret is under the lower fold.
|
|
146
|
-
caretRect.top + caretRect.height >
|
|
147
|
-
scrollContainerY + scrollContainerHeight ||
|
|
148
|
-
// The caret is above the upper fold.
|
|
149
|
-
caretRect.top < scrollContainerY
|
|
150
|
-
) {
|
|
151
|
-
// Reset the caret position to maintain.
|
|
152
|
-
caretRect = currentCaretRect;
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if ( windowScroll ) {
|
|
157
|
-
defaultView.scrollBy( 0, diff );
|
|
158
|
-
} else {
|
|
159
|
-
scrollContainer.scrollTop += diff;
|
|
160
|
-
}
|
|
85
|
+
const scrollContainer = getScrollContainer( node );
|
|
86
|
+
|
|
87
|
+
// The page must be scrollable.
|
|
88
|
+
if ( ! scrollContainer ) {
|
|
89
|
+
return;
|
|
161
90
|
}
|
|
162
91
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
);
|
|
92
|
+
const windowScroll =
|
|
93
|
+
scrollContainer === ownerDocument.body ||
|
|
94
|
+
scrollContainer === ownerDocument.documentElement;
|
|
95
|
+
const scrollY = windowScroll
|
|
96
|
+
? defaultView.scrollY
|
|
97
|
+
: scrollContainer.scrollTop;
|
|
98
|
+
const scrollContainerY = windowScroll
|
|
99
|
+
? 0
|
|
100
|
+
: scrollContainer.getBoundingClientRect().top;
|
|
101
|
+
const relativeScrollPosition = windowScroll
|
|
102
|
+
? caretRect.top / defaultView.innerHeight
|
|
103
|
+
: ( caretRect.top - scrollContainerY ) /
|
|
104
|
+
( defaultView.innerHeight - scrollContainerY );
|
|
105
|
+
|
|
106
|
+
// If the scroll position is at the start, the active editable element
|
|
107
|
+
// is the last one, and the caret is positioned within the initial
|
|
108
|
+
// trigger percentage of the page, do not scroll the page.
|
|
109
|
+
// The typewriter effect should not kick in until an empty page has been
|
|
110
|
+
// filled with the initial trigger percentage or the user scrolls
|
|
111
|
+
// intentionally down.
|
|
112
|
+
if (
|
|
113
|
+
scrollY === 0 &&
|
|
114
|
+
relativeScrollPosition < initialTriggerPercentage &&
|
|
115
|
+
isLastEditableNode()
|
|
116
|
+
) {
|
|
117
|
+
// Reset the caret position to maintain.
|
|
118
|
+
caretRect = currentCaretRect;
|
|
119
|
+
return;
|
|
172
120
|
}
|
|
173
121
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
122
|
+
const scrollContainerHeight = windowScroll
|
|
123
|
+
? defaultView.innerHeight
|
|
124
|
+
: scrollContainer.clientHeight;
|
|
125
|
+
|
|
126
|
+
// Abort if the target scroll position would scroll the caret out of
|
|
127
|
+
// view.
|
|
128
|
+
if (
|
|
129
|
+
// The caret is under the lower fold.
|
|
130
|
+
caretRect.top + caretRect.height >
|
|
131
|
+
scrollContainerY + scrollContainerHeight ||
|
|
132
|
+
// The caret is above the upper fold.
|
|
133
|
+
caretRect.top < scrollContainerY
|
|
134
|
+
) {
|
|
135
|
+
// Reset the caret position to maintain.
|
|
136
|
+
caretRect = currentCaretRect;
|
|
137
|
+
return;
|
|
184
138
|
}
|
|
185
139
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
140
|
+
if ( windowScroll ) {
|
|
141
|
+
defaultView.scrollBy( 0, diff );
|
|
142
|
+
} else {
|
|
143
|
+
scrollContainer.scrollTop += diff;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Adds a `selectionchange` listener to reset the scroll position to be
|
|
149
|
+
* maintained.
|
|
150
|
+
*/
|
|
151
|
+
function addSelectionChangeListener() {
|
|
152
|
+
ownerDocument.addEventListener(
|
|
153
|
+
'selectionchange',
|
|
154
|
+
computeCaretRectOnSelectionChange
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Resets the scroll position to be maintained during a `selectionchange`
|
|
160
|
+
* event. Also removes the listener, so it acts as a one-time listener.
|
|
161
|
+
*/
|
|
162
|
+
function computeCaretRectOnSelectionChange() {
|
|
163
|
+
ownerDocument.removeEventListener(
|
|
164
|
+
'selectionchange',
|
|
165
|
+
computeCaretRectOnSelectionChange
|
|
166
|
+
);
|
|
167
|
+
computeCaretRectangle();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Resets the scroll position to be maintained.
|
|
172
|
+
*/
|
|
173
|
+
function computeCaretRectangle() {
|
|
174
|
+
if ( isSelectionEligibleForScroll() ) {
|
|
175
|
+
caretRect = computeCaretRect( defaultView );
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Returns the editable element owning the selection: the active
|
|
181
|
+
* element, or, when a focused editing host contains the node
|
|
182
|
+
* (a selected block supports `editableRoot`), the editable
|
|
183
|
+
* element containing the selection.
|
|
184
|
+
*/
|
|
185
|
+
function getActiveEditableElement() {
|
|
186
|
+
const { activeElement } = ownerDocument;
|
|
187
|
+
|
|
188
|
+
if ( ! activeElement ) {
|
|
189
|
+
return null;
|
|
193
190
|
}
|
|
194
191
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
*/
|
|
201
|
-
function isSelectionEligibleForScroll() {
|
|
202
|
-
return (
|
|
203
|
-
node.contains( ownerDocument.activeElement ) &&
|
|
204
|
-
ownerDocument.activeElement.isContentEditable
|
|
205
|
-
);
|
|
192
|
+
if (
|
|
193
|
+
! activeElement.isContentEditable ||
|
|
194
|
+
! activeElement.contains( node )
|
|
195
|
+
) {
|
|
196
|
+
return activeElement;
|
|
206
197
|
}
|
|
207
198
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
const lastEditableNode =
|
|
213
|
-
editableNodes[ editableNodes.length - 1 ];
|
|
214
|
-
return lastEditableNode === ownerDocument.activeElement;
|
|
199
|
+
const { anchorNode } = defaultView.getSelection();
|
|
200
|
+
|
|
201
|
+
if ( ! anchorNode ) {
|
|
202
|
+
return null;
|
|
215
203
|
}
|
|
216
204
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
205
|
+
const element =
|
|
206
|
+
anchorNode.nodeType === anchorNode.ELEMENT_NODE
|
|
207
|
+
? anchorNode
|
|
208
|
+
: anchorNode.parentElement;
|
|
209
|
+
return element?.closest( '[contenteditable="true"]' ) ?? null;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Checks if the current situation is eligible for scroll:
|
|
214
|
+
* - The component must contain the selection.
|
|
215
|
+
* - The active element must be contenteditable.
|
|
216
|
+
*/
|
|
217
|
+
function isSelectionEligibleForScroll() {
|
|
218
|
+
const activeEditableElement = getActiveEditableElement();
|
|
219
|
+
return (
|
|
220
|
+
!! activeEditableElement &&
|
|
221
|
+
node.contains( activeEditableElement ) &&
|
|
222
|
+
activeEditableElement.isContentEditable
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function isLastEditableNode() {
|
|
227
|
+
const editableNodes = node.querySelectorAll(
|
|
228
|
+
'[contenteditable="true"]'
|
|
229
|
+
);
|
|
230
|
+
const lastEditableNode = editableNodes[ editableNodes.length - 1 ];
|
|
231
|
+
return lastEditableNode === getActiveEditableElement();
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// When the user scrolls or resizes, the scroll position should be
|
|
235
|
+
// reset.
|
|
236
|
+
defaultView.addEventListener( 'scroll', onScrollResize, true );
|
|
237
|
+
defaultView.addEventListener( 'resize', onScrollResize, true );
|
|
238
|
+
|
|
239
|
+
node.addEventListener( 'keydown', onKeyDown );
|
|
240
|
+
node.addEventListener( 'keyup', maintainCaretPosition );
|
|
241
|
+
node.addEventListener( 'mousedown', addSelectionChangeListener );
|
|
242
|
+
node.addEventListener( 'touchstart', addSelectionChangeListener );
|
|
243
|
+
|
|
244
|
+
return () => {
|
|
245
|
+
defaultView.removeEventListener( 'scroll', onScrollResize, true );
|
|
246
|
+
defaultView.removeEventListener( 'resize', onScrollResize, true );
|
|
247
|
+
|
|
248
|
+
node.removeEventListener( 'keydown', onKeyDown );
|
|
249
|
+
node.removeEventListener( 'keyup', maintainCaretPosition );
|
|
250
|
+
node.removeEventListener( 'mousedown', addSelectionChangeListener );
|
|
251
|
+
node.removeEventListener(
|
|
252
|
+
'touchstart',
|
|
253
|
+
addSelectionChangeListener
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
ownerDocument.removeEventListener(
|
|
257
|
+
'selectionchange',
|
|
258
|
+
computeCaretRectOnSelectionChange
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
defaultView.cancelAnimationFrame( scrollResizeRafId );
|
|
262
|
+
defaultView.cancelAnimationFrame( onKeyDownRafId );
|
|
263
|
+
};
|
|
264
|
+
}, [] );
|
|
261
265
|
}
|
|
262
266
|
|
|
263
267
|
function Typewriter( { children } ) {
|
|
@@ -150,23 +150,29 @@ const getTransformCommands = () =>
|
|
|
150
150
|
|
|
151
151
|
const getQuickActionsCommands = () =>
|
|
152
152
|
function useQuickActionsCommands() {
|
|
153
|
-
const {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
153
|
+
const {
|
|
154
|
+
clientIds,
|
|
155
|
+
isUngroupable,
|
|
156
|
+
isGroupable,
|
|
157
|
+
blockVisibilitySetting,
|
|
158
|
+
} = useSelect( ( select ) => {
|
|
159
|
+
const {
|
|
160
|
+
getSelectedBlockClientIds,
|
|
161
|
+
getSettings,
|
|
162
|
+
isUngroupable: _isUngroupable,
|
|
163
|
+
isGroupable: _isGroupable,
|
|
164
|
+
} = select( blockEditorStore );
|
|
165
|
+
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
161
166
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
return {
|
|
168
|
+
clientIds: selectedBlockClientIds,
|
|
169
|
+
isUngroupable: _isUngroupable(),
|
|
170
|
+
isGroupable: _isGroupable(),
|
|
171
|
+
blockVisibilitySetting:
|
|
172
|
+
getSettings().__experimentalFeatures?.blockVisibility
|
|
173
|
+
?.allowEditing,
|
|
174
|
+
};
|
|
175
|
+
}, [] );
|
|
170
176
|
const {
|
|
171
177
|
canInsertBlockType,
|
|
172
178
|
getBlockRootClientId,
|
|
@@ -310,7 +316,11 @@ const getQuickActionsCommands = () =>
|
|
|
310
316
|
( id ) => getBlockEditingMode( id ) === 'default'
|
|
311
317
|
);
|
|
312
318
|
|
|
313
|
-
if (
|
|
319
|
+
if (
|
|
320
|
+
supportsVisibility &&
|
|
321
|
+
allBlocksDefaultMode &&
|
|
322
|
+
blockVisibilitySetting !== false
|
|
323
|
+
) {
|
|
314
324
|
const hasHiddenBlock = clientIds.some( ( id ) =>
|
|
315
325
|
isBlockHiddenAnywhere( id )
|
|
316
326
|
);
|
|
@@ -16,7 +16,6 @@ import { symbol } from '@wordpress/icons';
|
|
|
16
16
|
*/
|
|
17
17
|
import { store as blockEditorStore } from '../../store';
|
|
18
18
|
import { unlock } from '../../lock-unlock';
|
|
19
|
-
import { isIsolatedEditorKey } from '../../store/private-keys';
|
|
20
19
|
|
|
21
20
|
/** @typedef {import('@wordpress/blocks').WPIcon} WPIcon */
|
|
22
21
|
|
|
@@ -78,8 +77,8 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
78
77
|
const {
|
|
79
78
|
getBlockName,
|
|
80
79
|
getBlockAttributes,
|
|
80
|
+
getBlock,
|
|
81
81
|
__experimentalGetParsedPattern,
|
|
82
|
-
getSettings,
|
|
83
82
|
} = blockEditorSelect;
|
|
84
83
|
const { getBlockType, getActiveBlockVariation } =
|
|
85
84
|
select( blocksStore );
|
|
@@ -89,20 +88,12 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
89
88
|
return null;
|
|
90
89
|
}
|
|
91
90
|
const attributes = getBlockAttributes( clientId );
|
|
92
|
-
const {
|
|
93
|
-
unlock( blockEditorSelect );
|
|
94
|
-
const isIsolatedEditor = !! getSettings()?.[ isIsolatedEditorKey ];
|
|
91
|
+
const { isSectionBlock } = unlock( blockEditorSelect );
|
|
95
92
|
|
|
96
93
|
// Check if this block is a pattern
|
|
97
94
|
const patternName = attributes?.metadata?.patternName;
|
|
98
|
-
const isEditedContentOnlySection =
|
|
99
|
-
isWithinEditedContentOnlySection( clientId );
|
|
100
95
|
|
|
101
|
-
if (
|
|
102
|
-
patternName &&
|
|
103
|
-
! isEditedContentOnlySection &&
|
|
104
|
-
! isIsolatedEditor
|
|
105
|
-
) {
|
|
96
|
+
if ( patternName && isSectionBlock( clientId ) ) {
|
|
106
97
|
const pattern = __experimentalGetParsedPattern( patternName );
|
|
107
98
|
const positionLabel = getPositionTypeLabel( attributes );
|
|
108
99
|
return {
|
|
@@ -118,7 +109,12 @@ export default function useBlockDisplayInformation( clientId ) {
|
|
|
118
109
|
};
|
|
119
110
|
}
|
|
120
111
|
|
|
121
|
-
const match = getActiveBlockVariation(
|
|
112
|
+
const match = getActiveBlockVariation(
|
|
113
|
+
blockName,
|
|
114
|
+
attributes,
|
|
115
|
+
undefined,
|
|
116
|
+
getBlock?.( clientId )?.innerContent
|
|
117
|
+
);
|
|
122
118
|
const isSynced =
|
|
123
119
|
isReusableBlock( blockType ) || isTemplatePart( blockType );
|
|
124
120
|
const syncedTitle = isSynced
|