@data-slot/slider 0.2.28 → 0.2.29
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 +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=new WeakMap;function i(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=r.get(e);i||(i=new Set,r.set(e,i)),!i.has(t)&&(i.add(t),console.warn(`[@data-slot] ${n}`))}function a(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function o(e,t){for(let n of a(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function s(e,t){return a(t).some(t=>e.hasAttribute(t))}const c=new Set([``,`true`,`1`,`yes`]),l=new Set([`false`,`0`,`no`]);function u(e,t){if(!s(e,t))return;let n=o(e,t);if(n===null)return;let r=n.toLowerCase();if(c.has(r))return!0;if(l.has(r))return!1;i(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function d(e,t){let n=o(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){i(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function f(e,t){if(s(e,t))return o(e,t)??void 0}function p(e,t,n){let r=o(e,t);if(r!==null){if(n.includes(r))return r;i(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}
|
|
1
|
+
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=new WeakMap;function i(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=r.get(e);i||(i=new Set,r.set(e,i)),!i.has(t)&&(i.add(t),console.warn(`[@data-slot] ${n}`))}function a(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function o(e,t){for(let n of a(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function s(e,t){return a(t).some(t=>e.hasAttribute(t))}const c=new Set([``,`true`,`1`,`yes`]),l=new Set([`false`,`0`,`no`]);function u(e,t){if(!s(e,t))return;let n=o(e,t);if(n===null)return;let r=n.toLowerCase();if(c.has(r))return!0;if(l.has(r))return!1;i(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function d(e,t){let n=o(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){i(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function f(e,t){if(s(e,t))return o(e,t)??void 0}function p(e,t,n){let r=o(e,t);if(r!==null){if(n.includes(r))return r;i(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const m=Symbol.for(`data-slot.portal-owner`);let h=0;const g=(e,t)=>e.id||=`${t}-${++h}`,_=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))};function v(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const y=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),b=[`horizontal`,`vertical`];function x(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 S(e){return Array.isArray(e)}function C(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 w(e,t,n){return n===t?0:(e-t)/(n-t)*100}function T(e,t,n){return e/100*(n-t)+t}function E(n,r={}){let i=e(n,`slider-track`),a=t(n,`slider-thumb`),o=e(n,`slider-range`);if(!i||a.length===0)throw Error(`Slider requires slider-track and at least one slider-thumb`);let s=i.parentElement;if(!s)throw Error(`Slider track must have a parent element (control)`);let c=r.min??d(n,`min`)??0,l=r.max??d(n,`max`)??100;c>l&&([c,l]=[l,c]);let m=r.step??d(n,`step`)??1;m<=0&&(m=1);let h=r.largeStep??d(n,`largeStep`)??m*10,E=r.orientation??p(n,`orientation`,b)??`horizontal`,D=r.disabled??u(n,`disabled`)??!1,O=r.onValueChange,k=r.onValueCommit,A=x(f(n,`defaultValue`)),j=r.defaultValue??A??c,M=a.length>=2;M&&!S(j)?j=[c,j]:!M&&S(j)&&(j=j[1]);let N=S(j)?[C(j[0],c,l,m),C(j[1],c,l,m)]:C(j,c,l,m),P=[],F=null,I=0,L=null,R=null;n.setAttribute(`data-orientation`,E);let z=e=>{e?n.setAttribute(`data-disabled`,``):n.removeAttribute(`data-disabled`);for(let t of a)_(t,`disabled`,e),t.tabIndex=e?-1:0};z(D);let B=(e,t)=>{e.setAttribute(`role`,`slider`),e.tabIndex=D?-1:0,g(e,`slider-thumb`),_(e,`orientation`,E);let n=e.hasAttribute(`aria-label`)||e.hasAttribute(`aria-labelledby`),r=e.dataset.label;r?_(e,`label`,r):!n&&M&&_(e,`label`,t===0?`Minimum`:`Maximum`)};for(let e=0;e<a.length;e++)B(a[e],e);let V=E===`horizontal`,H=()=>{if(S(N)){let[e,t]=N,n=w(e,c,l),r=w(t,c,l);a[0]&&(_(a[0],`valuenow`,String(e)),_(a[0],`valuemin`,String(c)),_(a[0],`valuemax`,String(t)),V?(a[0].style.left=`${n}%`,a[0].style.bottom=``):(a[0].style.bottom=`${n}%`,a[0].style.left=``)),a[1]&&(_(a[1],`valuenow`,String(t)),_(a[1],`valuemin`,String(e)),_(a[1],`valuemax`,String(l)),V?(a[1].style.left=`${r}%`,a[1].style.bottom=``):(a[1].style.bottom=`${r}%`,a[1].style.left=``)),o&&(V?(o.style.left=`${n}%`,o.style.width=`${r-n}%`,o.style.bottom=``,o.style.height=``):(o.style.bottom=`${n}%`,o.style.height=`${r-n}%`,o.style.left=``,o.style.width=``))}else{let e=w(N,c,l);a[0]&&(_(a[0],`valuenow`,String(N)),_(a[0],`valuemin`,String(c)),_(a[0],`valuemax`,String(l)),V?(a[0].style.left=`${e}%`,a[0].style.bottom=``):(a[0].style.bottom=`${e}%`,a[0].style.left=``)),o&&(V?(o.style.left=`0%`,o.style.width=`${e}%`,o.style.bottom=``,o.style.height=``):(o.style.bottom=`0%`,o.style.height=`${e}%`,o.style.left=``,o.style.width=``))}S(N)?n.setAttribute(`data-value`,`${N[0]},${N[1]}`):n.setAttribute(`data-value`,String(N))},U=(e,t)=>S(e)&&S(t)?e[0]===t[0]&&e[1]===t[1]:e===t,W=(e,t=!0)=>{let r;if(S(e)){let[t,n]=e;t=C(t,c,l,m),n=C(n,c,l,m),t>n&&([t,n]=[n,t]),r=[t,n]}else r=C(e,c,l,m);let i=!U(r,N);return i?(N=r,H(),t&&(y(n,`slider:change`,{value:N}),O?.(N)),!0):!1};H();let G=e=>{let t=i.getBoundingClientRect();if(V&&t.width===0||!V&&t.height===0)return null;let n;return n=V?(e.clientX-t.left)/t.width*100:(t.bottom-e.clientY)/t.height*100,n=Math.max(0,Math.min(100,n)),T(n,c,l)},K=e=>{if(!e||!(e instanceof HTMLElement))return null;let t=a.indexOf(e);if(t!==-1)return t;for(let t=0;t<a.length;t++)if(a[t].contains(e))return t;return null},q=e=>{if(!S(N))return 0;let[t,n]=N,r=Math.abs(e-t),i=Math.abs(e-n);return r===i?I:r<i?0:1},J=(e,t)=>{if(S(N)){let[n,r]=N;if(e===0){let e=C(t,c,r,m);return W([e,r])}else{let e=C(t,n,l,m);return W([n,e])}}else return W(t)},Y=e=>{if(D)return;e.preventDefault();let t=G(e);if(t===null)return;let r=K(e.target);r===null&&(r=q(t)),F=r,I=r,n.setAttribute(`data-dragging`,``),a[r]?.setAttribute(`data-dragging`,``),a[r]?.focus(),R=s.style.touchAction,s.style.touchAction=`none`,J(r,t),s.setPointerCapture(e.pointerId)},X=e=>{if(F===null||D)return;e.preventDefault();let t=G(e);t!==null&&J(F,t)},Z=e=>{if(F!==null){n.removeAttribute(`data-dragging`);for(let e of a)e.removeAttribute(`data-dragging`);s.style.touchAction=R??``,R=null,y(n,`slider:commit`,{value:N}),k?.(N),F=null;try{s.releasePointerCapture(e.pointerId)}catch{}}};P.push(v(s,`pointerdown`,Y)),P.push(v(s,`pointermove`,X)),P.push(v(s,`pointerup`,Z)),P.push(v(s,`pointercancel`,Z));let Q=e=>{if(D)return;let t=e.target,n=a.indexOf(t);if(n===-1)return;let r=0,i=null;switch(e.key){case`ArrowRight`:if(!V)return;r=m;break;case`ArrowLeft`:if(!V)return;r=-m;break;case`ArrowUp`:if(V)return;r=m;break;case`ArrowDown`:if(V)return;r=-m;break;case`PageUp`:r=h;break;case`PageDown`:r=-h;break;case`Home`:i=c;break;case`End`:i=l;break;default:return}e.shiftKey&&e.key.startsWith(`Arrow`)&&(r=r>0?h:r<0?-h:0),e.preventDefault(),I=n,L===null&&(L=S(N)?[N[0],N[1]]:N);let o=S(N)?N[n]??N[0]:N,s=i===null?o+r:i;J(n,s)},$=()=>{L!==null&&(U(L,N)||(y(n,`slider:commit`,{value:N}),k?.(N)),L=null)};for(let e of a)P.push(v(e,`keydown`,Q)),P.push(v(e,`blur`,$));let ee=e=>{if(D)return;let t=e,r=t.detail,i;if(typeof r==`number`||Array.isArray(r)?i=r:r&&typeof r==`object`&&`value`in r&&(i=r.value),i!==void 0){let e=W(i);e&&(y(n,`slider:commit`,{value:N}),k?.(N))}};P.push(v(n,`slider:set`,ee));let te={setValue:e=>{W(e)},get value(){return N},get min(){return c},get max(){return l},get disabled(){return D},destroy:()=>{P.forEach(e=>e()),P.length=0}};return te}const D=new WeakSet;function O(e=document){let t=[];for(let r of n(e,`slider`)){if(D.has(r))continue;D.add(r),t.push(E(r))}return t}exports.create=O,exports.createSlider=E;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=new WeakMap;function i(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=r.get(e);i||(i=new Set,r.set(e,i)),!i.has(t)&&(i.add(t),console.warn(`[@data-slot] ${n}`))}function a(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function o(e,t){for(let n of a(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function s(e,t){return a(t).some(t=>e.hasAttribute(t))}const c=new Set([``,`true`,`1`,`yes`]),l=new Set([`false`,`0`,`no`]);function u(e,t){if(!s(e,t))return;let n=o(e,t);if(n===null)return;let r=n.toLowerCase();if(c.has(r))return!0;if(l.has(r))return!1;i(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function d(e,t){let n=o(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){i(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function f(e,t){if(s(e,t))return o(e,t)??void 0}function p(e,t,n){let r=o(e,t);if(r!==null){if(n.includes(r))return r;i(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}
|
|
1
|
+
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=new WeakMap;function i(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=r.get(e);i||(i=new Set,r.set(e,i)),!i.has(t)&&(i.add(t),console.warn(`[@data-slot] ${n}`))}function a(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function o(e,t){for(let n of a(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function s(e,t){return a(t).some(t=>e.hasAttribute(t))}const c=new Set([``,`true`,`1`,`yes`]),l=new Set([`false`,`0`,`no`]);function u(e,t){if(!s(e,t))return;let n=o(e,t);if(n===null)return;let r=n.toLowerCase();if(c.has(r))return!0;if(l.has(r))return!1;i(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function d(e,t){let n=o(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){i(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function f(e,t){if(s(e,t))return o(e,t)??void 0}function p(e,t,n){let r=o(e,t);if(r!==null){if(n.includes(r))return r;i(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const m=Symbol.for(`data-slot.portal-owner`);let h=0;const g=(e,t)=>e.id||=`${t}-${++h}`,_=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))};function v(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const y=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),b=[`horizontal`,`vertical`];function x(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 S(e){return Array.isArray(e)}function C(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 w(e,t,n){return n===t?0:(e-t)/(n-t)*100}function T(e,t,n){return e/100*(n-t)+t}function E(n,r={}){let i=e(n,`slider-track`),a=t(n,`slider-thumb`),o=e(n,`slider-range`);if(!i||a.length===0)throw Error(`Slider requires slider-track and at least one slider-thumb`);let s=i.parentElement;if(!s)throw Error(`Slider track must have a parent element (control)`);let c=r.min??d(n,`min`)??0,l=r.max??d(n,`max`)??100;c>l&&([c,l]=[l,c]);let m=r.step??d(n,`step`)??1;m<=0&&(m=1);let h=r.largeStep??d(n,`largeStep`)??m*10,E=r.orientation??p(n,`orientation`,b)??`horizontal`,D=r.disabled??u(n,`disabled`)??!1,O=r.onValueChange,k=r.onValueCommit,A=x(f(n,`defaultValue`)),j=r.defaultValue??A??c,M=a.length>=2;M&&!S(j)?j=[c,j]:!M&&S(j)&&(j=j[1]);let N=S(j)?[C(j[0],c,l,m),C(j[1],c,l,m)]:C(j,c,l,m),P=[],F=null,I=0,L=null,R=null;n.setAttribute(`data-orientation`,E);let z=e=>{e?n.setAttribute(`data-disabled`,``):n.removeAttribute(`data-disabled`);for(let t of a)_(t,`disabled`,e),t.tabIndex=e?-1:0};z(D);let B=(e,t)=>{e.setAttribute(`role`,`slider`),e.tabIndex=D?-1:0,g(e,`slider-thumb`),_(e,`orientation`,E);let n=e.hasAttribute(`aria-label`)||e.hasAttribute(`aria-labelledby`),r=e.dataset.label;r?_(e,`label`,r):!n&&M&&_(e,`label`,t===0?`Minimum`:`Maximum`)};for(let e=0;e<a.length;e++)B(a[e],e);let V=E===`horizontal`,H=()=>{if(S(N)){let[e,t]=N,n=w(e,c,l),r=w(t,c,l);a[0]&&(_(a[0],`valuenow`,String(e)),_(a[0],`valuemin`,String(c)),_(a[0],`valuemax`,String(t)),V?(a[0].style.left=`${n}%`,a[0].style.bottom=``):(a[0].style.bottom=`${n}%`,a[0].style.left=``)),a[1]&&(_(a[1],`valuenow`,String(t)),_(a[1],`valuemin`,String(e)),_(a[1],`valuemax`,String(l)),V?(a[1].style.left=`${r}%`,a[1].style.bottom=``):(a[1].style.bottom=`${r}%`,a[1].style.left=``)),o&&(V?(o.style.left=`${n}%`,o.style.width=`${r-n}%`,o.style.bottom=``,o.style.height=``):(o.style.bottom=`${n}%`,o.style.height=`${r-n}%`,o.style.left=``,o.style.width=``))}else{let e=w(N,c,l);a[0]&&(_(a[0],`valuenow`,String(N)),_(a[0],`valuemin`,String(c)),_(a[0],`valuemax`,String(l)),V?(a[0].style.left=`${e}%`,a[0].style.bottom=``):(a[0].style.bottom=`${e}%`,a[0].style.left=``)),o&&(V?(o.style.left=`0%`,o.style.width=`${e}%`,o.style.bottom=``,o.style.height=``):(o.style.bottom=`0%`,o.style.height=`${e}%`,o.style.left=``,o.style.width=``))}S(N)?n.setAttribute(`data-value`,`${N[0]},${N[1]}`):n.setAttribute(`data-value`,String(N))},U=(e,t)=>S(e)&&S(t)?e[0]===t[0]&&e[1]===t[1]:e===t,W=(e,t=!0)=>{let r;if(S(e)){let[t,n]=e;t=C(t,c,l,m),n=C(n,c,l,m),t>n&&([t,n]=[n,t]),r=[t,n]}else r=C(e,c,l,m);let i=!U(r,N);return i?(N=r,H(),t&&(y(n,`slider:change`,{value:N}),O?.(N)),!0):!1};H();let G=e=>{let t=i.getBoundingClientRect();if(V&&t.width===0||!V&&t.height===0)return null;let n;return n=V?(e.clientX-t.left)/t.width*100:(t.bottom-e.clientY)/t.height*100,n=Math.max(0,Math.min(100,n)),T(n,c,l)},K=e=>{if(!e||!(e instanceof HTMLElement))return null;let t=a.indexOf(e);if(t!==-1)return t;for(let t=0;t<a.length;t++)if(a[t].contains(e))return t;return null},q=e=>{if(!S(N))return 0;let[t,n]=N,r=Math.abs(e-t),i=Math.abs(e-n);return r===i?I:r<i?0:1},J=(e,t)=>{if(S(N)){let[n,r]=N;if(e===0){let e=C(t,c,r,m);return W([e,r])}else{let e=C(t,n,l,m);return W([n,e])}}else return W(t)},Y=e=>{if(D)return;e.preventDefault();let t=G(e);if(t===null)return;let r=K(e.target);r===null&&(r=q(t)),F=r,I=r,n.setAttribute(`data-dragging`,``),a[r]?.setAttribute(`data-dragging`,``),a[r]?.focus(),R=s.style.touchAction,s.style.touchAction=`none`,J(r,t),s.setPointerCapture(e.pointerId)},X=e=>{if(F===null||D)return;e.preventDefault();let t=G(e);t!==null&&J(F,t)},Z=e=>{if(F!==null){n.removeAttribute(`data-dragging`);for(let e of a)e.removeAttribute(`data-dragging`);s.style.touchAction=R??``,R=null,y(n,`slider:commit`,{value:N}),k?.(N),F=null;try{s.releasePointerCapture(e.pointerId)}catch{}}};P.push(v(s,`pointerdown`,Y)),P.push(v(s,`pointermove`,X)),P.push(v(s,`pointerup`,Z)),P.push(v(s,`pointercancel`,Z));let Q=e=>{if(D)return;let t=e.target,n=a.indexOf(t);if(n===-1)return;let r=0,i=null;switch(e.key){case`ArrowRight`:if(!V)return;r=m;break;case`ArrowLeft`:if(!V)return;r=-m;break;case`ArrowUp`:if(V)return;r=m;break;case`ArrowDown`:if(V)return;r=-m;break;case`PageUp`:r=h;break;case`PageDown`:r=-h;break;case`Home`:i=c;break;case`End`:i=l;break;default:return}e.shiftKey&&e.key.startsWith(`Arrow`)&&(r=r>0?h:r<0?-h:0),e.preventDefault(),I=n,L===null&&(L=S(N)?[N[0],N[1]]:N);let o=S(N)?N[n]??N[0]:N,s=i===null?o+r:i;J(n,s)},$=()=>{L!==null&&(U(L,N)||(y(n,`slider:commit`,{value:N}),k?.(N)),L=null)};for(let e of a)P.push(v(e,`keydown`,Q)),P.push(v(e,`blur`,$));let ee=e=>{if(D)return;let t=e,r=t.detail,i;if(typeof r==`number`||Array.isArray(r)?i=r:r&&typeof r==`object`&&`value`in r&&(i=r.value),i!==void 0){let e=W(i);e&&(y(n,`slider:commit`,{value:N}),k?.(N))}};P.push(v(n,`slider:set`,ee));let te={setValue:e=>{W(e)},get value(){return N},get min(){return c},get max(){return l},get disabled(){return D},destroy:()=>{P.forEach(e=>e()),P.length=0}};return te}const D=new WeakSet;function O(e=document){let t=[];for(let r of n(e,`slider`)){if(D.has(r))continue;D.add(r),t.push(E(r))}return t}export{O as create,E as createSlider};
|