/
tcrs-generated-labels.min.js
49 lines (43 loc) · 3.69 KB
/
tcrs-generated-labels.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
Tool Cool Range Slider - Generated Labels Plugin v1.0.8
https://github.com/mzusin/toolcool-range-slider
MIT License
Copyright (c) 2022-present, Miriam Zusin
*/
(()=>{var E=s=>s==null?!1:typeof s=="boolean"?s:s.trim().toLowerCase()==="true";window.tcRangeSliderPlugins=window.tcRangeSliderPlugins||[];var F="min-label",H="max-label",y="#1E293B",A=()=>{let s=null,b=null,i=null,L,m=!1,n=y,l="",x,r=null,o=null,u=null,g=[],S=()=>{var t;let e=(t=s==null?void 0:s.shadowRoot)==null?void 0:t.querySelector(".range-slider-box");r=document.createElement("div"),r.classList.add("labels-row"),e.prepend(r)},v=e=>{let t=document.createElement("label");return t.className=e,t.setAttribute("for","range-slider"),t},C=()=>{o=v(F),o.textContent=f(i==null?void 0:i.getTextMin(),l),u=v(H),u.textContent=f(i==null?void 0:i.getTextMax(),l),b==null||b.before(o),b==null||b.after(u);let e=i==null?void 0:i.getValues();if(!!e)for(let t=0;t<e.length;t++){let a=v(`value${t+1}-label generated-label`);a.textContent=f(e[t],l),g.push(a),r==null||r.append(a)}},I=()=>{for(let e of g)!e||e.remove();o==null||o.remove(),u==null||u.remove(),r==null||r.remove(),g=[]},M=e=>{m=e,m?(S(),C()):I()},T=e=>{n=e;for(let t of g)!t||(t.style.color=n!=null?n:y);o&&(o.style.color=n!=null?n:y),u&&(u.style.color=n!=null?n:y)},h=e=>{l=e,L&&L()},P=()=>{!i||!r||r.classList.toggle("is-reversed",i.isRightToLeft()||i.isBottomToTop())},f=(e,t)=>{let a=`${(e!=null?e:"").toString()}${t}`;return!!x&&typeof x=="function"?x(e):a};return{get name(){return"Generated Labels"},init:(e,t,a,d)=>{var c,p,w;s=e,i=d,b=(c=e.shadowRoot)==null?void 0:c.getElementById("range-slider"),L=t,n=(p=s.getAttribute("generate-labels-text-color"))!=null?p:y,l=(w=s.getAttribute("generate-labels-units"))!=null?w:"",M(E(s.getAttribute("generate-labels"))),P(),T(n)},update:e=>{if(!(!m||!e.values)){P();for(let t=0;t<e.values.length;t++){let a=e.values[t],d=g[t];if(a===void 0&&!!d){d.remove(),g[t]=void 0;continue}if(a!==void 0&&!d){let c=v(`value${t+1}-label generated-label`);if(c.textContent=f(a,l),g[t]=c,e.values.length<=0)r==null||r.append(c);else if(t===0)r==null||r.append(c);else{let p=g[t-1];p==null||p.after(c)}continue}!d||(d.textContent=f(a,l))}o&&(o.textContent=f(e.textMin,l)),u&&(u.textContent=f(e.textMax,l)),T(n)}},onAttrChange:(e,t)=>{e==="generate-labels"&&M(E(t)),e==="generate-labels-text-color"&&T(t),e==="generate-labels-units"&&h(t)},gettersAndSetters:[{name:"generateLabels",attributes:{get(){return m!=null?m:!1},set:e=>{M(E(e))}}},{name:"textColor",attributes:{get(){return n!=null?n:""},set:e=>{T(e)}}},{name:"generateLabelsTextColor",attributes:{get(){return n!=null?n:""},set:e=>{T(e)}}},{name:"units",attributes:{get(){return l!=null?l:""},set:e=>{h(e)}}},{name:"generateLabelsUnits",attributes:{get(){return l!=null?l:""},set:e=>{h(e)}}},{name:"generateLabelsFormat",attributes:{get(){return x},set:e=>{x=e,L&&L()}}}],css:`
.labels-row{
text-align: center;
display: flex;
justify-content: center;
}
.is-reversed,
.is-reversed + .row{
flex-direction: row-reverse;
}
.type-vertical{
position: relative;
}
.type-vertical .labels-row{
flex-direction: column;
position: absolute;
top: 50%;
right: -100%;
transform: translateY(-50%);
}
.type-vertical .is-reversed,
.type-vertical .is-reversed + .row{
flex-direction: column-reverse;
}
.max-label,
.min-label{
margin: 0 1rem;
width: 2rem;
text-align: center;
white-space: nowrap;
}
.generated-label{
text-align: center;
margin: 0 0.5rem;
white-space: nowrap;
}
`,destroy:I}};window.tcRangeSliderPlugins.push(A);var O=A;})();