Socket
Socket
Sign inDemoInstall

vaul

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vaul - npm Package Compare versions

Comparing version 0.5.0 to 0.6.0

3

dist/index.d.ts

@@ -17,3 +17,2 @@ import * as DialogPrimitive from '@radix-ui/react-dialog';

open?: boolean;
defaultOpen?: boolean;
closeThreshold?: number;

@@ -31,3 +30,3 @@ onOpenChange?: (open: boolean) => void;

} & (WithFadeFromProps | WithoutFadeFromProps);
declare function Root({ open: openProp, defaultOpen, onOpenChange, children, shouldScaleBackground, onDrag: onDragProp, onRelease: onReleaseProp, experimentalSafariThemeAnimation, snapPoints, nested, closeThreshold, scrollLockTimeout, dismissible, fadeFromIndex, activeSnapPoint: activeSnapPointProp, setActiveSnapPoint: setActiveSnapPointProp, modal, onClose, }: DialogProps): React.JSX.Element;
declare function Root({ open: openProp, onOpenChange, children, shouldScaleBackground, onDrag: onDragProp, onRelease: onReleaseProp, experimentalSafariThemeAnimation, snapPoints, nested, closeThreshold, scrollLockTimeout, dismissible, fadeFromIndex, activeSnapPoint: activeSnapPointProp, setActiveSnapPoint: setActiveSnapPointProp, modal, onClose, }: DialogProps): React.JSX.Element;
declare function NestedRoot({ children, onDrag, onOpenChange }: DialogProps): React.JSX.Element;

