chunk-7SW2GQFP.js 14 KB

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