123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- import {
- M,
- f as f2,
- m,
- u as u2,
- y
- } from "./chunk-XHRNCFJT.js";
- import {
- e as e2
- } from "./chunk-OKUFE7TO.js";
- import {
- c2,
- l as l3,
- x
- } from "./chunk-3Z755LKF.js";
- import {
- i
- } from "./chunk-3OSQ6GXO.js";
- import {
- u
- } from "./chunk-UVVU4UUO.js";
- import {
- l as l2
- } from "./chunk-X4SA4ELJ.js";
- import {
- c
- } from "./chunk-2ZSOO377.js";
- import {
- a
- } from "./chunk-ZLNEXZAN.js";
- import {
- l
- } from "./chunk-TJNOJH33.js";
- import {
- U
- } from "./chunk-DVUG3KID.js";
- import {
- has
- } from "./chunk-SPWQ3AWG.js";
- import {
- e,
- f,
- r,
- t
- } from "./chunk-YXWMMD76.js";
- // node_modules/@arcgis/core/symbols/support/cimSymbolUtils.js
- function l4(e4, t2, o, r2) {
- if (e4)
- if ("CIMTextSymbol" !== e4.type) {
- if (o && e4.effects)
- for (const o2 of e4.effects)
- y2(o2, t2);
- if (e4.symbolLayers)
- for (const o2 of e4.symbolLayers)
- switch (o2.type) {
- case "CIMPictureMarker":
- case "CIMVectorMarker":
- m2(o2, t2, r2);
- break;
- case "CIMPictureStroke":
- case "CIMSolidStroke":
- !(r2 == null ? void 0 : r2.preserveOutlineWidth) && o2.width && (o2.width *= t2);
- break;
- case "CIMPictureFill":
- o2.height && (o2.height *= t2), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2);
- break;
- case "CIMHatchFill":
- l4(o2.lineSymbol, t2, true, { ...r2, preserveOutlineWidth: false }), o2.offsetX && (o2.offsetX *= t2), o2.offsetY && (o2.offsetY *= t2), o2.separation && (o2.separation *= t2);
- }
- } else
- null != e4.height && (e4.height *= t2);
- }
- function m2(e4, t2, o) {
- 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))
- for (const r2 of e4.markerGraphics)
- e4.scaleSymbolsProportionally || l4(r2.symbol, t2, true, o);
- }
- function M2(e4, t2) {
- switch (m(e4) && e4.offset && (e4.offset *= t2), e4.type) {
- case "CIMMarkerPlacementAlongLineRandomSize":
- case "CIMMarkerPlacementAlongLineSameSize":
- if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.placementTemplate && e4.placementTemplate.length) {
- const o = e4.placementTemplate.map((e5) => e5 * t2);
- e4.placementTemplate = o;
- }
- break;
- case "CIMMarkerPlacementAlongLineVariableSize":
- if (e4.maxRandomOffset && (e4.maxRandomOffset *= t2), e4.placementTemplate && e4.placementTemplate.length) {
- const o = e4.placementTemplate.map((e5) => e5 * t2);
- e4.placementTemplate = o;
- }
- break;
- case "CIMMarkerPlacementOnLine":
- e4.startPointOffset && (e4.startPointOffset *= t2);
- break;
- case "CIMMarkerPlacementAtExtremities":
- e4.offsetAlongLine && (e4.offsetAlongLine *= t2);
- break;
- case "CIMMarkerPlacementAtMeasuredUnits":
- case "CIMMarkerPlacementOnVertices":
- break;
- case "CIMMarkerPlacementAtRatioPositions":
- e4.beginPosition && (e4.beginPosition *= t2), e4.endPosition && (e4.endPosition *= t2);
- break;
- case "CIMMarkerPlacementPolygonCenter":
- e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2);
- break;
- case "CIMMarkerPlacementInsidePolygon":
- e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2), e4.stepX && (e4.stepX *= t2), e4.stepY && (e4.stepY *= t2);
- }
- }
- function y2(e4, t2) {
- switch (e4.type) {
- case "CIMGeometricEffectArrow":
- case "CIMGeometricEffectDonut":
- e4.width && (e4.width *= t2);
- break;
- case "CIMGeometricEffectBuffer":
- e4.size && (e4.size *= t2);
- break;
- case "CIMGeometricEffectCut":
- e4.beginCut && (e4.beginCut *= t2), e4.endCut && (e4.endCut *= t2), e4.middleCut && (e4.middleCut *= t2);
- break;
- case "CIMGeometricEffectDashes":
- if (e4.customEndingOffset && (e4.customEndingOffset *= t2), e4.offsetAlongLine && (e4.offsetAlongLine *= t2), e4.dashTemplate && e4.dashTemplate.length) {
- const o = e4.dashTemplate.map((e5) => e5 * t2);
- e4.dashTemplate = o;
- }
- break;
- case "CIMGeometricEffectExtension":
- case "CIMGeometricEffectJog":
- case "CIMGeometricEffectRadial":
- e4.length && (e4.length *= t2);
- break;
- case "CIMGeometricEffectMove":
- e4.offsetX && (e4.offsetX *= t2), e4.offsetY && (e4.offsetY *= t2);
- break;
- case "CIMGeometricEffectOffset":
- case "CIMGeometricEffectOffsetTangent":
- e4.offset && (e4.offset *= t2);
- break;
- case "CIMGeometricEffectRegularPolygon":
- e4.radius && (e4.radius *= t2);
- break;
- case "CIMGeometricEffectTaperedPolygon":
- e4.fromWidth && (e4.fromWidth *= t2), e4.length && (e4.length *= t2), e4.toWidth && (e4.toWidth *= t2);
- break;
- case "CIMGeometricEffectWave":
- e4.amplitude && (e4.amplitude *= t2), e4.period && (e4.period *= t2);
- }
- }
- function C2(o) {
- const r2 = [];
- return u3(f2(o), r2), r2.length ? new l2(u2(r2[0])) : null;
- }
- function u3(e4, t2) {
- var _a;
- if (!e4)
- return;
- let n2;
- n2 = "CIMTextSymbol" === e4.type ? e4.symbol : e4;
- const a3 = "CIMPolygonSymbol" === e4.type;
- if (n2 == null ? void 0 : n2.symbolLayers) {
- for (const i2 of n2.symbolLayers)
- if (!(i2.colorLocked || a3 && (M(i2) || y(i2) && i2.markerPlacement && m(i2.markerPlacement))))
- switch (i2.type) {
- case "CIMPictureMarker":
- case "CIMPictureStroke":
- case "CIMPictureFill":
- i2.tintColor && b(t2, i2.tintColor);
- break;
- case "CIMVectorMarker":
- (_a = i2.markerGraphics) == null ? void 0 : _a.forEach((e5) => {
- u3(e5.symbol, t2);
- });
- break;
- case "CIMSolidStroke":
- case "CIMSolidFill":
- b(t2, i2.color);
- break;
- case "CIMHatchFill":
- u3(i2.lineSymbol, t2);
- }
- }
- }
- function b(e4, t2) {
- for (const o of e4)
- if (o.join(".") === t2.join("."))
- return;
- e4.push(t2);
- }
- // node_modules/@arcgis/core/symbols/support/gfxUtils.js
- var n = "picture-fill";
- var l5 = "simple-fill";
- var c3 = "simple-line";
- var a2 = "simple-marker";
- var m3 = "text";
- var p = "cim";
- var u4 = new e2(1e3);
- function f3(t2) {
- const r2 = t2.style;
- let o = null;
- if (t2)
- switch (t2.type) {
- case a2:
- "cross" !== r2 && "x" !== r2 && (o = t2.color);
- break;
- case l5:
- "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 });
- break;
- case n:
- 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) };
- break;
- case m3:
- o = t2.color;
- break;
- case p:
- o = C2(t2);
- }
- return o;
- }
- function h(e4, t2) {
- const o = e4 + "-" + t2;
- return void 0 !== u4.get(o) ? Promise.resolve(u4.get(o)) : U(e4, { responseType: "image" }).then((e5) => {
- const r2 = e5.data, s = r2.naturalWidth, i2 = r2.naturalHeight, n2 = document.createElement("canvas");
- n2.width = s, n2.height = i2;
- const l6 = n2.getContext("2d");
- l6.fillStyle = t2, l6.fillRect(0, 0, s, i2), l6.globalCompositeOperation = "destination-in", l6.drawImage(r2, 0, 0);
- const c4 = n2.toDataURL();
- return u4.put(o, c4), c4;
- });
- }
- function y3(e4) {
- if (!e4)
- return null;
- let t2 = null;
- switch (e4.type) {
- case l5:
- case n:
- case a2:
- t2 = y3(e4.outline);
- break;
- case c3: {
- const r2 = u(e4.width);
- 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 });
- break;
- }
- default:
- t2 = null;
- }
- return t2;
- }
- var d = (() => {
- const e4 = {};
- return (t2) => {
- if (e4[t2])
- return e4[t2];
- const r2 = t2.replace(/-/g, "");
- return e4[t2] = r2, r2;
- };
- })();
- var g = new l2([128, 128, 128]);
- // node_modules/@arcgis/core/symbols/support/utils.js
- var p2 = /\/resource\/(.*?)\.svg$/;
- var h2 = new l2("white");
- function d2(e4) {
- if (t(e4) || !("symbolLayers" in e4) || t(e4.symbolLayers))
- return false;
- switch (e4.type) {
- case "point-3d":
- return e4.symbolLayers.some((e5) => "object" === e5.type);
- case "line-3d":
- return e4.symbolLayers.some((e5) => "path" === e5.type);
- case "polygon-3d":
- return e4.symbolLayers.some((e5) => "object" === e5.type || "extrude" === e5.type);
- default:
- return false;
- }
- }
- function g2(e4, t2) {
- const o = f(t2.resource).href;
- return !has("esri-canvas-svg-support") && e4.styleOrigin && p2.test(o) ? o.replace(p2, "/resource/png/$1.png") : o;
- }
- function j(r2, n2) {
- if (!r2)
- return null;
- let l6 = null;
- return c2(r2) ? l6 = k(r2) : x(r2) && (l6 = r2.color ? new l2(r2.color) : null), l6 ? L(l6, n2) : null;
- }
- function k(t2) {
- const o = t2.symbolLayers;
- if (!o)
- return null;
- let r2 = null;
- return o.forEach((e4) => {
- var _a;
- "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);
- }), r2 ? new l2(r2) : null;
- }
- function L(t2, o) {
- if (null == o || null == t2)
- return t2;
- const r2 = t2.toRgba();
- return r2[3] = r2[3] * o, new l2(r2);
- }
- function z(e4, t2, o) {
- const r2 = e4.symbolLayers;
- if (!r2)
- return;
- const i2 = (e5) => {
- var _a;
- const r3 = r(e5) ? e5 : null;
- return L(t2 = (_a = t2 != null ? t2 : r3) != null ? _a : null != o ? h2 : null, o);
- };
- r2.forEach((e5) => {
- var _a;
- if ("object" !== e5.type || null == ((_a = e5.resource) == null ? void 0 : _a.href) || t2)
- if ("water" === e5.type)
- e5.color = i2(e5.color);
- else {
- const t3 = r(e5.material) ? e5.material.color : null, r3 = i2(t3);
- 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));
- }
- });
- }
- function v(e4, t2, o) {
- (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));
- }
- function x2(r2, n2, l6) {
- r2 && (n2 || null != l6) && (n2 && (n2 = new l2(n2)), c2(r2) ? z(r2, n2, l6) : x(r2) && v(r2, n2, l6));
- }
- async function S(e4, t2) {
- const o = e4.symbolLayers;
- o && await c(o, async (e5) => U2(e5, t2));
- }
- async function U2(e4, t2) {
- switch (e4.type) {
- case "extrude":
- R(e4, t2);
- break;
- case "icon":
- case "line":
- case "text":
- O(e4, t2);
- break;
- case "path":
- A(e4, t2);
- break;
- case "object":
- await $(e4, t2);
- }
- }
- function O(e4, t2) {
- const o = E(t2);
- r(o) && (e4.size = o);
- }
- function E(e4) {
- for (const t2 of e4)
- if ("number" == typeof t2)
- return t2;
- return null;
- }
- function R(e4, t2) {
- e4.size = "number" == typeof t2[2] ? t2[2] : 0;
- }
- async function $(e4, t2) {
- const { resourceSize: o, symbolSize: r2 } = await D(e4), n2 = C3(t2, o, r2);
- 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);
- }
- function A(e4, t2) {
- const o = C3(t2, l, [e4.width, void 0, e4.height]);
- e4.width = I(t2[0], e4.width, 1, o), e4.height = I(t2[2], e4.height, 1, o);
- }
- function C3(e4, t2, o) {
- for (let r2 = 0; r2 < 3; r2++) {
- const n2 = e4[r2];
- switch (n2) {
- case "symbol-value": {
- const e5 = o[r2];
- return null != e5 ? e5 / t2[r2] : 1;
- }
- case "proportional":
- break;
- default:
- if (n2 && t2[r2])
- return n2 / t2[r2];
- }
- }
- return 1;
- }
- async function D(e4) {
- const t2 = await import("./symbolLayerUtils-JPLC7RBG.js"), o = await t2.computeObjectLayerResourceSize(e4, 10), { width: r2, height: n2, depth: l6 } = e4, i2 = [r2, l6, n2];
- let s = 1;
- for (let c4 = 0; c4 < 3; c4++) {
- const e5 = i2[c4];
- if (null != e5) {
- s = e5 / o[c4];
- break;
- }
- }
- for (let c4 = 0; c4 < 3; c4++)
- null == i2[c4] && (i2[c4] = o[c4] * s);
- return { resourceSize: o, symbolSize: i2 };
- }
- function I(e4, t2, o, r2) {
- switch (e4) {
- case "proportional":
- return o * r2;
- case "symbol-value":
- return null != t2 ? t2 : o;
- default:
- return e4;
- }
- }
- function J(e4, t2) {
- const o = E(t2);
- if (!t(o))
- switch (e4.type) {
- case "simple-marker":
- e4.size = o;
- break;
- case "picture-marker": {
- const t3 = e4.width / e4.height;
- t3 > 1 ? (e4.width = o, e4.height = o * t3) : (e4.width = o * t3, e4.height = o);
- break;
- }
- case "simple-line":
- e4.width = o;
- break;
- case "text":
- e4.font.size = o;
- }
- }
- async function M3(e4, r2) {
- if (e4 && r2)
- return c2(e4) ? S(e4, r2) : void (x(e4) && J(e4, r2));
- }
- function N(e4, r2, n2) {
- if (e4 && null != r2)
- if (c2(e4)) {
- const t2 = e4.symbolLayers;
- t2 && t2.forEach((e5) => {
- if (e5 && "object" === e5.type)
- switch (n2) {
- case "tilt":
- e5.tilt = r2;
- break;
- case "roll":
- e5.roll = r2;
- break;
- default:
- e5.heading = r2;
- }
- });
- } else
- x(e4) && ("simple-marker" !== e4.type && "picture-marker" !== e4.type && "text" !== e4.type || (e4.angle = r2));
- }
- function q2(e4) {
- if (!e4)
- return null;
- const t2 = e4.effects.filter((e5) => "bloom" !== e5.type).map((e5) => e5.toJSON());
- return i(t2);
- }
- export {
- m2 as m,
- f3 as f,
- h,
- y3 as y,
- d,
- g,
- d2,
- g2,
- j,
- x2 as x,
- M3 as M,
- N,
- q2 as q
- };
- //# sourceMappingURL=chunk-I26BWYY3.js.map
|