{"version":3,"sources":["node_modules/@arcgis/core/renderers/support/rendererConversion.js","node_modules/@arcgis/core/widgets/Legend/support/clusterUtils.js","node_modules/@arcgis/core/widgets/Legend/support/sizeRampUtils.js","node_modules/@arcgis/core/widgets/smartMapping/support/utils.js","node_modules/@arcgis/core/widgets/Legend/support/ActiveLayerInfo.js","node_modules/@arcgis/core/widgets/Legend/LegendViewModel.js","node_modules/@arcgis/core/widgets/Legend/styles/CardCSS.js","node_modules/@arcgis/core/widgets/Legend/styles/support/univariateUtils.js","node_modules/@arcgis/core/widgets/Legend/support/styleUtils.js","node_modules/@arcgis/core/widgets/Legend/styles/Card.js","node_modules/@arcgis/core/widgets/Legend/styles/ClassicCSS.js","node_modules/@arcgis/core/widgets/Legend/styles/Classic.js","node_modules/@arcgis/core/widgets/Legend.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 { isSome as r } from \"../../core/arrayUtils.js\";\nimport \"../../core/has.js\";\nimport e from \"../../core/Error.js\";\nimport { to3D as n, defaultTo3DOptions as o } from \"../../symbols/support/symbolConversion.js\";\nfunction t(r) {\n return null == r || \"simple\" === r.type || \"unique-value\" === r.type || \"class-breaks\" === r.type || \"dictionary\" === r.type || \"heatmap\" === r.type;\n}\nfunction s(r, n) {\n if (null == r) return null;\n if (!t(r)) return new e(\"renderer-conversion-3d:unsupported-renderer\", `Unsupported renderer of type '${r.type || r.declaredClass}'`, {\n renderer: r\n });\n switch (r.type) {\n case \"simple\":\n return u(r);\n case \"unique-value\":\n return i(r, n);\n case \"class-breaks\":\n return a(r);\n case \"dictionary\":\n case \"heatmap\":\n return null;\n }\n return null;\n}\nfunction l(r, n) {\n if (!n) return null;\n let o;\n if (o = Array.isArray(n) ? n : [n], o.length > 0) {\n const n = o.map(r => r.details.symbol.type || r.details.symbol.declaredClass).filter(r => !!r);\n n.sort();\n const t = [];\n return n.forEach((r, e) => {\n 0 !== e && r === n[e - 1] || t.push(r);\n }), new e(\"renderer-conversion-3d:unsupported-symbols\", `Renderer contains symbols (${t.join(\", \")}) which are not supported in 3D`, {\n renderer: r,\n symbolErrors: o\n });\n }\n return null;\n}\nfunction u(r) {\n return l(r, n(r.symbol).error);\n}\nfunction i(e, t) {\n const s = {\n ...o,\n ...t\n },\n u = e.uniqueValueInfos?.map(r => n(r.symbol, s).error).filter(r),\n i = n(e.defaultSymbol, s);\n return i.error && u?.unshift(i.error), l(e, u);\n}\nfunction a(e) {\n const o = e.classBreakInfos.map(r => n(r.symbol).error).filter(r),\n t = n(e.defaultSymbol);\n return t.error && o.unshift(t.error), l(e, o);\n}\nexport { t as isSupportedRenderer3D, s as validateTo3D };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../../renderers/visualVariables/SizeVariable.js\";\nconst l = (e, l) => {\n const a = e.featuresTilingScheme.getClosestInfoForScale(e.scale).level;\n return l?.levels ? l.levels[a] : null;\n};\nfunction a(a, i) {\n if (!a || !(\"visualVariables\" in a) || !a.visualVariables) return null;\n const s = a.visualVariables.find(e => \"size\" === e.type),\n n = l(i, s);\n return n ? new e({\n field: s.field,\n minSize: n[2].size,\n minDataValue: n[2].value,\n maxSize: n[3].size,\n maxDataValue: n[3].value\n }) : null;\n}\nexport { a as getClusterSizeVariable };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport e from \"../../../Color.js\";\nimport { isSymbol3D as l } from \"../../../symbols.js\";\nimport { round as t, numDigits as n, percentChange as i } from \"../../../renderers/support/numberUtils.js\";\nimport { applyCIMSymbolColor as o } from \"../../../symbols/support/cimSymbolUtils.js\";\nimport { isVolumetricSymbol as s, getSymbolOutlineSize as r } from \"../../../symbols/support/utils.js\";\nimport { getSymbolForFlowRenderer as a, createStopLabel as u } from \"./utils.js\";\nimport \"../../support/widgetUtils.js\";\nimport { isDarkTheme as c } from \"../../../support/themeUtils.js\";\nimport m from \"../../../symbols/SimpleMarkerSymbol.js\";\nimport f from \"../../../symbols/SimpleLineSymbol.js\";\nconst p = 30,\n y = 12,\n b = [255, 255, 255],\n h = [200, 200, 200],\n d = [128, 128, 128],\n w = 20,\n g = 5;\nfunction S(e) {\n return \"esri.symbols.SimpleMarkerSymbol\" === e.declaredClass;\n}\nfunction v(e) {\n return \"esri.symbols.PictureMarkerSymbol\" === e.declaredClass;\n}\nfunction z(e) {\n return \"esri.symbols.SimpleLineSymbol\" === e.declaredClass;\n}\nfunction j(e) {\n return \"esri.symbols.TextSymbol\" === e.declaredClass;\n}\nfunction V(e, l) {\n const t = e.length - 1;\n return e.map((e, n) => u(e, n, t, l));\n}\nasync function k(e, l, n, i, o, a, u) {\n const c = l.legendOptions,\n m = c?.customValues,\n f = u || (await U(e, n)),\n p = l.stops,\n y = !!f,\n b = !!m,\n h = null != l.minSize && null != l.maxSize,\n d = p && p.length > 1,\n w = !!l.target;\n if (!y || !b && !(h || d && !w)) return;\n const g = s(f);\n let S = !1,\n v = null,\n z = null;\n v = g && !d ? t([l.minDataValue, l.maxDataValue]) : m ?? (await D(l, f, i, o?.type));\n const j = e?.authoringInfo,\n k = \"univariate-color-size\" === j?.type,\n C = k && \"above-and-below\" === j?.univariateTheme;\n if (!v && d && (v = p.map(e => e.value), S = p.some(e => !!e.label), \"flow\" === e.type && (v = t(v)), S && (z = p.map(e => e.label))), g && null != v && v?.length > 2 && !C && (v = [v[0], v[v.length - 1]]), !v) return null;\n k && 5 !== v?.length && (v = E({\n minSize: v[0],\n maxSize: v[v.length - 1]\n }));\n const I = g ? x(e, v) : null,\n M = r(f),\n T = S ? null : V(v, a);\n return (await Promise.all(v.map(async (t, n) => {\n const s = g ? I[n] : await B(l, f, t, i, o?.type);\n return {\n value: t,\n symbol: P(C && \"class-breaks\" === e.type ? L(e, n) : f, s),\n label: S ? z[n] : T[n],\n size: s,\n outlineSize: M\n };\n }))).reverse();\n}\nfunction x(e, l) {\n const t = e?.authoringInfo,\n n = \"univariate-color-size\" === t?.type;\n let i = [y, p];\n if (n) {\n const e = l[0],\n t = l[l.length - 1],\n n = y,\n o = p;\n i = l.map(l => n + (l - e) / (t - e) * (o - n));\n }\n return n && \"below\" === t?.univariateTheme && i.reverse(), i;\n}\nfunction L(e, l) {\n const t = e.classBreakInfos,\n n = t.length,\n i = n < 2 || !(l >= 2) ? t[0].symbol.clone() : t[n - 1].symbol.clone();\n return e.visualVariables.some(e => \"color\" === e.type) && (i.type.includes(\"3d\") ? I(i) : M(i)), i;\n}\nasync function U(e, l) {\n if (\"flow\" === e.type) return a(e, l);\n if (\"pie-chart\" === e.type) return new m({\n color: null,\n outline: e.outline?.width ? e.outline : new f()\n });\n let t = null,\n n = null;\n if (\"simple\" === e.type) t = e.symbol;else if (\"class-breaks\" === e.type) {\n const l = e.classBreakInfos;\n t = l && l[0] && l[0].symbol, n = l.length > 1;\n } else if (\"unique-value\" === e.type) {\n const l = e.uniqueValueInfos;\n t = l?.[0]?.symbol, n = null != l && l.length > 1;\n }\n return !t || C(t) ? null : (t = t.clone(), (l || n) && (t.type.includes(\"3d\") ? I(t) : M(t)), t);\n}\nfunction C(e) {\n if (e) {\n if (l(e)) {\n return !!e.symbolLayers && e.symbolLayers.some(e => e && \"fill\" === e.type);\n }\n return e.type.includes(\"fill\");\n }\n return !1;\n}\nfunction I(e) {\n \"line-3d\" === e.type ? e.symbolLayers.forEach(e => {\n e.material = {\n color: d\n };\n }) : e.symbolLayers.forEach(e => {\n \"icon\" !== e.type || e.resource?.href ? e.material = {\n color: h\n } : (e.material = {\n color: b\n }, e.outline = {\n color: d,\n size: 1.5\n });\n });\n}\nfunction M(l) {\n const t = c();\n if (\"cim\" === l.type) o(l, new e(h));else if (l.type.includes(\"line\")) l.color = d;else if (l.color = t ? d : b, \"simple-marker\" === l.type) if (l.outline) {\n const e = l.outline?.color?.toHex();\n \"#ffffff\" === e && (l.outline.color = d);\n } else l.outline = {\n color: d,\n width: 1.5\n };\n}\nasync function D(e, l, n, i) {\n const o = (await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\")).getSizeRangeAtScale(e, n, i),\n s = o && E(o);\n if (!o || !s) return;\n let r = s.map(l => T(l, e, o));\n r = t(r);\n for (let t = 1; t < r.length - 1; t++) {\n const o = await q(e, l, r[t], r[t - 1], n, i);\n o && (r[t] = o[0], s[t] = o[1]);\n }\n return r;\n}\nfunction E(e) {\n const l = e.minSize,\n t = e.maxSize,\n n = g,\n i = (t - l) / (n - 1),\n o = [];\n for (let s = 0; s < n; s++) o.push(l + i * s);\n return o;\n}\nfunction T(e, l, t) {\n const n = t.minSize,\n i = t.maxSize,\n o = l.minDataValue,\n s = l.maxDataValue;\n let r;\n if (e <= n) r = o;else if (e >= i) r = s;else {\n r = (e - n) / (i - n) * (s - o) + o;\n }\n return r;\n}\nasync function q(e, l, o, s, r, a) {\n const u = await B(e, l, o, r, a),\n c = await B(e, l, s, r, a),\n m = n(o),\n f = m.fractional,\n p = w;\n let y = m.integer,\n b = null,\n h = null;\n o > 0 && o < 1 && (b = 10 ** f, y = n(o *= b).integer);\n for (let n = y - 1; n >= 0; n--) {\n const s = 10 ** n;\n let m = Math.floor(o / s) * s,\n f = Math.ceil(o / s) * s;\n null != b && (m /= b, f /= b);\n let y = (m + f) / 2;\n [, y] = t([m, y, f], {\n indexes: [1]\n });\n const d = await B(e, l, m, r, a),\n w = await B(e, l, f, r, a),\n g = await B(e, l, y, r, a),\n S = i(u, d, c, null),\n v = i(u, w, c, null),\n z = i(u, g, c, null);\n let j = S.previous <= p,\n V = v.previous <= p;\n if (j && V && (S.previous <= v.previous ? (j = !0, V = !1) : (V = !0, j = !1)), j ? h = [m, d] : V ? h = [f, w] : z.previous <= p && (h = [y, g]), h) break;\n }\n return h;\n}\nasync function B(e, l, t, n, i) {\n const {\n getSize: o\n } = await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\");\n return o(e, t, {\n scale: n,\n view: i,\n shape: \"simple-marker\" === l.type ? l.style : null\n });\n}\nfunction P(e, t) {\n const n = e.clone();\n if (l(n)) s(n) || n.symbolLayers.forEach(e => {\n \"fill\" !== e.type && (e.size = t);\n });else if (S(n)) n.size = t;else if (v(n)) {\n const e = n.width,\n l = n.height;\n n.height = t, n.width = t * (e / l);\n } else z(n) ? n.width = t : j(n) && n.font && (n.font.size = t);\n return n;\n}\nexport { k as getRampStops, p as realWorldMaxSize, y as realWorldMinSize };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport t from \"../../../Color.js\";\nimport { formatDate as n } from \"../../../intl/date.js\";\nimport { formatNumber as i } from \"../../../intl/number.js\";\nimport { timelineDateFormatOptions as o } from \"../../../renderers/support/utils.js\";\nimport e from \"../../../renderers/visualVariables/SizeVariable.js\";\nfunction r(t) {\n return n(new Date(t), o);\n}\nfunction s(t) {\n const n = 2,\n o = Math.floor(Math.log10(Math.abs(t))) + 1,\n e = o < 4 || o > 6 ? 4 : o,\n r = 1e6,\n s = Math.abs(t) >= r ? \"compact\" : \"standard\";\n return i(t, {\n notation: s,\n minimumSignificantDigits: n,\n maximumSignificantDigits: e\n });\n}\nfunction a(t, n, i) {\n if (null == n || null == t) return [];\n const o = [];\n for (let e = -1 * i; e <= i; e++) 0 !== e && o.push(n + e * t);\n return o;\n}\nfunction u(t) {\n const {\n max: n,\n min: i,\n padding: o,\n pathHeight: e,\n pathWidth: r,\n stops: s\n } = t,\n a = n - i;\n let u,\n h = `M0 0 L${r} 0 `;\n const m = 3 === s.length ? [s[0], s[1], s[2]] : [s[0], s[2], s[4]],\n f = Math.min.apply(Math, m.map(t => t.size)),\n l = Math.max(Math.abs(m[0].size - m[1].size), Math.abs(m[2].size - m[1].size));\n return m.reverse(), m.forEach(({\n size: t,\n value: n\n }, s) => {\n const m = Math.round((t - f) / l * 100) / 100,\n c = Math.round(e - (n - i) / a * e);\n u = m * r, 0 === u && (u = o * r), 0 === s && (h += `L${u} 0 `), h += `L${u} ${c} `;\n }), h += `L${u} ${e} L0 ${e} L0 0 Z`, h;\n}\nfunction h(t) {\n const {\n bottomValue: n,\n bottomWidth: i,\n max: o,\n min: e,\n pathHeight: r,\n pathWidth: s,\n topValue: a,\n topWidth: u\n } = t,\n h = u * s,\n m = i * s,\n f = o - e,\n l = Math.round(r - (n - e) / f * r);\n return `M${h} 0 L${h} ${Math.round(r - (a - e) / f * r)} L${m} ${l} L${m} ${r} L0 ${r} L0 0 Z`;\n}\nfunction m(t) {\n let n = t.maxSize,\n i = t.minSize;\n return n instanceof e && (n = n.stops[0].size), i instanceof e && (i = i.stops[0].size), [n, i];\n}\nfunction f(t, n, i) {\n const o = i.length - 1;\n if (o < 0) return [];\n const e = i[0],\n r = i[o] - e,\n s = n - t,\n a = [];\n for (let u = 1; u < o; u++) {\n const n = (i[u] - e) / r * s + t;\n a.push({\n index: u,\n value: n\n });\n }\n return a.unshift({\n index: 0,\n value: t\n }), a.push({\n index: o,\n value: n\n }), a;\n}\nfunction l(n) {\n return n instanceof t ? n.toCss(!0) : t.fromString(n ?? \"\").toCss(!0);\n}\nexport { r as formatDateLabel, s as formatNumberLabel, a as getDeviationValues, u as getDynamicPathForSizeStops, l as getFillFromColor, h as getPathForSizeStops, m as getSizesFromVariable, f as getStopChanges };","/*\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 e } from \"../../../chunks/tslib.es6.js\";\nimport t from \"../../../Color.js\";\nimport \"../../../intl.js\";\nimport { addTokenParameter as s } from \"../../../kernel.js\";\nimport l from \"../../../request.js\";\nimport \"../../../symbols.js\";\nimport i from \"../../../core/Accessor.js\";\nimport { isSome as r } from \"../../../core/arrayUtils.js\";\nimport n from \"../../../core/Collection.js\";\nimport { JSONMap as a } from \"../../../core/jsonMap.js\";\nimport o from \"../../../core/Logger.js\";\nimport { debounce as u } from \"../../../core/promiseUtils.js\";\nimport { on as c, watch as d, whenOnce as y, initial as h } from \"../../../core/reactiveUtils.js\";\nimport { px2pt as m } from \"../../../core/screenUtils.js\";\nimport { millisecondsPerTimeUnit as f } from \"../../../core/timeUtils.js\";\nimport { addQueryParameters as p } from \"../../../core/urlUtils.js\";\nimport { property as g } from \"../../../core/accessorSupport/decorators/property.js\";\nimport \"../../../core/accessorSupport/ensureType.js\";\nimport \"../../../core/has.js\";\nimport { subclass as b } from \"../../../core/accessorSupport/decorators/subclass.js\";\nimport { OriginId as S } from \"../../../core/accessorSupport/PropertyOrigin.js\";\nimport { EffectView as _ } from \"../../../layers/effects/EffectView.js\";\nimport { effectFunctionsFromJSON as w } from \"../../../layers/effects/jsonUtils.js\";\nimport { ExportImageParameters as v } from \"../../../layers/support/ExportImageParameters.js\";\nimport { isTimeOnlyField as L } from \"../../../layers/support/fieldUtils.js\";\nimport { isFeatureLayer as E } from \"../../../layers/support/layerUtils.js\";\nimport { getPixelValueRange as C } from \"../../../layers/support/rasterFormats/pixelRangeUtils.js\";\nimport { fromJSON as I } from \"../../../renderers/support/jsonUtils.js\";\nimport { isSupportedRenderer3D as R } from \"../../../renderers/support/rendererConversion.js\";\nimport F from \"../../../renderers/visualVariables/support/SizeVariableLegendOptions.js\";\nimport { isAnyDateField as V } from \"../../../smartMapping/support/utils.js\";\nimport { applyCIMSymbolColor as T } from \"../../../symbols/support/cimSymbolUtils.js\";\nimport { SymbolSizeDefaults as z } from \"../../../symbols/support/previewUtils.js\";\nimport { renderSymbol as D } from \"../../../symbols/support/renderUtils.js\";\nimport { renderColorRampPreviewHTML as x, renderDotDensityPreviewHTML as j, renderPieChartPreviewHTML as O, renderPreviewHTML as P } from \"../../../symbols/support/symbolUtils.js\";\nimport { isVolumetricSymbol as A } from \"../../../symbols/support/utils.js\";\nimport { getClusterSizeVariable as M } from \"./clusterUtils.js\";\nimport { getColorFromPointCloudStops as U, getRampStopsForPointCloud as k, getStrectchRampStops as B, getRampStops as N } from \"./colorRampUtils.js\";\nimport { getHeatmapRampStops as q } from \"./heatmapRampUtils.js\";\nimport { getRotationAngleForFocus as H, getRelationshipRampElement as $ } from \"./relationshipRampUtils.js\";\nimport { getRampStops as W, realWorldMaxSize as G, realWorldMinSize as J } from \"./sizeRampUtils.js\";\nimport { specialCharsLessThan as Q, specialCharsGreaterThan as Z, getSymbolForFlowRenderer as K, isRasterBandStatistics as X, getMedianColor as Y, rgbImgSource as ee } from \"./utils.js\";\nimport { formatNumberLabel as te } from \"../../smartMapping/support/utils.js\";\nimport se from \"../../../symbols/SimpleMarkerSymbol.js\";\nimport le from \"../../../symbols/SimpleFillSymbol.js\";\nimport { fetchMessageBundle as ie } from \"../../../intl/messages.js\";\nimport { substitute as re } from \"../../../intl/substitute.js\";\nconst ne = \"https://utility.arcgis.com/sharing/tools/legend\",\n ae = \"esri.layers.ImageryLayer\",\n oe = \"esri.layers.ImageryTileLayer\",\n ue = \"esri.layers.WCSLayer\",\n ce = /^\\s*(return\\s+)?\\$view\\.scale\\s*(;)?\\s*$/i,\n de = new a({\n esriGeometryPoint: \"point\",\n esriGeometryMultipoint: \"multipoint\",\n esriGeometryPolyline: \"polyline\",\n esriGeometryPolygon: \"polygon\",\n esriGeometryMultiPatch: \"multipatch\"\n }),\n ye = new se({\n size: 6,\n outline: {\n color: [128, 128, 128, .5],\n width: .5\n }\n }),\n he = new le({\n style: \"solid\"\n });\nfunction me(e) {\n return \"flow\" === e.type;\n}\nfunction fe(e) {\n return \"vector-field\" === e.type;\n}\nfunction pe(e) {\n return \"raster-colormap\" === e.type;\n}\nfunction ge(e) {\n return \"raster-stretch\" === e.type;\n}\nfunction be(e) {\n return \"raster-shaded-relief\" === e.type;\n}\nfunction Se(e) {\n return \"esri.renderers.SimpleRenderer\" === e.declaredClass;\n}\nfunction _e(e) {\n return \"esri.renderers.ClassBreaksRenderer\" === e.declaredClass;\n}\nfunction we(e) {\n return \"esri.renderers.UniqueValueRenderer\" === e.declaredClass;\n}\nfunction ve(e) {\n return \"esri.renderers.HeatmapRenderer\" === e.declaredClass;\n}\nfunction Le(e) {\n return Ce(e) || Ie(e) || Re(e) || Ee(e);\n}\nfunction Ee(e) {\n return \"esri.renderers.PointCloudRGBRenderer\" === e.declaredClass;\n}\nfunction Ce(e) {\n return \"esri.renderers.PointCloudClassBreaksRenderer\" === e.declaredClass;\n}\nfunction Ie(e) {\n return \"esri.renderers.PointCloudStretchRenderer\" === e.declaredClass;\n}\nfunction Re(e) {\n return \"esri.renderers.PointCloudUniqueValueRenderer\" === e.declaredClass;\n}\nfunction Fe(e) {\n return \"esri.renderers.DotDensityRenderer\" === e.declaredClass;\n}\nfunction Ve(e) {\n return \"esri.renderers.PieChartRenderer\" === e.declaredClass;\n}\nfunction Te(e, t) {\n return Se(e) || _e(e) || we(e) || ve(e) || Fe(e) || Ve(e) ? \"2d\" === t.type || R(e) : ge(e) || pe(e) || be(e) || Ce(e) || Ie(e) || Re(e) || fe(e) || me(e);\n}\nfunction ze(e) {\n return \"esri.layers.BuildingSceneLayer\" === e.declaredClass;\n}\nfunction De(e) {\n return \"esri.layers.SubtypeGroupLayer\" === e.declaredClass;\n}\nfunction xe(e) {\n return \"esri.layers.VoxelLayer\" === e.declaredClass;\n}\nfunction je(e) {\n return \"esri.layers.WMSLayer\" === e.declaredClass;\n}\nfunction Oe(e) {\n return \"esri.layers.WMTSLayer\" === e.declaredClass;\n}\nfunction Pe(e) {\n return \"esri.layers.MapImageLayer\" === e.declaredClass;\n}\nfunction Ae(e) {\n return \"esri.layers.TileLayer\" === e.declaredClass;\n}\nfunction Me(e) {\n return e.declaredClass === ae;\n}\nfunction Ue(e) {\n return e.declaredClass === oe;\n}\nfunction ke(e) {\n return e.declaredClass === ue;\n}\nfunction Be(e) {\n return \"stretch-ramp\" === e.type;\n}\nfunction Ne(e) {\n const t = \"authoringInfo\" in e ? e?.authoringInfo : null;\n return \"univariate-color-size\" === t?.type;\n}\nfunction qe(e) {\n const t = \"authoringInfo\" in e ? e?.authoringInfo : null;\n return \"univariate-color-size\" === t?.type && \"above-and-below\" === t?.univariateTheme;\n}\nfunction He(e) {\n return \"sublayers\" in e;\n}\nasync function $e(e, t) {\n const s = await ie(\"esri/widgets/Legend/t9n/Legend\");\n return \"previewTemplateAriaLabel\" !== e || t || (e = \"previewAriaLabel\"), re(s[e], {\n label: t\n });\n}\nconst We = new se({\n style: \"path\",\n path: \"M10,5 L5,0 0,5 M5,0 L5,15\",\n size: 15,\n outline: {\n width: 1,\n color: [85, 85, 85, 1]\n }\n});\nlet Ge = {},\n Je = class extends i {\n constructor(e) {\n super(e), this._hasColorRamp = !1, this._hasOpacityRamp = !1, this._hasSizeRamp = !1, this._webStyleSymbolCache = new Map(), this._dotDensityUrlCache = new Map(), this._scaleDrivenSizeVariable = null, this._hasClusterSizeVariable = !1, this.children = new n(), this.layerView = null, this.layer = null, this.legendElements = [], this.parent = null, this.hideLayersNotInCurrentView = !1, this.keepCacheOnDestroy = !1, this.respectLayerVisibility = !0, this.sublayerIds = [], this.title = null, this.view = null;\n }\n initialize() {\n const e = () => this.notifyChange(\"ready\");\n this.addHandles([c(() => this.children, \"change\", t => {\n const {\n added: s,\n removed: l\n } = t;\n s.forEach(t => {\n const s = `activeLayerInfo-ready-watcher-${t.layer.uid}`;\n this.addHandles(d(() => t.ready, e, h), s);\n }), l.forEach(e => this.removeHandles(e.layer.uid)), e();\n })]), this.keepCacheOnDestroy || (Ge = {});\n }\n destroy() {\n this._webStyleSymbolCache = null, this._dotDensityUrlCache = null, this._scaleDrivenSizeVariable = null, this.keepCacheOnDestroy || (Ge = null);\n }\n get effectList() {\n const e = this.layer;\n let t = null;\n return \"effect\" in e && e.effect && (t = new _(), t.effect = e.effect, t.endTransitions(), t.scale = this.scale), t;\n }\n get opacity() {\n const e = this.layer.opacity,\n t = this.parent?.opacity,\n s = this.layer.parent,\n l = s && \"uid\" in s ? this._getParentLayerOpacity(s) : null;\n return null != t ? t * e : null != l ? l * e : e;\n }\n get ready() {\n return null === this.layer || (this.children.length > 0 ? this._isGroupActive() : this.legendElements.length > 0);\n }\n get scale() {\n return this.view?.scale ?? 0;\n }\n get isScaleDriven() {\n const e = this.layer;\n if (null === e) return !1;\n if (\"effect\" in e && e.effect && Array.isArray(e.effect)) return !0;\n if (\"featureReduction\" in e && e.featureReduction) {\n if (\"cluster\" === e.featureReduction.type) return !0;\n if (\"binning\" === e.featureReduction.type && \"renderer\" in e.featureReduction && e.featureReduction.renderer) return this._isRendererScaleDriven(e.featureReduction.renderer);\n }\n return \"renderer\" in e && e.renderer ? this._isRendererScaleDriven(e.renderer) : this._isLayerScaleDriven(this.layer);\n }\n get version() {\n return this._get(\"version\") + 1;\n }\n async buildLegendElementsForFeatureCollections(e) {\n if (!(!this.hideLayersNotInCurrentView || (await this._isLayerInCurrentView()))) return this.legendElements = [], void this.notifyChange(\"ready\");\n const t = Array.from(e, e => {\n if (E(e)) return this._getRendererLegendElements(e.renderer, {\n title: e.title\n });\n if (e.featureSet?.features.length) {\n const t = e.layerDefinition,\n s = t?.drawingInfo,\n l = s && I(s.renderer),\n i = de.read(t.geometryType);\n return l ? this._getRendererLegendElements(l, {\n title: e.name,\n geometryType: i\n }) : (o.getLogger(this).warn(\"drawingInfo not available!\"), null);\n }\n return null;\n });\n try {\n const e = [],\n s = await Promise.allSettled(t);\n for (const t of s) if (\"fulfilled\" === t.status) for (const s of t.value ?? []) e.push(s);\n this.legendElements = e, this.notifyChange(\"ready\");\n } catch (s) {\n o.getLogger(this).warn(\"error while building legend for layer!\", s);\n }\n }\n async buildLegendElementsForRenderer(e) {\n try {\n const t = !this.hideLayersNotInCurrentView || (await this._isLayerInCurrentView());\n this.legendElements = t ? await this._getRendererLegendElements(e) : [], this.notifyChange(\"ready\");\n } catch (t) {\n o.getLogger(this).warn(\"error while building legend for layer!\", t);\n }\n }\n async buildLegendElementsForFeatureReduction(e) {\n try {\n const t = !this.hideLayersNotInCurrentView || (await this._isLayerInCurrentView());\n this.legendElements = t ? await this._getLegendElementsForFeatureReduction(e) : [], this.notifyChange(\"ready\");\n } catch (t) {\n o.getLogger(this).warn(\"error while building legend for layer!\", t);\n }\n }\n async buildLegendElementsForTools() {\n const e = this.layer;\n if (xe(e)) this._constructLegendElementsForVoxellayer();else if (Oe(e)) this._constructLegendElementsForWMTSlayer();else if (je(e)) await this._constructLegendElementsForWMSSublayers();else if (ze(e)) await this._constructLegendElementsForBuildingSceneLayer();else if (Pe(e) || Ae(e) || De(e)) await this._constructLegendElementsForSublayers();else {\n this.removeHandles(\"imageryLayers-watcher\");\n let t = \"default\";\n if (Me(e)) {\n const s = e;\n t = (s?.rasterFunction?.functionName || \"default\") + \"_\" + (e.bandIds?.length ? e.bandIds.join(\"\") : \"###\");\n }\n await this._getLegendLayers(`${e.uid}-${t}`).then(async t => {\n this.legendElements = [], this.notifyChange(\"ready\");\n const s = t.map(async t => {\n if (Me(e) || Ue(e)) {\n const t = d(() => [\"renderingRule\" in e && e.rasterFunction, e.bandIds], () => u(async () => {\n Ge.default = null, e.renderer ? await this.buildLegendElementsForRenderer(e.renderer) : await this.buildLegendElementsForTools();\n })());\n this.addHandles(t, \"imageryLayers-watcher\");\n }\n const s = this._generateSymbolTableElementForLegendLayer(t);\n s && s.infos.length && (Me(e) && (s.title = e.title), this.legendElements.push(s)), this.notifyChange(\"ready\");\n });\n await Promise.allSettled(s);\n }).catch(e => {\n o.getLogger(this).warn(\"Request to server for legend has failed!\", e);\n });\n }\n }\n async _isLayerInCurrentView() {\n const e = this.layer,\n t = this.layerView,\n s = t && \"createQuery\" in t && \"queryFeatureCount\" in t;\n if (!s && !(t && \"createQuery\" in e && \"queryFeatureCount\" in e)) return !0;\n await y(() => !t.updating);\n const l = s ? \"createQuery\" in t && t.createQuery() : \"createQuery\" in e && e.createQuery();\n if (!l) return !0;\n l.geometry = this.view.extent;\n return 0 !== (s ? \"queryFeatureCount\" in t && (await t.queryFeatureCount(l)) : \"queryFeatureCount\" in e && (await e.queryFeatureCount(l)));\n }\n _getParentLayerOpacity(e) {\n let t = 1;\n const s = e.parent;\n return s && \"uid\" in s && (t = this._getParentLayerOpacity(s)), e.opacity * t;\n }\n _isGroupActive() {\n const e = this.children;\n return !!e.length && e.some(e => e.ready);\n }\n _isRendererScaleDriven(e) {\n if (\"dot-density\" === e.type) return !0;\n const t = \"valueExpression\" in e ? e.valueExpression : null;\n if (ce.test(t)) return !0;\n const s = \"visualVariables\" in e ? e.visualVariables : null;\n return !!s?.some(e => this._isScaleDrivenSizeVariable(e)) || this._hasScaleDrivenSymbols(e);\n }\n _hasScaleDrivenSymbols(e) {\n switch (e.type) {\n case \"simple\":\n return this._isScaleDrivenSymbol(e.symbol);\n case \"class-breaks\":\n return this._isScaleDrivenSymbol(e.defaultSymbol) || e.classBreakInfos.some(e => this._isScaleDrivenSymbol(e.symbol));\n case \"unique-value\":\n return this._isScaleDrivenSymbol(e.defaultSymbol) || !!e.uniqueValueInfos?.some(e => this._isScaleDrivenSymbol(e.symbol));\n }\n return !1;\n }\n _isScaleDrivenSymbol(e) {\n if (\"cim\" === e?.type) {\n const {\n primitiveOverrides: t,\n minScale: s,\n maxScale: l\n } = e.data,\n i = t?.some(e => /\\$view\\.scale/.test(e.valueExpressionInfo?.expression || \"\")) ?? !1;\n return null != s || null != l || i;\n }\n return !1;\n }\n _isScaleDrivenSizeVariable(e) {\n if (e && \"size\" !== e.type) return !1;\n const t = e,\n s = t.minSize,\n l = t.maxSize;\n return !(\"object\" != typeof s || !s || !this._isScaleDrivenSizeVariable(s)) || !(\"object\" != typeof l || !l || !this._isScaleDrivenSizeVariable(l)) || !!t.expression || ce.test(t.valueExpression);\n }\n _isLayerScaleDriven(e) {\n if (\"minScale\" in e && e.minScale > 0 || \"maxScale\" in e && e.maxScale > 0) return !0;\n if (\"sublayers\" in e && e.sublayers) return e.sublayers.some(e => this._isLayerScaleDriven(e));\n const t = e.parent;\n if (!1 === e.loaded && t && Pe(t) && \"source\" in e && e.source && \"map-layer\" === e.source.type) for (const s of t.sourceJSON.layers ?? []) if (s.id === e.source.mapLayerId && (s.minScale > 0 || s.maxScale > 0)) return !0;\n return !1;\n }\n async _constructLegendElementsForVoxellayer() {\n this.legendElements = [], this.removeHandles(\"voxel-style-watcher\"), this.removeHandles(\"voxel-current-variable\");\n const e = this.layer;\n this.addHandles(d(() => e.currentVariableId, () => this._constructLegendElementsForVoxellayer()), \"voxel-current-variable\"), this.addHandles(d(() => e.getVariableStyles(), () => this._constructLegendElementsForVoxellayer()), \"voxel-style-watcher\");\n const t = e.getVariableStyle(null),\n s = [];\n if (t) if (t.uniqueValues?.length) {\n const e = [];\n t.uniqueValues.forEach(t => {\n t.enabled && e.push({\n label: t.label || `${t.value}`,\n value: t.value,\n symbol: new le({\n color: t.color,\n outline: null\n })\n });\n }), e.length && s.push({\n type: \"symbol-table\",\n title: t.label,\n infos: e\n });\n } else if (t.transferFunction) {\n const {\n colorStops: e,\n stretchRange: l\n } = t.transferFunction,\n i = e.toArray().reverse(),\n r = l.map((e, t) => `${0 === t ? Q : Z} ${te(e)}`).reverse(),\n n = i.map(e => ({\n color: e.color,\n value: null,\n label: null\n }));\n n[0].label = r[0], n[n.length - 1].label = r[1], s.push({\n type: \"color-ramp\",\n title: t.label,\n infos: n,\n preview: x(i.map(e => e.color), {\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n });\n }\n const l = e.opacity,\n i = s.reduce((e, t) => [...e, ...this._getAllInfos(t)], []).filter(e => !!e?.symbol).map(e => this._getSymbolPreview(e, l));\n await Promise.allSettled(i), this.legendElements = s, this.notifyChange(\"ready\");\n }\n _constructLegendElementsForWMTSlayer() {\n this.legendElements = [], this.removeHandles(\"wmts-activeLayer-watcher\");\n const e = this.layer.activeLayer;\n if (this.addHandles(d(() => {\n const {\n layer: e\n } = this;\n return e && \"activeLayer\" in e && e.activeLayer;\n }, () => this._constructLegendElementsForWMTSlayer()), \"wmts-activeLayer-watcher\"), e.styleId && e.styles) {\n let t = null;\n e.styles.some(s => e.styleId === s.id && (t = s.legendUrl, !0)), t && (this.legendElements = [{\n type: \"symbol-table\",\n title: e.title,\n infos: [{\n src: t,\n opacity: this.opacity\n }]\n }]);\n }\n this.notifyChange(\"ready\");\n }\n async _constructLegendElementsForWMSSublayers() {\n this.legendElements = [], this.removeHandles(\"wms-sublayers-watcher\");\n const e = this.layer;\n let t = null;\n (e.customParameters || e.customLayerParameters) && (t = {\n ...e.customParameters,\n ...e.customLayerParameters\n }), this.addHandles(d(() => {\n const {\n layer: e\n } = this;\n return e && \"sublayers\" in e && e.sublayers;\n }, () => this._constructLegendElementsForWMSSublayers()), \"wms-sublayers-watcher\"), this.legendElements = await this._generateLegendElementsForWMSSublayers(e.sublayers, t), this.notifyChange(\"ready\");\n }\n async _generateLegendElementsForWMSSublayers(e, t) {\n const s = [];\n this.addHandles(e.on(\"change\", () => this._constructLegendElementsForWMSSublayers()), \"wms-sublayers-watcher\");\n const l = e.toArray();\n for (const i of l) {\n const e = d(() => [i.title, i.visible, i.legendEnabled], () => this._constructLegendElementsForWMSSublayers());\n if (this.addHandles(e, \"wms-sublayers-watcher\"), !this.respectLayerVisibility || i.visible && i.legendEnabled) {\n const e = await this._generateSymbolTableElementForWMSSublayer(i, t);\n e?.infos.length && s.unshift(e);\n }\n }\n return s;\n }\n async _generateSymbolTableElementForWMSSublayer(e, t) {\n if (!e.legendUrl && e.sublayers) {\n const s = (await this._generateLegendElementsForWMSSublayers(e.sublayers, t)).filter(e => e);\n return {\n type: \"symbol-table\",\n title: e.title,\n infos: s\n };\n }\n return this._generateSymbolTableElementForLegendUrl(e, t);\n }\n async _generateSymbolTableElementForLegendUrl(e, t) {\n let s = e.legendUrl;\n if (!s) return;\n const i = {\n type: \"symbol-table\",\n title: e.title || e.name || String(e.id ?? \"\"),\n infos: []\n };\n t && (s = p(s, t));\n let r = null;\n const n = e.layer?.opacity;\n try {\n r = (await l(s, {\n responseType: \"image\"\n })).data, r && (r.style.opacity = n);\n } catch {}\n return i.infos.push({\n src: s,\n preview: r,\n opacity: n\n }), i;\n }\n _getLegendLayers(e, t) {\n const s = Ge && Ge[e];\n return s ? Promise.resolve(s) : this._legendRequest(t).then(t => {\n const s = t.layers;\n return Ge[e] = s, s;\n });\n }\n _legendRequest(e) {\n const t = this.layer;\n let s = {\n f: \"json\",\n dynamicLayers: e\n };\n if (Me(t)) {\n const e = t.exportImageServiceParameters.rasterFunction;\n if (e && (s.renderingRule = JSON.stringify(e.functionDefinition?.toJSON() || e.toJSON())), t.bandIds && (s.bandIds = t.bandIds.join()), t.raster || t.viewId || t.customParameters) {\n const {\n raster: e,\n viewId: l,\n customParameters: i\n } = t;\n s = {\n raster: e,\n viewId: l,\n ...s,\n ...i\n };\n }\n }\n let i = t.url.replace(/(\\/)+$/, \"\");\n if (\"version\" in t && +t.version >= 10.01) {\n const e = i.indexOf(\"?\");\n e > -1 ? i = i.substring(0, e) + \"/legend\" + i.substring(e) : i += \"/legend\";\n } else {\n const e = i.toLowerCase().indexOf(\"/rest/\"),\n t = i.substring(0, e) + i.substring(e + 5, i.length);\n i = ne + \"?soapUrl=\" + encodeURI(t) + \"&returnbytes=true\";\n }\n return l(i, {\n query: s\n }).then(e => e.data);\n }\n async _constructLegendElementsForBuildingSceneLayer() {\n this.legendElements = [], this.removeHandles(\"sublayers-watcher\");\n const e = this.layer;\n this.addHandles(d(() => e.sublayers, () => this._constructLegendElementsForBuildingSceneLayer()), \"sublayers-watcher\");\n try {\n this.legendElements = await this._generateLegendElementsForBuildingSublayers(e.sublayers, this.opacity), this.notifyChange(\"ready\");\n } catch (t) {\n o.getLogger(this).warn(\"Request to server for legend has failed!\", t);\n }\n }\n async _generateLegendElementsForBuildingSublayers(e, t) {\n let s = [];\n this.addHandles(e.on(\"change\", () => this._constructLegendElementsForBuildingSceneLayer()), \"sublayers-watcher\");\n const l = e.toArray();\n for (const i of l) {\n const e = d(() => [\"renderer\" in i && i.renderer, i.opacity, i.title, i.visible], () => this._constructLegendElementsForBuildingSceneLayer());\n if (this.addHandles(e, \"sublayers-watcher\"), !this.respectLayerVisibility || i.visible) {\n const e = null != i?.opacity ? i.opacity : null,\n l = null != e ? e * t : t;\n if (\"building-group\" === i.type) {\n const e = {\n type: \"symbol-table\",\n title: i.title,\n infos: []\n },\n t = await this._generateLegendElementsForBuildingSublayers(i.sublayers, l);\n e.infos.push(...t), s = [e, ...s];\n } else if (i.renderer) {\n s = [...(await this._getRendererLegendElements(i.renderer, {\n title: i.title,\n opacity: l,\n sublayer: i\n })), ...s];\n }\n }\n }\n return s.filter(e => !!e && (!(\"infos\" in e) || !e.infos || e.infos.length > 0));\n }\n async _constructLegendElementsForSublayers() {\n this.legendElements = [], this.removeHandles(\"sublayers-watcher\");\n const e = this.layer;\n if (Pe(e) || Ae(e) || De(e)) {\n this.addHandles(d(() => e.sublayers, () => this._constructLegendElementsForSublayers), \"sublayers-watcher\");\n try {\n this.legendElements = await this._generateLegendElementsForSublayers(e.sublayers, this.opacity), this.notifyChange(\"ready\");\n } catch (t) {\n o.getLogger(this).warn(\"Request to server for legend has failed!\", t);\n }\n }\n }\n async _generateLegendElementsForSublayers(e, t, s) {\n const l = this.layer;\n let i = [];\n this.addHandles(e.on(\"change\", () => this._constructLegendElementsForSublayers()), \"sublayers-watcher\");\n let n = e.toArray();\n !s && this.sublayerIds && this.sublayerIds.length && (n = De(l) ? this.sublayerIds.map(e => l.findSublayerForSubtypeCode(e)).filter(r) : this.sublayerIds.map(e => l.findSublayerById(e)).filter(r));\n for (const r of n) {\n const e = d(() => [r.renderer, r.opacity, r.title, r.visible, r.legendEnabled], () => this._constructLegendElementsForSublayers());\n if (this.addHandles(e, \"sublayers-watcher\"), !this.respectLayerVisibility || r.visible && r.legendEnabled && this._isSublayerInScale(r)) {\n const e = null != r?.opacity ? r.opacity : null,\n l = null != e ? e * t : t,\n n = !He(r) || r.originIdOf(\"renderer\") > S.SERVICE && !r.sublayers;\n if (r.renderer && n) {\n await r.load();\n i = [...(await this._getRendererLegendElements(r.renderer, {\n title: r.title,\n opacity: l,\n sublayer: r\n })), ...i];\n } else if (He(r)) {\n const e = await this._generateSymbolTableElementForSublayer(r, l, s);\n e && i.unshift(e);\n }\n }\n }\n return i.filter(e => !!e && (!(\"infos\" in e) || !e.infos || e.infos.length > 0));\n }\n async _generateSymbolTableElementForSublayer(e, t, s) {\n if (!s) {\n s = new Map();\n const t = this.layer,\n l = e.source;\n let i = null;\n if (!(!l || \"map-layer\" === l.type && l.mapLayerId === e.id && (!l.gdbVersion || l.gdbVersion === (\"gdbVersion\" in t && t.gdbVersion))) || e.originIdOf(\"renderer\") > S.SERVICE || e.originIdOf(\"labelingInfo\") > S.SERVICE || e.originIdOf(\"labelsVisible\") > S.SERVICE) {\n const e = new v({\n layer: this.layer\n });\n i = e.hasDynamicLayers ? e.dynamicLayers : null, e.destroy();\n }\n const r = i || `${t.uid}-default`;\n (await this._getLegendLayers(r, i)).forEach(e => s.set(e.layerId, e));\n }\n const l = s.get(e.id);\n if ((!l || l?.subLayerIds && l.defaultVisibility) && e.sublayers) {\n const l = await this._generateLegendElementsForSublayers(e.sublayers, t, s);\n return {\n type: \"symbol-table\",\n title: e.title,\n infos: l\n };\n }\n return this._generateSymbolTableElementForLegendLayer(l, e, t);\n }\n _generateSymbolTableElementForLegendLayer(e, t, s) {\n if (!e?.legend || this.respectLayerVisibility && !this._isLegendLayerInScale(e, t)) return null;\n const l = t?.renderer;\n let i = t?.title || e.layerName;\n if (l && (!t || t?.originIdOf(\"renderer\") > S.SERVICE)) {\n const e = t?.title || this._getRendererTitle(l, t);\n e && (i && \"string\" != typeof e && \"title\" in e && (e.title = i), i = e);\n }\n const r = {\n type: \"symbol-table\",\n title: i,\n legendType: e.legendType || null,\n infos: []\n },\n n = t ? this._sanitizeLegendForSublayer(e.legend.slice(), t) : e.legend;\n return e.legendGroups && e.legendGroups.length > 0 ? e.legendGroups.forEach(t => {\n const l = {\n type: \"symbol-table\",\n title: t.heading,\n legendType: e.legendType || null,\n infos: this._generateSymbolTableElementInfosForLegendLayer(n.filter(e => e.groupId === t.id), e.layerId, s)\n };\n l.infos?.length > 0 && r.infos.push(l);\n }) : r.infos = this._generateSymbolTableElementInfosForLegendLayer(n, e.layerId, s), r.infos.length > 0 ? r : null;\n }\n _generateSymbolTableElementInfosForLegendLayer(e, t, l) {\n return e.map(e => {\n let i = e.url;\n if (e.imageData && e.imageData.length > 0) i = `data:image/png;base64,${e.imageData}`;else {\n if (0 === i.indexOf(\"http\")) return null;\n i = s(`${this.layer.url}/${t}/images/${i}`);\n }\n return {\n label: e.label,\n src: i,\n opacity: l ?? this.opacity,\n width: e.width,\n height: e.height\n };\n }).filter(r);\n }\n _isSublayerInScale(e) {\n const t = e.minScale || 0,\n s = e.maxScale || 0;\n return !(t > 0 && t < this.scale || s > this.scale);\n }\n _isLegendLayerInScale(e, t) {\n const s = t || this.layer;\n let l = null,\n i = null,\n r = !0;\n return !s.minScale && 0 !== s.minScale || !s.maxScale && 0 !== s.maxScale ? (0 === e.minScale && s.tileInfo && (l = s.tileInfo.lods[0].scale), 0 === e.maxScale && s.tileInfo && (i = s.tileInfo.lods[s.tileInfo.lods.length - 1].scale)) : (l = Math.min(s.minScale, e.minScale) || s.minScale || e.minScale, i = Math.max(s.maxScale, e.maxScale)), (l > 0 && l < this.scale || i > this.scale) && (r = !1), r;\n }\n _sanitizeLegendForSublayer(e, t) {\n if (\"version\" in this.layer && +this.layer.version < 10.1 || 0 === e.length) return e;\n const s = t.renderer,\n l = e.some(e => e.values);\n let i = 0,\n r = null;\n return l && e.some((e, t) => (e.values || (i = t, r = e, r.label || (r.label = \"others\")), null != r)), s ? \"unique-value\" === s.type ? r && (e.splice(i, 1), e.push(r)) : \"class-breaks\" === s.type && (r && e.splice(i, 1), e.reverse(), r && e.push(r)) : r && (e.splice(i, 1), e.push(r)), e;\n }\n async _getRendererLegendElements(e, t = {}) {\n if (!Te(e, this.view)) return o.getLogger(this).warn(`Renderer of type '${e.type}' not supported!`), [];\n if (Le(e)) return this._constructPointCloudRendererLegendElements(e, t);\n if (Fe(e)) return this._constructDotDensityRendererLegendElements(e);\n const s = await this._loadRenderer(e);\n return Ve(s) ? this._constructPieChartRendererLegendElements(s) : this._constructRendererLegendElements(s, t);\n }\n async _getLegendElementsForFeatureReduction(e) {\n let t = null;\n return \"binning\" === e.type ? t = e.renderer : \"cluster\" === e.type && (t = this._getClusterRenderer(e)), t ? this._getRendererLegendElements(t) : [];\n }\n _getPointCloudRendererTitle(e) {\n return (e.legendOptions?.title || e.field) ?? \"\";\n }\n async _constructPointCloudRendererLegendElements(e, t = {}) {\n const s = t.title,\n l = [];\n let i = null,\n r = null;\n if (Ce(e)) i = {\n type: \"symbol-table\",\n title: s || this._getPointCloudRendererTitle(e),\n infos: []\n }, e.colorClassBreakInfos.forEach(e => {\n i.infos.unshift({\n label: e.label || e.minValue + \" - \" + e.maxValue,\n value: [e.minValue, e.maxValue],\n symbol: this._getAppliedCloneSymbol(ye, e.color)\n });\n });else if (Ie(e)) {\n const t = e.stops;\n let l = null;\n if (t?.length && (1 === t.length && (l = t[0].color), !l)) {\n const e = t[0].value,\n s = t[t.length - 1].value;\n if (null != e && null != s) {\n l = U(e + (s - e) / 2, t);\n }\n }\n i = {\n type: \"symbol-table\",\n title: null,\n infos: [{\n label: null,\n value: null,\n symbol: this._getAppliedCloneSymbol(ye, l || ye.color)\n }]\n };\n const n = k(e.stops ?? []) ?? [];\n r = {\n type: \"color-ramp\",\n title: s || this._getPointCloudRendererTitle(e),\n infos: n,\n preview: x(n.map(e => e.color), {\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n };\n } else Re(e) && (i = {\n type: \"symbol-table\",\n title: s || this._getPointCloudRendererTitle(e),\n infos: []\n }, e.colorUniqueValueInfos?.forEach(e => {\n i.infos.push({\n label: e.label || e.values.join(\", \"),\n value: e.values.join(\", \"),\n symbol: this._getAppliedCloneSymbol(ye, e.color)\n });\n }));\n i && i.infos.length && l.push(i), r && r.infos.length && l.push(r);\n const n = l.reduce((e, t) => [...e, ...(t.infos ?? [])], []).filter(e => !!e.symbol).map(t => this._getSymbolPreview(t, this.opacity, {\n symbolConfig: {\n applyColorModulation: !!e.colorModulation\n }\n }));\n return await Promise.allSettled(n), l;\n }\n async _getElementInfoForDotDensity(e, t) {\n const {\n color: s,\n label: l,\n valueExpressionTitle: i\n } = t,\n {\n backgroundColor: r,\n outline: n,\n dotSize: a\n } = e,\n o = this.effectList,\n u = o?.effects.map(e => e.toJSON()),\n c = w(u),\n d = await $e(\"previewTemplateAriaLabel\", l || i),\n y = a + \"-\" + s + \"-\" + r + \"-\" + (n && JSON.stringify(n.toJSON())) + \"-\" + c,\n h = this._dotDensityUrlCache,\n m = h.has(y) ? h.get(y) : j(e, s, {\n ariaLabel: d\n });\n h.set(y, m);\n const f = {\n shape: {\n type: \"image\",\n x: 0,\n y: 0,\n width: m.width,\n height: m.height,\n src: m.src\n },\n fill: null,\n stroke: null,\n offset: [0, 0]\n },\n p = D([[f]], [m.width, m.height], {\n effectView: this.effectList,\n ariaLabel: d\n });\n return {\n opacity: 1,\n src: m.src,\n preview: p,\n width: m.width,\n height: m.height\n };\n }\n async _constructDotDensityRendererLegendElements(e) {\n const t = e.calculateDotValue(this.view.scale),\n s = e.legendOptions?.unit,\n l = {\n type: \"symbol-table\",\n title: {\n value: t && Math.round(t),\n unit: s || \"\"\n },\n infos: []\n };\n for (const i of e.attributes) {\n const t = await this._getElementInfoForDotDensity(e, i);\n t.label = i.label || i.valueExpressionTitle || i.field, l.infos.push(t);\n }\n return [l];\n }\n async _constructPieChartRendererLegendElements(e) {\n const t = this.layer.opacity,\n s = [];\n let l = null;\n const i = e.outline;\n e.attributes.forEach(e => {\n const t = new se({\n color: e.color,\n outline: i\n }),\n l = e.label || e.valueExpressionTitle || e.field;\n s.push({\n label: l,\n symbol: t\n });\n });\n const r = s.length ? [...s] : [];\n if (e.othersCategory?.color && 0 !== e.othersCategory?.threshold) {\n const t = new se({\n color: e.othersCategory.color,\n outline: i\n });\n l = e.othersCategory.label || \"Other\", s.push({\n label: l,\n symbol: t\n });\n }\n if (e.defaultColor?.a) {\n const t = new se({\n color: e.defaultColor,\n outline: i\n });\n s.push({\n label: e.defaultLabel,\n symbol: t\n });\n }\n const n = (await this._getVisualVariableLegendElements(e, this.layer)) || [];\n if (s.length) {\n n.unshift({\n type: \"symbol-table\",\n title: null,\n infos: s\n });\n const t = r.filter(e => e.label !== l).map(e => e.symbol.color).filter(Boolean),\n a = O(t, {\n holePercentage: e.holePercentage,\n backgroundColor: e.backgroundFillSymbol?.color,\n effectList: this.effectList,\n outline: i,\n ariaLabel: await $e(\"previewPieChartAriaLabel\")\n });\n n.unshift({\n type: \"pie-chart-ramp\",\n title: this._getRendererTitle(e, this.layer),\n infos: s,\n preview: a\n });\n }\n const a = n.reduce((e, t) => [...e, ...this._getAllInfos(t)], []).filter(e => !!e?.symbol && !e?.preview).map(e => this._getSymbolPreview(e, t, {\n effectList: this.effectList\n }));\n return await Promise.allSettled(a), n;\n }\n async _constructRendererLegendElements(e, t = {}) {\n const {\n title: s,\n sublayer: l\n } = t,\n i = l || this.layer;\n this._hasColorRamp = !1, this._hasOpacityRamp = !1, this._hasSizeRamp = !1, this._scaleDrivenSizeVariable = null;\n const r = (await this._getVisualVariableLegendElements(e, i)) || [],\n n = {\n type: \"symbol-table\",\n title: s || this._getRendererTitle(e, i),\n infos: []\n };\n let a = null,\n o = !1;\n const u = new Set();\n if (me(e) && !this._hasSizeRamp) {\n const t = await K(e);\n n.infos.push({\n label: null,\n symbol: t\n });\n } else if (Ne(e)) {\n let t = s;\n const l = qe(e) ? \"univariate-above-and-below-ramp\" : \"univariate-color-size-ramp\",\n i = r.findIndex(e => \"color-ramp\" === e.type),\n n = -1 !== i ? r.splice(i, 1)[0] : null,\n a = r.findIndex(e => \"size-ramp\" === e.type),\n o = -1 !== a ? r.splice(a, 1)[0] : null,\n u = [];\n n && (t = n.title, u.push(n)), o && (t = o.title, u.push(o)), u.length > 0 && r.push({\n type: l,\n title: t,\n infos: u\n });\n } else if (ve(e)) {\n const t = q(e);\n r.push({\n type: \"heatmap-ramp\",\n title: s || this._getRendererTitle(e, i),\n infos: t,\n preview: x(t.map(e => e.color), {\n effectList: this.effectList,\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n });\n } else if (we(e)) {\n const t = e && e.authoringInfo;\n if (t && \"relationship\" === t.type) {\n const {\n numClasses: s,\n field1: l,\n field2: a\n } = t,\n o = t.focus;\n if (s && l && a) {\n const t = [l, a];\n let c = H(o) || 0;\n for (const e of t) {\n const {\n field: t,\n normalizationField: s,\n label: l\n } = e,\n r = l || {\n field: this._getFieldAlias(t, i),\n normField: s && this._getFieldAlias(s, i)\n },\n a = We.clone();\n a.angle = c, n.infos.push({\n label: r,\n symbol: a\n }), u.add(a), c += 90;\n }\n const d = $({\n focus: o,\n numClasses: s,\n infos: e.uniqueValueInfos ?? []\n });\n r.unshift(d);\n }\n } else if (Me(this.layer) || Ue(this.layer)) e.uniqueValueInfos?.forEach(e => {\n e.symbol && n.infos.push({\n label: e.label || e.value,\n value: e.value,\n symbol: e.symbol\n });\n });else {\n const {\n field: t,\n field2: l,\n field3: r,\n fieldDelimiter: a,\n valueExpression: u,\n defaultSymbol: c\n } = e,\n d = !(!t && !u || !l && !r),\n y = [];\n if (e.uniqueValueGroups?.forEach(e => {\n const s = {\n type: \"symbol-table\",\n title: e.heading,\n infos: []\n };\n e.classes?.forEach(e => {\n const {\n symbol: n,\n values: o\n } = e;\n if (n) {\n const c = [],\n y = [];\n for (const e of o ?? []) {\n const {\n value: s,\n value2: n,\n value3: o\n } = e,\n h = [],\n m = [];\n (t || u) && (h.push(s), m.push(this._getDomainName(t, s, i))), l && (h.push(n), m.push(this._getDomainName(l, n, i))), r && (h.push(o), m.push(this._getDomainName(r, o, i))), c.push(d ? h.join(a || \"\") : h[0]), y.push(m.join(\" - \"));\n }\n const h = c.join(\", \");\n let m = e.label;\n if (!m) {\n const e = y.filter(Boolean);\n m = e.length ? e.join(\", \") : h;\n }\n s.infos.push({\n label: m,\n value: h,\n symbol: n\n });\n }\n }), s.infos.length && y.push(s);\n }), y.length) {\n const t = y[0];\n 1 === y.length && \"title\" in t && !t.title ? n.infos.push(...(t.infos ?? [])) : (c && (y.push({\n type: \"symbol-table\",\n infos: [{\n label: e.defaultLabel || \"others\",\n symbol: c\n }]\n }), o = !0), n.infos.push(...y)), s || e.legendOptions?.title || e.valueExpressionTitle || (n.title = null);\n }\n }\n e.defaultSymbol && !o && (n.infos.push({\n label: e.defaultLabel || \"others\",\n symbol: e.defaultSymbol\n }), o = !0);\n } else if (_e(e)) {\n a = this._isUnclassedRenderer(e);\n (!a || !this._hasSizeRamp) && (e.classBreakInfos.forEach(e => {\n e.symbol && n.infos.unshift({\n label: e.label || (a ? null : e.minValue + \" - \" + e.maxValue),\n value: [e.minValue, e.maxValue],\n symbol: e.symbol\n });\n }), a && (n.title = null), this._updateInfosforClassedSizeRenderer(e, n.infos)), e.defaultSymbol && !a && (n.infos.push({\n label: e.defaultLabel || \"others\",\n symbol: e.defaultSymbol\n }), o = !0);\n } else if (ge(e)) {\n if (Ue(this.layer) || ke(this.layer)) {\n const t = await this._constructTileImageryStretchRendererElements(e);\n Be(t) ? r.push(t) : n.infos = t;\n } else {\n const t = this.layer;\n let s, l;\n if (e.statistics?.length) {\n const t = e.statistics[0];\n X(t) ? (s = t.min, l = t.max) : [s, l] = t;\n }\n let i = [],\n a = t.serviceRasterInfo;\n if (t.rasterFunction) try {\n a = await t.generateRasterInfo(t.rasterFunction);\n } catch {}\n const o = C(a.pixelType);\n if (1 === a.bandCount) {\n const i = t.bandIds?.[0] || 0;\n s = null != s ? s : a.statistics ? a.statistics[i].min : o[0], l = null != l ? l : a.statistics ? a.statistics[i].max : o[1], s || l ? r.push(await this._getStretchLegendElements(e, {\n min: s,\n max: l\n })) : this._getServerSideLegend();\n } else if (t.bandIds && 1 === t.bandIds.length) s = null != s ? s : a.statistics ? a.statistics[t.bandIds[0]].min : o[0], l = null != l ? l : a.statistics ? a.statistics[t.bandIds[0]].max : o[1], s || l ? r.push(await this._getStretchLegendElements(e, {\n min: s,\n max: l\n })) : this._getServerSideLegend();else if (a.bandCount >= 3) {\n const {\n bandInfos: e\n } = a,\n {\n bandIds: s\n } = t;\n e.length >= a.bandCount ? 3 === s?.length ? (i = s.map(t => e[t].name), n.infos = this._createSymbolTableElementMultiBand(i)) : \"lerc\" === t.format ? (i = [0, 1, 2].map(t => e[t].name), n.infos = this._createSymbolTableElementMultiBand(i)) : this._getServerSideLegend() : \"lerc\" === t.format ? (i = [\"band1\", \"band2\", \"band3\"], n.infos = this._createSymbolTableElementMultiBand(i)) : this._getServerSideLegend();\n } else this._getServerSideLegend();\n }\n } else if (pe(e)) e.colormapInfos.forEach(e => {\n n.infos.push({\n label: e.label,\n value: e.value,\n symbol: this._getAppliedCloneSymbol(he, e.color)\n });\n });else if (Se(e)) {\n let s = e.symbol;\n switch (t.geometryType) {\n case \"point\":\n s = \"pointSymbol\" in i ? i.pointSymbol : null;\n break;\n case \"polyline\":\n s = \"lineSymbol\" in i ? i.lineSymbol : null;\n break;\n case \"polygon\":\n s = \"polygonSymbol\" in i ? i.polygonSymbol : null;\n }\n const l = this._hasClusterSizeVariable && this._getClusterSymbol() || !this._hasSizeRamp;\n e.symbol && l && n.infos.push({\n label: e.label,\n symbol: s\n });\n } else if (fe(e)) {\n e.outputUnit && (this.title = \"(\" + e.toJSON().outputUnit + \")\"), n.title = e.attributeField;\n const t = e.getClassBreakInfos();\n t?.length ? t.forEach(e => {\n n.infos.push({\n label: e.minValue + \" - \" + e.maxValue,\n symbol: e.symbol\n });\n }) : n.infos.push({\n label: e.attributeField,\n symbol: e.getDefaultSymbol()\n });\n } else be(e) && r.push(await this._getStretchLegendElements(e, {\n min: 0,\n max: 255\n }));\n const c = e.defaultSymbol;\n !c || o || Se(e) || a && !this._hasColorRamp && !this._hasSizeRamp && !this._hasOpacityRamp || r.push({\n type: \"symbol-table\",\n infos: [{\n label: e.defaultLabel || \"others\",\n symbol: c\n }]\n }), n.infos.length && r.unshift(n);\n const d = null == t.opacity ? this.opacity : t.opacity,\n y = this._isTallSymbol(\"visualVariables\" in e ? e.visualVariables : null),\n h = Me(this.layer) || Ue(this.layer),\n m = r.reduce((e, t) => [...e, ...this._getAllInfos(t)], []).filter(e => !!e?.symbol).filter(e => {\n if (\"cim\" === e.symbol.type) {\n const {\n minScale: t,\n maxScale: s\n } = e.symbol.data;\n if (t && t < this.scale || s && s > this.scale) return !1;\n }\n return !0;\n }).map(e => this._getSymbolPreview(e, d, {\n isDefault: e.symbol === c,\n applyScaleDrivenSize: !u.has(e.symbol),\n symbolConfig: {\n isTall: y,\n isSquareFill: h\n },\n effectList: u.has(e.symbol) ? null : this.effectList\n }));\n return e = null, await Promise.allSettled(m), r;\n }\n _getServerSideLegend() {\n setTimeout(() => this.buildLegendElementsForTools(), 0);\n }\n _getAllInfos(e) {\n const t = e?.infos;\n return t ? t.reduce((e, t) => e.concat(this._getAllInfos(t)), []) : [e];\n }\n async _constructTileImageryStretchRendererElements(e) {\n const t = this.layer,\n s = t.symbolizer.rasterInfo ?? t.raster.rasterInfo;\n let l, i;\n const r = e?.statistics?.length ? e.statistics : s?.statistics;\n if (r) {\n const e = r[0];\n X(e) ? (l = e.min, i = e.max) : [l, i] = e;\n } else {\n const e = C(s.pixelType);\n l = e[0], i = e[1];\n }\n if (t.hasStandardTime() && (l = t.getStandardTimeValue(l), i = t.getStandardTimeValue(i)), 1 === s.bandCount || 1 === t.bandIds?.length) return this._getStretchLegendElements(e, {\n min: l,\n max: i\n });\n const n = (t?.bandIds?.length ? t.bandIds : Array.from(Array(Math.min(s.bandCount, 3)).keys())).map(e => s.bandInfos[e].name);\n return n.length < 3 ? n.push(n[1]) : n.length > 3 && n.splice(3), this._createSymbolTableElementMultiBand(n);\n }\n async _getStretchLegendElements(e, t) {\n const s = e.colorRamp,\n l = B(s, t);\n return {\n type: \"stretch-ramp\",\n title: \"\",\n infos: l,\n preview: x(l.map(e => e.color), {\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n };\n }\n _getClusterSymbol() {\n const e = this.layer,\n t = \"featureReduction\" in e && e.featureReduction,\n s = t && \"symbol\" in t && t.renderer;\n return s && !0 !== s?.authoringInfo?.isAutoGenerated ? null : t && \"symbol\" in t ? t.symbol : null;\n }\n async _getSizeLegendElement(e, t, s, l) {\n return {\n type: \"size-ramp\",\n title: this._hasClusterSizeVariable ? this._getClusterTitle(t) : e,\n infos: await W(s, t, await Y(s), this.scale, this.view, l, this._hasClusterSizeVariable ? this._getClusterSymbol() : null)\n };\n }\n _createSymbolTableElementMultiBand(e) {\n const t = [],\n s = [\"red\", \"green\", \"blue\"];\n return e.forEach((e, l) => {\n t.push({\n label: {\n colorName: s[l],\n bandName: e\n },\n src: ee[l],\n opacity: this.opacity ?? 1\n });\n }), t;\n }\n _updateInfosforClassedSizeRenderer(e, t) {\n const s = e.authoringInfo && \"class-breaks-size\" === e.authoringInfo.type,\n l = e.classBreakInfos.some(e => A(e.symbol));\n if (s && l) {\n const s = G,\n l = J,\n i = e.classBreakInfos.length,\n r = (s - l) / (i > 1 ? i - 1 : i);\n t.forEach((e, t) => {\n e.size = s - r * t;\n });\n }\n }\n _isTallSymbol(e) {\n let t = !1,\n s = !1;\n if (e) for (let l = 0; l < e.length && (!t || !s); l++) {\n const i = e[l];\n \"size\" === i.type && (\"height\" === i.axis && (t = !0), \"width-and-depth\" === i.axis && (s = !0));\n }\n return t && s;\n }\n async _getSymbolPreview(e, t, s) {\n let l = !s?.isDefault && null == e.size && this._hasSizeRamp ? m(z.size) : e.size;\n if (this._scaleDrivenSizeVariable && s?.applyScaleDrivenSize) {\n const {\n getSize: t\n } = await import(\"../../../renderers/visualVariables/support/visualVariableUtils.js\");\n l = t(this._scaleDrivenSizeVariable, null, {\n view: this.view.type,\n scale: this.scale,\n shape: \"simple-marker\" === e.symbol.type ? e.symbol.style : null\n });\n }\n const i = !s?.isDefault && this._hasSizeRamp || !(!this._scaleDrivenSizeVariable || !s?.applyScaleDrivenSize);\n return P(e.symbol, {\n size: l,\n opacity: t,\n scale: !1,\n symbolConfig: s?.symbolConfig,\n effectView: s?.effectList,\n style: \"legend\",\n cimOptions: {\n allowScalingUp: i,\n viewParams: this.isScaleDriven ? {\n viewingMode: \"2d\" === this.view?.type ? \"map\" : this.view?.viewingMode,\n scale: this.view?.scale\n } : null\n },\n ariaLabel: e.label && \"string\" != typeof e.label ? null : await $e(\"previewTemplateAriaLabel\", e.label)\n }).then(t => (e.preview = t, e)).catch(() => (e.preview = null, e));\n }\n _getClusterRenderer(e) {\n this._hasClusterSizeVariable = !1;\n const t = \"renderer\" in this.layer ? this.layer.renderer : null,\n s = e.renderer?.clone() || t?.clone(),\n l = M(this.layerView._effectiveRenderer, this.view);\n if (l && null != s && \"visualVariables\" in s) {\n const t = s.visualVariables?.some(e => \"size\" === e.type && \"outline\" !== e.target && !ce.test(e.valueExpression));\n if (!t) {\n if (\"clusterMinSize\" in e && \"clusterMaxSize\" in e) {\n const {\n clusterMinSize: t,\n clusterMaxSize: s\n } = e;\n l.legendOptions = new F({\n showLegend: t !== s\n });\n }\n const t = s.visualVariables || [];\n s.visualVariables = t.concat([l]), this._hasClusterSizeVariable = !0;\n }\n }\n return s;\n }\n async _loadRenderer(e) {\n const t = [],\n s = e.clone(),\n l = await Y(s);\n if (_e(s) || we(s)) {\n const e = (s.classBreakInfos || s.uniqueValueInfos).map(e => this._fetchSymbol(e.symbol, l).then(t => {\n e.symbol = t;\n }).catch(() => {\n e.symbol = null;\n }));\n Array.prototype.push.apply(t, e);\n }\n return t.push(this._fetchSymbol(s.symbol || s.defaultSymbol, s.defaultSymbol ? null : l).then(e => {\n this._applySymbolToRenderer(s, e, Se(s));\n }).catch(() => {\n this._applySymbolToRenderer(s, null, Se(s));\n })), await Promise.allSettled(t), s;\n }\n _applySymbolToRenderer(e, t, s) {\n s ? e.symbol = t : e.defaultSymbol = t;\n }\n async _fetchSymbol(e, t) {\n if (!e) throw new Error();\n if (\"web-style\" === e.type) {\n const s = this._webStyleSymbolCache;\n try {\n const l = await (\"2d\" === this.view.type ? e.fetchCIMSymbol({\n cache: s\n }) : e.fetchSymbol({\n cache: s\n }));\n return this._getAppliedCloneSymbol(l, t);\n } catch {\n throw o.getLogger(this).warn(\"Fetching web-style failed!\"), new Error();\n }\n }\n return this._getAppliedCloneSymbol(e, t);\n }\n _getAppliedCloneSymbol(e, s) {\n if (!e || !s) return e;\n const l = e.clone(),\n i = s && s.toRgba();\n return l.type.includes(\"3d\") ? this._applyColorTo3dSymbol(l, i) : \"cim\" === l.type ? T(l, s) : l.color && (l.color = new t(i || l.color)), l;\n }\n _applyColorTo3dSymbol(e, s) {\n s && e.symbolLayers.forEach(e => {\n e && (e.material || (e.material = {}), e.material.color = new t(s));\n });\n }\n async _getVisualVariableLegendElements(e, t) {\n if (!(\"visualVariables\" in e) || !e.visualVariables || \"vector-field\" === e.type) return null;\n const s = e.visualVariables,\n l = [],\n i = [],\n n = [];\n for (const r of s) \"color\" === r.type ? l.push(r) : \"size\" === r.type ? i.push(r) : \"opacity\" === r.type && n.push(r);\n const a = [...l, ...i, ...n];\n let o, u;\n if (0 === l.length && _e(e) && e.classBreakInfos && 1 === e.classBreakInfos.length) {\n const t = e.classBreakInfos[0];\n o = t && t.symbol;\n }\n if (0 === l.length && Se(e) && (o = e.symbol), o) if (o.type.includes(\"3d\")) {\n const e = o.symbolLayers.at(0);\n \"water\" === e.type ? null != e.color && (u = e.color) : null != e.material?.color && (u = e.material.color);\n } else o.url || (u = o.color);\n const c = this.effectList;\n return (await Promise.all(a.map(async s => {\n if (!s.legendOptions || !1 !== s.legendOptions.showLegend) {\n const l = me(e) ? s.field : this._getRampTitle(s, t);\n let i = null;\n const r = this._getDateFormatOptions(t, s);\n if (\"color\" === s.type) {\n const e = (await N(s, null, r)) ?? [];\n i = {\n type: \"color-ramp\",\n title: l,\n infos: e,\n preview: x(e.map(e => e.color), {\n effectList: c,\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n }, this._hasColorRamp || (this._hasColorRamp = e.length > 0);\n } else if (\"size\" === s.type && \"outline\" !== s.target) ce.test(s.valueExpression) ? this._hasClusterSizeVariable || (this._scaleDrivenSizeVariable = s) : (i = await this._getSizeLegendElement(l, s, e, r), this._hasSizeRamp || (this._hasSizeRamp = !(null == i.infos || !i.infos.length)));else if (\"opacity\" === s.type) {\n const e = (await N(s, u, r)) ?? [];\n i = {\n type: \"opacity-ramp\",\n title: l,\n infos: e,\n preview: x(e.map(e => e.color), {\n effectList: c,\n ariaLabel: await $e(\"previewColorRampAriaLabel\")\n })\n }, this._hasOpacityRamp || (this._hasOpacityRamp = e.length > 0);\n }\n return i && i.infos ? i : null;\n }\n }))).filter(r);\n }\n _getFieldInfo(e, t) {\n if (!t.field) return null;\n if (\"featureReduction\" in e) switch (e.featureReduction?.type) {\n case \"cluster\":\n case \"binning\":\n {\n const s = e.featureReduction.fields.find(({\n name: e\n }) => e.toLowerCase() === t.field.toLowerCase());\n return s && \"getField\" in e ? e.getField(s.onStatisticField) : null;\n }\n }\n return \"getField\" in e ? e.getField?.(t.field) : null;\n }\n _getDateFormat(e, t) {\n const s = \"popupTemplate\" in e ? e.popupTemplate?.fieldInfos : null;\n if (s?.length && t) return s.find(e => e.fieldName?.toLowerCase() === t.toLowerCase())?.format?.dateFormat;\n }\n _getDateFormatOptions(e, t) {\n const s = this._getFieldInfo(e, t);\n if (!s || !V(s) && !L(s)) return null;\n let l = this._getDateFormat(e, s.name);\n if (!l && \"date\" === s.type) {\n let e = 0,\n s = 0;\n t.stops ? (e = t.stops?.at(0)?.value ?? e, s = t.stops?.at(-1)?.value ?? s) : \"minDataValue\" in t && \"maxDataValue\" in t && (e = t.minDataValue ?? e, s = t.maxDataValue ?? s), l = s - e > 2 * f.days ? \"short-date\" : \"short-date-short-time\";\n }\n return {\n fieldType: s.type,\n format: l,\n timeZoneOptions: {\n layerTimeZone: \"preferredTimeZone\" in e ? e.preferredTimeZone : null,\n viewTimeZone: this.view.timeZone,\n datesInUnknownTimezone: \"datesInUnknownTimezone\" in e && e.datesInUnknownTimezone\n }\n };\n }\n _getDomainName(e, t, s) {\n if (e && \"function\" != typeof e) {\n const l = \"getField\" in s && s.getField?.(e),\n i = l && \"getFieldDomain\" in s && s.getFieldDomain ? s.getFieldDomain(l.name) : null;\n return \"coded-value\" === i?.type ? i.getName(t) : null;\n }\n return null;\n }\n _getClusterTitle(e) {\n const t = this.layer,\n s = e.field;\n if (\"featureReduction\" in t && t.featureReduction && \"cluster\" === t.featureReduction.type) {\n const e = t.featureReduction,\n l = \"popupTemplate\" in e && e.popupTemplate,\n i = l && l.fieldInfos;\n if (i) for (const t of i) if (t.fieldName === s) return \"cluster_count\" === s ? t.label || {\n showCount: !0\n } : t.label;\n }\n return {\n showCount: !0\n };\n }\n _getRampTitle(e, t) {\n let s = e.field,\n l = e.normalizationField,\n i = !1,\n r = !1,\n n = !1,\n a = null;\n s = \"function\" == typeof s ? null : s, l = \"function\" == typeof l ? null : l;\n const o = e.legendOptions?.title;\n if (null != o) a = o;else if (e.valueExpressionTitle) a = e.valueExpressionTitle;else {\n if (\"renderer\" in t && t.renderer && \"authoringInfo\" in t.renderer && t.renderer.authoringInfo?.visualVariables) {\n const e = t.renderer.authoringInfo.visualVariables;\n for (let t = 0; t < e.length; t++) {\n const s = e[t];\n if (\"color\" === s.type) {\n if (\"ratio\" === s.style) {\n i = !0;\n break;\n }\n if (\"percent\" === s.style) {\n r = !0;\n break;\n }\n if (\"percent-of-total\" === s.style) {\n n = !0;\n break;\n }\n }\n }\n }\n a = {\n field: s && this._getFieldAlias(s, t),\n normField: l && this._getFieldAlias(l, t),\n ratio: i,\n ratioPercent: r,\n ratioPercentTotal: n\n };\n }\n return a;\n }\n _getRendererTitle(e, t) {\n const s = e;\n if (s.legendOptions?.title) return s.legendOptions.title;\n if (s.valueExpressionTitle) return s.valueExpressionTitle;\n let l = s.field,\n i = null,\n r = null;\n if (_e(s) && (i = s.normalizationField, r = \"percent-of-total\" === s.normalizationType), l = \"function\" == typeof l ? null : l, i = \"function\" == typeof i ? null : i, we(s)) {\n const {\n field2: e,\n field3: i,\n fieldDelimiter: r\n } = s;\n let n = l && this._getFieldAlias(l, t);\n return e && (n = `<${n}>${r}<${this._getFieldAlias(e, t)}>`, i && (n = `${n}${r}<${this._getFieldAlias(i, t)}>`)), n;\n }\n let n = null;\n return (l || i) && (n = {\n field: l && this._getFieldAlias(l, t),\n normField: i && this._getFieldAlias(i, t),\n normByPct: r\n }), n;\n }\n _getFieldAlias(e, t) {\n const s = \"popupTemplate\" in t ? t.popupTemplate : null,\n l = s?.fieldInfos;\n let i;\n l && l.some(t => e === t.fieldName && (i = t, !0));\n let r = null;\n \"getField\" in t && t.getField ? r = t.getField(e) : \"fieldsIndex\" in t && t.fieldsIndex && (r = t.fieldsIndex.get(e));\n let n = null;\n const a = \"featureReduction\" in t && t.featureReduction;\n a && (!i && \"popupTemplate\" in a && a.popupTemplate?.fieldInfos && a.popupTemplate.fieldInfos.some(t => e?.toLowerCase() === t.fieldName?.toLowerCase() && (i = t, !0)), \"fields\" in a && a.fields && (n = a.fields.find(t => t.name?.toLowerCase() === e?.toLowerCase())));\n const o = i || r || n;\n let u = null;\n return o && (u = i?.label || r?.alias || n?.alias || \"name\" in o && o.name || \"fieldName\" in o && o.fieldName || null), u;\n }\n _isUnclassedRenderer(e) {\n const t = e.visualVariables;\n let s = !1;\n return _e(e) && e.classBreakInfos && 1 === e.classBreakInfos.length && t && (s = e.field ? t.some(t => !(!t || e.field !== t.field || (e.normalizationField || t.normalizationField) && e.normalizationField !== t.normalizationField)) : !!t.length), s;\n }\n };\ne([g()], Je.prototype, \"children\", void 0), e([g({\n readOnly: !0\n})], Je.prototype, \"effectList\", null), e([g()], Je.prototype, \"layerView\", void 0), e([g()], Je.prototype, \"layer\", void 0), e([g()], Je.prototype, \"legendElements\", void 0), e([g({\n readOnly: !0\n})], Je.prototype, \"opacity\", null), e([g()], Je.prototype, \"parent\", void 0), e([g({\n readOnly: !0,\n dependsOn: []\n})], Je.prototype, \"ready\", null), e([g()], Je.prototype, \"hideLayersNotInCurrentView\", void 0), e([g()], Je.prototype, \"keepCacheOnDestroy\", void 0), e([g()], Je.prototype, \"respectLayerVisibility\", void 0), e([g({\n readOnly: !0\n})], Je.prototype, \"scale\", null), e([g()], Je.prototype, \"sublayerIds\", void 0), e([g({\n readOnly: !0\n})], Je.prototype, \"isScaleDriven\", null), e([g()], Je.prototype, \"title\", void 0), e([g({\n readOnly: !0,\n dependsOn: [\"ready\"],\n value: 0\n})], Je.prototype, \"version\", null), e([g()], Je.prototype, \"view\", void 0), Je = e([b(\"esri.widgets.Legend.support.ActiveLayerInfo\")], Je);\nconst Qe = Je;\nexport { Qe as default };","/*\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 e } from \"../../chunks/tslib.es6.js\";\nimport \"../../intl.js\";\nimport r from \"../../core/Accessor.js\";\nimport i from \"../../core/Collection.js\";\nimport { watch as t, initial as s, when as a } from \"../../core/reactiveUtils.js\";\nimport { property as n } from \"../../core/accessorSupport/decorators/property.js\";\nimport \"../../core/accessorSupport/ensureType.js\";\nimport \"../../core/arrayUtils.js\";\nimport \"../../core/has.js\";\nimport { subclass as o } from \"../../core/accessorSupport/decorators/subclass.js\";\nimport { get as l } from \"../../core/accessorSupport/get.js\";\nimport y from \"./support/ActiveLayerInfo.js\";\nimport { onLocaleChange as d } from \"../../intl/locale.js\";\nconst h = {\n state: \"state\",\n view: \"view\",\n allLayerViews: \"all-layer-views\",\n legendProperties: \"legend-properties\"\n },\n c = i.ofType(y),\n L = new Set([\"esri.layers.BuildingSceneLayer\", \"esri.layers.CSVLayer\", \"esri.layers.FeatureLayer\", \"esri.layers.GeoJSONLayer\", \"esri.layers.GeoRSSLayer\", \"esri.layers.GroupLayer\", \"esri.layers.HeatmapLayer\", \"esri.layers.ImageryLayer\", \"esri.layers.ImageryTileLayer\", \"esri.layers.MapImageLayer\", \"esri.layers.OGCFeatureLayer\", \"esri.layers.PointCloudLayer\", \"esri.layers.StreamLayer\", \"esri.layers.SceneLayer\", \"esri.layers.SubtypeGroupLayer\", \"esri.layers.TileLayer\", \"esri.layers.VoxelLayer\", \"esri.layers.WFSLayer\", \"esri.layers.WMSLayer\", \"esri.layers.WMTSLayer\", \"esri.layers.WCSLayer\", \"esri.layers.LinkChartLayer\", \"esri.layers.knowledgeGraph.KnowledgeGraphSublayer\"]),\n u = \"view.basemapView.baseLayerViews\",\n f = \"view.groundView.layerViews\",\n p = \"view.basemapView.referenceLayerViews\",\n _ = [u, f, \"view.layerViews\", p];\nlet v = class extends r {\n constructor(e) {\n super(e), this._layerViewByLayerId = {}, this._layerInfosByLayerViewId = {}, this._activeLayerInfosByLayerViewId = {}, this._activeLayerInfosWithNoParent = new i(), this.activeLayerInfos = new c(), this.basemapLegendVisible = !1, this.groundLegendVisible = !1, this.hideLayersNotInCurrentView = !1, this.keepCacheOnDestroy = !1, this.respectLayerVisibility = !0, this.layerInfos = [], this.view = null;\n }\n initialize() {\n this.addHandles(t(() => this.view, () => this._viewHandles(), s), h.view), this.addHandles(d(() => this._refresh()));\n }\n destroy() {\n this._destroyViewActiveLayerInfos(), this.view = null;\n }\n get state() {\n return this.view?.ready ? \"ready\" : \"disabled\";\n }\n _viewHandles() {\n this.removeHandles(h.state), this.view && this.addHandles(t(() => this.state, () => this._stateHandles(), s), h.state);\n }\n _stateHandles() {\n this._resetAll(), \"ready\" === this.state && this._watchPropertiesAndAllLayerViews();\n }\n _resetAll() {\n this.removeHandles([h.allLayerViews, h.legendProperties]), this._destroyViewActiveLayerInfos(), this.activeLayerInfos.removeAll();\n }\n _destroyViewActiveLayerInfos() {\n Object.keys(this._activeLayerInfosByLayerViewId).forEach(this._destroyViewActiveLayerInfo, this);\n }\n _destroyViewActiveLayerInfo(e) {\n this.removeHandles(e);\n const r = this._activeLayerInfosByLayerViewId[e];\n delete this._activeLayerInfosByLayerViewId[e], r?.parent && r.parent.children.remove(r);\n }\n _watchPropertiesAndAllLayerViews() {\n const {\n view: e\n } = this;\n if (!e) return;\n const {\n allLayerViews: r\n } = e;\n r.length && this._refresh(), this.addHandles(r.on(\"change\", e => this._allLayerViewsChangeHandle(e)), h.allLayerViews), this.addHandles(t(() => [this.layerInfos, this.basemapLegendVisible, this.groundLegendVisible], () => this._propertiesChangeHandle()), h.legendProperties);\n }\n _allLayerViewsChangeHandle(e) {\n e.removed.forEach(e => this._destroyViewActiveLayerInfo(e.uid)), this._refresh();\n }\n _propertiesChangeHandle() {\n this._destroyViewActiveLayerInfos(), this._refresh();\n }\n _refresh() {\n this._layerInfosByLayerViewId = {}, this.activeLayerInfos.removeAll(), this._generateLayerViews().filter(this._filterLayerViewsByLayerInfos, this).filter(this._isLayerViewSupported, this).forEach(this._generateActiveLayerInfo, this), this._sortActiveLayerInfos(this.activeLayerInfos);\n }\n _sortActiveLayerInfos(e) {\n const r = this.view;\n if (e.length < 2 || !r) return;\n const i = [];\n e.forEach(r => {\n if (!r.parent) {\n const t = r.layer.parent,\n s = t && \"uid\" in t && this._layerViewByLayerId[t.uid],\n a = s && this._activeLayerInfosByLayerViewId[s.uid];\n a && e.includes(a) && (i.push(r), r.parent = a, a.children.add(r), this._sortActiveLayerInfos(a.children));\n }\n }), e.removeMany(i);\n const t = {};\n r.allLayerViews.forEach((e, r) => t[e.layer.uid] = r), e.sort((e, r) => {\n const i = t[e.layer.uid] || 0;\n return (t[r.layer.uid] || 0) - i;\n });\n }\n _generateLayerViews() {\n const e = [];\n return _.filter(this._filterLayerViews, this).map(e => l(this, e)).filter(e => null != e).forEach(this._collectLayerViews(\"layerViews\", e)), e;\n }\n _filterLayerViews(e) {\n const r = !this.basemapLegendVisible && (e === u || e === p),\n i = !this.groundLegendVisible && e === f;\n return !r && !i;\n }\n _collectLayerViews(e, r) {\n const i = t => (t && t.forEach(t => {\n r.push(t), i(t[e]);\n }), r);\n return i;\n }\n _filterLayerViewsByLayerInfos(e) {\n const r = this.layerInfos;\n return !r || !r.length || r.some(r => this._hasLayerInfo(r, e));\n }\n _hasLayerInfo(e, r) {\n const i = this._isLayerUIDMatching(e.layer, r.layer.uid);\n return i && (this._layerInfosByLayerViewId[r.uid] = e), i;\n }\n _isLayerUIDMatching(e, r) {\n return e && (e.uid === r || this._hasLayerUID(e.layers, r));\n }\n _hasLayerUID(e, r) {\n return e && e.some(e => this._isLayerUIDMatching(e, r));\n }\n _isLayerViewSupported(e) {\n return !!L.has(e.layer.declaredClass) && (this._layerViewByLayerId[e.layer.uid] = e, !0);\n }\n _generateActiveLayerInfo(e) {\n this._isLayerActive(e) ? this._buildActiveLayerInfo(e) : (this.removeHandles(e.uid), this.addHandles(t(() => [e.legendEnabled, e.layer?.legendEnabled], () => this._layerActiveHandle(e)), e.uid));\n }\n _layerActiveHandle(e) {\n this._isLayerActive(e) && (this.removeHandles(e.uid), this._buildActiveLayerInfo(e));\n }\n _isLayerActive(e) {\n return !this.respectLayerVisibility || e.legendEnabled && e.layer?.legendEnabled;\n }\n _buildActiveLayerInfo(e) {\n const r = e.layer,\n i = e.uid,\n n = this._layerInfosByLayerViewId[i];\n let o = this._activeLayerInfosByLayerViewId[i];\n if (!o) {\n const t = void 0 !== n?.title && n.layer.uid === r.uid;\n o = new y({\n layer: r,\n layerView: e,\n title: t ? n.title : r.title,\n view: this.view,\n respectLayerVisibility: this.respectLayerVisibility,\n hideLayersNotInCurrentView: this.hideLayersNotInCurrentView,\n keepCacheOnDestroy: this.keepCacheOnDestroy,\n sublayerIds: n?.sublayerIds || []\n }), this._activeLayerInfosByLayerViewId[i] = o;\n }\n const l = r.parent && \"uid\" in r.parent ? this._layerViewByLayerId[r.parent?.uid] : null;\n if (o.parent = this._activeLayerInfosByLayerViewId[l?.uid], !this.hasHandles(i)) {\n const n = [t(() => r.title, e => this._titleHandle(e, o)), t(() => [r.opacity, \"renderer\" in r && r.renderer, \"pointSymbol\" in r && r.pointSymbol, \"lineSymbol\" in r && r.lineSymbol, \"polygonSymbol\" in r && r.polygonSymbol], () => this._constructLegendElements(o)), a(() => !0 === this.view?.stationary, () => this._scaleHandle(o), s), t(() => e._effectiveRenderer, () => this._constructLegendElements(o)), t(() => \"effect\" in r && r.effect, () => this._constructLegendElements(o)), a(() => this.view?.timeZone, () => this._constructLegendElements(o), s)];\n if (this.respectLayerVisibility) {\n const i = t(() => e.legendEnabled, e => this._legendEnabledHandle(e, o)),\n s = t(() => r.legendEnabled, e => this._legendEnabledHandle(e, o));\n n.push(i, s);\n }\n this.addHandles(n, i);\n }\n o.isScaleDriven || this._constructLegendElements(o), this._addActiveLayerInfo(o);\n }\n _titleHandle(e, r) {\n r.title = e, this._constructLegendElements(r);\n }\n _legendEnabledHandle(e, r) {\n e ? this._addActiveLayerInfo(r) : this._removeActiveLayerInfo(r);\n }\n _scaleHandle(e) {\n (e.isScaleDriven || e.hideLayersNotInCurrentView) && this._constructLegendElements(e);\n }\n _addActiveLayerInfo(e) {\n const {\n layerView: r,\n layer: i\n } = e;\n if (this._isLayerActive(r) && !this.activeLayerInfos.includes(e)) {\n const r = e.parent;\n if (r) r.children.includes(e) || r.children.push(e), this._sortActiveLayerInfos(r.children);else {\n const r = this.layerInfos?.some(e => e.layer.uid === i.uid);\n i.parent && \"uid\" in i.parent && !r ? this._activeLayerInfosWithNoParent.add(e) : (this.activeLayerInfos.add(e), this._sortActiveLayerInfos(this.activeLayerInfos));\n }\n if (this._activeLayerInfosWithNoParent.length) {\n const e = [];\n this._activeLayerInfosWithNoParent.forEach(r => {\n const i = r.layer.parent,\n t = i && \"uid\" in i ? this._layerViewByLayerId[i?.uid] : null,\n s = this._activeLayerInfosByLayerViewId[t?.uid];\n s && (e.push(r), r.parent = s);\n }), e.length && (this._activeLayerInfosWithNoParent.removeMany(e), e.forEach(e => this._addActiveLayerInfo(e)));\n }\n }\n }\n _removeActiveLayerInfo(e) {\n const r = e.parent;\n r ? r.children.remove(e) : this.activeLayerInfos.remove(e);\n }\n _constructLegendElements(e) {\n const r = e.layer;\n \"featureCollections\" in r && r.featureCollections ? e.buildLegendElementsForFeatureCollections(r.featureCollections) : \"featureReduction\" in r && r.featureReduction && \"renderer\" in r.featureReduction && (\"binning\" === r.featureReduction.type || \"cluster\" === r.featureReduction.type) ? e.buildLegendElementsForFeatureReduction(r.featureReduction) : \"renderer\" in r && r.renderer && !(\"sublayers\" in r) ? e.buildLegendElementsForRenderer(r.renderer) : \"url\" in r && r.url ? e.buildLegendElementsForTools() : e.children.forEach(e => this._constructLegendElements(e));\n }\n};\ne([n({\n type: c\n})], v.prototype, \"activeLayerInfos\", void 0), e([n()], v.prototype, \"basemapLegendVisible\", void 0), e([n()], v.prototype, \"groundLegendVisible\", void 0), e([n()], v.prototype, \"hideLayersNotInCurrentView\", void 0), e([n()], v.prototype, \"keepCacheOnDestroy\", void 0), e([n()], v.prototype, \"respectLayerVisibility\", void 0), e([n()], v.prototype, \"layerInfos\", void 0), e([n({\n readOnly: !0\n})], v.prototype, \"state\", null), e([n()], v.prototype, \"view\", void 0), v = e([o(\"esri.widgets.Legend.LegendViewModel\")], v);\nconst I = v;\nexport { I as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nconst e = \"esri-legend--card\",\n a = \"esri-legend\",\n r = {\n activated: `${e}__carousel-indicator--activated`,\n base: e,\n stacked: `${a}--stacked`,\n carouselTitle: `${e}__carousel-title`,\n indicator: `${e}__carousel-indicator`,\n intervalSeparator: `${e}__interval-separator`,\n imageryLayerStretchedImage: `${e}__imagery-layer-image--stretched`,\n imageLabel: `${e}__image-label`,\n layerCaption: `${e}__layer-caption`,\n labelElement: `${e}__label-element`,\n layerRow: `${e}__layer-row`,\n labelCell: `${e}__label-cell`,\n message: `${e}__message`,\n rampLabel: `${e}__ramp-label`,\n section: `${e}__section`,\n relationshipSection: `${e}__relationship-section`,\n serviceCaptionText: `${e}__service-caption-text`,\n serviceContent: `${e}__service-content`,\n service: `${e}__service`,\n groupLayer: `${e}__group-layer`,\n groupLayerChild: `${e}__group-layer-child`,\n symbol: `${e}__symbol`,\n sizeRampRow: `${e}__size-ramp-row`,\n symbolRow: `${e}__symbol-row`,\n symbolCell: `${e}__symbol-cell`,\n indicatorContainer: `${e}__carousel-indicator-container`,\n intervalSeparatorsContainer: `${e}__interval-separators-container`,\n relationshipLabelContainer: `${e}__relationship-label-container`,\n labelContainer: `${e}__label-container`,\n serviceCaptionContainer: `${e}__service-caption-container`,\n symbolContainer: `${e}__symbol-container`,\n sizeRampContainer: `${e}__size-ramp-container`,\n sizeRampPreview: `${e}__size-ramp-preview`,\n pieChartRampPreview: `${e}__pie-chart-ramp-preview`,\n rampContainer: `${a}__ramps`,\n sizeRampHorizontal: `${a}__size-ramp--horizontal`,\n rampLabelsContainer: `${a}__ramp-labels`,\n layerInfo: `${a}__layer-cell ${a}__layer-cell--info`,\n univariateAboveAndBelowColorRamp: \"esri-univariate-above-and-below-ramp__color--card\"\n };\nexport { r as css };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { pt2px as e } from \"../../../../core/screenUtils.js\";\nimport \"../../../../libs/maquette/projection.js\";\nimport { createProjector as t } from \"../../../../libs/maquette/projector.js\";\nimport { renderColorRampPreviewHTML as o } from \"../../../../symbols/support/symbolUtils.js\";\nimport \"../../../support/widgetUtils.js\";\nimport { tsx as i } from \"../../../support/jsxFactory.js\";\nconst l = t(),\n n = 10,\n r = 20,\n s = 10,\n a = 20,\n c = {\n univariateAboveAndBelowSymbol: \"esri-univariate-above-and-below-ramp__symbol\",\n colorRamp: \"esri-legend__color-ramp\"\n };\nfunction f(e = \"vertical\") {\n const t = \"stroke:rgb(200, 200, 200);stroke-width:1\";\n return \"vertical\" === e ? i(\"svg\", {\n height: \"4\",\n width: \"10\"\n }, i(\"line\", {\n style: t,\n x1: \"0\",\n x2: \"10\",\n y1: \"2\",\n y2: \"2\"\n })) : i(\"svg\", {\n height: \"10\",\n width: \"10\"\n }, i(\"line\", {\n style: t,\n x1: \"5\",\n x2: \"5\",\n y1: \"0\",\n y2: \"10\"\n }));\n}\nfunction p(e, t = \"vertical\") {\n const o = document.createElement(\"div\");\n return o.style.height = `${r}px`, o.className = c.univariateAboveAndBelowSymbol, null != e && (o.style.opacity = e.toString()), l.append(o, f.bind(null, t)), o;\n}\nfunction m(t, o, i = \"vertical\", l) {\n t.infos.forEach((t, n) => {\n if (l && 2 === n) t.preview = p(o, i);else {\n const o = e(t.size) + (\"horizontal\" === i ? a : s),\n l = t.preview,\n n = \"div\" === l?.tagName.toLowerCase(),\n r = n ? l : document.createElement(\"div\");\n r.className = c.univariateAboveAndBelowSymbol, \"horizontal\" === i ? r.style.width = `${o}px` : r.style.height = `${o}px`, !n && l && r.appendChild(l), t.preview = r;\n }\n });\n}\nfunction u(t, o = \"classic\") {\n const i = t.infos;\n return \"classic\" === o ? (e(i[0].size) + s) / 2 : (e(i[0].size) - e(i[i.length - 1].size)) / 2;\n}\nfunction h(e, t) {\n if (!e) return null;\n const i = e.infos.map(e => e.color),\n l = o(\"full\" === t.type ? i : \"above\" === t.type ? i.slice(0, 3) : i.slice(2, 5), {\n width: t.width,\n height: t.height,\n align: t.rampAlignment,\n effectList: t.effectList,\n ariaLabel: t.ariaLabel\n });\n return l.className = c.colorRamp, null != t.opacity && (l.style.opacity = t.opacity.toString()), l;\n}\nfunction v(t, o, i, l = \"vertical\") {\n let c = 0;\n const f = t.infos,\n p = Math.floor(f.length / 2),\n m = \"full\" === o || \"above\" === o ? 0 : p,\n u = \"full\" === o || \"below\" === o ? f.length - 1 : p;\n for (let h = m; h <= u; h++) if (i && h === p) c += \"horizontal\" === l ? n : r;else {\n c += e(f[h].size) + (\"horizontal\" === l ? a : s);\n }\n return Math.round(c);\n}\nfunction y(t, o, i, l = \"vertical\") {\n const c = v(t, o, i, l),\n f = t.infos,\n p = Math.floor(f.length / 2),\n m = \"full\" === o || \"above\" === o ? 0 : p,\n u = \"full\" === o || \"below\" === o ? f.length - 1 : p,\n h = \"full\" === o ? f[m].size + f[u].size : \"above\" === o ? f[m].size : f[u].size,\n y = i ? \"vertical\" === l ? r : n : 0,\n d = \"vertical\" === l ? s * (\"full\" === o ? 2 : 1) : a * (\"full\" === o ? 2 : 1);\n return Math.round(c - (e(h) / 2 + y / 2 + d / 2));\n}\nfunction d(e, t, o = \"vertical\") {\n const i = e.infos;\n let l = i.find(({\n type: e\n }) => \"size-ramp\" === e),\n n = i.find(({\n type: e\n }) => \"color-ramp\" === e);\n return l && (l = {\n ...l\n }, l.infos = [...l.infos], m(l, t, o, !0)), n && (n = {\n ...n\n }, n.infos = [...n.infos]), \"horizontal\" === o && (l?.infos.reverse(), n?.infos.reverse()), {\n sizeRampElement: l,\n colorRampElement: n\n };\n}\nfunction b(e, t = \"vertical\") {\n const o = e.infos;\n let i = o.find(({\n type: e\n }) => \"size-ramp\" === e),\n l = o.find(({\n type: e\n }) => \"color-ramp\" === e);\n return i && (i = {\n ...i\n }, i.infos = [...i.infos], m(i, null, t, !1)), l && (l = {\n ...l\n }, l.infos = [...l.infos]), \"horizontal\" === t && (i?.infos.reverse(), l?.infos.reverse()), {\n sizeRampElement: i,\n colorRampElement: l\n };\n}\nexport { d as getUnivariateAboveAndBelowRampElements, u as getUnivariateColorRampMargin, h as getUnivariateColorRampPreview, y as getUnivariateColorRampSize, b as getUnivariateColorSizeRampElements, v as getUnivariateSizeRampSize };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport \"../../../intl.js\";\nimport { stripHTML as e } from \"../../../core/string.js\";\nimport { substitute as t } from \"../../../intl/substitute.js\";\nimport { formatNumber as n } from \"../../../intl/number.js\";\nfunction r(e, t) {\n return t;\n}\nfunction i(e) {\n const t = this;\n e.appendChild(t);\n}\nfunction o(n, i, o) {\n if (!i) return;\n if (\"number\" == typeof i) return i;\n if (\"string\" == typeof i) return e(i);\n if (\"value\" in i || \"unit\" in i) return t(n.dotValue, i);\n if (\"colorName\" in i && \"bandName\" in i) return n[i.colorName] + \": \" + (n[i.bandName] || i.bandName);\n if (\"showCount\" in i) return i.showCount ? n.clusterCountTitle : void 0;\n let u = null;\n return r(i, o) ? u = i.ratioPercentTotal ? \"showRatioPercentTotal\" : i.ratioPercent ? \"showRatioPercent\" : i.ratio ? \"showRatio\" : i.normField ? \"showNormField\" : i.field ? \"showField\" : null : l(i, o) && (u = i.normField ? \"showNormField\" : i.normByPct ? \"showNormPct\" : i.field ? \"showField\" : null), u ? t(\"showField\" === u ? \"{field}\" : n[u], {\n field: i.field,\n normField: i.normField\n }) : void 0;\n}\nfunction l(e, t) {\n return !t;\n}\nfunction u(e, t) {\n return !!(t && \"Stretched\" === t && e.version >= 10.3 && \"esri.layers.ImageryLayer\" === e.declaredClass);\n}\nfunction a(e, t) {\n return e.label ? t[e.label] + \": \" + (\"string\" == typeof e.value ? e.value : n(e.value ?? 0, {\n style: \"decimal\",\n notation: e.value?.toString().toLowerCase().includes(\"e\") ? \"scientific\" : \"standard\"\n })) : \"\";\n}\nexport { i as attachToNode, a as getStretchStopLabel, o as getTitle, u as isImageryStretchedLegend, l as isRendererTitle };","/*\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 e } from \"../../../chunks/tslib.es6.js\";\nimport \"../../../intl.js\";\nimport { watch as t } from \"../../../core/reactiveUtils.js\";\nimport { pt2px as s } from \"../../../core/screenUtils.js\";\nimport { property as i } from \"../../../core/accessorSupport/decorators/property.js\";\nimport \"../../../core/accessorSupport/ensureType.js\";\nimport \"../../../core/arrayUtils.js\";\nimport \"../../../core/has.js\";\nimport { subclass as a } from \"../../../core/accessorSupport/decorators/subclass.js\";\nimport { renderSVG as r } from \"../../../symbols/support/svgUtils.js\";\nimport { getCSSFilterFromEffectList as o } from \"../../../symbols/support/utils.js\";\nimport l from \"../../Widget.js\";\nimport { css as n } from \"./CardCSS.js\";\nimport { renderRelationshipRamp as c } from \"./support/relationshipUtils.js\";\nimport { getUnivariateAboveAndBelowRampElements as p, getUnivariateSizeRampSize as d, getUnivariateColorRampSize as m, getUnivariateColorRampPreview as h, getUnivariateColorRampMargin as y, getUnivariateColorSizeRampElements as g } from \"./support/univariateUtils.js\";\nimport { getTitle as v, attachToNode as f, isImageryStretchedLegend as u, getStretchStopLabel as b } from \"../support/styleUtils.js\";\nimport { Heading as _, incrementHeadingLevel as w } from \"../../support/Heading.js\";\nimport { accessibleHandler as L } from \"../../support/decorators/accessibleHandler.js\";\nimport { messageBundle as S } from \"../../support/decorators/messageBundle.js\";\nimport { tsx as x } from \"../../support/jsxFactory.js\";\nimport { isRTL as C } from \"../../support/widgetUtils.js\";\nimport { substitute as R } from \"../../../intl/substitute.js\";\nconst $ = 25,\n k = 25,\n z = 768,\n I = 100;\nvar N;\n!function (e) {\n e.Auto = \"auto\", e.Stack = \"stack\", e.SideBySide = \"side-by-side\";\n}(N || (N = {}));\nconst A = \"#ddd\",\n j = window.devicePixelRatio;\nfunction E(e) {\n if (e) {\n if (e.type.includes(\"3d\")) {\n const t = e.symbolLayers?.length;\n if (!t) return;\n const s = e.symbolLayers.at(t - 1),\n i = s.resource?.primitive;\n return \"circle\" === i || \"cross\" === i || \"kite\" === i || \"sphere\" === i || \"cube\" === i || \"diamond\" === i;\n }\n {\n const t = e.style;\n return \"circle\" === t || \"diamond\" === t || \"cross\" === t;\n }\n }\n}\nfunction F(e) {\n if (e) {\n if (e.type.includes(\"3d\")) {\n const t = e.symbolLayers?.length;\n if (!t) return;\n const s = e.symbolLayers.at(t - 1).get(\"resource.primitive\");\n return \"triangle\" === s || \"cone\" === s || \"tetrahedron\" === s;\n }\n return \"triangle\" === e.style;\n }\n}\nlet T = class extends l {\n constructor(e, t) {\n super(e, t), this._hasIndicators = !1, this._selectedSectionName = null, this._sectionNames = [], this._sectionMap = new Map(), this.activeLayerInfos = null, this.headingLevel = 3, this.layout = N.Stack, this.messages = null, this.messagesCommon = null, this.type = \"card\", this.view = null;\n }\n initialize() {\n this.addHandles(t(() => this.activeLayerInfos, e => {\n this.removeAllHandles(), this._watchForSectionChanges(e);\n }));\n }\n render() {\n const {\n view: e\n } = this;\n this._hasIndicators = this.layout === N.Auto && e && e.container.clientWidth <= z || this.layout === N.Stack;\n const t = this.activeLayerInfos,\n s = t && t.toArray().map(e => this._renderLegendForLayer(e)).filter(e => !!e);\n this._hasIndicators ? this._selectedSectionName && this._sectionNames.includes(this._selectedSectionName) || (this._selectedSectionName = this._sectionNames && this._sectionNames[0]) : this._selectedSectionName = null;\n const i = this._sectionNames.length,\n a = this._sectionNames.map((e, t) => {\n const s = R(this.messagesCommon.pagination.pageText, {\n index: t + 1,\n total: i\n });\n return x(\"div\", {\n \"aria-controls\": `${e}-panel`,\n \"aria-label\": s,\n \"aria-selected\": (this._selectedSectionName === e).toString(),\n bind: this,\n class: this.classes(n.indicator, {\n [n.activated]: this._selectedSectionName === e\n }),\n \"data-section-name\": e,\n id: e,\n key: e,\n onclick: this._selectSection,\n onkeydown: this._focusSection,\n role: \"tab\",\n tabIndex: this._selectedSectionName === e ? 0 : -1,\n title: s\n });\n }),\n r = this._hasIndicators && i > 1 ? x(\"div\", {\n class: n.indicatorContainer,\n key: \"carousel-navigation\",\n role: \"tablist\"\n }, a) : null,\n o = this._hasIndicators ? this._sectionMap.get(this._selectedSectionName) : s && s.length ? s : null,\n l = {\n [n.stacked]: this._hasIndicators\n };\n return x(\"div\", {\n class: this.classes(n.base, l)\n }, o || x(\"div\", {\n class: n.message\n }, this.messages.noLegend), r);\n }\n _selectSection(e) {\n const t = e.target.getAttribute(\"data-section-name\");\n t && (this._selectedSectionName = t);\n }\n _focusSection(e) {\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowRight\":\n this._switchSectionOnArrowPress(e);\n break;\n case \"Enter\":\n case \" \":\n this._selectSection(e);\n }\n }\n _switchSectionOnArrowPress(e) {\n const t = e.key,\n s = \"ArrowLeft\" === t ? -1 : 1,\n i = e.target.getAttribute(\"data-section-name\"),\n a = this._sectionNames.indexOf(i),\n r = this._sectionNames;\n let o = null;\n -1 !== a && (r[a + s] ? o = document.getElementById(r[a + s]) : \"ArrowLeft\" === t ? o = document.getElementById(r[r.length - 1]) : \"ArrowRight\" === t && (o = document.getElementById(r[0])), o?.focus());\n }\n _watchForSectionChanges(e) {\n if (this._generateSectionNames(), e) {\n e.forEach(e => {\n const s = `activeLayerInfo-${e.layer.uid}-version-change`;\n this.removeHandles(s), this._watchForSectionChanges(e.children), this.addHandles(t(() => e.version, () => this._generateSectionNames()), s);\n });\n const s = \"activeLayerInfos-collection-change\";\n this.removeHandles(s), this.addHandles(e.on(\"change\", () => this._watchForSectionChanges(e)), s);\n }\n }\n _generateSectionNames() {\n this._sectionNames.length = 0, this._selectedSectionName = null, this.activeLayerInfos && this.activeLayerInfos.forEach(this._generateSectionNamesForActiveLayerInfo, this);\n }\n _getSectionName(e, t, s) {\n return `${this.id}${e.uid}-type-${t.type}-${s}`;\n }\n _generateSectionNamesForActiveLayerInfo(e) {\n e.children.forEach(this._generateSectionNamesForActiveLayerInfo, this), e.legendElements && e.legendElements.forEach((t, s) => {\n this._sectionNames.push(this._getSectionName(e.layer, t, s));\n });\n }\n _renderLegendForLayer(e) {\n if (!e.ready) return null;\n if (e.children.length) {\n const t = e.children.map(e => this._renderLegendForLayer(e)).toArray();\n return x(\"div\", {\n class: this.classes(n.service, n.groupLayer),\n key: e.layer.uid\n }, x(\"div\", {\n class: n.serviceCaptionContainer\n }, e.title), t);\n }\n {\n const t = e.legendElements;\n if (t && !t.length) return null;\n const s = t.some(e => \"relationship-ramp\" === e.type),\n i = t.map((t, i) => this._renderLegendForElement(t, e, i, s)).filter(e => !!e);\n if (!i.length) return null;\n const a = {\n [n.groupLayerChild]: !!e.parent\n };\n return x(\"div\", {\n class: this.classes(n.service, a),\n key: e.layer.uid\n }, x(\"div\", {\n class: n.serviceCaptionContainer\n }, x(\"div\", {\n class: n.serviceCaptionText\n }, e.title)), x(\"div\", {\n class: n.serviceContent\n }, i));\n }\n }\n _renderLegendForElement(e, t, s, i = !1, a = !1) {\n const r = \"color-ramp\" === e.type,\n o = \"opacity-ramp\" === e.type,\n l = t.layer;\n let p = null;\n if (\"string\" == typeof e.title) p = e.title;else if (e.title) {\n const t = e.title,\n s = v(this.messages, t, r || o);\n p = t.title ? `${t.title} (${s})` : s;\n }\n const d = this._getSectionName(l, e, s),\n m = this._hasIndicators && !a ? x(\"div\", null, x(_, {\n class: n.carouselTitle,\n level: this.headingLevel\n }, t.title), x(_, {\n class: n.layerCaption,\n level: w(this.headingLevel)\n }, p)) : p ? x(_, {\n class: n.layerCaption,\n level: this.headingLevel\n }, p) : null,\n h = t.effectList;\n let y = null;\n switch (e.type) {\n case \"symbol-table\":\n {\n const s = e.infos.map((s, i) => this._renderLegendForElementInfo(s, t, e.legendType, i)).filter(e => !!e);\n if (s.length) {\n const e = s[0].properties.classes?.[n.symbolRow],\n t = {\n [n.labelContainer]: !e && !i,\n [n.relationshipLabelContainer]: i\n };\n y = x(\"div\", {\n class: this.classes(t)\n }, s);\n }\n break;\n }\n case \"color-ramp\":\n case \"opacity-ramp\":\n case \"heatmap-ramp\":\n case \"stretch-ramp\":\n y = this._renderLegendForRamp(e, l.opacity, h);\n break;\n case \"size-ramp\":\n y = this._renderSizeRamp(e, l.opacity);\n break;\n case \"pie-chart-ramp\":\n y = this._renderPieChartRamp(e);\n break;\n case \"relationship-ramp\":\n y = c(e, this.id, {\n opacity: l.opacity,\n effectList: h,\n ariaLabel: this.messages.previewRelationshipRampAriaLabel\n });\n break;\n case \"univariate-above-and-below-ramp\":\n y = this._renderUnivariateAboveAndBelowRamp(e, l.opacity, h);\n break;\n case \"univariate-color-size-ramp\":\n y = this._renderUnivariateColorSizeRamp(e, l.opacity, h);\n }\n if (!y) return null;\n const g = x(\"div\", {\n \"aria-labelledby\": d,\n class: n.section,\n id: `${d}-panel`,\n key: d,\n role: \"tabpanel\",\n tabIndex: 0\n }, [m, y]);\n return a || this._sectionMap.set(d, g), g;\n }\n _renderPieChartRamp(e) {\n return x(\"div\", {\n afterCreate: f,\n bind: e.preview,\n class: n.pieChartRampPreview\n });\n }\n _renderUnivariateAboveAndBelowRamp(e, t, s) {\n const {\n sizeRampElement: i,\n colorRampElement: a\n } = p(e, t, \"horizontal\");\n if (!i) return null;\n const r = d(i, \"full\", !0, \"horizontal\"),\n o = m(i, \"above\", !0, \"horizontal\"),\n l = m(i, \"below\", !0, \"horizontal\"),\n c = 12,\n g = this.messages?.previewColorRampAriaLabel,\n v = h(a, {\n width: o,\n height: c,\n rampAlignment: \"horizontal\",\n opacity: t,\n type: \"above\",\n effectList: s,\n ariaLabel: g\n }),\n u = h(a, {\n width: l,\n height: c,\n rampAlignment: \"horizontal\",\n opacity: t,\n type: \"below\",\n effectList: s,\n ariaLabel: g\n }),\n b = y(i, \"card\"),\n _ = i.infos.map(e => e.label),\n w = _.length - 1,\n L = _.map((e, t) => 0 === t || t === w ? x(\"div\", {\n key: t\n }, e) : null),\n S = {\n display: \"flex\",\n flexDirection: \"column\"\n },\n R = {\n display: \"flex\",\n flexDirection: \"row\"\n },\n $ = {\n marginTop: \"3px\",\n display: \"flex\"\n };\n C(this.container) ? $.marginRight = `${b}px` : $.marginLeft = `${b}px`;\n const k = {\n width: `${r}px`,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n };\n return x(\"div\", {\n class: n.layerRow,\n key: \"size-ramp-preview\",\n styles: S\n }, x(\"div\", {\n class: this.classes(n.symbolContainer, n.sizeRampHorizontal),\n styles: R\n }, i.infos.map((e, t) => x(\"div\", {\n afterCreate: f,\n bind: e.preview,\n class: n.symbol,\n key: t\n }))), v ? x(\"div\", {\n class: n.univariateAboveAndBelowColorRamp,\n key: \"color-ramp-preview\",\n styles: $\n }, x(\"div\", {\n afterCreate: f,\n bind: v\n }), x(\"div\", {\n afterCreate: f,\n bind: u\n })) : null, x(\"div\", {\n class: n.layerInfo\n }, x(\"div\", {\n class: n.rampLabelsContainer,\n styles: k\n }, L)));\n }\n _renderUnivariateColorSizeRamp(e, t, s) {\n const {\n sizeRampElement: i,\n colorRampElement: a\n } = g(e, \"horizontal\");\n if (!i) return null;\n const r = d(i, \"full\", !1, \"horizontal\"),\n o = m(i, \"full\", !1, \"horizontal\"),\n l = h(a, {\n width: o,\n height: 12,\n rampAlignment: \"horizontal\",\n opacity: t,\n type: \"full\",\n effectList: s,\n ariaLabel: this.messages?.previewColorRampAriaLabel\n }),\n c = y(i, \"card\"),\n p = i.infos.length - 1,\n v = i.infos.map((e, t) => 0 === t || t === p ? x(\"div\", {\n key: t\n }, e.label) : null),\n u = {\n display: \"flex\",\n flexDirection: \"column\"\n },\n b = {\n display: \"flex\",\n flexDirection: \"row\"\n },\n _ = {\n marginTop: \"3px\",\n display: \"flex\"\n };\n C(this.container) ? _.marginRight = `${c}px` : _.marginLeft = `${c}px`;\n const w = {\n width: `${r}px`,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\"\n };\n return x(\"div\", {\n class: n.layerRow,\n key: \"size-ramp-preview\",\n styles: u\n }, x(\"div\", {\n class: this.classes(n.symbolContainer, n.sizeRampHorizontal),\n styles: b\n }, i.infos.map((e, t) => x(\"div\", {\n afterCreate: f,\n bind: e.preview,\n class: n.symbol,\n key: t\n }))), x(\"div\", {\n class: n.univariateAboveAndBelowColorRamp,\n key: \"color-ramp-preview\",\n styles: _\n }, x(\"div\", {\n afterCreate: f,\n bind: l\n })), x(\"div\", {\n class: n.layerInfo\n }, x(\"div\", {\n class: n.rampLabelsContainer,\n styles: w\n }, v)));\n }\n _renderLegendForElementInfo(e, t, s, i) {\n const a = t.layer;\n if (e.type) return this._renderLegendForElement(e, t, i, !1, !0);\n const r = u(a, s),\n l = v(this.messages, e.label, !1) ?? \"\";\n if (e.preview) {\n if (!e.symbol?.type.includes(\"simple-fill\")) {\n if (!e.label) return x(\"div\", {\n afterCreate: f,\n bind: e.preview,\n key: i\n });\n const t = {\n [n.symbolCell]: this._hasIndicators\n };\n return x(\"div\", {\n class: this.classes(n.layerRow, {\n [n.symbolRow]: this._hasIndicators\n }),\n key: i\n }, x(\"div\", {\n afterCreate: f,\n bind: e.preview,\n class: this.classes(t)\n }), x(\"div\", {\n class: this.classes(n.imageLabel, {\n [n.labelCell]: this._hasIndicators\n })\n }, l));\n }\n let s = 255,\n r = 255,\n c = 255,\n p = 0,\n d = 255,\n m = 255,\n h = 255,\n y = 0;\n const g = e.symbol.color?.a,\n v = e.symbol.outline?.color?.a;\n g && (s = e.symbol.color.r, r = e.symbol.color.g, c = e.symbol.color.b, p = e.symbol.color.a * a.opacity), v && (d = e.symbol.outline.color.r, m = e.symbol.outline.color.g, h = e.symbol.outline.color.b, y = e.symbol.outline.color.a * a.opacity);\n const u = e.symbol.color?.isBright ?? !0,\n b = u ? \"rgba(255, 255, 255, .6)\" : \"rgba(0, 0, 0, .6)\",\n _ = {\n background: g ? `rgba(${s}, ${r}, ${c}, ${p})` : \"none\",\n color: u ? \"black\" : \"white\",\n textShadow: `-1px -1px 0 ${b},\\n 1px -1px 0 ${b},\\n -1px 1px 0 ${b},\\n 1px 1px 0 ${b}`,\n border: v ? `1px solid rgba(${d}, ${m}, ${h}, ${y})` : \"none\",\n filter: o(t.effectList) ?? void 0\n };\n return x(\"div\", {\n class: n.layerRow,\n key: i\n }, x(\"div\", {\n class: n.labelElement,\n styles: _\n }, l));\n }\n if (e.src) {\n const t = this._renderImage(e, a, r);\n return x(\"div\", {\n class: n.layerRow,\n key: i\n }, t, x(\"div\", {\n class: n.imageLabel\n }, l));\n }\n }\n _renderImage(e, t, s) {\n const {\n label: i,\n src: a,\n opacity: r\n } = e,\n o = {\n [n.imageryLayerStretchedImage]: s,\n [n.symbol]: !s\n },\n l = {\n opacity: `${null != r ? r : t.opacity}`\n };\n return x(\"img\", {\n alt: v(this.messages, i, !1),\n \"aria-label\": v(this.messages, i, !1),\n border: 0,\n class: this.classes(o),\n height: e.height,\n src: a,\n styles: l,\n width: e.width\n });\n }\n _renderSizeRampLines(e) {\n const t = e.infos,\n i = t[0],\n a = t[t.length - 1],\n r = i.symbol,\n o = this._hasIndicators,\n l = s(i.size + i.outlineSize) * j,\n n = s(a.size + a.outlineSize) * j,\n c = o ? l : l + 50 * j,\n p = o ? l / 2 + 50 * j : l,\n d = F(r),\n m = E(r),\n h = document.createElement(\"canvas\");\n h.width = c, h.height = p, h.style.width = h.width / j + \"px\", h.style.height = h.height / j + \"px\";\n const y = h.getContext(\"2d\");\n if (o) {\n y.beginPath();\n const e = 0,\n t = 0,\n s = c / 2 - n / 2,\n i = p;\n y.moveTo(e, t), y.lineTo(s, i);\n const a = c,\n r = 0,\n o = c / 2 + n / 2,\n l = p;\n y.moveTo(a, r), y.lineTo(o, l);\n } else {\n y.beginPath();\n const e = 0,\n t = p / 2 - n / 2,\n s = c,\n i = 0;\n y.moveTo(e, t), y.lineTo(s, i);\n const a = 0,\n r = p / 2 + n / 2,\n o = c,\n l = p;\n y.moveTo(a, r), y.lineTo(o, l);\n }\n return y.strokeStyle = A, y.stroke(), x(\"div\", {\n afterCreate: f,\n bind: h,\n styles: o ? {\n display: \"flex\",\n marginTop: `-${d ? 0 : m ? l / 2 : 0}px`,\n marginBottom: `-${d ? n : m ? n / 2 : 0}px`\n } : {\n display: \"flex\",\n marginRight: `-${d ? 0 : m ? l / 2 : 0}px`,\n marginLeft: `-${d ? 0 : m ? n / 2 : 0}px`\n }\n });\n }\n _renderSizeRamp(e, t) {\n const s = e.infos,\n i = s[0].label,\n a = s[s.length - 1].label;\n let r = s[0].preview,\n o = s[s.length - 1].preview;\n const l = this._hasIndicators,\n c = {\n \"flex-direction\": l ? \"column\" : \"row-reverse\"\n };\n r && (r = r.cloneNode(!0), r.style.display = \"flex\"), o && (o = o.cloneNode(!0), o.style.display = \"flex\");\n const p = {\n opacity: null != t ? `${t}` : \"\"\n };\n return x(\"div\", {\n class: this.classes(n.layerRow, {\n [n.sizeRampRow]: l\n })\n }, x(\"div\", {\n class: n.rampLabel\n }, l ? i : a), x(\"div\", {\n class: n.sizeRampContainer,\n styles: c\n }, x(\"div\", {\n afterCreate: f,\n bind: r,\n class: n.sizeRampPreview,\n styles: p\n }), this._renderSizeRampLines(e), x(\"div\", {\n afterCreate: f,\n bind: o,\n class: n.sizeRampContainer,\n styles: p\n })), x(\"div\", {\n class: n.rampLabel\n }, l ? a : i));\n }\n _getRampStopLabel(e, t) {\n switch (t) {\n case \"heatmap-ramp\":\n return this.messages[e.label];\n case \"stretch-ramp\":\n return b(e, this.messages);\n default:\n return e.label;\n }\n }\n _renderLegendForRamp(e, t, s) {\n const i = e.infos,\n a = e.type,\n l = \"heatmap-ramp\" === a,\n c = i.length - 1,\n p = k,\n d = c > 2 && !l ? $ * c : I,\n m = d + 20,\n h = 10,\n y = i.slice(0).reverse(),\n g = y.length - 1,\n v = y.length % 2 != 0 ? y[y.length / 2 | 0] : null,\n f = v && x(\"div\", {\n class: n.intervalSeparatorsContainer\n }, x(\"div\", {\n class: n.intervalSeparator\n }, \"|\"), x(\"div\", {\n class: n.rampLabel\n }, this._getRampStopLabel(v, a))),\n u = [[{\n shape: {\n type: \"path\",\n path: `M0 ${p / 2} L${h} 0 L${h} ${p} Z`\n },\n fill: y[0].color,\n stroke: {\n width: 0\n }\n }, {\n shape: {\n type: \"rect\",\n x: h,\n y: 0,\n width: d,\n height: p\n },\n fill: {\n type: \"linear\",\n x1: h,\n y1: 0,\n x2: d + h,\n y2: 0,\n colors: y.map((e, t) => ({\n color: e.color,\n offset: l && \"ratio\" in e ? e.ratio : t / c\n }))\n },\n stroke: {\n width: 0\n }\n }, {\n shape: {\n type: \"path\",\n path: `M${d + h} 0 L${m} ${p / 2} L${d + h} ${p} Z`\n },\n fill: y[g].color,\n stroke: {\n width: 0\n }\n }]],\n b = r(u, m, p),\n _ = {\n filter: o(s) ?? void 0,\n opacity: null == t ? void 0 : `${t}`\n },\n w = {\n justifyContent: \"center\"\n };\n return x(\"div\", {\n class: n.layerRow,\n styles: w\n }, x(\"div\", {\n class: n.rampLabel\n }, this._getRampStopLabel(y[0], a)), x(\"div\", {\n class: n.symbolContainer\n }, x(\"div\", {\n styles: _\n }, b), f), x(\"div\", {\n class: n.rampLabel\n }, this._getRampStopLabel(y[g], a)));\n }\n};\ne([i()], T.prototype, \"activeLayerInfos\", void 0), e([i()], T.prototype, \"headingLevel\", void 0), e([i()], T.prototype, \"layout\", void 0), e([i(), S(\"esri/widgets/Legend/t9n/Legend\")], T.prototype, \"messages\", void 0), e([i(), S(\"esri/t9n/common\")], T.prototype, \"messagesCommon\", void 0), e([i({\n readOnly: !0\n})], T.prototype, \"type\", void 0), e([i()], T.prototype, \"view\", void 0), e([L()], T.prototype, \"_selectSection\", null), T = e([a(\"esri.widgets.Legend.styles.Card\")], T);\nconst U = T;\nexport { U as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nconst e = \"esri-legend\",\n a = {\n service: `${e}__service`,\n label: `${e}__service-label`,\n layer: `${e}__layer`,\n groupLayer: `${e}__group-layer`,\n groupLayerChild: `${e}__group-layer-child`,\n layerTable: `${e}__layer-table`,\n layerTableSizeRamp: `${e}__layer-table--size-ramp`,\n layerChildTable: `${e}__layer-child-table`,\n layerCaption: `${e}__layer-caption`,\n layerBody: `${e}__layer-body`,\n layerRow: `${e}__layer-row`,\n layerCell: `${e}__layer-cell`,\n layerInfo: `${e}__layer-cell ${e}__layer-cell--info`,\n imageryLayerStretchedImage: `${e}__imagery-layer-image--stretched`,\n imageryLayerCellStretched: `${e}__imagery-layer-cell--stretched`,\n imageryLayerInfoStretched: `${e}__imagery-layer-info--stretched`,\n symbolContainer: `${e}__layer-cell ${e}__layer-cell--symbols`,\n symbol: `${e}__symbol`,\n rampContainer: `${e}__ramps`,\n sizeRamp: `${e}__size-ramp`,\n colorRamp: `${e}__color-ramp`,\n opacityRamp: `${e}__opacity-ramp`,\n borderlessRamp: `${e}__borderless-ramp`,\n rampTick: `${e}__ramp-tick`,\n rampFirstTick: `${e}__ramp-tick-first`,\n rampLastTick: `${e}__ramp-tick-last`,\n rampLabelsContainer: `${e}__ramp-labels`,\n rampLabel: `${e}__ramp-label`,\n message: `${e}__message`,\n univariateAboveAndBelowLabel: \"esri-univariate-above-and-below-ramp__label\"\n };\nexport { a as css, e as legend };","/*\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 e } from \"../../../chunks/tslib.es6.js\";\nimport { property as s } from \"../../../core/accessorSupport/decorators/property.js\";\nimport \"../../../core/accessorSupport/ensureType.js\";\nimport \"../../../core/arrayUtils.js\";\nimport \"../../../core/has.js\";\nimport { subclass as t } from \"../../../core/accessorSupport/decorators/subclass.js\";\nimport a from \"../../Widget.js\";\nimport { css as r, legend as i } from \"./ClassicCSS.js\";\nimport { renderRelationshipRamp as l } from \"./support/relationshipUtils.js\";\nimport { getUnivariateAboveAndBelowRampElements as o, getUnivariateColorRampSize as n, getUnivariateColorRampPreview as p, getUnivariateColorRampMargin as d, getUnivariateColorSizeRampElements as c } from \"./support/univariateUtils.js\";\nimport { getTitle as m, isRendererTitle as y, attachToNode as v, getStretchStopLabel as h, isImageryStretchedLegend as g } from \"../support/styleUtils.js\";\nimport { globalCss as u } from \"../../support/globalCss.js\";\nimport { Heading as b } from \"../../support/Heading.js\";\nimport \"../../support/widgetUtils.js\";\nimport { messageBundle as f } from \"../../support/decorators/messageBundle.js\";\nimport { tsx as L } from \"../../support/jsxFactory.js\";\nconst w = `${i}__`,\n C = 24,\n R = {\n display: \"flex\",\n alignItems: \"flex-start\"\n },\n A = {\n marginLeft: \"3px\"\n },\n _ = {\n display: \"table-cell\",\n verticalAlign: \"middle\"\n };\nlet j = class extends a {\n constructor(e, s) {\n super(e, s), this.activeLayerInfos = null, this.headingLevel = 3, this.messages = null, this.type = \"classic\";\n }\n render() {\n const e = this.activeLayerInfos,\n s = e && e.toArray().map(e => this._renderLegendForLayer(e)).filter(e => !!e);\n return L(\"div\", null, s && s.length ? s : L(\"div\", {\n class: r.message\n }, this.messages.noLegend));\n }\n _renderLegendForLayer(e) {\n if (!e.ready) return null;\n const s = !!e.children.length,\n t = `${w}${e.layer.uid}-version-${e.version}`,\n a = e.title ? b({\n level: this.headingLevel,\n class: this.classes(u.heading, r.label)\n }, e.title) : null;\n if (s) {\n const s = e.children.map(e => this._renderLegendForLayer(e)).toArray();\n return L(\"div\", {\n class: this.classes(r.service, r.groupLayer),\n key: t\n }, a, s);\n }\n {\n const s = e.legendElements;\n if (s && !s.length) return null;\n const i = s.map(s => this._renderLegendForElement(s, e.layer, e.effectList)).filter(e => !!e);\n if (!i.length) return null;\n const l = {\n [r.groupLayerChild]: !!e.parent\n };\n return L(\"div\", {\n class: this.classes(r.service, l),\n key: t\n }, a, L(\"div\", {\n class: r.layer\n }, i));\n }\n }\n _renderLegendForElement(e, s, t, a) {\n const i = \"color-ramp\" === e.type,\n o = \"opacity-ramp\" === e.type,\n n = \"size-ramp\" === e.type;\n let p = null;\n if (\"symbol-table\" === e.type || n) {\n const a = e.infos.map(a => this._renderLegendForElementInfo(a, s, t, n, e.legendType)).filter(e => !!e);\n a.length && (p = L(\"div\", {\n class: r.layerBody\n }, a));\n } else \"color-ramp\" === e.type || \"opacity-ramp\" === e.type || \"heatmap-ramp\" === e.type || \"stretch-ramp\" === e.type ? p = this._renderLegendForRamp(e, s.opacity) : \"relationship-ramp\" === e.type ? p = l(e, this.id, {\n opacity: s.opacity,\n effectList: t,\n ariaLabel: this.messages.previewRelationshipRampAriaLabel\n }) : \"pie-chart-ramp\" === e.type ? p = this._renderPieChartRamp(e) : \"univariate-above-and-below-ramp\" === e.type ? p = this._renderUnivariateAboveAndBelowRamp(e, s.opacity, t) : \"univariate-color-size-ramp\" === e.type && (p = this._renderUnivariateColorSizeRamp(e, s.opacity, t));\n if (!p) return null;\n const d = e.title;\n let c = null;\n if (\"string\" == typeof d) c = d;else if (d) {\n const e = m(this.messages, d, i || o);\n c = y(d, i || o) && d.title ? `${d.title} (${e})` : e;\n }\n const v = a ? r.layerChildTable : r.layerTable,\n h = c ? L(\"div\", {\n class: r.layerCaption\n }, c) : null,\n g = {\n [r.layerTableSizeRamp]: n || !a\n };\n return L(\"div\", {\n class: this.classes(v, g)\n }, h, p);\n }\n _renderPieChartRamp(e) {\n return L(\"div\", {\n afterCreate: v,\n bind: e.preview\n });\n }\n _renderUnivariateAboveAndBelowRamp(e, s, t) {\n const {\n sizeRampElement: a,\n colorRampElement: i\n } = o(e, s);\n if (!a) return null;\n const l = this.messages?.previewColorRampAriaLabel,\n c = n(a, \"above\", !0),\n m = n(a, \"below\", !0),\n y = 12,\n h = p(i, {\n width: y,\n height: c,\n rampAlignment: \"vertical\",\n opacity: s,\n type: \"above\",\n effectList: t,\n ariaLabel: l\n }),\n g = p(i, {\n width: y,\n height: m,\n rampAlignment: \"vertical\",\n opacity: s,\n type: \"below\",\n effectList: t,\n ariaLabel: l\n }),\n u = d(a),\n b = a.infos.map(e => e.label),\n f = b.map((e, s) => {\n const t = 2 === s;\n return 0 === s ? L(\"div\", {\n class: e ? h ? r.univariateAboveAndBelowLabel : r.rampLabel : void 0,\n key: s\n }, e) : t ? L(\"div\", null) : null;\n }),\n w = b.length - 1,\n C = Math.floor(b.length / 2),\n j = b.map((e, s) => s === C || s === w ? L(\"div\", {\n class: e ? h ? r.univariateAboveAndBelowLabel : r.rampLabel : void 0,\n key: s\n }, e) : null),\n $ = {\n display: \"table-cell\",\n verticalAlign: \"middle\"\n },\n I = {\n marginTop: `${u}px`\n },\n x = {\n height: `${c}px`\n },\n S = {\n height: `${m}px`\n };\n return L(\"div\", {\n key: \"univariate-above-and-below-ramp-preview\",\n styles: R\n }, L(\"div\", {\n class: r.layerBody\n }, a.infos.map((e, s) => L(\"div\", {\n class: this.classes(r.layerRow, r.sizeRamp)\n }, L(\"div\", {\n afterCreate: v,\n bind: e.preview,\n class: r.symbol,\n styles: $\n }), h || s % 2 != 0 ? null : L(\"div\", {\n class: r.layerInfo\n }, b[s])))), h ? L(\"div\", {\n key: \"color-ramp-preview\",\n styles: I\n }, L(\"div\", {\n styles: A\n }, L(\"div\", {\n styles: _\n }, L(\"div\", {\n afterCreate: v,\n bind: h,\n class: r.rampContainer\n })), L(\"div\", {\n styles: _\n }, L(\"div\", {\n class: r.rampLabelsContainer,\n styles: x\n }, f))), L(\"div\", {\n styles: A\n }, L(\"div\", {\n styles: _\n }, L(\"div\", {\n afterCreate: v,\n bind: g,\n class: r.rampContainer\n })), L(\"div\", {\n styles: _\n }, L(\"div\", {\n class: r.rampLabelsContainer,\n styles: S\n }, j)))) : null);\n }\n _renderUnivariateColorSizeRamp(e, s, t) {\n const {\n sizeRampElement: a,\n colorRampElement: i\n } = c(e);\n if (!a) return null;\n const l = d(a),\n o = 12,\n m = n(a, \"full\", !1),\n y = p(i, {\n width: o,\n height: m,\n rampAlignment: \"vertical\",\n opacity: s,\n type: \"full\",\n effectList: t,\n ariaLabel: this.messages?.previewColorRampAriaLabel\n }),\n h = a.infos.length - 1,\n g = a.infos.map((e, s) => 0 === s || s === h ? L(\"div\", {\n class: e.label ? i ? r.univariateAboveAndBelowLabel : r.rampLabel : void 0,\n key: s\n }, e.label) : null),\n u = {\n display: \"table-cell\",\n verticalAlign: \"middle\"\n },\n b = {\n marginTop: `${l}px`\n },\n f = {\n height: `${m}px`\n };\n return L(\"div\", {\n key: \"univariate-above-and-below-ramp-preview\",\n styles: R\n }, L(\"div\", {\n class: r.layerBody\n }, a.infos.map(e => L(\"div\", {\n class: this.classes(r.layerRow, r.sizeRamp)\n }, L(\"div\", {\n afterCreate: v,\n bind: e.preview,\n class: r.symbol,\n styles: u\n })))), L(\"div\", {\n key: \"color-ramp-preview\",\n styles: b\n }, L(\"div\", {\n styles: A\n }, L(\"div\", {\n styles: _\n }, L(\"div\", {\n afterCreate: v,\n bind: y,\n class: r.rampContainer\n })), L(\"div\", {\n styles: _\n }, L(\"div\", {\n class: r.rampLabelsContainer,\n styles: f\n }, g)))));\n }\n _renderLegendForRamp(e, s) {\n const t = e.infos,\n a = \"opacity-ramp\" === e.type,\n i = \"heatmap-ramp\" === e.type,\n l = \"stretch-ramp\" === e.type,\n o = e.preview,\n n = a ? r.opacityRamp : \"\";\n o.className = `${r.colorRamp} ${n}`, null != s && (o.style.opacity = s.toString());\n const p = t.map(e => L(\"div\", {\n class: e.label ? r.rampLabel : void 0\n }, i ? this.messages[e.label] || e.label : l ? h(e, this.messages) : e.label)),\n d = {\n width: `${C}px`\n },\n c = {\n height: o.style.height\n };\n return L(\"div\", {\n class: r.layerRow\n }, L(\"div\", {\n class: r.symbolContainer,\n styles: d\n }, L(\"div\", {\n afterCreate: v,\n bind: o,\n class: r.rampContainer\n })), L(\"div\", {\n class: r.layerInfo\n }, L(\"div\", {\n class: r.rampLabelsContainer,\n styles: c\n }, p)));\n }\n _renderLegendForElementInfo(e, s, t, a, i) {\n if (e.type) return this._renderLegendForElement(e, s, t, !0);\n let l = null;\n const o = g(s, i);\n if (e.preview ? l = L(\"div\", {\n afterCreate: v,\n bind: e.preview,\n class: r.symbol\n }) : e.src && (l = this._renderImage(e, s, o)), !l) return null;\n const n = {\n [r.imageryLayerInfoStretched]: o\n },\n p = {\n [r.imageryLayerInfoStretched]: o,\n [r.sizeRamp]: !o && a\n };\n return L(\"div\", {\n class: r.layerRow\n }, L(\"div\", {\n class: this.classes(r.symbolContainer, p)\n }, l), L(\"div\", {\n class: this.classes(r.layerInfo, n)\n }, m(this.messages, e.label, !1) || \"\"));\n }\n _renderImage(e, s, t) {\n const {\n label: a,\n src: i,\n opacity: l\n } = e,\n o = {\n [r.imageryLayerStretchedImage]: t,\n [r.symbol]: !t\n },\n n = {\n opacity: `${null != l ? l : s.opacity}`\n };\n return L(\"img\", {\n alt: m(this.messages, a, !1),\n \"aria-label\": m(this.messages, a, !1),\n border: 0,\n class: this.classes(o),\n height: e.height,\n src: i,\n styles: n,\n width: e.width\n });\n }\n};\ne([s()], j.prototype, \"activeLayerInfos\", void 0), e([s()], j.prototype, \"headingLevel\", void 0), e([s(), f(\"esri/widgets/Legend/t9n/Legend\")], j.prototype, \"messages\", void 0), e([s({\n readOnly: !0\n})], j.prototype, \"type\", void 0), j = e([t(\"esri.widgets.Legend.styles.Classic\")], j);\nconst $ = j;\nexport { $ as default };","/*\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 e } from \"../chunks/tslib.es6.js\";\nimport { on as t, watch as s, initial as i } from \"../core/reactiveUtils.js\";\nimport { property as r } from \"../core/accessorSupport/decorators/property.js\";\nimport { cast as o } from \"../core/accessorSupport/decorators/cast.js\";\nimport \"../core/arrayUtils.js\";\nimport \"../core/has.js\";\nimport { subclass as n } from \"../core/accessorSupport/decorators/subclass.js\";\nimport a from \"./Widget.js\";\nimport l from \"./Legend/LegendViewModel.js\";\nimport d from \"./Legend/styles/Card.js\";\nimport p from \"./Legend/styles/Classic.js\";\nimport { globalCss as c } from \"./support/globalCss.js\";\nimport { legacyIcon as h } from \"./support/legacyIcon.js\";\nimport \"./support/widgetUtils.js\";\nimport { messageBundle as y } from \"./support/decorators/messageBundle.js\";\nimport { tsx as v } from \"./support/jsxFactory.js\";\nconst g = {\n base: \"esri-legend\",\n widgetIcon: h.layerList\n};\nlet u = class extends a {\n constructor(e, t) {\n super(e, t), this.headingLevel = 3, this.iconClass = g.widgetIcon, this.icon = null, this.messages = null, this.style = new p(), this.viewModel = new l();\n }\n initialize() {\n this.addHandles([t(() => this.view, \"resize\", () => this.scheduleRender()), t(() => this.activeLayerInfos, \"change\", () => this._refreshActiveLayerInfos(this.activeLayerInfos)), s(() => this.headingLevel, e => {\n const {\n style: t\n } = this;\n t && (t.headingLevel = e);\n }), s(() => this.style, (e, t) => {\n t && e !== t && t.destroy(), e && (e.activeLayerInfos = this.activeLayerInfos, \"card\" === e.type && (e.view = this.view), e.headingLevel = this.headingLevel);\n }, i)]);\n }\n get activeLayerInfos() {\n return this.viewModel.activeLayerInfos;\n }\n set activeLayerInfos(e) {\n this.viewModel.activeLayerInfos = e;\n }\n get basemapLegendVisible() {\n return this.viewModel.basemapLegendVisible;\n }\n set basemapLegendVisible(e) {\n this.viewModel.basemapLegendVisible = e;\n }\n get groundLegendVisible() {\n return this.viewModel.groundLegendVisible;\n }\n set groundLegendVisible(e) {\n this.viewModel.groundLegendVisible = e;\n }\n get hideLayersNotInCurrentView() {\n return this.viewModel.hideLayersNotInCurrentView;\n }\n set hideLayersNotInCurrentView(e) {\n this.viewModel.hideLayersNotInCurrentView = e;\n }\n get keepCacheOnDestroy() {\n return this.viewModel.keepCacheOnDestroy;\n }\n set keepCacheOnDestroy(e) {\n this.viewModel.keepCacheOnDestroy = e;\n }\n get respectLayerVisibility() {\n return this.viewModel.respectLayerVisibility;\n }\n set respectLayerVisibility(e) {\n this.viewModel.respectLayerVisibility = e;\n }\n get label() {\n return this.messages?.widgetLabel ?? \"\";\n }\n set label(e) {\n this._overrideIfSome(\"label\", e);\n }\n get layerInfos() {\n return this.viewModel.layerInfos;\n }\n set layerInfos(e) {\n this.viewModel.layerInfos = e;\n }\n castStyle(e) {\n if (e instanceof d || e instanceof p) return e;\n if (\"string\" == typeof e) return \"card\" === e ? new d() : new p();\n if (e && \"string\" == typeof e.type) {\n const t = {\n ...e\n };\n delete t.type;\n return new (\"card\" === e.type ? d : p)(t);\n }\n return new p();\n }\n get view() {\n return this.viewModel.view;\n }\n set view(e) {\n this.viewModel.view = e;\n }\n render() {\n return v(\"div\", {\n class: this.classes(g.base, c.widget, this.style instanceof p ? c.panel : null)\n }, this.style.render());\n }\n _refreshActiveLayerInfos(e) {\n e.forEach(e => {\n this.removeHandles(`version_${e.layer.uid}`), this._renderOnActiveLayerInfoChange(e);\n }), this.scheduleRender();\n }\n _renderOnActiveLayerInfoChange(e) {\n const r = s(() => e.version, () => this.scheduleRender());\n this.addHandles(r, `version_${e.layer.uid}`);\n const o = t(() => e.children, \"change\", () => e.children.forEach(e => this._renderOnActiveLayerInfoChange(e)), i);\n this.addHandles(o, `version_${e.layer.uid}`), e.children.forEach(e => this._renderOnActiveLayerInfoChange(e));\n }\n};\ne([r()], u.prototype, \"activeLayerInfos\", null), e([r()], u.prototype, \"basemapLegendVisible\", null), e([r()], u.prototype, \"groundLegendVisible\", null), e([r()], u.prototype, \"headingLevel\", void 0), e([r()], u.prototype, \"hideLayersNotInCurrentView\", null), e([r()], u.prototype, \"keepCacheOnDestroy\", null), e([r()], u.prototype, \"respectLayerVisibility\", null), e([r()], u.prototype, \"iconClass\", void 0), e([r()], u.prototype, \"icon\", void 0), e([r()], u.prototype, \"label\", null), e([r()], u.prototype, \"layerInfos\", null), e([r(), y(\"esri/widgets/Legend/t9n/Legend\")], u.prototype, \"messages\", void 0), e([r()], u.prototype, \"style\", void 0), e([o(\"style\")], u.prototype, \"castStyle\", null), e([r()], u.prototype, \"view\", null), e([r()], u.prototype, \"viewModel\", void 0), u = e([n(\"esri.widgets.Legend\")], u);\nconst L = u;\nexport { L as default };"],"mappings":"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","names":["t","r","l","e","a","i","s","n","p","y","b","h","d","w","g","S","e","v","j","V","l","t","n","r","k","i","o","a","u","c","m","f","z","D","C","I","x","M","T","s","P","s","t","n","o","e","r","u","s","y","e","be","t","f","l","a","r","i","k","n","v","m","u","o","c","d","h","b","p","g","V","h","c","L","u","f","p","v","e","r","i","t","s","a","n","o","l","I","e","a","r","l","n","r","s","a","c","f","e","t","p","o","m","i","u","h","v","y","d","b","r","e","t","i","o","n","s","u","l","a","k","z","I","e","j","E","t","s","i","T","a","r","o","l","p","d","m","n","h","y","g","v","c","u","b","_","w","L","S","R","$","f","U","e","a","w","e","C","A","_","j","s","a","t","i","l","o","n","p","d","c","v","h","g","y","m","u","b","f","$","I","x","S","g","i","u","e","t","$","I","U","r","o","s","L"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}