UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 3.52 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{_ as e}from"../../chunks/tslib.es6.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{authoringInfoVariableSliderMinMax as s}from"../../renderers/support/authoringInfoUtils.js";import i from"./SmartMappingSliderBase.js";import o from"./ColorSlider/ColorSliderViewModel.js";import{globalCss as a}from"../support/globalCss.js";import"../support/widgetUtils.js";import{messageBundle as l}from"../support/decorators/messageBundle.js";import{tsx as n}from"../support/jsxFactory.js";var d;const p="esri-color-slider",m={base:p,rampElement:`${p}__ramp`,sliderContainer:`${p}__slider-container`,histogramContainer:`${p}__histogram-container`,primaryHandle:`${p}--primary-handle`,track:`${p}--interactive-track`};let h=d=class extends i{constructor(e,r){super(e,r),this.messages=null,this.viewModel=new o,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}get handlesSyncedToPrimary(){return this.viewModel.handlesSyncedToPrimary}set handlesSyncedToPrimary(e){this.viewModel.handlesSyncedToPrimary=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get primaryHandleEnabled(){return this.viewModel.primaryHandleEnabled}set primaryHandleEnabled(e){this.viewModel.primaryHandleEnabled=e}get stops(){return this.viewModel.stops}set stops(e){this.viewModel.stops=e}static fromRendererResult(e,r){const{visualVariable:{stops:t},statistics:i}=e,{avg:o,stddev:a}=i,l=e.renderer.authoringInfo?.visualVariables.find((e=>"color"===e.type)),[n,p]=s(l);return new d({max:p,min:n,stops:t,histogramConfig:{average:o??void 0,standardDeviation:a??void 0,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l?.theme})}updateFromRendererResult(e,r){const{visualVariable:{stops:t},statistics:i}=e,{avg:o,stddev:a}=i,l=e.renderer.authoringInfo?.visualVariables.find((e=>"color"===e.type)),[n,d]=s(l);this.set({max:d,min:n,stops:t,histogramConfig:{average:o,standardDeviation:a,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l?.theme})}render(){const{label:e,primaryHandleEnabled:r,state:t,visibleElements:s}=this,i="disabled"===t,o=this.classes(m.base,a.widget,a.panel,{[a.disabled]:i,[m.primaryHandle]:r,[m.track]:!!s.interactiveTrack});return n("div",{"aria-label":e,class:o},i?null:this.renderContent(this._renderRamp(),m.sliderContainer,m.histogramContainer))}_renderRamp(){const{_bgFillId:e,_rampFillId:r,viewModel:t,zoomOptions:s}=this,i=t.getStopInfo();return n("div",{class:m.rampElement},n("svg",{xmlns:"http://www.w3.org/2000/svg"},n("defs",null,this.renderRampFillDefinition(r,i),this.renderBackgroundFillDefinition(e)),n("rect",{fill:`url(#${e})`,height:"100%",width:"100%",x:"0",y:"0"}),n("rect",{fill:`url(#${r})`,height:"100%",width:"100%",x:"0",y:"0"})),s?this.renderZoomCaps():null)}};e([r()],h.prototype,"handlesSyncedToPrimary",null),e([r()],h.prototype,"label",null),e([r(),l("esri/widgets/smartMapping/ColorSlider/t9n/ColorSlider")],h.prototype,"messages",void 0),e([r()],h.prototype,"primaryHandleEnabled",null),e([r()],h.prototype,"stops",null),e([r({type:o})],h.prototype,"viewModel",void 0),h=d=e([t("esri.widgets.smartMapping.ColorSlider")],h);const c=h;export{c as default};