@carto/ps-react-maps 2.1.0 → 3.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE.md +29 -0
  2. package/README.md +16 -13
  3. package/dist/index.js +2317 -1433
  4. package/dist/index.js.map +1 -0
  5. package/dist/styles.css +1 -0
  6. package/dist/types/common/common.d.ts +3 -0
  7. package/dist/types/common/index.d.ts +25 -0
  8. package/dist/types/common/lasso-tools.d.ts +33 -0
  9. package/dist/types/common/measurement-tools.d.ts +66 -0
  10. package/dist/types/const.d.ts +31 -0
  11. package/dist/types/deckgl.d.ts +2 -0
  12. package/dist/types/editable/const.d.ts +8 -0
  13. package/dist/types/editable/lasso-tools/const.d.ts +31 -0
  14. package/dist/types/editable/lasso-tools/lasso-tools-control.d.ts +2 -0
  15. package/dist/types/editable/lasso-tools/lasso-tools.d.ts +28 -0
  16. package/dist/types/editable/lasso-tools/layer.d.ts +3 -0
  17. package/dist/types/editable/lasso-tools/modes/custom-edit-mode.class.d.ts +5 -0
  18. package/dist/types/editable/lasso-tools/provider/provider.d.ts +4 -0
  19. package/dist/types/editable/lasso-tools/provider/store.d.ts +2 -0
  20. package/dist/types/editable/lasso-tools/provider/types.d.ts +14 -0
  21. package/dist/types/editable/lasso-tools/types.d.ts +77 -0
  22. package/dist/types/editable/measurement-tools/const.d.ts +67 -0
  23. package/dist/types/editable/measurement-tools/layer.d.ts +3 -0
  24. package/dist/types/editable/measurement-tools/measurement-tools-control.d.ts +2 -0
  25. package/dist/types/editable/measurement-tools/measurement-tools.d.ts +8 -0
  26. package/dist/types/editable/measurement-tools/modes/custom-measurement-area.class.d.ts +30 -0
  27. package/dist/types/editable/measurement-tools/modes/custom-measurement-buffer.class.d.ts +28 -0
  28. package/dist/types/editable/measurement-tools/modes/custom-measurement-distance.class.d.ts +16 -0
  29. package/dist/types/editable/measurement-tools/provider/provider.d.ts +4 -0
  30. package/dist/types/editable/measurement-tools/provider/store.d.ts +2 -0
  31. package/dist/types/editable/measurement-tools/provider/types.d.ts +18 -0
  32. package/dist/types/editable/measurement-tools/types.d.ts +97 -0
  33. package/dist/types/editable/measurement-tools/use-measurement-tools.d.ts +36 -0
  34. package/dist/types/editable/measurement-tools/utils.d.ts +17 -0
  35. package/dist/types/helpers.d.ts +12 -0
  36. package/dist/types/index.d.ts +41 -4
  37. package/dist/types/map.d.ts +2 -0
  38. package/dist/types/providers/layers/store.d.ts +2 -0
  39. package/dist/types/providers/layers/types.d.ts +9 -0
  40. package/dist/types/providers/map/const.d.ts +2 -0
  41. package/dist/types/providers/map/provider.d.ts +4 -0
  42. package/dist/types/providers/map/store.d.ts +2 -0
  43. package/dist/types/providers/map/types.d.ts +59 -0
  44. package/dist/types/providers/sources/const.d.ts +2 -0
  45. package/dist/types/providers/sources/store.d.ts +2 -0
  46. package/dist/types/providers/sources/types.d.ts +17 -0
  47. package/dist/types/types.d.ts +56 -0
  48. package/dist/types/use-get-layers.d.ts +4 -0
  49. package/dist/types/use-map-screenshot.d.ts +8 -0
  50. package/dist/types/utils/object-to-html/const.d.ts +5 -0
  51. package/dist/types/utils/object-to-html/object-to-html.test.d.ts +1 -0
  52. package/dist/types/utils/object-to-html/types.d.ts +3 -6
  53. package/dist/types/zoom-controls.d.ts +2 -0
  54. package/package.json +78 -42
  55. package/dist/index.cjs +0 -30
  56. package/dist/types/assets/icons/ruler.d.ts +0 -2
  57. package/dist/types/common-stories/maps/deckgl-maps.component.d.ts +0 -2
  58. package/dist/types/common-stories/maps/google-maps.component.d.ts +0 -3
  59. package/dist/types/common-stories/maps/map-container.component.d.ts +0 -4
  60. package/dist/types/common-stories/maps/map.component.d.ts +0 -2
  61. package/dist/types/event-manager/index.d.ts +0 -1
  62. package/dist/types/event-manager/use-event-manager.hook.d.ts +0 -14
  63. package/dist/types/map-measurement-tool/custom-editable-geojson-layer.class.d.ts +0 -10
  64. package/dist/types/map-measurement-tool/custom-measurement-distance-mode.class.d.ts +0 -6
  65. package/dist/types/map-measurement-tool/index.d.ts +0 -9
  66. package/dist/types/map-measurement-tool/map-measurement-tool.component.d.ts +0 -6
  67. package/dist/types/map-measurement-tool/map-measurement-tool.const.d.ts +0 -34
  68. package/dist/types/map-measurement-tool/map-measurement-tool.context.d.ts +0 -5
  69. package/dist/types/map-measurement-tool/map-measurement-tool.hook.d.ts +0 -10
  70. package/dist/types/map-measurement-tool/map-measurement-tool.layer.d.ts +0 -10
  71. package/dist/types/map-measurement-tool/map-measurement-tool.provider.d.ts +0 -8
  72. package/dist/types/map-measurement-tool/map-measurement-tool.reducer.d.ts +0 -15
  73. package/dist/types/map-measurement-tool/map-measurement-tool.styles.d.ts +0 -28
  74. package/dist/types/map-measurement-tool/map-measurement-tool.types.d.ts +0 -91
  75. package/dist/types/map-measurement-tool/map-measurement-tool.util.d.ts +0 -12
  76. package/dist/types/map-provider/index.d.ts +0 -6
  77. package/dist/types/map-provider/map-provider.const.d.ts +0 -33
  78. package/dist/types/map-provider/map-provider.context.d.ts +0 -6
  79. package/dist/types/map-provider/map-provider.hook.d.ts +0 -87
  80. package/dist/types/map-provider/map-provider.provider.d.ts +0 -13
  81. package/dist/types/map-provider/map-provider.reducer.d.ts +0 -24
  82. package/dist/types/map-provider/map-provider.types.d.ts +0 -122
  83. package/dist/types/utils/get-map-type/get-map-type.d.ts +0 -1
  84. package/dist/types/utils/get-map-type/index.d.ts +0 -2
  85. package/dist/types/utils/get-map-type/is-gmaps.d.ts +0 -1
  86. package/dist/types/utils/index.d.ts +0 -2
  87. package/dist/types/utils/object-to-html/index.d.ts +0 -2
