vue-openlayers-plugin 1.0.81 → 1.0.84

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 (238) hide show
  1. package/lib/BasemapPanel-1145a7ed.mjs +280 -0
  2. package/lib/CoordinateLocationDialog-be972ee5.mjs +263 -0
  3. package/lib/FilterPanel-9d55d20c.mjs +6 -0
  4. package/lib/LayerPanel-0272f4a3.mjs +6 -0
  5. package/lib/MapPrintDialog-3d0a2891.mjs +6 -0
  6. package/lib/MeasurementDialog-37a0bbb3.mjs +369 -0
  7. package/lib/MyMarkersDialog-61d5c30d.mjs +584 -0
  8. package/lib/RegionNavigationDialog-0808549f.mjs +1320 -0
  9. package/lib/ViewBookmarksDialog-107a29d1.mjs +723 -0
  10. package/lib/index-3d1e1ad0.mjs +839 -0
  11. package/lib/{index-f007f12f.mjs → index-6f94a7fa.mjs} +50503 -53889
  12. package/lib/index-91e9a4e6.mjs +756 -0
  13. package/lib/{index.es-a1c63a58.mjs → index.es-03fbdea2.mjs} +1 -1
  14. package/lib/index.esm.js +65 -56
  15. package/lib/index.umd.js +73682 -71991
  16. package/lib/style.css +1705 -1704
  17. package/package.json +8 -4
  18. package/types/src/assets/index.d.ts +9 -0
  19. package/types/src/assets/index.d.ts.map +1 -0
  20. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +16 -16
  21. package/types/src/components/CustomDialog/icons/index.d.ts +14 -0
  22. package/types/src/components/CustomDialog/icons/index.d.ts.map +1 -0
  23. package/types/src/components/CustomOpenlayer/services/searchService.d.ts.map +1 -1
  24. package/types/src/components/CustomOpenlayer/types/index.d.ts +6 -0
  25. package/types/src/components/CustomOpenlayer/types/index.d.ts.map +1 -1
  26. package/types/src/components/CustomOpenlayer/utils/tiandituSearchApi.d.ts +3 -0
  27. package/types/src/components/CustomOpenlayer/utils/tiandituSearchApi.d.ts.map +1 -1
  28. package/types/src/components/OlBaseLayerSwitcher.vue.d.ts +19 -0
  29. package/types/src/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -0
  30. package/types/src/components/OlControlPanel.vue.d.ts +63 -0
  31. package/types/src/components/OlControlPanel.vue.d.ts.map +1 -0
  32. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +20 -0
  33. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -0
  34. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts +21 -0
  35. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts.map +1 -0
  36. package/types/src/components/OlDialogs/DialogManager.d.ts +58 -0
  37. package/types/src/components/OlDialogs/DialogManager.d.ts.map +1 -0
  38. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts +33 -0
  39. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts.map +1 -0
  40. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts +1345 -0
  41. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -0
  42. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts +23 -0
  43. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts.map +1 -0
  44. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts +28 -0
  45. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts.map +1 -0
  46. package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts +3 -0
  47. package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts.map +1 -0
  48. package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts +3 -0
  49. package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts.map +1 -0
  50. package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts +3 -0
  51. package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts.map +1 -0
  52. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts +24 -0
  53. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts.map +1 -0
  54. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +41 -0
  55. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -0
  56. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts +21 -0
  57. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts.map +1 -0
  58. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts +25 -0
  59. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts.map +1 -0
  60. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts +21 -0
  61. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts.map +1 -0
  62. package/types/src/components/OlDialogs/registry.d.ts +39 -0
  63. package/types/src/components/OlDialogs/registry.d.ts.map +1 -0
  64. package/types/src/components/OlDrawToolbar.vue.d.ts +61 -0
  65. package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -0
  66. package/types/src/components/OlLegendPanel.vue.d.ts +69 -0
  67. package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -0
  68. package/types/src/components/OlMapContainer.vue.d.ts +112 -0
  69. package/types/src/components/OlMapContainer.vue.d.ts.map +1 -0
  70. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts +47 -0
  71. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts.map +1 -0
  72. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts +63 -0
  73. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts.map +1 -0
  74. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts +45 -0
  75. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts.map +1 -0
  76. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts +45 -0
  77. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts.map +1 -0
  78. package/types/src/components/OlMapPopup/index.d.ts +9 -0
  79. package/types/src/components/OlMapPopup/index.d.ts.map +1 -0
  80. package/types/src/components/OlMapPopup/types.d.ts +118 -0
  81. package/types/src/components/OlMapPopup/types.d.ts.map +1 -0
  82. package/types/src/components/OlMapSearch.vue.d.ts +126 -0
  83. package/types/src/components/OlMapSearch.vue.d.ts.map +1 -0
  84. package/types/src/components/OlMapTooltip.vue.d.ts +70 -0
  85. package/types/src/components/OlMapTooltip.vue.d.ts.map +1 -0
  86. package/types/src/core/EventBus.d.ts +66 -0
  87. package/types/src/core/EventBus.d.ts.map +1 -0
  88. package/types/src/core/EventManager.d.ts +147 -0
  89. package/types/src/core/EventManager.d.ts.map +1 -0
  90. package/types/src/core/FeatureHighlightManager.d.ts +103 -0
  91. package/types/src/core/FeatureHighlightManager.d.ts.map +1 -0
  92. package/types/src/core/GlobalStyleManager.d.ts +76 -0
  93. package/types/src/core/GlobalStyleManager.d.ts.map +1 -0
  94. package/types/src/core/LayerConfigManager.d.ts +66 -0
  95. package/types/src/core/LayerConfigManager.d.ts.map +1 -0
  96. package/types/src/core/LayerManager.d.ts +198 -0
  97. package/types/src/core/LayerManager.d.ts.map +1 -0
  98. package/types/src/core/LayerTreeManager.d.ts +125 -0
  99. package/types/src/core/LayerTreeManager.d.ts.map +1 -0
  100. package/types/src/core/MapManager.d.ts +203 -0
  101. package/types/src/core/MapManager.d.ts.map +1 -0
  102. package/types/src/core/MarkerDrawingAdapter.d.ts +125 -0
  103. package/types/src/core/MarkerDrawingAdapter.d.ts.map +1 -0
  104. package/types/src/core/PluginManager.d.ts +158 -0
  105. package/types/src/core/PluginManager.d.ts.map +1 -0
  106. package/types/src/core/PopupManager.d.ts +110 -0
  107. package/types/src/core/PopupManager.d.ts.map +1 -0
  108. package/types/src/core/SearchMarkerManager.d.ts +96 -0
  109. package/types/src/core/SearchMarkerManager.d.ts.map +1 -0
  110. package/types/src/core/TooltipHelper.d.ts +134 -0
  111. package/types/src/core/TooltipHelper.d.ts.map +1 -0
  112. package/types/src/core/amapSearchApi.d.ts +57 -0
  113. package/types/src/core/amapSearchApi.d.ts.map +1 -0
  114. package/types/src/core/basemapManager.d.ts +63 -0
  115. package/types/src/core/basemapManager.d.ts.map +1 -0
  116. package/types/src/core/configLoader.d.ts +159 -0
  117. package/types/src/core/configLoader.d.ts.map +1 -0
  118. package/types/src/core/drawing/BaseDrawing.d.ts +255 -0
  119. package/types/src/core/drawing/BaseDrawing.d.ts.map +1 -0
  120. package/types/src/core/drawing/DrawingManager.d.ts +394 -0
  121. package/types/src/core/drawing/DrawingManager.d.ts.map +1 -0
  122. package/types/src/core/drawing/IconDrawing.d.ts +188 -0
  123. package/types/src/core/drawing/IconDrawing.d.ts.map +1 -0
  124. package/types/src/core/drawing/ImageDrawing.d.ts +193 -0
  125. package/types/src/core/drawing/ImageDrawing.d.ts.map +1 -0
  126. package/types/src/core/drawing/LineDrawing.d.ts +193 -0
  127. package/types/src/core/drawing/LineDrawing.d.ts.map +1 -0
  128. package/types/src/core/drawing/MilitaryDrawing.d.ts +175 -0
  129. package/types/src/core/drawing/MilitaryDrawing.d.ts.map +1 -0
  130. package/types/src/core/drawing/MultiLineStringDrawing.d.ts +294 -0
  131. package/types/src/core/drawing/MultiLineStringDrawing.d.ts.map +1 -0
  132. package/types/src/core/drawing/MultiPointDrawing.d.ts +244 -0
  133. package/types/src/core/drawing/MultiPointDrawing.d.ts.map +1 -0
  134. package/types/src/core/drawing/MultiPolygonDrawing.d.ts +206 -0
  135. package/types/src/core/drawing/MultiPolygonDrawing.d.ts.map +1 -0
  136. package/types/src/core/drawing/PointDrawing.d.ts +175 -0
  137. package/types/src/core/drawing/PointDrawing.d.ts.map +1 -0
  138. package/types/src/core/drawing/PointWithTextDrawing.d.ts +183 -0
  139. package/types/src/core/drawing/PointWithTextDrawing.d.ts.map +1 -0
  140. package/types/src/core/drawing/PolygonDrawing.d.ts +240 -0
  141. package/types/src/core/drawing/PolygonDrawing.d.ts.map +1 -0
  142. package/types/src/core/drawing/TextDrawing.d.ts +164 -0
  143. package/types/src/core/drawing/TextDrawing.d.ts.map +1 -0
  144. package/types/src/core/drawing/index.d.ts +525 -0
  145. package/types/src/core/drawing/index.d.ts.map +1 -0
  146. package/types/src/core/geoJsonLocationTool.d.ts +116 -0
  147. package/types/src/core/geoJsonLocationTool.d.ts.map +1 -0
  148. package/types/src/core/layers/BaseLayer.d.ts +162 -0
  149. package/types/src/core/layers/BaseLayer.d.ts.map +1 -0
  150. package/types/src/core/layers/CanvasLayerHandler.d.ts +65 -0
  151. package/types/src/core/layers/CanvasLayerHandler.d.ts.map +1 -0
  152. package/types/src/core/layers/ClusterLayerHandler.d.ts +122 -0
  153. package/types/src/core/layers/ClusterLayerHandler.d.ts.map +1 -0
  154. package/types/src/core/layers/GMLLayerHandler.d.ts +107 -0
  155. package/types/src/core/layers/GMLLayerHandler.d.ts.map +1 -0
  156. package/types/src/core/layers/GeoJSONLayerHandler.d.ts +125 -0
  157. package/types/src/core/layers/GeoJSONLayerHandler.d.ts.map +1 -0
  158. package/types/src/core/layers/HeatmapLayerHandler.d.ts +86 -0
  159. package/types/src/core/layers/HeatmapLayerHandler.d.ts.map +1 -0
  160. package/types/src/core/layers/ImageVectorLayerHandler.d.ts +77 -0
  161. package/types/src/core/layers/ImageVectorLayerHandler.d.ts.map +1 -0
  162. package/types/src/core/layers/KMLLayerHandler.d.ts +95 -0
  163. package/types/src/core/layers/KMLLayerHandler.d.ts.map +1 -0
  164. package/types/src/core/layers/LayerFactory.d.ts +63 -0
  165. package/types/src/core/layers/LayerFactory.d.ts.map +1 -0
  166. package/types/src/core/layers/SuperMapServiceTester.d.ts +54 -0
  167. package/types/src/core/layers/SuperMapServiceTester.d.ts.map +1 -0
  168. package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts +35 -0
  169. package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts.map +1 -0
  170. package/types/src/core/layers/TiandituConfigHelper.d.ts +120 -0
  171. package/types/src/core/layers/TiandituConfigHelper.d.ts.map +1 -0
  172. package/types/src/core/layers/TiandituLayerHandler.d.ts +75 -0
  173. package/types/src/core/layers/TiandituLayerHandler.d.ts.map +1 -0
  174. package/types/src/core/layers/TileLayerHandler.d.ts +42 -0
  175. package/types/src/core/layers/TileLayerHandler.d.ts.map +1 -0
  176. package/types/src/core/layers/TileSuperMapRestHandler.d.ts +161 -0
  177. package/types/src/core/layers/TileSuperMapRestHandler.d.ts.map +1 -0
  178. package/types/src/core/layers/VectorTileLayerHandler.d.ts +126 -0
  179. package/types/src/core/layers/VectorTileLayerHandler.d.ts.map +1 -0
  180. package/types/src/core/layers/WFSLayerHandler.d.ts +80 -0
  181. package/types/src/core/layers/WFSLayerHandler.d.ts.map +1 -0
  182. package/types/src/core/layers/WKTLayerHandler.d.ts +123 -0
  183. package/types/src/core/layers/WKTLayerHandler.d.ts.map +1 -0
  184. package/types/src/core/layers/WMSLayerHandler.d.ts +78 -0
  185. package/types/src/core/layers/WMSLayerHandler.d.ts.map +1 -0
  186. package/types/src/core/layers/WMTSLayerHandler.d.ts +44 -0
  187. package/types/src/core/layers/WMTSLayerHandler.d.ts.map +1 -0
  188. package/types/src/core/layers/index.d.ts +20 -0
  189. package/types/src/core/layers/index.d.ts.map +1 -0
  190. package/types/src/core/layers/interfaces.d.ts +95 -0
  191. package/types/src/core/layers/interfaces.d.ts.map +1 -0
  192. package/types/src/core/mapOperationTool.d.ts +145 -0
  193. package/types/src/core/mapOperationTool.d.ts.map +1 -0
  194. package/types/src/core/measurementTool.d.ts +136 -0
  195. package/types/src/core/measurementTool.d.ts.map +1 -0
  196. package/types/src/core/overviewMapUtil.d.ts +62 -0
  197. package/types/src/core/overviewMapUtil.d.ts.map +1 -0
  198. package/types/src/core/proxyHelper.d.ts +66 -0
  199. package/types/src/core/proxyHelper.d.ts.map +1 -0
  200. package/types/src/core/storage.d.ts +139 -0
  201. package/types/src/core/storage.d.ts.map +1 -0
  202. package/types/src/core/styles/StyleFactory.d.ts +74 -0
  203. package/types/src/core/styles/StyleFactory.d.ts.map +1 -0
  204. package/types/src/core/styles/StyleManager.d.ts +77 -0
  205. package/types/src/core/styles/StyleManager.d.ts.map +1 -0
  206. package/types/src/core/styles/index.d.ts +67 -0
  207. package/types/src/core/styles/index.d.ts.map +1 -0
  208. package/types/src/core/styles/interfaces.d.ts +221 -0
  209. package/types/src/core/styles/interfaces.d.ts.map +1 -0
  210. package/types/src/core/tiandituSearchApi.d.ts +51 -0
  211. package/types/src/core/tiandituSearchApi.d.ts.map +1 -0
  212. package/types/src/data-old/testLayers.d.ts +84 -0
  213. package/types/src/data-old/testLayers.d.ts.map +1 -0
  214. package/types/src/examples-old/FilterExamples.d.ts +104 -0
  215. package/types/src/examples-old/FilterExamples.d.ts.map +1 -0
  216. package/types/src/hooks/useMap.d.ts +5 -0
  217. package/types/src/hooks/useMap.d.ts.map +1 -0
  218. package/types/src/services/searchService.d.ts +106 -0
  219. package/types/src/services/searchService.d.ts.map +1 -0
  220. package/types/src/test-old/FilterSystemTest.d.ts +57 -0
  221. package/types/src/test-old/FilterSystemTest.d.ts.map +1 -0
  222. package/types/src/types/index.d.ts +2 -11
  223. package/types/src/types/index.d.ts.map +1 -1
  224. package/types/src/types/map.d.ts +819 -0
  225. package/types/src/types/map.d.ts.map +1 -0
  226. package/types/src/types/plugin.d.ts +202 -0
  227. package/types/src/types/plugin.d.ts.map +1 -0
  228. package/types/src/utils/DiffusionAnimationHelper.d.ts +60 -0
  229. package/types/src/utils/DiffusionAnimationHelper.d.ts.map +1 -0
  230. package/types/src/utils/GifAnimationHelper.d.ts +31 -0
  231. package/types/src/utils/GifAnimationHelper.d.ts.map +1 -0
  232. package/types/src/utils/coordinateTransform.d.ts +28 -0
  233. package/types/src/utils/coordinateTransform.d.ts.map +1 -0
  234. package/types/src/utils/index.d.ts +8 -8
  235. package/types/src/utils/index.d.ts.map +1 -1
  236. package/types/src/utils/unitConverter.d.ts +36 -0
  237. package/types/src/utils/unitConverter.d.ts.map +1 -0
  238. package/types/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,125 @@
