@wordpress/block-editor 14.9.0 → 14.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/LICENSE.md +1 -1
- package/README.md +40 -0
- package/build/components/audio-player/index.native.js +1 -1
- package/build/components/audio-player/index.native.js.map +1 -1
- package/build/components/background-image-control/index.js +4 -0
- package/build/components/background-image-control/index.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +32 -0
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-card/index.js +45 -8
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-edit/edit.js +147 -10
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-list/index.js +1 -2
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +2 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +20 -3
- package/build/components/block-list/zoom-out-separator.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +5 -8
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/utils.js +3 -3
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +19 -6
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/button-block-appender/index.js +1 -5
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +6 -0
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +51 -11
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +1 -1
- package/build/components/contrast-checker/index.native.js.map +1 -1
- package/build/components/date-format-picker/index.js +7 -16
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +9 -0
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +10 -1
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/color-panel.js +3 -0
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +1 -1
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +2 -2
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +9 -0
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/grid/utils.js +12 -1
- package/build/components/grid/utils.js.map +1 -1
- package/build/components/iframe/index.js +1 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inner-blocks/use-inner-block-template-sync.js +11 -11
- package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/index.js +1 -1
- package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +1 -1
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +1 -2
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/index.js +6 -15
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -13
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +2 -2
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/line-height-control/index.js +9 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +2 -2
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +26 -26
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/plain-text/index.js +34 -0
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/provider/index.js +61 -5
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-media-upload-settings.js +28 -0
- package/build/components/provider/use-media-upload-settings.js.map +1 -0
- package/build/components/resolution-tool/index.js +3 -1
- package/build/components/resolution-tool/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +1 -1
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/delete.js +7 -1
- package/build/components/rich-text/event-listeners/delete.js.map +1 -1
- package/build/components/rich-text/index.js +2 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +2 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/hooks/background.js +2 -0
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-bindings.js +15 -14
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/border.js +3 -3
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +1 -1
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/dimensions.js +2 -2
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/font-family.js +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/gap.js +2 -2
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/index.native.js +7 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/style.js +7 -7
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +7 -7
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +6 -6
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-zoom-out.js +12 -1
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/hooks/utils.js +1 -1
- package/build/hooks/utils.js.map +1 -1
- package/build/store/private-actions.js +1 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +11 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +93 -12
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +6 -8
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-bindings.js +95 -0
- package/build/utils/block-bindings.js.map +1 -1
- package/build-module/components/audio-player/index.native.js +2 -2
- package/build-module/components/audio-player/index.native.js.map +1 -1
- package/build-module/components/background-image-control/index.js +5 -1
- package/build-module/components/background-image-control/index.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +32 -0
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-card/index.js +45 -8
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +148 -11
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-list/index.js +2 -3
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +1 -1
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +20 -3
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -8
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/utils.js +3 -3
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +19 -6
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -6
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +7 -1
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +51 -11
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +2 -2
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +7 -16
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +8 -0
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +10 -1
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -0
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +1 -1
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +2 -2
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +9 -0
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/grid/utils.js +12 -1
- package/build-module/components/grid/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js +12 -12
- package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.js +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +1 -2
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/index.js +6 -15
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -13
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +2 -2
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +8 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +3 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +28 -28
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +34 -0
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/provider/index.js +62 -5
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-media-upload-settings.js +22 -0
- package/build-module/components/provider/use-media-upload-settings.js.map +1 -0
- package/build-module/components/resolution-tool/index.js +3 -1
- package/build-module/components/resolution-tool/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +1 -1
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/delete.js +7 -1
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +2 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/hooks/background.js +2 -0
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-bindings.js +13 -12
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/border.js +3 -3
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +1 -1
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/dimensions.js +2 -2
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/font-family.js +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/gap.js +2 -2
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.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/style.js +7 -7
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +7 -7
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +6 -6
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +12 -2
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/hooks/utils.js +1 -1
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/store/private-actions.js +1 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +11 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +93 -12
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +6 -8
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-bindings.js +90 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-style/style-rtl.css +27 -9
- package/build-style/style.css +27 -9
- package/package.json +33 -33
- package/src/components/audio-player/index.native.js +2 -2
- package/src/components/background-image-control/index.js +4 -0
- package/src/components/background-image-control/style.scss +4 -2
- package/src/components/block-alignment-matrix-control/README.md +29 -6
- package/src/components/block-alignment-matrix-control/index.js +31 -0
- package/src/components/block-alignment-matrix-control/stories/index.story.js +78 -0
- package/src/components/block-card/README.md +7 -0
- package/src/components/block-card/index.js +41 -12
- package/src/components/block-card/stories/index.story.js +79 -0
- package/src/components/block-card/style.scss +9 -1
- package/src/components/block-edit/edit.js +218 -11
- package/src/components/block-list/index.js +2 -7
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-list/zoom-out-separator.js +30 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +17 -20
- package/src/components/block-styles/utils.js +3 -3
- package/src/components/block-title/stories/index.story.js +76 -0
- package/src/components/block-tools/style.scss +1 -0
- package/src/components/block-tools/zoom-out-mode-inserters.js +21 -3
- package/src/components/border-radius-control/README.md +59 -0
- package/src/components/border-radius-control/stories/index.story.js +58 -0
- package/src/components/button-block-appender/index.js +2 -7
- package/src/components/child-layout-control/index.js +14 -0
- package/src/components/colors-gradients/dropdown.js +57 -8
- package/src/components/colors-gradients/style.scss +5 -0
- package/src/components/contrast-checker/index.native.js +2 -2
- package/src/components/contrast-checker/stories/index.story.js +117 -0
- package/src/components/date-format-picker/README.md +6 -13
- package/src/components/date-format-picker/index.js +10 -17
- package/src/components/date-format-picker/stories/index.story.js +69 -0
- package/src/components/date-format-picker/style.scss +3 -1
- package/src/components/default-block-appender/content.scss +1 -0
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +2 -1
- package/src/components/dimensions-tool/stories/index.story.js +2 -1
- package/src/components/dimensions-tool/stories/scale-tool.story.js +2 -1
- package/src/components/dimensions-tool/stories/width-height-tool.story.js +2 -1
- package/src/components/font-appearance-control/index.js +15 -0
- package/src/components/font-family/README.md +1 -0
- package/src/components/font-family/index.js +17 -1
- package/src/components/font-family/stories/index.story.js +1 -0
- package/src/components/global-styles/color-panel.js +3 -0
- package/src/components/global-styles/test/use-global-styles-output.js +1 -1
- package/src/components/global-styles/typography-utils.js +1 -1
- package/src/components/global-styles/use-global-styles-output.js +2 -2
- package/src/components/grid/grid-visualizer.js +11 -0
- package/src/components/grid/utils.js +19 -1
- package/src/components/iframe/index.js +1 -1
- package/src/components/inner-blocks/use-inner-block-template-sync.js +17 -10
- package/src/components/inserter/block-patterns-explorer/index.js +2 -3
- package/src/components/inserter/block-patterns-tab/index.js +3 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +2 -2
- package/src/components/inserter/category-tabs/index.js +3 -2
- package/src/components/inserter/index.js +1 -13
- package/src/components/inserter/quick-inserter.js +2 -25
- package/src/components/keyboard-shortcuts/index.js +2 -2
- package/src/components/line-height-control/README.md +1 -0
- package/src/components/line-height-control/index.js +12 -0
- package/src/components/line-height-control/stories/index.story.js +1 -0
- package/src/components/line-height-control/test/index.js +7 -1
- package/src/components/list-view/style.scss +10 -5
- package/src/components/media-placeholder/index.js +3 -3
- package/src/components/media-replace-flow/README.md +7 -0
- package/src/components/media-replace-flow/index.js +28 -36
- package/src/components/media-replace-flow/style.scss +6 -6
- package/src/components/plain-text/README.md +2 -2
- package/src/components/plain-text/index.js +34 -0
- package/src/components/plain-text/stories/index.story.js +75 -0
- package/src/components/provider/index.js +81 -4
- package/src/components/provider/use-media-upload-settings.js +25 -0
- package/src/components/resolution-tool/index.js +2 -0
- package/src/components/resolution-tool/stories/index.story.js +36 -8
- package/src/components/responsive-block-control/index.js +1 -1
- package/src/components/rich-text/event-listeners/delete.js +6 -1
- package/src/components/rich-text/index.js +1 -1
- package/src/components/text-alignment-control/README.md +49 -0
- package/src/components/text-alignment-control/stories/index.story.js +56 -18
- package/src/components/text-decoration-control/README.md +0 -1
- package/src/components/text-decoration-control/stories/index.story.js +51 -16
- package/src/components/text-transform-control/README.md +3 -4
- package/src/components/text-transform-control/stories/index.story.js +53 -16
- package/src/components/use-block-drop-zone/index.js +8 -1
- package/src/components/warning/stories/index.story.js +86 -0
- package/src/hooks/background.js +6 -0
- package/src/hooks/block-bindings.js +17 -18
- package/src/hooks/border.js +9 -3
- package/src/hooks/color.js +1 -1
- package/src/hooks/dimensions.js +2 -2
- package/src/hooks/font-family.js +1 -1
- package/src/hooks/gap.js +2 -2
- package/src/hooks/index.js +0 -1
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/style.js +13 -7
- package/src/hooks/supports.js +7 -7
- package/src/hooks/test/style.js +2 -1
- package/src/hooks/typography.js +6 -6
- package/src/hooks/use-zoom-out.js +10 -2
- package/src/hooks/utils.js +1 -1
- package/src/store/private-actions.js +1 -0
- package/src/store/private-selectors.js +15 -5
- package/src/store/reducer.js +112 -19
- package/src/store/selectors.js +6 -8
- package/src/store/test/private-selectors.js +53 -9
- package/src/store/test/reducer.js +172 -166
- package/src/store/test/selectors.js +23 -0
- package/src/utils/block-bindings.js +95 -0
- package/tsconfig.json +2 -5
- package/build/hooks/use-bindings-attributes.js +0 -262
- package/build/hooks/use-bindings-attributes.js.map +0 -1
- package/build-module/hooks/use-bindings-attributes.js +0 -253
- package/build-module/hooks/use-bindings-attributes.js.map +0 -1
- package/src/hooks/use-bindings-attributes.js +0 -322
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\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';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } 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<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\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\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\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\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\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\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\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\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 onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\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\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\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'Drag and drop an image or video, upload, or choose from your 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'Drag and drop an audio file, upload, or choose from your library.'\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'Drag and drop an image, upload, or choose from your library.'\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'Drag and drop a video, upload, or choose from your library.'\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 = clsx(\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\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\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\t__next40pxDefaultSize\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<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\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\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\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\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\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\tmode=\"browse\"\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\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\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{ renderFeaturedImageToggle() }\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\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</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{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\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 ( disableMediaButtons ) {\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_deprecated","_mediaUpload","_check","_urlPopover","_store","_useOnBlockDrop","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","className","__experimentalInputControl","__next40pxDefaultSize","label","__","hideLabelFromVision","placeholder","value","suffix","__experimentalInputControlSuffixWrapper","variant","Button","size","icon","keyboardReturn","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","jsxs","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","parseDropEvent","uploadedMediaList","Promise","all","block","blockType","name","split","attributes","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","Fragment","FormFileUpload","openFileDialog","_x","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\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';\nimport { parseDropEvent } from '../use-on-block-drop';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } 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<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\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\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\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\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\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\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\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\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 onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\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\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\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\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\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'Drag and drop an image or video, upload, or choose from your 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'Drag and drop an audio file, upload, or choose from your library.'\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'Drag and drop an image, upload, or choose from your library.'\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'Drag and drop a video, upload, or choose from your library.'\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 = clsx(\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\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) && ( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\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\t__next40pxDefaultSize\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<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\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\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\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\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\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\tmode=\"browse\"\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\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\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{ _x( 'Upload', 'verb' ) }\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{ renderFeaturedImageToggle() }\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\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t</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{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\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 ( disableMediaButtons ) {\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
|
-
var _element = require("@wordpress/element");
|
|
11
9
|
var _i18n = require("@wordpress/i18n");
|
|
12
10
|
var _a11y = require("@wordpress/a11y");
|
|
13
11
|
var _components = require("@wordpress/components");
|
|
@@ -22,10 +20,6 @@ var _check = _interopRequireDefault(require("../media-upload/check"));
|
|
|
22
20
|
var _linkControl = _interopRequireDefault(require("../link-control"));
|
|
23
21
|
var _store = require("../../store");
|
|
24
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
/**
|
|
26
|
-
* External dependencies
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
23
|
/**
|
|
30
24
|
* WordPress dependencies
|
|
31
25
|
*/
|
|
@@ -56,13 +50,12 @@ const MediaReplaceFlow = ({
|
|
|
56
50
|
multiple = false,
|
|
57
51
|
addToGallery,
|
|
58
52
|
handleUpload = true,
|
|
59
|
-
popoverProps
|
|
53
|
+
popoverProps,
|
|
54
|
+
renderToggle
|
|
60
55
|
}) => {
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
const canUpload = !!mediaUpload;
|
|
65
|
-
const editMediaButtonRef = (0, _element.useRef)();
|
|
56
|
+
const {
|
|
57
|
+
getSettings
|
|
58
|
+
} = (0, _data.useSelect)(_store.store);
|
|
66
59
|
const errorNoticeID = `block-editor/media-replace-flow/error-notice/${++uniqueId}`;
|
|
67
60
|
const onUploadError = message => {
|
|
68
61
|
const safeMessage = (0, _dom.__unstableStripHTML)(message);
|
|
@@ -101,7 +94,7 @@ const MediaReplaceFlow = ({
|
|
|
101
94
|
return onSelect(files);
|
|
102
95
|
}
|
|
103
96
|
onFilesUpload(files);
|
|
104
|
-
mediaUpload({
|
|
97
|
+
getSettings().mediaUpload({
|
|
105
98
|
allowedTypes,
|
|
106
99
|
filesList: files,
|
|
107
100
|
onFileChange: ([media]) => {
|
|
@@ -129,14 +122,24 @@ const MediaReplaceFlow = ({
|
|
|
129
122
|
renderToggle: ({
|
|
130
123
|
isOpen,
|
|
131
124
|
onToggle
|
|
132
|
-
}) =>
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
125
|
+
}) => {
|
|
126
|
+
if (renderToggle) {
|
|
127
|
+
return renderToggle({
|
|
128
|
+
'aria-expanded': isOpen,
|
|
129
|
+
'aria-haspopup': 'true',
|
|
130
|
+
onClick: onToggle,
|
|
131
|
+
onKeyDown: openOnArrowDown,
|
|
132
|
+
children: name
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
136
|
+
"aria-expanded": isOpen,
|
|
137
|
+
"aria-haspopup": "true",
|
|
138
|
+
onClick: onToggle,
|
|
139
|
+
onKeyDown: openOnArrowDown,
|
|
140
|
+
children: name
|
|
141
|
+
});
|
|
142
|
+
},
|
|
140
143
|
renderContent: ({
|
|
141
144
|
onClose
|
|
142
145
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -171,7 +174,7 @@ const MediaReplaceFlow = ({
|
|
|
171
174
|
onClick: () => {
|
|
172
175
|
openFileDialog();
|
|
173
176
|
},
|
|
174
|
-
children: (0, _i18n.
|
|
177
|
+
children: (0, _i18n._x)('Upload', 'verb')
|
|
175
178
|
});
|
|
176
179
|
}
|
|
177
180
|
})]
|
|
@@ -193,9 +196,7 @@ const MediaReplaceFlow = ({
|
|
|
193
196
|
/*#__PURE__*/
|
|
194
197
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
195
198
|
(0, _jsxRuntime.jsxs)("form", {
|
|
196
|
-
className:
|
|
197
|
-
'has-siblings': canUpload || onToggleFeaturedImage
|
|
198
|
-
}),
|
|
199
|
+
className: "block-editor-media-flow__url-input",
|
|
199
200
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
200
201
|
className: "block-editor-media-replace-flow__image-url-label",
|
|
201
202
|
children: (0, _i18n.__)('Current media URL:')
|
|
@@ -209,7 +210,6 @@ const MediaReplaceFlow = ({
|
|
|
209
210
|
url
|
|
210
211
|
}) => {
|
|
211
212
|
onSelectURL(url);
|
|
212
|
-
editMediaButtonRef.current.focus();
|
|
213
213
|
}
|
|
214
214
|
})]
|
|
215
215
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","useSelect","select","blockEditorStore","getSettings","canUpload","editMediaButtonRef","useRef","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","renderToggle","isOpen","onToggle","ToolbarButton","ref","onClick","onKeyDown","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","postFeaturedImage","isPressed","clsx","url","settings","showSuggestions","current","focus","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useRef } 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 { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\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 noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n} ) => {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst canUpload = !! mediaUpload;\n\tconst editMediaButtonRef = useRef();\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\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 after 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', safeMessage, {\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\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\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 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\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\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\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\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<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\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{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\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\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'block-editor-media-flow__url-input',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-siblings':\n\t\t\t\t\t\t\t\t\t\tcanUpload || onToggleFeaturedImage,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\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\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\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\tonSelectURL( 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\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_a11y","_components","_data","_keycodes","_icons","_compose","_dom","_notices","_mediaUpload","_interopRequireDefault","_check","_linkControl","_store","_jsxRuntime","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","__","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","renderToggle","getSettings","useSelect","blockEditorStore","errorNoticeID","onUploadError","message","safeMessage","stripHTML","setTimeout","speak","id","isDismissible","selectMedia","media","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","DOWN","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","jsx","Dropdown","contentClassName","isOpen","onToggle","onClick","onKeyDown","ToolbarButton","renderContent","onClose","jsxs","Fragment","NavigableMenu","className","default","value","render","open","MenuItem","icon","mediaIcon","FormFileUpload","onChange","openFileDialog","upload","_x","postFeaturedImage","isPressed","url","settings","showSuggestions","_default","exports","compose","withDispatch","dispatch","noticesStore","withFilters"],"sources":["@wordpress/block-editor/src/components/media-replace-flow/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\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 noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tpopoverProps,\n\trenderToggle,\n} ) => {\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\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 after 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', safeMessage, {\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\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\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 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\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\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\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tcontentClassName=\"block-editor-media-replace-flow__options\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\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<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\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{ _x( 'Upload', 'verb' ) }\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{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\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\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\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\tonSelectURL( url );\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\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,41 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
+
* Render an auto-growing textarea allow users to fill any textual content.
|
|
27
|
+
*
|
|
26
28
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```jsx
|
|
32
|
+
* import { registerBlockType } from '@wordpress/blocks';
|
|
33
|
+
* import { PlainText } from '@wordpress/block-editor';
|
|
34
|
+
*
|
|
35
|
+
* registerBlockType( 'my-plugin/example-block', {
|
|
36
|
+
* // ...
|
|
37
|
+
*
|
|
38
|
+
* attributes: {
|
|
39
|
+
* content: {
|
|
40
|
+
* type: 'string',
|
|
41
|
+
* },
|
|
42
|
+
* },
|
|
43
|
+
*
|
|
44
|
+
* edit( { className, attributes, setAttributes } ) {
|
|
45
|
+
* return (
|
|
46
|
+
* <PlainText
|
|
47
|
+
* className={ className }
|
|
48
|
+
* value={ attributes.content }
|
|
49
|
+
* onChange={ ( content ) => setAttributes( { content } ) }
|
|
50
|
+
* />
|
|
51
|
+
* );
|
|
52
|
+
* },
|
|
53
|
+
* } );
|
|
54
|
+
* ````
|
|
55
|
+
*
|
|
56
|
+
* @param {Object} props Component props.
|
|
57
|
+
* @param {string} props.value String value of the textarea.
|
|
58
|
+
* @param {Function} props.onChange Function called when the text value changes.
|
|
59
|
+
* @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.
|
|
60
|
+
* @return {Element} Plain text component
|
|
27
61
|
*/const PlainText = (0, _element.forwardRef)(({
|
|
28
62
|
__experimentalVersion,
|
|
29
63
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactAutosizeTextarea","_interopRequireDefault","require","_clsx","_element","_editableText","_jsxRuntime","PlainText","forwardRef","__experimentalVersion","props","ref","jsx","default","className","onChange","remainingProps","clsx","event","target","value","_default","exports"],"sources":["@wordpress/block-editor/src/components/plain-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EditableText from '../editable-text';\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md\n */\nconst PlainText = forwardRef( ( { __experimentalVersion, ...props }, ref ) => {\n\tif ( __experimentalVersion === 2 ) {\n\t\treturn <EditableText ref={ ref } { ...props } />;\n\t}\n\n\tconst { className, onChange, ...remainingProps } = props;\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'block-editor-plain-text', className ) }\n\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n} );\n\nexport default PlainText;\n"],"mappings":";;;;;;;AAGA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAd5C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA,GACA,MAAMK,SAAS,GAAG,IAAAC,mBAAU,EAAE,CAAE;EAAEC,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EAC7E,IAAKF,qBAAqB,KAAK,CAAC,EAAG;IAClC,oBAAO,IAAAH,WAAA,CAAAM,GAAA,EAACP,aAAA,CAAAQ,OAAY;MAACF,GAAG,EAAGA,GAAK;MAAA,GAAMD;IAAK,CAAI,CAAC;EACjD;EAEA,MAAM;IAAEI,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAe,CAAC,GAAGN,KAAK;EAExD,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACZ,sBAAA,CAAAa,OAAgB;IAChBF,GAAG,EAAGA,GAAK;IACXG,SAAS,EAAG,IAAAG,aAAI,EAAE,yBAAyB,EAAEH,SAAU,CAAG;IAC1DC,QAAQ,EAAKG,KAAK,IAAMH,QAAQ,CAAEG,KAAK,CAACC,MAAM,CAACC,KAAM,CAAG;IAAA,GACnDJ;EAAc,CACnB,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEWN,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactAutosizeTextarea","_interopRequireDefault","require","_clsx","_element","_editableText","_jsxRuntime","PlainText","forwardRef","__experimentalVersion","props","ref","jsx","default","className","onChange","remainingProps","clsx","event","target","value","_default","exports"],"sources":["@wordpress/block-editor/src/components/plain-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport EditableText from '../editable-text';\n\n/**\n * Render an auto-growing textarea allow users to fill any textual content.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md\n *\n * @example\n * ```jsx\n * import { registerBlockType } from '@wordpress/blocks';\n * import { PlainText } from '@wordpress/block-editor';\n *\n * registerBlockType( 'my-plugin/example-block', {\n * // ...\n *\n * attributes: {\n * content: {\n * type: 'string',\n * },\n * },\n *\n * edit( { className, attributes, setAttributes } ) {\n * return (\n * <PlainText\n * className={ className }\n * value={ attributes.content }\n * onChange={ ( content ) => setAttributes( { content } ) }\n * />\n * );\n * },\n * } );\n * ````\n *\n * @param {Object} props Component props.\n * @param {string} props.value String value of the textarea.\n * @param {Function} props.onChange Function called when the text value changes.\n * @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.\n * @return {Element} Plain text component\n */\nconst PlainText = forwardRef( ( { __experimentalVersion, ...props }, ref ) => {\n\tif ( __experimentalVersion === 2 ) {\n\t\treturn <EditableText ref={ ref } { ...props } />;\n\t}\n\n\tconst { className, onChange, ...remainingProps } = props;\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'block-editor-plain-text', className ) }\n\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n} );\n\nexport default PlainText;\n"],"mappings":";;;;;;;AAGA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAd5C;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,MAAMK,SAAS,GAAG,IAAAC,mBAAU,EAAE,CAAE;EAAEC,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EAC7E,IAAKF,qBAAqB,KAAK,CAAC,EAAG;IAClC,oBAAO,IAAAH,WAAA,CAAAM,GAAA,EAACP,aAAA,CAAAQ,OAAY;MAACF,GAAG,EAAGA,GAAK;MAAA,GAAMD;IAAK,CAAI,CAAC;EACjD;EAEA,MAAM;IAAEI,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAe,CAAC,GAAGN,KAAK;EAExD,oBACC,IAAAJ,WAAA,CAAAM,GAAA,EAACZ,sBAAA,CAAAa,OAAgB;IAChBF,GAAG,EAAGA,GAAK;IACXG,SAAS,EAAG,IAAAG,aAAI,EAAE,yBAAyB,EAAEH,SAAU,CAAG;IAC1DC,QAAQ,EAAKG,KAAK,IAAMH,QAAQ,CAAEG,KAAK,CAACC,MAAM,CAACC,KAAM,CAAG;IAAA,GACnDJ;EAAc,CACnB,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEWN,SAAS","ignoreList":[]}
|
|
@@ -8,29 +8,77 @@ exports.default = exports.ExperimentalBlockEditorProvider = exports.BlockEditorP
|
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
9
|
var _element = require("@wordpress/element");
|
|
10
10
|
var _components = require("@wordpress/components");
|
|
11
|
+
var _uploadMedia = require("@wordpress/upload-media");
|
|
11
12
|
var _withRegistryProvider = _interopRequireDefault(require("./with-registry-provider"));
|
|
12
13
|
var _useBlockSync = _interopRequireDefault(require("./use-block-sync"));
|
|
13
14
|
var _store = require("../../store");
|
|
14
15
|
var _blockRefsProvider = require("./block-refs-provider");
|
|
15
16
|
var _lockUnlock = require("../../lock-unlock");
|
|
16
17
|
var _keyboardShortcuts = _interopRequireDefault(require("../keyboard-shortcuts"));
|
|
18
|
+
var _useMediaUploadSettings = _interopRequireDefault(require("./use-media-upload-settings"));
|
|
17
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
20
|
/**
|
|
19
21
|
* WordPress dependencies
|
|
20
22
|
*/
|
|
21
23
|
|
|
24
|
+
//eslint-disable-next-line import/no-extraneous-dependencies -- Experimental package, not published.
|
|
25
|
+
|
|
22
26
|
/**
|
|
23
27
|
* Internal dependencies
|
|
24
28
|
*/
|
|
25
29
|
|
|
26
|
-
/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */
|
|
30
|
+
/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */const noop = () => {};
|
|
27
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Upload a media file when the file upload button is activated
|
|
34
|
+
* or when adding a file to the editor via drag & drop.
|
|
35
|
+
*
|
|
36
|
+
* @param {WPDataRegistry} registry
|
|
37
|
+
* @param {Object} $3 Parameters object passed to the function.
|
|
38
|
+
* @param {Array} $3.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed.
|
|
39
|
+
* @param {Object} $3.additionalData Additional data to include in the request.
|
|
40
|
+
* @param {Array<File>} $3.filesList List of files.
|
|
41
|
+
* @param {Function} $3.onError Function called when an error happens.
|
|
42
|
+
* @param {Function} $3.onFileChange Function called each time a file or a temporary representation of the file is available.
|
|
43
|
+
* @param {Function} $3.onSuccess Function called once a file has completely finished uploading, including thumbnails.
|
|
44
|
+
* @param {Function} $3.onBatchSuccess Function called once all files in a group have completely finished uploading, including thumbnails.
|
|
45
|
+
*/
|
|
46
|
+
function mediaUpload(registry, {
|
|
47
|
+
allowedTypes,
|
|
48
|
+
additionalData = {},
|
|
49
|
+
filesList,
|
|
50
|
+
onError = noop,
|
|
51
|
+
onFileChange,
|
|
52
|
+
onSuccess,
|
|
53
|
+
onBatchSuccess
|
|
54
|
+
}) {
|
|
55
|
+
void registry.dispatch(_uploadMedia.store).addItems({
|
|
56
|
+
files: filesList,
|
|
57
|
+
onChange: onFileChange,
|
|
58
|
+
onSuccess,
|
|
59
|
+
onBatchSuccess,
|
|
60
|
+
onError: ({
|
|
61
|
+
message
|
|
62
|
+
}) => onError(message),
|
|
63
|
+
additionalData,
|
|
64
|
+
allowedTypes
|
|
65
|
+
});
|
|
66
|
+
}
|
|
28
67
|
const ExperimentalBlockEditorProvider = exports.ExperimentalBlockEditorProvider = (0, _withRegistryProvider.default)(props => {
|
|
29
68
|
const {
|
|
30
|
-
|
|
31
|
-
|
|
69
|
+
settings: _settings,
|
|
70
|
+
registry,
|
|
32
71
|
stripExperimentalSettings = false
|
|
33
72
|
} = props;
|
|
73
|
+
const mediaUploadSettings = (0, _useMediaUploadSettings.default)(_settings);
|
|
74
|
+
let settings = _settings;
|
|
75
|
+
if (window.__experimentalMediaProcessing && _settings.mediaUpload) {
|
|
76
|
+
// Create a new variable so that the original props.settings.mediaUpload is not modified.
|
|
77
|
+
settings = (0, _element.useMemo)(() => ({
|
|
78
|
+
..._settings,
|
|
79
|
+
mediaUpload: mediaUpload.bind(null, registry)
|
|
80
|
+
}), [_settings, registry]);
|
|
81
|
+
}
|
|
34
82
|
const {
|
|
35
83
|
__experimentalUpdateSettings
|
|
36
84
|
} = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
|
|
@@ -46,12 +94,20 @@ const ExperimentalBlockEditorProvider = exports.ExperimentalBlockEditorProvider
|
|
|
46
94
|
|
|
47
95
|
// Syncs the entity provider with changes in the block-editor store.
|
|
48
96
|
(0, _useBlockSync.default)(props);
|
|
49
|
-
|
|
97
|
+
const children = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.SlotFillProvider, {
|
|
50
98
|
passthrough: true,
|
|
51
99
|
children: [!settings?.isPreviewMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_keyboardShortcuts.default.Register, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockRefsProvider.BlockRefsProvider, {
|
|
52
|
-
children: children
|
|
100
|
+
children: props.children
|
|
53
101
|
})]
|
|
54
102
|
});
|
|
103
|
+
if (window.__experimentalMediaProcessing) {
|
|
104
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uploadMedia.MediaUploadProvider, {
|
|
105
|
+
settings: mediaUploadSettings,
|
|
106
|
+
useSubRegistry: false,
|
|
107
|
+
children: children
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return children;
|
|
55
111
|
});
|
|
56
112
|
const BlockEditorProvider = props => {
|
|
57
113
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ExperimentalBlockEditorProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_components","_withRegistryProvider","_interopRequireDefault","_useBlockSync","_store","_blockRefsProvider","_lockUnlock","_keyboardShortcuts","_jsxRuntime","ExperimentalBlockEditorProvider","exports","withRegistryProvider","props","
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_components","_uploadMedia","_withRegistryProvider","_interopRequireDefault","_useBlockSync","_store","_blockRefsProvider","_lockUnlock","_keyboardShortcuts","_useMediaUploadSettings","_jsxRuntime","noop","mediaUpload","registry","allowedTypes","additionalData","filesList","onError","onFileChange","onSuccess","onBatchSuccess","dispatch","uploadStore","addItems","files","onChange","message","ExperimentalBlockEditorProvider","exports","withRegistryProvider","props","settings","_settings","stripExperimentalSettings","mediaUploadSettings","useMediaUploadSettings","window","__experimentalMediaProcessing","useMemo","bind","__experimentalUpdateSettings","unlock","useDispatch","blockEditorStore","useEffect","__internalIsInitialized","reset","useBlockSync","children","jsxs","SlotFillProvider","passthrough","isPreviewMode","jsx","default","Register","BlockRefsProvider","MediaUploadProvider","useSubRegistry","BlockEditorProvider","_default"],"sources":["@wordpress/block-editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { SlotFillProvider } from '@wordpress/components';\n//eslint-disable-next-line import/no-extraneous-dependencies -- Experimental package, not published.\nimport {\n\tMediaUploadProvider,\n\tstore as uploadStore,\n} from '@wordpress/upload-media';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport useBlockSync from './use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefsProvider } from './block-refs-provider';\nimport { unlock } from '../../lock-unlock';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport useMediaUploadSettings from './use-media-upload-settings';\n\n/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */\n\nconst noop = () => {};\n\n/**\n * Upload a media file when the file upload button is activated\n * or when adding a file to the editor via drag & drop.\n *\n * @param {WPDataRegistry} registry\n * @param {Object} $3 Parameters object passed to the function.\n * @param {Array} $3.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed.\n * @param {Object} $3.additionalData Additional data to include in the request.\n * @param {Array<File>} $3.filesList List of files.\n * @param {Function} $3.onError Function called when an error happens.\n * @param {Function} $3.onFileChange Function called each time a file or a temporary representation of the file is available.\n * @param {Function} $3.onSuccess Function called once a file has completely finished uploading, including thumbnails.\n * @param {Function} $3.onBatchSuccess Function called once all files in a group have completely finished uploading, including thumbnails.\n */\nfunction mediaUpload(\n\tregistry,\n\t{\n\t\tallowedTypes,\n\t\tadditionalData = {},\n\t\tfilesList,\n\t\tonError = noop,\n\t\tonFileChange,\n\t\tonSuccess,\n\t\tonBatchSuccess,\n\t}\n) {\n\tvoid registry.dispatch( uploadStore ).addItems( {\n\t\tfiles: filesList,\n\t\tonChange: onFileChange,\n\t\tonSuccess,\n\t\tonBatchSuccess,\n\t\tonError: ( { message } ) => onError( message ),\n\t\tadditionalData,\n\t\tallowedTypes,\n\t} );\n}\n\nexport const ExperimentalBlockEditorProvider = withRegistryProvider(\n\t( props ) => {\n\t\tconst {\n\t\t\tsettings: _settings,\n\t\t\tregistry,\n\t\t\tstripExperimentalSettings = false,\n\t\t} = props;\n\n\t\tconst mediaUploadSettings = useMediaUploadSettings( _settings );\n\n\t\tlet settings = _settings;\n\n\t\tif ( window.__experimentalMediaProcessing && _settings.mediaUpload ) {\n\t\t\t// Create a new variable so that the original props.settings.mediaUpload is not modified.\n\t\t\tsettings = useMemo(\n\t\t\t\t() => ( {\n\t\t\t\t\t..._settings,\n\t\t\t\t\tmediaUpload: mediaUpload.bind( null, registry ),\n\t\t\t\t} ),\n\t\t\t\t[ _settings, registry ]\n\t\t\t);\n\t\t}\n\n\t\tconst { __experimentalUpdateSettings } = unlock(\n\t\t\tuseDispatch( blockEditorStore )\n\t\t);\n\t\tuseEffect( () => {\n\t\t\t__experimentalUpdateSettings(\n\t\t\t\t{\n\t\t\t\t\t...settings,\n\t\t\t\t\t__internalIsInitialized: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tstripExperimentalSettings,\n\t\t\t\t\treset: true,\n\t\t\t\t}\n\t\t\t);\n\t\t}, [\n\t\t\tsettings,\n\t\t\tstripExperimentalSettings,\n\t\t\t__experimentalUpdateSettings,\n\t\t] );\n\n\t\t// Syncs the entity provider with changes in the block-editor store.\n\t\tuseBlockSync( props );\n\n\t\tconst children = (\n\t\t\t<SlotFillProvider passthrough>\n\t\t\t\t{ ! settings?.isPreviewMode && <KeyboardShortcuts.Register /> }\n\t\t\t\t<BlockRefsProvider>{ props.children }</BlockRefsProvider>\n\t\t\t</SlotFillProvider>\n\t\t);\n\n\t\tif ( window.__experimentalMediaProcessing ) {\n\t\t\treturn (\n\t\t\t\t<MediaUploadProvider\n\t\t\t\t\tsettings={ mediaUploadSettings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</MediaUploadProvider>\n\t\t\t);\n\t\t}\n\n\t\treturn children;\n\t}\n);\n\nexport const BlockEditorProvider = ( props ) => {\n\treturn (\n\t\t<ExperimentalBlockEditorProvider { ...props } stripExperimentalSettings>\n\t\t\t{ props.children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n};\n\nexport default BlockEditorProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _element = require("@wordpress/element");
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* React hook used to compute the media upload settings to use in the post editor.
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} settings Media upload settings prop.
|
|
16
|
+
*
|
|
17
|
+
* @return {Object} Media upload settings.
|
|
18
|
+
*/
|
|
19
|
+
function useMediaUploadSettings(settings = {}) {
|
|
20
|
+
return (0, _element.useMemo)(() => ({
|
|
21
|
+
mediaUpload: settings.mediaUpload,
|
|
22
|
+
mediaSideload: settings.mediaSideload,
|
|
23
|
+
maxUploadFileSize: settings.maxUploadFileSize,
|
|
24
|
+
allowedMimeTypes: settings.allowedMimeTypes
|
|
25
|
+
}), [settings]);
|
|
26
|
+
}
|
|
27
|
+
var _default = exports.default = useMediaUploadSettings;
|
|
28
|
+
//# sourceMappingURL=use-media-upload-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_element","require","useMediaUploadSettings","settings","useMemo","mediaUpload","mediaSideload","maxUploadFileSize","allowedMimeTypes","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/provider/use-media-upload-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * React hook used to compute the media upload settings to use in the post editor.\n *\n * @param {Object} settings Media upload settings prop.\n *\n * @return {Object} Media upload settings.\n */\nfunction useMediaUploadSettings( settings = {} ) {\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tmediaSideload: settings.mediaSideload,\n\t\t\tmaxUploadFileSize: settings.maxUploadFileSize,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t} ),\n\t\t[ settings ]\n\t);\n}\n\nexport default useMediaUploadSettings;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,QAAQ,GAAG,CAAC,CAAC,EAAG;EAChD,OAAO,IAAAC,gBAAO,EACb,OAAQ;IACPC,WAAW,EAAEF,QAAQ,CAACE,WAAW;IACjCC,aAAa,EAAEH,QAAQ,CAACG,aAAa;IACrCC,iBAAiB,EAAEJ,QAAQ,CAACI,iBAAiB;IAC7CC,gBAAgB,EAAEL,QAAQ,CAACK;EAC5B,CAAC,CAAE,EACH,CAAEL,QAAQ,CACX,CAAC;AACF;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcT,sBAAsB","ignoreList":[]}
|
|
@@ -30,7 +30,8 @@ function ResolutionTool({
|
|
|
30
30
|
onChange,
|
|
31
31
|
options = DEFAULT_SIZE_OPTIONS,
|
|
32
32
|
defaultValue = DEFAULT_SIZE_OPTIONS[0].value,
|
|
33
|
-
isShownByDefault = true
|
|
33
|
+
isShownByDefault = true,
|
|
34
|
+
resetAllFilter
|
|
34
35
|
}) {
|
|
35
36
|
const displayValue = value !== null && value !== void 0 ? value : defaultValue;
|
|
36
37
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
@@ -39,6 +40,7 @@ function ResolutionTool({
|
|
|
39
40
|
onDeselect: () => onChange(defaultValue),
|
|
40
41
|
isShownByDefault: isShownByDefault,
|
|
41
42
|
panelId: panelId,
|
|
43
|
+
resetAllFilter: resetAllFilter,
|
|
42
44
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
43
45
|
__nextHasNoMarginBottom: true,
|
|
44
46
|
label: (0, _i18n.__)('Resolution'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","__nextHasNoMarginBottom","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG;
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_jsxRuntime","DEFAULT_SIZE_OPTIONS","label","_x","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","resetAllFilter","displayValue","jsx","__experimentalToolsPanelItem","hasValue","__","onDeselect","children","SelectControl","__nextHasNoMarginBottom","help","size"],"sources":["@wordpress/block-editor/src/components/resolution-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\nconst DEFAULT_SIZE_OPTIONS = [\n\t{\n\t\tlabel: _x( 'Thumbnail', 'Image size option for resolution control' ),\n\t\tvalue: 'thumbnail',\n\t},\n\t{\n\t\tlabel: _x( 'Medium', 'Image size option for resolution control' ),\n\t\tvalue: 'medium',\n\t},\n\t{\n\t\tlabel: _x( 'Large', 'Image size option for resolution control' ),\n\t\tvalue: 'large',\n\t},\n\t{\n\t\tlabel: _x( 'Full Size', 'Image size option for resolution control' ),\n\t\tvalue: 'full',\n\t},\n];\n\nexport default function ResolutionTool( {\n\tpanelId,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_SIZE_OPTIONS,\n\tdefaultValue = DEFAULT_SIZE_OPTIONS[ 0 ].value,\n\tisShownByDefault = true,\n\tresetAllFilter,\n} ) {\n\tconst displayValue = value ?? defaultValue;\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => displayValue !== defaultValue }\n\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\tonDeselect={ () => onChange( defaultValue ) }\n\t\t\tisShownByDefault={ isShownByDefault }\n\t\t\tpanelId={ panelId }\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\tvalue={ displayValue }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAAyC,IAAAE,WAAA,GAAAF,OAAA;AAPzC;AACA;AACA;;AAOA,MAAMG,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEC,KAAK,EAAE;AACR,CAAC,EACD;EACCF,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEC,KAAK,EAAE;AACR,CAAC,CACD;AAEc,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGP,oBAAoB;EAC9BQ,YAAY,GAAGR,oBAAoB,CAAE,CAAC,CAAE,CAACG,KAAK;EAC9CM,gBAAgB,GAAG,IAAI;EACvBC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGR,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACC,IAAAT,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAiB,4BAAc;IACdC,QAAQ,EAAGA,CAAA,KAAMH,YAAY,KAAKH,YAAc;IAChDP,KAAK,EAAG,IAAAc,QAAE,EAAE,YAAa,CAAG;IAC5BC,UAAU,EAAGA,CAAA,KAAMV,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IACnBK,cAAc,EAAGA,cAAgB;IAAAO,QAAA,eAEjC,IAAAlB,WAAA,CAAAa,GAAA,EAAChB,WAAA,CAAAsB,aAAa;MACbC,uBAAuB;MACvBlB,KAAK,EAAG,IAAAc,QAAE,EAAE,YAAa,CAAG;MAC5BZ,KAAK,EAAGQ,YAAc;MACtBJ,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBc,IAAI,EAAG,IAAAL,QAAE,EAAE,sCAAuC,CAAG;MACrDM,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}
|