@chayns-components/maps 5.0.0-beta.1155 → 5.0.0-beta.1159
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.
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.js +2 -2
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.js.map +1 -1
- package/lib/esm/components/position-input/map-wrapper/MapWrapper.js +2 -2
- package/lib/esm/components/position-input/map-wrapper/MapWrapper.js.map +1 -1
- package/package.json +3 -3
|
@@ -169,10 +169,10 @@ const MapWrapper = ({
|
|
|
169
169
|
fullscreenControl: false,
|
|
170
170
|
mapTypeControl: false,
|
|
171
171
|
streetViewControl: false
|
|
172
|
-
}, markerList, canPolyDraw && /*#__PURE__*/_react.default.createElement(_api.Polygon, {
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, markerList, canPolyDraw && /*#__PURE__*/_react.default.createElement(_api.Polygon, {
|
|
173
173
|
path: polygonPath,
|
|
174
174
|
options: polygonOptions
|
|
175
|
-
})))), [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions]);
|
|
175
|
+
}))))), [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions]);
|
|
176
176
|
};
|
|
177
177
|
MapWrapper.displayName = 'MapWrapper';
|
|
178
178
|
var _default = exports.default = MapWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapWrapper.js","names":["_react","_interopRequireWildcard","require","_reactWrapper","_MapWrapper","_api","_Marker","_interopRequireDefault","_Map","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MapWrapper","apiToken","polygonOptions","initialZoom","initialPosition","markers","onMarkerAdd","onMarkerRemove","onMarkerChange","polygonPath","setPolygonPath","useState","canPolyDraw","setCanPolyDraw","zoom","setZoom","center","setCenter","internalMarkers","setInternalMarkers","map","setMap","useEffect","handleClick","useCallback","_e$latLng","latLng","toJSON","prevState","length","newMarker","position","lat","lng","id","_internalMarkers$","_internalMarkers$2","_internalMarkers$3","_internalMarkers$4","_internalMarkers$5","_internalMarkers$6","_internalMarkers$7","_internalMarkers$8","path","maxLat","reduce","prev","current","minLat","maxLng","minLng","topLeft","find","item","bottomRight","centerLat","centerLng","polygonCenter","handleIdle","m","_m$getCenter","getZoom","getCenter","handlePositionChange","handleMarkerChange","marker","updatedMarkers","prevMarker","handleMarkerRemove","filter","markerList","useMemo","items","forEach","push","createElement","key","isDraggable","onChange","onRemove","StyledMapWrapper","Wrapper","apiKey","libraries","onClick","onIdle","onPositionChange","fullscreenControl","mapTypeControl","streetViewControl","Polygon","options","displayName","_default","exports"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.tsx"],"sourcesContent":["import React, { FC, type ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Wrapper } from '@googlemaps/react-wrapper';\nimport { StyledMapWrapper } from './MapWrapper.styles';\nimport type { IMarker, PolygonOptions, Position } from '../../../types/positionInput';\nimport { Polygon } from '@react-google-maps/api';\nimport Marker from './map/marker/Marker';\nimport Map from './map/Map';\n\nexport type MapWrapperProps = {\n apiToken: string;\n polygonOptions: PolygonOptions;\n initialZoom: number;\n initialPosition: Position;\n markers?: IMarker[];\n onMarkerAdd?: (marker: IMarker) => void;\n onMarkerRemove?: (id: number) => void;\n onMarkerChange?: (markers: IMarker[]) => void;\n};\n\nconst MapWrapper: FC<MapWrapperProps> = ({\n apiToken,\n polygonOptions,\n initialZoom,\n initialPosition,\n markers,\n onMarkerAdd,\n onMarkerRemove,\n onMarkerChange,\n}) => {\n const [polygonPath, setPolygonPath] = useState<Position[]>();\n const [canPolyDraw, setCanPolyDraw] = useState(false);\n const [zoom, setZoom] = useState(initialZoom);\n const [center, setCenter] = useState<Position>(initialPosition);\n const [internalMarkers, setInternalMarkers] = useState<IMarker[]>();\n const [map, setMap] = useState<google.maps.Map>();\n\n useEffect(() => {\n if (markers) {\n setInternalMarkers(markers);\n }\n }, [markers]);\n\n const handleClick = useCallback(\n (e: google.maps.MapMouseEvent) => {\n const latLng = e.latLng?.toJSON();\n\n if (!latLng) {\n return;\n }\n\n setInternalMarkers((prevState) => {\n if (prevState && prevState.length >= 2) {\n return prevState;\n }\n\n const newMarker: IMarker = {\n position: { lat: latLng.lat, lng: latLng.lng },\n id: prevState ? prevState.length : 0,\n };\n\n if (typeof onMarkerAdd === 'function') {\n onMarkerAdd(newMarker);\n }\n\n return prevState ? [...prevState, newMarker] : [newMarker];\n });\n },\n [onMarkerAdd],\n );\n\n useEffect(() => {\n if (!internalMarkers) {\n return;\n }\n\n if (internalMarkers.length !== 2) {\n setCanPolyDraw(false);\n\n return;\n }\n\n const path: Position[] = [\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n ];\n\n const maxLat = path.reduce((prev, current) => (prev.lat > current.lat ? prev : current));\n const minLat = path.reduce((prev, current) => (prev.lat < current.lat ? prev : current));\n const maxLng = path.reduce((prev, current) => (prev.lng > current.lng ? prev : current));\n const minLng = path.reduce((prev, current) => (prev.lng < current.lng ? prev : current));\n\n const topLeft = path.find((item) => item.lat === maxLat.lat && item.lng === minLng.lng);\n const bottomRight = path.find((item) => item.lat === minLat.lat && item.lng === maxLng.lng);\n\n if (!topLeft || !bottomRight) {\n return;\n }\n\n const centerLat = (topLeft.lat + bottomRight.lat) / 2;\n const centerLng = (topLeft.lng + bottomRight.lng) / 2;\n\n const polygonCenter = {\n lat: centerLat,\n lng: centerLng,\n };\n\n if (!polygonCenter) {\n return;\n }\n\n setCanPolyDraw(true);\n setPolygonPath(path);\n }, [internalMarkers]);\n\n const handleIdle = (m: google.maps.Map) => {\n setMap(m);\n setZoom(m.getZoom() ?? 0);\n setCenter(m.getCenter()?.toJSON() ?? { lat: 0, lng: 0 });\n };\n\n const handlePositionChange = (position: Position) => {\n setCenter(position);\n };\n\n const handleMarkerChange = useCallback(\n (marker: IMarker) => {\n setInternalMarkers((prevState) => {\n const updatedMarkers = (prevState ?? []).map((prevMarker) => {\n if (prevMarker.id === marker.id) {\n return { ...prevMarker, position: marker.position };\n }\n return prevMarker;\n });\n\n if (typeof onMarkerChange === 'function') {\n onMarkerChange(updatedMarkers);\n }\n\n return updatedMarkers;\n });\n },\n [onMarkerChange],\n );\n\n const handleMarkerRemove = useCallback(\n (id: number) => {\n setInternalMarkers((prevState) => {\n if (typeof onMarkerRemove === 'function') {\n onMarkerRemove(id);\n }\n\n return prevState ? prevState.filter((marker) => marker.id !== id) : [];\n });\n },\n [onMarkerRemove],\n );\n\n const markerList = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!internalMarkers) {\n return items;\n }\n\n internalMarkers.forEach(({ id, position }) => {\n items.push(\n <Marker\n key={`marker_${id}`}\n id={id}\n position={position}\n isDraggable\n map={map}\n onChange={handleMarkerChange}\n onRemove={handleMarkerRemove}\n />,\n );\n });\n\n return items;\n }, [handleMarkerChange, handleMarkerRemove, internalMarkers, map]);\n\n return useMemo(\n () => (\n <StyledMapWrapper>\n <Wrapper apiKey={apiToken} libraries={['places']}>\n {/* ToDo find better solution */}\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <Map\n onClick={handleClick}\n onIdle={handleIdle}\n onPositionChange={handlePositionChange}\n center={center}\n zoom={zoom}\n fullscreenControl={false}\n mapTypeControl={false}\n streetViewControl={false}\n >\n {markerList}\n {canPolyDraw && <Polygon path={polygonPath} options={polygonOptions} />}\n </Map>\n </Wrapper>\n </StyledMapWrapper>\n ),\n [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions],\n );\n};\n\nMapWrapper.displayName = 'MapWrapper';\n\nexport default MapWrapper;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MapWrapper.js","names":["_react","_interopRequireWildcard","require","_reactWrapper","_MapWrapper","_api","_Marker","_interopRequireDefault","_Map","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MapWrapper","apiToken","polygonOptions","initialZoom","initialPosition","markers","onMarkerAdd","onMarkerRemove","onMarkerChange","polygonPath","setPolygonPath","useState","canPolyDraw","setCanPolyDraw","zoom","setZoom","center","setCenter","internalMarkers","setInternalMarkers","map","setMap","useEffect","handleClick","useCallback","_e$latLng","latLng","toJSON","prevState","length","newMarker","position","lat","lng","id","_internalMarkers$","_internalMarkers$2","_internalMarkers$3","_internalMarkers$4","_internalMarkers$5","_internalMarkers$6","_internalMarkers$7","_internalMarkers$8","path","maxLat","reduce","prev","current","minLat","maxLng","minLng","topLeft","find","item","bottomRight","centerLat","centerLng","polygonCenter","handleIdle","m","_m$getCenter","getZoom","getCenter","handlePositionChange","handleMarkerChange","marker","updatedMarkers","prevMarker","handleMarkerRemove","filter","markerList","useMemo","items","forEach","push","createElement","key","isDraggable","onChange","onRemove","StyledMapWrapper","Wrapper","apiKey","libraries","onClick","onIdle","onPositionChange","fullscreenControl","mapTypeControl","streetViewControl","Fragment","Polygon","options","displayName","_default","exports"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.tsx"],"sourcesContent":["import React, { FC, type ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Wrapper } from '@googlemaps/react-wrapper';\nimport { StyledMapWrapper } from './MapWrapper.styles';\nimport type { IMarker, PolygonOptions, Position } from '../../../types/positionInput';\nimport { Polygon } from '@react-google-maps/api';\nimport Marker from './map/marker/Marker';\nimport Map from './map/Map';\n\nexport type MapWrapperProps = {\n apiToken: string;\n polygonOptions: PolygonOptions;\n initialZoom: number;\n initialPosition: Position;\n markers?: IMarker[];\n onMarkerAdd?: (marker: IMarker) => void;\n onMarkerRemove?: (id: number) => void;\n onMarkerChange?: (markers: IMarker[]) => void;\n};\n\nconst MapWrapper: FC<MapWrapperProps> = ({\n apiToken,\n polygonOptions,\n initialZoom,\n initialPosition,\n markers,\n onMarkerAdd,\n onMarkerRemove,\n onMarkerChange,\n}) => {\n const [polygonPath, setPolygonPath] = useState<Position[]>();\n const [canPolyDraw, setCanPolyDraw] = useState(false);\n const [zoom, setZoom] = useState(initialZoom);\n const [center, setCenter] = useState<Position>(initialPosition);\n const [internalMarkers, setInternalMarkers] = useState<IMarker[]>();\n const [map, setMap] = useState<google.maps.Map>();\n\n useEffect(() => {\n if (markers) {\n setInternalMarkers(markers);\n }\n }, [markers]);\n\n const handleClick = useCallback(\n (e: google.maps.MapMouseEvent) => {\n const latLng = e.latLng?.toJSON();\n\n if (!latLng) {\n return;\n }\n\n setInternalMarkers((prevState) => {\n if (prevState && prevState.length >= 2) {\n return prevState;\n }\n\n const newMarker: IMarker = {\n position: { lat: latLng.lat, lng: latLng.lng },\n id: prevState ? prevState.length : 0,\n };\n\n if (typeof onMarkerAdd === 'function') {\n onMarkerAdd(newMarker);\n }\n\n return prevState ? [...prevState, newMarker] : [newMarker];\n });\n },\n [onMarkerAdd],\n );\n\n useEffect(() => {\n if (!internalMarkers) {\n return;\n }\n\n if (internalMarkers.length !== 2) {\n setCanPolyDraw(false);\n\n return;\n }\n\n const path: Position[] = [\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n ];\n\n const maxLat = path.reduce((prev, current) => (prev.lat > current.lat ? prev : current));\n const minLat = path.reduce((prev, current) => (prev.lat < current.lat ? prev : current));\n const maxLng = path.reduce((prev, current) => (prev.lng > current.lng ? prev : current));\n const minLng = path.reduce((prev, current) => (prev.lng < current.lng ? prev : current));\n\n const topLeft = path.find((item) => item.lat === maxLat.lat && item.lng === minLng.lng);\n const bottomRight = path.find((item) => item.lat === minLat.lat && item.lng === maxLng.lng);\n\n if (!topLeft || !bottomRight) {\n return;\n }\n\n const centerLat = (topLeft.lat + bottomRight.lat) / 2;\n const centerLng = (topLeft.lng + bottomRight.lng) / 2;\n\n const polygonCenter = {\n lat: centerLat,\n lng: centerLng,\n };\n\n if (!polygonCenter) {\n return;\n }\n\n setCanPolyDraw(true);\n setPolygonPath(path);\n }, [internalMarkers]);\n\n const handleIdle = (m: google.maps.Map) => {\n setMap(m);\n setZoom(m.getZoom() ?? 0);\n setCenter(m.getCenter()?.toJSON() ?? { lat: 0, lng: 0 });\n };\n\n const handlePositionChange = (position: Position) => {\n setCenter(position);\n };\n\n const handleMarkerChange = useCallback(\n (marker: IMarker) => {\n setInternalMarkers((prevState) => {\n const updatedMarkers = (prevState ?? []).map((prevMarker) => {\n if (prevMarker.id === marker.id) {\n return { ...prevMarker, position: marker.position };\n }\n return prevMarker;\n });\n\n if (typeof onMarkerChange === 'function') {\n onMarkerChange(updatedMarkers);\n }\n\n return updatedMarkers;\n });\n },\n [onMarkerChange],\n );\n\n const handleMarkerRemove = useCallback(\n (id: number) => {\n setInternalMarkers((prevState) => {\n if (typeof onMarkerRemove === 'function') {\n onMarkerRemove(id);\n }\n\n return prevState ? prevState.filter((marker) => marker.id !== id) : [];\n });\n },\n [onMarkerRemove],\n );\n\n const markerList = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!internalMarkers) {\n return items;\n }\n\n internalMarkers.forEach(({ id, position }) => {\n items.push(\n <Marker\n key={`marker_${id}`}\n id={id}\n position={position}\n isDraggable\n map={map}\n onChange={handleMarkerChange}\n onRemove={handleMarkerRemove}\n />,\n );\n });\n\n return items;\n }, [handleMarkerChange, handleMarkerRemove, internalMarkers, map]);\n\n return useMemo(\n () => (\n <StyledMapWrapper>\n <Wrapper apiKey={apiToken} libraries={['places']}>\n <Map\n onClick={handleClick}\n onIdle={handleIdle}\n onPositionChange={handlePositionChange}\n center={center}\n zoom={zoom}\n fullscreenControl={false}\n mapTypeControl={false}\n streetViewControl={false}\n >\n <>\n {markerList}\n {canPolyDraw && <Polygon path={polygonPath} options={polygonOptions} />}\n </>\n </Map>\n </Wrapper>\n </StyledMapWrapper>\n ),\n [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions],\n );\n};\n\nMapWrapper.displayName = 'MapWrapper';\n\nexport default MapWrapper;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -160,10 +160,10 @@ const MapWrapper = _ref => {
|
|
|
160
160
|
fullscreenControl: false,
|
|
161
161
|
mapTypeControl: false,
|
|
162
162
|
streetViewControl: false
|
|
163
|
-
}, markerList, canPolyDraw && /*#__PURE__*/React.createElement(Polygon, {
|
|
163
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, markerList, canPolyDraw && /*#__PURE__*/React.createElement(Polygon, {
|
|
164
164
|
path: polygonPath,
|
|
165
165
|
options: polygonOptions
|
|
166
|
-
})))), [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions]);
|
|
166
|
+
}))))), [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions]);
|
|
167
167
|
};
|
|
168
168
|
MapWrapper.displayName = 'MapWrapper';
|
|
169
169
|
export default MapWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapWrapper.js","names":["React","useCallback","useEffect","useMemo","useState","Wrapper","StyledMapWrapper","Polygon","Marker","Map","MapWrapper","_ref","apiToken","polygonOptions","initialZoom","initialPosition","markers","onMarkerAdd","onMarkerRemove","onMarkerChange","polygonPath","setPolygonPath","canPolyDraw","setCanPolyDraw","zoom","setZoom","center","setCenter","internalMarkers","setInternalMarkers","map","setMap","handleClick","e","latLng","toJSON","prevState","length","newMarker","position","lat","lng","id","path","maxLat","reduce","prev","current","minLat","maxLng","minLng","topLeft","find","item","bottomRight","centerLat","centerLng","polygonCenter","handleIdle","m","getZoom","getCenter","handlePositionChange","handleMarkerChange","marker","updatedMarkers","prevMarker","handleMarkerRemove","filter","markerList","items","forEach","_ref2","push","createElement","key","isDraggable","onChange","onRemove","apiKey","libraries","onClick","onIdle","onPositionChange","fullscreenControl","mapTypeControl","streetViewControl","options","displayName"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.tsx"],"sourcesContent":["import React, { FC, type ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Wrapper } from '@googlemaps/react-wrapper';\nimport { StyledMapWrapper } from './MapWrapper.styles';\nimport type { IMarker, PolygonOptions, Position } from '../../../types/positionInput';\nimport { Polygon } from '@react-google-maps/api';\nimport Marker from './map/marker/Marker';\nimport Map from './map/Map';\n\nexport type MapWrapperProps = {\n apiToken: string;\n polygonOptions: PolygonOptions;\n initialZoom: number;\n initialPosition: Position;\n markers?: IMarker[];\n onMarkerAdd?: (marker: IMarker) => void;\n onMarkerRemove?: (id: number) => void;\n onMarkerChange?: (markers: IMarker[]) => void;\n};\n\nconst MapWrapper: FC<MapWrapperProps> = ({\n apiToken,\n polygonOptions,\n initialZoom,\n initialPosition,\n markers,\n onMarkerAdd,\n onMarkerRemove,\n onMarkerChange,\n}) => {\n const [polygonPath, setPolygonPath] = useState<Position[]>();\n const [canPolyDraw, setCanPolyDraw] = useState(false);\n const [zoom, setZoom] = useState(initialZoom);\n const [center, setCenter] = useState<Position>(initialPosition);\n const [internalMarkers, setInternalMarkers] = useState<IMarker[]>();\n const [map, setMap] = useState<google.maps.Map>();\n\n useEffect(() => {\n if (markers) {\n setInternalMarkers(markers);\n }\n }, [markers]);\n\n const handleClick = useCallback(\n (e: google.maps.MapMouseEvent) => {\n const latLng = e.latLng?.toJSON();\n\n if (!latLng) {\n return;\n }\n\n setInternalMarkers((prevState) => {\n if (prevState && prevState.length >= 2) {\n return prevState;\n }\n\n const newMarker: IMarker = {\n position: { lat: latLng.lat, lng: latLng.lng },\n id: prevState ? prevState.length : 0,\n };\n\n if (typeof onMarkerAdd === 'function') {\n onMarkerAdd(newMarker);\n }\n\n return prevState ? [...prevState, newMarker] : [newMarker];\n });\n },\n [onMarkerAdd],\n );\n\n useEffect(() => {\n if (!internalMarkers) {\n return;\n }\n\n if (internalMarkers.length !== 2) {\n setCanPolyDraw(false);\n\n return;\n }\n\n const path: Position[] = [\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n ];\n\n const maxLat = path.reduce((prev, current) => (prev.lat > current.lat ? prev : current));\n const minLat = path.reduce((prev, current) => (prev.lat < current.lat ? prev : current));\n const maxLng = path.reduce((prev, current) => (prev.lng > current.lng ? prev : current));\n const minLng = path.reduce((prev, current) => (prev.lng < current.lng ? prev : current));\n\n const topLeft = path.find((item) => item.lat === maxLat.lat && item.lng === minLng.lng);\n const bottomRight = path.find((item) => item.lat === minLat.lat && item.lng === maxLng.lng);\n\n if (!topLeft || !bottomRight) {\n return;\n }\n\n const centerLat = (topLeft.lat + bottomRight.lat) / 2;\n const centerLng = (topLeft.lng + bottomRight.lng) / 2;\n\n const polygonCenter = {\n lat: centerLat,\n lng: centerLng,\n };\n\n if (!polygonCenter) {\n return;\n }\n\n setCanPolyDraw(true);\n setPolygonPath(path);\n }, [internalMarkers]);\n\n const handleIdle = (m: google.maps.Map) => {\n setMap(m);\n setZoom(m.getZoom() ?? 0);\n setCenter(m.getCenter()?.toJSON() ?? { lat: 0, lng: 0 });\n };\n\n const handlePositionChange = (position: Position) => {\n setCenter(position);\n };\n\n const handleMarkerChange = useCallback(\n (marker: IMarker) => {\n setInternalMarkers((prevState) => {\n const updatedMarkers = (prevState ?? []).map((prevMarker) => {\n if (prevMarker.id === marker.id) {\n return { ...prevMarker, position: marker.position };\n }\n return prevMarker;\n });\n\n if (typeof onMarkerChange === 'function') {\n onMarkerChange(updatedMarkers);\n }\n\n return updatedMarkers;\n });\n },\n [onMarkerChange],\n );\n\n const handleMarkerRemove = useCallback(\n (id: number) => {\n setInternalMarkers((prevState) => {\n if (typeof onMarkerRemove === 'function') {\n onMarkerRemove(id);\n }\n\n return prevState ? prevState.filter((marker) => marker.id !== id) : [];\n });\n },\n [onMarkerRemove],\n );\n\n const markerList = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!internalMarkers) {\n return items;\n }\n\n internalMarkers.forEach(({ id, position }) => {\n items.push(\n <Marker\n key={`marker_${id}`}\n id={id}\n position={position}\n isDraggable\n map={map}\n onChange={handleMarkerChange}\n onRemove={handleMarkerRemove}\n />,\n );\n });\n\n return items;\n }, [handleMarkerChange, handleMarkerRemove, internalMarkers, map]);\n\n return useMemo(\n () => (\n <StyledMapWrapper>\n <Wrapper apiKey={apiToken} libraries={['places']}>\n {/* ToDo find better solution */}\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <Map\n onClick={handleClick}\n onIdle={handleIdle}\n onPositionChange={handlePositionChange}\n center={center}\n zoom={zoom}\n fullscreenControl={false}\n mapTypeControl={false}\n streetViewControl={false}\n >\n {markerList}\n {canPolyDraw && <Polygon path={polygonPath} options={polygonOptions} />}\n </Map>\n </Wrapper>\n </StyledMapWrapper>\n ),\n [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions],\n );\n};\n\nMapWrapper.displayName = 'MapWrapper';\n\nexport default MapWrapper;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MapWrapper.js","names":["React","useCallback","useEffect","useMemo","useState","Wrapper","StyledMapWrapper","Polygon","Marker","Map","MapWrapper","_ref","apiToken","polygonOptions","initialZoom","initialPosition","markers","onMarkerAdd","onMarkerRemove","onMarkerChange","polygonPath","setPolygonPath","canPolyDraw","setCanPolyDraw","zoom","setZoom","center","setCenter","internalMarkers","setInternalMarkers","map","setMap","handleClick","e","latLng","toJSON","prevState","length","newMarker","position","lat","lng","id","path","maxLat","reduce","prev","current","minLat","maxLng","minLng","topLeft","find","item","bottomRight","centerLat","centerLng","polygonCenter","handleIdle","m","getZoom","getCenter","handlePositionChange","handleMarkerChange","marker","updatedMarkers","prevMarker","handleMarkerRemove","filter","markerList","items","forEach","_ref2","push","createElement","key","isDraggable","onChange","onRemove","apiKey","libraries","onClick","onIdle","onPositionChange","fullscreenControl","mapTypeControl","streetViewControl","Fragment","options","displayName"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.tsx"],"sourcesContent":["import React, { FC, type ReactElement, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Wrapper } from '@googlemaps/react-wrapper';\nimport { StyledMapWrapper } from './MapWrapper.styles';\nimport type { IMarker, PolygonOptions, Position } from '../../../types/positionInput';\nimport { Polygon } from '@react-google-maps/api';\nimport Marker from './map/marker/Marker';\nimport Map from './map/Map';\n\nexport type MapWrapperProps = {\n apiToken: string;\n polygonOptions: PolygonOptions;\n initialZoom: number;\n initialPosition: Position;\n markers?: IMarker[];\n onMarkerAdd?: (marker: IMarker) => void;\n onMarkerRemove?: (id: number) => void;\n onMarkerChange?: (markers: IMarker[]) => void;\n};\n\nconst MapWrapper: FC<MapWrapperProps> = ({\n apiToken,\n polygonOptions,\n initialZoom,\n initialPosition,\n markers,\n onMarkerAdd,\n onMarkerRemove,\n onMarkerChange,\n}) => {\n const [polygonPath, setPolygonPath] = useState<Position[]>();\n const [canPolyDraw, setCanPolyDraw] = useState(false);\n const [zoom, setZoom] = useState(initialZoom);\n const [center, setCenter] = useState<Position>(initialPosition);\n const [internalMarkers, setInternalMarkers] = useState<IMarker[]>();\n const [map, setMap] = useState<google.maps.Map>();\n\n useEffect(() => {\n if (markers) {\n setInternalMarkers(markers);\n }\n }, [markers]);\n\n const handleClick = useCallback(\n (e: google.maps.MapMouseEvent) => {\n const latLng = e.latLng?.toJSON();\n\n if (!latLng) {\n return;\n }\n\n setInternalMarkers((prevState) => {\n if (prevState && prevState.length >= 2) {\n return prevState;\n }\n\n const newMarker: IMarker = {\n position: { lat: latLng.lat, lng: latLng.lng },\n id: prevState ? prevState.length : 0,\n };\n\n if (typeof onMarkerAdd === 'function') {\n onMarkerAdd(newMarker);\n }\n\n return prevState ? [...prevState, newMarker] : [newMarker];\n });\n },\n [onMarkerAdd],\n );\n\n useEffect(() => {\n if (!internalMarkers) {\n return;\n }\n\n if (internalMarkers.length !== 2) {\n setCanPolyDraw(false);\n\n return;\n }\n\n const path: Position[] = [\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[0]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[1]?.position.lng ?? 0,\n },\n {\n lat: internalMarkers[1]?.position.lat ?? 0,\n lng: internalMarkers[0]?.position.lng ?? 0,\n },\n ];\n\n const maxLat = path.reduce((prev, current) => (prev.lat > current.lat ? prev : current));\n const minLat = path.reduce((prev, current) => (prev.lat < current.lat ? prev : current));\n const maxLng = path.reduce((prev, current) => (prev.lng > current.lng ? prev : current));\n const minLng = path.reduce((prev, current) => (prev.lng < current.lng ? prev : current));\n\n const topLeft = path.find((item) => item.lat === maxLat.lat && item.lng === minLng.lng);\n const bottomRight = path.find((item) => item.lat === minLat.lat && item.lng === maxLng.lng);\n\n if (!topLeft || !bottomRight) {\n return;\n }\n\n const centerLat = (topLeft.lat + bottomRight.lat) / 2;\n const centerLng = (topLeft.lng + bottomRight.lng) / 2;\n\n const polygonCenter = {\n lat: centerLat,\n lng: centerLng,\n };\n\n if (!polygonCenter) {\n return;\n }\n\n setCanPolyDraw(true);\n setPolygonPath(path);\n }, [internalMarkers]);\n\n const handleIdle = (m: google.maps.Map) => {\n setMap(m);\n setZoom(m.getZoom() ?? 0);\n setCenter(m.getCenter()?.toJSON() ?? { lat: 0, lng: 0 });\n };\n\n const handlePositionChange = (position: Position) => {\n setCenter(position);\n };\n\n const handleMarkerChange = useCallback(\n (marker: IMarker) => {\n setInternalMarkers((prevState) => {\n const updatedMarkers = (prevState ?? []).map((prevMarker) => {\n if (prevMarker.id === marker.id) {\n return { ...prevMarker, position: marker.position };\n }\n return prevMarker;\n });\n\n if (typeof onMarkerChange === 'function') {\n onMarkerChange(updatedMarkers);\n }\n\n return updatedMarkers;\n });\n },\n [onMarkerChange],\n );\n\n const handleMarkerRemove = useCallback(\n (id: number) => {\n setInternalMarkers((prevState) => {\n if (typeof onMarkerRemove === 'function') {\n onMarkerRemove(id);\n }\n\n return prevState ? prevState.filter((marker) => marker.id !== id) : [];\n });\n },\n [onMarkerRemove],\n );\n\n const markerList = useMemo(() => {\n const items: ReactElement[] = [];\n\n if (!internalMarkers) {\n return items;\n }\n\n internalMarkers.forEach(({ id, position }) => {\n items.push(\n <Marker\n key={`marker_${id}`}\n id={id}\n position={position}\n isDraggable\n map={map}\n onChange={handleMarkerChange}\n onRemove={handleMarkerRemove}\n />,\n );\n });\n\n return items;\n }, [handleMarkerChange, handleMarkerRemove, internalMarkers, map]);\n\n return useMemo(\n () => (\n <StyledMapWrapper>\n <Wrapper apiKey={apiToken} libraries={['places']}>\n <Map\n onClick={handleClick}\n onIdle={handleIdle}\n onPositionChange={handlePositionChange}\n center={center}\n zoom={zoom}\n fullscreenControl={false}\n mapTypeControl={false}\n streetViewControl={false}\n >\n <>\n {markerList}\n {canPolyDraw && <Polygon path={polygonPath} options={polygonOptions} />}\n </>\n </Map>\n </Wrapper>\n </StyledMapWrapper>\n ),\n [apiToken, handleClick, center, zoom, markerList, canPolyDraw, polygonPath, polygonOptions],\n );\n};\n\nMapWrapper.displayName = 'MapWrapper';\n\nexport default MapWrapper;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/maps",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.1159",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"browserslist": [
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"typescript": "^5.8.3"
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@chayns-components/core": "^5.0.0-beta.
|
|
73
|
+
"@chayns-components/core": "^5.0.0-beta.1159",
|
|
74
74
|
"@googlemaps/react-wrapper": "^1.2.0",
|
|
75
75
|
"@googlemaps/typescript-guards": "^2.0.3",
|
|
76
76
|
"@react-google-maps/api": "^2.20.6",
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"publishConfig": {
|
|
87
87
|
"access": "public"
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "1fd3d2703e4f2e2ac176405fd896f4cc27ae1fea"
|
|
90
90
|
}
|