1
+ import { Ref } from 'vue';
2
+ import { Map as OlMap } from 'ol';
3
+ import { LayerManager } from './LayerManager';
4
+ import { LayerConfig } from '../types';
5
+
6
+ /**
7
+ * 图层分组接口
8
+ */
9
+ export interface LayerGroup {
10
+ id: string;
11
+ name: string;
12
+ layers: LayerConfig[];
13
+ }
14
+ /**
15
+ * 树节点数据接口
16
+ */
17
+ export interface TreeNodeData {
18
+ id: string;
19
+ label: string;
20
+ type: 'group' | 'layer';
21
+ layerType?: string;
22
+ layerData?: LayerConfig;
23
+ children?: TreeNodeData[];
24
+ }
25
+ /**
26
+ * 图层树管理器
27
+ * 负责管理图层树的数据结构、拖拽操作和图层定位功能
28
+ */
29
+ export declare class LayerTreeManager {
30
+ private map;
31
+ private layerManager;
32
+ readonly layerGroups: Ref<LayerGroup[]>;
33
+ readonly defaultExpandedKeys: Ref<string[]>;
34
+ private updateTrigger;
35
+ /**
36
+ * 通知更新(强制重新计算computed属性)
37
+ */
38
+ notifyUpdate(): void;
39
+ readonly defaultCheckedKeys: import('vue').ComputedRef<string[]>;
40
+ readonly treeData: import('vue').ComputedRef<TreeNodeData[]>;
41
+ /**
42
+ * 构建图层节点(支持递归处理children)
43
+ * @param layer 图层配置
44
+ * @returns 树节点数据
45
+ */
46
+ private buildLayerNode;
47
+ /**
48
+ * 初始化管理器
49
+ * @param mapInstance OpenLayers地图实例
50
+ * @param layerManagerInstance 图层管理器实例
51
+ */
52
+ initialize(mapInstance: OlMap, layerManagerInstance: LayerManager): void;
53
+ /**
54
+ * 设置图层分组数据
55
+ * @param groups 图层分组数组
56
+ */
57
+ setLayerGroups(groups: LayerGroup[]): void;
58
+ /**
59
+ * 设置默认展开的节点
60
+ * @param keys 节点ID数组
61
+ */
62
+ setDefaultExpandedKeys(keys: string[]): void;
63
+ /**
64
+ * 处理图层双击事件 - 定位到图层
65
+ * @param data 树节点数据
66
+ */
67
+ handleLayerDoubleClick(data: TreeNodeData): void;
68
+ /**
69
+ * 处理分组双击事件 - 聚合定位到分组范围
70
+ * @param data 分组树节点数据
71
+ */
72
+ private handleGroupDoubleClick;
73
+ /**
74
+ * 获取缓动函数
75
+ * @param easing 缓动类型
76
+ * @returns 缓动函数
77
+ */
78
+ private getEasingFunction;
79
+ /**
80
+ * 允许拖拽的条件
81
+ * @param draggingNode 拖拽节点
82
+ * @returns 是否允许拖拽
83
+ */
84
+ allowDrag(draggingNode: any): boolean;
85
+ /**
86
+ * 允许放置的条件
87
+ * @param draggingNode 拖拽节点
88
+ * @param dropNode 目标节点
89
+ * @param type 放置类型
90
+ * @returns 是否允许放置
91
+ */
92
+ allowDrop(draggingNode: any, dropNode: any, type: string): boolean;
93
+ /**
94
+ * 查找节点所属的父分组
95
+ * @param nodeId 节点ID
96
+ * @returns 父分组或null
97
+ */
98
+ findParentGroup(nodeId: string): LayerGroup | null;
99
+ /**
100
+ * 在 layerGroups 中递归查找指定 ID 的图层配置
101
+ */
102
+ private findLayerConfigById;
103
+ /**
104
+ * 查找节点所属的父“容器”节点(分组或带children的图层)
105
+ * @param nodeId 节点ID
106
+ * @returns 父容器的树节点,或null
107
+ */
108
+ private findParentContainerNode;
109
+ /**
110
+ * 节点拖拽完成事件
111
+ * @param draggingNode 拖拽节点
112
+ * @param dropNode 目标节点
113
+ * @param dropType 放置类型
114
+ * @param ev 事件对象
115
+ */
116
+ onNodeDrop(draggingNode: any, dropNode: any, dropType: string, ev: any): void;
117
+ /**
118
+ * 获取图层图标类名
119
+ * @param layerType 图层类型
120
+ * @returns 图标类名
121
+ */
122
+ getLayerIcon(layerType: string): string;
123
+ }
124
+ export declare const layerTreeManager: LayerTreeManager;
125
+ //# sourceMappingURL=LayerTreeManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayerTreeManager.d.ts","sourceRoot":"","sources":["../../../src/core/LayerTreeManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAI9C,OAAO,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,YAAY,CAA6B;IAGjD,SAAgB,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAW;IAGzD,SAAgB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAW;IAG7D,OAAO,CAAC,aAAa,CAAU;IAE/B;;OAEG;IACI,YAAY;IAKnB,SAAgB,kBAAkB,sCAqD/B;IAGH,SAAgB,QAAQ,4CAcrB;IAEH;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;OAIG;IACI,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,GAAG,IAAI;IAK/E;;;OAGG;IACI,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IAIjD;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAInD;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAiHvD;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2G9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;OAIG;IACI,SAAS,CAAC,YAAY,EAAE,GAAG,GAAG,OAAO;IAK5C;;;;;;OAMG;IACI,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAkBzE;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAkBzD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;;;OAMG;IACI,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI;IA0EpF;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAiB/C;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,203 @@
1
+ import { default as Map } from 'ol/Map';
2
+ import { EventManager } from './EventManager';
3
+ import { SearchMarkerManager } from './SearchMarkerManager';
4
+ import { MarkerDrawingAdapter, UserMarker } from './MarkerDrawingAdapter';
5
+ import { DrawingManager } from './drawing/DrawingManager';
6
+ import { MeasurementTool, MeasurementResult } from './measurementTool';
7
+ import { MapOperationTool } from './mapOperationTool';
8
+ import { GeoJSONLocationTool } from './geoJsonLocationTool';
9
+ import { LayerManager } from './LayerManager';
10
+ import { LayerEventBus } from './EventBus';
11
+ import { MapStorage } from './storage';
12
+ import { FeatureHighlightManager } from './FeatureHighlightManager';
13
+ import { PopupManager } from './PopupManager';
14
+ import { MapConfig, MapClickEvent, SearchResult, LayerConfig, FeatureInput, LayerInput } from '../types';
15
+
16
+ export interface MapManagerEvents {
17
+ 'map-ready': (map: Map) => void;
18
+ 'map-click': (event: MapClickEvent) => void;
19
+ 'map-move': (center: [number, number], zoom: number) => void;
20
+ 'zoom-change': (zoom: number, oldZoom: number) => void;
21
+ 'feature-click': (feature: FeatureInput, layer: LayerInput, coordinate: [number, number]) => void;
22
+ 'tooltip-show': (data: any) => void;
23
+ 'tooltip-hide': () => void;
24
+ 'measurement-start': (type: 'length' | 'area' | 'angle') => void;
25
+ 'measurement-end': (result: any) => void;
26
+ 'measurement-result': (result: MeasurementResult) => void;
27
+ 'context-menu': (coordinate: [number, number], pixel: [number, number]) => void;
28
+ 'coordinate-update': (coordinate: string) => void;
29
+ 'zoom-update': (zoom: number) => void;
30
+ 'scale-update': (scale: string) => void;
31
+ }
32
+ export declare class MapManager {
33
+ private map;
34
+ private config;
35
+ private eventCallbacks;
36
+ private eventBus;
37
+ private storage;
38
+ private eventManager;
39
+ private searchMarkerManager;
40
+ private markerAdapter;
41
+ private layerManager;
42
+ private measurementTool;
43
+ private mapOperationTool;
44
+ private geoJsonLocationTool;
45
+ private drawingManager;
46
+ private featureHighlightManager;
47
+ private popupManager;
48
+ private isCoordinatePicking;
49
+ private coordinatePickCallback;
50
+ private measurementType;
51
+ private contextMenuCoordinate;
52
+ constructor(config: MapConfig, eventBus: LayerEventBus, storage: MapStorage);
53
+ /**
54
+ * 处理要素点击的popup显示
55
+ */
56
+ private handleFeaturePopup;
57
+ /**
58
+ * 查找图层配置通过ID
59
+ */
60
+ private findLayerConfigById;
61
+ /**
62
+ * 查找匹配的图层配置(支持递归查找子图层)
63
+ */
64
+ private findMatchingLayer;
65
+ /**
66
+ * 检查图层实例是否匹配配置
67
+ */
68
+ private isLayerMatch;
69
+ /**
70
+ * 初始化地图
71
+ */
72
+ initMap(targetId: string): Map;
73
+ /**
74
+ * 设置版权控件
75
+ */
76
+ private setupAttribution;
77
+ /**
78
+ * 初始化各种管理器
79
+ */
80
+ private initManagers;
81
+ /**
82
+ * 绑定事件管理器事件
83
+ */
84
+ private bindEventManagerEvents;
85
+ /**
86
+ * 绑定地图事件
87
+ */
88
+ private bindMapEvents;
89
+ /**
90
+ * 更新地图配置
91
+ */
92
+ updateConfig(config: MapConfig): void;
93
+ /**
94
+ * 开始坐标拾取
95
+ */
96
+ startCoordinatePicking(callback: (coordinate: [number, number]) => void): void;
97
+ /**
98
+ * 停止坐标拾取
99
+ */
100
+ stopCoordinatePicking(): void;
101
+ /**
102
+ * 开始测量
103
+ */
104
+ startMeasurement(type: 'length' | 'area' | 'angle', onResult: (result: MeasurementResult) => void): void;
105
+ /**
106
+ * 停止测量
107
+ */
108
+ stopMeasurement(): void;
109
+ /**
110
+ * 清除测量结果
111
+ */
112
+ clearMeasurements(): void;
113
+ /**
114
+ * 地图操作方法
115
+ */
116
+ zoomIn(): void;
117
+ zoomOut(): void;
118
+ fitToExtent(): void;
119
+ clearAll(): void;
120
+ /**
121
+ * 获取高亮管理器实例
122
+ */
123
+ getFeatureHighlightManager(): FeatureHighlightManager | null;
124
+ /**
125
+ * 获取当前右键菜单坐标
126
+ */
127
+ getContextMenuCoordinate(): [number, number];
128
+ /**
129
+ * 获取管理器实例
130
+ */
131
+ getLayerManager(): LayerManager | null;
132
+ getSearchMarkerManager(): SearchMarkerManager | null;
133
+ getMeasurementTool(): MeasurementTool | null;
134
+ getMapOperationTool(): MapOperationTool | null;
135
+ getGeoJSONLocationTool(): GeoJSONLocationTool | null;
136
+ getDrawingManager(): DrawingManager | null;
137
+ getMarkerAdapter(): MarkerDrawingAdapter | null;
138
+ getPopupManager(): PopupManager | null;
139
+ /**
140
+ * 设置用户标记
141
+ */
142
+ setUserMarkers(markers: UserMarker[]): void;
143
+ /**
144
+ * 清除所有图层
145
+ */
146
+ clearLayers(): void;
147
+ /**
148
+ * 添加图层
149
+ */
150
+ addLayers(layers: LayerConfig[]): void;
151
+ getEventManager(): EventManager | null;
152
+ getMap(): Map | null;
153
+ /**
154
+ * 事件监听
155
+ */
156
+ on<K extends keyof MapManagerEvents>(event: K, callback: MapManagerEvents[K]): void;
157
+ /**
158
+ * 移除事件监听
159
+ */
160
+ off<K extends keyof MapManagerEvents>(event: K): void;
161
+ /**
162
+ * 触发事件
163
+ */
164
+ private emit;
165
+ /**
166
+ * 绑定地图事件
167
+ */
168
+ bindEvents(callbacks: {
169
+ onFeatureClick?: (feature: any, layer: any, coordinate: [number, number], mapCoordinate?: [number, number]) => void;
170
+ onMapClick?: (event: any) => void;
171
+ onMapMove?: (center: [number, number], zoom: number) => void;
172
+ onPointerMove?: (coordinate: [number, number]) => void;
173
+ onZoomChange?: (zoom: number, resolution: number) => void;
174
+ onContextMenu?: (coordinate: [number, number], pixel: [number, number]) => void;
175
+ }): void;
176
+ /**
177
+ * 搜索位置
178
+ */
179
+ searchLocation(query: string): Promise<SearchResult[]>;
180
+ /**
181
+ * 在已加载的矢量图层中按属性搜索
182
+ */
183
+ private searchLayersByAttribute;
184
+ /**
185
+ * 清除搜索标记
186
+ */
187
+ clearSearchMarkers(): void;
188
+ /**
189
+ * 开始坐标拾取
190
+ */
191
+ startCoordinatePick(): void;
192
+ /**
193
+ * 停止坐标拾取
194
+ */
195
+ stopCoordinatePick(): void;
196
+ private getLayerById;
197
+ zoomToLayer(layerId: string): void;
198
+ /**
199
+ * 销毁地图管理器
200
+ */
201
+ destroy(): void;
202
+ }
203
+ //# sourceMappingURL=MapManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapManager.d.ts","sourceRoot":"","sources":["../../../src/core/MapManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import { Map as OlMap } from 'ol';
2
+ import { DrawingManager } from './drawing/DrawingManager';
3
+ import { PointDrawing } from './drawing/PointDrawing';
4
+
5
+ /**
6
+ * 用户标记数据接口
7
+ */
8
+ export interface UserMarker {
9
+ id: string;
10
+ name: string;
11
+ category: string;
12
+ color: string;
13
+ longitude: number;
14
+ latitude: number;
15
+ description?: string;
16
+ createTime: string;
17
+ }
18
+ /**
19
+ * 标记绘制适配器
20
+ * 基于DrawingManager + PointDrawing架构实现标记管理功能
21
+ */
22
+ export declare class MarkerDrawingAdapter {
23
+ private map;
24
+ private drawingManager;
25
+ private markerDrawings;
26
+ private eventListeners;
27
+ constructor(map: OlMap);
28
+ /**
29
+ * 设置事件监听器
30
+ */
31
+ private setupEventListeners;
32
+ /**
33
+ * 将UserMarker转换为PointDrawing配置
34
+ */
35
+ private convertMarkerToDrawingConfig;
36
+ /**
37
+ * 创建标记图标的Data URL
38
+ */
39
+ private createMarkerIconDataUrl;
40
+ /**
41
+ * 从PointDrawing获取UserMarker数据
42
+ */
43
+ private getMarkerFromDrawing;
44
+ /**
45
+ * 添加标记
46
+ */
47
+ addMarker(marker: UserMarker): PointDrawing;
48
+ /**
49
+ * 删除标记
50
+ */
51
+ removeMarker(markerId: string): boolean;
52
+ /**
53
+ * 更新标记
54
+ */
55
+ updateMarker(marker: UserMarker): boolean;
56
+ /**
57
+ * 获取标记
58
+ */
59
+ getMarker(markerId: string): UserMarker | null;
60
+ /**
61
+ * 获取所有标记
62
+ */
63
+ getAllMarkers(): UserMarker[];
64
+ /**
65
+ * 设置标记(批量替换)
66
+ */
67
+ setMarkers(markers: UserMarker[]): void;
68
+ /**
69
+ * 清除所有标记
70
+ */
71
+ clearAllMarkers(): void;
72
+ /**
73
+ * 定位到标记
74
+ */
75
+ flyToMarker(markerId: string, zoomLevel?: number): boolean;
76
+ /**
77
+ * 设置图层可见性
78
+ */
79
+ setVisible(visible: boolean): void;
80
+ /**
81
+ * 获取标记点击处理器
82
+ */
83
+ getMarkerClickHandler(): (event: any) => UserMarker | null;
84
+ /**
85
+ * 获取标记数量
86
+ */
87
+ getMarkerCount(): number;
88
+ /**
89
+ * 选择标记
90
+ */
91
+ selectMarker(markerId: string): void;
92
+ /**
93
+ * 获取选中的标记
94
+ */
95
+ getSelectedMarker(): UserMarker | null;
96
+ /**
97
+ * 删除选中的标记
98
+ */
99
+ deleteSelectedMarker(): boolean;
100
+ /**
101
+ * 事件监听
102
+ */
103
+ on(event: string, listener: Function): void;
104
+ /**
105
+ * 移除事件监听
106
+ */
107
+ off(event: string, listener: Function): void;
108
+ /**
109
+ * 触发事件
110
+ */
111
+ private emit;
112
+ /**
113
+ * 获取DrawingManager实例
114
+ */
115
+ getDrawingManager(): DrawingManager;
116
+ /**
117
+ * 销毁适配器
118
+ */
119
+ destroy(): void;
120
+ }
121
+ /**
122
+ * 创建标记绘制适配器
123
+ */
124
+ export declare function createMarkerDrawingAdapter(map: OlMap): MarkerDrawingAdapter;
125
+ //# sourceMappingURL=MarkerDrawingAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkerDrawingAdapter.d.ts","sourceRoot":"","sources":["../../../src/core/MarkerDrawingAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAKrD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,GAAG,CAAO;IAClB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,cAAc,CAAqC;gBAE/C,GAAG,EAAE,KAAK;IAyBtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAsCpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAuB3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAcvC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IA8CzC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAK9C;;OAEG;IACH,aAAa,IAAI,UAAU,EAAE;IAM7B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAUvC;;OAEG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO;IAe9D;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,qBAAqB,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,GAAG,IAAI;IAQ1D;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOpC;;OAEG;IACH,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAKtC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAO3C;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAU5C;;OAEG;IACH,OAAO,CAAC,IAAI;IAOZ;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,KAAK,GAAG,oBAAoB,CAE3E"}
@@ -0,0 +1,158 @@
1
+ import { App } from 'vue';
2
+ import { Map } from 'ol';
3
+ import { PluginConfig, PluginInstance, PluginManagerConfig, PluginRegistration, PluginContext, PluginPosition, PluginSize, PluginStyle, PluginState, PluginHooks } from '../types/plugin';
4
+ import { MapManager } from './mapManager';
5
+
6
+ /**
7
+ * 插件实例实现
8
+ */
9
+ declare class PluginInstanceImpl implements PluginInstance {
10
+ id: string;
11
+ config: PluginConfig;
12
+ context: PluginContext;
13
+ element?: HTMLElement;
14
+ component?: any;
15
+ state: PluginState;
16
+ private eventHandlers;
17
+ private hooks;
18
+ constructor(config: PluginConfig, context: PluginContext, hooks?: PluginHooks);
19
+ mount(): Promise<void>;
20
+ unmount(): Promise<void>;
21
+ show(): void;
22
+ hide(): void;
23
+ isVisible(): boolean;
24
+ isEnabled(): boolean;
25
+ setPosition(position: PluginPosition, offset?: {
26
+ x: number;
27
+ y: number;
28
+ }): void;
29
+ getPosition(): {
30
+ position: PluginPosition;
31
+ offset?: {
32
+ x: number;
33
+ y: number;
34
+ };
35
+ };
36
+ setSize(size: PluginSize): void;
37
+ getSize(): PluginSize;
38
+ setStyle(style: Partial<PluginStyle>): void;
39
+ getStyle(): PluginStyle;
40
+ emit(event: string, ...args: any[]): void;
41
+ on(event: string, handler: Function): void;
42
+ off(event: string, handler?: Function): void;
43
+ updateConfig(config: Partial<PluginConfig>): void;
44
+ destroy(): void;
45
+ }
46
+ /**
47
+ * 插件管理器
48
+ */
49
+ export declare class PluginManager {
50
+ private app?;
51
+ private map?;
52
+ private mapManager?;
53
+ private config;
54
+ private registrations;
55
+ private instances;
56
+ private pluginsByPosition;
57
+ private globalHooks;
58
+ constructor(config?: PluginManagerConfig);
59
+ /**
60
+ * 设置Vue应用实例
61
+ */
62
+ setApp(app: App): void;
63
+ /**
64
+ * 设置地图实例
65
+ */
66
+ setMap(map: Map): void;
67
+ /**
68
+ * 设置地图管理器
69
+ */
70
+ setMapManager(mapManager: MapManager): void;
71
+ /**
72
+ * 注册插件
73
+ */
74
+ register(registration: PluginRegistration): void;
75
+ /**
76
+ * 注销插件
77
+ */
78
+ unregister(id: string): void;
79
+ /**
80
+ * 创建插件实例
81
+ */
82
+ create(config: PluginConfig): Promise<PluginInstance>;
83
+ /**
84
+ * 添加插件实例
85
+ */
86
+ add(config: PluginConfig): Promise<PluginInstance>;
87
+ /**
88
+ * 移除插件实例
89
+ */
90
+ remove(id: string): Promise<void>;
91
+ /**
92
+ * 获取插件实例
93
+ */
94
+ get(id: string): PluginInstance | undefined;
95
+ /**
96
+ * 获取所有插件实例
97
+ */
98
+ getAll(): PluginInstance[];
99
+ /**
100
+ * 根据位置获取插件
101
+ */
102
+ getByPosition(position: PluginPosition): PluginInstance[];
103
+ /**
104
+ * 获取所有位置的插件分组
105
+ */
106
+ getAllByPosition(): Map<PluginPosition, PluginInstance[]>;
107
+ /**
108
+ * 更新插件配置
109
+ */
110
+ updateConfig(id: string, config: Partial<PluginConfig>): Promise<void>;
111
+ /**
112
+ * 批量操作
113
+ */
114
+ batch(operations: Array<{
115
+ action: 'add' | 'remove' | 'update';
116
+ config?: PluginConfig;
117
+ id?: string;
118
+ }>): Promise<void>;
119
+ /**
120
+ * 设置全局钩子
121
+ */
122
+ setGlobalHooks(hooks: PluginHooks): void;
123
+ /**
124
+ * 销毁管理器
125
+ */
126
+ destroy(): Promise<void>;
127
+ /**
128
+ * 创建插件上下文
129
+ */
130
+ private createContext;
131
+ /**
132
+ * 检查权限
133
+ */
134
+ private checkPermissions;
135
+ /**
136
+ * 添加到位置分组
137
+ */
138
+ private addToPositionGroup;
139
+ /**
140
+ * 从位置分组中移除
141
+ */
142
+ private removeFromPositionGroup;
143
+ /**
144
+ * 初始化内置插件
145
+ */
146
+ private initializeBuiltinPlugins;
147
+ }
148
+ /**
149
+ * 获取全局插件管理器
150
+ */
151
+ export declare function getPluginManager(): PluginManager;
152
+ /**
153
+ * 设置全局插件管理器
154
+ */
155
+ export declare function setPluginManager(manager: PluginManager): void;
156
+ export { PluginInstanceImpl };
157
+ export type { PluginInstance };
158
+ //# sourceMappingURL=PluginManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../../src/core/PluginManager.ts"],"names":[],"mappings":"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"}