@wordpress/block-editor 16.0.1-next.v.202607070741.0 → 16.1.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 +27 -1
- package/README.md +8 -0
- package/build/components/alignment-control/ui.cjs +2 -4
- package/build/components/alignment-control/ui.cjs.map +2 -2
- package/build/components/background-image-control/index.cjs +40 -10
- package/build/components/background-image-control/index.cjs.map +2 -2
- package/build/components/block-alignment-control/ui.cjs +5 -3
- package/build/components/block-alignment-control/ui.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/index.cjs +73 -46
- package/build/components/block-inspector/index.cjs.map +2 -2
- package/build/components/block-list/block-html.cjs +4 -1
- package/build/components/block-list/block-html.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 +7 -2
- 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 +11 -4
- package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs +48 -0
- package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
- package/build/components/block-parent-selector/index.cjs +2 -2
- package/build/components/block-parent-selector/index.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-toolbar/switch-section-style.cjs +4 -2
- package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
- package/build/components/block-tools/empty-block-inserter.cjs +2 -7
- package/build/components/block-tools/empty-block-inserter.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-vertical-alignment-control/ui.cjs +3 -5
- package/build/components/block-vertical-alignment-control/ui.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/border-radius-control/utils.cjs +8 -58
- package/build/components/border-radius-control/utils.cjs.map +2 -2
- package/build/components/child-layout-control/index.cjs +0 -4
- package/build/components/child-layout-control/index.cjs.map +2 -2
- package/build/components/colors-gradients/control.cjs +5 -3
- package/build/components/colors-gradients/control.cjs.map +2 -2
- package/build/components/dimension-control/index.cjs +30 -20
- package/build/components/dimension-control/index.cjs.map +3 -3
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
- package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
- package/build/components/editor-styles/index.cjs +9 -1
- package/build/components/editor-styles/index.cjs.map +2 -2
- package/build/components/global-styles/background-panel.cjs +66 -25
- package/build/components/global-styles/background-panel.cjs.map +3 -3
- package/build/components/global-styles/border-panel.cjs +153 -55
- package/build/components/global-styles/border-panel.cjs.map +3 -3
- package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
- package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
- package/build/components/global-styles/color-panel.cjs +63 -17
- package/build/components/global-styles/color-panel.cjs.map +2 -2
- package/build/components/global-styles/dimensions-panel.cjs +242 -64
- package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
- package/build/components/global-styles/filters-panel.cjs +59 -20
- package/build/components/global-styles/filters-panel.cjs.map +3 -3
- package/build/components/global-styles/hooks.cjs +4 -1
- package/build/components/global-styles/hooks.cjs.map +2 -2
- package/build/components/global-styles/inheritance/index.cjs +142 -0
- package/build/components/global-styles/inheritance/index.cjs.map +7 -0
- package/build/components/global-styles/inherited-value-context.cjs +173 -0
- package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
- package/build/components/global-styles/shadow-panel-components.cjs +38 -20
- package/build/components/global-styles/shadow-panel-components.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/state-control.cjs +1 -1
- package/build/components/global-styles/state-control.cjs.map +2 -2
- package/build/components/global-styles/typography-panel.cjs +271 -79
- package/build/components/global-styles/typography-panel.cjs.map +3 -3
- package/build/components/image-size-control/index.cjs +2 -4
- package/build/components/image-size-control/index.cjs.map +2 -2
- package/build/components/inserter/media-tab/hooks.cjs +33 -6
- package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
- package/build/components/inserter/media-tab/media-panel.cjs +78 -16
- package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
- package/build/components/inspector-controls-tabs/styles-tab.cjs +10 -1
- package/build/components/inspector-controls-tabs/styles-tab.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/line-height-control/index.cjs +1 -2
- package/build/components/line-height-control/index.cjs.map +2 -2
- package/build/components/link-control/index.cjs +3 -1
- package/build/components/link-control/index.cjs.map +2 -2
- package/build/components/list-view/block.cjs +13 -4
- package/build/components/list-view/block.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/preset-input-control/index.cjs +2 -1
- package/build/components/preset-input-control/index.cjs.map +2 -2
- package/build/components/provider/block-refs-provider.cjs +8 -2
- package/build/components/provider/block-refs-provider.cjs.map +2 -2
- package/build/components/provider/index.cjs +1 -1
- package/build/components/provider/index.cjs.map +2 -2
- package/build/components/provider/use-block-sync.cjs +18 -6
- package/build/components/provider/use-block-sync.cjs.map +2 -2
- package/build/components/provider/use-media-upload-settings.cjs +3 -1
- package/build/components/provider/use-media-upload-settings.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 +76 -17
- package/build/components/rich-text/index.cjs.map +2 -2
- package/build/components/spacing-sizes-control/utils.cjs +6 -19
- package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
- package/build/components/text-indent-control/index.cjs +8 -2
- package/build/components/text-indent-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/url-input/index.cjs +303 -344
- package/build/components/url-input/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-on-block-drop/index.cjs +1 -1
- package/build/components/use-on-block-drop/index.cjs.map +2 -2
- package/build/components/writing-flow/index.cjs +14 -1
- package/build/components/writing-flow/index.cjs.map +3 -3
- package/build/components/writing-flow/use-arrow-nav.cjs +42 -6
- package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
- package/build/components/writing-flow/use-click-selection.cjs +29 -3
- 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-event-handlers.cjs +179 -0
- package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
- package/build/components/writing-flow/use-editable-root.cjs +75 -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 +132 -22
- package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
- package/build/components/writing-flow/utils.cjs +28 -2
- package/build/components/writing-flow/utils.cjs.map +2 -2
- package/build/hooks/background.cjs +14 -10
- 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/block-style-variation.cjs +4 -45
- package/build/hooks/block-style-variation.cjs.map +3 -3
- package/build/hooks/border.cjs +19 -4
- package/build/hooks/border.cjs.map +2 -2
- package/build/hooks/custom-css.cjs +6 -2
- package/build/hooks/custom-css.cjs.map +2 -2
- package/build/hooks/dimensions.cjs +15 -4
- package/build/hooks/dimensions.cjs.map +2 -2
- package/build/hooks/duotone.cjs +26 -14
- package/build/hooks/duotone.cjs.map +3 -3
- package/build/hooks/elements.cjs +15 -5
- package/build/hooks/elements.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 +28 -13
- package/build/hooks/layout.cjs.map +3 -3
- package/build/hooks/line-height.cjs +1 -2
- package/build/hooks/line-height.cjs.map +2 -2
- package/build/hooks/states.cjs +27 -7
- 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 +14 -5
- package/build/hooks/typography.cjs.map +2 -2
- package/build/layouts/constrained.cjs +14 -6
- package/build/layouts/constrained.cjs.map +2 -2
- package/build/layouts/flex.cjs +27 -19
- package/build/layouts/flex.cjs.map +2 -2
- package/build/layouts/grid.cjs +0 -2
- package/build/layouts/grid.cjs.map +2 -2
- package/build/private-apis.cjs +9 -5
- package/build/private-apis.cjs.map +3 -3
- package/build/store/actions.cjs +11 -6
- package/build/store/actions.cjs.map +2 -2
- package/build/store/private-selectors.cjs +41 -3
- package/build/store/private-selectors.cjs.map +3 -3
- package/build/store/reducer.cjs +6 -6
- package/build/store/reducer.cjs.map +2 -2
- package/build/store/selectors.cjs +23 -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/{components/rich-text/input-event.cjs → utils/native-undo.cjs} +29 -24
- package/build/utils/native-undo.cjs.map +7 -0
- package/build-module/components/alignment-control/ui.mjs +2 -4
- package/build-module/components/alignment-control/ui.mjs.map +2 -2
- package/build-module/components/background-image-control/index.mjs +43 -10
- package/build-module/components/background-image-control/index.mjs.map +2 -2
- package/build-module/components/block-alignment-control/ui.mjs +5 -3
- package/build-module/components/block-alignment-control/ui.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/index.mjs +74 -46
- package/build-module/components/block-inspector/index.mjs.map +2 -2
- package/build-module/components/block-list/block-html.mjs +4 -1
- package/build-module/components/block-list/block-html.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 +7 -2
- 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 +11 -4
- package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs +28 -0
- package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
- package/build-module/components/block-parent-selector/index.mjs +2 -2
- package/build-module/components/block-parent-selector/index.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-toolbar/switch-section-style.mjs +4 -2
- package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
- package/build-module/components/block-tools/empty-block-inserter.mjs +2 -7
- package/build-module/components/block-tools/empty-block-inserter.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-vertical-alignment-control/ui.mjs +4 -6
- package/build-module/components/block-vertical-alignment-control/ui.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/border-radius-control/utils.mjs +11 -53
- package/build-module/components/border-radius-control/utils.mjs.map +2 -2
- package/build-module/components/child-layout-control/index.mjs +0 -4
- package/build-module/components/child-layout-control/index.mjs.map +2 -2
- package/build-module/components/colors-gradients/control.mjs +5 -3
- package/build-module/components/colors-gradients/control.mjs.map +2 -2
- package/build-module/components/dimension-control/index.mjs +30 -20
- package/build-module/components/dimension-control/index.mjs.map +2 -2
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
- package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
- package/build-module/components/editor-styles/index.mjs +9 -1
- package/build-module/components/editor-styles/index.mjs.map +2 -2
- package/build-module/components/global-styles/background-panel.mjs +71 -29
- package/build-module/components/global-styles/background-panel.mjs.map +2 -2
- package/build-module/components/global-styles/border-panel.mjs +157 -56
- package/build-module/components/global-styles/border-panel.mjs.map +2 -2
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
- package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
- package/build-module/components/global-styles/color-panel.mjs +63 -17
- package/build-module/components/global-styles/color-panel.mjs.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
- package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
- package/build-module/components/global-styles/filters-panel.mjs +64 -21
- package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
- package/build-module/components/global-styles/hooks.mjs +4 -1
- package/build-module/components/global-styles/hooks.mjs.map +2 -2
- package/build-module/components/global-styles/inheritance/index.mjs +108 -0
- package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
- package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
- package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
- package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
- package/build-module/components/global-styles/shadow-panel-components.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/state-control.mjs +1 -1
- package/build-module/components/global-styles/state-control.mjs.map +2 -2
- package/build-module/components/global-styles/typography-panel.mjs +276 -80
- package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
- package/build-module/components/image-size-control/index.mjs +2 -4
- package/build-module/components/image-size-control/index.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
- package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
- package/build-module/components/inserter/media-tab/media-panel.mjs +86 -18
- package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.mjs +6 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.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/line-height-control/index.mjs +1 -2
- package/build-module/components/line-height-control/index.mjs.map +2 -2
- package/build-module/components/link-control/index.mjs +4 -2
- package/build-module/components/link-control/index.mjs.map +2 -2
- package/build-module/components/list-view/block.mjs +13 -4
- package/build-module/components/list-view/block.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/preset-input-control/index.mjs +2 -1
- package/build-module/components/preset-input-control/index.mjs.map +2 -2
- package/build-module/components/provider/block-refs-provider.mjs +8 -2
- package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
- package/build-module/components/provider/index.mjs +1 -1
- package/build-module/components/provider/index.mjs.map +2 -2
- package/build-module/components/provider/use-block-sync.mjs +18 -6
- package/build-module/components/provider/use-block-sync.mjs.map +2 -2
- package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
- package/build-module/components/provider/use-media-upload-settings.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 +79 -14
- package/build-module/components/rich-text/index.mjs.map +2 -2
- package/build-module/components/spacing-sizes-control/utils.mjs +6 -18
- package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
- package/build-module/components/text-indent-control/index.mjs +8 -2
- package/build-module/components/text-indent-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/url-input/index.mjs +306 -353
- package/build-module/components/url-input/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-on-block-drop/index.mjs +2 -2
- package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
- package/build-module/components/writing-flow/index.mjs +14 -1
- package/build-module/components/writing-flow/index.mjs.map +2 -2
- package/build-module/components/writing-flow/use-arrow-nav.mjs +43 -7
- package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
- package/build-module/components/writing-flow/use-click-selection.mjs +29 -3
- 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-event-handlers.mjs +154 -0
- package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
- package/build-module/components/writing-flow/use-editable-root.mjs +54 -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 +134 -21
- package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
- package/build-module/components/writing-flow/utils.mjs +26 -1
- package/build-module/components/writing-flow/utils.mjs.map +2 -2
- package/build-module/hooks/background.mjs +14 -10
- 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/block-style-variation.mjs +8 -44
- package/build-module/hooks/block-style-variation.mjs.map +2 -2
- package/build-module/hooks/border.mjs +19 -4
- package/build-module/hooks/border.mjs.map +2 -2
- package/build-module/hooks/custom-css.mjs +7 -3
- package/build-module/hooks/custom-css.mjs.map +2 -2
- package/build-module/hooks/dimensions.mjs +15 -4
- package/build-module/hooks/dimensions.mjs.map +2 -2
- package/build-module/hooks/duotone.mjs +20 -9
- package/build-module/hooks/duotone.mjs.map +2 -2
- package/build-module/hooks/elements.mjs +15 -5
- package/build-module/hooks/elements.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 +28 -13
- package/build-module/hooks/layout.mjs.map +2 -2
- package/build-module/hooks/line-height.mjs +1 -2
- package/build-module/hooks/line-height.mjs.map +2 -2
- package/build-module/hooks/states.mjs +27 -7
- 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 +14 -5
- package/build-module/hooks/typography.mjs.map +2 -2
- package/build-module/layouts/constrained.mjs +14 -6
- package/build-module/layouts/constrained.mjs.map +2 -2
- package/build-module/layouts/flex.mjs +27 -19
- package/build-module/layouts/flex.mjs.map +2 -2
- package/build-module/layouts/grid.mjs +0 -2
- package/build-module/layouts/grid.mjs.map +2 -2
- package/build-module/private-apis.mjs +7 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/store/actions.mjs +12 -7
- package/build-module/store/actions.mjs.map +2 -2
- package/build-module/store/private-selectors.mjs +42 -3
- package/build-module/store/private-selectors.mjs.map +2 -2
- package/build-module/store/reducer.mjs +6 -6
- package/build-module/store/reducer.mjs.map +2 -2
- package/build-module/store/selectors.mjs +23 -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-module/utils/native-undo.mjs +29 -0
- package/build-module/utils/native-undo.mjs.map +7 -0
- package/build-style/content-rtl.css +14 -27
- package/build-style/content.css +14 -27
- 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 +191 -61
- package/build-style/style.css +191 -61
- 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 +43 -44
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +1 -1
- package/src/components/alignment-control/ui.js +2 -4
- package/src/components/background-image-control/index.js +74 -37
- package/src/components/background-image-control/style.scss +13 -4
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +3 -3
- package/src/components/block-alignment-control/test/index.js +1 -1
- package/src/components/block-alignment-control/ui.js +4 -2
- package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +1 -1
- package/src/components/block-canvas/index.js +9 -2
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
- package/src/components/block-controls/groups.js +2 -0
- package/src/components/block-edit/edit.js +13 -31
- package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -1
- package/src/components/block-inspector/index.js +60 -31
- package/src/components/block-list/block-html.js +5 -0
- package/src/components/block-list/block.js +6 -0
- package/src/components/block-list/content.scss +1 -11
- package/src/components/block-list/index.js +0 -2
- package/src/components/block-list/use-block-props/index.js +7 -1
- 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 +35 -9
- package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +45 -0
- 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-parent-selector/index.js +5 -2
- package/src/components/block-quick-navigation/style.scss +1 -3
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-toolbar/index.js +41 -18
- package/src/components/block-toolbar/switch-section-style.js +5 -2
- package/src/components/block-tools/empty-block-inserter.js +3 -7
- package/src/components/block-tools/index.js +7 -0
- package/src/components/block-types-list/style.scss +0 -1
- package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
- package/src/components/block-vertical-alignment-control/test/index.js +18 -2
- package/src/components/block-vertical-alignment-control/ui.js +3 -5
- 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/border-radius-control/test/utils.js +0 -41
- package/src/components/border-radius-control/utils.js +16 -107
- package/src/components/button-block-appender/content.scss +7 -9
- package/src/components/child-layout-control/index.js +0 -4
- package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -3
- package/src/components/colors-gradients/control.js +6 -3
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +1 -1
- package/src/components/dimension-control/index.js +13 -1
- package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -6
- package/src/components/editor-styles/index.js +16 -1
- package/src/components/font-family/stories/index.story.jsx +1 -1
- package/src/components/global-styles/background-panel.js +107 -34
- package/src/components/global-styles/border-panel.js +219 -48
- package/src/components/global-styles/color-gradient-dropdown-item.js +93 -28
- package/src/components/global-styles/color-panel.js +92 -11
- package/src/components/global-styles/dimensions-panel.js +422 -71
- package/src/components/global-styles/filters-panel.js +88 -28
- package/src/components/global-styles/hooks.js +8 -1
- package/src/components/global-styles/inheritance/index.js +204 -0
- package/src/components/global-styles/inheritance/style.scss +184 -0
- package/src/components/global-styles/inheritance/test/index.js +281 -0
- package/src/components/global-styles/inherited-value-context.js +271 -0
- package/src/components/global-styles/shadow-panel-components.js +48 -26
- package/src/components/global-styles/state-control-badges.js +45 -6
- package/src/components/global-styles/state-control.js +2 -2
- package/src/components/global-styles/style.scss +5 -0
- package/src/components/global-styles/test/background-panel.js +338 -1
- package/src/components/global-styles/test/border-panel.js +441 -0
- package/src/components/global-styles/test/color-panel.js +182 -2
- package/src/components/global-styles/test/dimensions-panel.js +753 -0
- package/src/components/global-styles/test/filters-panel.js +194 -0
- package/src/components/global-styles/test/inherited-value-context-core.js +98 -0
- package/src/components/global-styles/test/inherited-value-context.js +454 -0
- package/src/components/global-styles/test/state-control-badges.js +65 -0
- package/src/components/global-styles/test/typography-panel-core.js +185 -0
- package/src/components/global-styles/test/typography-panel.js +849 -12
- package/src/components/global-styles/typography-panel.js +449 -101
- package/src/components/image-editor/style.scss +33 -0
- package/src/components/image-size-control/index.js +0 -2
- package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
- package/src/components/inserter/media-tab/hooks.js +55 -7
- package/src/components/inserter/media-tab/media-panel.js +117 -21
- package/src/components/inserter/media-tab/test/hooks.js +63 -0
- package/src/components/inserter/media-tab/test/media-panel.js +127 -0
- package/src/components/inserter/style.scss +19 -16
- package/src/components/inserter-list-item/style.scss +0 -15
- package/src/components/inspector-controls-tabs/styles-tab.js +5 -1
- package/src/components/keyboard-shortcuts/index.js +28 -11
- package/src/components/line-height-control/index.js +1 -2
- package/src/components/link-control/index.js +7 -2
- 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/list-view/block.js +13 -4
- package/src/components/list-view/style.scss +4 -5
- package/src/components/media-placeholder/index.js +0 -1
- package/src/components/multi-selection-inspector/style.scss +1 -1
- package/src/components/preset-input-control/index.js +4 -1
- package/src/components/provider/block-refs-provider.js +12 -2
- package/src/components/provider/index.js +2 -2
- package/src/components/provider/use-block-sync.js +18 -6
- package/src/components/provider/use-media-upload-settings.js +2 -0
- package/src/components/responsive-block-control/style.scss +1 -1
- 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 +116 -26
- package/src/components/skip-to-selected-block/style.scss +1 -1
- package/src/components/spacing-sizes-control/test/utils.js +16 -5
- package/src/components/spacing-sizes-control/utils.js +11 -28
- package/src/components/text-indent-control/index.js +8 -0
- package/src/components/typewriter/index.js +228 -224
- package/src/components/url-input/index.js +363 -431
- package/src/components/url-input/test/index.js +592 -0
- package/src/components/use-block-commands/index.js +27 -17
- package/src/components/use-on-block-drop/index.js +2 -2
- package/src/components/warning/test/__snapshots__/index.js.snap +1 -1
- package/src/components/writing-flow/index.js +17 -1
- package/src/components/writing-flow/use-arrow-nav.js +90 -13
- package/src/components/writing-flow/use-click-selection.js +55 -5
- 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-event-handlers.js +266 -0
- package/src/components/writing-flow/use-editable-root.js +112 -0
- package/src/components/writing-flow/use-home-end.js +71 -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 +218 -42
- package/src/components/writing-flow/utils.js +62 -0
- package/src/hooks/background.js +27 -24
- 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-fields/rich-text/styles.scss +1 -1
- package/src/hooks/block-style-variation.js +8 -74
- package/src/hooks/border.js +19 -4
- package/src/hooks/custom-css.js +15 -6
- package/src/hooks/dimensions.js +17 -4
- package/src/hooks/duotone.js +26 -8
- package/src/hooks/elements.js +14 -4
- package/src/hooks/grid-visualizer.js +40 -36
- package/src/hooks/layout-child.js +19 -9
- package/src/hooks/layout.js +48 -31
- package/src/hooks/line-height.js +0 -1
- package/src/hooks/states.js +38 -9
- package/src/hooks/style.js +67 -17
- package/src/hooks/test/inherited-value-wiring.js +411 -0
- package/src/hooks/test/preset-round-trip.js +456 -0
- 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 +35 -24
- package/src/layouts/constrained.js +5 -1
- package/src/layouts/flex.js +5 -1
- package/src/layouts/grid.js +0 -2
- package/src/private-apis.js +11 -2
- package/src/store/actions.js +53 -19
- package/src/store/private-selectors.js +82 -6
- package/src/store/reducer.js +9 -9
- package/src/store/selectors.js +56 -8
- package/src/store/test/actions.js +1 -1
- package/src/store/test/private-selectors.js +271 -1
- package/src/style.scss +2 -0
- package/src/utils/block-bindings.ts +50 -0
- package/src/utils/dom.ts +33 -0
- package/src/utils/native-undo.js +56 -0
- package/src/utils/test/block-bindings.js +181 -0
- package/build/components/duotone/utils.cjs +0 -87
- package/build/components/duotone/utils.cjs.map +0 -7
- 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/duotone/utils.mjs +0 -59
- package/build-module/components/duotone/utils.mjs.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/duotone/utils.js +0 -90
- package/src/components/rich-text/input-event.js +0 -31
- package/src/components/rich-text/shortcut.js +0 -32
- package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
|
@@ -29,7 +29,11 @@ import { BackgroundToolsPanel } from '../global-styles/background-panel';
|
|
|
29
29
|
// - Typography: text color only (font controls disabled).
|
|
30
30
|
// - Background: color + gradient only (image controls disabled).
|
|
31
31
|
// - Elements: link/heading/button/caption colors (unchanged).
|
|
32
|
-
function SectionStyleControls( {
|
|
32
|
+
export function SectionStyleControls( {
|
|
33
|
+
blockName,
|
|
34
|
+
clientId,
|
|
35
|
+
contentClientIds,
|
|
36
|
+
} ) {
|
|
33
37
|
const settings = useBlockSettings( blockName );
|
|
34
38
|
const { updateBlockAttributes } = useDispatch( blockEditorStore );
|
|
35
39
|
|
|
@@ -6,13 +6,21 @@ import { useDispatch } from '@wordpress/data';
|
|
|
6
6
|
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { useSettings } from '../use-settings';
|
|
13
|
+
|
|
9
14
|
function KeyboardShortcuts() {
|
|
10
15
|
return null;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
function KeyboardShortcutsRegister() {
|
|
14
19
|
// Registering the shortcuts.
|
|
15
|
-
const { registerShortcut } = useDispatch(
|
|
20
|
+
const { registerShortcut, unregisterShortcut } = useDispatch(
|
|
21
|
+
keyboardShortcutsStore
|
|
22
|
+
);
|
|
23
|
+
const [ blockVisibility ] = useSettings( 'blockVisibility.allowEditing' );
|
|
16
24
|
useEffect( () => {
|
|
17
25
|
registerShortcut( {
|
|
18
26
|
name: 'core/block-editor/copy',
|
|
@@ -208,15 +216,24 @@ function KeyboardShortcutsRegister() {
|
|
|
208
216
|
},
|
|
209
217
|
} );
|
|
210
218
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
// Keep the block visibility shortcut in sync with the theme.json
|
|
220
|
+
// setting. The setting resolves asynchronously, so the shortcut may be
|
|
221
|
+
// registered before its value arrives; it must be removed once the
|
|
222
|
+
// value is known to be `false`, otherwise it lingers in the keyboard
|
|
223
|
+
// shortcut help list while doing nothing.
|
|
224
|
+
if ( blockVisibility === false ) {
|
|
225
|
+
unregisterShortcut( 'core/block-editor/toggle-block-visibility' );
|
|
226
|
+
} else {
|
|
227
|
+
registerShortcut( {
|
|
228
|
+
name: 'core/block-editor/toggle-block-visibility',
|
|
229
|
+
category: 'block',
|
|
230
|
+
description: __( 'Show or hide the selected block(s).' ),
|
|
231
|
+
keyCombination: {
|
|
232
|
+
modifier: 'primaryShift',
|
|
233
|
+
character: 'h',
|
|
234
|
+
},
|
|
235
|
+
} );
|
|
236
|
+
}
|
|
220
237
|
|
|
221
238
|
registerShortcut( {
|
|
222
239
|
name: 'core/block-editor/rename',
|
|
@@ -227,7 +244,7 @@ function KeyboardShortcutsRegister() {
|
|
|
227
244
|
character: 'r',
|
|
228
245
|
},
|
|
229
246
|
} );
|
|
230
|
-
}, [ registerShortcut ] );
|
|
247
|
+
}, [ registerShortcut, unregisterShortcut, blockVisibility ] );
|
|
231
248
|
|
|
232
249
|
return null;
|
|
233
250
|
}
|
|
@@ -96,13 +96,12 @@ const LineHeightControl = ( {
|
|
|
96
96
|
return (
|
|
97
97
|
<div className="block-editor-line-height-control">
|
|
98
98
|
<NumberControl
|
|
99
|
+
placeholder={ BASE_DEFAULT_VALUE }
|
|
99
100
|
{ ...otherProps }
|
|
100
|
-
__next40pxDefaultSize
|
|
101
101
|
__unstableInputWidth={ __unstableInputWidth }
|
|
102
102
|
__unstableStateReducer={ stateReducer }
|
|
103
103
|
onChange={ handleOnChange }
|
|
104
104
|
label={ __( 'Line height' ) }
|
|
105
|
-
placeholder={ BASE_DEFAULT_VALUE }
|
|
106
105
|
step={ STEP }
|
|
107
106
|
spinFactor={ SPIN_FACTOR }
|
|
108
107
|
value={ value }
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from '@wordpress/components';
|
|
17
17
|
import { __, sprintf } from '@wordpress/i18n';
|
|
18
18
|
import { useRef, useState, useEffect, useMemo } from '@wordpress/element';
|
|
19
|
-
import { useInstanceId } from '@wordpress/compose';
|
|
19
|
+
import { useInstanceId, useMergeRefs } from '@wordpress/compose';
|
|
20
20
|
import { focus } from '@wordpress/dom';
|
|
21
21
|
import { ENTER } from '@wordpress/keycodes';
|
|
22
22
|
import { isShallowEqualObjects } from '@wordpress/is-shallow-equal';
|
|
@@ -29,6 +29,7 @@ import { isURL, prependHTTPS } from '@wordpress/url';
|
|
|
29
29
|
/**
|
|
30
30
|
* Internal dependencies
|
|
31
31
|
*/
|
|
32
|
+
import { useNativeUndo } from '../../utils/native-undo';
|
|
32
33
|
import LinkControlSettingsDrawer from './settings-drawer';
|
|
33
34
|
import LinkControlSearchInput from './search-input';
|
|
34
35
|
import LinkPreview from './link-preview';
|
|
@@ -227,6 +228,7 @@ function LinkControl( {
|
|
|
227
228
|
|
|
228
229
|
const isMountingRef = useRef( true );
|
|
229
230
|
const wrapperNode = useRef();
|
|
231
|
+
const wrapperRef = useMergeRefs( [ wrapperNode, useNativeUndo() ] );
|
|
230
232
|
const textInputRef = useRef();
|
|
231
233
|
const searchInputRef = useRef();
|
|
232
234
|
// TODO: Remove entityUrlFallbackRef and previewValue in favor of value prop after taxonomy entity binding
|
|
@@ -651,7 +653,10 @@ function LinkControl( {
|
|
|
651
653
|
return (
|
|
652
654
|
<div
|
|
653
655
|
tabIndex={ -1 }
|
|
654
|
-
|
|
656
|
+
// The dialog holds local state that is only committed when the
|
|
657
|
+
// link is applied, so undo and redo within it must remain the
|
|
658
|
+
// browser's own.
|
|
659
|
+
ref={ wrapperRef }
|
|
655
660
|
className="block-editor-link-control"
|
|
656
661
|
>
|
|
657
662
|
{ isCreatingPage && (
|
|
@@ -151,7 +151,7 @@ $block-editor-link-control-number-of-actions: 1;
|
|
|
151
151
|
width: 100%;
|
|
152
152
|
|
|
153
153
|
mark {
|
|
154
|
-
font-weight:
|
|
154
|
+
font-weight: var(--wpds-typography-font-weight-emphasis);
|
|
155
155
|
color: inherit;
|
|
156
156
|
background-color: transparent;
|
|
157
157
|
}
|
|
@@ -227,7 +227,7 @@ $block-editor-link-control-number-of-actions: 1;
|
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
mark {
|
|
230
|
-
font-weight:
|
|
230
|
+
font-weight: var(--wpds-typography-font-weight-emphasis);
|
|
231
231
|
color: inherit;
|
|
232
232
|
background-color: transparent;
|
|
233
233
|
}
|
|
@@ -3278,7 +3278,7 @@ describe( 'URL validation', () => {
|
|
|
3278
3278
|
] )(
|
|
3279
3279
|
'should prevent submission for $description',
|
|
3280
3280
|
async ( { inputUrl } ) => {
|
|
3281
|
-
render(
|
|
3281
|
+
const { container } = render(
|
|
3282
3282
|
<LinkControl
|
|
3283
3283
|
value={ { url: '' } }
|
|
3284
3284
|
forceIsEditingLink
|
|
@@ -3295,7 +3295,7 @@ describe( 'URL validation', () => {
|
|
|
3295
3295
|
// Wait for validation error to appear
|
|
3296
3296
|
await waitFor( () => {
|
|
3297
3297
|
expect(
|
|
3298
|
-
|
|
3298
|
+
within( container ).getByText( 'Please enter a valid URL.' )
|
|
3299
3299
|
).toBeInTheDocument();
|
|
3300
3300
|
} );
|
|
3301
3301
|
|
|
@@ -3407,7 +3407,7 @@ describe( 'URL validation', () => {
|
|
|
3407
3407
|
it( 'should show validation error when clicking Apply button with invalid URL', async () => {
|
|
3408
3408
|
// When editing an existing link, use Apply button
|
|
3409
3409
|
const existingLink = { url: 'https://example.com', title: 'Example' };
|
|
3410
|
-
render(
|
|
3410
|
+
const { container } = render(
|
|
3411
3411
|
<LinkControl
|
|
3412
3412
|
value={ existingLink }
|
|
3413
3413
|
forceIsEditingLink
|
|
@@ -3428,7 +3428,7 @@ describe( 'URL validation', () => {
|
|
|
3428
3428
|
await waitFor(
|
|
3429
3429
|
() => {
|
|
3430
3430
|
expect(
|
|
3431
|
-
|
|
3431
|
+
within( container ).getByText( 'Please enter a valid URL.' )
|
|
3432
3432
|
).toBeVisible();
|
|
3433
3433
|
},
|
|
3434
3434
|
{ timeout: 100 }
|
|
@@ -3441,7 +3441,7 @@ describe( 'URL validation', () => {
|
|
|
3441
3441
|
it( 'should show validation error when pressing Enter to submit with an invalid URL', async () => {
|
|
3442
3442
|
// When editing an existing link, use Apply button
|
|
3443
3443
|
const existingLink = { url: 'https://example.com', title: 'Example' };
|
|
3444
|
-
render(
|
|
3444
|
+
const { container } = render(
|
|
3445
3445
|
<LinkControl
|
|
3446
3446
|
value={ existingLink }
|
|
3447
3447
|
forceIsEditingLink
|
|
@@ -3460,7 +3460,7 @@ describe( 'URL validation', () => {
|
|
|
3460
3460
|
await waitFor(
|
|
3461
3461
|
() => {
|
|
3462
3462
|
expect(
|
|
3463
|
-
|
|
3463
|
+
within( container ).getByText( 'Please enter a valid URL.' )
|
|
3464
3464
|
).toBeVisible();
|
|
3465
3465
|
},
|
|
3466
3466
|
{ timeout: 100 }
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
width: 100%;
|
|
11
11
|
height: auto;
|
|
12
12
|
padding: $grid-unit-15;
|
|
13
|
-
box-shadow: inset 0 0 0 1px $gray-600;
|
|
14
13
|
border-color: $gray-600;
|
|
15
14
|
}
|
|
16
15
|
|
|
@@ -51,7 +50,7 @@
|
|
|
51
50
|
|
|
52
51
|
.link-preview-button__title {
|
|
53
52
|
margin-top: $grid-unit-05;
|
|
54
|
-
font-weight:
|
|
53
|
+
font-weight: var(--wpds-typography-font-weight-emphasis);
|
|
55
54
|
color: $gray-900;
|
|
56
55
|
display: block;
|
|
57
56
|
}
|
|
@@ -132,6 +132,8 @@ function ListViewBlock( {
|
|
|
132
132
|
blockEditingMode,
|
|
133
133
|
allowRightClickOverrides,
|
|
134
134
|
editedSection,
|
|
135
|
+
viewportSettings,
|
|
136
|
+
blockVisibilitySetting,
|
|
135
137
|
} = useSelect(
|
|
136
138
|
( select ) => {
|
|
137
139
|
const {
|
|
@@ -141,21 +143,24 @@ function ListViewBlock( {
|
|
|
141
143
|
getSettings,
|
|
142
144
|
getEditedContentOnlySection,
|
|
143
145
|
} = unlock( select( blockEditorStore ) );
|
|
146
|
+
const settings = getSettings();
|
|
144
147
|
|
|
145
148
|
return {
|
|
146
149
|
block: getBlock( clientId ),
|
|
147
150
|
blockName: getBlockName( clientId ),
|
|
148
151
|
blockEditingMode: getBlockEditingModeForClientId( clientId ),
|
|
149
|
-
allowRightClickOverrides:
|
|
150
|
-
getSettings().allowRightClickOverrides,
|
|
152
|
+
allowRightClickOverrides: settings.allowRightClickOverrides,
|
|
151
153
|
editedSection: getEditedContentOnlySection(),
|
|
154
|
+
viewportSettings: settings.__experimentalFeatures?.viewport,
|
|
155
|
+
blockVisibilitySetting:
|
|
156
|
+
settings.__experimentalFeatures?.blockVisibility
|
|
157
|
+
?.allowEditing,
|
|
152
158
|
};
|
|
153
159
|
},
|
|
154
160
|
[ clientId ]
|
|
155
161
|
);
|
|
156
162
|
|
|
157
163
|
const isDisabled = blockEditingMode === 'disabled';
|
|
158
|
-
|
|
159
164
|
const { canRename } = useBlockRename( blockName );
|
|
160
165
|
|
|
161
166
|
const showBlockActions =
|
|
@@ -393,6 +398,9 @@ function ListViewBlock( {
|
|
|
393
398
|
} else if (
|
|
394
399
|
isMatch( 'core/block-editor/toggle-block-visibility', event )
|
|
395
400
|
) {
|
|
401
|
+
if ( blockVisibilitySetting === false ) {
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
396
404
|
event.preventDefault();
|
|
397
405
|
const { blocksToUpdate } = getBlocksToUpdate();
|
|
398
406
|
const blocks = getBlocksByClientId( blocksToUpdate );
|
|
@@ -558,7 +566,8 @@ function ListViewBlock( {
|
|
|
558
566
|
|
|
559
567
|
// Determine label based on where block is hidden (not when/current viewport)
|
|
560
568
|
const blockVisibilityDescription = getBlockVisibilityLabel(
|
|
561
|
-
block?.attributes?.metadata?.blockVisibility
|
|
569
|
+
block?.attributes?.metadata?.blockVisibility,
|
|
570
|
+
viewportSettings
|
|
562
571
|
);
|
|
563
572
|
|
|
564
573
|
const hasSiblings = siblingBlockCount > 0;
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
box-shadow:
|
|
96
96
|
inset 0 0 0 1px $white,
|
|
97
97
|
0 0 0 var(--wp-admin-border-width-focus)
|
|
98
|
-
var(--
|
|
98
|
+
var(--wpds-color-stroke-focus);
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
&.is-selected.is-synced .block-editor-list-view-block-contents:focus {
|
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
border-radius: inherit;
|
|
273
273
|
box-shadow:
|
|
274
274
|
inset 0 0 0 var(--wp-admin-border-width-focus)
|
|
275
|
-
var(--
|
|
275
|
+
var(--wpds-color-stroke-focus);
|
|
276
276
|
z-index: 2;
|
|
277
277
|
pointer-events: none;
|
|
278
278
|
}
|
|
@@ -283,11 +283,10 @@
|
|
|
283
283
|
right: 0;
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
-
&.is-nesting .block-editor-list-view__menu
|
|
287
|
-
.block-editor-list-view-block__menu:focus {
|
|
286
|
+
&.is-nesting .block-editor-list-view__menu {
|
|
288
287
|
box-shadow:
|
|
289
288
|
inset 0 0 0 var(--wp-admin-border-width-focus)
|
|
290
|
-
var(--
|
|
289
|
+
var(--wpds-color-stroke-focus);
|
|
291
290
|
z-index: 1;
|
|
292
291
|
}
|
|
293
292
|
|
|
@@ -50,6 +50,8 @@ import CustomValueControls from './custom-value-controls';
|
|
|
50
50
|
* @param {Function} props.onMouseOut Callback for mouse out events.
|
|
51
51
|
* @param {Function} props.onMouseOver Callback for mouse over events.
|
|
52
52
|
* @param {Function} props.onUnitChange Callback when unit changes.
|
|
53
|
+
* @param {string} props.placeholder Placeholder text forwarded to the inner UnitControl when
|
|
54
|
+
* rendered in custom-value mode.
|
|
53
55
|
* @param {Array} props.presets Array of preset objects with name, slug, and size.
|
|
54
56
|
* @param {string} props.presetType Type of preset (e.g., 'spacing', 'border-radius').
|
|
55
57
|
* @param {string} props.selectedUnit Currently selected unit (e.g., 'px', 'em').
|
|
@@ -73,6 +75,7 @@ export default function PresetInputControl( {
|
|
|
73
75
|
onMouseOut,
|
|
74
76
|
onMouseOver,
|
|
75
77
|
onUnitChange,
|
|
78
|
+
placeholder,
|
|
76
79
|
presets = [],
|
|
77
80
|
presetType,
|
|
78
81
|
selectedUnit,
|
|
@@ -95,7 +98,7 @@ export default function PresetInputControl( {
|
|
|
95
98
|
const hasPresets = marks.length > 0;
|
|
96
99
|
const showRangeControl = presets.length <= RANGE_CONTROL_MAX_SIZE;
|
|
97
100
|
|
|
98
|
-
const allPlaceholder = isMixed ? __( 'Mixed' ) : null;
|
|
101
|
+
const allPlaceholder = isMixed ? __( 'Mixed' ) : placeholder ?? null;
|
|
99
102
|
|
|
100
103
|
const [ minValue, setMinValue ] = useState( minimumCustomValue );
|
|
101
104
|
const [ showCustomValueControl, setShowCustomValueControl ] = useState(
|
|
@@ -4,11 +4,21 @@
|
|
|
4
4
|
import { createContext, useMemo } from '@wordpress/element';
|
|
5
5
|
import { observableMap } from '@wordpress/compose';
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// `eventHandlers` maps a block's client ID to a ref holding its `wrapperProps`
|
|
8
|
+
// event handlers, so the writing flow host can call them for a block that
|
|
9
|
+
// supports `editableRoot` (see `useEditableRootEventHandlers`). It rides in this
|
|
10
|
+
// context, next to `refsMap`, as another per-block registry keyed by client ID.
|
|
11
|
+
export const BlockRefs = createContext( {
|
|
12
|
+
refsMap: observableMap(),
|
|
13
|
+
eventHandlers: new Map(),
|
|
14
|
+
} );
|
|
8
15
|
BlockRefs.displayName = 'BlockRefsContext';
|
|
9
16
|
|
|
10
17
|
export function BlockRefsProvider( { children } ) {
|
|
11
|
-
const value = useMemo(
|
|
18
|
+
const value = useMemo(
|
|
19
|
+
() => ( { refsMap: observableMap(), eventHandlers: new Map() } ),
|
|
20
|
+
[]
|
|
21
|
+
);
|
|
12
22
|
return (
|
|
13
23
|
<BlockRefs.Provider value={ value }>{ children }</BlockRefs.Provider>
|
|
14
24
|
);
|
|
@@ -102,7 +102,7 @@ function shouldEnableClientSideMediaProcessing() {
|
|
|
102
102
|
*
|
|
103
103
|
* Returns true when:
|
|
104
104
|
* 1. Full client-side processing is NOT available (otherwise it handles HEIC already)
|
|
105
|
-
* 2. The server has set the
|
|
105
|
+
* 2. The server has set the __clientSideMediaProcessing flag
|
|
106
106
|
* 3. The browser supports createImageBitmap + OffscreenCanvas (e.g. Safari)
|
|
107
107
|
*
|
|
108
108
|
* @return {boolean} Whether HEIC-only canvas processing should be enabled.
|
|
@@ -118,7 +118,7 @@ function shouldEnableHeicCanvasProcessing() {
|
|
|
118
118
|
return false;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
if ( ! window.
|
|
121
|
+
if ( ! window.__clientSideMediaProcessing ) {
|
|
122
122
|
isHeicCanvasEnabledCache = false;
|
|
123
123
|
return false;
|
|
124
124
|
}
|
|
@@ -252,13 +252,17 @@ export default function useBlockSync( {
|
|
|
252
252
|
cloneBlockWithMapping( block, idMappingRef.current )
|
|
253
253
|
);
|
|
254
254
|
|
|
255
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
255
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
256
|
+
history: 'ignore',
|
|
257
|
+
} );
|
|
256
258
|
setHasControlledInnerBlocks( clientId, true );
|
|
257
259
|
|
|
258
260
|
if ( subscribedRef.current ) {
|
|
259
261
|
pendingChangesRef.current.incoming = storeBlocks;
|
|
260
262
|
}
|
|
261
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
263
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
264
|
+
history: 'ignore',
|
|
265
|
+
} );
|
|
262
266
|
replaceInnerBlocks( clientId, storeBlocks );
|
|
263
267
|
|
|
264
268
|
// Invalidate the applied-selection ref so that
|
|
@@ -271,7 +275,9 @@ export default function useBlockSync( {
|
|
|
271
275
|
if ( subscribedRef.current ) {
|
|
272
276
|
pendingChangesRef.current.incoming = controlledBlocks;
|
|
273
277
|
}
|
|
274
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
278
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
279
|
+
history: 'ignore',
|
|
280
|
+
} );
|
|
275
281
|
resetBlocks( controlledBlocks );
|
|
276
282
|
}
|
|
277
283
|
};
|
|
@@ -280,12 +286,18 @@ export default function useBlockSync( {
|
|
|
280
286
|
// containing useBlockSync() unmounts.
|
|
281
287
|
const unsetControlledBlocks = () => {
|
|
282
288
|
if ( clientId ) {
|
|
283
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
289
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
290
|
+
history: 'ignore',
|
|
291
|
+
} );
|
|
284
292
|
setHasControlledInnerBlocks( clientId, false );
|
|
285
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
293
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
294
|
+
history: 'ignore',
|
|
295
|
+
} );
|
|
286
296
|
replaceInnerBlocks( clientId, [] );
|
|
287
297
|
} else {
|
|
288
|
-
__unstableMarkNextChangeAsNotPersistent(
|
|
298
|
+
__unstableMarkNextChangeAsNotPersistent( {
|
|
299
|
+
history: 'ignore',
|
|
300
|
+
} );
|
|
289
301
|
resetBlocks( [] );
|
|
290
302
|
}
|
|
291
303
|
};
|
|
@@ -21,6 +21,8 @@ function useMediaUploadSettings( settings = {} ) {
|
|
|
21
21
|
allowedMimeTypes: settings.allowedMimeTypes,
|
|
22
22
|
allImageSizes: settings.allImageSizes,
|
|
23
23
|
bigImageSizeThreshold: settings.bigImageSizeThreshold,
|
|
24
|
+
imageStripMeta: settings.imageStripMeta,
|
|
25
|
+
imageMaxBitDepth: settings.imageMaxBitDepth,
|
|
24
26
|
} ),
|
|
25
27
|
[ settings ]
|
|
26
28
|
);
|
|
@@ -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,
|