@chayns-components/maps 5.0.0-beta.626 → 5.0.0-beta.628
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/PositionInput.js +1 -1
- package/lib/cjs/components/position-input/PositionInput.js.map +1 -1
- package/lib/cjs/components/position-input/PositionInput.styles.js +1 -1
- package/lib/cjs/components/position-input/PositionInput.styles.js.map +1 -1
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.js +1 -1
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.js.map +1 -1
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.styles.js +1 -1
- package/lib/cjs/components/position-input/map-wrapper/MapWrapper.styles.js.map +1 -1
- package/lib/cjs/components/position-input/map-wrapper/map/Map.styles.js +1 -1
- package/lib/cjs/components/position-input/map-wrapper/map/Map.styles.js.map +1 -1
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/components/position-input/PositionInput.styles.js.map +1 -1
- package/lib/esm/components/position-input/map-wrapper/MapWrapper.js.map +1 -1
- package/lib/esm/components/position-input/map-wrapper/MapWrapper.styles.js.map +1 -1
- package/lib/esm/components/position-input/map-wrapper/map/Map.styles.js.map +1 -1
- package/package.json +10 -10
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _positionInput = require("../../constants/positionInput");
|
|
10
10
|
var _MapWrapper = _interopRequireDefault(require("./map-wrapper/MapWrapper"));
|
|
11
11
|
var _PositionInput = require("./PositionInput.styles");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const PositionInput = ({
|
|
14
14
|
searchPlaceholder,
|
|
15
15
|
apiToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionInput.js","names":["_core","require","_react","_interopRequireDefault","_positionInput","_MapWrapper","_PositionInput","
|
|
1
|
+
{"version":3,"file":"PositionInput.js","names":["_core","require","_react","_interopRequireDefault","_positionInput","_MapWrapper","_PositionInput","e","__esModule","default","PositionInput","searchPlaceholder","apiToken","polygonOptions","DEFAULT_POLYGON_OPTIONS","initialPosition","DEFAULT_POSITION","zoom","markers","onMarkerRemove","onMarkerChange","onMarkerAdd","createElement","StyledPositionInput","StyledPositionInputSearch","Input","id","placeholder","initialZoom","displayName","_default","exports"],"sources":["../../../../src/components/position-input/PositionInput.tsx"],"sourcesContent":["import { Input } from '@chayns-components/core';\nimport React, { FC } from 'react';\nimport { DEFAULT_POLYGON_OPTIONS, DEFAULT_POSITION } from '../../constants/positionInput';\nimport type { IMarker, PolygonOptions, Position } from '../../types/positionInput';\nimport MapWrapper from './map-wrapper/MapWrapper';\nimport { StyledPositionInput, StyledPositionInputSearch } from './PositionInput.styles';\n\nexport type PositionInputProps = {\n /**\n * The api token for google maps.\n */\n apiToken: string;\n /**\n * The position of the center of the map on the initial render.\n */\n initialPosition?: Position;\n /**\n * Markers that should be displayed.\n */\n markers?: IMarker[];\n /**\n * Function to be executed when a marker is added.\n */\n onMarkerAdd?: (marker: IMarker) => void;\n /**\n * Function to be executed when a marker position is changed.\n */\n onMarkerChange?: (markers: IMarker[]) => void;\n /**\n * Function to be executed when a marker is removed.\n */\n onMarkerRemove?: (id: number) => void;\n /**\n * Options to style the polygon.\n */\n polygonOptions?: PolygonOptions;\n /**\n * The placeholder of the search input.\n */\n searchPlaceholder?: string;\n /**\n * The zoom of the map.\n */\n zoom?: number;\n};\n\nconst PositionInput: FC<PositionInputProps> = ({\n searchPlaceholder,\n apiToken,\n polygonOptions = DEFAULT_POLYGON_OPTIONS,\n initialPosition = DEFAULT_POSITION,\n zoom = 13,\n markers,\n onMarkerRemove,\n onMarkerChange,\n onMarkerAdd,\n}) => (\n <StyledPositionInput>\n <StyledPositionInputSearch>\n <Input id=\"auto-complete-input\" placeholder={searchPlaceholder} />\n </StyledPositionInputSearch>\n <MapWrapper\n apiToken={apiToken}\n polygonOptions={polygonOptions}\n initialPosition={initialPosition}\n initialZoom={zoom}\n markers={markers}\n onMarkerAdd={onMarkerAdd}\n onMarkerChange={onMarkerChange}\n onMarkerRemove={onMarkerRemove}\n />\n </StyledPositionInput>\n);\n\nPositionInput.displayName = 'PositionInput';\n\nexport default PositionInput;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAAwF,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAyCxF,MAAMG,aAAqC,GAAGA,CAAC;EAC3CC,iBAAiB;EACjBC,QAAQ;EACRC,cAAc,GAAGC,sCAAuB;EACxCC,eAAe,GAAGC,+BAAgB;EAClCC,IAAI,GAAG,EAAE;EACTC,OAAO;EACPC,cAAc;EACdC,cAAc;EACdC;AACJ,CAAC,kBACGnB,MAAA,CAAAO,OAAA,CAAAa,aAAA,CAAChB,cAAA,CAAAiB,mBAAmB,qBAChBrB,MAAA,CAAAO,OAAA,CAAAa,aAAA,CAAChB,cAAA,CAAAkB,yBAAyB,qBACtBtB,MAAA,CAAAO,OAAA,CAAAa,aAAA,CAACtB,KAAA,CAAAyB,KAAK;EAACC,EAAE,EAAC,qBAAqB;EAACC,WAAW,EAAEhB;AAAkB,CAAE,CAC1C,CAAC,eAC5BT,MAAA,CAAAO,OAAA,CAAAa,aAAA,CAACjB,WAAA,CAAAI,OAAU;EACPG,QAAQ,EAAEA,QAAS;EACnBC,cAAc,EAAEA,cAAe;EAC/BE,eAAe,EAAEA,eAAgB;EACjCa,WAAW,EAAEX,IAAK;EAClBC,OAAO,EAAEA,OAAQ;EACjBG,WAAW,EAAEA,WAAY;EACzBD,cAAc,EAAEA,cAAe;EAC/BD,cAAc,EAAEA;AAAe,CAClC,CACgB,CACxB;AAEDT,aAAa,CAACmB,WAAW,GAAG,eAAe;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAE7BC,aAAa","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.StyledPositionInputSearch = exports.StyledPositionInput = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const StyledPositionInput = exports.StyledPositionInput = _styledComponents.default.div`
|
|
10
10
|
position: relative;
|
|
11
11
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionInput.styles.js","names":["_styledComponents","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"PositionInput.styles.js","names":["_styledComponents","_interopRequireDefault","require","e","__esModule","default","StyledPositionInput","exports","styled","div","StyledPositionInputSearch"],"sources":["../../../../src/components/position-input/PositionInput.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledPositionInput = styled.div`\n position: relative;\n`;\n\nexport const StyledPositionInputSearch = styled.div`\n position: absolute;\n width: 300px;\n left: 8px;\n top: 8px;\n z-index: 3;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,yBAAM,CAACC,GAAG;AAC7C;AACA,CAAC;AAEM,MAAMC,yBAAyB,GAAAH,OAAA,CAAAG,yBAAA,GAAGF,yBAAM,CAACC,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ var _MapWrapper = require("./MapWrapper.styles");
|
|
|
10
10
|
var _api = require("@react-google-maps/api");
|
|
11
11
|
var _Marker = _interopRequireDefault(require("./map/marker/Marker"));
|
|
12
12
|
var _Map = _interopRequireDefault(require("./map/Map"));
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
const MapWrapper = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapWrapper.js","names":["_react","_interopRequireWildcard","require","_reactWrapper","_MapWrapper","_api","_Marker","_interopRequireDefault","_Map","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,IAAA,GAAAD,sBAAA,CAAAL,OAAA;AAA4B,SAAAK,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAY,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAhB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAa5B,MAAMW,UAA+B,GAAGA,CAAC;EACrCC,QAAQ;EACRC,cAAc;EACdC,WAAW;EACXC,eAAe;EACfC,OAAO;EACPC,WAAW;EACXC,cAAc;EACdC;AACJ,CAAC,KAAK;EACF,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAa,CAAC;EAC5D,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACG,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAJ,eAAQ,EAACR,WAAW,CAAC;EAC7C,MAAM,CAACa,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAN,eAAQ,EAAWP,eAAe,CAAC;EAC/D,MAAM,CAACc,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAR,eAAQ,EAAY,CAAC;EACnE,MAAM,CAACS,GAAG,EAAEC,MAAM,CAAC,GAAG,IAAAV,eAAQ,EAAkB,CAAC;EAEjD,IAAAW,gBAAS,EAAC,MAAM;IACZ,IAAIjB,OAAO,EAAE;MACTc,kBAAkB,CAACd,OAAO,CAAC;IAC/B;EACJ,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMkB,WAAW,GAAG,IAAAC,kBAAW,EAC1BzC,CAA4B,IAAK;IAAA,IAAA0C,SAAA;IAC9B,MAAMC,MAAM,IAAAD,SAAA,GAAG1C,CAAC,CAAC2C,MAAM,cAAAD,SAAA,uBAARA,SAAA,CAAUE,MAAM,CAAC,CAAC;IAEjC,IAAI,CAACD,MAAM,EAAE;MACT;IACJ;IAEAP,kBAAkB,CAAES,SAAS,IAAK;MAC9B,IAAIA,SAAS,IAAIA,SAAS,CAACC,MAAM,IAAI,CAAC,EAAE;QACpC,OAAOD,SAAS;MACpB;MAEA,MAAME,SAAkB,GAAG;QACvBC,QAAQ,EAAE;UAAEC,GAAG,EAAEN,MAAM,CAACM,GAAG;UAAEC,GAAG,EAAEP,MAAM,CAACO;QAAI,CAAC;QAC9CC,EAAE,EAAEN,SAAS,GAAGA,SAAS,CAACC,MAAM,GAAG;MACvC,CAAC;MAED,IAAI,OAAOvB,WAAW,KAAK,UAAU,EAAE;QACnCA,WAAW,CAACwB,SAAS,CAAC;MAC1B;MAEA,OAAOF,SAAS,GAAG,CAAC,GAAGA,SAAS,EAAEE,SAAS,CAAC,GAAG,CAACA,SAAS,CAAC;IAC9D,CAAC,CAAC;EACN,CAAC,EACD,CAACxB,WAAW,CAChB,CAAC;EAED,IAAAgB,gBAAS,EAAC,MAAM;IAAA,IAAAa,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA,EAAAC,kBAAA;IACZ,IAAI,CAACxB,eAAe,EAAE;MAClB;IACJ;IAEA,IAAIA,eAAe,CAACW,MAAM,KAAK,CAAC,EAAE;MAC9BhB,cAAc,CAAC,KAAK,CAAC;MAErB;IACJ;IAEA,MAAM8B,IAAgB,GAAG,CACrB;MACIX,GAAG,EAAE,EAAAG,iBAAA,GAAAjB,eAAe,CAAC,CAAC,CAAC,cAAAiB,iBAAA,uBAAlBA,iBAAA,CAAoBJ,QAAQ,CAACC,GAAG,KAAI,CAAC;MAC1CC,GAAG,EAAE,EAAAG,kBAAA,GAAAlB,eAAe,CAAC,CAAC,CAAC,cAAAkB,kBAAA,uBAAlBA,kBAAA,CAAoBL,QAAQ,CAACE,GAAG,KAAI;IAC7C,CAAC,EACD;MACID,GAAG,EAAE,EAAAK,kBAAA,GAAAnB,eAAe,CAAC,CAAC,CAAC,cAAAmB,kBAAA,uBAAlBA,kBAAA,CAAoBN,QAAQ,CAACC,GAAG,KAAI,CAAC;MAC1CC,GAAG,EAAE,EAAAK,kBAAA,GAAApB,eAAe,CAAC,CAAC,CAAC,cAAAoB,kBAAA,uBAAlBA,kBAAA,CAAoBP,QAAQ,CAACE,GAAG,KAAI;IAC7C,CAAC,EACD;MACID,GAAG,EAAE,EAAAO,kBAAA,GAAArB,eAAe,CAAC,CAAC,CAAC,cAAAqB,kBAAA,uBAAlBA,kBAAA,CAAoBR,QAAQ,CAACC,GAAG,KAAI,CAAC;MAC1CC,GAAG,EAAE,EAAAO,kBAAA,GAAAtB,eAAe,CAAC,CAAC,CAAC,cAAAsB,kBAAA,uBAAlBA,kBAAA,CAAoBT,QAAQ,CAACE,GAAG,KAAI;IAC7C,CAAC,EACD;MACID,GAAG,EAAE,EAAAS,kBAAA,GAAAvB,eAAe,CAAC,CAAC,CAAC,cAAAuB,kBAAA,uBAAlBA,kBAAA,CAAoBV,QAAQ,CAACC,GAAG,KAAI,CAAC;MAC1CC,GAAG,EAAE,EAAAS,kBAAA,GAAAxB,eAAe,CAAC,CAAC,CAAC,cAAAwB,kBAAA,uBAAlBA,kBAAA,CAAoBX,QAAQ,CAACE,GAAG,KAAI;IAC7C,CAAC,CACJ;IAED,MAAMW,MAAM,GAAGD,IAAI,CAACE,MAAM,CAAC,CAACC,IAAI,EAAEC,OAAO,KAAMD,IAAI,CAACd,GAAG,GAAGe,OAAO,CAACf,GAAG,GAAGc,IAAI,GAAGC,OAAQ,CAAC;IACxF,MAAMC,MAAM,GAAGL,IAAI,CAACE,MAAM,CAAC,CAACC,IAAI,EAAEC,OAAO,KAAMD,IAAI,CAACd,GAAG,GAAGe,OAAO,CAACf,GAAG,GAAGc,IAAI,GAAGC,OAAQ,CAAC;IACxF,MAAME,MAAM,GAAGN,IAAI,CAACE,MAAM,CAAC,CAACC,IAAI,EAAEC,OAAO,KAAMD,IAAI,CAACb,GAAG,GAAGc,OAAO,CAACd,GAAG,GAAGa,IAAI,GAAGC,OAAQ,CAAC;IACxF,MAAMG,MAAM,GAAGP,IAAI,CAACE,MAAM,CAAC,CAACC,IAAI,EAAEC,OAAO,KAAMD,IAAI,CAACb,GAAG,GAAGc,OAAO,CAACd,GAAG,GAAGa,IAAI,GAAGC,OAAQ,CAAC;IAExF,MAAMI,OAAO,GAAGR,IAAI,CAACS,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACrB,GAAG,KAAKY,MAAM,CAACZ,GAAG,IAAIqB,IAAI,CAACpB,GAAG,KAAKiB,MAAM,CAACjB,GAAG,CAAC;IACvF,MAAMqB,WAAW,GAAGX,IAAI,CAACS,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACrB,GAAG,KAAKgB,MAAM,CAAChB,GAAG,IAAIqB,IAAI,CAACpB,GAAG,KAAKgB,MAAM,CAAChB,GAAG,CAAC;IAE3F,IAAI,CAACkB,OAAO,IAAI,CAACG,WAAW,EAAE;MAC1B;IACJ;IAEA,MAAMC,SAAS,GAAG,CAACJ,OAAO,CAACnB,GAAG,GAAGsB,WAAW,CAACtB,GAAG,IAAI,CAAC;IACrD,MAAMwB,SAAS,GAAG,CAACL,OAAO,CAAClB,GAAG,GAAGqB,WAAW,CAACrB,GAAG,IAAI,CAAC;IAErD,MAAMwB,aAAa,GAAG;MAClBzB,GAAG,EAAEuB,SAAS;MACdtB,GAAG,EAAEuB;IACT,CAAC;IAED,IAAI,CAACC,aAAa,EAAE;MAChB;IACJ;IAEA5C,cAAc,CAAC,IAAI,CAAC;IACpBH,cAAc,CAACiC,IAAI,CAAC;EACxB,CAAC,EAAE,CAACzB,eAAe,CAAC,CAAC;EAErB,MAAMwC,UAAU,GAAIC,CAAkB,IAAK;IAAA,IAAAC,YAAA;IACvCvC,MAAM,CAACsC,CAAC,CAAC;IACT5C,OAAO,CAAC4C,CAAC,CAACE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB5C,SAAS,CAAC,EAAA2C,YAAA,GAAAD,CAAC,CAACG,SAAS,CAAC,CAAC,cAAAF,YAAA,uBAAbA,YAAA,CAAejC,MAAM,CAAC,CAAC,KAAI;MAAEK,GAAG,EAAE,CAAC;MAAEC,GAAG,EAAE;IAAE,CAAC,CAAC;EAC5D,CAAC;EAED,MAAM8B,oBAAoB,GAAIhC,QAAkB,IAAK;IACjDd,SAAS,CAACc,QAAQ,CAAC;EACvB,CAAC;EAED,MAAMiC,kBAAkB,GAAG,IAAAxC,kBAAW,EACjCyC,MAAe,IAAK;IACjB9C,kBAAkB,CAAES,SAAS,IAAK;MAC9B,MAAMsC,cAAc,GAAG,CAACtC,SAAS,IAAI,EAAE,EAAER,GAAG,CAAE+C,UAAU,IAAK;QACzD,IAAIA,UAAU,CAACjC,EAAE,KAAK+B,MAAM,CAAC/B,EAAE,EAAE;UAC7B,OAAO;YAAE,GAAGiC,UAAU;YAAEpC,QAAQ,EAAEkC,MAAM,CAAClC;UAAS,CAAC;QACvD;QACA,OAAOoC,UAAU;MACrB,CAAC,CAAC;MAEF,IAAI,OAAO3D,cAAc,KAAK,UAAU,EAAE;QACtCA,cAAc,CAAC0D,cAAc,CAAC;MAClC;MAEA,OAAOA,cAAc;IACzB,CAAC,CAAC;EACN,CAAC,EACD,CAAC1D,cAAc,CACnB,CAAC;EAED,MAAM4D,kBAAkB,GAAG,IAAA5C,kBAAW,EACjCU,EAAU,IAAK;IACZf,kBAAkB,CAAES,SAAS,IAAK;MAC9B,IAAI,OAAOrB,cAAc,KAAK,UAAU,EAAE;QACtCA,cAAc,CAAC2B,EAAE,CAAC;MACtB;MAEA,OAAON,SAAS,GAAGA,SAAS,CAACyC,MAAM,CAAEJ,MAAM,IAAKA,MAAM,CAAC/B,EAAE,KAAKA,EAAE,CAAC,GAAG,EAAE;IAC1E,CAAC,CAAC;EACN,CAAC,EACD,CAAC3B,cAAc,CACnB,CAAC;EAED,MAAM+D,UAAU,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC7B,MAAMC,KAAqB,GAAG,EAAE;IAEhC,IAAI,CAACtD,eAAe,EAAE;MAClB,OAAOsD,KAAK;IAChB;IAEAtD,eAAe,CAACuD,OAAO,CAAC,CAAC;MAAEvC,EAAE;MAAEH;IAAS,CAAC,KAAK;MAC1CyC,KAAK,CAACE,IAAI,eACNxG,MAAA,CAAAW,OAAA,CAAA8F,aAAA,CAACnG,OAAA,CAAAK,OAAM;QACH+F,GAAG,EAAG,UAAS1C,EAAG,EAAE;QACpBA,EAAE,EAAEA,EAAG;QACPH,QAAQ,EAAEA,QAAS;QACnB8C,WAAW;QACXzD,GAAG,EAAEA,GAAI;QACT0D,QAAQ,EAAEd,kBAAmB;QAC7Be,QAAQ,EAAEX;MAAmB,CAChC,CACL,CAAC;IACL,CAAC,CAAC;IAEF,OAAOI,KAAK;EAChB,CAAC,EAAE,CAACR,kBAAkB,EAAEI,kBAAkB,EAAElD,eAAe,EAAEE,GAAG,CAAC,CAAC;EAElE,OAAO,IAAAmD,cAAO,EACV,mBACIrG,MAAA,CAAAW,OAAA,CAAA8F,aAAA,CAACrG,WAAA,CAAA0G,gBAAgB,qBACb9G,MAAA,CAAAW,OAAA,CAAA8F,aAAA,CAACtG,aAAA,CAAA4G,OAAO;IAACC,MAAM,EAAEjF,QAAS;IAACkF,SAAS,EAAE,CAAC,QAAQ;EAAE,gBAI7CjH,MAAA,CAAAW,OAAA,CAAA8F,aAAA,CAACjG,IAAA,CAAAG,OAAG;IACAuG,OAAO,EAAE7D,WAAY;IACrB8D,MAAM,EAAE3B,UAAW;IACnB4B,gBAAgB,EAAEvB,oBAAqB;IACvC/C,MAAM,EAAEA,MAAO;IACfF,IAAI,EAAEA,IAAK;IACXyE,iBAAiB,EAAE,KAAM;IACzBC,cAAc,EAAE,KAAM;IACtBC,iBAAiB,EAAE;EAAM,GAExBnB,UAAU,EACV1D,WAAW,iBAAI1C,MAAA,CAAAW,OAAA,CAAA8F,aAAA,CAACpG,IAAA,CAAAmH,OAAO;IAAC/C,IAAI,EAAElC,WAAY;IAACkF,OAAO,EAAEzF;EAAe,CAAE,CACrE,CACA,CACK,CACrB,EACD,CAACD,QAAQ,EAAEsB,WAAW,EAAEP,MAAM,EAAEF,IAAI,EAAEwD,UAAU,EAAE1D,WAAW,EAAEH,WAAW,EAAEP,cAAc,CAC9F,CAAC;AACL,CAAC;AAEDF,UAAU,CAAC4F,WAAW,GAAG,YAAY;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjH,OAAA,GAEvBmB,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MapWrapper.js","names":["_react","_interopRequireWildcard","require","_reactWrapper","_MapWrapper","_api","_Marker","_interopRequireDefault","_Map","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.StyledMapWrapper = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const StyledMapWrapper = exports.StyledMapWrapper = _styledComponents.default.div`
|
|
10
10
|
height: 500px;
|
|
11
11
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapWrapper.styles.js","names":["_styledComponents","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"MapWrapper.styles.js","names":["_styledComponents","_interopRequireDefault","require","e","__esModule","default","StyledMapWrapper","exports","styled","div"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMapWrapper = styled.div`\n height: 500px;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,yBAAM,CAACC,GAAG;AAC1C;AACA,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.StyledMap = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const StyledMap = exports.StyledMap = _styledComponents.default.div`
|
|
10
10
|
height: 100%;
|
|
11
11
|
width: 100%;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.styles.js","names":["_styledComponents","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"Map.styles.js","names":["_styledComponents","_interopRequireDefault","require","e","__esModule","default","StyledMap","exports","styled","div"],"sources":["../../../../../../src/components/position-input/map-wrapper/map/Map.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMap = styled.div`\n height: 100%;\n width: 100%;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC,MAAMG,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,yBAAM,CAACC,GAAG;AACnC;AACA;AACA,CAAC","ignoreList":[]}
|
package/lib/cjs/index.js
CHANGED
|
@@ -10,5 +10,5 @@ Object.defineProperty(exports, "PositionInput", {
|
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
var _PositionInput = _interopRequireDefault(require("./components/position-input/PositionInput"));
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_PositionInput","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_PositionInput","_interopRequireDefault","require","e","__esModule","default"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\nexport { default as PositionInput } from './components/position-input/PositionInput';\nexport type { PolygonOptions, Position, IMarker as Marker } from './types/positionInput';\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAqF,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PositionInput.styles.js","names":["styled","StyledPositionInput","div","StyledPositionInputSearch"],"sources":["../../../../src/components/position-input/PositionInput.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledPositionInput = styled.div`\n position: relative;\n`;\n\nexport const StyledPositionInputSearch = styled.div`\n position: absolute;\n width: 300px;\n left: 8px;\n top: 8px;\n z-index: 3;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,mBAAmB,GAAGD,MAAM,CAACE,
|
|
1
|
+
{"version":3,"file":"PositionInput.styles.js","names":["styled","StyledPositionInput","div","StyledPositionInputSearch"],"sources":["../../../../src/components/position-input/PositionInput.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledPositionInput = styled.div`\n position: relative;\n`;\n\nexport const StyledPositionInputSearch = styled.div`\n position: absolute;\n width: 300px;\n left: 8px;\n top: 8px;\n z-index: 3;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,mBAAmB,GAAGD,MAAM,CAACE,GAAG;AAC7C;AACA,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGH,MAAM,CAACE,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -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","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapWrapper.styles.js","names":["styled","StyledMapWrapper","div"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMapWrapper = styled.div`\n height: 500px;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,gBAAgB,GAAGD,MAAM,CAACE,
|
|
1
|
+
{"version":3,"file":"MapWrapper.styles.js","names":["styled","StyledMapWrapper","div"],"sources":["../../../../../src/components/position-input/map-wrapper/MapWrapper.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMapWrapper = styled.div`\n height: 500px;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,gBAAgB,GAAGD,MAAM,CAACE,GAAG;AAC1C;AACA,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.styles.js","names":["styled","StyledMap","div"],"sources":["../../../../../../src/components/position-input/map-wrapper/map/Map.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMap = styled.div`\n height: 100%;\n width: 100%;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,SAAS,GAAGD,MAAM,CAACE,
|
|
1
|
+
{"version":3,"file":"Map.styles.js","names":["styled","StyledMap","div"],"sources":["../../../../../../src/components/position-input/map-wrapper/map/Map.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledMap = styled.div`\n height: 100%;\n width: 100%;\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AAEtC,OAAO,MAAMC,SAAS,GAAGD,MAAM,CAACE,GAAG;AACnC;AACA;AACA,CAAC","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.628",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"browserslist": [
|
|
@@ -49,13 +49,13 @@
|
|
|
49
49
|
"url": "https://github.com/TobitSoftware/chayns-components/issues"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@babel/cli": "^7.24.
|
|
53
|
-
"@babel/core": "^7.24.
|
|
54
|
-
"@babel/preset-env": "^7.24.
|
|
55
|
-
"@babel/preset-react": "^7.24.
|
|
56
|
-
"@babel/preset-typescript": "^7.24.
|
|
57
|
-
"@types/google.maps": "^3.55.
|
|
58
|
-
"@types/react": "^18.3.
|
|
52
|
+
"@babel/cli": "^7.24.6",
|
|
53
|
+
"@babel/core": "^7.24.6",
|
|
54
|
+
"@babel/preset-env": "^7.24.6",
|
|
55
|
+
"@babel/preset-react": "^7.24.6",
|
|
56
|
+
"@babel/preset-typescript": "^7.24.6",
|
|
57
|
+
"@types/google.maps": "^3.55.9",
|
|
58
|
+
"@types/react": "^18.3.3",
|
|
59
59
|
"@types/react-dom": "^18.3.0",
|
|
60
60
|
"@types/styled-components": "^5.1.34",
|
|
61
61
|
"@types/uuid": "^9.0.8",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"typescript": "^5.4.5"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@chayns-components/core": "^5.0.0-beta.
|
|
71
|
+
"@chayns-components/core": "^5.0.0-beta.628",
|
|
72
72
|
"@googlemaps/react-wrapper": "^1.1.35",
|
|
73
73
|
"@googlemaps/typescript-guards": "^2.0.3",
|
|
74
74
|
"@react-google-maps/api": "^2.19.3",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"publishConfig": {
|
|
85
85
|
"access": "public"
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "a0c8273bfea3031d1e64867ba5dee628a963c97e"
|
|
88
88
|
}
|