package/package.json CHANGED
@@ -1,53 +1,89 @@
1
1
  {
2
2
  "name": "@carto/ps-react-maps",
3
- "version": "2.1.0",
4
- "description": "CARTO's Professional Service React Maps library",
5
- "files": [
6
- "dist"
7
- ],
3
+ "version": "3.0.0-canary.0",
4
+ "description": "CARTO's Professional Service React DeckGL library",
8
5
  "type": "module",
9
- "types": "./dist/types/index.d.ts",
10
- "main": "./dist/index.cjs",
11
- "module": "./dist/index.js",
6
+ "dependencies": {
7
+ "@turf/turf": "7.1.0"
8
+ },
9
+ "devDependencies": {
10
+ "@deck.gl-community/editable-layers": "9.0.3",
11
+ "@deck.gl/aggregation-layers": "9.0.38",
12
+ "@deck.gl/carto": "9.0.38",
13
+ "@deck.gl/core": "9.0.38",
14
+ "@deck.gl/extensions": "9.0.38",
15
+ "@deck.gl/geo-layers": "9.0.38",
16
+ "@deck.gl/google-maps": "9.0.38",
17
+ "@deck.gl/layers": "9.0.38",
18
+ "@deck.gl/mesh-layers": "9.0.38",
19
+ "@deck.gl/react": "9.0.38",
20
+ "@types/geojson": "7946.0.15",
21
+ "@vis.gl/react-google-maps": "1.4.3",
22
+ "convert-units": "3.0.0-beta.7",
23
+ "html2canvas": "1.4.1",
24
+ "maplibre-gl": "4.7.1",
25
+ "react-map-gl": "7.2.0-beta.1",
26
+ "zustand": "5.0.3",
27
+ "@carto/ps-utils": "2.0.0-canary.0"
28
+ },
29
+ "peerDependencies": {
30
+ "@deck.gl-community/editable-layers": "^9.0.0",
31
+ "@deck.gl/aggregation-layers": "^9.0.0",
32
+ "@deck.gl/carto": "^9.0.0",
33
+ "@deck.gl/core": "^9.0.0",
34
+ "@deck.gl/extensions": "^9.0.0",
35
+ "@deck.gl/geo-layers": "^9.0.0",
36
+ "@deck.gl/google-maps": "^9.0.0",
37
+ "@deck.gl/layers": "^9.0.0",
38
+ "@deck.gl/mesh-layers": "^9.0.0",
39
+ "@deck.gl/react": "^9.0.0",
40
+ "@vis.gl/react-google-maps": "^1.0.0",
41
+ "convert-units": "3.0.0-beta.7",
42
+ "html2canvas": "^1.4.1",
43
+ "maplibre-gl": "^4.0.0",
44
+ "react": "^18.0.0 || ^19.0.0",
45
+ "react-map-gl": "7.2.0-beta.1",
46
+ "zustand": "^5.0.0",
47
+ "@carto/ps-utils": "2.0.0-canary.0"
48
+ },
12
49
  "exports": {
13
50
  ".": {
14
- "types": "./dist/types/index.d.ts",
15
51
  "import": "./dist/index.js",
16
- "require": "./dist/index.cjs"
17
- }
52
+ "require": "./dist/index.cjs",
53
+ "types": "./dist/types/index.d.ts"
54
+ },
55
+ "./styles.css": "./dist/styles.css"
18
56
  },
19
- "scripts": {
20
- "start": "npm run storybook:start",
21
- "prebuild": "npm exec rimraf dist",
22
- "build": "tsc --build tsconfig.build.json && vite build",
23
- "lint": "eslint './**/*.{ts,tsx}' --ignore-path ../../.gitignore",
24
- "format": "prettier --write . --ignore-path ../../.gitignore",
25
- "test:watch": "vitest",
26
- "test:related": "vitest --run --passWithNoTests",
27
- "test:coverage": "vitest run --coverage",
28
- "storybook:start": "storybook dev --no-open -p 6006",
29
- "storybook:build": "storybook build"
57
+ "publishConfig": {
58
+ "access": "public"
30
59
  },
31
- "dependencies": {
32
- "@deck.gl-community/editable-layers": "9.0.0-alpha.1",
33
- "convert-units": "3.0.0-beta.6",
34
- "mjolnir.js": "2.7.1"
60
+ "files": [
61
+ "dist"
62
+ ],
63
+ "keywords": [
64
+ "carto",
65
+ "ps",
66
+ "react",
67
+ "deckgl"
68
+ ],
69
+ "eslintConfig": {},
70
+ "repository": {
71
+ "type": "git",
72
+ "url": "git+https://github.com/CartoDB/carto-ps-lib.git"
35
73
  },
36
- "devDependencies": {
37
- "@deck.gl/google-maps": "9.0.10",
38
- "@deck.gl/react": "9.0.10",
39
- "@react-google-maps/api": "2.19.3",
40
- "@types/google.maps": "3.55.7",
41
- "maplibre-gl": "4.1.3",
42
- "react-map-gl": "7.1.7"
74
+ "author": "CARTO frontend PS team <frontend-ps@carto.com>",
75
+ "license": "MIT",
76
+ "bugs": {
77
+ "url": "https://github.com/CartoDB/carto-ps-lib/issues"
43
78
  },
44
- "peerDependencies": {
45
- "@deck.gl/core": "9.x",
46
- "@deck.gl/layers": "9.x",
47
- "@deck.gl-community/editable-layers": "9.x",
48
- "convert-units": "3.x",
49
- "mjolnir.js": "2.x",
50
- "react": "17.x || 18.x",
51
- "react-dom": "17.x || 18.x"
79
+ "homepage": "https://github.com/CartoDB/carto-ps-lib#readme",
80
+ "scripts": {
81
+ "dev": "vite build --watch --emptyOutDir=false",
82
+ "build": "vite build",
83
+ "lint": "eslint",
84
+ "typecheck": "tsc --noEmit",
85
+ "test": "vitest run",
86
+ "test:watch": "vitest",
87
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
52
88
  }
53
- }
89
+ }
package/dist/index.cjs DELETED
@@ -1,30 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),sr=require("mjolnir.js"),ct=require("@deck.gl-community/editable-layers"),ur=require("convert-units");var lt=(t=>(t.Roadmap="roadmap",t.Satellite="satellite",t.Hybrid="hybrid",t))(lt||{}),ft=(t=>(t.DarkMatter="dark-matter",t.Positron="positron",t.Voyager="voyager",t))(ft||{});const se={positron:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",voyager:"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json","dark-matter":"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json"};var Me=(t=>(t.Maplibre="maplibre",t.GoogleMaps="google-maps",t))(Me||{});const ce={positron:{url:se.positron,type:"maplibre"},voyager:{url:se.voyager,type:"maplibre"},"dark-matter":{url:se["dark-matter"],type:"maplibre",dark:!0},roadmap:{type:"google-maps"},satellite:{type:"google-maps"},hybrid:{type:"google-maps"}},G=()=>{throw new Error("You forgot to wrap your component in <MapProvider>.")},X={state:{maps:{}},references:{current:{}},actions:{setViewState:G,setBasemap:G,setResize:G,setZoom:G,setLoaded:G}},Ce=d.createContext(X.state),Pe=d.createContext(X.references),Oe=d.createContext(X.actions);var D=(t=>(t.SetViewState="SetViewState",t.SetBasemap="SetBasemap",t.SetResize="SetResize",t.SetZoom="SetZoom",t.SetLoaded="SetLoaded",t))(D||{});function dt(t,{type:r,payload:a}){return{SetViewState:()=>{const{id:o,viewState:l}=a,f={...t.maps};return f[o]={...t.maps[o],viewState:l},{...t,maps:f}},SetResize:()=>{const{id:o,width:l,height:f}=a,E={...t.maps};return E[o]={...t.maps[o],width:l,height:f},{...t,maps:E}},SetBasemap:()=>{const{id:o,basemap:l}=a,f={...t.maps},{basemap:E}=f[o],u=ce[E]?.type,v=ce[l]?.type,h=u===v;return f[o]={...t.maps[o],basemap:l,isLoaded:h},{...t,maps:f}},SetZoom:()=>{const{id:o,zoom:l}=a,f={...t.maps};return f[o]={...t.maps[o],viewState:{...t.maps[o].viewState,zoom:l}},{...t,maps:f}},SetLoaded:()=>{const{id:o,value:l}=a,f={...t.maps};return f[o]={...t.maps[o],isLoaded:l},{...t,maps:f}}}[r]?.()??t}function fe(t){return d.useContext(Ce).maps[t]}function te(t){const r=d.useContext(Pe),{instanceRef:a,overlayRef:s}=r.current[t],o=d.useCallback(()=>{const v=a?.current;return v?.deck||v?._deck},[a]),l=d.useCallback(()=>s?.current,[s]),f=d.useCallback(()=>o()?._getViewState(),[o]),E=d.useCallback(v=>o()?.getViewports(v),[o]),u=d.useCallback((v=0,h)=>E(h)?.[v],[E]);return{instanceRef:a,overlayRef:s,getDeckInstance:o,getOverlayInstance:l,getViewState:f,getViewport:u,getViewports:E}}function pt(t){const{setBasemap:r,setResize:a,setViewState:s,setZoom:o,setLoaded:l}=d.useContext(Oe),{getViewport:f}=te(t);return{setBasemap:u=>r(u,t),setResize:u=>a(u,t),setViewState:u=>s(u,t),setZoom:u=>o(u,t),setLoaded:u=>l(u,t),fitBounds:(u,{boundsOptions:v,viewStateOptions:h}={})=>{const R=f(),{latitude:S,longitude:g,zoom:b}=R.fitBounds(u,v);s({...h,latitude:S,longitude:g,zoom:b},t)}}}function cr(t){return fe(t)}function lr(t){return te(t)}function fr(t){return pt(t)}function dr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var _e={exports:{}},K={};/**
2
- * @license React
3
- * react-jsx-runtime.production.min.js
4
- *
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var ot;function pr(){if(ot)return K;ot=1;var t=d,r=Symbol.for("react.element"),a=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function f(E,u,v){var h,R={},S=null,g=null;v!==void 0&&(S=""+v),u.key!==void 0&&(S=""+u.key),u.ref!==void 0&&(g=u.ref);for(h in u)s.call(u,h)&&!l.hasOwnProperty(h)&&(R[h]=u[h]);if(E&&E.defaultProps)for(h in u=E.defaultProps,u)R[h]===void 0&&(R[h]=u[h]);return{$$typeof:r,type:E,key:S,ref:g,props:R,_owner:o.current}}return K.Fragment=a,K.jsx=f,K.jsxs=f,K}var J={};/**
10
- * @license React
11
- * react-jsx-runtime.development.js
12
- *
13
- * Copyright (c) Facebook, Inc. and its affiliates.
14
- *
15
- * This source code is licensed under the MIT license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */var it;function mr(){return it||(it=1,process.env.NODE_ENV!=="production"&&function(){var t=d,r=Symbol.for("react.element"),a=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),E=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),b=Symbol.iterator,j="@@iterator";function U(e){if(e===null||typeof e!="object")return null;var n=b&&e[b]||e[j];return typeof n=="function"?n:null}var A=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function C(e){{for(var n=arguments.length,i=new Array(n>1?n-1:0),c=1;c<n;c++)i[c-1]=arguments[c];de("error",e,i)}}function de(e,n,i){{var c=A.ReactDebugCurrentFrame,y=c.getStackAddendum();y!==""&&(n+="%s",i=i.concat([y]));var _=i.map(function(m){return String(m)});_.unshift("Warning: "+n),Function.prototype.apply.call(console[e],console,_)}}var W=!1,re=!1,wt=!1,At=!1,kt=!1,Le;Le=Symbol.for("react.module.reference");function jt(e){return!!(typeof e=="string"||typeof e=="function"||e===s||e===l||kt||e===o||e===v||e===h||At||e===g||W||re||wt||typeof e=="object"&&e!==null&&(e.$$typeof===S||e.$$typeof===R||e.$$typeof===f||e.$$typeof===E||e.$$typeof===u||e.$$typeof===Le||e.getModuleId!==void 0))}function xt(e,n,i){var c=e.displayName;if(c)return c;var y=n.displayName||n.name||"";return y!==""?i+"("+y+")":i}function Fe(e){return e.displayName||"Context"}function x(e){if(e==null)return null;if(typeof e.tag=="number"&&C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case s:return"Fragment";case a:return"Portal";case l:return"Profiler";case o:return"StrictMode";case v:return"Suspense";case h:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case E:var n=e;return Fe(n)+".Consumer";case f:var i=e;return Fe(i._context)+".Provider";case u:return xt(e,e.render,"ForwardRef");case R:var c=e.displayName||null;return c!==null?c:x(e.type)||"Memo";case S:{var y=e,_=y._payload,m=y._init;try{return x(m(_))}catch{return null}}}return null}var F=Object.assign,H=0,Ie,Ne,Ue,Ve,Ye,Be,$e;function We(){}We.__reactDisabledLog=!0;function Dt(){{if(H===0){Ie=console.log,Ne=console.info,Ue=console.warn,Ve=console.error,Ye=console.group,Be=console.groupCollapsed,$e=console.groupEnd;var e={configurable:!0,enumerable:!0,value:We,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}H++}}function Lt(){{if(H--,H===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:F({},e,{value:Ie}),info:F({},e,{value:Ne}),warn:F({},e,{value:Ue}),error:F({},e,{value:Ve}),group:F({},e,{value:Ye}),groupCollapsed:F({},e,{value:Be}),groupEnd:F({},e,{value:$e})})}H<0&&C("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var pe=A.ReactCurrentDispatcher,me;function ne(e,n,i){{if(me===void 0)try{throw Error()}catch(y){var c=y.stack.trim().match(/\n( *(at )?)/);me=c&&c[1]||""}return`
18
- `+me+e}}var ve=!1,ae;{var Ft=typeof WeakMap=="function"?WeakMap:Map;ae=new Ft}function He(e,n){if(!e||ve)return"";{var i=ae.get(e);if(i!==void 0)return i}var c;ve=!0;var y=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var _;_=pe.current,pe.current=null,Dt();try{if(n){var m=function(){throw Error()};if(Object.defineProperty(m.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(m,[])}catch(w){c=w}Reflect.construct(e,[],m)}else{try{m.call()}catch(w){c=w}e.call(m.prototype)}}else{try{throw Error()}catch(w){c=w}e()}}catch(w){if(w&&c&&typeof w.stack=="string"){for(var p=w.stack.split(`
19
- `),O=c.stack.split(`
20
- `),T=p.length-1,M=O.length-1;T>=1&&M>=0&&p[T]!==O[M];)M--;for(;T>=1&&M>=0;T--,M--)if(p[T]!==O[M]){if(T!==1||M!==1)do if(T--,M--,M<0||p[T]!==O[M]){var k=`
21
- `+p[T].replace(" at new "," at ");return e.displayName&&k.includes("<anonymous>")&&(k=k.replace("<anonymous>",e.displayName)),typeof e=="function"&&ae.set(e,k),k}while(T>=1&&M>=0);break}}}finally{ve=!1,pe.current=_,Lt(),Error.prepareStackTrace=y}var Y=e?e.displayName||e.name:"",I=Y?ne(Y):"";return typeof e=="function"&&ae.set(e,I),I}function It(e,n,i){return He(e,!1)}function Nt(e){var n=e.prototype;return!!(n&&n.isReactComponent)}function oe(e,n,i){if(e==null)return"";if(typeof e=="function")return He(e,Nt(e));if(typeof e=="string")return ne(e);switch(e){case v:return ne("Suspense");case h:return ne("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case u:return It(e.render);case R:return oe(e.type,n,i);case S:{var c=e,y=c._payload,_=c._init;try{return oe(_(y),n,i)}catch{}}}return""}var z=Object.prototype.hasOwnProperty,ze={},qe=A.ReactDebugCurrentFrame;function ie(e){if(e){var n=e._owner,i=oe(e.type,e._source,n?n.type:null);qe.setExtraStackFrame(i)}else qe.setExtraStackFrame(null)}function Ut(e,n,i,c,y){{var _=Function.call.bind(z);for(var m in e)if(_(e,m)){var p=void 0;try{if(typeof e[m]!="function"){var O=Error((c||"React class")+": "+i+" type `"+m+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[m]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw O.name="Invariant Violation",O}p=e[m](n,m,c,i,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(T){p=T}p&&!(p instanceof Error)&&(ie(y),C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",c||"React class",i,m,typeof p),ie(null)),p instanceof Error&&!(p.message in ze)&&(ze[p.message]=!0,ie(y),C("Failed %s type: %s",i,p.message),ie(null))}}}var Vt=Array.isArray;function ge(e){return Vt(e)}function Yt(e){{var n=typeof Symbol=="function"&&Symbol.toStringTag,i=n&&e[Symbol.toStringTag]||e.constructor.name||"Object";return i}}function Bt(e){try{return Ge(e),!1}catch{return!0}}function Ge(e){return""+e}function Ke(e){if(Bt(e))return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Yt(e)),Ge(e)}var q=A.ReactCurrentOwner,$t={key:!0,ref:!0,__self:!0,__source:!0},Je,Ze,ye;ye={};function Wt(e){if(z.call(e,"ref")){var n=Object.getOwnPropertyDescriptor(e,"ref").get;if(n&&n.isReactWarning)return!1}return e.ref!==void 0}function Ht(e){if(z.call(e,"key")){var n=Object.getOwnPropertyDescriptor(e,"key").get;if(n&&n.isReactWarning)return!1}return e.key!==void 0}function zt(e,n){if(typeof e.ref=="string"&&q.current&&n&&q.current.stateNode!==n){var i=x(q.current.type);ye[i]||(C('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',x(q.current.type),e.ref),ye[i]=!0)}}function qt(e,n){{var i=function(){Je||(Je=!0,C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}}function Gt(e,n){{var i=function(){Ze||(Ze=!0,C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",n))};i.isReactWarning=!0,Object.defineProperty(e,"ref",{get:i,configurable:!0})}}var Kt=function(e,n,i,c,y,_,m){var p={$$typeof:r,type:e,key:n,ref:i,props:m,_owner:_};return p._store={},Object.defineProperty(p._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(p,"_self",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.defineProperty(p,"_source",{configurable:!1,enumerable:!1,writable:!1,value:y}),Object.freeze&&(Object.freeze(p.props),Object.freeze(p)),p};function Jt(e,n,i,c,y){{var _,m={},p=null,O=null;i!==void 0&&(Ke(i),p=""+i),Ht(n)&&(Ke(n.key),p=""+n.key),Wt(n)&&(O=n.ref,zt(n,y));for(_ in n)z.call(n,_)&&!$t.hasOwnProperty(_)&&(m[_]=n[_]);if(e&&e.defaultProps){var T=e.defaultProps;for(_ in T)m[_]===void 0&&(m[_]=T[_])}if(p||O){var M=typeof e=="function"?e.displayName||e.name||"Unknown":e;p&&qt(m,M),O&&Gt(m,M)}return Kt(e,p,O,y,c,q.current,m)}}var Ee=A.ReactCurrentOwner,Xe=A.ReactDebugCurrentFrame;function V(e){if(e){var n=e._owner,i=oe(e.type,e._source,n?n.type:null);Xe.setExtraStackFrame(i)}else Xe.setExtraStackFrame(null)}var be;be=!1;function he(e){return typeof e=="object"&&e!==null&&e.$$typeof===r}function Qe(){{if(Ee.current){var e=x(Ee.current.type);if(e)return`
22
-
23
- Check the render method of \``+e+"`."}return""}}function Zt(e){return""}var et={};function Xt(e){{var n=Qe();if(!n){var i=typeof e=="string"?e:e.displayName||e.name;i&&(n=`
24
-
25
- Check the top-level render call using <`+i+">.")}return n}}function tt(e,n){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var i=Xt(n);if(et[i])return;et[i]=!0;var c="";e&&e._owner&&e._owner!==Ee.current&&(c=" It was passed a child from "+x(e._owner.type)+"."),V(e),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',i,c),V(null)}}function rt(e,n){{if(typeof e!="object")return;if(ge(e))for(var i=0;i<e.length;i++){var c=e[i];he(c)&&tt(c,n)}else if(he(e))e._store&&(e._store.validated=!0);else if(e){var y=U(e);if(typeof y=="function"&&y!==e.entries)for(var _=y.call(e),m;!(m=_.next()).done;)he(m.value)&&tt(m.value,n)}}}function Qt(e){{var n=e.type;if(n==null||typeof n=="string")return;var i;if(typeof n=="function")i=n.propTypes;else if(typeof n=="object"&&(n.$$typeof===u||n.$$typeof===R))i=n.propTypes;else return;if(i){var c=x(n);Ut(i,e.props,"prop",c,e)}else if(n.PropTypes!==void 0&&!be){be=!0;var y=x(n);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y||"Unknown")}typeof n.getDefaultProps=="function"&&!n.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function er(e){{for(var n=Object.keys(e.props),i=0;i<n.length;i++){var c=n[i];if(c!=="children"&&c!=="key"){V(e),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",c),V(null);break}}e.ref!==null&&(V(e),C("Invalid attribute `ref` supplied to `React.Fragment`."),V(null))}}var nt={};function at(e,n,i,c,y,_){{var m=jt(e);if(!m){var p="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(p+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var O=Zt();O?p+=O:p+=Qe();var T;e===null?T="null":ge(e)?T="array":e!==void 0&&e.$$typeof===r?(T="<"+(x(e.type)||"Unknown")+" />",p=" Did you accidentally export a JSX literal instead of a component?"):T=typeof e,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",T,p)}var M=Jt(e,n,i,y,_);if(M==null)return M;if(m){var k=n.children;if(k!==void 0)if(c)if(ge(k)){for(var Y=0;Y<k.length;Y++)rt(k[Y],e);Object.freeze&&Object.freeze(k)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else rt(k,e)}if(z.call(n,"key")){var I=x(e),w=Object.keys(n).filter(function(ir){return ir!=="key"}),Se=w.length>0?"{key: someKey, "+w.join(": ..., ")+": ...}":"{key: someKey}";if(!nt[I+Se]){var or=w.length>0?"{"+w.join(": ..., ")+": ...}":"{}";C(`A props object containing a "key" prop is being spread into JSX:
26
- let props = %s;
27
- <%s {...props} />
28
- React keys must be passed directly to JSX without using spread:
29
- let props = %s;
30
- <%s key={someKey} {...props} />`,Se,I,or,I),nt[I+Se]=!0}}return e===s?er(M):Qt(M),M}}function tr(e,n,i){return at(e,n,i,!0)}function rr(e,n,i){return at(e,n,i,!1)}var nr=rr,ar=tr;J.Fragment=s,J.jsx=nr,J.jsxs=ar}()),J}process.env.NODE_ENV==="production"?_e.exports=pr():_e.exports=mr();var Z=_e.exports;function vr({children:t,maps:r,externalSync:a}){const[s,o]=d.useReducer(dt,{...X.state,maps:r.reduce((g,b)=>(g[b.id]={...b,isLoaded:!1},g),X.state.maps)}),l=d.useRef(r.reduce((g,b)=>(g[b.id]={instanceRef:{current:null},overlayRef:{current:null}},g),{})),f=d.useCallback((g,b,j)=>{r[0].id===g&&a?.({type:b,payload:j})},[a,r]),E=d.useCallback((g,b)=>{o({type:D.SetViewState,payload:{id:b,viewState:g}}),f(b,D.SetViewState,g)},[o,f]),u=d.useCallback(({height:g,width:b},j)=>{o({type:D.SetResize,payload:{id:j,height:g,width:b}}),f(j,D.SetResize,{height:g,width:b})},[o,f]),v=d.useCallback((g,b)=>{o({type:D.SetBasemap,payload:{id:b,basemap:g}})},[o]),h=d.useCallback((g,b)=>{o({type:D.SetZoom,payload:{id:b,zoom:g}})},[o]),R=d.useCallback((g,b)=>{o({type:D.SetLoaded,payload:{id:b,value:g}})},[o]),S=d.useRef({setViewState:E,setBasemap:v,setResize:u,setZoom:h,setLoaded:R});return Z.jsx(Oe.Provider,{value:S.current,children:Z.jsx(Pe.Provider,{value:l,children:Z.jsx(Ce.Provider,{value:s,children:t})})})}const mt={NUMBER:{style:"decimal",maximumFractionDigits:1,minimumFractionDigits:0,notation:"compact",compactDisplay:"short"},CURRENCY:{style:"currency",currency:"USD",maximumFractionDigits:2,minimumFractionDigits:2,notation:"compact",compactDisplay:"short"},DATE:{year:"numeric",month:"2-digit",day:"2-digit"}};function vt(t,r,a){return Intl.NumberFormat(r,a).format(t)}function gt(t,r,a={}){return vt(t,r,{...mt.NUMBER,...a})}function gr(t,r,a={}){return vt(t,r,{...mt.CURRENCY,...a})}var L=(t=>(t.CURRENCY="CURRENCY",t.DEFAULT="DEFAULT",t.NUMBER="NUMBER",t))(L||{});const st={[L.CURRENCY]:{type:L.CURRENCY,format:(t,r)=>gr(t,r)},[L.NUMBER]:{type:L.NUMBER,format:(t,r)=>gt(t,r)},[L.DEFAULT]:{type:L.DEFAULT,format:t=>t.toLocaleString()}};function yr({properties:t,formatters:r={},includeColumns:a=Object.keys(t),locale:s="en-US",showColumnName:o=!0,title:l,getColumnName:f=_r,getFieldHtml:E=br,getTitle:u=Er,getValue:v=hr}){const h=l?u(l):"",S=a.reduce((g,b)=>{const j=r[b],U=t[b],A=v(U,s,j),C=o?f(b):"";return g+E(C,A)},"");return h+S}function Er(t){return`<h3 style="margin: 0"><strong>${t}</strong></h3></br>`}function br(t,r){return`${t}${r}</br>`}function hr(t,r,a){try{return Sr(a)(t,r)}catch{return t}}function Sr(t){return typeof t=="function"?t:(t&&st[t]||st[L.DEFAULT]).format}function _r(t){return`<strong>${t}</strong>: `}function yt(t){return ce[t]?.type}function Et(t){return yt(t)===Me.GoogleMaps}function bt({mapId:t}){const{isLoaded:r,basemap:a}=fe(t),{getOverlayInstance:s}=te(t);return d.useMemo(()=>{if(!r||!Et(a))return null;const l=s()?.getDiv();return new sr.EventManager(l,{})},[r,s,a])}var P=(t=>(t.milimeter="milimeter",t.centimeter="centimeter",t.meter="meter",t.kilometer="kilometer",t.mile="mile",t.feet="feet",t))(P||{}),we=(t=>(t.meters="meters",t.kilometer="kilometers",t.mile="miles",t))(we||{}),Q=(t=>(t.AddPosition="addPosition",t.Finish="finish",t))(Q||{});const Re=["anyclick","pointermove","panstart","panmove","panend","keyup"],ht="mapMeasureLayer",St={id:ht,pickable:!1,billboard:!1,editHandlePointRadiusUnits:"pixels",editHandlePointRadiusMinPixels:1,editHandlePointRadiusMaxPixels:12,lineWidthMinPixels:2,editHandlePointStrokeWidth:3,getEditHandlePointRadius:3,_subLayerProps:{tooltips:{fontFamily:"Open Sans, Inter, sans-serif",fontWeight:"lighter",getSize:11,lineHeight:1.4545,getPixelOffset:[0,20],getTextAnchor:"middle",getAlignmentBaseline:"center",updateTriggers:{}},guides:{getLineWidth:2}}},le={editing:[71,219,153,255],finished:[49,153,107,255]},_t={styles:{colors:{editing:le.editing,finished:le.finished}}},Te={[P.kilometer]:"km",[P.centimeter]:"cm",[P.milimeter]:"mm",[P.mile]:"mi",[P.meter]:"m",[P.feet]:"ft"},Rt={[P.kilometer]:"kilometer",[P.centimeter]:"centimeter",[P.milimeter]:"millimeter",[P.mile]:"mile",[P.meter]:"meter",[P.feet]:"foot"};class Tt extends ct.EditableGeoJsonLayer{eventManager;constructor(r){super(r),this.eventManager=r.eventManager}_addEventHandlers(){const r=this._getEventManager(),{eventHandler:a}=this.state._editableLayerState;for(const s of Re)r.on(s,a,{priority:100})}_removeEventHandlers(r=void 0){const a=r||this._getEventManager(),{eventHandler:s}=this.state._editableLayerState;for(const o of Re)a.off(o,s)}_getEventManager(){return this.eventManager||this.context.deck.eventManager}}class Mt extends ct.MeasureDistanceMode{handleClick(r,a){super.handleClick(r,a),a.onEdit({updatedData:a.data,editType:Q.AddPosition,editContext:{distance:this._currentDistance,finished:this._isMeasuringSessionFinished,positions:this._clickSequence}})}handleKeyUp(r,a){if(this._isMeasuringSessionFinished)return;r.stopPropagation();const{key:s}=r,o=this.getClickSequence().length;switch(s){case"Enter":case"Escape":this._isMeasuringSessionFinished=!0,o===1&&(this.resetClickSequence(),this._currentTooltips=[]),a.onUpdateCursor("cell"),a.onEdit({updatedData:a.data,editType:Q.Finish,editContext:{finished:this._isMeasuringSessionFinished}});break}}}var Rr=function(r){return Tr(r)&&!Mr(r)};function Tr(t){return!!t&&typeof t=="object"}function Mr(t){var r=Object.prototype.toString.call(t);return r==="[object RegExp]"||r==="[object Date]"||Or(t)}var Cr=typeof Symbol=="function"&&Symbol.for,Pr=Cr?Symbol.for("react.element"):60103;function Or(t){return t.$$typeof===Pr}function wr(t){return Array.isArray(t)?[]:{}}function ee(t,r){return r.clone!==!1&&r.isMergeableObject(t)?$(wr(t),t,r):t}function Ar(t,r,a){return t.concat(r).map(function(s){return ee(s,a)})}function kr(t,r){if(!r.customMerge)return $;var a=r.customMerge(t);return typeof a=="function"?a:$}function jr(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(r){return Object.propertyIsEnumerable.call(t,r)}):[]}function ut(t){return Object.keys(t).concat(jr(t))}function Ct(t,r){try{return r in t}catch{return!1}}function xr(t,r){return Ct(t,r)&&!(Object.hasOwnProperty.call(t,r)&&Object.propertyIsEnumerable.call(t,r))}function Dr(t,r,a){var s={};return a.isMergeableObject(t)&&ut(t).forEach(function(o){s[o]=ee(t[o],a)}),ut(r).forEach(function(o){xr(t,o)||(Ct(t,o)&&a.isMergeableObject(r[o])?s[o]=kr(o,a)(t[o],r[o],a):s[o]=ee(r[o],a))}),s}function $(t,r,a){a=a||{},a.arrayMerge=a.arrayMerge||Ar,a.isMergeableObject=a.isMergeableObject||Rr,a.cloneUnlessOtherwiseSpecified=ee;var s=Array.isArray(r),o=Array.isArray(t),l=s===o;return l?s?a.arrayMerge(t,r,a):Dr(t,r,a):ee(r,a)}$.all=function(r,a){if(!Array.isArray(r))throw new Error("first argument should be an array");return r.reduce(function(s,o){return $(s,o,a)},{})};var Lr=$,Fr=Lr;const ue=dr(Fr),B=()=>{throw new Error("You forgot to wrap your component in <MeasurementToolsProvider>.")},Ae={state:{enable:!1,finished:!0,distance:0,locale:"en",unit:P.kilometer,positions:[]},actions:{setEnable:B,setFinished:B,setUnit:B,setDistance:B,setLocale:B,setPositions:B}},Pt=d.createContext(Ae.state),Ot=d.createContext(Ae.actions);function ke(){return d.useContext(Pt)}function je(){return d.useContext(Ot)}const Ir={nm:{name:{singular:"Nanometer",plural:"Nanometers"},to_anchor:1e-9},μm:{name:{singular:"Micrometer",plural:"Micrometers"},to_anchor:1e-6},mm:{name:{singular:"Millimeter",plural:"Millimeters"},to_anchor:.001},cm:{name:{singular:"Centimeter",plural:"Centimeters"},to_anchor:.01},m:{name:{singular:"Meter",plural:"Meters"},to_anchor:1},km:{name:{singular:"Kilometer",plural:"Kilometers"},to_anchor:1e3}},Nr={mil:{name:{singular:"Mil",plural:"Mils"},to_anchor:1/12e3},in:{name:{singular:"Inch",plural:"Inches"},to_anchor:1/12},yd:{name:{singular:"Yard",plural:"Yards"},to_anchor:3},"ft-us":{name:{singular:"US Survey Foot",plural:"US Survey Feet"},to_anchor:1.000002},ft:{name:{singular:"Foot",plural:"Feet"},to_anchor:1},fathom:{name:{singular:"Fathom",plural:"Fathoms"},to_anchor:6},mi:{name:{singular:"Mile",plural:"Miles"},to_anchor:5280},nMi:{name:{singular:"Nautical Mile",plural:"Nautical Miles"},to_anchor:6076.12}},Ur={systems:{metric:Ir,imperial:Nr},anchors:{metric:{imperial:{ratio:3.28084}},imperial:{metric:{ratio:1/3.28084}}}},Vr=ur({length:Ur});function xe(t,r){return Vr(t).from(Te[P.meter]).to(Te[r])}function De({meters:t,unit:r,locale:a}){return`${gt(xe(t,r),a,{style:"unit",unit:Rt[r],unitDisplay:"short"})}`}function Yr(t,{hasDoubleClickZoom:r}){return typeof t=="boolean"?{doubleClickZoom:r}:{...t,doubleClickZoom:r}}function Br({mapId:t,defaultProps:{styles:r=_t.styles}={},layerProps:a={}}){const{enable:s,unit:o,finished:l,locale:f}=ke(),{setDistance:E,setFinished:u,setPositions:v}=je(),{isLoaded:h}=fe(t),R=d.useRef(),S=bt({mapId:t}),g=l?r.colors?.finished:r.colors?.editing,b=d.useCallback(({editType:de,editContext:W})=>{de===Q.AddPosition&&E(W.distance),u(W.finished);const re=W.positions;re?.length&&v(re)},[E,u,v]);if(d.useEffect(()=>{s||(R.current=void 0)},[s]),!s||!h)return null;const{pickable:j,onHover:U,...A}=$r(a,f,o,b,g||le.guide);return!R.current&&!A.mode&&(R.current=new Mt),new Tt({...A,pickable:j||!l,onHover:l?U:void 0,mode:A?.mode||R.current,eventManager:S})}function $r(t,r,a,s,o){const l=ue(t,{modeConfig:{formatTooltip:u=>u,turfOptions:{units:we.meters}},onEdit:s,_subLayerProps:{tooltips:{getText:u=>De({...u,meters:u.text,locale:r,unit:a}),updateTriggers:{getText:[a,r]}}}}),f=ue(St,{_subLayerProps:{guides:{getLineColor:o,getFillColor:o}},getEditHandlePointColor:o,getEditHandlePointOutlineColor:o});return ue(f,l)}function Wr({children:t}){const{distance:r,enable:a,unit:s,locale:o,positions:l}=ke(),{setDistance:f,setEnable:E}=je(),u=xe(r,s),v=()=>{f(0),E(!a)};return t({enable:a,meters:r,text:De({meters:r,unit:s,locale:o}),distance:u,unit:s,onToggleButton:v,positions:l})}var N=(t=>(t.SetEnable="SET_ENABLE",t.SetFinished="SET_FINISHED",t.SetDistance="SET_DISTANCE",t.SetUnit="SET_UNIT",t.SetLocale="SET_LOCALE",t.SetPositions="SET_POSITIONS",t))(N||{});function Hr(t,{type:r,payload:a}){return{SET_ENABLE:()=>({...t,enable:a,finished:!1}),SET_FINISHED:()=>({...t,finished:a}),SET_DISTANCE:()=>({...t,distance:a}),SET_UNIT:()=>({...t,unit:a}),SET_LOCALE:()=>({...t,locale:a}),SET_POSITIONS:()=>({...t,positions:a})}[r]?.()??t}function zr({children:t,defaultProps:r={},locale:a}){const[s,o]=d.useReducer(Hr,ue(Ae.state,r)),l=d.useCallback(S=>{o({type:N.SetLocale,payload:S})},[o]);d.useEffect(()=>{a&&l(a)},[a,l]);const f=d.useCallback(S=>{o({type:N.SetEnable,payload:S})},[o]),E=d.useCallback(S=>{o({type:N.SetFinished,payload:S})},[o]),u=d.useCallback(S=>{o({type:N.SetDistance,payload:S})},[o]),v=d.useCallback(S=>{o({type:N.SetUnit,payload:S})},[o]),h=d.useCallback(S=>{o({type:N.SetPositions,payload:S})},[o]),R=d.useRef({setEnable:f,setFinished:E,setDistance:u,setUnit:v,setLocale:l,setPositions:h});return Z.jsx(Ot.Provider,{value:R.current,children:Z.jsx(Pt.Provider,{value:s,children:t})})}exports.CONVERSIONS_UNITS=Te;exports.CartoBasemapURL=se;exports.CartoBasemapsNames=ft;exports.CustomEditableGeojsonLayer=Tt;exports.CustomMeasureDistanceMode=Mt;exports.DEFAULT_COLORS=le;exports.DEFAULT_LAYER_PROPS=St;exports.DEFAULT_PROPS=_t;exports.EVENT_MANAGER_EVENT_TYPES=Re;exports.EditType=Q;exports.FormatterTypes=L;exports.GMapsBasemap=lt;exports.INTL_UNITS=Rt;exports.MAPS_BASEMAP=ce;exports.MAP_MEASURE_LAYER_ID=ht;exports.MapActions=D;exports.MapActionsContext=Oe;exports.MapContext=Ce;exports.MapMeasurementTools=Wr;exports.MapMeasurementToolsLayer=Br;exports.MapMeasurementToolsProvider=zr;exports.MapMeasurementUnit=P;exports.MapMeasurementUnitTurf=we;exports.MapProvider=vr;exports.MapReferencesContext=Pe;exports.MapsTypes=Me;exports.convertMetersTo=xe;exports.getDeckController=Yr;exports.getMapType=yt;exports.getTextLayerFormattedDistance=De;exports.isGmaps=Et;exports.objectToHtml=yr;exports.reducer=dt;exports.useEventManager=bt;exports.useMap=fe;exports.useMapActions=pt;exports.useMapActionsByID=fr;exports.useMapByID=cr;exports.useMapMeasurementTools=ke;exports.useMapMeasurementToolsActions=je;exports.useMapRefences=te;exports.useMapReferences=te;exports.useMapReferencesByID=lr;
@@ -1,2 +0,0 @@
1
- import { SVGProps } from 'react';
2
- export declare function RulerIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +0,0 @@
1
- import { DeckGLMapsProps } from '@/map-provider';
2
- export declare function DeckGLMapsComponent({ basemap, instanceRef, layers, overlayRef, viewState, height, id, initialViewState, style, width, getCursor, getTooltip, onClick, onDrag, onDragEnd, onDragStart, onHover, onResize, onViewStateChange, ...rest }: DeckGLMapsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- import { GoogleMapsProps } from '@/map-provider';
2
- export declare function GoogleMapsComponent(props: GoogleMapsProps): import("react/jsx-runtime").JSX.Element;
3
- export declare function GoogleMap({ apiKey, basemap, instanceRef, layers, overlayRef, initialViewState, viewState, controller, id, language, mapId, mapOptions, style, version, getTooltip, onResize, onViewStateChange, ...rest }: GoogleMapsProps): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- import { MapsProps } from '@/map-provider';
2
- type MapContainerProps = Pick<MapsProps, 'id' | 'controller' | 'layers'>;
3
- export declare function MapContainer({ id, layers, controller, }: MapContainerProps): import("react/jsx-runtime").JSX.Element;
4
- export {};
@@ -1,2 +0,0 @@
1
- import { MapsProps } from '@/map-provider';
2
- export declare function MapComponent(props: MapsProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export * from './use-event-manager.hook';
@@ -1,14 +0,0 @@
1
- import { EventManager } from 'mjolnir.js';
2
- type UseEventManagerProps = {
3
- mapId: string;
4
- };
5
- /**
6
- * Custom hook that provides an event manager for a specific map.
7
- * The event manager is responsible for handling user interactions with the map.
8
- *
9
- * @param {Object} props - The hook props.
10
- * @param {string} props.mapId - The ID of the map.
11
- * @returns {EventManager | null} The event manager instance, or null if the map is not loaded or not using Google Maps.
12
- */
13
- export declare function useEventManager({ mapId }: UseEventManagerProps): EventManager | null;
14
- export {};
@@ -1,10 +0,0 @@
1
- import { EditableGeoJsonLayer } from '@deck.gl-community/editable-layers';
2
- import { EventManager } from 'mjolnir.js';
3
- import type { CustomEditableLayerProps } from './map-measurement-tool.types';
4
- export declare class CustomEditableGeojsonLayer extends EditableGeoJsonLayer {
5
- eventManager: EventManager;
6
- constructor(props: CustomEditableLayerProps);
7
- _addEventHandlers(): void;
8
- _removeEventHandlers(_eventManager?: undefined): void;
9
- _getEventManager(): EventManager;
10
- }
@@ -1,6 +0,0 @@
1
- import { FeatureCollection, MeasureDistanceMode, type ModeProps } from '@deck.gl-community/editable-layers';
2
- import type { BasePointerEvent } from '@deck.gl-community/editable-layers/dist/edit-modes/types';
3
- export declare class CustomMeasureDistanceMode extends MeasureDistanceMode {
4
- handleClick(event: BasePointerEvent, props: ModeProps<FeatureCollection>): void;
5
- handleKeyUp(event: KeyboardEvent, props: ModeProps<FeatureCollection>): void;
6
- }
@@ -1,9 +0,0 @@
1
- export { CustomEditableGeojsonLayer } from './custom-editable-geojson-layer.class';
2
- export { CustomMeasureDistanceMode } from './custom-measurement-distance-mode.class';
3
- export * from './map-measurement-tool.const';
4
- export { MapMeasurementToolsLayer } from './map-measurement-tool.layer';
5
- export { MapMeasurementTools } from './map-measurement-tool.component';
6
- export { MapMeasurementToolsProvider } from './map-measurement-tool.provider';
7
- export { convertMetersTo, getTextLayerFormattedDistance, getDeckController, } from './map-measurement-tool.util';
8
- export { useMapMeasurementTools, useMapMeasurementToolsActions, } from './map-measurement-tool.hook';
9
- export * from './map-measurement-tool.types';
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { MapMeasureToolChildrenProps } from './map-measurement-tool.types';
3
- export type MapMeasureToolProps = {
4
- children: React.FC<MapMeasureToolChildrenProps>;
5
- };
6
- export declare function MapMeasurementTools({ children }: MapMeasureToolProps): import("react").ReactNode;
@@ -1,34 +0,0 @@
1
- import { type DefaultMeasureToolProps, MapMeasurementUnit } from './map-measurement-tool.types';
2
- import type { LengthUnits } from 'convert-units/definitions/length';
3
- export declare const EVENT_MANAGER_EVENT_TYPES: string[];
4
- export declare const MAP_MEASURE_LAYER_ID = "mapMeasureLayer";
5
- export declare const DEFAULT_LAYER_PROPS: {
6
- id: string;
7
- pickable: boolean;
8
- billboard: boolean;
9
- editHandlePointRadiusUnits: string;
10
- editHandlePointRadiusMinPixels: number;
11
- editHandlePointRadiusMaxPixels: number;
12
- lineWidthMinPixels: number;
13
- editHandlePointStrokeWidth: number;
14
- getEditHandlePointRadius: number;
15
- _subLayerProps: {
16
- tooltips: {
17
- fontFamily: string;
18
- fontWeight: string;
19
- getSize: number;
20
- lineHeight: number;
21
- getPixelOffset: number[];
22
- getTextAnchor: string;
23
- getAlignmentBaseline: string;
24
- updateTriggers: {};
25
- };
26
- guides: {
27
- getLineWidth: number;
28
- };
29
- };
30
- };
31
- export declare const DEFAULT_COLORS: Record<string, [number, number, number, number]>;
32
- export declare const DEFAULT_PROPS: Required<DefaultMeasureToolProps>;
33
- export declare const CONVERSIONS_UNITS: Record<MapMeasurementUnit, LengthUnits>;
34
- export declare const INTL_UNITS: Record<MapMeasurementUnit, string>;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- import { type MapMeasurementToolsContextInterface } from './map-measurement-tool.types';
3
- export declare const INITIAL_STATE: MapMeasurementToolsContextInterface;
4
- export declare const MapMeasurementToolsContext: import("react").Context<import("./map-measurement-tool.types").MapMeasurementToolsState>;
5
- export declare const MapMeasurementToolsActionsContext: import("react").Context<import("./map-measurement-tool.types").MeasurementToolsActionsState>;
@@ -1,10 +0,0 @@
1
- /**
2
- * Returns the state of the map measurement tools.
3
- * @returns The state of the map measurement tools.
4
- */
5
- export declare function useMapMeasurementTools(): import("./map-measurement-tool.types").MapMeasurementToolsState;
6
- /**
7
- * Returns the actions of the map measurement tools.
8
- * @returns The actions of the map measurement tools.
9
- */
10
- export declare function useMapMeasurementToolsActions(): import("./map-measurement-tool.types").MeasurementToolsActionsState;
@@ -1,10 +0,0 @@
1
- import { Layer } from '@deck.gl/core';
2
- import { type MapMeasurementToolsLayerProps } from './map-measurement-tool.types';
3
- /**
4
- * Renders the map measurement tools layer.
5
- * @param {MapMeasurementToolsLayerProps['mapId']} props.mapId - The ID of the map.
6
- * @param {MapMeasurementToolsLayerProps['defaultProps']} props.defaultProps - The default props for the layer.
7
- * @param {MapMeasurementToolsLayerProps['layerProps']} props.layerProps - The layer props.
8
- * @returns The rendered map measurement tools layer.
9
- */
10
- export declare function MapMeasurementToolsLayer({ mapId, defaultProps: { styles }, layerProps, }: MapMeasurementToolsLayerProps): Layer<never> | null;
@@ -1,8 +0,0 @@
1
- import type { MapMeasurementToolsProviderProps } from './map-measurement-tool.types';
2
- /**
3
- * Provides the context and actions for the map measurement tools.
4
- *
5
- * @param {MapMeasurementToolsProviderProps} props - The component props.
6
- * @returns {JSX.Element} The map measurement tools provider component.
7
- */
8
- export declare function MapMeasurementToolsProvider({ children, defaultProps, locale, }: MapMeasurementToolsProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +0,0 @@
1
- import type { MapMeasurementToolsState } from './map-measurement-tool.types';
2
- export declare enum Actions {
3
- SetEnable = "SET_ENABLE",
4
- SetFinished = "SET_FINISHED",
5
- SetDistance = "SET_DISTANCE",
6
- SetUnit = "SET_UNIT",
7
- SetLocale = "SET_LOCALE",
8
- SetPositions = "SET_POSITIONS"
9
- }
10
- type Action = {
11
- type: Actions;
12
- payload: MapMeasurementToolsState[keyof MapMeasurementToolsState];
13
- };
14
- export declare function reducer(state: MapMeasurementToolsState, { type, payload }: Action): MapMeasurementToolsState;
15
- export {};
@@ -1,28 +0,0 @@
1
- import type { Theme } from '@mui/material';
2
- export declare const styles: {
3
- container: {
4
- display: "flex";
5
- alignItems: "center";
6
- gap: ({ spacing }: Theme) => string;
7
- };
8
- chip: {
9
- color: (theme: Theme) => string;
10
- boxShadow: ({ shadows }: Theme) => string;
11
- '& .MuiChip-deleteIcon': {
12
- color: (theme: Theme) => string;
13
- '&:hover': {
14
- color: (theme: Theme) => string;
15
- };
16
- };
17
- };
18
- trigger: {
19
- background: ({ palette }: Theme) => string;
20
- '&:hover': {
21
- background: ({ palette }: Theme) => string;
22
- };
23
- '&:disabled': {
24
- opacity: number;
25
- cursor: "default";
26
- };
27
- };
28
- };
@@ -1,91 +0,0 @@
1
- import type { EventManager } from 'mjolnir.js';
2
- import type { ReactNode } from 'react';
3
- import type { Tooltip } from '@/map-provider';
4
- import type { EditableGeojsonLayerProps } from '@deck.gl-community/editable-layers/dist/editable-layers/editable-geojson-layer';
5
- export declare enum MapMeasurementUnit {
6
- milimeter = "milimeter",
7
- centimeter = "centimeter",
8
- meter = "meter",
9
- kilometer = "kilometer",
10
- mile = "mile",
11
- feet = "feet"
12
- }
13
- export declare enum MapMeasurementUnitTurf {
14
- meters = "meters",
15
- kilometer = "kilometers",
16
- mile = "miles"
17
- }
18
- export declare const enum EditType {
19
- AddPosition = "addPosition",
20
- Finish = "finish"
21
- }
22
- export type MapMeasurementToolsProviderProps = {
23
- children: ReactNode;
24
- defaultProps?: Omit<Partial<MapMeasurementToolsState>, MapMeasurementToolsState['locale']>;
25
- locale?: MapMeasurementToolsState['locale'];
26
- };
27
- export type MapMeasurementToolsState = {
28
- enable: boolean;
29
- finished: boolean;
30
- distance: number;
31
- unit: MapMeasurementUnit;
32
- locale: string;
33
- positions: number[];
34
- };
35
- export type MeasurementToolsActionsState = {
36
- setEnable: (data: MapMeasurementToolsState['enable']) => void;
37
- setFinished: (data: MapMeasurementToolsState['finished']) => void;
38
- setDistance: (data: MapMeasurementToolsState['distance']) => void;
39
- setUnit: (data: MapMeasurementToolsState['unit']) => void;
40
- setLocale: (data: MapMeasurementToolsState['locale']) => void;
41
- setPositions: (data: MapMeasurementToolsState['positions']) => void;
42
- };
43
- export type MapMeasurementToolsContextInterface = {
44
- state: MapMeasurementToolsState;
45
- actions: MeasurementToolsActionsState;
46
- };
47
- export type CustomEditableLayerProps<D = unknown> = EditableGeojsonLayerProps<D> & {
48
- eventManager: EventManager;
49
- selectedFeatures: any[];
50
- onChangeFeatures: (features: D[]) => void;
51
- } & {
52
- onHover?: MapMeasurementToolsLayerHoverProps;
53
- };
54
- export type CustomEditableLayerHoverProps = {
55
- distance: number;
56
- unit: string;
57
- locale: string;
58
- };
59
- export type MapMeasureToolChildrenProps = {
60
- enable: boolean;
61
- unit: MapMeasurementUnit;
62
- text: string;
63
- meters: number;
64
- distance: number;
65
- tooltip?: string;
66
- onToggleButton: () => void;
67
- positions: number[];
68
- };
69
- export type MapMeasurementToolsLayerHoverProps = (info: Tooltip, args: CustomEditableLayerHoverProps) => void;
70
- export type MapMeasurementToolsLayerEditProps = {
71
- editType: string;
72
- editContext: {
73
- distance: number;
74
- finished: boolean;
75
- positions: number[];
76
- };
77
- };
78
- export type DefaultMeasureToolProps = {
79
- styles?: {
80
- colors?: {
81
- editing?: [number, number, number, number];
82
- finished?: [number, number, number, number];
83
- };
84
- };
85
- };
86
- export type MapMeasurementToolsLayerLayerProps = Partial<CustomEditableLayerProps>;
87
- export type MapMeasurementToolsLayerProps = {
88
- mapId: string;
89
- defaultProps?: DefaultMeasureToolProps;
90
- layerProps?: MapMeasurementToolsLayerLayerProps;
91
- };
@@ -1,12 +0,0 @@
1
- import { MapMeasurementUnit } from './map-measurement-tool.types';
2
- import type { MapsProps } from '@/map-provider';
3
- import type { ControllerOptions } from '@deck.gl/core/dist/controllers/controller';
4
- export declare function convertMetersTo(distance: number, unit: MapMeasurementUnit): number;
5
- export declare function getTextLayerFormattedDistance({ meters, unit, locale, }: {
6
- meters: number;
7
- unit: MapMeasurementUnit;
8
- locale: string;
9
- }): string;
10
- export declare function getDeckController(controller: MapsProps['controller'], { hasDoubleClickZoom, }: {
11
- hasDoubleClickZoom: boolean;
12
- }): ControllerOptions;
@@ -1,6 +0,0 @@
1
- export * from './map-provider.const';
2
- export * from './map-provider.types';
3
- export { MapContext, MapActionsContext, MapReferencesContext, } from './map-provider.context';
4
- export { reducer, Actions as MapActions } from './map-provider.reducer';
5
- export { useMap, useMapActions, useMapReferences, useMapReferences as useMapRefences, useMapByID, useMapActionsByID, useMapReferencesByID, } from './map-provider.hook';
6
- export { MapProvider } from './map-provider.provider';
@@ -1,33 +0,0 @@
1
- /**
2
- * Enum for Google Maps basemap types.
3
- */
4
- export declare enum GMapsBasemap {
5
- Roadmap = "roadmap",
6
- Satellite = "satellite",
7
- Hybrid = "hybrid"
8
- }
9
- /**
10
- * Enum for CARTO basemap names.
11
- */
12
- export declare enum CartoBasemapsNames {
13
- DarkMatter = "dark-matter",
14
- Positron = "positron",
15
- Voyager = "voyager"
16
- }
17
- /**
18
- * Object containing URLs for CARTO basemaps.
19
- */
20
- export declare const CartoBasemapURL: {
21
- positron: string;
22
- voyager: string;
23
- "dark-matter": string;
24
- };
25
- export declare enum MapsTypes {
26
- Maplibre = "maplibre",
27
- GoogleMaps = "google-maps"
28
- }
29
- export declare const MAPS_BASEMAP: Record<string, {
30
- url?: string;
31
- dark?: boolean;
32
- type: MapsTypes;
33
- }>;
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import type { MapContextInterface } from './map-provider.types';
3
- export declare const INITIAL_STATE: MapContextInterface;
4
- export declare const MapContext: import("react").Context<import("./map-provider.types").MapState>;
5
- export declare const MapReferencesContext: import("react").Context<import("react").MutableRefObject<import("./map-provider.types").MapReferencesState>>;
6
- export declare const MapActionsContext: import("react").Context<import("./map-provider.types").MapActionsState>;