@sanity/google-maps-input 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/loader/loadGoogleMapsApi.ts","../src/loader/LoadError.tsx","../src/loader/GoogleMapsLoadProxy.tsx","../src/map/SearchInput.styles.tsx","../src/map/SearchInput.tsx","../src/map/util.ts","../src/map/Map.styles.tsx","../src/map/Map.tsx","../src/map/Marker.tsx","../src/input/GeopointSelect.tsx","../src/input/GeopointInput.styles.tsx","../src/global-workaround.ts","../src/input/GeopointInput.tsx","../src/map/Arrow.tsx","../src/diff/GeopointMove.tsx","../src/diff/GeopointFieldDiff.styles.tsx","../src/diff/GeopointArrayDiff.tsx","../src/diff/GeopointFieldDiff.tsx","../src/plugin.tsx"],"sourcesContent":["declare global {\n // eslint-disable-next-line\n interface Window {\n gm_authFailure: any\n ___sanity_googleMapsApiCallback: any\n }\n}\n\nconst callbackName = '___sanity_googleMapsApiCallback'\nconst authFailureCallbackName = 'gm_authFailure'\n\nexport class AuthError extends Error {}\n\nfunction _loadGoogleMapsApi(config: {locale: string; apiKey: string}) {\n return new Promise<typeof window.google.maps>((resolve, reject) => {\n window[authFailureCallbackName] = () => {\n reject(new AuthError('Authentication error when loading Google Maps API.'))\n }\n\n window[callbackName] = () => {\n resolve(window.google.maps)\n }\n\n const script = document.createElement('script')\n script.onerror = (\n event: Event | string,\n source?: string,\n lineno?: number,\n colno?: number,\n error?: Error,\n ) => reject(new Error(coeerceError(event, error)))\n\n script.src = `https://maps.googleapis.com/maps/api/js?key=${config.apiKey}&libraries=places&callback=${callbackName}&language=${config.locale}`\n document.getElementsByTagName('head')[0].appendChild(script)\n }).finally(() => {\n delete window[callbackName]\n delete window[authFailureCallbackName]\n })\n}\n\nlet memo: Promise<typeof window.google.maps> | null = null\nexport function loadGoogleMapsApi(config: {\n locale: string\n apiKey: string\n}): Promise<typeof window.google.maps> {\n if (memo) {\n return memo\n }\n memo = _loadGoogleMapsApi(config)\n memo.catch(() => {\n memo = null\n })\n return memo\n}\nfunction coeerceError(event: Event | string, error?: Error): string {\n if (error) {\n return error.message\n }\n\n if (typeof event === 'string') {\n return event\n }\n\n return isErrorEvent(event) ? event.message : 'Failed to load Google Maps API'\n}\n\nfunction isErrorEvent(event: unknown): event is ErrorEvent {\n if (typeof event !== 'object' || event === null) {\n return false\n }\n\n if (!('message' in event)) {\n return false\n }\n\n return typeof (event as ErrorEvent).message === 'string'\n}\n","import * as React from 'react'\nimport {Card, Box, Text, Code} from '@sanity/ui'\n\ntype Props = {error: {message?: string}; isAuthError: false} | {isAuthError: true}\n\nexport function LoadError(props: Props) {\n return (\n <Card tone=\"critical\" radius={1}>\n <Box as=\"header\" paddingX={4} paddingTop={4} paddingBottom={1}>\n <Text as=\"h2\" weight=\"bold\">\n Google Maps failed to load\n </Text>\n </Box>\n\n <Box paddingX={4} paddingTop={4} paddingBottom={1}>\n {props.isAuthError ? (\n <AuthError />\n ) : (\n <>\n <Text as=\"h3\">Error details:</Text>\n <pre>\n <Code size={1}>{'error' in props && props.error?.message}</Code>\n </pre>\n </>\n )}\n </Box>\n </Card>\n )\n}\n\nfunction AuthError() {\n return (\n <Text>\n <p>The error appears to be related to authentication</p>\n <p>Common causes include:</p>\n <ul>\n <li>Incorrect API key</li>\n <li>Referer not allowed</li>\n <li>Missing authentication scope</li>\n </ul>\n <p>Check the browser developer tools for more information.</p>\n </Text>\n )\n}\n","import React, {useEffect, useState} from 'react'\nimport {AuthError, loadGoogleMapsApi} from './loadGoogleMapsApi'\nimport {LoadError as LoadErrorView} from './LoadError'\nimport {GoogleMapsInputConfig} from '../index'\n\ninterface LoadProps {\n children: (api: typeof window.google.maps) => React.ReactElement\n config: GoogleMapsInputConfig\n}\n\nconst browserLocale = (typeof window !== 'undefined' && window.navigator.language) || 'en'\n\ntype LoadState =\n | {\n type: 'loading'\n }\n | {\n type: 'loaded'\n api: typeof window.google.maps\n }\n | {\n type: 'error'\n error: {type: 'loadError' | 'authError'; message: string}\n }\n\nfunction useLoadGoogleMapsApi(config: {defaultLocale?: string; apiKey: string}): LoadState {\n const locale = config.defaultLocale || browserLocale || 'en-US'\n\n const [state, setState] = useState<LoadState>({type: 'loading'})\n\n useEffect(() => {\n loadGoogleMapsApi({locale, apiKey: config.apiKey}).then(\n (api) => setState({type: 'loaded', api}),\n (err) =>\n setState({\n type: 'error',\n error: {type: err instanceof AuthError ? 'authError' : 'loadError', message: err.message},\n }),\n )\n }, [locale, config.apiKey])\n return state\n}\n\nexport function GoogleMapsLoadProxy(props: LoadProps) {\n const loadState = useLoadGoogleMapsApi(props.config)\n switch (loadState.type) {\n case 'error':\n return (\n <LoadErrorView error={loadState.error} isAuthError={loadState.error.type === 'authError'} />\n )\n case 'loading':\n return <div>Loading Google Maps API</div>\n case 'loaded':\n return props.children(loadState.api)\n default:\n return null\n }\n}\n","import {styled} from 'styled-components'\n\nexport const WrapperContainer = styled.div`\n position: absolute;\n right: 10px;\n top: 10px;\n width: 220px;\n`\n","import * as React from 'react'\nimport {TextInput} from '@sanity/ui'\nimport {WrapperContainer} from './SearchInput.styles'\n\ninterface Props {\n api: typeof window.google.maps\n map: google.maps.Map\n onChange: (result: google.maps.places.PlaceResult) => void\n}\n\nexport class SearchInput extends React.PureComponent<Props> {\n searchInputRef = React.createRef<HTMLInputElement>()\n autoComplete: google.maps.places.Autocomplete | undefined\n\n handleChange = () => {\n if (!this.autoComplete) {\n return\n }\n\n this.props.onChange(this.autoComplete.getPlace())\n\n if (this.searchInputRef.current) {\n this.searchInputRef.current.value = ''\n }\n }\n\n componentDidMount() {\n const input = this.searchInputRef.current\n if (!input) {\n return\n }\n\n const {api, map} = this.props\n const {Circle, places, event} = api\n const searchBounds = new Circle({center: map.getCenter(), radius: 100}).getBounds()!\n this.autoComplete = new places.Autocomplete(input, {\n bounds: searchBounds,\n types: [], // return all kinds of places\n })\n\n event.addListener(this.autoComplete, 'place_changed', this.handleChange)\n }\n\n render() {\n return (\n <WrapperContainer>\n <TextInput\n name=\"place\"\n ref={this.searchInputRef}\n placeholder=\"Search for place or address\"\n padding={4}\n />\n </WrapperContainer>\n )\n }\n}\n","import {LatLng} from '../types'\n\nexport function latLngAreEqual(\n latLng1: LatLng | google.maps.LatLng,\n latLng2: LatLng | google.maps.LatLng,\n): boolean {\n const lat1 = typeof latLng1.lat === 'function' ? latLng1.lat() : latLng1.lat\n const lng1 = typeof latLng1.lng === 'function' ? latLng1.lng() : latLng1.lng\n\n const lat2 = typeof latLng2.lat === 'function' ? latLng2.lat() : latLng2.lat\n const lng2 = typeof latLng2.lng === 'function' ? latLng2.lng() : latLng2.lng\n\n return lat1 === lat2 && lng1 === lng2\n}\n","import {styled} from 'styled-components'\n\nexport const MapContainer = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n`\n","import React from 'react'\nimport {LatLng} from '../types'\nimport {latLngAreEqual} from './util'\nimport {MapContainer} from './Map.styles'\n\ninterface MapProps {\n api: typeof window.google.maps\n location: LatLng\n bounds?: google.maps.LatLngBounds\n defaultZoom?: number\n mapTypeControl?: boolean\n scrollWheel?: boolean\n controlSize?: number\n onClick?: (event: google.maps.MapMouseEvent) => void\n children?: (map: google.maps.Map) => React.ReactElement\n}\n\ninterface MapState {\n map: google.maps.Map | undefined\n}\n\nexport class GoogleMap extends React.PureComponent<MapProps, MapState> {\n static defaultProps = {\n defaultZoom: 8,\n scrollWheel: true,\n }\n\n state: MapState = {map: undefined}\n clickHandler: google.maps.MapsEventListener | undefined\n mapRef = React.createRef<HTMLDivElement>()\n mapEl: HTMLDivElement | null = null\n\n componentDidMount() {\n this.attachClickHandler()\n }\n\n attachClickHandler = () => {\n const map = this.state.map\n if (!map) {\n return\n }\n\n const {api, onClick} = this.props\n const {event} = api\n\n if (this.clickHandler) {\n this.clickHandler.remove()\n }\n\n if (onClick) {\n this.clickHandler = event.addListener(map, 'click', onClick)\n }\n }\n\n componentDidUpdate(prevProps: MapProps) {\n const map = this.state.map\n if (!map) {\n return\n }\n\n const {onClick, location, bounds} = this.props\n\n if (prevProps.onClick !== onClick) {\n this.attachClickHandler()\n }\n\n if (!latLngAreEqual(prevProps.location, location)) {\n map.panTo(this.getCenter())\n }\n\n if (bounds && (!prevProps.bounds || !bounds.equals(prevProps.bounds))) {\n map.fitBounds(bounds)\n }\n }\n\n componentWillUnmount() {\n if (this.clickHandler) {\n this.clickHandler.remove()\n }\n }\n\n getCenter(): google.maps.LatLng {\n const {location, api} = this.props\n return new api.LatLng(location.lat, location.lng)\n }\n\n constructMap(el: HTMLDivElement) {\n const {defaultZoom, api, mapTypeControl, controlSize, bounds, scrollWheel} = this.props\n\n const map = new api.Map(el, {\n zoom: defaultZoom,\n center: this.getCenter(),\n scrollwheel: scrollWheel,\n streetViewControl: false,\n mapTypeControl,\n controlSize,\n })\n\n if (bounds) {\n map.fitBounds(bounds)\n }\n\n return map\n }\n\n setMapElement = (element: HTMLDivElement | null) => {\n if (element && element !== this.mapEl) {\n const map = this.constructMap(element)\n this.setState({map}, this.attachClickHandler)\n }\n\n this.mapEl = element\n }\n\n render() {\n const {children} = this.props\n const {map} = this.state\n return (\n <>\n <MapContainer ref={this.setMapElement} />\n {children && map ? children(map) : null}\n </>\n )\n }\n}\n","import * as React from 'react'\nimport {LatLng} from '../types'\nimport {latLngAreEqual} from './util'\n\nconst markerPath =\n 'M 3.052 3.7 C 1.56 5.293 0.626 7.612 0.663 9.793 C 0.738 14.352 2.793 16.077 6.078 22.351 C 7.263 25.111 8.497 28.032 9.672 32.871 C 9.835 33.584 9.994 34.246 10.069 34.305 C 10.143 34.362 10.301 33.697 10.465 32.983 C 11.639 28.145 12.875 25.226 14.059 22.466 C 17.344 16.192 19.398 14.466 19.474 9.908 C 19.511 7.727 18.574 5.405 17.083 3.814 C 15.379 1.994 12.809 0.649 10.069 0.593 C 7.328 0.536 4.756 1.882 3.052 3.7 Z'\n\ninterface Props {\n api: typeof window.google.maps\n map: google.maps.Map\n onMove?: (event: google.maps.MapMouseEvent) => void\n onClick?: (event: google.maps.MapMouseEvent) => void\n position: LatLng | google.maps.LatLng\n zIndex?: number\n opacity?: number\n label?: string\n markerRef?: React.MutableRefObject<google.maps.Marker | undefined>\n color?: {background: string; border: string; text: string}\n}\n\nexport class Marker extends React.PureComponent<Props> {\n marker: google.maps.Marker | undefined\n\n eventHandlers: {\n move?: google.maps.MapsEventListener\n click?: google.maps.MapsEventListener\n } = {}\n\n componentDidMount() {\n const {position, api, map, onMove, zIndex, opacity, label, markerRef, color} = this.props\n const {Marker: GMarker} = api\n\n let icon: google.maps.Symbol | undefined\n if (color) {\n icon = {\n path: markerPath,\n fillOpacity: 1,\n fillColor: color.background,\n strokeColor: color.border,\n strokeWeight: 2,\n anchor: new api.Point(10, 35),\n labelOrigin: new api.Point(10, 11),\n }\n }\n\n this.marker = new GMarker({\n draggable: Boolean(onMove),\n position,\n map,\n zIndex,\n opacity,\n label,\n icon,\n })\n\n if (markerRef) {\n markerRef.current = this.marker\n }\n\n this.attachMoveHandler()\n this.attachClickHandler()\n }\n\n componentDidUpdate(prevProps: Props) {\n if (!this.marker) {\n return\n }\n\n const {position, onMove, label, zIndex, opacity, map} = this.props\n\n if (prevProps.onMove !== onMove) {\n this.attachMoveHandler()\n }\n\n if (!latLngAreEqual(prevProps.position, position)) {\n this.marker.setPosition(position)\n }\n\n if (prevProps.label !== label) {\n this.marker.setLabel(label || null)\n }\n\n if (prevProps.zIndex !== zIndex) {\n this.marker.setZIndex(zIndex || null)\n }\n\n if (prevProps.opacity !== opacity) {\n this.marker.setOpacity(opacity || null)\n }\n\n if (prevProps.map !== map) {\n this.marker.setMap(map)\n }\n }\n\n componentWillUnmount() {\n if (this.eventHandlers.move) {\n this.eventHandlers.move.remove()\n }\n\n if (this.marker) {\n this.marker.setMap(null)\n }\n }\n\n attachMoveHandler() {\n const {api, onMove} = this.props\n if (this.eventHandlers.move) {\n this.eventHandlers.move.remove()\n }\n if (this.marker && onMove) {\n this.eventHandlers.move = api.event.addListener(this.marker, 'dragend', onMove)\n }\n }\n\n attachClickHandler() {\n const {api, onClick} = this.props\n if (this.eventHandlers.click) {\n this.eventHandlers.click.remove()\n }\n if (this.marker && onClick) {\n this.eventHandlers.click = api.event.addListener(this.marker, 'click', onClick)\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n render(): any {\n return null\n }\n}\n","import React from 'react'\nimport {SearchInput} from '../map/SearchInput'\nimport {GoogleMap} from '../map/Map'\nimport {Marker} from '../map/Marker'\nimport {LatLng, Geopoint} from '../types'\n\nconst fallbackLatLng: LatLng = {lat: 40.7058254, lng: -74.1180863}\n\ninterface SelectProps {\n api: typeof window.google.maps\n value?: Geopoint\n onChange?: (latLng: google.maps.LatLng) => void\n defaultLocation?: LatLng\n defaultZoom?: number\n}\n\nexport class GeopointSelect extends React.PureComponent<SelectProps> {\n static defaultProps = {\n defaultZoom: 8,\n defaultLocation: {lng: 10.74609, lat: 59.91273},\n }\n\n mapRef = React.createRef<HTMLDivElement>()\n\n getCenter() {\n const {value = {}, defaultLocation = {}} = this.props\n const point: LatLng = {...fallbackLatLng, ...defaultLocation, ...value}\n return point\n }\n\n handlePlaceChanged = (place: google.maps.places.PlaceResult) => {\n if (!place.geometry?.location) {\n return\n }\n\n this.setValue(place.geometry.location)\n }\n\n handleMarkerDragEnd = (event: google.maps.MapMouseEvent) => {\n if (event.latLng) this.setValue(event.latLng)\n }\n\n handleMapClick = (event: google.maps.MapMouseEvent) => {\n if (event.latLng) this.setValue(event.latLng)\n }\n\n setValue(geoPoint: google.maps.LatLng) {\n if (this.props.onChange) {\n this.props.onChange(geoPoint)\n }\n }\n\n render() {\n const {api, defaultZoom, value, onChange} = this.props\n return (\n <GoogleMap\n api={api}\n location={this.getCenter()}\n onClick={this.handleMapClick}\n defaultZoom={defaultZoom}\n >\n {(map) => (\n <>\n <SearchInput api={api} map={map} onChange={this.handlePlaceChanged} />\n {value && (\n <Marker\n api={api}\n map={map}\n position={value}\n onMove={onChange ? this.handleMarkerDragEnd : undefined}\n />\n )}\n </>\n )}\n </GoogleMap>\n )\n }\n}\n","import {styled} from 'styled-components'\n\nexport const PreviewImage = styled.img`\n width: 100%;\n height: auto;\n vertical-align: top;\n`\n\nexport const DialogInnerContainer = styled.div`\n height: 40rem;\n width: 50rem;\n`\n","import {GoogleMapsInputConfig} from './index'\n\nlet config: GoogleMapsInputConfig\n\nexport function getGeoConfig(): GoogleMapsInputConfig {\n return config as GoogleMapsInputConfig\n}\n\nexport function setGeoConfig(newConfig: GoogleMapsInputConfig): void {\n config = newConfig\n}\n","import React from 'react'\nimport {uniqueId} from 'lodash'\nimport {Box, Button, Dialog, Grid, Stack} from '@sanity/ui'\nimport {EditIcon, TrashIcon} from '@sanity/icons'\nimport {ObjectInputProps, set, setIfMissing, unset, ChangeIndicator} from 'sanity'\nimport {GoogleMapsLoadProxy} from '../loader/GoogleMapsLoadProxy'\nimport {Geopoint, GeopointSchemaType, LatLng} from '../types'\nimport {GeopointSelect} from './GeopointSelect'\nimport {DialogInnerContainer, PreviewImage} from './GeopointInput.styles'\nimport {GoogleMapsInputConfig} from '../index'\nimport {getGeoConfig} from '../global-workaround'\n\nconst getStaticImageUrl = (value: LatLng, apiKey: string) => {\n const loc = `${value.lat},${value.lng}`\n const params = {\n key: apiKey,\n center: loc,\n markers: loc,\n zoom: 13,\n scale: 2,\n size: '640x300',\n } as const\n const qs = Object.keys(params).reduce((res, param) => {\n return res.concat(`${param}=${encodeURIComponent(params[param as keyof typeof params])}`)\n }, [] as string[])\n\n return `https://maps.googleapis.com/maps/api/staticmap?${qs.join('&')}`\n}\n\nexport type GeopointInputProps = ObjectInputProps<Geopoint, GeopointSchemaType> & {\n geoConfig: GoogleMapsInputConfig\n}\n\ntype Focusable = any\n\ninterface InputState {\n modalOpen: boolean\n}\n\nclass GeopointInput extends React.PureComponent<GeopointInputProps, InputState> {\n _geopointInputId = uniqueId('GeopointInput')\n\n editButton: Focusable | undefined\n\n constructor(props: GeopointInputProps) {\n super(props)\n\n this.state = {\n modalOpen: false,\n }\n }\n\n setEditButton = (el: Focusable) => {\n this.editButton = el\n }\n\n focus() {\n if (this.editButton) {\n this.editButton.focus()\n }\n }\n\n handleToggleModal = () => {\n this.setState((prevState) => ({modalOpen: !prevState.modalOpen}))\n }\n\n handleCloseModal = () => {\n this.setState({modalOpen: false})\n }\n\n handleChange = (latLng: google.maps.LatLng) => {\n const {schemaType, onChange} = this.props\n onChange([\n setIfMissing({\n _type: schemaType.name,\n }),\n set(latLng.lat(), ['lat']),\n set(latLng.lng(), ['lng']),\n ])\n }\n\n handleClear = () => {\n const {onChange} = this.props\n onChange(unset())\n }\n\n render() {\n const {value, readOnly, geoConfig: config, path, changed, focused} = this.props\n\n const {modalOpen} = this.state\n\n if (!config || !config.apiKey) {\n return (\n <div>\n <p>\n The <a href=\"https://sanity.io/docs/schema-types/geopoint-type\">Geopoint type</a> needs\n a Google Maps API key with access to:\n </p>\n <ul>\n <li>Google Maps JavaScript API</li>\n <li>Google Places API Web Service</li>\n <li>Google Static Maps API</li>\n </ul>\n <p>\n Please enter the API key with access to these services in your googleMapsInput plugin\n config.\n </p>\n </div>\n )\n }\n\n return (\n <Stack space={3}>\n {value && (\n <ChangeIndicator path={path} isChanged={changed} hasFocus={!!focused}>\n <PreviewImage src={getStaticImageUrl(value, config.apiKey)} alt=\"Map location\" />\n </ChangeIndicator>\n )}\n\n <Box>\n <Grid columns={value ? 2 : 1} gap={3}>\n <Button\n mode=\"ghost\"\n icon={value && EditIcon}\n padding={3}\n ref={this.setEditButton}\n text={value ? 'Edit' : 'Set location'}\n onClick={this.handleToggleModal}\n disabled={readOnly}\n />\n\n {value && (\n <Button\n tone=\"critical\"\n icon={TrashIcon}\n padding={3}\n mode=\"ghost\"\n text={'Remove'}\n onClick={this.handleClear}\n disabled={readOnly}\n />\n )}\n </Grid>\n </Box>\n\n {modalOpen && (\n <Dialog\n id={`${this._geopointInputId}_dialog`}\n onClose={this.handleCloseModal}\n header=\"Place the marker on the map\"\n width={1}\n >\n <DialogInnerContainer>\n <GoogleMapsLoadProxy config={getGeoConfig()}>\n {(api) => (\n <GeopointSelect\n api={api}\n value={value || undefined}\n onChange={readOnly ? undefined : this.handleChange}\n defaultLocation={config.defaultLocation}\n defaultZoom={config.defaultZoom}\n />\n )}\n </GoogleMapsLoadProxy>\n </DialogInnerContainer>\n </Dialog>\n )}\n </Stack>\n )\n }\n}\n\nexport default GeopointInput\n","import * as React from 'react'\nimport {LatLng} from '../types'\nimport {latLngAreEqual} from './util'\n\ninterface Props {\n api: typeof window.google.maps\n map: google.maps.Map\n from: LatLng\n to: LatLng\n color?: {background: string; border: string; text: string}\n zIndex?: number\n arrowRef?: React.MutableRefObject<google.maps.Polyline | undefined>\n onClick?: (event: google.maps.MapMouseEvent) => void\n}\n\nexport class Arrow extends React.PureComponent<Props> {\n line: google.maps.Polyline | undefined\n\n eventHandlers: {\n click?: google.maps.MapsEventListener\n } = {}\n\n componentDidMount() {\n const {from, to, api, map, zIndex, onClick, color, arrowRef} = this.props\n const lineSymbol = {\n path: api.SymbolPath.FORWARD_OPEN_ARROW,\n }\n\n this.line = new api.Polyline({\n map,\n zIndex,\n path: [from, to],\n icons: [{icon: lineSymbol, offset: '50%'}],\n strokeOpacity: 0.55,\n strokeColor: color ? color.text : 'black',\n })\n\n if (onClick) {\n this.eventHandlers.click = api.event.addListener(this.line, 'click', onClick)\n }\n\n if (arrowRef) {\n arrowRef.current = this.line\n }\n }\n\n componentDidUpdate(prevProps: Props) {\n if (!this.line) {\n return\n }\n\n const {from, to, map} = this.props\n if (!latLngAreEqual(prevProps.from, from) || !latLngAreEqual(prevProps.to, to)) {\n this.line.setPath([from, to])\n }\n\n if (prevProps.map !== map) {\n this.line.setMap(map)\n }\n }\n\n componentWillUnmount() {\n if (this.line) {\n this.line.setMap(null)\n }\n\n if (this.eventHandlers.click) {\n this.eventHandlers.click.remove()\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n render(): any {\n return null\n }\n}\n","import * as React from 'react'\nimport {useUserColor, ObjectDiff} from 'sanity'\nimport {Marker} from '../map/Marker'\nimport {Arrow} from '../map/Arrow'\nimport {Geopoint} from '../types'\n\ninterface Props {\n api: typeof window.google.maps\n map: google.maps.Map\n diff: ObjectDiff<Geopoint>\n label?: string\n}\n\nexport function GeopointMove({diff, api, map, label}: Props) {\n const {fromValue: from, toValue: to} = diff\n const annotation = diff.isChanged ? diff.annotation : undefined\n const userColor = useUserColor(annotation ? annotation.author : null) || undefined\n const fromRef = React.useRef<google.maps.Marker>()\n const toRef = React.useRef<google.maps.Marker>()\n\n return (\n <>\n {from && (\n <Marker\n api={api}\n map={map}\n position={from}\n zIndex={0}\n opacity={0.55}\n markerRef={fromRef}\n color={userColor}\n />\n )}\n {from && to && <Arrow api={api} map={map} from={from} to={to} zIndex={1} color={userColor} />}\n {to && (\n <Marker\n api={api}\n map={map}\n position={to}\n zIndex={2}\n markerRef={toRef}\n label={label}\n color={userColor}\n />\n )}\n </>\n )\n}\n","import {styled} from 'styled-components'\n\nexport const RootContainer = styled.div`\n position: relative;\n min-height: 200px;\n\n &:empty {\n background-color: var(--card-skeleton-color-from);\n display: table;\n width: 100%;\n }\n\n &:empty:after {\n content: 'Missing/invalid data';\n display: table-cell;\n vertical-align: middle;\n text-align: center;\n position: relative;\n }\n`\n","import {ArrayDiff, ObjectDiff, Diff, DiffProps as GenericDiffProps, DiffComponent} from 'sanity'\nimport {GoogleMapsLoadProxy} from '../loader/GoogleMapsLoadProxy'\nimport {GoogleMap} from '../map/Map'\nimport {Geopoint} from '../types'\nimport {GeopointMove} from './GeopointMove'\nimport {RootContainer} from './GeopointFieldDiff.styles'\nimport {getGeoConfig} from '../global-workaround'\n\nexport type DiffProps = GenericDiffProps<ArrayDiff<Geopoint>>\n\nexport const GeopointArrayDiff: DiffComponent<ArrayDiff<Geopoint>> = ({\n diff,\n schemaType,\n}: DiffProps) => {\n return (\n <RootContainer>\n <GoogleMapsLoadProxy config={getGeoConfig()}>\n {(api) => <GeopointDiff api={api} diff={diff} schemaType={schemaType} />}\n </GoogleMapsLoadProxy>\n </RootContainer>\n )\n}\n\nfunction GeopointDiff({api, diff}: DiffProps & {api: typeof google.maps}) {\n const fromValue = (diff.fromValue || []).filter(hasCoordinates)\n const toValue = (diff.toValue || []).filter(hasCoordinates)\n if (fromValue.length === 0 && toValue.length === 0) {\n return null\n }\n\n const bounds = getBounds(fromValue, toValue, api)\n return (\n <GoogleMap\n api={api}\n location={bounds.getCenter().toJSON()}\n mapTypeControl={false}\n controlSize={20}\n bounds={bounds}\n >\n {(map) => (\n <>\n {diff.items.map(({toIndex, diff: pointDiff}) => {\n if (!isChangeDiff(pointDiff)) {\n return null\n }\n\n return (\n <GeopointMove\n key={toIndex}\n api={api}\n map={map}\n diff={pointDiff}\n label={`${toIndex}`}\n />\n )\n })}\n </>\n )}\n </GoogleMap>\n )\n}\n\nfunction isChangeDiff(diff: Diff): diff is ObjectDiff<Geopoint> {\n return diff.action !== 'unchanged' && diff.type === 'object'\n}\n\nfunction hasCoordinates(point: Partial<Geopoint>): point is Geopoint {\n return typeof point.lat === 'number' && typeof point.lng === 'number'\n}\n\nfunction getBounds(\n fromValue: google.maps.LatLngLiteral[] | null | undefined,\n toValue: google.maps.LatLngLiteral[] | null | undefined,\n api: typeof window.google.maps,\n): google.maps.LatLngBounds {\n const bounds = new api.LatLngBounds()\n const points = [...(fromValue || []), ...(toValue || [])]\n points.forEach((point) => bounds.extend(point))\n return bounds\n}\n","import {\n DiffComponent,\n ObjectDiff,\n DiffProps as GenericDiffProps,\n DiffTooltip,\n getAnnotationAtPath,\n} from 'sanity'\nimport {GoogleMapsLoadProxy} from '../loader/GoogleMapsLoadProxy'\nimport {GoogleMap} from '../map/Map'\nimport {Geopoint} from '../types'\nimport {GeopointMove} from './GeopointMove'\nimport {RootContainer} from './GeopointFieldDiff.styles'\nimport {getGeoConfig} from '../global-workaround'\n\nexport type DiffProps = GenericDiffProps<ObjectDiff<Geopoint>>\n\nexport const GeopointFieldDiff: DiffComponent<ObjectDiff<Geopoint>> = ({\n diff,\n schemaType,\n}: DiffProps) => {\n return (\n <RootContainer>\n <GoogleMapsLoadProxy config={getGeoConfig()}>\n {(api) => <GeopointDiff api={api} diff={diff} schemaType={schemaType} />}\n </GoogleMapsLoadProxy>\n </RootContainer>\n )\n}\n\nfunction GeopointDiff({api, diff}: DiffProps & {api: typeof window.google.maps}) {\n const {fromValue, toValue} = diff\n const annotation =\n getAnnotationAtPath(diff, ['lat']) ||\n getAnnotationAtPath(diff, ['lng']) ||\n getAnnotationAtPath(diff, [])\n\n const center = getCenter(diff, api)\n const bounds = fromValue && toValue ? getBounds(fromValue, toValue, api) : undefined\n\n return (\n <DiffTooltip annotations={annotation ? [annotation] : []} description={getAction(diff)}>\n <div>\n <GoogleMap\n api={api}\n location={center}\n mapTypeControl={false}\n controlSize={20}\n bounds={bounds}\n scrollWheel={false}\n >\n {(map) => <GeopointMove api={api} map={map} diff={diff} />}\n </GoogleMap>\n </div>\n </DiffTooltip>\n )\n}\n\nfunction getBounds(\n fromValue: google.maps.LatLngLiteral,\n toValue: google.maps.LatLngLiteral,\n api: typeof window.google.maps,\n): google.maps.LatLngBounds {\n return new api.LatLngBounds().extend(fromValue).extend(toValue)\n}\n\nfunction getCenter(\n diff: DiffProps['diff'],\n api: typeof window.google.maps,\n): google.maps.LatLngLiteral {\n const {fromValue, toValue} = diff\n if (fromValue && toValue) {\n return getBounds(fromValue, toValue, api).getCenter().toJSON()\n }\n\n if (fromValue) {\n return fromValue\n }\n\n if (toValue) {\n return toValue\n }\n\n throw new Error('Neither a from or a to value present')\n}\n\nfunction getAction(diff: ObjectDiff<Geopoint>) {\n const {fromValue, toValue} = diff\n if (fromValue && toValue) {\n return 'Moved'\n } else if (fromValue) {\n return 'Removed'\n } else if (toValue) {\n return 'Added'\n }\n\n return 'Unchanged'\n}\n","import React from 'react'\nimport {definePlugin, SchemaType} from 'sanity'\nimport GeopointInput, {GeopointInputProps} from './input/GeopointInput'\nimport {setGeoConfig} from './global-workaround'\nimport {GeopointSchemaType} from './types'\n\nexport interface GoogleMapsInputConfig {\n apiKey: string\n defaultZoom?: number\n defaultLocale?: string\n defaultLocation?: {\n lat: number\n lng: number\n }\n}\n\nexport const googleMapsInput = definePlugin<GoogleMapsInputConfig>((config) => {\n setGeoConfig(config)\n return {\n name: 'google-maps-input',\n form: {\n components: {\n input(props) {\n if (isGeopoint(props.schemaType)) {\n const castedProps = props as unknown as Omit<GeopointInputProps, 'geoConfig'>\n return <GeopointInput {...castedProps} geoConfig={config} />\n }\n return props.renderDefault(props)\n },\n },\n },\n }\n})\n\nfunction isGeopoint(schemaType: SchemaType): schemaType is GeopointSchemaType {\n return isType('geopoint', schemaType)\n}\n\nfunction isType(name: string, schema?: SchemaType): boolean {\n if (schema?.name === name) {\n return true\n // eslint-disable-next-line no-negated-condition\n } else if (!schema?.name) {\n return false\n }\n return isType(name, schema?.type)\n}\n"],"names":["callbackName","authFailureCallbackName","AuthError","Error","_loadGoogleMapsApi","config","Promise","resolve","reject","window","google","maps","script","document","createElement","onerror","event","source","lineno","colno","error","coeerceError","src","concat","apiKey","locale","getElementsByTagName","appendChild","finally","memo","loadGoogleMapsApi","catch","message","isErrorEvent","LoadError","props","_a","jsxs","Card","tone","radius","children","jsx","Box","as","paddingX","paddingTop","paddingBottom","Text","weight","isAuthError","Fragment","Code","size","browserLocale","navigator","language","useLoadGoogleMapsApi","defaultLocale","state","setState","useState","type","useEffect","then","api","err","GoogleMapsLoadProxy","loadState","LoadErrorView","WrapperContainer","styled","div","__template","SearchInput","React","PureComponent","constructor","arguments","__publicField","createRef","autoComplete","onChange","getPlace","searchInputRef","current","value","componentDidMount","input","map","Circle","places","searchBounds","center","getCenter","getBounds","Autocomplete","bounds","types","addListener","handleChange","render","TextInput","name","ref","placeholder","padding","latLngAreEqual","latLng1","latLng2","lat1","lat","lng1","lng","lat2","lng2","MapContainer","GoogleMap","onClick","clickHandler","remove","element","mapEl","constructMap","attachClickHandler","componentDidUpdate","prevProps","location","panTo","equals","fitBounds","componentWillUnmount","LatLng","el","defaultZoom","mapTypeControl","controlSize","scrollWheel","Map","zoom","scrollwheel","streetViewControl","setMapElement","markerPath","Marker","position","onMove","zIndex","opacity","label","markerRef","color","GMarker","icon","path","fillOpacity","fillColor","background","strokeColor","border","strokeWeight","anchor","Point","labelOrigin","marker","draggable","Boolean","attachMoveHandler","setPosition","setLabel","setZIndex","setOpacity","setMap","eventHandlers","move","click","fallbackLatLng","GeopointSelect","place","geometry","setValue","latLng","defaultLocation","point","geoPoint","handleMapClick","handlePlaceChanged","handleMarkerDragEnd","_b","PreviewImage","img","DialogInnerContainer","getGeoConfig","setGeoConfig","newConfig","getStaticImageUrl","loc","params","key","markers","scale","qs","Object","keys","reduce","res","param","encodeURIComponent","join","GeopointInput","uniqueId","editButton","prevState","modalOpen","schemaType","setIfMissing","_type","set","unset","focus","readOnly","geoConfig","changed","focused","href","Stack","space","ChangeIndicator","isChanged","hasFocus","alt","Grid","columns","gap","Button","mode","EditIcon","setEditButton","text","handleToggleModal","disabled","TrashIcon","handleClear","Dialog","id","_geopointInputId","onClose","handleCloseModal","header","width","Arrow","from","to","arrowRef","lineSymbol","SymbolPath","FORWARD_OPEN_ARROW","line","Polyline","icons","offset","strokeOpacity","setPath","GeopointMove","diff","_ref","fromValue","toValue","annotation","userColor","useUserColor","author","fromRef","useRef","toRef","RootContainer","GeopointArrayDiff","_ref2","GeopointDiff","GeopointDiff$1","_ref3","filter","hasCoordinates","length","toJSON","items","_ref4","toIndex","pointDiff","isChangeDiff","action","getBounds$1","LatLngBounds","points","forEach","extend","GeopointFieldDiff","_ref5","_ref6","getAnnotationAtPath","DiffTooltip","annotations","description","getAction","googleMapsInput","definePlugin","form","components","isGeopoint","castedProps","renderDefault","isType","schema"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- declare module '*.css' {
2
- const styles: Record<string, string>
3
- export default styles
4
- }