@wordpress/block-editor 12.9.0 → 12.10.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 +6 -0
- package/README.md +33 -3
- package/build/components/block-canvas/index.js +107 -0
- package/build/components/block-canvas/index.js.map +1 -0
- package/build/components/block-inspector/index.js +4 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +19 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +66 -0
- package/build/components/block-patterns-paging/index.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +4 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -0
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +18 -7
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +5 -1
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +1 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +2 -4
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +20 -1
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/duotone/utils.js +68 -0
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/editor-styles/index.js +28 -9
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/global-styles/hooks.js +2 -101
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +61 -0
- package/build/components/global-styles/image-settings-panel.js.map +1 -0
- package/build/components/global-styles/index.js +11 -17
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +19 -15
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/iframe/index.js +67 -33
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +2 -5
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +9 -9
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/index.js +8 -12
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +6 -5
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +57 -23
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -9
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-source-filter.js +54 -0
- package/build/components/inserter/block-patterns-source-filter.js.map +1 -0
- package/build/components/inserter/block-patterns-sync-filter.js +46 -0
- package/build/components/inserter/block-patterns-sync-filter.js.map +1 -0
- package/build/components/inserter/block-patterns-tab.js +91 -45
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-paging.js +57 -0
- package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
- package/build/components/inserter/hooks/use-patterns-state.js +21 -10
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/menu.js +13 -11
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-results.js +4 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -12
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +12 -1
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/fill.js +24 -13
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/groups.js +5 -3
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +13 -0
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/link-control/index.js +13 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/settings.js +2 -1
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -3
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +13 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +29 -24
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-placeholder/index.js +2 -2
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +11 -11
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -3
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/constants.js +30 -0
- package/build/components/media-upload/constants.js.map +1 -0
- package/build/components/media-upload/index.native.js +63 -53
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +1 -1
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/index.js +34 -35
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +14 -32
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +95 -0
- package/build/components/rich-text/multiline.js.map +1 -0
- package/build/components/rich-text/split-value.js +10 -16
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/use-enter.js +31 -40
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +18 -33
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/use-block-commands/index.js +30 -18
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +5 -2
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/hooks/background.js +258 -0
- package/build/hooks/background.js.map +1 -0
- package/build/hooks/block-hooks.js +188 -0
- package/build/hooks/block-hooks.js.map +1 -0
- package/build/hooks/block-rename-ui.js +160 -0
- package/build/hooks/block-rename-ui.js.map +1 -0
- package/build/hooks/duotone.js +29 -42
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.js +2 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +31 -14
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +4 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +74 -25
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/utils.js +4 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +33 -10
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +42 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +23 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +43 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +84 -23
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +0 -4
- package/build/store/utils.js.map +1 -1
- package/build-module/components/block-canvas/index.js +97 -0
- package/build-module/components/block-canvas/index.js.map +1 -0
- package/build-module/components/block-inspector/index.js +4 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +20 -5
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +59 -0
- package/build-module/components/block-patterns-paging/index.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +4 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -0
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +5 -1
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +1 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +2 -4
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +20 -1
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/duotone/utils.js +65 -0
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/editor-styles/index.js +28 -9
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -100
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +53 -0
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
- package/build-module/components/global-styles/index.js +2 -2
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +18 -16
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +66 -33
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -5
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +9 -9
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +59 -25
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +23 -9
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-source-filter.js +44 -0
- package/build-module/components/inserter/block-patterns-source-filter.js.map +1 -0
- package/build-module/components/inserter/block-patterns-sync-filter.js +38 -0
- package/build-module/components/inserter/block-patterns-sync-filter.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab.js +87 -46
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-paging.js +50 -0
- package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
- package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/menu.js +13 -11
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-results.js +4 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +25 -14
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +5 -3
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +15 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/link-control/index.js +13 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/settings.js +2 -1
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +13 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +30 -25
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +2 -2
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +7 -7
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -3
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/constants.js +14 -0
- package/build-module/components/media-upload/constants.js.map +1 -0
- package/build-module/components/media-upload/index.native.js +53 -34
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +1 -1
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +35 -37
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -33
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +87 -0
- package/build-module/components/rich-text/multiline.js.map +1 -0
- package/build-module/components/rich-text/split-value.js +10 -16
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +33 -42
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +19 -34
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +2 -2
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +28 -16
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +5 -2
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/hooks/background.js +244 -0
- package/build-module/hooks/background.js.map +1 -0
- package/build-module/hooks/block-hooks.js +181 -0
- package/build-module/hooks/block-hooks.js.map +1 -0
- package/build-module/hooks/block-rename-ui.js +153 -0
- package/build-module/hooks/block-rename-ui.js.map +1 -0
- package/build-module/hooks/duotone.js +26 -39
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.js +2 -2
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +33 -16
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +4 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +73 -24
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/utils.js +4 -0
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +33 -10
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +39 -8
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +21 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +41 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +78 -22
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +0 -4
- package/build-module/store/utils.js.map +1 -1
- package/build-style/content-rtl.css +0 -1
- package/build-style/content.css +0 -1
- package/build-style/style-rtl.css +174 -131
- package/build-style/style.css +174 -131
- package/package.json +32 -32
- package/src/components/block-canvas/index.js +108 -0
- package/src/components/block-inspector/index.js +5 -1
- package/src/components/block-list/content.scss +0 -1
- package/src/components/block-patterns-list/index.js +32 -7
- package/src/components/block-patterns-list/style.scss +26 -9
- package/src/components/block-patterns-paging/index.js +92 -0
- package/src/components/block-patterns-paging/style.scss +42 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
- package/src/components/block-settings-menu-controls/index.js +4 -9
- package/src/components/block-styles/index.js +1 -0
- package/src/components/block-styles/style.scss +3 -3
- package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
- package/src/components/block-tools/block-contextual-toolbar.js +16 -5
- package/src/components/block-tools/block-selection-button.js +9 -1
- package/src/components/block-tools/style.scss +0 -98
- package/src/components/border-radius-control/input-controls.js +1 -1
- package/src/components/border-radius-control/linked-button.js +8 -11
- package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
- package/src/components/colors/with-colors.js +3 -2
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
- package/src/components/default-block-appender/index.native.js +26 -3
- package/src/components/duotone/utils.js +65 -0
- package/src/components/editor-styles/index.js +32 -23
- package/src/components/global-styles/hooks.js +4 -112
- package/src/components/global-styles/image-settings-panel.js +71 -0
- package/src/components/global-styles/index.js +4 -3
- package/src/components/global-styles/use-global-styles-output.js +25 -16
- package/src/components/global-styles/utils.js +1 -2
- package/src/components/iframe/index.js +72 -33
- package/src/components/image-editor/use-save-image.js +2 -9
- package/src/components/image-editor/use-transform-image.js +9 -9
- package/src/components/index.js +1 -1
- package/src/components/index.native.js +2 -2
- package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
- package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +109 -40
- package/src/components/inserter/block-patterns-explorer/sidebar.js +23 -8
- package/src/components/inserter/block-patterns-source-filter.js +40 -0
- package/src/components/inserter/block-patterns-sync-filter.js +35 -0
- package/src/components/inserter/block-patterns-tab.js +168 -57
- package/src/components/inserter/hooks/use-patterns-paging.js +65 -0
- package/src/components/inserter/hooks/use-patterns-state.js +27 -16
- package/src/components/inserter/menu.js +15 -17
- package/src/components/inserter/search-results.js +6 -4
- package/src/components/inserter/style.scss +23 -2
- package/src/components/inserter/tabs.js +2 -12
- package/src/components/inserter/test/index.native.js +8 -12
- package/src/components/inspector-controls/block-support-slot-container.js +19 -3
- package/src/components/inspector-controls/fill.js +28 -14
- package/src/components/inspector-controls/groups.js +6 -2
- package/src/components/inspector-controls/slot.js +28 -3
- package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
- package/src/components/link-control/index.js +14 -0
- package/src/components/link-control/settings.js +1 -0
- package/src/components/link-control/style.scss +28 -7
- package/src/components/link-control/test/index.js +88 -6
- package/src/components/list-view/block-select-button.js +1 -3
- package/src/components/list-view/block.js +19 -1
- package/src/components/list-view/style.scss +1 -2
- package/src/components/list-view/use-block-selection.js +38 -32
- package/src/components/media-placeholder/README.md +2 -2
- package/src/components/media-placeholder/index.js +2 -2
- package/src/components/media-placeholder/index.native.js +11 -12
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/media-replace-flow/test/index.js +5 -23
- package/src/components/media-upload/README.md +3 -2
- package/src/components/media-upload/constants.js +15 -0
- package/src/components/media-upload/index.native.js +66 -40
- package/src/components/media-upload/style.native.scss +4 -0
- package/src/components/media-upload/test/index.native.js +2 -2
- package/src/components/preview-options/README.md +7 -0
- package/src/components/preview-options/index.js +1 -1
- package/src/components/rich-text/index.js +48 -44
- package/src/components/rich-text/index.native.js +14 -42
- package/src/components/rich-text/multiline.js +121 -0
- package/src/components/rich-text/split-value.js +10 -35
- package/src/components/rich-text/use-enter.js +32 -42
- package/src/components/rich-text/use-paste-handler.js +16 -40
- package/src/components/spacing-sizes-control/style.scss +5 -7
- package/src/components/spacing-sizes-control/utils.js +1 -2
- package/src/components/use-block-commands/index.js +28 -20
- package/src/components/use-block-display-information/index.js +3 -0
- package/src/hooks/background.js +288 -0
- package/src/hooks/background.scss +57 -0
- package/src/hooks/block-hooks.js +257 -0
- package/src/hooks/block-hooks.scss +16 -0
- package/src/hooks/block-rename-ui.js +230 -0
- package/src/hooks/block-rename-ui.scss +3 -0
- package/src/hooks/duotone.js +42 -43
- package/src/hooks/index.js +2 -2
- package/src/hooks/layout.js +31 -33
- package/src/hooks/position.js +4 -3
- package/src/hooks/style.js +96 -37
- package/src/hooks/test/align.native.js +4 -3
- package/src/hooks/utils.js +4 -0
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +52 -10
- package/src/store/private-actions.js +37 -6
- package/src/store/private-selectors.js +21 -0
- package/src/store/reducer.js +38 -0
- package/src/store/selectors.js +107 -26
- package/src/store/test/actions.js +19 -8
- package/src/store/test/private-actions.js +17 -0
- package/src/store/test/reducer.js +25 -0
- package/src/store/test/selectors.js +130 -123
- package/src/store/utils.js +3 -10
- package/src/style.scss +4 -0
- package/build/components/duotone/components.js +0 -135
- package/build/components/duotone/components.js.map +0 -1
- package/build/components/duotone/index.js +0 -38
- package/build/components/duotone/index.js.map +0 -1
- package/build/components/global-styles/behaviors-panel.js +0 -64
- package/build/components/global-styles/behaviors-panel.js.map +0 -1
- package/build/components/inserter/reusable-blocks-tab.js +0 -85
- package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
- package/build/hooks/auto-inserting-blocks.js +0 -174
- package/build/hooks/auto-inserting-blocks.js.map +0 -1
- package/build/hooks/behaviors.js +0 -173
- package/build/hooks/behaviors.js.map +0 -1
- package/build-module/components/duotone/components.js +0 -126
- package/build-module/components/duotone/components.js.map +0 -1
- package/build-module/components/duotone/index.js +0 -3
- package/build-module/components/duotone/index.js.map +0 -1
- package/build-module/components/global-styles/behaviors-panel.js +0 -57
- package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
- package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
- package/build-module/hooks/auto-inserting-blocks.js +0 -167
- package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
- package/build-module/hooks/behaviors.js +0 -166
- package/build-module/hooks/behaviors.js.map +0 -1
- package/src/components/duotone/components.js +0 -133
- package/src/components/duotone/index.js +0 -7
- package/src/components/global-styles/behaviors-panel.js +0 -71
- package/src/components/inserter/reusable-blocks-tab.js +0 -84
- package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
- package/src/hooks/auto-inserting-blocks.js +0 -232
- package/src/hooks/behaviors.js +0 -206
|
@@ -4,10 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = exports.
|
|
7
|
+
exports.default = exports.MediaUpload = void 0;
|
|
8
8
|
var _element = require("@wordpress/element");
|
|
9
9
|
var _reactNative = require("react-native");
|
|
10
|
-
var _reactNativePromptAndroid = _interopRequireDefault(require("react-native-prompt-android"));
|
|
11
10
|
var _i18n = require("@wordpress/i18n");
|
|
12
11
|
var _components = require("@wordpress/components");
|
|
13
12
|
var _reactNativeBridge = require("@wordpress/react-native-bridge");
|
|
@@ -15,6 +14,8 @@ var _icons = require("@wordpress/icons");
|
|
|
15
14
|
var _blockEditor = require("@wordpress/block-editor");
|
|
16
15
|
var _compose = require("@wordpress/compose");
|
|
17
16
|
var _data = require("@wordpress/data");
|
|
17
|
+
var _constants = require("./constants");
|
|
18
|
+
var _style = _interopRequireDefault(require("./style.scss"));
|
|
18
19
|
/**
|
|
19
20
|
* External dependencies
|
|
20
21
|
*/
|
|
@@ -23,24 +24,10 @@ var _data = require("@wordpress/data");
|
|
|
23
24
|
* WordPress dependencies
|
|
24
25
|
*/
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const MEDIA_TYPE_AUDIO = 'audio';
|
|
31
|
-
exports.MEDIA_TYPE_AUDIO = MEDIA_TYPE_AUDIO;
|
|
32
|
-
const MEDIA_TYPE_ANY = 'any';
|
|
33
|
-
exports.MEDIA_TYPE_ANY = MEDIA_TYPE_ANY;
|
|
34
|
-
const OPTION_TAKE_VIDEO = (0, _i18n.__)('Take a Video');
|
|
35
|
-
exports.OPTION_TAKE_VIDEO = OPTION_TAKE_VIDEO;
|
|
36
|
-
const OPTION_TAKE_PHOTO = (0, _i18n.__)('Take a Photo');
|
|
37
|
-
exports.OPTION_TAKE_PHOTO = OPTION_TAKE_PHOTO;
|
|
38
|
-
const OPTION_TAKE_PHOTO_OR_VIDEO = (0, _i18n.__)('Take a Photo or Video');
|
|
39
|
-
exports.OPTION_TAKE_PHOTO_OR_VIDEO = OPTION_TAKE_PHOTO_OR_VIDEO;
|
|
40
|
-
const OPTION_INSERT_FROM_URL = (0, _i18n.__)('Insert from URL');
|
|
41
|
-
exports.OPTION_INSERT_FROM_URL = OPTION_INSERT_FROM_URL;
|
|
42
|
-
const OPTION_WORDPRESS_MEDIA_LIBRARY = (0, _i18n.__)('WordPress Media Library');
|
|
43
|
-
exports.OPTION_WORDPRESS_MEDIA_LIBRARY = OPTION_WORDPRESS_MEDIA_LIBRARY;
|
|
27
|
+
/**
|
|
28
|
+
* Internal dependencies
|
|
29
|
+
*/
|
|
30
|
+
|
|
44
31
|
const URL_MEDIA_SOURCE = 'URL';
|
|
45
32
|
const PICKER_OPENING_DELAY = 200;
|
|
46
33
|
class MediaUpload extends _element.Component {
|
|
@@ -51,6 +38,8 @@ class MediaUpload extends _element.Component {
|
|
|
51
38
|
this.onPickerSelect = this.onPickerSelect.bind(this);
|
|
52
39
|
this.getAllSources = this.getAllSources.bind(this);
|
|
53
40
|
this.state = {
|
|
41
|
+
url: '',
|
|
42
|
+
showURLInput: false,
|
|
54
43
|
otherMediaOptions: []
|
|
55
44
|
};
|
|
56
45
|
}
|
|
@@ -90,7 +79,7 @@ class MediaUpload extends _element.Component {
|
|
|
90
79
|
// This is needed to diferenciate image-camera from video-camera sources.
|
|
91
80
|
label: (0, _i18n.__)('Take a Photo'),
|
|
92
81
|
requiresModal: true,
|
|
93
|
-
types: [MEDIA_TYPE_IMAGE],
|
|
82
|
+
types: [_constants.MEDIA_TYPE_IMAGE],
|
|
94
83
|
icon: _icons.capturePhoto
|
|
95
84
|
};
|
|
96
85
|
const cameraVideoSource = {
|
|
@@ -98,7 +87,7 @@ class MediaUpload extends _element.Component {
|
|
|
98
87
|
value: _reactNativeBridge.mediaSources.deviceCamera,
|
|
99
88
|
label: (0, _i18n.__)('Take a Video'),
|
|
100
89
|
requiresModal: true,
|
|
101
|
-
types: [MEDIA_TYPE_VIDEO],
|
|
90
|
+
types: [_constants.MEDIA_TYPE_VIDEO],
|
|
102
91
|
icon: _icons.captureVideo
|
|
103
92
|
};
|
|
104
93
|
const deviceLibrarySource = {
|
|
@@ -106,7 +95,7 @@ class MediaUpload extends _element.Component {
|
|
|
106
95
|
value: _reactNativeBridge.mediaSources.deviceLibrary,
|
|
107
96
|
label: (0, _i18n.__)('Choose from device'),
|
|
108
97
|
requiresModal: true,
|
|
109
|
-
types: [MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO],
|
|
98
|
+
types: [_constants.MEDIA_TYPE_IMAGE, _constants.MEDIA_TYPE_VIDEO],
|
|
110
99
|
icon: _icons.image
|
|
111
100
|
};
|
|
112
101
|
const siteLibrarySource = {
|
|
@@ -114,7 +103,7 @@ class MediaUpload extends _element.Component {
|
|
|
114
103
|
value: _reactNativeBridge.mediaSources.siteMediaLibrary,
|
|
115
104
|
label: (0, _i18n.__)('WordPress Media Library'),
|
|
116
105
|
requiresModal: true,
|
|
117
|
-
types: [MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO, MEDIA_TYPE_AUDIO, MEDIA_TYPE_ANY],
|
|
106
|
+
types: [_constants.MEDIA_TYPE_IMAGE, _constants.MEDIA_TYPE_VIDEO, _constants.MEDIA_TYPE_AUDIO, _constants.MEDIA_TYPE_ANY],
|
|
118
107
|
icon: _icons.wordpress,
|
|
119
108
|
mediaLibrary: true
|
|
120
109
|
};
|
|
@@ -122,7 +111,7 @@ class MediaUpload extends _element.Component {
|
|
|
122
111
|
id: URL_MEDIA_SOURCE,
|
|
123
112
|
value: URL_MEDIA_SOURCE,
|
|
124
113
|
label: (0, _i18n.__)('Insert from URL'),
|
|
125
|
-
types: [MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO],
|
|
114
|
+
types: [_constants.MEDIA_TYPE_AUDIO, _constants.MEDIA_TYPE_IMAGE, _constants.MEDIA_TYPE_VIDEO],
|
|
126
115
|
icon: _icons.globe
|
|
127
116
|
};
|
|
128
117
|
|
|
@@ -139,7 +128,7 @@ class MediaUpload extends _element.Component {
|
|
|
139
128
|
return this.getAllSources().filter(source => {
|
|
140
129
|
if (__experimentalOnlyMediaLibrary) {
|
|
141
130
|
return source.mediaLibrary;
|
|
142
|
-
} else if (allowedTypes.every(allowedType => allowedType === MEDIA_TYPE_AUDIO && source.types.includes(allowedType)) && source.id !== URL_MEDIA_SOURCE) {
|
|
131
|
+
} else if (allowedTypes.every(allowedType => allowedType === _constants.MEDIA_TYPE_AUDIO && source.types.includes(allowedType)) && source.id !== URL_MEDIA_SOURCE) {
|
|
143
132
|
return isAudioBlockMediaUploadEnabled === true;
|
|
144
133
|
}
|
|
145
134
|
return allowedTypes.some(allowedType => source.types.includes(allowedType));
|
|
@@ -172,29 +161,12 @@ class MediaUpload extends _element.Component {
|
|
|
172
161
|
const {
|
|
173
162
|
allowedTypes = [],
|
|
174
163
|
onSelect,
|
|
175
|
-
onSelectURL,
|
|
176
164
|
multiple = false
|
|
177
165
|
} = this.props;
|
|
178
166
|
if (value === URL_MEDIA_SOURCE) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
// message
|
|
183
|
-
[{
|
|
184
|
-
text: (0, _i18n.__)('Cancel'),
|
|
185
|
-
style: 'cancel'
|
|
186
|
-
}, {
|
|
187
|
-
text: (0, _i18n.__)('Apply'),
|
|
188
|
-
onPress: onSelectURL
|
|
189
|
-
}],
|
|
190
|
-
// Buttons.
|
|
191
|
-
'plain-text',
|
|
192
|
-
// type
|
|
193
|
-
undefined,
|
|
194
|
-
// defaultValue
|
|
195
|
-
'url' // keyboardType
|
|
196
|
-
);
|
|
197
|
-
|
|
167
|
+
this.setState({
|
|
168
|
+
showURLInput: true
|
|
169
|
+
});
|
|
198
170
|
return;
|
|
199
171
|
}
|
|
200
172
|
const mediaSource = this.getAllSources().filter(source => source.value === value).shift();
|
|
@@ -212,11 +184,11 @@ class MediaUpload extends _element.Component {
|
|
|
212
184
|
multiple
|
|
213
185
|
} = this.props;
|
|
214
186
|
const isOneType = allowedTypes.length === 1;
|
|
215
|
-
const isImage = isOneType && allowedTypes.includes(MEDIA_TYPE_IMAGE);
|
|
216
|
-
const isVideo = isOneType && allowedTypes.includes(MEDIA_TYPE_VIDEO);
|
|
217
|
-
const isAudio = isOneType && allowedTypes.includes(MEDIA_TYPE_AUDIO);
|
|
218
|
-
const isAnyType = isOneType && allowedTypes.includes(MEDIA_TYPE_ANY);
|
|
219
|
-
const isImageOrVideo = allowedTypes.length === 2 && allowedTypes.includes(MEDIA_TYPE_IMAGE) && allowedTypes.includes(MEDIA_TYPE_VIDEO);
|
|
187
|
+
const isImage = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_IMAGE);
|
|
188
|
+
const isVideo = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_VIDEO);
|
|
189
|
+
const isAudio = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_AUDIO);
|
|
190
|
+
const isAnyType = isOneType && allowedTypes.includes(_constants.MEDIA_TYPE_ANY);
|
|
191
|
+
const isImageOrVideo = allowedTypes.length === 2 && allowedTypes.includes(_constants.MEDIA_TYPE_IMAGE) && allowedTypes.includes(_constants.MEDIA_TYPE_VIDEO);
|
|
220
192
|
let pickerTitle;
|
|
221
193
|
if (isImage) {
|
|
222
194
|
if (isReplacingMedia) {
|
|
@@ -258,13 +230,51 @@ class MediaUpload extends _element.Component {
|
|
|
258
230
|
onChange: this.onPickerSelect,
|
|
259
231
|
testID: "media-options-picker"
|
|
260
232
|
});
|
|
261
|
-
return
|
|
233
|
+
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(URLInput, {
|
|
234
|
+
isVisible: this.state.showURLInput,
|
|
235
|
+
onClose: () => {
|
|
236
|
+
if (this.state.url !== '') {
|
|
237
|
+
this.props.onSelectURL(this.state.url);
|
|
238
|
+
}
|
|
239
|
+
this.setState({
|
|
240
|
+
showURLInput: false,
|
|
241
|
+
url: ''
|
|
242
|
+
});
|
|
243
|
+
},
|
|
244
|
+
onChange: url => {
|
|
245
|
+
this.setState({
|
|
246
|
+
url
|
|
247
|
+
});
|
|
248
|
+
},
|
|
249
|
+
value: this.state.url
|
|
250
|
+
}), this.props.render({
|
|
262
251
|
open: this.onPickerPresent,
|
|
263
252
|
getMediaOptions
|
|
264
|
-
});
|
|
253
|
+
}));
|
|
265
254
|
}
|
|
266
255
|
}
|
|
267
256
|
exports.MediaUpload = MediaUpload;
|
|
257
|
+
function URLInput(props) {
|
|
258
|
+
return (0, _element.createElement)(_components.BottomSheet, {
|
|
259
|
+
hideHeader: true,
|
|
260
|
+
isVisible: props.isVisible,
|
|
261
|
+
onClose: props.onClose
|
|
262
|
+
}, (0, _element.createElement)(_components.PanelBody, {
|
|
263
|
+
style: _style.default['media-upload__link-input']
|
|
264
|
+
}, (0, _element.createElement)(_components.TextControl
|
|
265
|
+
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
266
|
+
, {
|
|
267
|
+
autoFocus: true,
|
|
268
|
+
autoCapitalize: "none",
|
|
269
|
+
autoCorrect: false,
|
|
270
|
+
autoComplete: _reactNative.Platform.isIOS ? 'url' : 'off',
|
|
271
|
+
keyboardType: "url",
|
|
272
|
+
label: (0, _i18n.__)('Insert from URL'),
|
|
273
|
+
onChange: props.onChange,
|
|
274
|
+
placeholder: (0, _i18n.__)('Type a URL'),
|
|
275
|
+
value: props.value
|
|
276
|
+
})));
|
|
277
|
+
}
|
|
268
278
|
var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
|
|
269
279
|
const {
|
|
270
280
|
capabilities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_reactNative","_reactNativePromptAndroid","_interopRequireDefault","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","MEDIA_TYPE_IMAGE","exports","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","OPTION_TAKE_VIDEO","__","OPTION_TAKE_PHOTO","OPTION_TAKE_PHOTO_OR_VIDEO","OPTION_INSERT_FROM_URL","OPTION_WORDPRESS_MEDIA_LIBRARY","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","icon","capturePhoto","cameraVideoSource","captureVideo","deviceLibrarySource","deviceLibrary","image","siteLibrarySource","siteMediaLibrary","wordpress","mediaLibrary","urlSource","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","prompt","undefined","text","style","onPress","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","createElement","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","open","_default","compose","withSelect","select","capabilities","blockEditorStore","getSettings","default"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\nimport prompt from 'react-native-prompt-android';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Picker } from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\nexport const MEDIA_TYPE_IMAGE = 'image';\nexport const MEDIA_TYPE_VIDEO = 'video';\nexport const MEDIA_TYPE_AUDIO = 'audio';\nexport const MEDIA_TYPE_ANY = 'any';\n\nexport const OPTION_TAKE_VIDEO = __( 'Take a Video' );\nexport const OPTION_TAKE_PHOTO = __( 'Take a Photo' );\nexport const OPTION_TAKE_PHOTO_OR_VIDEO = __( 'Take a Photo or Video' );\nexport const OPTION_INSERT_FROM_URL = __( 'Insert from URL' );\nexport const OPTION_WORDPRESS_MEDIA_LIBRARY = __( 'WordPress Media Library' );\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: __( 'Take a Photo' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: __( 'Take a Video' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: __( 'WordPress Media Library' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: __( 'Insert from URL' ),\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\tonSelect,\n\t\t\tonSelectURL,\n\t\t\tmultiple = false,\n\t\t} = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tprompt(\n\t\t\t\t__( 'Type a URL' ), // title\n\t\t\t\tundefined, // message\n\t\t\t\t[\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: __( 'Cancel' ),\n\t\t\t\t\t\tstyle: 'cancel',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: __( 'Apply' ),\n\t\t\t\t\t\tonPress: onSelectURL,\n\t\t\t\t\t},\n\t\t\t\t], // Buttons.\n\t\t\t\t'plain-text', // type\n\t\t\t\tundefined, // defaultValue\n\t\t\t\t'url' // keyboardType\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn this.props.render( {\n\t\t\topen: this.onPickerPresent,\n\t\t\tgetMediaOptions,\n\t\t} );\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_reactNative","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","__","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","image","siteLibrarySource","siteMediaLibrary","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","createElement","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","Fragment","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","compose","withSelect","select","capabilities","blockEditorStore","getSettings","default"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: __( 'Take a Photo' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: __( 'Take a Video' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: __( 'WordPress Media Library' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: __( 'Insert from URL' ),\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ __( 'Insert from URL' ) }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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"}
|
|
@@ -68,6 +68,6 @@ function PreviewOptions({
|
|
|
68
68
|
className: "block-editor-post-preview__button-resize",
|
|
69
69
|
onClick: () => setDeviceType('Mobile'),
|
|
70
70
|
icon: deviceType === 'Mobile' && _icons.check
|
|
71
|
-
}, (0, _i18n.__)('Mobile'))), children(renderProps)));
|
|
71
|
+
}, (0, _i18n.__)('Mobile'))), children?.(renderProps)));
|
|
72
72
|
}
|
|
73
73
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_i18n","_icons","PreviewOptions","children","viewLabel","className","isEnabled","deviceType","setDeviceType","label","isMobile","useViewportMatch","popoverProps","classnames","placement","toggleProps","disabled","__experimentalIsFocusable","menuProps","__","deviceIcons","mobile","tablet","desktop","_element","createElement","DropdownMenu","icon","toLowerCase","disableOpenOnArrowDown","renderProps","Fragment","MenuGroup","MenuItem","onClick","check"],"sources":["@wordpress/block-editor/src/components/preview-options/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check, desktop, mobile, tablet } from '@wordpress/icons';\n\nexport default function PreviewOptions( {\n\tchildren,\n\tviewLabel,\n\tclassName,\n\tisEnabled = true,\n\tdeviceType,\n\tsetDeviceType,\n\tlabel,\n} ) {\n\tconst isMobile = useViewportMatch( 'small', '<' );\n\tif ( isMobile ) return null;\n\n\tconst popoverProps = {\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t'block-editor-post-preview__dropdown-content'\n\t\t),\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'block-editor-post-preview__button-toggle',\n\t\tdisabled: ! isEnabled,\n\t\t__experimentalIsFocusable: ! isEnabled,\n\t\tchildren: viewLabel,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tmobile,\n\t\ttablet,\n\t\tdesktop,\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-post-preview__dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ label || __( 'Preview' ) }\n\t\t\tdisableOpenOnArrowDown={ ! isEnabled }\n\t\t>\n\t\t\t{ ( renderProps ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Desktop' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Desktop' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Desktop' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Tablet' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Tablet' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Tablet' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Mobile' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Mobile' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Mobile' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ children( renderProps ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASK,cAAcA,CAAE;EACvCC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC,SAAS,GAAG,IAAI;EAChBC,UAAU;EACVC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,OAAO,EAAE,GAAI,CAAC;EACjD,IAAKD,QAAQ,EAAG,OAAO,IAAI;EAE3B,MAAME,YAAY,GAAG;IACpBP,SAAS,EAAE,IAAAQ,mBAAU,EACpBR,SAAS,EACT,6CACD,CAAC;IACDS,SAAS,EAAE;EACZ,CAAC;EACD,MAAMC,WAAW,GAAG;IACnBV,SAAS,EAAE,0CAA0C;IACrDW,QAAQ,EAAE,CAAEV,SAAS;IACrBW,yBAAyB,EAAE,CAAEX,SAAS;IACtCH,QAAQ,EAAEC;EACX,CAAC;EACD,MAAMc,SAAS,GAAG;IACjB,YAAY,EAAE,IAAAC,QAAE,EAAE,cAAe;EAClC,CAAC;EAED,MAAMC,WAAW,GAAG;IACnBC,MAAM,EAANA,aAAM;IACNC,MAAM,EAANA,aAAM;IACNC,OAAO,EAAPA;EACD,CAAC;EAED,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAA2B,YAAY;IACZrB,SAAS,EAAC,qCAAqC;IAC/CO,YAAY,EAAGA,YAAc;IAC7BG,WAAW,EAAGA,WAAa;IAC3BG,SAAS,EAAGA,SAAW;IACvBS,IAAI,EAAGP,WAAW,CAAEb,UAAU,CAACqB,WAAW,CAAC,CAAC,CAAI;IAChDnB,KAAK,EAAGA,KAAK,IAAI,IAAAU,QAAE,EAAE,SAAU,CAAG;IAClCU,sBAAsB,EAAG,CAAEvB;EAAW,GAElCwB,WAAW,IACd,IAAAN,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAO,QAAA,QACC,IAAAP,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAiC,SAAS,QACT,IAAAR,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,SAAU,CAAG;IAC5CmB,IAAI,EAAGpB,UAAU,KAAK,SAAS,IAAI4B;EAAO,GAExC,IAAAhB,QAAE,EAAE,SAAU,CACP,CAAC,EACX,IAAAK,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,QAAS,CAAG;IAC3CmB,IAAI,EAAGpB,UAAU,KAAK,QAAQ,IAAI4B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CAAC,EACX,IAAAK,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,QAAS,CAAG;IAC3CmB,IAAI,EAAGpB,UAAU,KAAK,QAAQ,IAAI4B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CACA,CAAC,EACVhB,QAAQ,
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_i18n","_icons","PreviewOptions","children","viewLabel","className","isEnabled","deviceType","setDeviceType","label","isMobile","useViewportMatch","popoverProps","classnames","placement","toggleProps","disabled","__experimentalIsFocusable","menuProps","__","deviceIcons","mobile","tablet","desktop","_element","createElement","DropdownMenu","icon","toLowerCase","disableOpenOnArrowDown","renderProps","Fragment","MenuGroup","MenuItem","onClick","check"],"sources":["@wordpress/block-editor/src/components/preview-options/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check, desktop, mobile, tablet } from '@wordpress/icons';\n\nexport default function PreviewOptions( {\n\tchildren,\n\tviewLabel,\n\tclassName,\n\tisEnabled = true,\n\tdeviceType,\n\tsetDeviceType,\n\tlabel,\n} ) {\n\tconst isMobile = useViewportMatch( 'small', '<' );\n\tif ( isMobile ) return null;\n\n\tconst popoverProps = {\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t'block-editor-post-preview__dropdown-content'\n\t\t),\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'block-editor-post-preview__button-toggle',\n\t\tdisabled: ! isEnabled,\n\t\t__experimentalIsFocusable: ! isEnabled,\n\t\tchildren: viewLabel,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tmobile,\n\t\ttablet,\n\t\tdesktop,\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-post-preview__dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ label || __( 'Preview' ) }\n\t\t\tdisableOpenOnArrowDown={ ! isEnabled }\n\t\t>\n\t\t\t{ ( renderProps ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Desktop' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Desktop' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Desktop' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Tablet' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Tablet' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Tablet' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Mobile' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Mobile' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Mobile' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ children?.( renderProps ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASK,cAAcA,CAAE;EACvCC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC,SAAS,GAAG,IAAI;EAChBC,UAAU;EACVC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,OAAO,EAAE,GAAI,CAAC;EACjD,IAAKD,QAAQ,EAAG,OAAO,IAAI;EAE3B,MAAME,YAAY,GAAG;IACpBP,SAAS,EAAE,IAAAQ,mBAAU,EACpBR,SAAS,EACT,6CACD,CAAC;IACDS,SAAS,EAAE;EACZ,CAAC;EACD,MAAMC,WAAW,GAAG;IACnBV,SAAS,EAAE,0CAA0C;IACrDW,QAAQ,EAAE,CAAEV,SAAS;IACrBW,yBAAyB,EAAE,CAAEX,SAAS;IACtCH,QAAQ,EAAEC;EACX,CAAC;EACD,MAAMc,SAAS,GAAG;IACjB,YAAY,EAAE,IAAAC,QAAE,EAAE,cAAe;EAClC,CAAC;EAED,MAAMC,WAAW,GAAG;IACnBC,MAAM,EAANA,aAAM;IACNC,MAAM,EAANA,aAAM;IACNC,OAAO,EAAPA;EACD,CAAC;EAED,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAA2B,YAAY;IACZrB,SAAS,EAAC,qCAAqC;IAC/CO,YAAY,EAAGA,YAAc;IAC7BG,WAAW,EAAGA,WAAa;IAC3BG,SAAS,EAAGA,SAAW;IACvBS,IAAI,EAAGP,WAAW,CAAEb,UAAU,CAACqB,WAAW,CAAC,CAAC,CAAI;IAChDnB,KAAK,EAAGA,KAAK,IAAI,IAAAU,QAAE,EAAE,SAAU,CAAG;IAClCU,sBAAsB,EAAG,CAAEvB;EAAW,GAElCwB,WAAW,IACd,IAAAN,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAO,QAAA,QACC,IAAAP,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAiC,SAAS,QACT,IAAAR,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,SAAU,CAAG;IAC5CmB,IAAI,EAAGpB,UAAU,KAAK,SAAS,IAAI4B;EAAO,GAExC,IAAAhB,QAAE,EAAE,SAAU,CACP,CAAC,EACX,IAAAK,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,QAAS,CAAG;IAC3CmB,IAAI,EAAGpB,UAAU,KAAK,QAAQ,IAAI4B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CAAC,EACX,IAAAK,QAAA,CAAAC,aAAA,EAAC1B,WAAA,CAAAkC,QAAQ;IACR5B,SAAS,EAAC,0CAA0C;IACpD6B,OAAO,EAAGA,CAAA,KAAM1B,aAAa,CAAE,QAAS,CAAG;IAC3CmB,IAAI,EAAGpB,UAAU,KAAK,QAAQ,IAAI4B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CACA,CAAC,EACVhB,QAAQ,GAAI2B,WAAY,CACzB,CAEU,CAAC;AAEjB"}
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "RichTextToolbarButton", {
|
|
|
16
16
|
return _toolbarButton.RichTextToolbarButton;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
exports.RichTextWrapper = RichTextWrapper;
|
|
19
20
|
Object.defineProperty(exports, "__unstableRichTextInputEvent", {
|
|
20
21
|
enumerable: true,
|
|
21
22
|
get: function () {
|
|
@@ -51,6 +52,7 @@ var _useFirefoxCompat = require("./use-firefox-compat");
|
|
|
51
52
|
var _formatEdit = _interopRequireDefault(require("./format-edit"));
|
|
52
53
|
var _utils = require("./utils");
|
|
53
54
|
var _content = require("./content");
|
|
55
|
+
var _multiline = _interopRequireDefault(require("./multiline"));
|
|
54
56
|
var _shortcut = require("./shortcut");
|
|
55
57
|
var _toolbarButton = require("./toolbar-button");
|
|
56
58
|
var _inputEvent = require("./input-event");
|
|
@@ -104,8 +106,8 @@ function removeNativeProps(props) {
|
|
|
104
106
|
function RichTextWrapper({
|
|
105
107
|
children,
|
|
106
108
|
tagName = 'div',
|
|
107
|
-
value:
|
|
108
|
-
onChange:
|
|
109
|
+
value: adjustedValue = '',
|
|
110
|
+
onChange: adjustedOnChange,
|
|
109
111
|
isSelected: originalIsSelected,
|
|
110
112
|
multiline,
|
|
111
113
|
inlineToolbar,
|
|
@@ -119,7 +121,7 @@ function RichTextWrapper({
|
|
|
119
121
|
onMerge,
|
|
120
122
|
onSplit,
|
|
121
123
|
__unstableOnSplitAtEnd: onSplitAtEnd,
|
|
122
|
-
|
|
124
|
+
__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,
|
|
123
125
|
identifier,
|
|
124
126
|
preserveWhiteSpace,
|
|
125
127
|
__unstablePastePlainText: pastePlainText,
|
|
@@ -129,16 +131,6 @@ function RichTextWrapper({
|
|
|
129
131
|
__unstableAllowPrefixTransformations,
|
|
130
132
|
...props
|
|
131
133
|
}, forwardedRef) {
|
|
132
|
-
if (multiline) {
|
|
133
|
-
(0, _deprecated.default)('wp.blockEditor.RichText multiline prop', {
|
|
134
|
-
since: '6.1',
|
|
135
|
-
version: '6.3',
|
|
136
|
-
alternative: 'nested blocks (InnerBlocks)',
|
|
137
|
-
link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/nested-blocks-inner-blocks/'
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
const instanceId = (0, _compose.useInstanceId)(RichTextWrapper);
|
|
141
|
-
identifier = identifier || instanceId;
|
|
142
134
|
props = removeNativeProps(props);
|
|
143
135
|
const anchorRef = (0, _element.useRef)();
|
|
144
136
|
const {
|
|
@@ -179,26 +171,11 @@ function RichTextWrapper({
|
|
|
179
171
|
const {
|
|
180
172
|
selectionChange
|
|
181
173
|
} = (0, _data.useDispatch)(_store.store);
|
|
182
|
-
const multilineTag = (0, _utils.getMultilineTag)(multiline);
|
|
183
174
|
const adjustedAllowedFormats = (0, _utils.getAllowedFormats)({
|
|
184
175
|
allowedFormats,
|
|
185
176
|
disableFormats
|
|
186
177
|
});
|
|
187
178
|
const hasFormats = !adjustedAllowedFormats || adjustedAllowedFormats.length > 0;
|
|
188
|
-
let adjustedValue = originalValue;
|
|
189
|
-
let adjustedOnChange = originalOnChange;
|
|
190
|
-
|
|
191
|
-
// Handle deprecated format.
|
|
192
|
-
if (Array.isArray(originalValue)) {
|
|
193
|
-
(0, _deprecated.default)('wp.blockEditor.RichText value prop as children type', {
|
|
194
|
-
since: '6.1',
|
|
195
|
-
version: '6.3',
|
|
196
|
-
alternative: 'value prop as string',
|
|
197
|
-
link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/'
|
|
198
|
-
});
|
|
199
|
-
adjustedValue = _blocks.children.toHTML(originalValue);
|
|
200
|
-
adjustedOnChange = newValue => originalOnChange(_blocks.children.fromDOM((0, _richText.__unstableCreateElement)(document, newValue).childNodes));
|
|
201
|
-
}
|
|
202
179
|
const onSelectionChange = (0, _element.useCallback)((start, end) => {
|
|
203
180
|
const selection = {};
|
|
204
181
|
const unset = start === undefined && end === undefined;
|
|
@@ -276,7 +253,6 @@ function RichTextWrapper({
|
|
|
276
253
|
onSelectionChange,
|
|
277
254
|
placeholder,
|
|
278
255
|
__unstableIsSelected: isSelected,
|
|
279
|
-
__unstableMultilineTag: multilineTag,
|
|
280
256
|
__unstableDisableFormats: disableFormats,
|
|
281
257
|
preserveWhiteSpace,
|
|
282
258
|
__unstableDependencies: [...dependencies, tagName],
|
|
@@ -347,9 +323,7 @@ function RichTextWrapper({
|
|
|
347
323
|
tagName,
|
|
348
324
|
onReplace,
|
|
349
325
|
onSplit,
|
|
350
|
-
onSplitMiddle,
|
|
351
326
|
__unstableEmbedURLOnPaste,
|
|
352
|
-
multilineTag,
|
|
353
327
|
preserveWhiteSpace,
|
|
354
328
|
pastePlainText
|
|
355
329
|
}), (0, _useDelete.useDelete)({
|
|
@@ -361,11 +335,10 @@ function RichTextWrapper({
|
|
|
361
335
|
value,
|
|
362
336
|
onReplace,
|
|
363
337
|
onSplit,
|
|
364
|
-
onSplitMiddle,
|
|
365
|
-
multilineTag,
|
|
366
338
|
onChange,
|
|
367
339
|
disableLineBreaks,
|
|
368
|
-
onSplitAtEnd
|
|
340
|
+
onSplitAtEnd,
|
|
341
|
+
onSplitAtDoubleLineEnd
|
|
369
342
|
}), (0, _useFirefoxCompat.useFirefoxCompat)(), anchorRef]),
|
|
370
343
|
contentEditable: true,
|
|
371
344
|
suppressContentEditableWarning: true,
|
|
@@ -380,7 +353,33 @@ function RichTextWrapper({
|
|
|
380
353
|
tabIndex: props.tabIndex === 0 ? null : props.tabIndex
|
|
381
354
|
}));
|
|
382
355
|
}
|
|
383
|
-
const
|
|
356
|
+
const ForwardedRichTextWrapper = (0, _element.forwardRef)(RichTextWrapper);
|
|
357
|
+
function RichTextSwitcher(props, ref) {
|
|
358
|
+
let value = props.value;
|
|
359
|
+
let onChange = props.onChange;
|
|
360
|
+
|
|
361
|
+
// Handle deprecated format.
|
|
362
|
+
if (Array.isArray(value)) {
|
|
363
|
+
(0, _deprecated.default)('wp.blockEditor.RichText value prop as children type', {
|
|
364
|
+
since: '6.1',
|
|
365
|
+
version: '6.3',
|
|
366
|
+
alternative: 'value prop as string',
|
|
367
|
+
link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/'
|
|
368
|
+
});
|
|
369
|
+
value = _blocks.children.toHTML(props.value);
|
|
370
|
+
onChange = newValue => props.onChange(_blocks.children.fromDOM((0, _richText.__unstableCreateElement)(document, newValue).childNodes));
|
|
371
|
+
}
|
|
372
|
+
const Component = props.multiline ? _multiline.default : ForwardedRichTextWrapper;
|
|
373
|
+
const instanceId = (0, _compose.useInstanceId)(RichTextSwitcher);
|
|
374
|
+
return (0, _element.createElement)(Component, {
|
|
375
|
+
...props,
|
|
376
|
+
identifier: props.identifier || instanceId,
|
|
377
|
+
value: value,
|
|
378
|
+
onChange: onChange,
|
|
379
|
+
ref: ref
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
const ForwardedRichTextContainer = (0, _element.forwardRef)(RichTextSwitcher);
|
|
384
383
|
ForwardedRichTextContainer.Content = _content.Content;
|
|
385
384
|
ForwardedRichTextContainer.isEmpty = value => {
|
|
386
385
|
return !value || value.length === 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_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","_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","originalValue","onChange","originalOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitMiddle","onSplitMiddle","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","deprecated","since","version","alternative","link","instanceId","useInstanceId","anchorRef","useRef","clientId","useBlockEditContext","selector","select","getSelectionStart","getSelectionEnd","blockEditorStore","selectionStart","selectionEnd","undefined","attributeKey","offset","useSelect","getBlockRootClientId","selectionChange","useDispatch","multilineTag","getMultilineTag","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","adjustedValue","adjustedOnChange","Array","isArray","childrenSource","toHTML","newValue","fromDOM","__unstableCreateElement","document","childNodes","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","__unstableMultilineTag","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","useBlockEditorAutocompleteProps","completers","record","useMarkPersistent","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","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","ForwardedRichTextContainer","forwardRef","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 { getMultilineTag, getAllowedFormats } from './utils';\nimport { Content } from './content';\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\nfunction RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\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\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\tif ( multiline ) {\n\t\tdeprecated( 'wp.blockEditor.RichText multiline prop', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'nested blocks (InnerBlocks)',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/nested-blocks-inner-blocks/',\n\t\t} );\n\t}\n\n\tconst instanceId = useInstanceId( RichTextWrapper );\n\n\tidentifier = identifier || instanceId;\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// retreived 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 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\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\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( 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__unstableMultilineTag: multilineTag,\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\tonSplitMiddle,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tmultilineTag,\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\tonSplitMiddle,\n\t\t\t\t\t\tmultilineTag,\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} ),\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 ForwardedRichTextContainer = forwardRef( RichTextWrapper );\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":["_element","require","_classnames","_interopRequireDefault","_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","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// retreived 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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"}
|