/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
shared
/
lib
/
/opt/canhelp/node_modules/next/dist/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.d.ts
85
0644
edit
dl
rm
amp-context.shared-runtime.js
592
0644
edit
dl
rm
amp-context.shared-runtime.js.map
581
0644
edit
dl
rm
amp-mode.d.ts
191
0644
edit
dl
rm
amp-mode.js
419
0644
edit
dl
rm
amp-mode.js.map
486
0644
edit
dl
rm
amp.d.ts
43
0644
edit
dl
rm
amp.js
1026
0644
edit
dl
rm
amp.js.map
608
0644
edit
dl
rm
app-dynamic.d.ts
875
0644
edit
dl
rm
app-dynamic.js
1269
0644
edit
dl
rm
app-dynamic.js.map
1888
0644
edit
dl
rm
app-router-context.shared-runtime.d.ts
5103
0644
edit
dl
rm
app-router-context.shared-runtime.js
1686
0644
edit
dl
rm
app-router-context.shared-runtime.js.map
6339
0644
edit
dl
rm
bloom-filter.d.ts
598
0644
edit
dl
rm
bloom-filter.js
2965
0644
edit
dl
rm
bloom-filter.js.map
5508
0644
edit
dl
rm
canary-only.d.ts
170
0644
edit
dl
rm
canary-only.js
1282
0644
edit
dl
rm
canary-only.js.map
1466
0644
edit
dl
rm
constants.d.ts
5988
0644
edit
dl
rm
constants.js
14934
0644
edit
dl
rm
constants.js.map
12299
0644
edit
dl
rm
deep-freeze.d.ts
512
0644
edit
dl
rm
deep-freeze.js
868
0644
edit
dl
rm
deep-freeze.js.map
1760
0644
edit
dl
rm
deep-readonly.d.ts
389
0644
edit
dl
rm
deep-readonly.js
348
0644
edit
dl
rm
deep-readonly.js.map
565
0644
edit
dl
rm
dset.d.ts
117
0644
edit
dl
rm
dset.js
1914
0644
edit
dl
rm
dset.js.map
2570
0644
edit
dl
rm
dynamic.d.ts
1711
0644
edit
dl
rm
dynamic.js
5413
0644
edit
dl
rm
dynamic.js.map
7525
0644
edit
dl
rm
encode-uri-path.d.ts
61
0644
edit
dl
rm
encode-uri-path.js
362
0644
edit
dl
rm
encode-uri-path.js.map
469
0644
edit
dl
rm
error-source.d.ts
231
0644
edit
dl
rm
error-source.js
858
0644
edit
dl
rm
error-source.js.map
1030
0644
edit
dl
rm
escape-regexp.d.ts
65
0644
edit
dl
rm
escape-regexp.js
694
0644
edit
dl
rm
escape-regexp.js.map
852
0644
edit
dl
rm
fnv1a.d.ts
335
0644
edit
dl
rm
fnv1a.js
2770
0644
edit
dl
rm
fnv1a.js.map
4089
0644
edit
dl
rm
format-webpack-messages.d.ts
82
0644
edit
dl
rm
format-webpack-messages.js
8498
0644
edit
dl
rm
format-webpack-messages.js.map
12994
0644
edit
dl
rm
get-hostname.d.ts
454
0644
edit
dl
rm
get-hostname.js
679
0644
edit
dl
rm
get-hostname.js.map
1382
0644
edit
dl
rm
get-img-props.d.ts
3354
0644
edit
dl
rm
get-img-props.js
25201
0644
edit
dl
rm
get-img-props.js.map
37862
0644
edit
dl
rm
get-rspack.d.ts
100
0644
edit
dl
rm
get-rspack.js
2585
0644
edit
dl
rm
get-rspack.js.map
2797
0644
edit
dl
rm
get-webpack-bundler.d.ts
264
0644
edit
dl
rm
get-webpack-bundler.js
632
0644
edit
dl
rm
get-webpack-bundler.js.map
725
0644
edit
dl
rm
hash.d.ts
109
0644
edit
dl
rm
hash.js
1326
0644
edit
dl
rm
hash.js.map
1526
0644
edit
dl
rm
head-manager-context.shared-runtime.d.ts
288
0644
edit
dl
rm
head-manager-context.shared-runtime.js
616
0644
edit
dl
rm
head-manager-context.shared-runtime.js.map
863
0644
edit
dl
rm
head.d.ts
446
0644
edit
dl
rm
head.js
7006
0644
edit
dl
rm
head.js.map
9606
0644
edit
dl
rm
hooks-client-context.shared-runtime.d.ts
308
0644
edit
dl
rm
hooks-client-context.shared-runtime.js
1108
0644
edit
dl
rm
hooks-client-context.shared-runtime.js.map
1145
0644
edit
dl
rm
html-context.shared-runtime.d.ts
1889
0644
edit
dl
rm
html-context.shared-runtime.js
1149
0644
edit
dl
rm
html-context.shared-runtime.js.map
2787
0644
edit
dl
rm
image-blur-svg.d.ts
370
0644
edit
dl
rm
image-blur-svg.js
1495
0644
edit
dl
rm
image-blur-svg.js.map
2122
0644
edit
dl
rm
image-config-context.shared-runtime.d.ts
163
0644
edit
dl
rm
image-config-context.shared-runtime.js
693
0644
edit
dl
rm
image-config-context.shared-runtime.js.map
766
0644
edit
dl
rm
image-config.d.ts
4303
0644
edit
dl
rm
image-config.js
1428
0644
edit
dl
rm
image-config.js.map
5941
0644
edit
dl
rm
image-external.d.ts
742
0644
edit
dl
rm
image-external.js
1485
0644
edit
dl
rm
image-external.js.map
2176
0644
edit
dl
rm
image-loader.d.ts
271
0644
edit
dl
rm
image-loader.js
5071
0644
edit
dl
rm
image-loader.js.map
6760
0644
edit
dl
rm
invariant-error.d.ts
112
0644
edit
dl
rm
invariant-error.js
501
0644
edit
dl
rm
invariant-error.js.map
682
0644
edit
dl
rm
is-internal.d.ts
355
0644
edit
dl
rm
is-internal.js
1298
0644
edit
dl
rm
is-internal.js.map
1297
0644
edit
dl
rm
is-plain-object.d.ts
125
0644
edit
dl
rm
is-plain-object.js
1180
0644
edit
dl
rm
is-plain-object.js.map
1250
0644
edit
dl
rm
is-thenable.d.ts
233
0644
edit
dl
rm
is-thenable.js
537
0644
edit
dl
rm
is-thenable.js.map
679
0644
edit
dl
rm
loadable-context.shared-runtime.d.ts
156
0644
edit
dl
rm
loadable-context.shared-runtime.js
613
0644
edit
dl
rm
loadable-context.shared-runtime.js.map
652
0644
edit
dl
rm
loadable.shared-runtime.d.ts
1543
0644
edit
dl
rm
loadable.shared-runtime.js
8458
0644
edit
dl
rm
loadable.shared-runtime.js.map
13840
0644
edit
dl
rm
magic-identifier.d.ts
128
0644
edit
dl
rm
magic-identifier.js
3654
0644
edit
dl
rm
magic-identifier.js.map
4146
0644
edit
dl
rm
match-local-pattern.d.ts
253
0644
edit
dl
rm
match-local-pattern.js
1301
0644
edit
dl
rm
match-local-pattern.js.map
1696
0644
edit
dl
rm
match-remote-pattern.d.ts
268
0644
edit
dl
rm
match-remote-pattern.js
1931
0644
edit
dl
rm
match-remote-pattern.js.map
2723
0644
edit
dl
rm
mitt.d.ts
263
0644
edit
dl
rm
mitt.js
2247
0644
edit
dl
rm
mitt.js.map
3014
0644
edit
dl
rm
modern-browserslist-target.d.ts
199
0644
edit
dl
rm
modern-browserslist-target.js
652
0644
edit
dl
rm
modern-browserslist-target.js.map
893
0644
edit
dl
rm
no-fallback-error.external.d.ts
74
0644
edit
dl
rm
no-fallback-error.external.js
408
0644
edit
dl
rm
no-fallback-error.external.js.map
426
0644
edit
dl
rm
normalized-asset-prefix.d.ts
88
0644
edit
dl
rm
normalized-asset-prefix.js
961
0644
edit
dl
rm
normalized-asset-prefix.js.map
1314
0644
edit
dl
rm
promise-with-resolvers.d.ts
82
0644
edit
dl
rm
promise-with-resolvers.js
606
0644
edit
dl
rm
promise-with-resolvers.js.map
779
0644
edit
dl
rm
router-context.shared-runtime.d.ts
148
0644
edit
dl
rm
router-context.shared-runtime.js
587
0644
edit
dl
rm
router-context.shared-runtime.js.map
622
0644
edit
dl
rm
runtime-config.external.d.ts
293
0644
edit
dl
rm
runtime-config.external.js
722
0644
edit
dl
rm
runtime-config.external.js.map
672
0644
edit
dl
rm
segment.d.ts
504
0644
edit
dl
rm
segment.js
1562
0644
edit
dl
rm
segment.js.map
1733
0644
edit
dl
rm
server-inserted-html.shared-runtime.d.ts
288
0644
edit
dl
rm
server-inserted-html.shared-runtime.js
1171
0644
edit
dl
rm
server-inserted-html.shared-runtime.js.map
1347
0644
edit
dl
rm
server-reference-info.d.ts
1146
0644
edit
dl
rm
server-reference-info.js
1601
0644
edit
dl
rm
server-reference-info.js.map
3342
0644
edit
dl
rm
side-effect.d.ts
452
0644
edit
dl
rm
side-effect.js
2749
0644
edit
dl
rm
side-effect.js.map
3947
0644
edit
dl
rm
styled-jsx.d.ts
43
0644
edit
dl
rm
styled-jsx.js
99
0644
edit
dl
rm
styled-jsx.js.map
231
0644
edit
dl
rm
utils.d.ts
9201
0644
edit
dl
rm
utils.js
6289
0644
edit
dl
rm
utils.js.map
16073
0644
edit
dl
rm
zod.d.ts
381
0644
edit
dl
rm
zod.js
3359
0644
edit
dl
rm
zod.js.map
4507
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/shared/lib/get-img-props.js.map
(37862B)
{"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":["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","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","_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","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","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","getImageBlurSvg","backgroundSize","placeholderStyle","backgroundPosition","backgroundRepeat","imgAttributes","fullUrl","e","location","href","set","props","meta"],"mappings":"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","ignoreList":[0]}
Save
cmd:
run