@gisfun/maplibre-gl-components 0.15.0-alpha.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 (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1960 -0
  3. package/dist/ControlGrid-DN5md8hp.cjs +19636 -0
  4. package/dist/ControlGrid-rVNG7B9O.js +170422 -0
  5. package/dist/DuckDBConverter-B98M0DFs.cjs +23 -0
  6. package/dist/DuckDBConverter-RPq48-t0.js +434 -0
  7. package/dist/ShapefileConverter-AjbEjEyq.cjs +1 -0
  8. package/dist/ShapefileConverter-trvt8J3z.js +125 -0
  9. package/dist/decoder-CLokFc0V.js +8 -0
  10. package/dist/decoder-D9LU4bUo.cjs +1 -0
  11. package/dist/deflate-BA1jZeSX.js +10 -0
  12. package/dist/deflate-DEdCz12a.cjs +1 -0
  13. package/dist/geojson-BQSVgKFt.cjs +1 -0
  14. package/dist/geojson-BSUuDj5k.js +2551 -0
  15. package/dist/geotiff-De1w1lBy.cjs +8 -0
  16. package/dist/geotiff-o_Fq1Na4.js +3108 -0
  17. package/dist/index-8ZZtuDTp.js +705 -0
  18. package/dist/index-B-Nr9y7J.cjs +84 -0
  19. package/dist/index-B5NoFrpY.js +8892 -0
  20. package/dist/index-Bi1MMPUx.js +4163 -0
  21. package/dist/index-C9fk_HKR.js +167 -0
  22. package/dist/index-CBBRBJvR.cjs +274 -0
  23. package/dist/index-CZxPF1qt.js +4 -0
  24. package/dist/index-CiDPSJ9T.cjs +1 -0
  25. package/dist/index-CjM_nbxd.cjs +107 -0
  26. package/dist/index-DQXdX5y1.js +4666 -0
  27. package/dist/index-Dh1kpCb6.cjs +1 -0
  28. package/dist/index-IrsIiQNM.cjs +4 -0
  29. package/dist/index.cjs +3819 -0
  30. package/dist/index.mjs +19580 -0
  31. package/dist/jpeg-CF9OGQg_.js +533 -0
  32. package/dist/jpeg-JSQOxGHy.cjs +1 -0
  33. package/dist/lerc-7LlQoT6u.js +1032 -0
  34. package/dist/lerc-BIsodce9.cjs +1 -0
  35. package/dist/lzw-BZniWIYG.js +84 -0
  36. package/dist/lzw-BhML-BvT.cjs +1 -0
  37. package/dist/main-dist-Bymiy5aM.cjs +2 -0
  38. package/dist/main-dist-Cv8AKwrY.js +629 -0
  39. package/dist/maplibre-geoman.es-Bxdg-2EU.cjs +129 -0
  40. package/dist/maplibre-geoman.es-CFgM2ajb.js +22827 -0
  41. package/dist/maplibre-gl-components.css +1 -0
  42. package/dist/packbits-B9b7gX2c.cjs +1 -0
  43. package/dist/packbits-DWY5O-FG.js +24 -0
  44. package/dist/pako.esm-Bx5X36Wo.js +1074 -0
  45. package/dist/pako.esm-DZC2QrbJ.cjs +1 -0
  46. package/dist/raw-C3ARbSFo.cjs +1 -0
  47. package/dist/raw-DUslI1gr.js +9 -0
  48. package/dist/react.cjs +1 -0
  49. package/dist/react.mjs +1306 -0
  50. package/dist/types/index.d.ts +44 -0
  51. package/dist/types/index.d.ts.map +1 -0
  52. package/dist/types/lib/adapters/AddVectorAdapter.d.ts +66 -0
  53. package/dist/types/lib/adapters/AddVectorAdapter.d.ts.map +1 -0
  54. package/dist/types/lib/adapters/CogLayerAdapter.d.ts +126 -0
  55. package/dist/types/lib/adapters/CogLayerAdapter.d.ts.map +1 -0
  56. package/dist/types/lib/adapters/PMTilesLayerAdapter.d.ts +78 -0
  57. package/dist/types/lib/adapters/PMTilesLayerAdapter.d.ts.map +1 -0
  58. package/dist/types/lib/adapters/StacLayerAdapter.d.ts +71 -0
  59. package/dist/types/lib/adapters/StacLayerAdapter.d.ts.map +1 -0
  60. package/dist/types/lib/adapters/ZarrLayerAdapter.d.ts +72 -0
  61. package/dist/types/lib/adapters/ZarrLayerAdapter.d.ts.map +1 -0
  62. package/dist/types/lib/adapters/index.d.ts +7 -0
  63. package/dist/types/lib/adapters/index.d.ts.map +1 -0
  64. package/dist/types/lib/addControlGrid.d.ts +80 -0
  65. package/dist/types/lib/addControlGrid.d.ts.map +1 -0
  66. package/dist/types/lib/colormaps/diverging.d.ts +30 -0
  67. package/dist/types/lib/colormaps/diverging.d.ts.map +1 -0
  68. package/dist/types/lib/colormaps/index.d.ts +32 -0
  69. package/dist/types/lib/colormaps/index.d.ts.map +1 -0
  70. package/dist/types/lib/colormaps/misc.d.ts +38 -0
  71. package/dist/types/lib/colormaps/misc.d.ts.map +1 -0
  72. package/dist/types/lib/colormaps/sequential.d.ts +22 -0
  73. package/dist/types/lib/colormaps/sequential.d.ts.map +1 -0
  74. package/dist/types/lib/converters/DuckDBConverter.d.ts +112 -0
  75. package/dist/types/lib/converters/DuckDBConverter.d.ts.map +1 -0
  76. package/dist/types/lib/converters/ShapefileConverter.d.ts +56 -0
  77. package/dist/types/lib/converters/ShapefileConverter.d.ts.map +1 -0
  78. package/dist/types/lib/converters/index.d.ts +8 -0
  79. package/dist/types/lib/converters/index.d.ts.map +1 -0
  80. package/dist/types/lib/converters/types.d.ts +75 -0
  81. package/dist/types/lib/converters/types.d.ts.map +1 -0
  82. package/dist/types/lib/core/AddVector.d.ts +116 -0
  83. package/dist/types/lib/core/AddVector.d.ts.map +1 -0
  84. package/dist/types/lib/core/Basemap.d.ts +206 -0
  85. package/dist/types/lib/core/Basemap.d.ts.map +1 -0
  86. package/dist/types/lib/core/BasemapReact.d.ts +32 -0
  87. package/dist/types/lib/core/BasemapReact.d.ts.map +1 -0
  88. package/dist/types/lib/core/BookmarkControl.d.ts +180 -0
  89. package/dist/types/lib/core/BookmarkControl.d.ts.map +1 -0
  90. package/dist/types/lib/core/ChoroplethControl.d.ts +105 -0
  91. package/dist/types/lib/core/ChoroplethControl.d.ts.map +1 -0
  92. package/dist/types/lib/core/CogLayer.d.ts +139 -0
  93. package/dist/types/lib/core/CogLayer.d.ts.map +1 -0
  94. package/dist/types/lib/core/CogLayerReact.d.ts +32 -0
  95. package/dist/types/lib/core/CogLayerReact.d.ts.map +1 -0
  96. package/dist/types/lib/core/Colorbar.d.ts +133 -0
  97. package/dist/types/lib/core/Colorbar.d.ts.map +1 -0
  98. package/dist/types/lib/core/ColorbarGuiControl.d.ts +79 -0
  99. package/dist/types/lib/core/ColorbarGuiControl.d.ts.map +1 -0
  100. package/dist/types/lib/core/ColorbarReact.d.ts +34 -0
  101. package/dist/types/lib/core/ColorbarReact.d.ts.map +1 -0
  102. package/dist/types/lib/core/ControlGrid.d.ts +125 -0
  103. package/dist/types/lib/core/ControlGrid.d.ts.map +1 -0
  104. package/dist/types/lib/core/ControlGridReact.d.ts +32 -0
  105. package/dist/types/lib/core/ControlGridReact.d.ts.map +1 -0
  106. package/dist/types/lib/core/HtmlControl.d.ts +140 -0
  107. package/dist/types/lib/core/HtmlControl.d.ts.map +1 -0
  108. package/dist/types/lib/core/HtmlControlReact.d.ts +32 -0
  109. package/dist/types/lib/core/HtmlControlReact.d.ts.map +1 -0
  110. package/dist/types/lib/core/HtmlGuiControl.d.ts +68 -0
  111. package/dist/types/lib/core/HtmlGuiControl.d.ts.map +1 -0
  112. package/dist/types/lib/core/InspectControl.d.ts +202 -0
  113. package/dist/types/lib/core/InspectControl.d.ts.map +1 -0
  114. package/dist/types/lib/core/InspectControlReact.d.ts +32 -0
  115. package/dist/types/lib/core/InspectControlReact.d.ts.map +1 -0
  116. package/dist/types/lib/core/Legend.d.ts +142 -0
  117. package/dist/types/lib/core/Legend.d.ts.map +1 -0
  118. package/dist/types/lib/core/LegendGuiControl.d.ts +69 -0
  119. package/dist/types/lib/core/LegendGuiControl.d.ts.map +1 -0
  120. package/dist/types/lib/core/LegendReact.d.ts +34 -0
  121. package/dist/types/lib/core/LegendReact.d.ts.map +1 -0
  122. package/dist/types/lib/core/MeasureControl.d.ts +211 -0
  123. package/dist/types/lib/core/MeasureControl.d.ts.map +1 -0
  124. package/dist/types/lib/core/MinimapControl.d.ts +77 -0
  125. package/dist/types/lib/core/MinimapControl.d.ts.map +1 -0
  126. package/dist/types/lib/core/MinimapControlReact.d.ts +32 -0
  127. package/dist/types/lib/core/MinimapControlReact.d.ts.map +1 -0
  128. package/dist/types/lib/core/PMTilesLayer.d.ts +119 -0
  129. package/dist/types/lib/core/PMTilesLayer.d.ts.map +1 -0
  130. package/dist/types/lib/core/PrintControl.d.ts +226 -0
  131. package/dist/types/lib/core/PrintControl.d.ts.map +1 -0
  132. package/dist/types/lib/core/SearchControl.d.ts +172 -0
  133. package/dist/types/lib/core/SearchControl.d.ts.map +1 -0
  134. package/dist/types/lib/core/SearchControlReact.d.ts +32 -0
  135. package/dist/types/lib/core/SearchControlReact.d.ts.map +1 -0
  136. package/dist/types/lib/core/StacLayer.d.ts +107 -0
  137. package/dist/types/lib/core/StacLayer.d.ts.map +1 -0
  138. package/dist/types/lib/core/StacSearch.d.ts +109 -0
  139. package/dist/types/lib/core/StacSearch.d.ts.map +1 -0
  140. package/dist/types/lib/core/Terrain.d.ts +165 -0
  141. package/dist/types/lib/core/Terrain.d.ts.map +1 -0
  142. package/dist/types/lib/core/TerrainReact.d.ts +32 -0
  143. package/dist/types/lib/core/TerrainReact.d.ts.map +1 -0
  144. package/dist/types/lib/core/VectorDataset.d.ts +228 -0
  145. package/dist/types/lib/core/VectorDataset.d.ts.map +1 -0
  146. package/dist/types/lib/core/VectorDatasetReact.d.ts +31 -0
  147. package/dist/types/lib/core/VectorDatasetReact.d.ts.map +1 -0
  148. package/dist/types/lib/core/ViewStateControl.d.ts +205 -0
  149. package/dist/types/lib/core/ViewStateControl.d.ts.map +1 -0
  150. package/dist/types/lib/core/ViewStateControlReact.d.ts +32 -0
  151. package/dist/types/lib/core/ViewStateControlReact.d.ts.map +1 -0
  152. package/dist/types/lib/core/ZarrLayer.d.ts +110 -0
  153. package/dist/types/lib/core/ZarrLayer.d.ts.map +1 -0
  154. package/dist/types/lib/core/types.d.ts +2793 -0
  155. package/dist/types/lib/core/types.d.ts.map +1 -0
  156. package/dist/types/lib/hooks/index.d.ts +13 -0
  157. package/dist/types/lib/hooks/index.d.ts.map +1 -0
  158. package/dist/types/lib/hooks/useBasemap.d.ts +43 -0
  159. package/dist/types/lib/hooks/useBasemap.d.ts.map +1 -0
  160. package/dist/types/lib/hooks/useCogLayer.d.ts +44 -0
  161. package/dist/types/lib/hooks/useCogLayer.d.ts.map +1 -0
  162. package/dist/types/lib/hooks/useColorbar.d.ts +36 -0
  163. package/dist/types/lib/hooks/useColorbar.d.ts.map +1 -0
  164. package/dist/types/lib/hooks/useControlGrid.d.ts +41 -0
  165. package/dist/types/lib/hooks/useControlGrid.d.ts.map +1 -0
  166. package/dist/types/lib/hooks/useHtmlControl.d.ts +39 -0
  167. package/dist/types/lib/hooks/useHtmlControl.d.ts.map +1 -0
  168. package/dist/types/lib/hooks/useInspectControl.d.ts +49 -0
  169. package/dist/types/lib/hooks/useInspectControl.d.ts.map +1 -0
  170. package/dist/types/lib/hooks/useLegend.d.ts +41 -0
  171. package/dist/types/lib/hooks/useLegend.d.ts.map +1 -0
  172. package/dist/types/lib/hooks/useMinimapControl.d.ts +35 -0
  173. package/dist/types/lib/hooks/useMinimapControl.d.ts.map +1 -0
  174. package/dist/types/lib/hooks/useSearchControl.d.ts +43 -0
  175. package/dist/types/lib/hooks/useSearchControl.d.ts.map +1 -0
  176. package/dist/types/lib/hooks/useTerrain.d.ts +43 -0
  177. package/dist/types/lib/hooks/useTerrain.d.ts.map +1 -0
  178. package/dist/types/lib/hooks/useVectorDataset.d.ts +35 -0
  179. package/dist/types/lib/hooks/useVectorDataset.d.ts.map +1 -0
  180. package/dist/types/lib/hooks/useViewState.d.ts +43 -0
  181. package/dist/types/lib/hooks/useViewState.d.ts.map +1 -0
  182. package/dist/types/lib/utils/color.d.ts +47 -0
  183. package/dist/types/lib/utils/color.d.ts.map +1 -0
  184. package/dist/types/lib/utils/fileHelpers.d.ts +207 -0
  185. package/dist/types/lib/utils/fileHelpers.d.ts.map +1 -0
  186. package/dist/types/lib/utils/helpers.d.ts +48 -0
  187. package/dist/types/lib/utils/helpers.d.ts.map +1 -0
  188. package/dist/types/lib/utils/index.d.ts +4 -0
  189. package/dist/types/lib/utils/index.d.ts.map +1 -0
  190. package/dist/types/lib/utils/providers.d.ts +46 -0
  191. package/dist/types/lib/utils/providers.d.ts.map +1 -0
  192. package/dist/types/react.d.ts +15 -0
  193. package/dist/types/react.d.ts.map +1 -0
  194. package/dist/webimage-CBRffWZD.cjs +1 -0
  195. package/dist/webimage-ibSPOLHJ.js +19 -0
  196. package/package.json +137 -0
@@ -0,0 +1,68 @@
1
+ import { IControl, Map as MapLibreMap, ControlPosition } from 'maplibre-gl';
2
+ import { HtmlGuiControlOptions, HtmlGuiControlState, HtmlGuiEvent, HtmlGuiEventHandler } from './types';
3
+ import { HtmlControl } from './HtmlControl';
4
+ /**
5
+ * A GUI control for adding and configuring HTML content controls on the map.
6
+ *
7
+ * Provides a panel with a text area for HTML content, title, position
8
+ * selection, and collapsibility options. The HTML control is added as a
9
+ * separate control to the map.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const htmlGui = new HtmlGuiControl({ collapsed: true });
14
+ * map.addControl(htmlGui, 'top-right');
15
+ *
16
+ * htmlGui.on('htmladd', (e) => {
17
+ * console.log('HTML control added:', e.state);
18
+ * });
19
+ * ```
20
+ */
21
+ export declare class HtmlGuiControl implements IControl {
22
+ private _container?;
23
+ private _button?;
24
+ private _panel?;
25
+ private _options;
26
+ private _state;
27
+ private _eventHandlers;
28
+ private _map?;
29
+ private _handleZoom?;
30
+ private _zoomVisible;
31
+ private _htmlControl?;
32
+ private _titleInput?;
33
+ private _htmlTextarea?;
34
+ private _positionSelect?;
35
+ private _collapsibleCheckbox?;
36
+ private _addBtn?;
37
+ private _removeBtn?;
38
+ private _previewEl?;
39
+ constructor(options?: HtmlGuiControlOptions);
40
+ onAdd(map: MapLibreMap): HTMLElement;
41
+ onRemove(): void;
42
+ getDefaultPosition(): ControlPosition;
43
+ on(event: HtmlGuiEvent, handler: HtmlGuiEventHandler): this;
44
+ off(event: HtmlGuiEvent, handler: HtmlGuiEventHandler): this;
45
+ private _emit;
46
+ expand(): void;
47
+ collapse(): void;
48
+ show(): this;
49
+ hide(): this;
50
+ getState(): HtmlGuiControlState;
51
+ private _createContainer;
52
+ private _createPanel;
53
+ private _createField;
54
+ private _updatePreviewContent;
55
+ private _addHtmlControl;
56
+ private _updateHtmlControl;
57
+ private _removeHtmlControl;
58
+ private _updateButtonStates;
59
+ private _togglePanel;
60
+ private _showPanel;
61
+ private _hidePanel;
62
+ private _setupZoomHandler;
63
+ /**
64
+ * Get the active HtmlControl instance (if any).
65
+ */
66
+ getHtmlControl(): HtmlControl | undefined;
67
+ }
68
+ //# sourceMappingURL=HtmlGuiControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlGuiControl.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/HtmlGuiControl.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,IAAI,WAAW,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA2B5C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CACV;IACZ,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAAiB;IAGrC,OAAO,CAAC,YAAY,CAAC,CAAc;IAGnC,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAoB;IAC5C,OAAO,CAAC,oBAAoB,CAAC,CAAmB;IAChD,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAC,CAAoB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAc;gBAErB,OAAO,CAAC,EAAE,qBAAqB;IAa3C,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW;IAUpC,QAAQ,IAAI,IAAI;IAUhB,kBAAkB,IAAI,eAAe;IAIrC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAQ3D,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAK5D,OAAO,CAAC,KAAK;IAQb,MAAM,IAAI,IAAI;IAOd,QAAQ,IAAI,IAAI;IAOhB,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,IAAI;IASZ,QAAQ,IAAI,mBAAmB;IAI/B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,YAAY;IAgJpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -0,0 +1,202 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { InspectControlOptions, InspectControlState, InspectedFeature, InspectEvent, InspectEventHandler } from './types';
3
+ /**
4
+ * A control for inspecting vector features on the map.
5
+ *
6
+ * Provides click-to-inspect functionality that shows feature properties/attributes
7
+ * in a popup. Supports multiple features at the same location with navigation.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const inspectControl = new InspectControl({
12
+ * excludeLayers: ['background'],
13
+ * highlightStyle: { strokeColor: '#00ff00', strokeWidth: 4 },
14
+ * });
15
+ * map.addControl(inspectControl, 'top-right');
16
+ *
17
+ * // Listen for feature selection
18
+ * inspectControl.on('featureselect', (event) => {
19
+ * console.log('Selected:', event.feature);
20
+ * });
21
+ * ```
22
+ */
23
+ export declare class InspectControl implements IControl {
24
+ private _container?;
25
+ private _button?;
26
+ private _options;
27
+ private _state;
28
+ private _eventHandlers;
29
+ private _map?;
30
+ private _handleZoom?;
31
+ private _zoomVisible;
32
+ private _popup?;
33
+ private _highlightSourceId;
34
+ private _highlightLayerIds;
35
+ private _boundClickHandler?;
36
+ /**
37
+ * Creates a new InspectControl instance.
38
+ *
39
+ * @param options - Configuration options for the control.
40
+ */
41
+ constructor(options?: InspectControlOptions);
42
+ /**
43
+ * Called when the control is added to the map.
44
+ *
45
+ * @param map - The MapLibre GL map instance.
46
+ * @returns The control's container element.
47
+ */
48
+ onAdd(map: MapLibreMap): HTMLElement;
49
+ /**
50
+ * Called when the control is removed from the map.
51
+ */
52
+ onRemove(): void;
53
+ /**
54
+ * Enables inspect mode.
55
+ */
56
+ enable(): void;
57
+ /**
58
+ * Disables inspect mode.
59
+ */
60
+ disable(): void;
61
+ /**
62
+ * Toggles inspect mode on/off.
63
+ */
64
+ toggle(): void;
65
+ /**
66
+ * Returns whether inspect mode is enabled.
67
+ */
68
+ isEnabled(): boolean;
69
+ /**
70
+ * Shows the control.
71
+ */
72
+ show(): void;
73
+ /**
74
+ * Hides the control.
75
+ */
76
+ hide(): void;
77
+ /**
78
+ * Clears the current inspection.
79
+ */
80
+ clear(): void;
81
+ /**
82
+ * Returns a copy of the current state.
83
+ */
84
+ getState(): InspectControlState;
85
+ /**
86
+ * Returns the currently inspected features.
87
+ */
88
+ getInspectedFeatures(): InspectedFeature[];
89
+ /**
90
+ * Returns the currently selected feature.
91
+ */
92
+ getSelectedFeature(): InspectedFeature | null;
93
+ /**
94
+ * Selects a feature by index.
95
+ */
96
+ selectFeature(index: number): void;
97
+ /**
98
+ * Selects the next feature.
99
+ */
100
+ nextFeature(): void;
101
+ /**
102
+ * Selects the previous feature.
103
+ */
104
+ previousFeature(): void;
105
+ /**
106
+ * Updates the control options.
107
+ */
108
+ update(options: Partial<InspectControlOptions>): void;
109
+ /**
110
+ * Registers an event handler.
111
+ */
112
+ on(event: InspectEvent, handler: InspectEventHandler): void;
113
+ /**
114
+ * Removes an event handler.
115
+ */
116
+ off(event: InspectEvent, handler: InspectEventHandler): void;
117
+ /**
118
+ * Emits an event to all registered handlers.
119
+ */
120
+ private _emit;
121
+ /**
122
+ * Creates the control container.
123
+ */
124
+ private _createContainer;
125
+ /**
126
+ * Updates the button's active state appearance.
127
+ */
128
+ private _updateButtonState;
129
+ /**
130
+ * Updates the cursor style when inspect mode is active.
131
+ */
132
+ private _updateCursor;
133
+ /**
134
+ * Sets up map click listener for inspect mode.
135
+ */
136
+ private _setupMapListeners;
137
+ /**
138
+ * Removes map click listener.
139
+ */
140
+ private _removeMapListeners;
141
+ /**
142
+ * Handles map click events to inspect features.
143
+ */
144
+ private _handleMapClick;
145
+ /**
146
+ * Queries features at a point.
147
+ */
148
+ private _queryFeatures;
149
+ /**
150
+ * Adds highlight layer for the selected feature.
151
+ */
152
+ private _addHighlight;
153
+ /**
154
+ * Determines if highlight can use the original source to avoid tile clipping.
155
+ */
156
+ private _getHighlightTarget;
157
+ /**
158
+ * Removes highlight layers.
159
+ */
160
+ private _removeHighlight;
161
+ /**
162
+ * Shows the popup with feature properties.
163
+ */
164
+ private _showPopup;
165
+ /**
166
+ * Hides the popup.
167
+ */
168
+ private _hidePopup;
169
+ /**
170
+ * Updates the popup content without recreating it.
171
+ */
172
+ private _updatePopupContent;
173
+ /**
174
+ * Attaches event listeners to popup navigation buttons.
175
+ */
176
+ private _attachPopupListeners;
177
+ /**
178
+ * Renders the popup HTML content.
179
+ */
180
+ private _renderPopupContent;
181
+ /**
182
+ * Formats geometry type for display.
183
+ */
184
+ private _formatGeometryType;
185
+ /**
186
+ * Formats a property value for display.
187
+ */
188
+ private _formatPropertyValue;
189
+ /**
190
+ * Escapes HTML special characters.
191
+ */
192
+ private _escapeHtml;
193
+ /**
194
+ * Checks zoom visibility and updates display state.
195
+ */
196
+ private _checkZoomVisibility;
197
+ /**
198
+ * Updates the display state based on visibility settings.
199
+ */
200
+ private _updateDisplayState;
201
+ }
202
+ //# sourceMappingURL=InspectControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectControl.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/InspectControl.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,+BAA+B,CAAC;AACvC,OAAmB,EACjB,KAAK,QAAQ,EACb,KAAK,GAAG,IAAI,WAAW,EAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAEhB,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC;AA8CjB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CACV;IACZ,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,kBAAkB,CAAgB;IAG1C,OAAO,CAAC,kBAAkB,CAAC,CAA6B;IAExD;;;;OAIG;gBACS,OAAO,CAAC,EAAE,qBAAqB;IAmB3C;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW;IAmBpC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAehB;;OAEG;IACH,MAAM,IAAI,IAAI;IAUd;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAI/B;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,EAAE;IAI1C;;OAEG;IACH,kBAAkB,IAAI,gBAAgB,GAAG,IAAI;IAI7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUlC;;OAEG;IACH,WAAW,IAAI,IAAI;IAQnB;;OAEG;IACH,eAAe,IAAI,IAAI;IAUvB;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAsBrD;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAO3D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAI5D;;OAEG;IACH,OAAO,CAAC,KAAK;IAcb;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgDvB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAkHrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsE3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsD5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAK5B"}
@@ -0,0 +1,32 @@
1
+ import { InspectControlReactProps } from './types';
2
+ /**
3
+ * React wrapper component for InspectControl.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { InspectControlReact } from 'maplibre-gl-components/react';
8
+ *
9
+ * function MyMap() {
10
+ * const [map, setMap] = useState<Map | null>(null);
11
+ *
12
+ * return (
13
+ * <>
14
+ * <div ref={mapContainer} />
15
+ * {map && (
16
+ * <InspectControlReact
17
+ * map={map}
18
+ * position="top-right"
19
+ * excludeLayers={['background']}
20
+ * onFeatureSelect={(feature) => console.log('Selected:', feature)}
21
+ * />
22
+ * )}
23
+ * </>
24
+ * );
25
+ * }
26
+ * ```
27
+ *
28
+ * @param props - Component props including map instance and control options.
29
+ * @returns null - This component renders nothing directly.
30
+ */
31
+ export declare function InspectControlReact({ map, onFeatureSelect, onInspect, onToggle, onStateChange, position, ...options }: InspectControlReactProps): null;
32
+ //# sourceMappingURL=InspectControlReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InspectControlReact.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/InspectControlReact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EAGzB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,GAAG,EACH,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAsB,EACtB,GAAG,OAAO,EACX,EAAE,wBAAwB,GAAG,IAAI,CAsGjC"}
@@ -0,0 +1,142 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { LegendOptions, LegendState, LegendItem, ComponentEvent, ComponentEventHandler } from './types';
3
+ /**
4
+ * A categorical legend control for MapLibre GL maps.
5
+ *
6
+ * Displays discrete legend items with color swatches and labels.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const legend = new Legend({
11
+ * title: 'Land Use',
12
+ * items: [
13
+ * { label: 'Residential', color: '#ff6b6b' },
14
+ * { label: 'Commercial', color: '#4ecdc4' },
15
+ * { label: 'Industrial', color: '#95a5a6' },
16
+ * ],
17
+ * });
18
+ * map.addControl(legend, 'bottom-left');
19
+ * ```
20
+ */
21
+ export declare class Legend implements IControl {
22
+ private _container?;
23
+ private _options;
24
+ private _state;
25
+ private _eventHandlers;
26
+ private _map?;
27
+ private _handleZoom?;
28
+ private _zoomVisible;
29
+ /**
30
+ * Creates a new Legend instance.
31
+ *
32
+ * @param options - Configuration options for the legend.
33
+ */
34
+ constructor(options?: LegendOptions);
35
+ /**
36
+ * Called when the control is added to the map.
37
+ *
38
+ * @param map - The MapLibre GL map instance.
39
+ * @returns The control's container element.
40
+ */
41
+ onAdd(map: MapLibreMap): HTMLElement;
42
+ /**
43
+ * Called when the control is removed from the map.
44
+ */
45
+ onRemove(): void;
46
+ /**
47
+ * Shows the legend.
48
+ */
49
+ show(): void;
50
+ /**
51
+ * Hides the legend.
52
+ */
53
+ hide(): void;
54
+ /**
55
+ * Expands the legend (if collapsible).
56
+ */
57
+ expand(): void;
58
+ /**
59
+ * Collapses the legend (if collapsible).
60
+ */
61
+ collapse(): void;
62
+ /**
63
+ * Toggles the collapsed state.
64
+ */
65
+ toggle(): void;
66
+ /**
67
+ * Updates the legend items.
68
+ *
69
+ * @param items - New legend items.
70
+ */
71
+ setItems(items: LegendItem[]): void;
72
+ /**
73
+ * Adds a legend item.
74
+ *
75
+ * @param item - Legend item to add.
76
+ */
77
+ addItem(item: LegendItem): void;
78
+ /**
79
+ * Removes a legend item by label.
80
+ *
81
+ * @param label - Label of the item to remove.
82
+ */
83
+ removeItem(label: string): void;
84
+ /**
85
+ * Updates legend options and re-renders.
86
+ *
87
+ * @param options - Partial options to update.
88
+ */
89
+ update(options: Partial<LegendOptions>): void;
90
+ /**
91
+ * Gets the current state.
92
+ *
93
+ * @returns The current legend state.
94
+ */
95
+ getState(): LegendState;
96
+ /**
97
+ * Registers an event handler.
98
+ *
99
+ * @param event - The event type to listen for.
100
+ * @param handler - The callback function.
101
+ */
102
+ on(event: ComponentEvent, handler: ComponentEventHandler<LegendState>): void;
103
+ /**
104
+ * Removes an event handler.
105
+ *
106
+ * @param event - The event type.
107
+ * @param handler - The callback function to remove.
108
+ */
109
+ off(event: ComponentEvent, handler: ComponentEventHandler<LegendState>): void;
110
+ /**
111
+ * Emits an event to all registered handlers.
112
+ *
113
+ * @param event - The event type to emit.
114
+ */
115
+ private _emit;
116
+ /**
117
+ * Checks if the current zoom level is within the visibility range.
118
+ */
119
+ private _checkZoomVisibility;
120
+ /**
121
+ * Updates the display state based on visibility and zoom level.
122
+ */
123
+ private _updateDisplayState;
124
+ /**
125
+ * Creates the main container element.
126
+ *
127
+ * @returns The container element.
128
+ */
129
+ private _createContainer;
130
+ /**
131
+ * Creates a color swatch element.
132
+ *
133
+ * @param item - Legend item configuration.
134
+ * @returns The swatch element.
135
+ */
136
+ private _createSwatch;
137
+ /**
138
+ * Renders the legend content.
139
+ */
140
+ private _render;
141
+ }
142
+ //# sourceMappingURL=Legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/Legend.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AA0BjB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAO,YAAW,QAAQ;IACrC,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAGR;IACd,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAAiB;IAErC;;;;OAIG;gBACS,OAAO,CAAC,EAAE,aAAa;IASnC;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW;IAepC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAWhB;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI;IAOnC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAO/B;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAU7C;;;;OAIG;IACH,QAAQ,IAAI,WAAW;IAIvB;;;;;OAKG;IACH,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAAG,IAAI;IAO5E;;;;;OAKG;IACH,GAAG,CACD,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAC1C,IAAI;IAIP;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAQb;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAkErB;;OAEG;IACH,OAAO,CAAC,OAAO;CAwGhB"}
@@ -0,0 +1,69 @@
1
+ import { IControl, Map as MapLibreMap, ControlPosition } from 'maplibre-gl';
2
+ import { LegendGuiControlOptions, LegendGuiControlState, LegendGuiEvent, LegendGuiEventHandler } from './types';
3
+ import { Legend } from './Legend';
4
+ /**
5
+ * A GUI control for adding and configuring legends on the map.
6
+ *
7
+ * Provides a panel to set a title, add/remove items with color and label,
8
+ * and choose the legend position.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const legendGui = new LegendGuiControl({ collapsed: true });
13
+ * map.addControl(legendGui, 'top-right');
14
+ *
15
+ * legendGui.on('legendadd', (e) => {
16
+ * console.log('Legend added:', e.state);
17
+ * });
18
+ * ```
19
+ */
20
+ export declare class LegendGuiControl implements IControl {
21
+ private _container?;
22
+ private _button?;
23
+ private _panel?;
24
+ private _options;
25
+ private _state;
26
+ private _eventHandlers;
27
+ private _map?;
28
+ private _handleZoom?;
29
+ private _zoomVisible;
30
+ private _legend?;
31
+ private _titleInput?;
32
+ private _positionSelect?;
33
+ private _itemsContainer?;
34
+ private _dictTextarea?;
35
+ private _dictErrorEl?;
36
+ private _addBtn?;
37
+ private _removeBtn?;
38
+ constructor(options?: LegendGuiControlOptions);
39
+ onAdd(map: MapLibreMap): HTMLElement;
40
+ onRemove(): void;
41
+ getDefaultPosition(): ControlPosition;
42
+ on(event: LegendGuiEvent, handler: LegendGuiEventHandler): this;
43
+ off(event: LegendGuiEvent, handler: LegendGuiEventHandler): this;
44
+ private _emit;
45
+ expand(): void;
46
+ collapse(): void;
47
+ show(): this;
48
+ hide(): this;
49
+ getState(): LegendGuiControlState;
50
+ private _createContainer;
51
+ private _createPanel;
52
+ private _createField;
53
+ private _renderItems;
54
+ private _addItem;
55
+ private _importFromDict;
56
+ private _addLegend;
57
+ private _updateLegend;
58
+ private _removeLegend;
59
+ private _updateButtonStates;
60
+ private _togglePanel;
61
+ private _showPanel;
62
+ private _hidePanel;
63
+ private _setupZoomHandler;
64
+ /**
65
+ * Get the active Legend instance (if any).
66
+ */
67
+ getLegend(): Legend | undefined;
68
+ }
69
+ //# sourceMappingURL=LegendGuiControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendGuiControl.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/LegendGuiControl.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAC9B,OAAO,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACV,QAAQ,EACR,GAAG,IAAI,WAAW,EAClB,eAAe,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAiClC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,YAAW,QAAQ;IAC/C,OAAO,CAAC,UAAU,CAAC,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,cAAc,CACV;IACZ,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAAiB;IAGrC,OAAO,CAAC,OAAO,CAAC,CAAS;IAGzB,OAAO,CAAC,WAAW,CAAC,CAAmB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAoB;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAc;IACtC,OAAO,CAAC,aAAa,CAAC,CAAsB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAC,CAAoB;gBAE3B,OAAO,CAAC,EAAE,uBAAuB;IAgB7C,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW;IAUpC,QAAQ,IAAI,IAAI;IAUhB,kBAAkB,IAAI,eAAe;IAIrC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAQ/D,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAKhE,OAAO,CAAC,KAAK;IAWb,MAAM,IAAI,IAAI;IAOd,QAAQ,IAAI,IAAI;IAOhB,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,IAAI;IASZ,QAAQ,IAAI,qBAAqB;IAIjC,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,YAAY;IAmJpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IA+DpB,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;CAGhC"}
@@ -0,0 +1,34 @@
1
+ import { LegendReactProps } from './types';
2
+ /**
3
+ * React wrapper component for Legend.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { LegendReact } from 'maplibre-gl-components/react';
8
+ *
9
+ * function MyMap() {
10
+ * const [map, setMap] = useState<Map | null>(null);
11
+ *
12
+ * return (
13
+ * <>
14
+ * <div ref={mapContainer} />
15
+ * {map && (
16
+ * <LegendReact
17
+ * map={map}
18
+ * title="Land Use"
19
+ * items={[
20
+ * { label: 'Residential', color: '#ff6b6b' },
21
+ * { label: 'Commercial', color: '#4ecdc4' },
22
+ * ]}
23
+ * />
24
+ * )}
25
+ * </>
26
+ * );
27
+ * }
28
+ * ```
29
+ *
30
+ * @param props - Component props including map instance and legend options.
31
+ * @returns null - This component renders nothing directly.
32
+ */
33
+ export declare function LegendReact({ map, onStateChange, position, ...options }: LegendReactProps): null;
34
+ //# sourceMappingURL=LegendReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendReact.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/LegendReact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,SAAS,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,aAAa,EACb,QAAwB,EACxB,GAAG,OAAO,EACX,EAAE,gBAAgB,GAAG,IAAI,CA4DzB"}