/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.24/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";import a from"./FeatureContent/FeatureContentViewModel.js";import{shouldOpenInNewTab as i}from"./support/featureUtils.js";import{isWidget as d}from"../support/widget.js";import{tsx as n}from"../support/jsxFactory.js";const c={base:"esri-feature-content",loaderContainer:"esri-feature-content__loader-container",loader:"esri-feature-content__loader"};let p=class extends s{constructor(e,r){super(e,r),this.creator=null,this.graphic=null,this.viewModel=null,this._addTargetToAnchors=e=>{Array.from(e.querySelectorAll("a")).forEach((e=>{i(e.href)&&!e.hasAttribute("target")&&e.setAttribute("target","_blank")}))}}renderLoading(){return n("div",{class:c.loaderContainer,key:"loader"},n("div",{class:c.loader}))}renderCreated(){const e=this.viewModel?.created;return e?e instanceof HTMLElement?n("div",{key:e,bind:e,afterCreate:this._attachToNode}):d(e)?n("div",{key:e},!e.destroyed&&e.render()):n("div",{key:e,innerHTML:e,afterCreate:this._addTargetToAnchors}):null}render(){const e=this.viewModel?.state;return n("div",{class:c.base},"loading"===e?this.renderLoading():this.renderCreated())}_attachToNode(e){const r=this;e.appendChild(r)}};e([r("viewModel.creator")],p.prototype,"creator",void 0),e([r("viewModel.graphic")],p.prototype,"graphic",void 0),e([t({type:a})],p.prototype,"viewModel",void 0),p=e([o("esri.widgets.Feature.FeatureContent")],p);const l=p;export{l as default};