@purpurds/slider 8.8.1 → 8.9.0
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/slider.cjs.js +1 -5
- package/dist/slider.cjs.js.map +1 -1
- package/dist/slider.es.js +276 -288
- package/dist/slider.es.js.map +1 -1
- package/package.json +18 -18
- package/src/slider.test.tsx +9 -5
package/dist/slider.cjs.js
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),R=require("react");require("react-dom");function xe(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const l=xe(R);function J(e,[t,n]){return Math.min(n,Math.max(t,e))}function A(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e==null||e(s),n===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}function G(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Q(...e){return t=>{let n=!1;const r=e.map(s=>{const o=G(s,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let s=0;s<r.length;s++){const o=r[s];typeof o=="function"?o():G(e[s],null)}}}}function I(...e){return l.useCallback(Q(...e),e)}function ee(e,t=[]){let n=[];function r(o,i){const c=l.createContext(i),u=n.length;n=[...n,i];const d=a=>{var h;const{scope:f,children:b,...y}=a,m=((h=f==null?void 0:f[e])==null?void 0:h[u])||c,p=l.useMemo(()=>y,Object.values(y));return S.jsx(m.Provider,{value:p,children:b})};d.displayName=o+"Provider";function x(a,f){var m;const b=((m=f==null?void 0:f[e])==null?void 0:m[u])||c,y=l.useContext(b);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${a}\` must be used within \`${o}\``)}return[d,x]}const s=()=>{const o=n.map(i=>l.createContext(i));return function(c){const u=(c==null?void 0:c[e])||o;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return s.scopeName=e,[r,ge(s,...t)]}function ge(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(o){const i=r.reduce((c,{useScope:u,scopeName:d})=>{const a=u(o)[`__scope${d}`];return{...c,...a}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function te(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}function be({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=ye({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:r,c=te(n),u=l.useCallback(d=>{if(o){const a=typeof d=="function"?d(e):d;a!==e&&c(a)}else s(d)},[o,e,s,c]);return[i,u]}function ye({defaultProp:e,onChange:t}){const n=l.useState(e),[r]=n,s=l.useRef(r),o=te(t);return l.useEffect(()=>{s.current!==r&&(o(r),s.current=r)},[r,s,o]),n}var _e=l.createContext(void 0);function Ce(e){const t=l.useContext(_e);return e||t||"ltr"}function Re(e){const t=l.useRef({value:e,previous:e});return l.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var we=globalThis!=null&&globalThis.document?l.useLayoutEffect:()=>{};function Pe(e){const[t,n]=l.useState(void 0);return we(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const o=s[0];let i,c;if("borderBoxSize"in o){const u=o.borderBoxSize,d=Array.isArray(u)?u[0]:u;i=d.inlineSize,c=d.blockSize}else i=e.offsetWidth,c=e.offsetHeight;n({width:i,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}function F(e){const t=Ee(e),n=l.forwardRef((r,s)=>{const{children:o,...i}=r,c=l.Children.toArray(o),u=c.find(Ie);if(u){const d=u.props.children,x=c.map(a=>a===u?l.Children.count(d)>1?l.Children.only(null):l.isValidElement(d)?d.props.children:null:a);return S.jsx(t,{...i,ref:s,children:l.isValidElement(d)?l.cloneElement(d,void 0,x):null})}return S.jsx(t,{...i,ref:s,children:o})});return n.displayName=`${e}.Slot`,n}function Ee(e){const t=l.forwardRef((n,r)=>{const{children:s,...o}=n;if(l.isValidElement(s)){const i=je(s),c=Me(o,s.props);return s.type!==l.Fragment&&(c.ref=r?Q(r,i):i),l.cloneElement(s,c)}return l.Children.count(s)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var De=Symbol("radix.slottable");function Ie(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===De}function Me(e,t){const n={...t};for(const r in t){const s=e[r],o=t[r];/^on[A-Z]/.test(r)?s&&o?n[r]=(...c)=>{o(...c),s(...c)}:s&&(n[r]=s):r==="style"?n[r]={...s,...o}:r==="className"&&(n[r]=[s,o].filter(Boolean).join(" "))}return{...e,...n}}function je(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ae=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],B=Ae.reduce((e,t)=>{const n=F(`Primitive.${t}`),r=l.forwardRef((s,o)=>{const{asChild:i,...c}=s,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),S.jsx(u,{...c,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Oe(e){const t=e+"CollectionProvider",[n,r]=ee(t),[s,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{const{scope:p,children:h}=m,_=R.useRef(null),g=R.useRef(new Map).current;return S.jsx(s,{scope:p,itemMap:g,collectionRef:_,children:h})};i.displayName=t;const c=e+"CollectionSlot",u=F(c),d=R.forwardRef((m,p)=>{const{scope:h,children:_}=m,g=o(c,h),v=I(p,g.collectionRef);return S.jsx(u,{ref:v,children:_})});d.displayName=c;const x=e+"CollectionItemSlot",a="data-radix-collection-item",f=F(x),b=R.forwardRef((m,p)=>{const{scope:h,children:_,...g}=m,v=R.useRef(null),w=I(p,v),P=o(x,h);return R.useEffect(()=>(P.itemMap.set(v,{ref:v,...g}),()=>void P.itemMap.delete(v))),S.jsx(f,{[a]:"",ref:w,children:_})});b.displayName=x;function y(m){const p=o(e+"CollectionConsumer",m);return R.useCallback(()=>{const _=p.collectionRef.current;if(!_)return[];const g=Array.from(_.querySelectorAll(`[${a}]`));return Array.from(p.itemMap.values()).sort((P,N)=>g.indexOf(P.ref.current)-g.indexOf(N.ref.current))},[p.collectionRef,p.itemMap])}return[{Provider:i,Slot:d,ItemSlot:b},y,r]}var ne=["PageUp","PageDown"],re=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],oe={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},O="Slider",[H,Ne,Te]=Oe(O),[se]=ee(O,[Te]),[Ve,K]=se(O),ie=l.forwardRef((e,t)=>{const{name:n,min:r=0,max:s=100,step:o=1,orientation:i="horizontal",disabled:c=!1,minStepsBetweenThumbs:u=0,defaultValue:d=[r],value:x,onValueChange:a=()=>{},onValueCommit:f=()=>{},inverted:b=!1,form:y,...m}=e,p=l.useRef(new Set),h=l.useRef(0),g=i==="horizontal"?ke:ze,[v=[],w]=be({prop:x,defaultProp:d,onChange:C=>{var M;(M=[...p.current][h.current])==null||M.focus(),a(C)}}),P=l.useRef(v);function N(C){const E=Fe(v,C);T(C,E)}function Se(C){T(C,h.current)}function ve(){const C=P.current[h.current];v[h.current]!==C&&f(v)}function T(C,E,{commit:M}={commit:!1}){const Y=qe(o),L=Ye(Math.round((C-r)/o)*o+r,Y),V=J(L,[r,s]);w((j=[])=>{const D=Le(j,V,E);if(Ue(D,u*o)){h.current=D.indexOf(V);const X=String(D)!==String(j);return X&&M&&f(D),X?D:j}else return j})}return S.jsx(Ve,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:s,valueIndexToChangeRef:h,thumbs:p.current,values:v,orientation:i,form:y,children:S.jsx(H.Provider,{scope:e.__scopeSlider,children:S.jsx(H.Slot,{scope:e.__scopeSlider,children:S.jsx(g,{"aria-disabled":c,"data-disabled":c?"":void 0,...m,ref:t,onPointerDown:A(m.onPointerDown,()=>{c||(P.current=v)}),min:r,max:s,inverted:b,onSlideStart:c?void 0:N,onSlideMove:c?void 0:Se,onSlideEnd:c?void 0:ve,onHomeKeyDown:()=>!c&&T(r,0,{commit:!0}),onEndKeyDown:()=>!c&&T(s,v.length-1,{commit:!0}),onStepKeyDown:({event:C,direction:E})=>{if(!c){const L=ne.includes(C.key)||C.shiftKey&&re.includes(C.key)?10:1,V=h.current,j=v[V],D=o*L*E;T(j+D,V,{commit:!0})}}})})})})});ie.displayName=O;var[ce,le]=se(O,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ke=l.forwardRef((e,t)=>{const{min:n,max:r,dir:s,inverted:o,onSlideStart:i,onSlideMove:c,onSlideEnd:u,onStepKeyDown:d,...x}=e,[a,f]=l.useState(null),b=I(t,g=>f(g)),y=l.useRef(void 0),m=Ce(s),p=m==="ltr",h=p&&!o||!p&&o;function _(g){const v=y.current||a.getBoundingClientRect(),w=[0,v.width],N=q(w,h?[n,r]:[r,n]);return y.current=v,N(g-v.left)}return S.jsx(ce,{scope:e.__scopeSlider,startEdge:h?"left":"right",endEdge:h?"right":"left",direction:h?1:-1,size:"width",children:S.jsx(ae,{dir:m,"data-orientation":"horizontal",...x,ref:b,style:{...x.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:g=>{const v=_(g.clientX);i==null||i(v)},onSlideMove:g=>{const v=_(g.clientX);c==null||c(v)},onSlideEnd:()=>{y.current=void 0,u==null||u()},onStepKeyDown:g=>{const w=oe[h?"from-left":"from-right"].includes(g.key);d==null||d({event:g,direction:w?-1:1})}})})}),ze=l.forwardRef((e,t)=>{const{min:n,max:r,inverted:s,onSlideStart:o,onSlideMove:i,onSlideEnd:c,onStepKeyDown:u,...d}=e,x=l.useRef(null),a=I(t,x),f=l.useRef(void 0),b=!s;function y(m){const p=f.current||x.current.getBoundingClientRect(),h=[0,p.height],g=q(h,b?[r,n]:[n,r]);return f.current=p,g(m-p.top)}return S.jsx(ce,{scope:e.__scopeSlider,startEdge:b?"bottom":"top",endEdge:b?"top":"bottom",size:"height",direction:b?1:-1,children:S.jsx(ae,{"data-orientation":"vertical",...d,ref:a,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:m=>{const p=y(m.clientY);o==null||o(p)},onSlideMove:m=>{const p=y(m.clientY);i==null||i(p)},onSlideEnd:()=>{f.current=void 0,c==null||c()},onStepKeyDown:m=>{const h=oe[b?"from-bottom":"from-top"].includes(m.key);u==null||u({event:m,direction:h?-1:1})}})})}),ae=l.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:s,onSlideEnd:o,onHomeKeyDown:i,onEndKeyDown:c,onStepKeyDown:u,...d}=e,x=K(O,n);return S.jsx(B.span,{...d,ref:t,onKeyDown:A(e.onKeyDown,a=>{a.key==="Home"?(i(a),a.preventDefault()):a.key==="End"?(c(a),a.preventDefault()):ne.concat(re).includes(a.key)&&(u(a),a.preventDefault())}),onPointerDown:A(e.onPointerDown,a=>{const f=a.target;f.setPointerCapture(a.pointerId),a.preventDefault(),x.thumbs.has(f)?f.focus():r(a)}),onPointerMove:A(e.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&s(a)}),onPointerUp:A(e.onPointerUp,a=>{const f=a.target;f.hasPointerCapture(a.pointerId)&&(f.releasePointerCapture(a.pointerId),o(a))})})}),ue="SliderTrack",de=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,s=K(ue,n);return S.jsx(B.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...r,ref:t})});de.displayName=ue;var W="SliderRange",fe=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,s=K(W,n),o=le(W,n),i=l.useRef(null),c=I(t,i),u=s.values.length,d=s.values.map(f=>me(f,s.min,s.max)),x=u>1?Math.min(...d):0,a=100-Math.max(...d);return S.jsx(B.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...r,ref:c,style:{...e.style,[o.startEdge]:x+"%",[o.endEdge]:a+"%"}})});fe.displayName=W;var U="SliderThumb",pe=l.forwardRef((e,t)=>{const n=Ne(e.__scopeSlider),[r,s]=l.useState(null),o=I(t,c=>s(c)),i=l.useMemo(()=>r?n().findIndex(c=>c.ref.current===r):-1,[n,r]);return S.jsx(Be,{...e,ref:o,index:i})}),Be=l.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:s,...o}=e,i=K(U,n),c=le(U,n),[u,d]=l.useState(null),x=I(t,_=>d(_)),a=u?i.form||!!u.closest("form"):!0,f=Pe(u),b=i.values[r],y=b===void 0?0:me(b,i.min,i.max),m=$e(r,i.values.length),p=f==null?void 0:f[c.size],h=p?He(p,y,c.direction):0;return l.useEffect(()=>{if(u)return i.thumbs.add(u),()=>{i.thumbs.delete(u)}},[u,i.thumbs]),S.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${y}% + ${h}px)`},children:[S.jsx(H.ItemSlot,{scope:e.__scopeSlider,children:S.jsx(B.span,{role:"slider","aria-label":e["aria-label"]||m,"aria-valuemin":i.min,"aria-valuenow":b,"aria-valuemax":i.max,"aria-orientation":i.orientation,"data-orientation":i.orientation,"data-disabled":i.disabled?"":void 0,tabIndex:i.disabled?void 0:0,...o,ref:x,style:b===void 0?{display:"none"}:e.style,onFocus:A(e.onFocus,()=>{i.valueIndexToChangeRef.current=r})})}),a&&S.jsx(Ke,{name:s??(i.name?i.name+(i.values.length>1?"[]":""):void 0),form:i.form,value:b},r)]})});pe.displayName=U;var Ke=e=>{const{value:t,...n}=e,r=l.useRef(null),s=Re(t);return l.useEffect(()=>{const o=r.current,i=window.HTMLInputElement.prototype,u=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==t&&u){const d=new Event("input",{bubbles:!0});u.call(o,t),o.dispatchEvent(d)}},[s,t]),S.jsx("input",{style:{display:"none"},...n,ref:r,defaultValue:t})};function Le(e=[],t,n){const r=[...e];return r[n]=t,r.sort((s,o)=>s-o)}function me(e,t,n){const o=100/(n-t)*(e-t);return J(o,[0,100])}function $e(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function Fe(e,t){if(e.length===1)return 0;const n=e.map(s=>Math.abs(s-t)),r=Math.min(...n);return n.indexOf(r)}function He(e,t,n){const r=e/2,o=q([0,50],[0,r]);return(r-o(t)*n)*n}function We(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ue(e,t){if(t>0){const n=We(e);return Math.min(...n)>=t}return!0}function q(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function qe(e){return(String(e).split(".")[1]||"").length}function Ye(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var Xe=ie,Ge=de,Ze=fe,Je=pe;function Qe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var $={exports:{}};/*!
|
|
2
|
-
Copyright (c) 2018 Jed Watson.
|
|
3
|
-
Licensed under the MIT License (MIT), see
|
|
4
|
-
http://jedwatson.github.io/classnames
|
|
5
|
-
*/var Z;function et(){return Z||(Z=1,(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var o="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(o=s(o,r.call(this,c)))}return o}function r(o){if(typeof o=="string"||typeof o=="number")return this&&this[o]||o;if(typeof o!="object")return"";if(Array.isArray(o))return n.apply(this,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var i="";for(var c in o)t.call(o,c)&&o[c]&&(i=s(i,this&&this[c]||c));return i}function s(o,i){return i?o?o+" "+i:o+i:o}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})($)),$.exports}var tt=et();const nt=Qe(tt),rt={"purpur-slider":"_purpur-slider_14tuk_1","purpur-slider__track":"_purpur-slider__track_14tuk_17","purpur-slider__range":"_purpur-slider__range_14tuk_17","purpur-slider__thumb":"_purpur-slider__thumb_14tuk_43"},k=nt.bind(rt),ot=["horizontal","vertical"],z="purpur-slider",st=e=>String(e),it=({"aria-label":e,"aria-valuetext":t,className:n,defaultValue:r,id:s,value:o,...i},c)=>{const u=R.useId(),d=o||r;return S.jsxs(Xe,{...i,id:s||u,ref:c,className:k(z,n),value:o,defaultValue:r,children:[S.jsx(Ge,{className:k(`${z}__track`),children:S.jsx(Ze,{className:k(`${z}__range`)})}),d==null?void 0:d.map((x,a)=>S.jsx(Je,{className:k(`${z}__thumb`),"aria-label":e,"aria-valuetext":t},st(a)))]})},he=R.forwardRef(it);he.displayName="Slider";exports.SLIDER_ORIENTATION=ot;exports.Slider=he;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),R=require("react");require("react-dom");function ge(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const l=ge(R);function J(e,[t,n]){return Math.min(n,Math.max(t,e))}function j(e,t,{checkForDefaultPrevented:n=!0}={}){return function(s){if(e?.(s),n===!1||!s.defaultPrevented)return t?.(s)}}function G(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Q(...e){return t=>{let n=!1;const r=e.map(s=>{const o=G(s,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let s=0;s<r.length;s++){const o=r[s];typeof o=="function"?o():G(e[s],null)}}}}function M(...e){return l.useCallback(Q(...e),e)}function ee(e,t=[]){let n=[];function r(o,i){const c=l.createContext(i),u=n.length;n=[...n,i];const d=a=>{const{scope:m,children:b,...y}=a,S=m?.[e]?.[u]||c,f=l.useMemo(()=>y,Object.values(y));return p.jsx(S.Provider,{value:f,children:b})};d.displayName=o+"Provider";function g(a,m){const b=m?.[e]?.[u]||c,y=l.useContext(b);if(y)return y;if(i!==void 0)return i;throw new Error(`\`${a}\` must be used within \`${o}\``)}return[d,g]}const s=()=>{const o=n.map(i=>l.createContext(i));return function(c){const u=c?.[e]||o;return l.useMemo(()=>({[`__scope${e}`]:{...c,[e]:u}}),[c,u])}};return s.scopeName=e,[r,xe(s,...t)]}function xe(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(o){const i=r.reduce((c,{useScope:u,scopeName:d})=>{const a=u(o)[`__scope${d}`];return{...c,...a}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}function te(e){const t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>(...n)=>t.current?.(...n),[])}function be({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,s]=ye({defaultProp:t,onChange:n}),o=e!==void 0,i=o?e:r,c=te(n),u=l.useCallback(d=>{if(o){const a=typeof d=="function"?d(e):d;a!==e&&c(a)}else s(d)},[o,e,s,c]);return[i,u]}function ye({defaultProp:e,onChange:t}){const n=l.useState(e),[r]=n,s=l.useRef(r),o=te(t);return l.useEffect(()=>{s.current!==r&&(o(r),s.current=r)},[r,s,o]),n}var _e=l.createContext(void 0);function we(e){const t=l.useContext(_e);return e||t||"ltr"}function Re(e){const t=l.useRef({value:e,previous:e});return l.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Ce=globalThis?.document?l.useLayoutEffect:()=>{};function Pe(e){const[t,n]=l.useState(void 0);return Ce(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const o=s[0];let i,c;if("borderBoxSize"in o){const u=o.borderBoxSize,d=Array.isArray(u)?u[0]:u;i=d.inlineSize,c=d.blockSize}else i=e.offsetWidth,c=e.offsetHeight;n({width:i,height:c})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}function $(e){const t=Ee(e),n=l.forwardRef((r,s)=>{const{children:o,...i}=r,c=l.Children.toArray(o),u=c.find(Me);if(u){const d=u.props.children,g=c.map(a=>a===u?l.Children.count(d)>1?l.Children.only(null):l.isValidElement(d)?d.props.children:null:a);return p.jsx(t,{...i,ref:s,children:l.isValidElement(d)?l.cloneElement(d,void 0,g):null})}return p.jsx(t,{...i,ref:s,children:o})});return n.displayName=`${e}.Slot`,n}function Ee(e){const t=l.forwardRef((n,r)=>{const{children:s,...o}=n;if(l.isValidElement(s)){const i=je(s),c=Ie(o,s.props);return s.type!==l.Fragment&&(c.ref=r?Q(r,i):i),l.cloneElement(s,c)}return l.Children.count(s)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var De=Symbol("radix.slottable");function Me(e){return l.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===De}function Ie(e,t){const n={...t};for(const r in t){const s=e[r],o=t[r];/^on[A-Z]/.test(r)?s&&o?n[r]=(...c)=>{o(...c),s(...c)}:s&&(n[r]=s):r==="style"?n[r]={...s,...o}:r==="className"&&(n[r]=[s,o].filter(Boolean).join(" "))}return{...e,...n}}function je(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ae=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],z=Ae.reduce((e,t)=>{const n=$(`Primitive.${t}`),r=l.forwardRef((s,o)=>{const{asChild:i,...c}=s,u=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(u,{...c,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Oe(e){const t=e+"CollectionProvider",[n,r]=ee(t),[s,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=S=>{const{scope:f,children:h}=S,_=R.useRef(null),x=R.useRef(new Map).current;return p.jsx(s,{scope:f,itemMap:x,collectionRef:_,children:h})};i.displayName=t;const c=e+"CollectionSlot",u=$(c),d=R.forwardRef((S,f)=>{const{scope:h,children:_}=S,x=o(c,h),v=M(f,x.collectionRef);return p.jsx(u,{ref:v,children:_})});d.displayName=c;const g=e+"CollectionItemSlot",a="data-radix-collection-item",m=$(g),b=R.forwardRef((S,f)=>{const{scope:h,children:_,...x}=S,v=R.useRef(null),C=M(f,v),P=o(g,h);return R.useEffect(()=>(P.itemMap.set(v,{ref:v,...x}),()=>void P.itemMap.delete(v))),p.jsx(m,{[a]:"",ref:C,children:_})});b.displayName=g;function y(S){const f=o(e+"CollectionConsumer",S);return R.useCallback(()=>{const _=f.collectionRef.current;if(!_)return[];const x=Array.from(_.querySelectorAll(`[${a}]`));return Array.from(f.itemMap.values()).sort((P,O)=>x.indexOf(P.ref.current)-x.indexOf(O.ref.current))},[f.collectionRef,f.itemMap])}return[{Provider:i,Slot:d,ItemSlot:b},y,r]}var ne=["PageUp","PageDown"],oe=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],re={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},A="Slider",[F,Ne,Te]=Oe(A),[se]=ee(A,[Te]),[Ve,K]=se(A),ie=l.forwardRef((e,t)=>{const{name:n,min:r=0,max:s=100,step:o=1,orientation:i="horizontal",disabled:c=!1,minStepsBetweenThumbs:u=0,defaultValue:d=[r],value:g,onValueChange:a=()=>{},onValueCommit:m=()=>{},inverted:b=!1,form:y,...S}=e,f=l.useRef(new Set),h=l.useRef(0),x=i==="horizontal"?ke:ze,[v=[],C]=be({prop:g,defaultProp:d,onChange:w=>{[...f.current][h.current]?.focus(),a(w)}}),P=l.useRef(v);function O(w){const E=$e(v,w);N(w,E)}function he(w){N(w,h.current)}function ve(){const w=P.current[h.current];v[h.current]!==w&&m(v)}function N(w,E,{commit:B}={commit:!1}){const Y=qe(o),L=Ye(Math.round((w-r)/o)*o+r,Y),T=J(L,[r,s]);C((I=[])=>{const D=Le(I,T,E);if(Ue(D,u*o)){h.current=D.indexOf(T);const X=String(D)!==String(I);return X&&B&&m(D),X?D:I}else return I})}return p.jsx(Ve,{scope:e.__scopeSlider,name:n,disabled:c,min:r,max:s,valueIndexToChangeRef:h,thumbs:f.current,values:v,orientation:i,form:y,children:p.jsx(F.Provider,{scope:e.__scopeSlider,children:p.jsx(F.Slot,{scope:e.__scopeSlider,children:p.jsx(x,{"aria-disabled":c,"data-disabled":c?"":void 0,...S,ref:t,onPointerDown:j(S.onPointerDown,()=>{c||(P.current=v)}),min:r,max:s,inverted:b,onSlideStart:c?void 0:O,onSlideMove:c?void 0:he,onSlideEnd:c?void 0:ve,onHomeKeyDown:()=>!c&&N(r,0,{commit:!0}),onEndKeyDown:()=>!c&&N(s,v.length-1,{commit:!0}),onStepKeyDown:({event:w,direction:E})=>{if(!c){const L=ne.includes(w.key)||w.shiftKey&&oe.includes(w.key)?10:1,T=h.current,I=v[T],D=o*L*E;N(I+D,T,{commit:!0})}}})})})})});ie.displayName=A;var[ce,le]=se(A,{startEdge:"left",endEdge:"right",size:"width",direction:1}),ke=l.forwardRef((e,t)=>{const{min:n,max:r,dir:s,inverted:o,onSlideStart:i,onSlideMove:c,onSlideEnd:u,onStepKeyDown:d,...g}=e,[a,m]=l.useState(null),b=M(t,x=>m(x)),y=l.useRef(void 0),S=we(s),f=S==="ltr",h=f&&!o||!f&&o;function _(x){const v=y.current||a.getBoundingClientRect(),C=[0,v.width],O=q(C,h?[n,r]:[r,n]);return y.current=v,O(x-v.left)}return p.jsx(ce,{scope:e.__scopeSlider,startEdge:h?"left":"right",endEdge:h?"right":"left",direction:h?1:-1,size:"width",children:p.jsx(ae,{dir:S,"data-orientation":"horizontal",...g,ref:b,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:x=>{const v=_(x.clientX);i?.(v)},onSlideMove:x=>{const v=_(x.clientX);c?.(v)},onSlideEnd:()=>{y.current=void 0,u?.()},onStepKeyDown:x=>{const C=re[h?"from-left":"from-right"].includes(x.key);d?.({event:x,direction:C?-1:1})}})})}),ze=l.forwardRef((e,t)=>{const{min:n,max:r,inverted:s,onSlideStart:o,onSlideMove:i,onSlideEnd:c,onStepKeyDown:u,...d}=e,g=l.useRef(null),a=M(t,g),m=l.useRef(void 0),b=!s;function y(S){const f=m.current||g.current.getBoundingClientRect(),h=[0,f.height],x=q(h,b?[r,n]:[n,r]);return m.current=f,x(S-f.top)}return p.jsx(ce,{scope:e.__scopeSlider,startEdge:b?"bottom":"top",endEdge:b?"top":"bottom",size:"height",direction:b?1:-1,children:p.jsx(ae,{"data-orientation":"vertical",...d,ref:a,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:S=>{const f=y(S.clientY);o?.(f)},onSlideMove:S=>{const f=y(S.clientY);i?.(f)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:S=>{const h=re[b?"from-bottom":"from-top"].includes(S.key);u?.({event:S,direction:h?-1:1})}})})}),ae=l.forwardRef((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:s,onSlideEnd:o,onHomeKeyDown:i,onEndKeyDown:c,onStepKeyDown:u,...d}=e,g=K(A,n);return p.jsx(z.span,{...d,ref:t,onKeyDown:j(e.onKeyDown,a=>{a.key==="Home"?(i(a),a.preventDefault()):a.key==="End"?(c(a),a.preventDefault()):ne.concat(oe).includes(a.key)&&(u(a),a.preventDefault())}),onPointerDown:j(e.onPointerDown,a=>{const m=a.target;m.setPointerCapture(a.pointerId),a.preventDefault(),g.thumbs.has(m)?m.focus():r(a)}),onPointerMove:j(e.onPointerMove,a=>{a.target.hasPointerCapture(a.pointerId)&&s(a)}),onPointerUp:j(e.onPointerUp,a=>{const m=a.target;m.hasPointerCapture(a.pointerId)&&(m.releasePointerCapture(a.pointerId),o(a))})})}),ue="SliderTrack",de=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,s=K(ue,n);return p.jsx(z.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...r,ref:t})});de.displayName=ue;var W="SliderRange",fe=l.forwardRef((e,t)=>{const{__scopeSlider:n,...r}=e,s=K(W,n),o=le(W,n),i=l.useRef(null),c=M(t,i),u=s.values.length,d=s.values.map(m=>me(m,s.min,s.max)),g=u>1?Math.min(...d):0,a=100-Math.max(...d);return p.jsx(z.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...r,ref:c,style:{...e.style,[o.startEdge]:g+"%",[o.endEdge]:a+"%"}})});fe.displayName=W;var U="SliderThumb",pe=l.forwardRef((e,t)=>{const n=Ne(e.__scopeSlider),[r,s]=l.useState(null),o=M(t,c=>s(c)),i=l.useMemo(()=>r?n().findIndex(c=>c.ref.current===r):-1,[n,r]);return p.jsx(Ke,{...e,ref:o,index:i})}),Ke=l.forwardRef((e,t)=>{const{__scopeSlider:n,index:r,name:s,...o}=e,i=K(U,n),c=le(U,n),[u,d]=l.useState(null),g=M(t,_=>d(_)),a=u?i.form||!!u.closest("form"):!0,m=Pe(u),b=i.values[r],y=b===void 0?0:me(b,i.min,i.max),S=He(r,i.values.length),f=m?.[c.size],h=f?Fe(f,y,c.direction):0;return l.useEffect(()=>{if(u)return i.thumbs.add(u),()=>{i.thumbs.delete(u)}},[u,i.thumbs]),p.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${y}% + ${h}px)`},children:[p.jsx(F.ItemSlot,{scope:e.__scopeSlider,children:p.jsx(z.span,{role:"slider","aria-label":e["aria-label"]||S,"aria-valuemin":i.min,"aria-valuenow":b,"aria-valuemax":i.max,"aria-orientation":i.orientation,"data-orientation":i.orientation,"data-disabled":i.disabled?"":void 0,tabIndex:i.disabled?void 0:0,...o,ref:g,style:b===void 0?{display:"none"}:e.style,onFocus:j(e.onFocus,()=>{i.valueIndexToChangeRef.current=r})})}),a&&p.jsx(Be,{name:s??(i.name?i.name+(i.values.length>1?"[]":""):void 0),form:i.form,value:b},r)]})});pe.displayName=U;var Be=e=>{const{value:t,...n}=e,r=l.useRef(null),s=Re(t);return l.useEffect(()=>{const o=r.current,i=window.HTMLInputElement.prototype,u=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==t&&u){const d=new Event("input",{bubbles:!0});u.call(o,t),o.dispatchEvent(d)}},[s,t]),p.jsx("input",{style:{display:"none"},...n,ref:r,defaultValue:t})};function Le(e=[],t,n){const r=[...e];return r[n]=t,r.sort((s,o)=>s-o)}function me(e,t,n){const o=100/(n-t)*(e-t);return J(o,[0,100])}function He(e,t){return t>2?`Value ${e+1} of ${t}`:t===2?["Minimum","Maximum"][e]:void 0}function $e(e,t){if(e.length===1)return 0;const n=e.map(s=>Math.abs(s-t)),r=Math.min(...n);return n.indexOf(r)}function Fe(e,t,n){const r=e/2,o=q([0,50],[0,r]);return(r-o(t)*n)*n}function We(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function Ue(e,t){if(t>0){const n=We(e);return Math.min(...n)>=t}return!0}function q(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function qe(e){return(String(e).split(".")[1]||"").length}function Ye(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}var Xe=ie,Ge=de,Ze=fe,Je=pe;function Qe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var H={exports:{}};var Z;function et(){return Z||(Z=1,(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var o="",i=0;i<arguments.length;i++){var c=arguments[i];c&&(o=s(o,r.call(this,c)))}return o}function r(o){if(typeof o=="string"||typeof o=="number")return this&&this[o]||o;if(typeof o!="object")return"";if(Array.isArray(o))return n.apply(this,o);if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]"))return o.toString();var i="";for(var c in o)t.call(o,c)&&o[c]&&(i=s(i,this&&this[c]||c));return i}function s(o,i){return i?o?o+" "+i:o+i:o}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})(H)),H.exports}var tt=et();const nt=Qe(tt),ot={"purpur-slider":"_purpur-slider_14tuk_1","purpur-slider__track":"_purpur-slider__track_14tuk_17","purpur-slider__range":"_purpur-slider__range_14tuk_17","purpur-slider__thumb":"_purpur-slider__thumb_14tuk_43"},V=nt.bind(ot),rt=["horizontal","vertical"],k="purpur-slider",st=e=>String(e),it=({"aria-label":e,"aria-valuetext":t,className:n,defaultValue:r,id:s,value:o,...i},c)=>{const u=R.useId(),d=o||r;return p.jsxs(Xe,{...i,id:s||u,ref:c,className:V(k,n),value:o,defaultValue:r,children:[p.jsx(Ge,{className:V(`${k}__track`),children:p.jsx(Ze,{className:V(`${k}__range`)})}),d?.map((g,a)=>p.jsx(Je,{className:V(`${k}__thumb`),"aria-label":e,"aria-valuetext":t},st(a)))]})},Se=R.forwardRef(it);Se.displayName="Slider";exports.SLIDER_ORIENTATION=rt;exports.Slider=Se;
|
|
6
2
|
//# sourceMappingURL=slider.cjs.js.map
|
package/dist/slider.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.2.0_@types+react@19.2.3_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.3_@types+react-dom@19.2.3_@types+react@19.2.3_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-collection@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.3_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-collection/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slider@1.2.4_@types+react-dom@19.2.3_@types+react@19.2.3_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-slider/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/slider.tsx"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/slider/src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { value, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\"input\", { style: { display: \"none\" }, ...inputProps, ref, defaultValue: value });\n};\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { type ForwardedRef, forwardRef, useId } from \"react\";\nimport { Range, Root, Thumb, Track } from \"@radix-ui/react-slider\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./slider.module.scss\";\nconst cx = c.bind(styles);\n\ntype SliderValue = [number] | [number, number];\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport const SLIDER_ORIENTATION = [\"horizontal\", \"vertical\"] as const;\n\nexport type SliderProps<T extends SliderValue> = StylingProps & {\n [\"data-testid\"]?: string;\n /* The aria-label is set to each thumb. */\n [\"aria-label\"]: string;\n /* Human-readable text alternative for aria-valuenow (aria-valuenow is set to `value` by radix under the hood). Use when the numeric value alone doesn't clearly represent the actual value. */\n [\"aria-valuetext\"]: string;\n /**\n * The value of the slider when initially rendered. Use when you do not need to control the state of the slider.\n `T = <T extends [number] | [number, number]>`\n */\n defaultValue?: T;\n /* The id of the slider. */\n id?: string;\n /* The maximum value for the range. */\n max?: number;\n /* The minimum value for the range. */\n min?: number;\n /* The minimum permitted steps between multiple thumbs. */\n minStepsBetweenThumbs?: number;\n /* The name of the slider. Submitted with its owning form as part of a name/value pair. */\n name?: string;\n /* The orientation of the slider. */\n orientation?: (typeof SLIDER_ORIENTATION)[number];\n /* The stepping interval. */\n step?: number;\n /* The controlled value of the slider. Must be used in conjunction with onValueChange. */\n value?: T;\n /* Event handler called when the value changes. */\n onValueChange?(value: T): void;\n};\n\nconst rootClassName = \"purpur-slider\";\n\nconst getKey = (index: number) => String(index);\n\nconst SliderComponent = <T extends SliderValue>(\n {\n \"aria-label\": ariaLabel,\n \"aria-valuetext\": ariaValueText,\n className,\n defaultValue,\n id,\n value,\n ...props\n }: SliderProps<T>,\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n const internalId = useId();\n const internalValue = value || defaultValue;\n\n return (\n <Root\n {...props}\n id={id || internalId}\n ref={ref}\n className={cx(rootClassName, className)}\n value={value}\n defaultValue={defaultValue}\n >\n <Track className={cx(`${rootClassName}__track`)}>\n <Range className={cx(`${rootClassName}__range`)} />\n </Track>\n {internalValue?.map((_, index) => (\n <Thumb\n key={getKey(index)}\n className={cx(`${rootClassName}__thumb`)}\n aria-label={ariaLabel}\n aria-valuetext={ariaValueText}\n />\n ))}\n </Root>\n );\n};\n\nexport const Slider = forwardRef(SliderComponent);\n\nSlider.displayName = \"Slider\";\n"],"names":["clamp","value","min","max","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","_a","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","useCallbackRef","callback","callbackRef","args","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","DirectionContext","useDirection","localDir","globalDir","usePrevious","useLayoutEffect2","useSize","element","size","setSize","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","getter","mayWarn","_b","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","itemMap","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","createSliderContext","SliderProvider","useSliderContext","Slider","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","rectRef","direction","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","item","SliderThumbImpl","thumbProps","isFormControl","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","BubbleInput","inputProps","inputProto","percentage","totalValues","distances","closestDistance","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","cx","c","styles","SLIDER_ORIENTATION","rootClassName","getKey","SliderComponent","ariaLabel","ariaValueText","className","id","internalId","useId","internalValue","_","forwardRef"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
|
|
1
|
+
{"version":3,"file":"slider.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/@radix-ui+number@1.1.1/node_modules/@radix-ui/number/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-direction/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.2.0_@types+react@19.2.6_react@19.2.0/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.3_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-collection@1.1.3_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-collection/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slider@1.2.4_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.0_react@19.2.0/node_modules/@radix-ui/react-slider/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/slider.tsx"],"sourcesContent":["// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\nexport {\n clamp\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/slider/src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { value, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\"input\", { style: { display: \"none\" }, ...inputProps, ref, defaultValue: value });\n};\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { type ForwardedRef, forwardRef, useId } from \"react\";\nimport { Range, Root, Thumb, Track } from \"@radix-ui/react-slider\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./slider.module.scss\";\nconst cx = c.bind(styles);\n\ntype SliderValue = [number] | [number, number];\ntype StylingProps = Pick<React.HTMLAttributes<HTMLElement>, \"className\" | \"style\">;\n\nexport const SLIDER_ORIENTATION = [\"horizontal\", \"vertical\"] as const;\n\nexport type SliderProps<T extends SliderValue> = StylingProps & {\n [\"data-testid\"]?: string;\n /* The aria-label is set to each thumb. */\n [\"aria-label\"]: string;\n /* Human-readable text alternative for aria-valuenow (aria-valuenow is set to `value` by radix under the hood). Use when the numeric value alone doesn't clearly represent the actual value. */\n [\"aria-valuetext\"]: string;\n /**\n * The value of the slider when initially rendered. Use when you do not need to control the state of the slider.\n `T = <T extends [number] | [number, number]>`\n */\n defaultValue?: T;\n /* The id of the slider. */\n id?: string;\n /* The maximum value for the range. */\n max?: number;\n /* The minimum value for the range. */\n min?: number;\n /* The minimum permitted steps between multiple thumbs. */\n minStepsBetweenThumbs?: number;\n /* The name of the slider. Submitted with its owning form as part of a name/value pair. */\n name?: string;\n /* The orientation of the slider. */\n orientation?: (typeof SLIDER_ORIENTATION)[number];\n /* The stepping interval. */\n step?: number;\n /* The controlled value of the slider. Must be used in conjunction with onValueChange. */\n value?: T;\n /* Event handler called when the value changes. */\n onValueChange?(value: T): void;\n};\n\nconst rootClassName = \"purpur-slider\";\n\nconst getKey = (index: number) => String(index);\n\nconst SliderComponent = <T extends SliderValue>(\n {\n \"aria-label\": ariaLabel,\n \"aria-valuetext\": ariaValueText,\n className,\n defaultValue,\n id,\n value,\n ...props\n }: SliderProps<T>,\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n const internalId = useId();\n const internalValue = value || defaultValue;\n\n return (\n <Root\n {...props}\n id={id || internalId}\n ref={ref}\n className={cx(rootClassName, className)}\n value={value}\n defaultValue={defaultValue}\n >\n <Track className={cx(`${rootClassName}__track`)}>\n <Range className={cx(`${rootClassName}__range`)} />\n </Track>\n {internalValue?.map((_, index) => (\n <Thumb\n key={getKey(index)}\n className={cx(`${rootClassName}__thumb`)}\n aria-label={ariaLabel}\n aria-valuetext={ariaValueText}\n />\n ))}\n </Root>\n );\n};\n\nexport const Slider = forwardRef(SliderComponent);\n\nSlider.displayName = \"Slider\";\n"],"names":["clamp","value","min","max","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","useCallbackRef","callback","callbackRef","args","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","DirectionContext","useDirection","localDir","globalDir","usePrevious","useLayoutEffect2","useSize","element","size","setSize","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","itemMap","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b","PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","createSliderContext","SliderProvider","useSliderContext","Slider","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","rectRef","direction","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","item","SliderThumbImpl","thumbProps","isFormControl","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","BubbleInput","inputProps","inputProto","percentage","totalValues","distances","closestDistance","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","cx","c","styles","SLIDER_ORIENTATION","rootClassName","getKey","SliderComponent","ariaLabel","ariaValueText","className","id","internalId","useId","internalValue","_","forwardRef"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
|