{"version":3,"sources":["node_modules/@arcgis/core/layers/effects/EffectView.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as t } from \"../../chunks/tslib.es6.js\";\nimport e from \"../../core/Accessor.js\";\nimport has from \"../../core/has.js\";\nimport { clone as s } from \"../../core/lang.js\";\nimport r from \"../../core/Logger.js\";\nimport { property as i } from \"../../core/accessorSupport/decorators/property.js\";\nimport \"../../core/accessorSupport/ensureType.js\";\nimport { subclass as n } from \"../../core/accessorSupport/decorators/subclass.js\";\nimport { parse as c } from \"./parser.js\";\nimport { canInterpolateEffects as o, normalizeEffects as f } from \"./utils.js\";\nconst l = -1;\nlet a = class extends e {\n constructor(t) {\n super(t), this._from = null, this._to = null, this._final = null, this._current = [], this._time = 0, this.duration = has(\"mapview-transitions-duration\"), this.effects = [];\n }\n set effect(t) {\n if (this._get(\"effect\") !== (t = t || \"\")) {\n this._set(\"effect\", t);\n try {\n this._transitionTo(h(t));\n } catch (e) {\n this._transitionTo([]), r.getLogger(this).warn(\"Invalid Effect\", {\n effect: t,\n error: e\n });\n }\n }\n }\n get hasEffects() {\n return this.transitioning || !!this.effects.length;\n }\n set scale(t) {\n this._updateForScale(t);\n }\n get transitioning() {\n return null !== this._to;\n }\n canTransitionTo(t) {\n try {\n return this.scale > 0 && u(this._current, h(t), this.scale);\n } catch {\n return !1;\n }\n }\n transitionStep(t, e) {\n this._applyTimeTransition(t), this._updateForScale(e);\n }\n endTransitions() {\n this._applyTimeTransition(this.duration);\n }\n _transitionTo(t) {\n this.scale > 0 && u(this._current, t, this.scale) ? (this._final = t, this._to = s(t), _(this._current, this._to, this.scale), this._from = s(this._current), this._time = 0) : (this._from = this._to = this._final = null, this._current = t), this._set(\"effects\", this._current[0] ? s(this._current[0].effects) : []);\n }\n _applyTimeTransition(t) {\n if (!(this._to && this._from && this._current && this._final)) return;\n this._time += t;\n const e = Math.min(1, this._time / this.duration);\n for (let s = 0; s < this._current.length; s++) {\n const t = this._current[s],\n r = this._from[s],\n i = this._to[s];\n t.scale = p(r.scale, i.scale, e);\n for (let s = 0; s < t.effects.length; s++) {\n const n = t.effects[s],\n c = r.effects[s],\n o = i.effects[s];\n n.interpolate(c, o, e);\n }\n }\n 1 === e && (this._current = this._final, this._set(\"effects\", this._current[0] ? s(this._current[0].effects) : []), this._from = this._to = this._final = null);\n }\n _updateForScale(t) {\n if (this._set(\"scale\", t), 0 === this._current.length) return;\n const e = this._current,\n s = this._current.length - 1;\n let r,\n i,\n n = 1;\n if (1 === e.length || t >= e[0].scale) i = r = e[0].effects;else if (t <= e[s].scale) i = r = e[s].effects;else for (let c = 0; c < s; c++) {\n const s = e[c],\n o = e[c + 1];\n if (s.scale >= t && o.scale <= t) {\n n = (t - s.scale) / (o.scale - s.scale), r = s.effects, i = o.effects;\n break;\n }\n }\n for (let c = 0; c < this.effects.length; c++) {\n this.effects[c].interpolate(r[c], i[c], n);\n }\n }\n};\nfunction h(t) {\n const e = c(t) || [];\n return m(e) ? [{\n scale: l,\n effects: e\n }] : e;\n}\nfunction u(t, e, s) {\n if (!t[0]?.effects || !e[0]?.effects) return !0;\n return !((t[0]?.scale === l || e[0]?.scale === l) && (t.length > 1 || e.length > 1) && s <= 0) && o(t[0].effects, e[0].effects);\n}\nfunction _(t, e, s) {\n const r = t.length > e.length ? t : e,\n i = t.length > e.length ? e : t,\n n = i[i.length - 1],\n c = n?.scale ?? s,\n o = n?.effects ?? [];\n for (let f = i.length; f < r.length; f++) i.push({\n scale: c,\n effects: [...o]\n });\n for (let a = 0; a < r.length; a++) i[a].scale = i[a].scale === l ? s : i[a].scale, r[a].scale = r[a].scale === l ? s : r[a].scale, f(i[a].effects, r[a].effects);\n}\nfunction p(t, e, s) {\n return t + (e - t) * s;\n}\nfunction m(t) {\n const e = t[0];\n return !!e && \"type\" in e;\n}\nt([i()], a.prototype, \"_to\", void 0), t([i()], a.prototype, \"duration\", void 0), t([i({\n value: \"\"\n})], a.prototype, \"effect\", null), t([i({\n readOnly: !0\n})], a.prototype, \"effects\", void 0), t([i({\n readOnly: !0\n})], a.prototype, \"hasEffects\", null), t([i({\n value: 0\n})], a.prototype, \"scale\", null), t([i({\n readOnly: !0\n})], a.prototype, \"transitioning\", null), a = t([n(\"esri.layers.effects.EffectView\")], a);\nexport { a as EffectView, u as canInterpolateEffectStops, h as convertEffectToStops, _ as normalizeEffectStops };"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,IAAM,IAAI;AACV,IAAIA,KAAI,cAAc,EAAE;AAAA,EACtB,YAAYC,IAAG;AACb,UAAMA,EAAC,GAAG,KAAK,QAAQ,MAAM,KAAK,MAAM,MAAM,KAAK,SAAS,MAAM,KAAK,WAAW,CAAC,GAAG,KAAK,QAAQ,GAAG,KAAK,WAAW,IAAI,8BAA8B,GAAG,KAAK,UAAU,CAAC;AAAA,EAC7K;AAAA,EACA,IAAI,OAAOA,IAAG;AACZ,QAAI,KAAK,KAAK,QAAQ,OAAOA,KAAIA,MAAK,KAAK;AACzC,WAAK,KAAK,UAAUA,EAAC;AACrB,UAAI;AACF,aAAK,cAAc,EAAEA,EAAC,CAAC;AAAA,MACzB,SAASC,IAAG;AACV,aAAK,cAAc,CAAC,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,KAAK,kBAAkB;AAAA,UAC/D,QAAQD;AAAA,UACR,OAAOC;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,aAAa;AACf,WAAO,KAAK,iBAAiB,CAAC,CAAC,KAAK,QAAQ;AAAA,EAC9C;AAAA,EACA,IAAI,MAAMD,IAAG;AACX,SAAK,gBAAgBA,EAAC;AAAA,EACxB;AAAA,EACA,IAAI,gBAAgB;AAClB,WAAO,SAAS,KAAK;AAAA,EACvB;AAAA,EACA,gBAAgBA,IAAG;AACjB,QAAI;AACF,aAAO,KAAK,QAAQ,KAAK,EAAE,KAAK,UAAU,EAAEA,EAAC,GAAG,KAAK,KAAK;AAAA,IAC5D,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,eAAeA,IAAGC,IAAG;AACnB,SAAK,qBAAqBD,EAAC,GAAG,KAAK,gBAAgBC,EAAC;AAAA,EACtD;AAAA,EACA,iBAAiB;AACf,SAAK,qBAAqB,KAAK,QAAQ;AAAA,EACzC;AAAA,EACA,cAAcD,IAAG;AACf,SAAK,QAAQ,KAAK,EAAE,KAAK,UAAUA,IAAG,KAAK,KAAK,KAAK,KAAK,SAASA,IAAG,KAAK,MAAM,EAAEA,EAAC,GAAG,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,KAAK,GAAG,KAAK,QAAQ,EAAE,KAAK,QAAQ,GAAG,KAAK,QAAQ,MAAM,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS,MAAM,KAAK,WAAWA,KAAI,KAAK,KAAK,WAAW,KAAK,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC;AAAA,EAC3T;AAAA,EACA,qBAAqBA,IAAG;AACtB,QAAI,EAAE,KAAK,OAAO,KAAK,SAAS,KAAK,YAAY,KAAK;AAAS;AAC/D,SAAK,SAASA;AACd,UAAMC,KAAI,KAAK,IAAI,GAAG,KAAK,QAAQ,KAAK,QAAQ;AAChD,aAASC,KAAI,GAAGA,KAAI,KAAK,SAAS,QAAQA,MAAK;AAC7C,YAAMF,KAAI,KAAK,SAASE,EAAC,GACvB,IAAI,KAAK,MAAMA,EAAC,GAChB,IAAI,KAAK,IAAIA,EAAC;AAChB,MAAAF,GAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAOC,EAAC;AAC/B,eAASC,KAAI,GAAGA,KAAIF,GAAE,QAAQ,QAAQE,MAAK;AACzC,cAAM,IAAIF,GAAE,QAAQE,EAAC,GACnBC,KAAI,EAAE,QAAQD,EAAC,GACf,IAAI,EAAE,QAAQA,EAAC;AACjB,UAAE,YAAYC,IAAG,GAAGF,EAAC;AAAA,MACvB;AAAA,IACF;AACA,UAAMA,OAAM,KAAK,WAAW,KAAK,QAAQ,KAAK,KAAK,WAAW,KAAK,SAAS,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,KAAK,MAAM,KAAK,SAAS;AAAA,EAC5J;AAAA,EACA,gBAAgBD,IAAG;AACjB,QAAI,KAAK,KAAK,SAASA,EAAC,GAAG,MAAM,KAAK,SAAS;AAAQ;AACvD,UAAMC,KAAI,KAAK,UACbC,KAAI,KAAK,SAAS,SAAS;AAC7B,QAAI,GACF,GACA,IAAI;AACN,QAAI,MAAMD,GAAE,UAAUD,MAAKC,GAAE,CAAC,EAAE;AAAO,UAAI,IAAIA,GAAE,CAAC,EAAE;AAAA,aAAiBD,MAAKC,GAAEC,EAAC,EAAE;AAAO,UAAI,IAAID,GAAEC,EAAC,EAAE;AAAA;AAAa,eAASC,KAAI,GAAGA,KAAID,IAAGC,MAAK;AAC1I,cAAMD,KAAID,GAAEE,EAAC,GACX,IAAIF,GAAEE,KAAI,CAAC;AACb,YAAID,GAAE,SAASF,MAAK,EAAE,SAASA,IAAG;AAChC,eAAKA,KAAIE,GAAE,UAAU,EAAE,QAAQA,GAAE,QAAQ,IAAIA,GAAE,SAAS,IAAI,EAAE;AAC9D;AAAA,QACF;AAAA,MACF;AACA,aAASC,KAAI,GAAGA,KAAI,KAAK,QAAQ,QAAQA,MAAK;AAC5C,WAAK,QAAQA,EAAC,EAAE,YAAY,EAAEA,EAAC,GAAG,EAAEA,EAAC,GAAG,CAAC;AAAA,IAC3C;AAAA,EACF;AACF;AACA,SAAS,EAAEH,IAAG;AACZ,QAAMC,KAAIG,GAAEJ,EAAC,KAAK,CAAC;AACnB,SAAO,EAAEC,EAAC,IAAI,CAAC;AAAA,IACb,OAAO;AAAA,IACP,SAASA;AAAA,EACX,CAAC,IAAIA;AACP;AACA,SAAS,EAAED,IAAGC,IAAGC,IAAG;AAClB,MAAI,CAACF,GAAE,CAAC,GAAG,WAAW,CAACC,GAAE,CAAC,GAAG;AAAS,WAAO;AAC7C,SAAO,GAAGD,GAAE,CAAC,GAAG,UAAU,KAAKC,GAAE,CAAC,GAAG,UAAU,OAAOD,GAAE,SAAS,KAAKC,GAAE,SAAS,MAAMC,MAAK,MAAM,EAAEF,GAAE,CAAC,EAAE,SAASC,GAAE,CAAC,EAAE,OAAO;AAChI;AACA,SAAS,EAAED,IAAGC,IAAGC,IAAG;AAClB,QAAM,IAAIF,GAAE,SAASC,GAAE,SAASD,KAAIC,IAClC,IAAID,GAAE,SAASC,GAAE,SAASA,KAAID,IAC9B,IAAI,EAAE,EAAE,SAAS,CAAC,GAClBG,KAAI,GAAG,SAASD,IAChB,IAAI,GAAG,WAAW,CAAC;AACrB,WAAS,IAAI,EAAE,QAAQ,IAAI,EAAE,QAAQ;AAAK,MAAE,KAAK;AAAA,MAC/C,OAAOC;AAAA,MACP,SAAS,CAAC,GAAG,CAAC;AAAA,IAChB,CAAC;AACD,WAASJ,KAAI,GAAGA,KAAI,EAAE,QAAQA;AAAK,MAAEA,EAAC,EAAE,QAAQ,EAAEA,EAAC,EAAE,UAAU,IAAIG,KAAI,EAAEH,EAAC,EAAE,OAAO,EAAEA,EAAC,EAAE,QAAQ,EAAEA,EAAC,EAAE,UAAU,IAAIG,KAAI,EAAEH,EAAC,EAAE,OAAOE,GAAE,EAAEF,EAAC,EAAE,SAAS,EAAEA,EAAC,EAAE,OAAO;AACjK;AACA,SAAS,EAAEC,IAAGC,IAAGC,IAAG;AAClB,SAAOF,MAAKC,KAAID,MAAKE;AACvB;AACA,SAAS,EAAEF,IAAG;AACZ,QAAMC,KAAID,GAAE,CAAC;AACb,SAAO,CAAC,CAACC,MAAK,UAAUA;AAC1B;AACA,EAAE,CAAC,EAAE,CAAC,GAAGF,GAAE,WAAW,OAAO,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAGA,GAAE,WAAW,YAAY,MAAM,GAAG,EAAE,CAAC,EAAE;AAAA,EACpF,OAAO;AACT,CAAC,CAAC,GAAGA,GAAE,WAAW,UAAU,IAAI,GAAG,EAAE,CAAC,EAAE;AAAA,EACtC,UAAU;AACZ,CAAC,CAAC,GAAGA,GAAE,WAAW,WAAW,MAAM,GAAG,EAAE,CAAC,EAAE;AAAA,EACzC,UAAU;AACZ,CAAC,CAAC,GAAGA,GAAE,WAAW,cAAc,IAAI,GAAG,EAAE,CAAC,EAAE;AAAA,EAC1C,OAAO;AACT,CAAC,CAAC,GAAGA,GAAE,WAAW,SAAS,IAAI,GAAG,EAAE,CAAC,EAAE;AAAA,EACrC,UAAU;AACZ,CAAC,CAAC,GAAGA,GAAE,WAAW,iBAAiB,IAAI,GAAGA,KAAI,EAAE,CAAC,EAAE,gCAAgC,CAAC,GAAGA,EAAC;","names":["a","t","e","s","c","y"],"x_google_ignoreList":[0]}