@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,228 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { VectorDatasetControlOptions, VectorDatasetControlState, VectorDatasetEvent, VectorDatasetEventHandler, LoadedDataset } from './types';
3
+ /**
4
+ * A vector dataset upload control for MapLibre GL maps.
5
+ *
6
+ * Enables loading GeoJSON files via file upload button or drag-and-drop.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const vectorControl = new VectorDatasetControl({
11
+ * fitBounds: true,
12
+ * defaultStyle: {
13
+ * fillColor: '#ff0000',
14
+ * fillOpacity: 0.5,
15
+ * },
16
+ * });
17
+ * map.addControl(vectorControl, 'top-right');
18
+ *
19
+ * vectorControl.on('load', (event) => {
20
+ * console.log('Loaded dataset:', event.dataset?.filename);
21
+ * });
22
+ * ```
23
+ */
24
+ export declare class VectorDatasetControl implements IControl {
25
+ private _container?;
26
+ private _button?;
27
+ private _fileInput?;
28
+ private _dropZone?;
29
+ private _options;
30
+ private _state;
31
+ private _eventHandlers;
32
+ private _map?;
33
+ private _handleZoom?;
34
+ private _zoomVisible;
35
+ private _boundDragOver?;
36
+ private _boundDragLeave?;
37
+ private _boundDrop?;
38
+ private _duckdbConverter?;
39
+ private _shapefileConverter?;
40
+ private _loadingOverlay?;
41
+ private _loadingText?;
42
+ private _loadingProgress?;
43
+ /**
44
+ * Creates a new VectorDatasetControl instance.
45
+ *
46
+ * @param options - Configuration options for the vector dataset control.
47
+ */
48
+ constructor(options?: VectorDatasetControlOptions);
49
+ /**
50
+ * Called when the control is added to the map.
51
+ *
52
+ * @param map - The MapLibre GL map instance.
53
+ * @returns The control's container element.
54
+ */
55
+ onAdd(map: MapLibreMap): HTMLElement;
56
+ /**
57
+ * Called when the control is removed from the map.
58
+ */
59
+ onRemove(): void;
60
+ /**
61
+ * Shows the control.
62
+ */
63
+ show(): void;
64
+ /**
65
+ * Hides the control.
66
+ */
67
+ hide(): void;
68
+ /**
69
+ * Gets the current state.
70
+ *
71
+ * @returns The current vector dataset control state.
72
+ */
73
+ getState(): VectorDatasetControlState;
74
+ /**
75
+ * Gets all loaded datasets.
76
+ *
77
+ * @returns Array of loaded datasets.
78
+ */
79
+ getLoadedDatasets(): LoadedDataset[];
80
+ /**
81
+ * Removes a dataset by ID.
82
+ *
83
+ * @param datasetId - The ID of the dataset to remove.
84
+ */
85
+ removeDataset(datasetId: string): void;
86
+ /**
87
+ * Removes all loaded datasets.
88
+ */
89
+ removeAllDatasets(): void;
90
+ /**
91
+ * Programmatically loads a GeoJSON object.
92
+ *
93
+ * @param geojson - The GeoJSON object to load.
94
+ * @param filename - Optional filename for the dataset.
95
+ * @returns The loaded dataset or null if failed.
96
+ */
97
+ loadGeoJSON(geojson: GeoJSON.GeoJSON, filename?: string): Promise<LoadedDataset | null>;
98
+ /**
99
+ * Registers an event handler.
100
+ *
101
+ * @param event - The event type to listen for.
102
+ * @param handler - The callback function.
103
+ */
104
+ on(event: VectorDatasetEvent, handler: VectorDatasetEventHandler): void;
105
+ /**
106
+ * Removes an event handler.
107
+ *
108
+ * @param event - The event type.
109
+ * @param handler - The callback function to remove.
110
+ */
111
+ off(event: VectorDatasetEvent, handler: VectorDatasetEventHandler): void;
112
+ /**
113
+ * Updates control options and re-renders.
114
+ *
115
+ * @param options - Partial options to update.
116
+ */
117
+ update(options: Partial<VectorDatasetControlOptions>): void;
118
+ /**
119
+ * Emits an event to all registered handlers.
120
+ *
121
+ * @param event - The event type to emit.
122
+ * @param dataset - Optional dataset for load events.
123
+ * @param error - Optional error message for error events.
124
+ * @param filename - Optional filename for error events.
125
+ */
126
+ private _emit;
127
+ /**
128
+ * Creates the main container element.
129
+ *
130
+ * @returns The container element.
131
+ */
132
+ private _createContainer;
133
+ /**
134
+ * Sets up drag-and-drop event listeners on the map container.
135
+ */
136
+ private _setupDragAndDrop;
137
+ /**
138
+ * Removes drag-and-drop event listeners.
139
+ */
140
+ private _removeDragAndDrop;
141
+ /**
142
+ * Handles dragover event.
143
+ *
144
+ * @param e - The drag event.
145
+ */
146
+ private _handleDragOver;
147
+ /**
148
+ * Handles dragleave event.
149
+ *
150
+ * @param e - The drag event.
151
+ */
152
+ private _handleDragLeave;
153
+ /**
154
+ * Handles drop event.
155
+ *
156
+ * @param e - The drag event.
157
+ */
158
+ private _handleDrop;
159
+ /**
160
+ * Handles file input change event.
161
+ *
162
+ * @param e - The change event.
163
+ */
164
+ private _handleFileSelect;
165
+ /**
166
+ * Processes uploaded files.
167
+ *
168
+ * @param files - Array of files to process.
169
+ */
170
+ private _processFiles;
171
+ /**
172
+ * Processes a file using the appropriate converter.
173
+ *
174
+ * @param file - The file to process.
175
+ * @param format - The detected vector format.
176
+ */
177
+ private _processAdvancedFormat;
178
+ /**
179
+ * Processes a GeoJSON object and adds it to the map.
180
+ *
181
+ * @param geojson - The GeoJSON object to process.
182
+ * @param filename - The filename of the dataset.
183
+ * @param originalFormat - The original file format.
184
+ * @returns The loaded dataset or null if failed.
185
+ */
186
+ private _processGeoJSON;
187
+ /**
188
+ * Fits the map view to the loaded data bounds.
189
+ *
190
+ * @param geojson - The GeoJSON FeatureCollection to fit to.
191
+ */
192
+ private _fitToData;
193
+ /**
194
+ * Removes all loaded datasets from the map.
195
+ */
196
+ private _removeAllDatasets;
197
+ /**
198
+ * Checks if the current zoom level is within the visibility range.
199
+ */
200
+ private _checkZoomVisibility;
201
+ /**
202
+ * Updates the display state based on visibility and zoom level.
203
+ */
204
+ private _updateDisplayState;
205
+ /**
206
+ * Updates the button state to reflect loading status.
207
+ */
208
+ private _updateButtonState;
209
+ /**
210
+ * Shows the loading overlay with an optional message.
211
+ *
212
+ * @param message - The loading message to display.
213
+ * @param progress - Optional progress percentage or status.
214
+ */
215
+ private _showLoading;
216
+ /**
217
+ * Updates the loading overlay message.
218
+ *
219
+ * @param message - The loading message to display.
220
+ * @param progress - Optional progress percentage or status.
221
+ */
222
+ private _updateLoading;
223
+ /**
224
+ * Hides the loading overlay.
225
+ */
226
+ private _hideLoading;
227
+ }
228
+ //# sourceMappingURL=VectorDataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorDataset.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/VectorDataset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { VectorDatasetControlReactProps } from './types';
2
+ /**
3
+ * React wrapper component for VectorDatasetControl.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { VectorDatasetReact } 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
+ * <VectorDatasetReact
17
+ * map={map}
18
+ * fitBounds={true}
19
+ * onDatasetLoad={(dataset) => console.log('Loaded:', dataset.filename)}
20
+ * />
21
+ * )}
22
+ * </>
23
+ * );
24
+ * }
25
+ * ```
26
+ *
27
+ * @param props - Component props including map instance and control options.
28
+ * @returns null - This component renders nothing directly.
29
+ */
30
+ export declare function VectorDatasetReact({ map, onDatasetLoad, onError, onStateChange, position, ...options }: VectorDatasetControlReactProps): null;
31
+ //# sourceMappingURL=VectorDatasetReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VectorDatasetReact.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/VectorDatasetReact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAG/B,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,GAAG,EACH,aAAa,EACb,OAAO,EACP,aAAa,EACb,QAAsB,EACtB,GAAG,OAAO,EACX,EAAE,8BAA8B,GAAG,IAAI,CAuEvC"}
@@ -0,0 +1,205 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { ViewStateControlOptions, ViewStateControlState, ViewStateEvent, ViewStateEventHandler } from './types';
3
+ /**
4
+ * A control that displays live map view state (center, bounds, zoom, pitch, bearing)
5
+ * and optionally supports drawing a bounding box to get bbox coordinates.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const viewStateControl = new ViewStateControl({
10
+ * collapsed: false,
11
+ * enableBBox: true,
12
+ * precision: 4,
13
+ * });
14
+ * map.addControl(viewStateControl, 'bottom-left');
15
+ *
16
+ * viewStateControl.on('bboxdraw', (event) => {
17
+ * console.log('Drawn bbox:', event.bbox);
18
+ * });
19
+ * ```
20
+ */
21
+ export declare class ViewStateControl 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 _centerValueEl?;
32
+ private _boundsValueEl?;
33
+ private _zoomValueEl?;
34
+ private _pitchValueEl?;
35
+ private _bearingValueEl?;
36
+ private _boundMoveHandler?;
37
+ private _bboxSourceId;
38
+ private _bboxLayerFillId;
39
+ private _bboxLayerLineId;
40
+ private _bboxDrawStart?;
41
+ private _boundBBoxMouseDown?;
42
+ private _boundBBoxMouseMove?;
43
+ private _boundBBoxMouseUp?;
44
+ private _boundBBoxDragStart?;
45
+ private _bboxToggleBtn?;
46
+ private _bboxResultEl?;
47
+ /**
48
+ * Creates a new ViewStateControl instance.
49
+ *
50
+ * @param options - Configuration options for the control.
51
+ */
52
+ constructor(options?: ViewStateControlOptions);
53
+ /**
54
+ * Called when the control is added to the map.
55
+ *
56
+ * @param map - The MapLibre GL map instance.
57
+ * @returns The control's container element.
58
+ */
59
+ onAdd(map: MapLibreMap): HTMLElement;
60
+ /**
61
+ * Called when the control is removed from the map.
62
+ */
63
+ onRemove(): void;
64
+ /**
65
+ * Expands the info panel.
66
+ */
67
+ expand(): void;
68
+ /**
69
+ * Collapses the info panel.
70
+ */
71
+ collapse(): void;
72
+ /**
73
+ * Toggles the panel expanded/collapsed state.
74
+ */
75
+ toggle(): void;
76
+ /**
77
+ * Returns whether the panel is collapsed.
78
+ */
79
+ isCollapsed(): boolean;
80
+ /**
81
+ * Shows the control.
82
+ */
83
+ show(): void;
84
+ /**
85
+ * Hides the control.
86
+ */
87
+ hide(): void;
88
+ /**
89
+ * Returns a copy of the current state.
90
+ */
91
+ getState(): ViewStateControlState;
92
+ /**
93
+ * Starts bounding box drawing mode.
94
+ */
95
+ startBBoxDraw(): void;
96
+ /**
97
+ * Stops bounding box drawing mode.
98
+ */
99
+ stopBBoxDraw(): void;
100
+ /**
101
+ * Clears the drawn bounding box.
102
+ */
103
+ clearBBox(): void;
104
+ /**
105
+ * Updates the control options.
106
+ */
107
+ update(options: Partial<ViewStateControlOptions>): void;
108
+ /**
109
+ * Registers an event handler.
110
+ */
111
+ on(event: ViewStateEvent, handler: ViewStateEventHandler): void;
112
+ /**
113
+ * Removes an event handler.
114
+ */
115
+ off(event: ViewStateEvent, handler: ViewStateEventHandler): void;
116
+ /**
117
+ * Emits an event to all registered handlers.
118
+ */
119
+ private _emit;
120
+ /**
121
+ * Reads the current map state into internal state.
122
+ */
123
+ private _readMapState;
124
+ /**
125
+ * Handles map move events for live updates.
126
+ */
127
+ private _onMapMove;
128
+ /**
129
+ * Updates the DOM value elements with current state.
130
+ */
131
+ private _updateValues;
132
+ /**
133
+ * Creates the control container with button and panel.
134
+ */
135
+ private _createContainer;
136
+ /**
137
+ * Creates the expandable info panel.
138
+ */
139
+ private _createPanel;
140
+ /**
141
+ * Creates a labeled data row with a copy button.
142
+ */
143
+ private _createRow;
144
+ /**
145
+ * Creates the bounding box drawing section.
146
+ */
147
+ private _createBBoxSection;
148
+ /**
149
+ * Updates the bbox result display.
150
+ */
151
+ private _updateBBoxResult;
152
+ /**
153
+ * Copies text to clipboard and shows feedback on the button.
154
+ */
155
+ private _copyToClipboard;
156
+ /**
157
+ * Updates the panel visibility based on collapsed state.
158
+ */
159
+ private _updatePanelVisibility;
160
+ /**
161
+ * Updates the button's active state appearance.
162
+ */
163
+ private _updateButtonState;
164
+ /**
165
+ * Updates the bbox toggle button state.
166
+ */
167
+ private _updateBBoxToggleState;
168
+ /**
169
+ * Converts a native MouseEvent to map lng/lat using map.unproject().
170
+ */
171
+ private _mouseEventToLngLat;
172
+ /**
173
+ * Sets up mouse listeners for bbox drawing.
174
+ */
175
+ private _setupBBoxListeners;
176
+ /**
177
+ * Removes bbox drawing listeners and restores map state.
178
+ */
179
+ private _stopBBoxDrawing;
180
+ /**
181
+ * Handles mouse down for bbox drawing start.
182
+ */
183
+ private _onBBoxMouseDown;
184
+ /**
185
+ * Handles mouse move during bbox drawing.
186
+ */
187
+ private _onBBoxMouseMove;
188
+ /**
189
+ * Handles mouse up to complete bbox drawing.
190
+ */
191
+ private _onBBoxMouseUp;
192
+ /**
193
+ * Removes bbox layers and source from the map.
194
+ */
195
+ private _removeBBoxLayers;
196
+ /**
197
+ * Checks zoom visibility and updates display state.
198
+ */
199
+ private _checkZoomVisibility;
200
+ /**
201
+ * Updates the display state based on visibility settings.
202
+ */
203
+ private _updateDisplayState;
204
+ }
205
+ //# sourceMappingURL=ViewStateControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewStateControl.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/ViewStateControl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ViewStateControlReactProps } from './types';
2
+ /**
3
+ * React wrapper component for ViewStateControl.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { ViewStateControlReact } 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
+ * <ViewStateControlReact
17
+ * map={map}
18
+ * position="bottom-left"
19
+ * enableBBox={true}
20
+ * onBBoxDraw={(bbox) => console.log('BBox:', bbox)}
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 ViewStateControlReact({ map, onBBoxDraw, onDrawingToggle, onStateChange, position, ...options }: ViewStateControlReactProps): null;
32
+ //# sourceMappingURL=ViewStateControlReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewStateControlReact.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/ViewStateControlReact.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAwB,EACxB,GAAG,OAAO,EACX,EAAE,0BAA0B,GAAG,IAAI,CAyFnC"}
@@ -0,0 +1,110 @@
1
+ import { IControl, Map as MapLibreMap } from 'maplibre-gl';
2
+ import { ZarrLayerControlOptions, ZarrLayerControlState, ZarrLayerEvent, ZarrLayerEventHandler } from './types';
3
+ /**
4
+ * A control for adding Zarr layers to the map.
5
+ *
6
+ * Uses @carbonplan/zarr-layer for rendering multi-dimensional Zarr data.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const zarrControl = new ZarrLayerControl({
11
+ * defaultUrl: 'https://example.com/data.zarr',
12
+ * defaultVariable: 'temperature',
13
+ * defaultColormap: ['#440154', '#fde725'],
14
+ * defaultClim: [0, 30],
15
+ * });
16
+ * map.addControl(zarrControl, 'top-right');
17
+ *
18
+ * zarrControl.on('layeradd', (event) => {
19
+ * console.log('Zarr layer added:', event.url);
20
+ * });
21
+ * ```
22
+ */
23
+ export declare class ZarrLayerControl implements IControl {
24
+ private _container?;
25
+ private _button?;
26
+ private _panel?;
27
+ private _options;
28
+ private _state;
29
+ private _eventHandlers;
30
+ private _map?;
31
+ private _handleZoom?;
32
+ private _zoomVisible;
33
+ private _zarrLayers;
34
+ private _zarrLayerPropsMap;
35
+ private _layerCounter;
36
+ private _activePopup?;
37
+ private _colormapName;
38
+ private _customColormap?;
39
+ private _availableVariables;
40
+ private _variablesLoading;
41
+ constructor(options?: ZarrLayerControlOptions);
42
+ onAdd(map: MapLibreMap): HTMLElement;
43
+ onRemove(): void;
44
+ show(): void;
45
+ hide(): void;
46
+ expand(): void;
47
+ collapse(): void;
48
+ toggle(): void;
49
+ getState(): ZarrLayerControlState;
50
+ update(options: Partial<ZarrLayerControlOptions>): void;
51
+ on(event: ZarrLayerEvent, handler: ZarrLayerEventHandler): void;
52
+ off(event: ZarrLayerEvent, handler: ZarrLayerEventHandler): void;
53
+ /**
54
+ * Programmatically add a Zarr layer.
55
+ */
56
+ addLayer(url?: string, variable?: string): Promise<void>;
57
+ /**
58
+ * Programmatically remove a Zarr layer by ID, or all layers if no ID given.
59
+ */
60
+ removeLayer(id?: string): void;
61
+ /**
62
+ * Get all Zarr layer IDs.
63
+ */
64
+ getLayerIds(): string[];
65
+ /**
66
+ * Get the opacity of a specific Zarr layer.
67
+ */
68
+ getLayerOpacity(layerId: string): number | null;
69
+ /**
70
+ * Set the opacity of a specific Zarr layer.
71
+ */
72
+ setLayerOpacity(layerId: string, opacity: number): void;
73
+ /**
74
+ * Get the visibility of a specific Zarr layer.
75
+ */
76
+ getLayerVisibility(layerId: string): boolean;
77
+ /**
78
+ * Set the visibility of a specific Zarr layer.
79
+ */
80
+ setLayerVisibility(layerId: string, visible: boolean, storedOpacity?: number): void;
81
+ /**
82
+ * Get the URL for a specific Zarr layer.
83
+ */
84
+ getLayerUrl(layerId: string): string | null;
85
+ /**
86
+ * Get the internal layers map (for adapter use).
87
+ */
88
+ getLayersMap(): Map<string, unknown>;
89
+ /**
90
+ * Fetch available variables from the Zarr store.
91
+ */
92
+ fetchVariables(): Promise<string[]>;
93
+ private _emit;
94
+ private _checkZoomVisibility;
95
+ private _updateDisplayState;
96
+ private _createContainer;
97
+ private _render;
98
+ private _renderCollapsed;
99
+ private _renderExpanded;
100
+ private _createFormGroup;
101
+ private _appendStatus;
102
+ private _updateColormapPreview;
103
+ private _addLayer;
104
+ private _setupLayerClickHandler;
105
+ private _updatePickable;
106
+ private _removeLayer;
107
+ private _updateOpacity;
108
+ private _buildLayerInfoList;
109
+ }
110
+ //# sourceMappingURL=ZarrLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZarrLayer.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/ZarrLayer.ts"],"names":[],"mappings":"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"}