/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
esm
/
shared
/
lib
/
/opt/canhelp/node_modules/next/dist/esm/shared/lib
mkdir
upload
Name
Size
Mode
Actions
errors/
-
0755
rm
i18n/
-
0755
rm
isomorphic/
-
0755
rm
lazy-dynamic/
-
0755
rm
page-path/
-
0755
rm
router/
-
0755
rm
segment-cache/
-
0755
rm
turbopack/
-
0755
rm
utils/
-
0755
rm
amp-context.shared-runtime.js
238
0644
edit
dl
rm
amp-context.shared-runtime.js.map
580
0644
edit
dl
rm
amp-mode.js
215
0644
edit
dl
rm
amp-mode.js.map
469
0644
edit
dl
rm
amp.js
319
0644
edit
dl
rm
amp.js.map
626
0644
edit
dl
rm
app-dynamic.js
610
0644
edit
dl
rm
app-dynamic.js.map
1875
0644
edit
dl
rm
app-router-context.shared-runtime.js
705
0644
edit
dl
rm
app-router-context.shared-runtime.js.map
6255
0644
edit
dl
rm
bloom-filter.js
2761
0644
edit
dl
rm
bloom-filter.js.map
5492
0644
edit
dl
rm
canary-only.js
818
0644
edit
dl
rm
canary-only.js.map
1424
0644
edit
dl
rm
constants.js
6975
0644
edit
dl
rm
constants.js.map
11754
0644
edit
dl
rm
deep-freeze.js
1046
0644
edit
dl
rm
deep-freeze.js.map
1759
0644
edit
dl
rm
deep-readonly.js
279
0644
edit
dl
rm
deep-readonly.js.map
575
0644
edit
dl
rm
dset.d.ts
117
0644
edit
dl
rm
dset.js
1724
0644
edit
dl
rm
dset.js.map
2554
0644
edit
dl
rm
dynamic.js
4431
0644
edit
dl
rm
dynamic.js.map
7507
0644
edit
dl
rm
encode-uri-path.js
154
0644
edit
dl
rm
encode-uri-path.js.map
452
0644
edit
dl
rm
error-source.js
379
0644
edit
dl
rm
error-source.js.map
983
0644
edit
dl
rm
escape-regexp.js
476
0644
edit
dl
rm
escape-regexp.js.map
835
0644
edit
dl
rm
fnv1a.js
2584
0644
edit
dl
rm
fnv1a.js.map
4072
0644
edit
dl
rm
format-webpack-messages.js
8121
0644
edit
dl
rm
format-webpack-messages.js.map
12954
0644
edit
dl
rm
get-hostname.js
749
0644
edit
dl
rm
get-hostname.js.map
1379
0644
edit
dl
rm
get-img-props.js
24944
0644
edit
dl
rm
get-img-props.js.map
37808
0644
edit
dl
rm
get-rspack.js
2096
0644
edit
dl
rm
get-rspack.js.map
2760
0644
edit
dl
rm
get-webpack-bundler.js
409
0644
edit
dl
rm
get-webpack-bundler.js.map
737
0644
edit
dl
rm
hash.js
901
0644
edit
dl
rm
hash.js.map
1484
0644
edit
dl
rm
head-manager-context.shared-runtime.js
256
0644
edit
dl
rm
head-manager-context.shared-runtime.js.map
862
0644
edit
dl
rm
head.js
5741
0644
edit
dl
rm
head.js.map
9603
0644
edit
dl
rm
hooks-client-context.shared-runtime.js
497
0644
edit
dl
rm
hooks-client-context.shared-runtime.js.map
1081
0644
edit
dl
rm
html-context.shared-runtime.js
688
0644
edit
dl
rm
html-context.shared-runtime.js.map
2755
0644
edit
dl
rm
image-blur-svg.js
1283
0644
edit
dl
rm
image-blur-svg.js.map
2107
0644
edit
dl
rm
image-config-context.shared-runtime.js
325
0644
edit
dl
rm
image-config-context.shared-runtime.js.map
783
0644
edit
dl
rm
image-config.js
955
0644
edit
dl
rm
image-config.js.map
5904
0644
edit
dl
rm
image-external.js
1212
0644
edit
dl
rm
image-external.js.map
2193
0644
edit
dl
rm
image-loader.js
4865
0644
edit
dl
rm
image-loader.js.map
6744
0644
edit
dl
rm
invariant-error.js
291
0644
edit
dl
rm
invariant-error.js.map
666
0644
edit
dl
rm
is-internal.js
748
0644
edit
dl
rm
is-internal.js.map
1262
0644
edit
dl
rm
is-plain-object.js
704
0644
edit
dl
rm
is-plain-object.js.map
1204
0644
edit
dl
rm
is-thenable.js
335
0644
edit
dl
rm
is-thenable.js.map
664
0644
edit
dl
rm
loadable-context.shared-runtime.js
259
0644
edit
dl
rm
loadable-context.shared-runtime.js.map
651
0644
edit
dl
rm
loadable.shared-runtime.js
8011
0644
edit
dl
rm
loadable.shared-runtime.js.map
13827
0644
edit
dl
rm
magic-identifier.js
3145
0644
edit
dl
rm
magic-identifier.js.map
4101
0644
edit
dl
rm
match-local-pattern.js
878
0644
edit
dl
rm
match-local-pattern.js.map
1672
0644
edit
dl
rm
match-remote-pattern.js
1486
0644
edit
dl
rm
match-remote-pattern.js.map
2685
0644
edit
dl
rm
mitt.js
2062
0644
edit
dl
rm
mitt.js.map
2998
0644
edit
dl
rm
modern-browserslist-target.d.ts
199
0644
edit
dl
rm
modern-browserslist-target.js
638
0644
edit
dl
rm
modern-browserslist-target.js.map
893
0644
edit
dl
rm
no-fallback-error.external.js
196
0644
edit
dl
rm
no-fallback-error.external.js.map
410
0644
edit
dl
rm
normalized-asset-prefix.js
737
0644
edit
dl
rm
normalized-asset-prefix.js.map
1297
0644
edit
dl
rm
promise-with-resolvers.js
372
0644
edit
dl
rm
promise-with-resolvers.js.map
762
0644
edit
dl
rm
router-context.shared-runtime.js
237
0644
edit
dl
rm
router-context.shared-runtime.js.map
621
0644
edit
dl
rm
runtime-config.external.js
373
0644
edit
dl
rm
runtime-config.external.js.map
651
0644
edit
dl
rm
segment.js
741
0644
edit
dl
rm
segment.js.map
1645
0644
edit
dl
rm
server-inserted-html.shared-runtime.js
748
0644
edit
dl
rm
server-inserted-html.shared-runtime.js.map
1383
0644
edit
dl
rm
server-reference-info.js
1865
0644
edit
dl
rm
server-reference-info.js.map
3334
0644
edit
dl
rm
side-effect.js
2566
0644
edit
dl
rm
side-effect.js.map
3954
0644
edit
dl
rm
styled-jsx.d.ts
43
0644
edit
dl
rm
styled-jsx.js
85
0644
edit
dl
rm
styled-jsx.js.map
230
0644
edit
dl
rm
utils.js
4728
0644
edit
dl
rm
utils.js.map
15824
0644
edit
dl
rm
zod.js
2632
0644
edit
dl
rm
zod.js.map
4490
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/esm/shared/lib/get-img-props.js.map
(37808B)
{"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 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; priority: boolean; 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 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 priority: 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 && (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 (\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 (qualityInt && qualityInt !== 75 && !config.qualities) {\n warnOnce(\n `Image with src \"${src}\" is using quality \"${qualityInt}\" which is not configured in images.qualities. This config will be required starting in Next.js 16.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`\n )\n }\n if (\n src.startsWith('/') &&\n src.includes('?') &&\n (!config?.localPatterns?.length ||\n (config.localPatterns.length === 1 &&\n config.localPatterns[0].pathname === '/_next/static/media/**'))\n ) {\n warnOnce(\n `Image with src \"${src}\" is using a query string which is not configured in images.localPatterns. This config will be required starting in Next.js 16.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\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.priority &&\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 \"priority\" property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`\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 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, priority, placeholder })\n }\n }\n\n const props: ImgProps = {\n ...rest,\n loading: isLazy ? 'lazy' : loading,\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, priority, placeholder, fill }\n return { props, meta }\n}\n"],"names":["warnOnce","getImageBlurSvg","imageConfigDefault","VALID_LOADING_VALUES","undefined","INVALID_BACKGROUND_SIZE_VALUES","isStaticRequire","src","default","isStaticImageData","isStaticImport","allImgs","Map","perfObserver","getInt","x","Number","isFinite","NaN","test","parseInt","getWidths","width","sizes","deviceSizes","allSizes","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","getImgProps","_state","priority","loading","className","height","fill","style","overrideSrc","onLoad","onLoadingComplete","placeholder","blurDataURL","fetchPriority","decoding","layout","objectFit","objectPosition","lazyBoundary","lazyRoot","rest","imgConf","showAltText","blurComplete","defaultLoader","c","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","localPatterns","pathname","VALID_BLUR_EXT","urlStr","url","URL","err","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","backgroundSize","placeholderStyle","backgroundPosition","backgroundRepeat","imgAttributes","fullUrl","e","location","href","set","props","meta"],"mappings":"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","ignoreList":[0]}
Save
cmd:
run