// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("require ../../chunks/tslib.es6 ../../core/reactiveUtils ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/RandomLCG ../../core/accessorSupport/decorators/subclass ../Widget ./FeatureContent ./FeatureFields ./FeatureMedia ./FeatureExpression/FeatureExpressionViewModel ../../chunks/componentsUtils ../support/widgetUtils ../support/jsxFactory".split(" "),function(k,f,g,l,c,u,v,m,n,p,q,r,h,t,w,d){c=class extends n{constructor(a,b){super(a,b);this._contentWidget= null;this.viewModel=new h}initialize(){this.addHandles(g.watch(()=>this.viewModel?.contentElementViewModel,()=>this._setupExpressionWidget(),g.initial))}loadDependencies(){return t.loadCalciteComponents({loader:()=>new Promise((a,b)=>k(["../../chunks/calcite-loader"],a,b))})}destroy(){this._destroyContentWidget()}render(){const {state:a}=this.viewModel;return d.tsx("div",{class:"esri-feature-expression"},"loading"===a?this._renderLoading():"disabled"===a?null:this._contentWidget?.render())}_renderLoading(){return d.tsx("div", {class:"esri-feature__loading-container",key:"loading-container"},d.tsx("calcite-loader",{inline:!0,label:""}))}_destroyContentWidget(){const {_contentWidget:a}=this;a&&(a.viewModel=null,a.destroy());this._contentWidget=null}_setupExpressionWidget(){const {contentElementViewModel:a,contentElement:b}=this.viewModel,e=b?.type;this._destroyContentWidget();this._contentWidget=a?"fields"===e?new q({viewModel:a}):"media"===e?new r({viewModel:a}):"text"===e?new p({viewModel:a}):null:null;this.scheduleRender()}}; f.__decorate([l.property({type:h})],c.prototype,"viewModel",void 0);return c=f.__decorate([m.subclass("esri.widgets.Feature.FeatureExpression")],c)});