@fabriquerdemain/map-react 1.0.0 → 1.0.2
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/dist/components/Filters.d.ts +6 -2
- package/dist/components/Filters.d.ts.map +1 -1
- package/dist/components/Map.d.ts.map +1 -1
- package/dist/hooks/useMapFilters.d.ts +5 -1
- package/dist/hooks/useMapFilters.d.ts.map +1 -1
- package/dist/repcartes-map-react.js +25 -5
- package/dist/repcartes-map-react.js.map +1 -1
- package/dist/repcartes-map-react.umd.cjs +25 -5
- package/dist/repcartes-map-react.umd.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -18,8 +18,12 @@ export interface FiltersProps {
|
|
|
18
18
|
}>;
|
|
19
19
|
/** Villes disponibles */
|
|
20
20
|
cities?: string[];
|
|
21
|
-
/** Types disponibles (
|
|
22
|
-
types?:
|
|
21
|
+
/** Types disponibles (tableau d'objets ou de strings) */
|
|
22
|
+
types?: Array<{
|
|
23
|
+
value: string;
|
|
24
|
+
label: string;
|
|
25
|
+
color?: string;
|
|
26
|
+
}> | string[];
|
|
23
27
|
/** État actuel des filtres */
|
|
24
28
|
value: FilterState;
|
|
25
29
|
/** Callback appelé quand les filtres changent */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filters.d.ts","sourceRoot":"","sources":["../../src/components/Filters.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,iEAAiE;IACjE,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChE,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,
|
|
1
|
+
{"version":3,"file":"Filters.d.ts","sourceRoot":"","sources":["../../src/components/Filters.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,iEAAiE;IACjE,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,yBAAyB;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChE,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,yDAAyD;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE,CAAA;IAC1E,8BAA8B;IAC9B,KAAK,EAAE,WAAW,CAAA;IAClB,iDAAiD;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAqL1C,CAAA;AAID,eAAe,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["../../src/components/Map.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAON,MAAM,OAAO,CAAA;AACd,OAAO,CAAC,MAAM,SAAS,CAAA;AACvB,OAAO,0BAA0B,CAAA;AACjC,OAAO,8CAA8C,CAAA;AACrD,OAAO,sDAAsD,CAAA;AAC7D,OAAO,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAQ5E,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IAC3C,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IAC5C,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAAA;IAC9B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,8BAA8B;IAC9B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,iCAAiC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IACtC,oCAAoC;IACpC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAA;CAC3B;AAgBD,eAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"Map.d.ts","sourceRoot":"","sources":["../../src/components/Map.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAON,MAAM,OAAO,CAAA;AACd,OAAO,CAAC,MAAM,SAAS,CAAA;AACvB,OAAO,0BAA0B,CAAA;AACjC,OAAO,8CAA8C,CAAA;AACrD,OAAO,sDAAsD,CAAA;AAC7D,OAAO,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAQ5E,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAA;IACrB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mDAAmD;IACnD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IAC3C,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D,iDAAiD;IACjD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IAC5C,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAAA;IAC9B,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,8BAA8B;IAC9B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,iCAAiC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IACtC,oCAAoC;IACpC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAA;CAC3B;AAgBD,eAAO,MAAM,GAAG,yEAiTf,CAAA;AAID,eAAe,GAAG,CAAA"}
|
|
@@ -13,7 +13,11 @@ export interface UseMapFiltersReturn {
|
|
|
13
13
|
/** Villes disponibles (extraites des marqueurs) */
|
|
14
14
|
availableCities: string[];
|
|
15
15
|
/** Types disponibles (extraits des marqueurs) */
|
|
16
|
-
availableTypes:
|
|
16
|
+
availableTypes: Array<{
|
|
17
|
+
value: string;
|
|
18
|
+
label: string;
|
|
19
|
+
color?: string;
|
|
20
|
+
}>;
|
|
17
21
|
/** Définir un filtre */
|
|
18
22
|
setFilter: (key: keyof FilterState, value: string) => void;
|
|
19
23
|
/** Réinitialiser tous les filtres */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMapFilters.d.ts","sourceRoot":"","sources":["../../src/hooks/useMapFilters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnE,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,OAAO,EAAE,WAAW,CAAA;IACpB,wBAAwB;IACxB,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,kDAAkD;IAClD,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,mDAAmD;IACnD,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,iDAAiD;IACjD,cAAc,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"useMapFilters.d.ts","sourceRoot":"","sources":["../../src/hooks/useMapFilters.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnE,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,OAAO,EAAE,WAAW,CAAA;IACpB,wBAAwB;IACxB,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,kDAAkD;IAClD,eAAe,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,mDAAmD;IACnD,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,iDAAiD;IACjD,cAAc,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvE,wBAAwB;IACxB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1D,qCAAqC;IACrC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAA;CACtB;AASD,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAoHvE"}
|
|
@@ -11582,6 +11582,7 @@ const Map$1 = forwardRef(
|
|
|
11582
11582
|
const markersLayerRef = useRef(null);
|
|
11583
11583
|
const markerMapRef = useRef(new globalThis.Map());
|
|
11584
11584
|
const tileLayerRef = useRef(null);
|
|
11585
|
+
const hasFitBoundsRef = useRef(false);
|
|
11585
11586
|
const [currentTileSource, setCurrentTileSource] = useState(
|
|
11586
11587
|
"ign"
|
|
11587
11588
|
);
|
|
@@ -11731,11 +11732,21 @@ const Map$1 = forwardRef(
|
|
|
11731
11732
|
markersLayerRef.current.addLayer(marker);
|
|
11732
11733
|
markerMapRef.current.set(markerData.id, marker);
|
|
11733
11734
|
});
|
|
11734
|
-
if (config.fitBoundsOnLoad && markers.length > 0) {
|
|
11735
|
+
if (config.fitBoundsOnLoad && markers.length > 0 && !hasFitBoundsRef.current) {
|
|
11735
11736
|
const group = L$1.featureGroup(
|
|
11736
11737
|
markers.map((m) => L$1.marker([m.lat, m.lng]))
|
|
11737
11738
|
);
|
|
11738
11739
|
(_a = mapRef.current) == null ? void 0 : _a.fitBounds(group.getBounds(), { padding: [50, 50] });
|
|
11740
|
+
hasFitBoundsRef.current = true;
|
|
11741
|
+
setTimeout(() => {
|
|
11742
|
+
if (mapRef.current) {
|
|
11743
|
+
const center = mapRef.current.getCenter();
|
|
11744
|
+
const shouldUseIgn = isInFrance(center.lat, center.lng);
|
|
11745
|
+
if (!shouldUseIgn) {
|
|
11746
|
+
setCurrentTileSource("osm");
|
|
11747
|
+
}
|
|
11748
|
+
}
|
|
11749
|
+
}, 100);
|
|
11739
11750
|
}
|
|
11740
11751
|
}, [
|
|
11741
11752
|
markers,
|
|
@@ -12076,7 +12087,12 @@ const Filters = ({
|
|
|
12076
12087
|
value: key,
|
|
12077
12088
|
label: dt.label,
|
|
12078
12089
|
color: dt.color
|
|
12079
|
-
})) : types.map((t) =>
|
|
12090
|
+
})) : types.map((t) => {
|
|
12091
|
+
if (typeof t === "string") {
|
|
12092
|
+
return { value: t, label: t };
|
|
12093
|
+
}
|
|
12094
|
+
return t;
|
|
12095
|
+
});
|
|
12080
12096
|
return /* @__PURE__ */ jsxs(
|
|
12081
12097
|
"div",
|
|
12082
12098
|
{
|
|
@@ -12253,13 +12269,17 @@ function useMapFilters(markers) {
|
|
|
12253
12269
|
return Array.from(cities).sort();
|
|
12254
12270
|
}, [markers]);
|
|
12255
12271
|
const availableTypes = useMemo(() => {
|
|
12256
|
-
const
|
|
12272
|
+
const typesMap = /* @__PURE__ */ new Map();
|
|
12257
12273
|
markers.forEach((m) => {
|
|
12258
12274
|
if (m.type) {
|
|
12259
|
-
|
|
12275
|
+
typesMap.set(m.type, {
|
|
12276
|
+
value: m.type,
|
|
12277
|
+
label: m.typeLabel || m.type,
|
|
12278
|
+
color: m.typeColor
|
|
12279
|
+
});
|
|
12260
12280
|
}
|
|
12261
12281
|
});
|
|
12262
|
-
return Array.from(
|
|
12282
|
+
return Array.from(typesMap.values()).sort((a, b) => a.label.localeCompare(b.label));
|
|
12263
12283
|
}, [markers]);
|
|
12264
12284
|
const totalCount = markers.length;
|
|
12265
12285
|
const filteredCount = filteredMarkers.length;
|