UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 53.2 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3186,9875],{17311:(e,t,r)=>{r.d(t,{A:()=>y});var s=r(90237),i=r(69622),o=r(4576),n=r(60999),l=r(5503),a=r(10107),u=(r(44208),r(53966),r(40608)),p=r(30524),d=r(43668);let y=class extends i.A{constructor(e){super(e),this._featureUtils=null,this.effectivePopupTemplate=null}get _arcadeTask(){return this.expressionsUsedInTitle.length>0?this._get("_arcadeTask")||(0,n.UT)((()=>(0,d.l)())):null}get featureUtilsPromise(){return this._get("featureUtilsPromise")??Promise.all([r.e(4560),r.e(9926)]).then(r.bind(r,29926)).then((e=>this._featureUtils=e))}get calculatedExpressions(){const e=new l.A;if(!this.expressionsUsedInTitle.length)return e;if(!this._arcadeTask?.value){for(const t of this.expressionsUsedInTitle??[])e.push({name:t.name,invalid:!0});return e}for(const t of this.expressionsUsedInTitle)try{const r=this._arcadeTask.value.arcade.parseScript(t.expression,["$layer","$map","$datastore"]);if(r.isAsync){e.push({name:t.name,invalid:!0});break}e.push({name:t.name,syntax:r,invalid:!1,func:this._arcadeTask.value.arcade.compileScript(r,{vars:{$feature:"any"}})})}catch{e.push({name:t.name,invalid:!0});break}return e}get expressionsUsedInTitle(){let e=this.effectivePopupTemplate?.title??"";return"string"!=typeof e?[]:(e=e.toLowerCase(),this.effectivePopupTemplate?.expressionInfos?.filter((t=>e.includes(`{expression/${t.name.toLowerCase()}}`)))??[])}get fieldInfoMap(){return this._featureUtils?this._createFieldInfoMap(this._featureUtils.getAllFieldInfos(this.effectivePopupTemplate)):null}get hasBadExpressions(){return this.calculatedExpressions.some((e=>!0===e.invalid))}get requiredFields(){const e=new Set;if(this._arcadeTask?.value&&!this.hasBadExpressions)for(const t of this.calculatedExpressions?.toArray()??[])try{const r=this._arcadeTask.value.arcade.extractFieldLiterals(t.syntax);for(const t of r){const r=t.split("."),s=this.fieldsIndex.get(r.at(-1)??"");s&&e.add(s.name)}}catch{}const t=this._extractFieldNames(this.workingTitle);for(const r of t){const t=this.fieldsIndex.get(r);t&&e.add(t.name)}return null!=this.objectIdField&&e.add(this.objectIdField),e}get titleFromDisplayField(){let e="";return this.displayField&&(e=this.fieldsIndex.get(this.displayField)?.name??""),e||(e=this.fieldsIndex.get(this.objectIdField)?.name??""),e?`{${e}}`:""}get workingTitle(){const e=this.effectivePopupTemplate?this.effectivePopupTemplate.title:"";return""===e||null==e||this.hasBadExpressions||"string"!=typeof e?this.titleFromDisplayField:e}async getTitle(e,t,r){const s=t.getObjectId()??t.attributes[e.objectIdField];return(await this.getTitles(e,[t],r)).get(s)??""}async getTitles(e,t,r){const s=new Map,i=r?.timeZone??"system";try{const[{substituteFieldsInLinksAndAttributes:o}]=await Promise.all([this.featureUtilsPromise,this._arcadeTask?.promise]);r?.fetchMissingFields&&(t=await this._checkAndReQueryGraphics(e,t));const{fieldInfoMap:n,workingTitle:l}=this,a=l&&n;t.forEach((t=>{const r=t.getObjectId()??t.attributes[e.objectIdField],u=a?o({attributes:t.attributes,expressionAttributes:null,fieldInfoMap:n,globalAttributes:this._createFormattedAttributes(e,t,i).global,layer:e,text:l}):"";s.set(r,u)}))}catch{}return s}async _checkAndReQueryGraphics(e,t){const r=t.map((t=>t.getObjectId()??t.attributes[e.objectIdField])).filter(o.Ru);if(r.length!==t.length)return t;if(t.some((e=>!(0,p.Kl)(e,this.requiredFields)))){const s=e.createQuery();s.where="1=1",s.outFields=[...this.requiredFields],s.objectIds=r;const i=await e.queryFeatures(s);if(i?.features.length===t.length)return i.features}return t}_createFieldInfoMap(e){const t=new Map;if(!e)return t;for(const r of e){if(!r.fieldName)continue;const e=this.fieldsIndex.get(r.fieldName),s=e?.name??r.fieldName;r.fieldName=s,t.set(s.toLowerCase(),r)}return t}_createFormattedAttributes(e,t,r="system"){const s=this.effectivePopupTemplate?.fieldInfos??[],i={};if(!this._featureUtils)return{};if(!this.hasBadExpressions&&this.calculatedExpressions.length>0&&this._arcadeTask?.value){const r=this._arcadeTask.value.Feature.createFromGraphicLikeObject(t.geometry,t.attributes,e,null);for(const e of this.calculatedExpressions)try{i[`expression/${e.name}`]=e.func({vars:{$feature:r}})}catch{}}const o={...t.attributes,...i};return{global:this._featureUtils.formatAttributes({fieldInfos:s,attributes:o,graphic:t,timeZone:r,layer:e,fieldInfoMap:this.fieldInfoMap}),content:[]}}_extractFieldNames(e){return(0,p.nw)(e).filter((e=>!(0===e.indexOf("relationships/")||0===e.indexOf("expression/"))))}};(0,s._)([(0,a.MZ)({readOnly:!0})],y.prototype,"_arcadeTask",null),(0,s._)([(0,a.MZ)()],y.prototype,"_featureUtils",void 0),(0,s._)([(0,a.MZ)({readOnly:!0})],y.prototype,"featureUtilsPromise",null),(0,s._)([(0,a.MZ)({readOnly:!0})],y.prototype,"calculatedExpressions",null),(0,s._)([(0,a.MZ)()],y.prototype,"displayField",void 0),(0,s._)([(0,a.MZ)()],y.prototype,"effectivePopupTemplate",void 0),(0,s._)([(0,a.MZ)()],y.prototype,"expressionsUsedInTitle",null),(0,s._)([(0,a.MZ)()],y.prototype,"fieldsIndex",void 0),(0,s._)([(0,a.MZ)()],y.prototype,"fieldInfoMap",null),(0,s._)([(0,a.MZ)()],y.prototype,"fields",void 0),(0,s._)([(0,a.MZ)()],y.prototype,"objectIdField",void 0),(0,s._)([(0,a.MZ)()],y.prototype,"requiredFields",null),y=(0,s._)([(0,u.$)("esri.layers.support.TitleCreator")],y)},22671:(e,t,r)=>{r.d(t,{A:()=>_});var s,i=r(90237),o=r(52106),n=r(66552),l=r(25482),a=r(4718),u=r(10107),p=(r(44208),r(53966),r(36005)),d=r(40608),y=r(43937),c=r(16930),h=r(65864),f=r(50498),m=r(20437);const g=new n.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let _=s=class extends l.A{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,o.A)}writeGeometryType(e,t,r,s){if(e)return void g.write(e,t,r,s);const{features:i}=this;if(i)for(const e of i)if(null!=e?.geometry)return void g.write(e.geometry.type,t,r,s)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,s=(0,h.rS)(e);return s&&!r&&t.spatialReference&&(s.spatialReference=c.A.fromJSON(t.spatialReference)),s}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new s(this.cloneProperties())}cloneProperties(){return(0,a.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const s=t.features[r];if(s.geometry){const t=e?.[r];s.geometry=t?.toJSON()||s.geometry}}return t}quantize(e){const{scale:[t,r],translate:[s,i]}=e,o=this.features,n=this._getQuantizationFunction(this.geometryType,(e=>Math.round((e-s)/t)),(e=>Math.round((i-e)/r)));for(let e=0,t=o.length;e<t;e++)n?.(o[e].geometry)||(o.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[s,i],scale:[o,n]}=r;let l=null,a=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;l=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;a=r=>null==r?r:r*t+e}const u=this._getHydrationFunction(e,(e=>e*o+s),(e=>i-e*n),l,a);for(const{geometry:e}of t)null!=e&&u&&u(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const s=c.A.fromJSON(t.spatialReference),i=[];for(let t=0;t<e.length;t++){const o=e[t],n=r.fromJSON(o),l=o.geometry?.spatialReference;null==n.geometry||l||(n.geometry.spatialReference=s);const a=o.aggregateGeometries,u=n.aggregateGeometries;if(a&&null!=u)for(const e in u){const t=u[e],r=a[e],i=r?.spatialReference;null==t||i||(t.spatialReference=s)}i.push(n)}return i}_quantizePoints(e,t,r){let s,i;const o=[];for(let n=0,l=e.length;n<l;n++){const l=e[n];if(n>0){const e=t(l[0]),n=r(l[1]);e===s&&n===i||(o.push([e-s,n-i]),s=e,i=n)}else s=t(l[0]),i=r(l[1]),o.push([s,i])}return o.length>0?o:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const s=(0,h.Bi)(e)?e.rings:e.paths,i=[];for(let e=0,o=s.length;e<o;e++){const o=s[e],n=this._quantizePoints(o,t,r);n&&i.push(n)}return i.length>0?((0,h.Bi)(e)?e.rings=i:e.paths=i,e):null}:"multipoint"===e?e=>{const s=this._quantizePoints(e.points,t,r);return s&&s.length>0?(e.points=s,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,s,i){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),s&&(e.z=s(e.z))}:"polyline"===e||"polygon"===e?e=>{const o=(0,h.Bi)(e)?e.rings:e.paths;let n,l;for(let e=0,s=o.length;e<s;e++){const s=o[e];for(let e=0,i=s.length;e<i;e++){const i=s[e];e>0?(n+=i[0],l+=i[1]):(n=i[0],l=i[1]),i[0]=t(n),i[1]=r(l)}}if(s&&i)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=s(r[2]),r[3]=i(r[3])}}else if(s)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=s(r[2])}}else if(i)for(let e=0,t=o.length;e<t;e++){const t=o[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),s&&null!=e.zmax&&null!=e.zmin&&(e.zmax=s(e.zmax),e.zmin=s(e.zmin)),i&&null!=e.mmax&&null!=e.mmin&&(e.mmax=i(e.mmax),e.mmin=i(e.mmin))}:"multipoint"===e?e=>{const o=e.points;let n,l;for(let e=0,s=o.length;e<s;e++){const s=o[e];e>0?(n+=s[0],l+=s[1]):(n=s[0],l=s[1]),s[0]=t(n),s[1]=r(l)}if(s&&i)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=s(t[2]),t[3]=i(t[3])}else if(s)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=s(t[2])}else if(i)for(let e=0,t=o.length;e<t;e++){const t=o[e];t[2]=i(t[2])}}:null}};(0,i._)([(0,u.MZ)({type:String,json:{write:!0}})],_.prototype,"displayFieldName",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"exceededTransferLimit",void 0),(0,i._)([(0,u.MZ)({type:[o.A],json:{write:!0}})],_.prototype,"features",void 0),(0,i._)([(0,p.w)("features")],_.prototype,"readFeatures",null),(0,i._)([(0,u.MZ)({type:[m.A],json:{write:!0}})],_.prototype,"fields",void 0),(0,i._)([(0,u.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],_.prototype,"geometryType",void 0),(0,i._)([(0,y.K)("geometryType")],_.prototype,"writeGeometryType",null),(0,i._)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"hasM",void 0),(0,i._)([(0,u.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],_.prototype,"hasZ",void 0),(0,i._)([(0,u.MZ)({types:f.yR,json:{write:!0}})],_.prototype,"queryGeometry",void 0),(0,i._)([(0,p.w)("queryGeometry")],_.prototype,"readQueryGeometry",null),(0,i._)([(0,u.MZ)({type:c.A,json:{write:!0}})],_.prototype,"spatialReference",void 0),(0,i._)([(0,y.K)("spatialReference")],_.prototype,"writeSpatialReference",null),(0,i._)([(0,u.MZ)({json:{write:!0}})],_.prototype,"transform",void 0),_=s=(0,i._)([(0,d.$)("esri.rest.support.FeatureSet")],_),_.prototype.toJSON.isDefaultToJSON=!0},24212:(e,t,r)=>{function s(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?a:u}(e).mode}(null==e||(e.hasZ??!1),t)}function i(e,t,r){return r&&r.mode!==t?`${e} only support ${t} elevation mode`:null}function o(e,t,r){return r?.mode===t?`${e} do not support ${t} elevation mode`:null}function n(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function l(e,t){t&&e.warn(".elevationInfo=",t)}r.d(t,{$7:()=>o,B:()=>i,XF:()=>l,tW:()=>n,w7:()=>s}),r(83047),r(16271);const a={mode:"absolute-height",offset:0},u={mode:"on-the-ground",offset:null}},27865:(e,t,r)=>{r.d(t,{O9:()=>o,dw:()=>n,mj:()=>i});var s=r(59247);function i(e,t){const r=e.length>t.length?e:t;return(e.length>t.length?t:e).every(((e,t)=>e.type===r[t].type))}function o(e,t){const r=e.length>t.length?e:t,i=e.length>t.length?t:e;for(let e=i.length;e<r.length;e++)i.push((0,s.sK)(r[e]))}function n(e){const t=e[0];return!!t&&"type"in t}},32756:(e,t,r)=>{r.d(t,{Rr:()=>a,fY:()=>p,ne:()=>u});var s=r(90237),i=r(93637),o=r(10107),n=(r(44208),r(53966),r(87811),r(40608)),l=r(91880);function a(e,t,r){if(!e)return null;const s=e.find((e=>!!e.field));if(!s)return null;const i=new l.A;return i.read(s,r),[i]}const u={type:[l.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:a},write:{writer:function(e,t,r,s){const o=e.find((e=>!!e.field));o&&(0,i.sM)(r,[o.toJSON()],t)}}}},p=e=>{let t=class extends e{constructor(){super(...arguments),this.orderBy=null}};return(0,s._)([(0,o.MZ)(u)],t.prototype,"orderBy",void 0),t=(0,s._)([(0,n.$)("esri.layers.mixins.OrderedLayer")],t),t}},33143:(e,t,r)=>{r.d(t,{A:()=>y});var s=r(90237),i=r(69540),o=r(25482),n=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),a=r(40608),u=r(43937),p=r(80451),d=r(29005);let y=class extends(i.A.ClonableMixin(o.A)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,p.rS)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,s._)([(0,n.MZ)({json:{write:!0}})],y.prototype,"id",void 0),(0,s._)([(0,n.MZ)({json:{write:!0}})],y.prototype,"name",void 0),(0,s._)([(0,n.MZ)({json:{write:!0}})],y.prototype,"domains",void 0),(0,s._)([(0,l.w)("domains")],y.prototype,"readDomains",null),(0,s._)([(0,u.K)("domains")],y.prototype,"writeDomains",null),(0,s._)([(0,n.MZ)({type:[d.A],json:{write:!0}})],y.prototype,"templates",void 0),y=(0,s._)([(0,a.$)("esri.layers.support.FeatureType")],y)},38961:(e,t,r)=>{r.d(t,{A:()=>u});var s=r(90237),i=r(5503),o=r(36708),n=r(10107),l=r(40608),a=r(80559);let u=class extends i.A{constructor(e){super(e),this.getCollections=null}initialize(){this.addHandles((0,a.fm)((()=>this._refresh()),o.OH))}destroy(){this.getCollections=null}_refresh(){const e=null!=this.getCollections?this.getCollections():null;if(null==e)return void this.removeAll();let t=0;for(const r of e)null!=r&&(t=this._processCollection(t,r));this.splice(t)}_createNewInstance(e){return new i.A(e)}_processCollection(e,t){if(!t)return e;const r=this.itemFilterFunction??(e=>!!e);for(const s of t)if(s){if(r(s)){const t=this.indexOf(s,e);t>=0?t!==e&&this.reorder(s,e):this.add(s,e),++e}if(this.getChildrenFunction){const t=this.getChildrenFunction(s);if(Array.isArray(t))for(const r of t)e=this._processCollection(e,r);else e=this._processCollection(e,t)}}return e}};(0,s._)([(0,n.MZ)()],u.prototype,"getCollections",void 0),(0,s._)([(0,n.MZ)()],u.prototype,"getChildrenFunction",void 0),(0,s._)([(0,n.MZ)()],u.prototype,"itemFilterFunction",void 0),u=(0,s._)([(0,l.$)("esri.core.CollectionFlattener")],u)},41560:(e,t,r)=>{r.d(t,{Ch:()=>n,mW:()=>o});var s=r(34727),i=r(39516);function o(e,t){return{...t,filterMode:e.mode}}function n(e,t,r){const o=function(e){if("manual"===u(e))return null;const t=[Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY];for(const{minScale:r,maxScale:s}of e.filters)t[0]=Math.max(t[0],p(r)),t[1]=Math.min(t[1],d(s));return t}(e);if(o&&((0,s.gg)(t,o[0])||(0,s.ZH)(r,o[1])))return"";const n=Array.from(l(e,t,r)),a=function(e,t,r){if(0===e.length)return!0;const i=p(e.at(0)?.minScale),o=d(e.at(-1)?.maxScale);if((0,s.ZH)(i,t)||(0,s.gg)(o,r))return!0;for(let t=0;t<e.length-1;t++){const r=e[t],i=e[t+1];if((0,s.ZH)(p(i.minScale),d(r.maxScale)))return!0}return!1}(n,t,r)?"1=1":n.map((e=>e.where||"1=1")).reduce(((e,t)=>(0,i.IW)(e,t)),"");return a&&"1=1"!==a?a:""}function*l(e,t,r){if("manual"===u(e)){const t=e.filters.find((t=>t.id===e.activeFilterId));t&&(yield t)}else{"object"==typeof t&&(t=t.scale);for(const s of e.filters)a(s.minScale,s.maxScale,t,r)&&(yield s)}}function a(e,t,r,i){return e=p(e),r=p(r),t=d(t),!(!(0,s.Sp)(r,e)&&(i??r)>e||(0,s.Hx)(t,r)||void 0!==i&&(0,s.Sp)(i,e))}function u(e){return"mode"in e?e.mode:e.filterMode}function p(e){return e||Number.POSITIVE_INFINITY}function d(e){return e||0}},45671:(e,t,r)=>{r.d(t,{D8:()=>o,TO:()=>i});var s=r(30524);async function i(e,t=e.popupTemplate){if(null==t)return[];const r=await t.getRequiredFields(e.fieldsIndex),{lastEditInfoEnabled:i}=t,{objectIdField:o,typeIdField:n,globalIdField:l,relationships:a}=e;if(r.includes("*"))return["*"];const u=i?(0,s.eX)(e):[],p=(0,s.DB)(e.fieldsIndex,[...r,...u]);return n&&p.push(n),p&&o&&e.fieldsIndex?.has(o)&&!p.includes(o)&&p.push(o),p&&l&&e.fieldsIndex?.has(l)&&!p.includes(l)&&p.push(l),a&&a.forEach((t=>{const{keyField:r}=t;p&&r&&e.fieldsIndex?.has(r)&&!p.includes(r)&&p.push(r)})),p}function o(e,t){return e.popupTemplate?e.popupTemplate:null!=t&&t.defaultPopupTemplateEnabled&&null!=e.defaultPopupTemplate?e.defaultPopupTemplate:null}},50805:(e,t,r)=>{r.d(t,{L0:()=>g,Ot:()=>c,W4:()=>a,uV:()=>d});var s=r(90237),i=r(25482),o=r(10107),n=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);let a=class extends i.A{constructor(){super(...arguments),this.nodesPerPage=null,this.rootIndex=0,this.lodSelectionMetricType=null}};(0,s._)([(0,o.MZ)({type:Number})],a.prototype,"nodesPerPage",void 0),(0,s._)([(0,o.MZ)({type:Number})],a.prototype,"rootIndex",void 0),(0,s._)([(0,o.MZ)({type:String})],a.prototype,"lodSelectionMetricType",void 0),a=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SNodePageDefinition")],a);let u=class extends i.A{constructor(){super(...arguments),this.factor=1}};(0,s._)([(0,o.MZ)({type:Number,json:{read:{source:"textureSetDefinitionId"}}})],u.prototype,"id",void 0),(0,s._)([(0,o.MZ)({type:Number})],u.prototype,"factor",void 0),u=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialTexture")],u);let p=class extends i.A{constructor(){super(...arguments),this.baseColorFactor=[1,1,1,1],this.baseColorTexture=null,this.metallicRoughnessTexture=null,this.metallicFactor=1,this.roughnessFactor=1}};(0,s._)([(0,o.MZ)({type:[Number]})],p.prototype,"baseColorFactor",void 0),(0,s._)([(0,o.MZ)({type:u})],p.prototype,"baseColorTexture",void 0),(0,s._)([(0,o.MZ)({type:u})],p.prototype,"metallicRoughnessTexture",void 0),(0,s._)([(0,o.MZ)({type:Number})],p.prototype,"metallicFactor",void 0),(0,s._)([(0,o.MZ)({type:Number})],p.prototype,"roughnessFactor",void 0),p=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialPBRMetallicRoughness")],p);let d=class extends i.A{constructor(){super(...arguments),this.alphaMode="opaque",this.alphaCutoff=.25,this.doubleSided=!1,this.cullFace="none",this.normalTexture=null,this.occlusionTexture=null,this.emissiveTexture=null,this.emissiveFactor=null,this.pbrMetallicRoughness=null}};(0,s._)([(0,n.e)({opaque:"opaque",mask:"mask",blend:"blend"})],d.prototype,"alphaMode",void 0),(0,s._)([(0,o.MZ)({type:Number})],d.prototype,"alphaCutoff",void 0),(0,s._)([(0,o.MZ)({type:Boolean})],d.prototype,"doubleSided",void 0),(0,s._)([(0,n.e)({none:"none",back:"back",front:"front"})],d.prototype,"cullFace",void 0),(0,s._)([(0,o.MZ)({type:u})],d.prototype,"normalTexture",void 0),(0,s._)([(0,o.MZ)({type:u})],d.prototype,"occlusionTexture",void 0),(0,s._)([(0,o.MZ)({type:u})],d.prototype,"emissiveTexture",void 0),(0,s._)([(0,o.MZ)({type:[Number]})],d.prototype,"emissiveFactor",void 0),(0,s._)([(0,o.MZ)({type:p})],d.prototype,"pbrMetallicRoughness",void 0),d=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SMaterialDefinition")],d);let y=class extends i.A{};(0,s._)([(0,o.MZ)({type:String,json:{read:{source:["name","index"],reader:(e,t)=>null!=e?e:`${t.index}`}}})],y.prototype,"name",void 0),(0,s._)([(0,n.e)({jpg:"jpg",png:"png",dds:"dds","ktx-etc2":"ktx-etc2",ktx2:"ktx2",basis:"basis"})],y.prototype,"format",void 0),y=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3STextureFormat")],y);let c=class extends i.A{constructor(){super(...arguments),this.atlas=!1}};(0,s._)([(0,o.MZ)({type:[y]})],c.prototype,"formats",void 0),(0,s._)([(0,o.MZ)({type:Boolean})],c.prototype,"atlas",void 0),c=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3STextureSetDefinition")],c);let h=class extends i.A{};(0,s._)([(0,n.e)({Float32:"Float32",UInt64:"UInt64",UInt32:"UInt32",UInt16:"UInt16",UInt8:"UInt8"})],h.prototype,"type",void 0),(0,s._)([(0,o.MZ)({type:Number})],h.prototype,"component",void 0),h=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryAttribute")],h);let f=class extends i.A{};(0,s._)([(0,n.e)({draco:"draco"})],f.prototype,"encoding",void 0),(0,s._)([(0,o.MZ)({type:[String]})],f.prototype,"attributes",void 0),f=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryCompressedAttributes")],f);let m=class extends i.A{constructor(){super(...arguments),this.offset=0}};(0,s._)([(0,o.MZ)({type:Number})],m.prototype,"offset",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"position",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"normal",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"uv0",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"color",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"uvRegion",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"featureId",void 0),(0,s._)([(0,o.MZ)({type:h})],m.prototype,"faceRange",void 0),(0,s._)([(0,o.MZ)({type:f})],m.prototype,"compressedAttributes",void 0),m=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryBuffer")],m);let g=class extends i.A{};(0,s._)([(0,n.e)({triangle:"triangle"})],g.prototype,"topology",void 0),(0,s._)([(0,o.MZ)()],g.prototype,"geometryBuffers",void 0),g=(0,s._)([(0,l.$)("esri.layers.support.I3SLayerDefinitions.I3SGeometryDefinition")],g)},58501:(e,t,r)=>{r.d(t,{q:()=>i});var s=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,s.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},59247:(e,t,r)=>{r.d(t,{bv:()=>a,Fk:()=>u,yG:()=>p,$b:()=>d,Nd:()=>y,jm:()=>c,sK:()=>m});var s=r(40876),i=r(90629);function o(){const e=new Float32Array(16);return e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}const n=o();Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:n,clone:function(e){const t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},create:o,fromValues:function(e,t,r,s,i,o,n,l,a,u,p,d,y,c,h,f){const m=new Float32Array(16);return m[0]=e,m[1]=t,m[2]=r,m[3]=s,m[4]=i,m[5]=o,m[6]=n,m[7]=l,m[8]=a,m[9]=u,m[10]=p,m[11]=d,m[12]=y,m[13]=c,m[14]=h,m[15]=f,m}},Symbol.toStringTag,{value:"Module"}));var l=r(58083);class a{constructor(e,t,r){this.strength=e,this.radius=t,this.threshold=r,this.type="bloom"}interpolate(e,t,r){this.strength=h(e.strength,t.strength,r),this.radius=h(e.radius,t.radius,r),this.threshold=h(e.threshold,t.threshold,r)}clone(){return new a(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:f(this.radius),strength:this.strength,threshold:this.threshold}}}class u{constructor(e){this.radius=e,this.type="blur"}interpolate(e,t,r){this.radius=Math.round(h(e.radius,t.radius,r))}clone(){return new u(this.radius)}toJSON(){return{type:"blur",radius:f(this.radius)}}}class p{constructor(e,t){this.type=e,this.amount=t,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.amount=h(e.amount,t.amount,r),this._updateMatrix()}clone(){return new p(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const e=this._colorMatrix||o();switch(this.type){case"brightness":this._colorMatrix=((e,t)=>{const r=(0,l.hZ)(e,t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1);return(0,l.mg)(r,r)})(e,this.amount);break;case"contrast":this._colorMatrix=((e,t)=>{const r=(0,l.hZ)(e,t,0,0,.5-.5*t,0,t,0,.5-.5*t,0,0,t,.5-.5*t,0,0,0,1);return(0,l.mg)(r,r)})(e,this.amount);break;case"grayscale":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,l.hZ)(e,.2126+.7874*t,.7152-.7152*t,.0722-.0722*t,0,.2126-.2126*t,.7152+.2848*t,.0722-.0722*t,0,.2126-.2126*t,.7152-.7152*t,.0722+.9278*t,0,0,0,0,1);return(0,l.mg)(r,r)})(e);break;case"invert":this._colorMatrix=((e,t)=>{const r=1-2*t,s=(0,l.hZ)(e,r,0,0,t,0,r,0,t,0,0,r,t,0,0,0,1);return(0,l.mg)(s,s)})(e,this.amount);break;case"saturate":this._colorMatrix=((e,t)=>{const r=(0,l.hZ)(e,.213+.787*t,.715-.715*t,.072-.072*t,0,.213-.213*t,.715+.285*t,.072-.072*t,0,.213-.213*t,.715-.715*t,.072+.928*t,0,0,0,0,1);return(0,l.mg)(r,r)})(e,this.amount);break;case"sepia":this._colorMatrix=(e=>{const t=1-this.amount,r=(0,l.hZ)(e,.393+.607*t,.769-.769*t,.189-.189*t,0,.349-.349*t,.686+.314*t,.168-.168*t,0,.272-.272*t,.534-.534*t,.131+.869*t,0,0,0,0,1);return(0,l.mg)(r,r)})(e)}}}class d{constructor(e,t,r,s){this.offsetX=e,this.offsetY=t,this.blurRadius=r,this.color=s,this.type="drop-shadow"}interpolate(e,t,r){this.offsetX=h(e.offsetX,t.offsetX,r),this.offsetY=h(e.offsetY,t.offsetY,r),this.blurRadius=h(e.blurRadius,t.blurRadius,r),this.color[0]=Math.round(h(e.color[0],t.color[0],r)),this.color[1]=Math.round(h(e.color[1],t.color[1],r)),this.color[2]=Math.round(h(e.color[2],t.color[2],r)),this.color[3]=h(e.color[3],t.color[3],r)}clone(){return new d(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const e=[...this.color];return e[3]*=255,{type:"drop-shadow",xoffset:f(this.offsetX),yoffset:f(this.offsetY),blurRadius:f(this.blurRadius),color:e}}}class y{constructor(e){this.angle=e,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(e,t,r){this.angle=h(e.angle,t.angle,r),this._updateMatrix()}clone(){return new y(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const e=this._colorMatrix||o();this._colorMatrix=((e,t)=>{const r=Math.sin(t*Math.PI/180),s=Math.cos(t*Math.PI/180),i=(0,l.hZ)(e,.213+.787*s-.213*r,.715-.715*s-.715*r,.072-.072*s+.928*r,0,.213-.213*s+.143*r,.715+.285*s+.14*r,.072-.072*s-.283*r,0,.213-.213*s-.787*r,.715-.715*s+.715*r,.072+.928*s+.072*r,0,0,0,0,1);return(0,l.mg)(i,i)})(e,this.angle)}}class c{constructor(e){this.amount=e,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(e,t,r){this.amount=h(e.amount,t.amount,r)}clone(){return new c(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function h(e,t,r){return e+(t-e)*r}function f(e){return Math.round(1e3*(0,i.PN)(e))/1e3}function m(e){switch(e.type){case"grayscale":case"sepia":case"invert":return new p(e.type,0);case"saturate":case"brightness":case"contrast":return new p(e.type,1);case"opacity":return new c(1);case"hue-rotate":return new y(0);case"blur":return new u(0);case"drop-shadow":return new d(0,0,0,[...(0,s.TS)("transparent")]);case"bloom":return new a(0,0,1)}}},81583:(e,t,r)=>{r.d(t,{L:()=>l,g:()=>n});var s=r(60999),i=r(5503),o=r(92474);async function n(e,t){return await e.load(),l(e,t)}async function l(e,t){const r=[],n=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?n(...t):i.A.isCollection(t)?t.forEach((e=>n(e))):o.A.isLoadable(t)&&r.push(t))};t(n);let l=null;if(await(0,s.Tj)(r,(async e=>{const t=await(0,s.Ke)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||l||(l=t)})),l)throw l.error;return e}},88303:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Ye});var s=r(90237),i=r(5503),o=r(38961),n=r(49186),l=r(36563),a=r(4718),u=r(81583),p=r(53966),d=r(92071),y=r(74887),c=r(36708),h=r(84952),f=r(10107),m=(r(44208),r(36005)),g=r(40608),_=r(16930),v=r(4146),b=r(52106),M=r(13874),w=r(78888),x=r(66552),S=r(92474),Z=r(61893),I=(r(87811),r(93223)),A=r(5443),F=r(13600),T=r(4902),O=r(56507),j=r(10873);let L=class extends(T.A.IdentifiableMixin(d.L)){constructor(e){super(e),this.title="",this.id=-1,this.modelName=null,this.isEmpty=null,this.legendEnabled=!0,this.visible=!0,this.opacity=1}readTitle(e,t){return"string"==typeof t.alias?t.alias:"string"==typeof t.name?t.name:""}readIdOnlyOnce(e){return-1!==this.id?this.id:"number"==typeof e?e:-1}};(0,s._)([(0,f.MZ)({type:String,json:{origins:{"web-scene":{write:!0},"portal-item":{write:!0}}}})],L.prototype,"title",void 0),(0,s._)([(0,m.w)("service","title",["alias","name"])],L.prototype,"readTitle",null),(0,s._)([(0,f.MZ)()],L.prototype,"layer",void 0),(0,s._)([(0,f.MZ)({type:O.jz,readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,isRequired:!0}}})],L.prototype,"id",void 0),(0,s._)([(0,m.w)("service","id")],L.prototype,"readIdOnlyOnce",null),(0,s._)([(0,f.MZ)((0,j.Qo)(String))],L.prototype,"modelName",void 0),(0,s._)([(0,f.MZ)((0,j.Qo)(Boolean))],L.prototype,"isEmpty",void 0),(0,s._)([(0,f.MZ)({type:Boolean,nonNullable:!0})],L.prototype,"legendEnabled",void 0),(0,s._)([(0,f.MZ)({type:Boolean,json:{name:"visibility",write:!0}})],L.prototype,"visible",void 0),(0,s._)([(0,f.MZ)({type:Number,json:{write:!0}})],L.prototype,"opacity",void 0),L=(0,s._)([(0,g.$)("esri.layers.buildingSublayers.BuildingSublayer")],L);var P=r(4071),N=r(15426),R=r(17036),E=r(95466),k=r(30524),B=r(83898),q=r(50805),$=r(41214),C=r(61956),D=r(54218),U=r(30291),Q=r(88625),G=r(40879),J=r(45671);const K=(0,R.p)();let V=class extends(S.A.LoadableMixin(Z.A.EsriPromiseMixin(L))){constructor(e){super(e),this.type="building-component",this.nodePages=null,this.materialDefinitions=[],this.textureSetDefinitions=[],this.geometryDefinitions=[],this.indexInfo=null,this.serviceUpdateTimeStamp=null,this.store=null,this.attributeStorageInfo=[],this.fields=[],this.associatedLayer=null,this.outFields=null,this.listMode="show",this.renderer=null,this.definitionExpression=null,this.popupEnabled=!0,this.popupTemplate=null,this.layerType="3d-object"}get parsedUrl(){return this.layer?{path:`${this.layer.parsedUrl?.path}/sublayers/${this.id}`,query:this.layer.parsedUrl?.query}:{path:""}}get fieldsIndex(){return new E.A(this.fields)}readAssociatedLayer(e,t){const r=this.layer.associatedFeatureServiceItem,s=t.associatedLayerID;return null!=r&&"number"==typeof s?new F.default({portalItem:r,customParameters:this.customParameters,layerId:s}):null}get objectIdField(){if(null!=this.fields)for(const e of this.fields)if("oid"===e.type)return e.name;return""}get globalIdField(){if(null!=this.fields)for(const e of this.fields)if("global-id"===e.type)return e.name;return""}get displayField(){return null!=this.associatedLayer?this.associatedLayer.displayField:void 0}get apiKey(){return this.layer.apiKey}get customParameters(){return this.layer.customParameters}get fullExtent(){return this.layer.fullExtent}get spatialReference(){return this.layer.spatialReference}get version(){return this.layer.version}get elevationInfo(){return this.layer.elevationInfo}get minScale(){return this.layer.minScale}get maxScale(){return this.layer.maxScale}get effectiveScaleRange(){return this.layer.effectiveScaleRange}get defaultPopupTemplate(){return this.createPopupTemplate()}load(e){const t=null!=e?e.signal:null,r=this._fetchService(t).then((()=>{this.indexInfo=(0,B.F)(this.parsedUrl.path,this.rootNode,this.nodePages,this.customParameters,this.apiKey,p.A.getLogger(this),t)}));return this.addResolvingPromise(r),Promise.resolve(this)}createPopupTemplate(e){return(0,U.tn)(this,e)}async _fetchService(e){const t=(await(0,w.A)(this.parsedUrl.path,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,{origin:"service",url:this.parsedUrl})}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){const r=this.getField(e)?.domain??null;return this.associatedLayer?(0,N.Vq)(this.associatedLayer,e,t,r):r}getFeatureType(e){return e&&null!=this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return null!=this.associatedLayer?this.associatedLayer.types??[]:[]}get typeIdField(){return null!=this.associatedLayer?this.associatedLayer.typeIdField:null}get geometryType(){return"3d-object"===this.layerType?"mesh":"point"}get profile(){return"3d-object"===this.layerType?"mesh-pyramids":"points"}get capabilities(){const e=null!=this.associatedLayer&&this.associatedLayer.capabilities?this.associatedLayer.capabilities:P.P,{query:t,operations:{supportsQuery:r},data:{supportsZ:s,supportsM:i,isVersioned:o}}=e;return{query:t,operations:{supportsQuery:r},data:{supportsZ:s,supportsM:i,isVersioned:o}}}createQuery(){const e=new C.A;return"mesh"!==this.geometryType&&(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||"1=1",e.sqlFormat="standard",e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryExtent(e||this.createQuery(),t)))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatureCount(e||this.createQuery(),t)))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then((r=>r.queryFeatures(e||this.createQuery(),t))).then((e=>{if(e?.features)for(const t of e.features)t.layer=this.layer,t.sourceLayer=this;return e}))}async queryObjectIds(e,t){const r=await this._getAssociatedLayerForQuery();return(await r.queryObjectIds(e||this.createQuery(),t)).filter(D.Et)}async queryCachedAttributes(e,t){const r=(0,k.hL)(this.fieldsIndex,await(0,J.TO)(this,(0,J.D8)(this)));return(0,G.s1)(this.parsedUrl.path,this.attributeStorageInfo,e,t,r,this.apiKey,this.customParameters)}async queryCachedFeature(e,t){const r=await this.queryCachedAttributes(e,[t]);if(!r||0===r.length)throw new n.A("scenelayer:feature-not-in-cached-data","Feature not found in cached data");return new b.A({attributes:r[0],layer:this,sourceLayer:this})}getFieldUsageInfo(e){return this.fieldsIndex.has(e)?{supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1}:{supportsLabelingInfo:!1,supportsRenderer:!0,supportsPopupTemplate:!0,supportsLayerQuery:null!=this.associatedLayer}}_getAssociatedLayerForQuery(){const e=this.associatedLayer;return null!=e&&e.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),null==this.associatedLayer)throw new n.A("buildingscenelayer:query-not-available","BuildingSceneLayer component layer queries are not available without an associated feature layer",{layer:this});try{await this.associatedLayer.load()}catch(e){throw new n.A("buildingscenelayer:query-not-available","BuildingSceneLayer associated feature layer could not be loaded",{layer:this,error:e})}return this.associatedLayer}};(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"parsedUrl",null),(0,s._)([(0,f.MZ)({type:q.W4,readOnly:!0})],V.prototype,"nodePages",void 0),(0,s._)([(0,f.MZ)({type:[q.uV],readOnly:!0})],V.prototype,"materialDefinitions",void 0),(0,s._)([(0,f.MZ)({type:[q.Ot],readOnly:!0})],V.prototype,"textureSetDefinitions",void 0),(0,s._)([(0,f.MZ)({type:[q.L0],readOnly:!0})],V.prototype,"geometryDefinitions",void 0),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"serviceUpdateTimeStamp",void 0),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"store",void 0),(0,s._)([(0,f.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],V.prototype,"rootNode",void 0),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"attributeStorageInfo",void 0),(0,s._)([(0,f.MZ)(K.fields)],V.prototype,"fields",void 0),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"fieldsIndex",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:F.default})],V.prototype,"associatedLayer",void 0),(0,s._)([(0,m.w)("service","associatedLayer",["associatedLayerID"])],V.prototype,"readAssociatedLayer",null),(0,s._)([(0,f.MZ)(K.outFields)],V.prototype,"outFields",void 0),(0,s._)([(0,f.MZ)({type:String,readOnly:!0})],V.prototype,"objectIdField",null),(0,s._)([(0,f.MZ)({type:String,readOnly:!0})],V.prototype,"globalIdField",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:String,json:{read:!1}})],V.prototype,"displayField",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:String})],V.prototype,"apiKey",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:String})],V.prototype,"customParameters",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:A.A})],V.prototype,"fullExtent",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:_.A})],V.prototype,"spatialReference",null),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"version",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:Q.A})],V.prototype,"elevationInfo",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:Number})],V.prototype,"minScale",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:Number})],V.prototype,"maxScale",null),(0,s._)([(0,f.MZ)({readOnly:!0,type:Number})],V.prototype,"effectiveScaleRange",null),(0,s._)([(0,f.MZ)({type:["hide","show"],json:{write:!0}})],V.prototype,"listMode",void 0),(0,s._)([(0,f.MZ)({types:$.XJ,json:{origins:{service:{read:{source:"drawingInfo.renderer"}}},name:"layerDefinition.drawingInfo.renderer",write:!0},value:null})],V.prototype,"renderer",void 0),(0,s._)([(0,f.MZ)({type:String,json:{origins:{service:{read:!1,write:!1}},name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],V.prototype,"definitionExpression",void 0),(0,s._)([(0,f.MZ)(j.M6)],V.prototype,"popupEnabled",void 0),(0,s._)([(0,f.MZ)({type:M.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],V.prototype,"popupTemplate",void 0),(0,s._)([(0,f.MZ)({readOnly:!0,type:String,json:{origins:{service:{read:{source:"store.normalReferenceFrame"}}},read:!1}})],V.prototype,"normalReferenceFrame",void 0),(0,s._)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],V.prototype,"defaultPopupTemplate",null),(0,s._)([(0,f.MZ)()],V.prototype,"types",null),(0,s._)([(0,f.MZ)()],V.prototype,"typeIdField",null),(0,s._)([(0,f.MZ)({json:{write:!1}}),(0,I.e)(new x.J({"3DObject":"3d-object",Point:"point"}))],V.prototype,"layerType",void 0),(0,s._)([(0,f.MZ)()],V.prototype,"geometryType",null),(0,s._)([(0,f.MZ)()],V.prototype,"profile",null),(0,s._)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],V.prototype,"capabilities",null),(0,s._)([(0,f.MZ)({readOnly:!0})],V.prototype,"statisticsInfo",void 0),V=(0,s._)([(0,g.$)("esri.layers.buildingSublayers.BuildingComponentSublayer")],V);const z=V;var X,H=r(67076);const Y={type:i.A,readOnly:!0,json:{origins:{service:{read:{source:"sublayers",reader:W}}},read:!1}};function W(e,t,r){if(e&&Array.isArray(e))return new i.A(e.map((e=>{const t=function(e){return"group"===e.layerType?ee:z}(e);if(t){const s=new t;return s.read(e,r),s}return r?.messages&&e&&r.messages.push(new H.A("building-scene-layer:unsupported-sublayer-type","Building scene sublayer of type '"+(e.type||"unknown")+"' are not supported",{definition:e,context:r})),null})))}let ee=X=class extends L{constructor(e){super(e),this.type="building-group",this.listMode="show",this.sublayers=null}loadAll(){return(0,u.L)(this,(e=>X.forEachSublayer(this.sublayers,(t=>{"building-group"!==t.type&&e(t)}))))}};var te;(0,s._)([(0,f.MZ)({type:["hide","show","hide-children"],json:{write:!0}})],ee.prototype,"listMode",void 0),(0,s._)([(0,f.MZ)(Y)],ee.prototype,"sublayers",void 0),ee=X=(0,s._)([(0,g.$)("esri.layers.buildingSublayers.BuildingGroupSublayer")],ee),(te=ee||(ee={})).sublayersProperty=Y,te.readSublayers=W,te.forEachSublayer=function e(t,r){t.forEach((t=>{r(t),"building-group"===t.type&&e(t.sublayers,r)}))};var re=r(52136),se=r(18768),ie=r(69208),oe=r(16131),ne=r(8303),le=r(25036),ae=r(58947),ue=r(92009),pe=r(25482),de=r(13069);let ye=class extends pe.A{constructor(){super(...arguments),this.type=null}};(0,s._)([(0,f.MZ)({type:String,readOnly:!0,json:{write:{isRequired:!0}}})],ye.prototype,"type",void 0),ye=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterAuthoringInfo")],ye);const ce=ye;var he;let fe=he=class extends pe.A{constructor(){super(...arguments),this.filterType=null,this.filterValues=null}clone(){return new he({filterType:this.filterType,filterValues:(0,a.o8)(this.filterValues)})}};(0,s._)([(0,f.MZ)({type:String,json:{write:{isRequired:!0}}})],fe.prototype,"filterType",void 0),(0,s._)([(0,f.MZ)({type:[String],json:{write:{isRequired:!0}}})],fe.prototype,"filterValues",void 0),fe=he=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterAuthoringInfoType")],fe);const me=fe;var ge;const _e=i.A.ofType(me);let ve=ge=class extends pe.A{clone(){return new ge({filterTypes:(0,a.o8)(this.filterTypes)})}};(0,s._)([(0,f.MZ)({type:_e,json:{write:{isRequired:!0}}})],ve.prototype,"filterTypes",void 0),ve=ge=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterAuthoringInfoBlock")],ve);const be=ve;var Me;const we=i.A.ofType(be);let xe=Me=class extends ce{constructor(){super(...arguments),this.type="checkbox"}clone(){return new Me({filterBlocks:(0,a.o8)(this.filterBlocks)})}};(0,s._)([(0,f.MZ)({type:["checkbox"]})],xe.prototype,"type",void 0),(0,s._)([(0,f.MZ)({type:we,json:{write:{isRequired:!0}}})],xe.prototype,"filterBlocks",void 0),xe=Me=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterAuthoringInfoCheckbox")],xe);const Se=xe;let Ze=class extends pe.A{};(0,s._)([(0,f.MZ)({readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],Ze.prototype,"type",void 0),Ze=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterMode")],Ze);const Ie=Ze;var Ae;let Fe=Ae=class extends Ie{constructor(){super(...arguments),this.type="solid"}clone(){return new Ae}};(0,s._)([(0,f.MZ)({type:["solid"],readOnly:!0,json:{write:{isRequired:!0}}})],Fe.prototype,"type",void 0),Fe=Ae=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterModeSolid")],Fe);const Te=Fe;var Oe,je=r(51734);let Le=Oe=class extends Ie{constructor(){super(...arguments),this.type="wire-frame",this.edges=null}clone(){return new Oe({edges:(0,a.o8)(this.edges)})}};(0,s._)([(0,I.e)({wireFrame:"wire-frame"})],Le.prototype,"type",void 0),(0,s._)([(0,f.MZ)(je.J)],Le.prototype,"edges",void 0),Le=Oe=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterModeWireFrame")],Le);const Pe=Le;var Ne;let Re=Ne=class extends Ie{constructor(){super(...arguments),this.type="x-ray"}clone(){return new Ne}};(0,s._)([(0,f.MZ)({type:["x-ray"],readOnly:!0,json:{write:{isRequired:!0}}})],Re.prototype,"type",void 0),Re=Ne=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterModeXRay")],Re);const Ee=Re;var ke;const Be={nonNullable:!0,types:{key:"type",base:Ie,typeMap:{solid:Te,"wire-frame":Pe,"x-ray":Ee}},json:{read:e=>{switch(e?.type){case"solid":return Te.fromJSON(e);case"wireFrame":return Pe.fromJSON(e);case"x-ray":return Ee.fromJSON(e);default:return}},write:{enabled:!0,isRequired:!0}}};let qe=ke=class extends pe.A{constructor(){super(...arguments),this.filterExpression=null,this.filterMode=new Te,this.title=""}clone(){return new ke({filterExpression:this.filterExpression,filterMode:(0,a.o8)(this.filterMode),title:this.title})}};(0,s._)([(0,f.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"filterExpression",void 0),(0,s._)([(0,f.MZ)(Be)],qe.prototype,"filterMode",void 0),(0,s._)([(0,f.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],qe.prototype,"title",void 0),qe=ke=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilterBlock")],qe);const $e=qe;var Ce;const De=i.A.ofType($e);let Ue=Ce=class extends pe.A{constructor(){super(...arguments),this.description=null,this.filterBlocks=null,this.id=(0,de.lk)(),this.name=null}clone(){return new Ce({description:this.description,filterBlocks:(0,a.o8)(this.filterBlocks),id:this.id,name:this.name,filterAuthoringInfo:(0,a.o8)(this.filterAuthoringInfo)})}};(0,s._)([(0,f.MZ)({type:String,json:{write:!0}})],Ue.prototype,"description",void 0),(0,s._)([(0,f.MZ)({type:De,json:{write:{enabled:!0,isRequired:!0}}})],Ue.prototype,"filterBlocks",void 0),(0,s._)([(0,f.MZ)({types:{key:"type",base:ce,typeMap:{checkbox:Se}},json:{read:e=>"checkbox"===e?.type?Se.fromJSON(e):null,write:!0}})],Ue.prototype,"filterAuthoringInfo",void 0),(0,s._)([(0,f.MZ)({type:String,constructOnly:!0,json:{write:{enabled:!0,isRequired:!0}}})],Ue.prototype,"id",void 0),(0,s._)([(0,f.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],Ue.prototype,"name",void 0),Ue=Ce=(0,s._)([(0,g.$)("esri.layers.support.BuildingFilter")],Ue);let Qe=class extends pe.A{constructor(){super(...arguments),this.fieldName=null,this.modelName=null,this.label=null,this.min=null,this.max=null,this.mostFrequentValues=null,this.subLayerIds=null}};(0,s._)([(0,f.MZ)({type:String})],Qe.prototype,"fieldName",void 0),(0,s._)([(0,f.MZ)({type:String})],Qe.prototype,"modelName",void 0),(0,s._)([(0,f.MZ)({type:String})],Qe.prototype,"label",void 0),(0,s._)([(0,f.MZ)({type:Number})],Qe.prototype,"min",void 0),(0,s._)([(0,f.MZ)({type:Number})],Qe.prototype,"max",void 0),(0,s._)([(0,f.MZ)({json:{read:e=>Array.isArray(e)&&(e.every((e=>"string"==typeof e))||e.every((e=>"number"==typeof e)))?e.slice():null}})],Qe.prototype,"mostFrequentValues",void 0),(0,s._)([(0,f.MZ)({type:[Number]})],Qe.prototype,"subLayerIds",void 0),Qe=(0,s._)([(0,g.$)("esri.layers.support.BuildingSummaryStatistics.BuildingFieldStatistics")],Qe);let Ge=class extends(S.A.LoadableMixin(Z.A.EsriPromiseMixin(pe.A))){constructor(e){super(e),this.url=null,this.customParameters=null}get fields(){return this.loaded||"loading"===this.loadStatus?this._get("fields"):(p.A.getLogger(this).error("building summary statistics are not loaded"),null)}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._fetchService(t)),Promise.resolve(this)}async _fetchService(e){const t=(await(0,w.A)(this.url,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,{origin:"service"})}};(0,s._)([(0,f.MZ)({constructOnly:!0,type:String})],Ge.prototype,"url",void 0),(0,s._)([(0,f.MZ)({constructOnly:!0})],Ge.prototype,"customParameters",void 0),(0,s._)([(0,f.MZ)({constructOnly:!0})],Ge.prototype,"apiKey",void 0),(0,s._)([(0,f.MZ)({readOnly:!0,type:[Qe],json:{read:{source:"summary"}}})],Ge.prototype,"fields",null),Ge=(0,s._)([(0,g.$)("esri.layers.support.BuildingSummaryStatistics")],Ge);var Je=r(24212);const Ke=i.A.ofType(Ue),Ve=(0,a.o8)(ee.sublayersProperty),ze=Ve.json?.origins;ze&&(ze["web-scene"]={type:[z],write:{enabled:!0,overridePolicy:()=>({enabled:!1})}},ze["portal-item"]={type:[z],write:{enabled:!0,overridePolicy:()=>({enabled:!1})}});let Xe=class extends((0,ae.w6)((0,se.b)((0,oe.q)((0,ne.A)((0,le.j)((0,d.P)((0,ie.d)((0,re.p)(v.A))))))))){constructor(e){super(e),this.operationalLayerType="BuildingSceneLayer",this.allSublayers=new o.A({getCollections:()=>[this.sublayers],getChildrenFunction:e=>"building-group"===e.type?e.sublayers:null}),this.sublayers=null,this._allSublayerOverrides=null,this.filters=new Ke,this.activeFilterId=null,this.summaryStatistics=null,this.outFields=null,this.legendEnabled=!0,this.type="building-scene"}normalizeCtorArgs(e){return"string"==typeof e?{url:e}:e??{}}destroy(){this.allSublayers.destroy()}readSublayers(e,t,r){const s=ee.readSublayers(e,t,r);return ee.forEachSublayer(s,(e=>e.layer=this)),this._allSublayerOverrides&&(function(e,t){t.forEach((t=>He(e,t)))}(s,this._allSublayerOverrides),this._allSublayerOverrides=null),s}write(e,t){return e=super.write(e,t),!t||"web-scene"!==t.origin&&"portal-item"!==t.origin||(this.sublayers?function(e,t,r){const s=[];ee.forEachSublayer(e,(e=>{const t=e.write({},r);Object.keys(t).length>1&&s.push(t)})),s.length>0&&(t.sublayers=s)}(this.sublayers,e,t):this._allSublayerOverrides&&function(e,t,r){const s=r?.origin&&e.get(r.origin);s&&(t.sublayers=[],s.overrides.forEach((e=>{t.sublayers.push((0,a.o8)(e))})))}(this._allSublayerOverrides,e,t)),e}read(e,t){if(super.read(e,t),("web-scene"===t?.origin||"portal-item"===t?.origin)&&Array.isArray(e?.sublayers)){const r=function(e,t){const r=new Map;for(const s of e)null!=s&&"object"==typeof s&&"number"==typeof s.id?r.set(s.id,s):t.messages?.push(new n.A("building-scene-layer:invalid-sublayer-override","Invalid value for sublayer override. Not an object or no id specified.",{value:s}));return{overrides:r,context:t}}(e.sublayers,t);this.sublayers?He(this.sublayers,r):(this._allSublayerOverrides??=new Map,this._allSublayerOverrides.set(t.origin,r))}}readSummaryStatistics(e,t){if("string"==typeof t.statisticsHRef&&this.parsedUrl){const e=(0,h.fj)(this.parsedUrl.path,t.statisticsHRef);return new Ge({url:e,apiKey:this.apiKey,customParameters:this.customParameters})}return null}set elevationInfo(e){null!=e&&"absolute-height"!==e.mode||this._set("elevationInfo",e),this._validateElevationInfo(e)}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(y.QP).then((()=>this._fetchService(t))).then((()=>this._fetchAssociatedFeatureService(t)));return this.addResolvingPromise(r),Promise.resolve(this)}loadAll(){return(0,u.g)(this,(e=>{ee.forEachSublayer(this.sublayers,(t=>{"building-group"!==t.type&&e(t)})),this.summaryStatistics&&e(this.summaryStatistics)}))}async saveAs(e,t){return this._debouncedSaveOperations(ae.Xh.SAVE_AS,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"building-scene"},e)}async save(){const e={getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:"building-scene"};return this._debouncedSaveOperations(ae.Xh.SAVE,e)}validateLayer(e){if(!e.layerType||"Building"!==e.layerType)throw new n.A("buildingscenelayer:layer-type-not-supported","BuildingSceneLayer does not support this layer type",{layerType:e.layerType})}_getTypeKeywords(){return["Building"]}async _fetchAssociatedFeatureService(e){try{const{portalItem:t}=await(0,ue.L)(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e});this.associatedFeatureServiceItem=t}catch(e){(0,y.QZ)(this._logWarningOnPopupEnabled())}}async _logWarningOnPopupEnabled(){const e=new AbortController;thi