@data-slot/slider 0.2.122 → 0.2.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);const t=[`horizontal`,`vertical`]
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);const t=[`horizontal`,`vertical`],n=`@data-slot/slider`;function r(e){if(!e)return;let t=e.split(`,`).map(e=>parseFloat(e.trim()));if(!t.some(e=>isNaN(e))){if(t.length===2)return[t[0],t[1]];if(t.length===1)return t[0]}}function i(e){return Array.isArray(e)}function a(e,t,n,r){let i=Math.round((e-t)/r)*r+t,a=r.toString().split(`.`)[1]?.length??0,o=parseFloat(i.toFixed(a));return Math.min(n,Math.max(t,o))}function o(e,t,n){return n===t?0:(e-t)/(n-t)*100}function s(e,t,n){return e/100*(n-t)+t}function c(c,l={}){let u=(0,e.reuseRootBinding)(c,n,`[@data-slot/slider] createSlider() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(u)return u;let d=(0,e.getPart)(c,`slider-track`),f=(0,e.getParts)(c,`slider-thumb`),p=(0,e.getPart)(c,`slider-range`);if(!d||f.length===0)throw Error(`Slider requires slider-track and at least one slider-thumb`);let m=d.parentElement;if(!m)throw Error(`Slider track must have a parent element (control)`);let h=l.min??(0,e.getDataNumber)(c,`min`)??0,g=l.max??(0,e.getDataNumber)(c,`max`)??100;h>g&&([h,g]=[g,h]);let _=l.step??(0,e.getDataNumber)(c,`step`)??1;_<=0&&(_=1);let v=l.largeStep??(0,e.getDataNumber)(c,`largeStep`)??_*10,y=l.orientation??(0,e.getDataEnum)(c,`orientation`,t)??`horizontal`,b=l.disabled??(0,e.getDataBool)(c,`disabled`)??!1,x=l.onValueChange,S=l.onValueCommit,C=r((0,e.getDataString)(c,`defaultValue`)),w=l.defaultValue??C??h,T=f.length>=2;T&&!i(w)?w=[h,w]:!T&&i(w)&&(w=w[1]);let E=i(w)?[a(w[0],h,g,_),a(w[1],h,g,_)]:a(w,h,g,_),D=[],O=null,k=0,A=null,j=null;c.setAttribute(`data-orientation`,y),(t=>{t?c.setAttribute(`data-disabled`,``):c.removeAttribute(`data-disabled`);for(let n of f)(0,e.setAria)(n,`disabled`,t),n.tabIndex=t?-1:0})(b);let M=(t,n)=>{t.setAttribute(`role`,`slider`),t.tabIndex=b?-1:0,(0,e.ensureId)(t,`slider-thumb`),(0,e.setAria)(t,`orientation`,y);let r=t.hasAttribute(`aria-label`)||t.hasAttribute(`aria-labelledby`),i=t.dataset.label;i?(0,e.setAria)(t,`label`,i):!r&&T&&(0,e.setAria)(t,`label`,n===0?`Minimum`:`Maximum`)};for(let e=0;e<f.length;e++)M(f[e],e);let N=y===`horizontal`,P=()=>{if(i(E)){let[t,n]=E,r=o(t,h,g),i=o(n,h,g);f[0]&&((0,e.setAria)(f[0],`valuenow`,String(t)),(0,e.setAria)(f[0],`valuemin`,String(h)),(0,e.setAria)(f[0],`valuemax`,String(n)),N?(f[0].style.left=`${r}%`,f[0].style.bottom=``):(f[0].style.bottom=`${r}%`,f[0].style.left=``)),f[1]&&((0,e.setAria)(f[1],`valuenow`,String(n)),(0,e.setAria)(f[1],`valuemin`,String(t)),(0,e.setAria)(f[1],`valuemax`,String(g)),N?(f[1].style.left=`${i}%`,f[1].style.bottom=``):(f[1].style.bottom=`${i}%`,f[1].style.left=``)),p&&(N?(p.style.left=`${r}%`,p.style.width=`${i-r}%`,p.style.bottom=``,p.style.height=``):(p.style.bottom=`${r}%`,p.style.height=`${i-r}%`,p.style.left=``,p.style.width=``))}else{let t=o(E,h,g);f[0]&&((0,e.setAria)(f[0],`valuenow`,String(E)),(0,e.setAria)(f[0],`valuemin`,String(h)),(0,e.setAria)(f[0],`valuemax`,String(g)),N?(f[0].style.left=`${t}%`,f[0].style.bottom=``):(f[0].style.bottom=`${t}%`,f[0].style.left=``)),p&&(N?(p.style.left=`0%`,p.style.width=`${t}%`,p.style.bottom=``,p.style.height=``):(p.style.bottom=`0%`,p.style.height=`${t}%`,p.style.left=``,p.style.width=``))}i(E)?c.setAttribute(`data-value`,`${E[0]},${E[1]}`):c.setAttribute(`data-value`,String(E))},F=(e,t)=>i(e)&&i(t)?e[0]===t[0]&&e[1]===t[1]:e===t,I=(t,n=!0)=>{let r;if(i(t)){let[e,n]=t;e=a(e,h,g,_),n=a(n,h,g,_),e>n&&([e,n]=[n,e]),r=[e,n]}else r=a(t,h,g,_);return F(r,E)?!1:(E=r,P(),n&&((0,e.emit)(c,`slider:change`,{value:E}),x?.(E)),!0)};P();let L=e=>{let t=d.getBoundingClientRect();if(N&&t.width===0||!N&&t.height===0)return null;let n;return n=N?(e.clientX-t.left)/t.width*100:(t.bottom-e.clientY)/t.height*100,n=Math.max(0,Math.min(100,n)),s(n,h,g)},R=e=>{if(!e||!(e instanceof HTMLElement))return null;let t=f.indexOf(e);if(t!==-1)return t;for(let t=0;t<f.length;t++)if(f[t].contains(e))return t;return null},z=e=>{if(!i(E))return 0;let[t,n]=E,r=Math.abs(e-t),a=Math.abs(e-n);return r===a?k:r<a?0:1},B=(e,t)=>{if(i(E)){let[n,r]=E;return I(e===0?[a(t,h,r,_),r]:[n,a(t,n,g,_)])}else return I(t)},V=e=>{if(b)return;e.preventDefault();let t=L(e);if(t===null)return;let n=R(e.target);n===null&&(n=z(t)),O=n,k=n,c.setAttribute(`data-dragging`,``),f[n]?.setAttribute(`data-dragging`,``),f[n]?.focus(),j=m.style.touchAction,m.style.touchAction=`none`,B(n,t),m.setPointerCapture(e.pointerId)},H=e=>{if(O===null||b)return;e.preventDefault();let t=L(e);t!==null&&B(O,t)},U=t=>{if(O!==null){c.removeAttribute(`data-dragging`);for(let e of f)e.removeAttribute(`data-dragging`);m.style.touchAction=j??``,j=null,(0,e.emit)(c,`slider:commit`,{value:E}),S?.(E),O=null;try{m.releasePointerCapture(t.pointerId)}catch{}}};D.push((0,e.on)(m,`pointerdown`,V)),D.push((0,e.on)(m,`pointermove`,H)),D.push((0,e.on)(m,`pointerup`,U)),D.push((0,e.on)(m,`pointercancel`,U));let W=e=>{if(b)return;let t=e.target,n=f.indexOf(t);if(n===-1)return;let r=0,a=null;switch(e.key){case`ArrowRight`:if(!N)return;r=_;break;case`ArrowLeft`:if(!N)return;r=-_;break;case`ArrowUp`:if(N)return;r=_;break;case`ArrowDown`:if(N)return;r=-_;break;case`PageUp`:r=v;break;case`PageDown`:r=-v;break;case`Home`:a=h;break;case`End`:a=g;break;default:return}e.shiftKey&&e.key.startsWith(`Arrow`)&&(r=r>0?v:r<0?-v:0),e.preventDefault(),k=n,A===null&&(A=i(E)?[E[0],E[1]]:E);let o=i(E)?E[n]??E[0]:E;B(n,a===null?o+r:a)},G=()=>{A!==null&&(F(A,E)||((0,e.emit)(c,`slider:commit`,{value:E}),S?.(E)),A=null)};for(let t of f)D.push((0,e.on)(t,`keydown`,W)),D.push((0,e.on)(t,`blur`,G));D.push((0,e.on)(c,`slider:set`,t=>{if(b)return;let n=t.detail,r;typeof n==`number`||Array.isArray(n)?r=n:n&&typeof n==`object`&&`value`in n&&(r=n.value),r!==void 0&&I(r)&&((0,e.emit)(c,`slider:commit`,{value:E}),S?.(E))}));let K={setValue:e=>{I(e)},get value(){return E},get min(){return h},get max(){return g},get disabled(){return b},destroy:()=>{D.forEach(e=>e()),D.length=0,(0,e.clearRootBinding)(c,n,K)}};return(0,e.setRootBinding)(c,n,K),K}function l(t=document){let r=[];for(let i of(0,e.getRoots)(t,`slider`))(0,e.hasRootBinding)(i,n)||r.push(c(i));return r}exports.create=l,exports.createSlider=c;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{clearRootBinding as e,emit as t,ensureId as n,getDataBool as r,getDataEnum as i,getDataNumber as a,getDataString as o,getPart as s,getParts as c,getRoots as l,hasRootBinding as u,on as d,reuseRootBinding as f,setAria as p,setRootBinding as m}from"@data-slot/core";const h=[`horizontal`,`vertical`],g=`@data-slot/slider`;function _(e){if(!e)return;let t=e.split(`,`).map(e=>parseFloat(e.trim()));if(!t.some(e=>isNaN(e))){if(t.length===2)return[t[0],t[1]];if(t.length===1)return t[0]}}function v(e){return Array.isArray(e)}function y(e,t,n,r){let i=Math.round((e-t)/r)*r+t,a=r.toString().split(`.`)[1]?.length??0,o=parseFloat(i.toFixed(a));return Math.min(n,Math.max(t,o))}function b(e,t,n){return n===t?0:(e-t)/(n-t)*100}function x(e,t,n){return e/100*(n-t)+t}function S(l,u={}){let S=f(l,g,`[@data-slot/slider] createSlider() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(S)return S;let C=s(l,`slider-track`),w=c(l,`slider-thumb`),T=s(l,`slider-range`);if(!C||w.length===0)throw Error(`Slider requires slider-track and at least one slider-thumb`);let E=C.parentElement;if(!E)throw Error(`Slider track must have a parent element (control)`);let D=u.min??a(l,`min`)??0,O=u.max??a(l,`max`)??100;D>O&&([D,O]=[O,D]);let k=u.step??a(l,`step`)??1;k<=0&&(k=1);let A=u.largeStep??a(l,`largeStep`)??k*10,j=u.orientation??i(l,`orientation`,h)??`horizontal`,M=u.disabled??r(l,`disabled`)??!1,N=u.onValueChange,P=u.onValueCommit,ee=_(o(l,`defaultValue`)),F=u.defaultValue??ee??D,I=w.length>=2;I&&!v(F)?F=[D,F]:!I&&v(F)&&(F=F[1]);let L=v(F)?[y(F[0],D,O,k),y(F[1],D,O,k)]:y(F,D,O,k),R=[],z=null,B=0,V=null,H=null;l.setAttribute(`data-orientation`,j),(e=>{e?l.setAttribute(`data-disabled`,``):l.removeAttribute(`data-disabled`);for(let t of w)p(t,`disabled`,e),t.tabIndex=e?-1:0})(M);let te=(e,t)=>{e.setAttribute(`role`,`slider`),e.tabIndex=M?-1:0,n(e,`slider-thumb`),p(e,`orientation`,j);let r=e.hasAttribute(`aria-label`)||e.hasAttribute(`aria-labelledby`),i=e.dataset.label;i?p(e,`label`,i):!r&&I&&p(e,`label`,t===0?`Minimum`:`Maximum`)};for(let e=0;e<w.length;e++)te(w[e],e);let U=j===`horizontal`,W=()=>{if(v(L)){let[e,t]=L,n=b(e,D,O),r=b(t,D,O);w[0]&&(p(w[0],`valuenow`,String(e)),p(w[0],`valuemin`,String(D)),p(w[0],`valuemax`,String(t)),U?(w[0].style.left=`${n}%`,w[0].style.bottom=``):(w[0].style.bottom=`${n}%`,w[0].style.left=``)),w[1]&&(p(w[1],`valuenow`,String(t)),p(w[1],`valuemin`,String(e)),p(w[1],`valuemax`,String(O)),U?(w[1].style.left=`${r}%`,w[1].style.bottom=``):(w[1].style.bottom=`${r}%`,w[1].style.left=``)),T&&(U?(T.style.left=`${n}%`,T.style.width=`${r-n}%`,T.style.bottom=``,T.style.height=``):(T.style.bottom=`${n}%`,T.style.height=`${r-n}%`,T.style.left=``,T.style.width=``))}else{let e=b(L,D,O);w[0]&&(p(w[0],`valuenow`,String(L)),p(w[0],`valuemin`,String(D)),p(w[0],`valuemax`,String(O)),U?(w[0].style.left=`${e}%`,w[0].style.bottom=``):(w[0].style.bottom=`${e}%`,w[0].style.left=``)),T&&(U?(T.style.left=`0%`,T.style.width=`${e}%`,T.style.bottom=``,T.style.height=``):(T.style.bottom=`0%`,T.style.height=`${e}%`,T.style.left=``,T.style.width=``))}v(L)?l.setAttribute(`data-value`,`${L[0]},${L[1]}`):l.setAttribute(`data-value`,String(L))},G=(e,t)=>v(e)&&v(t)?e[0]===t[0]&&e[1]===t[1]:e===t,K=(e,n=!0)=>{let r;if(v(e)){let[t,n]=e;t=y(t,D,O,k),n=y(n,D,O,k),t>n&&([t,n]=[n,t]),r=[t,n]}else r=y(e,D,O,k);return G(r,L)?!1:(L=r,W(),n&&(t(l,`slider:change`,{value:L}),N?.(L)),!0)};W();let q=e=>{let t=C.getBoundingClientRect();if(U&&t.width===0||!U&&t.height===0)return null;let n;return n=U?(e.clientX-t.left)/t.width*100:(t.bottom-e.clientY)/t.height*100,n=Math.max(0,Math.min(100,n)),x(n,D,O)},J=e=>{if(!e||!(e instanceof HTMLElement))return null;let t=w.indexOf(e);if(t!==-1)return t;for(let t=0;t<w.length;t++)if(w[t].contains(e))return t;return null},Y=e=>{if(!v(L))return 0;let[t,n]=L,r=Math.abs(e-t),i=Math.abs(e-n);return r===i?B:r<i?0:1},X=(e,t)=>{if(v(L)){let[n,r]=L;return K(e===0?[y(t,D,r,k),r]:[n,y(t,n,O,k)])}else return K(t)},Z=e=>{if(M)return;e.preventDefault();let t=q(e);if(t===null)return;let n=J(e.target);n===null&&(n=Y(t)),z=n,B=n,l.setAttribute(`data-dragging`,``),w[n]?.setAttribute(`data-dragging`,``),w[n]?.focus(),H=E.style.touchAction,E.style.touchAction=`none`,X(n,t),E.setPointerCapture(e.pointerId)},ne=e=>{if(z===null||M)return;e.preventDefault();let t=q(e);t!==null&&X(z,t)},Q=e=>{if(z!==null){l.removeAttribute(`data-dragging`);for(let e of w)e.removeAttribute(`data-dragging`);E.style.touchAction=H??``,H=null,t(l,`slider:commit`,{value:L}),P?.(L),z=null;try{E.releasePointerCapture(e.pointerId)}catch{}}};R.push(d(E,`pointerdown`,Z)),R.push(d(E,`pointermove`,ne)),R.push(d(E,`pointerup`,Q)),R.push(d(E,`pointercancel`,Q));let re=e=>{if(M)return;let t=e.target,n=w.indexOf(t);if(n===-1)return;let r=0,i=null;switch(e.key){case`ArrowRight`:if(!U)return;r=k;break;case`ArrowLeft`:if(!U)return;r=-k;break;case`ArrowUp`:if(U)return;r=k;break;case`ArrowDown`:if(U)return;r=-k;break;case`PageUp`:r=A;break;case`PageDown`:r=-A;break;case`Home`:i=D;break;case`End`:i=O;break;default:return}e.shiftKey&&e.key.startsWith(`Arrow`)&&(r=r>0?A:r<0?-A:0),e.preventDefault(),B=n,V===null&&(V=v(L)?[L[0],L[1]]:L);let a=v(L)?L[n]??L[0]:L;X(n,i===null?a+r:i)},ie=()=>{V!==null&&(G(V,L)||(t(l,`slider:commit`,{value:L}),P?.(L)),V=null)};for(let e of w)R.push(d(e,`keydown`,re)),R.push(d(e,`blur`,ie));R.push(d(l,`slider:set`,e=>{if(M)return;let n=e.detail,r;typeof n==`number`||Array.isArray(n)?r=n:n&&typeof n==`object`&&`value`in n&&(r=n.value),r!==void 0&&K(r)&&(t(l,`slider:commit`,{value:L}),P?.(L))}));let $={setValue:e=>{K(e)},get value(){return L},get min(){return D},get max(){return O},get disabled(){return M},destroy:()=>{R.forEach(e=>e()),R.length=0,e(l,g,$)}};return m(l,g,$),$}function C(e=document){let t=[];for(let n of l(e,`slider`))u(n,g)||t.push(S(n));return t}export{C as create,S as createSlider};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-slot/slider",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.124",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -35,6 +35,6 @@
|
|
|
35
35
|
],
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@data-slot/core": "0.2.
|
|
38
|
+
"@data-slot/core": "0.2.124"
|
|
39
39
|
}
|
|
40
40
|
}
|