@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
5 lines • 38.5 kB
JavaScript
/*!
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
*/
import{r as t,f as i,h as a,g as e,c as s,H as n}from"./p-6b7b23d0.js";import{g as l}from"./p-8a63221d.js";import{c as r}from"./p-0a5d059d.js";import{j as h}from"./p-8f3a3e4e.js";import{d as o,c}from"./p-2d09cc25.js";import{c as d,d as m}from"./p-614d8925.js";import{c as u,d as b,a as p,H as f}from"./p-7c88d545.js";import{u as v}from"./p-bd38ff21.js";function g(t,i,a){const e=i[0]-t[0];return e?(3*(i[1]-t[1])/e-a)/2:a}function x(t,i,a,e,s){const[n,l]=t,[r,h]=i,o=(r-n)/3;return`C ${s([n+o,l+o*a]).join(",")} ${s([r-o,h-o*e]).join(",")} ${s([r,h]).join(",")}`}const _=class{constructor(a){t(this,a),this.data=[],this.graphId=`calcite-graph-${l()}`,this.resizeObserver=r("resize",(()=>i(this)))}connectedCallback(){var t;null===(t=this.resizeObserver)||void 0===t||t.observe(this.el)}disconnectedCallback(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}render(){const{data:t,colorStops:i,el:e,highlightMax:s,highlightMin:n,min:l,max:r}=this,h=this.graphId,{clientHeight:o,clientWidth:c}=e;if(!t||0===t.length)return a("svg",{class:"svg",height:o,preserveAspectRatio:"none",viewBox:`0 0 ${c} ${o}`,width:c});const{min:d,max:m}=function(t){const[i,a]=t[0];return t.reduce((({min:t,max:i},[a,e])=>({min:[Math.min(t[0],a),Math.min(t[1],e)],max:[Math.max(i[0],a),Math.max(i[1],e)]})),{min:[i,a],max:[i,a]})}(t);let u=d,b=m;(l<d[0]||l>d[0])&&(u=[l,0]),(r>m[0]||r<m[0])&&(b=[r,m[1]]);const p=function({width:t,height:i,min:a,max:e}){const s=e[0]-a[0],n=e[1]-a[1];return e=>[(e[0]-a[0])/s*t,i-e[1]/n*i]}({min:u,max:b,width:c,height:o}),[f]=p([n,b[1]]),[v]=p([s,b[1]]),_=function({data:t,min:i,max:a,t:e}){if(0===t.length)return"";const[s,n]=e(t[0]),[l,r]=e(i),[h]=e(a);let o,c,d;const m=t.reduce(((i,a,s)=>{if(c=t[s-2],d=t[s-1],s>1){const t=function(t,i,a){const e=i[0]-t[0],s=a[0]-i[0],n=(i[1]-t[1])/(e||s<0&&0),l=(a[1]-i[1])/(s||e<0&&0),r=(n*s+l*e)/(e+s);return(Math.sign(n)+Math.sign(l))*Math.min(Math.abs(n),Math.abs(l),.5*Math.abs(r))||0}(c,d,a),s=void 0===o?g(c,d,t):o,n=x(c,d,s,t,e);return o=t,`${i} ${n}`}return i}),`M ${l},${r} L ${l},${n} L ${s},${n}`),u=t[t.length-1];return`${m} ${x(d,u,o,g(d,u,o),e)} L ${h},${r} Z`}({data:t,min:d,max:m,t:p}),w=i?`url(#linear-gradient-${h})`:void 0;return a("svg",{class:"svg",height:o,preserveAspectRatio:"none",viewBox:`0 0 ${c} ${o}`,width:c},i?a("defs",null,a("linearGradient",{id:`linear-gradient-${h}`,x1:"0",x2:"1",y1:"0",y2:"0"},i.map((({offset:t,color:i,opacity:e})=>a("stop",{offset:100*t+"%","stop-color":i,"stop-opacity":e}))))):null,void 0!==n?[a("mask",{height:"100%",id:`${h}1`,width:"100%",x:"0%",y:"0%"},a("path",{d:`\n M 0,0\n L ${f-1},0\n L ${f-1},${o}\n L 0,${o}\n Z\n `,fill:"white"})),a("mask",{height:"100%",id:`${h}2`,width:"100%",x:"0%",y:"0%"},a("path",{d:`\n M ${f+1},0\n L ${v-1},0\n L ${v-1},${o}\n L ${f+1}, ${o}\n Z\n `,fill:"white"})),a("mask",{height:"100%",id:`${h}3`,width:"100%",x:"0%",y:"0%"},a("path",{d:`\n M ${v+1},0\n L ${c},0\n L ${c},${o}\n L ${v+1}, ${o}\n Z\n `,fill:"white"})),a("path",{class:"graph-path",d:_,fill:w,mask:`url(#${h}1)`}),a("path",{class:"graph-path--highlight",d:_,fill:w,mask:`url(#${h}2)`}),a("path",{class:"graph-path",d:_,fill:w,mask:`url(#${h}3)`})]:a("path",{class:"graph-path",d:_,fill:w}))}get el(){return e(this)}};_.style="@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{display:block}.svg{fill:currentColor;stroke:transparent;margin:0px;display:block;height:100%;width:100%;padding:0px}.svg .graph-path--highlight{fill:var(--calcite-ui-brand);opacity:0.5}";const w=class{constructor(i){t(this,i),this.calciteSliderInput=s(this,"calciteSliderInput",7),this.calciteSliderChange=s(this,"calciteSliderChange",7),this.calciteSliderUpdate=s(this,"calciteSliderUpdate",7),this.disabled=!1,this.hasHistogram=!1,this.labelHandles=!1,this.labelTicks=!1,this.max=100,this.min=0,this.mirrored=!1,this.precise=!1,this.required=!1,this.snap=!1,this.step=1,this.value=null,this.scale="m",this.guid=`calcite-slider-${l()}`,this.isRange=!1,this.activeProp="value",this.minMaxValueRange=null,this.minValueDragRange=null,this.maxValueDragRange=null,this.tickValues=[],this.dragUpdate=t=>{if(t.preventDefault(),this.dragProp){const i=this.translate(t.clientX||t.pageX);if(this.isRange&&"minMaxValue"===this.dragProp)if(this.minValueDragRange&&this.maxValueDragRange&&this.minMaxValueRange){const t=i-this.minValueDragRange,a=i+this.maxValueDragRange;a<=this.max&&t>=this.min&&a-t===this.minMaxValueRange&&(this.minValue=this.clamp(t,"minValue"),this.maxValue=this.clamp(a,"maxValue"))}else this.minValueDragRange=i-this.minValue,this.maxValueDragRange=this.maxValue-i,this.minMaxValueRange=this.maxValue-this.minValue;else this.setValue(this.dragProp,this.clamp(i,this.dragProp))}},this.dragEnd=t=>{this.removeDragListeners(),this.focusActiveHandle(t.clientX),this.lastDragPropValue!=this[this.dragProp]&&this.emitChange(),this.dragProp=null,this.lastDragPropValue=null,this.minValueDragRange=null,this.maxValueDragRange=null,this.minMaxValueRange=null},this.storeTrackRef=t=>{this.trackEl=t}}histogramWatcher(t){this.hasHistogram=!!t}connectedCallback(){d(this),u(this)}disconnectedCallback(){m(this),b(this),this.removeDragListeners()}componentWillLoad(){this.isRange=!(!this.maxValue&&0!==this.maxValue),this.tickValues=this.generateTickValues(),this.value=this.clamp(this.value),p(this,this.value),this.snap&&(this.value=this.getClosestStep(this.value)),this.histogram&&(this.hasHistogram=!0)}componentDidRender(){this.labelHandles&&(this.adjustHostObscuredHandleLabel("value"),this.isRange&&(this.adjustHostObscuredHandleLabel("minValue"),this.precise&&this.isRange&&!this.hasHistogram||this.hyphenateCollidingRangeHandleLabels())),this.hideObscuredBoundingTickLabels(),v(this)}render(){const t=this.el.id||this.guid,i=this.minValue||this.min,e=this.maxValue||this.value,s=this.isRange?"maxValue":"value",l=this[s],r=this.shouldUseMinValue(),h=100*this.getUnitInterval(r?this.minValue:i),o=100*this.getUnitInterval(e),c=this.shouldMirror(),d=`${c?100-h:h}%`,m=`${c?o:100-o}%`,u=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("div",{class:"handle"})),b=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("span",{"aria-hidden":"true",class:"handle__label handle__label--value"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value static"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value transformed"},l?l.toLocaleString():l),a("div",{class:"handle"})),p=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("div",{class:"handle"}),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value static"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value transformed"},l?l.toLocaleString():l)),v=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("div",{class:"handle"}),a("div",{class:"handle-extension"})),g=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("div",{class:"handle-extension"}),a("div",{class:"handle"})),x=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("span",{"aria-hidden":"true",class:"handle__label handle__label--value"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value static"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value transformed"},l?l.toLocaleString():l),a("div",{class:"handle"}),a("div",{class:"handle-extension"})),_=a("div",{"aria-disabled":this.disabled,"aria-label":this.isRange?this.maxLabel:this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":l,class:{thumb:!0,"thumb--value":!0,"thumb--active":"minMaxValue"!==this.lastDragProp&&this.dragProp===s,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp=s,onPointerDown:()=>this.dragStart(s),ref:t=>this.maxHandle=t,role:"slider",style:{right:m},tabIndex:0},a("div",{class:"handle-extension"}),a("div",{class:"handle"}),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value static"},l?l.toLocaleString():l),a("span",{"aria-hidden":"true",class:"handle__label handle__label--value transformed"},l?l.toLocaleString():l)),w=a("div",{"aria-disabled":this.disabled,"aria-label":this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":this.minValue,class:{thumb:!0,"thumb--minValue":!0,"thumb--active":"minValue"===this.dragProp},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp="minValue",onPointerDown:()=>this.dragStart("minValue"),ref:t=>this.minHandle=t,role:"slider",style:{left:d},tabIndex:0},a("div",{class:"handle"})),k=a("div",{"aria-disabled":this.disabled,"aria-label":this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":this.minValue,class:{thumb:!0,"thumb--minValue":!0,"thumb--active":"minValue"===this.dragProp},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp="minValue",onPointerDown:()=>this.dragStart("minValue"),ref:t=>this.minHandle=t,role:"slider",style:{left:d},tabIndex:0},a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue static"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue transformed"},this.minValue&&this.minValue.toLocaleString()),a("div",{class:"handle"})),y=a("div",{"aria-disabled":this.disabled,"aria-label":this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":this.minValue,class:{thumb:!0,"thumb--minValue":!0,"thumb--active":"minValue"===this.dragProp},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp="minValue",onPointerDown:()=>this.dragStart("minValue"),ref:t=>this.minHandle=t,role:"slider",style:{left:d},tabIndex:0},a("div",{class:"handle"}),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue static"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue transformed"},this.minValue&&this.minValue.toLocaleString())),$=a("div",{"aria-disabled":this.disabled,"aria-label":this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":this.minValue,class:{thumb:!0,"thumb--minValue":!0,"thumb--active":"minValue"===this.dragProp,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp="minValue",onPointerDown:()=>this.dragStart("minValue"),ref:t=>this.minHandle=t,role:"slider",style:{left:d},tabIndex:0},a("div",{class:"handle-extension"}),a("div",{class:"handle"})),D=a("div",{"aria-disabled":this.disabled,"aria-label":this.minLabel,"aria-orientation":"horizontal","aria-valuemax":this.max,"aria-valuemin":this.min,"aria-valuenow":this.minValue,class:{thumb:!0,"thumb--minValue":!0,"thumb--active":"minValue"===this.dragProp,"thumb--precise":!0},onBlur:()=>this.activeProp=null,onFocus:()=>this.activeProp="minValue",onPointerDown:()=>this.dragStart("minValue"),ref:t=>this.minHandle=t,role:"slider",style:{left:d},tabIndex:0},a("div",{class:"handle-extension"}),a("div",{class:"handle"}),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue static"},this.minValue&&this.minValue.toLocaleString()),a("span",{"aria-hidden":"true",class:"handle__label handle__label--minValue transformed"},this.minValue&&this.minValue.toLocaleString()));return a(n,{id:t,onTouchStart:this.handleTouchStart},a("div",{class:{container:!0,"container--range":this.isRange,[`scale--${this.scale}`]:!0}},this.renderGraph(),a("div",{class:"track",ref:this.storeTrackRef},a("div",{class:"track__range",onPointerDown:()=>this.dragStart("minMaxValue"),style:{left:`${c?100-o:h}%`,right:`${c?h:100-o}%`}}),a("div",{class:"ticks"},this.tickValues.map((t=>{const s=100*this.getUnitInterval(t)+"%";let n=t>=i&&t<=e;return r&&(n=t>=this.minValue&&t<=this.maxValue),a("span",{class:{tick:!0,"tick--active":n},style:{left:c?"":s,right:c?s:""}},this.renderTickLabel(t))})))),a("div",{class:"thumb-container"},!this.precise&&!this.labelHandles&&this.isRange&&w,!this.hasHistogram&&!this.precise&&this.labelHandles&&this.isRange&&k,this.precise&&!this.labelHandles&&this.isRange&&$,this.precise&&this.labelHandles&&this.isRange&&D,this.hasHistogram&&!this.precise&&this.labelHandles&&this.isRange&&y,!this.precise&&!this.labelHandles&&u,!this.hasHistogram&&!this.precise&&this.labelHandles&&b,!this.hasHistogram&&this.precise&&!this.labelHandles&&v,this.hasHistogram&&this.precise&&!this.labelHandles&&g,!this.hasHistogram&&this.precise&&this.labelHandles&&x,this.hasHistogram&&!this.precise&&this.labelHandles&&p,this.hasHistogram&&this.precise&&this.labelHandles&&_,a(f,{component:this}))))}renderGraph(){return this.histogram?a("calcite-graph",{class:"graph",colorStops:this.histogramStops,data:this.histogram,highlightMax:this.isRange?this.maxValue:this.value,highlightMin:this.isRange?this.minValue:this.min,max:this.max,min:this.min}):null}renderTickLabel(t){const i=t===this.min,e=t===this.max,s=a("span",{class:{tick__label:!0,"tick__label--min":i,"tick__label--max":e}},t.toLocaleString());return this.labelTicks&&!this.hasHistogram&&!this.isRange||this.labelTicks&&!this.hasHistogram&&this.isRange&&!this.precise&&!this.labelHandles||this.labelTicks&&!this.hasHistogram&&this.isRange&&!this.precise&&this.labelHandles||this.labelTicks&&!this.hasHistogram&&this.isRange&&this.precise&&(i||e)||this.labelTicks&&this.hasHistogram&&!this.precise&&!this.labelHandles||this.labelTicks&&this.hasHistogram&&this.precise&&!this.labelHandles&&(i||e)||this.labelTicks&&this.hasHistogram&&!this.precise&&this.labelHandles&&(i||e)||this.labelTicks&&this.hasHistogram&&this.precise&&this.labelHandles&&(i||e)?s:null}keyDownHandler(t){const i=this.shouldMirror(),{activeProp:a,max:e,min:s,pageStep:n,step:l}=this,r=this[a],h=t.key;if("Enter"===h||" "===h)return void t.preventDefault();let c;if("ArrowUp"===h||"ArrowRight"===h?c=r+l*(i&&"ArrowRight"===h?-1:1):"ArrowDown"===h||"ArrowLeft"===h?c=r-l*(i&&"ArrowLeft"===h?-1:1):"PageUp"===h?n&&(c=r+n):"PageDown"===h?n&&(c=r-n):"Home"===h?c=s:"End"===h&&(c=e),isNaN(c))return;t.preventDefault();const d=Number(c.toFixed(o(l)));this.setValue(a,this.clamp(d,a))}clickHandler(t){this.focusActiveHandle(t.clientX)}pointerDownHandler(t){const i=this.translate(t.clientX||t.pageX);let a="value";this.isRange&&(a=i>=this.minValue&&i<=this.maxValue&&"minMaxValue"===this.lastDragProp?"minMaxValue":Math.abs(this.maxValue-i)<Math.abs(this.minValue-i)||i>this.maxValue?"maxValue":"minValue"),this.lastDragPropValue=this[a],this.dragStart(a),this.el.shadowRoot.querySelector(".thumb:active")||this.setValue(a,this.clamp(i,a))}handleTouchStart(t){t.preventDefault()}async setFocus(){(this.minHandle?this.minHandle:this.maxHandle).focus()}onLabelClick(){this.setFocus()}shouldMirror(){return this.mirrored&&!this.hasHistogram}shouldUseMinValue(){return!!this.isRange&&(this.hasHistogram&&0===this.maxValue||!this.hasHistogram&&0===this.minValue)}generateTickValues(){const t=[];let i=this.min;for(;this.ticks&&i<this.max+this.ticks;)t.push(Math.min(i,this.max)),i+=this.ticks;return t}dragStart(t){this.dragProp=t,this.lastDragProp=this.dragProp,this.activeProp=t,document.addEventListener("pointermove",this.dragUpdate),document.addEventListener("pointerup",this.dragEnd),document.addEventListener("pointercancel",this.dragEnd)}focusActiveHandle(t){switch(this.dragProp){case"minValue":this.minHandle.focus();break;case"maxValue":this.maxHandle.focus();break;case"minMaxValue":this.getClosestHandle(t).focus()}}emitInput(){this.calciteSliderInput.emit(),this.calciteSliderUpdate.emit()}emitChange(){this.calciteSliderChange.emit()}removeDragListeners(){document.removeEventListener("pointermove",this.dragUpdate),document.removeEventListener("pointerup",this.dragEnd),document.removeEventListener("pointercancel",this.dragEnd)}setValue(t,i){this[t]!==i&&(this[t]=i,this.dragProp||this.emitChange(),this.emitInput())}clamp(t,i){return t=c(t,this.min,this.max),"maxValue"===i&&(t=Math.max(t,this.minValue)),"minValue"===i&&(t=Math.min(t,this.maxValue)),t}translate(t){const i=this.max-this.min,{left:a,width:e}=this.trackEl.getBoundingClientRect(),s=(t-a)/e,n=this.shouldMirror(),l=this.clamp(this.min+i*(n?1-s:s));let r=Number(l.toFixed(o(this.step)));return this.snap&&this.step&&(r=this.getClosestStep(r)),r}getClosestStep(t){if(t=Number(this.clamp(t).toFixed(o(this.step))),this.step){const i=Math.round(t/this.step)*this.step;t=Number(this.clamp(i).toFixed(o(this.step)))}return t}getClosestHandle(t){return this.getDistanceX(this.maxHandle,t)>this.getDistanceX(this.minHandle,t)?this.minHandle:this.maxHandle}getDistanceX(t,i){return Math.abs(t.getBoundingClientRect().left-i)}getFontSizeForElement(t){return Number(window.getComputedStyle(t).getPropertyValue("font-size").match(/\d+/)[0])}getUnitInterval(t){return((t=this.clamp(t))-this.min)/(this.max-this.min)}adjustHostObscuredHandleLabel(t){const i=this.el.shadowRoot.querySelector(`.handle__label--${t}`),a=this.el.shadowRoot.querySelector(`.handle__label--${t}.static`),e=this.el.shadowRoot.querySelector(`.handle__label--${t}.transformed`),s=a.getBoundingClientRect(),n=this.getHostOffset(s.left,s.right);i.style.transform=`translateX(${n}px)`,e.style.transform=`translateX(${n}px)`}hyphenateCollidingRangeHandleLabels(){const{shadowRoot:t}=this.el,i=this.shouldMirror(),a=i?"value":"minValue",e=i?"minValue":"value",s=t.querySelector(`.handle__label--${a}`),n=t.querySelector(`.handle__label--${a}.static`),l=t.querySelector(`.handle__label--${a}.transformed`),r=this.getHostOffset(n.getBoundingClientRect().left,n.getBoundingClientRect().right),h=t.querySelector(`.handle__label--${e}`),o=t.querySelector(`.handle__label--${e}.static`),c=t.querySelector(`.handle__label--${e}.transformed`),d=this.getHostOffset(o.getBoundingClientRect().left,o.getBoundingClientRect().right),m=this.getFontSizeForElement(s),u=this.getRangeLabelOverlap(l,c),b=s,p=m/2;if(u>0){if(b.classList.add("hyphen","hyphen--wrap"),0===d&&0===r){let t=u/2-p;t=-1===Math.sign(t)?Math.abs(t):-t;const i=this.getHostOffset(l.getBoundingClientRect().left+t-p,l.getBoundingClientRect().right+t-p);let a=u/2;const e=this.getHostOffset(c.getBoundingClientRect().left+a,c.getBoundingClientRect().right+a);0!==i&&(t+=i,a+=i),0!==e&&(t+=e,a+=e),s.style.transform=`translateX(${t}px)`,l.style.transform=`translateX(${t-p}px)`,h.style.transform=`translateX(${a}px)`,c.style.transform=`translateX(${a}px)`}else if(r>0||d>0)s.style.transform=`translateX(${r+p}px)`,h.style.transform=`translateX(${u+d}px)`,c.style.transform=`translateX(${u+d}px)`;else if(r<0||d<0){let t=Math.abs(r)+u-p;t=-1===Math.sign(t)?Math.abs(t):-t,s.style.transform=`translateX(${t}px)`,l.style.transform=`translateX(${t-p}px)`}}else b.classList.remove("hyphen","hyphen--wrap"),s.style.transform=`translateX(${r}px)`,l.style.transform=`translateX(${r}px)`,h.style.transform=`translateX(${d}px)`,c.style.transform=`translateX(${d}px)`}hideObscuredBoundingTickLabels(){if(!(this.hasHistogram||this.isRange||this.labelHandles||this.precise))return;if(!this.hasHistogram&&!this.isRange&&this.labelHandles&&!this.precise)return;if(!this.hasHistogram&&!this.isRange&&!this.labelHandles&&this.precise)return;if(!this.hasHistogram&&!this.isRange&&this.labelHandles&&this.precise)return;if(!this.hasHistogram&&this.isRange&&!this.precise)return;if(this.hasHistogram&&!this.precise&&!this.labelHandles)return;const t=this.el.shadowRoot.querySelector(".thumb--minValue"),i=this.el.shadowRoot.querySelector(".thumb--value"),a=this.el.shadowRoot.querySelector(".tick__label--min"),e=this.el.shadowRoot.querySelector(".tick__label--max");!t&&i&&a&&e&&(a.style.opacity=this.isMinTickLabelObscured(a,i)?"0":"1",e.style.opacity=this.isMaxTickLabelObscured(e,i)?"0":"1"),t&&i&&a&&e&&(a.style.opacity=this.isMinTickLabelObscured(a,t)||this.isMinTickLabelObscured(a,i)?"0":"1",e.style.opacity=this.isMaxTickLabelObscured(e,t)||this.isMaxTickLabelObscured(e,i)&&this.hasHistogram?"0":"1")}getHostOffset(t,i){const a=this.el.getBoundingClientRect();return t+7<a.left?a.left-t-7:i-7>a.right?7-(i-a.right):0}getRangeLabelOverlap(t,i){const a=t.getBoundingClientRect(),e=i.getBoundingClientRect(),s=this.getFontSizeForElement(t);return Math.max(a.right+s-e.left,0)}isMinTickLabelObscured(t,i){const a=t.getBoundingClientRect(),e=i.getBoundingClientRect();return h(a,e)}isMaxTickLabelObscured(t,i){const a=t.getBoundingClientRect(),e=i.getBoundingClientRect();return h(a,e)}get el(){return e(this)}static get watchers(){return{histogram:["histogramWatcher"]}}};w.style='@charset "UTF-8";@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}.scale--s{--calcite-slider-handle-size:10px;--calcite-slider-handle-extension-height:6.5px;--calcite-slider-container-font-size:var(--calcite-font-size--3)}.scale--s .handle__label,.scale--s .tick__label{line-height:.75rem}.scale--m{--calcite-slider-handle-size:14px;--calcite-slider-handle-extension-height:8px;--calcite-slider-container-font-size:var(--calcite-font-size--2)}.scale--m .handle__label,.scale--m .tick__label{line-height:1rem}.scale--l{--calcite-slider-handle-size:16px;--calcite-slider-handle-extension-height:10.5px;--calcite-slider-container-font-size:var(--calcite-font-size--1)}.scale--l .handle__label,.scale--l .tick__label{line-height:1rem}.handle__label,.tick__label{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-2);font-size:var(--calcite-slider-container-font-size)}:host{display:block}.container{position:relative;display:block;padding:calc(var(--calcite-slider-handle-size) * 0.5);margin:calc(var(--calcite-slider-handle-size) * 0.5) 0;--calcite-slider-full-handle-height:calc(\n var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height)\n )}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host([disabled]) .track__range,:host([disabled]) .tick--active{background-color:var(--calcite-ui-text-3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-6px}.scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-8px}.scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-9px}:host([precise]:not([has-histogram])) .container .thumb--value{--calcite-slider-thumb-y-offset:calc(var(--calcite-slider-full-handle-height) * -1)}.thumb-container{position:relative;max-width:100%}.thumb{--calcite-slider-thumb-x-offset:calc(var(--calcite-slider-handle-size) * 0.5);position:absolute;margin:0px;display:-ms-flexbox;display:flex;cursor:pointer;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;border-style:none;background-color:transparent;padding:0px;font-family:inherit;outline:2px solid transparent;outline-offset:2px;-webkit-transform:translate(var(--calcite-slider-thumb-x-offset), var(--calcite-slider-thumb-y-offset));transform:translate(var(--calcite-slider-thumb-x-offset), var(--calcite-slider-thumb-y-offset))}.thumb .handle__label.static,.thumb .handle__label.transformed{position:absolute;top:0px;bottom:0px;opacity:0}.thumb .handle__label.hyphen::after{content:"—";display:inline-block;width:1em}.thumb .handle__label.hyphen--wrap{display:-ms-flexbox;display:flex}.thumb .handle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:9999px;background-color:var(--calcite-ui-foreground-1);outline-offset:0;outline-color:transparent;-webkit-transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;transition:outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;height:var(--calcite-slider-handle-size);width:var(--calcite-slider-handle-size);-webkit-box-shadow:0 0 0 2px var(--calcite-ui-text-3) inset;box-shadow:0 0 0 2px var(--calcite-ui-text-3) inset;-webkit-transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, -webkit-box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, -webkit-box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, box-shadow var(--calcite-animation-timing) ease;transition:border var(--calcite-internal-animation-timing-medium) ease, background-color var(--calcite-internal-animation-timing-medium) ease, box-shadow var(--calcite-animation-timing) ease, -webkit-box-shadow var(--calcite-animation-timing) ease}.thumb .handle-extension{width:0.125rem;height:var(--calcite-slider-handle-extension-height);background-color:var(--calcite-ui-text-3)}.thumb:hover .handle{-webkit-box-shadow:0 0 0 3px var(--calcite-ui-brand) inset;box-shadow:0 0 0 3px var(--calcite-ui-brand) inset}.thumb:hover .handle-extension{background-color:var(--calcite-ui-brand)}.thumb:focus .handle{outline:2px solid var(--calcite-ui-brand);outline-offset:2px}.thumb:focus .handle-extension{background-color:var(--calcite-ui-brand)}.thumb.thumb--minValue{-webkit-transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1), var(--calcite-slider-thumb-y-offset));transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1), var(--calcite-slider-thumb-y-offset))}.thumb.thumb--precise{--calcite-slider-thumb-y-offset:-2px}:host([label-handles]) .thumb{--calcite-slider-thumb-x-offset:50%}:host([label-handles]):host(:not([has-histogram])) .scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-23px}:host([label-handles]):host(:not([has-histogram])) .scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-30px}:host([label-handles]):host(:not([has-histogram])) .scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset:-32px}:host([has-histogram][label-handles]) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--minValue.thumb--precise .handle__label{margin-top:0.5em}:host(:not([has-histogram]):not([precise])) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--value .handle__label{margin-bottom:0.5em}:host([label-handles][precise]):host(:not([has-histogram])) .scale--s .thumb--value{--calcite-slider-thumb-y-offset:-33px}:host([label-handles][precise]):host(:not([has-histogram])) .scale--m .thumb--value{--calcite-slider-thumb-y-offset:-44px}:host([label-handles][precise]):host(:not([has-histogram])) .scale--l .thumb--value{--calcite-slider-thumb-y-offset:-49px}.thumb:focus .handle,.thumb--active .handle{background-color:var(--calcite-ui-brand);-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.16);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.16)}.thumb:hover.thumb--precise:after,.thumb:focus.thumb--precise:after,.thumb--active.thumb--precise:after{background-color:var(--calcite-ui-brand)}.track{position:relative;height:0.125rem;border-radius:0px;background-color:var(--calcite-ui-border-2);-webkit-transition:all var(--calcite-internal-animation-timing-medium) ease-in;transition:all var(--calcite-internal-animation-timing-medium) ease-in}.track__range{position:absolute;top:0px;height:0.125rem;background-color:var(--calcite-ui-brand)}.container--range .track__range:hover{cursor:ew-resize}.container--range .track__range:after{position:absolute;width:100%;content:"";top:calc(var(--calcite-slider-full-handle-height) * 0.5 * -1);height:calc(var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height))}.tick{position:absolute;height:0.25rem;width:0.125rem;border-width:1px;border-style:solid;background-color:var(--calcite-ui-border-input);border-color:var(--calcite-ui-foreground-1);top:-2px;pointer-events:none;-webkit-margin-start:calc(-1 * 0.125rem);margin-inline-start:calc(-1 * 0.125rem)}.tick--active{background-color:var(--calcite-ui-brand)}.tick__label{pointer-events:none;margin-top:0.875rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.tick__label--min{-webkit-transition:opacity var(--calcite-animation-timing);transition:opacity var(--calcite-animation-timing)}.tick__label--max{-webkit-transition:opacity var(--calcite-internal-animation-timing-fast);transition:opacity var(--calcite-internal-animation-timing-fast)}:host([has-histogram][label-handles]) .tick__label--min,:host([has-histogram][label-handles]) .tick__label--max,:host([has-histogram][precise]) .tick__label--min,:host([has-histogram][precise]) .tick__label--max{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-3)}.graph{color:var(--calcite-ui-foreground-3);height:48px}:host([label-ticks][ticks]) .container{padding-bottom:calc(0.875rem + var(--calcite-slider-container-font-size))}:host([has-histogram]):host([precise][label-handles]) .container{padding-bottom:calc(var(--calcite-slider-full-handle-height) + 1em)}:host([has-histogram]):host([label-handles]:not([precise])) .container{padding-bottom:calc(var(--calcite-slider-handle-size) * 0.5 + 1em)}:host([has-histogram]):host([precise]:not([label-handles])) .container{padding-bottom:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container{padding-top:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container--range{padding-bottom:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([label-handles]:not([precise])) .container{padding-top:calc(var(--calcite-slider-full-handle-height) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container{padding-top:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container--range{padding-bottom:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}::slotted(input[slot=hidden-form-input]){bottom:0 !important;left:0 !important;margin:0 !important;opacity:0 !important;outline:none !important;padding:0 !important;position:absolute !important;right:0 !important;top:0 !important;-webkit-transform:none !important;transform:none !important;-webkit-appearance:none !important;z-index:-1 !important}';export{_ as calcite_graph,w as calcite_slider}