/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.25/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import{watch as t,initial as i}from"../../core/reactiveUtils.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/accessorSupport/ensureType.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import o from"../Attachments.js";import a from"../Widget.js";import p from"./FeatureAttachments/FeatureAttachmentsViewModel.js";import n from"./support/FeatureElementInfo.js";import"../support/widgetUtils.js";import{tsx as l}from"../support/jsxFactory.js";const d={base:"esri-feature-attachments"};let c=class extends a{constructor(e,t){super(e,t),this._featureElementInfo=null,this.attachmentsWidget=new o,this.headingLevel=2,this.viewModel=new p}initialize(){this._featureElementInfo=new n,this.addHandles([t((()=>[this.viewModel?.description,this.viewModel?.title,this.headingLevel]),(()=>this._setupFeatureElementInfo()),i),t((()=>this.viewModel?.graphic),(e=>this.attachmentsWidget.graphic=e),i)])}destroy(){this.attachmentsWidget.destroy(),this._featureElementInfo.destroy()}get description(){return this.viewModel.description}set description(e){this.viewModel.description=e}get displayType(){return this.attachmentsWidget.displayType}set displayType(e){this.attachmentsWidget.displayType=e}get graphic(){return this.viewModel.graphic}set graphic(e){this.viewModel.graphic=e}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}render(){const{attachmentsWidget:e}=this;return l("div",{class:d.base},this._featureElementInfo?.render(),e?.render())}_setupFeatureElementInfo(){const{description:e,title:t,headingLevel:i}=this;this._featureElementInfo.set({description:e,title:t,headingLevel:i})}};e([s({readOnly:!0})],c.prototype,"attachmentsWidget",void 0),e([s()],c.prototype,"description",null),e([s()],c.prototype,"displayType",null),e([s()],c.prototype,"graphic",null),e([s()],c.prototype,"headingLevel",void 0),e([s()],c.prototype,"title",null),e([s({type:p})],c.prototype,"viewModel",void 0),c=e([r("esri.widgets.Feature.FeatureAttachments")],c);const h=c;export{h as default};