@undp/design-system-react
Version:
React based design system for UNDP
4 lines • 34.3 kB
JavaScript
const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./utils-Dd9-5CFr.cjs"),n=require("./x-bed1YSbv.cjs"),r=require("./dist-BTkvAJGr.cjs");let i=require("react");i=e.r(i,1);let a=require("react/jsx-runtime");function o(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var s=i.default.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}),c=()=>{let e=i.default.useContext(s);if(!e)throw Error(`useDrawerContext must be used within a Drawer.Root`);return e};o(`[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(
[data-state=closed]
){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 l(){let e=navigator.userAgent;return typeof window<`u`&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))}function u(){return h(/^Mac/)}function d(){return h(/^iPhone/)}function f(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function p(){return h(/^iPad/)||u()&&navigator.maxTouchPoints>1}function m(){return d()||p()}function h(e){return typeof window<`u`&&window.navigator!=null?e.test(window.navigator.platform):void 0}var g=24,_=typeof window<`u`?i.useLayoutEffect:i.useEffect;function v(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}var y=typeof document<`u`&&window.visualViewport;function b(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function x(e){for(b(e)&&(e=e.parentElement);e&&!b(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}var S=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]),C=0,w;function ee(e={}){let{isDisabled:t}=e;_(()=>{if(!t)return C++,C===1&&m()&&(w=T()),()=>{C--,C===0&&w?.()}},[t])}function T(){let e,t=0,n=n=>{e=x(n.target),!(e===document.documentElement&&e===document.body)&&(t=n.changedTouches[0].pageY)},r=n=>{if(!e||e===document.documentElement||e===document.body){n.preventDefault();return}let r=n.changedTouches[0].pageY,i=e.scrollTop,a=e.scrollHeight-e.clientHeight;a!==0&&((i<=0&&r>t||i>=a&&r<t)&&n.preventDefault(),t=r)},i=e=>{let t=e.target;k(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform=`translateY(-2000px)`,t.focus(),requestAnimationFrame(()=>{t.style.transform=``}))},a=e=>{let t=e.target;k(t)&&(t.style.transform=`translateY(-2000px)`,requestAnimationFrame(()=>{t.style.transform=``,y&&(y.height<window.innerHeight?requestAnimationFrame(()=>{O(t)}):y.addEventListener(`resize`,()=>O(t),{once:!0}))}))},o=()=>{window.scrollTo(0,0)},s=window.pageXOffset,c=window.pageYOffset,l=v(E(document.documentElement,`paddingRight`,`${window.innerWidth-document.documentElement.clientWidth}px`));window.scrollTo(0,0);let u=v(D(document,`touchstart`,n,{passive:!1,capture:!0}),D(document,`touchmove`,r,{passive:!1,capture:!0}),D(document,`touchend`,i,{passive:!1,capture:!0}),D(document,`focus`,a,!0),D(window,`scroll`,o));return()=>{l(),u(),window.scrollTo(s,c)}}function E(e,t,n){let r=e.style[t];return e.style[t]=n,()=>{e.style[t]=r}}function D(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function O(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=x(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+g&&(t.scrollTop+=r-n)}e=t.parentElement}}function k(e){return e instanceof HTMLInputElement&&!S.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function A(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function te(...e){return t=>e.forEach(e=>A(e,t))}function ne(...e){return i.useCallback(te(...e),e)}var j=new WeakMap;function M(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{if(t.startsWith(`--`)){e.style.setProperty(t,n);return}r[t]=e.style[t],e.style[t]=n}),!n&&j.set(e,r)}function re(e,t){if(!e||!(e instanceof HTMLElement))return;let n=j.get(e);n&&(e.style[t]=n[t])}var N=e=>{switch(e){case`top`:case`bottom`:return!0;case`left`:case`right`:return!1;default:return e}};function P(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,i=r.match(/^matrix3d\((.+)\)$/);return i?parseFloat(i[1].split(`, `)[N(t)?13:12]):(i=r.match(/^matrix\((.+)\)$/),i?parseFloat(i[1].split(`, `)[N(t)?5:4]):null)}function ie(e){return 8*(Math.log(e+1)-2)}function F(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}var I={DURATION:.5,EASE:[.32,.72,0,1]},ae=.4,oe=.25,se=100,ce=8,le=16,ue=26,de=`vaul-dragging`;function L(e){let t=i.default.useRef(e);return i.default.useEffect(()=>{t.current=e}),i.default.useMemo(()=>(...e)=>t.current==null?void 0:t.current.call(t,...e),[])}function fe({defaultProp:e,onChange:t}){let n=i.default.useState(e),[r]=n,a=i.default.useRef(r),o=L(t);return i.default.useEffect(()=>{a.current!==r&&(o(r),a.current=r)},[r,a,o]),n}function pe({prop:e,defaultProp:t,onChange:n=()=>{}}){let[r,a]=fe({defaultProp:t,onChange:n}),o=e!==void 0,s=o?e:r,c=L(n);return[s,i.default.useCallback(t=>{if(o){let n=typeof t==`function`?t(e):t;n!==e&&c(n)}else a(t)},[o,e,a,c])]}function me({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:o,onSnapPointChange:s,direction:c=`bottom`,container:l,snapToSequentialPoint:u}){let[d,f]=pe({prop:e,defaultProp:n?.[0],onChange:t}),[p,m]=i.default.useState(typeof window<`u`?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);i.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]);let h=i.default.useMemo(()=>d===n?.[n.length-1]||null,[n,d]),g=i.default.useMemo(()=>n?.findIndex(e=>e===d)??null,[n,d]),_=n&&n.length>0&&(o||o===0)&&!Number.isNaN(o)&&n[o]===d||!n,v=i.default.useMemo(()=>{let e=l?{width:l.getBoundingClientRect().width,height:l.getBoundingClientRect().height}:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return n?.map(t=>{let n=typeof t==`string`,r=0;if(n&&(r=parseInt(t,10)),N(c)){let i=n?r:p?t*e.height:0;return p?c===`bottom`?e.height-i:-e.height+i:i}let i=n?r:p?t*e.width:0;return p?c===`right`?e.width-i:-e.width+i:i})??[]},[n,p,l]),y=i.default.useMemo(()=>g===null?null:v?.[g],[v,g]),b=i.default.useCallback(e=>{let t=v?.findIndex(t=>t===e)??null;s(t),M(r.current,{transition:`transform ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,transform:N(c)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),v&&t!==v.length-1&&o!==void 0&&t!==o&&t<o?M(a.current,{transition:`opacity ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,opacity:`0`}):M(a.current,{transition:`opacity ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,opacity:`1`}),f(n?.[Math.max(t,0)])},[r.current,n,v,o,a,f]);i.default.useEffect(()=>{if(d||e){let t=n?.findIndex(t=>t===e||t===d)??-1;v&&t!==-1&&typeof v[t]==`number`&&b(v[t])}},[d,e,n,v,b]);function x({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:i}){if(o===void 0)return;let s=c===`bottom`||c===`right`?(y??0)-e:(y??0)+e,l=g===o-1,d=g===0,f=e>0;if(l&&M(a.current,{transition:`opacity ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`}),!u&&r>2&&!f){i?t():b(v[0]);return}if(!u&&r>2&&f&&v&&n){b(v[n.length-1]);return}let p=v?.reduce((e,t)=>typeof e!=`number`||typeof t!=`number`?e:Math.abs(t-s)<Math.abs(e-s)?t:e),m=N(c)?window.innerHeight:window.innerWidth;if(r>ae&&Math.abs(e)<m*.4){let e=f?1:-1;if(e>0&&h&&n){b(v[n.length-1]);return}if(d&&e<0&&i&&t(),g===null)return;b(v[g+e]);return}b(p)}function S({draggedDistance:e}){if(y===null)return;let t=c===`bottom`||c===`right`?y-e:y+e;(c===`bottom`||c===`right`)&&t<v[v.length-1]||(c===`top`||c===`left`)&&t>v[v.length-1]||M(r.current,{transform:N(c)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})}function C(e,t){if(!n||typeof g!=`number`||!v||o===void 0)return null;let r=g===o-1;if(g>=o&&t)return 0;if(r&&!t)return 1;if(!_&&!r)return null;let i=r?g+1:g-1,a=r?v[i]-v[i-1]:v[i+1]-v[i],s=e/Math.abs(a);return r?1-s:s}return{isLastSnapPoint:h,activeSnapPoint:d,shouldFade:_,getPercentageDragged:C,setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:x,onDrag:S,snapPointsOffset:v}}function he(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=c(),o=i.default.useRef(null),s=(0,i.useMemo)(()=>document.body.style.backgroundColor,[]);function l(){return(window.innerWidth-ue)/window.innerWidth}i.default.useEffect(()=>{if(t&&n){o.current&&clearTimeout(o.current);let t=document.querySelector(`[data-vaul-drawer-wrapper]`)||document.querySelector(`[vaul-drawer-wrapper]`);if(!t)return;r&&!a&&F(document.body,{background:`black`}),F(t,{transformOrigin:N(e)?`top`:`left`,transitionProperty:`transform, border-radius`,transitionDuration:`${I.DURATION}s`,transitionTimingFunction:`cubic-bezier(${I.EASE.join(`,`)})`});let n=F(t,{borderRadius:`${ce}px`,overflow:`hidden`,...N(e)?{transform:`scale(${l()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${l()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),o.current=window.setTimeout(()=>{s?document.body.style.background=s:document.body.style.removeProperty(`background`)},I.DURATION*1e3)}}},[t,n,s])}var R=null;function ge({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:o}){let[s,c]=i.default.useState(()=>typeof window<`u`?window.location.href:``),l=i.default.useRef(0),u=i.default.useCallback(()=>{if(f()&&R===null&&e&&!o){R={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:`unset`};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty(`position`,`fixed`,`important`),Object.assign(document.body.style,{top:`${-l.current}px`,left:`${-e}px`,right:`0px`,height:`auto`}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&l.current>=t&&(document.body.style.top=`${-(l.current+e)}px`)}),300)}},[e]),d=i.default.useCallback(()=>{if(f()&&R!==null&&!o){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,R),window.requestAnimationFrame(()=>{if(a&&s!==window.location.href){c(window.location.href);return}window.scrollTo(t,e)}),R=null}},[s]);return i.default.useEffect(()=>{function e(){l.current=window.scrollY}return e(),window.addEventListener(`scroll`,e),()=>{window.removeEventListener(`scroll`,e)}},[]),i.default.useEffect(()=>{if(t)return()=>{typeof document>`u`||document.querySelector(`[data-vaul-drawer]`)||d()}},[t,d]),i.default.useEffect(()=>{n||!r||(e?(!window.matchMedia(`(display-mode: standalone)`).matches&&u(),t||window.setTimeout(()=>{d()},500)):d())},[e,r,s,t,n,u,d]),{restorePositionSetting:d}}function z({open:e,onOpenChange:t,children:n,onDrag:a,onRelease:o,snapPoints:c,shouldScaleBackground:u=!1,setBackgroundColorOnScale:d=!0,closeThreshold:f=oe,scrollLockTimeout:p=se,dismissible:h=!0,handleOnly:g=!1,fadeFromIndex:_=c&&c.length-1,activeSnapPoint:v,setActiveSnapPoint:y,fixed:b,modal:x=!0,onClose:S,nested:C,noBodyStyles:w=!1,direction:T=`bottom`,defaultOpen:E=!1,disablePreventScroll:D=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:A=!1,repositionInputs:te=!0,onAnimationEnd:ne,container:j,autoFocus:F=!1}){let[L=!1,fe]=pe({defaultProp:E,prop:e,onChange:e=>{t?.(e),!e&&!C&&Ae(),setTimeout(()=>{ne?.(e)},I.DURATION*1e3),e&&!x&&typeof window<`u`&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents=`auto`}),e||(document.body.style.pointerEvents=`auto`)}}),[he,R]=i.default.useState(!1),[z,B]=i.default.useState(!1),[_e,ve]=i.default.useState(!1),V=i.default.useRef(null),H=i.default.useRef(null),U=i.default.useRef(null),W=i.default.useRef(null),G=i.default.useRef(null),K=i.default.useRef(!1),q=i.default.useRef(null),J=i.default.useRef(0),Y=i.default.useRef(!1),ye=i.default.useRef(!E),be=i.default.useRef(0),X=i.default.useRef(null),xe=i.default.useRef(X.current?.getBoundingClientRect().height||0),Se=i.default.useRef(X.current?.getBoundingClientRect().width||0),Ce=i.default.useRef(0),{activeSnapPoint:we,activeSnapPointIndex:Z,setActiveSnapPoint:Te,onRelease:Ee,snapPointsOffset:Q,onDrag:De,shouldFade:Oe,getPercentageDragged:ke}=me({snapPoints:c,activeSnapPointProp:v,setActiveSnapPointProp:y,drawerRef:X,fadeFromIndex:_,overlayRef:V,onSnapPointChange:i.default.useCallback(e=>{c&&e===Q.length-1&&(H.current=new Date)},[]),direction:T,container:j,snapToSequentialPoint:O});ee({isDisabled:!L||z||!x||_e||!he||!te||!D});let{restorePositionSetting:Ae}=ge({isOpen:L,modal:x,nested:C??!1,hasBeenOpened:he,preventScrollRestoration:A,noBodyStyles:w});function je(){return(window.innerWidth-ue)/window.innerWidth}function Me(e){!h&&!c||X.current&&!X.current.contains(e.target)||(xe.current=X.current?.getBoundingClientRect().height||0,Se.current=X.current?.getBoundingClientRect().width||0,B(!0),U.current=new Date,m()&&window.addEventListener(`touchend`,()=>K.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),J.current=N(T)?e.pageY:e.pageX)}function Ne(e,t){let n=e,r=window.getSelection()?.toString(),i=X.current?P(X.current,T):null,a=new Date;if(n.tagName===`SELECT`||n.hasAttribute(`data-vaul-no-drag`)||n.closest(`[data-vaul-no-drag]`))return!1;if(T===`right`||T===`left`)return!0;if(H.current&&a.getTime()-H.current.getTime()<500)return!1;if(i!==null&&(T===`bottom`?i>0:i<0))return!0;if(r&&r.length>0)return!1;if(G.current&&a.getTime()-G.current.getTime()<p&&i===0||t)return G.current=a,!1;for(;n;){if(n.scrollHeight>n.clientHeight){if(n.scrollTop!==0)return G.current=new Date,!1;if(n.getAttribute(`role`)===`dialog`)return!0}n=n.parentNode}return!0}function Pe(e){if(X.current&&z){let t=T===`bottom`||T===`right`?1:-1,n=(J.current-(N(T)?e.pageY:e.pageX))*t,r=n>0,i=c&&!h&&!r;if(i&&Z===0)return;let o=Math.abs(n),s=document.querySelector(`[data-vaul-drawer-wrapper]`),l=o/(T===`bottom`||T===`top`?xe.current:Se.current),d=ke(o,r);if(d!==null&&(l=d),i&&l>=1||!K.current&&!Ne(e.target,r))return;if(X.current.classList.add(de),K.current=!0,M(X.current,{transition:`none`}),M(V.current,{transition:`none`}),c&&De({draggedDistance:n}),r&&!c){let e=ie(n),r=Math.min(e*-1,0)*t;M(X.current,{transform:N(T)?`translate3d(0, ${r}px, 0)`:`translate3d(${r}px, 0, 0)`});return}let f=1-l;if((Oe||_&&Z===_-1)&&(a?.(e,l),M(V.current,{opacity:`${f}`,transition:`none`},!0)),s&&V.current&&u){let e=Math.min(je()+l*(1-je()),1),t=8-l*8,n=Math.max(0,14-l*14);M(s,{borderRadius:`${t}px`,transform:N(T)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:`none`},!0)}if(!c){let e=o*t;M(X.current,{transform:N(T)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}}i.default.useEffect(()=>{window.requestAnimationFrame(()=>{ye.current=!0})},[]),i.default.useEffect(()=>{var e;function t(){if(!X.current||!te)return;let e=document.activeElement;if(k(e)||Y.current){let e=window.visualViewport?.height||0,t=window.innerHeight,n=t-e,r=X.current.getBoundingClientRect().height||0,i=r>t*.8;Ce.current||=r;let a=X.current.getBoundingClientRect().top;if(Math.abs(be.current-n)>60&&(Y.current=!Y.current),c&&c.length>0&&Q&&Z){let e=Q[Z]||0;n+=e}if(be.current=n,r>e||Y.current){let t=X.current.getBoundingClientRect().height,r=t;t>e&&(r=e-(i?a:ue)),b?X.current.style.height=`${t-Math.max(n,0)}px`:X.current.style.height=`${Math.max(r,e-a)}px`}else l()||(X.current.style.height=`${Ce.current}px`);c&&c.length>0&&!Y.current?X.current.style.bottom=`0px`:X.current.style.bottom=`${Math.max(n,0)}px`}}return(e=window.visualViewport)==null||e.addEventListener(`resize`,t),()=>window.visualViewport?.removeEventListener(`resize`,t)},[Z,c,Q]);function $(e){Ie(),S?.(),e||fe(!1),setTimeout(()=>{c&&Te(c[0])},I.DURATION*1e3)}function Fe(){if(!X.current)return;let e=document.querySelector(`[data-vaul-drawer-wrapper]`),t=P(X.current,T);M(X.current,{transform:`translate3d(0, 0, 0)`,transition:`transform ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`}),M(V.current,{transition:`opacity ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,opacity:`1`}),u&&t&&t>0&&L&&M(e,{borderRadius:`${ce}px`,overflow:`hidden`,...N(T)?{transform:`scale(${je()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:`top`}:{transform:`scale(${je()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:`left`},transitionProperty:`transform, border-radius`,transitionDuration:`${I.DURATION}s`,transitionTimingFunction:`cubic-bezier(${I.EASE.join(`,`)})`},!0)}function Ie(){!z||!X.current||(X.current.classList.remove(de),K.current=!1,B(!1),W.current=new Date)}function Le(e){if(!z||!X.current)return;X.current.classList.remove(de),K.current=!1,B(!1),W.current=new Date;let t=P(X.current,T);if(!e||!Ne(e.target,!1)||!t||Number.isNaN(t)||U.current===null)return;let n=W.current.getTime()-U.current.getTime(),r=J.current-(N(T)?e.pageY:e.pageX),i=Math.abs(r)/n;if(i>.05&&(ve(!0),setTimeout(()=>{ve(!1)},200)),c){Ee({draggedDistance:r*(T===`bottom`||T===`right`?1:-1),closeDrawer:$,velocity:i,dismissible:h}),o?.(e,!0);return}if(T===`bottom`||T===`right`?r>0:r<0){Fe(),o?.(e,!0);return}if(i>ae){$(),o?.(e,!1);return}let a=Math.min(X.current.getBoundingClientRect().height??0,window.innerHeight),s=Math.min(X.current.getBoundingClientRect().width??0,window.innerWidth);if(Math.abs(t)>=(T===`left`||T===`right`?s:a)*f){$(),o?.(e,!1);return}o?.(e,!0),Fe()}i.default.useEffect(()=>(L&&(M(document.documentElement,{scrollBehavior:`auto`}),H.current=new Date),()=>{re(document.documentElement,`scrollBehavior`)}),[L]);function Re(e){let t=e?(window.innerWidth-le)/window.innerWidth:1,n=e?-16:0;q.current&&window.clearTimeout(q.current),M(X.current,{transition:`transform ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,transform:N(T)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&X.current&&(q.current=setTimeout(()=>{let e=P(X.current,T);M(X.current,{transition:`none`,transform:N(T)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))}function ze(e,t){if(t<0)return;let n=(window.innerWidth-le)/window.innerWidth,r=n+t*(1-n),i=-16+t*le;M(X.current,{transform:N(T)?`scale(${r}) translate3d(0, ${i}px, 0)`:`scale(${r}) translate3d(${i}px, 0, 0)`,transition:`none`})}function Be(e,t){let n=N(T)?window.innerHeight:window.innerWidth,r=t?(n-le)/n:1,i=t?-16:0;t&&M(X.current,{transition:`transform ${I.DURATION}s cubic-bezier(${I.EASE.join(`,`)})`,transform:N(T)?`scale(${r}) translate3d(0, ${i}px, 0)`:`scale(${r}) translate3d(${i}px, 0, 0)`})}return i.default.useEffect(()=>{x||window.requestAnimationFrame(()=>{document.body.style.pointerEvents=`auto`})},[x]),i.default.createElement(r.t,{defaultOpen:E,onOpenChange:e=>{!h&&!e||(e?R(!0):$(!0),fe(e))},open:L},i.default.createElement(s.Provider,{value:{activeSnapPoint:we,snapPoints:c,setActiveSnapPoint:Te,drawerRef:X,overlayRef:V,onOpenChange:t,onPress:Me,onRelease:Le,onDrag:Pe,dismissible:h,shouldAnimate:ye,handleOnly:g,isOpen:L,isDragging:z,shouldFade:Oe,closeDrawer:$,onNestedDrag:ze,onNestedOpenChange:Re,onNestedRelease:Be,keyboardIsOpen:Y,modal:x,snapPointsOffset:Q,activeSnapPointIndex:Z,direction:T,shouldScaleBackground:u,setBackgroundColorOnScale:d,noBodyStyles:w,container:j,autoFocus:F}},n))}var B=i.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:s,isOpen:l,modal:u,shouldAnimate:d}=c(),f=ne(t,n),p=a&&a.length>0;if(!u)return null;let m=i.default.useCallback(e=>o(e),[o]);return i.default.createElement(r.a,{onMouseUp:m,ref:f,"data-vaul-overlay":``,"data-vaul-snap-points":l&&p?`true`:`false`,"data-vaul-snap-points-overlay":l&&s?`true`:`false`,"data-vaul-animate":d?.current?`true`:`false`,...e})});B.displayName=`Drawer.Overlay`;var _e=i.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:s,onPress:l,onRelease:u,onDrag:d,keyboardIsOpen:f,snapPointsOffset:p,activeSnapPointIndex:m,modal:h,isOpen:g,direction:_,snapPoints:v,container:y,handleOnly:b,shouldAnimate:x,autoFocus:S}=c(),[C,w]=i.default.useState(!1),ee=ne(o,s),T=i.default.useRef(null),E=i.default.useRef(null),D=i.default.useRef(!1),O=v&&v.length>0;he();let k=(e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),i=Math.abs(e.x),a=i>r,o=[`bottom`,`right`].includes(t)?1:-1;if(t===`left`||t===`right`){if(!(e.x*o<0)&&i>=0&&i<=n)return a}else if(!(e.y*o<0)&&r>=0&&r<=n)return!a;return D.current=!0,!0};i.default.useEffect(()=>{O&&window.requestAnimationFrame(()=>{w(!0)})},[]);function A(e){T.current=null,D.current=!1,u(e)}return i.default.createElement(r.r,{"data-vaul-drawer-direction":_,"data-vaul-drawer":``,"data-vaul-delayed-snap-points":C?`true`:`false`,"data-vaul-snap-points":g&&O?`true`:`false`,"data-vaul-custom-container":y?`true`:`false`,"data-vaul-animate":x?.current?`true`:`false`,...a,ref:ee,style:p&&p.length>0?{"--snap-point-height":`${p[m??0]}px`,...t}:t,onPointerDown:e=>{b||(a.onPointerDown==null||a.onPointerDown.call(a,e),T.current={x:e.pageX,y:e.pageY},l(e))},onOpenAutoFocus:e=>{n?.(e),S||e.preventDefault()},onPointerDownOutside:t=>{if(e?.(t),!h||t.defaultPrevented){t.preventDefault();return}f.current&&=!1},onFocusOutside:e=>{if(!h){e.preventDefault();return}},onPointerMove:e=>{if(E.current=e,b||(a.onPointerMove==null||a.onPointerMove.call(a,e),!T.current))return;let t=e.pageY-T.current.y,n=e.pageX-T.current.x,r=e.pointerType===`touch`?10:2;k({x:n,y:t},_,r)?d(e):(Math.abs(n)>r||Math.abs(t)>r)&&(T.current=null)},onPointerUp:e=>{a.onPointerUp==null||a.onPointerUp.call(a,e),T.current=null,D.current=!1,u(e)},onPointerOut:e=>{a.onPointerOut==null||a.onPointerOut.call(a,e),A(E.current)},onContextMenu:e=>{a.onContextMenu==null||a.onContextMenu.call(a,e),E.current&&A(E.current)}})});_e.displayName=`Drawer.Content`;var ve=250,V=120,H=i.default.forwardRef(function({preventCycle:e=!1,children:t,...n},r){let{closeDrawer:a,isDragging:o,snapPoints:s,activeSnapPoint:l,setActiveSnapPoint:u,dismissible:d,handleOnly:f,isOpen:p,onPress:m,onDrag:h}=c(),g=i.default.useRef(null),_=i.default.useRef(!1);function v(){if(_.current){x();return}window.setTimeout(()=>{y()},V)}function y(){if(o||e||_.current){x();return}if(x(),!s||s.length===0){d||a();return}if(l===s[s.length-1]&&d){a();return}let t=s.findIndex(e=>e===l);if(t===-1)return;let n=s[t+1];u(n)}function b(){g.current=window.setTimeout(()=>{_.current=!0},ve)}function x(){g.current&&window.clearTimeout(g.current),_.current=!1}return i.default.createElement(`div`,{onClick:v,onPointerCancel:x,onPointerDown:e=>{f&&m(e),b()},onPointerMove:e=>{f&&h(e)},ref:r,"data-vaul-drawer-visible":p?`true`:`false`,"data-vaul-handle":``,"aria-hidden":`true`,...n},i.default.createElement(`span`,{"data-vaul-handle-hitarea":``,"aria-hidden":`true`},t))});H.displayName=`Drawer.Handle`;function U({onDrag:e,onOpenChange:t,open:n,...r}){let{onNestedDrag:a,onNestedOpenChange:o,onNestedRelease:s}=c();if(!a)throw Error(`Drawer.NestedRoot must be placed in another drawer`);return i.default.createElement(z,{nested:!0,open:n,onClose:()=>{o(!1)},onDrag:(t,n)=>{a(t,n),e?.(t,n)},onOpenChange:e=>{e&&o(e),t?.(e)},onRelease:s,...r})}function W(e){let t=c(),{container:n=t.container,...a}=e;return i.default.createElement(r.o,{container:n,...a})}var G={Root:z,NestedRoot:U,Content:_e,Overlay:B,Trigger:r.c,Portal:W,Handle:H,Close:r.n,Title:r.s,Description:r.i};function K({direction:e,...t}){return(0,a.jsx)(G.Root,{"data-slot":`drawer`,modal:!0,direction:e||`right`,snapPoints:[],closeThreshold:1,...t})}function q({...e}){return(0,a.jsx)(G.Trigger,{"data-slot":`drawer-trigger`,...e})}function J({...e}){return(0,a.jsx)(G.Portal,{"data-slot":`drawer-portal`,...e})}function Y({...e}){return(0,a.jsx)(G.Close,{"data-slot":`drawer-close`,...e})}function ye({className:e,...n}){return(0,a.jsx)(G.Overlay,{"data-slot":`drawer-overlay`,className:t.t(`data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-[30px] data-[state=closed]:animate-out data-[state=open]:animate-in`,e),...n})}function be({className:e,children:r,inPortal:i=!1,overlayClassName:o,closeButtonClassName:s,...c}){let l=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ye,{className:o}),(0,a.jsxs)(G.Content,{"data-slot":`drawer-content`,className:t.t(`group/drawer-content fixed z-50 flex h-auto flex-col bg-background px-1.5 sm:px-3`,`data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh]`,`data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh]`,`data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-[95%] sm:data-[vaul-drawer-direction=right]:w-[83.33%]`,`data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-[95%] sm:data-[vaul-drawer-direction=right]:w-[83.33%]`,e),...c,children:[(0,a.jsx)(Y,{asChild:!0,children:(0,a.jsx)(`button`,{className:t.t(`fixed top-4 rounded-full border border-stroke bg-surface p-2 text-content-primary transition-all hover:bg-surface-hover`,`group-data-[vaul-drawer-direction=right]/drawer-content:right-0 group-data-[vaul-drawer-direction=right]/drawer-content:mr-4 sm:group-data-[vaul-drawer-direction=right]/drawer-content:right-full sm:group-data-[vaul-drawer-direction=right]/drawer-content:mr-[8.33%]`,`group-data-[vaul-drawer-direction=left]/drawer-content:left-0 group-data-[vaul-drawer-direction=left]/drawer-content:ml-4 sm:group-data-[vaul-drawer-direction=left]/drawer-content:left-full sm:group-data-[vaul-drawer-direction=left]/drawer-content:ml-[8.33%]`,`group-data-[vaul-drawer-direction=top]/drawer-content:hidden`,`group-data-[vaul-drawer-direction=bottom]/drawer-content:hidden`,s),type:`button`,children:(0,a.jsx)(n.t,{size:32,strokeWidth:1})})}),(0,a.jsx)(`div`,{style:{userSelect:`text`,touchAction:`auto`},className:`undp-scrollbar h-screen bg-background px-3 pt-17.5 md:pt-0 md:pr-6 md:pl-8`,children:r})]})]});return i?(0,a.jsx)(J,{"data-slot":`drawer-portal`,children:l}):l}function X({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`drawer-header`,className:t.t(`mt-0 mr-0 ml-7.5 group-data-[vaul-drawer-direction=bottom]:mt-24 group-data-[vaul-drawer-direction=left]:mt-24 group-data-[vaul-drawer-direction=right]:mt-24 group-data-[vaul-drawer-direction=top]:mt-24 group-data-[vaul-drawer-direction=right]:mr-24 group-data-[vaul-drawer-direction=bottom]:ml-24 group-data-[vaul-drawer-direction=top]:ml-24 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:mt-24 md:ml-24 md:gap-1.5 md:text-left`,e),...n})}function xe({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`drawer-body`,className:t.t(`mt-20 sm:mt-10`,e),...n})}function Se({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`drawer-footer`,className:t.t(`absolute bottom-0 mt-auto flex flex-col gap-2 p-4`,e),...n})}function Ce({...e}){return(0,a.jsx)(G.Title,{"data-slot":`drawer-title`,...e,className:t.t(`mb-4 font-bold font-heading text-h2-xs uppercase md:text-h2-sm lg:text-h2`,e.className)})}function we({...e}){return(0,a.jsx)(G.Description,{"data-slot":`drawer-description`,...e,className:t.t(`mb-4 font-semibold text-h4-xs md:text-h4-sm lg:text-h4`,e.className)})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Ce}});
//# sourceMappingURL=drawer-CGQmARMo.cjs.map