chunk-I26BWYY3.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. import {
  2. M,
  3. f as f2,
  4. m,
  5. u as u2,
  6. y
  7. } from "./chunk-XHRNCFJT.js";
  8. import {
  9. e as e2
  10. } from "./chunk-OKUFE7TO.js";
  11. import {
  12. c2,
  13. l as l3,
  14. x
  15. } from "./chunk-3Z755LKF.js";
  16. import {
  17. i
  18. } from "./chunk-3OSQ6GXO.js";
  19. import {
  20. u
  21. } from "./chunk-UVVU4UUO.js";
  22. import {
  23. l as l2
  24. } from "./chunk-X4SA4ELJ.js";
  25. import {
  26. c
  27. } from "./chunk-2ZSOO377.js";
  28. import {
  29. a
  30. } from "./chunk-ZLNEXZAN.js";
  31. import {
  32. l
  33. } from "./chunk-TJNOJH33.js";
  34. import {
  35. U
  36. } from "./chunk-DVUG3KID.js";
  37. import {
  38. has
  39. } from "./chunk-SPWQ3AWG.js";
  40. import {
  41. e,
  42. f,
  43. r,
  44. t
  45. } from "./chunk-YXWMMD76.js";
  46. // node_modules/@arcgis/core/symbols/support/cimSymbolUtils.js
  47. function l4(e4, t2, o, r2) {
  48. if (e4)
  49. if ("CIMTextSymbol" !== e4.type) {
  50. if (o && e4.effects)
  51. for (const o2 of e4.effects)
  52. y2(o2, t2);
  53. if (e4.symbolLayers)
  54. for (const o2 of e4.symbolLayers)
  55. switch (o2.type) {
  56. case "CIMPictureMarker":
  57. case "CIMVectorMarker":
  58. m2(o2, t2, r2);
  59. break;
  60. case "CIMPictureStroke":
  61. case "CIMSolidStroke":
  62. !(r2 == null ? void 0 : r2.preserveOutlineWidth) && o2.width && (o2.width *= t2);
  63. break;
  64. case "CIMPictureFill":
  65. o2.height && (o2.height *= t2), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2);
  66. break;
  67. case "CIMHatchFill":
  68. l4(o2.lineSymbol, t2, true, { ...r2, preserveOutlineWidth: false }), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2), o2.separation && (o2.separation *= t2);
  69. }
  70. } else
  71. null != e4.height && (e4.height *= t2);
  72. }
  73. function m2(e4, t2, o) {
  74. if (e4 && (e4.markerPlacement && M2(e4.markerPlacement, t2), e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2), e4.anchorPoint && "Absolute" === e4.anchorPointUnits && (e4.anchorPoint = { x: e4.anchorPoint.x * t2, y: e4.anchorPoint.y * t2 }), e4.size = null != e4.size ? e4.size * t2 : 0, "CIMVectorMarker" === e4.type && e4.markerGraphics))
  75. for (const r2 of e4.markerGraphics)
  76. e4.scaleSymbolsProportionally || l4(r2.symbol, t2, true, o);
  77. }
  78. function M2(e4, t2) {
  79. switch (m(e4) && e4.offset && (e4.offset *= t2), e4.type) {
  80. case "CIMMarkerPlacementAlongLineRandomSize":
  81. case "CIMMarkerPlacementAlongLineSameSize":
  82. if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.placementTemplate && e4.placementTemplate.length) {
  83. const o = e4.placementTemplate.map((e5) => e5 * t2);
  84. e4.placementTemplate = o;
  85. }
  86. break;
  87. case "CIMMarkerPlacementAlongLineVariableSize":
  88. if (e4.maxRandomOffset && (e4.maxRandomOffset *= t2), e4.placementTemplate && e4.placementTemplate.length) {
  89. const o = e4.placementTemplate.map((e5) => e5 * t2);
  90. e4.placementTemplate = o;
  91. }
  92. break;
  93. case "CIMMarkerPlacementOnLine":
  94. e4.startPointOffset && (e4.startPointOffset *= t2);
  95. break;
  96. case "CIMMarkerPlacementAtExtremities":
  97. e4.offsetAlongLine && (e4.offsetAlongLine *= t2);
  98. break;
  99. case "CIMMarkerPlacementAtMeasuredUnits":
  100. case "CIMMarkerPlacementOnVertices":
  101. break;
  102. case "CIMMarkerPlacementAtRatioPositions":
  103. e4.beginPosition && (e4.beginPosition *= t2), e4.endPosition && (e4.endPosition *= t2);
  104. break;
  105. case "CIMMarkerPlacementPolygonCenter":
  106. e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2);
  107. break;
  108. case "CIMMarkerPlacementInsidePolygon":
  109. e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2), e4.stepX && (e4.stepX *= t2), e4.stepY && (e4.stepY *= t2);
  110. }
  111. }
  112. function y2(e4, t2) {
  113. switch (e4.type) {
  114. case "CIMGeometricEffectArrow":
  115. case "CIMGeometricEffectDonut":
  116. e4.width && (e4.width *= t2);
  117. break;
  118. case "CIMGeometricEffectBuffer":
  119. e4.size && (e4.size *= t2);
  120. break;
  121. case "CIMGeometricEffectCut":
  122. e4.beginCut && (e4.beginCut *= t2), e4.endCut && (e4.endCut *= t2), e4.middleCut && (e4.middleCut *= t2);
  123. break;
  124. case "CIMGeometricEffectDashes":
  125. if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.dashTemplate && e4.dashTemplate.length) {
  126. const o = e4.dashTemplate.map((e5) => e5 * t2);
  127. e4.dashTemplate = o;
  128. }
  129. break;
  130. case "CIMGeometricEffectExtension":
  131. case "CIMGeometricEffectJog":
  132. case "CIMGeometricEffectRadial":
  133. e4.length && (e4.length *= t2);
  134. break;
  135. case "CIMGeometricEffectMove":
  136. e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2);
  137. break;
  138. case "CIMGeometricEffectOffset":
  139. case "CIMGeometricEffectOffsetTangent":
  140. e4.offset && (e4.offset *= t2);
  141. break;
  142. case "CIMGeometricEffectRegularPolygon":
  143. e4.radius && (e4.radius *= t2);
  144. break;
  145. case "CIMGeometricEffectTaperedPolygon":
  146. e4.fromWidth && (e4.fromWidth *= t2), e4.length && (e4.length *= t2), e4.toWidth && (e4.toWidth *= t2);
  147. break;
  148. case "CIMGeometricEffectWave":
  149. e4.amplitude && (e4.amplitude *= t2), e4.period && (e4.period *= t2);
  150. }
  151. }
  152. function C2(o) {
  153. const r2 = [];
  154. return u3(f2(o), r2), r2.length ? new l2(u2(r2[0])) : null;
  155. }
  156. function u3(e4, t2) {
  157. var _a;
  158. if (!e4)
  159. return;
  160. let n2;
  161. n2 = "CIMTextSymbol" === e4.type ? e4.symbol : e4;
  162. const a3 = "CIMPolygonSymbol" === e4.type;
  163. if (n2 == null ? void 0 : n2.symbolLayers) {
  164. for (const i2 of n2.symbolLayers)
  165. if (!(i2.colorLocked || a3 && (M(i2) || y(i2) && i2.markerPlacement && m(i2.markerPlacement))))
  166. switch (i2.type) {
  167. case "CIMPictureMarker":
  168. case "CIMPictureStroke":
  169. case "CIMPictureFill":
  170. i2.tintColor && b(t2, i2.tintColor);
  171. break;
  172. case "CIMVectorMarker":
  173. (_a = i2.markerGraphics) == null ? void 0 : _a.forEach((e5) => {
  174. u3(e5.symbol, t2);
  175. });
  176. break;
  177. case "CIMSolidStroke":
  178. case "CIMSolidFill":
  179. b(t2, i2.color);
  180. break;
  181. case "CIMHatchFill":
  182. u3(i2.lineSymbol, t2);
  183. }
  184. }
  185. }
  186. function b(e4, t2) {
  187. for (const o of e4)
  188. if (o.join(".") === t2.join("."))
  189. return;
  190. e4.push(t2);
  191. }
  192. // node_modules/@arcgis/core/symbols/support/gfxUtils.js
  193. var n = "picture-fill";
  194. var l5 = "simple-fill";
  195. var c3 = "simple-line";
  196. var a2 = "simple-marker";
  197. var m3 = "text";
  198. var p = "cim";
  199. var u4 = new e2(1e3);
  200. function f3(t2) {
  201. const r2 = t2.style;
  202. let o = null;
  203. if (t2)
  204. switch (t2.type) {
  205. case a2:
  206. "cross" !== r2 && "x" !== r2 && (o = t2.color);
  207. break;
  208. case l5:
  209. "solid" === r2 ? o = t2.color : "none" !== r2 && (o = { type: "pattern", x: 0, y: 0, src: a(`esri/symbols/patterns/${r2}.png`), width: 5, height: 5 });
  210. break;
  211. case n:
  212. o = { type: "pattern", src: t2.url, width: u(t2.width) * t2.xscale, height: u(t2.height) * t2.yscale, x: u(t2.xoffset), y: u(t2.yoffset) };
  213. break;
  214. case m3:
  215. o = t2.color;
  216. break;
  217. case p:
  218. o = C2(t2);
  219. }
  220. return o;
  221. }
  222. function h(e4, t2) {
  223. const o = e4 + "-" + t2;
  224. return void 0 !== u4.get(o) ? Promise.resolve(u4.get(o)) : U(e4, { responseType: "image" }).then((e5) => {
  225. const r2 = e5.data, s = r2.naturalWidth, i2 = r2.naturalHeight, n2 = document.createElement("canvas");
  226. n2.width = s, n2.height = i2;
  227. const l6 = n2.getContext("2d");
  228. l6.fillStyle = t2, l6.fillRect(0, 0, s, i2), l6.globalCompositeOperation = "destination-in", l6.drawImage(r2, 0, 0);
  229. const c4 = n2.toDataURL();
  230. return u4.put(o, c4), c4;
  231. });
  232. }
  233. function y3(e4) {
  234. if (!e4)
  235. return null;
  236. let t2 = null;
  237. switch (e4.type) {
  238. case l5:
  239. case n:
  240. case a2:
  241. t2 = y3(e4.outline);
  242. break;
  243. case c3: {
  244. const r2 = u(e4.width);
  245. null != e4.style && "none" !== e4.style && 0 !== r2 && (t2 = { color: e4.color, style: d(e4.style), width: r2, cap: e4.cap, join: "miter" === e4.join ? u(e4.miterLimit) : e4.join });
  246. break;
  247. }
  248. default:
  249. t2 = null;
  250. }
  251. return t2;
  252. }
  253. var d = (() => {
  254. const e4 = {};
  255. return (t2) => {
  256. if (e4[t2])
  257. return e4[t2];
  258. const r2 = t2.replace(/-/g, "");
  259. return e4[t2] = r2, r2;
  260. };
  261. })();
  262. var g = new l2([128, 128, 128]);
  263. // node_modules/@arcgis/core/symbols/support/utils.js
  264. var p2 = /\/resource\/(.*?)\.svg$/;
  265. var h2 = new l2("white");
  266. function d2(e4) {
  267. if (t(e4) || !("symbolLayers" in e4) || t(e4.symbolLayers))
  268. return false;
  269. switch (e4.type) {
  270. case "point-3d":
  271. return e4.symbolLayers.some((e5) => "object" === e5.type);
  272. case "line-3d":
  273. return e4.symbolLayers.some((e5) => "path" === e5.type);
  274. case "polygon-3d":
  275. return e4.symbolLayers.some((e5) => "object" === e5.type || "extrude" === e5.type);
  276. default:
  277. return false;
  278. }
  279. }
  280. function g2(e4, t2) {
  281. const o = f(t2.resource).href;
  282. return !has("esri-canvas-svg-support") && e4.styleOrigin && p2.test(o) ? o.replace(p2, "/resource/png/$1.png") : o;
  283. }
  284. function j(r2, n2) {
  285. if (!r2)
  286. return null;
  287. let l6 = null;
  288. return c2(r2) ? l6 = k(r2) : x(r2) && (l6 = r2.color ? new l2(r2.color) : null), l6 ? L(l6, n2) : null;
  289. }
  290. function k(t2) {
  291. const o = t2.symbolLayers;
  292. if (!o)
  293. return null;
  294. let r2 = null;
  295. return o.forEach((e4) => {
  296. var _a;
  297. "object" === e4.type && null != ((_a = e4.resource) == null ? void 0 : _a.href) || (r2 = "water" === e4.type ? e(e4.color) : r(e4.material) ? e(e4.material.color) : null);
  298. }), r2 ? new l2(r2) : null;
  299. }
  300. function L(t2, o) {
  301. if (null == o || null == t2)
  302. return t2;
  303. const r2 = t2.toRgba();
  304. return r2[3] = r2[3] * o, new l2(r2);
  305. }
  306. function z(e4, t2, o) {
  307. const r2 = e4.symbolLayers;
  308. if (!r2)
  309. return;
  310. const i2 = (e5) => {
  311. var _a;
  312. const r3 = r(e5) ? e5 : null;
  313. return L(t2 = (_a = t2 != null ? t2 : r3) != null ? _a : null != o ? h2 : null, o);
  314. };
  315. r2.forEach((e5) => {
  316. var _a;
  317. if ("object" !== e5.type || null == ((_a = e5.resource) == null ? void 0 : _a.href) || t2)
  318. if ("water" === e5.type)
  319. e5.color = i2(e5.color);
  320. else {
  321. const t3 = r(e5.material) ? e5.material.color : null, r3 = i2(t3);
  322. t(e5.material) ? e5.material = new l3({ color: r3 }) : e5.material.color = r3, null != o && "outline" in e5 && r(e5.outline) && r(e5.outline.color) && (e5.outline.color = L(e5.outline.color, o));
  323. }
  324. });
  325. }
  326. function v(e4, t2, o) {
  327. (t2 = t2 != null ? t2 : e4.color) && (e4.color = L(t2, o)), null != o && "outline" in e4 && e4.outline && e4.outline.color && (e4.outline.color = L(e4.outline.color, o));
  328. }
  329. function x2(r2, n2, l6) {
  330. r2 && (n2 || null != l6) && (n2 && (n2 = new l2(n2)), c2(r2) ? z(r2, n2, l6) : x(r2) && v(r2, n2, l6));
  331. }
  332. async function S(e4, t2) {
  333. const o = e4.symbolLayers;
  334. o && await c(o, async (e5) => U2(e5, t2));
  335. }
  336. async function U2(e4, t2) {
  337. switch (e4.type) {
  338. case "extrude":
  339. R(e4, t2);
  340. break;
  341. case "icon":
  342. case "line":
  343. case "text":
  344. O(e4, t2);
  345. break;
  346. case "path":
  347. A(e4, t2);
  348. break;
  349. case "object":
  350. await $(e4, t2);
  351. }
  352. }
  353. function O(e4, t2) {
  354. const o = E(t2);
  355. r(o) && (e4.size = o);
  356. }
  357. function E(e4) {
  358. for (const t2 of e4)
  359. if ("number" == typeof t2)
  360. return t2;
  361. return null;
  362. }
  363. function R(e4, t2) {
  364. e4.size = "number" == typeof t2[2] ? t2[2] : 0;
  365. }
  366. async function $(e4, t2) {
  367. const { resourceSize: o, symbolSize: r2 } = await D(e4), n2 = C3(t2, o, r2);
  368. e4.width = I(t2[0], r2[0], o[0], n2), e4.depth = I(t2[1], r2[1], o[1], n2), e4.height = I(t2[2], r2[2], o[2], n2);
  369. }
  370. function A(e4, t2) {
  371. const o = C3(t2, l, [e4.width, void 0, e4.height]);
  372. e4.width = I(t2[0], e4.width, 1, o), e4.height = I(t2[2], e4.height, 1, o);
  373. }
  374. function C3(e4, t2, o) {
  375. for (let r2 = 0; r2 < 3; r2++) {
  376. const n2 = e4[r2];
  377. switch (n2) {
  378. case "symbol-value": {
  379. const e5 = o[r2];
  380. return null != e5 ? e5 / t2[r2] : 1;
  381. }
  382. case "proportional":
  383. break;
  384. default:
  385. if (n2 && t2[r2])
  386. return n2 / t2[r2];
  387. }
  388. }
  389. return 1;
  390. }
  391. async function D(e4) {
  392. const t2 = await import("./symbolLayerUtils-JPLC7RBG.js"), o = await t2.computeObjectLayerResourceSize(e4, 10), { width: r2, height: n2, depth: l6 } = e4, i2 = [r2, l6, n2];
  393. let s = 1;
  394. for (let c4 = 0; c4 < 3; c4++) {
  395. const e5 = i2[c4];
  396. if (null != e5) {
  397. s = e5 / o[c4];
  398. break;
  399. }
  400. }
  401. for (let c4 = 0; c4 < 3; c4++)
  402. null == i2[c4] && (i2[c4] = o[c4] * s);
  403. return { resourceSize: o, symbolSize: i2 };
  404. }
  405. function I(e4, t2, o, r2) {
  406. switch (e4) {
  407. case "proportional":
  408. return o * r2;
  409. case "symbol-value":
  410. return null != t2 ? t2 : o;
  411. default:
  412. return e4;
  413. }
  414. }
  415. function J(e4, t2) {
  416. const o = E(t2);
  417. if (!t(o))
  418. switch (e4.type) {
  419. case "simple-marker":
  420. e4.size = o;
  421. break;
  422. case "picture-marker": {
  423. const t3 = e4.width / e4.height;
  424. t3 > 1 ? (e4.width = o, e4.height = o * t3) : (e4.width = o * t3, e4.height = o);
  425. break;
  426. }
  427. case "simple-line":
  428. e4.width = o;
  429. break;
  430. case "text":
  431. e4.font.size = o;
  432. }
  433. }
  434. async function M3(e4, r2) {
  435. if (e4 && r2)
  436. return c2(e4) ? S(e4, r2) : void (x(e4) && J(e4, r2));
  437. }
  438. function N(e4, r2, n2) {
  439. if (e4 && null != r2)
  440. if (c2(e4)) {
  441. const t2 = e4.symbolLayers;
  442. t2 && t2.forEach((e5) => {
  443. if (e5 && "object" === e5.type)
  444. switch (n2) {
  445. case "tilt":
  446. e5.tilt = r2;
  447. break;
  448. case "roll":
  449. e5.roll = r2;
  450. break;
  451. default:
  452. e5.heading = r2;
  453. }
  454. });
  455. } else
  456. x(e4) && ("simple-marker" !== e4.type && "picture-marker" !== e4.type && "text" !== e4.type || (e4.angle = r2));
  457. }
  458. function q2(e4) {
  459. if (!e4)
  460. return null;
  461. const t2 = e4.effects.filter((e5) => "bloom" !== e5.type).map((e5) => e5.toJSON());
  462. return i(t2);
  463. }
  464. export {
  465. m2 as m,
  466. f3 as f,
  467. h,
  468. y3 as y,
  469. d,
  470. g,
  471. d2,
  472. g2,
  473. j,
  474. x2 as x,
  475. M3 as M,
  476. N,
  477. q2 as q
  478. };
  479. //# sourceMappingURL=chunk-I26BWYY3.js.map