{"version":3,"sources":["../../src/GoogleMap/index.tsx"],"names":["getConnectedEventsAndProps_default","handleHas_default","forwardRef","useMemo","render","noop","props","useState","jsx","MapContext_default","PanesContext_default","GoogleMapsLoader","MAPS","useHandlersAndProps_default","handleRef_default","setRef","Suspense"],"mappings":"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","file":"chunk-ZZP22YHO.cjs","sourcesContent":["'use client';\n\nimport {\n  type ComponentProps,\n  type FC,\n  type PropsWithChildren,\n  type SuspenseProps,\n  type ForwardedRef,\n  type ReactElement,\n  Suspense,\n  forwardRef,\n  useMemo,\n  useState,\n} from 'react';\nimport type {\n  CombineProps,\n  GetValue,\n  DragEventName,\n  MouseHandlers,\n} from '../types';\nimport MapContext from '../utils/MapContext';\nimport useHandlersAndProps from '../utils/useHandlersAndProps';\nimport getConnectedEventsAndProps from '../utils/getConnectedEventsAndProps';\nimport setRef from 'react-helpful-utils/setRef';\nimport { GoogleMapsLoader } from 'google-maps-js-api-loader';\nimport { MAPS } from '../utils/constants';\nimport noop from 'lodash.noop';\nimport PanesContext from '../utils/PanesContext';\nimport handleHas from '../utils/handleHas';\nimport handleRef from '../utils/handleRef';\nimport { jsx } from 'react/jsx-runtime';\n\ntype Props = CombineProps<\n  google.maps.Map,\n  {\n    onBoundsChanged: [bounds: GetValue<google.maps.Map, 'bounds'>];\n    onCenterChanged: [center: GetValue<google.maps.Map, 'center'>];\n    onDrag: [];\n    onDragEnd: [];\n    onDragStart: [];\n    onHeadingChanged: [heading: GetValue<google.maps.Map, 'heading'>];\n    onIdle: [];\n    onMapTypeIdChanged: [mapTypeId: GetValue<google.maps.Map, 'mapTypeId'>];\n    onProjectionChanged: [projection: GetValue<google.maps.Map, 'projection'>];\n    onResize: [];\n    onTilesLoaded: [];\n    onTiltChanged: [tilt: GetValue<google.maps.Map, 'tilt'>];\n    onZoomChanged: [zoom: GetValue<google.maps.Map, 'zoom'>];\n  } & Omit<MouseHandlers, DragEventName>,\n  {\n    center: true;\n    /**\n     * When `false`, map icons are not clickable. A map icon represents a point of interest, also known as a POI.\n     */\n    clickableIcons: true;\n    /**\n     * The heading for aerial imagery in degrees measured clockwise from cardinal direction North. Headings are snapped to the nearest available angle for which imagery is available.\n     */\n    heading: true;\n    /**\n     * The initial Map mapTypeId. Defaults to **ROADMAP**.\n     */\n    mapTypeId: true;\n    /**\n     * A {@link google.maps.StreetViewPanorama StreetViewPanorama} to display when the Street View pegman is dropped on the map. If no panorama is specified, a default {@link google.maps.StreetViewPanorama StreetViewPanorama} will be displayed in the map's div when the pegman is dropped.\n     */\n    streetView: true;\n    /**\n     * The initial Map zoom level. Valid zoom values are numbers from zero up to the supported maximum zoom level. Larger zoom values correspond to a higher resolution.\n     */\n    zoom: true;\n  }\n> &\n  Pick<ComponentProps<'div'>, 'className' | 'style' | 'id'> &\n  Pick<SuspenseProps, 'fallback'>;\n\nexport type GoogleMapProps = ComponentProps<typeof GoogleMap>;\n\nconst MAX_LAT = (Math.atan(Math.sinh(Math.PI)) * 180) / Math.PI;\n\nconst connectedEventsAndProps = getConnectedEventsAndProps<google.maps.Map>([\n  'center',\n  'heading',\n  'mapTypeId',\n  'tilt',\n  'zoom',\n  'bounds',\n]);\n\nconst isKeyOmitted = handleHas<GoogleMapProps>([\n  'className',\n  'style',\n  'id',\n  'children',\n  'defaultOptions',\n  'fallback',\n]);\n\ntype RenderMap = ((\n  props: PropsWithChildren<Props>,\n  ref: ForwardedRef<google.maps.Map>\n) => ReactElement) & {\n  _isFree?: boolean;\n};\n\nconst mapsStorage = new Map<string, Array<RenderMap>>();\n\nconst GoogleMap = forwardRef<google.maps.Map, PropsWithChildren<Props>>(\n  (props, ref) => {\n    const { defaultOptions = {} } = props;\n\n    const key = `${defaultOptions.backgroundColor || ''},${\n      defaultOptions.controlSize || 40\n    },${defaultOptions.mapId || ''},${defaultOptions.renderingType || ''}`;\n\n    return useMemo(() => {\n      if (!mapsStorage.has(key)) {\n        mapsStorage.set(key, []);\n      }\n\n      const components = mapsStorage.get(key)!;\n\n      for (let i = 0; i < components.length; i++) {\n        const render = components[i];\n\n        if (render._isFree) {\n          return render;\n        }\n      }\n\n      let map: google.maps.Map | undefined;\n\n      let panes: google.maps.MapPanes | undefined;\n\n      let mapPromise: Promise<void> | undefined;\n\n      let resolveMap: () => void = noop;\n\n      let isPanesPending = true;\n\n      const Content: FC<PropsWithChildren> = (props) => {\n        const forceRerender = useState<{}>()[1];\n\n        if (panes) {\n          return (\n            <MapContext.Provider value={map!}>\n              <PanesContext.Provider value={panes}>\n                {props.children}\n              </PanesContext.Provider>\n            </MapContext.Provider>\n          );\n        }\n\n        if (isPanesPending) {\n          isPanesPending = false;\n\n          const overlayView = new (GoogleMapsLoader.get(MAPS)!.OverlayView)();\n\n          overlayView.onRemove = overlayView.draw = noop;\n\n          overlayView.onAdd = () => {\n            panes = overlayView.getPanes()!;\n\n            overlayView.setMap(null);\n\n            forceRerender(panes);\n          };\n\n          overlayView.setMap(map!);\n        }\n\n        return null;\n      };\n\n      const SuspendedGoogleMap: FC<PropsWithChildren<Props>> = (props) => {\n        if (map) {\n          const { children } = props;\n\n          useHandlersAndProps<PropsWithChildren<Props>, google.maps.Map>(\n            props,\n            connectedEventsAndProps,\n            isKeyOmitted\n          )(map);\n\n          return children ? <Content>{children}</Content> : null;\n        }\n\n        if (GoogleMapsLoader.getStatus(MAPS) == 'error') {\n          throw GoogleMapsLoader.getError(MAPS);\n        }\n\n        if (!mapPromise) {\n          mapPromise = new Promise((resolve) => {\n            resolveMap = () => {\n              resolveMap = noop;\n\n              mapPromise = undefined;\n\n              resolve();\n            };\n          });\n        }\n\n        throw mapPromise;\n      };\n\n      const divRef = handleRef<HTMLDivElement>((el) => {\n        let isAlive = true;\n\n        const options = {\n          ...props.defaultOptions,\n          ...props,\n        };\n\n        const _ref = ref;\n\n        props = ref = undefined!;\n\n        if (map) {\n          map.setOptions(options);\n\n          map.moveCamera({});\n\n          el.prepend(map.getDiv());\n\n          setRef(_ref, map);\n        } else {\n          const handleMap = () => {\n            if (isAlive) {\n              const div = document.createElement('div');\n\n              div.style.width = div.style.height = '100%';\n\n              map = new (GoogleMapsLoader.get(MAPS)!.Map)(div, options);\n\n              resolveMap();\n\n              el.prepend(div);\n\n              setRef(_ref, map);\n            }\n          };\n\n          if (GoogleMapsLoader.getStatus(MAPS) == 'loaded') {\n            handleMap();\n          } else {\n            GoogleMapsLoader.load(MAPS).then(handleMap, () => {\n              resolveMap();\n            });\n          }\n        }\n\n        return () => {\n          isAlive = false;\n\n          render._isFree = true;\n\n          resolveMap();\n\n          if (map) {\n            const { ControlPosition, MapTypeId } = google.maps;\n\n            map.setOptions({\n              clickableIcons: true,\n              disableDefaultUI: false,\n              disableDoubleClickZoom: false,\n              draggable: true,\n              draggableCursor: null,\n              draggingCursor: null,\n              fullscreenControl: true,\n              fullscreenControlOptions: {\n                position: ControlPosition.INLINE_END_BLOCK_START,\n              },\n              gestureHandling: 'auto',\n              headingInteractionEnabled: false,\n              isFractionalZoomEnabled:\n                map.getRenderingType() == google.maps.RenderingType.VECTOR,\n              keyboardShortcuts: true,\n              mapTypeControl: true,\n              mapTypeControlOptions: {\n                mapTypeIds: [\n                  MapTypeId.ROADMAP,\n                  MapTypeId.SATELLITE,\n                  MapTypeId.HYBRID,\n                  MapTypeId.TERRAIN,\n                ],\n                position: ControlPosition.BLOCK_START_INLINE_START,\n                style: google.maps.MapTypeControlStyle.DEFAULT,\n              },\n              mapTypeId: MapTypeId.ROADMAP,\n              maxZoom: null,\n              minZoom: null,\n              noClear: false,\n              panControl: false,\n              panControlOptions: {\n                position: ControlPosition.INLINE_END_BLOCK_END,\n              },\n              restriction: {\n                latLngBounds: {\n                  west: -180,\n                  east: 180,\n                  north: MAX_LAT,\n                  south: -MAX_LAT,\n                },\n                strictBounds: false,\n              },\n              rotateControl: false,\n              rotateControlOptions: {\n                position: ControlPosition.INLINE_END_BLOCK_END,\n              },\n              scaleControl: false,\n              scaleControlOptions: {\n                style: google.maps.ScaleControlStyle.DEFAULT,\n              },\n              scrollwheel: true,\n              streetView: null,\n              streetViewControl: true,\n              styles: null,\n              tiltInteractionEnabled: false,\n              zoomControl: true,\n              zoomControlOptions: {\n                position: ControlPosition.INLINE_END_BLOCK_END,\n              },\n            });\n\n            map.moveCamera({ tilt: 0, heading: 0 });\n\n            setRef(_ref, null);\n          }\n        };\n      });\n\n      const render: RenderMap = (_props, _ref) => {\n        if (render._isFree) {\n          props = _props;\n\n          ref = _ref;\n\n          render._isFree = false;\n        }\n\n        return (\n          <div\n            ref={divRef}\n            className={_props.className}\n            style={_props.style}\n            id={_props.id}\n          >\n            <Suspense fallback={_props.fallback || null}>\n              {jsx(SuspendedGoogleMap, _props)}\n            </Suspense>\n          </div>\n        );\n      };\n\n      components.push(render);\n\n      return render;\n    }, [key])(props, ref);\n  }\n);\n\nexport default GoogleMap;\n"]}