{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"/home/jjglover/goallinestats/node_modules/@babel/runtime/helpers/slicedToArray\");\n\nvar _toConsumableArray = require(\"/home/jjglover/goallinestats/node_modules/@babel/runtime/helpers/toConsumableArray\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = Image;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _toBase = require(\"../next-server/lib/to-base-64\");\n\nvar _imageConfig = require(\"../next-server/server/image-config\");\n\nvar _useIntersection = require(\"./use-intersection\");\n\nif (false) {\n  ;\n  global.__NEXT_IMAGE_IMPORTED = true;\n}\n\nvar VALID_LOADING_VALUES = ['lazy', 'eager', undefined];\nvar loaders = new Map([['imgix', imgixLoader], ['cloudinary', cloudinaryLoader], ['akamai', akamaiLoader], ['default', defaultLoader]]);\nvar VALID_LAYOUT_VALUES = ['fill', 'fixed', 'intrinsic', 'responsive', undefined];\n\nvar _ref2 = process.env.__NEXT_IMAGE_OPTS || _imageConfig.imageConfigDefault,\n    configDeviceSizes = _ref2.deviceSizes,\n    configImageSizes = _ref2.imageSizes,\n    configLoader = _ref2.loader,\n    configPath = _ref2.path,\n    configDomains = _ref2.domains; // sort smallest to largest\n\n\nvar allSizes = [].concat(_toConsumableArray(configDeviceSizes), _toConsumableArray(configImageSizes));\nconfigDeviceSizes.sort(function (a, b) {\n  return a - b;\n});\nallSizes.sort(function (a, b) {\n  return a - b;\n});\n\nfunction getWidths(width, layout) {\n  if (typeof width !== 'number' || layout === 'fill' || layout === 'responsive') {\n    return {\n      widths: configDeviceSizes,\n      kind: 'w'\n    };\n  }\n\n  var widths = _toConsumableArray(new Set([width, width * 2, width * 3].map(function (w) {\n    return allSizes.find(function (p) {\n      return p >= w;\n    }) || allSizes[allSizes.length - 1];\n  })));\n\n  return {\n    widths: widths,\n    kind: 'x'\n  };\n}\n\nfunction callLoader(loaderProps) {\n  var load = loaders.get(configLoader);\n\n  if (load) {\n    return load((0, _extends2[\"default\"])({\n      root: configPath\n    }, loaderProps));\n  }\n\n  throw new Error(\"Unknown \\\"loader\\\" found in \\\"next.config.js\\\". Expected: \".concat(_imageConfig.VALID_LOADERS.join(', '), \". Received: \").concat(configLoader));\n}\n\nfunction generateImgAttrs(_ref3) {\n  var src = _ref3.src,\n      unoptimized = _ref3.unoptimized,\n      layout = _ref3.layout,\n      width = _ref3.width,\n      quality = _ref3.quality,\n      sizes = _ref3.sizes;\n\n  if (unoptimized) {\n    return {\n      src: src\n    };\n  }\n\n  var _getWidths = getWidths(width, layout),\n      widths = _getWidths.widths,\n      kind = _getWidths.kind;\n\n  var last = widths.length - 1;\n  var srcSet = widths.map(function (w, i) {\n    return \"\".concat(callLoader({\n      src: src,\n      quality: quality,\n      width: w\n    }), \" \").concat(kind === 'w' ? w : i + 1).concat(kind);\n  }).join(', ');\n\n  if (!sizes && kind === 'w') {\n    sizes = widths.map(function (w, i) {\n      return i === last ? \"\".concat(w, \"px\") : \"(max-width: \".concat(w, \"px) \").concat(w, \"px\");\n    }).join(', ');\n  }\n\n  src = callLoader({\n    src: src,\n    quality: quality,\n    width: widths[last]\n  });\n  return {\n    src: src,\n    sizes: sizes,\n    srcSet: srcSet\n  };\n}\n\nfunction getInt(x) {\n  if (typeof x === 'number') {\n    return x;\n  }\n\n  if (typeof x === 'string') {\n    return parseInt(x, 10);\n  }\n\n  return undefined;\n}\n\nfunction Image(_ref) {\n  var src = _ref.src,\n      sizes = _ref.sizes,\n      _ref$unoptimized = _ref.unoptimized,\n      unoptimized = _ref$unoptimized === void 0 ? false : _ref$unoptimized,\n      _ref$priority = _ref.priority,\n      priority = _ref$priority === void 0 ? false : _ref$priority,\n      loading = _ref.loading,\n      className = _ref.className,\n      quality = _ref.quality,\n      width = _ref.width,\n      height = _ref.height,\n      objectFit = _ref.objectFit,\n      objectPosition = _ref.objectPosition,\n      all = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref, [\"src\", \"sizes\", \"unoptimized\", \"priority\", \"loading\", \"className\", \"quality\", \"width\", \"height\", \"objectFit\", \"objectPosition\"]);\n  var rest = all;\n  var layout = sizes ? 'responsive' : 'intrinsic';\n  var unsized = false;\n\n  if ('unsized' in rest) {\n    unsized = Boolean(rest.unsized); // Remove property so it's not spread into image:\n\n    delete rest['unsized'];\n  } else if ('layout' in rest) {\n    // Override default layout if the user specified one:\n    if (rest.layout) layout = rest.layout; // Remove property so it's not spread into image:\n\n    delete rest['layout'];\n  }\n\n  if (false) {\n    if (!src) {\n      throw new Error(\"Image is missing required \\\"src\\\" property. Make sure you pass \\\"src\\\" in props to the `next/image` component. Received: \".concat(JSON.stringify({\n        width: width,\n        height: height,\n        quality: quality\n      })));\n    }\n\n    if (!VALID_LAYOUT_VALUES.includes(layout)) {\n      throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has invalid \\\"layout\\\" property. Provided \\\"\").concat(layout, \"\\\" should be one of \").concat(VALID_LAYOUT_VALUES.map(String).join(','), \".\"));\n    }\n\n    if (!VALID_LOADING_VALUES.includes(loading)) {\n      throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has invalid \\\"loading\\\" property. Provided \\\"\").concat(loading, \"\\\" should be one of \").concat(VALID_LOADING_VALUES.map(String).join(','), \".\"));\n    }\n\n    if (priority && loading === 'lazy') {\n      throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has both \\\"priority\\\" and \\\"loading='lazy'\\\" properties. Only one should be used.\"));\n    }\n\n    if (unsized) {\n      throw new Error(\"Image with src \\\"\".concat(src, \"\\\" has deprecated \\\"unsized\\\" property, which was removed in favor of the \\\"layout='fill'\\\" property\"));\n    }\n  }\n\n  var isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n\n  if (src && src.startsWith('data:')) {\n    // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n    unoptimized = true;\n    isLazy = false;\n  }\n\n  var _ref4 = (0, _useIntersection.useIntersection)({\n    rootMargin: '200px',\n    disabled: !isLazy\n  }),\n      _ref5 = _slicedToArray(_ref4, 2),\n      setRef = _ref5[0],\n      isIntersected = _ref5[1];\n\n  var isVisible = !isLazy || isIntersected;\n  var widthInt = getInt(width);\n  var heightInt = getInt(height);\n  var qualityInt = getInt(quality);\n  var wrapperStyle;\n  var sizerStyle;\n  var sizerSvg;\n  var imgStyle = {\n    visibility: isVisible ? 'visible' : 'hidden',\n    position: 'absolute',\n    top: 0,\n    left: 0,\n    bottom: 0,\n    right: 0,\n    boxSizing: 'border-box',\n    padding: 0,\n    border: 'none',\n    margin: 'auto',\n    display: 'block',\n    width: 0,\n    height: 0,\n    minWidth: '100%',\n    maxWidth: '100%',\n    minHeight: '100%',\n    maxHeight: '100%',\n    objectFit: objectFit,\n    objectPosition: objectPosition\n  };\n\n  if (typeof widthInt !== 'undefined' && typeof heightInt !== 'undefined' && layout !== 'fill') {\n    // <Image src=\"i.png\" width=\"100\" height=\"100\" />\n    var quotient = heightInt / widthInt;\n    var paddingTop = isNaN(quotient) ? '100%' : \"\".concat(quotient * 100, \"%\");\n\n    if (layout === 'responsive') {\n      // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"responsive\" />\n      wrapperStyle = {\n        display: 'block',\n        overflow: 'hidden',\n        position: 'relative',\n        boxSizing: 'border-box',\n        margin: 0\n      };\n      sizerStyle = {\n        display: 'block',\n        boxSizing: 'border-box',\n        paddingTop: paddingTop\n      };\n    } else if (layout === 'intrinsic') {\n      // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"intrinsic\" />\n      wrapperStyle = {\n        display: 'inline-block',\n        maxWidth: '100%',\n        overflow: 'hidden',\n        position: 'relative',\n        boxSizing: 'border-box',\n        margin: 0\n      };\n      sizerStyle = {\n        boxSizing: 'border-box',\n        display: 'block',\n        maxWidth: '100%'\n      };\n      sizerSvg = \"<svg width=\\\"\".concat(widthInt, \"\\\" height=\\\"\").concat(heightInt, \"\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\"/>\");\n    } else if (layout === 'fixed') {\n      // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"fixed\" />\n      wrapperStyle = {\n        overflow: 'hidden',\n        boxSizing: 'border-box',\n        display: 'inline-block',\n        position: 'relative',\n        width: widthInt,\n        height: heightInt\n      };\n    }\n  } else if (typeof widthInt === 'undefined' && typeof heightInt === 'undefined' && layout === 'fill') {\n    // <Image src=\"i.png\" layout=\"fill\" />\n    wrapperStyle = {\n      display: 'block',\n      overflow: 'hidden',\n      position: 'absolute',\n      top: 0,\n      left: 0,\n      bottom: 0,\n      right: 0,\n      boxSizing: 'border-box',\n      margin: 0\n    };\n  } else {\n    // <Image src=\"i.png\" />\n    if (false) {\n      throw new Error(\"Image with src \\\"\".concat(src, \"\\\" must use \\\"width\\\" and \\\"height\\\" properties or \\\"layout='fill'\\\" property.\"));\n    }\n  }\n\n  var imgAttributes = {\n    src: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n  };\n\n  if (isVisible) {\n    imgAttributes = generateImgAttrs({\n      src: src,\n      unoptimized: unoptimized,\n      layout: layout,\n      width: widthInt,\n      quality: qualityInt,\n      sizes: sizes\n    });\n  }\n\n  if (unsized) {\n    wrapperStyle = undefined;\n    sizerStyle = undefined;\n    imgStyle = undefined;\n  }\n\n  return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n    style: wrapperStyle\n  }, sizerStyle ? /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n    style: sizerStyle\n  }, sizerSvg ? /*#__PURE__*/_react[\"default\"].createElement(\"img\", {\n    style: {\n      maxWidth: '100%',\n      display: 'block'\n    },\n    alt: \"\",\n    \"aria-hidden\": true,\n    role: \"presentation\",\n    src: \"data:image/svg+xml;base64,\".concat((0, _toBase.toBase64)(sizerSvg))\n  }) : null) : null, /*#__PURE__*/_react[\"default\"].createElement(\"img\", Object.assign({}, rest, imgAttributes, {\n    decoding: \"async\",\n    className: className,\n    ref: setRef,\n    style: imgStyle\n  })));\n} //BUILT IN LOADERS\n\n\nfunction normalizeSrc(src) {\n  return src[0] === '/' ? src.slice(1) : src;\n}\n\nfunction imgixLoader(_ref6) {\n  var root = _ref6.root,\n      src = _ref6.src,\n      width = _ref6.width,\n      quality = _ref6.quality;\n  // Demo: https://static.imgix.net/daisy.png?format=auto&fit=max&w=300\n  var params = ['auto=format', 'fit=max', 'w=' + width];\n  var paramsString = '';\n\n  if (quality) {\n    params.push('q=' + quality);\n  }\n\n  if (params.length) {\n    paramsString = '?' + params.join('&');\n  }\n\n  return \"\".concat(root).concat(normalizeSrc(src)).concat(paramsString);\n}\n\nfunction akamaiLoader(_ref7) {\n  var root = _ref7.root,\n      src = _ref7.src,\n      width = _ref7.width;\n  return \"\".concat(root).concat(normalizeSrc(src), \"?imwidth=\").concat(width);\n}\n\nfunction cloudinaryLoader(_ref8) {\n  var root = _ref8.root,\n      src = _ref8.src,\n      width = _ref8.width,\n      quality = _ref8.quality;\n  // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit/turtles.jpg\n  var params = ['f_auto', 'c_limit', 'w_' + width];\n  var paramsString = '';\n\n  if (quality) {\n    params.push('q_' + quality);\n  }\n\n  if (params.length) {\n    paramsString = params.join(',') + '/';\n  }\n\n  return \"\".concat(root).concat(paramsString).concat(normalizeSrc(src));\n}\n\nfunction defaultLoader(_ref9) {\n  var root = _ref9.root,\n      src = _ref9.src,\n      width = _ref9.width,\n      quality = _ref9.quality;\n\n  if (false) {\n    var missingValues = []; // these should always be provided but make sure they are\n\n    if (!src) missingValues.push('src');\n    if (!width) missingValues.push('width');\n\n    if (missingValues.length > 0) {\n      throw new Error(\"Next Image Optimization requires \".concat(missingValues.join(', '), \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \").concat(JSON.stringify({\n        src: src,\n        width: width,\n        quality: quality\n      })));\n    }\n\n    if (src.startsWith('//')) {\n      throw new Error(\"Failed to parse src \\\"\".concat(src, \"\\\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)\"));\n    }\n\n    if (!src.startsWith('/') && configDomains) {\n      var parsedSrc;\n\n      try {\n        parsedSrc = new URL(src);\n      } catch (err) {\n        console.error(err);\n        throw new Error(\"Failed to parse src \\\"\".concat(src, \"\\\" on `next/image`, if using relative image it must start with a leading slash \\\"/\\\" or be an absolute URL (http:// or https://)\"));\n      }\n\n      if (!configDomains.includes(parsedSrc.hostname)) {\n        throw new Error(\"Invalid src prop (\".concat(src, \") on `next/image`, hostname \\\"\").concat(parsedSrc.hostname, \"\\\" is not configured under images in your `next.config.js`\\n\") + \"See more info: https://err.sh/next.js/next-image-unconfigured-host\");\n      }\n    }\n  }\n\n  return \"\".concat(root, \"?url=\").concat(encodeURIComponent(src), \"&w=\").concat(width, \"&q=\").concat(quality || 75);\n}","map":null,"metadata":{},"sourceType":"script"}