@fabriquerdemain/map-react 1.0.0 → 1.0.1

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.
@@ -18,8 +18,12 @@ export interface FiltersProps {
18
18
  }>;
19
19
  /** Villes disponibles */
20
20
  cities?: string[];
21
- /** Types disponibles (si dealTypes n'est pas fourni) */
22
- types?: string[];
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,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,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,CAgL1C,CAAA;AAID,eAAe,OAAO,CAAA"}
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,yEAoSf,CAAA;AAID,eAAe,GAAG,CAAA"}
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,yEAsSf,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: string[];
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;IACxB,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,CA6GvE"}
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,12 @@ 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;
11739
11741
  }
11740
11742
  }, [
11741
11743
  markers,
@@ -12076,7 +12078,12 @@ const Filters = ({
12076
12078
  value: key,
12077
12079
  label: dt.label,
12078
12080
  color: dt.color
12079
- })) : types.map((t) => ({ value: t, label: t }));
12081
+ })) : types.map((t) => {
12082
+ if (typeof t === "string") {
12083
+ return { value: t, label: t };
12084
+ }
12085
+ return t;
12086
+ });
12080
12087
  return /* @__PURE__ */ jsxs(
12081
12088
  "div",
12082
12089
  {
@@ -12253,13 +12260,17 @@ function useMapFilters(markers) {
12253
12260
  return Array.from(cities).sort();
12254
12261
  }, [markers]);
12255
12262
  const availableTypes = useMemo(() => {
12256
- const types = /* @__PURE__ */ new Set();
12263
+ const typesMap = /* @__PURE__ */ new Map();
12257
12264
  markers.forEach((m) => {
12258
12265
  if (m.type) {
12259
- types.add(m.type);
12266
+ typesMap.set(m.type, {
12267
+ value: m.type,
12268
+ label: m.typeLabel || m.type,
12269
+ color: m.typeColor
12270
+ });
12260
12271
  }
12261
12272
  });
12262
- return Array.from(types).sort();
12273
+ return Array.from(typesMap.values()).sort((a, b) => a.label.localeCompare(b.label));
12263
12274
  }, [markers]);
12264
12275
  const totalCount = markers.length;
12265
12276
  const filteredCount = filteredMarkers.length;