@purpurds/drawer 8.5.0 → 8.5.2
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/LICENSE.txt +4 -4
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.cjs.js.map +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/drawer.es.js.map +1 -1
- package/package.json +8 -8
package/dist/LICENSE.txt
CHANGED
|
@@ -661,28 +661,28 @@ SOFTWARE.
|
|
|
661
661
|
---
|
|
662
662
|
|
|
663
663
|
Name: @purpurds/button
|
|
664
|
-
Version: 8.
|
|
664
|
+
Version: 8.5.1
|
|
665
665
|
License: AGPL-3.0-only
|
|
666
666
|
Private: false
|
|
667
667
|
|
|
668
668
|
---
|
|
669
669
|
|
|
670
670
|
Name: @purpurds/heading
|
|
671
|
-
Version: 8.
|
|
671
|
+
Version: 8.5.1
|
|
672
672
|
License: AGPL-3.0-only
|
|
673
673
|
Private: false
|
|
674
674
|
|
|
675
675
|
---
|
|
676
676
|
|
|
677
677
|
Name: @purpurds/icon
|
|
678
|
-
Version: 8.
|
|
678
|
+
Version: 8.5.1
|
|
679
679
|
License: AGPL-3.0-only
|
|
680
680
|
Private: false
|
|
681
681
|
|
|
682
682
|
---
|
|
683
683
|
|
|
684
684
|
Name: @purpurds/visually-hidden
|
|
685
|
-
Version: 8.
|
|
685
|
+
Version: 8.5.1
|
|
686
686
|
License: AGPL-3.0-only
|
|
687
687
|
Private: false
|
|
688
688
|
|
package/dist/drawer.cjs.js
CHANGED
|
@@ -62,5 +62,5 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
62
62
|
Copyright (c) 2018 Jed Watson.
|
|
63
63
|
Licensed under the MIT License (MIT), see
|
|
64
64
|
http://jedwatson.github.io/classnames
|
|
65
|
-
*/var wt;function ta(){return wt||(wt=1,(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var n="",s=0;s<arguments.length;s++){var i=arguments[s];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return r.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var i in n)t.call(n,i)&&n[i]&&(s=a(s,this&&this[i]||i));return s}function a(n,s){return s?n?n+" "+s:n+s:n}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(yt)),yt.exports}var ra=ta();const na=ea(ra),oa={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},aa=na.bind(oa),St="purpur-icon",ia="md",sa=e=>e.filter(t=>Object.keys(t).length>=1).map(t=>`${t.name}="${t.value}"`).join(" "),ca=({content:e="",title:t}={})=>{const r=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},t?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],o=t?`<title>${t}</title>`:"";return`<svg ${sa(r)}>${o}${e}</svg>`},la=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),Ve=({svg:e,allyTitle:t,className:r,size:o=ia,...a})=>{const n=ca({content:la(e.svg),title:t}),s=aa(r,St,`${St}--${o}`);return d.jsx("span",{className:s,dangerouslySetInnerHTML:{__html:n},...a})};Ve.displayName="Icon";const ua={name:"arrow-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-left"],category:"utility"},dr=e=>d.jsx(Ve,{...e,svg:ua});dr.displayName="IconArrowLeft";const da={name:"close",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M4.864 4.864a.9.9 0 0 1 1.273 0L12 10.727l5.864-5.863a.9.9 0 0 1 1.272 1.272L13.273 12l5.863 5.864a.9.9 0 1 1-1.272 1.272L12 13.273l-5.863 5.863a.9.9 0 0 1-1.273-1.272L10.727 12 4.864 6.136a.9.9 0 0 1 0-1.272Z" clip-rule="evenodd"/></svg>',keywords:["close"],category:"utility"},fr=e=>d.jsx(Ve,{...e,svg:da});fr.displayName="IconClose";function Et(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function fa(...e){return t=>{let r=!1;const o=e.map(a=>{const n=Et(a,t);return!r&&typeof n=="function"&&(r=!0),n});if(r)return()=>{for(let a=0;a<o.length;a++){const n=o[a];typeof n=="function"?n():Et(e[a],null)}}}}function pa(e){const t=ha(e),r=c.forwardRef((o,a)=>{const{children:n,...s}=o,i=c.Children.toArray(n),u=i.find(ma);if(u){const l=u.props.children,f=i.map(p=>p===u?c.Children.count(l)>1?c.Children.only(null):c.isValidElement(l)?l.props.children:null:p);return d.jsx(t,{...s,ref:a,children:c.isValidElement(l)?c.cloneElement(l,void 0,f):null})}return d.jsx(t,{...s,ref:a,children:n})});return r.displayName=`${e}.Slot`,r}function ha(e){const t=c.forwardRef((r,o)=>{const{children:a,...n}=r;if(c.isValidElement(a)){const s=_a(a),i=ga(n,a.props);return a.type!==c.Fragment&&(i.ref=o?fa(o,s):s),c.cloneElement(a,i)}return c.Children.count(a)>1?c.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var va=Symbol("radix.slottable");function ma(e){return c.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===va}function ga(e,t){const r={...t};for(const o in t){const a=e[o],n=t[o];/^on[A-Z]/.test(o)?a&&n?r[o]=(...s)=>{n(...s),a(...s)}:a&&(r[o]=a):o==="style"?r[o]={...a,...n}:o==="className"&&(r[o]=[a,n].filter(Boolean).join(" "))}return{...e,...r}}function _a(e){var t,r;let o=(t=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:t.get,a=o&&"isReactWarning"in o&&o.isReactWarning;return a?e.ref:(o=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,a=o&&"isReactWarning"in o&&o.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var ba=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],ya=ba.reduce((e,t)=>{const r=pa(`Primitive.${t}`),o=c.forwardRef((a,n)=>{const{asChild:s,...i}=a,u=s?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(u,{...i,ref:n})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),wa="VisuallyHidden",pr=c.forwardRef((e,t)=>d.jsx(ya.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));pr.displayName=wa;var Sa=pr;const xt=({asChild:e,children:t,...r})=>d.jsx(Sa,{asChild:e,...r,children:t}),Ea={"purpur-drawer-header":"_purpur-drawer-header_1iujy_1","purpur-drawer-header__row":"_purpur-drawer-header__row_1iujy_4","purpur-drawer-header__row--with-back-button":"_purpur-drawer-header__row--with-back-button_1iujy_7","purpur-drawer-header__left":"_purpur-drawer-header__left_1iujy_10","purpur-drawer-header__right":"_purpur-drawer-header__right_1iujy_13","purpur-drawer-header__close-button":"_purpur-drawer-header__close-button_1iujy_16","purpur-drawer-header__back-button--only-icon":"_purpur-drawer-header__back-button--only-icon_1iujy_27"},K=ne.bind(Ea),B="purpur-drawer-header",hr=P.forwardRef(({["data-testid"]:e="purpur-drawer-header",backButton:t,backButtonText:r,backButtonOnlyIcon:o,className:a,closeButtonAriaLabel:n,headerContent:s,onBackButtonClick:i,title:u,...l},f)=>{const p=K([a,B]),h=!!(t&&r&&i);return d.jsxs("div",{className:p,"data-testid":e,ref:f,...l,children:[d.jsxs("div",{className:K([`${B}__row`,{[`${B}__row--with-back-button`]:h}]),"data-testid":`${e}-row`,children:[d.jsx("div",{className:K(`${B}__left`),children:h?d.jsxs(ke,{"aria-label":o?r:"",className:K([`${B}__back-button`,{[`${B}__back-button--only-icon`]:o}]),"data-testid":`${e}-back-button`,iconOnly:o,onClick:i,size:"sm",variant:o?$e.TERTIARY_PURPLE:$e.TEXT,children:[d.jsx(dr,{size:"sm"}),!o&&r]}):s?d.jsxs(d.Fragment,{children:[s,d.jsx(xt,{asChild:!0,children:d.jsx(fe,{children:u})})]}):d.jsx(fe,{asChild:!0,children:d.jsx(Fe,{"data-testid":`${e}-title`,tag:"h2",variant:We.TITLE200,tabIndex:-1,children:u})})}),d.jsx("div",{className:K(`${B}__right`),children:d.jsx(mo,{asChild:!0,children:d.jsx(ke,{"aria-label":n,className:K(`${B}__close-button`),iconOnly:!0,size:"sm",variant:$e.TERTIARY_PURPLE,children:d.jsx(fr,{size:"sm"})})})})]}),h&&(s?d.jsxs(d.Fragment,{children:[s,d.jsx(xt,{asChild:!0,children:d.jsx(fe,{children:u})})]}):d.jsx(fe,{asChild:!0,children:d.jsx(Fe,{"data-testid":`${e}-title-with-back-button`,tag:"h2",tabIndex:-1,variant:We.TITLE200,children:u})}))]})});hr.displayName="DrawerHeader";var xa=c.createContext(void 0);function Ca(e){const t=c.useContext(xa);return e||t||"ltr"}function Pa(e,[t,r]){return Math.min(r,Math.max(t,e))}function Ra(e,t){return c.useReducer((r,o)=>t[r][o]??r,e)}var Ye="ScrollArea",[vr]=jt(Ye),[Na,$]=vr(Ye),mr=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:o="hover",dir:a,scrollHideDelay:n=600,...s}=e,[i,u]=c.useState(null),[l,f]=c.useState(null),[p,h]=c.useState(null),[m,_]=c.useState(null),[v,g]=c.useState(null),[b,y]=c.useState(0),[E,w]=c.useState(0),[x,R]=c.useState(!1),[S,j]=c.useState(!1),C=O(t,W=>u(W)),N=Ca(a);return d.jsx(Na,{scope:r,type:o,dir:N,scrollHideDelay:n,scrollArea:i,viewport:l,onViewportChange:f,content:p,onContentChange:h,scrollbarX:m,onScrollbarXChange:_,scrollbarXEnabled:x,onScrollbarXEnabledChange:R,scrollbarY:v,onScrollbarYChange:g,scrollbarYEnabled:S,onScrollbarYEnabledChange:j,onCornerWidthChange:y,onCornerHeightChange:w,children:d.jsx(D.div,{dir:N,...s,ref:C,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});mr.displayName=Ye;var gr="ScrollAreaViewport",_r=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:o,nonce:a,...n}=e,s=$(gr,r),i=c.useRef(null),u=O(t,i,s.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),d.jsx(D.div,{"data-radix-scroll-area-viewport":"",...n,ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:d.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});_r.displayName=gr;var k="ScrollAreaScrollbar",br=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=a,i=e.orientation==="horizontal";return c.useEffect(()=>(i?n(!0):s(!0),()=>{i?n(!1):s(!1)}),[i,n,s]),a.type==="hover"?d.jsx(ja,{...o,ref:t,forceMount:r}):a.type==="scroll"?d.jsx(Aa,{...o,ref:t,forceMount:r}):a.type==="auto"?d.jsx(yr,{...o,ref:t,forceMount:r}):a.type==="always"?d.jsx(Xe,{...o,ref:t}):null});br.displayName=k;var ja=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),[n,s]=c.useState(!1);return c.useEffect(()=>{const i=a.scrollArea;let u=0;if(i){const l=()=>{window.clearTimeout(u),s(!0)},f=()=>{u=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return i.addEventListener("pointerenter",l),i.addEventListener("pointerleave",f),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",l),i.removeEventListener("pointerleave",f)}}},[a.scrollArea,a.scrollHideDelay]),d.jsx(z,{present:r||n,children:d.jsx(yr,{"data-state":n?"visible":"hidden",...o,ref:t})})}),Aa=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Ee(()=>u("SCROLL_END"),100),[i,u]=Ra("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(i==="idle"){const l=window.setTimeout(()=>u("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(l)}},[i,a.scrollHideDelay,u]),c.useEffect(()=>{const l=a.viewport,f=n?"scrollLeft":"scrollTop";if(l){let p=l[f];const h=()=>{const m=l[f];p!==m&&(u("SCROLL"),s()),p=m};return l.addEventListener("scroll",h),()=>l.removeEventListener("scroll",h)}},[a.viewport,n,u,s]),d.jsx(z,{present:r||i!=="hidden",children:d.jsx(Xe,{"data-state":i==="hidden"?"hidden":"visible",...o,ref:t,onPointerEnter:A(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:A(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),yr=c.forwardRef((e,t)=>{const r=$(k,e.__scopeScrollArea),{forceMount:o,...a}=e,[n,s]=c.useState(!1),i=e.orientation==="horizontal",u=Ee(()=>{if(r.viewport){const l=r.viewport.offsetWidth<r.viewport.scrollWidth,f=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?l:f)}},10);return re(r.viewport,u),re(r.content,u),d.jsx(z,{present:o||n,children:d.jsx(Xe,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Xe=c.forwardRef((e,t)=>{const{orientation:r="vertical",...o}=e,a=$(k,e.__scopeScrollArea),n=c.useRef(null),s=c.useRef(0),[i,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=xr(i.viewport,i.content),f={...o,sizes:i,onSizesChange:u,hasThumb:l>0&&l<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,m){return Ia(h,s.current,i,m)}return r==="horizontal"?d.jsx(Da,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&n.current){const h=a.viewport.scrollLeft,m=Ct(h,i,a.dir);n.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:h=>{a.viewport&&(a.viewport.scrollLeft=h)},onDragScroll:h=>{a.viewport&&(a.viewport.scrollLeft=p(h,a.dir))}}):r==="vertical"?d.jsx(Ta,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&n.current){const h=a.viewport.scrollTop,m=Ct(h,i);n.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:h=>{a.viewport&&(a.viewport.scrollTop=h)},onDragScroll:h=>{a.viewport&&(a.viewport.scrollTop=p(h))}}):null}),Da=c.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...a}=e,n=$(k,e.__scopeScrollArea),[s,i]=c.useState(),u=c.useRef(null),l=O(t,u,n.onScrollbarXChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),d.jsx(Sr,{"data-orientation":"horizontal",...a,ref:l,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Se(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.x),onDragScroll:f=>e.onDragScroll(f.x),onWheelScroll:(f,p)=>{if(n.viewport){const h=n.viewport.scrollLeft+f.deltaX;e.onWheelScroll(h),Pr(h,p)&&f.preventDefault()}},onResize:()=>{u.current&&n.viewport&&s&&o({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:be(s.paddingLeft),paddingEnd:be(s.paddingRight)}})}})}),Ta=c.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...a}=e,n=$(k,e.__scopeScrollArea),[s,i]=c.useState(),u=c.useRef(null),l=O(t,u,n.onScrollbarYChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),d.jsx(Sr,{"data-orientation":"vertical",...a,ref:l,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Se(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.y),onDragScroll:f=>e.onDragScroll(f.y),onWheelScroll:(f,p)=>{if(n.viewport){const h=n.viewport.scrollTop+f.deltaY;e.onWheelScroll(h),Pr(h,p)&&f.preventDefault()}},onResize:()=>{u.current&&n.viewport&&s&&o({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:be(s.paddingTop),paddingEnd:be(s.paddingBottom)}})}})}),[Oa,wr]=vr(k),Sr=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:o,hasThumb:a,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:l,onWheelScroll:f,onResize:p,...h}=e,m=$(k,r),[_,v]=c.useState(null),g=O(t,C=>v(C)),b=c.useRef(null),y=c.useRef(""),E=m.viewport,w=o.content-o.viewport,x=L(f),R=L(u),S=Ee(p,10);function j(C){if(b.current){const N=C.clientX-b.current.left,W=C.clientY-b.current.top;l({x:N,y:W})}}return c.useEffect(()=>{const C=N=>{const W=N.target;(_==null?void 0:_.contains(W))&&x(N,w)};return document.addEventListener("wheel",C,{passive:!1}),()=>document.removeEventListener("wheel",C,{passive:!1})},[E,_,w,x]),c.useEffect(R,[o,R]),re(_,S),re(m.content,S),d.jsx(Oa,{scope:r,scrollbar:_,hasThumb:a,onThumbChange:L(n),onThumbPointerUp:L(s),onThumbPositionChange:R,onThumbPointerDown:L(i),children:d.jsx(D.div,{...h,ref:g,style:{position:"absolute",...h.style},onPointerDown:A(e.onPointerDown,C=>{C.button===0&&(C.target.setPointerCapture(C.pointerId),b.current=_.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),j(C))}),onPointerMove:A(e.onPointerMove,j),onPointerUp:A(e.onPointerUp,C=>{const N=C.target;N.hasPointerCapture(C.pointerId)&&N.releasePointerCapture(C.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=""),b.current=null})})})}),_e="ScrollAreaThumb",Er=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=wr(_e,e.__scopeScrollArea);return d.jsx(z,{present:r||a.hasThumb,children:d.jsx(La,{ref:t,...o})})}),La=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:o,...a}=e,n=$(_e,r),s=wr(_e,r),{onThumbPositionChange:i}=s,u=O(t,p=>s.onThumbChange(p)),l=c.useRef(void 0),f=Ee(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{const p=n.viewport;if(p){const h=()=>{if(f(),!l.current){const m=ka(p,i);l.current=m,i()}};return i(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,f,i]),d.jsx(D.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:A(e.onPointerDownCapture,p=>{const m=p.target.getBoundingClientRect(),_=p.clientX-m.left,v=p.clientY-m.top;s.onThumbPointerDown({x:_,y:v})}),onPointerUp:A(e.onPointerUp,s.onThumbPointerUp)})});Er.displayName=_e;var qe="ScrollAreaCorner",$a=c.forwardRef((e,t)=>{const r=$(qe,e.__scopeScrollArea),o=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&o?d.jsx(Ma,{...e,ref:t}):null});$a.displayName=qe;var Ma=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,...o}=e,a=$(qe,r),[n,s]=c.useState(0),[i,u]=c.useState(0),l=!!(n&&i);return re(a.scrollbarX,()=>{var p;const f=((p=a.scrollbarX)==null?void 0:p.offsetHeight)||0;a.onCornerHeightChange(f),u(f)}),re(a.scrollbarY,()=>{var p;const f=((p=a.scrollbarY)==null?void 0:p.offsetWidth)||0;a.onCornerWidthChange(f),s(f)}),l?d.jsx(D.div,{...o,ref:t,style:{width:n,height:i,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function be(e){return e?parseInt(e,10):0}function xr(e,t){const r=e/t;return isNaN(r)?0:r}function Se(e){const t=xr(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-r)*t;return Math.max(o,18)}function Ia(e,t,r,o="ltr"){const a=Se(r),n=a/2,s=t||n,i=a-s,u=r.scrollbar.paddingStart+s,l=r.scrollbar.size-r.scrollbar.paddingEnd-i,f=r.content-r.viewport,p=o==="ltr"?[0,f]:[f*-1,0];return Cr([u,l],p)(e)}function Ct(e,t,r="ltr"){const o=Se(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-a,s=t.content-t.viewport,i=n-o,u=r==="ltr"?[0,s]:[s*-1,0],l=Pa(e,u);return Cr([0,s],[0,i])(l)}function Cr(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}function Pr(e,t){return e>0&&e<t}var ka=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},o=0;return(function a(){const n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,i=r.top!==n.top;(s||i)&&t(),r=n,o=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(o)};function Ee(e,t){const r=L(e),o=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(o.current),[]),c.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function re(e,t){const r=L(t);te(()=>{let o=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(o),o=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(o),a.unobserve(e)}}},[e,r])}var Wa=mr,Fa=_r,Ua=br,Ba=Er;const Ha={"purpur-drawer-scroll-area__root":"_purpur-drawer-scroll-area__root_1hyos_1","purpur-drawer-scroll-area__root--fit-to-content":"_purpur-drawer-scroll-area__root--fit-to-content_1hyos_4","purpur-drawer-scroll-area__viewport":"_purpur-drawer-scroll-area__viewport_1hyos_10","purpur-drawer-scroll-area__scrollbar":"_purpur-drawer-scroll-area__scrollbar_1hyos_14","purpur-drawer-scroll-area__thumb":"_purpur-drawer-scroll-area__thumb_1hyos_25"},ae=ne.bind(Ha),Z="purpur-drawer-scroll-area",Ue=P.forwardRef(({["data-testid"]:e="purpur-drawer-scroll-area",children:t,className:r,fitToContent:o=!1,...a},n)=>{const s=ae([r,Z]);return d.jsx("div",{className:s,"data-testid":e,ref:n,...a,children:d.jsxs(Wa,{className:ae(`${Z}__root`,{[`${Z}__root--fit-to-content`]:o}),children:[d.jsx(Fa,{className:ae(`${Z}__viewport`),children:t}),d.jsx(Ua,{className:ae(`${Z}__scrollbar`),orientation:"vertical",children:d.jsx(Ba,{className:ae(`${Z}__thumb`)})})]})})});Ue.displayName="DrawerScrollArea";const Q=ne.bind(Do),T="purpur-drawer-frame",Rr=P.forwardRef(({["data-testid"]:e="purpur-drawer-frame",backButton:t,backButtonText:r,backButtonOnlyIcon:o,children:a,className:n,closeButtonAriaLabel:s,fitToContent:i=!1,footerContent:u,headerContent:l,onBackButtonClick:f,onSwipeStart:p,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:_,title:v,stickyFooter:g,position:b="right",...y},E)=>{const w=!!(t&&r&&f),x=Q([n,T,{[`${T}--fit-to-content`]:i,[`${T}--sticky-footer`]:g,[`${T}--left`]:b==="left",[`${T}--right`]:b==="right",[`${T}--without-back-button`]:!w,[`${T}--with-back-button`]:w}]);return d.jsxs("div",{className:x,"data-testid":e,ref:E,...y,children:[d.jsx(lr,{onSwipeStart:p,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:_}),d.jsx(J,{className:Q(`${T}__header`),variant:"header",stickyFooter:g,children:d.jsx(hr,{title:v,headerContent:l,backButtonOnlyIcon:o,backButton:t,backButtonText:r,closeButtonAriaLabel:s,onBackButtonClick:f})}),g?d.jsxs(d.Fragment,{children:[d.jsx(Ue,{className:Q(`${T}__body`),"data-testid":`${e}-sticky-footer-scroll-area`,fitToContent:i,children:d.jsx(J,{stickyFooter:!0,children:a})}),u&&d.jsx(J,{className:Q(`${T}__footer`),"data-testid":`${e}-sticky-footer`,variant:"footer",stickyFooter:g,children:u})]}):d.jsx(Ue,{className:Q(`${T}__body`),"data-testid":`${e}-scroll-area`,fitToContent:i,children:d.jsxs("div",{className:Q([`${T}__content-container`,{[`${T}__content-container--no-footer`]:!u}]),children:[d.jsx(J,{stickyFooter:g,children:a}),u&&d.jsx(J,{"data-testid":`${e}-footer`,stickyFooter:g,variant:"footer",children:u})]})})]})});Rr.displayName="DrawerFrame";const za=(e,t)=>({onSwipeStart:()=>{e.current&&e.current.setAttribute("data-swipe","start")},onSwipeMove:s=>{if(!e.current)return;const{y:i}=s.delta;e.current.setAttribute("data-swipe","move"),e.current.style.setProperty("--purpur-drawer-swipe-move-y",`${i}px`)},onSwipeCancel:()=>{e.current&&(e.current.setAttribute("data-swipe","cancel"),e.current.style.removeProperty("--purpur-drawer-swipe-move-y"),e.current.style.removeProperty("--purpur-drawer-swipe-end-y"))},onSwipeEnd:s=>{if(!e.current)return;const{y:i}=s.delta;e.current.setAttribute("data-swipe","end"),e.current.style.removeProperty("--purpur-drawer-swipe-move-y"),e.current.style.setProperty("--purpur-drawer-swipe-end-y",`${i}px`),t==null||t(!1)}}),ie=ne.bind(No),V="purpur-drawer-content",Nr=P.forwardRef(({["data-testid"]:e="purpur-drawer-content",backButton:t=!1,backButtonText:r,backButtonOnlyIcon:o=!1,bodyText:a,children:n,className:s,closeButtonAriaLabel:i,disableCloseOnClickOutside:u=!1,fitToContent:l=!1,footerContent:f,headerContent:p,onBackButtonClick:h,stickyFooter:m=!1,title:_,zIndex:v,position:g="right",...b},y)=>{const E=ie([s,V,{[`${V}--fit-to-content`]:l},{[`${V}--left`]:g==="left"},{[`${V}--right`]:g==="right"}]),w=P.useRef(null),x=P.useRef(null),R=F=>{x.current=F,typeof y=="function"?y(F):y&&(y.current=F)},S=P.useContext(cr),{onSwipeStart:j,onSwipeMove:C,onSwipeCancel:N,onSwipeEnd:W}=za(x,S),Ge=F=>{u&&F.preventDefault()},Ar=()=>{const F=w.current;if(F){const Ke=F.querySelector("h2");Ke&&setTimeout(()=>{Ke.focus()})}};return d.jsx(fo,{children:d.jsx(po,{className:ie("purpur-drawer-overlay"),style:v?{zIndex:v}:void 0,"data-testid":`${e}-overlay`,children:d.jsx(ho,{onPointerDownOutside:Ge,onOpenAutoFocus:Ar,className:E,"data-testid":e,ref:R,...!a&&{"aria-describedby":void 0},...b,children:d.jsx(Rr,{backButton:t,backButtonText:r,backButtonOnlyIcon:o,closeButtonAriaLabel:i,className:ie(`${V}__drawer-frame`),fitToContent:l,footerContent:f,headerContent:p,ref:w,onBackButtonClick:h,onSwipeStart:j,onSwipeMove:C,onSwipeCancel:N,onSwipeEnd:W,stickyFooter:m,title:_,position:g,children:a?d.jsxs("div",{className:ie(`${V}__content-container`),children:[d.jsx(vo,{className:ie(`${V}__description`),"data-testid":`${e}-description`,children:a}),d.jsx("div",{children:n})]}):n})})})})});Nr.displayName="DrawerContent";const jr=P.forwardRef(({["data-testid"]:e="purpur-drawer-trigger",children:t,...r},o)=>d.jsx(uo,{asChild:!0,"data-testid":e,ref:o,...r,children:t}));jr.displayName="DrawerTrigger";const xe=({["data-testid"]:e="purpur-drawer",children:t,className:r,onOpenChange:o,open:a=!1,...n})=>{const[s,i]=P.useState(a),u=l=>{i(l),o==null||o(l)};return P.useEffect(()=>{i(a)},[a]),d.jsx(cr.Provider,{value:u,children:d.jsx("div",{className:r,"data-testid":e,...n,children:d.jsx(lo,{open:s,onOpenChange:u,children:t})})})};xe.Trigger=jr;xe.Content=Nr;xe.displayName="Drawer";exports.Drawer=xe;
|
|
65
|
+
*/var wt;function ta(){return wt||(wt=1,(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var n="",s=0;s<arguments.length;s++){var i=arguments[s];i&&(n=a(n,o.call(this,i)))}return n}function o(n){if(typeof n=="string"||typeof n=="number")return this&&this[n]||n;if(typeof n!="object")return"";if(Array.isArray(n))return r.apply(this,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var i in n)t.call(n,i)&&n[i]&&(s=a(s,this&&this[i]||i));return s}function a(n,s){return s?n?n+" "+s:n+s:n}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(yt)),yt.exports}var ra=ta();const na=ea(ra),oa={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},aa=na.bind(oa),St="purpur-icon",ia="md",sa=e=>e.filter(t=>Object.keys(t).length>=1).map(t=>`${t.name}="${t.value}"`).join(" "),ca=({content:e="",title:t}={})=>{const r=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},t?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],o=t?`<title>${t}</title>`:"";return`<svg ${sa(r)}>${o}${e}</svg>`},la=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),Ve=({svg:e,allyTitle:t,className:r,size:o=ia,...a})=>{const n=ca({content:la(e.svg),title:t}),s=aa(St,`${St}--${o}`,r);return d.jsx("span",{className:s,dangerouslySetInnerHTML:{__html:n},...a})};Ve.displayName="Icon";const ua={name:"arrow-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-left"],category:"utility"},dr=e=>d.jsx(Ve,{...e,svg:ua});dr.displayName="IconArrowLeft";const da={name:"close",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M4.864 4.864a.9.9 0 0 1 1.273 0L12 10.727l5.864-5.863a.9.9 0 0 1 1.272 1.272L13.273 12l5.863 5.864a.9.9 0 1 1-1.272 1.272L12 13.273l-5.863 5.863a.9.9 0 0 1-1.273-1.272L10.727 12 4.864 6.136a.9.9 0 0 1 0-1.272Z" clip-rule="evenodd"/></svg>',keywords:["close"],category:"utility"},fr=e=>d.jsx(Ve,{...e,svg:da});fr.displayName="IconClose";function Et(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function fa(...e){return t=>{let r=!1;const o=e.map(a=>{const n=Et(a,t);return!r&&typeof n=="function"&&(r=!0),n});if(r)return()=>{for(let a=0;a<o.length;a++){const n=o[a];typeof n=="function"?n():Et(e[a],null)}}}}function pa(e){const t=ha(e),r=c.forwardRef((o,a)=>{const{children:n,...s}=o,i=c.Children.toArray(n),u=i.find(ma);if(u){const l=u.props.children,f=i.map(p=>p===u?c.Children.count(l)>1?c.Children.only(null):c.isValidElement(l)?l.props.children:null:p);return d.jsx(t,{...s,ref:a,children:c.isValidElement(l)?c.cloneElement(l,void 0,f):null})}return d.jsx(t,{...s,ref:a,children:n})});return r.displayName=`${e}.Slot`,r}function ha(e){const t=c.forwardRef((r,o)=>{const{children:a,...n}=r;if(c.isValidElement(a)){const s=_a(a),i=ga(n,a.props);return a.type!==c.Fragment&&(i.ref=o?fa(o,s):s),c.cloneElement(a,i)}return c.Children.count(a)>1?c.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var va=Symbol("radix.slottable");function ma(e){return c.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===va}function ga(e,t){const r={...t};for(const o in t){const a=e[o],n=t[o];/^on[A-Z]/.test(o)?a&&n?r[o]=(...s)=>{n(...s),a(...s)}:a&&(r[o]=a):o==="style"?r[o]={...a,...n}:o==="className"&&(r[o]=[a,n].filter(Boolean).join(" "))}return{...e,...r}}function _a(e){var t,r;let o=(t=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:t.get,a=o&&"isReactWarning"in o&&o.isReactWarning;return a?e.ref:(o=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,a=o&&"isReactWarning"in o&&o.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}var ba=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],ya=ba.reduce((e,t)=>{const r=pa(`Primitive.${t}`),o=c.forwardRef((a,n)=>{const{asChild:s,...i}=a,u=s?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(u,{...i,ref:n})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),wa="VisuallyHidden",pr=c.forwardRef((e,t)=>d.jsx(ya.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));pr.displayName=wa;var Sa=pr;const xt=({asChild:e,children:t,...r})=>d.jsx(Sa,{asChild:e,...r,children:t}),Ea={"purpur-drawer-header":"_purpur-drawer-header_1iujy_1","purpur-drawer-header__row":"_purpur-drawer-header__row_1iujy_4","purpur-drawer-header__row--with-back-button":"_purpur-drawer-header__row--with-back-button_1iujy_7","purpur-drawer-header__left":"_purpur-drawer-header__left_1iujy_10","purpur-drawer-header__right":"_purpur-drawer-header__right_1iujy_13","purpur-drawer-header__close-button":"_purpur-drawer-header__close-button_1iujy_16","purpur-drawer-header__back-button--only-icon":"_purpur-drawer-header__back-button--only-icon_1iujy_27"},K=ne.bind(Ea),B="purpur-drawer-header",hr=P.forwardRef(({["data-testid"]:e="purpur-drawer-header",backButton:t,backButtonText:r,backButtonOnlyIcon:o,className:a,closeButtonAriaLabel:n,headerContent:s,onBackButtonClick:i,title:u,...l},f)=>{const p=K([a,B]),h=!!(t&&r&&i);return d.jsxs("div",{className:p,"data-testid":e,ref:f,...l,children:[d.jsxs("div",{className:K([`${B}__row`,{[`${B}__row--with-back-button`]:h}]),"data-testid":`${e}-row`,children:[d.jsx("div",{className:K(`${B}__left`),children:h?d.jsxs(ke,{"aria-label":o?r:"",className:K([`${B}__back-button`,{[`${B}__back-button--only-icon`]:o}]),"data-testid":`${e}-back-button`,iconOnly:o,onClick:i,size:"sm",variant:o?$e.TERTIARY_PURPLE:$e.TEXT,children:[d.jsx(dr,{size:"sm"}),!o&&r]}):s?d.jsxs(d.Fragment,{children:[s,d.jsx(xt,{asChild:!0,children:d.jsx(fe,{children:u})})]}):d.jsx(fe,{asChild:!0,children:d.jsx(Fe,{"data-testid":`${e}-title`,tag:"h2",variant:We.TITLE200,tabIndex:-1,children:u})})}),d.jsx("div",{className:K(`${B}__right`),children:d.jsx(mo,{asChild:!0,children:d.jsx(ke,{"aria-label":n,className:K(`${B}__close-button`),iconOnly:!0,size:"sm",variant:$e.TERTIARY_PURPLE,children:d.jsx(fr,{size:"sm"})})})})]}),h&&(s?d.jsxs(d.Fragment,{children:[s,d.jsx(xt,{asChild:!0,children:d.jsx(fe,{children:u})})]}):d.jsx(fe,{asChild:!0,children:d.jsx(Fe,{"data-testid":`${e}-title-with-back-button`,tag:"h2",tabIndex:-1,variant:We.TITLE200,children:u})}))]})});hr.displayName="DrawerHeader";var xa=c.createContext(void 0);function Ca(e){const t=c.useContext(xa);return e||t||"ltr"}function Pa(e,[t,r]){return Math.min(r,Math.max(t,e))}function Ra(e,t){return c.useReducer((r,o)=>t[r][o]??r,e)}var Ye="ScrollArea",[vr]=jt(Ye),[Na,$]=vr(Ye),mr=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,type:o="hover",dir:a,scrollHideDelay:n=600,...s}=e,[i,u]=c.useState(null),[l,f]=c.useState(null),[p,h]=c.useState(null),[m,_]=c.useState(null),[v,g]=c.useState(null),[b,y]=c.useState(0),[E,w]=c.useState(0),[x,R]=c.useState(!1),[S,j]=c.useState(!1),C=O(t,W=>u(W)),N=Ca(a);return d.jsx(Na,{scope:r,type:o,dir:N,scrollHideDelay:n,scrollArea:i,viewport:l,onViewportChange:f,content:p,onContentChange:h,scrollbarX:m,onScrollbarXChange:_,scrollbarXEnabled:x,onScrollbarXEnabledChange:R,scrollbarY:v,onScrollbarYChange:g,scrollbarYEnabled:S,onScrollbarYEnabledChange:j,onCornerWidthChange:y,onCornerHeightChange:w,children:d.jsx(D.div,{dir:N,...s,ref:C,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":E+"px",...e.style}})})});mr.displayName=Ye;var gr="ScrollAreaViewport",_r=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,children:o,nonce:a,...n}=e,s=$(gr,r),i=c.useRef(null),u=O(t,i,s.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),d.jsx(D.div,{"data-radix-scroll-area-viewport":"",...n,ref:u,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:d.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})});_r.displayName=gr;var k="ScrollAreaScrollbar",br=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=a,i=e.orientation==="horizontal";return c.useEffect(()=>(i?n(!0):s(!0),()=>{i?n(!1):s(!1)}),[i,n,s]),a.type==="hover"?d.jsx(ja,{...o,ref:t,forceMount:r}):a.type==="scroll"?d.jsx(Aa,{...o,ref:t,forceMount:r}):a.type==="auto"?d.jsx(yr,{...o,ref:t,forceMount:r}):a.type==="always"?d.jsx(Xe,{...o,ref:t}):null});br.displayName=k;var ja=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),[n,s]=c.useState(!1);return c.useEffect(()=>{const i=a.scrollArea;let u=0;if(i){const l=()=>{window.clearTimeout(u),s(!0)},f=()=>{u=window.setTimeout(()=>s(!1),a.scrollHideDelay)};return i.addEventListener("pointerenter",l),i.addEventListener("pointerleave",f),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",l),i.removeEventListener("pointerleave",f)}}},[a.scrollArea,a.scrollHideDelay]),d.jsx(z,{present:r||n,children:d.jsx(yr,{"data-state":n?"visible":"hidden",...o,ref:t})})}),Aa=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=$(k,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Ee(()=>u("SCROLL_END"),100),[i,u]=Ra("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(i==="idle"){const l=window.setTimeout(()=>u("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(l)}},[i,a.scrollHideDelay,u]),c.useEffect(()=>{const l=a.viewport,f=n?"scrollLeft":"scrollTop";if(l){let p=l[f];const h=()=>{const m=l[f];p!==m&&(u("SCROLL"),s()),p=m};return l.addEventListener("scroll",h),()=>l.removeEventListener("scroll",h)}},[a.viewport,n,u,s]),d.jsx(z,{present:r||i!=="hidden",children:d.jsx(Xe,{"data-state":i==="hidden"?"hidden":"visible",...o,ref:t,onPointerEnter:A(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:A(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),yr=c.forwardRef((e,t)=>{const r=$(k,e.__scopeScrollArea),{forceMount:o,...a}=e,[n,s]=c.useState(!1),i=e.orientation==="horizontal",u=Ee(()=>{if(r.viewport){const l=r.viewport.offsetWidth<r.viewport.scrollWidth,f=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?l:f)}},10);return re(r.viewport,u),re(r.content,u),d.jsx(z,{present:o||n,children:d.jsx(Xe,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Xe=c.forwardRef((e,t)=>{const{orientation:r="vertical",...o}=e,a=$(k,e.__scopeScrollArea),n=c.useRef(null),s=c.useRef(0),[i,u]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=xr(i.viewport,i.content),f={...o,sizes:i,onSizesChange:u,hasThumb:l>0&&l<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,m){return Ia(h,s.current,i,m)}return r==="horizontal"?d.jsx(Da,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&n.current){const h=a.viewport.scrollLeft,m=Ct(h,i,a.dir);n.current.style.transform=`translate3d(${m}px, 0, 0)`}},onWheelScroll:h=>{a.viewport&&(a.viewport.scrollLeft=h)},onDragScroll:h=>{a.viewport&&(a.viewport.scrollLeft=p(h,a.dir))}}):r==="vertical"?d.jsx(Ta,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&n.current){const h=a.viewport.scrollTop,m=Ct(h,i);n.current.style.transform=`translate3d(0, ${m}px, 0)`}},onWheelScroll:h=>{a.viewport&&(a.viewport.scrollTop=h)},onDragScroll:h=>{a.viewport&&(a.viewport.scrollTop=p(h))}}):null}),Da=c.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...a}=e,n=$(k,e.__scopeScrollArea),[s,i]=c.useState(),u=c.useRef(null),l=O(t,u,n.onScrollbarXChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),d.jsx(Sr,{"data-orientation":"horizontal",...a,ref:l,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Se(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.x),onDragScroll:f=>e.onDragScroll(f.x),onWheelScroll:(f,p)=>{if(n.viewport){const h=n.viewport.scrollLeft+f.deltaX;e.onWheelScroll(h),Pr(h,p)&&f.preventDefault()}},onResize:()=>{u.current&&n.viewport&&s&&o({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:be(s.paddingLeft),paddingEnd:be(s.paddingRight)}})}})}),Ta=c.forwardRef((e,t)=>{const{sizes:r,onSizesChange:o,...a}=e,n=$(k,e.__scopeScrollArea),[s,i]=c.useState(),u=c.useRef(null),l=O(t,u,n.onScrollbarYChange);return c.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),d.jsx(Sr,{"data-orientation":"vertical",...a,ref:l,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Se(r)+"px",...e.style},onThumbPointerDown:f=>e.onThumbPointerDown(f.y),onDragScroll:f=>e.onDragScroll(f.y),onWheelScroll:(f,p)=>{if(n.viewport){const h=n.viewport.scrollTop+f.deltaY;e.onWheelScroll(h),Pr(h,p)&&f.preventDefault()}},onResize:()=>{u.current&&n.viewport&&s&&o({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:be(s.paddingTop),paddingEnd:be(s.paddingBottom)}})}})}),[Oa,wr]=vr(k),Sr=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,sizes:o,hasThumb:a,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:l,onWheelScroll:f,onResize:p,...h}=e,m=$(k,r),[_,v]=c.useState(null),g=O(t,C=>v(C)),b=c.useRef(null),y=c.useRef(""),E=m.viewport,w=o.content-o.viewport,x=L(f),R=L(u),S=Ee(p,10);function j(C){if(b.current){const N=C.clientX-b.current.left,W=C.clientY-b.current.top;l({x:N,y:W})}}return c.useEffect(()=>{const C=N=>{const W=N.target;(_==null?void 0:_.contains(W))&&x(N,w)};return document.addEventListener("wheel",C,{passive:!1}),()=>document.removeEventListener("wheel",C,{passive:!1})},[E,_,w,x]),c.useEffect(R,[o,R]),re(_,S),re(m.content,S),d.jsx(Oa,{scope:r,scrollbar:_,hasThumb:a,onThumbChange:L(n),onThumbPointerUp:L(s),onThumbPositionChange:R,onThumbPointerDown:L(i),children:d.jsx(D.div,{...h,ref:g,style:{position:"absolute",...h.style},onPointerDown:A(e.onPointerDown,C=>{C.button===0&&(C.target.setPointerCapture(C.pointerId),b.current=_.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),j(C))}),onPointerMove:A(e.onPointerMove,j),onPointerUp:A(e.onPointerUp,C=>{const N=C.target;N.hasPointerCapture(C.pointerId)&&N.releasePointerCapture(C.pointerId),document.body.style.webkitUserSelect=y.current,m.viewport&&(m.viewport.style.scrollBehavior=""),b.current=null})})})}),_e="ScrollAreaThumb",Er=c.forwardRef((e,t)=>{const{forceMount:r,...o}=e,a=wr(_e,e.__scopeScrollArea);return d.jsx(z,{present:r||a.hasThumb,children:d.jsx(La,{ref:t,...o})})}),La=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,style:o,...a}=e,n=$(_e,r),s=wr(_e,r),{onThumbPositionChange:i}=s,u=O(t,p=>s.onThumbChange(p)),l=c.useRef(void 0),f=Ee(()=>{l.current&&(l.current(),l.current=void 0)},100);return c.useEffect(()=>{const p=n.viewport;if(p){const h=()=>{if(f(),!l.current){const m=ka(p,i);l.current=m,i()}};return i(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,f,i]),d.jsx(D.div,{"data-state":s.hasThumb?"visible":"hidden",...a,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:A(e.onPointerDownCapture,p=>{const m=p.target.getBoundingClientRect(),_=p.clientX-m.left,v=p.clientY-m.top;s.onThumbPointerDown({x:_,y:v})}),onPointerUp:A(e.onPointerUp,s.onThumbPointerUp)})});Er.displayName=_e;var qe="ScrollAreaCorner",$a=c.forwardRef((e,t)=>{const r=$(qe,e.__scopeScrollArea),o=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&o?d.jsx(Ma,{...e,ref:t}):null});$a.displayName=qe;var Ma=c.forwardRef((e,t)=>{const{__scopeScrollArea:r,...o}=e,a=$(qe,r),[n,s]=c.useState(0),[i,u]=c.useState(0),l=!!(n&&i);return re(a.scrollbarX,()=>{var p;const f=((p=a.scrollbarX)==null?void 0:p.offsetHeight)||0;a.onCornerHeightChange(f),u(f)}),re(a.scrollbarY,()=>{var p;const f=((p=a.scrollbarY)==null?void 0:p.offsetWidth)||0;a.onCornerWidthChange(f),s(f)}),l?d.jsx(D.div,{...o,ref:t,style:{width:n,height:i,position:"absolute",right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function be(e){return e?parseInt(e,10):0}function xr(e,t){const r=e/t;return isNaN(r)?0:r}function Se(e){const t=xr(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=(e.scrollbar.size-r)*t;return Math.max(o,18)}function Ia(e,t,r,o="ltr"){const a=Se(r),n=a/2,s=t||n,i=a-s,u=r.scrollbar.paddingStart+s,l=r.scrollbar.size-r.scrollbar.paddingEnd-i,f=r.content-r.viewport,p=o==="ltr"?[0,f]:[f*-1,0];return Cr([u,l],p)(e)}function Ct(e,t,r="ltr"){const o=Se(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-a,s=t.content-t.viewport,i=n-o,u=r==="ltr"?[0,s]:[s*-1,0],l=Pa(e,u);return Cr([0,s],[0,i])(l)}function Cr(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}function Pr(e,t){return e>0&&e<t}var ka=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},o=0;return(function a(){const n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,i=r.top!==n.top;(s||i)&&t(),r=n,o=window.requestAnimationFrame(a)})(),()=>window.cancelAnimationFrame(o)};function Ee(e,t){const r=L(e),o=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(o.current),[]),c.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function re(e,t){const r=L(t);te(()=>{let o=0;if(e){const a=new ResizeObserver(()=>{cancelAnimationFrame(o),o=window.requestAnimationFrame(r)});return a.observe(e),()=>{window.cancelAnimationFrame(o),a.unobserve(e)}}},[e,r])}var Wa=mr,Fa=_r,Ua=br,Ba=Er;const Ha={"purpur-drawer-scroll-area__root":"_purpur-drawer-scroll-area__root_1hyos_1","purpur-drawer-scroll-area__root--fit-to-content":"_purpur-drawer-scroll-area__root--fit-to-content_1hyos_4","purpur-drawer-scroll-area__viewport":"_purpur-drawer-scroll-area__viewport_1hyos_10","purpur-drawer-scroll-area__scrollbar":"_purpur-drawer-scroll-area__scrollbar_1hyos_14","purpur-drawer-scroll-area__thumb":"_purpur-drawer-scroll-area__thumb_1hyos_25"},ae=ne.bind(Ha),Z="purpur-drawer-scroll-area",Ue=P.forwardRef(({["data-testid"]:e="purpur-drawer-scroll-area",children:t,className:r,fitToContent:o=!1,...a},n)=>{const s=ae([r,Z]);return d.jsx("div",{className:s,"data-testid":e,ref:n,...a,children:d.jsxs(Wa,{className:ae(`${Z}__root`,{[`${Z}__root--fit-to-content`]:o}),children:[d.jsx(Fa,{className:ae(`${Z}__viewport`),children:t}),d.jsx(Ua,{className:ae(`${Z}__scrollbar`),orientation:"vertical",children:d.jsx(Ba,{className:ae(`${Z}__thumb`)})})]})})});Ue.displayName="DrawerScrollArea";const Q=ne.bind(Do),T="purpur-drawer-frame",Rr=P.forwardRef(({["data-testid"]:e="purpur-drawer-frame",backButton:t,backButtonText:r,backButtonOnlyIcon:o,children:a,className:n,closeButtonAriaLabel:s,fitToContent:i=!1,footerContent:u,headerContent:l,onBackButtonClick:f,onSwipeStart:p,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:_,title:v,stickyFooter:g,position:b="right",...y},E)=>{const w=!!(t&&r&&f),x=Q([n,T,{[`${T}--fit-to-content`]:i,[`${T}--sticky-footer`]:g,[`${T}--left`]:b==="left",[`${T}--right`]:b==="right",[`${T}--without-back-button`]:!w,[`${T}--with-back-button`]:w}]);return d.jsxs("div",{className:x,"data-testid":e,ref:E,...y,children:[d.jsx(lr,{onSwipeStart:p,onSwipeMove:h,onSwipeCancel:m,onSwipeEnd:_}),d.jsx(J,{className:Q(`${T}__header`),variant:"header",stickyFooter:g,children:d.jsx(hr,{title:v,headerContent:l,backButtonOnlyIcon:o,backButton:t,backButtonText:r,closeButtonAriaLabel:s,onBackButtonClick:f})}),g?d.jsxs(d.Fragment,{children:[d.jsx(Ue,{className:Q(`${T}__body`),"data-testid":`${e}-sticky-footer-scroll-area`,fitToContent:i,children:d.jsx(J,{stickyFooter:!0,children:a})}),u&&d.jsx(J,{className:Q(`${T}__footer`),"data-testid":`${e}-sticky-footer`,variant:"footer",stickyFooter:g,children:u})]}):d.jsx(Ue,{className:Q(`${T}__body`),"data-testid":`${e}-scroll-area`,fitToContent:i,children:d.jsxs("div",{className:Q([`${T}__content-container`,{[`${T}__content-container--no-footer`]:!u}]),children:[d.jsx(J,{stickyFooter:g,children:a}),u&&d.jsx(J,{"data-testid":`${e}-footer`,stickyFooter:g,variant:"footer",children:u})]})})]})});Rr.displayName="DrawerFrame";const za=(e,t)=>({onSwipeStart:()=>{e.current&&e.current.setAttribute("data-swipe","start")},onSwipeMove:s=>{if(!e.current)return;const{y:i}=s.delta;e.current.setAttribute("data-swipe","move"),e.current.style.setProperty("--purpur-drawer-swipe-move-y",`${i}px`)},onSwipeCancel:()=>{e.current&&(e.current.setAttribute("data-swipe","cancel"),e.current.style.removeProperty("--purpur-drawer-swipe-move-y"),e.current.style.removeProperty("--purpur-drawer-swipe-end-y"))},onSwipeEnd:s=>{if(!e.current)return;const{y:i}=s.delta;e.current.setAttribute("data-swipe","end"),e.current.style.removeProperty("--purpur-drawer-swipe-move-y"),e.current.style.setProperty("--purpur-drawer-swipe-end-y",`${i}px`),t==null||t(!1)}}),ie=ne.bind(No),V="purpur-drawer-content",Nr=P.forwardRef(({["data-testid"]:e="purpur-drawer-content",backButton:t=!1,backButtonText:r,backButtonOnlyIcon:o=!1,bodyText:a,children:n,className:s,closeButtonAriaLabel:i,disableCloseOnClickOutside:u=!1,fitToContent:l=!1,footerContent:f,headerContent:p,onBackButtonClick:h,stickyFooter:m=!1,title:_,zIndex:v,position:g="right",...b},y)=>{const E=ie([s,V,{[`${V}--fit-to-content`]:l},{[`${V}--left`]:g==="left"},{[`${V}--right`]:g==="right"}]),w=P.useRef(null),x=P.useRef(null),R=F=>{x.current=F,typeof y=="function"?y(F):y&&(y.current=F)},S=P.useContext(cr),{onSwipeStart:j,onSwipeMove:C,onSwipeCancel:N,onSwipeEnd:W}=za(x,S),Ge=F=>{u&&F.preventDefault()},Ar=()=>{const F=w.current;if(F){const Ke=F.querySelector("h2");Ke&&setTimeout(()=>{Ke.focus()})}};return d.jsx(fo,{children:d.jsx(po,{className:ie("purpur-drawer-overlay"),style:v?{zIndex:v}:void 0,"data-testid":`${e}-overlay`,children:d.jsx(ho,{onPointerDownOutside:Ge,onOpenAutoFocus:Ar,className:E,"data-testid":e,ref:R,...!a&&{"aria-describedby":void 0},...b,children:d.jsx(Rr,{backButton:t,backButtonText:r,backButtonOnlyIcon:o,closeButtonAriaLabel:i,className:ie(`${V}__drawer-frame`),fitToContent:l,footerContent:f,headerContent:p,ref:w,onBackButtonClick:h,onSwipeStart:j,onSwipeMove:C,onSwipeCancel:N,onSwipeEnd:W,stickyFooter:m,title:_,position:g,children:a?d.jsxs("div",{className:ie(`${V}__content-container`),children:[d.jsx(vo,{className:ie(`${V}__description`),"data-testid":`${e}-description`,children:a}),d.jsx("div",{children:n})]}):n})})})})});Nr.displayName="DrawerContent";const jr=P.forwardRef(({["data-testid"]:e="purpur-drawer-trigger",children:t,...r},o)=>d.jsx(uo,{asChild:!0,"data-testid":e,ref:o,...r,children:t}));jr.displayName="DrawerTrigger";const xe=({["data-testid"]:e="purpur-drawer",children:t,className:r,onOpenChange:o,open:a=!1,...n})=>{const[s,i]=P.useState(a),u=l=>{i(l),o==null||o(l)};return P.useEffect(()=>{i(a)},[a]),d.jsx(cr.Provider,{value:u,children:d.jsx("div",{className:r,"data-testid":e,...n,children:d.jsx(lo,{open:s,onOpenChange:u,children:t})})})};xe.Trigger=jr;xe.Content=Nr;xe.displayName="Drawer";exports.Drawer=xe;
|
|
66
66
|
//# sourceMappingURL=drawer.cjs.js.map
|