1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21026,t=>{"use strict";var e=t.i(3822);let s=[{id:"github",label:"GitHub",description:"GitHub.com repositories through the Claron GitHub App.",authType:"oauth",tokenHelp:"Connect through the GitHub App so Claron can list repositories and receive push events."},{id:"gitlab",label:"GitLab",description:"GitLab.com or self-managed GitLab repositories.",authType:"oauth",supportsSelfHosted:!0,tokenHelp:"Connect your GitLab account so Claron can list repositories and configure webhooks.",hostPlaceholder:"https://gitlab.com"},{id:"bitbucket",label:"Bitbucket",description:"Bitbucket Cloud workspaces and repositories.",authType:"oauth",tokenHelp:"Connect your Bitbucket account so Claron can access repositories and receive push events."}],i="https://api.claron.dev/api/v1";class o extends Error{status;body;constructor(t,e,s){super(e),this.status=t,this.body=s,this.name="ApiError"}}async function n(t,s,n,r,a){let l;try{l=await fetch(`${i}${s}`,{method:t,cache:a,credentials:"include",headers:{...n?{"Content-Type":"application/json"}:{},...r},body:n?JSON.stringify(n):void 0})}catch(i){throw(0,e.logFrontendError)("api.network_error",i,{method:t,path:s,hasBody:!!n}),new o(0,"Network error",{path:s,method:t})}if(!l.ok){let i=await l.json().catch(()=>({})),n=l.headers.get("x-request-id")||void 0;throw(0,e.logFrontendWarn)("api.request_failed",{method:t,path:s,status:l.status,requestId:n,code:i.code,message:i.message??i.error??l.statusText}),new o(l.status,i.message??i.error??l.statusText,i)}if(204===l.status)return;let c=await l.text();if(!c||!c.trim())return null;try{return JSON.parse(c)}catch{return null}}async function r(t,e,s,n){let r=await fetch(`${i}${e}`,{method:t,credentials:"include",headers:{...s?{"Content-Type":"application/json"}:{},...n},body:s?JSON.stringify(s):void 0});if(!r.ok)throw new o(r.status,r.statusText);return r.blob()}async function a(t,s,n,r,a){return new Promise((l,c)=>{let h=new XMLHttpRequest;if(h.open(t,`${i}${s}`),h.withCredentials=!0,h.setRequestHeader("Content-Type","application/json"),a)for(let[t,e]of Object.entries(a))h.setRequestHeader(t,e);r&&(r(0),h.upload.onprogress=t=>{t.lengthComputable&&r(Math.max(0,Math.min(100,Math.round(t.loaded/t.total*100))))}),h.onerror=()=>{(0,e.logFrontendError)("api.upload_network_error",void 0,{method:t,path:s}),c(new o(0,"Network error"))},h.onload=()=>{let i,n=h.status,a=h.responseText||"";if(a)try{i=JSON.parse(a)}catch{i=a}if(n<200||n>=300){let r=i;(0,e.logFrontendWarn)("api.upload_failed",{method:t,path:s,status:n,message:r?.message??r?.error??h.statusText}),c(new o(n,r?.message??r?.error??h.statusText,i));return}(r&&r(100),204===n)?l(void 0):l(i)},h.send(JSON.stringify(n??{}))})}function l(t){if(!t)return"";let e=new URLSearchParams;t.action&&e.set("action",t.action),t.from&&e.set("from",t.from),t.to&&e.set("to",t.to),"number"==typeof t.page&&e.set("page",String(t.page)),"number"==typeof t.limit&&e.set("limit",String(t.limit));let s=e.toString();return s?`?${s}`:""}t.s(["ApiError",()=>o,"adminAuthApi",0,{login:t=>n("POST","/admin/auth/login",t??{}),logout:()=>n("POST","/admin/auth/logout",{}),me:()=>n("GET","/admin/auth/me")},"annotationsApi",0,{getAll:(t,e,s)=>s?n("GET",`/guest/projects/${t}/annotations?${e}`,void 0,{"x-session-token":s}):n("GET",`/projects/${t}/annotations?${e}`),get:(t,e,s,i)=>s?n("GET",`/guest/projects/${t}/annotations/${e}`,void 0,{"x-session-token":s},i):n("GET",`/projects/${t}/annotations/${e}`,void 0,void 0,i),create:(t,e,s)=>s?n("POST",`/guest/projects/${t}/annotations`,e,{"x-session-token":s}):n("POST",`/projects/${t}/annotations`,e),duplicateCandidates:(t,e,s)=>n("POST",s?`/guest/projects/${t}/annotations/duplicate-candidates`:`/projects/${t}/annotations/duplicate-candidates`,e,s?{"x-session-token":s}:void 0),mergeDuplicate:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/merge`,{canonicalAnnotationId:s}),unmergeDuplicate:(t,e)=>n("POST",`/projects/${t}/annotations/${e}/unmerge`,{}),softDelete:(t,e)=>n("DELETE",`/projects/${t}/annotations/${e}`),getTrash:(t,e,s=30)=>{let i=new URLSearchParams({limit:String(s)});return e&&i.set("cursor",e),n("GET",`/projects/${t}/annotations/trash?${i.toString()}`)},restore:(t,e)=>n("POST",`/projects/${t}/annotations/${e}/restore`,{}),permanentlyDelete:(t,e)=>n("DELETE",`/projects/${t}/annotations/${e}/permanent`),update:(t,e,s,i)=>{let o=s&&"object"==typeof s&&!Array.isArray(s)?Object.fromEntries(Object.entries(s).filter(([t,e])=>"provider"!==t||null!=e)):s;return i?n("PATCH",`/guest/projects/${t}/annotations/${e}`,o,{"x-session-token":i}):n("PATCH",`/projects/${t}/annotations/${e}`,o)},requestVerification:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/verification/request`,s),approveVerification:(t,e)=>n("POST",`/projects/${t}/annotations/${e}/verification/approve`,{}),rejectVerification:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/verification/reject`,{reason:s}),bulkUpdate:(t,e)=>n("POST",`/projects/${t}/annotations/bulk`,e),listTags:t=>n("GET",`/projects/${t}/tags`),addTag:(t,e)=>n("POST",`/annotations/${t}/tags`,{tagId:e}),removeTag:(t,e)=>n("DELETE",`/annotations/${t}/tags/${e}`),createTag:(t,e)=>n("POST",`/projects/${t}/tags`,e),updateTag:(t,e,s)=>n("PATCH",`/projects/${t}/tags/${e}`,s),deleteTag:(t,e)=>n("DELETE",`/projects/${t}/tags/${e}`),getCustomFields:(t,e)=>e?n("GET",`/guest/projects/${t}/annotations/custom-fields`,void 0,{"x-session-token":e}):n("GET",`/projects/${t}/custom-fields`),createCustomField:(t,e)=>n("POST",`/projects/${t}/custom-fields`,e),updateCustomField:(t,e,s)=>n("PATCH",`/projects/${t}/custom-fields/${e}`,s),deleteCustomField:(t,e)=>n("DELETE",`/projects/${t}/custom-fields/${e}`),getSla:t=>n("GET",`/projects/${t}/annotations/sla`),updateSla:(t,e)=>n("PUT",`/projects/${t}
1/annotations/sla`,e),getSlaBreaches:t=>n("GET",`/projects/${t}/annotations/sla/breaches`),getSavedViews:t=>n("GET",`/projects/${t}/annotations/saved-filters`),createSavedView:(t,e)=>n("POST",`/projects/${t}/annotations/saved-filters`,e),deleteSavedView:(t,e)=>n("DELETE",`/projects/${t}/annotations/saved-filters/${e}`),resolve:t=>n("GET",`/annotations/${t}/resolve`),getReplay:t=>n("GET",`/annotations/${t}/replay`),getReplayValues:(t,e)=>n("GET",`/projects/${t}/annotations/${e}/replay-values`),rebindTarget:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/rebind-target`,s),uploadAttachment:async(t,s,n)=>{n&&s.set("commentId",n);let r=await fetch(`${i}/annotations/${t}/attachments`,{method:"POST",credentials:"include",body:s});if(!r.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"POST",path:`/annotations/${t}/attachments`,status:r.status,message:r.statusText}),new o(r.status,r.statusText);return r.json()},resolveSourceMap:(t,e)=>n("GET",`/projects/${t}/source-map-resolution?${e}`),toggleReaction:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/reactions`,{emoji:s}),toggleSubscribe:(t,e)=>n("POST",`/projects/${t}/annotations/${e}/subscribe`),subscribe:(t,e)=>n("PUT",`/projects/${t}/annotations/${e}/subscribe`),addComment:(t,e,s,i,o,r,a)=>o?n("POST",`/guest/projects/${t}/annotations/${e}/comments`,{body:s,parentId:i,isInternal:r,mentions:a},{"x-session-token":o}):n("POST",`/projects/${t}/annotations/${e}/comments`,{body:s,parentId:i,isInternal:r,mentions:a}),addLink:(t,e,s,i)=>n("POST",`/projects/${t}/annotations/${e}/links`,{linkedAnnotationId:s,linkType:i}),removeLink:(t,e,s)=>n("DELETE",`/projects/${t}/annotations/${e}/links/${s}`),retryScreenshot:(t,e,s="before",i,o)=>n("POST",`/projects/${t}/annotations/${e}/screenshots/retry`,{type:s,settleDelayMs:i,hoverDelayMs:o}),retryAiInvestigation:(t,e)=>n("POST",`/projects/${t}/annotations/${e}/ai/retry`),getAiInvestigationStatus:(t,e)=>n("GET",`/projects/${t}/annotations/${e}/ai/status`),raisePullRequest:(t,e,s)=>n("POST",`/projects/${t}/annotations/${e}/ai/raise-pr`,s??{}),getStats:t=>n("GET",`/projects/${t}/annotations/stats`),getActivity:t=>n("GET",`/projects/${t}/annotations/activity`)},"apiKeysApi",0,{list:()=>n("GET","/api-keys"),create:t=>n("POST","/api-keys",t),rotate:t=>n("POST",`/api-keys/${t}/rotate`),revoke:t=>n("DELETE",`/api-keys/${t}`)},"approvalRequestsApi",0,{listMy:()=>n("GET","/my/approval-requests")},"auditLogApi",0,{listOrg:(t,e)=>n("GET",`/audit-log/orgs/${t}${l(e)}`),listProject:(t,e)=>n("GET",`/audit-log/projects/${t}${l(e)}`)},"authApi",0,{getTours:()=>n("GET","/tours"),completeTour:t=>n("POST",`/tours/${t}/complete`),getMe:()=>n("GET","/auth/me"),logout:()=>n("POST","/auth/logout"),getSessions:()=>n("GET","/auth/sessions"),revokeSession:t=>n("DELETE",`/auth/sessions/${encodeURIComponent(t)}`),revokeOtherSessions:()=>n("DELETE","/auth/sessions/others"),getWsToken:()=>n("GET","/auth/ws-token"),login:t=>n("POST","/auth/login",t),verifyOtp:(t,e)=>n("POST","/auth/verify-otp",{otpSessionId:t,code:e}),signup:t=>n("POST","/auth/signup",t),orgSignup:t=>n("POST","/auth/org/signup",t),resetPassword:t=>n("POST","/auth/reset-password",t),forgotPassword:t=>n("POST","/auth/forgot-password",t),updateMe:t=>n("PATCH","/auth/me",t),deleteMe:t=>n("DELETE","/auth/me",{password:t}),uploadAvatar:async t=>{let s=await fetch(`${i}/auth/me/avatar`,{method:"POST",credentials:"include",body:t});if(!s.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"POST",path:"/auth/me/avatar",status:s.status,message:s.statusText}),new o(s.status,s.statusText);return s.json()}},"billingApi",0,{getStatus:t=>n("GET",t?`/billing/status?orgId=${encodeURIComponent(t)}`:"/billing/status"),getPlans:()=>n("GET","/billing/plans"),subscribe:(t,e)=>n("POST","/billing/subscribe",e?{plan:t,orgId:e}:{plan:t}),cancel:t=>n("POST","/billing/cancel",t?{orgId:t}:{}),cancelScheduledChange:t=>n("POST","/billing/cancel-scheduled-change",t?{orgId:t}:{}),upgrade:(t,e)=>n("POST","/billing/upgrade",e?{plan:t,orgId:e}:{plan:t}),verifyPayment:t=>n("POST","/billing/verify",t),downgrade:(t,e)=>n("POST","/billing/downgrade",e?{plan:t,orgId:e}:{plan:t}),refresh:t=>n("POST","/billing/refresh",t?{orgId:t}:{})},"bugReportsApi",0,{submit:(t,e)=>e?.onUploadProgress?a("POST","/bug-reports",t,e.onUploadProgress):n("POST","/bug-reports",t),listMine:()=>n("GET","/bug-reports/mine"),getOne:t=>n("GET",`/bug-reports/${t}`),adminList:t=>{let e=new URLSearchParams;t?.page&&e.set("page",String(t.page)),t?.limit&&e.set("limit",String(t.limit)),t?.status&&e.set("status",t.status);let s=e.toString();return n("GET",`/bug-reports/admin/all${s?`?${s}`:""}`)},adminUpdate:(t,e)=>n("PATCH",`/bug-reports/admin/${t}`,e),adminStats:()=>n("GET","/bug-reports/admin/stats")},"buildsApi",0,{trigger:(t,e,s)=>n("POST",`/projects/${t}/build`,{branch:e,environmentKey:s}),wake:t=>n("POST",`/projects/${t}/wake`),getAll:t=>n("GET",`/projects/${t}/builds`),get:(t,e)=>n("GET",`/projects/${t}/builds/${e}`),getLogs:async(t,s)=>{let n=await fetch(`${i}/projects/${t}/builds/${s}/logs`,{credentials:"include"});if(!n.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"GET",path:`/projects/${t}/builds/${s}/logs`,status:n.status,message:n.statusText}),new o(n.status,n.statusText);return n.text()},cancel:(t,e)=>n("POST",`/projects/${t}/builds/${e}/cancel`),prioritize:(t,e)=>n("POST",`/projects/${t}/builds/${e}/prioritize`)},"contactApi",0,{submit:t=>n("POST","/contact",t)},"envVarsApi",0,{getAll:t=>n("GET",`/projects/${t}/env`),create:(t,e)=>n("POST",`/projects/${t}/env`,e),update:(t,e,s)=>n("PUT",`/projects/${t}/env/${encodeURIComponent(e)}`,{value:s}),delete:(t,e)=>n("DELETE",`/projects/${t}/env/${encodeURIComponent(e)}`),reveal:(t,e)=>n("GET",`/projects/${t}/env/${encodeURIComponent(e)}/reveal`)}
1,"extensionApi",0,{getSettings:()=>n("GET","/extension/settings"),saveSettings:t=>n("PUT","/extension/settings",t),exchangeAuthorization:(t,e,s)=>n("POST","/extension/authorize/exchange",{deviceLabel:t,browser:e,extensionVersion:s})},"gitProvidersApi",0,{getProviders:()=>Promise.resolve(s),getConnectUrl:(t,e="/dashboard/projects/new")=>`${i}/${t}/connect?returnTo=${encodeURIComponent(e)}`,getStatus:t=>n("GET",`/${t}/status`).then(e=>({...e,provider:t})),getRepos:t=>n("GET",`/${t}/repos`).then(e=>e.map(e=>({...e,provider:t,cloneUrl:e.cloneUrl??("github"===t?`https://github.com/${e.fullName}.git`:e.url),url:e.url??("github"===t?`https://github.com/${e.fullName}`:e.cloneUrl)}))),getBranches:(t,e)=>n("GET",`/${t}/branches?repo=${encodeURIComponent(e)}`),disconnect:t=>n("DELETE",`/${t}/disconnect`),detectFramework:(t,e,s,i)=>n("GET",`/git/${t}/detect-framework?repo=${encodeURIComponent(e)}${s?`&branch=${encodeURIComponent(s)}`:""}${i?`&subpath=${encodeURIComponent(i)}`:""}`).catch(()=>({framework:"unknown",buildCommand:"bun run build",outputDir:"dist",installCommand:"bun install"})),getMonorepoApps:(t,e,s)=>n("GET",`/git/${t}/monorepo-apps?repo=${encodeURIComponent(e)}${s?`&branch=${encodeURIComponent(s)}`:""}`).then(t=>t.apps).catch(()=>[])},"githubApi",0,{getStatus:()=>n("GET","/github/status"),getRepos:()=>n("GET","/github/repos"),getInstallUrl:(t="/dashboard/projects/new")=>n("GET",`/github/install-url?returnTo=${encodeURIComponent(t)}`).then(t=>t.url).catch(()=>`${i}/github/connect?returnTo=${encodeURIComponent(t)}`),getBranches:t=>n("GET",`/github/branches?repo=${encodeURIComponent(t)}`),getConnectUrl:t=>t?`${i}/github/connect?returnTo=${encodeURIComponent(t)}`:`${i}/github/connect`,disconnect:()=>n("DELETE","/github/disconnect"),completeInstall:(t,e)=>n("POST","/github/install",{code:t,installationId:e}),saveInstallation:t=>n("POST","/github/save-installation",{installationId:t}),getMonorepoApps:(t,e)=>n("GET",`/github/monorepo-apps?repo=${encodeURIComponent(t)}${e?`&branch=${encodeURIComponent(e)}`:""}`).then(t=>t.apps).catch(()=>[]),detectFramework:(t,e)=>n("GET",`/github/detect-framework?repo=${encodeURIComponent(t)}${e?`&branch=${encodeURIComponent(e)}`:""}`).catch(()=>({framework:"unknown",buildCommand:"bun run build",outputDir:"dist",installCommand:"bun install"}))},"guestInvitesApi",0,{create:(t,e)=>n("POST",`/projects/${t}/guest-invites`,e),list:t=>n("GET",`/projects/${t}/guest-invites`),revoke:(t,e)=>n("DELETE",`/projects/${t}/guest-invites/${e}`)},"integrationsApi",0,{getAll:t=>n("GET",`/projects/${t}/integrations`),connectWithConfig:(t,e,s)=>n("POST",`/projects/${t}/integrations/${e}`,{config:s}),connect:(t,e)=>n("GET",`/projects/${t}/integrations/${e}/auth-url`).then(s=>{if(s.requiresApproval)return s;if(!s.url)throw new o(500,"Missing integration authorization URL");localStorage.setItem("integration_connect_projectId",t);try{let t=new URL(s.url).searchParams.get("state");t&&localStorage.setItem(`integration_connect_state_${e}`,t)}catch{}return window.location.href=s.url,s}),disconnect:(t,e)=>n("DELETE",`/projects/${t}/integrations/${e}`),test:(t,e)=>n("POST",`/projects/${t}/integrations/${e}/test`),getConfig:(t,e)=>n("GET",`/projects/${t}/integrations/${e}/config`),getResources:(t,e,s)=>n("GET",`/projects/${t}/integrations/${e}/resources?${s.toString()}`),updateConfig:(t,e,s)=>n("PATCH",`/projects/${t}/integrations/${e}`,{config:s}),registerWebhook:(t,e)=>n("POST",`/projects/${t}/integrations/${e}/register-webhook`)},"invitesApi",0,{get:t=>n("GET",`/invites/${t}`),accept:t=>n("POST",`/invites/${t}/accept`),send:t=>n("POST","/invites",t),update:(t,e)=>n("PATCH",`/invites/${t}`,e),delete:t=>n("DELETE",`/invites/${t}`),listPending:t=>n("GET",`/projects/${t}/invites/pending`),resend:t=>n("POST",`/invites/${t}/resend`)},"myWorkApi",0,{list:(t={})=>{let e=new URLSearchParams;t.category&&"all"!==t.category&&e.set("category",t.category),t.projectId&&e.set("projectId",t.projectId),t.cursor&&e.set("cursor",t.cursor),t.limit&&e.set("limit",String(t.limit));let s=e.toString();return n("GET",`/my/work${s?`?${s}`:""}`)},markRead:t=>n("POST","/my/work/read",{annotationIds:t})},"notificationPreferencesApi",0,{get:()=>n("GET","/notifications/preferences"),bulkUpdate:t=>n("PATCH","/notifications/preferences",{preferences:t}),getHygieneSettings:()=>n("GET","/notifications/preferences/settings"),updateHygieneSettings:t=>n("PATCH","/notifications/preferences/settings",t),getProjectSettings:()=>n("GET","/notifications/preferences/projects"),updateProjectSetting:(t,e)=>n("PATCH",`/notifications/preferences/projects/${t}`,e)},"notificationsApi",0,{list:(t=1,e=50)=>n("GET",`/notifications?page=${t}&limit=${e}`),unreadCount:()=>n("GET","/notifications/unread-count"),markRead:t=>n("POST",`/notifications/${t}/read`),markAllRead:()=>n("POST","/notifications/read-all"),delete:t=>n("DELETE",`/notifications/${t}`),snooze:(t,e)=>n("POST",`/notifications/${t}/snooze`,{durationMinutes:e})},"organizationsApi",0,{removeMember:(t,e)=>n("DELETE",`/orgs/${t}/members/${e}`),listInvites:t=>n("GET",`/orgs/${t}/invites`),createInvite:(t,e)=>n("POST",`/orgs/${t}/invites`,e),updateInvite:(t,e,s)=>n("PATCH",`/orgs/${t}/invites/${e}`,s),deleteInvite:(t,e)=>n("DELETE",`/orgs/${t}/invites/${e}`),resendInvite:(t,e)=>n("POST",`/orgs/${t}/invites/${e}/resend`),getPolicies:t=>n("GET",`/orgs/${t}/policies`),updatePolicies:(t,e)=>n("PATCH",`/orgs/${t}/policies`,e),listMemberRoles:t=>n("GET",`/orgs/${t}/member-roles`),listMemberProjectRoles:t=>n("GET",`/orgs/${t}/member-project-roles`),updateMemberRole:(t,e,s)=>n("PATCH",`/orgs/${t}/member-roles/${e}`,s),listApprovalRequests:(t,e)=>{let s=e?`?status=${e}`:"";return n("GET",`/orgs/${t}/approval-requests${s}`)},approveRequest:(t,e,s)=>n("POST",`/orgs/${t}/approval-requests/${e}/approve`,{reviewNote:s}),rejectRequest:(t,e,s)=>n("POST",`/orgs/${t}/approval-requests/${e}/reject`,{reviewNote:s})}
1,"outboundWebhooksApi",0,{listWorkspace:()=>n("GET","/webhooks/outbound"),createWorkspace:t=>n("POST","/webhooks/outbound",t),listProject:t=>n("GET",`/webhooks/outbound/project/${t}`),createProject:(t,e)=>n("POST",`/webhooks/outbound/project/${t}`,e),update:(t,e)=>n("PATCH",`/webhooks/outbound/${t}`,e),remove:t=>n("DELETE",`/webhooks/outbound/${t}`),deliveries:t=>n("GET",`/webhooks/outbound/${t}/deliveries`)},"projectEnvironmentsApi",0,{list:t=>n("GET",`/projects/${t}/environments`),create:(t,e)=>n("POST",`/projects/${t}/environments`,e),update:(t,e,s)=>n("PATCH",`/projects/${t}/environments/${e}`,s),archive:(t,e)=>n("DELETE",`/projects/${t}/environments/${e}`)},"projectsApi",0,{getAll:()=>n("GET","/projects/"),getById:t=>n("GET",`/projects/${t}/`),create:(t,e)=>n("POST",e?`/orgs/${encodeURIComponent(e)}/projects/`:"/projects/",t),update:(t,e)=>{if(!e||0===Object.keys(e).length)throw new o(400,"At least one project field must be provided for update");return n("PATCH",`/projects/${t}/`,e)},softDelete:t=>n("DELETE",`/projects/${t}/`),restore:t=>n("POST",`/projects/${t}/restore`),archive:t=>n("POST",`/projects/${t}/archive`),unarchive:t=>n("POST",`/projects/${t}/unarchive`),triggerBuild:t=>n("POST",`/projects/${t}/build`,{}),exportAnnotationsUrl:(t,e,s)=>{let o=new URLSearchParams({format:e});return"all"!==s&&o.set("status",s),`${i}/projects/${t}/export/annotations?${o}`},exportChangelog:async t=>{let s=await fetch(`${i}/projects/${t}/export/changelog`,{credentials:"include"});if(!s.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"GET",path:`/projects/${t}/export/changelog`,status:s.status,message:s.statusText}),new o(s.status,s.statusText);return s.text()},getMembers:t=>n("GET",`/projects/${t}/members`),removeMember:(t,e)=>n("DELETE",`/projects/${t}/members/${e}`),updateMemberRole:(t,e,s,i)=>n("PATCH",`/projects/${t}/members/${e}/role`,{role:s,...i?.force?{force:!0}:{}}),updateMemberIntegrationScope:(t,e,s)=>n("PATCH",`/projects/${t}/members/${e}/integration-scope`,{integrationScope:s}),assignAnnotation:(t,e,s)=>n("PATCH",`/projects/${t}/annotations/${e}/assign`,{assignedTo:s}),testAuthLogin:(t,e)=>n("POST",`/projects/${t}/test-auth-login`,e)},"requestBlob",()=>r,"reviewRoundsApi",0,{list:t=>n("GET",`/review-rounds/projects/${t}`),create:(t,e)=>n("POST",`/review-rounds/projects/${t}`,e),open:t=>n("POST",`/review-rounds/${t}/open`),close:t=>n("POST",`/review-rounds/${t}/close`),cancel:t=>n("POST",`/review-rounds/${t}/cancel`),revokeReviewer:(t,e)=>n("POST",`/review-rounds/${t}/reviewers/${e}/revoke`),accessWithToken:(t,e)=>n("POST","/review-rounds/access",{roundId:t,token:e}),accessForMember:t=>n("POST",`/review-rounds/${t}/access`),decide:(t,e,s,i)=>n("POST",`/review-rounds/${t}/decision`,{sessionToken:e,decision:s,reason:i})},"reviewSessionsApi",0,{getActive:t=>n("GET",`/review-sessions/${t}/active`),start:(t,e)=>n("POST",`/review-sessions/${t}${e?`?environmentId=${encodeURIComponent(e)}`:""}`),heartbeat:t=>n("POST","/review-sessions/heartbeat",{sessionToken:t}),end:t=>n("POST",`/review-sessions/${t}/end`),endByToken:t=>n("POST","/review-sessions/end",{sessionToken:t}),endByTokenBeacon:t=>{let s=JSON.stringify({sessionToken:t});if("u">typeof navigator&&"function"==typeof navigator.sendBeacon){let t=new Blob([s],{type:"application/json"});navigator.sendBeacon(`${i}/review-sessions/end`,t);return}"u">typeof fetch&&fetch(`${i}/review-sessions/end`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:s,keepalive:!0}).catch(t=>{(0,e.logFrontendWarn)("api.beacon_fallback_failed",{method:"POST",path:"/review-sessions/end"},t)})},getEvents:t=>n("GET",`/review-sessions/${t}/events`),listReplays:(t=200,e)=>n("GET",`/review-sessions/replays?limit=${Math.max(1,Math.min(t,200))}${e?`&orgId=${encodeURIComponent(e)}`:""}`),createRoom:(t,e)=>n("POST",`/review-sessions/${t}/room${e?`?environmentId=${encodeURIComponent(e)}`:""}`),getRoomParticipants:t=>n("GET",`/review-sessions/room/${t}/participants`),saveEvents:async(t,s,n)=>{let r=await fetch(`${i}/review-sessions/${t}/events`,{method:"POST",headers:{"Content-Type":"application/json","x-session-token":n},body:JSON.stringify(s)});if(!r.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"POST",path:`/review-sessions/${t}/events`,status:r.status,message:r.statusText}),new o(r.status,r.statusText)},saveInteraction:async(t,s,n)=>{let r=await fetch(`${i}/review-sessions/${t}/interactions`,{method:"POST",headers:{"Content-Type":"application/json","x-session-token":n},body:JSON.stringify(s)});if(!r.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"POST",path:`/review-sessions/${t}/interactions`,status:r.status,message:r.statusText}),new o(r.status,r.statusText)},joinRoom:(t,e)=>n("POST",`/review-sessions/${t}/join/${e}`),joinRoomAsGuest:(t,e,s,i)=>n("POST",`/review-sessions/guest/${t}/join/${e}?token=${s}`,i),downloadReplay:async t=>{let s=await fetch(`${i}/review-sessions/${t}/events/download`,{credentials:"include"});if(!s.ok)throw(0,e.logFrontendWarn)("api.request_failed",{method:"GET",path:`/review-sessions/${t}/events/download`,status:s.status,message:s.statusText}),new o(s.status,s.statusText);let n=await s.blob(),r=URL.createObjectURL(n),a=document.createElement("a");a.href=r,a.download=`replay-${t}.json.gz`,a.click(),URL.revokeObjectURL(r)}},"templatesApi",0,{getAll:(t,e)=>e?n("GET",`/guest/projects/${t}/templates`,void 0,{"x-session-token":e}):n("GET",`/projects/${t}/templates`),create:(t,e)=>n("POST",`/projects/${t}/templates`,e),update:(t,e,s)=>n("PATCH",`/projects/${t}/templates/${e}`,s),delete:(t,e)=>n("DELETE",`/projects/${t}/templates/${e}`)}
1,"workspaceApi",0,{getStats:()=>n("GET","/workspace/stats")},"workspaceSearchApi",0,{search:t=>{let e=new URLSearchParams({q:t.query});return t.type&&e.set("type",t.type),t.projectId&&e.set("projectId",t.projectId),t.status&&e.set("status",t.status),t.assigneeId&&e.set("assigneeId",t.assigneeId),t.tag&&e.set("tag",t.tag),t.environmentId&&e.set("environmentId",t.environmentId),t.from&&e.set("from",t.from),t.to&&e.set("to",t.to),t.cursor&&e.set("cursor",t.cursor),t.limit&&e.set("limit",String(t.limit)),n("GET",`/search?${e.toString()}`)}}])},92599,t=>{"use strict";var e="1.3.26";function s(t,e,s){return Math.max(t,Math.min(e,s))}var i=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(t){if(!this.isRunning)return;let e=!1;if(this.duration&&this.easing){this.currentTime+=t;let i=s(0,this.currentTime/this.duration,1),o=(e=i>=1)?1:this.easing(i);this.value=this.from+(this.to-this.from)*o}else if(this.lerp){var i,o,n,r;this.value=(i=this.value,o=this.to,n=60*this.lerp,(1-(r=1-Math.exp(-n*t)))*i+r*o),Math.round(this.value)===Math.round(this.to)&&(this.value=this.to,e=!0)}else this.value=this.to,e=!0;e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,e,{lerp:s,duration:i,easing:o,onStart:n,onUpdate:r}){this.from=this.value=t,this.to=e,this.lerp=s,this.duration=i,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r}},o=class{width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;constructor(t,e,{autoResize:s=!0,debounce:i=250}={}){this.wrapper=t,this.content=e,s&&(this.debouncedResize=function(t,e){let s;return function(...i){clearTimeout(s),s=setTimeout(()=>{s=void 0,t.apply(this,i)},e)}}(this.resize,i),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},n=class{events={};emit(t,...e){let s=this.events[t]||[];for(let t=0,i=s.length;t<i;t++)s[t]?.(...e)}on(t,e){return this.events[t]?this.events[t].push(e):this.events[t]=[e],()=>{this.events[t]=this.events[t]?.filter(t=>e!==t)}}off(t,e){this.events[t]=this.events[t]?.filter(t=>e!==t)}destroy(){this.events={}}};let r=100/6,a={passive:!1};function l(t,e){return 1===t?r:2===t?e:1}var c=class{touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new n;constructor(t,e={wheelMultiplier:1,touchMultiplier:1}){this.element=t,this.options=e,window.addEventListener("resize",this.onWindowResize),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,a),this.element.addEventListener("touchstart",this.onTouchStart,a),this.element.addEventListener("touchmove",this.onTouchMove,a),this.element.addEventListener("touchend",this.onTouchEnd,a)}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize),this.element.removeEventListener("wheel",this.onWheel,a),this.element.removeEventListener("touchstart",this.onTouchStart,a),this.element.removeEventListener("touchmove",this.onTouchMove,a),this.element.removeEventListener("touchend",this.onTouchEnd,a)}onTouchStart=t=>{let{clientX:e,clientY:s}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=s,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{let{clientX:e,clientY:s}=t.targetTouches?t.targetTouches[0]:t,i=-(e-this.touchStart.x)*this.options.touchMultiplier,o=-(s-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=e,this.touchStart.y=s,this.lastDelta={x:i,y:o},this.emitter.emit("scroll",{deltaX:i,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=t=>{let{deltaX:e,deltaY:s,deltaMode:i}=t,o=l(i,this.window.width),n=l(i,this.window.height);e*=o,s*=n,e*=this.options.wheelMultiplier,s*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:e,deltaY:s,event:t})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}};let h=t=>Math.min(1,1.001-2**(-10*t));var p=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;_rafId=null;_isDraggingSelection=!1;reducedMotionMediaQuery=window.matchMedia("(prefers-reduced-motion: reduce)");
1isTouching;isIos;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new i;emitter=new n;dimensions;virtualScroll;constructor({wrapper:t=window,content:s=document.documentElement,eventsTarget:i=t,smoothWheel:n=!0,syncTouch:r=!1,syncTouchLerp:a=.075,touchInertiaExponent:l=1.7,duration:p,easing:u,lerp:d=.1,infinite:g=!1,orientation:m="vertical",gestureOrientation:v="horizontal"===m?"both":"vertical",touchMultiplier:T=1,wheelMultiplier:$=1,autoResize:S=!0,prevent:f,virtualScroll:w,overscroll:E=!0,autoRaf:b=!1,anchors:y=!1,autoToggle:P=!1,allowNestedScroll:j=!1,__experimental__naiveDimensions:O=!1,naiveDimensions:k=O,stopInertiaOnNavigate:R=!1,respectReducedMotion:C=!0}={}){window.lenisVersion=e,window.lenis||(window.lenis={}),window.lenis.version=e,"horizontal"===m&&(window.lenis.horizontal=!0),!0===r&&(window.lenis.touch=!0),this.isIos=/(iPad|iPhone|iPod)/g.test(navigator.userAgent),t&&t!==document.documentElement||(t=window),"number"==typeof p&&"function"!=typeof u?u=h:"function"==typeof u&&"number"!=typeof p&&(p=1),this.options={wrapper:t,content:s,eventsTarget:i,smoothWheel:n,syncTouch:r,syncTouchLerp:a,touchInertiaExponent:l,duration:p,easing:u,lerp:d,infinite:g,gestureOrientation:v,orientation:m,touchMultiplier:T,wheelMultiplier:$,autoResize:S,prevent:f,virtualScroll:w,overscroll:E,autoRaf:b,anchors:y,autoToggle:P,allowNestedScroll:j,naiveDimensions:k,stopInertiaOnNavigate:R,respectReducedMotion:C},this.dimensions=new o(t,s,{autoResize:S}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.addEventListener("click",this.onClick),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown),this.virtualScroll=new c(i,{touchMultiplier:T,wheelMultiplier:$}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoToggle&&(this.checkOverflow(),this.rootElement.addEventListener("transitionend",this.onTransitionEnd)),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.removeEventListener("click",this.onClick),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this._rafId&&cancelAnimationFrame(this._rafId)}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}onScrollEnd=t=>{t instanceof CustomEvent||"smooth"!==this.isScrolling&&!1!==this.isScrolling||t.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};get overflow(){let t=this.isHorizontal?"overflow-x":"overflow-y";return getComputedStyle(this.rootElement)[t]}checkOverflow(){["hidden","clip"].includes(this.overflow)?this.internalStop():this.internalStart()}onTransitionEnd=t=>{t.propertyName?.includes("overflow")&&t.target===this.rootElement&&this.checkOverflow()};setScroll(t){this.isHorizontal?this.options.wrapper.scrollTo({left:t,behavior:"instant"}):this.options.wrapper.scrollTo({top:t,behavior:"instant"})}onClick=t=>{let e=t.composedPath().filter(t=>t instanceof HTMLAnchorElement&&t.href).map(t=>new URL(t.href)),s=new URL(window.location.href);if(this.options.anchors){let t=e.find(t=>s.host===t.host&&s.pathname===t.pathname&&t.hash);if(t){let e="object"==typeof this.options.anchors&&this.options.anchors?this.options.anchors:void 0,s=decodeURIComponent(t.hash);this.scrollTo(s,e);return}}if(this.options.stopInertiaOnNavigate&&e.some(t=>s.host===t.host&&s.pathname!==t.pathname))return void this.reset()};onPointerDown=t=>{1===t.button&&this.reset()};isTouchOnSelectionHandle(t){let e=window.getSelection();if(!e||e.isCollapsed||0===e.rangeCount)return!1;let s=t.targetTouches[0]??t.changedTouches[0];if(!s)return!1;let i=e.getRangeAt(0).getClientRects();if(0===i.length)return!1;let o=i[0],n=i[i.length-1],r=40>=Math.hypot(s.clientX-o.left,s.clientY-o.top),a=40>=Math.hypot(s.clientX-n.right,s.clientY-n.bottom);return r||a}onVirtualScroll=t=>{if("function"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(t))return;let{deltaX:e,deltaY:s,event:i}=t;if(this.emitter.emit("virtual-scroll",{deltaX:e,deltaY:s,event:i}),i.ctrlKey||i.lenisStopPropagation)return;let o=i.type.includes("touch"),n=i.type.includes("wheel");if(o&&this.isIos&&("touchstart"===i.type&&(this._isDraggingSelection=this.isTouchOnSelectionHandle(i)),this._isDraggingSelection)){"touchend"===i.type&&(this._isDraggingSelection=!1);return}this.isTouching="touchstart"===i.type||"touchmove"===i.type;let r=0===e&&0===s;if(this.options.syncTouch&&o&&"touchstart"===i.type&&r&&!this.isStopped&&!this.isLocked)return void this.reset();let a="vertical"===this.options.gestureOrientation&&0===s||"horizontal"===this.options.gestureOrientation&&0===e;if(r||a)return;let l=i.composedPath();l=l.slice(0,l.indexOf(this.rootElement));let c=this.options.prevent,h=Math.abs(e)>=Math.abs(s)?"horizontal":"vertical";if(l.find(t=>t instanceof HTMLElement&&("function"==typeof c&&c?.(t)||t.hasAttribute?.("data-lenis-prevent")||"vertical"===h&&t.hasAttribute?.("data-lenis-prevent-vertical")||"horizontal"===h&&t.hasAttribute?.("data-lenis-prevent-horizontal")||o&&t.hasAttribute?.("data-lenis-prevent-touch")||n&&t.hasAttribute?.("data-lenis-prevent-wheel")||this.options.allowNestedScroll&&this.hasNestedScroll(t,{deltaX:e,deltaY:s}))))return;if(this.isStopped||this.isLocked){i.cancelable&&i.preventDefault();return}if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n)){this.isScrolling="native",this.animate.stop(),i.lenisStopPropagation=!0;return}let p=s;"both"===this.options.gestureOrientation?p=Math.abs(s)>Math.abs(e)?s:e:"horizontal"===this.options.gestureOrientation&&(p=e),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&this.limit>0&&(this.animatedScroll>0&&this.animatedScroll<this.limit||0===this.animatedScroll&&s>0||this.animatedScroll===this.limit&&s<0))&&(i.lenisStopPropagation=!0),i.cancelable&&i.preventDefault();let u=o&&this.options.syncTouch,d=o&&"touchend"===i.type;d&&(p=Math.sign(p)*Math.abs(this.velocity)**this.options.touchInertiaExponent),this.scrollTo(this.targetScroll+p,{programmatic:!1,...u?{lerp:d?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit
1()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(null!==this._resetVelocityTimeout&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(!1===this.isScrolling||"native"===this.isScrolling){let t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isStopped||(this.isScrolling="native"),this.emit(),0!==this.velocity&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){if(this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.removeProperty("overflow");this.internalStart()}}internalStart(){this.isStopped&&(this.reset(),this.isStopped=!1,this.emit())}stop(){if(!this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.setProperty("overflow","clip");this.internalStop()}}internalStop(){this.isStopped||(this.reset(),this.isStopped=!0,this.emit())}raf=t=>{let e=t-(this.time||t);this.time=t,this.animate.advance(.001*e),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))};scrollTo(t,{offset:e=0,immediate:i=!1,lock:o=!1,programmatic:n=!0,lerp:r=n?this.options.lerp:void 0,duration:a=n?this.options.duration:void 0,easing:l=n?this.options.easing:void 0,onStart:c,onComplete:p,force:u=!1,userData:d}={}){if(this.prefersReducedMotion&&(n?i=!0:(r=1,a=void 0,l=void 0)),(this.isStopped||this.isLocked)&&!u)return;let g=t,m=e;if("string"==typeof g&&["top","left","start","#"].includes(g))g=0;else if("string"==typeof g&&["bottom","right","end"].includes(g))g=this.limit;else{let t=null;if("string"==typeof g?(t=g.startsWith("#")?document.getElementById(g.slice(1)):document.querySelector(g))||("#top"===g?g=0:console.warn("Lenis: Target not found",g)):g instanceof HTMLElement&&g?.nodeType&&(t=g),t){if(this.options.wrapper!==window){let t=this.rootElement.getBoundingClientRect();m-=this.isHorizontal?t.left:t.top}let e=t.getBoundingClientRect(),s=getComputedStyle(t),i=this.isHorizontal?Number.parseFloat(s.scrollMarginLeft):Number.parseFloat(s.scrollMarginTop),o=getComputedStyle(this.rootElement),n=this.isHorizontal?Number.parseFloat(o.scrollPaddingLeft):Number.parseFloat(o.scrollPaddingTop);g=(this.isHorizontal?e.left:e.top)+this.animatedScroll-(Number.isNaN(i)?0:i)-(Number.isNaN(n)?0:n)}}if("number"==typeof g){if(g+=m,this.options.infinite){if(n){this.targetScroll=this.animatedScroll=this.scroll;let t=g-this.animatedScroll;t>this.limit/2?g-=this.limit:t<-this.limit/2&&(g+=this.limit)}}else g=s(0,g,this.limit);if(g===this.targetScroll){c?.(this),p?.(this);return}if(this.userData=d??{},i){this.animatedScroll=this.targetScroll=g,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),p?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}n||(this.targetScroll=g),"number"==typeof a&&"function"!=typeof l?l=h:"function"==typeof l&&"number"!=typeof a&&(a=1),this.animate.fromTo(this.animatedScroll,g,{duration:a,easing:l,lerp:r,onStart:()=>{o&&(this.isLocked=!0),this.isScrolling="smooth",c?.(this)},onUpdate:(t,e)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),n&&(this.targetScroll=t),e||this.emit(),e&&(this.reset(),this.emit(),p?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}hasNestedScroll(t,{deltaX:e,deltaY:s}){let i,o,n,r,a,l,c,h,p,u,d,g,m,v,T,$,S=Date.now();t._lenis||(t._lenis={});let f=t._lenis;if(S-(f.time??0)>2e3){f.time=Date.now();let e=window.getComputedStyle(t);if(f.computedStyle=e,i=["auto","overlay","scroll"].includes(e.overflowX),o=["auto","overlay","scroll"].includes(e.overflowY),a=["auto"].includes(e.overscrollBehaviorX),l=["auto"].includes(e.overscrollBehaviorY),f.hasOverflowX=i,f.hasOverflowY=o,!(i||o))return!1;c=t.scrollWidth,h=t.scrollHeight,p=t.clientWidth,u=t.clientHeight,n=c>p,r=h>u,f.isScrollableX=n,f.isScrollableY=r,f.scrollWidth=c,f.scrollHeight=h,f.clientWidth=p,f.clientHeight=u,f.hasOverscrollBehaviorX=a,f.hasOverscrollBehaviorY=l}else n=f.isScrollableX,r=f.isScrollableY,i=f.hasOverflowX,o=f.hasOverflowY,c=f.scrollWidth,h=f.scrollHeight,p=f.clientWidth,u=f.clientHeight,a=f.hasOverscrollBehaviorX,l=f.hasOverscrollBehaviorY;if(!(i&&n||o&&r))return!1;let w=Math.abs(e)>=Math.abs(s)?"horizontal":"vertical";if("horizontal"===w)d=Math.round(t.scrollLeft),g=c-p,m=e,v=i,T=n,$=a;else{if("vertical"!==w)return!1;d=Math.round(t.scrollTop),g=h-u,m=s,v=o,T=r,$=l}return!$&&(d>=g||d<=0)||(m>0?d<g:d>0)&&v&&T}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){let t=this.options.wrapper;return this.isHorizontal?t.scrollX??t.scrollLeft:t.scrollY??t.scrollTop}get scroll(){var t;return this.options.infinite?(this.animatedScroll%(t=this.limit)+t)%t:this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(t){this._isScrolling!==t&&(this._isScrolling=t,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(t){this._isStopped!==t&&(this._isStopped=t,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(t){this._isLocked!==t&&(this._isLocked=t,this.updateClassName())}get isSmooth(){return"smooth"===this.isScrolling}get prefersReducedMotion(){return this.options.respectReducedMotion&&this.reducedMotionMediaQuery.matches}get className(){let t="lenis";return this.options.autoToggle&&(t+=" lenis-autoToggle"),this.isStopped&&(t+=" lenis-stopped"),this.isLocked&&(t+=" lenis-locked"),this.isScrolling&&(t+=" lenis-scrolling"),"smooth"===this.isScrolling&&(t+=" lenis-smooth"),t}updateClassName(){this.cleanUpClassName(),this.className.split(" ").forEach(t=>{this.rootElement.classList.add(t)})}cleanUpClassName(){for(let t of Array.from(this.rootElement.classList))("lenis"===t||t.startsWith("lenis-"))&&this.rootElement.classList.remove(t)}};t.s(["default",()=>p])}]);
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.