@wordpress/block-editor 8.0.16 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/LICENSE.md +1 -1
- package/README.md +12 -1
- package/build/components/block-caption/index.native.js +14 -3
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-edit/index.js +9 -0
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +8 -20
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list-appender/index.js +3 -11
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +2 -1
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-preview/auto.js +10 -2
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings/container.native.js +2 -1
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +110 -134
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/menu-items.js +63 -0
- package/build/components/block-styles/menu-items.js.map +1 -0
- package/build/components/block-styles/preview-panel.js +45 -0
- package/build/components/block-styles/preview-panel.js.map +1 -0
- package/build/components/block-styles/preview.native.js +2 -2
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-styles/use-styles-for-block.js +119 -0
- package/build/components/block-styles/use-styles-for-block.js.map +1 -0
- package/build/components/block-styles/utils.js +39 -0
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +3 -23
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-tools/back-compat.js +2 -1
- package/build/components/block-tools/back-compat.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/block-tools/insertion-point.js +11 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.native.js +2 -2
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -1
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +88 -0
- package/build/components/colors-gradients/dropdown.js.map +1 -0
- package/build/components/colors-gradients/panel-color-gradient-settings.js +6 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +6 -3
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/contrast-checker/index.js +34 -9
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +108 -0
- package/build/components/contrast-checker/index.native.js.map +1 -0
- package/build/components/default-block-appender/index.js +16 -19
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-style-picker/index.js +18 -3
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/iframe/index.js +4 -5
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.js +18 -9
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +9 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +2 -4
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/index.js +61 -3
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -1
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +5 -3
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +11 -3
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/tabs.native.js +7 -4
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +2 -1
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +11 -43
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -5
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +2 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +1 -3
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +6 -6
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/link-control/link-preview.js +1 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +11 -1
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +18 -5
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-select-button.js +23 -3
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +8 -0
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/media-placeholder/index.js +2 -0
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +32 -6
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload-progress/index.native.js +2 -1
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/panel-color-settings/index.js +7 -3
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +4 -1
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.js +1 -1
- package/build/components/rich-text/file-paste-handler.js.map +1 -1
- package/build/components/rich-text/prevent-event-discovery.js +33 -0
- package/build/components/rich-text/prevent-event-discovery.js.map +1 -0
- package/build/components/rich-text/use-input-rules.js +3 -1
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/selection-scroll-into-view/index.js +2 -1
- package/build/components/selection-scroll-into-view/index.js.map +1 -1
- package/build/components/use-display-block-controls/index.native.js +45 -0
- package/build/components/use-display-block-controls/index.native.js.map +1 -0
- package/build/components/use-on-block-drop/index.js +7 -3
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +3 -1
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/hooks/border-color.js +74 -10
- package/build/hooks/border-color.js.map +1 -1
- package/build/hooks/border-radius.js +47 -0
- package/build/hooks/border-radius.js.map +1 -1
- package/build/hooks/border-style.js +41 -0
- package/build/hooks/border-style.js.map +1 -1
- package/build/hooks/border-width.js +70 -31
- package/build/hooks/border-width.js.map +1 -1
- package/build/hooks/border.js +81 -11
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +4 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color-panel.native.js +77 -0
- package/build/hooks/color-panel.native.js.map +1 -0
- package/build/hooks/color.js +6 -5
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/index.native.js +2 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.native.js +20 -0
- package/build/hooks/layout.native.js.map +1 -0
- package/build/hooks/letter-spacing.js +1 -1
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/typography.js +1 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/store/actions.js +1 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +5 -1
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +2 -6
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/selectors.js +10 -5
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-paste-event-data.js +1 -1
- package/build/utils/get-paste-event-data.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +1 -1
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +13 -3
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +9 -0
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +8 -20
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +3 -10
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +2 -1
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-preview/auto.js +10 -2
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +2 -1
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +112 -133
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +50 -0
- package/build-module/components/block-styles/menu-items.js.map +1 -0
- package/build-module/components/block-styles/preview-panel.js +35 -0
- package/build-module/components/block-styles/preview-panel.js.map +1 -0
- package/build-module/components/block-styles/preview.native.js +2 -2
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-styles/use-styles-for-block.js +107 -0
- package/build-module/components/block-styles/use-styles-for-block.js.map +1 -0
- package/build-module/components/block-styles/utils.js +34 -0
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +3 -21
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +2 -1
- package/build-module/components/block-tools/back-compat.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/block-tools/insertion-point.js +11 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -2
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -1
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +75 -0
- package/build-module/components/colors-gradients/dropdown.js.map +1 -0
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +8 -7
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +7 -4
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.js +34 -9
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +90 -0
- package/build-module/components/contrast-checker/index.native.js.map +1 -0
- package/build-module/components/default-block-appender/index.js +15 -18
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +17 -3
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -5
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.js +2 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +2 -4
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/index.js +61 -3
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +2 -2
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +5 -3
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +11 -4
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +7 -4
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +2 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +12 -43
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -5
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +2 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +1 -3
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +6 -6
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +1 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +11 -1
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +18 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +22 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +6 -0
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +2 -0
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +32 -6
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +2 -1
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +7 -3
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +4 -1
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.js +1 -1
- package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.js +25 -0
- package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -0
- package/build-module/components/rich-text/use-input-rules.js +2 -1
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/selection-scroll-into-view/index.js +2 -1
- package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.native.js +34 -0
- package/build-module/components/use-display-block-controls/index.native.js.map +1 -0
- package/build-module/components/use-on-block-drop/index.js +7 -3
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +3 -4
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/hooks/border-color.js +72 -12
- package/build-module/hooks/border-color.js.map +1 -1
- package/build-module/hooks/border-radius.js +42 -0
- package/build-module/hooks/border-radius.js.map +1 -1
- package/build-module/hooks/border-style.js +36 -0
- package/build-module/hooks/border-style.js.map +1 -1
- package/build-module/hooks/border-width.js +66 -32
- package/build-module/hooks/border-width.js.map +1 -1
- package/build-module/hooks/border.js +80 -12
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +4 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color-panel.native.js +62 -0
- package/build-module/hooks/color-panel.native.js.map +1 -0
- package/build-module/hooks/color.js +6 -5
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.native.js +16 -0
- package/build-module/hooks/layout.native.js.map +1 -0
- package/build-module/hooks/letter-spacing.js +1 -1
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/store/actions.js +1 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +5 -1
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +2 -5
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/selectors.js +10 -5
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-paste-event-data.js +1 -1
- package/build-module/utils/get-paste-event-data.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +1 -1
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +226 -181
- package/build-style/style.css +226 -181
- package/package.json +31 -27
- package/src/components/block-caption/index.native.js +22 -4
- package/src/components/block-card/README.md +1 -1
- package/src/components/block-edit/index.js +8 -0
- package/src/components/block-edit/test/edit.native.js +10 -9
- package/src/components/block-inspector/index.js +9 -16
- package/src/components/block-list-appender/index.js +5 -21
- package/src/components/block-media-update-progress/index.native.js +1 -1
- package/src/components/block-media-update-progress/test/index.native.js +136 -93
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +108 -47
- package/src/components/block-mover/test/index.native.js +5 -5
- package/src/components/block-preview/README.md +14 -26
- package/src/components/block-preview/auto.js +7 -2
- package/src/components/block-preview/test/index.js +2 -0
- package/src/components/block-settings/container.native.js +1 -0
- package/src/components/block-styles/index.js +125 -145
- package/src/components/block-styles/menu-items.js +49 -0
- package/src/components/block-styles/preview-panel.js +36 -0
- package/src/components/block-styles/preview.native.js +5 -2
- package/src/components/block-styles/style.scss +59 -51
- package/src/components/block-styles/test/{index.js → utils.js} +60 -1
- package/src/components/block-styles/use-styles-for-block.js +99 -0
- package/src/components/block-styles/utils.js +39 -0
- package/src/components/block-switcher/block-styles-menu.js +3 -38
- package/src/components/block-tools/back-compat.js +1 -0
- package/src/components/block-tools/block-selection-button.js +7 -1
- package/src/components/block-tools/insertion-point.js +10 -1
- package/src/components/block-types-list/index.native.js +5 -2
- package/src/components/border-radius-control/style.scss +1 -1
- package/src/components/border-style-control/style.scss +0 -1
- package/src/components/button-block-appender/index.js +1 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +9 -4
- package/src/components/colors-gradients/dropdown.js +96 -0
- package/src/components/colors-gradients/panel-color-gradient-settings.js +23 -19
- package/src/components/colors-gradients/panel-color-gradient-settings.native.js +13 -2
- package/src/components/colors-gradients/style.scss +59 -5
- package/src/components/contrast-checker/README.md +3 -1
- package/src/components/contrast-checker/index.js +48 -20
- package/src/components/contrast-checker/index.native.js +113 -0
- package/src/components/contrast-checker/style.native.scss +26 -0
- package/src/components/contrast-checker/test/index.js +65 -0
- package/src/components/default-block-appender/index.js +17 -24
- package/src/components/default-block-appender/style.scss +4 -0
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +12 -24
- package/src/components/default-block-appender/test/index.js +4 -14
- package/src/components/default-style-picker/index.js +18 -6
- package/src/components/iframe/index.js +7 -3
- package/src/components/index.js +2 -1
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/README.md +2 -0
- package/src/components/inner-blocks/default-block-appender.js +2 -7
- package/src/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/src/components/inserter/index.js +77 -5
- package/src/components/inserter/index.native.js +2 -2
- package/src/components/inserter/library.js +17 -12
- package/src/components/inserter/menu.js +31 -13
- package/src/components/inserter/tabs.native.js +5 -4
- package/src/components/inserter/test/block-types-tab.native.js +9 -10
- package/src/components/inserter/test/index.native.js +3 -7
- package/src/components/inserter/test/reusable-blocks-tab.native.js +8 -10
- package/src/components/inspector-controls/block-support-slot-container.js +3 -1
- package/src/components/inspector-controls/block-support-tools-panel.js +39 -58
- package/src/components/inspector-controls/fill.native.js +4 -3
- package/src/components/inspector-controls/groups.js +2 -0
- package/src/components/inspector-controls/slot.js +2 -7
- package/src/components/letter-spacing-control/index.js +6 -6
- package/src/components/link-control/README.md +1 -1
- package/src/components/link-control/link-preview.js +1 -1
- package/src/components/link-control/search-item.js +11 -2
- package/src/components/link-control/search-results.js +1 -0
- package/src/components/link-control/style.scss +2 -1
- package/src/components/link-control/test/index.js +4 -0
- package/src/components/link-control/use-search-handler.js +25 -4
- package/src/components/list-view/block-select-button.js +20 -1
- package/src/components/list-view/block.js +10 -0
- package/src/components/media-placeholder/index.js +2 -0
- package/src/components/media-replace-flow/index.js +35 -5
- package/src/components/media-upload/test/index.native.js +28 -47
- package/src/components/media-upload-progress/index.native.js +1 -0
- package/src/components/media-upload-progress/test/index.native.js +60 -47
- package/src/components/panel-color-settings/index.js +8 -4
- package/src/components/provider/block-refs-provider.js +4 -1
- package/src/components/rich-text/file-paste-handler.js +3 -1
- package/src/components/rich-text/prevent-event-discovery.js +23 -0
- package/src/components/rich-text/use-input-rules.js +2 -1
- package/src/components/selection-scroll-into-view/index.js +1 -0
- package/src/components/url-input/README.md +5 -0
- package/src/components/use-display-block-controls/index.native.js +38 -0
- package/src/components/use-on-block-drop/index.js +7 -3
- package/src/components/writing-flow/test/use-multi-selection.js +36 -0
- package/src/components/writing-flow/use-multi-selection.js +12 -9
- package/src/hooks/border-color.js +69 -9
- package/src/hooks/border-radius.js +32 -0
- package/src/hooks/border-style.js +26 -0
- package/src/hooks/border-width.js +56 -32
- package/src/hooks/border.js +115 -20
- package/src/hooks/border.scss +3 -17
- package/src/hooks/color-panel.js +3 -0
- package/src/hooks/color-panel.native.js +63 -0
- package/src/hooks/color.js +8 -7
- package/src/hooks/dimensions.scss +5 -0
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/layout.native.js +23 -0
- package/src/hooks/letter-spacing.js +1 -1
- package/src/hooks/typography.js +1 -1
- package/src/store/actions.js +1 -2
- package/src/store/defaults.js +2 -0
- package/src/store/defaults.native.js +2 -6
- package/src/store/selectors.js +10 -5
- package/src/style.scss +4 -3
- package/src/utils/get-paste-event-data.js +1 -1
- package/src/utils/parse-css-unit-to-px.js +1 -1
- package/src/utils/test/parse-css-unit-to-px.js +3 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/use-canvas-click-redirect/index.js +0 -66
- package/build/components/use-canvas-click-redirect/index.js.map +0 -1
- package/build-module/components/use-canvas-click-redirect/index.js +0 -54
- package/build-module/components/use-canvas-click-redirect/index.js.map +0 -1
- package/src/components/use-canvas-click-redirect/index.js +0 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"names":["classnames","__experimentalTreeGridCell","TreeGridCell","__experimentalTreeGridItem","TreeGridItem","moreVertical","useState","useRef","useEffect","useCallback","memo","useDispatch","ListViewLeaf","BlockMoverUpButton","BlockMoverDownButton","ListViewBlockContents","BlockSettingsDropdown","useListViewContext","store","blockEditorStore","ListViewBlock","block","isDragged","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","cellRef","isHovered","setIsHovered","clientId","toggleBlockHighlight","__experimentalFeatures","withExperimentalFeatures","__experimentalPersistentListViewFeatures","withExperimentalPersistentListViewFeatures","__experimentalHideContainerBlockActions","hideContainerBlockActions","isTreeGridMounted","expand","collapse","hasSiblings","hasRenderedMovers","moverCellClassName","listViewBlockSettingsClassName","current","focus","highlightBlock","onMouseEnter","onMouseLeave","selectEditorBlock","event","stopPropagation","toggleExpanded","showBlockActions","hideBlockActions","colSpan","classes","ref","tabIndex","onFocus","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport BlockSettingsDropdown from '../block-settings-menu/block-settings-dropdown';\nimport { useListViewContext } from './context';\nimport { store as blockEditorStore } from '../../store';\n\nfunction ListViewBlock( {\n\tblock,\n\tisDragged,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { clientId } = block;\n\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\n\tconst {\n\t\t__experimentalFeatures: withExperimentalFeatures,\n\t\t__experimentalPersistentListViewFeatures: withExperimentalPersistentListViewFeatures,\n\t\t__experimentalHideContainerBlockActions: hideContainerBlockActions,\n\t\tisTreeGridMounted,\n\t\texpand,\n\t\tcollapse,\n\t} = useListViewContext();\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = classnames(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = classnames(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\t// If ListView has experimental features related to the Persistent List View,\n\t// only focus the selected list item on mount; otherwise the list would always\n\t// try to steal the focus from the editor canvas.\n\tuseEffect( () => {\n\t\tif (\n\t\t\twithExperimentalPersistentListViewFeatures &&\n\t\t\t! isTreeGridMounted &&\n\t\t\tisSelected\n\t\t) {\n\t\t\tcellRef.current.focus();\n\t\t}\n\t}, [] );\n\n\tconst highlightBlock = withExperimentalPersistentListViewFeatures\n\t\t? toggleBlockHighlight\n\t\t: () => {};\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\thighlightBlock( clientId, true );\n\t}, [ clientId, setIsHovered, highlightBlock ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\thighlightBlock( clientId, false );\n\t}, [ clientId, setIsHovered, highlightBlock ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tevent.stopPropagation();\n\t\t\tselectBlock( clientId );\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\tconst showBlockActions =\n\t\twithExperimentalFeatures &&\n\t\t//hide actions for blocks like core/widget-areas\n\t\t( ! hideContainerBlockActions ||\n\t\t\t( hideContainerBlockActions && level > 1 ) );\n\n\tconst hideBlockActions = withExperimentalFeatures && ! showBlockActions;\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( hideBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = classnames( {\n\t\t'is-selected': isSelected,\n\t\t'is-branch-selected':\n\t\t\twithExperimentalPersistentListViewFeatures && isBranchSelected,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': hideBlockActions,\n\t} );\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tisExpanded={ isExpanded }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && (\n\t\t\t\t<TreeGridCell className={ listViewBlockSettingsClassName }>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsDropdown\n\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\t__experimentalSelectBlock={ selectEditorBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/list-view/block.js"],"names":["classnames","__experimentalTreeGridCell","TreeGridCell","__experimentalTreeGridItem","TreeGridItem","moreVertical","useState","useRef","useEffect","useCallback","memo","useDispatch","sprintf","__","ListViewLeaf","BlockMoverUpButton","BlockMoverDownButton","ListViewBlockContents","BlockSettingsDropdown","useListViewContext","store","blockEditorStore","useBlockDisplayInformation","ListViewBlock","block","isDragged","isSelected","isBranchSelected","selectBlock","position","level","rowCount","siblingBlockCount","showBlockMovers","path","isExpanded","cellRef","isHovered","setIsHovered","clientId","toggleBlockHighlight","__experimentalFeatures","withExperimentalFeatures","__experimentalPersistentListViewFeatures","withExperimentalPersistentListViewFeatures","__experimentalHideContainerBlockActions","hideContainerBlockActions","isTreeGridMounted","expand","collapse","hasSiblings","hasRenderedMovers","moverCellClassName","listViewBlockSettingsClassName","current","focus","highlightBlock","onMouseEnter","onMouseLeave","selectEditorBlock","event","stopPropagation","toggleExpanded","showBlockActions","hideBlockActions","colSpan","classes","blockInformation","settingsAriaLabel","title","ref","tabIndex","onFocus","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { sprintf, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport BlockSettingsDropdown from '../block-settings-menu/block-settings-dropdown';\nimport { useListViewContext } from './context';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\n\nfunction ListViewBlock( {\n\tblock,\n\tisDragged,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst { clientId } = block;\n\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\n\tconst {\n\t\t__experimentalFeatures: withExperimentalFeatures,\n\t\t__experimentalPersistentListViewFeatures: withExperimentalPersistentListViewFeatures,\n\t\t__experimentalHideContainerBlockActions: hideContainerBlockActions,\n\t\tisTreeGridMounted,\n\t\texpand,\n\t\tcollapse,\n\t} = useListViewContext();\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = classnames(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = classnames(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\t// If ListView has experimental features related to the Persistent List View,\n\t// only focus the selected list item on mount; otherwise the list would always\n\t// try to steal the focus from the editor canvas.\n\tuseEffect( () => {\n\t\tif (\n\t\t\twithExperimentalPersistentListViewFeatures &&\n\t\t\t! isTreeGridMounted &&\n\t\t\tisSelected\n\t\t) {\n\t\t\tcellRef.current.focus();\n\t\t}\n\t}, [] );\n\n\tconst highlightBlock = withExperimentalPersistentListViewFeatures\n\t\t? toggleBlockHighlight\n\t\t: () => {};\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\thighlightBlock( clientId, true );\n\t}, [ clientId, setIsHovered, highlightBlock ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\thighlightBlock( clientId, false );\n\t}, [ clientId, setIsHovered, highlightBlock ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tevent.stopPropagation();\n\t\t\tselectBlock( clientId );\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\tconst showBlockActions =\n\t\twithExperimentalFeatures &&\n\t\t//hide actions for blocks like core/widget-areas\n\t\t( ! hideContainerBlockActions ||\n\t\t\t( hideContainerBlockActions && level > 1 ) );\n\n\tconst hideBlockActions = withExperimentalFeatures && ! showBlockActions;\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( hideBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = classnames( {\n\t\t'is-selected': isSelected,\n\t\t'is-branch-selected':\n\t\t\twithExperimentalPersistentListViewFeatures && isBranchSelected,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': hideBlockActions,\n\t} );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst settingsAriaLabel = sprintf(\n\t\t// translators: %s: The title of the block.\n\t\t__( 'Options for %s block' ),\n\t\tblockInformation.title\n\t);\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tisExpanded={ isExpanded }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && (\n\t\t\t\t<TreeGridCell className={ listViewBlockSettingsClassName }>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsDropdown\n\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ settingsAriaLabel }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\t__experimentalSelectBlock={ selectEditorBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"]}
|
|
@@ -75,6 +75,7 @@ export function MediaPlaceholder(_ref2) {
|
|
|
75
75
|
onDoubleClick,
|
|
76
76
|
onFilesPreUpload = noop,
|
|
77
77
|
onHTMLDrop = noop,
|
|
78
|
+
onClose = noop,
|
|
78
79
|
children,
|
|
79
80
|
mediaLibraryButton,
|
|
80
81
|
placeholder,
|
|
@@ -314,6 +315,7 @@ export function MediaPlaceholder(_ref2) {
|
|
|
314
315
|
gallery: multiple && onlyAllowsImages(),
|
|
315
316
|
multiple: multiple,
|
|
316
317
|
onSelect: onSelect,
|
|
318
|
+
onClose: onClose,
|
|
317
319
|
allowedTypes: allowedTypes,
|
|
318
320
|
value: Array.isArray(value) ? value.map(_ref7 => {
|
|
319
321
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"names":["noop","classnames","Button","FormFileUpload","Placeholder","DropZone","withFilters","__","useState","useEffect","useSelect","deprecated","keyboardReturn","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","InsertFromURLPopover","src","onChange","onSubmit","onClose","MediaPlaceholder","value","allowedTypes","className","icon","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","dropZoneUIOnly","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onDoubleClick","onFilesPreUpload","onHTMLDrop","children","mediaLibraryButton","placeholder","style","mediaUpload","select","getSettings","setSrc","isURLInputVisible","setIsURLInputVisible","onlyAllowsImages","length","every","allowedType","startsWith","onChangeSrc","event","target","openURLInput","closeURLInput","onSubmitSrc","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","onUpload","defaultRenderPlaceholder","content","instructions","title","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","renderPlaceholder","renderDropZone","renderCancelLink","renderUrlSelectionUI","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","Array","isArray","openFileDialog","since","alternative"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst InsertFromURLPopover = ( { src, onChange, onSubmit, onClose } ) => (\n\t<URLPopover onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdropZoneUIOnly,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop = noop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ openURLInput }\n\t\t\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ isURLInputVisible && (\n\t\t\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( dropZoneUIOnly || disableMediaButtons ) {\n\t\tif ( dropZoneUIOnly ) {\n\t\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop', {\n\t\t\t\tsince: '5.4',\n\t\t\t\talternative: 'disableMediaButtons',\n\t\t\t} );\n\t\t}\n\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"names":["noop","classnames","Button","FormFileUpload","Placeholder","DropZone","withFilters","__","useState","useEffect","useSelect","deprecated","keyboardReturn","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","InsertFromURLPopover","src","onChange","onSubmit","onClose","MediaPlaceholder","value","allowedTypes","className","icon","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","dropZoneUIOnly","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onSelectURL","onDoubleClick","onFilesPreUpload","onHTMLDrop","children","mediaLibraryButton","placeholder","style","mediaUpload","select","getSettings","setSrc","isURLInputVisible","setIsURLInputVisible","onlyAllowsImages","length","every","allowedType","startsWith","onChangeSrc","event","target","openURLInput","closeURLInput","onSubmitSrc","preventDefault","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","onUpload","defaultRenderPlaceholder","content","instructions","title","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","renderPlaceholder","renderDropZone","renderCancelLink","renderUrlSelectionUI","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","Array","isArray","openFileDialog","since","alternative"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst InsertFromURLPopover = ( { src, onChange, onSubmit, onClose } ) => (\n\t<URLPopover onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdropZoneUIOnly,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop = noop,\n\tonClose = noop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ openURLInput }\n\t\t\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ isURLInputVisible && (\n\t\t\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( dropZoneUIOnly || disableMediaButtons ) {\n\t\tif ( dropZoneUIOnly ) {\n\t\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder dropZoneUIOnly prop', {\n\t\t\t\tsince: '5.4',\n\t\t\t\talternative: 'disableMediaButtons',\n\t\t\t} );\n\t\t}\n\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"]}
|
|
@@ -30,15 +30,20 @@ const MediaReplaceFlow = _ref => {
|
|
|
30
30
|
let {
|
|
31
31
|
mediaURL,
|
|
32
32
|
mediaId,
|
|
33
|
+
mediaIds,
|
|
33
34
|
allowedTypes,
|
|
34
35
|
accept,
|
|
35
36
|
onSelect,
|
|
36
37
|
onSelectURL,
|
|
37
38
|
onFilesUpload = noop,
|
|
39
|
+
onCloseModal = noop,
|
|
38
40
|
name = __('Replace'),
|
|
39
41
|
createNotice,
|
|
40
42
|
removeNotice,
|
|
41
|
-
children
|
|
43
|
+
children,
|
|
44
|
+
multiple = false,
|
|
45
|
+
addToGallery,
|
|
46
|
+
handleUpload = true
|
|
42
47
|
} = _ref;
|
|
43
48
|
const [mediaURLValue, setMediaURLValue] = useState(mediaURL);
|
|
44
49
|
const mediaUpload = useSelect(select => {
|
|
@@ -70,7 +75,8 @@ const MediaReplaceFlow = _ref => {
|
|
|
70
75
|
}, 1000);
|
|
71
76
|
};
|
|
72
77
|
|
|
73
|
-
const selectMedia = media => {
|
|
78
|
+
const selectMedia = (media, closeMenu) => {
|
|
79
|
+
closeMenu();
|
|
74
80
|
setMediaURLValue(media.url); // Calling `onSelect` after the state update since it might unmount the component.
|
|
75
81
|
|
|
76
82
|
onSelect(media);
|
|
@@ -82,13 +88,19 @@ const MediaReplaceFlow = _ref => {
|
|
|
82
88
|
onSelectURL(newURL);
|
|
83
89
|
};
|
|
84
90
|
|
|
85
|
-
const uploadFiles = event => {
|
|
91
|
+
const uploadFiles = (event, closeMenu) => {
|
|
86
92
|
const files = event.target.files;
|
|
93
|
+
|
|
94
|
+
if (!handleUpload) {
|
|
95
|
+
closeMenu();
|
|
96
|
+
return onSelect(files);
|
|
97
|
+
}
|
|
98
|
+
|
|
87
99
|
onFilesUpload(files);
|
|
88
100
|
|
|
89
101
|
const setMedia = _ref2 => {
|
|
90
102
|
let [media] = _ref2;
|
|
91
|
-
selectMedia(media);
|
|
103
|
+
selectMedia(media, closeMenu);
|
|
92
104
|
};
|
|
93
105
|
|
|
94
106
|
mediaUpload({
|
|
@@ -106,6 +118,15 @@ const MediaReplaceFlow = _ref => {
|
|
|
106
118
|
}
|
|
107
119
|
};
|
|
108
120
|
|
|
121
|
+
const onlyAllowsImages = () => {
|
|
122
|
+
if (!allowedTypes || allowedTypes.length === 0) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/'));
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const gallery = multiple && onlyAllowsImages();
|
|
109
130
|
const POPOVER_PROPS = {
|
|
110
131
|
isAlternate: true
|
|
111
132
|
};
|
|
@@ -132,9 +153,13 @@ const MediaReplaceFlow = _ref => {
|
|
|
132
153
|
return createElement(Fragment, null, createElement(NavigableMenu, {
|
|
133
154
|
className: "block-editor-media-replace-flow__media-upload-menu"
|
|
134
155
|
}, createElement(MediaUpload, {
|
|
135
|
-
|
|
136
|
-
|
|
156
|
+
gallery: gallery,
|
|
157
|
+
addToGallery: addToGallery,
|
|
158
|
+
multiple: multiple,
|
|
159
|
+
value: multiple ? mediaIds : mediaId,
|
|
160
|
+
onSelect: media => selectMedia(media, onClose),
|
|
137
161
|
allowedTypes: allowedTypes,
|
|
162
|
+
onClose: onCloseModal,
|
|
138
163
|
render: _ref5 => {
|
|
139
164
|
let {
|
|
140
165
|
open
|
|
@@ -149,6 +174,7 @@ const MediaReplaceFlow = _ref => {
|
|
|
149
174
|
uploadFiles(event, onClose);
|
|
150
175
|
},
|
|
151
176
|
accept: accept,
|
|
177
|
+
multiple: multiple,
|
|
152
178
|
render: _ref6 => {
|
|
153
179
|
let {
|
|
154
180
|
openFileDialog
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"names":["uniqueId","noop","useState","createRef","renderToString","__","speak","FormFileUpload","NavigableMenu","MenuItem","ToolbarButton","Dropdown","withFilters","withDispatch","useSelect","DOWN","compose","upload","media","mediaIcon","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","MediaReplaceFlow","mediaURL","mediaId","allowedTypes","accept","onSelect","onSelectURL","onFilesUpload","name","createNotice","removeNotice","children","mediaURLValue","setMediaURLValue","mediaUpload","select","getSettings","editMediaButtonRef","errorNoticeID","onError","message","errorElement","document","createElement","innerHTML","renderMsg","textContent","innerText","setTimeout","id","isDismissible","selectMedia","url","selectURL","newURL","uploadFiles","event","files","target","setMedia","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","POPOVER_PROPS","isAlternate","isOpen","onToggle","onClose","open","openFileDialog","current","focus","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { uniqueId, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, createRef, renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tToolbarButton,\n\tDropdown,\n\twithFilters,\n} from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport { compose } from '@wordpress/compose';\nimport { upload, media as mediaIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tallowedTypes,\n\taccept,\n\tonSelect,\n\tonSelectURL,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n} ) => {\n\tconst [ mediaURLValue, setMediaURLValue ] = useState( mediaURL );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst editMediaButtonRef = createRef();\n\tconst errorNoticeID = uniqueId(\n\t\t'block-editor/media-replace-flow/error-notice/'\n\t);\n\n\tconst onError = ( message ) => {\n\t\tconst errorElement = document.createElement( 'div' );\n\t\terrorElement.innerHTML = renderToString( message );\n\t\t// The default error contains some HTML that,\n\t\t// for example, makes the filename bold.\n\t\t// The notice, by default, accepts strings only and so\n\t\t// we need to remove the html from the error.\n\t\tconst renderMsg =\n\t\t\terrorElement.textContent || errorElement.innerText || '';\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error afer the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', renderMsg, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media ) => {\n\t\tsetMediaURLValue( media.url );\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst selectURL = ( newURL ) => {\n\t\tonSelectURL( newURL );\n\t};\n\n\tconst uploadFiles = ( event ) => {\n\t\tconst files = event.target.files;\n\t\tonFilesUpload( files );\n\t\tconst setMedia = ( [ media ] ) => {\n\t\t\tselectMedia( media );\n\t\t};\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst POPOVER_PROPS = {\n\t\tisAlternate: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</ToolbarButton>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\t\t\tonSelect={ ( media ) => selectMedia( media ) }\n\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t<MenuItem icon={ mediaIcon } onClick={ open }>\n\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURLValue } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tsetMediaURLValue( url );\n\t\t\t\t\t\t\t\t\tselectURL( url );\n\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"names":["uniqueId","noop","useState","createRef","renderToString","__","speak","FormFileUpload","NavigableMenu","MenuItem","ToolbarButton","Dropdown","withFilters","withDispatch","useSelect","DOWN","compose","upload","media","mediaIcon","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onSelect","onSelectURL","onFilesUpload","onCloseModal","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","mediaURLValue","setMediaURLValue","mediaUpload","select","getSettings","editMediaButtonRef","errorNoticeID","onError","message","errorElement","document","createElement","innerHTML","renderMsg","textContent","innerText","setTimeout","id","isDismissible","selectMedia","closeMenu","url","selectURL","newURL","uploadFiles","event","files","target","setMedia","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","POPOVER_PROPS","isAlternate","isOpen","onToggle","onClose","open","openFileDialog","current","focus","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { uniqueId, noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, createRef, renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tToolbarButton,\n\tDropdown,\n\twithFilters,\n} from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport { compose } from '@wordpress/compose';\nimport { upload, media as mediaIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonSelect,\n\tonSelectURL,\n\tonFilesUpload = noop,\n\tonCloseModal = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n} ) => {\n\tconst [ mediaURLValue, setMediaURLValue ] = useState( mediaURL );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst editMediaButtonRef = createRef();\n\tconst errorNoticeID = uniqueId(\n\t\t'block-editor/media-replace-flow/error-notice/'\n\t);\n\n\tconst onError = ( message ) => {\n\t\tconst errorElement = document.createElement( 'div' );\n\t\terrorElement.innerHTML = renderToString( message );\n\t\t// The default error contains some HTML that,\n\t\t// for example, makes the filename bold.\n\t\t// The notice, by default, accepts strings only and so\n\t\t// we need to remove the html from the error.\n\t\tconst renderMsg =\n\t\t\terrorElement.textContent || errorElement.innerText || '';\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error afer the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', renderMsg, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tcloseMenu();\n\t\tsetMediaURLValue( media.url );\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst selectURL = ( newURL ) => {\n\t\tonSelectURL( newURL );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tconst setMedia = ( [ media ] ) => {\n\t\t\tselectMedia( media, closeMenu );\n\t\t};\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\tconst POPOVER_PROPS = {\n\t\tisAlternate: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tref={ editMediaButtonRef }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</ToolbarButton>\n\t\t\t) }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\tonClose={ onCloseModal }\n\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t<MenuItem icon={ mediaIcon } onClick={ open }>\n\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURLValue } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tsetMediaURLValue( url );\n\t\t\t\t\t\t\t\t\tselectURL( url );\n\t\t\t\t\t\t\t\t\teditMediaButtonRef.current.focus();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"]}
|
|
@@ -150,7 +150,8 @@ export class MediaUploadProgress extends Component {
|
|
|
150
150
|
style: progressBarStyle
|
|
151
151
|
}, showSpinner && createElement(Spinner, {
|
|
152
152
|
progress: progress,
|
|
153
|
-
style: this.props.spinnerStyle
|
|
153
|
+
style: this.props.spinnerStyle,
|
|
154
|
+
testID: "spinner"
|
|
154
155
|
})), renderContent({
|
|
155
156
|
isUploadInProgress,
|
|
156
157
|
isUploadFailed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/media-upload-progress/index.native.js"],"names":["View","Component","Spinner","__","subscribeMediaUpload","styles","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","MediaUploadProgress","constructor","props","state","progress","isUploadInProgress","isUploadFailed","mediaUpload","bind","componentDidMount","addMediaUploadListener","componentWillUnmount","removeMediaUploadListener","payload","mediaId","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","setState","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","subscriptionParentMediaUpload","remove","render","renderContent","showSpinner","retryMessage","progressBarStyle","progressBar","progressBarHidden","mediaUploadProgress","containerStyle","spinnerStyle"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/media-upload-progress/index.native.js"],"names":["View","Component","Spinner","__","subscribeMediaUpload","styles","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","MediaUploadProgress","constructor","props","state","progress","isUploadInProgress","isUploadFailed","mediaUpload","bind","componentDidMount","addMediaUploadListener","componentWillUnmount","removeMediaUploadListener","payload","mediaId","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","setState","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","subscriptionParentMediaUpload","remove","render","renderContent","showSpinner","retryMessage","progressBarStyle","progressBar","progressBarHidden","mediaUploadProgress","containerStyle","spinnerStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SAASC,OAAT,QAAwB,uBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,oBAAT,QAAqC,gCAArC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,OAAO,MAAMC,4BAA4B,GAAG,CAArC;AACP,OAAO,MAAMC,4BAA4B,GAAG,CAArC;AACP,OAAO,MAAMC,yBAAyB,GAAG,CAAlC;AACP,OAAO,MAAMC,wBAAwB,GAAG,CAAjC;AAEP,OAAO,MAAMC,mBAAN,SAAkCT,SAAlC,CAA4C;AAClDU,EAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,UAAOA,KAAP;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,QAAQ,EAAE,CADE;AAEZC,MAAAA,kBAAkB,EAAE,KAFR;AAGZC,MAAAA,cAAc,EAAE;AAHJ,KAAb;AAMA,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAuB,IAAvB,CAAnB;AACA;;AAEDC,EAAAA,iBAAiB,GAAG;AACnB,SAAKC,sBAAL;AACA;;AAEDC,EAAAA,oBAAoB,GAAG;AACtB,SAAKC,yBAAL;AACA;;AAEDL,EAAAA,WAAW,CAAEM,OAAF,EAAY;AACtB,UAAM;AAAEC,MAAAA;AAAF,QAAc,KAAKZ,KAAzB;;AAEA,QAAKW,OAAO,CAACC,OAAR,KAAoBA,OAAzB,EAAmC;AAClC;AACA;;AAED,YAASD,OAAO,CAACV,KAAjB;AACC,WAAKP,4BAAL;AACC,aAAKmB,mBAAL,CAA0BF,OAA1B;AACA;;AACD,WAAKhB,4BAAL;AACC,aAAKmB,4BAAL,CAAmCH,OAAnC;AACA;;AACD,WAAKf,yBAAL;AACC,aAAKmB,4BAAL,CAAmCJ,OAAnC;AACA;;AACD,WAAKd,wBAAL;AACC,aAAKmB,qBAAL,CAA4BL,OAA5B;AACA;AAZF;AAcA;;AAEDE,EAAAA,mBAAmB,CAAEF,OAAF,EAAY;AAC9B,SAAKM,QAAL,CAAe;AACdf,MAAAA,QAAQ,EAAES,OAAO,CAACT,QADJ;AAEdC,MAAAA,kBAAkB,EAAE,IAFN;AAGdC,MAAAA,cAAc,EAAE;AAHF,KAAf;;AAKA,QAAK,KAAKJ,KAAL,CAAWkB,qBAAhB,EAAwC;AACvC,WAAKlB,KAAL,CAAWkB,qBAAX,CAAkCP,OAAlC;AACA;AACD;;AAEDG,EAAAA,4BAA4B,CAAEH,OAAF,EAAY;AACvC,SAAKM,QAAL,CAAe;AAAEd,MAAAA,kBAAkB,EAAE;AAAtB,KAAf;;AACA,QAAK,KAAKH,KAAL,CAAWmB,8BAAhB,EAAiD;AAChD,WAAKnB,KAAL,CAAWmB,8BAAX,CAA2CR,OAA3C;AACA;AACD;;AAEDI,EAAAA,4BAA4B,CAAEJ,OAAF,EAAY;AACvC,SAAKM,QAAL,CAAe;AAAEd,MAAAA,kBAAkB,EAAE,KAAtB;AAA6BC,MAAAA,cAAc,EAAE;AAA7C,KAAf;;AACA,QAAK,KAAKJ,KAAL,CAAWoB,8BAAhB,EAAiD;AAChD,WAAKpB,KAAL,CAAWoB,8BAAX,CAA2CT,OAA3C;AACA;AACD;;AAEDK,EAAAA,qBAAqB,CAAEL,OAAF,EAAY;AAChC,SAAKM,QAAL,CAAe;AAAEd,MAAAA,kBAAkB,EAAE,KAAtB;AAA6BC,MAAAA,cAAc,EAAE;AAA7C,KAAf;;AACA,QAAK,KAAKJ,KAAL,CAAWqB,uBAAhB,EAA0C;AACzC,WAAKrB,KAAL,CAAWqB,uBAAX,CAAoCV,OAApC;AACA;AACD;;AAEDH,EAAAA,sBAAsB,GAAG;AACxB;AACA,QAAK,KAAKc,6BAAV,EAA0C;AACzC;AACA;;AACD,SAAKA,6BAAL,GAAqC9B,oBAAoB,CACtDmB,OAAF,IAAe;AACd,WAAKN,WAAL,CAAkBM,OAAlB;AACA,KAHuD,CAAzD;AAKA;;AAEDD,EAAAA,yBAAyB,GAAG;AAC3B,QAAK,KAAKY,6BAAV,EAA0C;AACzC,WAAKA,6BAAL,CAAmCC,MAAnC;AACA;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,aAAa,GAAG,MAAM;AAAxB,QAAiC,KAAKzB,KAA5C;AACA,UAAM;AAAEG,MAAAA,kBAAF;AAAsBC,MAAAA;AAAtB,QAAyC,KAAKH,KAApD;AACA,UAAMyB,WAAW,GAAG,KAAKzB,KAAL,CAAWE,kBAA/B;AACA,UAAMD,QAAQ,GAAG,KAAKD,KAAL,CAAWC,QAAX,GAAsB,GAAvC,CAJQ,CAKR;;AACA,UAAMyB,YAAY,GAAGpC,EAAE,CACtB,kDADsB,CAAvB;;AAIA,UAAMqC,gBAAgB,GAAG,CACxBnC,MAAM,CAACoC,WADiB,EAExBH,WAAW,IAAIjC,MAAM,CAACqC,iBAFE,EAGxB,KAAK9B,KAAL,CAAW4B,gBAHa,CAAzB;AAMA,WACC,cAAC,IAAD;AACC,MAAA,KAAK,EAAG,CACPnC,MAAM,CAACsC,mBADA,EAEP,KAAK/B,KAAL,CAAWgC,cAFJ,CADT;AAKC,MAAA,aAAa,EAAC;AALf,OAOC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGJ;AAAd,OACGF,WAAW,IACZ,cAAC,OAAD;AACC,MAAA,QAAQ,EAAGxB,QADZ;AAEC,MAAA,KAAK,EAAG,KAAKF,KAAL,CAAWiC,YAFpB;AAGC,MAAA,MAAM,EAAC;AAHR,MAFF,CAPD,EAgBGR,aAAa,CAAE;AAChBtB,MAAAA,kBADgB;AAEhBC,MAAAA,cAFgB;AAGhBuB,MAAAA;AAHgB,KAAF,CAhBhB,CADD;AAwBA;;AAtIiD;AAyInD,eAAe7B,mBAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { subscribeMediaUpload } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nexport const MEDIA_UPLOAD_STATE_UPLOADING = 1;\nexport const MEDIA_UPLOAD_STATE_SUCCEEDED = 2;\nexport const MEDIA_UPLOAD_STATE_FAILED = 3;\nexport const MEDIA_UPLOAD_STATE_RESET = 4;\n\nexport class MediaUploadProgress extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tprogress: 0,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t};\n\n\t\tthis.mediaUpload = this.mediaUpload.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.addMediaUploadListener();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.removeMediaUploadListener();\n\t}\n\n\tmediaUpload( payload ) {\n\t\tconst { mediaId } = this.props;\n\n\t\tif ( payload.mediaId !== mediaId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( payload.state ) {\n\t\t\tcase MEDIA_UPLOAD_STATE_UPLOADING:\n\t\t\t\tthis.updateMediaProgress( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_SUCCEEDED:\n\t\t\t\tthis.finishMediaUploadWithSuccess( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_FAILED:\n\t\t\t\tthis.finishMediaUploadWithFailure( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_RESET:\n\t\t\t\tthis.mediaUploadStateReset( payload );\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: true,\n\t\t\tisUploadFailed: false,\n\t\t} );\n\t\tif ( this.props.onUpdateMediaProgress ) {\n\t\t\tthis.props.onUpdateMediaProgress( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t\tif ( this.props.onFinishMediaUploadWithSuccess ) {\n\t\t\tthis.props.onFinishMediaUploadWithSuccess( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: true } );\n\t\tif ( this.props.onFinishMediaUploadWithFailure ) {\n\t\t\tthis.props.onFinishMediaUploadWithFailure( payload );\n\t\t}\n\t}\n\n\tmediaUploadStateReset( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: false } );\n\t\tif ( this.props.onMediaUploadStateReset ) {\n\t\t\tthis.props.onMediaUploadStateReset( payload );\n\t\t}\n\t}\n\n\taddMediaUploadListener() {\n\t\t//if we already have a subscription not worth doing it again\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.subscriptionParentMediaUpload = subscribeMediaUpload(\n\t\t\t( payload ) => {\n\t\t\t\tthis.mediaUpload( payload );\n\t\t\t}\n\t\t);\n\t}\n\n\tremoveMediaUploadListener() {\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\tthis.subscriptionParentMediaUpload.remove();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { renderContent = () => null } = this.props;\n\t\tconst { isUploadInProgress, isUploadFailed } = this.state;\n\t\tconst showSpinner = this.state.isUploadInProgress;\n\t\tconst progress = this.state.progress * 100;\n\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\tconst retryMessage = __(\n\t\t\t'Failed to insert media.\\nPlease tap for options.'\n\t\t);\n\n\t\tconst progressBarStyle = [\n\t\t\tstyles.progressBar,\n\t\t\tshowSpinner || styles.progressBarHidden,\n\t\t\tthis.props.progressBarStyle,\n\t\t];\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.mediaUploadProgress,\n\t\t\t\t\tthis.props.containerStyle,\n\t\t\t\t] }\n\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t>\n\t\t\t\t<View style={ progressBarStyle }>\n\t\t\t\t\t{ showSpinner && (\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tprogress={ progress }\n\t\t\t\t\t\t\tstyle={ this.props.spinnerStyle }\n\t\t\t\t\t\t\ttestID=\"spinner\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ renderContent( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default MediaUploadProgress;\n"]}
|
|
@@ -11,12 +11,16 @@ const PanelColorSettings = _ref => {
|
|
|
11
11
|
colorSettings,
|
|
12
12
|
...props
|
|
13
13
|
} = _ref;
|
|
14
|
-
const settings = colorSettings.map(
|
|
15
|
-
|
|
14
|
+
const settings = colorSettings.map(setting => {
|
|
15
|
+
if (!setting) {
|
|
16
|
+
return setting;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const {
|
|
16
20
|
value,
|
|
17
21
|
onChange,
|
|
18
22
|
...otherSettings
|
|
19
|
-
} =
|
|
23
|
+
} = setting;
|
|
20
24
|
return { ...otherSettings,
|
|
21
25
|
colorValue: value,
|
|
22
26
|
onColorChange: onChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/panel-color-settings/index.js"],"names":["PanelColorGradientSettings","PanelColorSettings","colorSettings","props","settings","map","value","onChange","otherSettings","colorValue","onColorChange"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,0BAAP,MAAuC,mDAAvC;;AAEA,MAAMC,kBAAkB,GAAG,QAAmC;AAAA,MAAjC;AAAEC,IAAAA,aAAF;AAAiB,OAAGC;AAApB,GAAiC;AAC7D,QAAMC,QAAQ,GAAGF,aAAa,CAACG,GAAd,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/panel-color-settings/index.js"],"names":["PanelColorGradientSettings","PanelColorSettings","colorSettings","props","settings","map","setting","value","onChange","otherSettings","colorValue","onColorChange"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,0BAAP,MAAuC,mDAAvC;;AAEA,MAAMC,kBAAkB,GAAG,QAAmC;AAAA,MAAjC;AAAEC,IAAAA,aAAF;AAAiB,OAAGC;AAApB,GAAiC;AAC7D,QAAMC,QAAQ,GAAGF,aAAa,CAACG,GAAd,CAAqBC,OAAF,IAAe;AAClD,QAAK,CAAEA,OAAP,EAAiB;AAChB,aAAOA,OAAP;AACA;;AACD,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA,QAAT;AAAmB,SAAGC;AAAtB,QAAwCH,OAA9C;AACA,WAAO,EACN,GAAGG,aADG;AAENC,MAAAA,UAAU,EAAEH,KAFN;AAGNI,MAAAA,aAAa,EAAEH;AAHT,KAAP;AAKA,GAVgB,CAAjB;AAWA,SACC,cAAC,0BAAD;AACC,IAAA,QAAQ,EAAGJ,QADZ;AAEC,IAAA,SAAS,EAAG,EAFb;AAGC,IAAA,sBAAsB,EAAG;AAH1B,KAIMD,KAJN,EADD;AAQA,CApBD;;AAqBA,eAAeF,kBAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\n\nconst PanelColorSettings = ( { colorSettings, ...props } ) => {\n\tconst settings = colorSettings.map( ( setting ) => {\n\t\tif ( ! setting ) {\n\t\t\treturn setting;\n\t\t}\n\t\tconst { value, onChange, ...otherSettings } = setting;\n\t\treturn {\n\t\t\t...otherSettings,\n\t\t\tcolorValue: value,\n\t\t\tonColorChange: onChange,\n\t\t};\n\t} );\n\treturn (\n\t\t<PanelColorGradientSettings\n\t\t\tsettings={ settings }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients={ true }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\nexport default PanelColorSettings;\n"]}
|
|
@@ -4,7 +4,10 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { createContext, useMemo } from '@wordpress/element';
|
|
7
|
-
export const BlockRefs = createContext(
|
|
7
|
+
export const BlockRefs = createContext({
|
|
8
|
+
refs: new Map(),
|
|
9
|
+
callbacks: new Map()
|
|
10
|
+
});
|
|
8
11
|
export function BlockRefsProvider(_ref) {
|
|
9
12
|
let {
|
|
10
13
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/provider/block-refs-provider.js"],"names":["createContext","useMemo","BlockRefs","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/provider/block-refs-provider.js"],"names":["createContext","useMemo","BlockRefs","refs","Map","callbacks","BlockRefsProvider","children","value"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,OAAxB,QAAuC,oBAAvC;AAEA,OAAO,MAAMC,SAAS,GAAGF,aAAa,CAAE;AACvCG,EAAAA,IAAI,EAAE,IAAIC,GAAJ,EADiC;AAEvCC,EAAAA,SAAS,EAAE,IAAID,GAAJ;AAF4B,CAAF,CAA/B;AAKP,OAAO,SAASE,iBAAT,OAA2C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACjD,QAAMC,KAAK,GAAGP,OAAO,CACpB,OAAQ;AAAEE,IAAAA,IAAI,EAAE,IAAIC,GAAJ,EAAR;AAAmBC,IAAAA,SAAS,EAAE,IAAID,GAAJ;AAA9B,GAAR,CADoB,EAEpB,EAFoB,CAArB;AAIA,SACC,cAAC,SAAD,CAAW,QAAX;AAAoB,IAAA,KAAK,EAAGI;AAA5B,KAAsCD,QAAtC,CADD;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useMemo } from '@wordpress/element';\n\nexport const BlockRefs = createContext( {\n\trefs: new Map(),\n\tcallbacks: new Map(),\n} );\n\nexport function BlockRefsProvider( { children } ) {\n\tconst value = useMemo(\n\t\t() => ( { refs: new Map(), callbacks: new Map() } ),\n\t\t[]\n\t);\n\treturn (\n\t\t<BlockRefs.Provider value={ value }>{ children }</BlockRefs.Provider>\n\t);\n}\n"]}
|
|
@@ -7,7 +7,7 @@ export function filePasteHandler(files) {
|
|
|
7
7
|
let {
|
|
8
8
|
type
|
|
9
9
|
} = _ref;
|
|
10
|
-
return /^image\/(?:jpe?g|png|gif)$/.test(type);
|
|
10
|
+
return /^image\/(?:jpe?g|png|gif|webp)$/.test(type);
|
|
11
11
|
}).map(file => `<img src="${createBlobURL(file)}">`).join('');
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=file-paste-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/file-paste-handler.js"],"names":["createBlobURL","filePasteHandler","files","filter","type","test","map","file","join"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,iBAA9B;AAEA,OAAO,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CACVC,MADK,CACG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/file-paste-handler.js"],"names":["createBlobURL","filePasteHandler","files","filter","type","test","map","file","join"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,iBAA9B;AAEA,OAAO,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AACzC,SAAOA,KAAK,CACVC,MADK,CACG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACR,kCAAkCC,IAAlC,CAAwCD,IAAxC,CADQ;AAAA,GADH,EAILE,GAJK,CAIEC,IAAF,IAAa,aAAaP,aAAa,CAAEO,IAAF,CAAU,IAJjD,EAKLC,IALK,CAKC,EALD,CAAP;AAMA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\n\nexport function filePasteHandler( files ) {\n\treturn files\n\t\t.filter( ( { type } ) =>\n\t\t\t/^image\\/(?:jpe?g|png|gif|webp)$/.test( type )\n\t\t)\n\t\t.map( ( file ) => `<img src=\"${ createBlobURL( file ) }\">` )\n\t\t.join( '' );\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { insert } from '@wordpress/rich-text';
|
|
5
|
+
export function preventEventDiscovery(value) {
|
|
6
|
+
const searchText = 'tales of gutenberg';
|
|
7
|
+
const addText = ' 🐡🐢🦀🐤🦋🐘🐧🐹🦁🦄🦍🐼🐿🎃🐴🐝🐆🦕🦔🌱🍇π🍌🐉💧🥨🌌🍂🍠🥦🥚🥝🎟🥥🥒🛵🥖🍒🍯🎾🎲🐺🐚🐮⌛️';
|
|
8
|
+
const {
|
|
9
|
+
start,
|
|
10
|
+
text
|
|
11
|
+
} = value;
|
|
12
|
+
|
|
13
|
+
if (start < searchText.length) {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const charactersBefore = text.slice(start - searchText.length, start);
|
|
18
|
+
|
|
19
|
+
if (charactersBefore.toLowerCase() !== searchText) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return insert(value, addText);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=prevent-event-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/prevent-event-discovery.js"],"names":["insert","preventEventDiscovery","value","searchText","addText","start","text","length","charactersBefore","slice","toLowerCase"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,sBAAvB;AAEA,OAAO,SAASC,qBAAT,CAAgCC,KAAhC,EAAwC;AAC9C,QAAMC,UAAU,GAAG,oBAAnB;AACA,QAAMC,OAAO,GACZ,4FADD;AAEA,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAkBJ,KAAxB;;AAEA,MAAKG,KAAK,GAAGF,UAAU,CAACI,MAAxB,EAAiC;AAChC,WAAOL,KAAP;AACA;;AAED,QAAMM,gBAAgB,GAAGF,IAAI,CAACG,KAAL,CAAYJ,KAAK,GAAGF,UAAU,CAACI,MAA/B,EAAuCF,KAAvC,CAAzB;;AAEA,MAAKG,gBAAgB,CAACE,WAAjB,OAAmCP,UAAxC,EAAqD;AACpD,WAAOD,KAAP;AACA;;AAED,SAAOF,MAAM,CAAEE,KAAF,EAASE,OAAT,CAAb;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { insert } from '@wordpress/rich-text';\n\nexport function preventEventDiscovery( value ) {\n\tconst searchText = 'tales of gutenberg';\n\tconst addText =\n\t\t' 🐡🐢🦀🐤🦋🐘🐧🐹🦁🦄🦍🐼🐿🎃🐴🐝🐆🦕🦔🌱🍇π🍌🐉💧🥨🌌🍂🍠🥦🥚🥝🎟🥥🥒🛵🥖🍒🍯🎾🎲🐺🐚🐮⌛️';\n\tconst { start, text } = value;\n\n\tif ( start < searchText.length ) {\n\t\treturn value;\n\t}\n\n\tconst charactersBefore = text.slice( start - searchText.length, start );\n\n\tif ( charactersBefore.toLowerCase() !== searchText ) {\n\t\treturn value;\n\t}\n\n\treturn insert( value, addText );\n}\n"]}
|
|
@@ -11,6 +11,7 @@ import { useDispatch } from '@wordpress/data';
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
import { store as blockEditorStore } from '../../store';
|
|
14
|
+
import { preventEventDiscovery } from './prevent-event-discovery';
|
|
14
15
|
export function useInputRules(props) {
|
|
15
16
|
const {
|
|
16
17
|
__unstableMarkLastChangeAsPersistent,
|
|
@@ -96,7 +97,7 @@ export function useInputRules(props) {
|
|
|
96
97
|
}
|
|
97
98
|
|
|
98
99
|
return accumlator;
|
|
99
|
-
}, value);
|
|
100
|
+
}, preventEventDiscovery(value));
|
|
100
101
|
|
|
101
102
|
if (transformed !== value) {
|
|
102
103
|
__unstableMarkLastChangeAsPersistent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-input-rules.js"],"names":["useRef","useRefEffect","slice","toHTMLString","getBlockTransforms","findTransform","useDispatch","store","blockEditorStore","useInputRules","props","__unstableMarkLastChangeAsPersistent","__unstableMarkAutomaticChange","propsRef","current","element","inputRule","value","onReplace","start","text","characterBefore","trimmedTextBefore","trim","prefixTransforms","filter","type","transformation","prefix","content","length","block","transform","onInput","event","inputType","onChange","__unstableAllowPrefixTransformations","formatTypes","transformed","reduce","accumlator","__unstableInputRule","activeFormats","addEventListener","removeEventListener"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAT,QAAuB,oBAAvB;AACA,SAASC,YAAT,QAA6B,oBAA7B;AACA,SAASC,KAAT,EAAgBC,YAAhB,QAAoC,sBAApC;AACA,SAASC,kBAAT,EAA6BC,aAA7B,QAAkD,mBAAlD;AACA,SAASC,WAAT,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,gBAAlB,QAA0C,aAA1C;AAEA,OAAO,SAASC,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,oCADK;AAELC,IAAAA;AAFK,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/rich-text/use-input-rules.js"],"names":["useRef","useRefEffect","slice","toHTMLString","getBlockTransforms","findTransform","useDispatch","store","blockEditorStore","preventEventDiscovery","useInputRules","props","__unstableMarkLastChangeAsPersistent","__unstableMarkAutomaticChange","propsRef","current","element","inputRule","value","onReplace","start","text","characterBefore","trimmedTextBefore","trim","prefixTransforms","filter","type","transformation","prefix","content","length","block","transform","onInput","event","inputType","onChange","__unstableAllowPrefixTransformations","formatTypes","transformed","reduce","accumlator","__unstableInputRule","activeFormats","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { slice, toHTMLString } from '@wordpress/rich-text';\nimport { getBlockTransforms, findTransform } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { preventEventDiscovery } from './prevent-event-discovery';\n\nexport function useInputRules( props ) {\n\tconst {\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction inputRule() {\n\t\t\tconst { value, onReplace } = propsRef.current;\n\n\t\t\tif ( ! onReplace ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { start, text } = value;\n\t\t\tconst characterBefore = text.slice( start - 1, start );\n\n\t\t\t// The character right before the caret must be a plain space.\n\t\t\tif ( characterBefore !== ' ' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst trimmedTextBefore = text.slice( 0, start ).trim();\n\t\t\tconst prefixTransforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t( { type } ) => type === 'prefix'\n\t\t\t);\n\t\t\tconst transformation = findTransform(\n\t\t\t\tprefixTransforms,\n\t\t\t\t( { prefix } ) => {\n\t\t\t\t\treturn trimmedTextBefore === prefix;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! transformation ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst content = toHTMLString( {\n\t\t\t\tvalue: slice( value, start, text.length ),\n\t\t\t} );\n\t\t\tconst block = transformation.transform( content );\n\n\t\t\tonReplace( [ block ] );\n\t\t\t__unstableMarkAutomaticChange();\n\t\t}\n\n\t\tfunction onInput( event ) {\n\t\t\tconst { inputType, type } = event;\n\t\t\tconst {\n\t\t\t\tvalue,\n\t\t\t\tonChange,\n\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\tformatTypes,\n\t\t\t} = propsRef.current;\n\n\t\t\t// Only run input rules when inserting text.\n\t\t\tif ( inputType !== 'insertText' && type !== 'compositionend' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( __unstableAllowPrefixTransformations && inputRule ) {\n\t\t\t\tinputRule();\n\t\t\t}\n\n\t\t\tconst transformed = formatTypes.reduce(\n\t\t\t\t( accumlator, { __unstableInputRule } ) => {\n\t\t\t\t\tif ( __unstableInputRule ) {\n\t\t\t\t\t\taccumlator = __unstableInputRule( accumlator );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn accumlator;\n\t\t\t\t},\n\t\t\t\tpreventEventDiscovery( value )\n\t\t\t);\n\n\t\t\tif ( transformed !== value ) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t\tonChange( {\n\t\t\t\t\t...transformed,\n\t\t\t\t\tactiveFormats: value.activeFormats,\n\t\t\t\t} );\n\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t}\n\t\t}\n\n\t\telement.addEventListener( 'input', onInput );\n\t\telement.addEventListener( 'compositionend', onInput );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'input', onInput );\n\t\t\telement.removeEventListener( 'compositionend', onInput );\n\t\t};\n\t}, [] );\n}\n"]}
|
|
@@ -11,7 +11,8 @@ import deprecated from '@wordpress/deprecated';
|
|
|
11
11
|
|
|
12
12
|
export function MultiSelectScrollIntoView() {
|
|
13
13
|
deprecated('wp.blockEditor.MultiSelectScrollIntoView', {
|
|
14
|
-
hint: 'This behaviour is now built-in.'
|
|
14
|
+
hint: 'This behaviour is now built-in.',
|
|
15
|
+
since: '5.8'
|
|
15
16
|
});
|
|
16
17
|
return null;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/selection-scroll-into-view/index.js"],"names":["deprecated","MultiSelectScrollIntoView","hint"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,GAAqC;AAC3CD,EAAAA,UAAU,CAAE,0CAAF,EAA8C;AACvDE,IAAAA,IAAI,EAAE;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/selection-scroll-into-view/index.js"],"names":["deprecated","MultiSelectScrollIntoView","hint","since"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,yBAAT,GAAqC;AAC3CD,EAAAA,UAAU,CAAE,0CAAF,EAA8C;AACvDE,IAAAA,IAAI,EAAE,iCADiD;AAEvDC,IAAAA,KAAK,EAAE;AAFgD,GAA9C,CAAV;AAIA,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Scrolls the multi block selection end into view if not in view already. This\n * is important to do after selection by keyboard.\n *\n * @deprecated\n */\nexport function MultiSelectScrollIntoView() {\n\tdeprecated( 'wp.blockEditor.MultiSelectScrollIntoView', {\n\t\thint: 'This behaviour is now built-in.',\n\t\tsince: '5.8',\n\t} );\n\treturn null;\n}\n"]}
|