// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later // @source: https://gitlab.com/soapbox-pub/ditto/-/tree/f0a3877c import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{qi as t}from"./lucide-icons-BdRF0moN.js";import{t as n}from"./jsx-runtime-By8HlURe.js";import{t as r}from"./utils-BFSTDHdM.js";import{n as i}from"./dist-BI-be9Ir.js";import{r as a}from"./dist-Bz2abD7M.js";import{t as o}from"./dist-BMrfXngQ.js";import{t as s}from"./dist-wmZSqlsD.js";import{t as c}from"./dist-CxcvWxxD.js";import{t as l}from"./dist-CpRh64jj.js";import{t as u}from"./dist-B2RAV5d5.js";import{t as d}from"./dist-D7z3WTXi.js";import{t as f}from"./dist-DjUhKbpW.js";import{t as p}from"./dist-C2J943E6.js";var m=e(t(),1),h=n(),g=[`PageUp`,`PageDown`],_=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],v={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},y=`Slider`,[b,x,S]=d(y),[C,w]=a(y,[S]),[T,E]=C(y),D=m.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:s=`horizontal`,disabled:l=!1,minStepsBetweenThumbs:u=0,defaultValue:d=[r],value:f,onValueChange:v=()=>{},onValueCommit:y=()=>{},inverted:x=!1,form:S,...C}=e,w=m.useRef(new Set),E=m.useRef(0),D=s===`horizontal`?A:j,[O=[],k]=o({prop:f,defaultProp:d,onChange:e=>{[...w.current][E.current]?.focus(),v(e)}}),M=m.useRef(O);function N(e){I(e,G(O,e))}function P(e){I(e,E.current)}function F(){let e=M.current[E.current];O[E.current]!==e&&y(O)}function I(e,t,{commit:n}={commit:!1}){let o=X(a),s=p(Z(Math.round((e-r)/a)*a+r,o),[r,i]);k((e=[])=>{let r=H(e,s,t);if(J(r,u*a)){E.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&y(r),t?r:e}else return e})}return(0,h.jsx)(T,{scope:e.__scopeSlider,name:n,disabled:l,min:r,max:i,valueIndexToChangeRef:E,thumbs:w.current,values:O,orientation:s,form:S,children:(0,h.jsx)(b.Provider,{scope:e.__scopeSlider,children:(0,h.jsx)(b.Slot,{scope:e.__scopeSlider,children:(0,h.jsx)(D,{"aria-disabled":l,"data-disabled":l?``:void 0,...C,ref:t,onPointerDown:c(C.onPointerDown,()=>{l||(M.current=O)}),min:r,max:i,inverted:x,onSlideStart:l?void 0:N,onSlideMove:l?void 0:P,onSlideEnd:l?void 0:F,onHomeKeyDown:()=>!l&&I(r,0,{commit:!0}),onEndKeyDown:()=>!l&&I(i,O.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!l){let n=g.includes(e.key)||e.shiftKey&&_.includes(e.key)?10:1,r=E.current,i=O[r];I(i+a*n*t,r,{commit:!0})}}})})})})});D.displayName=y;var[O,k]=C(y,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),A=m.forwardRef((e,t)=>{let{min:n,max:r,dir:a,inverted:o,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:d,...f}=e,[p,g]=m.useState(null),_=i(t,e=>g(e)),y=m.useRef(void 0),b=u(a),x=b===`ltr`,S=x&&!o||!x&&o;function C(e){let t=y.current||p.getBoundingClientRect(),i=Y([0,t.width],S?[n,r]:[r,n]);return y.current=t,i(e-t.left)}return(0,h.jsx)(O,{scope:e.__scopeSlider,startEdge:S?`left`:`right`,endEdge:S?`right`:`left`,direction:S?1:-1,size:`width`,children:(0,h.jsx)(M,{dir:b,"data-orientation":`horizontal`,...f,ref:_,style:{...f.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=C(e.clientX);s?.(t)},onSlideMove:e=>{let t=C(e.clientX);c?.(t)},onSlideEnd:()=>{y.current=void 0,l?.()},onStepKeyDown:e=>{let t=v[S?`from-left`:`from-right`].includes(e.key);d?.({event:e,direction:t?-1:1})}})})}),j=m.forwardRef((e,t)=>{let{min:n,max:r,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,d=m.useRef(null),f=i(t,d),p=m.useRef(void 0),g=!a;function _(e){let t=p.current||d.current.getBoundingClientRect(),i=Y([0,t.height],g?[r,n]:[n,r]);return p.current=t,i(e-t.top)}return(0,h.jsx)(O,{scope:e.__scopeSlider,startEdge:g?`bottom`:`top`,endEdge:g?`top`:`bottom`,size:`height`,direction:g?1:-1,children:(0,h.jsx)(M,{"data-orientation":`vertical`,...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=_(e.clientY);o?.(t)},onSlideMove:e=>{let t=_(e.clientY);s?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=v[g?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),M=m.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:u,...d}=e,f=E(y,n);return(0,h.jsx)(l.span,{...d,ref:t,onKeyDown:c(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):g.concat(_).includes(e.key)&&(u(e),e.preventDefault())}),onPointerDown:c(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),f.thumbs.has(t)?t.focus():r(e)}),onPointerMove:c(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:c(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),N=`SliderTrack`,P=m.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=E(N,n);return(0,h.jsx)(l.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});P.displayName=N;var F=`SliderRange`,I=m.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,a=E(F,n),o=k(F,n),s=i(t,m.useRef(null)),c=a.values.length,u=a.values.map(e=>U(e,a.min,a.max)),d=c>1?Math.min(...u):0,f=100-Math.max(...u);return(0,h.jsx)(l.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?``:void 0,...r,ref:s,style:{...e.style,[o.startEdge]:d+`%`,[o.endEdge]:f+`%`}})});I.displayName=F;var L=`SliderThumb`,R=m.forwardRef((e,t)=>{let n=x(e.__scopeSlider),[r,a]=m.useState(null),o=i(t,e=>a(e)),s=m.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,h.jsx)(z,{...e,ref:o,index:s})}),z=m.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:a,...o}=e,u=E(L,n),d=k(L,n),[f,p]=m.useState(null),g=i(t,e=>p(e)),_=f?u.form||!!f.closest(`form`):!0,v=s(f),y=u.values[r],x=y===void 0?0:U(y,u.min,u.max),S=W(r,u.values.length),C=v?.[d.size],w=C?K(C,x,d.direction):0;return m.useEffect(()=>{if(f)return u.thumbs.add(f),()=>{u.thumbs.delete(f)}},[f,u.thumbs]),(0,h.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[d.startEdge]:`calc(${x}% + ${w}px)`},children:[(0,h.jsx)(b.ItemSlot,{scope:e.__scopeSlider,children:(0,h.jsx)(l.span,{role:`slider`,"aria-label":e[`aria-label`]||S,"aria-valuemin":u.min,"aria-valuenow":y,"aria-valuemax":u.max,"aria-orientation":u.orientation,"data-orientation":u.orientation,"data-disabled":u.disabled?``:void 0,tabIndex:u.disabled?void 0:0,...o,ref:g,style:y===void 0?{display:`none`}:e.style,onFocus:c(e.onFocus,()=>{u.valueIndexToChangeRef.current=r})})}),_&&(0,h.jsx)(V,{name:a??(u.name?u.name+(u.values.length>1?`[]`:``):void 0),form:u.form,value:y},r)]})});R.displayName=L;var B=`RadioBubbleInput`,V=m.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let a=m.useRef(null),o=i(a,r),s=f(t);return m.useEffect(()=>{let e=a.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,h.jsx)(l.input,{style:{display:`none`},...n,ref:o,defaultValue:t})});V.displayName=B;function H(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function U(e,t,n){return p(100/(n-t)*(e-t),[0,100])}function W(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function G(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function K(e,t,n){let r=e/2;return(r-Y([0,50],[0,r])(t)*n)*n}function q(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function J(e,t){if(t>0){let n=q(e);return Math.min(...n)>=t}return!0}function Y(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function X(e){return(String(e).split(`.`)[1]||``).length}function Z(e,t){let n=10**t;return Math.round(e*n)/n}var Q=D,ee=P,te=I,ne=R,$=m.forwardRef(({className:e,...t},n)=>(0,h.jsxs)(Q,{ref:n,className:r(`relative flex w-full touch-none select-none items-center`,e),...t,children:[(0,h.jsx)(ee,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,h.jsx)(te,{className:`absolute h-full bg-primary`})}),(0,h.jsx)(ne,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`})]}));$.displayName=Q.displayName;export{$ as t}; // @license-end