@mapka/maplibre-gl-sdk 0.10.0 → 0.12.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.
package/lib/map.d.ts CHANGED
@@ -26,9 +26,10 @@ export declare class MapkaMap extends maplibregl.Map {
26
26
  setStyle(style: string | StyleSpecification, options?: StyleSwapOptions & StyleOptions): this;
27
27
  addMarkers(markers: MapkaMarkerOptions[]): void;
28
28
  updateMarkers(markers: MapkaMarkerOptions[]): void;
29
- clearMarkers(): void;
29
+ removeMarkers(): void;
30
30
  openPopup(popup: MapkaPopupOptions, id?: string): string;
31
31
  closePopup(id: string): void;
32
32
  updatePopup(popup: MapkaPopupOptions, id?: string): void;
33
+ removePopups(): void;
33
34
  }
34
35
  //# sourceMappingURL=map.d.ts.map
package/lib/map.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAgB1C,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EAGL,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AA0BD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,QAAS,SAAQ,UAAU,CAAC,GAAG;IAC1C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU;IAErB,OAAO,EAAE,cAAc,EAAE,CAAM;IAE/B,SAAS,EAAE,MAAM,CAAK;IACtB,MAAM,EAAE,aAAa,EAAE,CAAM;gBAEjB,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAa,EAAE,GAAG,OAAO,EAAE,EAAE,eAAe;IAoBpF,QAAQ,CACb,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAClC,OAAO,GAAE,gBAAgB,GAAG,YAAiB;IAexC,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAIxC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAI3C,YAAY;IAIZ,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;IAIlE,UAAU,CAAC,EAAE,EAAE,MAAM;IAIrB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;CAG5E"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAiB1C,OAAO,KAAK,EACV,MAAM,EACN,KAAK,EAGL,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CAChC;AA0BD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,QAAS,SAAQ,UAAU,CAAC,GAAG;IAC1C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAU;IAErB,OAAO,EAAE,cAAc,EAAE,CAAM;IAE/B,SAAS,EAAE,MAAM,CAAK;IACtB,MAAM,EAAE,aAAa,EAAE,CAAM;gBAEjB,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAa,EAAE,GAAG,OAAO,EAAE,EAAE,eAAe;IAoBpF,QAAQ,CACb,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAClC,OAAO,GAAE,gBAAgB,GAAG,YAAiB;IAexC,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAIxC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE;IAI3C,aAAa;IAIb,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;IAIlE,UAAU,CAAC,EAAE,EAAE,MAAM;IAIrB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAE,MAA0B;IAIpE,YAAY;CAGpB"}
package/lib/map.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as maplibregl from "maplibre-gl";
2
2
  import { loadLayersIcons } from "./modules/icons.js";
