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>
1 line
No EOL
22 KiB
Text
1 line
No EOL
22 KiB
Text
{"version":3,"sources":["../../src/client/image-component.tsx"],"sourcesContent":["'use client'\n\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useState,\n forwardRef,\n use,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport Head from '../shared/lib/head'\nimport { getImgProps } from '../shared/lib/get-img-props'\nimport type {\n ImageProps,\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from '../shared/lib/get-img-props'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n} from '../shared/lib/image-config'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport { ImageConfigContext } from '../shared/lib/image-config-context.shared-runtime'\nimport { warnOnce } from '../shared/lib/utils/warn-once'\nimport { RouterContext } from '../shared/lib/router-context.shared-runtime'\n\n// This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\nimport { useMergedRef } from './use-merged-ref'\n\n// This is replaced by webpack define plugin\nconst configEnv = process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete\n\nif (typeof window === 'undefined') {\n ;(globalThis as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nexport type { ImageLoaderProps }\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\ntype ImgElementWithDataProp = HTMLImageElement & {\n 'data-loaded-src': string | undefined\n}\n\ntype ImageElementProps = ImgProps & {\n unoptimized: boolean\n placeholder: PlaceholderValue\n onLoadRef: React.MutableRefObject<OnLoad | undefined>\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>\n setBlurComplete: (b: boolean) => void\n setShowAltText: (b: boolean) => void\n sizesInput: string | undefined\n}\n\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(\n img: ImgElementWithDataProp,\n placeholder: PlaceholderValue,\n onLoadRef: React.MutableRefObject<OnLoad | undefined>,\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>,\n setBlurComplete: (b: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined\n) {\n const src = img?.src\n if (!img || img['data-loaded-src'] === src) {\n return\n }\n img['data-loaded-src'] = src\n const p = 'decode' in img ? img.decode() : Promise.resolve()\n p.catch(() => {}).then(() => {\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true)\n }\n if (onLoadRef?.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load')\n Object.defineProperty(event, 'target', { writable: false, value: img })\n let prevented = false\n let stopped = false\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: () => prevented,\n isPropagationStopped: () => stopped,\n persist: () => {},\n preventDefault: () => {\n prevented = true\n event.preventDefault()\n },\n stopPropagation: () => {\n stopped = true\n event.stopPropagation()\n },\n })\n }\n if (onLoadingCompleteRef?.current) {\n onLoadingCompleteRef.current(img)\n }\n if (process.env.NODE_ENV !== 'production') {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n } else {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement)\n const valid = ['absolute', 'fixed', 'relative']\n if (!valid.includes(position)) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and parent element with invalid \"position\". Provided \"${position}\" should be one of ${valid\n .map(String)\n .join(',')}.`\n )\n }\n }\n if (img.height === 0) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.`\n )\n }\n }\n\n const heightModified =\n img.height.toString() !== img.getAttribute('height')\n const widthModified = img.width.toString() !== img.getAttribute('width')\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n warnOnce(\n `Image with src \"${origSrc}\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: \"auto\"' or 'height: \"auto\"' to maintain the aspect ratio.`\n )\n }\n }\n })\n}\n\nfunction getDynamicProps(\n fetchPriority?: string\n): Record<string, string | undefined> {\n if (Boolean(use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return { fetchPriority }\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return { fetchpriority: fetchPriority }\n}\n\nconst ImageElement = forwardRef<HTMLImageElement | null, ImageElementProps>(\n (\n {\n src,\n srcSet,\n sizes,\n height,\n width,\n decoding,\n className,\n style,\n fetchPriority,\n placeholder,\n loading,\n unoptimized,\n fill,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n setShowAltText,\n sizesInput,\n onLoad,\n onError,\n ...rest\n },\n forwardedRef\n ) => {\n const ownRef = useCallback(\n (img: ImgElementWithDataProp | null) => {\n if (!img) {\n return\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n console.error(`Image is missing required \"src\" property:`, img)\n }\n if (img.getAttribute('alt') === null) {\n console.error(\n `Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.`\n )\n }\n }\n if (img.complete) {\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }\n },\n [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n ]\n )\n\n const ref = useMergedRef(forwardedRef, ownRef)\n\n return (\n <img\n {...rest}\n {...getDynamicProps(fetchPriority)}\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading={loading}\n width={width}\n height={height}\n decoding={decoding}\n data-nimg={fill ? 'fill' : '1'}\n className={className}\n style={style}\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 sizes={sizes}\n srcSet={srcSet}\n src={src}\n ref={ref}\n onLoad={(event) => {\n const img = event.currentTarget as ImgElementWithDataProp\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }}\n onError={(event) => {\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true)\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true)\n }\n if (onError) {\n onError(event)\n }\n }}\n />\n )\n }\n)\n\nfunction ImagePreload({\n isAppRouter,\n imgAttributes,\n}: {\n isAppRouter: boolean\n imgAttributes: ImgProps\n}) {\n const opts: ReactDOM.PreloadOptions = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority),\n }\n\n if (isAppRouter && ReactDOM.preload) {\n ReactDOM.preload(imgAttributes.src, opts)\n return null\n }\n\n return (\n <Head>\n <link\n key={\n '__nimg-' +\n imgAttributes.src +\n imgAttributes.srcSet +\n imgAttributes.sizes\n }\n rel=\"preload\"\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href={imgAttributes.srcSet ? undefined : imgAttributes.src}\n {...opts}\n />\n </Head>\n )\n}\n\n/**\n * The `Image` component is used to optimize images.\n *\n * Read more: [Next.js docs: `Image`](https://nextjs.org/docs/app/api-reference/components/image)\n */\nexport const Image = forwardRef<HTMLImageElement | null, ImageProps>(\n (props, forwardedRef) => {\n const pagesRouter = useContext(RouterContext)\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter\n\n const configContext = useContext(ImageConfigContext)\n const config = useMemo(() => {\n const c = configEnv || configContext || imageConfigDefault\n\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 return {\n ...c,\n allSizes,\n deviceSizes,\n qualities,\n // During the SSR, configEnv (__NEXT_IMAGE_OPTS) does not include\n // security sensitive configs like `localPatterns`, which is needed\n // during the server render to ensure it's validated. Therefore use\n // configContext, which holds the config from the server for validation.\n localPatterns:\n typeof window === 'undefined'\n ? configContext?.localPatterns\n : c.localPatterns,\n }\n }, [configContext])\n\n const { onLoad, onLoadingComplete } = props\n const onLoadRef = useRef(onLoad)\n\n useEffect(() => {\n onLoadRef.current = onLoad\n }, [onLoad])\n\n const onLoadingCompleteRef = useRef(onLoadingComplete)\n\n useEffect(() => {\n onLoadingCompleteRef.current = onLoadingComplete\n }, [onLoadingComplete])\n\n const [blurComplete, setBlurComplete] = useState(false)\n const [showAltText, setShowAltText] = useState(false)\n const { props: imgAttributes, meta: imgMeta } = getImgProps(props, {\n defaultLoader,\n imgConf: config,\n blurComplete,\n showAltText,\n })\n\n return (\n <>\n {\n <ImageElement\n {...imgAttributes}\n unoptimized={imgMeta.unoptimized}\n placeholder={imgMeta.placeholder}\n fill={imgMeta.fill}\n onLoadRef={onLoadRef}\n onLoadingCompleteRef={onLoadingCompleteRef}\n setBlurComplete={setBlurComplete}\n setShowAltText={setShowAltText}\n sizesInput={props.sizes}\n ref={forwardedRef}\n />\n }\n {imgMeta.preload ? (\n <ImagePreload\n isAppRouter={isAppRouter}\n imgAttributes={imgAttributes}\n />\n ) : null}\n </>\n )\n }\n)\n"],"names":["React","useRef","useEffect","useCallback","useContext","useMemo","useState","forwardRef","use","ReactDOM","Head","getImgProps","imageConfigDefault","ImageConfigContext","warnOnce","RouterContext","defaultLoader","useMergedRef","configEnv","process","env","__NEXT_IMAGE_OPTS","window","globalThis","__NEXT_IMAGE_IMPORTED","handleLoading","img","placeholder","onLoadRef","onLoadingCompleteRef","setBlurComplete","unoptimized","sizesInput","src","p","decode","Promise","resolve","catch","then","parentElement","isConnected","current","event","Event","Object","defineProperty","writable","value","prevented","stopped","nativeEvent","currentTarget","target","isDefaultPrevented","isPropagationStopped","persist","preventDefault","stopPropagation","NODE_ENV","origSrc","URL","searchParams","get","getAttribute","widthViewportRatio","getBoundingClientRect","width","innerWidth","position","getComputedStyle","valid","includes","map","String","join","height","heightModified","toString","widthModified","getDynamicProps","fetchPriority","Boolean","fetchpriority","ImageElement","srcSet","sizes","decoding","className","style","loading","fill","setShowAltText","onLoad","onError","rest","forwardedRef","ownRef","console","error","complete","ref","data-nimg","ImagePreload","isAppRouter","imgAttributes","opts","as","imageSrcSet","imageSizes","crossOrigin","referrerPolicy","preload","link","rel","href","undefined","Image","props","pagesRouter","configContext","config","c","allSizes","deviceSizes","sort","a","b","qualities","localPatterns","onLoadingComplete","blurComplete","showAltText","meta","imgMeta","imgConf"],"mappings":"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","ignoreList":[0]} |