@geowiki/map 0.16.9-dev.20 → 0.16.9-dev.21

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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  GeoWikiMap
4
- } from "./chunk-CMTGRR7U.mjs";
4
+ } from "./chunk-EK6NVKCV.mjs";
5
5
  export {
6
6
  GeoWikiMap
7
7
  };
@@ -6494,7 +6494,7 @@ import {
6494
6494
  createElementObject,
6495
6495
  createPathComponent
6496
6496
  } from "@react-leaflet/core";
6497
- import * as L6 from "leaflet";
6497
+ import L6 from "leaflet";
6498
6498
  import "leaflet.markercluster";
6499
6499
  function getPropsAndEvents(props) {
6500
6500
  let clusterProps = {};
@@ -6523,7 +6523,7 @@ function createMarkerClusterGroup(props, context) {
6523
6523
  }
6524
6524
  var updateMarkerCluster = () => {
6525
6525
  };
6526
- var MarkerClusterGroup2 = createPathComponent(
6526
+ var MarkerClusterGroup = createPathComponent(
6527
6527
  createMarkerClusterGroup,
6528
6528
  updateMarkerCluster
6529
6529
  );
@@ -7246,7 +7246,7 @@ var GeoJsonLayer = memo(
7246
7246
  if (error) return /* @__PURE__ */ jsx20("div", { children: "error" });
7247
7247
  if (isLoading) return /* @__PURE__ */ jsx20(LoaderFull5, {});
7248
7248
  return /* @__PURE__ */ jsx20(
7249
- MarkerClusterGroup2,
7249
+ MarkerClusterGroup,
7250
7250
  {
7251
7251
  ref,
7252
7252
  iconCreateFunction: clusterIconFunction,
@@ -7468,7 +7468,7 @@ var IfbnPlotLayer = ({
7468
7468
  if (error) return /* @__PURE__ */ jsx21("div", { children: "error" });
7469
7469
  if (isLoading) return /* @__PURE__ */ jsx21(LoaderFull6, {});
7470
7470
  return /* @__PURE__ */ jsxs14(
7471
- MarkerClusterGroup2,
7471
+ MarkerClusterGroup,
7472
7472
  {
7473
7473
  ref,
7474
7474
  chunkedLoading: true,
@@ -9287,7 +9287,7 @@ var GoogleSheetsLayer = ({
9287
9287
  }
9288
9288
  )
9289
9289
  ] }),
9290
- /* @__PURE__ */ jsx26(MarkerClusterGroup2, { ref, iconCreateFunction: createClusterIcon3(), children: /* @__PURE__ */ jsx26(
9290
+ /* @__PURE__ */ jsx26(MarkerClusterGroup, { ref, iconCreateFunction: createClusterIcon3(), children: /* @__PURE__ */ jsx26(
9291
9291
  GeoJSON4,
9292
9292
  {
9293
9293
  data: processedData,
@@ -9510,7 +9510,7 @@ var MarkerClusterRenderer = memo2(
9510
9510
  return null;
9511
9511
  }
9512
9512
  return /* @__PURE__ */ jsx27(
9513
- MarkerClusterGroup2,
9513
+ MarkerClusterGroup,
9514
9514
  {
9515
9515
  chunkedLoading: true,
9516
9516
  maxClusterRadius: 60,
@@ -10985,7 +10985,7 @@ export {
10985
10985
  parseMapMenuItems,
10986
10986
  BetterWMS,
10987
10987
  CustomWMSTileLayer,
10988
- MarkerClusterGroup2 as MarkerClusterGroup,
10988
+ MarkerClusterGroup,
10989
10989
  GeoJsonLayer,
10990
10990
  useCustomLayerStore,
10991
10991
  statusColorMap,
package/dist/index.d.mts CHANGED
@@ -776,15 +776,15 @@ interface Props$1 {
776
776
  declare const LayerSwitch: ({ layer }: Props$1) => react_jsx_runtime.JSX.Element;
777
777
 
778
778
  type ClusterEvents = {
779
- onClick?: L.LeafletMouseEventHandlerFn;
780
- onDblClick?: L.LeafletMouseEventHandlerFn;
781
- onMouseDown?: L.LeafletMouseEventHandlerFn;
782
- onMouseUp?: L.LeafletMouseEventHandlerFn;
783
- onMouseOver?: L.LeafletMouseEventHandlerFn;
784
- onMouseOut?: L.LeafletMouseEventHandlerFn;
785
- onContextMenu?: L.LeafletMouseEventHandlerFn;
779
+ onClick?: L__default.LeafletMouseEventHandlerFn;
780
+ onDblClick?: L__default.LeafletMouseEventHandlerFn;
781
+ onMouseDown?: L__default.LeafletMouseEventHandlerFn;
782
+ onMouseUp?: L__default.LeafletMouseEventHandlerFn;
783
+ onMouseOver?: L__default.LeafletMouseEventHandlerFn;
784
+ onMouseOut?: L__default.LeafletMouseEventHandlerFn;
785
+ onContextMenu?: L__default.LeafletMouseEventHandlerFn;
786
786
  };
787
- declare const MarkerClusterGroup: ForwardRefExoticComponent<L.MarkerClusterGroupOptions & {
787
+ declare const MarkerClusterGroup: ForwardRefExoticComponent<L__default.MarkerClusterGroupOptions & {
788
788
  children: React__default.ReactNode;
789
789
  } & ClusterEvents & RefAttributes<any>>;
790
790
 
package/dist/index.d.ts CHANGED
@@ -776,15 +776,15 @@ interface Props$1 {
776
776
  declare const LayerSwitch: ({ layer }: Props$1) => react_jsx_runtime.JSX.Element;
777
777
 
778
778
  type ClusterEvents = {
779
- onClick?: L.LeafletMouseEventHandlerFn;
780
- onDblClick?: L.LeafletMouseEventHandlerFn;
781
- onMouseDown?: L.LeafletMouseEventHandlerFn;
782
- onMouseUp?: L.LeafletMouseEventHandlerFn;
783
- onMouseOver?: L.LeafletMouseEventHandlerFn;
784
- onMouseOut?: L.LeafletMouseEventHandlerFn;
785
- onContextMenu?: L.LeafletMouseEventHandlerFn;
779
+ onClick?: L__default.LeafletMouseEventHandlerFn;
780
+ onDblClick?: L__default.LeafletMouseEventHandlerFn;
781
+ onMouseDown?: L__default.LeafletMouseEventHandlerFn;
782
+ onMouseUp?: L__default.LeafletMouseEventHandlerFn;
783
+ onMouseOver?: L__default.LeafletMouseEventHandlerFn;
784
+ onMouseOut?: L__default.LeafletMouseEventHandlerFn;
785
+ onContextMenu?: L__default.LeafletMouseEventHandlerFn;
786
786
  };
787
- declare const MarkerClusterGroup: ForwardRefExoticComponent<L.MarkerClusterGroupOptions & {
787
+ declare const MarkerClusterGroup: ForwardRefExoticComponent<L__default.MarkerClusterGroupOptions & {
788
788
  children: React__default.ReactNode;
789
789
  } & ClusterEvents & RefAttributes<any>>;
790
790
 
package/dist/index.js CHANGED
@@ -3170,7 +3170,7 @@ function getPropsAndEvents(props) {
3170
3170
  }
3171
3171
  function createMarkerClusterGroup(props, context) {
3172
3172
  const { clusterProps, clusterEvents } = getPropsAndEvents(props);
3173
- const markerClusterGroup = new L7.MarkerClusterGroup(clusterProps);
3173
+ const markerClusterGroup = new import_leaflet5.default.MarkerClusterGroup(clusterProps);
3174
3174
  Object.entries(clusterEvents).forEach(([eventAsProp, callback]) => {
3175
3175
  const clusterEvent = `cluster${eventAsProp.substring(2).toLowerCase()}`;
3176
3176
  markerClusterGroup.on(clusterEvent, callback);
@@ -3180,17 +3180,17 @@ function createMarkerClusterGroup(props, context) {
3180
3180
  (0, import_core4.extendContext)(context, { layerContainer: markerClusterGroup })
3181
3181
  );
3182
3182
  }
3183
- var import_core4, L7, import_leaflet5, updateMarkerCluster, MarkerClusterGroup2;
3183
+ var import_core4, import_leaflet5, import_leaflet6, updateMarkerCluster, MarkerClusterGroup;
3184
3184
  var init_MarkerClusterGroup = __esm({
3185
3185
  "src/Components/MarkerClusterGroup.tsx"() {
3186
3186
  "use strict";
3187
3187
  "use client";
3188
3188
  import_core4 = require("@react-leaflet/core");
3189
- L7 = __toESM(require("leaflet"));
3190
- import_leaflet5 = require("leaflet.markercluster");
3189
+ import_leaflet5 = __toESM(require("leaflet"));
3190
+ import_leaflet6 = require("leaflet.markercluster");
3191
3191
  updateMarkerCluster = () => {
3192
3192
  };
3193
- MarkerClusterGroup2 = (0, import_core4.createPathComponent)(
3193
+ MarkerClusterGroup = (0, import_core4.createPathComponent)(
3194
3194
  createMarkerClusterGroup,
3195
3195
  updateMarkerCluster
3196
3196
  );
@@ -3816,14 +3816,14 @@ var init_GeoJsonLayerPopup = __esm({
3816
3816
  });
3817
3817
 
3818
3818
  // src/Components/GeoJsonLayer.tsx
3819
- var import_react_query, import_react_leaflet6, import_leaflet6, ReactDOMServer, import_ui6, import_server2, import_MapPinIcon, import_react8, turf2, import_ui7, import_jsx_runtime13, getIcon, createIcon, createClusterIcon, GeoJsonLayer;
3819
+ var import_react_query, import_react_leaflet6, import_leaflet7, ReactDOMServer, import_ui6, import_server2, import_MapPinIcon, import_react8, turf2, import_ui7, import_jsx_runtime13, getIcon, createIcon, createClusterIcon, GeoJsonLayer;
3820
3820
  var init_GeoJsonLayer = __esm({
3821
3821
  "src/Components/GeoJsonLayer.tsx"() {
3822
3822
  "use strict";
3823
3823
  "use client";
3824
3824
  import_react_query = require("@tanstack/react-query");
3825
3825
  import_react_leaflet6 = require("react-leaflet");
3826
- import_leaflet6 = __toESM(require("leaflet"));
3826
+ import_leaflet7 = __toESM(require("leaflet"));
3827
3827
  ReactDOMServer = __toESM(require("react-dom/server"));
3828
3828
  import_ui6 = require("@geowiki/ui");
3829
3829
  init_MarkerClusterGroup();
@@ -3844,7 +3844,7 @@ var init_GeoJsonLayer = __esm({
3844
3844
  };
3845
3845
  createIcon = (color, name) => {
3846
3846
  const background = color || "MediumSeaGreen";
3847
- return new import_leaflet6.default.DivIcon({
3847
+ return new import_leaflet7.default.DivIcon({
3848
3848
  iconSize: [40, 40],
3849
3849
  html: `${getIcon(background, name)}`,
3850
3850
  className: "custom-div-icon"
@@ -3865,7 +3865,7 @@ var init_GeoJsonLayer = __esm({
3865
3865
  else if (status === "auxiliary") statusCount.auxiliary++;
3866
3866
  else statusCount.default++;
3867
3867
  });
3868
- return import_leaflet6.default.divIcon({
3868
+ return import_leaflet7.default.divIcon({
3869
3869
  html: `<div style=
3870
3870
  "background-color: ${color};
3871
3871
  width: 36px;
@@ -3922,7 +3922,7 @@ var init_GeoJsonLayer = __esm({
3922
3922
  });
3923
3923
  if (feature.geometry.type !== "Point") {
3924
3924
  var center4 = turf2.center(feature);
3925
- var marker2 = import_leaflet6.default.marker(
3925
+ var marker2 = import_leaflet7.default.marker(
3926
3926
  [center4.geometry.coordinates[1], center4.geometry.coordinates[0]],
3927
3927
  {
3928
3928
  icon: layerIcon
@@ -3968,7 +3968,7 @@ var init_GeoJsonLayer = __esm({
3968
3968
  if (error) return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: "error" });
3969
3969
  if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_ui6.LoaderFull, {});
3970
3970
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3971
- MarkerClusterGroup2,
3971
+ MarkerClusterGroup,
3972
3972
  {
3973
3973
  ref,
3974
3974
  iconCreateFunction: clusterIconFunction,
@@ -3995,7 +3995,7 @@ function getIcon2(color) {
3995
3995
  const MyIcon = import_MapPinIcon2.default;
3996
3996
  return (0, import_server3.renderToString)(/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MyIcon, { height: 40, width: 40, color }));
3997
3997
  }
3998
- var import_ui8, import_react_query2, import_react9, import_react_leaflet7, turf3, import_leaflet7, import_MapPinIcon2, import_server3, import_jsx_runtime14, createDotIcon, icon, createClusterIcon2, IfbnPlotLayer;
3998
+ var import_ui8, import_react_query2, import_react9, import_react_leaflet7, turf3, import_leaflet8, import_MapPinIcon2, import_server3, import_jsx_runtime14, createDotIcon, icon, createClusterIcon2, IfbnPlotLayer;
3999
3999
  var init_IfbnPlotLayer = __esm({
4000
4000
  "src/Components/Ifbn/IfbnPlotLayer.tsx"() {
4001
4001
  "use strict";
@@ -4005,13 +4005,13 @@ var init_IfbnPlotLayer = __esm({
4005
4005
  import_react_leaflet7 = require("react-leaflet");
4006
4006
  init_MarkerClusterGroup();
4007
4007
  turf3 = __toESM(require("@turf/turf"));
4008
- import_leaflet7 = __toESM(require("leaflet"));
4008
+ import_leaflet8 = __toESM(require("leaflet"));
4009
4009
  init_IfbnSitePopup();
4010
4010
  import_MapPinIcon2 = __toESM(require("@heroicons/react/24/solid/MapPinIcon"));
4011
4011
  import_server3 = require("react-dom/server");
4012
4012
  import_jsx_runtime14 = require("react/jsx-runtime");
4013
4013
  createDotIcon = (color) => {
4014
- return new import_leaflet7.default.DivIcon({
4014
+ return new import_leaflet8.default.DivIcon({
4015
4015
  html: `<span style="
4016
4016
  background-color: ${color};
4017
4017
  width: 10px;
@@ -4027,7 +4027,7 @@ var init_IfbnPlotLayer = __esm({
4027
4027
  };
4028
4028
  icon = (color) => {
4029
4029
  const background = color || "MediumSeaGreen";
4030
- return new import_leaflet7.default.DivIcon({
4030
+ return new import_leaflet8.default.DivIcon({
4031
4031
  iconSize: [40, 40],
4032
4032
  iconAnchor: [28, 15],
4033
4033
  html: `<i>${getIcon2(background)}</i>`,
@@ -4054,7 +4054,7 @@ var init_IfbnPlotLayer = __esm({
4054
4054
  } else if (statusCount.auxiliary > statusCount.ongoing && statusCount.auxiliary > statusCount.default) {
4055
4055
  clusterColor = "red";
4056
4056
  }
4057
- return new import_leaflet7.default.DivIcon({
4057
+ return new import_leaflet8.default.DivIcon({
4058
4058
  html: `<div style="
4059
4059
  background-color: ${clusterColor};
4060
4060
  color: white;
@@ -4069,7 +4069,7 @@ var init_IfbnPlotLayer = __esm({
4069
4069
  font-weight: bold;
4070
4070
  ">${cluster.getChildCount()}</div>`,
4071
4071
  className: "custom-cluster-icon",
4072
- iconSize: import_leaflet7.default.point(32, 32)
4072
+ iconSize: import_leaflet8.default.point(32, 32)
4073
4073
  });
4074
4074
  };
4075
4075
  IfbnPlotLayer = ({
@@ -4128,7 +4128,7 @@ var init_IfbnPlotLayer = __esm({
4128
4128
  return zoom >= 16 ? 0 : 80;
4129
4129
  };
4130
4130
  (0, import_react9.useEffect)(() => {
4131
- markerClusterGroupRef.current = import_leaflet7.default.markerClusterGroup({
4131
+ markerClusterGroupRef.current = import_leaflet8.default.markerClusterGroup({
4132
4132
  maxClusterRadius: (zoom) => getClusterRadius(zoom),
4133
4133
  disableClusteringAtZoom: 16,
4134
4134
  spiderfyOnMaxZoom: false,
@@ -4172,7 +4172,7 @@ var init_IfbnPlotLayer = __esm({
4172
4172
  }
4173
4173
  }
4174
4174
  var center4 = turf3.center(feature);
4175
- var marker2 = import_leaflet7.default.marker(
4175
+ var marker2 = import_leaflet8.default.marker(
4176
4176
  [center4.geometry.coordinates[1], center4.geometry.coordinates[0]],
4177
4177
  {
4178
4178
  icon: createDotIcon(color)
@@ -4195,7 +4195,7 @@ var init_IfbnPlotLayer = __esm({
4195
4195
  if (error) return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { children: "error" });
4196
4196
  if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_ui8.LoaderFull, {});
4197
4197
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
4198
- MarkerClusterGroup2,
4198
+ MarkerClusterGroup,
4199
4199
  {
4200
4200
  ref,
4201
4201
  chunkedLoading: true,
@@ -5989,13 +5989,13 @@ var init_useGoogleSheetsData = __esm({
5989
5989
  });
5990
5990
 
5991
5991
  // src/Components/GoogleSheetsLayer.tsx
5992
- var import_react_leaflet8, import_leaflet8, ReactDOMServer2, import_ui9, import_react10, turf4, import_lucide_react2, import_jsx_runtime19, RANDOM_COLORS, getRandomColor, createCircleIcon, createPinIcon, icon2, createClusterIcon3, getMarkerConfig, GoogleSheetsLayer;
5992
+ var import_react_leaflet8, import_leaflet9, ReactDOMServer2, import_ui9, import_react10, turf4, import_lucide_react2, import_jsx_runtime19, RANDOM_COLORS, getRandomColor, createCircleIcon, createPinIcon, icon2, createClusterIcon3, getMarkerConfig, GoogleSheetsLayer;
5993
5993
  var init_GoogleSheetsLayer = __esm({
5994
5994
  "src/Components/GoogleSheetsLayer.tsx"() {
5995
5995
  "use strict";
5996
5996
  "use client";
5997
5997
  import_react_leaflet8 = require("react-leaflet");
5998
- import_leaflet8 = __toESM(require("leaflet"));
5998
+ import_leaflet9 = __toESM(require("leaflet"));
5999
5999
  ReactDOMServer2 = __toESM(require("react-dom/server"));
6000
6000
  import_ui9 = require("@geowiki/ui");
6001
6001
  init_MarkerClusterGroup();
@@ -6044,7 +6044,7 @@ var init_GoogleSheetsLayer = __esm({
6044
6044
  const index = Math.abs(hash) % RANDOM_COLORS.length;
6045
6045
  return RANDOM_COLORS[index];
6046
6046
  };
6047
- createCircleIcon = (color) => import_leaflet8.default.divIcon({
6047
+ createCircleIcon = (color) => import_leaflet9.default.divIcon({
6048
6048
  html: `<div style="background-color: ${color}; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.3);"></div>`,
6049
6049
  className: "custom-div-icon",
6050
6050
  iconSize: [20, 20],
@@ -6055,7 +6055,7 @@ var init_GoogleSheetsLayer = __esm({
6055
6055
  const iconHtml = ReactDOMServer2.renderToString(
6056
6056
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconComponent, { size: 40, color, strokeWidth: 2 })
6057
6057
  );
6058
- return import_leaflet8.default.divIcon({
6058
+ return import_leaflet9.default.divIcon({
6059
6059
  html: iconHtml,
6060
6060
  className: "custom-pin-icon",
6061
6061
  iconSize: [40, 40],
@@ -6071,7 +6071,7 @@ var init_GoogleSheetsLayer = __esm({
6071
6071
  createClusterIcon3 = () => (cluster) => {
6072
6072
  const count = cluster.getChildCount();
6073
6073
  const size = count < 10 ? "small" : count < 100 ? "medium" : "large";
6074
- return import_leaflet8.default.divIcon({
6074
+ return import_leaflet9.default.divIcon({
6075
6075
  html: `<div style="background-color: #ff6b35; color: white; border-radius: 50%; font-weight: bold; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 4px rgba(0,0,0,0.3); width: 100%; height: 100%; min-width: 100%; min-height: 100%;">${count}</div>`,
6076
6076
  className: "google-sheets-cluster-icon",
6077
6077
  iconSize: size === "small" ? [30, 30] : size === "medium" ? [45, 45] : [60, 60]
@@ -6139,7 +6139,7 @@ var init_GoogleSheetsLayer = __esm({
6139
6139
  }) => {
6140
6140
  var _a;
6141
6141
  const ref = (0, import_react10.useRef)(null);
6142
- const markerClusterGroup = import_leaflet8.default.markerClusterGroup();
6142
+ const markerClusterGroup = import_leaflet9.default.markerClusterGroup();
6143
6143
  const { updateLayer } = mapLayers_default();
6144
6144
  const legendConfigUpdated = (0, import_react10.useRef)(false);
6145
6145
  const [forceUpdate, setForceUpdate] = (0, import_react10.useState)(0);
@@ -6215,7 +6215,7 @@ var init_GoogleSheetsLayer = __esm({
6215
6215
  });
6216
6216
  if (feature.geometry.type !== "Point") {
6217
6217
  var center4 = turf4.center(feature);
6218
- var marker2 = import_leaflet8.default.marker(
6218
+ var marker2 = import_leaflet9.default.marker(
6219
6219
  [center4.geometry.coordinates[1], center4.geometry.coordinates[0]],
6220
6220
  {
6221
6221
  icon: icon2(markerConfig.color, markerConfig.icon)
@@ -6414,7 +6414,7 @@ var init_GoogleSheetsLayer = __esm({
6414
6414
  }
6415
6415
  )
6416
6416
  ] }),
6417
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MarkerClusterGroup2, { ref, iconCreateFunction: createClusterIcon3(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6417
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MarkerClusterGroup, { ref, iconCreateFunction: createClusterIcon3(), children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
6418
6418
  import_react_leaflet8.GeoJSON,
6419
6419
  {
6420
6420
  data: processedData,
@@ -6435,7 +6435,7 @@ var init_GoogleSheetsLayer = __esm({
6435
6435
  });
6436
6436
 
6437
6437
  // src/Components/CustomLayerRenderer.tsx
6438
- var import_react11, import_react_leaflet9, import_leaflet9, import_jsx_runtime20, createMarkerIcon, createClusterIcon4, createPopupContent, GeoJSONRenderer, MarkerRenderer, MarkerClusterRenderer, WMSRenderer, TileRenderer, GoogleSheetsRenderer, CustomLayerRenderer, CustomLayerList;
6438
+ var import_react11, import_react_leaflet9, import_leaflet10, import_jsx_runtime20, createMarkerIcon, createClusterIcon4, createPopupContent, GeoJSONRenderer, MarkerRenderer, MarkerClusterRenderer, WMSRenderer, TileRenderer, GoogleSheetsRenderer, CustomLayerRenderer, CustomLayerList;
6439
6439
  var init_CustomLayerRenderer = __esm({
6440
6440
  "src/Components/CustomLayerRenderer.tsx"() {
6441
6441
  "use strict";
@@ -6443,7 +6443,7 @@ var init_CustomLayerRenderer = __esm({
6443
6443
  import_react_leaflet9 = require("react-leaflet");
6444
6444
  init_customLayers();
6445
6445
  init_statusMapping();
6446
- import_leaflet9 = __toESM(require("leaflet"));
6446
+ import_leaflet10 = __toESM(require("leaflet"));
6447
6447
  init_GoogleSheetsLayer();
6448
6448
  init_MarkerClusterGroup();
6449
6449
  import_jsx_runtime20 = require("react/jsx-runtime");
@@ -6476,7 +6476,7 @@ var init_CustomLayerRenderer = __esm({
6476
6476
  />
6477
6477
  </svg>
6478
6478
  `;
6479
- return import_leaflet9.default.divIcon({
6479
+ return import_leaflet10.default.divIcon({
6480
6480
  html: iconHtml,
6481
6481
  className: "geotrees-marker-icon",
6482
6482
  iconSize: [size, size],
@@ -6487,7 +6487,7 @@ var init_CustomLayerRenderer = __esm({
6487
6487
  const count = cluster.getChildCount();
6488
6488
  const size = count < 10 ? "small" : count < 100 ? "medium" : "large";
6489
6489
  const iconSize = size === "small" ? [30, 30] : size === "medium" ? [40, 40] : [50, 50];
6490
- return import_leaflet9.default.divIcon({
6490
+ return import_leaflet10.default.divIcon({
6491
6491
  html: `<div style="background-color: #22c55e; color: white; border-radius: 50%; font-weight: bold; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 4px rgba(0,0,0,0.3); width: 100%; height: 100%; min-width: 100%; min-height: 100%;">${count}</div>`,
6492
6492
  className: "geotrees-cluster-icon",
6493
6493
  iconSize
@@ -6650,7 +6650,7 @@ var init_CustomLayerRenderer = __esm({
6650
6650
  return null;
6651
6651
  }
6652
6652
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
6653
- MarkerClusterGroup2,
6653
+ MarkerClusterGroup,
6654
6654
  {
6655
6655
  chunkedLoading: true,
6656
6656
  maxClusterRadius: 60,
@@ -10830,14 +10830,14 @@ var GeoWikiMap_exports = {};
10830
10830
  __export(GeoWikiMap_exports, {
10831
10831
  GeoWikiMap: () => GeoWikiMap
10832
10832
  });
10833
- var import_react60, import_react_leaflet28, import_leaflet22, import_dist, import_core44, import_ui43, import_core45, import_react_hotkeys_hook3, import_jsx_runtime77, GeoWikiMapComponent, GeoWikiMap;
10833
+ var import_react60, import_react_leaflet28, import_leaflet23, import_dist, import_core44, import_ui43, import_core45, import_react_hotkeys_hook3, import_jsx_runtime77, GeoWikiMapComponent, GeoWikiMap;
10834
10834
  var init_GeoWikiMap = __esm({
10835
10835
  "src/Components/Map/GeoWikiMap.tsx"() {
10836
10836
  "use strict";
10837
10837
  "use client";
10838
10838
  import_react60 = require("react");
10839
10839
  import_react_leaflet28 = require("react-leaflet");
10840
- import_leaflet22 = require("leaflet/dist/leaflet.css");
10840
+ import_leaflet23 = require("leaflet/dist/leaflet.css");
10841
10841
  import_dist = require("@bopen/leaflet-area-selection/dist/index.css");
10842
10842
  import_core44 = require("@geowiki/core");
10843
10843
  init_EvolandContainer();
@@ -11275,7 +11275,7 @@ __export(index_exports, {
11275
11275
  MapEvents: () => MapEvents,
11276
11276
  MapLibre: () => MapLibre,
11277
11277
  MapSidebar: () => MapSidebar,
11278
- MarkerClusterGroup: () => MarkerClusterGroup2,
11278
+ MarkerClusterGroup: () => MarkerClusterGroup,
11279
11279
  OverlayLayer: () => OverlayLayer,
11280
11280
  PointSelection: () => PointSelection,
11281
11281
  Questions: () => Questions,
@@ -11473,7 +11473,7 @@ init_evoland();
11473
11473
  init_EvoLandRasterType();
11474
11474
 
11475
11475
  // src/Components/Map/BasicMap.tsx
11476
- var import_leaflet10 = require("leaflet/dist/leaflet.css");
11476
+ var import_leaflet11 = require("leaflet/dist/leaflet.css");
11477
11477
  var import_react36 = require("react");
11478
11478
  var import_react_leaflet15 = require("react-leaflet");
11479
11479
  var import_core33 = require("@geowiki/core");
@@ -12744,6 +12744,7 @@ var LayerSwitcher = (0, import_react27.memo)(() => {
12744
12744
  /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
12745
12745
  import_react30.Disclosure,
12746
12746
  {
12747
+ as: "div",
12747
12748
  "data-component": menu.title,
12748
12749
  defaultOpen: mapMenus.length === 1,
12749
12750
  children: ({ open }) => {
@@ -13257,7 +13258,7 @@ var BasicMap = () => {
13257
13258
  };
13258
13259
 
13259
13260
  // src/Components/Map/BasfMap.tsx
13260
- var import_leaflet14 = require("leaflet/dist/leaflet.css");
13261
+ var import_leaflet15 = require("leaflet/dist/leaflet.css");
13261
13262
  var import_react46 = require("react");
13262
13263
  var import_react_leaflet19 = require("react-leaflet");
13263
13264
  var import_useMapSettings2 = __toESM(require("@geowiki/core/src/hooks/useMapSettings"));
@@ -13384,7 +13385,7 @@ init_map();
13384
13385
  // src/Components/Basf/SelectedPixelsLayer.tsx
13385
13386
  var import_react38 = require("react");
13386
13387
  var import_react_leaflet16 = require("react-leaflet");
13387
- var import_leaflet11 = __toESM(require("leaflet"));
13388
+ var import_leaflet12 = __toESM(require("leaflet"));
13388
13389
  var SelectedPixelsLayer = () => {
13389
13390
  const { data } = useSelectedPixelStore();
13390
13391
  const layerRef = (0, import_react38.useRef)(null);
@@ -13392,13 +13393,13 @@ var SelectedPixelsLayer = () => {
13392
13393
  const prevDataRef = (0, import_react38.useRef)(data);
13393
13394
  (0, import_react38.useEffect)(() => {
13394
13395
  if (!layerRef.current) {
13395
- layerRef.current = import_leaflet11.default.layerGroup().addTo(map);
13396
+ layerRef.current = import_leaflet12.default.layerGroup().addTo(map);
13396
13397
  }
13397
13398
  if (prevDataRef.current !== data) {
13398
13399
  layerRef.current.clearLayers();
13399
13400
  data.forEach((geoJson) => {
13400
13401
  var _a;
13401
- const layer = import_leaflet11.default.geoJSON(geoJson, {
13402
+ const layer = import_leaflet12.default.geoJSON(geoJson, {
13402
13403
  style: () => ({
13403
13404
  color: "red",
13404
13405
  weight: 2,
@@ -14063,8 +14064,8 @@ var import_ui32 = require("@geowiki/ui");
14063
14064
  // src/Components/Controls/MeasureControl.tsx
14064
14065
  var import_react44 = require("react");
14065
14066
  var import_react_leaflet17 = require("react-leaflet");
14066
- var import_leaflet12 = __toESM(require("leaflet"));
14067
- var import_leaflet13 = require("leaflet.polylinemeasure");
14067
+ var import_leaflet13 = __toESM(require("leaflet"));
14068
+ var import_leaflet14 = require("leaflet.polylinemeasure");
14068
14069
  var import_ui31 = require("@geowiki/ui");
14069
14070
  var import_core38 = require("@geowiki/core");
14070
14071
  var import_jsx_runtime60 = require("react/jsx-runtime");
@@ -14074,7 +14075,7 @@ function PolylineMeasureControl() {
14074
14075
  const [active, setActive] = (0, import_react44.useState)(false);
14075
14076
  (0, import_react44.useEffect)(() => {
14076
14077
  if (!map) return;
14077
- controlRef.current = import_leaflet12.default.control.polylineMeasure({
14078
+ controlRef.current = import_leaflet13.default.control.polylineMeasure({
14078
14079
  position: "topright",
14079
14080
  unit: "metres",
14080
14081
  showBearings: true,
@@ -14247,7 +14248,7 @@ var BasfMap = (0, import_react46.memo)(BasfMapComponent);
14247
14248
  BasfMap.displayName = "BasfMap";
14248
14249
 
14249
14250
  // src/Components/Map/GeoTreesMap.tsx
14250
- var import_leaflet16 = require("leaflet/dist/leaflet.css");
14251
+ var import_leaflet17 = require("leaflet/dist/leaflet.css");
14251
14252
  var import_react_leaflet23 = require("react-leaflet");
14252
14253
 
14253
14254
  // src/Components/Map/GeoTreesControlList.tsx
@@ -14670,7 +14671,7 @@ var import_react52 = require("react");
14670
14671
  var import_react50 = require("react");
14671
14672
  var import_react_leaflet22 = require("react-leaflet");
14672
14673
  init_MarkerClusterGroup();
14673
- var import_leaflet15 = __toESM(require("leaflet"));
14674
+ var import_leaflet16 = __toESM(require("leaflet"));
14674
14675
  init_mapLayers();
14675
14676
  init_customLayers();
14676
14677
  var import_MapPinIcon3 = __toESM(require("@heroicons/react/24/solid/MapPinIcon"));
@@ -14693,7 +14694,7 @@ var createTreeIcon = (color = "#22c55e") => {
14693
14694
  const iconHtml = (0, import_server5.renderToString)(
14694
14695
  /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_MapPinIcon3.default, { height: 24, width: 24, color })
14695
14696
  );
14696
- return new import_leaflet15.default.DivIcon({
14697
+ return new import_leaflet16.default.DivIcon({
14697
14698
  html: `<div style="
14698
14699
  display: flex;
14699
14700
  align-items: center;
@@ -14717,7 +14718,7 @@ var createClusterIcon5 = (cluster) => {
14717
14718
  size = 48;
14718
14719
  fontSize = 16;
14719
14720
  }
14720
- return new import_leaflet15.default.DivIcon({
14721
+ return new import_leaflet16.default.DivIcon({
14721
14722
  html: `<div style="
14722
14723
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
14723
14724
  color: white;
@@ -14735,7 +14736,7 @@ var createClusterIcon5 = (cluster) => {
14735
14736
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
14736
14737
  ">${childCount}</div>`,
14737
14738
  className: "custom-tree-cluster-icon",
14738
- iconSize: import_leaflet15.default.point(size, size)
14739
+ iconSize: import_leaflet16.default.point(size, size)
14739
14740
  });
14740
14741
  };
14741
14742
  var TreeMarkerPopup = ({
@@ -14944,7 +14945,7 @@ var GeoTreesCustomLayerComponent = () => {
14944
14945
  );
14945
14946
  return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
14946
14947
  /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
14947
- MarkerClusterGroup2,
14948
+ MarkerClusterGroup,
14948
14949
  {
14949
14950
  chunkedLoading: true,
14950
14951
  maxClusterRadius: 60,
@@ -15350,7 +15351,7 @@ var GeoTreesMap = () => {
15350
15351
  };
15351
15352
 
15352
15353
  // src/Components/Canopy/CanopyMap.tsx
15353
- var import_leaflet21 = require("leaflet/dist/leaflet.css");
15354
+ var import_leaflet22 = require("leaflet/dist/leaflet.css");
15354
15355
  var import_react58 = require("react");
15355
15356
  var import_react_leaflet27 = require("react-leaflet");
15356
15357
  var import_core41 = require("@geowiki/core");
@@ -15366,7 +15367,7 @@ var import_react_leaflet26 = require("react-leaflet");
15366
15367
  // src/Components/Map/GenericAreaSelect.tsx
15367
15368
  var import_react53 = require("react");
15368
15369
  var import_react_leaflet24 = require("react-leaflet");
15369
- var import_leaflet17 = require("leaflet");
15370
+ var import_leaflet18 = require("leaflet");
15370
15371
 
15371
15372
  // src/store/AreaSelectStore.ts
15372
15373
  var import_zustand8 = require("zustand");
@@ -15404,7 +15405,7 @@ var useAreaSelect = ({
15404
15405
  if (!map.selectArea) return;
15405
15406
  (_a = map.selectArea) == null ? void 0 : _a.setControlKey(false);
15406
15407
  if (!rectangleRef.current) {
15407
- rectangleRef.current = new import_leaflet17.Rectangle(
15408
+ rectangleRef.current = new import_leaflet18.Rectangle(
15408
15409
  [
15409
15410
  [0, 0],
15410
15411
  [0, 0]
@@ -15482,7 +15483,7 @@ var useAreaSelect = ({
15482
15483
  var import_react54 = require("react");
15483
15484
  var import_lucide_react5 = require("lucide-react");
15484
15485
  var import_ui36 = require("@geowiki/ui");
15485
- var import_leaflet18 = __toESM(require("leaflet"));
15486
+ var import_leaflet19 = __toESM(require("leaflet"));
15486
15487
  var import_jsx_runtime70 = require("react/jsx-runtime");
15487
15488
  var CanopyAtlasDownload = () => {
15488
15489
  const [format, setFormat] = (0, import_react54.useState)("shape-zip");
@@ -15500,7 +15501,7 @@ var CanopyAtlasDownload = () => {
15500
15501
  maxFeatures: 1e3
15501
15502
  };
15502
15503
  const baseUrl = "https://geoserver.iiasa.ac.at/geoserver/canopyatlas/ows";
15503
- const wfsUrl = baseUrl + import_leaflet18.default.Util.getParamString(params, baseUrl, true);
15504
+ const wfsUrl = baseUrl + import_leaflet19.default.Util.getParamString(params, baseUrl, true);
15504
15505
  try {
15505
15506
  const response = yield fetch(wfsUrl);
15506
15507
  if (!response.ok) throw new Error("Download failed");
@@ -15553,7 +15554,7 @@ var CanopyAtlasDownload = () => {
15553
15554
  var import_react55 = require("react");
15554
15555
  var import_ui37 = require("@geowiki/ui");
15555
15556
  var import_lucide_react6 = require("lucide-react");
15556
- var import_leaflet19 = __toESM(require("leaflet"));
15557
+ var import_leaflet20 = __toESM(require("leaflet"));
15557
15558
  var import_ui38 = require("@geowiki/ui");
15558
15559
  var import_react_hook_form5 = require("react-hook-form");
15559
15560
  var z2 = __toESM(require("zod"));
@@ -15696,7 +15697,7 @@ var CanopyFilter = (0, import_react55.memo)(({ onFilterChange }) => {
15696
15697
  maxFeatures: 1e3
15697
15698
  }, cqlFilters.length > 0 && { CQL_FILTER: cqlFilters.join(" AND ") });
15698
15699
  const baseUrl = "https://geoserver.iiasa.ac.at/geoserver/canopyatlas/ows";
15699
- const wfsUrl = baseUrl + import_leaflet19.default.Util.getParamString(params, baseUrl, true);
15700
+ const wfsUrl = baseUrl + import_leaflet20.default.Util.getParamString(params, baseUrl, true);
15700
15701
  try {
15701
15702
  const response = yield fetch(wfsUrl);
15702
15703
  if (!response.ok) throw new Error("Download failed");
@@ -15924,7 +15925,7 @@ var import_react56 = require("react");
15924
15925
  var import_react_leaflet25 = require("react-leaflet");
15925
15926
  var import_react_query6 = require("@tanstack/react-query");
15926
15927
  var turf7 = __toESM(require("@turf/turf"));
15927
- var import_leaflet20 = __toESM(require("leaflet"));
15928
+ var import_leaflet21 = __toESM(require("leaflet"));
15928
15929
  init_MarkerClusterGroup();
15929
15930
  var import_server7 = __toESM(require("react-dom/server"));
15930
15931
  init_map();
@@ -15983,7 +15984,7 @@ var defaultIcon = (() => {
15983
15984
  const iconSvg = import_server7.default.renderToString(
15984
15985
  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_lucide_react7.MapPin, { size: 41, color: "#2196F3", strokeWidth: 2, fill: "#ffffff" })
15985
15986
  );
15986
- return new import_leaflet20.default.DivIcon({
15987
+ return new import_leaflet21.default.DivIcon({
15987
15988
  html: iconSvg,
15988
15989
  className: "wfs-layer-marker-icon",
15989
15990
  iconSize: [41, 41],
@@ -16322,7 +16323,7 @@ var WfsLayer = ({
16322
16323
  }
16323
16324
  const content = typeof popupContent === "string" ? popupContent : import_server7.default.renderToString(popupContent);
16324
16325
  if (popupContent) {
16325
- const popup = import_leaflet20.default.popup(__spreadValues(__spreadValues({}, DEFAULT_POPUP_OPTIONS), popupOptions.popupOptions || {}));
16326
+ const popup = import_leaflet21.default.popup(__spreadValues(__spreadValues({}, DEFAULT_POPUP_OPTIONS), popupOptions.popupOptions || {}));
16326
16327
  popup.on("add", () => {
16327
16328
  setSelectedFeatureId(featureId);
16328
16329
  });
@@ -16408,7 +16409,7 @@ var WfsLayer = ({
16408
16409
  },
16409
16410
  layerKey
16410
16411
  ),
16411
- showMarkers && shouldRenderMarkers && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MarkerClusterGroup2, __spreadProps(__spreadValues({}, clusterOptions), { children: filteredGeoJson.features.map(
16412
+ showMarkers && shouldRenderMarkers && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MarkerClusterGroup, __spreadProps(__spreadValues({}, clusterOptions), { children: filteredGeoJson.features.map(
16412
16413
  (feature, index) => {
16413
16414
  var _a2;
16414
16415
  const coordinates = getFeaturePoint(feature);
@@ -17259,6 +17260,7 @@ var LayerSwitcher2 = (0, import_react62.memo)((({ mapMenuItems, customLayers })
17259
17260
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
17260
17261
  import_react65.Disclosure,
17261
17262
  {
17263
+ as: "div",
17262
17264
  "data-component": menu.title,
17263
17265
  defaultOpen: mapMenuItems.length === 1,
17264
17266
  children: ({ open }) => {
@@ -20564,9 +20566,9 @@ init_MarkerClusterGroup();
20564
20566
 
20565
20567
  // src/Components/LocationMarker.tsx
20566
20568
  var import_react_leaflet30 = require("react-leaflet");
20567
- var import_leaflet23 = require("leaflet");
20569
+ var import_leaflet24 = require("leaflet");
20568
20570
  var import_jsx_runtime84 = require("react/jsx-runtime");
20569
- var ICON = (0, import_leaflet23.icon)({
20571
+ var ICON = (0, import_leaflet24.icon)({
20570
20572
  iconUrl: "/assets/img/marker-icon.png",
20571
20573
  iconSize: [25, 35]
20572
20574
  });
package/dist/index.mjs CHANGED
@@ -38,7 +38,7 @@ import {
38
38
  useEvolandStore,
39
39
  useMapLayerStore,
40
40
  useMapStore
41
- } from "./chunk-CMTGRR7U.mjs";
41
+ } from "./chunk-EK6NVKCV.mjs";
42
42
 
43
43
  // src/Components/CanvasImage.tsx
44
44
  var CanvasImage = () => {
@@ -1471,6 +1471,7 @@ var LayerSwitcher = memo2(() => {
1471
1471
  /* @__PURE__ */ jsx14(
1472
1472
  Disclosure,
1473
1473
  {
1474
+ as: "div",
1474
1475
  "data-component": menu.title,
1475
1476
  defaultOpen: mapMenus.length === 1,
1476
1477
  children: ({ open }) => {
@@ -6027,6 +6028,7 @@ var LayerSwitcher2 = memo13((({ mapMenuItems, customLayers }) => {
6027
6028
  /* @__PURE__ */ jsx46(
6028
6029
  Disclosure2,
6029
6030
  {
6031
+ as: "div",
6030
6032
  "data-component": menu.title,
6031
6033
  defaultOpen: mapMenuItems.length === 1,
6032
6034
  children: ({ open }) => {
@@ -9217,7 +9219,7 @@ MapLibre.displayName = "MapLibre";
9217
9219
  import { Suspense, lazy, useEffect as useEffect22, useState as useState18 } from "react";
9218
9220
  import { jsx as jsx49 } from "react/jsx-runtime";
9219
9221
  var MapComponent = lazy(
9220
- () => import("./GeoWikiMap-4R5RAE4T.mjs").then((m) => ({ default: m.GeoWikiMap }))
9222
+ () => import("./GeoWikiMap-WTTI3OZX.mjs").then((m) => ({ default: m.GeoWikiMap }))
9221
9223
  );
9222
9224
  var ClientOnlyMap = ({ children }) => {
9223
9225
  const [isClient, setIsClient] = useState18(false);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geowiki/map",
3
- "version": "0.16.9-dev.20",
3
+ "version": "0.16.9-dev.21",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "files": [
@@ -24,68 +24,68 @@
24
24
  "react-hotkeys-hook": "^4.5.0",
25
25
  "react-leaflet": "^4.2.1",
26
26
  "zod": "^3.25.7",
27
- "@geowiki/cms-proxy": "0.16.9-dev.20",
28
- "@geowiki/core": "0.16.9-dev.20",
29
- "@geowiki/evoland-api-proxy": "0.16.9-dev.20",
30
- "@geowiki/ui": "0.16.9-dev.20",
31
- "@geowiki/design-system": "0.16.9-dev.20"
27
+ "@geowiki/cms-proxy": "0.16.9-dev.21",
28
+ "@geowiki/core": "0.16.9-dev.21",
29
+ "@geowiki/design-system": "0.16.9-dev.21",
30
+ "@geowiki/evoland-api-proxy": "0.16.9-dev.21",
31
+ "@geowiki/ui": "0.16.9-dev.21"
32
32
  },
33
33
  "dependencies": {
34
34
  "@dnd-kit/core": "^6.3.1",
35
35
  "@dnd-kit/sortable": "^10.0.0",
36
36
  "@dnd-kit/utilities": "^3.2.2",
37
37
  "@headlessui/react": "^2.2.10",
38
- "@heroicons/react": "^2.1.1",
39
- "@hookform/resolvers": "^3.3.1",
38
+ "@heroicons/react": "^2.2.0",
39
+ "@hookform/resolvers": "^3.10.0",
40
40
  "@radix-ui/react-popover": "^1.1.15",
41
41
  "@turf/turf": "^6.5.0",
42
- "csv-parse": "^6.1.0",
43
- "d3": "^7.8.5",
44
- "dompurify": "^3.1.7",
45
- "driver.js": "^1.3.1",
46
- "esri-leaflet": "^3.0.14",
47
- "geoblaze": "^2.2.0",
42
+ "csv-parse": "^6.2.1",
43
+ "d3": "^7.9.0",
44
+ "dompurify": "^3.4.5",
45
+ "driver.js": "^1.4.0",
46
+ "esri-leaflet": "^3.0.19",
47
+ "geoblaze": "^2.8.0",
48
48
  "geojson-to-kml": "^0.0.1",
49
49
  "georaster": "^1.6.0",
50
50
  "georaster-layer-for-leaflet": "^3.10.0",
51
- "geotiff": "^2.0.7",
52
- "konva": "^9.2.0",
51
+ "geotiff": "^2.1.3",
52
+ "konva": "^9.3.22",
53
53
  "leaflet-area-select": "^1.1.1",
54
54
  "leaflet.markercluster": "^1.5.3",
55
55
  "leaflet.polylinemeasure": "^3.0.0",
56
56
  "lucide-react": "^0.224.0",
57
- "maplibre-gl": "^5.23.0",
57
+ "maplibre-gl": "^5.24.0",
58
58
  "plotty": "^0.4.9",
59
59
  "pngjs": "^7.0.0",
60
- "proj4": "^2.9.0",
61
- "react-konva": "^18.2.10",
62
- "react-select": "^5.7.4",
63
- "use-image": "^1.1.1",
64
- "uuid": "^9.0.0",
60
+ "proj4": "^2.20.8",
61
+ "react-konva": "^18.2.16",
62
+ "react-select": "^5.10.2",
63
+ "use-image": "^1.1.4",
64
+ "uuid": "^9.0.1",
65
65
  "zustand": "4.3.9"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@tailwindcss/aspect-ratio": "^0.4.2",
69
- "@tailwindcss/forms": "^0.5.3",
70
- "@tailwindcss/typography": "^0.5.9",
71
- "@types/d3": "^7.4.0",
72
- "@types/dompurify": "^3.0.5",
73
- "@types/esri-leaflet": "^3.0.3",
74
- "@types/geojson": "^7946.0.10",
69
+ "@tailwindcss/forms": "^0.5.11",
70
+ "@tailwindcss/typography": "^0.5.19",
71
+ "@types/d3": "^7.4.3",
72
+ "@types/dompurify": "^3.2.0",
73
+ "@types/esri-leaflet": "^3.0.4",
74
+ "@types/geojson": "^7946.0.16",
75
75
  "@types/leaflet": "^1.9.21",
76
- "@types/leaflet-draw": "^1.0.7",
77
- "@types/leaflet.markercluster": "^1.5.1",
76
+ "@types/leaflet-draw": "^1.0.13",
77
+ "@types/leaflet.markercluster": "^1.5.6",
78
78
  "@types/node": "18.11.18",
79
- "@types/pngjs": "^6.0.1",
80
- "@types/react": "^19.2.0",
81
- "@types/react-dom": "^19.2.0",
79
+ "@types/pngjs": "^6.0.5",
80
+ "@types/react": "^19.2.14",
81
+ "@types/react-dom": "^19.2.3",
82
82
  "@types/uuid": "^10.0.0",
83
- "autoprefixer": "^10.4.14",
84
- "eslint": "^8.46.0",
85
- "postcss": "^8.4.21",
86
- "tailwindcss": "^3.3.3",
83
+ "autoprefixer": "^10.5.0",
84
+ "eslint": "^8.57.1",
85
+ "postcss": "^8.5.14",
86
+ "tailwindcss": "^3.4.19",
87
87
  "tailwindcss-animate": "^1.0.7",
88
- "tsup": "^8.0.2",
88
+ "tsup": "^8.5.1",
89
89
  "typescript": "5.4.2",
90
90
  "eslint-config-custom": "0.0.0",
91
91
  "tailwind-config": "0.0.0",