1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2386],{17909:(e,r,t)=>{t.d(r,{E:()=>i});var n=t(7620),o=t(9081),l=t(3895),i=e=>{let{tags:r,read:t,archived:i=!1,limit:a,onSuccess:c,onError:s}=e||{},u=(0,n.useRef)(void 0),{notifications:d,on:f}=(0,l.uX)(),[h,p]=(0,n.useState)(),[v,w]=(0,n.useState)(),[S,b]=(0,n.useState)(!0),[g,m]=(0,n.useState)(!1),[E,y]=(0,n.useState)(!1),T=h?.length,C=T?h[T-1].id:void 0,x=e=>{e.data&&(!u.current||(0,o.lU)(u.current,e.data.filter))&&(p(e.data.notifications),y(e.data.hasMore))};(0,n.useEffect)(()=>{let e=f("notifications.list.updated",x);return()=>{e()}},[]),(0,n.useEffect)(()=>{let e={tags:r,read:t,archived:i};u.current&&(0,o.lU)(u.current,e)||(d.clearCache({filter:u.current}),u.current=e,R({refetch:!0}))},[r,t,i]);let R=async e=>{e?.refetch&&(w(void 0),b(!0),m(!1)),m(!0);let n=await d.list({tags:r,read:t,archived:i,limit:a,after:e?.refetch?void 0:C});n.error?(w(n.error),s?.(n.error)):(c?.(n.data.notifications),p(n.data.notifications),y(n.data.hasMore)),b(!1),m(!1)},P=async()=>{if(E&&!g)return R()};return{readAll:async()=>await d.readAll({tags:r}),archiveAll:async()=>await d.archiveAll({tags:r}),archiveAllRead:async()=>await d.archiveAllRead({tags:r}),notifications:h,error:v,isLoading:S,isFetching:g,refetch:()=>(d.clearCache({filter:{tags:r,read:t,archived:i}}),R({refetch:!0})),fetchMore:P,hasMore:E}}},83764:(e,r,t)=>{t.d(r,{s:()=>a});var n=t(7620),o=t(9081),l=t(3895),i=({event:e,eventHandler:r})=>{let t=(0,l.uX)(),o=`nv_ws_connection:a=${t.applicationIdentifier}:s=${t.subscriberId}:e=${e}`,{postMessage:i}=(({channelName:e,onMessage:r})=>{let[t]=(0,n.useState)("u">typeof BroadcastChannel?new BroadcastChannel(e):void 0);return(0,n.useEffect)(()=>{let e=e=>{r(e.data)};return t?.addEventListener("message",e),()=>{t?.removeEventListener("message",e)}},[]),{postMessage:e=>{t?.postMessage(e)}}})({channelName:o,onMessage:r}),a=e=>{r(e),i(e)};(0,n.useEffect)(()=>{let r,n=function(e,r){let t;if(!("locks"in navigator))return r(e),()=>{};let n=!1,o=new Promise(e=>{t=e});return navigator.locks.request(e,()=>(n||r(e),o)),()=>{n=!0,t()}}(o,()=>{r=t.on(e,a)});return()=>{r&&r(),n()}},[])},a=e=>{let{filters:r,onSuccess:t,onError:a}=e,{notifications:c}
1=(0,l.uX)(),[s,u]=(0,n.useState)(),[d,f]=(0,n.useState)(),[h,p]=(0,n.useState)(!0),[v,w]=(0,n.useState)(!1),S=async e=>{let n=d??r.map(e=>({count:0,filter:e})),l=[];if(e)for(let t=0;t<n.length;t++){let n=r[t];(0,o.qq)(n.tags,e.tags)&&l.push(n)}else l=r;if(0===l.length)return;w(!0);let i=await c.count({filters:l});if(w(!1),p(!1),i.error){u(i.error),a?.(i.error);return}let s=i.data;t?.(s.counts),f(e=>{let r=[],t=s.counts;for(let l=0;l<n.length;l++){let i=t.find(e=>(0,o.qq)(e.filter.tags,n[l].filter.tags))||e&&e[l];i&&r.push(i)}return r})};return i({event:"notifications.notification_received",eventHandler:e=>{S(e.result)}}),i({event:"notifications.unread_count_changed",eventHandler:()=>{S()}}),(0,n.useEffect)(()=>{u(void 0),p(!0),w(!1),S()},[JSON.stringify(r)]),{counts:d,error:s,refetch:async()=>{await S()},isLoading:h,isFetching:v}}},84265:(e,r,t)=>{t.d(r,{bL:()=>$,Ze:()=>J,zi:()=>Z,LM:()=>G});var n=t(7620),o=t(70488),l=t(40444),i=t(3678),a=t(89324),c=t(85484),s=t(80792),u=t(66203);function d(e,[r,t]){return Math.min(t,Math.max(r,e))}(0,Object.defineProperty)(d,"name",{value:"clamp",configurable:!0});var f=t(41074),h=t(54568),p=Object.defineProperty,v=(e,r)=>p(e,"name",{value:r,configurable:!0});function w(e,r){return n.useReducer((e,t)=>r[e][t]??e,e)}v(w,"useStateMachine");var S="ScrollArea",[b,g]=(0,i.A)(S),[m,E]=b(S),y=n.forwardRef(v(function(e,r){let{__scopeScrollArea:t,type:l="hover",dir:i,scrollHideDelay:c=600,...u}=e,[d,f]=n.useState(null),[p,v]=n.useState(null),[w,S]=n.useState(null),[b,g]=n.useState(null),[E,y]=n.useState(null),[T,C]=n.useState(0),[x,R]=n.useState(0),[P,A]=n.useState(!1),[L,_]=n.useState(!1),D=(0,a.s)(r,f),j=(0,s.jH)(i);return(0,h.jsx)(m,{scope:t,type:l,dir:j,scrollHideDelay:c,scrollArea:d,viewport:p,onViewportChange:v,content:w,onContentChange:S,scrollbarX:b,onScrollbarXChange:g,scrollbarXEnabled:P,onScrollbarXEnabledChange:A,scrollbarY:E,onScrollbarYChange:y,scrollbarYEnabled:L,onScrollbarYEnabledChange:_,onCornerWidthChange:C,onCornerHeightChange:R,children:(0,h.jsx)(o.sG.div,{dir:j,...u,ref:D,style:{position:"relative","--radix-scroll-area-corner-width":T+"px","--radix-scroll-area-corner-height":x+"px",...e.style}})})},"ScrollArea")),T=n.forwardRef(v(function(e,r){let{__scopeScrollArea:t,children:l,nonce:i,...c}=e,s=E("ScrollAreaViewport",t),u=n.useRef(null),d=(0,a.s)(r,u,s.onViewportChange);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(C,{nonce:i}),(0,h.jsx)(o.sG.div,{"data-radix-scroll-area-viewport":"",...c,ref:d,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,h.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})},"ScrollAreaViewport")),C=n.memo(v(function({nonce:e}){return(0,h.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:e})},"ScrollAreaViewportStyle"),(e,r)=>e.nonce===r.nonce),x="ScrollAreaScrollbar",R=n.forwardRef(v(function(e,r){let{forceMount:t,...o}=e,l=E(x,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,c="horizontal"===e.orientation;return n.useEffect(()=>(c?i(!0):a(!0),()=>{c?i(!1):a(!1)}),[c,i,a]),"hover"===l.type?(0,h.jsx)(P,{...o,ref:r,forceMount:t}):"scroll"===l.type?(0,h.jsx)(A,{...o,ref:r,forceMount:t}):"auto"===l.type?(0,h.jsx)(L,{...o,ref:r,forceMount:t}):"always"===l.type?(0,h.jsx)(_,{...o,ref:r,"data-state":"visible"}):null},"ScrollAreaScrollbar")),P=n.forwardRef(v(function(e,r){let{forceMount:t,...o}=e,i=E(x,e.__scopeScrollArea),[a,c]=n.useState(!1);return n.useEffect(()=>{let e=i.scrollArea,r=0;if(e){let t=v(()=>{window.clearTimeout(r),c(!0)},"handlePointerEnter"),n=v(()=>{r=window.setTimeout(()=>c(!1),i.scrollHideDelay)},"handlePointerLeave");return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,h.jsx)(l.C,{present:t||a,children:(0,h.jsx)(L,{"data-state":a?"visible":"hidden",...o,ref:r})})},"ScrollAreaScrollbarHover")),A=n.forwardRef(v(function(e,r){let{forceMount:t,...o}=e,i=E(x,e.__scopeScrollArea),a="horizontal"===e.orientation,c=K(()=>u("SCROLL_END"),100),[s,u]=w("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 n.useEffect(()=>{if("idle"===s){let e=window.setTimeout(()=>u("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,u]),n.useEffect(()=>{let e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r],n=v(()=>{let n=e[r];t!==n&&(u("SCROLL"),c()),t=n},"handleScroll");return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}}
1,[i.viewport,a,u,c]),(0,h.jsx)(l.C,{present:t||"hidden"!==s,children:(0,h.jsx)(_,{"data-state":"hidden"===s?"hidden":"visible",...o,ref:r,onPointerEnter:(0,f.mK)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,f.mK)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),L=n.forwardRef(v(function(e,r){let t=E(x,e.__scopeScrollArea),{forceMount:o,...i}=e,[a,c]=n.useState(!1),s="horizontal"===e.orientation,u=K(()=>{if(t.viewport){let e=t.viewport.offsetWidth<t.viewport.scrollWidth,r=t.viewport.offsetHeight<t.viewport.scrollHeight;c(s?e:r)}},10);return q(t.viewport,u),q(t.content,u),(0,h.jsx)(l.C,{present:o||a,children:(0,h.jsx)(_,{"data-state":a?"visible":"hidden",...i,ref:r})})},"ScrollAreaScrollbarAuto")),_=n.forwardRef(v(function(e,r){let{orientation:t="vertical",...o}=e,l=E(x,e.__scopeScrollArea),i=n.useRef(null),a=n.useRef(0),[c,s]=n.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=U(c.viewport,c.content),d={...o,sizes:c,onSizesChange:s,hasThumb:!!(u>0&&u<1),onThumbChange:v(e=>i.current=e,"onThumbChange"),onThumbPointerUp:v(()=>a.current=0,"onThumbPointerUp"),onThumbPointerDown:v(e=>a.current=e,"onThumbPointerDown")};function f(e,r){return X(e,a.current,c,r)}return(v(f,"getScrollPosition"),"horizontal"===t)?(0,h.jsx)(D,{...d,ref:r,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=Y(l.viewport.scrollLeft,c,l.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===t?(0,h.jsx)(j,{...d,ref:r,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=Y(l.viewport.scrollTop,c);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null},"ScrollAreaScrollbarVisible")),D=n.forwardRef(v(function(e,r){let{sizes:t,onSizesChange:o,...l}=e,i=E(x,e.__scopeScrollArea),[c,s]=n.useState(),u=n.useRef(null),d=(0,a.s)(r,u,i.onScrollbarXChange);return n.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),(0,h.jsx)(I,{"data-orientation":"horizontal",...l,ref:d,sizes:t,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":M(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){let n=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(n),V(n,t)&&r.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:k(c.paddingLeft),paddingEnd:k(c.paddingRight)}})}})},"ScrollAreaScrollbarX")),j=n.forwardRef(v(function(e,r){let{sizes:t,onSizesChange:o,...l}=e,i=E(x,e.__scopeScrollArea),[c,s]=n.useState(),u=n.useRef(null),d=(0,a.s)(r,u,i.onScrollbarYChange);return n.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),(0,h.jsx)(I,{"data-orientation":"vertical",...l,ref:d,sizes:t,style:{to
1p:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":M(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){let n=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(n),V(n,t)&&r.preventDefault()}},onResize:()=>{u.current&&i.viewport&&c&&o({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:k(c.paddingTop),paddingEnd:k(c.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[z,H]=b(x),I=n.forwardRef(v(function(e,r){let{__scopeScrollArea:t,sizes:l,hasThumb:i,onThumbChange:s,onThumbPointerUp:u,onThumbPointerDown:d,onThumbPositionChange:p,onDragScroll:w,onWheelScroll:S,onResize:b,...g}=e,m=E(x,t),[y,T]=n.useState(null),C=(0,a.s)(r,T),R=n.useRef(null),P=n.useRef(""),A=m.viewport,L=l.content-l.viewport,_=(0,c.c)(S),D=(0,c.c)(p),j=K(b,10);function H(e){R.current&&w({x:e.clientX-R.current.left,y:e.clientY-R.current.top})}return v(H,"handleDragScroll"),n.useEffect(()=>{let e=v(e=>{let r=e.target;y?.contains(r)&&_(e,L)},"handleWheel");return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[A,y,L,_]),n.useEffect(D,[l,D]),q(y,j),q(m.content,j),(0,h.jsx)(z,{scope:t,scrollbar:y,hasThumb:i,onThumbChange:(0,c.c)(s),onThumbPointerUp:(0,c.c)(u),onThumbPositionChange:D,onThumbPointerDown:(0,c.c)(d),children:(0,h.jsx)(o.sG.div,{...g,ref:C,style:{position:"absolute",...g.style},onPointerDown:(0,f.mK)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),R.current=y.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),H(e))}),onPointerMove:(0,f.mK)(e.onPointerMove,H),onPointerUp:(0,f.mK)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,m.viewport&&(m.viewport.style.scrollBehavior=""),R.current=null})})})},"ScrollAreaScrollbarImpl")),O="ScrollAreaThumb",N=n.forwardRef(v(function(e,r){let{forceMount:t,...n}=e,o=H(O,e.__scopeScrollArea);return(0,h.jsx)(l.C,{present:t||o.hasThumb,children:(0,h.jsx)(W,{ref:r,...n})})},"ScrollAreaThumb")),W=n.forwardRef(v(function(e,r){let{__scopeScrollArea:t,style:l,...i}=e,c=E(O,t),s=H(O,t),{onThumbPositionChange:u}=s,d=(0,a.s)(r,s.onThumbChange),p=n.useRef(void 0),w=K(()=>{p.current&&(p.current(),p.current=void 0)},100);return n.useEffect(()=>{let e=c.viewport;if(e){let r=v(()=>{w(),p.current||(p.current=F(e,u),u())},"handleScroll");return u(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[c.viewport,w,u]),(0,h.jsx)(o.sG.div,{"data-state":s.hasThumb?"visible":"hidden",...i,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:(0,f.mK)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;s.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,f.mK)(e.onPointerUp,s.onThumbPointerUp)})},"ScrollAreaThumbImpl"));function k(e){return e?parseInt(e,10):0}function U(e,r){let t=e/r;return isNaN(t)?0:t}function M(e){let r=U(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function X(e,r,t,n="ltr"){let o=M(t),l=r||o/2,i=t.scrollbar.paddingStart+l,a=t.scrollbar.size-t.scrollbar.paddingEnd-(o-l),c=t.content-t.viewport;return B([i,a],"ltr"===n?[0,c]:[-1*c,0])(e)}function Y(e,r,t="ltr"){let n=M(r),o=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-o,i=r.content-r.viewport,a=d(e,"ltr"===t?[0,i]:[-1*i,0]);return B([0,i],[0,l-n])(a)}function B(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}function V(e,r){return e>0&&e<r}v(k,"toInt"),v(U,"getThumbRatio"),v(M,"getThumbSize"),v(X,"getScrollPositionFromPointer"),v(Y,"getThumbOffsetFromScroll"),v(B,"linearScale"),v(V,"isScrollingWithinScrollbarBounds");var F=v((e,r=()=>{})=>(e.scrollLeft,e.scrollTop,()=>window.cancelAnimationFrame(0)),"addUnlinkedScrollListener");function K(e,r){let t=(0,c.c)(e),o=n.useRef(0);return n.useEffect(()=>()=>window.clearTimeout(o.current),[]),n.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(t,r)},[t,r])}function q(e,r){let t=(0,c.c)(r);(0,u.N)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}v(K,"useDebounceCallback"),v(q,"useResizeObserver");var $=y,G=T,J=R,Z=N}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.