@wordpress/block-editor 12.12.2-next.f8d8eceb.0 → 12.14.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 +3 -1
- package/build/components/block-heading-level-dropdown/index.js +1 -1
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-list/index.js +2 -9
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list-appender/index.js +16 -3
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +6 -4
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-styles/index.js +0 -8
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +18 -14
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-tools/back-compat.js +2 -2
- package/build/components/block-tools/back-compat.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +11 -81
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/empty-block-inserter.js +56 -0
- package/build/components/block-tools/empty-block-inserter.js.map +1 -0
- package/build/components/block-tools/index.js +48 -9
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/selected-block-tools.js +113 -0
- package/build/components/block-tools/selected-block-tools.js.map +1 -0
- package/build/components/block-tools/use-selected-block-tool-props.js +56 -0
- package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -0
- package/build/components/editable-text/index.js +1 -2
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/iframe/index.js +4 -3
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/{explorer.js → index.js} +7 -7
- package/build/components/inserter/block-patterns-explorer/index.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +4 -4
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -0
- package/build/components/inserter/block-patterns-tab/index.js +75 -0
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +48 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +108 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -0
- package/build/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +18 -34
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -0
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +55 -0
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -0
- package/build/components/inserter/block-patterns-tab/utils.js +70 -0
- package/build/components/inserter/block-patterns-tab/utils.js.map +1 -0
- package/build/components/inserter/media-tab/media-list.js +9 -5
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +15 -12
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/menu.js +3 -4
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/link-control/index.js +6 -5
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +39 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +16 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/index.js +3 -2
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +69 -18
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +1 -14
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +1 -1
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/rich-text/index.js +0 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +3 -1
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/native/format-edit.js +45 -0
- package/build/components/rich-text/native/format-edit.js.map +1 -0
- package/build/components/rich-text/native/get-format-colors.native.js +41 -0
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -0
- package/build/components/rich-text/native/index.js +9 -0
- package/build/components/rich-text/native/index.js.map +1 -0
- package/build/components/rich-text/native/index.native.js +1158 -0
- package/build/components/rich-text/native/index.native.js.map +1 -0
- package/build/components/rich-text/native/toolbar-button-with-options.native.js +58 -0
- package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -0
- package/build/components/rich-text/native/use-format-types.js +111 -0
- package/build/components/rich-text/native/use-format-types.js.map +1 -0
- package/build/components/rich-text/use-paste-handler.js +2 -5
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +2 -1
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +7 -3
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +10 -10
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +2 -2
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/anchor.js +7 -6
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/background.js +16 -4
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +7 -8
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-rename-ui.js +7 -5
- package/build/hooks/block-rename-ui.js.map +1 -1
- package/build/hooks/content-lock-ui.js +5 -5
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +8 -7
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-fields.js +4 -4
- package/build/hooks/custom-fields.js.map +1 -1
- package/build/hooks/duotone.js +14 -22
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/layout.js +90 -86
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +10 -9
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +10 -13
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/utils.js +30 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +3 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +30 -37
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +18 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +16 -13
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-list/index.js +3 -10
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +16 -3
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +7 -5
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +0 -8
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +17 -13
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +1 -1
- package/build-module/components/block-tools/back-compat.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +11 -80
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/empty-block-inserter.js +48 -0
- package/build-module/components/block-tools/empty-block-inserter.js.map +1 -0
- package/build-module/components/block-tools/index.js +48 -9
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/selected-block-tools.js +105 -0
- package/build-module/components/block-tools/selected-block-tools.js.map +1 -0
- package/build-module/components/block-tools/use-selected-block-tool-props.js +50 -0
- package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -0
- package/build-module/components/editable-text/index.js +1 -2
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -3
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/{explorer.js → index.js} +5 -5
- package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +2 -2
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab/index.js +66 -0
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +42 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +100 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -0
- package/build-module/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +7 -20
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +47 -0
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab/utils.js +58 -0
- package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -0
- package/build-module/components/inserter/media-tab/media-list.js +9 -5
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +15 -12
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/menu.js +4 -3
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/link-control/index.js +7 -6
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +39 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +16 -3
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +69 -17
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +1 -14
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +1 -1
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +0 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +3 -1
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/format-edit.js +38 -0
- package/build-module/components/rich-text/native/format-edit.js.map +1 -0
- package/build-module/components/rich-text/native/get-format-colors.native.js +34 -0
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -0
- package/build-module/components/rich-text/native/index.js +2 -0
- package/build-module/components/rich-text/native/index.js.map +1 -0
- package/build-module/components/rich-text/native/index.native.js +1148 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -0
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +51 -0
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -0
- package/build-module/components/rich-text/native/use-format-types.js +104 -0
- package/build-module/components/rich-text/native/use-format-types.js.map +1 -0
- package/build-module/components/rich-text/use-paste-handler.js +2 -5
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +2 -1
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +7 -3
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +8 -8
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +2 -2
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/anchor.js +5 -4
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/background.js +17 -5
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +5 -6
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-rename-ui.js +5 -3
- package/build-module/hooks/block-rename-ui.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +3 -3
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +6 -5
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-fields.js +4 -4
- package/build-module/hooks/custom-fields.js.map +1 -1
- package/build-module/hooks/duotone.js +15 -23
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/layout.js +90 -86
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +11 -10
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +10 -13
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/utils.js +30 -1
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +4 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +29 -37
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +17 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +15 -13
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +16 -15
- package/build-style/style.css +16 -15
- package/package.json +31 -31
- package/src/components/block-heading-level-dropdown/index.js +1 -1
- package/src/components/block-list/index.js +4 -18
- package/src/components/block-list-appender/index.js +20 -4
- package/src/components/block-quick-navigation/index.js +11 -5
- package/src/components/block-styles/index.js +0 -10
- package/src/components/block-switcher/pattern-transformations-menu.js +20 -14
- package/src/components/block-toolbar/style.scss +8 -0
- package/src/components/block-tools/back-compat.js +1 -1
- package/src/components/block-tools/block-contextual-toolbar.js +11 -134
- package/src/components/block-tools/empty-block-inserter.js +56 -0
- package/src/components/block-tools/index.js +72 -16
- package/src/components/block-tools/selected-block-tools.js +127 -0
- package/src/components/block-tools/style.scss +0 -10
- package/src/components/block-tools/use-selected-block-tool-props.js +66 -0
- package/src/components/editable-text/index.js +1 -8
- package/src/components/iframe/index.js +4 -3
- package/src/components/inserter/block-patterns-explorer/{explorer.js → index.js} +4 -4
- package/src/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +4 -1
- package/src/components/inserter/block-patterns-tab/index.js +118 -0
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +48 -0
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +175 -0
- package/src/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +15 -21
- package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +96 -0
- package/src/components/inserter/block-patterns-tab/utils.js +76 -0
- package/src/components/inserter/media-tab/media-list.js +7 -7
- package/src/components/inserter/media-tab/media-preview.js +27 -22
- package/src/components/inserter/menu.js +4 -5
- package/src/components/link-control/README.md +2 -2
- package/src/components/link-control/index.js +15 -6
- package/src/components/link-control/style.scss +8 -5
- package/src/components/list-view/block-select-button.js +44 -1
- package/src/components/list-view/block.js +11 -11
- package/src/components/list-view/index.js +2 -0
- package/src/components/media-replace-flow/style.scss +2 -2
- package/src/components/navigable-toolbar/index.js +71 -25
- package/src/components/plain-text/README.md +3 -3
- package/src/components/provider/use-block-sync.js +2 -21
- package/src/components/resizable-box-popover/index.js +1 -1
- package/src/components/rich-text/README.md +9 -8
- package/src/components/rich-text/index.js +0 -1
- package/src/components/rich-text/index.native.js +3 -1
- package/src/components/rich-text/native/format-edit.js +44 -0
- package/src/components/rich-text/native/get-format-colors.native.js +54 -0
- package/src/components/rich-text/native/index.js +1 -0
- package/src/components/rich-text/native/index.native.js +1363 -0
- package/src/components/rich-text/native/style.native.scss +28 -0
- package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +79 -0
- package/src/components/rich-text/native/test/index.native.js +278 -0
- package/src/components/rich-text/native/test/performance/rich-text.native.js +44 -0
- package/src/components/rich-text/native/toolbar-button-with-options.native.js +61 -0
- package/src/components/rich-text/native/use-format-types.js +146 -0
- package/src/components/rich-text/use-paste-handler.js +1 -6
- package/src/components/url-popover/image-url-input-ui.js +1 -0
- package/src/components/writing-flow/use-tab-nav.js +8 -3
- package/src/hooks/align.js +8 -8
- package/src/hooks/align.native.js +2 -2
- package/src/hooks/anchor.js +21 -23
- package/src/hooks/background.js +28 -6
- package/src/hooks/block-hooks.js +20 -16
- package/src/hooks/block-rename-ui.js +6 -4
- package/src/hooks/content-lock-ui.js +3 -3
- package/src/hooks/custom-class-name.js +7 -6
- package/src/hooks/custom-fields.js +5 -5
- package/src/hooks/duotone.js +29 -38
- package/src/hooks/layout.js +114 -105
- package/src/hooks/position.js +8 -21
- package/src/hooks/style.js +17 -31
- package/src/hooks/test/align.js +4 -4
- package/src/hooks/utils.js +33 -1
- package/src/private-apis.js +4 -1
- package/src/store/actions.js +26 -72
- package/src/store/reducer.js +19 -0
- package/src/store/selectors.js +13 -19
- package/build/components/block-tools/selected-block-popover.js +0 -221
- package/build/components/block-tools/selected-block-popover.js.map +0 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +0 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +0 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +0 -1
- package/build/components/inserter/block-patterns-filter.js.map +0 -1
- package/build/components/inserter/block-patterns-tab.js +0 -270
- package/build/components/inserter/block-patterns-tab.js.map +0 -1
- package/build/store/utils.js +0 -22
- package/build/store/utils.js.map +0 -1
- package/build-module/components/block-tools/selected-block-popover.js +0 -213
- package/build-module/components/block-tools/selected-block-popover.js.map +0 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +0 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +0 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +0 -1
- package/build-module/components/inserter/block-patterns-filter.js.map +0 -1
- package/build-module/components/inserter/block-patterns-tab.js +0 -254
- package/build-module/components/inserter/block-patterns-tab.js.map +0 -1
- package/build-module/store/utils.js +0 -16
- package/build-module/store/utils.js.map +0 -1
- package/src/components/block-tools/selected-block-popover.js +0 -265
- package/src/components/inserter/block-patterns-tab.js +0 -448
- package/src/store/utils.js +0 -12
- /package/src/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_compose","_richText","_deprecated","_components","_autocomplete","_blockEdit","_formatToolbarContainer","_store","_useUndoAutomaticChange","_useMarkPersistent","_usePasteHandler","_useBeforeInputRules","_useInputRules","_useDelete","_useEnter","_useFormatTypes","_useRemoveBrowserShortcuts","_useShortcuts","_useInputEvents","_useInsertReplacementText","_useFirefoxCompat","_formatEdit","_utils","_content","_multiline","_shortcut","_toolbarButton","_inputEvent","keyboardShortcutContext","createContext","exports","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","children","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","useRef","clientId","useBlockEditContext","selector","select","getSelectionStart","getSelectionEnd","blockEditorStore","selectionStart","selectionEnd","undefined","attributeKey","offset","useSelect","getBlockRootClientId","selectionChange","useDispatch","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","onSelectionChange","useCallback","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","useFormatTypes","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","removeFormat","name","addInvisibleFormats","getValue","ref","richTextRef","useRichText","html","__unstableFormats","__unstableText","Object","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","useBlockEditorAutocompleteProps","completers","record","useMarkPersistent","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","_react","createElement","Fragment","Provider","Popover","__unstableSlotNameProvider","default","inline","editableContentElement","role","useMergeRefs","useBeforeInputRules","useInputRules","useInsertReplacementText","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useUndoAutomaticChange","usePasteHandler","useDelete","useEnter","useFirefoxCompat","contentEditable","suppressContentEditableWarning","className","classnames","tabIndex","ForwardedRichTextWrapper","forwardRef","RichTextSwitcher","Array","isArray","deprecated","since","version","alternative","link","childrenSource","toHTML","newValue","fromDOM","__unstableCreateElement","document","childNodes","Component","RichTextMultiline","instanceId","useInstanceId","ForwardedRichTextContainer","Content","isEmpty","_default"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\t__unstableCreateElement,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport RichTextMultiline from './multiline';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\tconst { getSelectionStart, getSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst { selectionStart, selectionEnd, isSelected } = useSelect( selector );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ true }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={ props.tabIndex === 0 ? null : props.tabIndex }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextWrapper = forwardRef( RichTextWrapper );\n\nfunction RichTextSwitcher( props, ref ) {\n\tlet value = props.value;\n\tlet onChange = props.onChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\n\t\tvalue = childrenSource.toHTML( props.value );\n\t\tonChange = ( newValue ) =>\n\t\t\tprops.onChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst Component = props.multiline\n\t\t? RichTextMultiline\n\t\t: ForwardedRichTextWrapper;\n\tconst instanceId = useInstanceId( RichTextSwitcher );\n\n\treturn (\n\t\t<Component\n\t\t\t{ ...props }\n\t\t\tidentifier={ props.identifier || instanceId }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextSwitcher );\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_compose","_richText","_deprecated","_components","_autocomplete","_blockEdit","_formatToolbarContainer","_store","_useUndoAutomaticChange","_useMarkPersistent","_usePasteHandler","_useBeforeInputRules","_useInputRules","_useDelete","_useEnter","_useFormatTypes","_useRemoveBrowserShortcuts","_useShortcuts","_useInputEvents","_useInsertReplacementText","_useFirefoxCompat","_formatEdit","_utils","_content","_multiline","_shortcut","_toolbarButton","_inputEvent","keyboardShortcutContext","createContext","exports","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","children","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","useRef","clientId","useBlockEditContext","selector","select","getSelectionStart","getSelectionEnd","blockEditorStore","selectionStart","selectionEnd","undefined","attributeKey","offset","useSelect","getBlockRootClientId","selectionChange","useDispatch","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","onSelectionChange","useCallback","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","useFormatTypes","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","removeFormat","name","addInvisibleFormats","getValue","ref","richTextRef","useRichText","html","__unstableFormats","__unstableText","Object","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","useBlockEditorAutocompleteProps","completers","record","useMarkPersistent","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","_react","createElement","Fragment","Provider","Popover","__unstableSlotNameProvider","default","inline","editableContentElement","role","useMergeRefs","useBeforeInputRules","useInputRules","useInsertReplacementText","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useUndoAutomaticChange","usePasteHandler","useDelete","useEnter","useFirefoxCompat","contentEditable","suppressContentEditableWarning","className","classnames","tabIndex","ForwardedRichTextWrapper","forwardRef","RichTextSwitcher","Array","isArray","deprecated","since","version","alternative","link","childrenSource","toHTML","newValue","fromDOM","__unstableCreateElement","document","childNodes","Component","RichTextMultiline","instanceId","useInstanceId","ForwardedRichTextContainer","Content","isEmpty","_default"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\t__unstableCreateElement,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport deprecated from '@wordpress/deprecated';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport RichTextMultiline from './multiline';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst { clientId } = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\tconst { getSelectionStart, getSelectionEnd } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst { selectionStart, selectionEnd, isSelected } = useSelect( selector );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ true }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={ props.tabIndex === 0 ? null : props.tabIndex }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextWrapper = forwardRef( RichTextWrapper );\n\nfunction RichTextSwitcher( props, ref ) {\n\tlet value = props.value;\n\tlet onChange = props.onChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\n\t\tvalue = childrenSource.toHTML( props.value );\n\t\tonChange = ( newValue ) =>\n\t\t\tprops.onChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst Component = props.multiline\n\t\t? RichTextMultiline\n\t\t: ForwardedRichTextWrapper;\n\tconst instanceId = useInstanceId( RichTextSwitcher );\n\n\treturn (\n\t\t<Component\n\t\t\t{ ...props }\n\t\t\tidentifier={ props.identifier || instanceId }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextSwitcher );\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ var _store = require("../../store");
|
|
|
40
40
|
var _utils = require("./utils");
|
|
41
41
|
var _embedHandlerPicker = _interopRequireDefault(require("./embed-handler-picker"));
|
|
42
42
|
var _content = require("./content");
|
|
43
|
+
var _native = _interopRequireDefault(require("./native"));
|
|
43
44
|
var _shortcut = require("./shortcut");
|
|
44
45
|
var _toolbarButton = require("./toolbar-button");
|
|
45
46
|
var _inputEvent = require("./input-event");
|
|
@@ -455,7 +456,7 @@ function RichTextWrapper({
|
|
|
455
456
|
__unstableMarkAutomaticChange();
|
|
456
457
|
}, [onReplace, __unstableMarkAutomaticChange]);
|
|
457
458
|
const mergedRef = (0, _compose.useMergeRefs)([forwardedRef, fallbackRef]);
|
|
458
|
-
return (0, _react.createElement)(
|
|
459
|
+
return (0, _react.createElement)(_native.default, {
|
|
459
460
|
clientId: clientId,
|
|
460
461
|
identifier: identifier,
|
|
461
462
|
ref: mergedRef,
|
|
@@ -569,6 +570,7 @@ ForwardedRichTextContainer.Content.defaultProps = {
|
|
|
569
570
|
format: 'string',
|
|
570
571
|
value: ''
|
|
571
572
|
};
|
|
573
|
+
ForwardedRichTextContainer.Raw = _native.default;
|
|
572
574
|
|
|
573
575
|
/**
|
|
574
576
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_compose","_richText","_url","_autocomplete","_blockEdit","_removeBrowserShortcuts","_filePasteHandler","_formatToolbarContainer","_store","_utils","_embedHandlerPicker","_content","_shortcut","_toolbarButton","_inputEvent","classes","RichTextWrapper","children","tagName","start","reversed","value","originalValue","onChange","originalOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitMiddle","onSplitMiddle","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","unstableOnFocus","__unstableAllowPrefixTransformations","__unstableMultilineRootTag","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","onBlur","setRef","disableSuggestions","disableAutocorrection","containerWidth","onEnter","onCustomEnter","props","forwardedRef","instanceId","useInstanceId","fallbackRef","useRef","clientId","blockIsSelected","useBlockEditContext","embedHandlerPickerRef","selector","select","getSelectionStart","getSelectionEnd","getSettings","didAutomaticChange","getBlock","isMultiSelecting","hasMultiSelection","blockEditorStore","selectionStart","selectionEnd","__experimentalUndo","undo","undefined","attributeKey","extraProps","Platform","OS","block","shouldBlurOnUnmount","isUnmodifiedDefaultBlock","offset","disabled","useSelect","__unstableMarkLastChangeAsPersistent","enterFormattedText","exitFormattedText","selectionChange","__unstableMarkAutomaticChange","useDispatch","multilineTag","getMultilineTag","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","adjustedValue","adjustedOnChange","Array","isArray","childrenSource","toHTML","newValue","fromDOM","__unstableCreateElement","document","childNodes","onSelectionChange","useCallback","selectionChangeStart","selectionChangeEnd","onDelete","isReverse","isEmpty","splitValue","record","pastedBlocks","blocks","before","after","split","hasPastedBlocks","lastPastedBlockIndex","isAfterOriginal","push","toHTMLString","indexToSelect","initialPosition","shiftKey","canSplit","transforms","getBlockTransforms","filter","type","transformation","findTransform","item","regExp","test","text","transform","content","splitStart","end","splitEnd","canSplitAtEnd","insert","slice","remove","onPaste","html","plainText","isInternal","files","activeFormats","pastedValue","create","multilineWrapperTags","addActiveFormats","pasteHandler","HTML","filePasteHandler","mode","window","console","log","isPastedURL","isURL","trim","presentEmbedHandlerPicker","current","presentPicker","createEmbed","createLink","createLinkInParagraph","valueToInsert","canPasteEmbed","name","inputRule","valueToFormat","startPosition","characterBefore","trimmedTextBefore","prefixTransforms","prefix","mergedRef","useMergeRefs","_react","createElement","__experimentalRichText","ref","__unstableIsSelected","__unstableInputRule","__unstableMultilineTag","__unstableOnEnterFormattedText","__unstableOnExitFormattedText","__unstableOnCreateUndoLevel","__unstableDidAutomaticChange","__unstableUndo","id","style","nestedIsSelected","onFocus","editableProps","editableTagName","TagName","Fragment","default","inline","anchorRef","RemoveBrowserShortcuts","completers","contentRef","listBoxId","activeId","onKeyDown","className","classnames","event","ForwardedRichTextContainer","forwardRef","Content","defaultProps","format","_default","exports"],"sources":["@wordpress/block-editor/src/components/rich-text/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useRef, useCallback, forwardRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tpasteHandler,\n\tchildren as childrenSource,\n\tgetBlockTransforms,\n\tfindTransform,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__experimentalRichText as RichText,\n\t__unstableCreateElement,\n\tisEmpty,\n\tinsert,\n\tremove,\n\tcreate,\n\tsplit,\n\ttoHTMLString,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Autocomplete from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport { RemoveBrowserShortcuts } from './remove-browser-shortcuts';\nimport { filePasteHandler } from './file-paste-handler';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport {\n\taddActiveFormats,\n\tgetMultilineTag,\n\tgetAllowedFormats,\n\tcreateLinkInParagraph,\n} from './utils';\nimport EmbedHandlerPicker from './embed-handler-picker';\nimport { Content } from './content';\n\nconst classes = 'block-editor-rich-text__editable';\n\nfunction RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName,\n\t\tstart,\n\t\treversed,\n\t\tvalue: originalValue,\n\t\tonChange: originalOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitMiddle: onSplitMiddle,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\tunstableOnFocus,\n\t\t__unstableAllowPrefixTransformations,\n\t\t__unstableMultilineRootTag,\n\t\t// Native props.\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonBlur,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\tcontainerWidth,\n\t\tonEnter: onCustomEnter,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tconst instanceId = useInstanceId( RichTextWrapper );\n\n\tidentifier = identifier || instanceId;\n\n\tconst fallbackRef = useRef();\n\tconst { clientId, isSelected: blockIsSelected } = useBlockEditContext();\n\tconst embedHandlerPickerRef = useRef();\n\tconst selector = ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectionEnd,\n\t\t\tgetSettings,\n\t\t\tdidAutomaticChange,\n\t\t\tgetBlock,\n\t\t\tisMultiSelecting,\n\t\t\thasMultiSelection,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst { __experimentalUndo: undo } = getSettings();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\tlet extraProps = {};\n\t\tif ( Platform.OS === 'native' ) {\n\t\t\t// If the block of this RichText is unmodified then it's a candidate for replacing when adding a new block.\n\t\t\t// In order to fix https://github.com/wordpress-mobile/gutenberg-mobile/issues/1126, let's blur on unmount in that case.\n\t\t\t// This apparently assumes functionality the BlockHlder actually.\n\t\t\tconst block = clientId && getBlock( clientId );\n\t\t\tconst shouldBlurOnUnmount =\n\t\t\t\tblock && isSelected && isUnmodifiedDefaultBlock( block );\n\t\t\textraProps = {\n\t\t\t\tshouldBlurOnUnmount,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tdidAutomaticChange: didAutomaticChange(),\n\t\t\tdisabled: isMultiSelecting() || hasMultiSelection(),\n\t\t\tundo,\n\t\t\t...extraProps,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst {\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tisSelected,\n\t\tdidAutomaticChange,\n\t\tdisabled,\n\t\tundo,\n\t\tshouldBlurOnUnmount,\n\t} = useSelect( selector );\n\tconst {\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tenterFormattedText,\n\t\texitFormattedText,\n\t\tselectionChange,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\tconst multilineTag = getMultilineTag( multiline );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\tlet adjustedValue = originalValue;\n\tlet adjustedOnChange = originalOnChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( originalValue ) ) {\n\t\tadjustedValue = childrenSource.toHTML( originalValue );\n\t\tadjustedOnChange = ( newValue ) =>\n\t\t\toriginalOnChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst onSelectionChange = useCallback(\n\t\t( selectionChangeStart, selectionChangeEnd ) => {\n\t\t\tselectionChange(\n\t\t\t\tclientId,\n\t\t\t\tidentifier,\n\t\t\t\tselectionChangeStart,\n\t\t\t\tselectionChangeEnd\n\t\t\t);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst onDelete = useCallback(\n\t\t( { value, isReverse } ) => {\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\tif ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\tonRemove( ! isReverse );\n\t\t\t}\n\t\t},\n\t\t[ onMerge, onRemove ]\n\t);\n\n\t/**\n\t * Signals to the RichText owner that the block can be replaced with two\n\t * blocks as a result of splitting the block by pressing enter, or with\n\t * blocks as a result of splitting the block by pasting block content in the\n\t * instance.\n\t *\n\t * @param {Object} record The rich text value to split.\n\t * @param {Array} pastedBlocks The pasted blocks to insert, if any.\n\t */\n\tconst splitValue = useCallback(\n\t\t( record, pastedBlocks = [] ) => {\n\t\t\tif ( ! onReplace || ! onSplit ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blocks = [];\n\t\t\tconst [ before, after ] = split( record );\n\t\t\tconst hasPastedBlocks = pastedBlocks.length > 0;\n\t\t\tlet lastPastedBlockIndex = -1;\n\n\t\t\t// Consider the after value to be the original it is not empty and\n\t\t\t// the before value *is* empty.\n\t\t\tconst isAfterOriginal = isEmpty( before ) && ! isEmpty( after );\n\n\t\t\t// Create a block with the content before the caret if there's no pasted\n\t\t\t// blocks, or if there are pasted blocks and the value is not empty.\n\t\t\t// We do not want a leading empty block on paste, but we do if split\n\t\t\t// with e.g. the enter key.\n\t\t\tif ( ! hasPastedBlocks || ! isEmpty( before ) ) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: before,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t! isAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tlastPastedBlockIndex += 1;\n\t\t\t}\n\n\t\t\tif ( hasPastedBlocks ) {\n\t\t\t\tblocks.push( ...pastedBlocks );\n\t\t\t\tlastPastedBlockIndex += pastedBlocks.length;\n\t\t\t} else if ( onSplitMiddle ) {\n\t\t\t\tblocks.push( onSplitMiddle() );\n\t\t\t}\n\n\t\t\t// If there's pasted blocks, append a block with non empty content\n\t\t\t// after the caret. Otherwise, do append an empty block if there\n\t\t\t// is no `onSplitMiddle` prop, but if there is and the content is\n\t\t\t// empty, the middle block is enough to set focus in.\n\t\t\tif (\n\t\t\t\thasPastedBlocks\n\t\t\t\t\t? ! isEmpty( after )\n\t\t\t\t\t: ! onSplitMiddle || ! isEmpty( after )\n\t\t\t) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: after,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tisAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If there are pasted blocks, set the selection to the last one.\n\t\t\t// Otherwise, set the selection to the second block.\n\t\t\tconst indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1;\n\n\t\t\t// If there are pasted blocks, move the caret to the end of the selected block\n\t\t\t// Otherwise, retain the default value.\n\t\t\tconst initialPosition = hasPastedBlocks ? -1 : 0;\n\n\t\t\tonReplace( blocks, indexToSelect, initialPosition );\n\t\t},\n\t\t[ onReplace, onSplit, multilineTag, onSplitMiddle ]\n\t);\n\n\tconst onEnter = useCallback(\n\t\t( { value, onChange, shiftKey } ) => {\n\t\t\tconst canSplit = onReplace && onSplit;\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t);\n\t\t\t\tconst transformation = findTransform( transforms, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( value.text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tonReplace( [\n\t\t\t\t\t\ttransformation.transform( { content: value.text } ),\n\t\t\t\t\t] );\n\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( onCustomEnter ) {\n\t\t\t\tonCustomEnter();\n\t\t\t}\n\n\t\t\tconst { text, start: splitStart, end: splitEnd } = value;\n\t\t\tconst canSplitAtEnd =\n\t\t\t\tonSplitAtEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length;\n\n\t\t\tif ( shiftKey ) {\n\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t\t}\n\t\t\t} else if ( canSplit ) {\n\t\t\t\tsplitValue( value );\n\t\t\t} else if ( canSplitAtEnd ) {\n\t\t\t\tonSplitAtEnd();\n\t\t\t} else if (\n\t\t\t\t// For some blocks it's desirable to split at the end of the\n\t\t\t\t// block when there are two line breaks at the end of the\n\t\t\t\t// block, so triple Enter exits the block.\n\t\t\t\tonSplitAtDoubleLineEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length &&\n\t\t\t\ttext.slice( -2 ) === '\\n\\n'\n\t\t\t) {\n\t\t\t\tvalue.start = value.end - 2;\n\t\t\t\tonChange( remove( value ) );\n\t\t\t\tonSplitAtDoubleLineEnd();\n\t\t\t} else if ( ! disableLineBreaks ) {\n\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t}\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t\tmultiline,\n\t\t\tsplitValue,\n\t\t\tonSplitAtEnd,\n\t\t]\n\t);\n\n\tconst onPaste = useCallback(\n\t\t( {\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\thtml,\n\t\t\tplainText,\n\t\t\tisInternal,\n\t\t\tfiles,\n\t\t\tactiveFormats,\n\t\t} ) => {\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tmultilineTag === 'li' ? [ 'ul', 'ol' ] : undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tconst isPastedURL = isURL( plainText.trim() );\n\t\t\tconst presentEmbedHandlerPicker = () =>\n\t\t\t\tembedHandlerPickerRef.current?.presentPicker( {\n\t\t\t\t\tcreateEmbed: () =>\n\t\t\t\t\t\tonReplace( content, content.length - 1, -1 ),\n\t\t\t\t\tcreateLink: () =>\n\t\t\t\t\t\tcreateLinkInParagraph( plainText.trim(), onReplace ),\n\t\t\t\t} );\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisPastedURL\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\t// When an URL is pasted in an empty paragraph then the EmbedHandlerPicker should showcase options allowing the transformation of that URL\n\t\t\t\t// into either an Embed block or a link within the target paragraph. If the paragraph is non-empty, the URL is pasted as text.\n\t\t\t\tconst canPasteEmbed =\n\t\t\t\t\tisPastedURL &&\n\t\t\t\t\tcontent.length === 1 &&\n\t\t\t\t\tcontent[ 0 ].name === 'core/embed';\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( __unstableEmbedURLOnPaste ) {\n\t\t\t\t\t\t\tpresentEmbedHandlerPicker();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttagName,\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\tsplitValue,\n\t\t\t__unstableEmbedURLOnPaste,\n\t\t\tmultilineTag,\n\t\t\tpreserveWhiteSpace,\n\t\t\tpastePlainText,\n\t\t]\n\t);\n\n\tconst inputRule = useCallback(\n\t\t( value, valueToFormat ) => {\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { start: startPosition, text } = value;\n\t\t\tconst characterBefore = text.slice(\n\t\t\t\tstartPosition - 1,\n\t\t\t\tstartPosition\n\t\t\t);\n\n\t\t\t// The character right before the caret must be a plain space.\n\t\t\tif ( characterBefore !== ' ' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst trimmedTextBefore = text.slice( 0, startPosition ).trim();\n\t\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t( { type } ) => type === 'prefix'\n\t\t\t);\n\t\t\tconst transformation = findTransform(\n\t\t\t\tprefixTransforms,\n\t\t\t\t( { prefix } ) => {\n\t\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst content = valueToFormat(\n\t\t\t\tslice( value, startPosition, text.length )\n\t\t\t);\n\t\t\tconst block = transformation.transform( content );\n\n\t\t\tonReplace( [ block ] );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t},\n\t\t[ onReplace, __unstableMarkAutomaticChange ]\n\t);\n\n\tconst mergedRef = useMergeRefs( [ forwardedRef, fallbackRef ] );\n\n\treturn (\n\t\t<RichText\n\t\t\tclientId={ clientId }\n\t\t\tidentifier={ identifier }\n\t\t\tref={ mergedRef }\n\t\t\tvalue={ adjustedValue }\n\t\t\tonChange={ adjustedOnChange }\n\t\t\tselectionStart={ selectionStart }\n\t\t\tselectionEnd={ selectionEnd }\n\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\ttagName={ tagName }\n\t\t\tstart={ start }\n\t\t\treversed={ reversed }\n\t\t\tplaceholder={ placeholder }\n\t\t\tallowedFormats={ adjustedAllowedFormats }\n\t\t\twithoutInteractiveFormatting={ withoutInteractiveFormatting }\n\t\t\tonEnter={ onEnter }\n\t\t\tonDelete={ onDelete }\n\t\t\tonPaste={ onPaste }\n\t\t\t__unstableIsSelected={ isSelected }\n\t\t\t__unstableInputRule={ inputRule }\n\t\t\t__unstableMultilineTag={ multilineTag }\n\t\t\t__unstableOnEnterFormattedText={ enterFormattedText }\n\t\t\t__unstableOnExitFormattedText={ exitFormattedText }\n\t\t\t__unstableOnCreateUndoLevel={ __unstableMarkLastChangeAsPersistent }\n\t\t\t__unstableMarkAutomaticChange={ __unstableMarkAutomaticChange }\n\t\t\t__unstableDidAutomaticChange={ didAutomaticChange }\n\t\t\t__unstableUndo={ undo }\n\t\t\t__unstableDisableFormats={ disableFormats }\n\t\t\tpreserveWhiteSpace={ preserveWhiteSpace }\n\t\t\tdisabled={ disabled }\n\t\t\tunstableOnFocus={ unstableOnFocus }\n\t\t\t__unstableAllowPrefixTransformations={\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t}\n\t\t\t__unstableMultilineRootTag={ __unstableMultilineRootTag }\n\t\t\t// Native props.\n\t\t\tblockIsSelected={\n\t\t\t\toriginalIsSelected !== undefined\n\t\t\t\t\t? originalIsSelected\n\t\t\t\t\t: blockIsSelected\n\t\t\t}\n\t\t\tshouldBlurOnUnmount={ shouldBlurOnUnmount }\n\t\t\t__unstableMobileNoFocusOnMount={ __unstableMobileNoFocusOnMount }\n\t\t\tdeleteEnter={ deleteEnter }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\ttextAlign={ textAlign }\n\t\t\tselectionColor={ selectionColor }\n\t\t\ttagsToEliminate={ tagsToEliminate }\n\t\t\tdisableEditingMenu={ disableEditingMenu }\n\t\t\tfontSize={ fontSize }\n\t\t\tfontFamily={ fontFamily }\n\t\t\tfontWeight={ fontWeight }\n\t\t\tfontStyle={ fontStyle }\n\t\t\tminWidth={ minWidth }\n\t\t\tmaxWidth={ maxWidth }\n\t\t\tonBlur={ onBlur }\n\t\t\tsetRef={ setRef }\n\t\t\tdisableSuggestions={ disableSuggestions }\n\t\t\tdisableAutocorrection={ disableAutocorrection }\n\t\t\tcontainerWidth={ containerWidth }\n\t\t\t// Props to be set on the editable container are destructured on the\n\t\t\t// element itself for web (see below), but passed through rich text\n\t\t\t// for native.\n\t\t\tid={ props.id }\n\t\t\tstyle={ props.style }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tisSelected: nestedIsSelected,\n\t\t\t\tvalue,\n\t\t\t\tonChange,\n\t\t\t\tonFocus,\n\t\t\t\teditableProps,\n\t\t\t\teditableTagName: TagName,\n\t\t\t} ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ children && children( { value, onChange, onFocus } ) }\n\t\t\t\t\t{ nestedIsSelected && hasFormats && (\n\t\t\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\t\t\tanchorRef={ fallbackRef.current }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ nestedIsSelected && <RemoveBrowserShortcuts /> }\n\t\t\t\t\t<Autocomplete\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tcompleters={ autocompleters }\n\t\t\t\t\t\trecord={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisSelected={ nestedIsSelected }\n\t\t\t\t\t\tcontentRef={ fallbackRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { listBoxId, activeId, onKeyDown } ) => (\n\t\t\t\t\t\t\t<TagName\n\t\t\t\t\t\t\t\t{ ...editableProps }\n\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tprops.style\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...props.style,\n\t\t\t\t\t\t\t\t\t\t\t\t...editableProps.style,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: editableProps.style\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\teditableProps.className\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\taria-autocomplete={\n\t\t\t\t\t\t\t\t\tlistBoxId ? 'list' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-owns={ listBoxId }\n\t\t\t\t\t\t\t\taria-activedescendant={ activeId }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tonKeyDown( event );\n\t\t\t\t\t\t\t\t\teditableProps.onKeyDown( event );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Autocomplete>\n\t\t\t\t\t<EmbedHandlerPicker ref={ embedHandlerPickerRef } />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</RichText>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextWrapper );\n\nForwardedRichTextContainer.Content = Content;\n\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\nForwardedRichTextContainer.Content.defaultProps = {\n\tformat: 'string',\n\tvalue: '',\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_blocks","_compose","_richText","_url","_autocomplete","_blockEdit","_removeBrowserShortcuts","_filePasteHandler","_formatToolbarContainer","_store","_utils","_embedHandlerPicker","_content","_native","_shortcut","_toolbarButton","_inputEvent","classes","RichTextWrapper","children","tagName","start","reversed","value","originalValue","onChange","originalOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitMiddle","onSplitMiddle","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","unstableOnFocus","__unstableAllowPrefixTransformations","__unstableMultilineRootTag","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","onBlur","setRef","disableSuggestions","disableAutocorrection","containerWidth","onEnter","onCustomEnter","props","forwardedRef","instanceId","useInstanceId","fallbackRef","useRef","clientId","blockIsSelected","useBlockEditContext","embedHandlerPickerRef","selector","select","getSelectionStart","getSelectionEnd","getSettings","didAutomaticChange","getBlock","isMultiSelecting","hasMultiSelection","blockEditorStore","selectionStart","selectionEnd","__experimentalUndo","undo","undefined","attributeKey","extraProps","Platform","OS","block","shouldBlurOnUnmount","isUnmodifiedDefaultBlock","offset","disabled","useSelect","__unstableMarkLastChangeAsPersistent","enterFormattedText","exitFormattedText","selectionChange","__unstableMarkAutomaticChange","useDispatch","multilineTag","getMultilineTag","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","adjustedValue","adjustedOnChange","Array","isArray","childrenSource","toHTML","newValue","fromDOM","__unstableCreateElement","document","childNodes","onSelectionChange","useCallback","selectionChangeStart","selectionChangeEnd","onDelete","isReverse","isEmpty","splitValue","record","pastedBlocks","blocks","before","after","split","hasPastedBlocks","lastPastedBlockIndex","isAfterOriginal","push","toHTMLString","indexToSelect","initialPosition","shiftKey","canSplit","transforms","getBlockTransforms","filter","type","transformation","findTransform","item","regExp","test","text","transform","content","splitStart","end","splitEnd","canSplitAtEnd","insert","slice","remove","onPaste","html","plainText","isInternal","files","activeFormats","pastedValue","create","multilineWrapperTags","addActiveFormats","pasteHandler","HTML","filePasteHandler","mode","window","console","log","isPastedURL","isURL","trim","presentEmbedHandlerPicker","current","presentPicker","createEmbed","createLink","createLinkInParagraph","valueToInsert","canPasteEmbed","name","inputRule","valueToFormat","startPosition","characterBefore","trimmedTextBefore","prefixTransforms","prefix","mergedRef","useMergeRefs","_react","createElement","default","ref","__unstableIsSelected","__unstableInputRule","__unstableMultilineTag","__unstableOnEnterFormattedText","__unstableOnExitFormattedText","__unstableOnCreateUndoLevel","__unstableDidAutomaticChange","__unstableUndo","id","style","nestedIsSelected","onFocus","editableProps","editableTagName","TagName","Fragment","inline","anchorRef","RemoveBrowserShortcuts","completers","contentRef","listBoxId","activeId","onKeyDown","className","classnames","event","ForwardedRichTextContainer","forwardRef","Content","defaultProps","format","Raw","RichText","_default","exports"],"sources":["@wordpress/block-editor/src/components/rich-text/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useRef, useCallback, forwardRef } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tpasteHandler,\n\tchildren as childrenSource,\n\tgetBlockTransforms,\n\tfindTransform,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { useInstanceId, useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableCreateElement,\n\tisEmpty,\n\tinsert,\n\tremove,\n\tcreate,\n\tsplit,\n\ttoHTMLString,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport Autocomplete from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport { RemoveBrowserShortcuts } from './remove-browser-shortcuts';\nimport { filePasteHandler } from './file-paste-handler';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport {\n\taddActiveFormats,\n\tgetMultilineTag,\n\tgetAllowedFormats,\n\tcreateLinkInParagraph,\n} from './utils';\nimport EmbedHandlerPicker from './embed-handler-picker';\nimport { Content } from './content';\nimport RichText from './native';\n\nconst classes = 'block-editor-rich-text__editable';\n\nfunction RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName,\n\t\tstart,\n\t\treversed,\n\t\tvalue: originalValue,\n\t\tonChange: originalOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitMiddle: onSplitMiddle,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\tunstableOnFocus,\n\t\t__unstableAllowPrefixTransformations,\n\t\t__unstableMultilineRootTag,\n\t\t// Native props.\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tonBlur,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\tcontainerWidth,\n\t\tonEnter: onCustomEnter,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tconst instanceId = useInstanceId( RichTextWrapper );\n\n\tidentifier = identifier || instanceId;\n\n\tconst fallbackRef = useRef();\n\tconst { clientId, isSelected: blockIsSelected } = useBlockEditContext();\n\tconst embedHandlerPickerRef = useRef();\n\tconst selector = ( select ) => {\n\t\tconst {\n\t\t\tgetSelectionStart,\n\t\t\tgetSelectionEnd,\n\t\t\tgetSettings,\n\t\t\tdidAutomaticChange,\n\t\t\tgetBlock,\n\t\t\tisMultiSelecting,\n\t\t\thasMultiSelection,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst { __experimentalUndo: undo } = getSettings();\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\tlet extraProps = {};\n\t\tif ( Platform.OS === 'native' ) {\n\t\t\t// If the block of this RichText is unmodified then it's a candidate for replacing when adding a new block.\n\t\t\t// In order to fix https://github.com/wordpress-mobile/gutenberg-mobile/issues/1126, let's blur on unmount in that case.\n\t\t\t// This apparently assumes functionality the BlockHlder actually.\n\t\t\tconst block = clientId && getBlock( clientId );\n\t\t\tconst shouldBlurOnUnmount =\n\t\t\t\tblock && isSelected && isUnmodifiedDefaultBlock( block );\n\t\t\textraProps = {\n\t\t\t\tshouldBlurOnUnmount,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tdidAutomaticChange: didAutomaticChange(),\n\t\t\tdisabled: isMultiSelecting() || hasMultiSelection(),\n\t\t\tundo,\n\t\t\t...extraProps,\n\t\t};\n\t};\n\t// This selector must run on every render so the right selection state is\n\t// retrieved from the store on merge.\n\t// To do: fix this somehow.\n\tconst {\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tisSelected,\n\t\tdidAutomaticChange,\n\t\tdisabled,\n\t\tundo,\n\t\tshouldBlurOnUnmount,\n\t} = useSelect( selector );\n\tconst {\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tenterFormattedText,\n\t\texitFormattedText,\n\t\tselectionChange,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\tconst multilineTag = getMultilineTag( multiline );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\tlet adjustedValue = originalValue;\n\tlet adjustedOnChange = originalOnChange;\n\n\t// Handle deprecated format.\n\tif ( Array.isArray( originalValue ) ) {\n\t\tadjustedValue = childrenSource.toHTML( originalValue );\n\t\tadjustedOnChange = ( newValue ) =>\n\t\t\toriginalOnChange(\n\t\t\t\tchildrenSource.fromDOM(\n\t\t\t\t\t__unstableCreateElement( document, newValue ).childNodes\n\t\t\t\t)\n\t\t\t);\n\t}\n\n\tconst onSelectionChange = useCallback(\n\t\t( selectionChangeStart, selectionChangeEnd ) => {\n\t\t\tselectionChange(\n\t\t\t\tclientId,\n\t\t\t\tidentifier,\n\t\t\t\tselectionChangeStart,\n\t\t\t\tselectionChangeEnd\n\t\t\t);\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst onDelete = useCallback(\n\t\t( { value, isReverse } ) => {\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\tif ( onRemove && isEmpty( value ) && isReverse ) {\n\t\t\t\tonRemove( ! isReverse );\n\t\t\t}\n\t\t},\n\t\t[ onMerge, onRemove ]\n\t);\n\n\t/**\n\t * Signals to the RichText owner that the block can be replaced with two\n\t * blocks as a result of splitting the block by pressing enter, or with\n\t * blocks as a result of splitting the block by pasting block content in the\n\t * instance.\n\t *\n\t * @param {Object} record The rich text value to split.\n\t * @param {Array} pastedBlocks The pasted blocks to insert, if any.\n\t */\n\tconst splitValue = useCallback(\n\t\t( record, pastedBlocks = [] ) => {\n\t\t\tif ( ! onReplace || ! onSplit ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst blocks = [];\n\t\t\tconst [ before, after ] = split( record );\n\t\t\tconst hasPastedBlocks = pastedBlocks.length > 0;\n\t\t\tlet lastPastedBlockIndex = -1;\n\n\t\t\t// Consider the after value to be the original it is not empty and\n\t\t\t// the before value *is* empty.\n\t\t\tconst isAfterOriginal = isEmpty( before ) && ! isEmpty( after );\n\n\t\t\t// Create a block with the content before the caret if there's no pasted\n\t\t\t// blocks, or if there are pasted blocks and the value is not empty.\n\t\t\t// We do not want a leading empty block on paste, but we do if split\n\t\t\t// with e.g. the enter key.\n\t\t\tif ( ! hasPastedBlocks || ! isEmpty( before ) ) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: before,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\t! isAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tlastPastedBlockIndex += 1;\n\t\t\t}\n\n\t\t\tif ( hasPastedBlocks ) {\n\t\t\t\tblocks.push( ...pastedBlocks );\n\t\t\t\tlastPastedBlockIndex += pastedBlocks.length;\n\t\t\t} else if ( onSplitMiddle ) {\n\t\t\t\tblocks.push( onSplitMiddle() );\n\t\t\t}\n\n\t\t\t// If there's pasted blocks, append a block with non empty content\n\t\t\t// after the caret. Otherwise, do append an empty block if there\n\t\t\t// is no `onSplitMiddle` prop, but if there is and the content is\n\t\t\t// empty, the middle block is enough to set focus in.\n\t\t\tif (\n\t\t\t\thasPastedBlocks\n\t\t\t\t\t? ! isEmpty( after )\n\t\t\t\t\t: ! onSplitMiddle || ! isEmpty( after )\n\t\t\t) {\n\t\t\t\tblocks.push(\n\t\t\t\t\tonSplit(\n\t\t\t\t\t\ttoHTMLString( {\n\t\t\t\t\t\t\tvalue: after,\n\t\t\t\t\t\t\tmultilineTag,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t\tisAfterOriginal\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// If there are pasted blocks, set the selection to the last one.\n\t\t\t// Otherwise, set the selection to the second block.\n\t\t\tconst indexToSelect = hasPastedBlocks ? lastPastedBlockIndex : 1;\n\n\t\t\t// If there are pasted blocks, move the caret to the end of the selected block\n\t\t\t// Otherwise, retain the default value.\n\t\t\tconst initialPosition = hasPastedBlocks ? -1 : 0;\n\n\t\t\tonReplace( blocks, indexToSelect, initialPosition );\n\t\t},\n\t\t[ onReplace, onSplit, multilineTag, onSplitMiddle ]\n\t);\n\n\tconst onEnter = useCallback(\n\t\t( { value, onChange, shiftKey } ) => {\n\t\t\tconst canSplit = onReplace && onSplit;\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t);\n\t\t\t\tconst transformation = findTransform( transforms, ( item ) => {\n\t\t\t\t\treturn item.regExp.test( value.text );\n\t\t\t\t} );\n\n\t\t\t\tif ( transformation ) {\n\t\t\t\t\tonReplace( [\n\t\t\t\t\t\ttransformation.transform( { content: value.text } ),\n\t\t\t\t\t] );\n\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( onCustomEnter ) {\n\t\t\t\tonCustomEnter();\n\t\t\t}\n\n\t\t\tconst { text, start: splitStart, end: splitEnd } = value;\n\t\t\tconst canSplitAtEnd =\n\t\t\t\tonSplitAtEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length;\n\n\t\t\tif ( shiftKey ) {\n\t\t\t\tif ( ! disableLineBreaks ) {\n\t\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t\t}\n\t\t\t} else if ( canSplit ) {\n\t\t\t\tsplitValue( value );\n\t\t\t} else if ( canSplitAtEnd ) {\n\t\t\t\tonSplitAtEnd();\n\t\t\t} else if (\n\t\t\t\t// For some blocks it's desirable to split at the end of the\n\t\t\t\t// block when there are two line breaks at the end of the\n\t\t\t\t// block, so triple Enter exits the block.\n\t\t\t\tonSplitAtDoubleLineEnd &&\n\t\t\t\tsplitStart === splitEnd &&\n\t\t\t\tsplitEnd === text.length &&\n\t\t\t\ttext.slice( -2 ) === '\\n\\n'\n\t\t\t) {\n\t\t\t\tvalue.start = value.end - 2;\n\t\t\t\tonChange( remove( value ) );\n\t\t\t\tonSplitAtDoubleLineEnd();\n\t\t\t} else if ( ! disableLineBreaks ) {\n\t\t\t\tonChange( insert( value, '\\n' ) );\n\t\t\t}\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\t__unstableMarkAutomaticChange,\n\t\t\tmultiline,\n\t\t\tsplitValue,\n\t\t\tonSplitAtEnd,\n\t\t]\n\t);\n\n\tconst onPaste = useCallback(\n\t\t( {\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\thtml,\n\t\t\tplainText,\n\t\t\tisInternal,\n\t\t\tfiles,\n\t\t\tactiveFormats,\n\t\t} ) => {\n\t\t\t// If the data comes from a rich text instance, we can directly use it\n\t\t\t// without filtering the data. The filters are only meant for externally\n\t\t\t// pasted content and remove inline styles.\n\t\t\tif ( isInternal ) {\n\t\t\t\tconst pastedValue = create( {\n\t\t\t\t\thtml,\n\t\t\t\t\tmultilineTag,\n\t\t\t\t\tmultilineWrapperTags:\n\t\t\t\t\t\tmultilineTag === 'li' ? [ 'ul', 'ol' ] : undefined,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\t\t\t\taddActiveFormats( pastedValue, activeFormats );\n\t\t\t\tonChange( insert( value, pastedValue ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( pastePlainText ) {\n\t\t\t\tonChange( insert( value, create( { text: plainText } ) ) );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Only process file if no HTML is present.\n\t\t\t// Note: a pasted file may have the URL as plain text.\n\t\t\tif ( files && files.length && ! html ) {\n\t\t\t\tconst content = pasteHandler( {\n\t\t\t\t\tHTML: filePasteHandler( files ),\n\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\ttagName,\n\t\t\t\t\tpreserveWhiteSpace,\n\t\t\t\t} );\n\n\t\t\t\t// Allows us to ask for this information when we get a report.\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\twindow.console.log( 'Received items:\\n\\n', files );\n\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tonReplace( content );\n\t\t\t\t} else {\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet mode = onReplace && onSplit ? 'AUTO' : 'INLINE';\n\n\t\t\tconst isPastedURL = isURL( plainText.trim() );\n\t\t\tconst presentEmbedHandlerPicker = () =>\n\t\t\t\tembedHandlerPickerRef.current?.presentPicker( {\n\t\t\t\t\tcreateEmbed: () =>\n\t\t\t\t\t\tonReplace( content, content.length - 1, -1 ),\n\t\t\t\t\tcreateLink: () =>\n\t\t\t\t\t\tcreateLinkInParagraph( plainText.trim(), onReplace ),\n\t\t\t\t} );\n\n\t\t\tif (\n\t\t\t\t__unstableEmbedURLOnPaste &&\n\t\t\t\tisEmpty( value ) &&\n\t\t\t\tisPastedURL\n\t\t\t) {\n\t\t\t\tmode = 'BLOCKS';\n\t\t\t}\n\n\t\t\tconst content = pasteHandler( {\n\t\t\t\tHTML: html,\n\t\t\t\tplainText,\n\t\t\t\tmode,\n\t\t\t\ttagName,\n\t\t\t\tpreserveWhiteSpace,\n\t\t\t} );\n\n\t\t\tif ( typeof content === 'string' ) {\n\t\t\t\tconst valueToInsert = create( { html: content } );\n\t\t\t\taddActiveFormats( valueToInsert, activeFormats );\n\t\t\t\tonChange( insert( value, valueToInsert ) );\n\t\t\t} else if ( content.length > 0 ) {\n\t\t\t\t// When an URL is pasted in an empty paragraph then the EmbedHandlerPicker should showcase options allowing the transformation of that URL\n\t\t\t\t// into either an Embed block or a link within the target paragraph. If the paragraph is non-empty, the URL is pasted as text.\n\t\t\t\tconst canPasteEmbed =\n\t\t\t\t\tisPastedURL &&\n\t\t\t\t\tcontent.length === 1 &&\n\t\t\t\t\tcontent[ 0 ].name === 'core/embed';\n\t\t\t\tif ( onReplace && isEmpty( value ) ) {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( __unstableEmbedURLOnPaste ) {\n\t\t\t\t\t\t\tpresentEmbedHandlerPicker();\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonReplace( content, content.length - 1, -1 );\n\t\t\t\t} else {\n\t\t\t\t\tif ( canPasteEmbed ) {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsert( value, create( { text: plainText } ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsplitValue( value, content );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttagName,\n\t\t\tonReplace,\n\t\t\tonSplit,\n\t\t\tsplitValue,\n\t\t\t__unstableEmbedURLOnPaste,\n\t\t\tmultilineTag,\n\t\t\tpreserveWhiteSpace,\n\t\t\tpastePlainText,\n\t\t]\n\t);\n\n\tconst inputRule = useCallback(\n\t\t( value, valueToFormat ) => {\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { start: startPosition, text } = value;\n\t\t\tconst characterBefore = text.slice(\n\t\t\t\tstartPosition - 1,\n\t\t\t\tstartPosition\n\t\t\t);\n\n\t\t\t// The character right before the caret must be a plain space.\n\t\t\tif ( characterBefore !== ' ' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst trimmedTextBefore = text.slice( 0, startPosition ).trim();\n\t\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t( { type } ) => type === 'prefix'\n\t\t\t);\n\t\t\tconst transformation = findTransform(\n\t\t\t\tprefixTransforms,\n\t\t\t\t( { prefix } ) => {\n\t\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst content = valueToFormat(\n\t\t\t\tslice( value, startPosition, text.length )\n\t\t\t);\n\t\t\tconst block = transformation.transform( content );\n\n\t\t\tonReplace( [ block ] );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t},\n\t\t[ onReplace, __unstableMarkAutomaticChange ]\n\t);\n\n\tconst mergedRef = useMergeRefs( [ forwardedRef, fallbackRef ] );\n\n\treturn (\n\t\t<RichText\n\t\t\tclientId={ clientId }\n\t\t\tidentifier={ identifier }\n\t\t\tref={ mergedRef }\n\t\t\tvalue={ adjustedValue }\n\t\t\tonChange={ adjustedOnChange }\n\t\t\tselectionStart={ selectionStart }\n\t\t\tselectionEnd={ selectionEnd }\n\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\ttagName={ tagName }\n\t\t\tstart={ start }\n\t\t\treversed={ reversed }\n\t\t\tplaceholder={ placeholder }\n\t\t\tallowedFormats={ adjustedAllowedFormats }\n\t\t\twithoutInteractiveFormatting={ withoutInteractiveFormatting }\n\t\t\tonEnter={ onEnter }\n\t\t\tonDelete={ onDelete }\n\t\t\tonPaste={ onPaste }\n\t\t\t__unstableIsSelected={ isSelected }\n\t\t\t__unstableInputRule={ inputRule }\n\t\t\t__unstableMultilineTag={ multilineTag }\n\t\t\t__unstableOnEnterFormattedText={ enterFormattedText }\n\t\t\t__unstableOnExitFormattedText={ exitFormattedText }\n\t\t\t__unstableOnCreateUndoLevel={ __unstableMarkLastChangeAsPersistent }\n\t\t\t__unstableMarkAutomaticChange={ __unstableMarkAutomaticChange }\n\t\t\t__unstableDidAutomaticChange={ didAutomaticChange }\n\t\t\t__unstableUndo={ undo }\n\t\t\t__unstableDisableFormats={ disableFormats }\n\t\t\tpreserveWhiteSpace={ preserveWhiteSpace }\n\t\t\tdisabled={ disabled }\n\t\t\tunstableOnFocus={ unstableOnFocus }\n\t\t\t__unstableAllowPrefixTransformations={\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t}\n\t\t\t__unstableMultilineRootTag={ __unstableMultilineRootTag }\n\t\t\t// Native props.\n\t\t\tblockIsSelected={\n\t\t\t\toriginalIsSelected !== undefined\n\t\t\t\t\t? originalIsSelected\n\t\t\t\t\t: blockIsSelected\n\t\t\t}\n\t\t\tshouldBlurOnUnmount={ shouldBlurOnUnmount }\n\t\t\t__unstableMobileNoFocusOnMount={ __unstableMobileNoFocusOnMount }\n\t\t\tdeleteEnter={ deleteEnter }\n\t\t\tplaceholderTextColor={ placeholderTextColor }\n\t\t\ttextAlign={ textAlign }\n\t\t\tselectionColor={ selectionColor }\n\t\t\ttagsToEliminate={ tagsToEliminate }\n\t\t\tdisableEditingMenu={ disableEditingMenu }\n\t\t\tfontSize={ fontSize }\n\t\t\tfontFamily={ fontFamily }\n\t\t\tfontWeight={ fontWeight }\n\t\t\tfontStyle={ fontStyle }\n\t\t\tminWidth={ minWidth }\n\t\t\tmaxWidth={ maxWidth }\n\t\t\tonBlur={ onBlur }\n\t\t\tsetRef={ setRef }\n\t\t\tdisableSuggestions={ disableSuggestions }\n\t\t\tdisableAutocorrection={ disableAutocorrection }\n\t\t\tcontainerWidth={ containerWidth }\n\t\t\t// Props to be set on the editable container are destructured on the\n\t\t\t// element itself for web (see below), but passed through rich text\n\t\t\t// for native.\n\t\t\tid={ props.id }\n\t\t\tstyle={ props.style }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tisSelected: nestedIsSelected,\n\t\t\t\tvalue,\n\t\t\t\tonChange,\n\t\t\t\tonFocus,\n\t\t\t\teditableProps,\n\t\t\t\teditableTagName: TagName,\n\t\t\t} ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ children && children( { value, onChange, onFocus } ) }\n\t\t\t\t\t{ nestedIsSelected && hasFormats && (\n\t\t\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\t\t\tanchorRef={ fallbackRef.current }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ nestedIsSelected && <RemoveBrowserShortcuts /> }\n\t\t\t\t\t<Autocomplete\n\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\tcompleters={ autocompleters }\n\t\t\t\t\t\trecord={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisSelected={ nestedIsSelected }\n\t\t\t\t\t\tcontentRef={ fallbackRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { listBoxId, activeId, onKeyDown } ) => (\n\t\t\t\t\t\t\t<TagName\n\t\t\t\t\t\t\t\t{ ...editableProps }\n\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\tprops.style\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t...props.style,\n\t\t\t\t\t\t\t\t\t\t\t\t...editableProps.style,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: editableProps.style\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t\t\t\teditableProps.className\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\taria-autocomplete={\n\t\t\t\t\t\t\t\t\tlistBoxId ? 'list' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-owns={ listBoxId }\n\t\t\t\t\t\t\t\taria-activedescendant={ activeId }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tonKeyDown( event );\n\t\t\t\t\t\t\t\t\teditableProps.onKeyDown( event );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Autocomplete>\n\t\t\t\t\t<EmbedHandlerPicker ref={ embedHandlerPickerRef } />\n\t\t\t\t</>\n\t\t\t) }\n\t\t</RichText>\n\t);\n}\n\nconst ForwardedRichTextContainer = forwardRef( RichTextWrapper );\n\nForwardedRichTextContainer.Content = Content;\n\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\nForwardedRichTextContainer.Content.defaultProps = {\n\tformat: 'string',\n\tvalue: '',\n};\n\nForwardedRichTextContainer.Raw = RichText;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = FormatEdit;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _richText = require("@wordpress/rich-text");
|
|
9
|
+
/**
|
|
10
|
+
* WordPress dependencies
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
function FormatEdit({
|
|
14
|
+
formatTypes,
|
|
15
|
+
onChange,
|
|
16
|
+
onFocus,
|
|
17
|
+
value,
|
|
18
|
+
forwardedRef
|
|
19
|
+
}) {
|
|
20
|
+
return formatTypes.map(settings => {
|
|
21
|
+
const {
|
|
22
|
+
name,
|
|
23
|
+
edit: Edit
|
|
24
|
+
} = settings;
|
|
25
|
+
if (!Edit) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const activeFormat = (0, _richText.getActiveFormat)(value, name);
|
|
29
|
+
const isActive = activeFormat !== undefined;
|
|
30
|
+
const activeObject = (0, _richText.getActiveObject)(value);
|
|
31
|
+
const isObjectActive = activeObject !== undefined && activeObject.type === name;
|
|
32
|
+
return (0, _react.createElement)(Edit, {
|
|
33
|
+
key: name,
|
|
34
|
+
isActive: isActive,
|
|
35
|
+
activeAttributes: isActive ? activeFormat.attributes || {} : {},
|
|
36
|
+
isObjectActive: isObjectActive,
|
|
37
|
+
activeObjectAttributes: isObjectActive ? activeObject.attributes || {} : {},
|
|
38
|
+
value: value,
|
|
39
|
+
onChange: onChange,
|
|
40
|
+
onFocus: onFocus,
|
|
41
|
+
contentRef: forwardedRef
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=format-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_richText","require","FormatEdit","formatTypes","onChange","onFocus","value","forwardedRef","map","settings","name","edit","Edit","activeFormat","getActiveFormat","isActive","undefined","activeObject","getActiveObject","isObjectActive","type","_react","createElement","key","activeAttributes","attributes","activeObjectAttributes","contentRef"],"sources":["@wordpress/block-editor/src/components/rich-text/native/format-edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getActiveFormat, getActiveObject } from '@wordpress/rich-text';\n\nexport default function FormatEdit( {\n\tformatTypes,\n\tonChange,\n\tonFocus,\n\tvalue,\n\tforwardedRef,\n} ) {\n\treturn formatTypes.map( ( settings ) => {\n\t\tconst { name, edit: Edit } = settings;\n\n\t\tif ( ! Edit ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst activeFormat = getActiveFormat( value, name );\n\t\tconst isActive = activeFormat !== undefined;\n\t\tconst activeObject = getActiveObject( value );\n\t\tconst isObjectActive =\n\t\t\tactiveObject !== undefined && activeObject.type === name;\n\n\t\treturn (\n\t\t\t<Edit\n\t\t\t\tkey={ name }\n\t\t\t\tisActive={ isActive }\n\t\t\t\tactiveAttributes={\n\t\t\t\t\tisActive ? activeFormat.attributes || {} : {}\n\t\t\t\t}\n\t\t\t\tisObjectActive={ isObjectActive }\n\t\t\t\tactiveObjectAttributes={\n\t\t\t\t\tisObjectActive ? activeObject.attributes || {} : {}\n\t\t\t\t}\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tcontentRef={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGe,SAASC,UAAUA,CAAE;EACnCC,WAAW;EACXC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OAAOJ,WAAW,CAACK,GAAG,CAAIC,QAAQ,IAAM;IACvC,MAAM;MAAEC,IAAI;MAAEC,IAAI,EAAEC;IAAK,CAAC,GAAGH,QAAQ;IAErC,IAAK,CAAEG,IAAI,EAAG;MACb,OAAO,IAAI;IACZ;IAEA,MAAMC,YAAY,GAAG,IAAAC,yBAAe,EAAER,KAAK,EAAEI,IAAK,CAAC;IACnD,MAAMK,QAAQ,GAAGF,YAAY,KAAKG,SAAS;IAC3C,MAAMC,YAAY,GAAG,IAAAC,yBAAe,EAAEZ,KAAM,CAAC;IAC7C,MAAMa,cAAc,GACnBF,YAAY,KAAKD,SAAS,IAAIC,YAAY,CAACG,IAAI,KAAKV,IAAI;IAEzD,OACC,IAAAW,MAAA,CAAAC,aAAA,EAACV,IAAI;MACJW,GAAG,EAAGb,IAAM;MACZK,QAAQ,EAAGA,QAAU;MACrBS,gBAAgB,EACfT,QAAQ,GAAGF,YAAY,CAACY,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAC5C;MACDN,cAAc,EAAGA,cAAgB;MACjCO,sBAAsB,EACrBP,cAAc,GAAGF,YAAY,CAACQ,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAClD;MACDnB,KAAK,EAAGA,KAAO;MACfF,QAAQ,EAAGA,QAAU;MACrBC,OAAO,EAAGA,OAAS;MACnBsB,UAAU,EAAGpB;IAAc,CAC3B,CAAC;EAEJ,CAAE,CAAC;AACJ"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFormatColors = getFormatColors;
|
|
7
|
+
var _colors = require("../../../components/colors");
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const FORMAT_TYPE = 'core/text-color';
|
|
13
|
+
const REGEX_TO_MATCH = /^has-(.*)-color$/;
|
|
14
|
+
const TAGS_TO_SEARCH = /\<mark/;
|
|
15
|
+
function getFormatColors(value, formats, colors) {
|
|
16
|
+
if (value?.search(TAGS_TO_SEARCH) !== -1) {
|
|
17
|
+
const newFormats = formats.slice();
|
|
18
|
+
newFormats.forEach(format => {
|
|
19
|
+
format.forEach(currentFormat => {
|
|
20
|
+
if (currentFormat?.type === FORMAT_TYPE) {
|
|
21
|
+
const className = currentFormat?.attributes?.class;
|
|
22
|
+
currentFormat.attributes.style = currentFormat.attributes.style.replace(/ /g, '');
|
|
23
|
+
className?.split(' ').forEach(currentClass => {
|
|
24
|
+
const match = currentClass.match(REGEX_TO_MATCH);
|
|
25
|
+
if (match) {
|
|
26
|
+
const [, colorSlug] = currentClass.match(REGEX_TO_MATCH);
|
|
27
|
+
const colorObject = (0, _colors.getColorObjectByAttributeValues)(colors, colorSlug);
|
|
28
|
+
const currentStyles = currentFormat?.attributes?.style;
|
|
29
|
+
if (colorObject && (!currentStyles || currentStyles?.indexOf(colorObject.color) === -1)) {
|
|
30
|
+
currentFormat.attributes.style = [`color: ${colorObject.color}`, currentStyles].join(';');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
return newFormats;
|
|
38
|
+
}
|
|
39
|
+
return formats;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=get-format-colors.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_colors","require","FORMAT_TYPE","REGEX_TO_MATCH","TAGS_TO_SEARCH","getFormatColors","value","formats","colors","search","newFormats","slice","forEach","format","currentFormat","type","className","attributes","class","style","replace","split","currentClass","match","colorSlug","colorObject","getColorObjectByAttributeValues","currentStyles","indexOf","color","join"],"sources":["@wordpress/block-editor/src/components/rich-text/native/get-format-colors.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { getColorObjectByAttributeValues } from '../../../components/colors';\n\nconst FORMAT_TYPE = 'core/text-color';\nconst REGEX_TO_MATCH = /^has-(.*)-color$/;\nconst TAGS_TO_SEARCH = /\\<mark/;\n\nexport function getFormatColors( value, formats, colors ) {\n\tif ( value?.search( TAGS_TO_SEARCH ) !== -1 ) {\n\t\tconst newFormats = formats.slice();\n\n\t\tnewFormats.forEach( ( format ) => {\n\t\t\tformat.forEach( ( currentFormat ) => {\n\t\t\t\tif ( currentFormat?.type === FORMAT_TYPE ) {\n\t\t\t\t\tconst className = currentFormat?.attributes?.class;\n\t\t\t\t\tcurrentFormat.attributes.style =\n\t\t\t\t\t\tcurrentFormat.attributes.style.replace( / /g, '' );\n\n\t\t\t\t\tclassName?.split( ' ' ).forEach( ( currentClass ) => {\n\t\t\t\t\t\tconst match = currentClass.match( REGEX_TO_MATCH );\n\t\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\t\tconst [ , colorSlug ] =\n\t\t\t\t\t\t\t\tcurrentClass.match( REGEX_TO_MATCH );\n\t\t\t\t\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\t\tcolorSlug\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst currentStyles =\n\t\t\t\t\t\t\t\tcurrentFormat?.attributes?.style;\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tcolorObject &&\n\t\t\t\t\t\t\t\t( ! currentStyles ||\n\t\t\t\t\t\t\t\t\tcurrentStyles?.indexOf(\n\t\t\t\t\t\t\t\t\t\tcolorObject.color\n\t\t\t\t\t\t\t\t\t) === -1 )\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tcurrentFormat.attributes.style = [\n\t\t\t\t\t\t\t\t\t`color: ${ colorObject.color }`,\n\t\t\t\t\t\t\t\t\tcurrentStyles,\n\t\t\t\t\t\t\t\t].join( ';' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\treturn newFormats;\n\t}\n\n\treturn formats;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,WAAW,GAAG,iBAAiB;AACrC,MAAMC,cAAc,GAAG,kBAAkB;AACzC,MAAMC,cAAc,GAAG,QAAQ;AAExB,SAASC,eAAeA,CAAEC,KAAK,EAAEC,OAAO,EAAEC,MAAM,EAAG;EACzD,IAAKF,KAAK,EAAEG,MAAM,CAAEL,cAAe,CAAC,KAAK,CAAC,CAAC,EAAG;IAC7C,MAAMM,UAAU,GAAGH,OAAO,CAACI,KAAK,CAAC,CAAC;IAElCD,UAAU,CAACE,OAAO,CAAIC,MAAM,IAAM;MACjCA,MAAM,CAACD,OAAO,CAAIE,aAAa,IAAM;QACpC,IAAKA,aAAa,EAAEC,IAAI,KAAKb,WAAW,EAAG;UAC1C,MAAMc,SAAS,GAAGF,aAAa,EAAEG,UAAU,EAAEC,KAAK;UAClDJ,aAAa,CAACG,UAAU,CAACE,KAAK,GAC7BL,aAAa,CAACG,UAAU,CAACE,KAAK,CAACC,OAAO,CAAE,IAAI,EAAE,EAAG,CAAC;UAEnDJ,SAAS,EAAEK,KAAK,CAAE,GAAI,CAAC,CAACT,OAAO,CAAIU,YAAY,IAAM;YACpD,MAAMC,KAAK,GAAGD,YAAY,CAACC,KAAK,CAAEpB,cAAe,CAAC;YAClD,IAAKoB,KAAK,EAAG;cACZ,MAAM,GAAIC,SAAS,CAAE,GACpBF,YAAY,CAACC,KAAK,CAAEpB,cAAe,CAAC;cACrC,MAAMsB,WAAW,GAAG,IAAAC,uCAA+B,EAClDlB,MAAM,EACNgB,SACD,CAAC;cACD,MAAMG,aAAa,GAClBb,aAAa,EAAEG,UAAU,EAAEE,KAAK;cACjC,IACCM,WAAW,KACT,CAAEE,aAAa,IAChBA,aAAa,EAAEC,OAAO,CACrBH,WAAW,CAACI,KACb,CAAC,KAAK,CAAC,CAAC,CAAE,EACV;gBACDf,aAAa,CAACG,UAAU,CAACE,KAAK,GAAG,CAC/B,UAAUM,WAAW,CAACI,KAAO,EAAC,EAC/BF,aAAa,CACb,CAACG,IAAI,CAAE,GAAI,CAAC;cACd;YACD;UACD,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;IAEH,OAAOpB,UAAU;EAClB;EAEA,OAAOH,OAAO;AACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_default","exports","default"],"sources":["@wordpress/block-editor/src/components/rich-text/native/index.js"],"sourcesContent":["export default () => {};\n"],"mappings":";;;;;;eAAeA,CAAA,KAAM,CAAC,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|