@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
|
@@ -129,6 +129,12 @@ export function useTypingObserver() {
|
|
|
129
129
|
if ( isTyping ) {
|
|
130
130
|
let timerId;
|
|
131
131
|
|
|
132
|
+
// Capture the window reference while the node is still
|
|
133
|
+
// attached. Reusing the reference we held at mount keeps the
|
|
134
|
+
// cleanup and the handlers working against the same window
|
|
135
|
+
// we set things up on.
|
|
136
|
+
const { defaultView } = node.ownerDocument;
|
|
137
|
+
|
|
132
138
|
/**
|
|
133
139
|
* Stops typing when focus transitions to a non-text field element.
|
|
134
140
|
*
|
|
@@ -141,7 +147,7 @@ export function useTypingObserver() {
|
|
|
141
147
|
// before the keydown event, wait until after current stack
|
|
142
148
|
// before evaluating whether typing is to be stopped. Otherwise,
|
|
143
149
|
// typing will re-start.
|
|
144
|
-
timerId =
|
|
150
|
+
timerId = defaultView.setTimeout( () => {
|
|
145
151
|
if ( ! isTextField( target ) ) {
|
|
146
152
|
stopTyping();
|
|
147
153
|
}
|
|
@@ -168,8 +174,7 @@ export function useTypingObserver() {
|
|
|
168
174
|
* uncollapsed (shift) selection.
|
|
169
175
|
*/
|
|
170
176
|
function stopTypingOnSelectionUncollapse() {
|
|
171
|
-
const selection =
|
|
172
|
-
node.ownerDocument.defaultView.getSelection();
|
|
177
|
+
const selection = defaultView.getSelection();
|
|
173
178
|
if ( ! selection.isCollapsed ) {
|
|
174
179
|
stopTyping();
|
|
175
180
|
}
|
|
@@ -184,7 +189,7 @@ export function useTypingObserver() {
|
|
|
184
189
|
);
|
|
185
190
|
|
|
186
191
|
return () => {
|
|
187
|
-
|
|
192
|
+
defaultView.clearTimeout( timerId );
|
|
188
193
|
node.removeEventListener(
|
|
189
194
|
'focus',
|
|
190
195
|
stopTypingOnNonTextField
|
|
@@ -71,7 +71,6 @@ export default function CustomValueControls( {
|
|
|
71
71
|
onFocus={ onMouseOver }
|
|
72
72
|
onMouseOut={ onMouseOut }
|
|
73
73
|
onMouseOver={ onMouseOver }
|
|
74
|
-
size="__unstable-large"
|
|
75
74
|
units={ units }
|
|
76
75
|
value={ [ parsedQuantity, computedUnit ].join( '' ) }
|
|
77
76
|
placeholder={ allPlaceholder }
|
|
@@ -126,7 +125,6 @@ export default function CustomValueControls( {
|
|
|
126
125
|
step={ step }
|
|
127
126
|
value={ parsedQuantity }
|
|
128
127
|
withInputField={ false }
|
|
129
|
-
__next40pxDefaultSize
|
|
130
128
|
/>
|
|
131
129
|
</>
|
|
132
130
|
);
|
|
@@ -267,7 +267,6 @@ export default function PresetInputControl( {
|
|
|
267
267
|
step={ 1 }
|
|
268
268
|
value={ currentValue }
|
|
269
269
|
withInputField={ false }
|
|
270
|
-
__next40pxDefaultSize
|
|
271
270
|
/>
|
|
272
271
|
) }
|
|
273
272
|
{ hasPresets && ! showRangeControl && ! showCustomValueControl && (
|
|
@@ -295,7 +294,6 @@ export default function PresetInputControl( {
|
|
|
295
294
|
onMouseOut={ onMouseOut }
|
|
296
295
|
onMouseOver={ onMouseOver }
|
|
297
296
|
options={ options }
|
|
298
|
-
size="__unstable-large"
|
|
299
297
|
value={
|
|
300
298
|
// passing empty string as a fallback to continue using the
|
|
301
299
|
// component in controlled mode
|
|
@@ -39,11 +39,7 @@ const sizeOptions = [
|
|
|
39
39
|
const renderTestDefaultControlComponent = ( labelComponent, device ) => {
|
|
40
40
|
return (
|
|
41
41
|
<>
|
|
42
|
-
<SelectControl
|
|
43
|
-
__next40pxDefaultSize
|
|
44
|
-
label={ labelComponent }
|
|
45
|
-
options={ sizeOptions }
|
|
46
|
-
/>
|
|
42
|
+
<SelectControl label={ labelComponent } options={ sizeOptions } />
|
|
47
43
|
<p id={ device.id }>
|
|
48
44
|
{ device.label } is used here for testing purposes to ensure we
|
|
49
45
|
have access to details about the device.
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
insert,
|
|
6
|
+
isCollapsed,
|
|
7
|
+
privateApis as richTextPrivateApis,
|
|
8
|
+
} from '@wordpress/rich-text';
|
|
5
9
|
import { applyFilters } from '@wordpress/hooks';
|
|
6
|
-
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* Internal dependencies
|
|
@@ -11,7 +14,7 @@ import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
|
11
14
|
import { store as blockEditorStore } from '../../../store';
|
|
12
15
|
import { unlock } from '../../../lock-unlock';
|
|
13
16
|
|
|
14
|
-
const {
|
|
17
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
15
18
|
|
|
16
19
|
/**
|
|
17
20
|
* When typing over a selection, the selection will we wrapped by a matching
|
|
@@ -84,10 +87,10 @@ export default ( props ) => ( element ) => {
|
|
|
84
87
|
// call few lines above has fully updated the data store state and rerendered
|
|
85
88
|
// all affected components.
|
|
86
89
|
window.queueMicrotask( () => {
|
|
87
|
-
|
|
90
|
+
element.dispatchEvent( newEvent );
|
|
88
91
|
} );
|
|
89
92
|
event.preventDefault();
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
return
|
|
95
|
+
return subscribeOwnedListener( element, 'beforeinput', onInput, true );
|
|
93
96
|
};
|
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { DELETE, BACKSPACE } from '@wordpress/keycodes';
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import {
|
|
6
|
+
isCollapsed,
|
|
7
|
+
isEmpty,
|
|
8
|
+
privateApis as richTextPrivateApis,
|
|
9
|
+
} from '@wordpress/rich-text';
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* Internal dependencies
|
|
10
13
|
*/
|
|
11
14
|
import { unlock } from '../../../lock-unlock';
|
|
12
15
|
|
|
13
|
-
const {
|
|
16
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
14
17
|
|
|
15
18
|
export default ( props ) => ( element ) => {
|
|
16
19
|
function onKeyDown( event ) {
|
|
@@ -54,5 +57,5 @@ export default ( props ) => ( element ) => {
|
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
|
|
57
|
-
return
|
|
60
|
+
return subscribeOwnedListener( element, 'keydown', onKeyDown );
|
|
58
61
|
};
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { ENTER } from '@wordpress/keycodes';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
insert,
|
|
7
|
+
remove,
|
|
8
|
+
privateApis as richTextPrivateApis,
|
|
9
|
+
} from '@wordpress/rich-text';
|
|
6
10
|
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
7
11
|
|
|
8
12
|
/**
|
|
@@ -10,6 +14,7 @@ import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
|
10
14
|
*/
|
|
11
15
|
import { unlock } from '../../../lock-unlock';
|
|
12
16
|
|
|
17
|
+
const { subscribeOwnedListener, ownsSelection } = unlock( richTextPrivateApis );
|
|
13
18
|
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
14
19
|
|
|
15
20
|
export default ( props ) => ( element ) => {
|
|
@@ -31,8 +36,9 @@ export default ( props ) => ( element ) => {
|
|
|
31
36
|
}
|
|
32
37
|
|
|
33
38
|
// The event listener is attached to the window, so we need to check if
|
|
34
|
-
// the target is the element
|
|
35
|
-
|
|
39
|
+
// the target is the element, or whether the element owns the
|
|
40
|
+
// selection through a focused editing host.
|
|
41
|
+
if ( event.target !== element && ! ownsSelection( element ) ) {
|
|
36
42
|
return;
|
|
37
43
|
}
|
|
38
44
|
|
|
@@ -90,7 +96,7 @@ export default ( props ) => ( element ) => {
|
|
|
90
96
|
);
|
|
91
97
|
// Capture phase so this runs before ancestor (writing flow) bubble
|
|
92
98
|
// handlers, matching the timing of the previous raw element listener.
|
|
93
|
-
const unsubscribeKeyDownDeprecated =
|
|
99
|
+
const unsubscribeKeyDownDeprecated = subscribeOwnedListener(
|
|
94
100
|
element,
|
|
95
101
|
'keydown',
|
|
96
102
|
onKeyDownDeprecated,
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
8
9
|
*/
|
|
9
10
|
import { unlock } from '../../../lock-unlock';
|
|
10
11
|
|
|
11
|
-
const {
|
|
12
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
12
13
|
|
|
13
14
|
export default ( props ) => ( element ) => {
|
|
14
15
|
const { inputEvents } = props.current;
|
|
@@ -18,5 +19,5 @@ export default ( props ) => ( element ) => {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
return
|
|
22
|
+
return subscribeOwnedListener( element, 'input', onInput );
|
|
22
23
|
};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
insert,
|
|
6
|
+
toHTMLString,
|
|
7
|
+
privateApis as richTextPrivateApis,
|
|
8
|
+
} from '@wordpress/rich-text';
|
|
5
9
|
import { getBlockTransforms, findTransform } from '@wordpress/blocks';
|
|
6
|
-
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
12
|
* Internal dependencies
|
|
@@ -16,7 +19,7 @@ import {
|
|
|
16
19
|
} from '../../../utils/selection';
|
|
17
20
|
import { unlock } from '../../../lock-unlock';
|
|
18
21
|
|
|
19
|
-
const {
|
|
22
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
20
23
|
|
|
21
24
|
export function findSelection( blocks ) {
|
|
22
25
|
let i = blocks.length;
|
|
@@ -160,13 +163,13 @@ export default ( props ) => ( element ) => {
|
|
|
160
163
|
|
|
161
164
|
// Capture phase so these run before ancestor (writing flow) bubble
|
|
162
165
|
// handlers, matching the timing of the previous raw element listeners.
|
|
163
|
-
const unsubscribeInput =
|
|
166
|
+
const unsubscribeInput = subscribeOwnedListener(
|
|
164
167
|
element,
|
|
165
168
|
'input',
|
|
166
169
|
onInput,
|
|
167
170
|
true
|
|
168
171
|
);
|
|
169
|
-
const unsubscribeCompositionEnd =
|
|
172
|
+
const unsubscribeCompositionEnd = subscribeOwnedListener(
|
|
170
173
|
element,
|
|
171
174
|
'compositionend',
|
|
172
175
|
onInput,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
@@ -9,7 +10,7 @@ import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
|
9
10
|
import { store as blockEditorStore } from '../../../store';
|
|
10
11
|
import { unlock } from '../../../lock-unlock';
|
|
11
12
|
|
|
12
|
-
const {
|
|
13
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* When the browser is about to auto correct, add an undo level so the user can
|
|
@@ -29,5 +30,5 @@ export default ( props ) => ( element ) => {
|
|
|
29
30
|
.__unstableMarkLastChangeAsPersistent();
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
return
|
|
33
|
+
return subscribeOwnedListener( element, 'beforeinput', onInput );
|
|
33
34
|
};
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { pasteHandler } from '@wordpress/blocks';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
isEmpty,
|
|
7
|
+
insert,
|
|
8
|
+
create,
|
|
9
|
+
privateApis as richTextPrivateApis,
|
|
10
|
+
} from '@wordpress/rich-text';
|
|
6
11
|
import { isURL } from '@wordpress/url';
|
|
7
12
|
import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
8
13
|
|
|
@@ -15,6 +20,7 @@ import { getPasteEventData } from '../../../utils/pasting';
|
|
|
15
20
|
import { unlock } from '../../../lock-unlock';
|
|
16
21
|
|
|
17
22
|
const { subscribeDelegatedListener } = unlock( composePrivateApis );
|
|
23
|
+
const { ownsSelection } = unlock( richTextPrivateApis );
|
|
18
24
|
|
|
19
25
|
/** @typedef {import('@wordpress/rich-text').RichTextValue} RichTextValue */
|
|
20
26
|
|
|
@@ -34,8 +40,14 @@ export default ( props ) => ( element ) => {
|
|
|
34
40
|
} = props.current;
|
|
35
41
|
|
|
36
42
|
// The event listener is attached to the window, so we need to check if
|
|
37
|
-
// the target is the element or inside the element.
|
|
38
|
-
|
|
43
|
+
// the target is the element or inside the element. When the editable
|
|
44
|
+
// wrapper holds focus (the selected block supports `editableRoot`),
|
|
45
|
+
// the event targets the wrapper instead; the element then owns the
|
|
46
|
+
// paste when it contains the selection.
|
|
47
|
+
if (
|
|
48
|
+
! element.contains( event.target ) &&
|
|
49
|
+
! ownsSelection( element )
|
|
50
|
+
) {
|
|
39
51
|
return;
|
|
40
52
|
}
|
|
41
53
|
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { isKeyboardEvent } from '@wordpress/keycodes';
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Internal dependencies
|
|
9
10
|
*/
|
|
10
11
|
import { unlock } from '../../../lock-unlock';
|
|
11
12
|
|
|
12
|
-
const {
|
|
13
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Hook to prevent default behaviors for key combinations otherwise handled
|
|
@@ -25,5 +26,5 @@ export default () => ( node ) => {
|
|
|
25
26
|
event.preventDefault();
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
return
|
|
29
|
+
return subscribeOwnedListener( node, 'keydown', onKeydown, true );
|
|
29
30
|
};
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
8
9
|
*/
|
|
9
10
|
import { unlock } from '../../../lock-unlock';
|
|
10
11
|
|
|
11
|
-
const {
|
|
12
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
12
13
|
|
|
13
14
|
export default ( props ) => ( element ) => {
|
|
14
15
|
const { keyboardShortcuts } = props.current;
|
|
@@ -18,5 +19,5 @@ export default ( props ) => ( element ) => {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
return
|
|
22
|
+
return subscribeOwnedListener( element, 'keydown', onKeyDown, true );
|
|
22
23
|
};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { BACKSPACE, ESCAPE } from '@wordpress/keycodes';
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
import { privateApis as richTextPrivateApis } from '@wordpress/rich-text';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Internal dependencies
|
|
@@ -10,7 +11,7 @@ import { privateApis as composePrivateApis } from '@wordpress/compose';
|
|
|
10
11
|
import { store as blockEditorStore } from '../../../store';
|
|
11
12
|
import { unlock } from '../../../lock-unlock';
|
|
12
13
|
|
|
13
|
-
const {
|
|
14
|
+
const { subscribeOwnedListener } = unlock( richTextPrivateApis );
|
|
14
15
|
|
|
15
16
|
export default ( props ) => ( element ) => {
|
|
16
17
|
function onKeyDown( event ) {
|
|
@@ -42,5 +43,5 @@ export default ( props ) => ( element ) => {
|
|
|
42
43
|
__experimentalUndo();
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
return
|
|
46
|
+
return subscribeOwnedListener( element, 'keydown', onKeyDown );
|
|
46
47
|
};
|
|
@@ -11,9 +11,9 @@ import {
|
|
|
11
11
|
useRef,
|
|
12
12
|
useState,
|
|
13
13
|
useCallback,
|
|
14
|
+
useEffect,
|
|
14
15
|
useMemo,
|
|
15
16
|
forwardRef,
|
|
16
|
-
createContext,
|
|
17
17
|
useContext,
|
|
18
18
|
} from '@wordpress/element';
|
|
19
19
|
import { useDispatch, useRegistry, useSelect } from '@wordpress/data';
|
|
@@ -39,15 +39,20 @@ import { getAllowedFormats } from './utils';
|
|
|
39
39
|
import { Content, valueToHTMLString } from './content';
|
|
40
40
|
import { withDeprecations } from './with-deprecations';
|
|
41
41
|
import BlockContext from '../block-context';
|
|
42
|
+
import { useHasEditableRoot } from '../writing-flow/use-editable-root';
|
|
42
43
|
import { unlock } from '../../lock-unlock';
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
// `RichTextShortcut` and `RichTextInputEvent` now live in
|
|
46
|
+
// `@wordpress/rich-text` so they share the shortcut and input-event contexts
|
|
47
|
+
// with standalone rich text fields. Re-exported below for back-compat (e.g.
|
|
48
|
+
// `@wordpress/format-library` imports them from `@wordpress/block-editor`).
|
|
49
|
+
const {
|
|
50
|
+
useRichText,
|
|
51
|
+
KeyboardShortcutContext,
|
|
52
|
+
InputEventContext,
|
|
53
|
+
RichTextShortcut,
|
|
54
|
+
RichTextInputEvent,
|
|
55
|
+
} = unlock( richTextPrivateApis );
|
|
51
56
|
|
|
52
57
|
const instanceIdKey = Symbol( 'instanceId' );
|
|
53
58
|
|
|
@@ -238,6 +243,13 @@ export function RichTextWrapper(
|
|
|
238
243
|
const shouldDisableEditing =
|
|
239
244
|
readOnly || disableBoundBlock || shouldDisableForPattern;
|
|
240
245
|
|
|
246
|
+
const hasEditableRoot = useHasEditableRoot();
|
|
247
|
+
const hasDefaultEditingMode = useSelect(
|
|
248
|
+
( select ) =>
|
|
249
|
+
select( blockEditorStore ).getBlockEditingMode( clientId ) ===
|
|
250
|
+
'default',
|
|
251
|
+
[ clientId ]
|
|
252
|
+
);
|
|
241
253
|
const { getSelectionStart, getSelectionEnd, getBlockRootClientId } =
|
|
242
254
|
useSelect( blockEditorStore );
|
|
243
255
|
const { selectionChange } = useDispatch( blockEditorStore );
|
|
@@ -341,6 +353,55 @@ export function RichTextWrapper(
|
|
|
341
353
|
onChange,
|
|
342
354
|
} );
|
|
343
355
|
|
|
356
|
+
// While a focused editing host owns the selection (the block supports
|
|
357
|
+
// `editableRoot`), ARIA attributes describing the autocomplete state must
|
|
358
|
+
// be mirrored onto the host: assistive technology resolves them relative
|
|
359
|
+
// to the focused element.
|
|
360
|
+
const {
|
|
361
|
+
'aria-autocomplete': ariaAutocomplete,
|
|
362
|
+
'aria-owns': ariaOwns,
|
|
363
|
+
'aria-activedescendant': ariaActiveDescendant,
|
|
364
|
+
} = autocompleteProps;
|
|
365
|
+
useEffect( () => {
|
|
366
|
+
if ( ! hasEditableRoot || ! isSelected ) {
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
const host = anchorRef.current?.parentElement?.closest(
|
|
371
|
+
'[contenteditable="true"]'
|
|
372
|
+
);
|
|
373
|
+
|
|
374
|
+
if ( ! host ) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
const attributes = {
|
|
379
|
+
'aria-autocomplete': ariaAutocomplete,
|
|
380
|
+
'aria-owns': ariaOwns,
|
|
381
|
+
'aria-activedescendant': ariaActiveDescendant,
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
for ( const [ key, value_ ] of Object.entries( attributes ) ) {
|
|
385
|
+
if ( value_ === undefined ) {
|
|
386
|
+
host.removeAttribute( key );
|
|
387
|
+
} else {
|
|
388
|
+
host.setAttribute( key, value_ );
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
return () => {
|
|
393
|
+
for ( const key of Object.keys( attributes ) ) {
|
|
394
|
+
host.removeAttribute( key );
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}, [
|
|
398
|
+
hasEditableRoot,
|
|
399
|
+
isSelected,
|
|
400
|
+
ariaAutocomplete,
|
|
401
|
+
ariaOwns,
|
|
402
|
+
ariaActiveDescendant,
|
|
403
|
+
] );
|
|
404
|
+
|
|
344
405
|
useMarkPersistent( { html: adjustedValue, value } );
|
|
345
406
|
|
|
346
407
|
const keyboardShortcuts = useRef( new Set() );
|
|
@@ -350,12 +411,30 @@ export function RichTextWrapper(
|
|
|
350
411
|
anchorRef.current?.focus();
|
|
351
412
|
}
|
|
352
413
|
|
|
414
|
+
// Setting tabIndex to 0 is unnecessary, the element is already focusable
|
|
415
|
+
// because it's contentEditable. This also fixes a Safari bug where it's
|
|
416
|
+
// not possible to Shift+Click multi select blocks when Shift Clicking
|
|
417
|
+
// into an element with tabIndex because Safari will focus the element.
|
|
418
|
+
// However, Safari will correctly ignore nested contentEditable elements.
|
|
419
|
+
// While the writing flow wrapper is contentEditable (the selected block
|
|
420
|
+
// supports `editableRoot`), nested editable elements are no longer
|
|
421
|
+
// focusable areas on their own, so an explicit tabIndex restores their
|
|
422
|
+
// focusability.
|
|
423
|
+
let tabIndex = props.tabIndex;
|
|
424
|
+
if ( ! shouldDisableEditing ) {
|
|
425
|
+
if ( hasEditableRoot && hasDefaultEditingMode && isBlockSelected ) {
|
|
426
|
+
tabIndex = props.tabIndex ?? 0;
|
|
427
|
+
} else if ( hasEditableRoot && props.tabIndex === 0 ) {
|
|
428
|
+
tabIndex = null;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
353
432
|
const TagName = tagName;
|
|
354
433
|
return (
|
|
355
434
|
<>
|
|
356
435
|
{ isSelected && (
|
|
357
|
-
<
|
|
358
|
-
<
|
|
436
|
+
<KeyboardShortcutContext.Provider value={ keyboardShortcuts }>
|
|
437
|
+
<InputEventContext.Provider value={ inputEvents }>
|
|
359
438
|
<Popover.__unstableSlotNameProvider value="__unstable-block-tools-after">
|
|
360
439
|
{ children &&
|
|
361
440
|
children( { value, onChange, onFocus } ) }
|
|
@@ -368,8 +447,8 @@ export function RichTextWrapper(
|
|
|
368
447
|
forwardedRef={ anchorRef }
|
|
369
448
|
/>
|
|
370
449
|
</Popover.__unstableSlotNameProvider>
|
|
371
|
-
</
|
|
372
|
-
</
|
|
450
|
+
</InputEventContext.Provider>
|
|
451
|
+
</KeyboardShortcutContext.Provider>
|
|
373
452
|
) }
|
|
374
453
|
{ isSelected && hasFormats && (
|
|
375
454
|
<FormatToolbarContainer
|
|
@@ -433,17 +512,7 @@ export function RichTextWrapper(
|
|
|
433
512
|
props.className,
|
|
434
513
|
'rich-text'
|
|
435
514
|
) }
|
|
436
|
-
|
|
437
|
-
// focusable because it's contentEditable. This also fixes a
|
|
438
|
-
// Safari bug where it's not possible to Shift+Click multi
|
|
439
|
-
// select blocks when Shift Clicking into an element with
|
|
440
|
-
// tabIndex because Safari will focus the element. However,
|
|
441
|
-
// Safari will correctly ignore nested contentEditable elements.
|
|
442
|
-
tabIndex={
|
|
443
|
-
props.tabIndex === 0 && ! shouldDisableEditing
|
|
444
|
-
? null
|
|
445
|
-
: props.tabIndex
|
|
446
|
-
}
|
|
515
|
+
tabIndex={ tabIndex }
|
|
447
516
|
data-wp-block-attribute-key={ identifier }
|
|
448
517
|
/>
|
|
449
518
|
</>
|
|
@@ -521,6 +590,6 @@ PublicForwardedRichTextContainer.isEmpty = ( value ) => {
|
|
|
521
590
|
};
|
|
522
591
|
|
|
523
592
|
export default PublicForwardedRichTextContainer;
|
|
524
|
-
export { RichTextShortcut }
|
|
593
|
+
export { RichTextShortcut };
|
|
525
594
|
export { RichTextToolbarButton } from './toolbar-button';
|
|
526
|
-
export { RichTextInputEvent as __unstableRichTextInputEvent }
|
|
595
|
+
export { RichTextInputEvent as __unstableRichTextInputEvent };
|