@prashantgosai11/bisag-sidebar 1.0.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 (142) hide show
  1. package/README.md +53 -0
  2. package/dist/AddLayers/DeckGl/AnimatedTripsLayerComponent.d.ts +34 -0
  3. package/dist/AddLayers/DeckGl/ArcLayerComponent.d.ts +20 -0
  4. package/dist/AddLayers/DeckGl/BitmapLayerComponent.d.ts +16 -0
  5. package/dist/AddLayers/DeckGl/ClusterLayerComponent.d.ts +20 -0
  6. package/dist/AddLayers/DeckGl/ColumnLayerComponent.d.ts +23 -0
  7. package/dist/AddLayers/DeckGl/ContourLayerComponent.d.ts +20 -0
  8. package/dist/AddLayers/DeckGl/GeoJsonLayerComponent.d.ts +18 -0
  9. package/dist/AddLayers/DeckGl/GeohashLayerComponent.d.ts +22 -0
  10. package/dist/AddLayers/DeckGl/GreatCircleLayerComponent.d.ts +21 -0
  11. package/dist/AddLayers/DeckGl/GridLayerComponent.d.ts +19 -0
  12. package/dist/AddLayers/DeckGl/H3ClusterLayerComponent.d.ts +22 -0
  13. package/dist/AddLayers/DeckGl/H3HexagonLayerComponent.d.ts +20 -0
  14. package/dist/AddLayers/DeckGl/HeatmapLayerComponent.d.ts +17 -0
  15. package/dist/AddLayers/DeckGl/HexagonLayer.d.ts +25 -0
  16. package/dist/AddLayers/DeckGl/HexbinLayerComponent.d.ts +20 -0
  17. package/dist/AddLayers/DeckGl/IconLayerComponent.d.ts +62 -0
  18. package/dist/AddLayers/DeckGl/LineLayerComponent.d.ts +19 -0
  19. package/dist/AddLayers/DeckGl/PathLayerComponent.d.ts +23 -0
  20. package/dist/AddLayers/DeckGl/PointCloudLayerComponent.d.ts +18 -0
  21. package/dist/AddLayers/DeckGl/PolygonLayerComponent.d.ts +21 -0
  22. package/dist/AddLayers/DeckGl/QuadkeyLayerComponent.d.ts +22 -0
  23. package/dist/AddLayers/DeckGl/S2LayerComponent.d.ts +22 -0
  24. package/dist/AddLayers/DeckGl/ScatterplotLayerComponent.d.ts +24 -0
  25. package/dist/AddLayers/DeckGl/ScenegraphLayerComponent.d.ts +29 -0
  26. package/dist/AddLayers/DeckGl/ScreenGridLayerComponent.d.ts +18 -0
  27. package/dist/AddLayers/DeckGl/SimpleMeshLayerComponent.d.ts +18 -0
  28. package/dist/AddLayers/DeckGl/SolidPolygonLayerComponent.d.ts +26 -0
  29. package/dist/AddLayers/DeckGl/TextLayerComponent.d.ts +25 -0
  30. package/dist/AddLayers/DeckGl/TileLayerComponent.d.ts +16 -0
  31. package/dist/AddLayers/DeckGl/TripsLayer.d.ts +44 -0
  32. package/dist/AddLayers/DeckGl/popupUtils.d.ts +28 -0
  33. package/dist/AddLayers/DeckGlOverlayManager.d.ts +11 -0
  34. package/dist/AddLayers/MapboxHeatmapLayer.d.ts +14 -0
  35. package/dist/App.d.ts +3 -0
  36. package/dist/BisagSidebar/AddDataModal.d.ts +6 -0
  37. package/dist/BisagSidebar/AddLayers/DeckGl/ArcLayer.d.ts +120 -0
  38. package/dist/BisagSidebar/AddLayers/DeckGl/ClusterLayer.d.ts +164 -0
  39. package/dist/BisagSidebar/AddLayers/DeckGl/ColumnLayer.d.ts +158 -0
  40. package/dist/BisagSidebar/AddLayers/DeckGl/ContourLayer.d.ts +122 -0
  41. package/dist/BisagSidebar/AddLayers/DeckGl/GeoJsonLayer.d.ts +239 -0
  42. package/dist/BisagSidebar/AddLayers/DeckGl/GeohashLayer.d.ts +168 -0
  43. package/dist/BisagSidebar/AddLayers/DeckGl/GridLayer.d.ts +36 -0
  44. package/dist/BisagSidebar/AddLayers/DeckGl/H3HexagonLayer.d.ts +145 -0
  45. package/dist/BisagSidebar/AddLayers/DeckGl/HeatmapLayer.d.ts +119 -0
  46. package/dist/BisagSidebar/AddLayers/DeckGl/HexagonLayer.d.ts +140 -0
  47. package/dist/BisagSidebar/AddLayers/DeckGl/IconLayer.d.ts +131 -0
  48. package/dist/BisagSidebar/AddLayers/DeckGl/LineLayer.d.ts +157 -0
  49. package/dist/BisagSidebar/AddLayers/DeckGl/PathLayer.d.ts +167 -0
  50. package/dist/BisagSidebar/AddLayers/DeckGl/PolygonLayer.d.ts +136 -0
  51. package/dist/BisagSidebar/AddLayers/DeckGl/QuadkeyLayer.d.ts +168 -0
  52. package/dist/BisagSidebar/AddLayers/DeckGl/S2Layer.d.ts +169 -0
  53. package/dist/BisagSidebar/AddLayers/DeckGl/ScatterplotLayer.d.ts +139 -0
  54. package/dist/BisagSidebar/AddLayers/DeckGl/TextLayer.d.ts +140 -0
  55. package/dist/BisagSidebar/AddLayers/DeckGl/TripsLayer.d.ts +123 -0
  56. package/dist/BisagSidebar/AddLayers/DeckGl/effects/LightingEffect.d.ts +137 -0
  57. package/dist/BisagSidebar/AddLayers/DeckGl/effects/index.d.ts +12 -0
  58. package/dist/BisagSidebar/AddLayers/DeckGl/extensions/BrushingExtension.d.ts +136 -0
  59. package/dist/BisagSidebar/AddLayers/DeckGl/extensions/CollisionFilterExtension.d.ts +142 -0
  60. package/dist/BisagSidebar/AddLayers/DeckGl/extensions/DataFilterExtension.d.ts +122 -0
  61. package/dist/BisagSidebar/AddLayers/DeckGl/extensions/PathStyleExtension.d.ts +151 -0
  62. package/dist/BisagSidebar/AddLayers/DeckGl/extensions/index.d.ts +21 -0
  63. package/dist/BisagSidebar/AddLayers/DeckGl/index.d.ts +51 -0
  64. package/dist/BisagSidebar/AddLayers/LayerTypeSelector.d.ts +16 -0
  65. package/dist/BisagSidebar/AddLayers/bisag-icons/ ClusterIcon.d.ts +3 -0
  66. package/dist/BisagSidebar/AddLayers/bisag-icons/ IconLayerIcon.d.ts +3 -0
  67. package/dist/BisagSidebar/AddLayers/bisag-icons/A5Icon.d.ts +3 -0
  68. package/dist/BisagSidebar/AddLayers/bisag-icons/AnimatedTripIcon.d.ts +3 -0
  69. package/dist/BisagSidebar/AddLayers/bisag-icons/ArcIcon.d.ts +3 -0
  70. package/dist/BisagSidebar/AddLayers/bisag-icons/BitmapIcon.d.ts +3 -0
  71. package/dist/BisagSidebar/AddLayers/bisag-icons/ColumnIcon.d.ts +3 -0
  72. package/dist/BisagSidebar/AddLayers/bisag-icons/ContourIcon.d.ts +3 -0
  73. package/dist/BisagSidebar/AddLayers/bisag-icons/GeoJsonIcon.d.ts +3 -0
  74. package/dist/BisagSidebar/AddLayers/bisag-icons/GeohashIcon.d.ts +3 -0
  75. package/dist/BisagSidebar/AddLayers/bisag-icons/GreatCircleIcon.d.ts +3 -0
  76. package/dist/BisagSidebar/AddLayers/bisag-icons/GridIcon.d.ts +3 -0
  77. package/dist/BisagSidebar/AddLayers/bisag-icons/H3ClusterIcon.d.ts +3 -0
  78. package/dist/BisagSidebar/AddLayers/bisag-icons/H3Icon.d.ts +3 -0
  79. package/dist/BisagSidebar/AddLayers/bisag-icons/HeatmapIcon.d.ts +3 -0
  80. package/dist/BisagSidebar/AddLayers/bisag-icons/HexbinIcon.d.ts +3 -0
  81. package/dist/BisagSidebar/AddLayers/bisag-icons/LineIcon.d.ts +3 -0
  82. package/dist/BisagSidebar/AddLayers/bisag-icons/MeshIcon.d.ts +3 -0
  83. package/dist/BisagSidebar/AddLayers/bisag-icons/PathIcon.d.ts +3 -0
  84. package/dist/BisagSidebar/AddLayers/bisag-icons/PointCloudIcon.d.ts +3 -0
  85. package/dist/BisagSidebar/AddLayers/bisag-icons/PointIcon.d.ts +3 -0
  86. package/dist/BisagSidebar/AddLayers/bisag-icons/PolygonIcon.d.ts +3 -0
  87. package/dist/BisagSidebar/AddLayers/bisag-icons/QuadkeyIcon.d.ts +3 -0
  88. package/dist/BisagSidebar/AddLayers/bisag-icons/S2Icon.d.ts +3 -0
  89. package/dist/BisagSidebar/AddLayers/bisag-icons/ScatterplotIcon.d.ts +3 -0
  90. package/dist/BisagSidebar/AddLayers/bisag-icons/Scenegraph3DIcon.d.ts +3 -0
  91. package/dist/BisagSidebar/AddLayers/bisag-icons/ScenegraphIcon.d.ts +3 -0
  92. package/dist/BisagSidebar/AddLayers/bisag-icons/ScreenGridIcon.d.ts +3 -0
  93. package/dist/BisagSidebar/AddLayers/bisag-icons/SolidPolygonIcon.d.ts +7 -0
  94. package/dist/BisagSidebar/AddLayers/bisag-icons/TerrainIcon.d.ts +3 -0
  95. package/dist/BisagSidebar/AddLayers/bisag-icons/TextIcon.d.ts +3 -0
  96. package/dist/BisagSidebar/AddLayers/bisag-icons/Tile3DIcon.d.ts +3 -0
  97. package/dist/BisagSidebar/AddLayers/bisag-icons/TileIcon.d.ts +3 -0
  98. package/dist/BisagSidebar/AddLayers/bisag-icons/TripIcon.d.ts +3 -0
  99. package/dist/BisagSidebar/AddLayers/bisag-icons/VectorTileIcon.d.ts +3 -0
  100. package/dist/BisagSidebar/AddLayers/bisag-icons/WMSIcon.d.ts +3 -0
  101. package/dist/BisagSidebar/ExportDataModal.d.ts +6 -0
  102. package/dist/BisagSidebar/LayerConfigContext.d.ts +49 -0
  103. package/dist/BisagSidebar/LayerConfigurationPanel.d.ts +34 -0
  104. package/dist/BisagSidebar/PersistentLayers.d.ts +2 -0
  105. package/dist/BisagSidebar/index.d.ts +6 -0
  106. package/dist/BisagSidebar/tabs/BaseMapTab.d.ts +2 -0
  107. package/dist/BisagSidebar/tabs/FiltersTab.d.ts +2 -0
  108. package/dist/BisagSidebar/tabs/InteractionsTab.d.ts +2 -0
  109. package/dist/BisagSidebar/tabs/LayersTab.d.ts +5 -0
  110. package/dist/BisagSidebar/tabs/MousePointerTab.d.ts +2 -0
  111. package/dist/BisagSidebar/tabs/index.d.ts +5 -0
  112. package/dist/BisagSidebar/widgets/AddWidgetModal.d.ts +7 -0
  113. package/dist/BisagSidebar/widgets/CategoryWidget.d.ts +7 -0
  114. package/dist/BisagSidebar/widgets/FormulaWidget.d.ts +7 -0
  115. package/dist/BisagSidebar/widgets/HistogramWidget.d.ts +7 -0
  116. package/dist/BisagSidebar/widgets/InlineWidgetConfig.d.ts +5 -0
  117. package/dist/BisagSidebar/widgets/PieWidget.d.ts +7 -0
  118. package/dist/BisagSidebar/widgets/RangeWidget.d.ts +7 -0
  119. package/dist/BisagSidebar/widgets/TableWidget.d.ts +7 -0
  120. package/dist/BisagSidebar/widgets/TimeSeriesWidget.d.ts +7 -0
  121. package/dist/BisagSidebar/widgets/WidgetRenderer.d.ts +6 -0
  122. package/dist/BisagSidebar/widgets/WidgetTypeSelector.d.ts +8 -0
  123. package/dist/BisagSidebar/widgets/WidgetsPanel.d.ts +2 -0
  124. package/dist/BisagSidebar/widgets/index.d.ts +9 -0
  125. package/dist/Legends/legendGraphicUrl.d.ts +2 -0
  126. package/dist/bisag-sidebar.css +1 -0
  127. package/dist/hooks/useDraw.d.ts +9 -0
  128. package/dist/hooks/useMultiDraw.d.ts +7 -0
  129. package/dist/index.cjs +3751 -0
  130. package/dist/index.d.ts +9 -0
  131. package/dist/index.mjs +20077 -0
  132. package/dist/main.d.ts +1 -0
  133. package/dist/stores/create-selectors.d.ts +10 -0
  134. package/dist/stores/map-store.d.ts +164 -0
  135. package/dist/stores/widget-store.d.ts +71 -0
  136. package/dist/types/layer-types.d.ts +21 -0
  137. package/dist/utils/export-formats.d.ts +32 -0
  138. package/dist/utils/fileLoaders.d.ts +78 -0
  139. package/dist/utils/original-dataset-store.d.ts +2 -0
  140. package/dist/utils/widget-data-source.d.ts +23 -0
  141. package/dist/utils/widget-utils.d.ts +68 -0
  142. package/package.json +78 -0
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # Bisag Sidebar
2
+
3
+ A Bisag-style sidebar component for geospatial data visualization. Add datasets, configure layers, filters, base maps, and export data.
4
+
5
+ ## Features
6
+
7
+ - **Layers Tab**: Add GeoJSON/CSV/Shapefile data, choose visualization types (point, line, polygon, hexbin, heatmap, etc.)
8
+ - **Filters Tab**: Create formula, category, pie, histogram, time series, and table widgets
9
+ - **Base Map Tab**: Add vector/raster/WMS tiles
10
+ - **Export**: Export to CSV, GeoJSON, WKT, KML, JSON
11
+
12
+ ## Install & Run
13
+
14
+ ```bash
15
+ cd /home/bisag/Projects/kepler-sidebar
16
+ npm install
17
+ npm run dev
18
+ ```
19
+
20
+ Open http://localhost:5173
21
+
22
+ ## Usage in Your Project
23
+
24
+ This project is structured as a standalone app. To use as an npm package:
25
+
26
+ 1. Build: `npm run build`
27
+ 2. Publish to npm or use as a local package: `npm link`
28
+ 3. In your app: `import BisagSidebar from '@bisag/bisag-sidebar'`
29
+
30
+ ## Dependencies
31
+
32
+ - React 19
33
+ - Mantine UI
34
+ - deck.gl (layers, mapbox overlay)
35
+ - MapLibre GL
36
+ - Zustand (state)
37
+ - Turf.js, H3, etc.
38
+
39
+ ## Project Structure
40
+
41
+ ```
42
+ src/
43
+ ├── BisagSidebar/ # Main sidebar component
44
+ │ ├── tabs/ # Layers, Filters, BaseMap tabs
45
+ │ ├── widgets/ # Formula, Category, Pie, etc.
46
+ │ └── AddLayers/ # Layer type selector, Deck.gl layer factories
47
+ ├── AddLayers/ # Deck.gl layer React components
48
+ ├── stores/ # Map & widget state (Zustand)
49
+ ├── utils/ # widget-utils, fileLoaders, export-formats
50
+ ├── types/
51
+ ├── hooks/
52
+ └── App.tsx
53
+ ```
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ /**
3
+ * AnimatedTripsLayerComponent
4
+ *
5
+ * Renders animated paths that represent vehicle trips.
6
+ * Reference: https://deck.gl/docs/api-reference/geo-layers/trips-layer
7
+ *
8
+ * Based on deck.gl example:
9
+ * - getPath: d => d.waypoints.map(p => p.coordinates)
10
+ * - getTimestamps: d => d.waypoints.map(p => p.timestamp)
11
+ * - currentTime: animates through timestamps
12
+ * - trailLength: 600
13
+ */
14
+ interface AnimatedTripsLayerComponentProps {
15
+ map: any;
16
+ data: any[];
17
+ selectedLayerId?: string;
18
+ dataset?: any;
19
+ fillColor?: string;
20
+ opacity?: number;
21
+ visible?: boolean;
22
+ trailLength?: number;
23
+ widthMinPixels?: number;
24
+ widthMaxPixels?: number;
25
+ capRounded?: boolean;
26
+ jointRounded?: boolean;
27
+ fadeTrail?: boolean;
28
+ animationSpeed?: number;
29
+ onClick?: (info: any) => void;
30
+ colorField?: string;
31
+ colorMapping?: Record<string, string>;
32
+ }
33
+ declare const AnimatedTripsLayerComponent: React.FC<AnimatedTripsLayerComponentProps>;
34
+ export default AnimatedTripsLayerComponent;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface ArcLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ sourceColor?: string;
8
+ targetColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ getWidth?: number;
12
+ widthMinPixels?: number;
13
+ widthMaxPixels?: number;
14
+ greatCircle?: boolean;
15
+ onClick?: (info: any) => void;
16
+ colorField?: string;
17
+ colorMapping?: Record<string, string>;
18
+ }
19
+ declare const ArcLayerComponent: React.FC<ArcLayerComponentProps>;
20
+ export default ArcLayerComponent;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface BitmapLayerComponentProps {
3
+ map: any;
4
+ image: string;
5
+ bounds: [number, number, number, number];
6
+ selectedLayerId?: string;
7
+ dataset?: any;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ desaturate?: number;
11
+ transparentColor?: [number, number, number, number];
12
+ tintColor?: [number, number, number];
13
+ onClick?: (info: any) => void;
14
+ }
15
+ declare const BitmapLayerComponent: React.FC<BitmapLayerComponentProps>;
16
+ export default BitmapLayerComponent;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface ClusterLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ clusterRadius?: number;
12
+ clusterMaxZoom?: number;
13
+ radiusMinPixels?: number;
14
+ radiusMaxPixels?: number;
15
+ onClick?: (info: any) => void;
16
+ colorField?: string;
17
+ colorMapping?: Record<string, string>;
18
+ }
19
+ declare const ClusterLayerComponent: React.FC<ClusterLayerComponentProps>;
20
+ export default ClusterLayerComponent;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ interface ColumnLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ diskResolution?: number;
12
+ radius?: number;
13
+ extruded?: boolean;
14
+ elevationScale?: number;
15
+ stroked?: boolean;
16
+ lineWidthMinPixels?: number;
17
+ onClick?: (info: any) => void;
18
+ colorField?: string;
19
+ colorMapping?: Record<string, string>;
20
+ heightField?: string;
21
+ }
22
+ declare const ColumnLayerComponent: React.FC<ColumnLayerComponentProps>;
23
+ export default ColumnLayerComponent;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface ContourLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ cellSize?: number;
11
+ contours?: {
12
+ threshold: number;
13
+ color: [number, number, number, number];
14
+ strokeWidth?: number;
15
+ }[];
16
+ onClick?: (info: any) => void;
17
+ weightField?: string;
18
+ }
19
+ declare const ContourLayerComponent: React.FC<ContourLayerComponentProps>;
20
+ export default ContourLayerComponent;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface GeoJsonLayerComponentProps {
3
+ map: any;
4
+ data: any;
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ strokeWidth?: number;
11
+ pointRadius?: number;
12
+ visible?: boolean;
13
+ colorField?: string;
14
+ colorMapping?: Record<string, string>;
15
+ onLayerSelect?: (info: any) => void;
16
+ }
17
+ declare const GeoJsonLayerComponent: React.FC<GeoJsonLayerComponentProps>;
18
+ export default GeoJsonLayerComponent;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface GeohashLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ precision?: number;
12
+ extruded?: boolean;
13
+ elevationScale?: number;
14
+ stroked?: boolean;
15
+ lineWidthMinPixels?: number;
16
+ onClick?: (info: any) => void;
17
+ colorField?: string;
18
+ colorMapping?: Record<string, string>;
19
+ heightField?: string;
20
+ }
21
+ declare const GeohashLayerComponent: React.FC<GeohashLayerComponentProps>;
22
+ export default GeohashLayerComponent;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ interface GreatCircleLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ sourceColor?: string;
8
+ targetColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ widthScale?: number;
12
+ widthMinPixels?: number;
13
+ widthMaxPixels?: number;
14
+ numSegments?: number;
15
+ onClick?: (info: any) => void;
16
+ colorField?: string;
17
+ colorMapping?: Record<string, string>;
18
+ widthField?: string;
19
+ }
20
+ declare const GreatCircleLayerComponent: React.FC<GreatCircleLayerComponentProps>;
21
+ export default GreatCircleLayerComponent;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ interface GridLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ cellSize?: number;
11
+ extruded?: boolean;
12
+ elevationScale?: number;
13
+ onClick?: (info: any) => void;
14
+ colorField?: string;
15
+ colorMapping?: Record<string, string>;
16
+ heightField?: string;
17
+ }
18
+ declare const GridLayerComponent: React.FC<GridLayerComponentProps>;
19
+ export default GridLayerComponent;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface H3ClusterLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ resolution?: number;
12
+ stroked?: boolean;
13
+ filled?: boolean;
14
+ extruded?: boolean;
15
+ elevationScale?: number;
16
+ onClick?: (info: any) => void;
17
+ colorField?: string;
18
+ colorMapping?: Record<string, string>;
19
+ heightField?: string;
20
+ }
21
+ declare const H3ClusterLayerComponent: React.FC<H3ClusterLayerComponentProps>;
22
+ export default H3ClusterLayerComponent;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface H3HexagonLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ resolution?: number;
11
+ extruded?: boolean;
12
+ elevationScale?: number;
13
+ getElevation?: (d: any) => number;
14
+ onClick?: (info: any) => void;
15
+ colorField?: string;
16
+ colorMapping?: Record<string, string>;
17
+ heightField?: string;
18
+ }
19
+ declare const H3HexagonLayerComponent: React.FC<H3HexagonLayerComponentProps>;
20
+ export default H3HexagonLayerComponent;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ interface HeatmapLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ opacity?: number;
8
+ visible?: boolean;
9
+ radiusPixels?: number;
10
+ intensity?: number;
11
+ threshold?: number;
12
+ colorRange?: [number, number, number, number][];
13
+ onClick?: (info: any) => void;
14
+ weightField?: string;
15
+ }
16
+ declare const HeatmapLayerComponent: React.FC<HeatmapLayerComponentProps>;
17
+ export default HeatmapLayerComponent;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ interface HexagonLayerProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ onLayerSelect?: (info: any) => void;
7
+ dataset?: any;
8
+ settings?: {
9
+ radius?: number;
10
+ coverage?: number;
11
+ };
12
+ onChange?: (settings: any) => void;
13
+ colorMapping?: Record<string, string>;
14
+ selectedColorField?: string;
15
+ selectedHeightField?: string;
16
+ hexagonRadius?: number;
17
+ heightMultiplier?: number;
18
+ fillColor?: string;
19
+ strokeColor?: string;
20
+ opacity?: number;
21
+ settingsButtonContainerRef?: React.RefObject<HTMLElement | null>;
22
+ visible?: boolean;
23
+ }
24
+ declare const HexagonLayerComponent: React.FC<HexagonLayerProps>;
25
+ export default HexagonLayerComponent;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface HexbinLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ radius?: number;
11
+ extruded?: boolean;
12
+ elevationScale?: number;
13
+ coverage?: number;
14
+ onClick?: (info: any) => void;
15
+ colorField?: string;
16
+ colorMapping?: Record<string, string>;
17
+ heightField?: string;
18
+ }
19
+ declare const HexbinLayerComponent: React.FC<HexbinLayerComponentProps>;
20
+ export default HexbinLayerComponent;
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ interface IconLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ iconAtlas?: string;
8
+ iconMapping?: Record<string, {
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ mask?: boolean;
14
+ }>;
15
+ opacity?: number;
16
+ visible?: boolean;
17
+ sizeScale?: number;
18
+ sizeMinPixels?: number;
19
+ sizeMaxPixels?: number;
20
+ billboard?: boolean;
21
+ onClick?: (info: any) => void;
22
+ iconField?: string;
23
+ sizeField?: string;
24
+ colorField?: string;
25
+ colorMapping?: Record<string, string>;
26
+ iconType?: string;
27
+ fillColor?: string;
28
+ }
29
+ export declare const ICON_TYPES: {
30
+ circle: {
31
+ name: string;
32
+ };
33
+ marker: {
34
+ name: string;
35
+ };
36
+ square: {
37
+ name: string;
38
+ };
39
+ diamond: {
40
+ name: string;
41
+ };
42
+ triangle: {
43
+ name: string;
44
+ };
45
+ star: {
46
+ name: string;
47
+ };
48
+ hospital: {
49
+ name: string;
50
+ };
51
+ school: {
52
+ name: string;
53
+ };
54
+ home: {
55
+ name: string;
56
+ };
57
+ flag: {
58
+ name: string;
59
+ };
60
+ };
61
+ declare const IconLayerComponent: React.FC<IconLayerComponentProps>;
62
+ export default IconLayerComponent;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ interface LineLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ widthScale?: number;
11
+ widthMinPixels?: number;
12
+ widthMaxPixels?: number;
13
+ onClick?: (info: any) => void;
14
+ colorField?: string;
15
+ colorMapping?: Record<string, string>;
16
+ widthField?: string;
17
+ }
18
+ declare const LineLayerComponent: React.FC<LineLayerComponentProps>;
19
+ export default LineLayerComponent;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ export type DashPatternType = 'solid' | 'dashed' | 'dotted' | 'longDash' | 'shortDash' | 'highway' | 'boundary' | 'railroad';
3
+ interface PathLayerComponentProps {
4
+ map: any;
5
+ data: any[];
6
+ selectedLayerId?: string;
7
+ dataset?: any;
8
+ fillColor?: string;
9
+ strokeColor?: string;
10
+ opacity?: number;
11
+ strokeWidth?: number;
12
+ visible?: boolean;
13
+ colorField?: string;
14
+ colorMapping?: Record<string, string>;
15
+ dashPattern?: DashPatternType;
16
+ dashField?: string;
17
+ dashMapping?: Record<string, DashPatternType>;
18
+ brushingEnabled?: boolean;
19
+ brushingRadius?: number;
20
+ onClick?: (info: any) => void;
21
+ }
22
+ declare const PathLayerComponent: React.FC<PathLayerComponentProps>;
23
+ export default PathLayerComponent;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface PointCloudLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ pointSize?: number;
11
+ sizeUnits?: 'pixels' | 'meters';
12
+ onClick?: (info: any) => void;
13
+ colorField?: string;
14
+ colorMapping?: Record<string, string>;
15
+ sizeField?: string;
16
+ }
17
+ declare const PointCloudLayerComponent: React.FC<PointCloudLayerComponentProps>;
18
+ export default PointCloudLayerComponent;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ interface PolygonLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ extruded?: boolean;
12
+ elevationScale?: number;
13
+ wireframe?: boolean;
14
+ lineWidthMinPixels?: number;
15
+ onClick?: (info: any) => void;
16
+ colorField?: string;
17
+ colorMapping?: Record<string, string>;
18
+ heightField?: string;
19
+ }
20
+ declare const PolygonLayerComponent: React.FC<PolygonLayerComponentProps>;
21
+ export default PolygonLayerComponent;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface QuadkeyLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ precision?: number;
12
+ extruded?: boolean;
13
+ elevationScale?: number;
14
+ stroked?: boolean;
15
+ lineWidthMinPixels?: number;
16
+ onClick?: (info: any) => void;
17
+ colorField?: string;
18
+ colorMapping?: Record<string, string>;
19
+ heightField?: string;
20
+ }
21
+ declare const QuadkeyLayerComponent: React.FC<QuadkeyLayerComponentProps>;
22
+ export default QuadkeyLayerComponent;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ interface S2LayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ level?: number;
12
+ extruded?: boolean;
13
+ elevationScale?: number;
14
+ stroked?: boolean;
15
+ lineWidthMinPixels?: number;
16
+ onClick?: (info: any) => void;
17
+ colorField?: string;
18
+ colorMapping?: Record<string, string>;
19
+ heightField?: string;
20
+ }
21
+ declare const S2LayerComponent: React.FC<S2LayerComponentProps>;
22
+ export default S2LayerComponent;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ interface ScatterplotLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ strokeColor?: string;
9
+ opacity?: number;
10
+ visible?: boolean;
11
+ radius?: number;
12
+ radiusScale?: number;
13
+ radiusMinPixels?: number;
14
+ radiusMaxPixels?: number;
15
+ lineWidthMinPixels?: number;
16
+ stroked?: boolean;
17
+ filled?: boolean;
18
+ onClick?: (info: any) => void;
19
+ colorField?: string;
20
+ colorMapping?: Record<string, string>;
21
+ radiusField?: string;
22
+ }
23
+ declare const ScatterplotLayerComponent: React.FC<ScatterplotLayerComponentProps>;
24
+ export default ScatterplotLayerComponent;
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ interface ScenegraphLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ sizeScale?: number;
11
+ scenegraph?: string;
12
+ onClick?: (info: any) => void;
13
+ colorField?: string;
14
+ colorMapping?: Record<string, string>;
15
+ sizeField?: string;
16
+ animations?: boolean;
17
+ animationSpeed?: number;
18
+ }
19
+ export declare const SCENEGRAPH_MODELS: {
20
+ boxAnimated: string;
21
+ duck: string;
22
+ cesiumMan: string;
23
+ fox: string;
24
+ airplane: string;
25
+ brainstem: string;
26
+ buggy: string;
27
+ };
28
+ declare const ScenegraphLayerComponent: React.FC<ScenegraphLayerComponentProps>;
29
+ export default ScenegraphLayerComponent;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface ScreenGridLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ cellSizePixels?: number;
11
+ colorRange?: [number, number, number, number][];
12
+ gpuAggregation?: boolean;
13
+ aggregation?: 'SUM' | 'MEAN' | 'MIN' | 'MAX';
14
+ onClick?: (info: any) => void;
15
+ weightField?: string;
16
+ }
17
+ declare const ScreenGridLayerComponent: React.FC<ScreenGridLayerComponentProps>;
18
+ export default ScreenGridLayerComponent;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface SimpleMeshLayerComponentProps {
3
+ map: any;
4
+ data: any[];
5
+ selectedLayerId?: string;
6
+ dataset?: any;
7
+ fillColor?: string;
8
+ opacity?: number;
9
+ visible?: boolean;
10
+ sizeScale?: number;
11
+ wireframe?: boolean;
12
+ onClick?: (info: any) => void;
13
+ colorField?: string;
14
+ colorMapping?: Record<string, string>;
15
+ sizeField?: string;
16
+ }
17
+ declare const SimpleMeshLayerComponent: React.FC<SimpleMeshLayerComponentProps>;
18
+ export default SimpleMeshLayerComponent;