{"version":3,"sources":["../src/react-imgix.jsx"],"names":["PACKAGE_VERSION","NODE_ENV","process","env","buildKey","idx","defaultImgixParams","auto","defaultAttributeMap","src","srcSet","sizes","noop","COMMON_PROP_TYPES","className","PropTypes","string","onMounted","func","htmlAttributes","object","SHARED_IMGIX_AND_SOURCE_PROP_TYPES","disableQualityByDPR","bool","disableSrcSet","disableLibraryParam","imgixParams","width","number","height","isRequired","aspectRatioIsValid","aspectRatio","test","buildSrcSetPairWithFixedHeight","url","targetWidth","fixedHeight","_","buildSrcSetPairWithTargetWidth","_1","_2","buildDprSrcWithQuality","quality","dpr","buildDprSrcWithoutQuality","buildDprSrcWithQualityByDpr","buildSrc","inputSrc","fixedSize","rawSrc","params","srcOptions","ixlib","q","urlParams","constructedUrl","srcFn","len","DPR_QUALITY_VALUES","length","i","slice","w","ar","showARWarning","targetWidths","config","warnings","invalidARFormat","console","warn","props","ReactImgix","imgRef","type","sizesAttribute","_inPicture","attributeConfig","childProps","el","Component","displayName","PictureImpl","pictureRef","children","_children","React","Children","map","child","cloneElement","key","imgIdx","findIndex","c","ReactImgixWrapped","fallbackImage","push","splice","any","SourceImpl","sourceRef","ShouldComponentUpdateHOC","Picture","Source"],"mappings":"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","sourcesContent":["import \"./array-findindex\";\n\nimport React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport targetWidths from \"./targetWidths\";\nimport constructUrl from \"./constructUrl\";\nimport extractQueryParams from \"./extractQueryParams\";\nimport { ShouldComponentUpdateHOC } from \"./HOCs\";\n\nimport { compose, config } from \"./common\";\nimport { DPR_QUALITY_VALUES } from \"./constants\";\n\nconst PACKAGE_VERSION = require(\"../package.json\").version;\nconst NODE_ENV = process.env.NODE_ENV;\n\nconst buildKey = idx => `react-imgix-${idx}`;\n\nconst defaultImgixParams = {\n auto: [\"format\"]\n};\n\nconst defaultAttributeMap = {\n src: \"src\",\n srcSet: \"srcSet\",\n sizes: \"sizes\"\n};\n\nconst noop = () => {};\n\nconst COMMON_PROP_TYPES = {\n className: PropTypes.string,\n onMounted: PropTypes.func,\n htmlAttributes: PropTypes.object\n};\n\nconst SHARED_IMGIX_AND_SOURCE_PROP_TYPES = Object.assign(\n {},\n COMMON_PROP_TYPES,\n {\n disableQualityByDPR: PropTypes.bool,\n disableSrcSet: PropTypes.bool,\n disableLibraryParam: PropTypes.bool,\n imgixParams: PropTypes.object,\n sizes: PropTypes.string,\n width: PropTypes.number,\n height: PropTypes.number,\n src: PropTypes.string.isRequired\n }\n);\n\n/**\n * Validates that an aspect ratio is in the format w:h. If false is returned, the aspect ratio is in the wrong format.\n */\nfunction aspectRatioIsValid(aspectRatio) {\n if (typeof aspectRatio !== \"string\") {\n return false;\n }\n\n return /^\\d+(\\.\\d+)?:\\d+(\\.\\d+)?$/.test(aspectRatio);\n}\n\nconst buildSrcSetPairWithFixedHeight = (url, targetWidth, fixedHeight, _) =>\n url + \"&h=\" + fixedHeight + \"&w=\" + targetWidth + \" \" + targetWidth + \"w\";\n\nconst buildSrcSetPairWithTargetWidth = (url, targetWidth, _1, _2) =>\n url + \"&w=\" + targetWidth + \" \" + targetWidth + \"w\";\n\nconst buildDprSrcWithQuality = (url, quality, dpr) =>\n url + \"&q=\" + quality + \"&dpr=\" + dpr + \" \" + dpr + \"x\";\n\nconst buildDprSrcWithoutQuality = (url, _, dpr) =>\n url + \"&dpr=\" + dpr + \" \" + dpr + \"x\";\n\nconst buildDprSrcWithQualityByDpr = (url, quality, dpr) =>\n url + \"&q=\" + quality + \"&dpr=\" + dpr + \" \" + dpr + \"x\";\n\n/**\n * Build a imgix source url with parameters from a raw url\n */\nfunction buildSrc({\n src: inputSrc,\n width,\n height,\n disableLibraryParam,\n disableSrcSet,\n imgixParams,\n disableQualityByDPR\n}) {\n const fixedSize = width != null || height != null;\n\n const [rawSrc, params] = extractQueryParams(inputSrc);\n\n const srcOptions = Object.assign(\n {},\n params,\n imgixParams,\n disableLibraryParam ? {} : { ixlib: `react-${PACKAGE_VERSION}` },\n fixedSize && height ? { height } : {},\n fixedSize && width ? { width } : {}\n );\n\n const src = constructUrl(rawSrc, srcOptions);\n\n let srcSet;\n\n if (disableSrcSet) {\n srcSet = src;\n } else {\n if (fixedSize) {\n const { q, ...urlParams } = srcOptions;\n const constructedUrl = constructUrl(rawSrc, urlParams);\n\n let srcFn = buildDprSrcWithQualityByDpr;\n if (q) {\n srcFn = buildDprSrcWithQuality;\n } else if (disableQualityByDPR) {\n srcFn = buildDprSrcWithoutQuality;\n }\n\n srcSet = \"\";\n const len = DPR_QUALITY_VALUES.length;\n for (let i = 0; i < len; i++) {\n const quality = DPR_QUALITY_VALUES[i];\n srcSet += srcFn(constructedUrl, q || quality, i + 1) + \", \";\n }\n srcSet = srcSet.slice(0, -2);\n } else {\n const { width, w, height, ...urlParams } = srcOptions;\n const constructedUrl = constructUrl(rawSrc, urlParams);\n\n const aspectRatio = imgixParams.ar;\n let showARWarning =\n aspectRatio != null && aspectRatioIsValid(aspectRatio) === false;\n\n let srcFn = buildSrcSetPairWithTargetWidth;\n if (height) {\n srcFn = buildSrcSetPairWithFixedHeight;\n }\n\n srcSet = \"\";\n const len = targetWidths.length;\n for (let i = 0; i < len; i++) {\n const targetWidth = targetWidths[i];\n srcSet += srcFn(constructedUrl, targetWidth, height) + \", \";\n }\n srcSet = srcSet.slice(0, -2);\n\n if (\n NODE_ENV !== \"production\" &&\n showARWarning &&\n config.warnings.invalidARFormat\n ) {\n console.warn(\n `[Imgix] The aspect ratio passed (\"${aspectRatio}\") is not in the correct format. The correct format is \"W:H\".`\n );\n }\n }\n }\n\n return {\n src,\n srcSet\n };\n}\n\n/**\n * Combines default imgix params with custom imgix params to make a imgix params config object\n */\nfunction imgixParams(props) {\n const params = Object.assign({}, defaultImgixParams, props.imgixParams);\n return Object.assign({}, params);\n}\n\n/**\n * React component used to render elements with Imgix\n */\nclass ReactImgix extends Component {\n static propTypes = Object.assign({}, SHARED_IMGIX_AND_SOURCE_PROP_TYPES);\n static defaultProps = {\n disableSrcSet: false,\n onMounted: noop\n };\n\n constructor(props) {\n super(props);\n this.imgRef = null;\n }\n\n componentDidMount() {\n this.props.onMounted(this.imgRef);\n }\n\n render() {\n const { disableSrcSet, type, width, height } = this.props;\n\n // Pre-render checks\n if (NODE_ENV !== \"production\" && config.warnings.sizesAttribute) {\n if (\n this.props.width == null &&\n this.props.height == null &&\n this.props.sizes == null &&\n !this.props._inPicture\n ) {\n console.warn(\n \"If width and height are not set, a sizes attribute should be passed.\"\n );\n }\n }\n\n const { src, srcSet } = buildSrc(\n Object.assign({}, this.props, {\n type: \"img\",\n imgixParams: imgixParams(this.props)\n })\n );\n\n const attributeConfig = Object.assign(\n {},\n defaultAttributeMap,\n this.props.attributeConfig\n );\n const childProps = Object.assign({}, this.props.htmlAttributes, {\n [attributeConfig.sizes]: this.props.sizes,\n className: this.props.className,\n width: width <= 1 ? null : width,\n height: height <= 1 ? null : height,\n [attributeConfig.src]: src,\n ref: el => (this.imgRef = el)\n });\n if (!disableSrcSet) {\n childProps[attributeConfig.srcSet] = srcSet;\n }\n\n return ;\n }\n}\nReactImgix.displayName = \"ReactImgix\";\n\n/**\n * React component used to render