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.4.6 to 0.5.0

16

dist/index.d.ts
import * as DialogPrimitive from '@radix-ui/react-dialog';
import React from 'react';
type WithFadeFromProps = {
interface WithFadeFromProps {
snapPoints: (number | string)[];
fadeFromIndex: number;
};
type WithoutFadeFromProps = {
}
interface WithoutFadeFromProps {
snapPoints?: (number | string)[];
fadeFromIndex?: never;
};
}
type DialogProps = {
activeSnapPoint?: number | string | null;
setActiveSnapPoint?(snapPoint: number | string | null): void;
setActiveSnapPoint?: (snapPoint: number | string | null) => void;
children?: React.ReactNode;

@@ -19,8 +19,8 @@ open?: boolean;

closeThreshold?: number;
onOpenChange?(open: boolean): void;
onOpenChange?: (open: boolean) => void;
shouldScaleBackground?: boolean;
scrollLockTimeout?: number;
dismissible?: boolean;
onDrag?(event: React.PointerEvent<HTMLDivElement>, percentageDragged: number): void;
onRelease?(event: React.PointerEvent<HTMLDivElement>, open: boolean): void;
onDrag?: (event: React.PointerEvent<HTMLDivElement>, percentageDragged: number) => void;
onRelease?: (event: React.PointerEvent<HTMLDivElement>, open: boolean) => void;
experimentalSafariThemeAnimation?: boolean;

@@ -27,0 +27,0 @@ modal?: boolean;

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