{"version":3,"sources":["../src/react-imgix-bg.jsx"],"names":["PACKAGE_VERSION","noop","findNearestWidth","actualWidth","targetWidths","toFixed","dp","value","BackgroundImpl","props","measureRef","measure","contentRect","imgixParams","onLoad","disableLibraryParam","src","children","className","forcedWidth","w","forcedHeight","h","hasDOMDimensions","bounds","top","htmlAttributes","dpr","global","devicePixelRatio","ref","onRef","el","bothWidthAndHeightPassed","width","height","undefined","ar","neitherWidthNorHeightPassed","Math","ceil","isReady","commonProps","renderedSrc","rawSrc","params","srcOptions","fit","ixlib","style","backgroundImage","backgroundSize","Background"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport Measure, { withContentRect } from \"react-measure\";\nimport constructUrl from \"./constructUrl\";\nimport extractQueryParams from \"./extractQueryParams\";\nimport targetWidths from \"./targetWidths\";\nimport findClosest from \"./findClosest\";\n\nconst PACKAGE_VERSION = require(\"../package.json\").version;\n\nconst noop = () => {};\n\nconst findNearestWidth = actualWidth => findClosest(actualWidth, targetWidths);\n\nconst toFixed = (dp, value) => +value.toFixed(dp);\n\nconst BackgroundImpl = props => {\n const {\n measureRef,\n measure,\n contentRect,\n imgixParams = {},\n onLoad,\n disableLibraryParam,\n src,\n children,\n className = \"\"\n } = props;\n const { w: forcedWidth, h: forcedHeight } = imgixParams;\n const hasDOMDimensions = contentRect.bounds.top != null;\n const htmlAttributes = props.htmlAttributes || {};\n const dpr = toFixed(2, imgixParams.dpr || global.devicePixelRatio || 1);\n const ref = htmlAttributes.ref;\n const onRef = el => {\n measureRef(el);\n if (typeof ref === \"function\") {\n ref(el);\n }\n };\n\n const { width, height } = (() => {\n const bothWidthAndHeightPassed =\n forcedWidth != null && forcedHeight != null;\n\n if (bothWidthAndHeightPassed) {\n return { width: forcedWidth, height: forcedHeight };\n }\n\n if (!hasDOMDimensions) {\n return { width: undefined, height: undefined };\n }\n const ar = contentRect.bounds.width / contentRect.bounds.height;\n\n const neitherWidthNorHeightPassed =\n forcedWidth == null && forcedHeight == null;\n if (neitherWidthNorHeightPassed) {\n const width = findNearestWidth(contentRect.bounds.width);\n const height = Math.ceil(width / ar);\n return { width, height };\n }\n if (forcedWidth != null) {\n const height = Math.ceil(forcedWidth / ar);\n return { width: forcedWidth, height };\n } else if (forcedHeight != null) {\n const width = Math.ceil(forcedHeight * ar);\n return { width, height: forcedHeight };\n }\n })();\n const isReady = width != null && height != null;\n\n const commonProps = {\n ...htmlAttributes\n };\n\n if (!isReady) {\n return (\n