Duffer Derek

Current Path : /var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/next/dist/client/
Upload File :
Current File : /var/www/uibuilder.cmshelp.dk/httpdocs/node_modules/next/dist/client/image-component.js.map

{"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// @ts-ignore - 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 = {\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    // See https://github.com/facebook/react/pull/26940\n    ReactDOM.preload(\n      imgAttributes.src,\n      // @ts-expect-error TODO: upgrade to `@types/react-dom@18.3.x`\n      opts\n    )\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      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 { ...c, allSizes, deviceSizes, qualities }\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\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.priority ? (\n          <ImagePreload\n            isAppRouter={isAppRouter}\n            imgAttributes={imgAttributes}\n          />\n        ) : null}\n      </>\n    )\n  }\n)\n"],"names":["Image","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","warnOnce","position","getComputedStyle","valid","includes","map","String","join","height","heightModified","toString","widthModified","getDynamicProps","fetchPriority","Boolean","use","fetchpriority","ImageElement","forwardRef","forwardedRef","srcSet","sizes","decoding","className","style","loading","fill","setShowAltText","onLoad","onError","rest","ownRef","useCallback","console","error","complete","ref","useMergedRef","data-nimg","ImagePreload","isAppRouter","imgAttributes","opts","as","imageSrcSet","imageSizes","crossOrigin","referrerPolicy","ReactDOM","preload","Head","link","rel","href","undefined","props","pagesRouter","useContext","RouterContext","configContext","ImageConfigContext","config","useMemo","c","imageConfigDefault","allSizes","deviceSizes","sort","a","b","qualities","onLoadingComplete","useRef","useEffect","blurComplete","useState","showAltText","meta","imgMeta","getImgProps","defaultLoader","imgConf","priority"],"mappings":"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"}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists