@sanity/google-maps-input 2.30.2-shopify.0 → 3.0.0-studio-v3.1

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.
Files changed (92) hide show
  1. package/README.md +68 -2
  2. package/lib/cjs/index.js +902 -0
  3. package/lib/cjs/index.js.map +1 -0
  4. package/lib/esm/index.js +892 -0
  5. package/lib/esm/index.js.map +1 -0
  6. package/lib/types/index.d.ts +43 -0
  7. package/lib/types/index.d.ts.map +1 -0
  8. package/package.json +71 -19
  9. package/src/@types/css.d.ts +4 -0
  10. package/src/diff/GeopointArrayDiff.tsx +84 -0
  11. package/src/diff/GeopointFieldDiff.styles.tsx +20 -0
  12. package/src/diff/GeopointFieldDiff.tsx +95 -0
  13. package/src/diff/GeopointMove.tsx +48 -0
  14. package/src/diff/resolver.ts +21 -0
  15. package/src/global-workaround.ts +11 -0
  16. package/src/index.tsx +52 -0
  17. package/src/input/GeopointInput.styles.tsx +12 -0
  18. package/src/input/GeopointInput.tsx +176 -0
  19. package/src/input/GeopointSelect.tsx +78 -0
  20. package/src/loader/GoogleMapsLoadProxy.tsx +51 -0
  21. package/src/loader/LoadError.tsx +44 -0
  22. package/src/loader/loadGoogleMapsApi.ts +97 -0
  23. package/src/map/Arrow.tsx +76 -0
  24. package/src/map/Map.styles.tsx +10 -0
  25. package/src/map/Map.tsx +125 -0
  26. package/src/map/Marker.tsx +130 -0
  27. package/src/map/SearchInput.styles.tsx +8 -0
  28. package/src/map/SearchInput.tsx +56 -0
  29. package/src/map/util.ts +14 -0
  30. package/src/types.ts +19 -0
  31. package/.depcheckignore.json +0 -3
  32. package/config.dist.json +0 -9
  33. package/dist/dts/diff/GeopointArrayDiff.d.ts +0 -5
  34. package/dist/dts/diff/GeopointArrayDiff.d.ts.map +0 -1
  35. package/dist/dts/diff/GeopointFieldDiff.d.ts +0 -5
  36. package/dist/dts/diff/GeopointFieldDiff.d.ts.map +0 -1
  37. package/dist/dts/diff/GeopointFieldDiff.styles.d.ts +0 -2
  38. package/dist/dts/diff/GeopointFieldDiff.styles.d.ts.map +0 -1
  39. package/dist/dts/diff/GeopointMove.d.ts +0 -13
  40. package/dist/dts/diff/GeopointMove.d.ts.map +0 -1
  41. package/dist/dts/diff/resolver.d.ts +0 -4
  42. package/dist/dts/diff/resolver.d.ts.map +0 -1
  43. package/dist/dts/input/GeopointInput.d.ts +0 -40
  44. package/dist/dts/input/GeopointInput.d.ts.map +0 -1
  45. package/dist/dts/input/GeopointInput.styles.d.ts +0 -3
  46. package/dist/dts/input/GeopointInput.styles.d.ts.map +0 -1
  47. package/dist/dts/input/GeopointSelect.d.ts +0 -28
  48. package/dist/dts/input/GeopointSelect.d.ts.map +0 -1
  49. package/dist/dts/loader/GoogleMapsLoadProxy.d.ts +0 -14
  50. package/dist/dts/loader/GoogleMapsLoadProxy.d.ts.map +0 -1
  51. package/dist/dts/loader/LoadError.d.ts +0 -10
  52. package/dist/dts/loader/LoadError.d.ts.map +0 -1
  53. package/dist/dts/loader/loadGoogleMapsApi.d.ts +0 -18
  54. package/dist/dts/loader/loadGoogleMapsApi.d.ts.map +0 -1
  55. package/dist/dts/map/Arrow.d.ts +0 -29
  56. package/dist/dts/map/Arrow.d.ts.map +0 -1
  57. package/dist/dts/map/Map.d.ts +0 -37
  58. package/dist/dts/map/Map.d.ts.map +0 -1
  59. package/dist/dts/map/Map.styles.d.ts +0 -2
  60. package/dist/dts/map/Map.styles.d.ts.map +0 -1
  61. package/dist/dts/map/Marker.d.ts +0 -36
  62. package/dist/dts/map/Marker.d.ts.map +0 -1
  63. package/dist/dts/map/SearchInput.d.ts +0 -16
  64. package/dist/dts/map/SearchInput.d.ts.map +0 -1
  65. package/dist/dts/map/SearchInput.styles.d.ts +0 -2
  66. package/dist/dts/map/SearchInput.styles.d.ts.map +0 -1
  67. package/dist/dts/map/util.d.ts +0 -4
  68. package/dist/dts/map/util.d.ts.map +0 -1
  69. package/dist/dts/types.d.ts +0 -14
  70. package/dist/dts/types.d.ts.map +0 -1
  71. package/lib/@types/css.d.js +0 -1
  72. package/lib/diff/GeopointArrayDiff.js +0 -82
  73. package/lib/diff/GeopointFieldDiff.js +0 -97
  74. package/lib/diff/GeopointFieldDiff.styles.js +0 -18
  75. package/lib/diff/GeopointMove.js +0 -55
  76. package/lib/diff/resolver.js +0 -27
  77. package/lib/input/GeopointInput.js +0 -194
  78. package/lib/input/GeopointInput.styles.js +0 -22
  79. package/lib/input/GeopointSelect.js +0 -103
  80. package/lib/loader/GoogleMapsLoadProxy.js +0 -70
  81. package/lib/loader/LoadError.js +0 -43
  82. package/lib/loader/loadGoogleMapsApi.js +0 -81
  83. package/lib/map/Arrow.js +0 -97
  84. package/lib/map/Map.js +0 -147
  85. package/lib/map/Map.styles.js +0 -18
  86. package/lib/map/Marker.js +0 -156
  87. package/lib/map/SearchInput.js +0 -77
  88. package/lib/map/SearchInput.styles.js +0 -18
  89. package/lib/map/util.js +0 -14
  90. package/lib/types.js +0 -5
  91. package/sanity.json +0 -18
  92. package/tsconfig.json +0 -20
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["src/index.tsx","src/input/GeopointInput.tsx","src/loader/GoogleMapsLoadProxy.tsx","src/loader/loadGoogleMapsApi.ts","src/loader/LoadError.tsx","src/input/GeopointSelect.tsx","src/map/SearchInput.tsx","src/map/SearchInput.styles.tsx","src/map/Map.tsx","src/map/util.ts","src/map/Map.styles.tsx","src/map/Marker.tsx","src/input/GeopointInput.styles.tsx","src/global-workaround.ts","src/diff/GeopointArrayDiff.tsx","src/diff/GeopointMove.tsx","src/map/Arrow.tsx","src/diff/GeopointFieldDiff.styles.tsx","src/diff/GeopointFieldDiff.tsx"],"sourcesContent":["import React from 'react'\nimport {createPlugin, SchemaType} from 'sanity'\nimport GeopointInput, {GeopointInputProps} from './input/GeopointInput'\nimport {setGeoConfig} from './global-workaround'\nimport {Geopoint, GeopointSchemaType} from './types'\n\nexport {GeopointArrayDiff, type DiffProps as GeopointArrayDiffProps} from './diff/GeopointArrayDiff'\nexport {GeopointFieldDiff, type DiffProps as GeopointFieldDiffProps} from './diff/GeopointFieldDiff'\n\nexport type {LatLng, GeopointSchemaType, Geopoint} from './types'\nexport {GeopointInput}\nexport type {GeopointInputProps}\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 = createPlugin<GoogleMapsInputConfig>((config) => {\n setGeoConfig(config)\n return {\n name: 'google-maps-input',\n form: {\n renderInput: (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 undefined\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","import React from 'react'\nimport {uniqueId} from 'lodash'\nimport {Box, Button, Dialog, Grid} from '@sanity/ui'\nimport {EditIcon, TrashIcon} from '@sanity/icons'\nimport {ChangeIndicator, ChangeIndicatorCompareValueProvider} from 'sanity/_unstable'\nimport {ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\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, compareValue, geoConfig: config} = 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 <>\n {value && (\n <ChangeIndicatorCompareValueProvider value={value} compareValue={compareValue}>\n <ChangeIndicator compareDeep>\n <PreviewImage src={getStaticImageUrl(value, config.apiKey)} alt=\"Map location\" />\n </ChangeIndicator>\n </ChangeIndicatorCompareValueProvider>\n )}\n\n {!readOnly && (\n <Box marginTop={4}>\n <Grid columns={2} gap={2}>\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 />\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 />\n )}\n </Grid>\n </Box>\n )}\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 </>\n )\n }\n}\n\nexport default GeopointInput\n","import React from 'react'\nimport {Subscription} from 'rxjs'\nimport {loadGoogleMapsApi, GoogleLoadState} from './loadGoogleMapsApi'\nimport {LoadError} from './LoadError'\nimport {GoogleMapsInputConfig} from '../index'\n\ninterface LoadProps {\n children: (api: typeof window.google.maps) => React.ReactElement\n config: GoogleMapsInputConfig\n}\n\nexport class GoogleMapsLoadProxy extends React.Component<LoadProps, GoogleLoadState> {\n loadSubscription: Subscription | undefined\n\n constructor(props: LoadProps) {\n super(props)\n\n this.state = {loadState: 'loading'}\n\n let sync = true\n this.loadSubscription = loadGoogleMapsApi(props.config).subscribe((loadState) => {\n if (sync) {\n this.state = loadState\n } else {\n this.setState(loadState)\n }\n })\n sync = false\n }\n\n componentWillUnmount() {\n if (this.loadSubscription) {\n this.loadSubscription.unsubscribe()\n }\n }\n\n render() {\n switch (this.state.loadState) {\n case 'loadError':\n return <LoadError error={this.state.error} isAuthError={false} />\n case 'authError':\n return <LoadError isAuthError />\n case 'loading':\n return <div>Loading Google Maps API</div>\n case 'loaded':\n return this.props.children(this.state.api) || null\n default:\n return null\n }\n }\n}\n","import {Observable, BehaviorSubject} from 'rxjs'\nimport {GoogleMapsInputConfig} from '../index'\n\ndeclare global {\n interface Window {\n gm_authFailure: any\n ___sanity_googleMapsApiCallback: any\n }\n}\n\nconst callbackName = '___sanity_googleMapsApiCallback'\nconst authFailureCallbackName = 'gm_authFailure'\nconst locale = (typeof window !== 'undefined' && window.navigator.language) || 'en'\n\nexport interface LoadingState {\n loadState: 'loading'\n}\n\nexport interface LoadedState {\n loadState: 'loaded'\n api: typeof window.google.maps\n}\n\nexport interface LoadErrorState {\n loadState: 'loadError'\n error: Error\n}\n\nexport interface AuthErrorState {\n loadState: 'authError'\n}\n\nexport type GoogleLoadState = LoadingState | LoadedState | LoadErrorState | AuthErrorState\n\nlet subject: BehaviorSubject<GoogleLoadState>\n\nexport function loadGoogleMapsApi(config: GoogleMapsInputConfig): Observable<GoogleLoadState> {\n const selectedLocale = config.defaultLocale || locale || 'en-US'\n\n if (subject) {\n return subject\n }\n\n subject = new BehaviorSubject<GoogleLoadState>({loadState: 'loading'})\n\n window[authFailureCallbackName] = () => {\n delete window[authFailureCallbackName]\n subject.next({loadState: 'authError'})\n }\n\n window[callbackName] = () => {\n delete window[callbackName]\n subject.next({loadState: 'loaded', api: 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 ) =>\n subject.next({\n loadState: 'loadError',\n error: coeerceError(event, error),\n } as LoadErrorState)\n\n script.src = `https://maps.googleapis.com/maps/api/js?key=${config.apiKey}&libraries=places&callback=${callbackName}&language=${selectedLocale}`\n document.getElementsByTagName('head')[0].appendChild(script)\n\n return subject\n}\n\nfunction coeerceError(event: Event | string, error?: Error): Error {\n if (error) {\n return error\n }\n\n if (typeof event === 'string') {\n return new Error(event)\n }\n\n return new Error(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: Error; 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 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 * 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 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 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 {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 * 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 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 * as React from 'react'\nimport {\n ArrayDiff,\n ObjectDiff,\n Diff,\n DiffProps as GenericDiffProps,\n DiffComponent,\n} from 'sanity/_unstable'\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>> = ({diff, schemaType}) => {\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 * as React from 'react'\nimport {useUserColor, ObjectDiff} from 'sanity/_unstable'\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 * 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 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 * as React from 'react'\nimport {\n DiffComponent,\n ObjectDiff,\n DiffProps as GenericDiffProps,\n DiffTooltip,\n getAnnotationAtPath,\n} from 'sanity/_unstable'\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>> = ({diff, schemaType}) => {\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"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}