@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
@@ -0,0 +1,157 @@
1
+ import { LineLayer } from "@deck.gl/layers";
2
+ export type Color = [number, number, number, number];
3
+ export type Position = [number, number] | [number, number, number];
4
+ export interface LineLayerConfig {
5
+ id: string;
6
+ data: any[];
7
+ getSourcePosition?: (d: any) => Position;
8
+ getTargetPosition?: (d: any) => Position;
9
+ getColor?: ((d: any) => Color) | Color;
10
+ getWidth?: ((d: any) => number) | number;
11
+ widthUnits?: "meters" | "common" | "pixels";
12
+ widthScale?: number;
13
+ widthMinPixels?: number;
14
+ widthMaxPixels?: number;
15
+ pickable?: boolean;
16
+ visible?: boolean;
17
+ opacity?: number;
18
+ onClick?: (info: any) => void;
19
+ updateTriggers?: Record<string, any[]>;
20
+ }
21
+ /**
22
+ * Hook to create LineLayer configuration for use with DeckGL
23
+ *
24
+ * @param config - Configuration for the line layer
25
+ * @returns LineLayer instance that can be used in DeckGL layers array
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * import { DeckGL } from '@deck.gl/react';
30
+ * import { useLineLayer } from './LineLayer';
31
+ *
32
+ * function MyMap() {
33
+ * const lineLayer = useLineLayer({
34
+ * id: 'line-layer',
35
+ * data: lineData,
36
+ * getSourcePosition: d => d.from.coordinates,
37
+ * getTargetPosition: d => d.to.coordinates,
38
+ * getColor: [255, 0, 0, 180],
39
+ * getWidth: 12,
40
+ * pickable: true
41
+ * });
42
+ *
43
+ * return (
44
+ * <DeckGL
45
+ * initialViewState={{ longitude: -122.4, latitude: 37.74, zoom: 11 }}
46
+ * controller={true}
47
+ * layers={[lineLayer]}
48
+ * />
49
+ * );
50
+ * }
51
+ * ```
52
+ */
53
+ export declare const useLineLayer: (config: LineLayerConfig) => LineLayer<any, {
54
+ data: string | {
55
+ length: number;
56
+ attributes?: Record<string, import("@math.gl/types").TypedArray | import("@luma.gl/core").Buffer | import("@deck.gl/core").BinaryAttribute>;
57
+ } | Iterable<any> | AsyncIterable<any[]> | Promise<import("@deck.gl/core").LayerData<any>> | null;
58
+ widthUnits: "meters" | "common" | "pixels";
59
+ widthScale: number;
60
+ widthMinPixels: number;
61
+ widthMaxPixels: number;
62
+ getSourcePosition: [number, number] | [number, number, number] | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Position>;
63
+ getTargetPosition: [number, number] | [number, number, number] | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Position>;
64
+ getColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color>;
65
+ getWidth: number | import("@deck.gl/core").AccessorFunction<any, number>;
66
+ id: string;
67
+ dataComparator: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => boolean) | null;
68
+ _dataDiff: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => {
69
+ startRow: number;
70
+ endRow?: number;
71
+ }[]) | null;
72
+ dataTransform: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: unknown, previousData?: LayerDataT) => LayerDataT) | null;
73
+ fetch: (url: string, context: {
74
+ propName: string;
75
+ layer: import("@deck.gl/core").Layer;
76
+ loaders?: import("@loaders.gl/loader-utils").Loader[];
77
+ loadOptions?: any;
78
+ signal?: AbortSignal;
79
+ }) => any;
80
+ updateTriggers: Record<string, any>;
81
+ operation: "mask" | "draw" | "terrain" | "mask+mask" | "mask+draw" | "mask+terrain" | "draw+mask" | "draw+draw" | "draw+terrain" | "terrain+mask" | "terrain+draw" | "terrain+terrain";
82
+ visible: boolean;
83
+ pickable: boolean | "3d";
84
+ opacity: number;
85
+ coordinateSystem: 0 | 2 | 1 | 3 | -1;
86
+ coordinateOrigin: [number, number, number];
87
+ modelMatrix: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@math.gl/core").Matrix4 | import("@math.gl/types").NumberArray16 | null;
88
+ wrapLongitude: boolean;
89
+ positionFormat: "XYZ" | "XY";
90
+ colorFormat: "RGBA" | "RGB";
91
+ parameters: {
92
+ cullMode?: import("@luma.gl/core").CullMode;
93
+ frontFace?: import("@luma.gl/core").FrontFace;
94
+ depthBias?: number;
95
+ depthBiasSlopeScale?: number;
96
+ depthBiasClamp?: number;
97
+ unclippedDepth?: boolean;
98
+ provokingVertex?: "first" | "last";
99
+ polygonMode?: "fill" | "line";
100
+ polygonOffsetLine?: boolean;
101
+ clipDistance0?: boolean;
102
+ clipDistance1?: boolean;
103
+ clipDistance2?: boolean;
104
+ clipDistance3?: boolean;
105
+ clipDistance4?: boolean;
106
+ clipDistance5?: boolean;
107
+ clipDistance6?: boolean;
108
+ clipDistance7?: boolean;
109
+ } & import("@luma.gl/core").DepthStencilParameters & import("@luma.gl/core").ColorParameters & import("@luma.gl/core").MultisampleParameters;
110
+ transitions: Record<string, any> | null;
111
+ extensions: import("@deck.gl/core").LayerExtension[];
112
+ loaders: import("@loaders.gl/loader-utils").Loader[];
113
+ loadOptions: any;
114
+ getPolygonOffset: ((params: {
115
+ layerIndex: number;
116
+ }) => [number, number]) | null;
117
+ autoHighlight: boolean;
118
+ highlightedObjectIndex: number | null;
119
+ highlightColor: number[] | ((pickingInfo: import("@deck.gl/core").PickingInfo) => number[]);
120
+ onDataLoad: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: LayerDataT, context: {
121
+ propName: string;
122
+ layer: import("@deck.gl/core").Layer;
123
+ }) => void) | null;
124
+ onError: ((error: Error) => boolean | void) | null;
125
+ onHover: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
126
+ onClick: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
127
+ onDragStart: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
128
+ onDrag: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
129
+ onDragEnd: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
130
+ numInstances: number | null;
131
+ startIndices: number[] | Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | null;
132
+ }>;
133
+ /**
134
+ * Helper function to create LineLayer from data
135
+ *
136
+ * @param id - Layer ID
137
+ * @param data - Array of data objects with source and target positions
138
+ * @param options - Optional configuration
139
+ * @returns LineLayer instance
140
+ *
141
+ * @example
142
+ * ```tsx
143
+ * const layer = createLineLayer(
144
+ * 'my-line-layer',
145
+ * lineData,
146
+ * {
147
+ * getSourcePosition: d => d.from.coordinates,
148
+ * getTargetPosition: d => d.to.coordinates,
149
+ * getColor: [255, 0, 0, 180],
150
+ * getWidth: 12,
151
+ * widthUnits: 'pixels'
152
+ * }
153
+ * );
154
+ * ```
155
+ */
156
+ export declare const createLineLayer: (id: string, data: any[], options?: Partial<LineLayerConfig>) => LineLayer;
157
+ export default useLineLayer;
@@ -0,0 +1,167 @@
1
+ import { PathLayer } from "@deck.gl/layers";
2
+ export type Color = [number, number, number, number];
3
+ export interface PathLayerConfig {
4
+ id: string;
5
+ data: any[];
6
+ getPath?: (d: any) => any;
7
+ getColor?: ((d: any) => Color) | Color;
8
+ getWidth?: ((d: any) => number) | number;
9
+ widthUnits?: "meters" | "common" | "pixels";
10
+ widthScale?: number;
11
+ widthMinPixels?: number;
12
+ widthMaxPixels?: number;
13
+ capRounded?: boolean;
14
+ jointRounded?: boolean;
15
+ billboard?: boolean;
16
+ miterLimit?: number;
17
+ _pathType?: "loop" | "open" | null;
18
+ positionFormat?: "XYZ" | "XY";
19
+ pickable?: boolean;
20
+ visible?: boolean;
21
+ opacity?: number;
22
+ onClick?: (info: any) => void;
23
+ updateTriggers?: Record<string, any[]>;
24
+ extensions?: any[];
25
+ getDashArray?: ((d: any) => [number, number]) | [number, number];
26
+ }
27
+ /**
28
+ * Hook to create PathLayer configuration for use with DeckGL
29
+ *
30
+ * @param config - Configuration for the path layer
31
+ * @returns PathLayer instance that can be used in DeckGL layers array
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * import { DeckGL } from '@deck.gl/react';
36
+ * import { usePathLayer } from './PathLayer';
37
+ *
38
+ * function MyMap() {
39
+ * const pathLayer = usePathLayer({
40
+ * id: 'path-layer',
41
+ * data: pathData,
42
+ * getPath: d => d.path,
43
+ * getColor: d => [255, 0, 0, 180],
44
+ * getWidth: 100,
45
+ * pickable: true
46
+ * });
47
+ *
48
+ * return (
49
+ * <DeckGL
50
+ * initialViewState={{ longitude: -122.4, latitude: 37.74, zoom: 11 }}
51
+ * controller={true}
52
+ * layers={[pathLayer]}
53
+ * />
54
+ * );
55
+ * }
56
+ * ```
57
+ */
58
+ export declare const usePathLayer: (config: PathLayerConfig) => PathLayer<any, {
59
+ data: string | {
60
+ length: number;
61
+ attributes?: Record<string, import("@math.gl/types").TypedArray | import("@luma.gl/core").Buffer | import("@deck.gl/core").BinaryAttribute>;
62
+ } | Iterable<any> | AsyncIterable<any[]> | Promise<import("@deck.gl/core").LayerData<any>> | null;
63
+ widthUnits: "meters" | "common" | "pixels";
64
+ widthScale: number;
65
+ widthMinPixels: number;
66
+ widthMaxPixels: number;
67
+ jointRounded: boolean;
68
+ capRounded: boolean;
69
+ miterLimit: number;
70
+ billboard: boolean;
71
+ _pathType: null | "loop" | "open";
72
+ getPath: import("@deck.gl/core").AccessorFunction<any, import("node_modules/@deck.gl/layers/dist/path-layer/path").PathGeometry>;
73
+ getColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").Color[] | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color | import("@deck.gl/core").Color[]>;
74
+ getWidth: number | number[] | import("@deck.gl/core").AccessorFunction<any, number | number[]>;
75
+ rounded: boolean;
76
+ id: string;
77
+ dataComparator: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => boolean) | null;
78
+ _dataDiff: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => {
79
+ startRow: number;
80
+ endRow?: number;
81
+ }[]) | null;
82
+ dataTransform: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: unknown, previousData?: LayerDataT) => LayerDataT) | null;
83
+ fetch: (url: string, context: {
84
+ propName: string;
85
+ layer: import("@deck.gl/core").Layer;
86
+ loaders?: import("@loaders.gl/loader-utils").Loader[];
87
+ loadOptions?: any;
88
+ signal?: AbortSignal;
89
+ }) => any;
90
+ updateTriggers: Record<string, any>;
91
+ operation: "mask" | "draw" | "terrain" | "mask+mask" | "mask+draw" | "mask+terrain" | "draw+mask" | "draw+draw" | "draw+terrain" | "terrain+mask" | "terrain+draw" | "terrain+terrain";
92
+ visible: boolean;
93
+ pickable: boolean | "3d";
94
+ opacity: number;
95
+ coordinateSystem: 0 | 2 | 1 | 3 | -1;
96
+ coordinateOrigin: [number, number, number];
97
+ modelMatrix: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@math.gl/core").Matrix4 | import("@math.gl/types").NumberArray16 | null;
98
+ wrapLongitude: boolean;
99
+ positionFormat: "XYZ" | "XY";
100
+ colorFormat: "RGBA" | "RGB";
101
+ parameters: {
102
+ cullMode?: import("@luma.gl/core").CullMode;
103
+ frontFace?: import("@luma.gl/core").FrontFace;
104
+ depthBias?: number;
105
+ depthBiasSlopeScale?: number;
106
+ depthBiasClamp?: number;
107
+ unclippedDepth?: boolean;
108
+ provokingVertex?: "first" | "last";
109
+ polygonMode?: "fill" | "line";
110
+ polygonOffsetLine?: boolean;
111
+ clipDistance0?: boolean;
112
+ clipDistance1?: boolean;
113
+ clipDistance2?: boolean;
114
+ clipDistance3?: boolean;
115
+ clipDistance4?: boolean;
116
+ clipDistance5?: boolean;
117
+ clipDistance6?: boolean;
118
+ clipDistance7?: boolean;
119
+ } & import("@luma.gl/core").DepthStencilParameters & import("@luma.gl/core").ColorParameters & import("@luma.gl/core").MultisampleParameters;
120
+ transitions: Record<string, any> | null;
121
+ extensions: import("@deck.gl/core").LayerExtension[];
122
+ loaders: import("@loaders.gl/loader-utils").Loader[];
123
+ loadOptions: any;
124
+ getPolygonOffset: ((params: {
125
+ layerIndex: number;
126
+ }) => [number, number]) | null;
127
+ autoHighlight: boolean;
128
+ highlightedObjectIndex: number | null;
129
+ highlightColor: number[] | ((pickingInfo: import("@deck.gl/core").PickingInfo) => number[]);
130
+ onDataLoad: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: LayerDataT, context: {
131
+ propName: string;
132
+ layer: import("@deck.gl/core").Layer;
133
+ }) => void) | null;
134
+ onError: ((error: Error) => boolean | void) | null;
135
+ onHover: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
136
+ onClick: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
137
+ onDragStart: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
138
+ onDrag: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
139
+ onDragEnd: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
140
+ numInstances: number | null;
141
+ startIndices: number[] | Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | null;
142
+ }>;
143
+ /**
144
+ * Helper function to create PathLayer from data
145
+ *
146
+ * @param id - Layer ID
147
+ * @param data - Array of data objects with path geometries
148
+ * @param options - Optional configuration
149
+ * @returns PathLayer instance
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * const layer = createPathLayer(
154
+ * 'my-path-layer',
155
+ * pathData,
156
+ * {
157
+ * getPath: d => d.path,
158
+ * getColor: [255, 0, 0, 180],
159
+ * getWidth: 100,
160
+ * capRounded: true,
161
+ * jointRounded: true
162
+ * }
163
+ * );
164
+ * ```
165
+ */
166
+ export declare const createPathLayer: (id: string, data: any[], options?: Partial<PathLayerConfig>) => PathLayer;
167
+ export default usePathLayer;
@@ -0,0 +1,136 @@
1
+ import { PolygonLayer } from "@deck.gl/layers";
2
+ export type Color = [number, number, number, number];
3
+ export interface PolygonLayerConfig {
4
+ id: string;
5
+ data: any[];
6
+ getPolygon?: (d: any) => number[][][] | number[][];
7
+ getFillColor?: ((d: any) => Color) | Color;
8
+ getLineColor?: ((d: any) => Color) | Color;
9
+ getLineWidth?: ((d: any) => number) | number;
10
+ getElevation?: ((d: any) => number) | number;
11
+ lineWidthScale?: number;
12
+ lineWidthMinPixels?: number;
13
+ lineWidthMaxPixels?: number;
14
+ elevationScale?: number;
15
+ extruded?: boolean;
16
+ wireframe?: boolean;
17
+ stroked?: boolean;
18
+ filled?: boolean;
19
+ pickable?: boolean;
20
+ visible?: boolean;
21
+ opacity?: number;
22
+ onClick?: (info: any) => void;
23
+ updateTriggers?: Record<string, any[]>;
24
+ }
25
+ /**
26
+ * Hook to create PolygonLayer configuration for use with DeckGL
27
+ * Polygon layer: Display polygon geometries
28
+ * Reference: https://deck.gl/docs/api-reference/layers/polygon-layer
29
+ *
30
+ * @param config - Configuration for the Polygon layer
31
+ * @returns PolygonLayer instance
32
+ */
33
+ export declare const usePolygonLayer: (config: PolygonLayerConfig) => PolygonLayer<any, {
34
+ data: string | {
35
+ length: number;
36
+ attributes?: Record<string, import("@math.gl/types").TypedArray | import("@luma.gl/core").Buffer | import("@deck.gl/core").BinaryAttribute>;
37
+ } | Iterable<any> | AsyncIterable<any[]> | Promise<import("@deck.gl/core").LayerData<any>> | null;
38
+ stroked: boolean;
39
+ filled: boolean;
40
+ extruded: boolean;
41
+ elevationScale: number;
42
+ wireframe: boolean;
43
+ lineWidthUnits: "meters" | "common" | "pixels";
44
+ lineWidthScale: number;
45
+ lineWidthMinPixels: number;
46
+ lineWidthMaxPixels: number;
47
+ lineJointRounded: boolean;
48
+ lineMiterLimit: number;
49
+ lineDashJustified: boolean;
50
+ getPolygon: import("@deck.gl/core").AccessorFunction<any, any>;
51
+ getFillColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color>;
52
+ getLineColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color>;
53
+ getLineWidth: number | import("@deck.gl/core").AccessorFunction<any, number>;
54
+ getElevation: number | import("@deck.gl/core").AccessorFunction<any, number>;
55
+ getLineDashArray: number | import("@deck.gl/core").AccessorFunction<any, number> | null;
56
+ _normalize: boolean;
57
+ _windingOrder: "CW" | "CCW";
58
+ material: import("@deck.gl/core").Material;
59
+ id: string;
60
+ dataComparator: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => boolean) | null;
61
+ _dataDiff: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => {
62
+ startRow: number;
63
+ endRow?: number;
64
+ }[]) | null;
65
+ dataTransform: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: unknown, previousData?: LayerDataT) => LayerDataT) | null;
66
+ fetch: (url: string, context: {
67
+ propName: string;
68
+ layer: import("@deck.gl/core").Layer;
69
+ loaders?: import("@loaders.gl/loader-utils").Loader[];
70
+ loadOptions?: any;
71
+ signal?: AbortSignal;
72
+ }) => any;
73
+ updateTriggers: Record<string, any>;
74
+ operation: "mask" | "draw" | "terrain" | "mask+mask" | "mask+draw" | "mask+terrain" | "draw+mask" | "draw+draw" | "draw+terrain" | "terrain+mask" | "terrain+draw" | "terrain+terrain";
75
+ visible: boolean;
76
+ pickable: boolean | "3d";
77
+ opacity: number;
78
+ coordinateSystem: 0 | 2 | 1 | 3 | -1;
79
+ coordinateOrigin: [number, number, number];
80
+ modelMatrix: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@math.gl/core").Matrix4 | import("@math.gl/types").NumberArray16 | null;
81
+ wrapLongitude: boolean;
82
+ positionFormat: "XYZ" | "XY";
83
+ colorFormat: "RGBA" | "RGB";
84
+ parameters: {
85
+ cullMode?: import("@luma.gl/core").CullMode;
86
+ frontFace?: import("@luma.gl/core").FrontFace;
87
+ depthBias?: number;
88
+ depthBiasSlopeScale?: number;
89
+ depthBiasClamp?: number;
90
+ unclippedDepth?: boolean;
91
+ provokingVertex?: "first" | "last";
92
+ polygonMode?: "fill" | "line";
93
+ polygonOffsetLine?: boolean;
94
+ clipDistance0?: boolean;
95
+ clipDistance1?: boolean;
96
+ clipDistance2?: boolean;
97
+ clipDistance3?: boolean;
98
+ clipDistance4?: boolean;
99
+ clipDistance5?: boolean;
100
+ clipDistance6?: boolean;
101
+ clipDistance7?: boolean;
102
+ } & import("@luma.gl/core").DepthStencilParameters & import("@luma.gl/core").ColorParameters & import("@luma.gl/core").MultisampleParameters;
103
+ transitions: Record<string, any> | null;
104
+ extensions: import("@deck.gl/core").LayerExtension[];
105
+ loaders: import("@loaders.gl/loader-utils").Loader[];
106
+ loadOptions: any;
107
+ getPolygonOffset: ((params: {
108
+ layerIndex: number;
109
+ }) => [number, number]) | null;
110
+ autoHighlight: boolean;
111
+ highlightedObjectIndex: number | null;
112
+ highlightColor: number[] | ((pickingInfo: import("@deck.gl/core").PickingInfo) => number[]);
113
+ onDataLoad: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: LayerDataT, context: {
114
+ propName: string;
115
+ layer: import("@deck.gl/core").Layer;
116
+ }) => void) | null;
117
+ onError: ((error: Error) => boolean | void) | null;
118
+ onHover: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
119
+ onClick: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
120
+ onDragStart: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
121
+ onDrag: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
122
+ onDragEnd: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
123
+ numInstances: number | null;
124
+ startIndices: number[] | Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | null;
125
+ _subLayerProps: {
126
+ [subLayerId: string]: {
127
+ type?: import("@deck.gl/core")._ConstructorOf<import("@deck.gl/core").Layer>;
128
+ [propName: string]: any;
129
+ };
130
+ } | null;
131
+ }>;
132
+ /**
133
+ * Helper function to create PolygonLayer from data
134
+ */
135
+ export declare const createPolygonLayer: (id: string, data: any[], options?: Partial<PolygonLayerConfig>) => PolygonLayer;
136
+ export default usePolygonLayer;
@@ -0,0 +1,168 @@
1
+ import { QuadkeyLayer } from "@deck.gl/geo-layers";
2
+ export type Color = [number, number, number, number];
3
+ export interface QuadkeyLayerConfig {
4
+ id: string;
5
+ data: any[];
6
+ getQuadkey?: (d: any) => string;
7
+ getFillColor?: ((d: any) => Color) | Color;
8
+ getElevation?: ((d: any) => number) | number;
9
+ elevationScale?: number;
10
+ extruded?: boolean;
11
+ pickable?: boolean;
12
+ visible?: boolean;
13
+ opacity?: number;
14
+ stroked?: boolean;
15
+ filled?: boolean;
16
+ lineWidthMinPixels?: number;
17
+ getLineColor?: ((d: any) => Color) | Color;
18
+ getLineWidth?: ((d: any) => number) | number;
19
+ onClick?: (info: any) => void;
20
+ updateTriggers?: Record<string, any[]>;
21
+ }
22
+ /**
23
+ * Hook to create QuadkeyLayer configuration for use with DeckGL
24
+ * Quadkey visualization: Display data aggregated by quadkey cells (Bing Maps tile system)
25
+ * Reference: https://deck.gl/docs/api-reference/geo-layers/quadkey-layer
26
+ *
27
+ * Quadkey is a tile indexing system used by Bing Maps. Each quadkey represents
28
+ * a specific tile at a specific zoom level on the map.
29
+ *
30
+ * @param config - Configuration for the Quadkey layer
31
+ * @returns QuadkeyLayer instance
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * const layer = useQuadkeyLayer({
36
+ * id: 'quadkey-layer',
37
+ * data: quadkeyData,
38
+ * getQuadkey: d => d.quadkey,
39
+ * getFillColor: d => [255, 0, 0, 180],
40
+ * extruded: true,
41
+ * getElevation: d => d.count
42
+ * });
43
+ * ```
44
+ */
45
+ export declare const useQuadkeyLayer: (config: QuadkeyLayerConfig) => QuadkeyLayer<any, {
46
+ getQuadkey: import("@deck.gl/core").AccessorFunction<any, string>;
47
+ data: string | {
48
+ length: number;
49
+ attributes?: Record<string, import("@math.gl/types").TypedArray | import("@luma.gl/core").Buffer | import("@deck.gl/core").BinaryAttribute>;
50
+ } | Iterable<any> | AsyncIterable<any[]> | Promise<import("@deck.gl/core").LayerData<any>> | null;
51
+ stroked: boolean;
52
+ filled: boolean;
53
+ extruded: boolean;
54
+ elevationScale: number;
55
+ wireframe: boolean;
56
+ lineWidthUnits: "meters" | "common" | "pixels";
57
+ lineWidthScale: number;
58
+ lineWidthMinPixels: number;
59
+ lineWidthMaxPixels: number;
60
+ lineJointRounded: boolean;
61
+ lineMiterLimit: number;
62
+ lineDashJustified: boolean;
63
+ getPolygon: import("@deck.gl/core").AccessorFunction<any, any>;
64
+ getFillColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color>;
65
+ getLineColor: [number, number, number, number] | [number, number, number] | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | import("@deck.gl/core").AccessorFunction<any, import("@deck.gl/core").Color>;
66
+ getLineWidth: number | import("@deck.gl/core").AccessorFunction<any, number>;
67
+ getElevation: number | import("@deck.gl/core").AccessorFunction<any, number>;
68
+ getLineDashArray: number | import("@deck.gl/core").AccessorFunction<any, number> | null;
69
+ _normalize: boolean;
70
+ _windingOrder: "CW" | "CCW";
71
+ material: import("@deck.gl/core").Material;
72
+ id: string;
73
+ dataComparator: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => boolean) | null;
74
+ _dataDiff: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(newData: LayerDataT, oldData?: LayerDataT) => {
75
+ startRow: number;
76
+ endRow?: number;
77
+ }[]) | null;
78
+ dataTransform: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: unknown, previousData?: LayerDataT) => LayerDataT) | null;
79
+ fetch: (url: string, context: {
80
+ propName: string;
81
+ layer: import("@deck.gl/core").Layer;
82
+ loaders?: import("@loaders.gl/loader-utils").Loader[];
83
+ loadOptions?: any;
84
+ signal?: AbortSignal;
85
+ }) => any;
86
+ updateTriggers: Record<string, any>;
87
+ operation: "mask" | "draw" | "terrain" | "mask+mask" | "mask+draw" | "mask+terrain" | "draw+mask" | "draw+draw" | "draw+terrain" | "terrain+mask" | "terrain+draw" | "terrain+terrain";
88
+ visible: boolean;
89
+ pickable: boolean | "3d";
90
+ opacity: number;
91
+ coordinateSystem: 0 | 2 | 1 | 3 | -1;
92
+ coordinateOrigin: [number, number, number];
93
+ modelMatrix: Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | import("@math.gl/core").Matrix4 | import("@math.gl/types").NumberArray16 | null;
94
+ wrapLongitude: boolean;
95
+ positionFormat: "XYZ" | "XY";
96
+ colorFormat: "RGBA" | "RGB";
97
+ parameters: {
98
+ cullMode?: import("@luma.gl/core").CullMode;
99
+ frontFace?: import("@luma.gl/core").FrontFace;
100
+ depthBias?: number;
101
+ depthBiasSlopeScale?: number;
102
+ depthBiasClamp?: number;
103
+ unclippedDepth?: boolean;
104
+ provokingVertex?: "first" | "last";
105
+ polygonMode?: "fill" | "line";
106
+ polygonOffsetLine?: boolean;
107
+ clipDistance0?: boolean;
108
+ clipDistance1?: boolean;
109
+ clipDistance2?: boolean;
110
+ clipDistance3?: boolean;
111
+ clipDistance4?: boolean;
112
+ clipDistance5?: boolean;
113
+ clipDistance6?: boolean;
114
+ clipDistance7?: boolean;
115
+ } & import("@luma.gl/core").DepthStencilParameters & import("@luma.gl/core").ColorParameters & import("@luma.gl/core").MultisampleParameters;
116
+ transitions: Record<string, any> | null;
117
+ extensions: import("@deck.gl/core").LayerExtension[];
118
+ loaders: import("@loaders.gl/loader-utils").Loader[];
119
+ loadOptions: any;
120
+ getPolygonOffset: ((params: {
121
+ layerIndex: number;
122
+ }) => [number, number]) | null;
123
+ autoHighlight: boolean;
124
+ highlightedObjectIndex: number | null;
125
+ highlightColor: number[] | ((pickingInfo: import("@deck.gl/core").PickingInfo) => number[]);
126
+ onDataLoad: (<LayerDataT = import("@deck.gl/core").LayerData<unknown>>(data: LayerDataT, context: {
127
+ propName: string;
128
+ layer: import("@deck.gl/core").Layer;
129
+ }) => void) | null;
130
+ onError: ((error: Error) => boolean | void) | null;
131
+ onHover: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
132
+ onClick: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
133
+ onDragStart: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
134
+ onDrag: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
135
+ onDragEnd: ((pickingInfo: import("@deck.gl/core").PickingInfo, event: import("mjolnir.js").MjolnirEvent) => boolean | void) | null;
136
+ numInstances: number | null;
137
+ startIndices: number[] | Int8Array<ArrayBufferLike> | Uint8Array<ArrayBufferLike> | Uint8ClampedArray<ArrayBufferLike> | Int16Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Int32Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBufferLike> | Float64Array<ArrayBufferLike> | null;
138
+ _subLayerProps: {
139
+ [subLayerId: string]: {
140
+ type?: import("@deck.gl/core")._ConstructorOf<import("@deck.gl/core").Layer>;
141
+ [propName: string]: any;
142
+ };
143
+ } | null;
144
+ }>;
145
+ /**
146
+ * Helper function to create QuadkeyLayer from data
147
+ *
148
+ * @param id - Layer ID
149
+ * @param data - Array of data objects with quadkey strings
150
+ * @param options - Optional configuration
151
+ * @returns QuadkeyLayer instance
152
+ *
153
+ * @example
154
+ * ```tsx
155
+ * const layer = createQuadkeyLayer(
156
+ * 'my-quadkey-layer',
157
+ * quadkeyData,
158
+ * {
159
+ * getQuadkey: d => d.quadkey,
160
+ * getFillColor: [255, 0, 0, 180],
161
+ * extruded: true,
162
+ * getElevation: d => d.count * 10
163
+ * }
164
+ * );
165
+ * ```
166
+ */
167
+ export declare const createQuadkeyLayer: (id: string, data: any[], options?: Partial<QuadkeyLayerConfig>) => QuadkeyLayer;
168
+ export default useQuadkeyLayer;