Rocky_Mountain_Vending/.pnpm-store/v10/files/57/21ef40e0e8f2aa76fc723ab65c969991d659148756ac5c955b62a3f3cb99e89bb658f7a5ee4c3732aea7f9e3285a6c6f7a4d440e173172a6e302f307acfb98
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

1 line
No EOL
38 KiB
Text

{"version":3,"sources":["../../../src/shared/lib/get-img-props.ts"],"sourcesContent":["import { warnOnce } from './utils/warn-once'\nimport { getImageBlurSvg } from './image-blur-svg'\nimport { imageConfigDefault } from './image-config'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderPropsWithConfig,\n} from './image-config'\n\nimport type { CSSProperties, JSX } from 'react'\n\nexport interface StaticImageData {\n src: string\n height: number\n width: number\n blurDataURL?: string\n blurWidth?: number\n blurHeight?: number\n}\n\nexport interface StaticRequire {\n default: StaticImageData\n}\n\nexport type StaticImport = StaticRequire | StaticImageData\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'alt' | 'width' | 'height' | 'loading'\n> & {\n src: string | StaticImport\n alt: string\n width?: number | `${number}`\n height?: number | `${number}`\n fill?: boolean\n loader?: ImageLoader\n quality?: number | `${number}`\n preload?: boolean\n /**\n * @deprecated Use `preload` prop instead.\n * See https://nextjs.org/docs/app/api-reference/components/image#preload\n */\n priority?: boolean\n loading?: LoadingValue\n placeholder?: PlaceholderValue\n blurDataURL?: string\n unoptimized?: boolean\n overrideSrc?: string\n /**\n * @deprecated Use `onLoad` instead.\n * @see https://nextjs.org/docs/app/api-reference/components/image#onload\n */\n onLoadingComplete?: OnLoadingComplete\n /**\n * @deprecated Use `fill` prop instead of `layout=\"fill\"` or change import to `next/legacy/image`.\n * @see https://nextjs.org/docs/api-reference/next/legacy/image\n */\n layout?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectFit?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectPosition?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyBoundary?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyRoot?: string\n}\n\nexport type ImgProps = Omit<ImageProps, 'src' | 'loader'> & {\n loading: LoadingValue\n width: number | undefined\n height: number | undefined\n style: NonNullable<JSX.IntrinsicElements['img']['style']>\n sizes: string | undefined\n srcSet: string | undefined\n src: string\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\n\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n '-moz-initial',\n 'fill',\n 'none',\n 'scale-down',\n undefined,\n]\ntype LoadingValue = (typeof VALID_LOADING_VALUES)[number]\ntype ImageConfig = ImageConfigComplete & {\n allSizes: number[]\n output?: 'standalone' | 'export'\n}\n\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\n// Do not export - this is an internal type only\n// because `next.config.js` is only meant for the\n// built-in loaders, not for a custom loader() prop.\ntype ImageLoaderWithConfig = (p: ImageLoaderPropsWithConfig) => string\n\nexport type PlaceholderValue = 'blur' | 'empty' | `data:image/${string}`\nexport type OnLoad = React.ReactEventHandler<HTMLImageElement> | undefined\nexport type OnLoadingComplete = (img: HTMLImageElement) => void\n\nexport type PlaceholderStyle = Partial<\n Pick<\n CSSProperties,\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundImage'\n >\n>\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === 'object' &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n )\n}\n\nconst allImgs = new Map<\n string,\n { src: string; loading: LoadingValue; placeholder: PlaceholderValue }\n>()\nlet perfObserver: PerformanceObserver | undefined\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'undefined') {\n return x\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10)\n }\n return NaN\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined\n): { widths: number[]; kind: 'w' | 'x' } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g\n const percentSizes = []\n for (let match; (match = viewportWidthRe.exec(sizes)); match) {\n percentSizes.push(parseInt(match[2]))\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: 'w',\n }\n }\n return { widths: allSizes, kind: 'w' }\n }\n if (typeof width !== 'number') {\n return { widths: deviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig\n src: string\n unoptimized: boolean\n loader: ImageLoaderWithConfig\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(config, width, sizes)\n const last = widths.length - 1\n\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n }\n}\n\n/**\n * A shared function, used on both client and server, to generate the props for <img>.\n */\nexport function getImgProps(\n {\n src,\n sizes,\n unoptimized = false,\n priority = false,\n preload = false,\n loading,\n className,\n quality,\n width,\n height,\n fill = false,\n style,\n overrideSrc,\n onLoad,\n onLoadingComplete,\n placeholder = 'empty',\n blurDataURL,\n fetchPriority,\n decoding = 'async',\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n ...rest\n }: ImageProps,\n _state: {\n defaultLoader: ImageLoaderWithConfig\n imgConf: ImageConfigComplete\n showAltText?: boolean\n blurComplete?: boolean\n }\n): {\n props: ImgProps\n meta: {\n unoptimized: boolean\n preload: boolean\n placeholder: NonNullable<ImageProps['placeholder']>\n fill: boolean\n }\n} {\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state\n let config: ImageConfig\n let c = imgConf || imageConfigDefault\n if ('allSizes' in c) {\n config = c as ImageConfig\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n config = { ...c, allSizes, deviceSizes, qualities }\n }\n\n if (typeof defaultLoader === 'undefined') {\n throw new Error(\n 'images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'\n )\n }\n let loader: ImageLoaderWithConfig = rest.loader || defaultLoader\n\n // Remove property so it's not spread on <img> element\n delete rest.loader\n delete (rest as any).srcSet\n\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader\n\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw new Error(\n `Image with src \"${src}\" is missing \"loader\" prop.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`\n )\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader as ImageLoader\n loader = (obj) => {\n const { config: _, ...opts } = obj\n return customImageLoader(opts)\n }\n }\n\n if (layout) {\n if (layout === 'fill') {\n fill = true\n }\n const layoutToStyle: Record<string, Record<string, string> | undefined> = {\n intrinsic: { maxWidth: '100%', height: 'auto' },\n responsive: { width: '100%', height: 'auto' },\n }\n const layoutToSizes: Record<string, string | undefined> = {\n responsive: '100vw',\n fill: '100vw',\n }\n const layoutStyle = layoutToStyle[layout]\n if (layoutStyle) {\n style = { ...style, ...layoutStyle }\n }\n const layoutSizes = layoutToSizes[layout]\n if (layoutSizes && !sizes) {\n sizes = layoutSizes\n }\n }\n\n let staticSrc = ''\n let widthInt = getInt(width)\n let heightInt = getInt(height)\n let blurWidth: number | undefined\n let blurHeight: number | undefined\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n\n blurWidth = staticImageData.blurWidth\n blurHeight = staticImageData.blurHeight\n blurDataURL = blurDataURL || staticImageData.blurDataURL\n staticSrc = staticImageData.src\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width\n heightInt = staticImageData.height\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width\n heightInt = Math.round(staticImageData.height * ratio)\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height\n widthInt = Math.round(staticImageData.width * ratio)\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc\n\n let isLazy =\n !priority &&\n !preload &&\n (loading === 'lazy' || typeof loading === 'undefined')\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n if (config.unoptimized) {\n unoptimized = true\n }\n if (\n isDefaultLoader &&\n !config.dangerouslyAllowSVG &&\n src.split('?', 1)[0].endsWith('.svg')\n ) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true\n }\n\n const qualityInt = getInt(quality)\n\n if (process.env.NODE_ENV !== 'production') {\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true\n } else {\n if (fill) {\n if (width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (style?.position && style.position !== 'absolute') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`\n )\n }\n if (style?.width && style.width !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`\n )\n }\n if (style?.height && style.height !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`\n )\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`\n )\n } else if (isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${width}\".`\n )\n }\n if (typeof heightInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`\n )\n } else if (isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${height}\".`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (preload && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (preload && priority) {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"priority\" properties. Only \"preload\" should be used.`\n )\n }\n if (\n placeholder !== 'empty' &&\n placeholder !== 'blur' &&\n !placeholder.startsWith('data:image/')\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${placeholder}\".`\n )\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`\n )\n }\n }\n if (\n qualityInt &&\n config.qualities &&\n !config.qualities.includes(qualityInt)\n ) {\n warnOnce(\n `Image with src \"${src}\" is using quality \"${qualityInt}\" which is not configured in images.qualities [${config.qualities.join(', ')}]. Please update your config to [${[...config.qualities, qualityInt].sort().join(', ')}].` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`\n )\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = ['jpeg', 'png', 'webp', 'avif'] // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n ','\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`\n )\n }\n if ('ref' in rest) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`\n )\n }\n\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n })\n let url: URL | undefined\n try {\n url = new URL(urlStr)\n } catch (err) {}\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`\n )\n }\n }\n\n if (onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`\n )\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`\n )\n }\n }\n\n if (\n typeof window !== 'undefined' &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || ''\n const lcpImage = allImgs.get(imgSrc)\n if (\n lcpImage &&\n lcpImage.loading === 'lazy' &&\n lcpImage.placeholder === 'empty' &&\n !lcpImage.src.startsWith('data:') &&\n !lcpImage.src.startsWith('blob:')\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \\`loading=\"eager\"\\` property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/app/api-reference/components/image#loading`\n )\n }\n }\n })\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true,\n })\n } catch (err) {\n // Log error but don't crash the app\n console.error(err)\n }\n }\n }\n const imgStyle = Object.assign(\n fill\n ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition,\n }\n : {},\n showAltText ? {} : { color: 'transparent' },\n style\n )\n\n const backgroundImage =\n !blurComplete && placeholder !== 'empty'\n ? placeholder === 'blur'\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '', // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${placeholder}\")` // assume `data:image/`\n : null\n\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(\n imgStyle.objectFit\n )\n ? imgStyle.objectFit\n : imgStyle.objectFit === 'fill'\n ? '100% 100%' // the background-size equivalent of `fill`\n : 'cover'\n\n let placeholderStyle: PlaceholderStyle = backgroundImage\n ? {\n backgroundSize,\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage,\n }\n : {}\n\n if (process.env.NODE_ENV === 'development') {\n if (\n placeholderStyle.backgroundImage &&\n placeholder === 'blur' &&\n blurDataURL?.startsWith('/')\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = `url(\"${blurDataURL}\")`\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n\n const loadingFinal = isLazy ? 'lazy' : loading\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl: URL\n try {\n fullUrl = new URL(imgAttributes.src)\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href)\n }\n allImgs.set(fullUrl.href, { src, loading: loadingFinal, placeholder })\n }\n }\n\n const props: ImgProps = {\n ...rest,\n loading: loadingFinal,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src,\n }\n const meta = { unoptimized, preload: preload || priority, placeholder, fill }\n return { props, meta }\n}\n"],"names":["getImgProps","VALID_LOADING_VALUES","undefined","INVALID_BACKGROUND_SIZE_VALUES","isStaticRequire","src","default","isStaticImageData","isStaticImport","allImgs","Map","perfObserver","getInt","x","Number","isFinite","NaN","test","parseInt","getWidths","deviceSizes","allSizes","width","sizes","viewportWidthRe","percentSizes","match","exec","push","length","smallestRatio","Math","min","widths","filter","s","kind","Set","map","w","find","p","generateImgAttrs","config","unoptimized","quality","loader","srcSet","last","i","join","priority","preload","loading","className","height","fill","style","overrideSrc","onLoad","onLoadingComplete","placeholder","blurDataURL","fetchPriority","decoding","layout","objectFit","objectPosition","lazyBoundary","lazyRoot","rest","_state","imgConf","showAltText","blurComplete","defaultLoader","c","imageConfigDefault","imageSizes","sort","a","b","qualities","Error","isDefaultLoader","customImageLoader","obj","_","opts","layoutToStyle","intrinsic","maxWidth","responsive","layoutToSizes","layoutStyle","layoutSizes","staticSrc","widthInt","heightInt","blurWidth","blurHeight","staticImageData","JSON","stringify","ratio","round","isLazy","startsWith","dangerouslyAllowSVG","split","endsWith","qualityInt","process","env","NODE_ENV","output","position","isNaN","includes","String","warnOnce","VALID_BLUR_EXT","urlStr","url","URL","err","pathname","search","legacyKey","legacyValue","Object","entries","window","PerformanceObserver","entryList","entry","getEntries","imgSrc","element","lcpImage","get","observe","type","buffered","console","error","imgStyle","assign","left","top","right","bottom","color","backgroundImage","getImageBlurSvg","backgroundSize","placeholderStyle","backgroundPosition","backgroundRepeat","imgAttributes","loadingFinal","fullUrl","e","location","href","set","props","meta"],"mappings":"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","ignoreList":[0]}