UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.85 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as e}from"../chunks/tslib.es6.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import{system as s,systemTimeZone as o,unknown as r}from"../time/constants.js";import n from"./Widget.js";import{loadCalciteComponents as a}from"./support/componentsUtils.js";import{globalCss as c}from"./support/globalCss.js";import{isRTL as l}from"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";import{css as m}from"./TimeZoneLabel/css.js";import h from"./TimeZoneLabel/TimeZoneLabelViewModel.js";let b=class extends n{constructor(e,t){super(e,t),this.disabled=!1,this.expanded=!1,this.messages=null,this.viewModel=new h,this._onExpanderClick=()=>{this.expanded=!this.expanded}}loadDependencies(){return a({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),"input-time-zone":()=>import("@esri/calcite-components/dist/components/calcite-input-time-zone"),label:()=>import("@esri/calcite-components/dist/components/calcite-label")})}get expandDirection(){if(!this.view||!this.container)return"end";const e=l();switch(this.view.ui.getPosition(this.container)){case"top-right":case"bottom-right":case"top-trailing":case"bottom-trailing":return e?"end":"start";case"top-left":case"bottom-left":case"top-leading":case"bottom-leading":return e?"start":"end";default:return"end"}}set expandDirection(e){this._overrideIfSome("expandDirection",e)}get icon(){return"time-zone"}set icon(e){this._overrideIfSome("icon",e)}get interactive(){return!(this.disabled||"disabled"===this.viewModel.state)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){const{expandDirection:e,interactive:t,label:i}=this,s=this.classes(m.base,c.widget,!t&&c.disabled),o=[this._renderExpander(),this._renderName(),this._renderBadge()];return"start"===e&&o.reverse(),p("div",{"aria-label":i,class:s},o)}_getIcon(){const{expanded:e,expandDirection:t}=this;return e?l()?"start"===t?"chevrons-left":"chevrons-right":"start"===t?"chevrons-right":"chevrons-left":"time-zone"}_renderExpander(){const{interactive:e,label:t}=this,i=this._getIcon();return p("calcite-action",{active:!1,class:m.expander,disabled:!e,icon:i,key:m.expander,onclick:this._onExpanderClick,scale:"s",text:t,title:t})}_renderBadge(){const{expanded:e,interactive:t}=this;return p("div",{class:this.classes(m.badge,!e&&m.badgeHidden,!t&&m.badgeDisabled)},p("calcite-icon",{class:m.badgeIcon,icon:"time-zone",scale:"s"}))}_renderName(){const e=this.viewModel.view?.timeZone,t=e===s?o:e,i=e===r;return[p("calcite-label",{class:this.classes(m.label,(!this.expanded||!i)&&m.labelHidden,!this.interactive&&m.labelDisabled)},this.messages.noAdjustment),p("calcite-input-time-zone",{class:this.classes(m.name,(!this.expanded||!t||i)&&m.nameHidden),disabled:!this.interactive,mode:"region",readOnly:!0,value:t})]}};e([t()],b.prototype,"disabled",void 0),e([t()],b.prototype,"expandDirection",null),e([t()],b.prototype,"expanded",void 0),e([t()],b.prototype,"icon",null),e([t({readOnly:!0})],b.prototype,"interactive",null),e([t()],b.prototype,"label",null),e([t(),d("esri/widgets/TimeZoneLabel/t9n/TimeZoneLabel")],b.prototype,"messages",void 0),e([t()],b.prototype,"view",null),e([t()],b.prototype,"viewModel",void 0),b=e([i("esri.widgets.TimeZoneLabel")],b);const u=b;export{u as default};