3
- import { closeOnMapClickPopups, closePopupsById, getPopupId, openPopup, updatePopup, } from "./modules/popup.js";
4
- import { addMarkers, addStyleDiffMarkers, addStyleMarkers, clearMarkers, updateMarkers, } from "./modules/markers.js";
3
+ import { closeOnMapClickPopups, closePopupsById, getPopupId, openPopup, removePopups, updatePopup, } from "./modules/popup.js";
4
+ import { addMarkers, addStyleDiffMarkers, addStyleMarkers, removeMarkers, updateMarkers, } from "./modules/markers.js";
5
5
  const noopTransformRequest = (url) => {
6
6
  return {
7
7
  url,
@@ -59,8 +59,8 @@ export class MapkaMap extends maplibregl.Map {
59
59
  updateMarkers(markers) {
60
60
  updateMarkers(this, markers);
61
61
  }
62
- clearMarkers() {
63
- clearMarkers(this);
62
+ removeMarkers() {
63
+ removeMarkers(this);
64
64
  }
65
65
  openPopup(popup, id = getPopupId(popup)) {
66
66
  return openPopup(this, popup, id);
@@ -71,4 +71,7 @@ export class MapkaMap extends maplibregl.Map {
71
71
  updatePopup(popup, id = getPopupId(popup)) {
72
72
  return updatePopup(this, popup, id);
73
73
  }
74
+ removePopups() {
75
+ removePopups(this);
76
+ }
74
77
  }
@@ -7,7 +7,7 @@ export declare function getMarkerId(marker: {
7
7
  export declare function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOptions[]): void;
8
8
  export declare function removeMarkersByIds(map: MapkaMap, ids: string[]): void;
9
9
  export declare function updateMarkers(map: MapkaMap, markersOptions: MapkaMarkerOptions[]): void;
10
- export declare function clearMarkers(map: MapkaMap): void;
10
+ export declare function removeMarkers(map: MapkaMap): void;
11
11
  export declare function addStyleMarkers(map: MapkaMap): void;
12
12
  export declare function addStyleDiffMarkers(map: MapkaMap, next: StyleSpecification): void;
13
13
  //# sourceMappingURL=markers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/modules/markers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAkBhF,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAElD;AA4ED,wBAAgB,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAiBpF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAK9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAKhF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,QAKzC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,QAK5C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,QAG1E"}
1
+ {"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../src/modules/markers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAkBhF,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAElD;AA4ED,wBAAgB,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAcpF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAK9D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAKhF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,QAK1C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,QAK5C;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,QAG1E"}
@@ -86,11 +86,10 @@ function setupMarkerPopupListeners(map, marker, popup, options) {
86
86
  }
87
87
  }
88
88
  export function addMarkers(currentMap, markersOptions) {
89
- const markers = [];
90
89
  for (const markerOptions of markersOptions) {
91
90
  const { lngLat, popup, ...options } = markerOptions;
92
91
  const newMarker = new Marker(options).setLngLat(lngLat).addTo(currentMap);
93
- markers.push({
92
+ currentMap.markers.push({
94
93
  id: getMarkerId(markerOptions),
95
94
  options: markerOptions,
96
95
  marker: newMarker,
@@ -99,7 +98,6 @@ export function addMarkers(currentMap, markersOptions) {
99
98
  continue;
100
99
  setupMarkerPopupListeners(currentMap, newMarker, popup, markerOptions);
101
100
  }
102
- currentMap.markers.push(...markers);
103
101
  }
104
102
  export function removeMarkersByIds(map, ids) {
105
103
  const removedMarkers = remove(map.markers, (marker) => ids.includes(marker.id));
@@ -112,7 +110,7 @@ export function updateMarkers(map, markersOptions) {
112
110
  removeMarkersByIds(map, markersIds);
113
111
  addMarkers(map, markersOptions);
114
112
  }
115
- export function clearMarkers(map) {
113
+ export function removeMarkers(map) {
116
114
  for (const marker of map.markers) {
117
115
  marker.marker.remove();
118
116
  }
@@ -121,9 +119,9 @@ export function clearMarkers(map) {
121
119
  export function addStyleMarkers(map) {
122
120
  const style = map.getStyle();
123
121
  const markers = get(style, "metadata.mapka.markers", []);
124
- return addMarkers(map, markers);
122
+ addMarkers(map, markers);
125
123
  }
126
124
  export function addStyleDiffMarkers(map, next) {
127
125
  const markers = get(next, "metadata.mapka.markers", []);
128
- return addMarkers(map, markers);
126
+ addMarkers(map, markers);
129
127
  }
@@ -11,4 +11,5 @@ export declare function updatePopupBaseOptions(popup: Popup, options: MapkaPopup
11
11
  export declare function updatePopup(map: MapkaMap, { content, ...newOptions }: MapkaPopupOptions, id: string): void;
12
12
  export declare function closeOnMapClickPopups(map: MapkaMap): void;
13
13
  export declare function closePopupsById(map: MapkaMap, id: string): void;
14
+ export declare function removePopups(map: MapkaMap): void;
14
15
  //# sourceMappingURL=popup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/modules/popup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAEhD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,cAEnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QAM7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,UAyD9E;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,SAY/C;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,iBAAiB,EAC7C,EAAE,EAAE,MAAM,QA6BX;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,QAQlD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAMxD"}
1
+ {"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/modules/popup.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,UAEhD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,cAEnD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,QAM7C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,UAyD9E;AAID,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,SAY/C;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,QAAQ,EACb,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,iBAAiB,EAC7C,EAAE,EAAE,MAAM,QA6BX;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,QAQlD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAMxD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,QAMzC"}
@@ -122,3 +122,10 @@ export function closePopupsById(map, id) {
122
122
  popup.container.remove();
123
123
  }
124
124
  }
125
+ export function removePopups(map) {
126
+ for (const popup of map.popups) {
127
+ popup.popup.remove();
128
+ popup.container.remove();
129
+ }
130
+ map.popups = [];
131
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapka/maplibre-gl-sdk",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "description": "Mapka JS SDK",
6
6
  "sideEffects": false,
@@ -34,5 +34,5 @@
34
34
  "!**/__tests__/",
35
35
  "!lib/buildInfo.json"
36
36
  ],
37
- "gitHead": "7b546e7df880f9e9c0ee676888913ec4601a46d7"
37
+ "gitHead": "b69a4f7130ea4d7d9d6c3a16ef26308cb39e1555"
38
38
  }
package/src/map.ts CHANGED
@@ -5,13 +5,14 @@ import {
5
5
  closePopupsById,
6
6
  getPopupId,
7
7
  openPopup,
8
+ removePopups,
8
9
  updatePopup,
9
10
  } from "./modules/popup.js";
10
11
  import {
11
12
  addMarkers,
12
13
  addStyleDiffMarkers,
13
14
  addStyleMarkers,
14
- clearMarkers,
15
+ removeMarkers,
15
16
  updateMarkers,
16
17
  } from "./modules/markers.js";
17
18
  import type {
@@ -124,8 +125,8 @@ export class MapkaMap extends maplibregl.Map {
124
125
  updateMarkers(this, markers);
125
126
  }
126
127
 
127
- public clearMarkers() {
128
- clearMarkers(this);
128
+ public removeMarkers() {
129
+ removeMarkers(this);
129
130
  }
130
131
 
131
132
  public openPopup(popup: MapkaPopupOptions, id: string = getPopupId(popup)) {
@@ -139,4 +140,8 @@ export class MapkaMap extends maplibregl.Map {
139
140
  public updatePopup(popup: MapkaPopupOptions, id: string = getPopupId(popup)) {
140
141
  return updatePopup(this, popup, id);
141
142
  }
143
+
144
+ public removePopups() {
145
+ removePopups(this);
146
+ }
142
147
  }
@@ -2,7 +2,7 @@ import { Marker } from "maplibre-gl";
2
2
  import { get } from "es-toolkit/compat";
3
3
  import { getPopupId } from "./popup.js";
4
4
  import type { Offset, StyleSpecification } from "maplibre-gl";
5
- import type { MapkaMap, MapMapkaMarker } from "../map.js";
5
+ import type { MapkaMap } from "../map.js";
6
6
  import type { MapkaMarkerOptions, MapkaPopupOptions } from "../types/marker.js";
7
7
  import { remove } from "es-toolkit";
8
8
 
@@ -100,13 +100,11 @@ function setupMarkerPopupListeners(
100
100
  }
101
101
 
102
102
  export function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOptions[]) {
103
- const markers: MapMapkaMarker[] = [];
104
-
105
103
  for (const markerOptions of markersOptions) {
106
104
  const { lngLat, popup, ...options } = markerOptions;
107
105
  const newMarker = new Marker(options).setLngLat(lngLat).addTo(currentMap);
108
106
 
109
- markers.push({
107
+ currentMap.markers.push({
110
108
  id: getMarkerId(markerOptions),
111
109
  options: markerOptions,
112
110
  marker: newMarker,
@@ -115,7 +113,6 @@ export function addMarkers(currentMap: MapkaMap, markersOptions: MapkaMarkerOpti
115
113
 
116
114
  setupMarkerPopupListeners(currentMap, newMarker, popup, markerOptions);
117
115
  }
118
- currentMap.markers.push(...markers);
119
116
  }
120
117
 
121
118
  export function removeMarkersByIds(map: MapkaMap, ids: string[]) {
@@ -132,7 +129,7 @@ export function updateMarkers(map: MapkaMap, markersOptions: MapkaMarkerOptions[
132
129
  addMarkers(map, markersOptions);
133
130
  }
134
131
 
135
- export function clearMarkers(map: MapkaMap) {
132
+ export function removeMarkers(map: MapkaMap) {
136
133
  for (const marker of map.markers) {
137
134
  marker.marker.remove();
138
135
  }
@@ -143,10 +140,10 @@ export function addStyleMarkers(map: MapkaMap) {
143
140
  const style = map.getStyle();
144
141
 
145
142
  const markers = get(style, "metadata.mapka.markers", []) as MapkaMarkerOptions[];
146
- return addMarkers(map, markers);
143
+ addMarkers(map, markers);
147
144
  }
148
145
 
149
146
  export function addStyleDiffMarkers(map: MapkaMap, next: StyleSpecification) {
150
147
  const markers = get(next, "metadata.mapka.markers", []) as MapkaMarkerOptions[];
151
- return addMarkers(map, markers);
148
+ addMarkers(map, markers);
152
149
  }
@@ -153,3 +153,11 @@ export function closePopupsById(map: MapkaMap, id: string) {
153
153
  popup.container.remove();
154
154
  }
155
155
  }
156
+
157
+ export function removePopups(map: MapkaMap) {
158
+ for (const popup of map.popups) {
159
+ popup.popup.remove();
160
+ popup.container.remove();
161
+ }
162
+ map.popups = [];
163
+ }