@gv-tech/ui-web 2.15.0 → 2.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/drawer.cjs CHANGED
@@ -1,3 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const X=require("./jsx-runtime-nZSsnGb7.js"),r=require("react"),Z=require("./index-ByiPJW53.js"),it=require("./utils-IjLH3w2e.js");function Ee(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const a=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,a.get?a:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const pt=Ee(r);function Oe(t){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",n.appendChild(e),e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}const Xt=r.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),wt=()=>{const t=r.useContext(Xt);if(!t)throw new Error("useDrawerContext must be used within a Drawer.Root");return t};Oe(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
2
- [data-state=closed]
3
- ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);function Ce(){const t=navigator.userAgent;return typeof window<"u"&&(/Firefox/.test(t)&&/Mobile/.test(t)||/FxiOS/.test(t))}function $e(){return Nt(/^Mac/)}function Ae(){return Nt(/^iPhone/)}function Wt(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Me(){return Nt(/^iPad/)||$e()&&navigator.maxTouchPoints>1}function Kt(){return Ae()||Me()}function Nt(t){return typeof window<"u"&&window.navigator!=null?t.test(window.navigator.platform):void 0}const Ne=24,Pe=typeof window<"u"?r.useLayoutEffect:r.useEffect;function Vt(...t){return(...n)=>{for(let e of t)typeof e=="function"&&e(...n)}}const Et=typeof document<"u"&&window.visualViewport;function qt(t){let n=window.getComputedStyle(t);return/(auto|scroll)/.test(n.overflow+n.overflowX+n.overflowY)}function Gt(t){for(qt(t)&&(t=t.parentElement);t&&!qt(t);)t=t.parentElement;return t||document.scrollingElement||document.documentElement}const Ie=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);let yt=0,Ot;function _e(t={}){let{isDisabled:n}=t;Pe(()=>{if(!n)return yt++,yt===1&&Kt()&&(Ot=He()),()=>{yt--,yt===0&&Ot?.()}},[n])}function He(){let t,n=0,e=f=>{t=Gt(f.target),!(t===document.documentElement&&t===document.body)&&(n=f.changedTouches[0].pageY)},a=f=>{if(!t||t===document.documentElement||t===document.body){f.preventDefault();return}let m=f.changedTouches[0].pageY,L=t.scrollTop,j=t.scrollHeight-t.clientHeight;j!==0&&((L<=0&&m>n||L>=j&&m<n)&&f.preventDefault(),n=m)},i=f=>{let m=f.target;At(m)&&m!==document.activeElement&&(f.preventDefault(),m.style.transform="translateY(-2000px)",m.focus(),requestAnimationFrame(()=>{m.style.transform=""}))},o=f=>{let m=f.target;At(m)&&(m.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{m.style.transform="",Et&&(Et.height<window.innerHeight?requestAnimationFrame(()=>{Yt(m)}):Et.addEventListener("resize",()=>Yt(m),{once:!0}))}))},v=()=>{window.scrollTo(0,0)},w=window.pageXOffset,R=window.pageYOffset,x=Vt(je(document.documentElement,"paddingRight",`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let g=Vt(ft(document,"touchstart",e,{passive:!1,capture:!0}),ft(document,"touchmove",a,{passive:!1,capture:!0}),ft(document,"touchend",i,{passive:!1,capture:!0}),ft(document,"focus",o,!0),ft(window,"scroll",v));return()=>{x(),g(),window.scrollTo(w,R)}}function je(t,n,e){let a=t.style[n];return t.style[n]=e,()=>{t.style[n]=a}}function ft(t,n,e,a){return t.addEventListener(n,e,a),()=>{t.removeEventListener(n,e,a)}}function Yt(t){let n=document.scrollingElement||document.documentElement;for(;t&&t!==n;){let e=Gt(t);if(e!==document.documentElement&&e!==document.body&&e!==t){let a=e.getBoundingClientRect().top,i=t.getBoundingClientRect().top,o=t.getBoundingClientRect().bottom;const v=e.getBoundingClientRect().bottom+Ne;o>v&&(e.scrollTop+=i-a)}t=e.parentElement}}function At(t){return t instanceof HTMLInputElement&&!Ie.has(t.type)||t instanceof HTMLTextAreaElement||t instanceof HTMLElement&&t.isContentEditable}function ke(t,n){typeof t=="function"?t(n):t!=null&&(t.current=n)}function Le(...t){return n=>t.forEach(e=>ke(e,n))}function Jt(...t){return pt.useCallback(Le(...t),t)}const Qt=new WeakMap;function $(t,n,e=!1){if(!t||!(t instanceof HTMLElement))return;let a={};Object.entries(n).forEach(([i,o])=>{if(i.startsWith("--")){t.style.setProperty(i,o);return}a[i]=t.style[i],t.style[i]=o}),!e&&Qt.set(t,a)}function Be(t,n){if(!t||!(t instanceof HTMLElement))return;let e=Qt.get(t);e&&(t.style[n]=e[n])}const C=t=>{switch(t){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return t}};function bt(t,n){if(!t)return null;const e=window.getComputedStyle(t),a=e.transform||e.webkitTransform||e.mozTransform;let i=a.match(/^matrix3d\((.+)\)$/);return i?parseFloat(i[1].split(", ")[C(n)?13:12]):(i=a.match(/^matrix\((.+)\)$/),i?parseFloat(i[1].split(", ")[C(n)?5:4]):null)}function Fe(t){return 8*(Math.log(t+1)-2)}function Ct(t,n){if(!t)return()=>{};const e=t.style.cssText;return Object.assign(t.style,n),()=>{t.style.cssText=e}}function Ue(...t){return(...n)=>{for(const e of t)typeof e=="function"&&e(...n)}}const E={DURATION:.5,EASE:[.32,.72,0,1]},Zt=.4,ze=.25,We=100,te=8,nt=16,Mt=26,$t="vaul-dragging";function ee(t){const n=r.useRef(t);return r.useEffect(()=>{n.current=t}),r.useMemo(()=>(...e)=>n.current==null?void 0:n.current.call(n,...e),[])}function Ve({defaultProp:t,onChange:n}){const e=r.useState(t),[a]=e,i=r.useRef(a),o=ee(n);return r.useEffect(()=>{i.current!==a&&(o(a),i.current=a)},[a,i,o]),e}function ne({prop:t,defaultProp:n,onChange:e=()=>{}}){const[a,i]=Ve({defaultProp:n,onChange:e}),o=t!==void 0,v=o?t:a,w=ee(e),R=r.useCallback(x=>{if(o){const f=typeof x=="function"?x(t):x;f!==t&&w(f)}else i(x)},[o,t,i,w]);return[v,R]}function qe({activeSnapPointProp:t,setActiveSnapPointProp:n,snapPoints:e,drawerRef:a,overlayRef:i,fadeFromIndex:o,onSnapPointChange:v,direction:w="bottom",container:R,snapToSequentialPoint:x}){const[g,f]=ne({prop:t,defaultProp:e?.[0],onChange:n}),[m,L]=r.useState(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.useEffect(()=>{function u(){L({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)},[]);const j=r.useMemo(()=>g===e?.[e.length-1]||null,[e,g]),T=r.useMemo(()=>{var u;return(u=e?.findIndex(b=>b===g))!=null?u:null},[e,g]),B=e&&e.length>0&&(o||o===0)&&!Number.isNaN(o)&&e[o]===g||!e,p=r.useMemo(()=>{const u=R?{width:R.getBoundingClientRect().width,height:R.getBoundingClientRect().height}:typeof window<"u"?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};var b;return(b=e?.map(y=>{const I=typeof y=="string";let N=0;if(I&&(N=parseInt(y,10)),C(w)){const l=I?N:m?y*u.height:0;return m?w==="bottom"?u.height-l:-u.height+l:l}const U=I?N:m?y*u.width:0;return m?w==="right"?u.width-U:-u.width+U:U}))!=null?b:[]},[e,m,R]),M=r.useMemo(()=>T!==null?p?.[T]:null,[p,T]),A=r.useCallback(u=>{var b;const y=(b=p?.findIndex(I=>I===u))!=null?b:null;v(y),$(a.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:C(w)?`translate3d(0, ${u}px, 0)`:`translate3d(${u}px, 0, 0)`}),p&&y!==p.length-1&&o!==void 0&&y!==o&&y<o?$(i.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"0"}):$(i.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"1"}),f(e?.[Math.max(y,0)])},[a.current,e,p,o,i,f]);r.useEffect(()=>{if(g||t){var u;const b=(u=e?.findIndex(y=>y===t||y===g))!=null?u:-1;p&&b!==-1&&typeof p[b]=="number"&&A(p[b])}},[g,t,e,p,A]);function c({draggedDistance:u,closeDrawer:b,velocity:y,dismissible:I}){if(o===void 0)return;const N=w==="bottom"||w==="right"?(M??0)-u:(M??0)+u,U=T===o-1,l=T===0,F=u>0;if(U&&$(i.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),!x&&y>2&&!F){I?b():A(p[0]);return}if(!x&&y>2&&F&&p&&e){A(p[e.length-1]);return}const _=p?.reduce((P,K)=>typeof P!="number"||typeof K!="number"?P:Math.abs(K-N)<Math.abs(P-N)?K:P),z=C(w)?window.innerHeight:window.innerWidth;if(y>Zt&&Math.abs(u)<z*.4){const P=F?1:-1;if(P>0&&j&&e){A(p[e.length-1]);return}if(l&&P<0&&I&&b(),T===null)return;A(p[T+P]);return}A(_)}function q({draggedDistance:u}){if(M===null)return;const b=w==="bottom"||w==="right"?M-u:M+u;(w==="bottom"||w==="right")&&b<p[p.length-1]||(w==="top"||w==="left")&&b>p[p.length-1]||$(a.current,{transform:C(w)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})}function tt(u,b){if(!e||typeof T!="number"||!p||o===void 0)return null;const y=T===o-1;if(T>=o&&b)return 0;if(y&&!b)return 1;if(!B&&!y)return null;const N=y?T+1:T-1,U=y?p[N]-p[N-1]:p[N+1]-p[N],l=u/Math.abs(U);return y?1-l:l}return{isLastSnapPoint:j,activeSnapPoint:g,shouldFade:B,getPercentageDragged:tt,setActiveSnapPoint:f,activeSnapPointIndex:T,onRelease:c,onDrag:q,snapPointsOffset:p}}const Ye=()=>()=>{};function Xe(){const{direction:t,isOpen:n,shouldScaleBackground:e,setBackgroundColorOnScale:a,noBodyStyles:i}=wt(),o=r.useRef(null),v=r.useMemo(()=>document.body.style.backgroundColor,[]);function w(){return(window.innerWidth-Mt)/window.innerWidth}r.useEffect(()=>{if(n&&e){o.current&&clearTimeout(o.current);const R=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!R)return;Ue(a&&!i?Ct(document.body,{background:"black"}):Ye,Ct(R,{transformOrigin:C(t)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${E.DURATION}s`,transitionTimingFunction:`cubic-bezier(${E.EASE.join(",")})`}));const x=Ct(R,{borderRadius:`${te}px`,overflow:"hidden",...C(t)?{transform:`scale(${w()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${w()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{x(),o.current=window.setTimeout(()=>{v?document.body.style.background=v:document.body.style.removeProperty("background")},E.DURATION*1e3)}}},[n,e,v])}let mt=null;function Ke({isOpen:t,modal:n,nested:e,hasBeenOpened:a,preventScrollRestoration:i,noBodyStyles:o}){const[v,w]=r.useState(()=>typeof window<"u"?window.location.href:""),R=r.useRef(0),x=r.useCallback(()=>{if(Wt()&&mt===null&&t&&!o){mt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};const{scrollX:f,innerHeight:m}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-R.current}px`,left:`${-f}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{const L=m-window.innerHeight;L&&R.current>=m&&(document.body.style.top=`${-(R.current+L)}px`)}),300)}},[t]),g=r.useCallback(()=>{if(Wt()&&mt!==null&&!o){const f=-parseInt(document.body.style.top,10),m=-parseInt(document.body.style.left,10);Object.assign(document.body.style,mt),window.requestAnimationFrame(()=>{if(i&&v!==window.location.href){w(window.location.href);return}window.scrollTo(m,f)}),mt=null}},[v]);return r.useEffect(()=>{function f(){R.current=window.scrollY}return f(),window.addEventListener("scroll",f),()=>{window.removeEventListener("scroll",f)}},[]),r.useEffect(()=>{if(n)return()=>{typeof document>"u"||document.querySelector("[data-vaul-drawer]")||g()}},[n,g]),r.useEffect(()=>{e||!a||(t?(!window.matchMedia("(display-mode: standalone)").matches&&x(),n||window.setTimeout(()=>{g()},500)):g())},[t,a,v,n,e,x,g]),{restorePositionSetting:g}}function Ge({open:t,onOpenChange:n,children:e,onDrag:a,onRelease:i,snapPoints:o,shouldScaleBackground:v=!1,setBackgroundColorOnScale:w=!0,closeThreshold:R=ze,scrollLockTimeout:x=We,dismissible:g=!0,handleOnly:f=!1,fadeFromIndex:m=o&&o.length-1,activeSnapPoint:L,setActiveSnapPoint:j,fixed:T,modal:B=!0,onClose:p,nested:M,noBodyStyles:A=!1,direction:c="bottom",defaultOpen:q=!1,disablePreventScroll:tt=!0,snapToSequentialPoint:u=!1,preventScrollRestoration:b=!1,repositionInputs:y=!0,onAnimationEnd:I,container:N,autoFocus:U=!1}){var l,F;const[_=!1,z]=ne({defaultProp:q,prop:t,onChange:s=>{n?.(s),!s&&!M&&ve(),setTimeout(()=>{I?.(s)},E.DURATION*1e3),s&&!B&&typeof window<"u"&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),s||(document.body.style.pointerEvents="auto")}}),[P,K]=r.useState(!1),[G,st]=r.useState(!1),[fe,It]=r.useState(!1),rt=r.useRef(null),gt=r.useRef(null),Dt=r.useRef(null),Rt=r.useRef(null),lt=r.useRef(null),ut=r.useRef(!1),St=r.useRef(null),xt=r.useRef(0),at=r.useRef(!1),_t=r.useRef(!q),Ht=r.useRef(0),d=r.useRef(null),jt=r.useRef(((l=d.current)==null?void 0:l.getBoundingClientRect().height)||0),kt=r.useRef(((F=d.current)==null?void 0:F.getBoundingClientRect().width)||0),Tt=r.useRef(0),me=r.useCallback(s=>{o&&s===ct.length-1&&(gt.current=new Date)},[]),{activeSnapPoint:pe,activeSnapPointIndex:ot,setActiveSnapPoint:Lt,onRelease:we,snapPointsOffset:ct,onDrag:ge,shouldFade:Bt,getPercentageDragged:he}=qe({snapPoints:o,activeSnapPointProp:L,setActiveSnapPointProp:j,drawerRef:d,fadeFromIndex:m,overlayRef:rt,onSnapPointChange:me,direction:c,container:N,snapToSequentialPoint:u});_e({isDisabled:!_||G||!B||fe||!P||!y||!tt});const{restorePositionSetting:ve}=Ke({isOpen:_,modal:B,nested:M??!1,hasBeenOpened:P,preventScrollRestoration:b,noBodyStyles:A});function ht(){return(window.innerWidth-Mt)/window.innerWidth}function ye(s){var D,S;!g&&!o||d.current&&!d.current.contains(s.target)||(jt.current=((D=d.current)==null?void 0:D.getBoundingClientRect().height)||0,kt.current=((S=d.current)==null?void 0:S.getBoundingClientRect().width)||0,st(!0),Dt.current=new Date,Kt()&&window.addEventListener("touchend",()=>ut.current=!1,{once:!0}),s.target.setPointerCapture(s.pointerId),xt.current=C(c)?s.pageY:s.pageX)}function Ft(s,D){var S;let h=s;const O=(S=window.getSelection())==null?void 0:S.toString(),k=d.current?bt(d.current,c):null,H=new Date;if(h.tagName==="SELECT"||h.hasAttribute("data-vaul-no-drag")||h.closest("[data-vaul-no-drag]"))return!1;if(c==="right"||c==="left")return!0;if(gt.current&&H.getTime()-gt.current.getTime()<500)return!1;if(k!==null&&(c==="bottom"?k>0:k<0))return!0;if(O&&O.length>0)return!1;if(lt.current&&H.getTime()-lt.current.getTime()<x&&k===0||D)return lt.current=H,!1;for(;h;){if(h.scrollHeight>h.clientHeight){if(h.scrollTop!==0)return lt.current=new Date,!1;if(h.getAttribute("role")==="dialog")return!0}h=h.parentNode}return!0}function be(s){if(d.current&&G){const D=c==="bottom"||c==="right"?1:-1,S=(xt.current-(C(c)?s.pageY:s.pageX))*D,h=S>0,O=o&&!g&&!h;if(O&&ot===0)return;const k=Math.abs(S),H=document.querySelector("[data-vaul-drawer-wrapper]"),J=c==="bottom"||c==="top"?jt.current:kt.current;let W=k/J;const et=he(k,h);if(et!==null&&(W=et),O&&W>=1||!ut.current&&!Ft(s.target,h))return;if(d.current.classList.add($t),ut.current=!0,$(d.current,{transition:"none"}),$(rt.current,{transition:"none"}),o&&ge({draggedDistance:S}),h&&!o){const Y=Fe(S),vt=Math.min(Y*-1,0)*D;$(d.current,{transform:C(c)?`translate3d(0, ${vt}px, 0)`:`translate3d(${vt}px, 0, 0)`});return}const Q=1-W;if((Bt||m&&ot===m-1)&&(a?.(s,W),$(rt.current,{opacity:`${Q}`,transition:"none"},!0)),H&&rt.current&&v){const Y=Math.min(ht()+W*(1-ht()),1),vt=8-W*8,zt=Math.max(0,14-W*14);$(H,{borderRadius:`${vt}px`,transform:C(c)?`scale(${Y}) translate3d(0, ${zt}px, 0)`:`scale(${Y}) translate3d(${zt}px, 0, 0)`,transition:"none"},!0)}if(!o){const Y=k*D;$(d.current,{transform:C(c)?`translate3d(0, ${Y}px, 0)`:`translate3d(${Y}px, 0, 0)`})}}}r.useEffect(()=>{window.requestAnimationFrame(()=>{_t.current=!0})},[]),r.useEffect(()=>{var s;function D(){if(!d.current||!y)return;const S=document.activeElement;if(At(S)||at.current){var h;const O=((h=window.visualViewport)==null?void 0:h.height)||0,k=window.innerHeight;let H=k-O;const J=d.current.getBoundingClientRect().height||0,W=J>k*.8;Tt.current||(Tt.current=J);const et=d.current.getBoundingClientRect().top;if(Math.abs(Ht.current-H)>60&&(at.current=!at.current),o&&o.length>0&&ct&&ot){const Q=ct[ot]||0;H+=Q}if(Ht.current=H,J>O||at.current){const Q=d.current.getBoundingClientRect().height;let Y=Q;Q>O&&(Y=O-(W?et:Mt)),T?d.current.style.height=`${Q-Math.max(H,0)}px`:d.current.style.height=`${Math.max(Y,O-et)}px`}else Ce()||(d.current.style.height=`${Tt.current}px`);o&&o.length>0&&!at.current?d.current.style.bottom="0px":d.current.style.bottom=`${Math.max(H,0)}px`}}return(s=window.visualViewport)==null||s.addEventListener("resize",D),()=>{var S;return(S=window.visualViewport)==null?void 0:S.removeEventListener("resize",D)}},[ot,o,ct]);function dt(s){De(),p?.(),s||z(!1),setTimeout(()=>{o&&Lt(o[0])},E.DURATION*1e3)}function Ut(){if(!d.current)return;const s=document.querySelector("[data-vaul-drawer-wrapper]"),D=bt(d.current,c);$(d.current,{transform:"translate3d(0, 0, 0)",transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`}),$(rt.current,{transition:`opacity ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,opacity:"1"}),v&&D&&D>0&&_&&$(s,{borderRadius:`${te}px`,overflow:"hidden",...C(c)?{transform:`scale(${ht()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ht()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${E.DURATION}s`,transitionTimingFunction:`cubic-bezier(${E.EASE.join(",")})`},!0)}function De(){!G||!d.current||(d.current.classList.remove($t),ut.current=!1,st(!1),Rt.current=new Date)}function Re(s){if(!G||!d.current)return;d.current.classList.remove($t),ut.current=!1,st(!1),Rt.current=new Date;const D=bt(d.current,c);if(!s||!Ft(s.target,!1)||!D||Number.isNaN(D)||Dt.current===null)return;const S=Rt.current.getTime()-Dt.current.getTime(),h=xt.current-(C(c)?s.pageY:s.pageX),O=Math.abs(h)/S;if(O>.05&&(It(!0),setTimeout(()=>{It(!1)},200)),o){we({draggedDistance:h*(c==="bottom"||c==="right"?1:-1),closeDrawer:dt,velocity:O,dismissible:g}),i?.(s,!0);return}if(c==="bottom"||c==="right"?h>0:h<0){Ut(),i?.(s,!0);return}if(O>Zt){dt(),i?.(s,!1);return}var k;const H=Math.min((k=d.current.getBoundingClientRect().height)!=null?k:0,window.innerHeight);var J;const W=Math.min((J=d.current.getBoundingClientRect().width)!=null?J:0,window.innerWidth),et=c==="left"||c==="right";if(Math.abs(D)>=(et?W:H)*R){dt(),i?.(s,!1);return}i?.(s,!0),Ut()}r.useEffect(()=>(_&&($(document.documentElement,{scrollBehavior:"auto"}),gt.current=new Date),()=>{Be(document.documentElement,"scrollBehavior")}),[_]);function Se(s){const D=s?(window.innerWidth-nt)/window.innerWidth:1,S=s?-nt:0;St.current&&window.clearTimeout(St.current),$(d.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:C(c)?`scale(${D}) translate3d(0, ${S}px, 0)`:`scale(${D}) translate3d(${S}px, 0, 0)`}),!s&&d.current&&(St.current=setTimeout(()=>{const h=bt(d.current,c);$(d.current,{transition:"none",transform:C(c)?`translate3d(0, ${h}px, 0)`:`translate3d(${h}px, 0, 0)`})},500))}function xe(s,D){if(D<0)return;const S=(window.innerWidth-nt)/window.innerWidth,h=S+D*(1-S),O=-nt+D*nt;$(d.current,{transform:C(c)?`scale(${h}) translate3d(0, ${O}px, 0)`:`scale(${h}) translate3d(${O}px, 0, 0)`,transition:"none"})}function Te(s,D){const S=C(c)?window.innerHeight:window.innerWidth,h=D?(S-nt)/S:1,O=D?-nt:0;D&&$(d.current,{transition:`transform ${E.DURATION}s cubic-bezier(${E.EASE.join(",")})`,transform:C(c)?`scale(${h}) translate3d(0, ${O}px, 0)`:`scale(${h}) translate3d(${O}px, 0, 0)`})}return r.useEffect(()=>{B||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[B]),r.createElement(Z.Root,{defaultOpen:q,onOpenChange:s=>{!g&&!s||(s?K(!0):dt(!0),z(s))},open:_},r.createElement(Xt.Provider,{value:{activeSnapPoint:pe,snapPoints:o,setActiveSnapPoint:Lt,drawerRef:d,overlayRef:rt,onOpenChange:n,onPress:ye,onRelease:Re,onDrag:be,dismissible:g,shouldAnimate:_t,handleOnly:f,isOpen:_,isDragging:G,shouldFade:Bt,closeDrawer:dt,onNestedDrag:xe,onNestedOpenChange:Se,onNestedRelease:Te,keyboardIsOpen:at,modal:B,snapPointsOffset:ct,activeSnapPointIndex:ot,direction:c,shouldScaleBackground:v,setBackgroundColorOnScale:w,noBodyStyles:A,container:N,autoFocus:U}},e))}const re=r.forwardRef(function({...t},n){const{overlayRef:e,snapPoints:a,onRelease:i,shouldFade:o,isOpen:v,modal:w,shouldAnimate:R}=wt(),x=Jt(n,e),g=a&&a.length>0;if(!w)return null;const f=r.useCallback(m=>i(m),[i]);return r.createElement(Z.Overlay,{onMouseUp:f,ref:x,"data-vaul-overlay":"","data-vaul-snap-points":v&&g?"true":"false","data-vaul-snap-points-overlay":v&&o?"true":"false","data-vaul-animate":R?.current?"true":"false",...t})});re.displayName="Drawer.Overlay";const ae=r.forwardRef(function({onPointerDownOutside:t,style:n,onOpenAutoFocus:e,...a},i){const{drawerRef:o,onPress:v,onRelease:w,onDrag:R,keyboardIsOpen:x,snapPointsOffset:g,activeSnapPointIndex:f,modal:m,isOpen:L,direction:j,snapPoints:T,container:B,handleOnly:p,shouldAnimate:M,autoFocus:A}=wt(),[c,q]=r.useState(!1),tt=Jt(i,o),u=r.useRef(null),b=r.useRef(null),y=r.useRef(!1),I=T&&T.length>0;Xe();const N=(l,F,_=0)=>{if(y.current)return!0;const z=Math.abs(l.y),P=Math.abs(l.x),K=P>z,G=["bottom","right"].includes(F)?1:-1;if(F==="left"||F==="right"){if(!(l.x*G<0)&&P>=0&&P<=_)return K}else if(!(l.y*G<0)&&z>=0&&z<=_)return!K;return y.current=!0,!0};r.useEffect(()=>{I&&window.requestAnimationFrame(()=>{q(!0)})},[]);function U(l){u.current=null,y.current=!1,w(l)}return r.createElement(Z.Content,{"data-vaul-drawer-direction":j,"data-vaul-drawer":"","data-vaul-delayed-snap-points":c?"true":"false","data-vaul-snap-points":L&&I?"true":"false","data-vaul-custom-container":B?"true":"false","data-vaul-animate":M?.current?"true":"false",...a,ref:tt,style:g&&g.length>0?{"--snap-point-height":`${g[f??0]}px`,...n}:n,onPointerDown:l=>{p||(a.onPointerDown==null||a.onPointerDown.call(a,l),u.current={x:l.pageX,y:l.pageY},v(l))},onOpenAutoFocus:l=>{e?.(l),A||l.preventDefault()},onPointerDownOutside:l=>{if(t?.(l),!m||l.defaultPrevented){l.preventDefault();return}x.current&&(x.current=!1)},onFocusOutside:l=>{if(!m){l.preventDefault();return}},onPointerMove:l=>{if(b.current=l,p||(a.onPointerMove==null||a.onPointerMove.call(a,l),!u.current))return;const F=l.pageY-u.current.y,_=l.pageX-u.current.x,z=l.pointerType==="touch"?10:2;N({x:_,y:F},j,z)?R(l):(Math.abs(_)>z||Math.abs(F)>z)&&(u.current=null)},onPointerUp:l=>{a.onPointerUp==null||a.onPointerUp.call(a,l),u.current=null,y.current=!1,w(l)},onPointerOut:l=>{a.onPointerOut==null||a.onPointerOut.call(a,l),U(b.current)},onContextMenu:l=>{a.onContextMenu==null||a.onContextMenu.call(a,l),b.current&&U(b.current)}})});ae.displayName="Drawer.Content";const Je=250,Qe=120,Ze=r.forwardRef(function({preventCycle:t=!1,children:n,...e},a){const{closeDrawer:i,isDragging:o,snapPoints:v,activeSnapPoint:w,setActiveSnapPoint:R,dismissible:x,handleOnly:g,isOpen:f,onPress:m,onDrag:L}=wt(),j=r.useRef(null),T=r.useRef(!1);function B(){if(T.current){A();return}window.setTimeout(()=>{p()},Qe)}function p(){if(o||t||T.current){A();return}if(A(),!v||v.length===0){x||i();return}if(w===v[v.length-1]&&x){i();return}const q=v.findIndex(u=>u===w);if(q===-1)return;const tt=v[q+1];R(tt)}function M(){j.current=window.setTimeout(()=>{T.current=!0},Je)}function A(){j.current&&window.clearTimeout(j.current),T.current=!1}return r.createElement("div",{onClick:B,onPointerCancel:A,onPointerDown:c=>{g&&m(c),M()},onPointerMove:c=>{g&&L(c)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...e},r.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},n))});Ze.displayName="Drawer.Handle";function tn(t){const n=wt(),{container:e=n.container,...a}=t;return r.createElement(Z.Portal,{container:e,...a})}const V={Root:Ge,Content:ae,Overlay:re,Trigger:Z.Trigger,Portal:tn,Close:Z.Close,Title:Z.Title,Description:Z.Description},oe=({shouldScaleBackground:t=!0,...n})=>X.jsxRuntimeExports.jsx(V.Root,{shouldScaleBackground:t,...n});oe.displayName="Drawer";const en=V.Trigger,ie=V.Portal,nn=V.Close,Pt=pt.forwardRef(({className:t,...n},e)=>X.jsxRuntimeExports.jsx(V.Overlay,{ref:e,className:it.cn("fixed inset-0 z-50 bg-black/80",t),...n}));Pt.displayName=V.Overlay.displayName;const se=pt.forwardRef(({className:t,children:n,...e},a)=>X.jsxRuntimeExports.jsxs(ie,{children:[X.jsxRuntimeExports.jsx(Pt,{}),X.jsxRuntimeExports.jsxs(V.Content,{ref:a,className:it.cn("bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border",t),...e,children:[X.jsxRuntimeExports.jsx("div",{className:"bg-muted mx-auto mt-4 h-2 w-[100px] rounded-full"}),n]})]}));se.displayName="DrawerContent";const le=({className:t,...n})=>X.jsxRuntimeExports.jsx("div",{className:it.cn("grid gap-1.5 p-4 text-center sm:text-left",t),...n});le.displayName="DrawerHeader";const ue=({className:t,...n})=>X.jsxRuntimeExports.jsx("div",{className:it.cn("mt-auto flex flex-col gap-2 p-4",t),...n});ue.displayName="DrawerFooter";const ce=pt.forwardRef(({className:t,...n},e)=>X.jsxRuntimeExports.jsx(V.Title,{ref:e,className:it.cn("text-lg leading-none font-semibold tracking-tight",t),...n}));ce.displayName=V.Title.displayName;const de=pt.forwardRef(({className:t,...n},e)=>X.jsxRuntimeExports.jsx(V.Description,{ref:e,className:it.cn("text-muted-foreground text-sm",t),...n}));de.displayName=V.Description.displayName;exports.Drawer=oe;exports.DrawerClose=nn;exports.DrawerContent=se;exports.DrawerDescription=de;exports.DrawerFooter=ue;exports.DrawerHeader=le;exports.DrawerOverlay=Pt;exports.DrawerPortal=ie;exports.DrawerTitle=ce;exports.DrawerTrigger=en;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./jsx-runtime-nZSsnGb7.js"),p=require("react"),a=require("vaul"),o=require("./utils-IjLH3w2e.js");function f(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const i=f(p),c=({shouldScaleBackground:e=!0,...r})=>s.jsxRuntimeExports.jsx(a.Drawer.Root,{shouldScaleBackground:e,...r});c.displayName="Drawer";const j=a.Drawer.Trigger,x=a.Drawer.Portal,g=a.Drawer.Close,l=i.forwardRef(({className:e,...r},t)=>s.jsxRuntimeExports.jsx(a.Drawer.Overlay,{ref:t,className:o.cn("fixed inset-0 z-50 bg-black/80",e),...r}));l.displayName=a.Drawer.Overlay.displayName;const d=i.forwardRef(({className:e,children:r,...t},n)=>s.jsxRuntimeExports.jsxs(x,{children:[s.jsxRuntimeExports.jsx(l,{}),s.jsxRuntimeExports.jsxs(a.Drawer.Content,{ref:n,className:o.cn("bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border",e),...t,children:[s.jsxRuntimeExports.jsx("div",{className:"bg-muted mx-auto mt-4 h-2 w-[100px] rounded-full"}),r]})]}));d.displayName="DrawerContent";const m=({className:e,...r})=>s.jsxRuntimeExports.jsx("div",{className:o.cn("grid gap-1.5 p-4 text-center sm:text-left",e),...r});m.displayName="DrawerHeader";const u=({className:e,...r})=>s.jsxRuntimeExports.jsx("div",{className:o.cn("mt-auto flex flex-col gap-2 p-4",e),...r});u.displayName="DrawerFooter";const w=i.forwardRef(({className:e,...r},t)=>s.jsxRuntimeExports.jsx(a.Drawer.Title,{ref:t,className:o.cn("text-lg leading-none font-semibold tracking-tight",e),...r}));w.displayName=a.Drawer.Title.displayName;const D=i.forwardRef(({className:e,...r},t)=>s.jsxRuntimeExports.jsx(a.Drawer.Description,{ref:t,className:o.cn("text-muted-foreground text-sm",e),...r}));D.displayName=a.Drawer.Description.displayName;exports.Drawer=c;exports.DrawerClose=g;exports.DrawerContent=d;exports.DrawerDescription=D;exports.DrawerFooter=u;exports.DrawerHeader=m;exports.DrawerOverlay=l;exports.DrawerPortal=x;exports.DrawerTitle=w;exports.DrawerTrigger=j;