@wordpress/block-library 9.27.1-next.46f643fa0.0 → 9.28.1-next.0f6f9d12c.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/build/accordion-header/edit.js +118 -0
- package/build/accordion-header/edit.js.map +1 -0
- package/build/accordion-header/index.js +124 -0
- package/build/accordion-header/index.js.map +1 -0
- package/build/accordion-header/init.js +12 -0
- package/build/accordion-header/init.js.map +1 -0
- package/build/accordion-header/save.js +81 -0
- package/build/accordion-header/save.js.map +1 -0
- package/build/accordion-item/edit.js +129 -0
- package/build/accordion-item/edit.js.map +1 -0
- package/build/accordion-item/icons.js +30 -0
- package/build/accordion-item/icons.js.map +1 -0
- package/build/accordion-item/index.js +79 -0
- package/build/accordion-item/index.js.map +1 -0
- package/build/accordion-item/init.js +12 -0
- package/build/accordion-item/init.js.map +1 -0
- package/build/accordion-item/save.js +37 -0
- package/build/accordion-item/save.js.map +1 -0
- package/build/accordion-panel/edit.js +59 -0
- package/build/accordion-panel/edit.js.map +1 -0
- package/build/accordion-panel/index.js +108 -0
- package/build/accordion-panel/index.js.map +1 -0
- package/build/accordion-panel/init.js +12 -0
- package/build/accordion-panel/init.js.map +1 -0
- package/build/accordion-panel/save.js +46 -0
- package/build/accordion-panel/save.js.map +1 -0
- package/build/accordions/edit.js +123 -0
- package/build/accordions/edit.js.map +1 -0
- package/build/accordions/index.js +103 -0
- package/build/accordions/index.js.map +1 -0
- package/build/accordions/init.js +12 -0
- package/build/accordions/init.js.map +1 -0
- package/build/accordions/save.js +36 -0
- package/build/accordions/save.js.map +1 -0
- package/build/accordions/view.js +49 -0
- package/build/accordions/view.js.map +1 -0
- package/build/cover/edit/index.js +1 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/index.js +2 -1
- package/build/cover/index.js.map +1 -1
- package/build/file/edit.js +4 -2
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/transforms.js +6 -6
- package/build/file/transforms.js.map +1 -1
- package/build/file/utils/index.js +5 -0
- package/build/file/utils/index.js.map +1 -1
- package/build/freeform/edit.js +6 -0
- package/build/freeform/edit.js.map +1 -1
- package/build/gallery/use-get-media.js +3 -3
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +3 -3
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/image/edit.native.js +2 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +1 -1
- package/build/image/image.js.map +1 -1
- package/build/index.js +10 -0
- package/build/index.js.map +1 -1
- package/build/list-item/edit.js +3 -0
- package/build/list-item/edit.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +2 -1
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/transforms.js +7 -3
- package/build/media-text/transforms.js.map +1 -1
- package/build/more/edit.js +13 -28
- package/build/more/edit.js.map +1 -1
- package/build/post-comments-count/index.js +3 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-link/index.js +3 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/query-title/edit.js +52 -2
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +1 -0
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/use-post-type-label.js +42 -0
- package/build/query-title/use-post-type-label.js.map +1 -0
- package/build/query-title/variations.js +10 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/site-logo/edit.js +58 -43
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/edit.js +9 -3
- package/build/site-title/edit.js.map +1 -1
- package/build/social-link/icons/tiktok.js +2 -2
- package/build/social-link/icons/tiktok.js.map +1 -1
- package/build/utils/poster-image.js +54 -6
- package/build/utils/poster-image.js.map +1 -1
- package/build-module/accordion-header/edit.js +108 -0
- package/build-module/accordion-header/edit.js.map +1 -0
- package/build-module/accordion-header/index.js +116 -0
- package/build-module/accordion-header/index.js.map +1 -0
- package/build-module/accordion-header/init.js +6 -0
- package/build-module/accordion-header/init.js.map +1 -0
- package/build-module/accordion-header/save.js +71 -0
- package/build-module/accordion-header/save.js.map +1 -0
- package/build-module/accordion-item/edit.js +120 -0
- package/build-module/accordion-item/edit.js.map +1 -0
- package/build-module/accordion-item/icons.js +22 -0
- package/build-module/accordion-item/icons.js.map +1 -0
- package/build-module/accordion-item/index.js +71 -0
- package/build-module/accordion-item/index.js.map +1 -0
- package/build-module/accordion-item/init.js +6 -0
- package/build-module/accordion-item/init.js.map +1 -0
- package/build-module/accordion-item/save.js +28 -0
- package/build-module/accordion-item/save.js.map +1 -0
- package/build-module/accordion-panel/edit.js +50 -0
- package/build-module/accordion-panel/edit.js.map +1 -0
- package/build-module/accordion-panel/index.js +100 -0
- package/build-module/accordion-panel/index.js.map +1 -0
- package/build-module/accordion-panel/init.js +6 -0
- package/build-module/accordion-panel/init.js.map +1 -0
- package/build-module/accordion-panel/save.js +37 -0
- package/build-module/accordion-panel/save.js.map +1 -0
- package/build-module/accordions/edit.js +116 -0
- package/build-module/accordions/edit.js.map +1 -0
- package/build-module/accordions/index.js +95 -0
- package/build-module/accordions/index.js.map +1 -0
- package/build-module/accordions/init.js +6 -0
- package/build-module/accordions/init.js.map +1 -0
- package/build-module/accordions/save.js +27 -0
- package/build-module/accordions/save.js.map +1 -0
- package/build-module/accordions/view.js +46 -0
- package/build-module/accordions/view.js.map +1 -0
- package/build-module/cover/edit/index.js +1 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/index.js +2 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/file/edit.js +4 -2
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/transforms.js +6 -6
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/file/utils/index.js +5 -0
- package/build-module/file/utils/index.js.map +1 -1
- package/build-module/freeform/edit.js +6 -0
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/gallery/use-get-media.js +3 -3
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +3 -3
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +1 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +10 -0
- package/build-module/index.js.map +1 -1
- package/build-module/list-item/edit.js +3 -0
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +2 -1
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/transforms.js +7 -3
- package/build-module/media-text/transforms.js.map +1 -1
- package/build-module/more/edit.js +15 -29
- package/build-module/more/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +3 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +3 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/query-title/edit.js +52 -2
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +1 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/use-post-type-label.js +36 -0
- package/build-module/query-title/use-post-type-label.js.map +1 -0
- package/build-module/query-title/variations.js +10 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/site-logo/edit.js +59 -44
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/edit.js +10 -4
- package/build-module/site-title/edit.js.map +1 -1
- package/build-module/social-link/icons/tiktok.js +2 -2
- package/build-module/social-link/icons/tiktok.js.map +1 -1
- package/build-module/utils/poster-image.js +57 -9
- package/build-module/utils/poster-image.js.map +1 -1
- package/build-style/accordions/style-rtl.css +223 -0
- package/build-style/accordions/style.css +223 -0
- package/build-style/editor-rtl.css +23 -26
- package/build-style/editor.css +23 -26
- package/build-style/gallery/style-rtl.css +1 -2
- package/build-style/gallery/style.css +1 -2
- package/build-style/image/style-rtl.css +1 -2
- package/build-style/image/style.css +1 -2
- package/build-style/more/editor-rtl.css +3 -11
- package/build-style/more/editor.css +3 -11
- package/build-style/post-featured-image/editor-rtl.css +1 -2
- package/build-style/post-featured-image/editor.css +1 -2
- package/build-style/style-rtl.css +90 -4
- package/build-style/style.css +90 -4
- package/package.json +36 -35
- package/src/accordion-header/block.json +93 -0
- package/src/accordion-header/edit.js +128 -0
- package/src/accordion-header/index.js +24 -0
- package/src/accordion-header/init.js +6 -0
- package/src/accordion-header/save.js +79 -0
- package/src/accordion-item/block.json +45 -0
- package/src/accordion-item/edit.js +149 -0
- package/src/accordion-item/icons.js +23 -0
- package/src/accordion-item/index.js +24 -0
- package/src/accordion-item/index.php +73 -0
- package/src/accordion-item/init.js +6 -0
- package/src/accordion-item/save.js +25 -0
- package/src/accordion-panel/block.json +74 -0
- package/src/accordion-panel/edit.js +61 -0
- package/src/accordion-panel/index.js +24 -0
- package/src/accordion-panel/init.js +6 -0
- package/src/accordion-panel/save.js +51 -0
- package/src/accordions/block.json +69 -0
- package/src/accordions/edit.js +133 -0
- package/src/accordions/index.js +24 -0
- package/src/accordions/index.php +61 -0
- package/src/accordions/init.js +6 -0
- package/src/accordions/save.js +23 -0
- package/src/accordions/style.scss +91 -0
- package/src/accordions/view.js +38 -0
- package/src/block/index.php +35 -20
- package/src/cover/block.json +2 -1
- package/src/cover/edit/index.js +8 -3
- package/src/cover/edit/inspector-controls.js +6 -1
- package/src/file/edit.js +9 -4
- package/src/file/edit.native.js +5 -1
- package/src/file/index.php +28 -22
- package/src/file/transforms.js +6 -6
- package/src/file/utils/index.js +5 -0
- package/src/form-input/index.php +4 -2
- package/src/freeform/edit.js +7 -0
- package/src/gallery/use-get-media.js +9 -5
- package/src/gallery/use-get-media.native.js +10 -6
- package/src/image/edit.native.js +4 -2
- package/src/image/image.js +6 -1
- package/src/image/index.php +1 -1
- package/src/image/test/edit.native.js +16 -10
- package/src/index.js +12 -0
- package/src/list-item/edit.js +3 -0
- package/src/loginout/index.php +4 -2
- package/src/media-text/edit.js +16 -6
- package/src/media-text/media-container.js +1 -0
- package/src/media-text/transforms.js +5 -1
- package/src/more/edit.js +27 -33
- package/src/more/editor.scss +3 -12
- package/src/post-comments-count/block.json +3 -0
- package/src/post-comments-link/block.json +3 -0
- package/src/post-date/index.php +28 -32
- package/src/post-excerpt/index.php +16 -12
- package/src/post-featured-image/edit.js +2 -2
- package/src/query-title/block.json +1 -0
- package/src/query-title/edit.js +58 -1
- package/src/query-title/index.php +30 -5
- package/src/query-title/use-post-type-label.js +34 -0
- package/src/query-title/variations.js +13 -0
- package/src/site-logo/edit.js +44 -16
- package/src/site-title/edit.js +24 -16
- package/src/social-link/icons/tiktok.js +2 -2
- package/src/social-link/index.php +1 -1
- package/src/style.scss +1 -0
- package/src/utils/poster-image.js +62 -17
- package/src/utils/poster-image.scss +23 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","jsx","_jsx","jsxs","_jsxs","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","isEmpty","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","children","onClick","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","onChange","options","hideCancelButton","checked","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","accessible","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","labels","instructions","onSelect","onFocus","allowedTypes","autoOpenMediaUpload","isReplacingMedia","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","undefined","dispatch","openGeneralSidebar"],"sources":["@wordpress/block-library/src/file/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit file' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\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<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'Choose a file' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","jsx","_jsx","jsxs","_jsxs","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","isEmpty","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","children","onClick","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","onChange","options","hideCancelButton","checked","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","accessible","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","labels","instructions","onSelect","onFocus","allowedTypes","autoOpenMediaUpload","isReplacingMedia","select","clientId","isEditorSidebarOpened","isNotFileHref","getEntityRecord","undefined","dispatch","openGeneralSidebar"],"sources":["@wordpress/block-library/src/file/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( RichText.isEmpty( downloadButtonText ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit file' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\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<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'Choose a file' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\tid\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -89,9 +89,9 @@ const transforms = {
|
|
|
89
89
|
return false;
|
|
90
90
|
}
|
|
91
91
|
const {
|
|
92
|
-
|
|
92
|
+
getEntityRecord
|
|
93
93
|
} = select(coreStore);
|
|
94
|
-
const media =
|
|
94
|
+
const media = getEntityRecord('postType', 'attachment', id);
|
|
95
95
|
return !!media && media.mime_type.includes('audio');
|
|
96
96
|
},
|
|
97
97
|
transform: attributes => {
|
|
@@ -112,9 +112,9 @@ const transforms = {
|
|
|
112
112
|
return false;
|
|
113
113
|
}
|
|
114
114
|
const {
|
|
115
|
-
|
|
115
|
+
getEntityRecord
|
|
116
116
|
} = select(coreStore);
|
|
117
|
-
const media =
|
|
117
|
+
const media = getEntityRecord('postType', 'attachment', id);
|
|
118
118
|
return !!media && media.mime_type.includes('video');
|
|
119
119
|
},
|
|
120
120
|
transform: attributes => {
|
|
@@ -135,9 +135,9 @@ const transforms = {
|
|
|
135
135
|
return false;
|
|
136
136
|
}
|
|
137
137
|
const {
|
|
138
|
-
|
|
138
|
+
getEntityRecord
|
|
139
139
|
} = select(coreStore);
|
|
140
|
-
const media =
|
|
140
|
+
const media = getEntityRecord('postType', 'attachment', id);
|
|
141
141
|
return !!media && media.mime_type.includes('image');
|
|
142
142
|
},
|
|
143
143
|
transform: attributes => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlobURL","createBlock","select","store","coreStore","getFilename","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","startsWith","push","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","to","
|
|
1
|
+
{"version":3,"names":["createBlobURL","createBlock","select","store","coreStore","getFilename","transforms","from","type","isMatch","files","length","priority","transform","blocks","forEach","file","blobURL","startsWith","push","blob","fileName","name","attributes","href","src","caption","textLinkHref","id","anchor","url","to","getEntityRecord","media","mime_type","includes"],"sources":["@wordpress/block-library/src/file/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\nimport { select } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { getFilename } from '@wordpress/url';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn files.length > 0;\n\t\t\t},\n\t\t\t// We define a lower priority (higher number) than the default of 10. This\n\t\t\t// ensures that the File block is only created as a fallback.\n\t\t\tpriority: 15,\n\t\t\ttransform: ( files ) => {\n\t\t\t\tconst blocks = [];\n\n\t\t\t\tfiles.forEach( ( file ) => {\n\t\t\t\t\tconst blobURL = createBlobURL( file );\n\n\t\t\t\t\t// File will be uploaded in componentDidMount()\n\t\t\t\t\tif ( file.type.startsWith( 'video/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( file.type.startsWith( 'image/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( file.type.startsWith( 'audio/' ) ) {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/audio', {\n\t\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblocks.push(\n\t\t\t\t\t\t\tcreateBlock( 'core/file', {\n\t\t\t\t\t\t\t\tblob: blobURL,\n\t\t\t\t\t\t\t\tfileName: file.name,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn blocks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.src,\n\t\t\t\t\tfileName: attributes.caption,\n\t\t\t\t\ttextLinkHref: attributes.src,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/file', {\n\t\t\t\t\thref: attributes.url,\n\t\t\t\t\tfileName:\n\t\t\t\t\t\tattributes.caption || getFilename( attributes.url ),\n\t\t\t\t\ttextLinkHref: attributes.url,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/audio' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'audio' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/audio', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'video' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\tsrc: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\t\tconst media = getEntityRecord( 'postType', 'attachment', id );\n\t\t\t\treturn !! media && media.mime_type.includes( 'image' );\n\t\t\t},\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl: attributes.href,\n\t\t\t\t\tcaption: attributes.fileName,\n\t\t\t\t\tid: attributes.id,\n\t\t\t\t\tanchor: attributes.anchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
* @return {boolean} Whether or not the browser supports inline PDFs.
|
|
6
6
|
*/
|
|
7
7
|
export const browserSupportsPdfs = () => {
|
|
8
|
+
// Use native feature detection if available.
|
|
9
|
+
if (window.navigator.pdfViewerEnabled) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
// Most mobile devices include "Mobi" in their UA.
|
|
9
14
|
if (window.navigator.userAgent.indexOf('Mobi') > -1) {
|
|
10
15
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["browserSupportsPdfs","window","navigator","userAgent","indexOf","maxTouchPoints","ActiveXObject","createActiveXObject","type","ax","e","undefined"],"sources":["@wordpress/block-library/src/file/utils/index.js"],"sourcesContent":["/**\n * Uses a combination of user agent matching and feature detection to determine whether\n * the current browser supports rendering PDFs inline.\n *\n * @return {boolean} Whether or not the browser supports inline PDFs.\n */\nexport const browserSupportsPdfs = () => {\n\t// Most mobile devices include \"Mobi\" in their UA.\n\tif ( window.navigator.userAgent.indexOf( 'Mobi' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// Android tablets are the notable exception.\n\tif ( window.navigator.userAgent.indexOf( 'Android' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// iPad pretends to be a Mac.\n\tif (\n\t\twindow.navigator.userAgent.indexOf( 'Macintosh' ) > -1 &&\n\t\twindow.navigator.maxTouchPoints &&\n\t\twindow.navigator.maxTouchPoints > 2\n\t) {\n\t\treturn false;\n\t}\n\n\t// IE only supports PDFs when there's an ActiveX object available for it.\n\tif (\n\t\t!! ( window.ActiveXObject || 'ActiveXObject' in window ) &&\n\t\t! (\n\t\t\tcreateActiveXObject( 'AcroPDF.PDF' ) ||\n\t\t\tcreateActiveXObject( 'PDF.PdfCtrl' )\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Helper function for creating ActiveX objects, catching any errors that are thrown\n * when it's generated.\n *\n * @param {string} type The name of the ActiveX object to create.\n * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed.\n */\nconst createActiveXObject = ( type ) => {\n\tlet ax;\n\ttry {\n\t\tax = new window.ActiveXObject( type );\n\t} catch ( e ) {\n\t\tax = undefined;\n\t}\n\treturn ax;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAGA,CAAA,KAAM;EACxC;EACA,IAAKC,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,MAAO,CAAC,GAAG,CAAC,CAAC,EAAG;IACxD,OAAO,KAAK;EACb;;EAEA;EACA,
|
|
1
|
+
{"version":3,"names":["browserSupportsPdfs","window","navigator","pdfViewerEnabled","userAgent","indexOf","maxTouchPoints","ActiveXObject","createActiveXObject","type","ax","e","undefined"],"sources":["@wordpress/block-library/src/file/utils/index.js"],"sourcesContent":["/**\n * Uses a combination of user agent matching and feature detection to determine whether\n * the current browser supports rendering PDFs inline.\n *\n * @return {boolean} Whether or not the browser supports inline PDFs.\n */\nexport const browserSupportsPdfs = () => {\n\t// Use native feature detection if available.\n\tif ( window.navigator.pdfViewerEnabled ) {\n\t\treturn true;\n\t}\n\n\t// Most mobile devices include \"Mobi\" in their UA.\n\tif ( window.navigator.userAgent.indexOf( 'Mobi' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// Android tablets are the notable exception.\n\tif ( window.navigator.userAgent.indexOf( 'Android' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// iPad pretends to be a Mac.\n\tif (\n\t\twindow.navigator.userAgent.indexOf( 'Macintosh' ) > -1 &&\n\t\twindow.navigator.maxTouchPoints &&\n\t\twindow.navigator.maxTouchPoints > 2\n\t) {\n\t\treturn false;\n\t}\n\n\t// IE only supports PDFs when there's an ActiveX object available for it.\n\tif (\n\t\t!! ( window.ActiveXObject || 'ActiveXObject' in window ) &&\n\t\t! (\n\t\t\tcreateActiveXObject( 'AcroPDF.PDF' ) ||\n\t\t\tcreateActiveXObject( 'PDF.PdfCtrl' )\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Helper function for creating ActiveX objects, catching any errors that are thrown\n * when it's generated.\n *\n * @param {string} type The name of the ActiveX object to create.\n * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed.\n */\nconst createActiveXObject = ( type ) => {\n\tlet ax;\n\ttry {\n\t\tax = new window.ActiveXObject( type );\n\t} catch ( e ) {\n\t\tax = undefined;\n\t}\n\treturn ax;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAGA,CAAA,KAAM;EACxC;EACA,IAAKC,MAAM,CAACC,SAAS,CAACC,gBAAgB,EAAG;IACxC,OAAO,IAAI;EACZ;;EAEA;EACA,IAAKF,MAAM,CAACC,SAAS,CAACE,SAAS,CAACC,OAAO,CAAE,MAAO,CAAC,GAAG,CAAC,CAAC,EAAG;IACxD,OAAO,KAAK;EACb;;EAEA;EACA,IAAKJ,MAAM,CAACC,SAAS,CAACE,SAAS,CAACC,OAAO,CAAE,SAAU,CAAC,GAAG,CAAC,CAAC,EAAG;IAC3D,OAAO,KAAK;EACb;;EAEA;EACA,IACCJ,MAAM,CAACC,SAAS,CAACE,SAAS,CAACC,OAAO,CAAE,WAAY,CAAC,GAAG,CAAC,CAAC,IACtDJ,MAAM,CAACC,SAAS,CAACI,cAAc,IAC/BL,MAAM,CAACC,SAAS,CAACI,cAAc,GAAG,CAAC,EAClC;IACD,OAAO,KAAK;EACb;;EAEA;EACA,IACC,CAAC,EAAIL,MAAM,CAACM,aAAa,IAAI,eAAe,IAAIN,MAAM,CAAE,IACxD,EACCO,mBAAmB,CAAE,aAAc,CAAC,IACpCA,mBAAmB,CAAE,aAAc,CAAC,CACpC,EACA;IACD,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,mBAAmB,GAAKC,IAAI,IAAM;EACvC,IAAIC,EAAE;EACN,IAAI;IACHA,EAAE,GAAG,IAAIT,MAAM,CAACM,aAAa,CAAEE,IAAK,CAAC;EACtC,CAAC,CAAC,OAAQE,CAAC,EAAG;IACbD,EAAE,GAAGE,SAAS;EACf;EACA,OAAOF,EAAE;AACV,CAAC","ignoreList":[]}
|
|
@@ -166,6 +166,12 @@ function ClassicEdit({
|
|
|
166
166
|
event.stopPropagation();
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
|
+
editor.on('paste', event => {
|
|
170
|
+
// TinyMCE selection isn’t synced with the block editor selection store.
|
|
171
|
+
// This event handler prevents paste from bubbling so the useClipboardHandler
|
|
172
|
+
// won’t replace the block.
|
|
173
|
+
event.stopPropagation();
|
|
174
|
+
});
|
|
169
175
|
editor.on('init', () => {
|
|
170
176
|
const rootNode = editor.getBody();
|
|
171
177
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useRefEffect","useSelect","ToolbarGroup","useEffect","useRef","useState","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","ModalEdit","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","children","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMountRef","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMountRef = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMountRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMountRef.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMountRef.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useRefEffect","useSelect","ToolbarGroup","useEffect","useRef","useState","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","ModalEdit","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","children","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMountRef","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent","id","className","onClick","onKeyDown"],"sources":["@wordpress/block-library/src/freeform/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMountRef = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMountRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( ! editor ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentContent = editor.getContent();\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ clientId, content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMountRef.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'paste', ( event ) => {\n\t\t\t\t// TinyMCE selection isn’t synced with the block editor selection store.\n\t\t\t\t// This event handler prevents paste from bubbling so the useClipboardHandler\n\t\t\t\t// won’t replace the block.\n\t\t\t\tevent.stopPropagation();\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t\tdidMountRef.current = false;\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,16 +15,16 @@ const EMPTY_IMAGE_MEDIA = [];
|
|
|
15
15
|
*/
|
|
16
16
|
export default function useGetMedia(innerBlockImages) {
|
|
17
17
|
return useSelect(select => {
|
|
18
|
-
var _select$
|
|
18
|
+
var _select$getEntityReco;
|
|
19
19
|
const imageIds = innerBlockImages.map(imageBlock => imageBlock.attributes.id).filter(id => id !== undefined);
|
|
20
20
|
if (imageIds.length === 0) {
|
|
21
21
|
return EMPTY_IMAGE_MEDIA;
|
|
22
22
|
}
|
|
23
|
-
return (_select$
|
|
23
|
+
return (_select$getEntityReco = select(coreStore).getEntityRecords('postType', 'attachment', {
|
|
24
24
|
include: imageIds.join(','),
|
|
25
25
|
per_page: -1,
|
|
26
26
|
orderby: 'include'
|
|
27
|
-
})) !== null && _select$
|
|
27
|
+
})) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : EMPTY_IMAGE_MEDIA;
|
|
28
28
|
}, [innerBlockImages]);
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=use-get-media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","_select$
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","_select$getEntityReco","imageIds","map","imageBlock","attributes","id","filter","undefined","length","getEntityRecords","include","join","per_page","orderby"],"sources":["@wordpress/block-library/src/gallery/use-get-media.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id )\n\t\t\t\t.filter( ( id ) => id !== undefined );\n\n\t\t\tif ( imageIds.length === 0 ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'attachment',\n\t\t\t\t\t{\n\t\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\torderby: 'include',\n\t\t\t\t\t}\n\t\t\t\t) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AAEzD,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,WAAWA,CAAEC,gBAAgB,EAAG;EACvD,OAAOL,SAAS,CACbM,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACb,MAAMC,QAAQ,GAAGH,gBAAgB,CAC/BI,GAAG,CAAIC,UAAU,IAAMA,UAAU,CAACC,UAAU,CAACC,EAAG,CAAC,CACjDC,MAAM,CAAID,EAAE,IAAMA,EAAE,KAAKE,SAAU,CAAC;IAEtC,IAAKN,QAAQ,CAACO,MAAM,KAAK,CAAC,EAAG;MAC5B,OAAOZ,iBAAiB;IACzB;IAEA,QAAAI,qBAAA,GACCD,MAAM,CAAEJ,SAAU,CAAC,CAACc,gBAAgB,CACnC,UAAU,EACV,YAAY,EACZ;MACCC,OAAO,EAAET,QAAQ,CAACU,IAAI,CAAE,GAAI,CAAC;MAC7BC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE;IACV,CACD,CAAC,cAAAb,qBAAA,cAAAA,qBAAA,GAAIJ,iBAAiB;EAExB,CAAC,EACD,CAAEE,gBAAgB,CACnB,CAAC;AACF","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ const EMPTY_IMAGE_MEDIA = [];
|
|
|
15
15
|
*/
|
|
16
16
|
export default function useGetMedia(innerBlockImages = []) {
|
|
17
17
|
return useSelect(select => {
|
|
18
|
-
var _select$
|
|
18
|
+
var _select$getEntityReco;
|
|
19
19
|
const imagesUploading = innerBlockImages.some(({
|
|
20
20
|
attributes
|
|
21
21
|
}) => attributes?.url?.indexOf('file:') === 0);
|
|
@@ -31,11 +31,11 @@ export default function useGetMedia(innerBlockImages = []) {
|
|
|
31
31
|
if (imageIds.length === 0 || imagesUploading) {
|
|
32
32
|
return EMPTY_IMAGE_MEDIA;
|
|
33
33
|
}
|
|
34
|
-
return (_select$
|
|
34
|
+
return (_select$getEntityReco = select(coreStore).getEntityRecords('postType', 'attachment', {
|
|
35
35
|
include: imageIds.join(','),
|
|
36
36
|
per_page: imageIds.length /* 'hard' limit necessary as unbounded queries aren't supported on native */,
|
|
37
37
|
orderby: 'include'
|
|
38
|
-
})) !== null && _select$
|
|
38
|
+
})) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : EMPTY_IMAGE_MEDIA;
|
|
39
39
|
}, [innerBlockImages]);
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=use-get-media.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","_select$
|
|
1
|
+
{"version":3,"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","_select$getEntityReco","imagesUploading","some","attributes","url","indexOf","imageIds","filter","id","undefined","map","imageBlock","length","getEntityRecords","include","join","per_page","orderby"],"sources":["@wordpress/block-library/src/gallery/use-get-media.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages = [] ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imagesUploading = innerBlockImages.some(\n\t\t\t\t( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0\n\t\t\t);\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.filter( ( { attributes } ) => {\n\t\t\t\t\tconst { id, url } = attributes;\n\t\t\t\t\treturn id !== undefined && url?.indexOf( 'file:' ) !== 0;\n\t\t\t\t} )\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id );\n\n\t\t\tif ( imageIds.length === 0 || imagesUploading ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'attachment',\n\t\t\t\t\t{\n\t\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\t\tper_page:\n\t\t\t\t\t\t\timageIds.length /* 'hard' limit necessary as unbounded queries aren't supported on native */,\n\t\t\t\t\t\torderby: 'include',\n\t\t\t\t\t}\n\t\t\t\t) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AAEzD,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,WAAWA,CAAEC,gBAAgB,GAAG,EAAE,EAAG;EAC5D,OAAOL,SAAS,CACbM,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACb,MAAMC,eAAe,GAAGH,gBAAgB,CAACI,IAAI,CAC5C,CAAE;MAAEC;IAAW,CAAC,KAAMA,UAAU,EAAEC,GAAG,EAAEC,OAAO,CAAE,OAAQ,CAAC,KAAK,CAC/D,CAAC;IACD,MAAMC,QAAQ,GAAGR,gBAAgB,CAC/BS,MAAM,CAAE,CAAE;MAAEJ;IAAW,CAAC,KAAM;MAC9B,MAAM;QAAEK,EAAE;QAAEJ;MAAI,CAAC,GAAGD,UAAU;MAC9B,OAAOK,EAAE,KAAKC,SAAS,IAAIL,GAAG,EAAEC,OAAO,CAAE,OAAQ,CAAC,KAAK,CAAC;IACzD,CAAE,CAAC,CACFK,GAAG,CAAIC,UAAU,IAAMA,UAAU,CAACR,UAAU,CAACK,EAAG,CAAC;IAEnD,IAAKF,QAAQ,CAACM,MAAM,KAAK,CAAC,IAAIX,eAAe,EAAG;MAC/C,OAAOL,iBAAiB;IACzB;IAEA,QAAAI,qBAAA,GACCD,MAAM,CAAEJ,SAAU,CAAC,CAACkB,gBAAgB,CACnC,UAAU,EACV,YAAY,EACZ;MACCC,OAAO,EAAER,QAAQ,CAACS,IAAI,CAAE,GAAI,CAAC;MAC7BC,QAAQ,EACPV,QAAQ,CAACM,MAAM,CAAC;MACjBK,OAAO,EAAE;IACV,CACD,CAAC,cAAAjB,qBAAA,cAAAA,qBAAA,GAAIJ,iBAAiB;EAExB,CAAC,EACD,CAAEE,gBAAgB,CACnB,CAAC;AACF","ignoreList":[]}
|
|
@@ -754,7 +754,7 @@ export class ImageEdit extends Component {
|
|
|
754
754
|
}
|
|
755
755
|
export default compose([withSelect((select, props) => {
|
|
756
756
|
const {
|
|
757
|
-
|
|
757
|
+
getEntityRecord
|
|
758
758
|
} = select(coreStore);
|
|
759
759
|
const {
|
|
760
760
|
getSettings,
|
|
@@ -782,7 +782,7 @@ export default compose([withSelect((select, props) => {
|
|
|
782
782
|
// Edge case to update the image after uploading if the block gets unselected
|
|
783
783
|
// Check if it's the original image and not the resized one with queryparams.
|
|
784
784
|
!isSelected && isNotFileUrl && url && !hasQueryArg(url, 'w');
|
|
785
|
-
const image = shouldGetMedia ?
|
|
785
|
+
const image = shouldGetMedia ? getEntityRecord('postType', 'attachment', id) : null;
|
|
786
786
|
return {
|
|
787
787
|
image,
|
|
788
788
|
imageSizes,
|