@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 @@
1
+ {"version":3,"file":"useVectorDataset.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/useVectorDataset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAU9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;;;0BAOR,OAAO;;;;0BAgBP,aAAa;+BAQR,MAAM;;sBAcf,MAAM,GAAG,IAAI;;;EA0BnD"}
@@ -0,0 +1,43 @@
1
+ import { ViewStateControlState } from '../core/types';
2
+ /**
3
+ * React hook for managing ViewStateControl state.
4
+ *
5
+ * @param initialState - Optional initial state.
6
+ * @returns State and state management functions.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const { state, expand, collapse, toggle, startBBoxDraw, clearBBox } = useViewState({
11
+ * collapsed: false
12
+ * });
13
+ *
14
+ * return (
15
+ * <>
16
+ * <button onClick={toggle}>
17
+ * {state.collapsed ? 'Show' : 'Hide'} View State
18
+ * </button>
19
+ * <ViewStateControlReact
20
+ * map={map}
21
+ * collapsed={state.collapsed}
22
+ * onStateChange={setState}
23
+ * />
24
+ * </>
25
+ * );
26
+ * ```
27
+ */
28
+ export declare function useViewState(initialState?: Partial<ViewStateControlState>): {
29
+ state: ViewStateControlState;
30
+ setState: import('react').Dispatch<import('react').SetStateAction<ViewStateControlState>>;
31
+ setVisible: (visible: boolean) => void;
32
+ setCollapsed: (collapsed: boolean) => void;
33
+ expand: () => void;
34
+ collapse: () => void;
35
+ toggle: () => void;
36
+ setDrawingBBox: (drawingBBox: boolean) => void;
37
+ setDrawnBBox: (drawnBBox: [number, number, number, number] | null) => void;
38
+ clearBBox: () => void;
39
+ show: () => void;
40
+ hide: () => void;
41
+ reset: () => void;
42
+ };
43
+ //# sourceMappingURL=useViewState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useViewState.d.ts","sourceRoot":"","sources":["../../../../src/lib/hooks/useViewState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAc3D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC;;;0BAM/B,OAAO;8BAIH,OAAO;;;;kCAgBH,OAAO;8BAK1C,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;;;;;EAqCtD"}
@@ -0,0 +1,47 @@
1
+ import { ColorStop } from '../core/types';
2
+ /**
3
+ * Converts a hex color to RGB values.
4
+ *
5
+ * @param hex - The hex color string (with or without #).
6
+ * @returns Object with r, g, b values (0-255).
7
+ */
8
+ export declare function hexToRgb(hex: string): {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ } | null;
13
+ /**
14
+ * Converts RGB values to a hex color string.
15
+ *
16
+ * @param r - Red value (0-255).
17
+ * @param g - Green value (0-255).
18
+ * @param b - Blue value (0-255).
19
+ * @returns Hex color string with #.
20
+ */
21
+ export declare function rgbToHex(r: number, g: number, b: number): string;
22
+ /**
23
+ * Interpolates between two colors.
24
+ *
25
+ * @param color1 - First hex color.
26
+ * @param color2 - Second hex color.
27
+ * @param factor - Interpolation factor (0-1).
28
+ * @returns Interpolated hex color.
29
+ */
30
+ export declare function interpolateColor(color1: string, color2: string, factor: number): string;
31
+ /**
32
+ * Gets a color from a colormap at a specific position.
33
+ *
34
+ * @param colorStops - Array of color stops.
35
+ * @param position - Position (0-1) to sample.
36
+ * @returns The interpolated color at the position.
37
+ */
38
+ export declare function getColorAtPosition(colorStops: ColorStop[], position: number): string;
39
+ /**
40
+ * Generates CSS gradient string from color stops.
41
+ *
42
+ * @param colorStops - Array of color stops.
43
+ * @param direction - CSS gradient direction.
44
+ * @returns CSS linear-gradient string.
45
+ */
46
+ export declare function generateGradientCSS(colorStops: ColorStop[], direction?: string): string;
47
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,GACV;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS5C;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAaR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,MAAM,CAyBR;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,GAAE,MAAmB,GAC7B,MAAM,CAKR"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Supported vector file formats.
3
+ *
4
+ * DuckDB's spatial extension uses GDAL under the hood, enabling support
5
+ * for many common geospatial formats via ST_Read().
6
+ */
7
+ export type VectorFormat = "geojson" | "shapefile" | "geopackage" | "geoparquet" | "kml" | "kmz" | "gpx" | "flatgeobuf" | "gml" | "topojson" | "csv" | "xlsx" | "dxf" | "unknown";
8
+ /**
9
+ * File extensions for GeoJSON files.
10
+ */
11
+ export declare const GEOJSON_EXTENSIONS: string[];
12
+ /**
13
+ * File extensions for Shapefile files.
14
+ * Includes .zip for zipped shapefiles (most common distribution).
15
+ */
16
+ export declare const SHAPEFILE_EXTENSIONS: string[];
17
+ /**
18
+ * File extensions for GeoPackage files.
19
+ */
20
+ export declare const GEOPACKAGE_EXTENSIONS: string[];
21
+ /**
22
+ * File extensions for GeoParquet files.
23
+ */
24
+ export declare const GEOPARQUET_EXTENSIONS: string[];
25
+ /**
26
+ * File extensions for KML (Keyhole Markup Language) files.
27
+ * Used by Google Earth.
28
+ */
29
+ export declare const KML_EXTENSIONS: string[];
30
+ /**
31
+ * File extensions for KMZ (compressed KML) files.
32
+ * KMZ is a zipped KML file used by Google Earth.
33
+ */
34
+ export declare const KMZ_EXTENSIONS: string[];
35
+ /**
36
+ * File extensions for GPX (GPS Exchange Format) files.
37
+ * Common format for GPS tracks, waypoints, and routes.
38
+ */
39
+ export declare const GPX_EXTENSIONS: string[];
40
+ /**
41
+ * File extensions for FlatGeobuf files.
42
+ * A performant binary encoding for geographic data.
43
+ */
44
+ export declare const FLATGEOBUF_EXTENSIONS: string[];
45
+ /**
46
+ * File extensions for GML (Geography Markup Language) files.
47
+ * OGC standard XML-based format.
48
+ */
49
+ export declare const GML_EXTENSIONS: string[];
50
+ /**
51
+ * File extensions for TopoJSON files.
52
+ * An extension of GeoJSON that encodes topology.
53
+ */
54
+ export declare const TOPOJSON_EXTENSIONS: string[];
55
+ /**
56
+ * File extensions for CSV files with geometry.
57
+ * Can contain WKT geometry or lat/lon columns.
58
+ */
59
+ export declare const CSV_EXTENSIONS: string[];
60
+ /**
61
+ * File extensions for Excel files with geometry.
62
+ * Can contain WKT geometry or lat/lon columns.
63
+ */
64
+ export declare const XLSX_EXTENSIONS: string[];
65
+ /**
66
+ * File extensions for DXF (AutoCAD Drawing Exchange Format) files.
67
+ */
68
+ export declare const DXF_EXTENSIONS: string[];
69
+ /**
70
+ * Extensions processed via shpjs (Shapefile library).
71
+ */
72
+ export declare const SHPJS_EXTENSIONS: string[];
73
+ /**
74
+ * Extensions processed via DuckDB spatial (GDAL-powered).
75
+ */
76
+ export declare const DUCKDB_EXTENSIONS: string[];
77
+ /**
78
+ * All supported extensions for advanced formats (require DuckDB or shpjs).
79
+ */
80
+ export declare const ADVANCED_EXTENSIONS: string[];
81
+ /**
82
+ * All supported vector file extensions.
83
+ */
84
+ export declare const ALL_EXTENSIONS: string[];
85
+ /**
86
+ * Detects the vector format from a filename.
87
+ *
88
+ * @param filename - The filename to check.
89
+ * @returns The detected vector format.
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * detectFormat('data.geojson'); // 'geojson'
94
+ * detectFormat('counties.shp'); // 'shapefile'
95
+ * detectFormat('data.gpkg'); // 'geopackage'
96
+ * detectFormat('track.gpx'); // 'gpx'
97
+ * detectFormat('places.kml'); // 'kml'
98
+ * detectFormat('data.zip'); // 'shapefile'
99
+ * detectFormat('data.txt'); // 'unknown'
100
+ * ```
101
+ */
102
+ export declare function detectFormat(filename: string): VectorFormat;
103
+ /**
104
+ * Checks if a format requires DuckDB for processing.
105
+ * Note: Shapefiles use shpjs, not DuckDB.
106
+ *
107
+ * @param format - The vector format to check.
108
+ * @returns True if the format requires DuckDB.
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * requiresDuckDB('geojson'); // false
113
+ * requiresDuckDB('shapefile'); // false (uses shpjs)
114
+ * requiresDuckDB('geopackage'); // true
115
+ * requiresDuckDB('geoparquet'); // true
116
+ * requiresDuckDB('kml'); // true
117
+ * requiresDuckDB('gpx'); // true
118
+ * ```
119
+ */
120
+ export declare function requiresDuckDB(format: VectorFormat): boolean;
121
+ /**
122
+ * Checks if a format requires a special converter (not native GeoJSON).
123
+ *
124
+ * @param format - The vector format to check.
125
+ * @returns True if the format requires conversion.
126
+ */
127
+ export declare function requiresConversion(format: VectorFormat): boolean;
128
+ /**
129
+ * Gets the file extension from a filename (lowercase, with leading dot).
130
+ *
131
+ * @param filename - The filename to extract extension from.
132
+ * @returns The file extension (e.g., '.geojson') or empty string.
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * getFileExtension('data.GeoJSON'); // '.geojson'
137
+ * getFileExtension('file.tar.gz'); // '.gz'
138
+ * getFileExtension('noextension'); // ''
139
+ * ```
140
+ */
141
+ export declare function getFileExtension(filename: string): string;
142
+ /**
143
+ * Reads a File object as an ArrayBuffer.
144
+ *
145
+ * @param file - The file to read.
146
+ * @returns Promise resolving to the file contents as ArrayBuffer.
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * const input = document.querySelector('input[type="file"]');
151
+ * const file = input.files[0];
152
+ * const buffer = await readFileAsBuffer(file);
153
+ * ```
154
+ */
155
+ export declare function readFileAsBuffer(file: File): Promise<ArrayBuffer>;
156
+ /**
157
+ * Gets the list of accepted file extensions based on options.
158
+ *
159
+ * @param enableAdvanced - Whether to include advanced format extensions.
160
+ * @returns Array of accepted file extensions.
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * getAcceptedExtensions(false); // ['.geojson', '.json']
165
+ * getAcceptedExtensions(true); // ['.geojson', '.json', '.shp', '.zip', '.gpkg', '.kml', ...]
166
+ * ```
167
+ */
168
+ export declare function getAcceptedExtensions(enableAdvanced: boolean): string[];
169
+ /**
170
+ * Checks if a file extension is valid for the given options.
171
+ *
172
+ * @param filename - The filename to check.
173
+ * @param enableAdvanced - Whether advanced formats are enabled.
174
+ * @returns True if the extension is accepted.
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * isValidExtension('data.geojson', false); // true
179
+ * isValidExtension('data.gpkg', false); // false
180
+ * isValidExtension('data.gpkg', true); // true
181
+ * isValidExtension('track.gpx', true); // true
182
+ * ```
183
+ */
184
+ export declare function isValidExtension(filename: string, enableAdvanced: boolean): boolean;
185
+ /**
186
+ * Gets a human-readable format name for display.
187
+ *
188
+ * @param format - The vector format.
189
+ * @returns Human-readable format name.
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * getFormatDisplayName('geojson'); // 'GeoJSON'
194
+ * getFormatDisplayName('shapefile'); // 'Shapefile'
195
+ * getFormatDisplayName('kml'); // 'KML'
196
+ * getFormatDisplayName('gpx'); // 'GPX'
197
+ * ```
198
+ */
199
+ export declare function getFormatDisplayName(format: VectorFormat): string;
200
+ /**
201
+ * Gets a description of the format for tooltips/help text.
202
+ *
203
+ * @param format - The vector format.
204
+ * @returns Description of the format.
205
+ */
206
+ export declare function getFormatDescription(format: VectorFormat): string;
207
+ //# sourceMappingURL=fileHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileHelpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/fileHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,KAAK,GACL,KAAK,GACL,KAAK,GACL,YAAY,GACZ,KAAK,GACL,UAAU,GACV,KAAK,GACL,MAAM,GACN,KAAK,GACL,SAAS,CAAC;AAEd;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAwB,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,UAAmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAA8B,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAAW,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAgB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAoB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAA4B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAY7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,UAA8C,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,cAAc,UAAkD,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAwD3D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAc5D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAKvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,OAAO,GACtB,OAAO,CAIT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA+BjE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA+BjE"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Clamps a value between min and max.
3
+ *
4
+ * @param value - The value to clamp.
5
+ * @param min - The minimum value.
6
+ * @param max - The maximum value.
7
+ * @returns The clamped value.
8
+ */
9
+ export declare function clamp(value: number, min: number, max: number): number;
10
+ /**
11
+ * Formats a numeric value based on the range.
12
+ *
13
+ * @param value - The value to format.
14
+ * @param range - The total range (max - min).
15
+ * @returns Formatted string.
16
+ */
17
+ export declare function formatNumericValue(value: number, range: number): string;
18
+ /**
19
+ * Generates a unique ID with optional prefix.
20
+ *
21
+ * @param prefix - Optional prefix for the ID.
22
+ * @returns A unique ID string.
23
+ */
24
+ export declare function generateId(prefix?: string): string;
25
+ /**
26
+ * Debounces a function call.
27
+ *
28
+ * @param fn - The function to debounce.
29
+ * @param delay - The delay in milliseconds.
30
+ * @returns A debounced function.
31
+ */
32
+ export declare function debounce<T extends (...args: unknown[]) => void>(fn: T, delay: number): (...args: Parameters<T>) => void;
33
+ /**
34
+ * Throttles a function call.
35
+ *
36
+ * @param fn - The function to throttle.
37
+ * @param limit - The minimum time between calls in milliseconds.
38
+ * @returns A throttled function.
39
+ */
40
+ export declare function throttle<T extends (...args: unknown[]) => void>(fn: T, limit: number): (...args: Parameters<T>) => void;
41
+ /**
42
+ * Joins class names, filtering out falsy values.
43
+ *
44
+ * @param classes - Class names to join.
45
+ * @returns Joined class string.
46
+ */
47
+ export declare function classNames(...classes: (string | undefined | null | false)[]): string;
48
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,SAAS,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC7D,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMlC;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAC7D,EAAE,EAAE,CAAC,EACL,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CASlC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,GAChD,MAAM,CAER"}
@@ -0,0 +1,4 @@
1
+ export { clamp, formatNumericValue, generateId, debounce, throttle, classNames, } from './helpers';
2
+ export { hexToRgb, rgbToHex, interpolateColor, getColorAtPosition, generateGradientCSS, } from './color';
3
+ export { XYZSERVICES_URL, buildTileUrl, generateThumbnailUrl, parseProviders, fetchProviders, groupBasemaps, filterBasemaps, } from './providers';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { BasemapItem } from '../core/types';
2
+ /**
3
+ * Default URL for xyzservices providers.json.
4
+ */
5
+ export declare const XYZSERVICES_URL = "https://raw.githubusercontent.com/geopandas/xyzservices/main/xyzservices/data/providers.json";
6
+ /**
7
+ * Options for parsing providers.
8
+ */
9
+ interface ParseOptions {
10
+ filterGroups?: string[];
11
+ excludeGroups?: string[];
12
+ excludeBroken?: boolean;
13
+ }
14
+ /**
15
+ * Build the tile URL from an XYZ provider.
16
+ * Replaces placeholders like {s}, {r}, {variant}, {ext}.
17
+ */
18
+ export declare function buildTileUrl(basemap: BasemapItem): string;
19
+ /**
20
+ * Generate a thumbnail URL from a basemap's tile URL.
21
+ * Uses zoom level 3 for a reasonable world view.
22
+ */
23
+ export declare function generateThumbnailUrl(basemap: BasemapItem): string;
24
+ /**
25
+ * Parse xyzservices providers.json data into BasemapItem array.
26
+ */
27
+ export declare function parseProviders(data: Record<string, unknown>, options?: ParseOptions): BasemapItem[];
28
+ /**
29
+ * Fetch and parse providers from xyzservices URL.
30
+ */
31
+ export declare function fetchProviders(url?: string, options?: ParseOptions): Promise<BasemapItem[]>;
32
+ /**
33
+ * Group basemaps by their group property.
34
+ */
35
+ export declare function groupBasemaps(basemaps: BasemapItem[]): Map<string, BasemapItem[]>;
36
+ /**
37
+ * Filter basemaps by search text.
38
+ */
39
+ export declare function filterBasemaps(basemaps: BasemapItem[], searchText: string): BasemapItem[];
40
+ /**
41
+ * Google basemap definitions.
42
+ * These are not included in xyzservices but are commonly requested.
43
+ */
44
+ export declare const GOOGLE_BASEMAPS: BasemapItem[];
45
+ export {};
46
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,eAAe,iGACoE,CAAC;AA2BjG;;GAEG;AACH,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA4BzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAejE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,WAAW,EAAE,CAmEf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,GAAE,MAAwB,EAC7B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC,CAOxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EAAE,GACtB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAW5B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,WAAW,EAAE,EACvB,UAAU,EAAE,MAAM,GACjB,WAAW,EAAE,CAYf;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,EAiCxC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export { ColorbarReact } from './lib/core/ColorbarReact';
2
+ export { LegendReact } from './lib/core/LegendReact';
3
+ export { HtmlControlReact } from './lib/core/HtmlControlReact';
4
+ export { BasemapReact } from './lib/core/BasemapReact';
5
+ export { TerrainReact } from './lib/core/TerrainReact';
6
+ export { SearchControlReact } from './lib/core/SearchControlReact';
7
+ export { VectorDatasetReact } from './lib/core/VectorDatasetReact';
8
+ export { InspectControlReact } from './lib/core/InspectControlReact';
9
+ export { ViewStateControlReact } from './lib/core/ViewStateControlReact';
10
+ export { ControlGridReact } from './lib/core/ControlGridReact';
11
+ export { CogLayerReact } from './lib/core/CogLayerReact';
12
+ export { MinimapControlReact } from './lib/core/MinimapControlReact';
13
+ export { useColorbar, useLegend, useHtmlControl, useBasemap, useTerrain, useSearchControl, useVectorDataset, useInspectControl, useViewState, useControlGrid, useCogLayer, useMinimapControl, } from './lib/hooks';
14
+ export type { ColorbarOptions, ColorbarState, ColorbarReactProps, LegendOptions, LegendState, LegendReactProps, LegendItem, HtmlControlOptions, HtmlControlState, HtmlControlReactProps, BasemapControlOptions, BasemapControlState, BasemapControlReactProps, BasemapItem, BasemapDisplayMode, BasemapEvent, TerrainControlOptions, TerrainControlState, TerrainControlReactProps, TerrainEncoding, TerrainEvent, TerrainEventHandler, SearchControlOptions, SearchControlState, SearchControlReactProps, SearchResult, SearchEvent, SearchEventHandler, VectorDatasetControlOptions, VectorDatasetControlState, VectorDatasetControlReactProps, LoadedDataset, VectorLayerStyle, VectorDatasetEvent, VectorDatasetEventHandler, InspectControlOptions, InspectControlState, InspectControlReactProps, InspectedFeature, InspectHighlightStyle, InspectEvent, InspectEventHandler, ViewStateControlOptions, ViewStateControlState, ViewStateControlReactProps, ViewStateEvent, ViewStateEventHandler, ControlGridOptions, ControlGridState, ControlGridReactProps, ControlGridEvent, ControlGridEventHandler, CogLayerControlOptions, CogLayerControlState, CogLayerControlReactProps, CogLayerEvent, CogLayerEventHandler, ColormapName, ColorStop, ControlPosition, ColorbarOrientation, ComponentEvent, ComponentEventHandler, MinimapControlOptions, MinimapControlState, MinimapControlReactProps, MinimapEvent, MinimapEventHandler, } from './lib/core/types';
15
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./geotiff-De1w1lBy.cjs");class i extends r.BaseDecoder{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(c,n){const o=new Blob([n]),e=await createImageBitmap(o);let t;typeof document<"u"?(t=document.createElement("canvas"),t.width=e.width,t.height=e.height):t=new OffscreenCanvas(e.width,e.height);const a=t.getContext("2d");return a.drawImage(e,0,0),a.getImageData(0,0,e.width,e.height).data.buffer}}exports.default=i;
@@ -0,0 +1,19 @@
1
+ import { B as r } from "./geotiff-o_Fq1Na4.js";
2
+ class s extends r {
3
+ constructor() {
4
+ if (super(), typeof createImageBitmap > "u")
5
+ throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");
6
+ if (typeof document > "u" && typeof OffscreenCanvas > "u")
7
+ throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available");
8
+ }
9
+ async decode(i, n) {
10
+ const o = new Blob([n]), e = await createImageBitmap(o);
11
+ let t;
12
+ typeof document < "u" ? (t = document.createElement("canvas"), t.width = e.width, t.height = e.height) : t = new OffscreenCanvas(e.width, e.height);
13
+ const a = t.getContext("2d");
14
+ return a.drawImage(e, 0, 0), a.getImageData(0, 0, e.width, e.height).data.buffer;
15
+ }
16
+ }
17
+ export {
18
+ s as default
19
+ };
package/package.json ADDED
@@ -0,0 +1,137 @@
1
+ {
2
+ "name": "@gisfun/maplibre-gl-components",
3
+ "version": "0.15.0-alpha.0",
4
+ "description": "Legend, colorbar, and HTML control components for MapLibre GL JS maps",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.mjs",
8
+ "types": "./dist/types/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "default": "./dist/index.mjs"
14
+ },
15
+ "require": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "default": "./dist/index.cjs"
18
+ }
19
+ },
20
+ "./react": {
21
+ "import": {
22
+ "types": "./dist/types/react.d.ts",
23
+ "default": "./dist/react.mjs"
24
+ },
25
+ "require": {
26
+ "types": "./dist/types/react.d.ts",
27
+ "default": "./dist/react.cjs"
28
+ }
29
+ },
30
+ "./style.css": "./dist/maplibre-gl-components.css"
31
+ },
32
+ "files": [
33
+ "dist",
34
+ "README.md",
35
+ "LICENSE"
36
+ ],
37
+ "sideEffects": [
38
+ "*.css"
39
+ ],
40
+ "scripts": {
41
+ "dev": "vite",
42
+ "build": "tsc -p tsconfig.build.json && vite build",
43
+ "build:examples": "vite build --config vite.examples.config.ts",
44
+ "preview": "vite preview",
45
+ "test": "vitest --run",
46
+ "test:ui": "vitest --ui",
47
+ "test:coverage": "vitest --coverage",
48
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
49
+ "format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
50
+ "prepublishOnly": "npm run build"
51
+ },
52
+ "keywords": [
53
+ "maplibre",
54
+ "maplibre-gl",
55
+ "legend",
56
+ "colorbar",
57
+ "colormap",
58
+ "visualization",
59
+ "map",
60
+ "plugin",
61
+ "control",
62
+ "react",
63
+ "typescript"
64
+ ],
65
+ "author": "Qiusheng Wu",
66
+ "license": "MIT",
67
+ "repository": {
68
+ "type": "git",
69
+ "url": "https://github.com/opengeos/maplibre-gl-components.git"
70
+ },
71
+ "homepage": "https://github.com/opengeos/maplibre-gl-components",
72
+ "bugs": {
73
+ "url": "https://github.com/opengeos/maplibre-gl-components/issues"
74
+ },
75
+ "peerDependencies": {
76
+ "@deck.gl/core": "^9.2.6",
77
+ "@deck.gl/mapbox": "^9.2.6",
78
+ "jspdf": ">=2.5.0",
79
+ "maplibre-gl": ">=5.16.0",
80
+ "react": ">=18.0.0",
81
+ "react-dom": ">=18.0.0",
82
+ "three": "^0.178.0"
83
+ },
84
+ "peerDependenciesMeta": {
85
+ "react": {
86
+ "optional": true
87
+ },
88
+ "react-dom": {
89
+ "optional": true
90
+ },
91
+ "jspdf": {
92
+ "optional": true
93
+ }
94
+ },
95
+ "devDependencies": {
96
+ "@duckdb/duckdb-wasm": "^1.32.0",
97
+ "@geoman-io/maplibre-geoman-free": "^0.6.2",
98
+ "@testing-library/react": "^16.3.2",
99
+ "@testing-library/user-event": "^14.6.1",
100
+ "@types/node": "^25.2.3",
101
+ "@types/react": "^19.2.14",
102
+ "@types/react-dom": "^19.2.3",
103
+ "@typescript-eslint/eslint-plugin": "^8.55.0",
104
+ "@typescript-eslint/parser": "^8.55.0",
105
+ "@vitejs/plugin-react": "^5.1.4",
106
+ "@vitest/ui": "^4.0.18",
107
+ "eslint": "^9.0.0",
108
+ "jsdom": "^28.0.0",
109
+ "jspdf": "^4.1.0",
110
+ "maplibre-gl": "5.17.0",
111
+ "prettier": "^3.8.1",
112
+ "react": "^19.2.4",
113
+ "react-dom": "^19.2.4",
114
+ "shpjs": "^6.2.0",
115
+ "typescript": "^5.9.3",
116
+ "vite": "^7.3.1",
117
+ "vite-plugin-dts": "^4.5.4",
118
+ "vite-plugin-node-polyfills": "^0.25.0",
119
+ "vitest": "^4.0.18"
120
+ },
121
+ "dependencies": {
122
+ "@carbonplan/zarr-layer": "^0.3.1",
123
+ "@developmentseed/deck.gl-geotiff": "^0.2.0",
124
+ "@dvt3d/maplibre-three-plugin": "^1.3.0",
125
+ "flatgeobuf": "^4.4.0",
126
+ "geotiff-geokeys-to-proj4": "^2024.4.13",
127
+ "maplibre-gl-geo-editor": "^0.7.3",
128
+ "maplibre-gl-layer-control": "^0.13.0",
129
+ "maplibre-gl-lidar": "^0.11.1",
130
+ "maplibre-gl-planetary-computer": "^0.2.2",
131
+ "maplibre-gl-splat": "^0.2.2",
132
+ "maplibre-gl-streetview": "^0.3.1",
133
+ "maplibre-gl-swipe": "^0.6.0",
134
+ "maplibre-gl-usgs-lidar": "^0.7.2",
135
+ "pmtiles": "^4.4.0"
136
+ }
137
+ }