@@ -34,0 +33,0 @@ declare const Drawer: {

"use client"
"use client";var Tt=Object.create;var se=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var wt=Object.getOwnPropertyNames;var St=Object.getPrototypeOf,Rt=Object.prototype.hasOwnProperty;var Dt=(e,n)=>{for(var t in n)se(e,t,{get:n[t],enumerable:!0})},ke=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of wt(n))!Rt.call(e,r)&&r!==t&&se(e,r,{get:()=>n[r],enumerable:!(o=yt(n,r))||o.enumerable});return e};var j=(e,n,t)=>(t=e!=null?Tt(St(e)):{},ke(n||!e||!e.__esModule?se(t,"default",{value:e,enumerable:!0}):t,e)),Mt=e=>ke(se({},"__esModule",{value:!0}),e);var tn={};Dt(tn,{Drawer:()=>en});module.exports=Mt(tn);var H=j(require("@radix-ui/react-dialog")),T=j(require("react"));var we=j(require("react")),Se=we.default.createContext({drawerRef:{current:null},overlayRef:{current:null},scaleBackground:()=>{},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},dismissible:!1,isOpen:!1,keyboardIsOpen:{current:!1},experimentalSafariThemeAnimation:!1,snapPointsOffset:null,snapPoints:null,modal:!1,shouldFade:!1,activeSnapPoint:null,setActiveSnapPoint:()=>{},visible:!1,closeDrawer:()=>{},setVisible:()=>{}}),ce=()=>we.default.useContext(Se);function Re(e,{insertAt:n}={}){if(!e||typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}Re(`[vaul-drawer]{touch-action:none;transform:translate3d(0,100%,0);transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-visible=true]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;top:100%;background:inherit;background-color:inherit;left:0;right:0;height:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay="true"]):not([data-state="closed"]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible="false"]){opacity:1}@keyframes fake-animation{}@keyframes show-theme-overlay{0%{background:var(--vaul-overlay-background-start)}to{background:var(--vaul-overlay-background-end)}}@keyframes hide-theme-overlay{0%{background:var(--vaul-overlay-background-end)}to{background:var(--vaul-overlay-background-start)}}@media (hover: hover) and (pointer: fine){[vaul-drawer]{user-select:none}}
`);var me=require("react"),Ct=typeof window!="undefined"?me.useLayoutEffect:me.useEffect;function Ce(...e){return(...n)=>{for(let t of e)typeof t=="function"&&t(...n)}}function xt(){return xe(/^Mac/)}function Ot(){return xe(/^iPhone/)}function je(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function It(){return xe(/^iPad/)||xt()&&navigator.maxTouchPoints>1}function W(){return Ot()||It()}function xe(e){return typeof window!="undefined"&&window.navigator!=null?e.test(window.navigator.platform):void 0}var De=typeof document!="undefined"&&window.visualViewport;function Be(e){let n=window.getComputedStyle(e);return/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY)}function ze(e){for(Be(e)&&(e=e.parentElement);e&&!Be(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}var Ht=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),fe=0,Me;function Ue(e={}){let{isDisabled:n}=e;Ct(()=>{if(!n)return fe++,fe===1&&(W()?Me=Lt():Me=At()),()=>{fe--,fe===0&&Me()}},[n])}function At(){return Ce(de(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),de(document.documentElement,"overflow","hidden"))}function Lt(){let e,n=0,t=l=>{e=ze(l.target),!(e===document.documentElement&&e===document.body)&&(n=l.changedTouches[0].pageY)},o=l=>{if(!e||e===document.documentElement||e===document.body){l.preventDefault();return}let s=l.changedTouches[0].pageY,M=e.scrollTop,O=e.scrollHeight-e.clientHeight;O!==0&&((M<=0&&s>n||M>=O&&s<n)&&l.preventDefault(),n=s)},r=l=>{let s=l.target;X(s)&&s!==document.activeElement&&(l.preventDefault(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""}))},i=l=>{let s=l.target;X(s)&&(s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",De&&(De.height<window.innerHeight?requestAnimationFrame(()=>{Ve(s)}):De.addEventListener("resize",()=>Ve(s),{once:!0}))}))},a=()=>{window.scrollTo(0,0)},d=window.pageXOffset,u=window.pageYOffset,y=Ce(de(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),de(document.documentElement,"overflow","hidden"));window.scrollTo(0,0);let h=Ce(Z(document,"touchstart",t,{passive:!1,capture:!0}),Z(document,"touchmove",o,{passive:!1,capture:!0}),Z(document,"touchend",r,{passive:!1,capture:!0}),Z(document,"focus",i,!0),Z(window,"scroll",a));return()=>{y(),h(),window.scrollTo(d,u)}}function de(e,n,t){let o=e.style[n];return e.style[n]=t,()=>{e.style[n]=o}}function Z(e,n,t,o){return e.addEventListener(n,t,o),()=>{e.removeEventListener(n,t,o)}}function Ve(e){let n=document.scrollingElement||document.documentElement;for(;e&&e!==n;){let t=ze(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let o=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top,i=e.getBoundingClientRect().bottom,a=t.getBoundingClientRect().bottom;i>a&&(t.scrollTop+=r-o)}e=t.parentElement}}function X(e){return e instanceof HTMLInputElement&&!Ht.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}var We=j(require("react"));function Nt(e,n){typeof e=="function"?e(n):e!=null&&(e.current=n)}function $t(...e){return n=>e.forEach(t=>Nt(t,n))}function Oe(...e){return We.useCallback($t(...e),e)}var A=j(require("react"));var Pt=4,Ft=.001,kt=1e-7,Bt=10,ee=11,be=1/(ee-1),Vt=typeof Float32Array=="function";function Ye(e,n){return 1-3*n+3*e}function _e(e,n){return 3*n-6*e}function qe(e){return 3*e}function pe(e,n,t){return((Ye(n,t)*e+_e(n,t))*e+qe(n))*e}function Ge(e,n,t){return 3*Ye(n,t)*e*e+2*_e(n,t)*e+qe(n)}function jt(e,n,t,o,r){var i,a,d=0;do a=n+(t-n)/2,i=pe(a,o,r)-e,i>0?t=a:n=a;while(Math.abs(i)>kt&&++d<Bt);return a}function zt(e,n,t,o){for(var r=0;r<Pt;++r){var i=Ge(n,t,o);if(i===0)return n;var a=pe(n,t,o)-e;n-=a/i}return n}function Ut(e){return e}function Ke(e,n,t,o){if(!(0<=e&&e<=1&&0<=t&&t<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===n&&t===o)return Ut;for(var r=Vt?new Float32Array(ee):new Array(ee),i=0;i<ee;++i)r[i]=pe(i*be,e,t);function a(d){for(var u=0,y=1,h=ee-1;y!==h&&r[y]<=d;++y)u+=be;--y;var l=(d-r[y])/(r[y+1]-r[y]),s=u+l*be,M=Ge(s,e,t);return M>=Ft?zt(d,s,e,t):M===0?s:jt(d,u,u+be,e,t)}return function(u){return u===0||u===1?u:pe(a(u),n,o)}}var Wt=Ke(.32,.72,0,1);function Yt(e){let n=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*(\d*(?:\.\d+)?)\)/);if(!n)throw new Error("Invalid color string");return[Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])]}function _t(e,n){let[t,o,r,i]=Yt(e);return[Math.round(i*t+(1-i)*Number(n[0])),Math.round(i*o+(1-i)*Number(n[1])),Math.round(i*r+(1-i)*Number(n[2]))]}function qt(e){return Wt(e)}function Gt(e,n,t,o){arguments.length<3&&(t=.5);let r=e.slice();for(let i=0;i<3;i++){let a=n[i]-e[i],d=o?e[i]+t*a:e[i]+qt(t)*a;r[i]=Math.round(d),r[i]<0&&(r[i]=0),r[i]>255&&(r[i]=255)}return r}function te(e,n,t,o){let r=1/(t-1),i=[];for(let a=0;a<t;a++)i.push(Gt(e,n,r*a,!!o));return i}function Je(e,n,t,o){let[r,i]=A.default.useState([255,255,255]),[a,d]=A.default.useState([153,153,153]),[u,y]=A.default.useState(!1),[h,l]=A.default.useState(null),[s,M]=A.default.useState(null),O=A.default.useMemo(()=>W()&&je()&&o,[o]),k=A.default.useMemo(()=>r&&a?te(r,a,50):null,[a,r]),N=A.default.useMemo(()=>r&&a?te(a,r,50):null,[a,r]),g=A.default.useMemo(()=>r&&a?te(a,r,50,!0):null,[a,r]);A.default.useEffect(()=>{if(!O)return;let p=getComputedStyle(document.documentElement),R=p.getPropertyValue("--vaul-overlay-background").split(",").map(P=>Number(P)),C=p.getPropertyValue("--vaul-overlay-background-end"),x=_t(C,R);i(R),d(x)},[O]),A.default.useEffect(()=>{if(O&&!h){let p=document.querySelector('meta[name="theme-color"]');p?l(p.getAttribute("content")):(p=document.createElement("meta"),p.name="theme-color",document.getElementsByTagName("head")[0].appendChild(p)),M(p)}},[h,O]);let c=(0,A.useCallback)(p=>{let R,C;function x(P){R||(R=P);let F=P-R,U=Math.floor(F/10);if(n.current&&p&&!u&&e.current){if(e.current.style.transform==="translateY(0px)"&&e.current.getAttribute("vaul-clicked-outside")!=="true")return;if(U<p.length){let re=p[U];s==null||s.setAttribute("content",`rgb(${re.join(",")})`),U===p.length-1&&h&&!t&&(s==null||s.setAttribute("content",h)),C=requestAnimationFrame(x)}}}return C=requestAnimationFrame(x),C},[e,t,s,u,h,n]);A.default.useEffect(()=>{if(!O||!k||!N)return;let p=c(t?k:N);return t&&y(!1),()=>{p&&cancelAnimationFrame(p)}},[t,O,c,k,N]);function v(p){let R=document.querySelector('meta[name="theme-color"]');if(!O||!R||!g)return;let C=Math.floor(p*g.length);C=Math.max(0,Math.min(g.length-1,C));let x=g[C];R.setAttribute("content",`rgb(${x.join(",")})`)}function $(p){let R=document.querySelector('meta[name="theme-color"]');if(!R||!O)return;y(!0);let C=R.getAttribute("content").match(/\d+/g).map(Number),x=te(C,a,50);!p&&r&&(x=te(C,r,50)),c(x)}return{onDrag:v,onRelease:$}}var ge=j(require("react"));var Y=null;function Qe({isOpen:e,modal:n,nested:t}){let o=ge.default.useRef(0);function r(){if(Y===null){Y={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};let{scrollX:a,innerHeight:d}=window;document.body.style.setProperty("position","fixed","important"),document.body.style.top=`${-o.current}px`,document.body.style.left=`${-a}px`,document.body.style.right="0px",setTimeout(()=>requestAnimationFrame(()=>{let u=d-window.innerHeight;u&&o.current>=d&&(document.body.style.top=`${-(o.current+u)}px`)}),300)}}function i(){if(Y!==null){let a=-parseInt(document.body.style.top,10),d=-parseInt(document.body.style.left,10);document.body.style.position=Y.position,document.body.style.top=Y.top,document.body.style.left=Y.left,document.body.style.right="unset",requestAnimationFrame(()=>{window.scrollTo(d,a)}),Y=null}}ge.default.useEffect(()=>{function a(){o.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),ge.default.useEffect(()=>{!W()||t||(e?(r(),n||setTimeout(()=>{i()},500)):i())},[e])}var _=j(require("react"));var Ze=new WeakMap;function w(e,n,t=!1){if(!e||!(e instanceof HTMLElement)||!n)return;let o={};Object.entries(n).forEach(([r,i])=>{if(r.startsWith("--")){e.style.setProperty(r,i);return}o[r]=e.style[r],e.style[r]=i}),!t&&Ze.set(e,o)}function ve(e,n){if(!e||!(e instanceof HTMLElement))return;let t=Ze.get(e);if(!t){e.style={};return}n?e.style[n]=t[n]:Object.entries(t).forEach(([o,r])=>{e.style[o]=r})}function ne(e){let n=window.getComputedStyle(e),t=n.transform||n.webkitTransform||n.mozTransform,o=t.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[13]):(o=t.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[5]):null)}function Xe(e){return 8*(Math.log(e+1)-2)}var E={DURATION:.5,EASE:[.32,.72,0,1]},he=.4;var z=j(require("react"));function et(e){let n=z.default.useRef(e);return z.default.useEffect(()=>{n.current=e}),z.default.useMemo(()=>(...t)=>{var o;return(o=n.current)==null?void 0:o.call(n,...t)},[])}function Kt({defaultProp:e,onChange:n}){let t=z.default.useState(e),[o]=t,r=z.default.useRef(o),i=et(n);return z.default.useEffect(()=>{r.current!==o&&(i(o),r.current=o)},[o,r,i]),t}function tt({prop:e,defaultProp:n,onChange:t=()=>{}}){let[o,r]=Kt({defaultProp:n,onChange:t}),i=e!==void 0,a=i?e:o,d=et(t),u=z.default.useCallback(y=>{if(i){let l=typeof y=="function"?y(e):y;l!==e&&d(l)}else r(y)},[i,e,r,d]);return[a,u]}function nt({activeSnapPointProp:e,setActiveSnapPointProp:n,snapPoints:t,drawerRef:o,overlayRef:r,fadeFromIndex:i}){let[a,d]=tt({prop:e,defaultProp:t==null?void 0:t[0],onChange:n}),u=_.default.useMemo(()=>a===(t==null?void 0:t[t.length-1]),[t,a]),y=t&&t.length>0&&i&&t[i]===a||!t,h=_.default.useMemo(()=>{var g;return(g=t==null?void 0:t.findIndex(c=>c===a))!=null?g:null},[t,a]),l=_.default.useMemo(()=>{var g;return(g=t==null?void 0:t.map(c=>{let v=typeof window!="undefined",$=typeof c=="string",p=0;$&&(p=parseInt(c,10));let R=$?p:v?c*window.innerHeight:0;return v?window.innerHeight-R:R}))!=null?g:[]},[t]),s=_.default.useMemo(()=>h!==null?l==null?void 0:l[h]:null,[l,h]),M=_.default.useCallback(g=>{var v;let c=(v=l==null?void 0:l.findIndex($=>$===g))!=null?v:null;w(o.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:`translate3d(0, ${g}px, 0)`}),l&&c!==l.length-1&&c!==i?w(r.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"0"}):w(r.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"1"}),d(c!==null?t==null?void 0:t[c]:null)},[o,t,l,i,r,d]);_.default.useEffect(()=>{var g;if(e){let c=(g=t==null?void 0:t.findIndex(v=>v===e))!=null?g:null;l&&c&&l[c]&&M(l[c])}},[e,t,l,M]);function O({draggedDistance:g,closeDrawer:c,velocity:v}){if(typeof s!="number"||i===void 0)return;let $=s-g,p=h===i-1,R=h===0;if(p&&w(r.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),v>2&&g<0){c();return}if(v>2&&g>0&&l&&t){M(l[t.length-1]);return}let C=l==null?void 0:l.reduce((x,P)=>typeof x!="number"||typeof P!="number"?x:Math.abs(P-$)<Math.abs(x-$)?P:x);if(v>he&&Math.abs(g)<window.innerHeight*.4){let x=g>0?1:-1;if(x>0&&u||(R&&x<0&&c(),h===null))return;M(l[h+x]);return}M(C)}function k({draggedDistance:g}){var v;if(s===null)return;let c=s-g;if(c<l[l.length-1]){d((v=t==null?void 0:t[t.length-1])!=null?v:null),w(o.current,{transform:"translate3d(0, 0px, 0)"});return}w(o.current,{transform:`translate3d(0, ${c}px, 0)`})}function N(g,c){if(!t||!h||!l||i===void 0)return null;let v=h===i-1;if(h>=i&&c)return 0;if(v&&!c)return 1;if(!y&&!v)return null;let p=v?h+1:h-1,R=v?l[p]-l[p-1]:l[p+1]-l[p],C=g/Math.abs(R);return v?1-C:C}return{isLastSnapPoint:u,activeSnapPoint:a,shouldFade:y,getPercentageDragged:N,setActiveSnapPoint:d,activeSnapPointIndex:h,onRelease:O,onDrag:k,snapPointsOffset:l}}var Jt=.25,Qt=500,Zt=501,rt=8,q=16,ot=26;function it({open:e,defaultOpen:n,onOpenChange:t,children:o,shouldScaleBackground:r,onDrag:i,onRelease:a,experimentalSafariThemeAnimation:d,snapPoints:u,nested:y,closeThreshold:h=Jt,scrollLockTimeout:l=Qt,dismissible:s=!0,fadeFromIndex:M=u&&u.length-1,activeSnapPoint:O,setActiveSnapPoint:k,modal:N=!0,onClose:g}){var Fe;let[c=!1,v]=T.default.useState(!1),[$,p]=T.default.useState(!1),[R,C]=T.default.useState(!1),[x,P]=T.default.useState(!1),F=T.default.useRef(null),U=T.default.useRef(null),re=T.default.useRef(null),J=T.default.useRef(null),Q=T.default.useRef(!1),Ee=T.default.useRef(null),Te=T.default.useRef(0),G=T.default.useRef(!1),Ie=T.default.useRef(0),b=T.default.useRef(null),He=T.default.useRef(((Fe=b.current)==null?void 0:Fe.getBoundingClientRect().height)||0),{onDrag:ut,onRelease:oe}=Je(b,F,c,d),{activeSnapPoint:st,activeSnapPointIndex:ie,setActiveSnapPoint:Ae,onRelease:ct,snapPointsOffset:ae,onDrag:ft,shouldFade:Le,getPercentageDragged:dt}=nt({snapPoints:u,activeSnapPointProp:O,setActiveSnapPointProp:k,drawerRef:b,fadeFromIndex:M,overlayRef:F});Ue({isDisabled:!c||R||!N||x}),Qe({isOpen:c,modal:N,nested:y});function le(){return(window.innerWidth-ot)/window.innerWidth}function mt(f){var m;s&&(b.current&&!b.current.contains(f.target)||(He.current=((m=b.current)==null?void 0:m.getBoundingClientRect().height)||0,C(!0),U.current=new Date,W()&&window.addEventListener("touchend",()=>Q.current=!1,{once:!0}),f.target.setPointerCapture(f.pointerId),Te.current=f.clientY))}function Ne(f,m){var B;let S=f,L=new Date,I=(B=window.getSelection())==null?void 0:B.toString(),D=b.current?ne(b.current):null;if(D>0)return!0;if(I&&I.length>0)return!1;if(J.current&&L.getTime()-J.current.getTime()<l&&D===0)return J.current=new Date,!1;for(;S;){if(S.scrollHeight>S.clientHeight){if(S.getAttribute("role")==="dialog")return!0;if(m&&S!==document.body&&!D&&D>=0)return J.current=new Date,!1;if(S.scrollTop!==0)return J.current=new Date,!1}S=S.parentNode}return!0}function bt(f){if(R){let m=Te.current-f.clientY,S=m>0;if(!Q.current&&!Ne(f.target,S))return;if(Q.current=!0,w(b.current,{transition:"none"}),w(F.current,{transition:"none"}),u&&ft({draggedDistance:m}),m>0&&!u){let V=Xe(m);w(b.current,{transform:`translate3d(0, ${Math.min(V*-1,0)}px, 0)`});return}let L=Math.abs(m),I=document.querySelector("[vaul-drawer-wrapper]"),D=L/He.current,B=dt(L,S);B!==null&&(D=B);let ye=1-D;if((Le||M&&ie===M-1)&&(ut(D),i==null||i(f,D),w(F.current,{opacity:`${ye}`,transition:"none"},!0)),I&&F.current&&r){let V=Math.min(le()+D*(1-le()),1),ue=8-D*8,Et=Math.max(0,14-D*14);w(I,{borderRadius:`${ue}px`,transform:`scale(${V}) translate3d(0, ${Et}px, 0)`,transition:"none"},!0)}u||w(b.current,{transform:`translate3d(0, ${L}px, 0)`})}}T.default.useEffect(()=>{var m;function f(){var L;if(!b.current)return;let S=document.activeElement;if(X(S)||G.current){let I=((L=window.visualViewport)==null?void 0:L.height)||0,D=window.innerHeight-I,B=b.current.getBoundingClientRect().height||0,ye=b.current.getBoundingClientRect().top;if(Math.abs(Ie.current-D)>60&&(G.current=!G.current),u&&u.length>0&&ae&&ie){let V=ae[ie]||0;D+=V}if(Ie.current=D,B>I||G.current){let V=b.current.getBoundingClientRect().height,ue=V;V>I&&(ue=I-ot),b.current.style.height=`${Math.max(ue,I-ye)}px`}else b.current.style.height="initial";u&&u.length>0&&!G.current?b.current.style.bottom="0px":b.current.style.bottom=`${Math.max(D,0)}px`}}return(m=window.visualViewport)==null||m.addEventListener("resize",f),()=>{var S;return(S=window.visualViewport)==null?void 0:S.removeEventListener("resize",f)}},[ie,u,ae]);function K(){b.current&&(g==null||g(),b.current&&(w(b.current,{transform:"translate3d(0, 100%, 0)",transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),w(F.current,{opacity:"0",transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),Pe(!1)),setTimeout(()=>{v(!1),p(!1),u&&Ae(u[0])},Zt))}T.default.useEffect(()=>{if(!c&&r){let f=setTimeout(()=>{ve(document.body)},200);return()=>clearTimeout(f)}},[c,r]),T.default.useEffect(()=>{e?v(!0):K()},[e]),T.default.useEffect(()=>{t==null||t(c)},[c]);function $e(){if(!b.current)return;let f=document.querySelector("[vaul-drawer-wrapper]"),m=ne(b.current);w(b.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),w(F.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"1"}),r&&m&&m>0&&c&&w(f,{borderRadius:`${rt}px`,overflow:"hidden",transform:`scale(${le()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top",transitionProperty:"transform, border-radius",transitionDuration:`${E.DURATION}s`,transitionTimingFunction:`cubic-bezier(${E.EASE.join(",")})`},!0)}function pt(f){if(!R||!b.current)return;Q.current&&X(f.target)&&f.target.blur(),Q.current=!1,C(!1),re.current=new Date;let m=ne(b.current);if(!Ne(f.target,!1)||!m||Number.isNaN(m)||U.current===null)return;let S=f.clientY,L=re.current.getTime()-U.current.getTime(),I=Te.current-S,D=Math.abs(I)/L;if(D>.05&&(P(!0),setTimeout(()=>{P(!1)},200)),u){ct({draggedDistance:I,closeDrawer:K,velocity:D});return}if(I>0){$e(),a==null||a(f,!0),oe(!0);return}if(D>he){K(),a==null||a(f,!1),oe(!1);return}let B=Math.min(b.current.getBoundingClientRect().height||0,window.innerHeight);if(m>=B*h){K(),a==null||a(f,!1),oe(!1);return}a==null||a(f,!0),oe(!0),$e()}function Pe(f){let m=document.querySelector("[vaul-drawer-wrapper]");!m||!r||(f?(w(document.body,{background:"black"},!0),w(m,{borderRadius:`${rt}px`,overflow:"hidden",transform:`scale(${le()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top",transitionProperty:"transform, border-radius",transitionDuration:`${E.DURATION}s`,transitionTimingFunction:`cubic-bezier(${E.EASE.join(",")})`})):(ve(m,"transform"),ve(m,"borderRadius"),w(m,{transitionProperty:"transform, border-radius",transitionDuration:`${E.DURATION}s`,transitionTimingFunction:`cubic-bezier(${E.EASE.join(",")})`})))}function gt(f){let m=f?(window.innerWidth-q)/window.innerWidth:1,S=f?-q:0;Ee.current&&window.clearTimeout(Ee.current),w(b.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:`scale(${m}) translate3d(0, ${S}px, 0)`}),!f&&b.current&&(Ee.current=setTimeout(()=>{w(b.current,{transition:"none",transform:`translate3d(0, ${ne(b.current)}px, 0)`})},500))}function vt(f,m){if(m<0)return;let S=(window.innerWidth-q)/window.innerWidth,L=S+m*(1-S),I=-q+m*q;w(b.current,{transform:`scale(${L}) translate3d(0, ${I}px, 0)`,transition:"none"})}function ht(f,m){let S=m?(window.innerWidth-q)/window.innerWidth:1,L=m?-q:0;m&&w(b.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:`scale(${S}) translate3d(0, ${L}px, 0)`})}return T.default.createElement(H.Root,{modal:N,onOpenChange:f=>{f?v(f):K()},open:c},T.default.createElement(Se.Provider,{value:{visible:$,activeSnapPoint:st,snapPoints:u,setActiveSnapPoint:Ae,drawerRef:b,overlayRef:F,scaleBackground:Pe,onPress:mt,setVisible:p,onRelease:pt,onDrag:bt,dismissible:s,isOpen:c,shouldFade:Le,closeDrawer:K,onNestedDrag:vt,onNestedOpenChange:gt,onNestedRelease:ht,keyboardIsOpen:G,modal:N,snapPointsOffset:ae,experimentalSafariThemeAnimation:d}},o))}var at=T.default.forwardRef(function({children:e,style:n,...t},o){let{overlayRef:r,snapPoints:i,onRelease:a,experimentalSafariThemeAnimation:d,shouldFade:u,isOpen:y,visible:h}=ce(),l=Oe(o,r),s=i&&i.length>0;return T.default.createElement(H.Overlay,{onMouseUp:a,ref:l,"vaul-drawer-visible":h?"true":"false","vaul-overlay":"","vaul-snap-points":y&&s?"true":"false","vaul-snap-points-overlay":y&&u?"true":"false","vaul-theme-transition":d?"true":"false",...t})});at.displayName="Drawer.Overlay";var lt=T.default.forwardRef(function({children:e,onOpenAutoFocus:n,onPointerDownOutside:t,onAnimationEnd:o,style:r,...i},a){let{drawerRef:d,onPress:u,onRelease:y,onDrag:h,dismissible:l,keyboardIsOpen:s,snapPointsOffset:M,visible:O,setVisible:k,closeDrawer:N,scaleBackground:g}=ce(),c=Oe(a,d);return T.default.useEffect(()=>{k(!0),g(!0)},[]),T.default.createElement(H.Content,{onOpenAutoFocus:v=>{n?n(v):v.preventDefault()},onPointerDown:u,onPointerDownOutside:v=>{s.current&&(s.current=!1),v.preventDefault(),l&&(N(),t==null||t(v))},onPointerMove:h,onPointerUp:y,ref:c,style:M?{"--snap-point-height":`${M[0]}px`,...r}:r,...i,"vaul-drawer":"","vaul-drawer-visible":O?"true":"false"},e)});lt.displayName="Drawer.Content";function Xt({children:e,onDrag:n,onOpenChange:t}){let{onNestedDrag:o,onNestedOpenChange:r,onNestedRelease:i}=ce();if(!o)throw new Error("Drawer.NestedRoot must be placed in another drawer");return T.default.createElement(it,{nested:!0,onClose:()=>{r(!1)},onDrag:(a,d)=>{o(a,d),n==null||n(a,d)},onOpenChange:a=>{a&&r(a),t==null||t(a)},onRelease:i},e)}var en={Root:it,NestedRoot:Xt,Content:lt,Overlay:at,Trigger:H.Trigger,Portal:H.Portal,Close:H.Close,Title:H.Title,Description:H.Description};0&&(module.exports={Drawer});
"use client";var wt=Object.create;var se=Object.defineProperty;var yt=Object.getOwnPropertyDescriptor;var St=Object.getOwnPropertyNames;var Rt=Object.getPrototypeOf,Dt=Object.prototype.hasOwnProperty;var Mt=(e,n)=>{for(var t in n)se(e,t,{get:n[t],enumerable:!0})},Be=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of St(n))!Dt.call(e,i)&&i!==t&&se(e,i,{get:()=>n[i],enumerable:!(o=yt(n,i))||o.enumerable});return e};var j=(e,n,t)=>(t=e!=null?wt(Rt(e)):{},Be(n||!e||!e.__esModule?se(t,"default",{value:e,enumerable:!0}):t,e)),Ct=e=>Be(se({},"__esModule",{value:!0}),e);var nn={};Mt(nn,{Drawer:()=>tn});module.exports=Ct(nn);var H=j(require("@radix-ui/react-dialog")),h=j(require("react"));var ye=j(require("react")),Se=ye.default.createContext({drawerRef:{current:null},overlayRef:{current:null},scaleBackground:()=>{},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},dismissible:!1,isOpen:!1,keyboardIsOpen:{current:!1},experimentalSafariThemeAnimation:!1,snapPointsOffset:null,snapPoints:null,modal:!1,shouldFade:!1,activeSnapPoint:null,setActiveSnapPoint:()=>{},visible:!1,closeDrawer:()=>{},setVisible:()=>{}}),ce=()=>ye.default.useContext(Se);function Re(e,{insertAt:n}={}){if(!e||typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}Re(`[vaul-drawer]{touch-action:none;transform:translate3d(0,100%,0);transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-visible=true]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;top:100%;background:inherit;background-color:inherit;left:0;right:0;height:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay="true"]):not([data-state="closed"]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible="false"]){opacity:1}@keyframes fake-animation{}@keyframes show-theme-overlay{0%{background:var(--vaul-overlay-background-start)}to{background:var(--vaul-overlay-background-end)}}@keyframes hide-theme-overlay{0%{background:var(--vaul-overlay-background-end)}to{background:var(--vaul-overlay-background-start)}}@media (hover: hover) and (pointer: fine){[vaul-drawer]{user-select:none}}
`);var me=require("react"),xt=typeof window!="undefined"?me.useLayoutEffect:me.useEffect;function Ce(...e){return(...n)=>{for(let t of e)typeof t=="function"&&t(...n)}}function Ot(){return xe(/^Mac/)}function It(){return xe(/^iPhone/)}function ze(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Ht(){return xe(/^iPad/)||Ot()&&navigator.maxTouchPoints>1}function U(){return It()||Ht()}function xe(e){return typeof window!="undefined"&&window.navigator!=null?e.test(window.navigator.platform):void 0}var De=typeof document!="undefined"&&window.visualViewport;function Ve(e){let n=window.getComputedStyle(e);return/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY)}function Ue(e){for(Ve(e)&&(e=e.parentElement);e&&!Ve(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}var At=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),fe=0,Me;function We(e={}){let{isDisabled:n}=e;xt(()=>{if(!n)return fe++,fe===1&&(U()?Me=Nt():Me=Lt()),()=>{fe--,fe===0&&Me()}},[n])}function Lt(){return Ce(de(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),de(document.documentElement,"overflow","hidden"))}function Nt(){let e,n=0,t=l=>{e=Ue(l.target),!(e===document.documentElement&&e===document.body)&&(n=l.changedTouches[0].pageY)},o=l=>{if(!e||e===document.documentElement||e===document.body){l.preventDefault();return}let s=l.changedTouches[0].pageY,x=e.scrollTop,O=e.scrollHeight-e.clientHeight;O!==0&&((x<=0&&s>n||x>=O&&s<n)&&l.preventDefault(),n=s)},i=l=>{let s=l.target;X(s)&&s!==document.activeElement&&(l.preventDefault(),s.style.transform="translateY(-2000px)",s.focus(),requestAnimationFrame(()=>{s.style.transform=""}))},r=l=>{let s=l.target;X(s)&&(s.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{s.style.transform="",De&&(De.height<window.innerHeight?requestAnimationFrame(()=>{je(s)}):De.addEventListener("resize",()=>je(s),{once:!0}))}))},a=()=>{window.scrollTo(0,0)},u=window.pageXOffset,E=window.pageYOffset,w=Ce(de(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`),de(document.documentElement,"overflow","hidden"));window.scrollTo(0,0);let g=Ce(Z(document,"touchstart",t,{passive:!1,capture:!0}),Z(document,"touchmove",o,{passive:!1,capture:!0}),Z(document,"touchend",i,{passive:!1,capture:!0}),Z(document,"focus",r,!0),Z(window,"scroll",a));return()=>{w(),g(),window.scrollTo(u,E)}}function de(e,n,t){let o=e.style[n];return e.style[n]=t,()=>{e.style[n]=o}}function Z(e,n,t,o){return e.addEventListener(n,t,o),()=>{e.removeEventListener(n,t,o)}}function je(e){let n=document.scrollingElement||document.documentElement;for(;e&&e!==n;){let t=Ue(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let o=t.getBoundingClientRect().top,i=e.getBoundingClientRect().top,r=e.getBoundingClientRect().bottom,a=t.getBoundingClientRect().bottom;r>a&&(t.scrollTop+=i-o)}e=t.parentElement}}function X(e){return e instanceof HTMLInputElement&&!At.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}var Ye=j(require("react"));function $t(e,n){typeof e=="function"?e(n):e!=null&&(e.current=n)}function Pt(...e){return n=>e.forEach(t=>$t(t,n))}function Oe(...e){return Ye.useCallback(Pt(...e),e)}var A=j(require("react"));var Ft=4,kt=.001,Bt=1e-7,Vt=10,ee=11,be=1/(ee-1),jt=typeof Float32Array=="function";function _e(e,n){return 1-3*n+3*e}function qe(e,n){return 3*n-6*e}function Ge(e){return 3*e}function pe(e,n,t){return((_e(n,t)*e+qe(n,t))*e+Ge(n))*e}function Ke(e,n,t){return 3*_e(n,t)*e*e+2*qe(n,t)*e+Ge(n)}function zt(e,n,t,o,i){var r,a,u=0;do a=n+(t-n)/2,r=pe(a,o,i)-e,r>0?t=a:n=a;while(Math.abs(r)>Bt&&++u<Vt);return a}function Ut(e,n,t,o){for(var i=0;i<Ft;++i){var r=Ke(n,t,o);if(r===0)return n;var a=pe(n,t,o)-e;n-=a/r}return n}function Wt(e){return e}function Je(e,n,t,o){if(!(0<=e&&e<=1&&0<=t&&t<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===n&&t===o)return Wt;for(var i=jt?new Float32Array(ee):new Array(ee),r=0;r<ee;++r)i[r]=pe(r*be,e,t);function a(u){for(var E=0,w=1,g=ee-1;w!==g&&i[w]<=u;++w)E+=be;--w;var l=(u-i[w])/(i[w+1]-i[w]),s=E+l*be,x=Ke(s,e,t);return x>=kt?Ut(u,s,e,t):x===0?s:zt(u,E,E+be,e,t)}return function(E){return E===0||E===1?E:pe(a(E),n,o)}}var Yt=Je(.32,.72,0,1);function _t(e){let n=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*(\d*(?:\.\d+)?)\)/);if(!n)throw new Error("Invalid color string");return[Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])]}function qt(e,n){let[t,o,i,r]=_t(e);return[Math.round(r*t+(1-r)*Number(n[0])),Math.round(r*o+(1-r)*Number(n[1])),Math.round(r*i+(1-r)*Number(n[2]))]}function Gt(e){return Yt(e)}function Kt(e,n,t,o){arguments.length<3&&(t=.5);let i=e.slice();for(let r=0;r<3;r++){let a=n[r]-e[r],u=o?e[r]+t*a:e[r]+Gt(t)*a;i[r]=Math.round(u),i[r]<0&&(i[r]=0),i[r]>255&&(i[r]=255)}return i}function te(e,n,t,o){let i=1/(t-1),r=[];for(let a=0;a<t;a++)r.push(Kt(e,n,i*a,!!o));return r}function Qe(e,n,t,o){let[i,r]=A.default.useState([255,255,255]),[a,u]=A.default.useState([153,153,153]),[E,w]=A.default.useState(!1),[g,l]=A.default.useState(null),[s,x]=A.default.useState(null),O=A.default.useMemo(()=>U()&&ze()&&o,[o]),$=A.default.useMemo(()=>i&&a?te(i,a,50):null,[a,i]),F=A.default.useMemo(()=>i&&a?te(a,i,50):null,[a,i]),c=A.default.useMemo(()=>i&&a?te(a,i,50,!0):null,[a,i]);A.default.useEffect(()=>{if(!O)return;let p=getComputedStyle(document.documentElement),R=p.getPropertyValue("--vaul-overlay-background").split(",").map(k=>Number(k)),D=p.getPropertyValue("--vaul-overlay-background-end"),M=qt(D,R);r(R),u(M)},[O]),A.default.useEffect(()=>{if(O&&!g){let p=document.querySelector('meta[name="theme-color"]');p?l(p.getAttribute("content")):(p=document.createElement("meta"),p.name="theme-color",document.getElementsByTagName("head")[0].appendChild(p)),x(p)}},[g,O]);let b=(0,A.useCallback)(p=>{let R,D;function M(k){R||(R=k);let re=k-R,P=Math.floor(re/10);if(n.current&&p&&!E&&e.current){if(e.current.style.transform==="translateY(0px)"&&e.current.getAttribute("vaul-clicked-outside")!=="true")return;if(P<p.length){let K=p[P];s==null||s.setAttribute("content",`rgb(${K.join(",")})`),P===p.length-1&&g&&!t&&(s==null||s.setAttribute("content",g)),D=requestAnimationFrame(M)}}}return D=requestAnimationFrame(M),D},[e,t,s,E,g,n]);A.default.useEffect(()=>{if(!O||!$||!F)return;let p=b(t?$:F);return t&&w(!1),()=>{p&&cancelAnimationFrame(p)}},[t,O,b,$,F]);function v(p){let R=document.querySelector('meta[name="theme-color"]');if(!O||!R||!c)return;let D=Math.floor(p*c.length);D=Math.max(0,Math.min(c.length-1,D));let M=c[D];R.setAttribute("content",`rgb(${M.join(",")})`)}function N(p){let R=document.querySelector('meta[name="theme-color"]');if(!R||!O)return;w(!0);let D=R.getAttribute("content").match(/\d+/g).map(Number),M=te(D,a,50);!p&&i&&(M=te(D,i,50)),b(M)}return{onDrag:v,onRelease:N}}var ge=j(require("react"));var W=null;function Ze({isOpen:e,modal:n,nested:t}){let o=ge.default.useRef(0);function i(){if(W===null){W={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};let{scrollX:a,innerHeight:u}=window;document.body.style.setProperty("position","fixed","important"),document.body.style.top=`${-o.current}px`,document.body.style.left=`${-a}px`,document.body.style.right="0px",setTimeout(()=>requestAnimationFrame(()=>{let E=u-window.innerHeight;E&&o.current>=u&&(document.body.style.top=`${-(o.current+E)}px`)}),300)}}function r(){if(W!==null){let a=-parseInt(document.body.style.top,10),u=-parseInt(document.body.style.left,10);document.body.style.position=W.position,document.body.style.top=W.top,document.body.style.left=W.left,document.body.style.right="unset",requestAnimationFrame(()=>{window.scrollTo(u,a)}),W=null}}ge.default.useEffect(()=>{function a(){o.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),ge.default.useEffect(()=>{!U()||t||(e?(i(),n||setTimeout(()=>{r()},500)):r())},[e])}var Y=j(require("react"));var Xe=new WeakMap;function y(e,n,t=!1){if(!e||!(e instanceof HTMLElement)||!n)return;let o={};Object.entries(n).forEach(([i,r])=>{if(i.startsWith("--")){e.style.setProperty(i,r);return}o[i]=e.style[i],e.style[i]=r}),!t&&Xe.set(e,o)}function ve(e,n){if(!e||!(e instanceof HTMLElement))return;let t=Xe.get(e);t&&(n?e.style[n]=t[n]:Object.entries(t).forEach(([o,i])=>{e.style[o]=i}))}function ne(e){let n=window.getComputedStyle(e),t=n.transform||n.webkitTransform||n.mozTransform,o=t.match(/^matrix3d\((.+)\)$/);return o?parseFloat(o[1].split(", ")[13]):(o=t.match(/^matrix\((.+)\)$/),o?parseFloat(o[1].split(", ")[5]):null)}function et(e){return 8*(Math.log(e+1)-2)}var T={DURATION:.5,EASE:[.32,.72,0,1]},he=.4;var z=j(require("react"));function tt(e){let n=z.default.useRef(e);return z.default.useEffect(()=>{n.current=e}),z.default.useMemo(()=>(...t)=>{var o;return(o=n.current)==null?void 0:o.call(n,...t)},[])}function Jt({defaultProp:e,onChange:n}){let t=z.default.useState(e),[o]=t,i=z.default.useRef(o),r=tt(n);return z.default.useEffect(()=>{i.current!==o&&(r(o),i.current=o)},[o,i,r]),t}function nt({prop:e,defaultProp:n,onChange:t=()=>{}}){let[o,i]=Jt({defaultProp:n,onChange:t}),r=e!==void 0,a=r?e:o,u=tt(t),E=z.default.useCallback(w=>{if(r){let l=typeof w=="function"?w(e):w;l!==e&&u(l)}else i(w)},[r,e,i,u]);return[a,E]}function rt({activeSnapPointProp:e,setActiveSnapPointProp:n,snapPoints:t,drawerRef:o,overlayRef:i,fadeFromIndex:r}){let[a,u]=nt({prop:e,defaultProp:t==null?void 0:t[0],onChange:n}),E=Y.default.useMemo(()=>a===(t==null?void 0:t[t.length-1]),[t,a]),w=t&&t.length>0&&r&&t[r]===a||!t,g=Y.default.useMemo(()=>{var c;return(c=t==null?void 0:t.findIndex(b=>b===a))!=null?c:null},[t,a]),l=Y.default.useMemo(()=>{var c;return(c=t==null?void 0:t.map(b=>{let v=typeof window!="undefined",N=typeof b=="string",p=0;N&&(p=parseInt(b,10));let R=N?p:v?b*window.innerHeight:0;return v?window.innerHeight-R:R}))!=null?c:[]},[t]),s=Y.default.useMemo(()=>g!==null?l==null?void 0:l[g]:null,[l,g]),x=Y.default.useCallback(c=>{var v;let b=(v=l==null?void 0:l.findIndex(N=>N===c))!=null?v:null;y(o.current,{transition:`transform ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,transform:`translate3d(0, ${c}px, 0)`}),l&&b!==l.length-1&&b!==r?y(i.current,{transition:`opacity ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,opacity:"0"}):y(i.current,{transition:`opacity ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,opacity:"1"}),u(b!==null?t==null?void 0:t[b]:null)},[o,t,l,r,i,u]);Y.default.useEffect(()=>{var c;if(e){let b=(c=t==null?void 0:t.findIndex(v=>v===e))!=null?c:null;l&&b&&typeof l[b]=="number"&&x(l[b])}},[e,t,l,x]);function O({draggedDistance:c,closeDrawer:b,velocity:v}){if(typeof s!="number"||r===void 0)return;let N=s-c,p=g===r-1,R=g===0;if(p&&y(i.current,{transition:`opacity ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`}),v>2&&c<0){b();return}if(v>2&&c>0&&l&&t){x(l[t.length-1]);return}let D=l==null?void 0:l.reduce((M,k)=>typeof M!="number"||typeof k!="number"?M:Math.abs(k-N)<Math.abs(M-N)?k:M);if(v>he&&Math.abs(c)<window.innerHeight*.4){let M=c>0?1:-1;if(M>0&&E||(R&&M<0&&b(),g===null))return;x(l[g+M]);return}x(D)}function $({draggedDistance:c}){var v;if(s===null)return;let b=s-c;if(b<l[l.length-1]){u((v=t==null?void 0:t[t.length-1])!=null?v:null),y(o.current,{transform:"translate3d(0, 0px, 0)"});return}y(o.current,{transform:`translate3d(0, ${b}px, 0)`})}function F(c,b){if(!t||!g||!l||r===void 0)return null;let v=g===r-1;if(g>=r&&b)return 0;if(v&&!b)return 1;if(!w&&!v)return null;let p=v?g+1:g-1,R=v?l[p]-l[p-1]:l[p+1]-l[p],D=c/Math.abs(R);return v?1-D:D}return{isLastSnapPoint:E,activeSnapPoint:a,shouldFade:w,getPercentageDragged:F,setActiveSnapPoint:u,activeSnapPointIndex:g,onRelease:O,onDrag:$,snapPointsOffset:l}}var Qt=.25,Zt=500,Xt=501,ot=8,_=16,it=26;function at({open:e,onOpenChange:n,children:t,shouldScaleBackground:o,onDrag:i,onRelease:r,experimentalSafariThemeAnimation:a,snapPoints:u,nested:E,closeThreshold:w=Qt,scrollLockTimeout:g=Zt,dismissible:l=!0,fadeFromIndex:s=u&&u.length-1,activeSnapPoint:x,setActiveSnapPoint:O,modal:$=!0,onClose:F}){var ke;let[c=!1,b]=h.default.useState(!1),[v,N]=h.default.useState(!1),[p,R]=h.default.useState(!1),[D,M]=h.default.useState(!1),[k,re]=h.default.useState(!1),P=h.default.useRef(null),K=h.default.useRef(null),Ie=h.default.useRef(null),J=h.default.useRef(null),Q=h.default.useRef(!1),Ee=h.default.useRef(null),Te=h.default.useRef(0),q=h.default.useRef(!1),He=h.default.useRef(0),m=h.default.useRef(null),Ae=h.default.useRef(((ke=m.current)==null?void 0:ke.getBoundingClientRect().height)||0),{onDrag:st,onRelease:oe}=Qe(m,P,c,a),{activeSnapPoint:ct,activeSnapPointIndex:ie,setActiveSnapPoint:Le,onRelease:ft,snapPointsOffset:ae,onDrag:dt,shouldFade:Ne,getPercentageDragged:mt}=rt({snapPoints:u,activeSnapPointProp:x,setActiveSnapPointProp:O,drawerRef:m,fadeFromIndex:s,overlayRef:P});We({isDisabled:!c||D||!$||k}),Ze({isOpen:c,modal:$,nested:E});function le(){return(window.innerWidth-it)/window.innerWidth}function bt(f){var d;l&&(m.current&&!m.current.contains(f.target)||(Ae.current=((d=m.current)==null?void 0:d.getBoundingClientRect().height)||0,M(!0),K.current=new Date,U()&&window.addEventListener("touchend",()=>Q.current=!1,{once:!0}),f.target.setPointerCapture(f.pointerId),Te.current=f.clientY))}function $e(f,d){var B;let S=f,L=new Date,I=(B=window.getSelection())==null?void 0:B.toString(),C=m.current?ne(m.current):null;if(C>0)return!0;if(I&&I.length>0)return!1;if(J.current&&L.getTime()-J.current.getTime()<g&&C===0)return J.current=new Date,!1;for(;S;){if(S.scrollHeight>S.clientHeight){if(S.getAttribute("role")==="dialog")return!0;if(d&&S!==document.body&&!C&&C>=0)return J.current=new Date,!1;if(S.scrollTop!==0)return J.current=new Date,!1}S=S.parentNode}return!0}function pt(f){if(D){let d=Te.current-f.clientY,S=d>0;if(!Q.current&&!$e(f.target,S))return;if(Q.current=!0,y(m.current,{transition:"none"}),y(P.current,{transition:"none"}),u&&dt({draggedDistance:d}),d>0&&!u){let V=et(d);y(m.current,{transform:`translate3d(0, ${Math.min(V*-1,0)}px, 0)`});return}let L=Math.abs(d),I=document.querySelector("[vaul-drawer-wrapper]"),C=L/Ae.current,B=mt(L,S);B!==null&&(C=B);let we=1-C;if((Ne||s&&ie===s-1)&&(st(C),i==null||i(f,C),y(P.current,{opacity:`${we}`,transition:"none"},!0)),I&&P.current&&o){let V=Math.min(le()+C*(1-le()),1),ue=8-C*8,Tt=Math.max(0,14-C*14);y(I,{borderRadius:`${ue}px`,transform:`scale(${V}) translate3d(0, ${Tt}px, 0)`,transition:"none"},!0)}u||y(m.current,{transform:`translate3d(0, ${L}px, 0)`})}}h.default.useEffect(()=>{var d;function f(){var L;if(!m.current)return;let S=document.activeElement;if(X(S)||q.current){let I=((L=window.visualViewport)==null?void 0:L.height)||0,C=window.innerHeight-I,B=m.current.getBoundingClientRect().height||0,we=m.current.getBoundingClientRect().top;if(Math.abs(He.current-C)>60&&(q.current=!q.current),u&&u.length>0&&ae&&ie){let V=ae[ie]||0;C+=V}if(He.current=C,B>I||q.current){let V=m.current.getBoundingClientRect().height,ue=V;V>I&&(ue=I-it),m.current.style.height=`${Math.max(ue,I-we)}px`}else m.current.style.height="initial";u&&u.length>0&&!q.current?m.current.style.bottom="0px":m.current.style.bottom=`${Math.max(C,0)}px`}}return(d=window.visualViewport)==null||d.addEventListener("resize",f),()=>{var S;return(S=window.visualViewport)==null?void 0:S.removeEventListener("resize",f)}},[ie,u,ae]);function G(){m.current&&(F==null||F(),m.current&&(y(m.current,{transform:"translate3d(0, 100%, 0)",transition:`transform ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`}),y(P.current,{opacity:"0",transition:`opacity ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`}),Fe(!1)),setTimeout(()=>{b(!1),N(!1),u&&Le(u[0])},Xt))}h.default.useEffect(()=>{if(!c&&o){let f=setTimeout(()=>{ve(document.body)},200);return()=>clearTimeout(f)}},[c,o]),h.default.useEffect(()=>{e?b(!0):G()},[e]),h.default.useEffect(()=>{p&&(n==null||n(c))},[c]),h.default.useEffect(()=>{R(!0)},[]);function Pe(){if(!m.current)return;let f=document.querySelector("[vaul-drawer-wrapper]"),d=ne(m.current);y(m.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`}),y(P.current,{transition:`opacity ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,opacity:"1"}),o&&d&&d>0&&c&&y(f,{borderRadius:`${ot}px`,overflow:"hidden",transform:`scale(${le()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top",transitionProperty:"transform, border-radius",transitionDuration:`${T.DURATION}s`,transitionTimingFunction:`cubic-bezier(${T.EASE.join(",")})`},!0)}function gt(f){if(!D||!m.current)return;Q.current&&X(f.target)&&f.target.blur(),Q.current=!1,M(!1),Ie.current=new Date;let d=ne(m.current);if(!$e(f.target,!1)||!d||Number.isNaN(d)||K.current===null)return;let S=f.clientY,L=Ie.current.getTime()-K.current.getTime(),I=Te.current-S,C=Math.abs(I)/L;if(C>.05&&(re(!0),setTimeout(()=>{re(!1)},200)),u){ft({draggedDistance:I,closeDrawer:G,velocity:C});return}if(I>0){Pe(),r==null||r(f,!0),oe(!0);return}if(C>he){G(),r==null||r(f,!1),oe(!1);return}let B=Math.min(m.current.getBoundingClientRect().height||0,window.innerHeight);if(d>=B*w){G(),r==null||r(f,!1),oe(!1);return}r==null||r(f,!0),oe(!0),Pe()}function Fe(f){let d=document.querySelector("[vaul-drawer-wrapper]");!d||!o||(f?(y(document.body,{background:"black"},!0),y(d,{borderRadius:`${ot}px`,overflow:"hidden",transform:`scale(${le()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top",transitionProperty:"transform, border-radius",transitionDuration:`${T.DURATION}s`,transitionTimingFunction:`cubic-bezier(${T.EASE.join(",")})`})):(ve(d,"transform"),ve(d,"borderRadius"),y(d,{transitionProperty:"transform, border-radius",transitionDuration:`${T.DURATION}s`,transitionTimingFunction:`cubic-bezier(${T.EASE.join(",")})`})))}function vt(f){let d=f?(window.innerWidth-_)/window.innerWidth:1,S=f?-_:0;Ee.current&&window.clearTimeout(Ee.current),y(m.current,{transition:`transform ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,transform:`scale(${d}) translate3d(0, ${S}px, 0)`}),!f&&m.current&&(Ee.current=setTimeout(()=>{y(m.current,{transition:"none",transform:`translate3d(0, ${ne(m.current)}px, 0)`})},500))}function ht(f,d){if(d<0)return;let S=(window.innerWidth-_)/window.innerWidth,L=S+d*(1-S),I=-_+d*_;y(m.current,{transform:`scale(${L}) translate3d(0, ${I}px, 0)`,transition:"none"})}function Et(f,d){let S=d?(window.innerWidth-_)/window.innerWidth:1,L=d?-_:0;d&&y(m.current,{transition:`transform ${T.DURATION}s cubic-bezier(${T.EASE.join(",")})`,transform:`scale(${S}) translate3d(0, ${L}px, 0)`})}return h.default.createElement(H.Root,{modal:$,onOpenChange:f=>{f?b(f):G()},open:c},h.default.createElement(Se.Provider,{value:{visible:v,activeSnapPoint:ct,snapPoints:u,setActiveSnapPoint:Le,drawerRef:m,overlayRef:P,scaleBackground:Fe,onPress:bt,setVisible:N,onRelease:gt,onDrag:pt,dismissible:l,isOpen:c,shouldFade:Ne,closeDrawer:G,onNestedDrag:ht,onNestedOpenChange:vt,onNestedRelease:Et,keyboardIsOpen:q,modal:$,snapPointsOffset:ae,experimentalSafariThemeAnimation:a}},t))}var lt=h.default.forwardRef(function({children:e,style:n,...t},o){let{overlayRef:i,snapPoints:r,onRelease:a,experimentalSafariThemeAnimation:u,shouldFade:E,isOpen:w,visible:g}=ce(),l=Oe(o,i),s=r&&r.length>0;return h.default.createElement(H.Overlay,{onMouseUp:a,ref:l,"vaul-drawer-visible":g?"true":"false","vaul-overlay":"","vaul-snap-points":w&&s?"true":"false","vaul-snap-points-overlay":w&&E?"true":"false","vaul-theme-transition":u?"true":"false",...t})});lt.displayName="Drawer.Overlay";var ut=h.default.forwardRef(function({children:e,onOpenAutoFocus:n,onPointerDownOutside:t,onAnimationEnd:o,style:i,...r},a){let{drawerRef:u,onPress:E,onRelease:w,onDrag:g,dismissible:l,keyboardIsOpen:s,snapPointsOffset:x,visible:O,setVisible:$,closeDrawer:F,scaleBackground:c}=ce(),b=Oe(a,u);return h.default.useEffect(()=>{$(!0),c(!0)},[]),h.default.createElement(H.Content,{onOpenAutoFocus:v=>{n?n(v):v.preventDefault()},onPointerDown:E,onPointerDownOutside:v=>{s.current&&(s.current=!1),v.preventDefault(),l&&(F(),t==null||t(v))},onPointerMove:g,onPointerUp:w,ref:b,style:x?{"--snap-point-height":`${x[0]}px`,...i}:i,...r,"vaul-drawer":"","vaul-drawer-visible":O?"true":"false"},e)});ut.displayName="Drawer.Content";function en({children:e,onDrag:n,onOpenChange:t}){let{onNestedDrag:o,onNestedOpenChange:i,onNestedRelease:r}=ce();if(!o)throw new Error("Drawer.NestedRoot must be placed in another drawer");return h.default.createElement(at,{nested:!0,onClose:()=>{i(!1)},onDrag:(a,u)=>{o(a,u),n==null||n(a,u)},onOpenChange:a=>{a&&i(a),t==null||t(a)},onRelease:r},e)}var tn={Root:at,NestedRoot:en,Content:ut,Overlay:lt,Trigger:H.Trigger,Portal:H.Portal,Close:H.Close,Title:H.Title,Description:H.Description};0&&(module.exports={Drawer});
//# sourceMappingURL=index.js.map
{
"name": "vaul",
"version": "0.5.0",
"version": "0.6.0",
"description": "Drawer component for React.",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc