/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["../../chunks/_rollupPluginBabelHelpers","../../chunks/tslib.es6","../../core/accessorSupport/decorators/property","../../core/arrayUtils","../../core/has","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/subclass","./Element","./support/inputs","../../layers/support/domains"],(function(e,t,r,i,o,s,p,n,l,a){"use strict";var d;let u=d=function(t){function r(e){var r;return(r=t.call(this,e)||this).domain=null,r.editable=!0,r.editableExpression=null,r.fieldName=null,r.hint=null,r.input=null,r.requiredExpression=null,r.type="field",r.valueExpression=null,r}return e._inheritsLoose(r,t),r.prototype.clone=function(){return new d({description:this.description,domain:this.domain,editable:this.editable,editableExpression:this.editableExpression,fieldName:this.fieldName,hint:this.hint,input:this.input,label:this.label,requiredExpression:this.requiredExpression,valueExpression:this.valueExpression,visibilityExpression:this.visibilityExpression})},r}(n);t.__decorate([r.property({types:a.types,json:{read:{reader:a.fromJSON},write:!0}})],u.prototype,"domain",void 0),t.__decorate([r.property({type:Boolean,json:{write:!0}})],u.prototype,"editable",void 0),t.__decorate([r.property({type:String,json:{write:!0}})],u.prototype,"editableExpression",void 0),t.__decorate([r.property({type:String,json:{write:!0}})],u.prototype,"fieldName",void 0),t.__decorate([r.property({type:String,json:{write:!0}})],u.prototype,"hint",void 0),t.__decorate([r.property({types:l.types,json:{read:{source:"inputType"},write:{target:"inputType"}}})],u.prototype,"input",void 0),t.__decorate([r.property({type:String,json:{write:!0}})],u.prototype,"requiredExpression",void 0),t.__decorate([r.property({type:String,json:{read:!1,write:!0}})],u.prototype,"type",void 0),t.__decorate([r.property({type:String,json:{write:!0}})],u.prototype,"valueExpression",void 0),u=d=t.__decorate([p.subclass("esri.form.elements.FieldElement")],u);return u}));
