PHP 7.4.33
Preview: LoadScriptNext.tsx Size: 1.29 KB
/var/www/sitesecurity.bitkit.dk/httpdocs/node_modules/@react-google-maps/api/src/LoadScriptNext.tsx
import { memo, type ReactElement, useEffect, type JSX } from 'react'

import { DefaultLoadingElement } from './LoadScript.js'
import { useLoadScript, type UseLoadScriptOptions } from './useLoadScript.js'

export type LoadScriptNextProps = UseLoadScriptOptions & {
  loadingElement?: ReactElement | undefined
  onLoad?: (() => void) | undefined
  onError?: ((error: Error) => void) | undefined
  onUnmount?: (() => void) | undefined
  children: ReactElement
}

const defaultLoadingElement = <DefaultLoadingElement />

function LoadScriptNext({
  loadingElement,
  onLoad,
  onError,
  onUnmount,
  children,
  ...hookOptions
}: LoadScriptNextProps): JSX.Element {
  const { isLoaded, loadError } = useLoadScript(hookOptions)

  useEffect(
    function handleOnLoad() {
      if (isLoaded && typeof onLoad === 'function') {
        onLoad()
      }
    },
    [isLoaded, onLoad]
  )

  useEffect(
    function handleOnError() {
      if (loadError && typeof onError === 'function') {
        onError(loadError)
      }
    },
    [loadError, onError]
  )

  useEffect(
    function handleOnUnmount() {
      return () => {
        if (onUnmount) {
          onUnmount()
        }
      }
    },
    [onUnmount]
  )

  return isLoaded ? children : loadingElement || defaultLoadingElement
}

export default memo(LoadScriptNext)

Directory Contents

Dirs: 4 × Files: 15
Name Size Perms Modified Actions
- drwxr-xr-x 2026-04-28 09:11:40
Edit Download
docs DIR
- drwxr-xr-x 2026-04-28 09:11:40
Edit Download
utils DIR
- drwxr-xr-x 2026-04-28 09:11:40
Edit Download
__tests__ DIR
- drwxr-xr-x 2026-04-28 09:11:40
Edit Download
939 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
829 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
16.12 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
3.56 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
6.24 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
198 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
1.29 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
479 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
8.56 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
270 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
275 B lrw-r--r-- 2026-04-28 09:11:40
Edit Download
1.37 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
2.71 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
1.39 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
3.50 KB lrw-r--r-- 2026-04-28 09:11:40
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).