// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper dojo/i18n!./Attribution/nls/Attribution ../core/watchUtils ../core/accessorSupport/decorators ./Widget ./Attribution/AttributionViewModel ./support/widget".split(" "),function(n,p,h,d,k,l,c,m,f,e){return function(g){function a(b){b=g.call(this)||this;b._isOpen=!1;b._attributionTextOverflowed=!1;b._prevSourceNodeHeight=0;b.iconClass="esri-icon-description";b.itemDelimiter=" | ";b.label=k.widgetLabel;b.view= null;b.viewModel=new f;return b}h(a,g);a.prototype.postInitialize=function(){var b=this;this.own(l.on(this,"viewModel.items","change",function(){return b.scheduleRender()}))};Object.defineProperty(a.prototype,"attributionText",{get:function(){return this.viewModel.items.reduce(function(b,a){-1===b.indexOf(a.text)&&b.push(a.text);return b},[]).join(this.itemDelimiter)},enumerable:!0,configurable:!0});a.prototype.render=function(){var b=(a={},a["esri-attribution--open"]=this._isOpen,a);return e.tsx("div", {bind:this,class:"esri-attribution esri-widget",classes:b,onclick:this._toggleState,onkeydown:this._toggleState},this._renderSourcesNode(),e.tsx("div",{class:"esri-attribution__powered-by"},"Powered by ",e.tsx("a",{target:"_blank",href:"http://www.esri.com/",class:"esri-attribution__link"},"Esri")));var a};a.prototype._renderSourcesNode=function(){var b=this._isOpen,a=this._isInteractive(),d=this.attributionText,b=(c={},c["esri-attribution__sources--open"]=b,c["esri-interactive"]=a,c);return e.tsx("div", {afterCreate:this._afterSourcesNodeCreate,afterUpdate:this._afterSourcesNodeUpdate,bind:this,class:"esri-attribution__sources",classes:b,innerHTML:d,role:a?"button":void 0,tabIndex:a?0:-1});var c};a.prototype._afterSourcesNodeCreate=function(b){this._prevSourceNodeHeight=b.clientWidth};a.prototype._afterSourcesNodeUpdate=function(b){var a=!1,c=b.clientHeight;b=b.scrollWidth>=b.clientWidth;var d=this._attributionTextOverflowed!==b;this._attributionTextOverflowed=b;d&&(a=!0);this._isOpen&&(b=c