@vtx/ol-map 1.0.2-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 (210) hide show
  1. package/README.md +202 -0
  2. package/lib/_util/filterSpecialCharacters.js +90 -0
  3. package/lib/_util/filterSpecialCharacters.js.map +1 -0
  4. package/lib/_util/getComponentProps.js +14 -0
  5. package/lib/_util/getComponentProps.js.map +1 -0
  6. package/lib/_util/getCookie.js +25 -0
  7. package/lib/_util/getCookie.js.map +1 -0
  8. package/lib/_util/getDefaultMapInfo.js +34 -0
  9. package/lib/_util/getDefaultMapInfo.js.map +1 -0
  10. package/lib/_util/getSystemInfo.js +27 -0
  11. package/lib/_util/getSystemInfo.js.map +1 -0
  12. package/lib/_util/getToken.js +14 -0
  13. package/lib/_util/getToken.js.map +1 -0
  14. package/lib/_util/getUrlParam.js +16 -0
  15. package/lib/_util/getUrlParam.js.map +1 -0
  16. package/lib/_util/http.js +235 -0
  17. package/lib/_util/http.js.map +1 -0
  18. package/lib/_util/isFunction.js +10 -0
  19. package/lib/_util/isFunction.js.map +1 -0
  20. package/lib/_util/isObject.js +10 -0
  21. package/lib/_util/isObject.js.map +1 -0
  22. package/lib/_util/layer.js +134 -0
  23. package/lib/_util/layer.js.map +1 -0
  24. package/lib/_util/mapTool.js +189 -0
  25. package/lib/_util/mapTool.js.map +1 -0
  26. package/lib/_util/setCookie.js +16 -0
  27. package/lib/_util/setCookie.js.map +1 -0
  28. package/lib/_util/useColSize.js +29 -0
  29. package/lib/_util/useColSize.js.map +1 -0
  30. package/lib/_util/useInterval.js +19 -0
  31. package/lib/_util/useInterval.js.map +1 -0
  32. package/lib/_util/useSet.js +45 -0
  33. package/lib/_util/useSet.js.map +1 -0
  34. package/lib/config.js +13 -0
  35. package/lib/config.js.map +1 -0
  36. package/lib/feature-layer/FeatureLayer.js +277 -0
  37. package/lib/feature-layer/FeatureLayer.js.map +1 -0
  38. package/lib/feature-layer/index.js +48 -0
  39. package/lib/feature-layer/index.js.map +1 -0
  40. package/lib/feature-layer/style/css.js +4 -0
  41. package/lib/feature-layer/style/css.js.map +1 -0
  42. package/lib/feature-layer/style/index.css +0 -0
  43. package/lib/feature-layer/style/index.js +4 -0
  44. package/lib/feature-layer/style/index.js.map +1 -0
  45. package/lib/feature-layer/style/index.less +0 -0
  46. package/lib/image-layer/ImageLayer.js +101 -0
  47. package/lib/image-layer/ImageLayer.js.map +1 -0
  48. package/lib/image-layer/index.js +44 -0
  49. package/lib/image-layer/index.js.map +1 -0
  50. package/lib/image-layer/style/css.js +4 -0
  51. package/lib/image-layer/style/css.js.map +1 -0
  52. package/lib/image-layer/style/index.css +0 -0
  53. package/lib/image-layer/style/index.js +4 -0
  54. package/lib/image-layer/style/index.js.map +1 -0
  55. package/lib/image-layer/style/index.less +0 -0
  56. package/lib/index.js +42 -0
  57. package/lib/index.js.map +1 -0
  58. package/lib/map/Popup.js +134 -0
  59. package/lib/map/Popup.js.map +1 -0
  60. package/lib/map/getBaseLayers.js +50 -0
  61. package/lib/map/getBaseLayers.js.map +1 -0
  62. package/lib/map/index.js +319 -0
  63. package/lib/map/index.js.map +1 -0
  64. package/lib/map/style/css.js +4 -0
  65. package/lib/map/style/css.js.map +1 -0
  66. package/lib/map/style/index.css +140 -0
  67. package/lib/map/style/index.js +4 -0
  68. package/lib/map/style/index.js.map +1 -0
  69. package/lib/map/style/index.less +128 -0
  70. package/lib/map-icon/Canvas.js +367 -0
  71. package/lib/map-icon/Canvas.js.map +1 -0
  72. package/lib/map-icon/CockpitIcon.js +317 -0
  73. package/lib/map-icon/CockpitIcon.js.map +1 -0
  74. package/lib/map-icon/CockpitIcon2.js +268 -0
  75. package/lib/map-icon/CockpitIcon2.js.map +1 -0
  76. package/lib/map-icon/CommonIcon.js +193 -0
  77. package/lib/map-icon/CommonIcon.js.map +1 -0
  78. package/lib/map-icon/CommonIcon2.js +164 -0
  79. package/lib/map-icon/CommonIcon2.js.map +1 -0
  80. package/lib/map-icon/Legend.js +53 -0
  81. package/lib/map-icon/Legend.js.map +1 -0
  82. package/lib/map-icon/config.js +3868 -0
  83. package/lib/map-icon/config.js.map +1 -0
  84. package/lib/map-icon/index.js +21 -0
  85. package/lib/map-icon/index.js.map +1 -0
  86. package/lib/map-icon/style/css.js +4 -0
  87. package/lib/map-icon/style/css.js.map +1 -0
  88. package/lib/map-icon/style/index.css +0 -0
  89. package/lib/map-icon/style/index.js +4 -0
  90. package/lib/map-icon/style/index.js.map +1 -0
  91. package/lib/map-icon/style/index.less +0 -0
  92. package/lib/map-icon/svg/index.js +53 -0
  93. package/lib/map-icon/svg/index.js.map +1 -0
  94. package/lib/map-icon/svg/tuceng.svg.js +2 -0
  95. package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
  96. package/lib/style/index.css +0 -0
  97. package/lib/style/index.less +2 -0
  98. package/lib/style/themes/compact.css +0 -0
  99. package/lib/style/themes/compact.less +1 -0
  100. package/lib/style/themes/dark.css +0 -0
  101. package/lib/style/themes/dark.less +9 -0
  102. package/lib/style/themes/default.css +0 -0
  103. package/lib/style/themes/default.less +7 -0
  104. package/lib/style/themes/index.css +0 -0
  105. package/lib/style/themes/index.less +1 -0
  106. package/lib/style/themes/variable.css +0 -0
  107. package/lib/style/themes/variable.less +5 -0
  108. package/lib/tools/Analysis/AnalysisLayer.js +380 -0
  109. package/lib/tools/Analysis/AnalysisLayer.js.map +1 -0
  110. package/lib/tools/Layer/LayerService.js +150 -0
  111. package/lib/tools/Layer/LayerService.js.map +1 -0
  112. package/lib/tools/Layer/LayersCheckService.js +173 -0
  113. package/lib/tools/Layer/LayersCheckService.js.map +1 -0
  114. package/lib/tools/Layer/index.css +34 -0
  115. package/lib/tools/Layer/index.js +227 -0
  116. package/lib/tools/Layer/index.js.map +1 -0
  117. package/lib/tools/Layer/index.less +27 -0
  118. package/lib/tools/Search/index.js +194 -0
  119. package/lib/tools/Search/index.js.map +1 -0
  120. package/lib/tools/Toolbox/BoxSelect/index.js +20 -0
  121. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
  122. package/lib/tools/Toolbox/CircleSelect/index.js +20 -0
  123. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
  124. package/lib/tools/Toolbox/EagleEye/index.js +57 -0
  125. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
  126. package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
  127. package/lib/tools/Toolbox/MapBookmark/index.js +494 -0
  128. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
  129. package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
  130. package/lib/tools/Toolbox/MapDownload/index.js +16 -0
  131. package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
  132. package/lib/tools/Toolbox/MapPrint/index.css +4 -0
  133. package/lib/tools/Toolbox/MapPrint/index.js +242 -0
  134. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
  135. package/lib/tools/Toolbox/MapPrint/index.less +4 -0
  136. package/lib/tools/Toolbox/Measure/Area/index.js +17 -0
  137. package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
  138. package/lib/tools/Toolbox/Measure/Distance/index.js +17 -0
  139. package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
  140. package/lib/tools/Toolbox/Measure/Measure.js +229 -0
  141. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
  142. package/lib/tools/Toolbox/Measure/index.js +70 -0
  143. package/lib/tools/Toolbox/Measure/index.js.map +1 -0
  144. package/lib/tools/Toolbox/PolygonSelect/index.js +20 -0
  145. package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
  146. package/lib/tools/Toolbox/ScaleLine/index.js +55 -0
  147. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
  148. package/lib/tools/Toolbox/SelectTools/index.css +15 -0
  149. package/lib/tools/Toolbox/SelectTools/index.js +243 -0
  150. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
  151. package/lib/tools/Toolbox/SelectTools/index.less +10 -0
  152. package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
  153. package/lib/tools/Toolbox/SpaceQuery/index.js +590 -0
  154. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
  155. package/lib/tools/Toolbox/SpaceQuery/index.less +18 -0
  156. package/lib/tools/Toolbox/index.css +6 -0
  157. package/lib/tools/Toolbox/index.js +187 -0
  158. package/lib/tools/Toolbox/index.js.map +1 -0
  159. package/lib/tools/Toolbox/index.less +11 -0
  160. package/lib/tools/Utils/CreateOverlay.js +47 -0
  161. package/lib/tools/Utils/CreateOverlay.js.map +1 -0
  162. package/lib/tools/Utils/Draw.js +129 -0
  163. package/lib/tools/Utils/Draw.js.map +1 -0
  164. package/lib/tools/Utils/HighLayer.js +184 -0
  165. package/lib/tools/Utils/HighLayer.js.map +1 -0
  166. package/lib/tools/Utils/measure.js +247 -0
  167. package/lib/tools/Utils/measure.js.map +1 -0
  168. package/lib/tools/Utils/utils.js +272 -0
  169. package/lib/tools/Utils/utils.js.map +1 -0
  170. package/lib/tools/View/index.js +51 -0
  171. package/lib/tools/View/index.js.map +1 -0
  172. package/lib/tools/components/Icon/index.js +28 -0
  173. package/lib/tools/components/Icon/index.js.map +1 -0
  174. package/lib/tools/components/ItemWrap/index.css +43 -0
  175. package/lib/tools/components/ItemWrap/index.js +40 -0
  176. package/lib/tools/components/ItemWrap/index.js.map +1 -0
  177. package/lib/tools/components/ItemWrap/index.less +41 -0
  178. package/lib/tools/components/Modal/index.css +36 -0
  179. package/lib/tools/components/Modal/index.js +37 -0
  180. package/lib/tools/components/Modal/index.js.map +1 -0
  181. package/lib/tools/components/Modal/index.less +28 -0
  182. package/lib/tools/components/MyTabs/index.js +22 -0
  183. package/lib/tools/components/MyTabs/index.js.map +1 -0
  184. package/lib/tools/components/RequiredLabel/index.css +5 -0
  185. package/lib/tools/components/RequiredLabel/index.js +32 -0
  186. package/lib/tools/components/RequiredLabel/index.js.map +1 -0
  187. package/lib/tools/components/RequiredLabel/index.less +5 -0
  188. package/lib/tools/components/Select/index.js +33 -0
  189. package/lib/tools/components/Select/index.js.map +1 -0
  190. package/lib/tools/components/Table/index.css +10 -0
  191. package/lib/tools/components/Table/index.js +91 -0
  192. package/lib/tools/components/Table/index.js.map +1 -0
  193. package/lib/tools/components/Table/index.less +13 -0
  194. package/lib/tools/components/ToolItem/index.css +30 -0
  195. package/lib/tools/components/ToolItem/index.js +29 -0
  196. package/lib/tools/components/ToolItem/index.js.map +1 -0
  197. package/lib/tools/components/ToolItem/index.less +27 -0
  198. package/lib/tools/components/ToolsSelect/index.css +30 -0
  199. package/lib/tools/components/ToolsSelect/index.js +43 -0
  200. package/lib/tools/components/ToolsSelect/index.js.map +1 -0
  201. package/lib/tools/components/ToolsSelect/index.less +29 -0
  202. package/lib/tools/index.js +84 -0
  203. package/lib/tools/index.js.map +1 -0
  204. package/lib/tools/style/css.js +4 -0
  205. package/lib/tools/style/css.js.map +1 -0
  206. package/lib/tools/style/index.css +19 -0
  207. package/lib/tools/style/index.js +4 -0
  208. package/lib/tools/style/index.js.map +1 -0
  209. package/lib/tools/style/index.less +19 -0
  210. package/package.json +118 -0
