UNPKG

9.7 kBSource Map (JSON)View Raw
1{"version":3,"sources":["@wordpress/block-library/src/embed/settings.js"],"names":["getEmbedEditComponent","classnames","__","compose","RichText","withSelect","withDispatch","embedAttributes","url","type","caption","source","selector","providerNameSlug","allowResponsive","default","getEmbedBlockSettings","title","description","icon","category","transforms","keywords","supports","responsive","blockDescription","edit","attributes","align","select","ownProps","core","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","preview","undefined","previewIsFallback","fetching","themeSupports","badEmbedProvider","html","wordpressCantEmbed","data","status","validPreview","cannotEmbed","themeSupportsResponsive","dispatch","coreData","tryAgain","invalidateResolution","save","embedClassName","isEmpty","deprecated"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport { getEmbedEditComponent } from './edit';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { RichText } from '@wordpress/block-editor';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\nconst embedAttributes = {\n\turl: {\n\t\ttype: 'string',\n\t},\n\tcaption: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'figcaption',\n\t},\n\ttype: {\n\t\ttype: 'string',\n\t},\n\tproviderNameSlug: {\n\t\ttype: 'string',\n\t},\n\tallowResponsive: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport function getEmbedBlockSettings( { title, description, icon, category = 'embed', transforms, keywords = [], supports = {}, responsive = true } ) {\n\tconst blockDescription = description || __( 'Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.' );\n\tconst edit = getEmbedEditComponent( title, icon, responsive );\n\treturn {\n\t\ttitle,\n\t\tdescription: blockDescription,\n\t\ticon,\n\t\tcategory,\n\t\tkeywords,\n\t\tattributes: embedAttributes,\n\n\t\tsupports: {\n\t\t\talign: true,\n\t\t\t...supports,\n\t\t},\n\n\t\ttransforms,\n\n\t\tedit: compose(\n\t\t\twithSelect( ( select, ownProps ) => {\n\t\t\t\tconst { url } = ownProps.attributes;\n\t\t\t\tconst core = select( 'core' );\n\t\t\t\tconst { getEmbedPreview, isPreviewEmbedFallback, isRequestingEmbedPreview, getThemeSupports } = core;\n\t\t\t\tconst preview = undefined !== url && getEmbedPreview( url );\n\t\t\t\tconst previewIsFallback = undefined !== url && isPreviewEmbedFallback( url );\n\t\t\t\tconst fetching = undefined !== url && isRequestingEmbedPreview( url );\n\t\t\t\tconst themeSupports = getThemeSupports();\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider = !! preview && undefined === preview.type && false === preview.html;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = !! preview && preview.data && preview.data.status === 404;\n\t\t\t\tconst validPreview = !! preview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\t\tconst cannotEmbed = undefined !== url && ( ! validPreview || previewIsFallback );\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? preview : undefined,\n\t\t\t\t\tfetching,\n\t\t\t\t\tthemeSupportsResponsive: themeSupports[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed,\n\t\t\t\t};\n\t\t\t} ),\n\t\t\twithDispatch( ( dispatch, ownProps ) => {\n\t\t\t\tconst { url } = ownProps.attributes;\n\t\t\t\tconst coreData = dispatch( 'core/data' );\n\t\t\t\tconst tryAgain = () => {\n\t\t\t\t\tcoreData.invalidateResolution( 'core', 'getEmbedPreview', [ url ] );\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ttryAgain,\n\t\t\t\t};\n\t\t\t} )\n\t\t)( edit ),\n\n\t\tsave( { attributes } ) {\n\t\t\tconst { url, caption, type, providerNameSlug } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst embedClassName = classnames( 'wp-block-embed', {\n\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<figure className={ embedClassName }>\n\t\t\t\t\t<div className=\"wp-block-embed__wrapper\">\n\t\t\t\t\t\t{ `\\n${ url }\\n` /* URL needs to be on its own line. */ }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && <RichText.Content tagName=\"figcaption\" value={ caption } /> }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\n\t\tdeprecated: [\n\t\t\t{\n\t\t\t\tattributes: embedAttributes,\n\t\t\t\tsave( { attributes } ) {\n\t\t\t\t\tconst { url, caption, type, providerNameSlug } = attributes;\n\n\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst embedClassName = classnames( 'wp-block-embed', {\n\t\t\t\t\t\t[ `is-type-${ type }` ]: type,\n\t\t\t\t\t\t[ `is-provider-${ providerNameSlug }` ]: providerNameSlug,\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure className={ embedClassName }>\n\t\t\t\t\t\t\t{ `\\n${ url }\\n` /* URL needs to be on its own line. */ }\n\t\t\t\t\t\t\t{ ! RichText.isEmpty( caption ) && <RichText.Content tagName=\"figcaption\" value={ caption } /> }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t};\n}\n"]}
\No newline at end of file