@wordpress/block-editor 12.24.0 → 12.26.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 +11 -3
- package/README.md +7 -1
- package/build/components/alignment-control/ui.js +3 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-actions/index.js +4 -2
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +2 -2
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-card/index.js +2 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-compare/index.js +2 -2
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-edit/edit.js +2 -2
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-icon/index.js +2 -2
- package/build/components/block-icon/index.js.map +1 -1
- package/build/components/block-list/block.js +4 -13
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +2 -2
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +6 -5
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +11 -8
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +17 -46
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
- package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build/components/block-list-appender/index.js +2 -2
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mover/button.js +2 -2
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -2
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-mover/index.native.js +3 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-patterns-list/index.js +26 -5
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/cover.js +9 -6
- package/build/components/block-popover/cover.js.map +1 -1
- package/build/components/block-popover/inbetween.js +2 -2
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +22 -4
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/index.js +2 -2
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +8 -30
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +2 -2
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +15 -5
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/index.js +3 -3
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +2 -2
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/block-toolbar-popover.js +2 -2
- package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +2 -2
- package/build/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build/components/block-tools/index.js +23 -2
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -5
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +68 -20
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-variation-picker/index.js +5 -4
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -1
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -2
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +2 -2
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -3
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +2 -2
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +6 -0
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +2 -2
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build/components/floating-toolbar/index.native.js +9 -5
- package/build/components/floating-toolbar/index.native.js.map +1 -1
- package/build/components/global-styles/background-panel.js +4 -4
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +6 -4
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +20 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -2
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +3 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +4 -4
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +23 -23
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +149 -132
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +45 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build/components/grid-visualizer/grid-visualizer.js +11 -5
- package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build/components/iframe/index.js +69 -30
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +53 -36
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/cropper.js +2 -2
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +1 -1
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/index.js +8 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +2 -2
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +25 -10
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +20 -30
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +9 -3
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +56 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -0
- package/build/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +2 -2
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/library.js +8 -2
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/index.js +2 -2
- package/build/components/inserter/media-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +0 -25
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +15 -5
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +15 -29
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +115 -109
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/tabs.js +23 -11
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +3 -3
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +9 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/line-height-control/index.js +6 -2
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +2 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +3 -3
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +9 -3
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/list-view/block-contents.js +2 -2
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +15 -172
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +196 -21
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +3 -3
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +3 -3
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +2 -2
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +7 -7
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -2
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/plain-text/index.js +2 -2
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +3 -4
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/provider/use-block-sync.js +10 -1
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +2 -2
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +93 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/delete.js +58 -0
- package/build/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build/components/rich-text/event-listeners/enter.js +89 -0
- package/build/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js +36 -0
- package/build/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build/components/rich-text/event-listeners/index.js +44 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-events.js +22 -0
- package/build/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js +135 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js +33 -0
- package/build/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js +126 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js +27 -0
- package/build/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/shortcuts.js +22 -0
- package/build/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js +51 -0
- package/build/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +2 -2
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +20 -33
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +15 -5
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +36 -4
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +12 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +8 -4
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/segmented-text-control/index.js +62 -0
- package/build/components/segmented-text-control/index.js.map +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +76 -0
- package/build/components/text-alignment-control/index.js.map +1 -0
- package/build/components/text-decoration-control/index.js +22 -26
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +19 -23
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/url-input/index.js +4 -4
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +2 -2
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer-url.js +2 -2
- package/build/components/url-popover/link-viewer-url.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +2 -2
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-display-information/index.js +9 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +3 -1
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/warning/index.js +2 -2
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -2
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +77 -30
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +3 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-input.js +44 -2
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +9 -2
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +17 -21
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +2 -2
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/background.js +1 -1
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -28
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -2
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +2 -2
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +3 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout-child.js +16 -8
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js +2 -2
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +2 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/text-align.js +3 -3
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +39 -13
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/use-color-props.js +2 -2
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/utils.js +13 -8
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/grid.js +7 -6
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +8 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +143 -25
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +26 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/private-selectors.js +33 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +11 -8
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +25 -8
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +17 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/order-inserter-block-items.js +6 -2
- package/build/utils/order-inserter-block-items.js.map +1 -1
- package/build/utils/pasting.js +6 -2
- package/build/utils/pasting.js.map +1 -1
- package/build/utils/selection.js +8 -0
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +12 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +3 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-actions/index.js +4 -2
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +2 -2
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +2 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +2 -2
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-icon/index.js +2 -2
- package/build-module/components/block-icon/index.js.map +1 -1
- package/build-module/components/block-list/block.js +4 -13
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +2 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +6 -5
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -9
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +11 -8
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +19 -48
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +10 -14
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
- package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
- package/build-module/components/block-list-appender/index.js +2 -2
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mover/button.js +2 -2
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -1
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +27 -6
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/cover.js +9 -5
- package/build-module/components/block-popover/cover.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +2 -2
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +21 -3
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +2 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +9 -31
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +2 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +6 -2
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +15 -5
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -3
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +14 -9
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +2 -2
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +4 -4
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-popover.js +2 -2
- package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +2 -2
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
- package/build-module/components/block-tools/index.js +23 -2
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -5
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +69 -21
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +5 -4
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +3 -1
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -2
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +2 -2
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -3
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +2 -2
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +7 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +2 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +30 -36
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +9 -5
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +4 -4
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +6 -4
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +21 -5
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -2
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +4 -4
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +24 -24
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +149 -132
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +44 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-item-resizer.js +141 -24
- package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid-visualizer/grid-visualizer.js +12 -6
- package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
- package/build-module/components/iframe/index.js +70 -31
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +52 -36
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +2 -2
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -1
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +2 -2
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +25 -10
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +21 -31
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +10 -4
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +49 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -0
- package/build-module/components/inserter/hooks/use-insertion-point.js +11 -2
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -2
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/library.js +8 -2
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/index.js +1 -1
- package/build-module/components/inserter/media-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +0 -24
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +15 -5
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +17 -31
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +117 -111
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/tabs.js +24 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +3 -3
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +9 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +6 -2
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +3 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -2
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +2 -2
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +17 -174
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +198 -23
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +3 -3
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -3
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +2 -2
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +7 -7
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -2
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +2 -2
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +3 -4
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +10 -1
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +2 -2
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +86 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/delete.js +51 -0
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/enter.js +82 -0
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +29 -0
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/index.js +36 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-events.js +15 -0
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js +127 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +27 -0
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js +122 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +21 -0
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js +15 -0
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +2 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +21 -34
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -5
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +37 -5
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +12 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +8 -4
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/segmented-text-control/index.js +55 -0
- package/build-module/components/segmented-text-control/index.js.map +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +68 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -0
- package/build-module/components/text-decoration-control/index.js +22 -26
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +19 -23
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +2 -2
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer-url.js +2 -2
- package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +2 -2
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +9 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +3 -1
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/warning/index.js +2 -2
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -2
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +78 -31
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +3 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +45 -3
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +9 -2
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +17 -21
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +2 -2
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/background.js +1 -1
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +5 -28
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +2 -2
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -1
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout-child.js +16 -8
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +2 -2
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +2 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/text-align.js +3 -3
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +39 -13
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-color-props.js +2 -2
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +2 -2
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/utils.js +13 -8
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/grid.js +7 -6
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +9 -4
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +145 -27
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +24 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/private-selectors.js +32 -5
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +11 -8
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +25 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +16 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/order-inserter-block-items.js +6 -2
- package/build-module/utils/order-inserter-block-items.js.map +1 -1
- package/build-module/utils/pasting.js +6 -2
- package/build-module/utils/pasting.js.map +1 -1
- package/build-module/utils/selection.js +7 -0
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +12 -7
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +124 -158
- package/build-style/content.css +124 -158
- package/build-style/style-rtl.css +114 -203
- package/build-style/style.css +114 -203
- package/build-types/components/block-context/index.d.ts +1 -1
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/components/alignment-control/ui.js +3 -1
- package/src/components/block-actions/index.js +5 -1
- package/src/components/block-alignment-control/ui.js +2 -2
- package/src/components/block-bindings-toolbar-indicator/style.scss +1 -4
- package/src/components/block-canvas/style.scss +1 -3
- package/src/components/block-card/index.js +2 -2
- package/src/components/block-compare/index.js +2 -2
- package/src/components/block-content-overlay/content.scss +4 -37
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-icon/index.js +2 -2
- package/src/components/block-list/block.js +6 -17
- package/src/components/block-list/block.native.js +2 -2
- package/src/components/block-list/content.scss +53 -72
- package/src/components/block-list/index.js +6 -6
- package/src/components/block-list/index.native.js +1 -6
- package/src/components/block-list/use-block-props/index.js +16 -6
- package/src/components/block-list/use-block-props/use-block-refs.js +17 -57
- package/src/components/block-list/use-block-props/use-is-hovered.js +11 -16
- package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
- package/src/components/block-list-appender/index.js +2 -2
- package/src/components/block-mover/button.js +2 -2
- package/src/components/block-mover/index.js +2 -2
- package/src/components/block-mover/index.native.js +3 -1
- package/src/components/block-patterns-list/index.js +29 -4
- package/src/components/block-patterns-list/style.scss +1 -3
- package/src/components/block-popover/README.md +1 -1
- package/src/components/block-popover/cover.js +22 -7
- package/src/components/block-popover/inbetween.js +2 -2
- package/src/components/block-popover/index.js +24 -6
- package/src/components/block-preview/index.js +2 -2
- package/src/components/block-preview/style.scss +13 -15
- package/src/components/block-settings-menu/block-settings-dropdown.js +15 -57
- package/src/components/block-settings-menu-controls/index.js +25 -16
- package/src/components/block-styles/index.js +2 -2
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -1
- package/src/components/block-switcher/use-transformed-patterns.js +6 -2
- package/src/components/block-switcher/utils.js +14 -5
- package/src/components/block-toolbar/index.js +3 -3
- package/src/components/block-toolbar/style.scss +8 -11
- package/src/components/block-toolbar/use-has-block-toolbar.js +21 -16
- package/src/components/block-tools/block-selection-button.js +2 -2
- package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
- package/src/components/block-tools/block-toolbar-popover.js +4 -7
- package/src/components/block-tools/empty-block-inserter.js +2 -2
- package/src/components/block-tools/index.js +27 -4
- package/src/components/block-tools/insertion-point.js +4 -4
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/use-show-block-tools.js +36 -48
- package/src/components/block-tools/zoom-out-mode-inserters.js +74 -18
- package/src/components/block-variation-picker/content.scss +22 -72
- package/src/components/block-variation-picker/index.js +5 -4
- package/src/components/block-variation-transforms/index.js +3 -1
- package/src/components/button-block-appender/index.js +2 -2
- package/src/components/child-layout-control/index.js +14 -2
- package/src/components/colors-gradients/control.js +3 -3
- package/src/components/colors-gradients/dropdown.js +2 -2
- package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
- package/src/components/colors-gradients/test/control.js +3 -3
- package/src/components/convert-to-group-buttons/index.js +10 -1
- package/src/components/default-block-appender/index.js +2 -2
- package/src/components/dimensions-tool/aspect-ratio-tool.js +40 -67
- package/src/components/dimensions-tool/test/index.js +10 -0
- package/src/components/editable-text/README.md +0 -4
- package/src/components/floating-toolbar/index.native.js +5 -2
- package/src/components/global-styles/background-panel.js +4 -6
- package/src/components/global-styles/color-panel.js +6 -4
- package/src/components/global-styles/dimensions-panel.js +22 -5
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/global-styles/hooks.js +2 -0
- package/src/components/global-styles/shadow-panel-components.js +6 -9
- package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
- package/src/components/global-styles/test/use-global-styles-output.js +5 -5
- package/src/components/global-styles/test/utils.js +21 -0
- package/src/components/global-styles/typography-panel.js +27 -23
- package/src/components/global-styles/use-global-styles-output.js +211 -187
- package/src/components/global-styles/utils.js +55 -0
- package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
- package/src/components/grid-visualizer/grid-visualizer.js +19 -6
- package/src/components/iframe/content.scss +63 -0
- package/src/components/iframe/index.js +119 -39
- package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
- package/src/components/image-editor/cropper.js +2 -2
- package/src/components/image-editor/index.js +1 -1
- package/src/components/image-editor/test/index.js +22 -0
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/button-block-appender.js +2 -2
- package/src/components/inner-blocks/index.js +24 -9
- package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -1
- package/src/components/inserter/block-patterns-tab/index.js +30 -64
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -1
- package/src/components/inserter/block-types-tab.js +12 -9
- package/src/components/inserter/category-tabs/index.js +74 -0
- package/src/components/inserter/hooks/use-insertion-point.js +15 -1
- package/src/components/inserter/hooks/use-patterns-state.js +18 -5
- package/src/components/inserter/index.js +4 -5
- package/src/components/inserter/library.js +6 -0
- package/src/components/inserter/media-tab/index.js +1 -1
- package/src/components/inserter/media-tab/media-panel.js +0 -22
- package/src/components/inserter/media-tab/media-preview.js +17 -9
- package/src/components/inserter/media-tab/media-tab.js +44 -83
- package/src/components/inserter/menu.js +168 -140
- package/src/components/inserter/quick-inserter.js +2 -2
- package/src/components/inserter/style.scss +96 -178
- package/src/components/inserter/tabs.js +33 -27
- package/src/components/inserter-list-item/index.js +3 -3
- package/src/components/keyboard-shortcuts/index.js +12 -0
- package/src/components/line-height-control/index.js +6 -2
- package/src/components/line-height-control/test/index.js +16 -14
- package/src/components/link-control/index.js +2 -2
- package/src/components/link-control/link-preview.js +3 -3
- package/src/components/link-control/search-item.js +9 -3
- package/src/components/link-control/search-results.js +2 -2
- package/src/components/list-view/block-contents.js +2 -2
- package/src/components/list-view/block-select-button.js +85 -267
- package/src/components/list-view/block.js +240 -26
- package/src/components/list-view/drop-indicator.js +3 -3
- package/src/components/list-view/index.js +3 -3
- package/src/components/list-view/leaf.js +2 -5
- package/src/components/list-view/style.scss +20 -28
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/list-view/utils.js +3 -1
- package/src/components/media-placeholder/content.scss +0 -11
- package/src/components/media-placeholder/index.js +7 -7
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/plain-text/index.js +2 -2
- package/src/components/provider/block-refs-provider.js +3 -8
- package/src/components/provider/test/use-block-sync.js +7 -0
- package/src/components/provider/use-block-sync.js +10 -1
- package/src/components/responsive-block-control/index.js +2 -2
- package/src/components/rich-text/README.md +0 -8
- package/src/components/rich-text/event-listeners/before-input-rules.js +92 -0
- package/src/components/rich-text/event-listeners/delete.js +53 -0
- package/src/components/rich-text/event-listeners/enter.js +84 -0
- package/src/components/rich-text/event-listeners/firefox-compat.js +31 -0
- package/src/components/rich-text/event-listeners/index.js +56 -0
- package/src/components/rich-text/event-listeners/input-events.js +13 -0
- package/src/components/rich-text/event-listeners/input-rules.js +146 -0
- package/src/components/rich-text/event-listeners/insert-replacement-text.js +28 -0
- package/src/components/rich-text/event-listeners/paste-handler.js +132 -0
- package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +24 -0
- package/src/components/rich-text/event-listeners/shortcuts.js +13 -0
- package/src/components/rich-text/event-listeners/undo-automatic-change.js +45 -0
- package/src/components/rich-text/format-toolbar/index.js +2 -2
- package/src/components/rich-text/index.js +17 -37
- package/src/components/rich-text/index.native.js +13 -2
- package/src/components/rich-text/multiline.js +37 -5
- package/src/components/rich-text/native/index.native.js +11 -0
- package/src/components/rich-text/use-format-types.js +6 -2
- package/src/components/segmented-text-control/index.js +63 -0
- package/src/components/{writing-mode-control → segmented-text-control}/style.scss +2 -5
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +16 -1
- package/src/components/text-alignment-control/index.js +91 -0
- package/src/components/text-alignment-control/stories/index.story.js +39 -0
- package/src/components/text-decoration-control/index.js +22 -35
- package/src/components/text-transform-control/index.js +19 -32
- package/src/components/url-input/index.js +4 -4
- package/src/components/url-popover/link-editor.js +2 -2
- package/src/components/url-popover/link-viewer-url.js +2 -2
- package/src/components/url-popover/link-viewer.js +2 -2
- package/src/components/use-block-display-information/index.js +9 -3
- package/src/components/use-on-block-drop/index.js +3 -1
- package/src/components/warning/index.js +2 -2
- package/src/components/writing-flow/index.js +2 -2
- package/src/components/writing-flow/use-clipboard-handler.js +107 -47
- package/src/components/writing-flow/use-drag-selection.js +3 -1
- package/src/components/writing-flow/use-input.js +75 -1
- package/src/components/writing-flow/use-tab-nav.js +13 -2
- package/src/components/writing-mode-control/index.js +17 -33
- package/src/content.scss +1 -0
- package/src/hooks/align.js +2 -2
- package/src/hooks/background.js +1 -1
- package/src/hooks/border.js +3 -3
- package/src/hooks/color.js +12 -19
- package/src/hooks/color.scss +1 -0
- package/src/hooks/content-lock-ui.js +16 -33
- package/src/hooks/custom-class-name.js +2 -2
- package/src/hooks/custom-class-name.native.js +2 -2
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/duotone.js +3 -1
- package/src/hooks/layout-child.js +34 -20
- package/src/hooks/layout.js +2 -2
- package/src/hooks/position.js +2 -2
- package/src/hooks/text-align.js +3 -3
- package/src/hooks/use-bindings-attributes.js +48 -16
- package/src/hooks/use-color-props.js +2 -2
- package/src/hooks/use-typography-props.js +2 -2
- package/src/hooks/utils.js +18 -4
- package/src/layouts/grid.js +3 -7
- package/src/private-apis.js +8 -2
- package/src/store/actions.js +233 -54
- package/src/store/private-actions.js +24 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +43 -4
- package/src/store/reducer.js +13 -23
- package/src/store/selectors.js +24 -9
- package/src/style.scss +1 -2
- package/src/utils/object.js +16 -0
- package/src/utils/order-inserter-block-items.js +6 -2
- package/src/utils/pasting.js +6 -2
- package/src/utils/selection.js +8 -0
- package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
- package/src/utils/test/transform-styles.js +14 -0
- package/src/utils/transform-styles/index.js +12 -9
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -54
- package/build/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build/components/rich-text/split-value.js +0 -81
- package/build/components/rich-text/split-value.js.map +0 -1
- package/build/components/rich-text/use-before-input-rules.js +0 -98
- package/build/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build/components/rich-text/use-delete.js +0 -64
- package/build/components/rich-text/use-delete.js.map +0 -1
- package/build/components/rich-text/use-enter.js +0 -109
- package/build/components/rich-text/use-enter.js.map +0 -1
- package/build/components/rich-text/use-firefox-compat.js +0 -44
- package/build/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build/components/rich-text/use-input-events.js +0 -25
- package/build/components/rich-text/use-input-events.js.map +0 -1
- package/build/components/rich-text/use-input-rules.js +0 -139
- package/build/components/rich-text/use-input-rules.js.map +0 -1
- package/build/components/rich-text/use-insert-replacement-text.js +0 -38
- package/build/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build/components/rich-text/use-paste-handler.js +0 -158
- package/build/components/rich-text/use-paste-handler.js.map +0 -1
- package/build/components/rich-text/use-remove-browser-shortcuts.js +0 -32
- package/build/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-shortcuts.js +0 -25
- package/build/components/rich-text/use-shortcuts.js.map +0 -1
- package/build/components/rich-text/use-undo-automatic-change.js +0 -53
- package/build/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -47
- package/build-module/components/block-list/use-block-props/use-block-moving-mode-class-names.js.map +0 -1
- package/build-module/components/rich-text/split-value.js +0 -75
- package/build-module/components/rich-text/split-value.js.map +0 -1
- package/build-module/components/rich-text/use-before-input-rules.js +0 -92
- package/build-module/components/rich-text/use-before-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-delete.js +0 -57
- package/build-module/components/rich-text/use-delete.js.map +0 -1
- package/build-module/components/rich-text/use-enter.js +0 -102
- package/build-module/components/rich-text/use-enter.js.map +0 -1
- package/build-module/components/rich-text/use-firefox-compat.js +0 -37
- package/build-module/components/rich-text/use-firefox-compat.js.map +0 -1
- package/build-module/components/rich-text/use-input-events.js +0 -18
- package/build-module/components/rich-text/use-input-events.js.map +0 -1
- package/build-module/components/rich-text/use-input-rules.js +0 -132
- package/build-module/components/rich-text/use-input-rules.js.map +0 -1
- package/build-module/components/rich-text/use-insert-replacement-text.js +0 -32
- package/build-module/components/rich-text/use-insert-replacement-text.js.map +0 -1
- package/build-module/components/rich-text/use-paste-handler.js +0 -152
- package/build-module/components/rich-text/use-paste-handler.js.map +0 -1
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js +0 -26
- package/build-module/components/rich-text/use-remove-browser-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-shortcuts.js +0 -18
- package/build-module/components/rich-text/use-shortcuts.js.map +0 -1
- package/build-module/components/rich-text/use-undo-automatic-change.js +0 -46
- package/build-module/components/rich-text/use-undo-automatic-change.js.map +0 -1
- package/src/components/block-list/use-block-props/use-block-moving-mode-class-names.js +0 -55
- package/src/components/rich-text/split-value.js +0 -64
- package/src/components/rich-text/use-before-input-rules.js +0 -99
- package/src/components/rich-text/use-delete.js +0 -59
- package/src/components/rich-text/use-enter.js +0 -110
- package/src/components/rich-text/use-firefox-compat.js +0 -39
- package/src/components/rich-text/use-input-events.js +0 -19
- package/src/components/rich-text/use-input-rules.js +0 -150
- package/src/components/rich-text/use-insert-replacement-text.js +0 -31
- package/src/components/rich-text/use-paste-handler.js +0 -180
- package/src/components/rich-text/use-remove-browser-shortcuts.js +0 -29
- package/src/components/rich-text/use-shortcuts.js +0 -19
- package/src/components/rich-text/use-undo-automatic-change.js +0 -46
- package/src/components/text-decoration-control/style.scss +0 -18
- package/src/components/text-transform-control/style.scss +0 -18
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _richText = require("@wordpress/rich-text");
|
|
8
|
+
var _hooks = require("@wordpress/hooks");
|
|
9
|
+
var _store = require("../../../store");
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* When typing over a selection, the selection will we wrapped by a matching
|
|
20
|
+
* character pair. The second character is optional, it defaults to the first
|
|
21
|
+
* character.
|
|
22
|
+
*
|
|
23
|
+
* @type {string[]} Array of character pairs.
|
|
24
|
+
*/
|
|
25
|
+
const wrapSelectionSettings = ['`', '"', "'", '“”', '‘’'];
|
|
26
|
+
var _default = props => element => {
|
|
27
|
+
function onInput(event) {
|
|
28
|
+
const {
|
|
29
|
+
inputType,
|
|
30
|
+
data
|
|
31
|
+
} = event;
|
|
32
|
+
const {
|
|
33
|
+
value,
|
|
34
|
+
onChange,
|
|
35
|
+
registry
|
|
36
|
+
} = props.current;
|
|
37
|
+
|
|
38
|
+
// Only run the rules when inserting text.
|
|
39
|
+
if (inputType !== 'insertText') {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if ((0, _richText.isCollapsed)(value)) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const pair = (0, _hooks.applyFilters)('blockEditor.wrapSelectionSettings', wrapSelectionSettings).find(([startChar, endChar]) => startChar === data || endChar === data);
|
|
46
|
+
if (!pair) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const [startChar, endChar = startChar] = pair;
|
|
50
|
+
const start = value.start;
|
|
51
|
+
const end = value.end + startChar.length;
|
|
52
|
+
let newValue = (0, _richText.insert)(value, startChar, start, start);
|
|
53
|
+
newValue = (0, _richText.insert)(newValue, endChar, end, end);
|
|
54
|
+
const {
|
|
55
|
+
__unstableMarkLastChangeAsPersistent,
|
|
56
|
+
__unstableMarkAutomaticChange
|
|
57
|
+
} = registry.dispatch(_store.store);
|
|
58
|
+
__unstableMarkLastChangeAsPersistent();
|
|
59
|
+
onChange(newValue);
|
|
60
|
+
__unstableMarkAutomaticChange();
|
|
61
|
+
const init = {};
|
|
62
|
+
for (const key in event) {
|
|
63
|
+
init[key] = event[key];
|
|
64
|
+
}
|
|
65
|
+
init.data = endChar;
|
|
66
|
+
const {
|
|
67
|
+
ownerDocument
|
|
68
|
+
} = element;
|
|
69
|
+
const {
|
|
70
|
+
defaultView
|
|
71
|
+
} = ownerDocument;
|
|
72
|
+
const newEvent = new defaultView.InputEvent('input', init);
|
|
73
|
+
|
|
74
|
+
// Dispatch an `input` event with the new data. This will trigger the
|
|
75
|
+
// input rules.
|
|
76
|
+
// Postpone the `input` to the next event loop tick so that the dispatch
|
|
77
|
+
// doesn't happen synchronously in the middle of `beforeinput` dispatch.
|
|
78
|
+
// This is closer to how native `input` event would be timed, and also
|
|
79
|
+
// makes sure that the `input` event is dispatched only after the `onChange`
|
|
80
|
+
// call few lines above has fully updated the data store state and rerendered
|
|
81
|
+
// all affected components.
|
|
82
|
+
window.queueMicrotask(() => {
|
|
83
|
+
event.target.dispatchEvent(newEvent);
|
|
84
|
+
});
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
}
|
|
87
|
+
element.addEventListener('beforeinput', onInput);
|
|
88
|
+
return () => {
|
|
89
|
+
element.removeEventListener('beforeinput', onInput);
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
exports.default = _default;
|
|
93
|
+
//# sourceMappingURL=before-input-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_richText","require","_hooks","_store","wrapSelectionSettings","_default","props","element","onInput","event","inputType","data","value","onChange","registry","current","isCollapsed","pair","applyFilters","find","startChar","endChar","start","end","length","newValue","insert","__unstableMarkLastChangeAsPersistent","__unstableMarkAutomaticChange","dispatch","blockEditorStore","init","key","ownerDocument","defaultView","newEvent","InputEvent","window","queueMicrotask","target","dispatchEvent","preventDefault","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/before-input-rules.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { insert, isCollapsed } from '@wordpress/rich-text';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * When typing over a selection, the selection will we wrapped by a matching\n * character pair. The second character is optional, it defaults to the first\n * character.\n *\n * @type {string[]} Array of character pairs.\n */\nconst wrapSelectionSettings = [ '`', '\"', \"'\", '“”', '‘’' ];\n\nexport default ( props ) => ( element ) => {\n\tfunction onInput( event ) {\n\t\tconst { inputType, data } = event;\n\t\tconst { value, onChange, registry } = props.current;\n\n\t\t// Only run the rules when inserting text.\n\t\tif ( inputType !== 'insertText' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isCollapsed( value ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst pair = applyFilters(\n\t\t\t'blockEditor.wrapSelectionSettings',\n\t\t\twrapSelectionSettings\n\t\t).find(\n\t\t\t( [ startChar, endChar ] ) => startChar === data || endChar === data\n\t\t);\n\n\t\tif ( ! pair ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ startChar, endChar = startChar ] = pair;\n\t\tconst start = value.start;\n\t\tconst end = value.end + startChar.length;\n\n\t\tlet newValue = insert( value, startChar, start, start );\n\t\tnewValue = insert( newValue, endChar, end, end );\n\n\t\tconst {\n\t\t\t__unstableMarkLastChangeAsPersistent,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t} = registry.dispatch( blockEditorStore );\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\t\tonChange( newValue );\n\t\t__unstableMarkAutomaticChange();\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tinit.data = endChar;\n\n\t\tconst { ownerDocument } = element;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst newEvent = new defaultView.InputEvent( 'input', init );\n\n\t\t// Dispatch an `input` event with the new data. This will trigger the\n\t\t// input rules.\n\t\t// Postpone the `input` to the next event loop tick so that the dispatch\n\t\t// doesn't happen synchronously in the middle of `beforeinput` dispatch.\n\t\t// This is closer to how native `input` event would be timed, and also\n\t\t// makes sure that the `input` event is dispatched only after the `onChange`\n\t\t// call few lines above has fully updated the data store state and rerendered\n\t\t// all affected components.\n\t\twindow.queueMicrotask( () => {\n\t\t\tevent.target.dispatchEvent( newEvent );\n\t\t} );\n\t\tevent.preventDefault();\n\t}\n\n\telement.addEventListener( 'beforeinput', onInput );\n\treturn () => {\n\t\telement.removeEventListener( 'beforeinput', onInput );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,qBAAqB,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAE;AAAC,IAAAC,QAAA,GAE3CC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,OAAOA,CAAEC,KAAK,EAAG;IACzB,MAAM;MAAEC,SAAS;MAAEC;IAAK,CAAC,GAAGF,KAAK;IACjC,MAAM;MAAEG,KAAK;MAAEC,QAAQ;MAAEC;IAAS,CAAC,GAAGR,KAAK,CAACS,OAAO;;IAEnD;IACA,IAAKL,SAAS,KAAK,YAAY,EAAG;MACjC;IACD;IAEA,IAAK,IAAAM,qBAAW,EAAEJ,KAAM,CAAC,EAAG;MAC3B;IACD;IAEA,MAAMK,IAAI,GAAG,IAAAC,mBAAY,EACxB,mCAAmC,EACnCd,qBACD,CAAC,CAACe,IAAI,CACL,CAAE,CAAEC,SAAS,EAAEC,OAAO,CAAE,KAAMD,SAAS,KAAKT,IAAI,IAAIU,OAAO,KAAKV,IACjE,CAAC;IAED,IAAK,CAAEM,IAAI,EAAG;MACb;IACD;IAEA,MAAM,CAAEG,SAAS,EAAEC,OAAO,GAAGD,SAAS,CAAE,GAAGH,IAAI;IAC/C,MAAMK,KAAK,GAAGV,KAAK,CAACU,KAAK;IACzB,MAAMC,GAAG,GAAGX,KAAK,CAACW,GAAG,GAAGH,SAAS,CAACI,MAAM;IAExC,IAAIC,QAAQ,GAAG,IAAAC,gBAAM,EAAEd,KAAK,EAAEQ,SAAS,EAAEE,KAAK,EAAEA,KAAM,CAAC;IACvDG,QAAQ,GAAG,IAAAC,gBAAM,EAAED,QAAQ,EAAEJ,OAAO,EAAEE,GAAG,EAAEA,GAAI,CAAC;IAEhD,MAAM;MACLI,oCAAoC;MACpCC;IACD,CAAC,GAAGd,QAAQ,CAACe,QAAQ,CAAEC,YAAiB,CAAC;IAEzCH,oCAAoC,CAAC,CAAC;IACtCd,QAAQ,CAAEY,QAAS,CAAC;IACpBG,6BAA6B,CAAC,CAAC;IAE/B,MAAMG,IAAI,GAAG,CAAC,CAAC;IAEf,KAAM,MAAMC,GAAG,IAAIvB,KAAK,EAAG;MAC1BsB,IAAI,CAAEC,GAAG,CAAE,GAAGvB,KAAK,CAAEuB,GAAG,CAAE;IAC3B;IAEAD,IAAI,CAACpB,IAAI,GAAGU,OAAO;IAEnB,MAAM;MAAEY;IAAc,CAAC,GAAG1B,OAAO;IACjC,MAAM;MAAE2B;IAAY,CAAC,GAAGD,aAAa;IACrC,MAAME,QAAQ,GAAG,IAAID,WAAW,CAACE,UAAU,CAAE,OAAO,EAAEL,IAAK,CAAC;;IAE5D;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACAM,MAAM,CAACC,cAAc,CAAE,MAAM;MAC5B7B,KAAK,CAAC8B,MAAM,CAACC,aAAa,CAAEL,QAAS,CAAC;IACvC,CAAE,CAAC;IACH1B,KAAK,CAACgC,cAAc,CAAC,CAAC;EACvB;EAEAlC,OAAO,CAACmC,gBAAgB,CAAE,aAAa,EAAElC,OAAQ,CAAC;EAClD,OAAO,MAAM;IACZD,OAAO,CAACoC,mBAAmB,CAAE,aAAa,EAAEnC,OAAQ,CAAC;EACtD,CAAC;AACF,CAAC;AAAAoC,OAAA,CAAAC,OAAA,GAAAxC,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _keycodes = require("@wordpress/keycodes");
|
|
8
|
+
var _richText = require("@wordpress/rich-text");
|
|
9
|
+
/**
|
|
10
|
+
* WordPress dependencies
|
|
11
|
+
*/
|
|
12
|
+
var _default = props => element => {
|
|
13
|
+
function onKeyDown(event) {
|
|
14
|
+
const {
|
|
15
|
+
keyCode
|
|
16
|
+
} = event;
|
|
17
|
+
if (event.defaultPrevented) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const {
|
|
21
|
+
value,
|
|
22
|
+
onMerge,
|
|
23
|
+
onRemove
|
|
24
|
+
} = props.current;
|
|
25
|
+
if (keyCode === _keycodes.DELETE || keyCode === _keycodes.BACKSPACE) {
|
|
26
|
+
const {
|
|
27
|
+
start,
|
|
28
|
+
end,
|
|
29
|
+
text
|
|
30
|
+
} = value;
|
|
31
|
+
const isReverse = keyCode === _keycodes.BACKSPACE;
|
|
32
|
+
const hasActiveFormats = value.activeFormats && !!value.activeFormats.length;
|
|
33
|
+
|
|
34
|
+
// Only process delete if the key press occurs at an uncollapsed edge.
|
|
35
|
+
if (!(0, _richText.isCollapsed)(value) || hasActiveFormats || isReverse && start !== 0 || !isReverse && end !== text.length) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (onMerge) {
|
|
39
|
+
onMerge(!isReverse);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Only handle remove on Backspace. This serves dual-purpose of being
|
|
43
|
+
// an intentional user interaction distinguishing between Backspace and
|
|
44
|
+
// Delete to remove the empty field, but also to avoid merge & remove
|
|
45
|
+
// causing destruction of two fields (merge, then removed merged).
|
|
46
|
+
else if (onRemove && (0, _richText.isEmpty)(value) && isReverse) {
|
|
47
|
+
onRemove(!isReverse);
|
|
48
|
+
}
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
element.addEventListener('keydown', onKeyDown);
|
|
53
|
+
return () => {
|
|
54
|
+
element.removeEventListener('keydown', onKeyDown);
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.default = _default;
|
|
58
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_keycodes","require","_richText","_default","props","element","onKeyDown","event","keyCode","defaultPrevented","value","onMerge","onRemove","current","DELETE","BACKSPACE","start","end","text","isReverse","hasActiveFormats","activeFormats","length","isCollapsed","isEmpty","preventDefault","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/delete.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\nimport { isCollapsed, isEmpty } from '@wordpress/rich-text';\n\nexport default ( props ) => ( element ) => {\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { value, onMerge, onRemove } = props.current;\n\n\t\tif ( keyCode === DELETE || keyCode === BACKSPACE ) {\n\t\t\tconst { start, end, text } = value;\n\t\t\tconst isReverse = keyCode === BACKSPACE;\n\t\t\tconst hasActiveFormats =\n\t\t\t\tvalue.activeFormats && !! value.activeFormats.length;\n\n\t\t\t// Only process delete if the key press occurs at an uncollapsed edge.\n\t\t\tif (\n\t\t\t\t! isCollapsed( value ) ||\n\t\t\t\thasActiveFormats ||\n\t\t\t\t( isReverse && start !== 0 ) ||\n\t\t\t\t( ! isReverse && end !== text.length )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( onMerge ) {\n\t\t\t\tonMerge( ! isReverse );\n\t\t\t}\n\n\t\t\t// Only handle remove on Backspace. This serves dual-purpose of being\n\t\t\t// an intentional user interaction distinguishing between Backspace and\n\t\t\t// Delete to remove the empty field, but also to avoid merge & remove\n\t\t\t// causing destruction of two fields (merge, then removed merged).\n\t\t\telse if ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\tonRemove( ! isReverse );\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\telement.addEventListener( 'keydown', onKeyDown );\n\treturn () => {\n\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAJA;AACA;AACA;AAFA,IAAAE,QAAA,GAMiBC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,SAASA,CAAEC,KAAK,EAAG;IAC3B,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IAEzB,IAAKA,KAAK,CAACE,gBAAgB,EAAG;MAC7B;IACD;IAEA,MAAM;MAAEC,KAAK;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGR,KAAK,CAACS,OAAO;IAElD,IAAKL,OAAO,KAAKM,gBAAM,IAAIN,OAAO,KAAKO,mBAAS,EAAG;MAClD,MAAM;QAAEC,KAAK;QAAEC,GAAG;QAAEC;MAAK,CAAC,GAAGR,KAAK;MAClC,MAAMS,SAAS,GAAGX,OAAO,KAAKO,mBAAS;MACvC,MAAMK,gBAAgB,GACrBV,KAAK,CAACW,aAAa,IAAI,CAAC,CAAEX,KAAK,CAACW,aAAa,CAACC,MAAM;;MAErD;MACA,IACC,CAAE,IAAAC,qBAAW,EAAEb,KAAM,CAAC,IACtBU,gBAAgB,IACdD,SAAS,IAAIH,KAAK,KAAK,CAAG,IAC1B,CAAEG,SAAS,IAAIF,GAAG,KAAKC,IAAI,CAACI,MAAQ,EACrC;QACD;MACD;MAEA,IAAKX,OAAO,EAAG;QACdA,OAAO,CAAE,CAAEQ,SAAU,CAAC;MACvB;;MAEA;MACA;MACA;MACA;MAAA,KACK,IAAKP,QAAQ,IAAI,IAAAY,iBAAO,EAAEd,KAAM,CAAC,IAAIS,SAAS,EAAG;QACrDP,QAAQ,CAAE,CAAEO,SAAU,CAAC;MACxB;MAEAZ,KAAK,CAACkB,cAAc,CAAC,CAAC;IACvB;EACD;EAEApB,OAAO,CAACqB,gBAAgB,CAAE,SAAS,EAAEpB,SAAU,CAAC;EAChD,OAAO,MAAM;IACZD,OAAO,CAACsB,mBAAmB,CAAE,SAAS,EAAErB,SAAU,CAAC;EACpD,CAAC;AACF,CAAC;AAAAsB,OAAA,CAAAC,OAAA,GAAA1B,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _keycodes = require("@wordpress/keycodes");
|
|
8
|
+
var _richText = require("@wordpress/rich-text");
|
|
9
|
+
/**
|
|
10
|
+
* WordPress dependencies
|
|
11
|
+
*/
|
|
12
|
+
var _default = props => element => {
|
|
13
|
+
function onKeyDownDeprecated(event) {
|
|
14
|
+
if (event.keyCode !== _keycodes.ENTER) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const {
|
|
18
|
+
onReplace,
|
|
19
|
+
onSplit
|
|
20
|
+
} = props.current;
|
|
21
|
+
if (onReplace && onSplit) {
|
|
22
|
+
event.__deprecatedOnSplit = true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function onKeyDown(event) {
|
|
26
|
+
if (event.defaultPrevented) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// The event listener is attached to the window, so we need to check if
|
|
31
|
+
// the target is the element.
|
|
32
|
+
if (event.target !== element) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (event.keyCode !== _keycodes.ENTER) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const {
|
|
39
|
+
value,
|
|
40
|
+
onChange,
|
|
41
|
+
disableLineBreaks,
|
|
42
|
+
onSplitAtEnd,
|
|
43
|
+
onSplitAtDoubleLineEnd,
|
|
44
|
+
registry
|
|
45
|
+
} = props.current;
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
const {
|
|
48
|
+
text,
|
|
49
|
+
start,
|
|
50
|
+
end
|
|
51
|
+
} = value;
|
|
52
|
+
if (event.shiftKey) {
|
|
53
|
+
if (!disableLineBreaks) {
|
|
54
|
+
onChange((0, _richText.insert)(value, '\n'));
|
|
55
|
+
}
|
|
56
|
+
} else if (onSplitAtEnd && start === end && end === text.length) {
|
|
57
|
+
onSplitAtEnd();
|
|
58
|
+
} else if (
|
|
59
|
+
// For some blocks it's desirable to split at the end of the
|
|
60
|
+
// block when there are two line breaks at the end of the
|
|
61
|
+
// block, so triple Enter exits the block.
|
|
62
|
+
onSplitAtDoubleLineEnd && start === end && end === text.length && text.slice(-2) === '\n\n') {
|
|
63
|
+
registry.batch(() => {
|
|
64
|
+
const _value = {
|
|
65
|
+
...value
|
|
66
|
+
};
|
|
67
|
+
_value.start = _value.end - 2;
|
|
68
|
+
onChange((0, _richText.remove)(_value));
|
|
69
|
+
onSplitAtDoubleLineEnd();
|
|
70
|
+
});
|
|
71
|
+
} else if (!disableLineBreaks) {
|
|
72
|
+
onChange((0, _richText.insert)(value, '\n'));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const {
|
|
76
|
+
defaultView
|
|
77
|
+
} = element.ownerDocument;
|
|
78
|
+
|
|
79
|
+
// Attach the listener to the window so parent elements have the chance to
|
|
80
|
+
// prevent the default behavior.
|
|
81
|
+
defaultView.addEventListener('keydown', onKeyDown);
|
|
82
|
+
element.addEventListener('keydown', onKeyDownDeprecated);
|
|
83
|
+
return () => {
|
|
84
|
+
defaultView.removeEventListener('keydown', onKeyDown);
|
|
85
|
+
element.removeEventListener('keydown', onKeyDownDeprecated);
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
exports.default = _default;
|
|
89
|
+
//# sourceMappingURL=enter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_keycodes","require","_richText","_default","props","element","onKeyDownDeprecated","event","keyCode","ENTER","onReplace","onSplit","current","__deprecatedOnSplit","onKeyDown","defaultPrevented","target","value","onChange","disableLineBreaks","onSplitAtEnd","onSplitAtDoubleLineEnd","registry","preventDefault","text","start","end","shiftKey","insert","length","slice","batch","_value","remove","defaultView","ownerDocument","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/enter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ENTER } from '@wordpress/keycodes';\nimport { insert, remove } from '@wordpress/rich-text';\n\nexport default ( props ) => ( element ) => {\n\tfunction onKeyDownDeprecated( event ) {\n\t\tif ( event.keyCode !== ENTER ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { onReplace, onSplit } = props.current;\n\n\t\tif ( onReplace && onSplit ) {\n\t\t\tevent.__deprecatedOnSplit = true;\n\t\t}\n\t}\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The event listener is attached to the window, so we need to check if\n\t\t// the target is the element.\n\t\tif ( event.target !== element ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.keyCode !== ENTER ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst {\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tdisableLineBreaks,\n\t\t\tonSplitAtEnd,\n\t\t\tonSplitAtDoubleLineEnd,\n\t\t\tregistry,\n\t\t} = props.current;\n\n\t\tevent.preventDefault();\n\n\t\tconst { text, start, end } = value;\n\n\t\tif ( event.shiftKey ) {\n\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t}\n\t\t} else if ( onSplitAtEnd && start === end && end === text.length ) {\n\t\t\tonSplitAtEnd();\n\t\t} else if (\n\t\t\t// For some blocks it's desirable to split at the end of the\n\t\t\t// block when there are two line breaks at the end of the\n\t\t\t// block, so triple Enter exits the block.\n\t\t\tonSplitAtDoubleLineEnd &&\n\t\t\tstart === end &&\n\t\t\tend === text.length &&\n\t\t\ttext.slice( -2 ) === '\\n\\n'\n\t\t) {\n\t\t\tregistry.batch( () => {\n\t\t\t\tconst _value = { ...value };\n\t\t\t\t_value.start = _value.end - 2;\n\t\t\t\tonChange( remove( _value ) );\n\t\t\t\tonSplitAtDoubleLineEnd();\n\t\t\t} );\n\t\t} else if ( ! disableLineBreaks ) {\n\t\t\tonChange( insert( value, '\\n' ) );\n\t\t}\n\t}\n\n\tconst { defaultView } = element.ownerDocument;\n\n\t// Attach the listener to the window so parent elements have the chance to\n\t// prevent the default behavior.\n\tdefaultView.addEventListener( 'keydown', onKeyDown );\n\telement.addEventListener( 'keydown', onKeyDownDeprecated );\n\treturn () => {\n\t\tdefaultView.removeEventListener( 'keydown', onKeyDown );\n\t\telement.removeEventListener( 'keydown', onKeyDownDeprecated );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAJA;AACA;AACA;AAFA,IAAAE,QAAA,GAMiBC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,mBAAmBA,CAAEC,KAAK,EAAG;IACrC,IAAKA,KAAK,CAACC,OAAO,KAAKC,eAAK,EAAG;MAC9B;IACD;IAEA,MAAM;MAAEC,SAAS;MAAEC;IAAQ,CAAC,GAAGP,KAAK,CAACQ,OAAO;IAE5C,IAAKF,SAAS,IAAIC,OAAO,EAAG;MAC3BJ,KAAK,CAACM,mBAAmB,GAAG,IAAI;IACjC;EACD;EAEA,SAASC,SAASA,CAAEP,KAAK,EAAG;IAC3B,IAAKA,KAAK,CAACQ,gBAAgB,EAAG;MAC7B;IACD;;IAEA;IACA;IACA,IAAKR,KAAK,CAACS,MAAM,KAAKX,OAAO,EAAG;MAC/B;IACD;IAEA,IAAKE,KAAK,CAACC,OAAO,KAAKC,eAAK,EAAG;MAC9B;IACD;IAEA,MAAM;MACLQ,KAAK;MACLC,QAAQ;MACRC,iBAAiB;MACjBC,YAAY;MACZC,sBAAsB;MACtBC;IACD,CAAC,GAAGlB,KAAK,CAACQ,OAAO;IAEjBL,KAAK,CAACgB,cAAc,CAAC,CAAC;IAEtB,MAAM;MAAEC,IAAI;MAAEC,KAAK;MAAEC;IAAI,CAAC,GAAGT,KAAK;IAElC,IAAKV,KAAK,CAACoB,QAAQ,EAAG;MACrB,IAAK,CAAER,iBAAiB,EAAG;QAC1BD,QAAQ,CAAE,IAAAU,gBAAM,EAAEX,KAAK,EAAE,IAAK,CAAE,CAAC;MAClC;IACD,CAAC,MAAM,IAAKG,YAAY,IAAIK,KAAK,KAAKC,GAAG,IAAIA,GAAG,KAAKF,IAAI,CAACK,MAAM,EAAG;MAClET,YAAY,CAAC,CAAC;IACf,CAAC,MAAM;IACN;IACA;IACA;IACAC,sBAAsB,IACtBI,KAAK,KAAKC,GAAG,IACbA,GAAG,KAAKF,IAAI,CAACK,MAAM,IACnBL,IAAI,CAACM,KAAK,CAAE,CAAC,CAAE,CAAC,KAAK,MAAM,EAC1B;MACDR,QAAQ,CAACS,KAAK,CAAE,MAAM;QACrB,MAAMC,MAAM,GAAG;UAAE,GAAGf;QAAM,CAAC;QAC3Be,MAAM,CAACP,KAAK,GAAGO,MAAM,CAACN,GAAG,GAAG,CAAC;QAC7BR,QAAQ,CAAE,IAAAe,gBAAM,EAAED,MAAO,CAAE,CAAC;QAC5BX,sBAAsB,CAAC,CAAC;MACzB,CAAE,CAAC;IACJ,CAAC,MAAM,IAAK,CAAEF,iBAAiB,EAAG;MACjCD,QAAQ,CAAE,IAAAU,gBAAM,EAAEX,KAAK,EAAE,IAAK,CAAE,CAAC;IAClC;EACD;EAEA,MAAM;IAAEiB;EAAY,CAAC,GAAG7B,OAAO,CAAC8B,aAAa;;EAE7C;EACA;EACAD,WAAW,CAACE,gBAAgB,CAAE,SAAS,EAAEtB,SAAU,CAAC;EACpDT,OAAO,CAAC+B,gBAAgB,CAAE,SAAS,EAAE9B,mBAAoB,CAAC;EAC1D,OAAO,MAAM;IACZ4B,WAAW,CAACG,mBAAmB,CAAE,SAAS,EAAEvB,SAAU,CAAC;IACvDT,OAAO,CAACgC,mBAAmB,CAAE,SAAS,EAAE/B,mBAAoB,CAAC;EAC9D,CAAC;AACF,CAAC;AAAAgC,OAAA,CAAAC,OAAA,GAAApC,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _store = require("../../../store");
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
var _default = props => element => {
|
|
12
|
+
function onFocus() {
|
|
13
|
+
const {
|
|
14
|
+
registry
|
|
15
|
+
} = props.current;
|
|
16
|
+
if (!registry.select(_store.store).isMultiSelecting()) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// This is a little hack to work around focus issues with nested
|
|
21
|
+
// editable elements in Firefox. For some reason the editable child
|
|
22
|
+
// element sometimes regains focus, while it should not be focusable
|
|
23
|
+
// and focus should remain on the editable parent element.
|
|
24
|
+
// To do: try to find the cause of the shifting focus.
|
|
25
|
+
const parentEditable = element.parentElement.closest('[contenteditable="true"]');
|
|
26
|
+
if (parentEditable) {
|
|
27
|
+
parentEditable.focus();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
element.addEventListener('focus', onFocus);
|
|
31
|
+
return () => {
|
|
32
|
+
element.removeEventListener('focus', onFocus);
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
exports.default = _default;
|
|
36
|
+
//# sourceMappingURL=firefox-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_store","require","_default","props","element","onFocus","registry","current","select","blockEditorStore","isMultiSelecting","parentEditable","parentElement","closest","focus","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/firefox-compat.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\nexport default ( props ) => ( element ) => {\n\tfunction onFocus() {\n\t\tconst { registry } = props.current;\n\t\tif ( ! registry.select( blockEditorStore ).isMultiSelecting() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// This is a little hack to work around focus issues with nested\n\t\t// editable elements in Firefox. For some reason the editable child\n\t\t// element sometimes regains focus, while it should not be focusable\n\t\t// and focus should remain on the editable parent element.\n\t\t// To do: try to find the cause of the shifting focus.\n\t\tconst parentEditable = element.parentElement.closest(\n\t\t\t'[contenteditable=\"true\"]'\n\t\t);\n\n\t\tif ( parentEditable ) {\n\t\t\tparentEditable.focus();\n\t\t}\n\t}\n\n\telement.addEventListener( 'focus', onFocus );\n\treturn () => {\n\t\telement.removeEventListener( 'focus', onFocus );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;AAFA,IAAAC,QAAA,GAKiBC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,OAAOA,CAAA,EAAG;IAClB,MAAM;MAAEC;IAAS,CAAC,GAAGH,KAAK,CAACI,OAAO;IAClC,IAAK,CAAED,QAAQ,CAACE,MAAM,CAAEC,YAAiB,CAAC,CAACC,gBAAgB,CAAC,CAAC,EAAG;MAC/D;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA,MAAMC,cAAc,GAAGP,OAAO,CAACQ,aAAa,CAACC,OAAO,CACnD,0BACD,CAAC;IAED,IAAKF,cAAc,EAAG;MACrBA,cAAc,CAACG,KAAK,CAAC,CAAC;IACvB;EACD;EAEAV,OAAO,CAACW,gBAAgB,CAAE,OAAO,EAAEV,OAAQ,CAAC;EAC5C,OAAO,MAAM;IACZD,OAAO,CAACY,mBAAmB,CAAE,OAAO,EAAEX,OAAQ,CAAC;EAChD,CAAC;AACF,CAAC;AAAAY,OAAA,CAAAC,OAAA,GAAAhB,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useEventListeners = useEventListeners;
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
var _compose = require("@wordpress/compose");
|
|
10
|
+
var _beforeInputRules = _interopRequireDefault(require("./before-input-rules"));
|
|
11
|
+
var _inputRules = _interopRequireDefault(require("./input-rules"));
|
|
12
|
+
var _insertReplacementText = _interopRequireDefault(require("./insert-replacement-text"));
|
|
13
|
+
var _removeBrowserShortcuts = _interopRequireDefault(require("./remove-browser-shortcuts"));
|
|
14
|
+
var _shortcuts = _interopRequireDefault(require("./shortcuts"));
|
|
15
|
+
var _inputEvents = _interopRequireDefault(require("./input-events"));
|
|
16
|
+
var _undoAutomaticChange = _interopRequireDefault(require("./undo-automatic-change"));
|
|
17
|
+
var _pasteHandler = _interopRequireDefault(require("./paste-handler"));
|
|
18
|
+
var _delete2 = _interopRequireDefault(require("./delete"));
|
|
19
|
+
var _enter = _interopRequireDefault(require("./enter"));
|
|
20
|
+
var _firefoxCompat = _interopRequireDefault(require("./firefox-compat"));
|
|
21
|
+
/**
|
|
22
|
+
* WordPress dependencies
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Internal dependencies
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const allEventListeners = [_beforeInputRules.default, _inputRules.default, _insertReplacementText.default, _removeBrowserShortcuts.default, _shortcuts.default, _inputEvents.default, _undoAutomaticChange.default, _pasteHandler.default, _delete2.default, _enter.default, _firefoxCompat.default];
|
|
30
|
+
function useEventListeners(props) {
|
|
31
|
+
const propsRef = (0, _element.useRef)(props);
|
|
32
|
+
propsRef.current = props;
|
|
33
|
+
const refEffects = (0, _element.useMemo)(() => allEventListeners.map(refEffect => refEffect(propsRef)), [propsRef]);
|
|
34
|
+
return (0, _compose.useRefEffect)(element => {
|
|
35
|
+
if (!props.isSelected) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const cleanups = refEffects.map(effect => effect(element));
|
|
39
|
+
return () => {
|
|
40
|
+
cleanups.forEach(cleanup => cleanup());
|
|
41
|
+
};
|
|
42
|
+
}, [refEffects, props.isSelected]);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_element","require","_compose","_beforeInputRules","_interopRequireDefault","_inputRules","_insertReplacementText","_removeBrowserShortcuts","_shortcuts","_inputEvents","_undoAutomaticChange","_pasteHandler","_delete2","_enter","_firefoxCompat","allEventListeners","beforeInputRules","inputRules","insertReplacementText","removeBrowserShortcuts","shortcuts","inputEvents","undoAutomaticChange","pasteHandler","_delete","enter","firefoxCompat","useEventListeners","props","propsRef","useRef","current","refEffects","useMemo","map","refEffect","useRefEffect","element","isSelected","cleanups","effect","forEach","cleanup"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport beforeInputRules from './before-input-rules';\nimport inputRules from './input-rules';\nimport insertReplacementText from './insert-replacement-text';\nimport removeBrowserShortcuts from './remove-browser-shortcuts';\nimport shortcuts from './shortcuts';\nimport inputEvents from './input-events';\nimport undoAutomaticChange from './undo-automatic-change';\nimport pasteHandler from './paste-handler';\nimport _delete from './delete';\nimport enter from './enter';\nimport firefoxCompat from './firefox-compat';\n\nconst allEventListeners = [\n\tbeforeInputRules,\n\tinputRules,\n\tinsertReplacementText,\n\tremoveBrowserShortcuts,\n\tshortcuts,\n\tinputEvents,\n\tundoAutomaticChange,\n\tpasteHandler,\n\t_delete,\n\tenter,\n\tfirefoxCompat,\n];\n\nexport function useEventListeners( props ) {\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\tconst refEffects = useMemo(\n\t\t() => allEventListeners.map( ( refEffect ) => refEffect( propsRef ) ),\n\t\t[ propsRef ]\n\t);\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tif ( ! props.isSelected ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst cleanups = refEffects.map( ( effect ) => effect( element ) );\n\t\t\treturn () => {\n\t\t\t\tcleanups.forEach( ( cleanup ) => cleanup() );\n\t\t\t};\n\t\t},\n\t\t[ refEffects, props.isSelected ]\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,iBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,sBAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,uBAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,UAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,YAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,oBAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,aAAA,GAAAP,sBAAA,CAAAH,OAAA;AACA,IAAAW,QAAA,GAAAR,sBAAA,CAAAH,OAAA;AACA,IAAAY,MAAA,GAAAT,sBAAA,CAAAH,OAAA;AACA,IAAAa,cAAA,GAAAV,sBAAA,CAAAH,OAAA;AAnBA;AACA;AACA;;AAIA;AACA;AACA;;AAaA,MAAMc,iBAAiB,GAAG,CACzBC,yBAAgB,EAChBC,mBAAU,EACVC,8BAAqB,EACrBC,+BAAsB,EACtBC,kBAAS,EACTC,oBAAW,EACXC,4BAAmB,EACnBC,qBAAY,EACZC,gBAAO,EACPC,cAAK,EACLC,sBAAa,CACb;AAEM,SAASC,iBAAiBA,CAAEC,KAAK,EAAG;EAC1C,MAAMC,QAAQ,GAAG,IAAAC,eAAM,EAAEF,KAAM,CAAC;EAChCC,QAAQ,CAACE,OAAO,GAAGH,KAAK;EACxB,MAAMI,UAAU,GAAG,IAAAC,gBAAO,EACzB,MAAMlB,iBAAiB,CAACmB,GAAG,CAAIC,SAAS,IAAMA,SAAS,CAAEN,QAAS,CAAE,CAAC,EACrE,CAAEA,QAAQ,CACX,CAAC;EAED,OAAO,IAAAO,qBAAY,EAChBC,OAAO,IAAM;IACd,IAAK,CAAET,KAAK,CAACU,UAAU,EAAG;MACzB;IACD;IACA,MAAMC,QAAQ,GAAGP,UAAU,CAACE,GAAG,CAAIM,MAAM,IAAMA,MAAM,CAAEH,OAAQ,CAAE,CAAC;IAClE,OAAO,MAAM;MACZE,QAAQ,CAACE,OAAO,CAAIC,OAAO,IAAMA,OAAO,CAAC,CAAE,CAAC;IAC7C,CAAC;EACF,CAAC,EACD,CAAEV,UAAU,EAAEJ,KAAK,CAACU,UAAU,CAC/B,CAAC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = props => element => {
|
|
8
|
+
const {
|
|
9
|
+
inputEvents
|
|
10
|
+
} = props.current;
|
|
11
|
+
function onInput(event) {
|
|
12
|
+
for (const keyboardShortcut of inputEvents.current) {
|
|
13
|
+
keyboardShortcut(event);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
element.addEventListener('input', onInput);
|
|
17
|
+
return () => {
|
|
18
|
+
element.removeEventListener('input', onInput);
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.default = _default;
|
|
22
|
+
//# sourceMappingURL=input-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["props","element","inputEvents","current","onInput","event","keyboardShortcut","addEventListener","removeEventListener","exports","default","_default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/input-events.js"],"sourcesContent":["export default ( props ) => ( element ) => {\n\tconst { inputEvents } = props.current;\n\tfunction onInput( event ) {\n\t\tfor ( const keyboardShortcut of inputEvents.current ) {\n\t\t\tkeyboardShortcut( event );\n\t\t}\n\t}\n\n\telement.addEventListener( 'input', onInput );\n\treturn () => {\n\t\telement.removeEventListener( 'input', onInput );\n\t};\n};\n"],"mappings":";;;;;;eAAiBA,KAAK,IAAQC,OAAO,IAAM;EAC1C,MAAM;IAAEC;EAAY,CAAC,GAAGF,KAAK,CAACG,OAAO;EACrC,SAASC,OAAOA,CAAEC,KAAK,EAAG;IACzB,KAAM,MAAMC,gBAAgB,IAAIJ,WAAW,CAACC,OAAO,EAAG;MACrDG,gBAAgB,CAAED,KAAM,CAAC;IAC1B;EACD;EAEAJ,OAAO,CAACM,gBAAgB,CAAE,OAAO,EAAEH,OAAQ,CAAC;EAC5C,OAAO,MAAM;IACZH,OAAO,CAACO,mBAAmB,CAAE,OAAO,EAAEJ,OAAQ,CAAC;EAChD,CAAC;AACF,CAAC;AAAAK,OAAA,CAAAC,OAAA,GAAAC,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _richText = require("@wordpress/rich-text");
|
|
8
|
+
var _blocks = require("@wordpress/blocks");
|
|
9
|
+
var _store = require("../../../store");
|
|
10
|
+
var _preventEventDiscovery = require("../prevent-event-discovery");
|
|
11
|
+
var _selection = require("../../../utils/selection");
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Internal dependencies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
function findSelection(blocks) {
|
|
21
|
+
let i = blocks.length;
|
|
22
|
+
while (i--) {
|
|
23
|
+
const attributeKey = (0, _selection.retrieveSelectedAttribute)(blocks[i].attributes);
|
|
24
|
+
if (attributeKey) {
|
|
25
|
+
blocks[i].attributes[attributeKey] = blocks[i].attributes[attributeKey]
|
|
26
|
+
// To do: refactor this to use rich text's selection instead, so
|
|
27
|
+
// we no longer have to use on this hack inserting a special
|
|
28
|
+
// character.
|
|
29
|
+
.toString().replace(_selection.START_OF_SELECTED_AREA, '');
|
|
30
|
+
return [blocks[i].clientId, attributeKey, 0, 0];
|
|
31
|
+
}
|
|
32
|
+
const nestedSelection = findSelection(blocks[i].innerBlocks);
|
|
33
|
+
if (nestedSelection) {
|
|
34
|
+
return nestedSelection;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
var _default = props => element => {
|
|
40
|
+
function inputRule() {
|
|
41
|
+
const {
|
|
42
|
+
getValue,
|
|
43
|
+
onReplace,
|
|
44
|
+
selectionChange,
|
|
45
|
+
registry
|
|
46
|
+
} = props.current;
|
|
47
|
+
if (!onReplace) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// We must use getValue() here because value may be update
|
|
52
|
+
// asynchronously.
|
|
53
|
+
const value = getValue();
|
|
54
|
+
const {
|
|
55
|
+
start,
|
|
56
|
+
text
|
|
57
|
+
} = value;
|
|
58
|
+
const characterBefore = text.slice(start - 1, start);
|
|
59
|
+
|
|
60
|
+
// The character right before the caret must be a plain space.
|
|
61
|
+
if (characterBefore !== ' ') {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const trimmedTextBefore = text.slice(0, start).trim();
|
|
65
|
+
const prefixTransforms = (0, _blocks.getBlockTransforms)('from').filter(({
|
|
66
|
+
type
|
|
67
|
+
}) => type === 'prefix');
|
|
68
|
+
const transformation = (0, _blocks.findTransform)(prefixTransforms, ({
|
|
69
|
+
prefix
|
|
70
|
+
}) => {
|
|
71
|
+
return trimmedTextBefore === prefix;
|
|
72
|
+
});
|
|
73
|
+
if (!transformation) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const content = (0, _richText.toHTMLString)({
|
|
77
|
+
value: (0, _richText.insert)(value, _selection.START_OF_SELECTED_AREA, 0, start)
|
|
78
|
+
});
|
|
79
|
+
const block = transformation.transform(content);
|
|
80
|
+
selectionChange(...findSelection([block]));
|
|
81
|
+
onReplace([block]);
|
|
82
|
+
registry.dispatch(_store.store).__unstableMarkAutomaticChange();
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
function onInput(event) {
|
|
86
|
+
const {
|
|
87
|
+
inputType,
|
|
88
|
+
type
|
|
89
|
+
} = event;
|
|
90
|
+
const {
|
|
91
|
+
getValue,
|
|
92
|
+
onChange,
|
|
93
|
+
__unstableAllowPrefixTransformations,
|
|
94
|
+
formatTypes,
|
|
95
|
+
registry
|
|
96
|
+
} = props.current;
|
|
97
|
+
|
|
98
|
+
// Only run input rules when inserting text.
|
|
99
|
+
if (inputType !== 'insertText' && type !== 'compositionend') {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (__unstableAllowPrefixTransformations && inputRule()) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const value = getValue();
|
|
106
|
+
const transformed = formatTypes.reduce((accumlator, {
|
|
107
|
+
__unstableInputRule
|
|
108
|
+
}) => {
|
|
109
|
+
if (__unstableInputRule) {
|
|
110
|
+
accumlator = __unstableInputRule(accumlator);
|
|
111
|
+
}
|
|
112
|
+
return accumlator;
|
|
113
|
+
}, (0, _preventEventDiscovery.preventEventDiscovery)(value));
|
|
114
|
+
const {
|
|
115
|
+
__unstableMarkLastChangeAsPersistent,
|
|
116
|
+
__unstableMarkAutomaticChange
|
|
117
|
+
} = registry.dispatch(_store.store);
|
|
118
|
+
if (transformed !== value) {
|
|
119
|
+
__unstableMarkLastChangeAsPersistent();
|
|
120
|
+
onChange({
|
|
121
|
+
...transformed,
|
|
122
|
+
activeFormats: value.activeFormats
|
|
123
|
+
});
|
|
124
|
+
__unstableMarkAutomaticChange();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
element.addEventListener('input', onInput);
|
|
128
|
+
element.addEventListener('compositionend', onInput);
|
|
129
|
+
return () => {
|
|
130
|
+
element.removeEventListener('input', onInput);
|
|
131
|
+
element.removeEventListener('compositionend', onInput);
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
exports.default = _default;
|
|
135
|
+
//# sourceMappingURL=input-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_richText","require","_blocks","_store","_preventEventDiscovery","_selection","findSelection","blocks","i","length","attributeKey","retrieveSelectedAttribute","attributes","toString","replace","START_OF_SELECTED_AREA","clientId","nestedSelection","innerBlocks","_default","props","element","inputRule","getValue","onReplace","selectionChange","registry","current","value","start","text","characterBefore","slice","trimmedTextBefore","trim","prefixTransforms","getBlockTransforms","filter","type","transformation","findTransform","prefix","content","toHTMLString","insert","block","transform","dispatch","blockEditorStore","__unstableMarkAutomaticChange","onInput","event","inputType","onChange","__unstableAllowPrefixTransformations","formatTypes","transformed","reduce","accumlator","__unstableInputRule","preventEventDiscovery","__unstableMarkLastChangeAsPersistent","activeFormats","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/input-rules.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { insert, toHTMLString } from '@wordpress/rich-text';\nimport { getBlockTransforms, findTransform } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\nimport { preventEventDiscovery } from '../prevent-event-discovery';\nimport {\n\tretrieveSelectedAttribute,\n\tSTART_OF_SELECTED_AREA,\n} from '../../../utils/selection';\n\nfunction findSelection( blocks ) {\n\tlet i = blocks.length;\n\n\twhile ( i-- ) {\n\t\tconst attributeKey = retrieveSelectedAttribute(\n\t\t\tblocks[ i ].attributes\n\t\t);\n\n\t\tif ( attributeKey ) {\n\t\t\tblocks[ i ].attributes[ attributeKey ] = blocks[ i ].attributes[\n\t\t\t\tattributeKey\n\t\t\t]\n\t\t\t\t// To do: refactor this to use rich text's selection instead, so\n\t\t\t\t// we no longer have to use on this hack inserting a special\n\t\t\t\t// character.\n\t\t\t\t.toString()\n\t\t\t\t.replace( START_OF_SELECTED_AREA, '' );\n\t\t\treturn [ blocks[ i ].clientId, attributeKey, 0, 0 ];\n\t\t}\n\n\t\tconst nestedSelection = findSelection( blocks[ i ].innerBlocks );\n\n\t\tif ( nestedSelection ) {\n\t\t\treturn nestedSelection;\n\t\t}\n\t}\n\n\treturn [];\n}\n\nexport default ( props ) => ( element ) => {\n\tfunction inputRule() {\n\t\tconst { getValue, onReplace, selectionChange, registry } =\n\t\t\tprops.current;\n\n\t\tif ( ! onReplace ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We must use getValue() here because value may be update\n\t\t// asynchronously.\n\t\tconst value = getValue();\n\t\tconst { start, text } = value;\n\t\tconst characterBefore = text.slice( start - 1, start );\n\n\t\t// The character right before the caret must be a plain space.\n\t\tif ( characterBefore !== ' ' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst trimmedTextBefore = text.slice( 0, start ).trim();\n\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t( { type } ) => type === 'prefix'\n\t\t);\n\t\tconst transformation = findTransform(\n\t\t\tprefixTransforms,\n\t\t\t( { prefix } ) => {\n\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t}\n\t\t);\n\n\t\tif ( ! transformation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = toHTMLString( {\n\t\t\tvalue: insert( value, START_OF_SELECTED_AREA, 0, start ),\n\t\t} );\n\t\tconst block = transformation.transform( content );\n\n\t\tselectionChange( ...findSelection( [ block ] ) );\n\t\tonReplace( [ block ] );\n\t\tregistry.dispatch( blockEditorStore ).__unstableMarkAutomaticChange();\n\n\t\treturn true;\n\t}\n\n\tfunction onInput( event ) {\n\t\tconst { inputType, type } = event;\n\t\tconst {\n\t\t\tgetValue,\n\t\t\tonChange,\n\t\t\t__unstableAllowPrefixTransformations,\n\t\t\tformatTypes,\n\t\t\tregistry,\n\t\t} = props.current;\n\n\t\t// Only run input rules when inserting text.\n\t\tif ( inputType !== 'insertText' && type !== 'compositionend' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( __unstableAllowPrefixTransformations && inputRule() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = getValue();\n\t\tconst transformed = formatTypes.reduce(\n\t\t\t( accumlator, { __unstableInputRule } ) => {\n\t\t\t\tif ( __unstableInputRule ) {\n\t\t\t\t\taccumlator = __unstableInputRule( accumlator );\n\t\t\t\t}\n\n\t\t\t\treturn accumlator;\n\t\t\t},\n\t\t\tpreventEventDiscovery( value )\n\t\t);\n\n\t\tconst {\n\t\t\t__unstableMarkLastChangeAsPersistent,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t} = registry.dispatch( blockEditorStore );\n\n\t\tif ( transformed !== value ) {\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tonChange( {\n\t\t\t\t...transformed,\n\t\t\t\tactiveFormats: value.activeFormats,\n\t\t\t} );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t}\n\t}\n\n\telement.addEventListener( 'input', onInput );\n\telement.addEventListener( 'compositionend', onInput );\n\treturn () => {\n\t\telement.removeEventListener( 'input', onInput );\n\t\telement.removeEventListener( 'compositionend', onInput );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAQA,SAASK,aAAaA,CAAEC,MAAM,EAAG;EAChC,IAAIC,CAAC,GAAGD,MAAM,CAACE,MAAM;EAErB,OAAQD,CAAC,EAAE,EAAG;IACb,MAAME,YAAY,GAAG,IAAAC,oCAAyB,EAC7CJ,MAAM,CAAEC,CAAC,CAAE,CAACI,UACb,CAAC;IAED,IAAKF,YAAY,EAAG;MACnBH,MAAM,CAAEC,CAAC,CAAE,CAACI,UAAU,CAAEF,YAAY,CAAE,GAAGH,MAAM,CAAEC,CAAC,CAAE,CAACI,UAAU,CAC9DF,YAAY;MAEZ;MACA;MACA;MAAA,CACCG,QAAQ,CAAC,CAAC,CACVC,OAAO,CAAEC,iCAAsB,EAAE,EAAG,CAAC;MACvC,OAAO,CAAER,MAAM,CAAEC,CAAC,CAAE,CAACQ,QAAQ,EAAEN,YAAY,EAAE,CAAC,EAAE,CAAC,CAAE;IACpD;IAEA,MAAMO,eAAe,GAAGX,aAAa,CAAEC,MAAM,CAAEC,CAAC,CAAE,CAACU,WAAY,CAAC;IAEhE,IAAKD,eAAe,EAAG;MACtB,OAAOA,eAAe;IACvB;EACD;EAEA,OAAO,EAAE;AACV;AAAC,IAAAE,QAAA,GAEgBC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,SAASA,CAAA,EAAG;IACpB,MAAM;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,eAAe;MAAEC;IAAS,CAAC,GACvDN,KAAK,CAACO,OAAO;IAEd,IAAK,CAAEH,SAAS,EAAG;MAClB;IACD;;IAEA;IACA;IACA,MAAMI,KAAK,GAAGL,QAAQ,CAAC,CAAC;IACxB,MAAM;MAAEM,KAAK;MAAEC;IAAK,CAAC,GAAGF,KAAK;IAC7B,MAAMG,eAAe,GAAGD,IAAI,CAACE,KAAK,CAAEH,KAAK,GAAG,CAAC,EAAEA,KAAM,CAAC;;IAEtD;IACA,IAAKE,eAAe,KAAK,GAAG,EAAG;MAC9B;IACD;IAEA,MAAME,iBAAiB,GAAGH,IAAI,CAACE,KAAK,CAAE,CAAC,EAAEH,KAAM,CAAC,CAACK,IAAI,CAAC,CAAC;IACvD,MAAMC,gBAAgB,GAAG,IAAAC,0BAAkB,EAAE,MAAO,CAAC,CAACC,MAAM,CAC3D,CAAE;MAAEC;IAAK,CAAC,KAAMA,IAAI,KAAK,QAC1B,CAAC;IACD,MAAMC,cAAc,GAAG,IAAAC,qBAAa,EACnCL,gBAAgB,EAChB,CAAE;MAAEM;IAAO,CAAC,KAAM;MACjB,OAAOR,iBAAiB,KAAKQ,MAAM;IACpC,CACD,CAAC;IAED,IAAK,CAAEF,cAAc,EAAG;MACvB;IACD;IAEA,MAAMG,OAAO,GAAG,IAAAC,sBAAY,EAAE;MAC7Bf,KAAK,EAAE,IAAAgB,gBAAM,EAAEhB,KAAK,EAAEb,iCAAsB,EAAE,CAAC,EAAEc,KAAM;IACxD,CAAE,CAAC;IACH,MAAMgB,KAAK,GAAGN,cAAc,CAACO,SAAS,CAAEJ,OAAQ,CAAC;IAEjDjB,eAAe,CAAE,GAAGnB,aAAa,CAAE,CAAEuC,KAAK,CAAG,CAAE,CAAC;IAChDrB,SAAS,CAAE,CAAEqB,KAAK,CAAG,CAAC;IACtBnB,QAAQ,CAACqB,QAAQ,CAAEC,YAAiB,CAAC,CAACC,6BAA6B,CAAC,CAAC;IAErE,OAAO,IAAI;EACZ;EAEA,SAASC,OAAOA,CAAEC,KAAK,EAAG;IACzB,MAAM;MAAEC,SAAS;MAAEd;IAAK,CAAC,GAAGa,KAAK;IACjC,MAAM;MACL5B,QAAQ;MACR8B,QAAQ;MACRC,oCAAoC;MACpCC,WAAW;MACX7B;IACD,CAAC,GAAGN,KAAK,CAACO,OAAO;;IAEjB;IACA,IAAKyB,SAAS,KAAK,YAAY,IAAId,IAAI,KAAK,gBAAgB,EAAG;MAC9D;IACD;IAEA,IAAKgB,oCAAoC,IAAIhC,SAAS,CAAC,CAAC,EAAG;MAC1D;IACD;IAEA,MAAMM,KAAK,GAAGL,QAAQ,CAAC,CAAC;IACxB,MAAMiC,WAAW,GAAGD,WAAW,CAACE,MAAM,CACrC,CAAEC,UAAU,EAAE;MAAEC;IAAoB,CAAC,KAAM;MAC1C,IAAKA,mBAAmB,EAAG;QAC1BD,UAAU,GAAGC,mBAAmB,CAAED,UAAW,CAAC;MAC/C;MAEA,OAAOA,UAAU;IAClB,CAAC,EACD,IAAAE,4CAAqB,EAAEhC,KAAM,CAC9B,CAAC;IAED,MAAM;MACLiC,oCAAoC;MACpCZ;IACD,CAAC,GAAGvB,QAAQ,CAACqB,QAAQ,CAAEC,YAAiB,CAAC;IAEzC,IAAKQ,WAAW,KAAK5B,KAAK,EAAG;MAC5BiC,oCAAoC,CAAC,CAAC;MACtCR,QAAQ,CAAE;QACT,GAAGG,WAAW;QACdM,aAAa,EAAElC,KAAK,CAACkC;MACtB,CAAE,CAAC;MACHb,6BAA6B,CAAC,CAAC;IAChC;EACD;EAEA5B,OAAO,CAAC0C,gBAAgB,CAAE,OAAO,EAAEb,OAAQ,CAAC;EAC5C7B,OAAO,CAAC0C,gBAAgB,CAAE,gBAAgB,EAAEb,OAAQ,CAAC;EACrD,OAAO,MAAM;IACZ7B,OAAO,CAAC2C,mBAAmB,CAAE,OAAO,EAAEd,OAAQ,CAAC;IAC/C7B,OAAO,CAAC2C,mBAAmB,CAAE,gBAAgB,EAAEd,OAAQ,CAAC;EACzD,CAAC;AACF,CAAC;AAAAe,OAAA,CAAAC,OAAA,GAAA/C,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _store = require("../../../store");
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* When the browser is about to auto correct, add an undo level so the user can
|
|
13
|
+
* revert the change.
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} props
|
|
16
|
+
*/
|
|
17
|
+
var _default = props => element => {
|
|
18
|
+
function onInput(event) {
|
|
19
|
+
if (event.inputType !== 'insertReplacementText') {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const {
|
|
23
|
+
registry
|
|
24
|
+
} = props.current;
|
|
25
|
+
registry.dispatch(_store.store).__unstableMarkLastChangeAsPersistent();
|
|
26
|
+
}
|
|
27
|
+
element.addEventListener('beforeinput', onInput);
|
|
28
|
+
return () => {
|
|
29
|
+
element.removeEventListener('beforeinput', onInput);
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.default = _default;
|
|
33
|
+
//# sourceMappingURL=insert-replacement-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_store","require","_default","props","element","onInput","event","inputType","registry","current","dispatch","blockEditorStore","__unstableMarkLastChangeAsPersistent","addEventListener","removeEventListener","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/event-listeners/insert-replacement-text.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * When the browser is about to auto correct, add an undo level so the user can\n * revert the change.\n *\n * @param {Object} props\n */\nexport default ( props ) => ( element ) => {\n\tfunction onInput( event ) {\n\t\tif ( event.inputType !== 'insertReplacementText' ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { registry } = props.current;\n\t\tregistry\n\t\t\t.dispatch( blockEditorStore )\n\t\t\t.__unstableMarkLastChangeAsPersistent();\n\t}\n\n\telement.addEventListener( 'beforeinput', onInput );\n\treturn () => {\n\t\telement.removeEventListener( 'beforeinput', onInput );\n\t};\n};\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AALA,IAAAC,QAAA,GAMiBC,KAAK,IAAQC,OAAO,IAAM;EAC1C,SAASC,OAAOA,CAAEC,KAAK,EAAG;IACzB,IAAKA,KAAK,CAACC,SAAS,KAAK,uBAAuB,EAAG;MAClD;IACD;IAEA,MAAM;MAAEC;IAAS,CAAC,GAAGL,KAAK,CAACM,OAAO;IAClCD,QAAQ,CACNE,QAAQ,CAAEC,YAAiB,CAAC,CAC5BC,oCAAoC,CAAC,CAAC;EACzC;EAEAR,OAAO,CAACS,gBAAgB,CAAE,aAAa,EAAER,OAAQ,CAAC;EAClD,OAAO,MAAM;IACZD,OAAO,CAACU,mBAAmB,CAAE,aAAa,EAAET,OAAQ,CAAC;EACtD,CAAC;AACF,CAAC;AAAAU,OAAA,CAAAC,OAAA,GAAAd,QAAA","ignoreList":[]}
|