@@ -0,0 +1,367 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
+ /* eslint-disable */
14
+ var Canvas = /*#__PURE__*/function () {
15
+ function Canvas(options) {
16
+ _classCallCheck(this, Canvas);
17
+ this.width = (options === null || options === void 0 ? void 0 : options.width) || 0;
18
+ this.height = (options === null || options === void 0 ? void 0 : options.height) || 0;
19
+ this.canvas = this.createCanvas();
20
+ this.ctx = this.canvas.getContext('2d');
21
+ }
22
+ _createClass(Canvas, [{
23
+ key: "createCanvas",
24
+ value: function createCanvas() {
25
+ var canvas = document.createElement('canvas');
26
+ canvas.width = this.width || 0;
27
+ canvas.height = this.height || 0;
28
+ return canvas;
29
+ }
30
+ }, {
31
+ key: "setWidth",
32
+ value: function setWidth(width) {
33
+ this.canvas.width = width;
34
+ }
35
+ }, {
36
+ key: "setHeight",
37
+ value: function setHeight(height) {
38
+ this.canvas.height = height;
39
+ }
40
+ }, {
41
+ key: "resize",
42
+ value: function resize(width, height) {
43
+ var canvasData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); // 保存画布
44
+ this.canvas.width = width || this.canvas.width;
45
+ this.canvas.height = height || this.canvas.height;
46
+ this.ctx.putImageData(canvasData, 0, 0); // 改变完宽高后,重绘画布
47
+ }
48
+ }, {
49
+ key: "getCanvas",
50
+ value: function getCanvas() {
51
+ return this.canvas;
52
+ }
53
+ }, {
54
+ key: "getImgUrl",
55
+ value: function getImgUrl() {
56
+ return this.canvas.toDataURL();
57
+ }
58
+
59
+ /**
60
+ * 箭头圆角矩形
61
+ * @param ctx
62
+ * @param x
63
+ * @param y
64
+ * @param w
65
+ * @param h
66
+ * @param r
67
+ * @param shadowColor
68
+ * @param shadowBlur
69
+ * @param lineWidth
70
+ */
71
+ }, {
72
+ key: "roundRectInnerArrowShadow",
73
+ value: function roundRectInnerArrowShadow(ctx, x, y, w, h, r, shadowColor, shadowBlur, lineWidth) {
74
+ r = r || 5; // 圆角半径
75
+ shadowColor = shadowColor || 'rgb(36,99,163)'; // 阴影颜色
76
+ lineWidth = lineWidth || 30; // 边框越大,阴影越清晰
77
+ shadowBlur = shadowBlur || 30; // 模糊级别,越大越模糊,阴影范围也越大。
78
+
79
+ ctx.save();
80
+ ctx.beginPath();
81
+
82
+ // 裁剪区(只保留内部阴影部分)
83
+ this.roundRectArrow(ctx, x, y, w, h, r);
84
+ ctx.clip();
85
+ ctx.strokeStyle = '#00f';
86
+ ctx.strokeOpacity = 0;
87
+ // 边框+阴影
88
+ ctx.beginPath();
89
+ ctx.lineWidth = lineWidth;
90
+ ctx.shadowColor = shadowColor;
91
+ ctx.shadowBlur = shadowBlur;
92
+ // 因线是由坐标位置向两则画的,所以要移动起点坐标位置,和加大矩形。
93
+ this.roundRectArrow(ctx, x - lineWidth - 10, y - lineWidth / 2, w + lineWidth + 25, h + lineWidth, r);
94
+ ctx.stroke();
95
+
96
+ // 取消阴影
97
+ ctx.shadowBlur = 0;
98
+ ctx.restore();
99
+ }
100
+
101
+ /**
102
+ * 圆角矩形带阴影
103
+ * @param ctx
104
+ * @param x
105
+ * @param y
106
+ * @param w
107
+ * @param h
108
+ * @param r
109
+ * @param shadowColor
110
+ * @param shadowBlur
111
+ * @param lineWidth
112
+ */
113
+ }, {
114
+ key: "roundRectInnerShadow",
115
+ value: function roundRectInnerShadow(ctx, x, y, w, h, r, shadowColor, shadowBlur, lineWidth) {
116
+ r = r || 5; // 圆角半径
117
+ shadowColor = shadowColor || 'rgb(36,99,163)'; // 阴影颜色
118
+ lineWidth = lineWidth || 6; // 边框越大,阴影越清晰
119
+ shadowBlur = shadowBlur || 8; // 模糊级别,越大越模糊,阴影范围也越大。
120
+
121
+ ctx.save();
122
+ ctx.beginPath();
123
+
124
+ // 裁剪区(只保留内部阴影部分)
125
+ this.roundRect(ctx, x, y, w, h, r);
126
+ ctx.clip();
127
+ ctx.strokeStyle = '#00f';
128
+ ctx.strokeOpacity = 0;
129
+
130
+ // 边框+阴影
131
+ ctx.beginPath();
132
+ ctx.lineWidth = lineWidth;
133
+ ctx.shadowColor = shadowColor;
134
+ ctx.shadowBlur = shadowBlur;
135
+
136
+ // 因线是由坐标位置向两则画的,所以要移动起点坐标位置,和加大矩形。
137
+ this.roundRect(ctx, x - lineWidth / 2, y - lineWidth / 2, w + lineWidth, h + lineWidth, r);
138
+ ctx.stroke();
139
+
140
+ // 取消阴影
141
+ ctx.shadowBlur = 0;
142
+ ctx.restore();
143
+ }
144
+
145
+ /**
146
+ * 椭圆带背景
147
+ * @param ctx 上下文
148
+ * @param x 左上角X坐标
149
+ * @param y 左上角Y坐标
150
+ * @param w 宽
151
+ * @param h 高
152
+ * @param baColor 背景颜色
153
+ */
154
+ }, {
155
+ key: "ellipseShadow",
156
+ value: function ellipseShadow(ctx, x, y, w, h, baColor) {
157
+ baColor = baColor || 'rgb(36,99,163)';
158
+ ctx.beginPath();
159
+ this.ellipse(ctx, x, y, w, h);
160
+ ctx.save();
161
+ ctx.globalAlpha = 0.25;
162
+ ctx.fillStyle = baColor;
163
+ ctx.fill();
164
+ ctx.restore();
165
+ ctx.strokeStyle = baColor;
166
+ ctx.stroke();
167
+ }
168
+
169
+ /**
170
+ * 椭圆
171
+ * @param ctx 上下文
172
+ * @param x 左上角X坐标
173
+ * @param y 左上角Y坐标
174
+ * @param width 宽
175
+ * @param height 高
176
+ */
177
+ }, {
178
+ key: "ellipse",
179
+ value: function ellipse(ctx, x, y, width, height) {
180
+ var k = width / 0.75 / 2,
181
+ h = height / 2;
182
+ ctx.beginPath();
183
+ ctx.moveTo(x, y - h);
184
+ ctx.bezierCurveTo(x + k, y - h, x + k, y + h, x, y + h);
185
+ ctx.bezierCurveTo(x - k, y + h, x - k, y - h, x, y - h);
186
+ ctx.closePath();
187
+ }
188
+
189
+ /**
190
+ * 圆角矩形
191
+ * @param ctx 上下文
192
+ * @param x 左上角X坐标
193
+ * @param y 左上角Y坐标
194
+ * @param w 宽
195
+ * @param h 高
196
+ * @param r 圆角的半径
197
+ */
198
+ }, {
199
+ key: "roundRect",
200
+ value: function roundRect(ctx, x, y, w, h, r) {
201
+ ctx.beginPath();
202
+ ctx.moveTo(x, y);
203
+
204
+ // 右上角弧线
205
+ ctx.arcTo(x + w, y, x + w, y + r, r);
206
+
207
+ // 右下角弧线
208
+ ctx.arcTo(x + w, y + h, x + w - r, y + h, r);
209
+
210
+ // 左下角弧线
211
+ ctx.arcTo(x, y + h, x, y + h - r, r);
212
+
213
+ // 左上角弧线
214
+ ctx.arcTo(x, y, x + r, y, r);
215
+ }
216
+
217
+ // 箭头柱子
218
+ }, {
219
+ key: "roundPillarArrow",
220
+ value: function roundPillarArrow(ctx, x, y, w, h) {
221
+ ctx.beginPath();
222
+ ctx.moveTo(x + w / 2, y);
223
+
224
+ // 右中
225
+ ctx.lineTo(x + w, y + h / 2 + 5);
226
+
227
+ // 右下角
228
+ ctx.lineTo(x + w, y + h);
229
+
230
+ // 左下角
231
+ ctx.lineTo(x, y + h);
232
+
233
+ // 左中
234
+ ctx.lineTo(x, y + h / 2 + 5);
235
+ ctx.lineTo(x + w / 2, y);
236
+ }
237
+
238
+ // 圆角箭头矩形
239
+ }, {
240
+ key: "roundRectArrow",
241
+ value: function roundRectArrow(ctx, x, y, w, h, r) {
242
+ ctx.beginPath();
243
+ ctx.moveTo(x, y);
244
+
245
+ // 右上角弧线
246
+ ctx.arcTo(x + w, y, x + w, y + r, r);
247
+
248
+ // 右下角弧线
249
+ ctx.arcTo(x + w, y + h, x + w - r, y + h, r);
250
+
251
+ // 底部横线
252
+ ctx.lineTo(x, y + h);
253
+
254
+ // 斜线
255
+ ctx.lineTo(x + 54 / 2, h / 2);
256
+
257
+ // 斜线
258
+ ctx.lineTo(x, y);
259
+ }
260
+
261
+ // 圆
262
+ }, {
263
+ key: "circle",
264
+ value: function circle(ctx, x, y, radius, startAngle, endAngle) {
265
+ ctx.beginPath();
266
+ ctx.moveTo(x, y);
267
+ ctx.arc(x, y, radius, startAngle, endAngle);
268
+ }
269
+
270
+ // 箭头圆
271
+ }, {
272
+ key: "arrowCircle",
273
+ value: function arrowCircle(ctx, x, y, radius, startAngle, endAngle) {
274
+ ctx.beginPath();
275
+ ctx.moveTo(x, y);
276
+ ctx.arc(x, y, radius, startAngle, endAngle);
277
+ }
278
+
279
+ // 获取宽度
280
+ }, {
281
+ key: "getCanvasWidth",
282
+ value: function getCanvasWidth(text) {
283
+ var canvas = document.createElement('canvas');
284
+ var ctx = canvas.getContext('2d');
285
+ ctx.textBaseline = 'middle';
286
+ var width = 0;
287
+ if (Array.isArray(text)) {
288
+ text.forEach(function (v) {
289
+ ctx.font = v.fontsize || 14 + 'px Arial';
290
+ var _width = ctx.measureText(v.text).width;
291
+ width = _width > width ? _width : width;
292
+ });
293
+ } else {
294
+ ctx.font = text.fontsize || 14 + 'px Arial';
295
+ width = ctx.measureText(text.text).width;
296
+ }
297
+ return width;
298
+ }
299
+
300
+ // 文本
301
+ }, {
302
+ key: "text",
303
+ value: function text(ctx, v, x, y, color) {
304
+ ctx.font = (v.fontSize || 14) + 'px Arial';
305
+ ctx.fillStyle = color || '#FFF';
306
+ ctx.fillText(v.text, x, y);
307
+ }
308
+
309
+ // 文本渲染
310
+ }, {
311
+ key: "renderText",
312
+ value: function renderText(ctx, height, text, x, color) {
313
+ var _this = this;
314
+ if (Array.isArray(text)) {
315
+ if (text.length === 1) {
316
+ var _text = text[0];
317
+ this.text(ctx, _text, x, height / 2 + (_text.fontSize || 14) / 2 - 2, color);
318
+ } else {
319
+ var startHeight = 6;
320
+ text.map(function (v, vI) {
321
+ startHeight += (v.fontSize || 14) + (vI ? 10 : 0);
322
+ _this.text(ctx, v, x, startHeight, color);
323
+ });
324
+ }
325
+ } else {
326
+ this.text(ctx, text, x, height / 2 + (text.fontSize || 14) / 2 - 2, color);
327
+ }
328
+ }
329
+
330
+ /**
331
+ * 色值转换
332
+ * @param color
333
+ * @param n
334
+ * @return String
335
+ */
336
+ }, {
337
+ key: "transformRgb",
338
+ value: function transformRgb(color) {
339
+ var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
340
+ // 16进制颜色值的正则
341
+ var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
342
+ // 把颜色值变成小写
343
+ color = color.toLowerCase();
344
+ if (reg.test(color)) {
345
+ // 如果只有三位的值,需变成六位,如:#fff => #ffffff
346
+ if (String(color).length === 4) {
347
+ var colorNew = '#';
348
+ for (var i = 1; i < 4; i += 1) {
349
+ colorNew += color.slice(i, i + 1).concat(color.slice(i, i + 1));
350
+ }
351
+ color = colorNew;
352
+ }
353
+ // 处理六位的颜色值,转为RGB
354
+ var colorChange = [];
355
+ for (var _i = 1; _i < 7; _i += 2) {
356
+ colorChange.push(parseInt('0x' + color.slice(_i, _i + 2)));
357
+ }
358
+ return "rgba(".concat(colorChange.join(','), ",").concat(n, ")");
359
+ } else {
360
+ return color;
361
+ }
362
+ }
363
+ }]);
364
+ return Canvas;
365
+ }();
366
+ exports["default"] = Canvas;
367
+ //# sourceMappingURL=Canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Canvas.js","names":["Canvas","options","_classCallCheck","width","height","canvas","createCanvas","ctx","getContext","_createClass","key","value","document","createElement","setWidth","setHeight","resize","canvasData","getImageData","putImageData","getCanvas","getImgUrl","toDataURL","roundRectInnerArrowShadow","x","y","w","h","r","shadowColor","shadowBlur","lineWidth","save","beginPath","roundRectArrow","clip","strokeStyle","strokeOpacity","stroke","restore","roundRectInnerShadow","roundRect","ellipseShadow","baColor","ellipse","globalAlpha","fillStyle","fill","k","moveTo","bezierCurveTo","closePath","arcTo","roundPillarArrow","lineTo","circle","radius","startAngle","endAngle","arc","arrowCircle","getCanvasWidth","text","textBaseline","Array","isArray","forEach","v","font","fontsize","_width","measureText","color","fontSize","fillText","renderText","_this","length","_text","startHeight","map","vI","transformRgb","n","arguments","undefined","reg","toLowerCase","test","String","colorNew","i","slice","concat","colorChange","push","parseInt","join","exports"],"sources":["map-icon/Canvas.js"],"sourcesContent":["/* eslint-disable */\nexport default class Canvas {\n constructor(options) {\n this.width = options?.width || 0;\n this.height = options?.height || 0;\n\n this.canvas = this.createCanvas();\n this.ctx = this.canvas.getContext('2d');\n }\n\n createCanvas() {\n let canvas = document.createElement('canvas');\n canvas.width = this.width || 0;\n canvas.height = this.height || 0;\n\n return canvas;\n }\n\n setWidth(width) {\n this.canvas.width = width;\n }\n\n setHeight(height) {\n this.canvas.height = height;\n }\n\n resize(width, height) {\n let canvasData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); // 保存画布\n this.canvas.width = width || this.canvas.width;\n this.canvas.height = height || this.canvas.height;\n this.ctx.putImageData(canvasData, 0, 0); // 改变完宽高后,重绘画布\n }\n\n getCanvas() {\n return this.canvas;\n }\n\n getImgUrl() {\n return this.canvas.toDataURL();\n }\n\n /**\n * 箭头圆角矩形\n * @param ctx\n * @param x\n * @param y\n * @param w\n * @param h\n * @param r\n * @param shadowColor\n * @param shadowBlur\n * @param lineWidth\n */\n roundRectInnerArrowShadow(ctx, x, y, w, h, r, shadowColor, shadowBlur, lineWidth) {\n r = r || 5; // 圆角半径\n shadowColor = shadowColor || 'rgb(36,99,163)'; // 阴影颜色\n lineWidth = lineWidth || 30; // 边框越大,阴影越清晰\n shadowBlur = shadowBlur || 30; // 模糊级别,越大越模糊,阴影范围也越大。\n\n ctx.save();\n ctx.beginPath();\n\n // 裁剪区(只保留内部阴影部分)\n this.roundRectArrow(ctx, x, y, w, h, r);\n ctx.clip();\n\n ctx.strokeStyle = '#00f';\n ctx.strokeOpacity = 0;\n // 边框+阴影\n ctx.beginPath();\n ctx.lineWidth = lineWidth;\n ctx.shadowColor = shadowColor;\n ctx.shadowBlur = shadowBlur;\n // 因线是由坐标位置向两则画的,所以要移动起点坐标位置,和加大矩形。\n this.roundRectArrow(\n ctx,\n x - lineWidth - 10,\n y - lineWidth / 2,\n w + lineWidth + 25,\n h + lineWidth,\n r,\n );\n ctx.stroke();\n\n // 取消阴影\n ctx.shadowBlur = 0;\n\n ctx.restore();\n }\n\n /**\n * 圆角矩形带阴影\n * @param ctx\n * @param x\n * @param y\n * @param w\n * @param h\n * @param r\n * @param shadowColor\n * @param shadowBlur\n * @param lineWidth\n */\n roundRectInnerShadow(ctx, x, y, w, h, r, shadowColor, shadowBlur, lineWidth) {\n r = r || 5; // 圆角半径\n shadowColor = shadowColor || 'rgb(36,99,163)'; // 阴影颜色\n lineWidth = lineWidth || 6; // 边框越大,阴影越清晰\n shadowBlur = shadowBlur || 8; // 模糊级别,越大越模糊,阴影范围也越大。\n\n ctx.save();\n ctx.beginPath();\n\n // 裁剪区(只保留内部阴影部分)\n this.roundRect(ctx, x, y, w, h, r);\n ctx.clip();\n\n ctx.strokeStyle = '#00f';\n ctx.strokeOpacity = 0;\n\n // 边框+阴影\n ctx.beginPath();\n ctx.lineWidth = lineWidth;\n ctx.shadowColor = shadowColor;\n ctx.shadowBlur = shadowBlur;\n\n // 因线是由坐标位置向两则画的,所以要移动起点坐标位置,和加大矩形。\n this.roundRect(ctx, x - lineWidth / 2, y - lineWidth / 2, w + lineWidth, h + lineWidth, r);\n ctx.stroke();\n\n // 取消阴影\n ctx.shadowBlur = 0;\n\n ctx.restore();\n }\n\n /**\n * 椭圆带背景\n * @param ctx 上下文\n * @param x 左上角X坐标\n * @param y 左上角Y坐标\n * @param w 宽\n * @param h 高\n * @param baColor 背景颜色\n */\n ellipseShadow(ctx, x, y, w, h, baColor) {\n baColor = baColor || 'rgb(36,99,163)';\n\n ctx.beginPath();\n\n this.ellipse(ctx, x, y, w, h);\n ctx.save();\n ctx.globalAlpha = 0.25;\n ctx.fillStyle = baColor;\n ctx.fill();\n\n ctx.restore();\n ctx.strokeStyle = baColor;\n ctx.stroke();\n }\n\n /**\n * 椭圆\n * @param ctx 上下文\n * @param x 左上角X坐标\n * @param y 左上角Y坐标\n * @param width 宽\n * @param height 高\n */\n ellipse(ctx, x, y, width, height) {\n let k = width / 0.75 / 2,\n h = height / 2;\n ctx.beginPath();\n ctx.moveTo(x, y - h);\n ctx.bezierCurveTo(x + k, y - h, x + k, y + h, x, y + h);\n ctx.bezierCurveTo(x - k, y + h, x - k, y - h, x, y - h);\n ctx.closePath();\n }\n\n /**\n * 圆角矩形\n * @param ctx 上下文\n * @param x 左上角X坐标\n * @param y 左上角Y坐标\n * @param w 宽\n * @param h 高\n * @param r 圆角的半径\n */\n roundRect(ctx, x, y, w, h, r) {\n ctx.beginPath();\n ctx.moveTo(x, y);\n\n // 右上角弧线\n ctx.arcTo(x + w, y, x + w, y + r, r);\n\n // 右下角弧线\n ctx.arcTo(x + w, y + h, x + w - r, y + h, r);\n\n // 左下角弧线\n ctx.arcTo(x, y + h, x, y + h - r, r);\n\n // 左上角弧线\n ctx.arcTo(x, y, x + r, y, r);\n }\n\n // 箭头柱子\n roundPillarArrow(ctx, x, y, w, h) {\n ctx.beginPath();\n\n ctx.moveTo(x + w / 2, y);\n\n // 右中\n ctx.lineTo(x + w, y + h / 2 + 5);\n\n // 右下角\n ctx.lineTo(x + w, y + h);\n\n // 左下角\n ctx.lineTo(x, y + h);\n\n // 左中\n ctx.lineTo(x, y + h / 2 + 5);\n\n ctx.lineTo(x + w / 2, y);\n }\n\n // 圆角箭头矩形\n roundRectArrow(ctx, x, y, w, h, r) {\n ctx.beginPath();\n\n ctx.moveTo(x, y);\n\n // 右上角弧线\n ctx.arcTo(x + w, y, x + w, y + r, r);\n\n // 右下角弧线\n ctx.arcTo(x + w, y + h, x + w - r, y + h, r);\n\n // 底部横线\n ctx.lineTo(x, y + h);\n\n // 斜线\n ctx.lineTo(x + 54 / 2, h / 2);\n\n // 斜线\n ctx.lineTo(x, y);\n }\n\n // 圆\n circle(ctx, x, y, radius, startAngle, endAngle) {\n ctx.beginPath();\n\n ctx.moveTo(x, y);\n\n ctx.arc(x, y, radius, startAngle, endAngle);\n }\n\n // 箭头圆\n arrowCircle(ctx, x, y, radius, startAngle, endAngle) {\n ctx.beginPath();\n\n ctx.moveTo(x, y);\n\n ctx.arc(x, y, radius, startAngle, endAngle);\n }\n\n // 获取宽度\n getCanvasWidth(text) {\n let canvas = document.createElement('canvas');\n let ctx = canvas.getContext('2d');\n ctx.textBaseline = 'middle';\n\n let width = 0;\n if (Array.isArray(text)) {\n text.forEach(v => {\n ctx.font = v.fontsize || 14 + 'px Arial';\n let _width = ctx.measureText(v.text).width;\n width = _width > width ? _width : width;\n });\n } else {\n ctx.font = text.fontsize || 14 + 'px Arial';\n width = ctx.measureText(text.text).width;\n }\n\n return width;\n }\n\n // 文本\n text(ctx, v, x, y, color) {\n ctx.font = (v.fontSize || 14) + 'px Arial';\n ctx.fillStyle = color || '#FFF';\n ctx.fillText(v.text, x, y);\n }\n\n // 文本渲染\n renderText(ctx, height, text, x, color) {\n if (Array.isArray(text)) {\n if (text.length === 1) {\n let _text = text[0];\n this.text(ctx, _text, x, height / 2 + (_text.fontSize || 14) / 2 - 2, color);\n } else {\n let startHeight = 6;\n text.map((v, vI) => {\n startHeight += (v.fontSize || 14) + (vI ? 10 : 0);\n this.text(ctx, v, x, startHeight, color);\n });\n }\n } else {\n this.text(ctx, text, x, height / 2 + (text.fontSize || 14) / 2 - 2, color);\n }\n }\n\n /**\n * 色值转换\n * @param color\n * @param n\n * @return String\n */\n transformRgb(color, n = 1) {\n // 16进制颜色值的正则\n let reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;\n // 把颜色值变成小写\n color = color.toLowerCase();\n if (reg.test(color)) {\n // 如果只有三位的值,需变成六位,如:#fff => #ffffff\n if (String(color).length === 4) {\n let colorNew = '#';\n for (let i = 1; i < 4; i += 1) {\n colorNew += color.slice(i, i + 1).concat(color.slice(i, i + 1));\n }\n color = colorNew;\n }\n // 处理六位的颜色值,转为RGB\n let colorChange = [];\n for (let i = 1; i < 7; i += 2) {\n colorChange.push(parseInt('0x' + color.slice(i, i + 2)));\n }\n return `rgba(${colorChange.join(',')},${n})`;\n } else {\n return color;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA;AAAA,IACqBA,MAAM;EACzB,SAAAA,OAAYC,OAAO,EAAE;IAAAC,eAAA,OAAAF,MAAA;IACnB,IAAI,CAACG,KAAK,GAAG,CAAAF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,KAAK,KAAI,CAAC;IAChC,IAAI,CAACC,MAAM,GAAG,CAAAH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG,MAAM,KAAI,CAAC;IAElC,IAAI,CAACC,MAAM,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;IACjC,IAAI,CAACC,GAAG,GAAG,IAAI,CAACF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC;EACzC;EAACC,YAAA,CAAAT,MAAA;IAAAU,GAAA;IAAAC,KAAA,EAED,SAAAL,aAAA,EAAe;MACb,IAAID,MAAM,GAAGO,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;MAC7CR,MAAM,CAACF,KAAK,GAAG,IAAI,CAACA,KAAK,IAAI,CAAC;MAC9BE,MAAM,CAACD,MAAM,GAAG,IAAI,CAACA,MAAM,IAAI,CAAC;MAEhC,OAAOC,MAAM;IACf;EAAC;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAG,SAASX,KAAK,EAAE;MACd,IAAI,CAACE,MAAM,CAACF,KAAK,GAAGA,KAAK;IAC3B;EAAC;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAI,UAAUX,MAAM,EAAE;MAChB,IAAI,CAACC,MAAM,CAACD,MAAM,GAAGA,MAAM;IAC7B;EAAC;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAK,OAAOb,KAAK,EAAEC,MAAM,EAAE;MACpB,IAAIa,UAAU,GAAG,IAAI,CAACV,GAAG,CAACW,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAACb,MAAM,CAACF,KAAK,EAAE,IAAI,CAACE,MAAM,CAACD,MAAM,CAAC,CAAC,CAAC;MACrF,IAAI,CAACC,MAAM,CAACF,KAAK,GAAGA,KAAK,IAAI,IAAI,CAACE,MAAM,CAACF,KAAK;MAC9C,IAAI,CAACE,MAAM,CAACD,MAAM,GAAGA,MAAM,IAAI,IAAI,CAACC,MAAM,CAACD,MAAM;MACjD,IAAI,CAACG,GAAG,CAACY,YAAY,CAACF,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAS,UAAA,EAAY;MACV,OAAO,IAAI,CAACf,MAAM;IACpB;EAAC;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAU,UAAA,EAAY;MACV,OAAO,IAAI,CAAChB,MAAM,CAACiB,SAAS,CAAC,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAXE;IAAAZ,GAAA;IAAAC,KAAA,EAYA,SAAAY,0BAA0BhB,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAE;MAChFH,CAAC,GAAGA,CAAC,IAAI,CAAC,CAAC,CAAC;MACZC,WAAW,GAAGA,WAAW,IAAI,gBAAgB,CAAC,CAAC;MAC/CE,SAAS,GAAGA,SAAS,IAAI,EAAE,CAAC,CAAC;MAC7BD,UAAU,GAAGA,UAAU,IAAI,EAAE,CAAC,CAAC;;MAE/BvB,GAAG,CAACyB,IAAI,CAAC,CAAC;MACVzB,GAAG,CAAC0B,SAAS,CAAC,CAAC;;MAEf;MACA,IAAI,CAACC,cAAc,CAAC3B,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;MACvCrB,GAAG,CAAC4B,IAAI,CAAC,CAAC;MAEV5B,GAAG,CAAC6B,WAAW,GAAG,MAAM;MACxB7B,GAAG,CAAC8B,aAAa,GAAG,CAAC;MACrB;MACA9B,GAAG,CAAC0B,SAAS,CAAC,CAAC;MACf1B,GAAG,CAACwB,SAAS,GAAGA,SAAS;MACzBxB,GAAG,CAACsB,WAAW,GAAGA,WAAW;MAC7BtB,GAAG,CAACuB,UAAU,GAAGA,UAAU;MAC3B;MACA,IAAI,CAACI,cAAc,CACjB3B,GAAG,EACHiB,CAAC,GAAGO,SAAS,GAAG,EAAE,EAClBN,CAAC,GAAGM,SAAS,GAAG,CAAC,EACjBL,CAAC,GAAGK,SAAS,GAAG,EAAE,EAClBJ,CAAC,GAAGI,SAAS,EACbH,CACF,CAAC;MACDrB,GAAG,CAAC+B,MAAM,CAAC,CAAC;;MAEZ;MACA/B,GAAG,CAACuB,UAAU,GAAG,CAAC;MAElBvB,GAAG,CAACgC,OAAO,CAAC,CAAC;IACf;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAXE;IAAA7B,GAAA;IAAAC,KAAA,EAYA,SAAA6B,qBAAqBjC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAE;MAC3EH,CAAC,GAAGA,CAAC,IAAI,CAAC,CAAC,CAAC;MACZC,WAAW,GAAGA,WAAW,IAAI,gBAAgB,CAAC,CAAC;MAC/CE,SAAS,GAAGA,SAAS,IAAI,CAAC,CAAC,CAAC;MAC5BD,UAAU,GAAGA,UAAU,IAAI,CAAC,CAAC,CAAC;;MAE9BvB,GAAG,CAACyB,IAAI,CAAC,CAAC;MACVzB,GAAG,CAAC0B,SAAS,CAAC,CAAC;;MAEf;MACA,IAAI,CAACQ,SAAS,CAAClC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;MAClCrB,GAAG,CAAC4B,IAAI,CAAC,CAAC;MAEV5B,GAAG,CAAC6B,WAAW,GAAG,MAAM;MACxB7B,GAAG,CAAC8B,aAAa,GAAG,CAAC;;MAErB;MACA9B,GAAG,CAAC0B,SAAS,CAAC,CAAC;MACf1B,GAAG,CAACwB,SAAS,GAAGA,SAAS;MACzBxB,GAAG,CAACsB,WAAW,GAAGA,WAAW;MAC7BtB,GAAG,CAACuB,UAAU,GAAGA,UAAU;;MAE3B;MACA,IAAI,CAACW,SAAS,CAAClC,GAAG,EAAEiB,CAAC,GAAGO,SAAS,GAAG,CAAC,EAAEN,CAAC,GAAGM,SAAS,GAAG,CAAC,EAAEL,CAAC,GAAGK,SAAS,EAAEJ,CAAC,GAAGI,SAAS,EAAEH,CAAC,CAAC;MAC1FrB,GAAG,CAAC+B,MAAM,CAAC,CAAC;;MAEZ;MACA/B,GAAG,CAACuB,UAAU,GAAG,CAAC;MAElBvB,GAAG,CAACgC,OAAO,CAAC,CAAC;IACf;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARE;IAAA7B,GAAA;IAAAC,KAAA,EASA,SAAA+B,cAAcnC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEgB,OAAO,EAAE;MACtCA,OAAO,GAAGA,OAAO,IAAI,gBAAgB;MAErCpC,GAAG,CAAC0B,SAAS,CAAC,CAAC;MAEf,IAAI,CAACW,OAAO,CAACrC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;MAC7BpB,GAAG,CAACyB,IAAI,CAAC,CAAC;MACVzB,GAAG,CAACsC,WAAW,GAAG,IAAI;MACtBtC,GAAG,CAACuC,SAAS,GAAGH,OAAO;MACvBpC,GAAG,CAACwC,IAAI,CAAC,CAAC;MAEVxC,GAAG,CAACgC,OAAO,CAAC,CAAC;MACbhC,GAAG,CAAC6B,WAAW,GAAGO,OAAO;MACzBpC,GAAG,CAAC+B,MAAM,CAAC,CAAC;IACd;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA5B,GAAA;IAAAC,KAAA,EAQA,SAAAiC,QAAQrC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEtB,KAAK,EAAEC,MAAM,EAAE;MAChC,IAAI4C,CAAC,GAAG7C,KAAK,GAAG,IAAI,GAAG,CAAC;QACtBwB,CAAC,GAAGvB,MAAM,GAAG,CAAC;MAChBG,GAAG,CAAC0B,SAAS,CAAC,CAAC;MACf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,EAAEC,CAAC,GAAGE,CAAC,CAAC;MACpBpB,GAAG,CAAC2C,aAAa,CAAC1B,CAAC,GAAGwB,CAAC,EAAEvB,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGwB,CAAC,EAAEvB,CAAC,GAAGE,CAAC,EAAEH,CAAC,EAAEC,CAAC,GAAGE,CAAC,CAAC;MACvDpB,GAAG,CAAC2C,aAAa,CAAC1B,CAAC,GAAGwB,CAAC,EAAEvB,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGwB,CAAC,EAAEvB,CAAC,GAAGE,CAAC,EAAEH,CAAC,EAAEC,CAAC,GAAGE,CAAC,CAAC;MACvDpB,GAAG,CAAC4C,SAAS,CAAC,CAAC;IACjB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARE;IAAAzC,GAAA;IAAAC,KAAA,EASA,SAAA8B,UAAUlC,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;MAC5BrB,GAAG,CAAC0B,SAAS,CAAC,CAAC;MACf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,EAAEC,CAAC,CAAC;;MAEhB;MACAlB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,GAAGE,CAAC,EAAED,CAAC,EAAED,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGG,CAAC,EAAEA,CAAC,CAAC;;MAEpC;MACArB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGE,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGE,CAAC,EAAEC,CAAC,CAAC;;MAE5C;MACArB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,EAAEC,CAAC,GAAGE,CAAC,EAAEH,CAAC,EAAEC,CAAC,GAAGE,CAAC,GAAGC,CAAC,EAAEA,CAAC,CAAC;;MAEpC;MACArB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,EAAEC,CAAC,EAAED,CAAC,GAAGI,CAAC,EAAEH,CAAC,EAAEG,CAAC,CAAC;IAC9B;;IAEA;EAAA;IAAAlB,GAAA;IAAAC,KAAA,EACA,SAAA0C,iBAAiB9C,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;MAChCpB,GAAG,CAAC0B,SAAS,CAAC,CAAC;MAEf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,GAAGE,CAAC,GAAG,CAAC,EAAED,CAAC,CAAC;;MAExB;MACAlB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;MAEhC;MACApB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGE,CAAC,CAAC;;MAExB;MACApB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,EAAEC,CAAC,GAAGE,CAAC,CAAC;;MAEpB;MACApB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,EAAEC,CAAC,GAAGE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAE5BpB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,GAAGE,CAAC,GAAG,CAAC,EAAED,CAAC,CAAC;IAC1B;;IAEA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EACA,SAAAuB,eAAe3B,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;MACjCrB,GAAG,CAAC0B,SAAS,CAAC,CAAC;MAEf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,EAAEC,CAAC,CAAC;;MAEhB;MACAlB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,GAAGE,CAAC,EAAED,CAAC,EAAED,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGG,CAAC,EAAEA,CAAC,CAAC;;MAEpC;MACArB,GAAG,CAAC6C,KAAK,CAAC5B,CAAC,GAAGE,CAAC,EAAED,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGE,CAAC,GAAGE,CAAC,EAAEH,CAAC,GAAGE,CAAC,EAAEC,CAAC,CAAC;;MAE5C;MACArB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,EAAEC,CAAC,GAAGE,CAAC,CAAC;;MAEpB;MACApB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAEG,CAAC,GAAG,CAAC,CAAC;;MAE7B;MACApB,GAAG,CAAC+C,MAAM,CAAC9B,CAAC,EAAEC,CAAC,CAAC;IAClB;;IAEA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EACA,SAAA4C,OAAOhD,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAE+B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE;MAC9CnD,GAAG,CAAC0B,SAAS,CAAC,CAAC;MAEf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,EAAEC,CAAC,CAAC;MAEhBlB,GAAG,CAACoD,GAAG,CAACnC,CAAC,EAAEC,CAAC,EAAE+B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,CAAC;IAC7C;;IAEA;EAAA;IAAAhD,GAAA;IAAAC,KAAA,EACA,SAAAiD,YAAYrD,GAAG,EAAEiB,CAAC,EAAEC,CAAC,EAAE+B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAE;MACnDnD,GAAG,CAAC0B,SAAS,CAAC,CAAC;MAEf1B,GAAG,CAAC0C,MAAM,CAACzB,CAAC,EAAEC,CAAC,CAAC;MAEhBlB,GAAG,CAACoD,GAAG,CAACnC,CAAC,EAAEC,CAAC,EAAE+B,MAAM,EAAEC,UAAU,EAAEC,QAAQ,CAAC;IAC7C;;IAEA;EAAA;IAAAhD,GAAA;IAAAC,KAAA,EACA,SAAAkD,eAAeC,IAAI,EAAE;MACnB,IAAIzD,MAAM,GAAGO,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;MAC7C,IAAIN,GAAG,GAAGF,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC;MACjCD,GAAG,CAACwD,YAAY,GAAG,QAAQ;MAE3B,IAAI5D,KAAK,GAAG,CAAC;MACb,IAAI6D,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE;QACvBA,IAAI,CAACI,OAAO,CAAC,UAAAC,CAAC,EAAI;UAChB5D,GAAG,CAAC6D,IAAI,GAAGD,CAAC,CAACE,QAAQ,IAAI,EAAE,GAAG,UAAU;UACxC,IAAIC,MAAM,GAAG/D,GAAG,CAACgE,WAAW,CAACJ,CAAC,CAACL,IAAI,CAAC,CAAC3D,KAAK;UAC1CA,KAAK,GAAGmE,MAAM,GAAGnE,KAAK,GAAGmE,MAAM,GAAGnE,KAAK;QACzC,CAAC,CAAC;MACJ,CAAC,MAAM;QACLI,GAAG,CAAC6D,IAAI,GAAGN,IAAI,CAACO,QAAQ,IAAI,EAAE,GAAG,UAAU;QAC3ClE,KAAK,GAAGI,GAAG,CAACgE,WAAW,CAACT,IAAI,CAACA,IAAI,CAAC,CAAC3D,KAAK;MAC1C;MAEA,OAAOA,KAAK;IACd;;IAEA;EAAA;IAAAO,GAAA;IAAAC,KAAA,EACA,SAAAmD,KAAKvD,GAAG,EAAE4D,CAAC,EAAE3C,CAAC,EAAEC,CAAC,EAAE+C,KAAK,EAAE;MACxBjE,GAAG,CAAC6D,IAAI,GAAG,CAACD,CAAC,CAACM,QAAQ,IAAI,EAAE,IAAI,UAAU;MAC1ClE,GAAG,CAACuC,SAAS,GAAG0B,KAAK,IAAI,MAAM;MAC/BjE,GAAG,CAACmE,QAAQ,CAACP,CAAC,CAACL,IAAI,EAAEtC,CAAC,EAAEC,CAAC,CAAC;IAC5B;;IAEA;EAAA;IAAAf,GAAA;IAAAC,KAAA,EACA,SAAAgE,WAAWpE,GAAG,EAAEH,MAAM,EAAE0D,IAAI,EAAEtC,CAAC,EAAEgD,KAAK,EAAE;MAAA,IAAAI,KAAA;MACtC,IAAIZ,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE;QACvB,IAAIA,IAAI,CAACe,MAAM,KAAK,CAAC,EAAE;UACrB,IAAIC,KAAK,GAAGhB,IAAI,CAAC,CAAC,CAAC;UACnB,IAAI,CAACA,IAAI,CAACvD,GAAG,EAAEuE,KAAK,EAAEtD,CAAC,EAAEpB,MAAM,GAAG,CAAC,GAAG,CAAC0E,KAAK,CAACL,QAAQ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAED,KAAK,CAAC;QAC9E,CAAC,MAAM;UACL,IAAIO,WAAW,GAAG,CAAC;UACnBjB,IAAI,CAACkB,GAAG,CAAC,UAACb,CAAC,EAAEc,EAAE,EAAK;YAClBF,WAAW,IAAI,CAACZ,CAAC,CAACM,QAAQ,IAAI,EAAE,KAAKQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjDL,KAAI,CAACd,IAAI,CAACvD,GAAG,EAAE4D,CAAC,EAAE3C,CAAC,EAAEuD,WAAW,EAAEP,KAAK,CAAC;UAC1C,CAAC,CAAC;QACJ;MACF,CAAC,MAAM;QACL,IAAI,CAACV,IAAI,CAACvD,GAAG,EAAEuD,IAAI,EAAEtC,CAAC,EAAEpB,MAAM,GAAG,CAAC,GAAG,CAAC0D,IAAI,CAACW,QAAQ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAED,KAAK,CAAC;MAC5E;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA9D,GAAA;IAAAC,KAAA,EAMA,SAAAuE,aAAaV,KAAK,EAAS;MAAA,IAAPW,CAAC,GAAAC,SAAA,CAAAP,MAAA,QAAAO,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;MACvB;MACA,IAAIE,GAAG,GAAG,oCAAoC;MAC9C;MACAd,KAAK,GAAGA,KAAK,CAACe,WAAW,CAAC,CAAC;MAC3B,IAAID,GAAG,CAACE,IAAI,CAAChB,KAAK,CAAC,EAAE;QACnB;QACA,IAAIiB,MAAM,CAACjB,KAAK,CAAC,CAACK,MAAM,KAAK,CAAC,EAAE;UAC9B,IAAIa,QAAQ,GAAG,GAAG;UAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;YAC7BD,QAAQ,IAAIlB,KAAK,CAACoB,KAAK,CAACD,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC,CAACE,MAAM,CAACrB,KAAK,CAACoB,KAAK,CAACD,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC,CAAC;UACjE;UACAnB,KAAK,GAAGkB,QAAQ;QAClB;QACA;QACA,IAAII,WAAW,GAAG,EAAE;QACpB,KAAK,IAAIH,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAG,CAAC,EAAEA,EAAC,IAAI,CAAC,EAAE;UAC7BG,WAAW,CAACC,IAAI,CAACC,QAAQ,CAAC,IAAI,GAAGxB,KAAK,CAACoB,KAAK,CAACD,EAAC,EAAEA,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D;QACA,eAAAE,MAAA,CAAeC,WAAW,CAACG,IAAI,CAAC,GAAG,CAAC,OAAAJ,MAAA,CAAIV,CAAC;MAC3C,CAAC,MAAM;QACL,OAAOX,KAAK;MACd;IACF;EAAC;EAAA,OAAAxE,MAAA;AAAA;AAAAkG,OAAA,cAAAlG,MAAA"}