@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","Button","FormFileUpload","Placeholder","DropZone","__experimentalInputControl","InputControl","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","withFilters","__","useState","useEffect","useSelect","keyboardReturn","deprecated","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","parseDropEvent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","anchor","children","className","__next40pxDefaultSize","label","hideLabelFromVision","placeholder","value","suffix","variant","size","icon","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","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","since","version","mediaUpload","select","getSettings","setSrc","_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","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","preview","renderPlaceholder","renderDropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","openFileDialog","fallback"],"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","Button","FormFileUpload","Placeholder","DropZone","__experimentalInputControl","InputControl","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","withFilters","__","_x","useState","useEffect","useSelect","keyboardReturn","deprecated","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","parseDropEvent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","anchor","children","className","__next40pxDefaultSize","label","hideLabelFromVision","placeholder","value","suffix","variant","size","icon","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","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","since","version","mediaUpload","select","getSettings","setSrc","_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","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","preview","renderPlaceholder","renderDropZone","onFilesDrop","onDrop","isEligible","dataTransfer","prefix","types","push","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","Array","isArray","render","openFileDialog","fallback"],"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":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,MAAM,EACNC,cAAc,EACdC,WAAW,EACXC,QAAQ,EACRC,0BAA0B,IAAIC,YAAY,EAC1CC,uCAAuC,IAAIC,yBAAyB,EACpEC,WAAW,QACL,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;AACxD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,UAAU,MAAM,uBAAuB;;AAE9C;AACA;AACA;AACA,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,gBAAgB,MAAM,uBAAuB;AACpD,OAAOC,UAAU,MAAM,gBAAgB;AACvC,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,cAAc,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEtD,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,MAAMC,oBAAoB,GAAGA,CAAE;EAC9BC,GAAG;EACHC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC;AACD,CAAC,kBACAX,IAAA,CAACL,UAAU;EAACiB,MAAM,EAAGD,aAAe;EAACD,OAAO,EAAGA,OAAS;EAAAG,QAAA,eACvDb,IAAA;IACCc,SAAS,EAAC,gDAAgD;IAC1DL,QAAQ,EAAGA,QAAU;IAAAI,QAAA,eAErBb,IAAA,CAAClB,YAAY;MACZiC,qBAAqB;MACrBC,KAAK,EAAG9B,EAAE,CAAE,KAAM,CAAG;MACrB+B,mBAAmB;MACnBC,WAAW,EAAGhC,EAAE,CAAE,mBAAoB,CAAG;MACzCsB,QAAQ,EAAGA,QAAU;MACrBW,KAAK,EAAGZ,GAAK;MACba,MAAM,eACLpB,IAAA,CAAChB,yBAAyB;QAACqC,OAAO,EAAC,SAAS;QAAAR,QAAA,eAC3Cb,IAAA,CAACvB,MAAM;UACN6C,IAAI,EAAC,OAAO;UACZC,IAAI,EAAGhC,cAAgB;UACvByB,KAAK,EAAG9B,EAAE,CAAE,OAAQ,CAAG;UACvBsC,IAAI,EAAC;QAAQ,CACb;MAAC,CACwB;IAC3B,CACD;EAAC,CACG;AAAC,CACI,CACZ;AAED,MAAMC,cAAc,GAAGA,CAAE;EAAElB,GAAG;EAAEmB,WAAW;EAAEC;AAAY,CAAC,KAAM;EAC/D;EACA;EACA,MAAM,CAAEhB,aAAa,EAAEiB,gBAAgB,CAAE,GAAGxC,QAAQ,CAAE,IAAK,CAAC;EAC5D,MAAM,CAAEyC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG1C,QAAQ,CAAE,KAAM,CAAC;EAErE,MAAM2C,YAAY,GAAGA,CAAA,KAAM;IAC1BD,oBAAoB,CAAE,IAAK,CAAC;EAC7B,CAAC;EACD,MAAME,aAAa,GAAGA,CAAA,KAAM;IAC3BF,oBAAoB,CAAE,KAAM,CAAC;IAC7BnB,aAAa,EAAEsB,KAAK,CAAC,CAAC;EACvB,CAAC;EAED,MAAMC,WAAW,GAAKC,KAAK,IAAM;IAChCA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtB,IAAK7B,GAAG,IAAIoB,WAAW,EAAG;MACzBA,WAAW,CAAEpB,GAAI,CAAC;MAClByB,aAAa,CAAC,CAAC;IAChB;EACD,CAAC;EAED,oBACC9B,KAAA;IAAKY,SAAS,EAAC,qDAAqD;IAAAD,QAAA,gBACnEb,IAAA,CAACvB,MAAM;MACNsC,qBAAqB;MACrBD,SAAS,EAAC,wCAAwC;MAClDuB,OAAO,EAAGN,YAAc;MACxBO,SAAS,EAAGT,iBAAmB;MAC/BR,OAAO,EAAC,WAAW;MACnB,iBAAc,QAAQ;MACtBkB,GAAG,EAAGX,gBAAkB;MAAAf,QAAA,EAEtB3B,EAAE,CAAE,iBAAkB;IAAC,CAClB,CAAC,EACP2C,iBAAiB,iBAClB7B,IAAA,CAACM,oBAAoB;MACpBC,GAAG,EAAGA,GAAK;MACXC,QAAQ,EAAGkB,WAAa;MACxBjB,QAAQ,EAAGyB,WAAa;MACxBxB,OAAO,EAAGsB,aAAe;MACzBrB,aAAa,EAAGA;IAAe,CAC/B,CACD;EAAA,CACG,CAAC;AAER,CAAC;AAED,OAAO,SAAS6B,gBAAgBA,CAAE;EACjCrB,KAAK,GAAG,CAAC,CAAC;EACVsB,YAAY;EACZ3B,SAAS;EACTS,IAAI;EACJmB,MAAM,GAAG,CAAC,CAAC;EACXC,YAAY;EACZC,OAAO;EACPC,UAAU;EACVC,MAAM;EACNC,YAAY;EACZC,QAAQ,GAAG,KAAK;EAChBC,YAAY,GAAG,IAAI;EACnBC,eAAe;EACfC,mBAAmB;EACnBC,OAAO;EACPC,QAAQ;EACRC,QAAQ;EACR3B,WAAW;EACX4B,qBAAqB;EACrBC,aAAa;EACbC,gBAAgB,GAAGpD,IAAI;EACvBqD,UAAU,EAAEC,oBAAoB;EAChC9C,QAAQ;EACR+C,kBAAkB;EAClB1C,WAAW;EACX2C;AACD,CAAC,EAAG;EACH,IAAKF,oBAAoB,EAAG;IAC3BnE,UAAU,CAAE,iDAAiD,EAAE;MAC9DsE,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE;IACV,CAAE,CAAC;EACJ;EAEA,MAAMC,WAAW,GAAG1E,SAAS,CAAI2E,MAAM,IAAM;IAC5C,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEpE,gBAAiB,CAAC;IAClD,OAAOqE,WAAW,CAAC,CAAC,CAACF,WAAW;EACjC,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEzD,GAAG,EAAE4D,MAAM,CAAE,GAAG/E,QAAQ,CAAE,EAAG,CAAC;EAEtCC,SAAS,CAAE,MAAM;IAAA,IAAA+E,UAAA;IAChBD,MAAM,EAAAC,UAAA,GAAEjD,KAAK,EAAEZ,GAAG,cAAA6D,UAAA,cAAAA,UAAA,GAAI,EAAG,CAAC;EAC3B,CAAC,EAAE,CAAEjD,KAAK,EAAEZ,GAAG,CAAG,CAAC;EAEnB,MAAM8D,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,IAAK,CAAE5B,YAAY,IAAIA,YAAY,CAAC6B,MAAM,KAAK,CAAC,EAAG;MAClD,OAAO,KAAK;IACb;IAEA,OAAO7B,YAAY,CAAC8B,KAAK,CACtBC,WAAW,IACZA,WAAW,KAAK,OAAO,IAAIA,WAAW,CAACC,UAAU,CAAE,QAAS,CAC9D,CAAC;EACF,CAAC;EAED,MAAMC,aAAa,GAAKC,KAAK,IAAM;IAClC,IACC,CAAE1B,YAAY,IACZ,OAAOA,YAAY,KAAK,UAAU,IAAI,CAAEA,YAAY,CAAE0B,KAAM,CAAG,EAChE;MACD,OAAOtB,QAAQ,CAAEsB,KAAM,CAAC;IACzB;IACAlB,gBAAgB,CAAEkB,KAAM,CAAC;IACzB,IAAIC,QAAQ;IACZ,IAAK5B,QAAQ,EAAG;MACf,IAAKD,YAAY,EAAG;QACnB;QACA;QACA;QACA;QACA;;QAEA;QACA,IAAI8B,eAAe,GAAG,EAAE;QACxBD,QAAQ,GAAKE,QAAQ,IAAM;UAC1B;UACA;UACA,MAAMC,aAAa,GAAG,CAAE5D,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAG6D,MAAM,CAAIC,IAAI,IAAM;YACzD;YACA,IAAKA,IAAI,CAACC,EAAE,EAAG;cACd,OAAO,CAAEL,eAAe,CAACM,IAAI;cAC5B;cACA,CAAE;gBAAED;cAAG,CAAC,KAAME,MAAM,CAAEF,EAAG,CAAC,KAAKE,MAAM,CAAEH,IAAI,CAACC,EAAG,CAChD,CAAC;YACF;YACA;YACA,OAAO,CAAEL,eAAe,CAACM,IAAI,CAAE,CAAE;cAAEE;YAAQ,CAAC,KAC3CJ,IAAI,CAACK,GAAG,CAACC,QAAQ,CAAEF,OAAQ,CAC5B,CAAC;UACF,CAAE,CAAC;UACH;UACAhC,QAAQ,CAAE0B,aAAa,CAACS,MAAM,CAAEV,QAAS,CAAE,CAAC;UAC5C;UACAD,eAAe,GAAGC,QAAQ,CAACW,GAAG,CAAIC,KAAK,IAAM;YAC5C;YACA,MAAMC,WAAW,GAAGD,KAAK,CAACJ,GAAG,CAACM,WAAW,CAAE,GAAI,CAAC;YAChD,MAAMP,OAAO,GAAGK,KAAK,CAACJ,GAAG,CAACO,KAAK,CAAE,CAAC,EAAEF,WAAY,CAAC;YACjD,OAAO;cAAET,EAAE,EAAEQ,KAAK,CAACR,EAAE;cAAEG;YAAQ,CAAC;UACjC,CAAE,CAAC;QACJ,CAAC;MACF,CAAC,MAAM;QACNT,QAAQ,GAAGvB,QAAQ;MACpB;IACD,CAAC,MAAM;MACNuB,QAAQ,GAAGA,CAAE,CAAEc,KAAK,CAAE,KAAMrC,QAAQ,CAAEqC,KAAM,CAAC;IAC9C;IACA1B,WAAW,CAAE;MACZvB,YAAY;MACZqD,SAAS,EAAEnB,KAAK;MAChBoB,YAAY,EAAEnB,QAAQ;MACtBxB;IACD,CAAE,CAAC;EACJ,CAAC;EAED,eAAe4C,gBAAgBA,CAAE7D,KAAK,EAAG;IACxC,MAAM;MAAE8D;IAAO,CAAC,GAAGnG,cAAc,CAAEqC,KAAM,CAAC;IAE1C,IAAK,CAAE8D,MAAM,EAAE3B,MAAM,EAAG;MACvB;IACD;IAEA,MAAM4B,iBAAiB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC1CH,MAAM,CAACR,GAAG,CAAIY,KAAK,IAAM;MACxB,MAAMC,SAAS,GAAGD,KAAK,CAACE,IAAI,CAACC,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;MAC9C,IAAKH,KAAK,CAACI,UAAU,CAACvB,EAAE,EAAG;QAC1BmB,KAAK,CAACI,UAAU,CAACjF,IAAI,GAAG8E,SAAS;QACjC,OAAOD,KAAK,CAACI,UAAU;MACxB;MACA,OAAO,IAAIN,OAAO,CAAE,CAAEO,OAAO,EAAEC,MAAM,KAAM;QAC1CC,MAAM,CACJC,KAAK,CAAER,KAAK,CAACI,UAAU,CAACnB,GAAI,CAAC,CAC7BwB,IAAI,CAAIC,QAAQ,IAAMA,QAAQ,CAACC,IAAI,CAAC,CAAE,CAAC,CACvCF,IAAI,CAAIE,IAAI,IACZhD,WAAW,CAAE;UACZ8B,SAAS,EAAE,CAAEkB,IAAI,CAAE;UACnBC,cAAc,EAAE;YACfC,KAAK,EAAEb,KAAK,CAACI,UAAU,CAACS,KAAK;YAC7BC,QAAQ,EAAEd,KAAK,CAACI,UAAU,CAACW,GAAG;YAC9BC,OAAO,EAAEhB,KAAK,CAACI,UAAU,CAACY,OAAO;YACjC7F,IAAI,EAAE8E;UACP,CAAC;UACDP,YAAY,EAAEA,CAAE,CAAEL,KAAK,CAAE,KAAM;YAC9B,IAAKA,KAAK,CAACR,EAAE,EAAG;cACfwB,OAAO,CAAEhB,KAAM,CAAC;YACjB;UACD,CAAC;UACDjD,YAAY;UACZW,OAAO,EAAEuD;QACV,CAAE,CACH,CAAC,CACAW,KAAK,CAAE,MAAMZ,OAAO,CAAEL,KAAK,CAACI,UAAU,CAACnB,GAAI,CAAE,CAAC;MACjD,CAAE,CAAC;IACJ,CAAE,CACH,CAAC,CAACgC,KAAK,CAAIC,GAAG,IAAMnE,OAAO,CAAEmE,GAAI,CAAE,CAAC;IAEpC,IAAKvE,QAAQ,EAAG;MACfK,QAAQ,CAAE6C,iBAAkB,CAAC;IAC9B,CAAC,MAAM;MACN7C,QAAQ,CAAE6C,iBAAiB,CAAE,CAAC,CAAG,CAAC;IACnC;EACD;EAEA,MAAMsB,QAAQ,GAAKrF,KAAK,IAAM;IAC7BuC,aAAa,CAAEvC,KAAK,CAACsF,MAAM,CAAC9C,KAAM,CAAC;EACpC,CAAC;EAED,MAAM+C,wBAAwB,GAAKC,OAAO,IAAM;IAC/C,IAAI;MAAEC,YAAY;MAAEV;IAAM,CAAC,GAAGxE,MAAM;IAEpC,IAAK,CAAEsB,WAAW,IAAI,CAAErC,WAAW,EAAG;MACrCiG,YAAY,GAAG1I,EAAE,CAChB,0DACD,CAAC;IACF;IAEA,IAAK0I,YAAY,KAAKC,SAAS,IAAIX,KAAK,KAAKW,SAAS,EAAG;MACxD,MAAMC,YAAY,GAAGrF,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,EAAE;MAEvC,MAAM,CAAEsF,gBAAgB,CAAE,GAAGD,YAAY;MACzC,MAAME,SAAS,GAAG,CAAC,KAAKF,YAAY,CAACxD,MAAM;MAC3C,MAAM2D,OAAO,GAAGD,SAAS,IAAI,OAAO,KAAKD,gBAAgB;MACzD,MAAMG,OAAO,GAAGF,SAAS,IAAI,OAAO,KAAKD,gBAAgB;MACzD,MAAMI,OAAO,GAAGH,SAAS,IAAI,OAAO,KAAKD,gBAAgB;MAEzD,IAAKH,YAAY,KAAKC,SAAS,IAAI7D,WAAW,EAAG;QAChD4D,YAAY,GAAG1I,EAAE,CAChB,uEACD,CAAC;QAED,IAAK+I,OAAO,EAAG;UACdL,YAAY,GAAG1I,EAAE,CAChB,mEACD,CAAC;QACF,CAAC,MAAM,IAAKgJ,OAAO,EAAG;UACrBN,YAAY,GAAG1I,EAAE,CAChB,8DACD,CAAC;QACF,CAAC,MAAM,IAAKiJ,OAAO,EAAG;UACrBP,YAAY,GAAG1I,EAAE,CAChB,6DACD,CAAC;QACF;MACD;MAEA,IAAKgI,KAAK,KAAKW,SAAS,EAAG;QAC1BX,KAAK,GAAGhI,EAAE,CAAE,OAAQ,CAAC;QAErB,IAAK+I,OAAO,EAAG;UACdf,KAAK,GAAGhI,EAAE,CAAE,OAAQ,CAAC;QACtB,CAAC,MAAM,IAAKgJ,OAAO,EAAG;UACrBhB,KAAK,GAAGhI,EAAE,CAAE,OAAQ,CAAC;QACtB,CAAC,MAAM,IAAKiJ,OAAO,EAAG;UACrBjB,KAAK,GAAGhI,EAAE,CAAE,OAAQ,CAAC;QACtB;MACD;IACD;IAEA,MAAMkJ,oBAAoB,GAAG5J,IAAI,CAChC,gCAAgC,EAChCsC,SAAS,EACT;MACC,aAAa,EAAE+B;IAChB,CACD,CAAC;IAED,oBACC3C,KAAA,CAACvB,WAAW;MACX4C,IAAI,EAAGA,IAAM;MACbP,KAAK,EAAGkG,KAAO;MACfU,YAAY,EAAGA,YAAc;MAC7B9G,SAAS,EAAGsH,oBAAsB;MAClCxF,OAAO,EAAGA,OAAS;MACnBY,aAAa,EAAGA,aAAe;MAC/B6E,OAAO,EAAG1F,YAAc;MACxBkB,KAAK,EAAGA,KAAO;MAAAhD,QAAA,GAEb8G,OAAO,EACP9G,QAAQ;IAAA,CACE,CAAC;EAEhB,CAAC;EACD,MAAMyH,iBAAiB,GAAGpH,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAIwG,wBAAwB;EAEjE,MAAMa,cAAc,GAAGA,CAAA,KAAM;IAC5B,IAAKrF,eAAe,EAAG;MACtB,OAAO,IAAI;IACZ;IAEA,oBACClD,IAAA,CAACpB,QAAQ;MACR4J,WAAW,EAAG9D,aAAe;MAC7B+D,MAAM,EAAGzC,gBAAkB;MAC3B0C,UAAU,EAAKC,YAAY,IAAM;QAChC,MAAMC,MAAM,GAAG,gBAAgB;QAC/B,MAAMC,KAAK,GAAG,EAAE;QAChB,KAAM,MAAMrH,IAAI,IAAImH,YAAY,CAACE,KAAK,EAAG;UACxC,IAAKrH,IAAI,CAACiD,UAAU,CAAEmE,MAAO,CAAC,EAAG;YAChCC,KAAK,CAACC,IAAI,CAAEtH,IAAI,CAACqE,KAAK,CAAE+C,MAAM,CAACtE,MAAO,CAAE,CAAC;UAC1C;QACD;QACA,OACCuE,KAAK,CAACtE,KAAK,CAAI/C,IAAI,IAClBiB,YAAY,CAAC8C,QAAQ,CAAE/D,IAAK,CAC7B,CAAC,KAAMwB,QAAQ,GAAG,IAAI,GAAG6F,KAAK,CAACvE,MAAM,KAAK,CAAC,CAAE;MAE/C;IAAG,CACH,CAAC;EAEJ,CAAC;EAED,MAAMyE,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,OACCzF,QAAQ,iBACPtD,IAAA,CAACvB,MAAM;MACNsC,qBAAqB;MACrBD,SAAS,EAAC,+CAA+C;MACzDoG,KAAK,EAAGhI,EAAE,CAAE,QAAS,CAAG;MACxBmC,OAAO,EAAC,MAAM;MACdgB,OAAO,EAAGiB,QAAU;MAAAzC,QAAA,EAElB3B,EAAE,CAAE,QAAS;IAAC,CACT,CACR;EAEH,CAAC;EAED,MAAM8J,oBAAoB,GAAGA,CAAA,KAAM;IAClC,OACCrH,WAAW,iBACV3B,IAAA,CAACyB,cAAc;MACdlB,GAAG,EAAGA,GAAK;MACXmB,WAAW,EAAGyC,MAAQ;MACtBxC,WAAW,EAAGA;IAAa,CAC3B,CACD;EAEH,CAAC;EAED,MAAMsH,yBAAyB,GAAGA,CAAA,KAAM;IACvC,OACC1F,qBAAqB,iBACpBvD,IAAA;MAAKc,SAAS,EAAC,qDAAqD;MAAAD,QAAA,eACnEb,IAAA,CAACvB,MAAM;QACNsC,qBAAqB;QACrBD,SAAS,EAAC,wCAAwC;QAClDuB,OAAO,EAAGkB,qBAAuB;QACjClC,OAAO,EAAC,WAAW;QAAAR,QAAA,EAEjB3B,EAAE,CAAE,oBAAqB;MAAC,CACrB;IAAC,CACL,CACL;EAEH,CAAC;EAED,MAAMgK,wBAAwB,GAAGA,CAAA,KAAM;IACtC,MAAMC,aAAa,GAAGA,CAAE;MAAEC;IAAK,CAAC,KAAM;MACrC,oBACCpJ,IAAA,CAACvB,MAAM;QACNsC,qBAAqB;QACrBM,OAAO,EAAC,WAAW;QACnBgB,OAAO,EAAGA,CAAA,KAAM;UACf+G,IAAI,CAAC,CAAC;QACP,CAAG;QAAAvI,QAAA,EAED3B,EAAE,CAAE,eAAgB;MAAC,CAChB,CAAC;IAEX,CAAC;IACD,MAAMmK,aAAa,GAAGzF,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAIuF,aAAa;IACzD,MAAMG,wBAAwB,gBAC7BtJ,IAAA,CAACP,WAAW;MACXsD,YAAY,EAAGA,YAAc;MAC7BwG,OAAO,EAAGvG,QAAQ,IAAIqB,gBAAgB,CAAC,CAAG;MAC1CrB,QAAQ,EAAGA,QAAU;MACrBK,QAAQ,EAAGA,QAAU;MACrBZ,YAAY,EAAGA,YAAc;MAC7B+G,IAAI,EAAC,QAAQ;MACbrI,KAAK,EACJsI,KAAK,CAACC,OAAO,CAAEvI,KAAM,CAAC,GACnBA,KAAK,CAACsE,GAAG,CAAE,CAAE;QAAEP;MAAG,CAAC,KAAMA,EAAG,CAAC,GAC7B/D,KAAK,CAAC+D,EACT;MACDyE,MAAM,EAAGN;IAAe,CACxB,CACD;IAED,IAAKrF,WAAW,IAAInB,UAAU,EAAG;MAChC,oBACC3C,KAAA,CAAAE,SAAA;QAAAS,QAAA,GACG0H,cAAc,CAAC,CAAC,eAClBvI,IAAA,CAACtB,cAAc;UACd8B,QAAQ,EAAGgH,QAAU;UACrB1E,MAAM,EAAGA,MAAQ;UACjBE,QAAQ,EAAG,CAAC,CAAEA,QAAU;UACxB2G,MAAM,EAAGA,CAAE;YAAEC;UAAe,CAAC,KAAM;YAClC,MAAMjC,OAAO,gBACZzH,KAAA,CAAAE,SAAA;cAAAS,QAAA,gBACCb,IAAA,CAACvB,MAAM;gBACNsC,qBAAqB;gBACrBM,OAAO,EAAC,SAAS;gBACjBP,SAAS,EAAGtC,IAAI,CACf,wCAAwC,EACxC,+CACD,CAAG;gBACH6D,OAAO,EAAGuH,cAAgB;gBAAA/I,QAAA,EAExB1B,EAAE,CAAE,QAAQ,EAAE,MAAO;cAAC,CACjB,CAAC,EACPmK,wBAAwB,EACxBN,oBAAoB,CAAC,CAAC,EACtBC,yBAAyB,CAAC,CAAC,EAC3BF,gBAAgB,CAAC,CAAC;YAAA,CACnB,CACF;YACD,OAAOT,iBAAiB,CAAEX,OAAQ,CAAC;UACpC;QAAG,CACH,CAAC;MAAA,CACD,CAAC;IAEL;IAEA,IAAK3D,WAAW,EAAG;MAClB,MAAM2D,OAAO,gBACZzH,KAAA,CAAAE,SAAA;QAAAS,QAAA,GACG0H,cAAc,CAAC,CAAC,eAClBvI,IAAA,CAACtB,cAAc;UACdiL,MAAM,EAAGA,CAAE;YAAEC;UAAe,CAAC,kBAC5B5J,IAAA,CAACvB,MAAM;YACNsC,qBAAqB;YACrBsB,OAAO,EAAGuH,cAAgB;YAC1BvI,OAAO,EAAC,SAAS;YACjBP,SAAS,EAAGtC,IAAI,CACf,wCAAwC,EACxC,+CACD,CAAG;YAAAqC,QAAA,EAED1B,EAAE,CAAE,QAAQ,EAAE,MAAO;UAAC,CACjB,CACN;UACHqB,QAAQ,EAAGgH,QAAU;UACrB1E,MAAM,EAAGA,MAAQ;UACjBE,QAAQ,EAAG,CAAC,CAAEA;QAAU,CACxB,CAAC,EACAsG,wBAAwB,EACxBN,oBAAoB,CAAC,CAAC,EACtBC,yBAAyB,CAAC,CAAC,EAC3BF,gBAAgB,CAAC,CAAC;MAAA,CACnB,CACF;MACD,OAAOT,iBAAiB,CAAEX,OAAQ,CAAC;IACpC;IAEA,OAAOW,iBAAiB,CAAEgB,wBAAyB,CAAC;EACrD,CAAC;EAED,IAAKnG,mBAAmB,EAAG;IAC1B,oBAAOnD,IAAA,CAACN,gBAAgB;MAAAmB,QAAA,EAAG0H,cAAc,CAAC;IAAC,CAAoB,CAAC;EACjE;EAEA,oBACCvI,IAAA,CAACN,gBAAgB;IAChBmK,QAAQ,EAAGvB,iBAAiB,CAAEU,oBAAoB,CAAC,CAAE,CAAG;IAAAnI,QAAA,EAEtDqI,wBAAwB,CAAC;EAAC,CACX,CAAC;AAErB;;AAEA;AACA;AACA;AACA,eAAejK,WAAW,CAAE,yBAA0B,CAAC,CAAEuD,gBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
/* wp:polyfill */
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import clsx from 'clsx';
|
|
6
|
-
|
|
7
2
|
/**
|
|
8
3
|
* WordPress dependencies
|
|
9
4
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { __, _x } from '@wordpress/i18n';
|
|
12
6
|
import { speak } from '@wordpress/a11y';
|
|
13
|
-
import { FormFileUpload, NavigableMenu, MenuItem,
|
|
7
|
+
import { FormFileUpload, NavigableMenu, MenuItem, Dropdown, withFilters, ToolbarButton } from '@wordpress/components';
|
|
14
8
|
import { useSelect, withDispatch } from '@wordpress/data';
|
|
15
9
|
import { DOWN } from '@wordpress/keycodes';
|
|
16
10
|
import { postFeaturedImage, upload, media as mediaIcon } from '@wordpress/icons';
|
|
@@ -48,13 +42,12 @@ const MediaReplaceFlow = ({
|
|
|
48
42
|
multiple = false,
|
|
49
43
|
addToGallery,
|
|
50
44
|
handleUpload = true,
|
|
51
|
-
popoverProps
|
|
45
|
+
popoverProps,
|
|
46
|
+
renderToggle
|
|
52
47
|
}) => {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
const canUpload = !!mediaUpload;
|
|
57
|
-
const editMediaButtonRef = useRef();
|
|
48
|
+
const {
|
|
49
|
+
getSettings
|
|
50
|
+
} = useSelect(blockEditorStore);
|
|
58
51
|
const errorNoticeID = `block-editor/media-replace-flow/error-notice/${++uniqueId}`;
|
|
59
52
|
const onUploadError = message => {
|
|
60
53
|
const safeMessage = stripHTML(message);
|
|
@@ -93,7 +86,7 @@ const MediaReplaceFlow = ({
|
|
|
93
86
|
return onSelect(files);
|
|
94
87
|
}
|
|
95
88
|
onFilesUpload(files);
|
|
96
|
-
mediaUpload({
|
|
89
|
+
getSettings().mediaUpload({
|
|
97
90
|
allowedTypes,
|
|
98
91
|
filesList: files,
|
|
99
92
|
onFileChange: ([media]) => {
|
|
@@ -121,14 +114,24 @@ const MediaReplaceFlow = ({
|
|
|
121
114
|
renderToggle: ({
|
|
122
115
|
isOpen,
|
|
123
116
|
onToggle
|
|
124
|
-
}) =>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
117
|
+
}) => {
|
|
118
|
+
if (renderToggle) {
|
|
119
|
+
return renderToggle({
|
|
120
|
+
'aria-expanded': isOpen,
|
|
121
|
+
'aria-haspopup': 'true',
|
|
122
|
+
onClick: onToggle,
|
|
123
|
+
onKeyDown: openOnArrowDown,
|
|
124
|
+
children: name
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
return /*#__PURE__*/_jsx(ToolbarButton, {
|
|
128
|
+
"aria-expanded": isOpen,
|
|
129
|
+
"aria-haspopup": "true",
|
|
130
|
+
onClick: onToggle,
|
|
131
|
+
onKeyDown: openOnArrowDown,
|
|
132
|
+
children: name
|
|
133
|
+
});
|
|
134
|
+
},
|
|
132
135
|
renderContent: ({
|
|
133
136
|
onClose
|
|
134
137
|
}) => /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -163,7 +166,7 @@ const MediaReplaceFlow = ({
|
|
|
163
166
|
onClick: () => {
|
|
164
167
|
openFileDialog();
|
|
165
168
|
},
|
|
166
|
-
children:
|
|
169
|
+
children: _x('Upload', 'verb')
|
|
167
170
|
});
|
|
168
171
|
}
|
|
169
172
|
})]
|
|
@@ -185,9 +188,7 @@ const MediaReplaceFlow = ({
|
|
|
185
188
|
/*#__PURE__*/
|
|
186
189
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
187
190
|
_jsxs("form", {
|
|
188
|
-
className:
|
|
189
|
-
'has-siblings': canUpload || onToggleFeaturedImage
|
|
190
|
-
}),
|
|
191
|
+
className: "block-editor-media-flow__url-input",
|
|
191
192
|
children: [/*#__PURE__*/_jsx("span", {
|
|
192
193
|
className: "block-editor-media-replace-flow__image-url-label",
|
|
193
194
|
children: __('Current media URL:')
|
|
@@ -201,7 +202,6 @@ const MediaReplaceFlow = ({
|
|
|
201
202
|
url
|
|
202
203
|
}) => {
|
|
203
204
|
onSelectURL(url);
|
|
204
|
-
editMediaButtonRef.current.focus();
|
|
205
205
|
}
|
|
206
206
|
})]
|
|
207
207
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useRef","__","speak","FormFileUpload","NavigableMenu","MenuItem","ToolbarButton","Dropdown","withFilters","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","uniqueId","MediaReplaceFlow","mediaURL","mediaId","mediaIds","allowedTypes","accept","onError","onSelect","onSelectURL","onReset","onToggleFeaturedImage","useFeaturedImage","onFilesUpload","name","createNotice","removeNotice","children","multiple","addToGallery","handleUpload","popoverProps","mediaUpload","select","getSettings","canUpload","editMediaButtonRef","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","renderToggle","isOpen","onToggle","ref","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","current","focus","dispatch"],"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":["__","_x","speak","FormFileUpload","NavigableMenu","MenuItem","Dropdown","withFilters","ToolbarButton","useSelect","withDispatch","DOWN","postFeaturedImage","upload","media","mediaIcon","compose","__unstableStripHTML","stripHTML","store","noticesStore","MediaUpload","MediaUploadCheck","LinkControl","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","errorNoticeID","onUploadError","message","safeMessage","setTimeout","id","isDismissible","selectMedia","closeMenu","uploadFiles","event","files","target","mediaUpload","filesList","onFileChange","openOnArrowDown","keyCode","preventDefault","click","onlyAllowsImages","length","every","allowedType","startsWith","gallery","contentClassName","isOpen","onToggle","onClick","onKeyDown","renderContent","onClose","className","value","render","open","icon","onChange","openFileDialog","isPressed","url","settings","showSuggestions","dispatch"],"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":[]}
|
|
@@ -15,7 +15,41 @@ import { forwardRef } from '@wordpress/element';
|
|
|
15
15
|
import EditableText from '../editable-text';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
+
* Render an auto-growing textarea allow users to fill any textual content.
|
|
19
|
+
*
|
|
18
20
|
* @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```jsx
|
|
24
|
+
* import { registerBlockType } from '@wordpress/blocks';
|
|
25
|
+
* import { PlainText } from '@wordpress/block-editor';
|
|
26
|
+
*
|
|
27
|
+
* registerBlockType( 'my-plugin/example-block', {
|
|
28
|
+
* // ...
|
|
29
|
+
*
|
|
30
|
+
* attributes: {
|
|
31
|
+
* content: {
|
|
32
|
+
* type: 'string',
|
|
33
|
+
* },
|
|
34
|
+
* },
|
|
35
|
+
*
|
|
36
|
+
* edit( { className, attributes, setAttributes } ) {
|
|
37
|
+
* return (
|
|
38
|
+
* <PlainText
|
|
39
|
+
* className={ className }
|
|
40
|
+
* value={ attributes.content }
|
|
41
|
+
* onChange={ ( content ) => setAttributes( { content } ) }
|
|
42
|
+
* />
|
|
43
|
+
* );
|
|
44
|
+
* },
|
|
45
|
+
* } );
|
|
46
|
+
* ````
|
|
47
|
+
*
|
|
48
|
+
* @param {Object} props Component props.
|
|
49
|
+
* @param {string} props.value String value of the textarea.
|
|
50
|
+
* @param {Function} props.onChange Function called when the text value changes.
|
|
51
|
+
* @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.
|
|
52
|
+
* @return {Element} Plain text component
|
|
19
53
|
*/
|
|
20
54
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
55
|
const PlainText = forwardRef(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextareaAutosize","clsx","forwardRef","EditableText","jsx","_jsx","PlainText","__experimentalVersion","props","ref","className","onChange","remainingProps","event","target","value"],"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":"AAAA;AACA;AACA;AACA,OAAOA,gBAAgB,MAAM,yBAAyB;AACtD,OAAOC,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;;AAE3C;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["TextareaAutosize","clsx","forwardRef","EditableText","jsx","_jsx","PlainText","__experimentalVersion","props","ref","className","onChange","remainingProps","event","target","value"],"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":"AAAA;AACA;AACA;AACA,OAAOA,gBAAgB,MAAM,yBAAyB;AACtD,OAAOC,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;;AAE3C;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;AApCA,SAAAC,GAAA,IAAAC,IAAA;AAqCA,MAAMC,SAAS,GAAGJ,UAAU,CAAE,CAAE;EAAEK,qBAAqB;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAM;EAC7E,IAAKF,qBAAqB,KAAK,CAAC,EAAG;IAClC,oBAAOF,IAAA,CAACF,YAAY;MAACM,GAAG,EAAGA,GAAK;MAAA,GAAMD;IAAK,CAAI,CAAC;EACjD;EAEA,MAAM;IAAEE,SAAS;IAAEC,QAAQ;IAAE,GAAGC;EAAe,CAAC,GAAGJ,KAAK;EAExD,oBACCH,IAAA,CAACL,gBAAgB;IAChBS,GAAG,EAAGA,GAAK;IACXC,SAAS,EAAGT,IAAI,CAAE,yBAAyB,EAAES,SAAU,CAAG;IAC1DC,QAAQ,EAAKE,KAAK,IAAMF,QAAQ,CAAEE,KAAK,CAACC,MAAM,CAACC,KAAM,CAAG;IAAA,GACnDH;EAAc,CACnB,CAAC;AAEJ,CAAE,CAAC;AAEH,eAAeN,SAAS","ignoreList":[]}
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useDispatch } from '@wordpress/data';
|
|
5
|
-
import { useEffect } from '@wordpress/element';
|
|
5
|
+
import { useEffect, useMemo } from '@wordpress/element';
|
|
6
6
|
import { SlotFillProvider } from '@wordpress/components';
|
|
7
|
+
//eslint-disable-next-line import/no-extraneous-dependencies -- Experimental package, not published.
|
|
8
|
+
import { MediaUploadProvider, store as uploadStore } from '@wordpress/upload-media';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
* Internal dependencies
|
|
@@ -14,15 +16,62 @@ import { store as blockEditorStore } from '../../store';
|
|
|
14
16
|
import { BlockRefsProvider } from './block-refs-provider';
|
|
15
17
|
import { unlock } from '../../lock-unlock';
|
|
16
18
|
import KeyboardShortcuts from '../keyboard-shortcuts';
|
|
19
|
+
import useMediaUploadSettings from './use-media-upload-settings';
|
|
17
20
|
|
|
18
21
|
/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */
|
|
19
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
+
const noop = () => {};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Upload a media file when the file upload button is activated
|
|
27
|
+
* or when adding a file to the editor via drag & drop.
|
|
28
|
+
*
|
|
29
|
+
* @param {WPDataRegistry} registry
|
|
30
|
+
* @param {Object} $3 Parameters object passed to the function.
|
|
31
|
+
* @param {Array} $3.allowedTypes Array with the types of media that can be uploaded, if unset all types are allowed.
|
|
32
|
+
* @param {Object} $3.additionalData Additional data to include in the request.
|
|
33
|
+
* @param {Array<File>} $3.filesList List of files.
|
|
34
|
+
* @param {Function} $3.onError Function called when an error happens.
|
|
35
|
+
* @param {Function} $3.onFileChange Function called each time a file or a temporary representation of the file is available.
|
|
36
|
+
* @param {Function} $3.onSuccess Function called once a file has completely finished uploading, including thumbnails.
|
|
37
|
+
* @param {Function} $3.onBatchSuccess Function called once all files in a group have completely finished uploading, including thumbnails.
|
|
38
|
+
*/
|
|
39
|
+
function mediaUpload(registry, {
|
|
40
|
+
allowedTypes,
|
|
41
|
+
additionalData = {},
|
|
42
|
+
filesList,
|
|
43
|
+
onError = noop,
|
|
44
|
+
onFileChange,
|
|
45
|
+
onSuccess,
|
|
46
|
+
onBatchSuccess
|
|
47
|
+
}) {
|
|
48
|
+
void registry.dispatch(uploadStore).addItems({
|
|
49
|
+
files: filesList,
|
|
50
|
+
onChange: onFileChange,
|
|
51
|
+
onSuccess,
|
|
52
|
+
onBatchSuccess,
|
|
53
|
+
onError: ({
|
|
54
|
+
message
|
|
55
|
+
}) => onError(message),
|
|
56
|
+
additionalData,
|
|
57
|
+
allowedTypes
|
|
58
|
+
});
|
|
59
|
+
}
|
|
20
60
|
export const ExperimentalBlockEditorProvider = withRegistryProvider(props => {
|
|
21
61
|
const {
|
|
22
|
-
|
|
23
|
-
|
|
62
|
+
settings: _settings,
|
|
63
|
+
registry,
|
|
24
64
|
stripExperimentalSettings = false
|
|
25
65
|
} = props;
|
|
66
|
+
const mediaUploadSettings = useMediaUploadSettings(_settings);
|
|
67
|
+
let settings = _settings;
|
|
68
|
+
if (window.__experimentalMediaProcessing && _settings.mediaUpload) {
|
|
69
|
+
// Create a new variable so that the original props.settings.mediaUpload is not modified.
|
|
70
|
+
settings = useMemo(() => ({
|
|
71
|
+
..._settings,
|
|
72
|
+
mediaUpload: mediaUpload.bind(null, registry)
|
|
73
|
+
}), [_settings, registry]);
|
|
74
|
+
}
|
|
26
75
|
const {
|
|
27
76
|
__experimentalUpdateSettings
|
|
28
77
|
} = unlock(useDispatch(blockEditorStore));
|
|
@@ -38,12 +87,20 @@ export const ExperimentalBlockEditorProvider = withRegistryProvider(props => {
|
|
|
38
87
|
|
|
39
88
|
// Syncs the entity provider with changes in the block-editor store.
|
|
40
89
|
useBlockSync(props);
|
|
41
|
-
|
|
90
|
+
const children = /*#__PURE__*/_jsxs(SlotFillProvider, {
|
|
42
91
|
passthrough: true,
|
|
43
92
|
children: [!settings?.isPreviewMode && /*#__PURE__*/_jsx(KeyboardShortcuts.Register, {}), /*#__PURE__*/_jsx(BlockRefsProvider, {
|
|
44
|
-
children: children
|
|
93
|
+
children: props.children
|
|
45
94
|
})]
|
|
46
95
|
});
|
|
96
|
+
if (window.__experimentalMediaProcessing) {
|
|
97
|
+
return /*#__PURE__*/_jsx(MediaUploadProvider, {
|
|
98
|
+
settings: mediaUploadSettings,
|
|
99
|
+
useSubRegistry: false,
|
|
100
|
+
children: children
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return children;
|
|
47
104
|
});
|
|
48
105
|
export const BlockEditorProvider = props => {
|
|
49
106
|
return /*#__PURE__*/_jsx(ExperimentalBlockEditorProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","useEffect","
|
|
1
|
+
{"version":3,"names":["useDispatch","useEffect","useMemo","SlotFillProvider","MediaUploadProvider","store","uploadStore","withRegistryProvider","useBlockSync","blockEditorStore","BlockRefsProvider","unlock","KeyboardShortcuts","useMediaUploadSettings","jsx","_jsx","jsxs","_jsxs","noop","mediaUpload","registry","allowedTypes","additionalData","filesList","onError","onFileChange","onSuccess","onBatchSuccess","dispatch","addItems","files","onChange","message","ExperimentalBlockEditorProvider","props","settings","_settings","stripExperimentalSettings","mediaUploadSettings","window","__experimentalMediaProcessing","bind","__experimentalUpdateSettings","__internalIsInitialized","reset","children","passthrough","isPreviewMode","Register","useSubRegistry","BlockEditorProvider"],"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,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useMemo } from '@wordpress/element';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* React hook used to compute the media upload settings to use in the post editor.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} settings Media upload settings prop.
|
|
10
|
+
*
|
|
11
|
+
* @return {Object} Media upload settings.
|
|
12
|
+
*/
|
|
13
|
+
function useMediaUploadSettings(settings = {}) {
|
|
14
|
+
return useMemo(() => ({
|
|
15
|
+
mediaUpload: settings.mediaUpload,
|
|
16
|
+
mediaSideload: settings.mediaSideload,
|
|
17
|
+
maxUploadFileSize: settings.maxUploadFileSize,
|
|
18
|
+
allowedMimeTypes: settings.allowedMimeTypes
|
|
19
|
+
}), [settings]);
|
|
20
|
+
}
|
|
21
|
+
export default useMediaUploadSettings;
|
|
22
|
+
//# sourceMappingURL=use-media-upload-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useMediaUploadSettings","settings","mediaUpload","mediaSideload","maxUploadFileSize","allowedMimeTypes"],"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":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,QAAQ,GAAG,CAAC,CAAC,EAAG;EAChD,OAAOF,OAAO,CACb,OAAQ;IACPG,WAAW,EAAED,QAAQ,CAACC,WAAW;IACjCC,aAAa,EAAEF,QAAQ,CAACE,aAAa;IACrCC,iBAAiB,EAAEH,QAAQ,CAACG,iBAAiB;IAC7CC,gBAAgB,EAAEJ,QAAQ,CAACI;EAC5B,CAAC,CAAE,EACH,CAAEJ,QAAQ,CACX,CAAC;AACF;AAEA,eAAeD,sBAAsB","ignoreList":[]}
|
|
@@ -23,7 +23,8 @@ export default function ResolutionTool({
|
|
|
23
23
|
onChange,
|
|
24
24
|
options = DEFAULT_SIZE_OPTIONS,
|
|
25
25
|
defaultValue = DEFAULT_SIZE_OPTIONS[0].value,
|
|
26
|
-
isShownByDefault = true
|
|
26
|
+
isShownByDefault = true,
|
|
27
|
+
resetAllFilter
|
|
27
28
|
}) {
|
|
28
29
|
const displayValue = value !== null && value !== void 0 ? value : defaultValue;
|
|
29
30
|
return /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
@@ -32,6 +33,7 @@ export default function ResolutionTool({
|
|
|
32
33
|
onDeselect: () => onChange(defaultValue),
|
|
33
34
|
isShownByDefault: isShownByDefault,
|
|
34
35
|
panelId: panelId,
|
|
36
|
+
resetAllFilter: resetAllFilter,
|
|
35
37
|
children: /*#__PURE__*/_jsx(SelectControl, {
|
|
36
38
|
__nextHasNoMarginBottom: true,
|
|
37
39
|
label: __('Resolution'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SelectControl","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","jsx","_jsx","DEFAULT_SIZE_OPTIONS","label","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","displayValue","hasValue","onDeselect","children","__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":"AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,MAAMC,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAEJ,EAAE,CAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEK,KAAK,EAAE;AACR,CAAC,CACD;AAED,eAAe,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGN,oBAAoB;EAC9BO,YAAY,GAAGP,oBAAoB,CAAE,CAAC,CAAE,CAACE,KAAK;EAC9CM,gBAAgB,GAAG;
|
|
1
|
+
{"version":3,"names":["SelectControl","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","jsx","_jsx","DEFAULT_SIZE_OPTIONS","label","value","ResolutionTool","panelId","onChange","options","defaultValue","isShownByDefault","resetAllFilter","displayValue","hasValue","onDeselect","children","__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":"AAAA;AACA;AACA;AACA,SACCA,aAAa,EACbC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,MAAMC,oBAAoB,GAAG,CAC5B;EACCC,KAAK,EAAEJ,EAAE,CAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,QAAQ,EAAE,0CAA2C,CAAC;EACjEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,OAAO,EAAE,0CAA2C,CAAC;EAChEK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,WAAW,EAAE,0CAA2C,CAAC;EACpEK,KAAK,EAAE;AACR,CAAC,CACD;AAED,eAAe,SAASC,cAAcA,CAAE;EACvCC,OAAO;EACPF,KAAK;EACLG,QAAQ;EACRC,OAAO,GAAGN,oBAAoB;EAC9BO,YAAY,GAAGP,oBAAoB,CAAE,CAAC,CAAE,CAACE,KAAK;EAC9CM,gBAAgB,GAAG,IAAI;EACvBC;AACD,CAAC,EAAG;EACH,MAAMC,YAAY,GAAGR,KAAK,aAALA,KAAK,cAALA,KAAK,GAAIK,YAAY;EAC1C,oBACCR,IAAA,CAACJ,cAAc;IACdgB,QAAQ,EAAGA,CAAA,KAAMD,YAAY,KAAKH,YAAc;IAChDN,KAAK,EAAGL,EAAE,CAAE,YAAa,CAAG;IAC5BgB,UAAU,EAAGA,CAAA,KAAMP,QAAQ,CAAEE,YAAa,CAAG;IAC7CC,gBAAgB,EAAGA,gBAAkB;IACrCJ,OAAO,EAAGA,OAAS;IACnBK,cAAc,EAAGA,cAAgB;IAAAI,QAAA,eAEjCd,IAAA,CAACN,aAAa;MACbqB,uBAAuB;MACvBb,KAAK,EAAGL,EAAE,CAAE,YAAa,CAAG;MAC5BM,KAAK,EAAGQ,YAAc;MACtBJ,OAAO,EAAGA,OAAS;MACnBD,QAAQ,EAAGA,QAAU;MACrBU,IAAI,EAAGnB,EAAE,CAAE,sCAAuC,CAAG;MACrDoB,IAAI,EAAC;IAAkB,CACvB;EAAC,CACa,CAAC;AAEnB","ignoreList":[]}
|
|
@@ -45,7 +45,7 @@ function ResponsiveBlockControl(props) {
|
|
|
45
45
|
}
|
|
46
46
|
const toggleControlLabel = toggleLabel || sprintf(/* translators: %s: Property value for the control (eg: margin, padding, etc.). */
|
|
47
47
|
__('Use the same %s on all screen sizes.'), property);
|
|
48
|
-
const toggleHelpText = __('
|
|
48
|
+
const toggleHelpText = __('Choose whether to use the same value for all screen sizes or a unique value for each screen size.');
|
|
49
49
|
const defaultControl = renderDefaultControl(/*#__PURE__*/_jsx(ResponsiveBlockControlLabel, {
|
|
50
50
|
property: property,
|
|
51
51
|
viewport: defaultLabel
|