@loomhq/record-sdk 4.2.1 → 4.2.2-draft

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/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var tC=Object.create,$d=Object.freeze,on=Object.defineProperty,rC=Object.defineProperties,oC=Object.getOwnPropertyDescriptor,nC=Object.getOwnPropertyDescriptors,iC=Object.getOwnPropertyNames,Xd=Object.getOwnPropertySymbols,sC=Object.getPrototypeOf,Jd=Object.prototype.hasOwnProperty,aC=Object.prototype.propertyIsEnumerable;var Yd=(e,t,o)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,x=(e,t)=>{for(var o in t||(t={}))Jd.call(t,o)&&Yd(e,o,t[o]);if(Xd)for(var o of Xd(t))aC.call(t,o)&&Yd(e,o,t[o]);return e},ne=(e,t)=>rC(e,nC(t));var ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),je=(e,t)=>{for(var o in t)on(e,o,{get:t[o],enumerable:!0})},cC=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of iC(t))!Jd.call(e,n)&&n!==o&&on(e,n,{get:()=>t[n],enumerable:!(r=oC(t,n))||r.enumerable});return e};var Y=(e,t,o)=>(o=e!=null?tC(sC(e)):{},cC(t||!e||!e.__esModule?on(o,"default",{value:e,enumerable:!0}):o,e));var I=(e,t)=>$d(on(e,"raw",{value:$d(t||e.slice())}));var J=ve((kF,ku)=>{"use strict";var fa=Object.defineProperty,lC=Object.getOwnPropertyDescriptor,dC=Object.getOwnPropertyNames,uC=Object.prototype.hasOwnProperty,pC=(e,t)=>{for(var o in t)fa(e,o,{get:t[o],enumerable:!0})},mC=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of dC(t))!uC.call(e,n)&&n!==o&&fa(e,n,{get:()=>t[n],enumerable:!(r=lC(t,n))||r.enumerable});return e},fC=e=>mC(fa({},"__esModule",{value:!0}),e),Qd={};pC(Qd,{AuthenticationStep:()=>Zd,AwsRegion:()=>Tu,BrowserExtensionMessage:()=>nu,CascadingRecordersMenuTrigger:()=>Nu,DOMHooks:()=>Mu,Environment:()=>Iu,EnvironmentUrl:()=>Au,FeatureExperiments:()=>Pu,FeatureFlags:()=>Ru,FeatureGates:()=>Du,LogLevel:()=>eu,LoomURL:()=>ou,OnboardingTutorialStep:()=>wu,OrgRoles:()=>qd,Permalink:()=>ru,PermissionErrors:()=>Ou,PermissionState:()=>Cu,PostRecordingConfirm:()=>au,PreRecordingModal:()=>cu,QualityProfile:()=>Su,RecordLayerStates:()=>Eu,RecorderClient:()=>su,RecorderVersion:()=>iu,RecordingPage:()=>mu,RecordingScreenType:()=>uu,RecordingStage:()=>lu,RecordingType:()=>du,ResultKind:()=>gu,S3Bucket:()=>vu,SDKPackage:()=>Lu,SDKPermissionFailureReason:()=>bu,SDKRecordingType:()=>pu,SDKState:()=>_u,SDKUnsupportedReasons:()=>xu,SharedAuthEvent:()=>tu,StorageClass:()=>yu,ToastContent:()=>fu,WebSocketStatusCode:()=>hu});ku.exports=fC(Qd);var Zd=(e=>(e.First="first-authentication-step",e.Second="second-authentication-step",e))(Zd||{}),qd=(e=>(e.Admin="admin",e.Creator="creator",e.CreatorLite="creator_lite",e.Guest="guest",e.Viewer="viewer",e))(qd||{}),eu=(e=>(e.Fatal="fatal",e.Error="error",e.Warning="warn",e.Info="info",e.Debug="debug",e))(eu||{}),tu=(e=>(e.Initiated="Shared Auth Flow Initiated",e.GraphQLSubscribed="Shared Auth GraphQL Subscribed",e.GraphQLHeardBack="Shared Auth GraphQL Heard Back",e.SessionRequestTokenReceived="Shared Auth Received Session Request Token",e.LoginSuccess="Shared Auth Login Success",e))(tu||{}),ru=(e=>(e.EXTENSION_RECORDING_SUPPORT_ARTICLE="https://support.loom.com/hc/en-us/articles/360002187698-Getting-started-with-the-Chrome-Extension",e.DESKTOP_RECORDING_SUPPORT_ARTICLE="https://support.loom.com/hc/en-us/articles/360002207917-Getting-started-with-the-Desktop-App",e.CHROME_EXTENSION_INSTALL="https://chrome.google.com/webstore/detail/loom-video-recorder-scree/liecbddmkiiihnedobmlmillhodjkdmb",e))(ru||{}),ou=(e=>(e.Production="https://loom.com",e.Staging="https://stage.loom.com",e.Development="https://loomlocal.com:4444",e))(ou||{}),nu=(e=>(e.INITIATE_LOOM_RECORDER_FROM_BUTTON="initiate-loom-recorder-from-script",e))(nu||{}),iu=(e=>(e.V5="v5",e.V3="v3",e.V7="v7",e))(iu||{}),su=(e=>(e.CHROME="chrome",e.SDK="sdk",e))(su||{}),au=(e=>(e.CloseModal="close-modal",e.DeleteRecording="delete-modal",e.RedoRecording="restart-recording",e.InsertRecording="insert-recording",e))(au||{}),cu=(e=>(e.RecordingControls="recording-controls",e.Authentication="authentication",e.Offline="offline",e.SystemPermissions="system-permissions",e.MemberVideoLimitPaywall="member-video-limit-paywall",e.ErrorModal="error-modal",e))(cu||{}),lu=(e=>(e.OnboardingTutorial="onboarding-tutorial",e.Cascaded="cascaded",e.PreRecording="pre-recording",e.Countdown="countdown",e.CountdownSkipped="countdown-skipped",e.Recording="recording",e.Paused="paused",e.PostRecording="post-recording",e.Closed="closed",e))(lu||{}),du=(e=>(e.ScreenAndCamera="screen_cam",e.ScreenOnly="screen",e.CameraOnly="cam",e))(du||{}),uu=(e=>(e.Camera="cam",e.Desktop="desktop",e.Tab="tab",e))(uu||{}),pu=(e=>(e.FullScreen="full_screen",e.Window="window",e.CurrentTab="current_tab",e.CameraOnly="camera_only",e))(pu||{}),mu=(e=>(e.About="about-tab",e.Notifications="notifications-tab",e.PreRecord="pre-recording-tab",e.Settings="settings-tab",e.OSPermissionsTour="os-permission-tour",e.Effects="effects",e.Canvas="canvas",e.VideoLimit="videoLimit",e.Blur="blurText",e.NetworkError="networkError",e.UpdateBrowser="updateBrowser",e.SignUp="sign-up",e.GenericError="generic-error",e.ScreenSystemPermissions="screen-system-permissions",e.AudioCameraSystemPermissions="audio-camera-system-permissions",e.StoragePermissions="storage-permissions",e))(mu||{}),fu=(e=>(e.Summary="summary",e.Chapters="chapters",e))(fu||{}),gu=(e=>(e.Success="success",e.Failed="failed",e))(gu||{}),hu=(e=>(e[e.WS_CLOSE_CODE_NORMAL=1e3]="WS_CLOSE_CODE_NORMAL",e[e.WS_CLOSE_CODE_GOING_AWAY=1001]="WS_CLOSE_CODE_GOING_AWAY",e[e.WS_CLOSE_UNSUPPORTED_DATA=1003]="WS_CLOSE_UNSUPPORTED_DATA",e[e.WS_CLOSE_CODE_ABNORMAL_CLOSE=1006]="WS_CLOSE_CODE_ABNORMAL_CLOSE",e))(hu||{}),Eu=(e=>(e.Abandoning="wrucore-is-abandoning",e.Abandoned="wrucore-is-abandoned",e.Intitializing="wrucore-is-initializing",e.Ready="wrucore-is-ready",e.Starting="wrucore-is-starting",e.Recording="wrucore-is-recording",e.Pausing="wrucore-is-pausing",e.Paused="wrucore-is-paused",e.Resuming="wrucore-is-resuming",e.Resumed="wrucore-is-resumed",e.Cancelling="wrucore-is-cancelling",e.Cancelled="wrucore-is-cancelled",e.MediaStreamStopped="wrucore-is-media-stream-stopped",e.Completing="wrucore-is-completing",e.FinishedUploading="wrucore-is-finished-uploading",e.Completed="wrucore-is-completed",e.Unknown="wrucore-unknown-state",e))(Eu||{}),Su=(e=>(e.Lowest="lowest",e.Low="low",e.Normal="normal",e.High="high",e.Highest="highest",e))(Su||{}),vu=(e=>(e.Development="loom-media-dev",e.Test="loom-media-test",e.Stage="loom-media-staging",e.StageEU="loom-stg-euc1-media",e.Production="loom-media-production",e))(vu||{}),yu=(e=>(e.IntelligentTiering="INTELLIGENT_TIERING",e))(yu||{}),Tu=(e=>(e.USWest2="us-west-2",e))(Tu||{}),Cu=(e=>(e.Granted="granted",e.Prompt="prompt",e.Denied="denied",e))(Cu||{}),bu=(e=>(e.SystemPermissionNotGranted="SystemPermissionNotGranted",e.ChromePermissionNotGranted="ChromePermissionNotGranted",e))(bu||{}),Ou=(e=>(e.PermissionDismissedError="PermissionDismissedError",e))(Ou||{}),Iu=(e=>(e.Development="development",e.Testbench="testbench",e.Staging="staging",e.Production="production",e))(Iu||{}),Au=(e=>(e.Development="https://loomlocal.com:4444",e.Staging="https://stage.loom.com",e.Production="https://www.loom.com",e))(Au||{}),Du=(e=>(e.ROLLOUT_SDK_CASCADING_RECORDERS_M3="rollout-sdk-cascading-recorders-m3",e))(Du||{}),Pu=(e=>(e.DESKTOP_SUBSCRIPTION_TIMEOUT="cascading-recorders-desktop-subscription-timeout",e.ROLLOUT_NEW_SDK_ONBOARDING="release-sdk-onboarding",e))(Pu||{}),Ru=(e=>(e.GUEST_RECORDING_LIMITS="guest-recording-limits",e.ROLLOUT_NEW_SDK_ONBOARDING="release-sdk-onboarding",e.ROLLOUT_AI_SDK="rollout-ai-in-sdk",e.ROLLOUT_SDK_CASCADING_RECORDERS_M1="rollout-sdk-cascading-recorders-m1",e.ROLLOUT_SDK_M25_UI="rollout-sdk-m25-ui-and-upsell",e.ROLLOUT_SDK_PERMISSIONS_VISIBILITY="rollout-sdk-permissions-visibility",e.ROLLOUT_SDK_RECORDER_EDUCATION="rollout-sdk-recorder-education",e))(Ru||{}),_u=(e=>(e.Closed="closed",e.PreRecording="pre-recording",e.ActiveRecording="active-recording",e.PostRecording="post-recording",e.Cascaded="cascaded",e))(_u||{}),Mu=(e=>(e.ContentContainer="lo-engage-ext-container",e.Shadow="loom-shadow",e.PreRecordingOverlay="lo-pre-recording-overlay",e))(Mu||{}),wu=(e=>(e.PermissionsStep="permissions-step",e.RecorderSettingsStep="recorder-settings-step",e.RecordingControlsStep="recording-controls-step",e.StartRecordingStep="start-recording-step",e.PermissionsBlockedStep="permissions-blocked-step",e))(wu||{}),xu=(e=>(e.IncompatibleBrowser="incompatible-browser",e.ThirdPartyCookiesDisabled="third-party-cookies-disabled",e.NoMediaStreamsSupport="no-media-streams-support",e.GenericError="generic-error",e))(xu||{}),Lu=(e=>(e.Custom="SDK Custom",e.FirstPartyMode="First Party Mode",e.Standard="SDK Standard",e))(Lu||{}),Nu=(e=>(e.OpenPrerecordingMenu="open-prerecording-menu",e.Overlay="overlay",e.Unknown="unknown",e))(Nu||{})});var Mt=ve(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.NativeEventType=ze.NativeErrorName=ze.ErrorCode=ze.Resolution=ze.MessageType=void 0;var Cc;ze.MessageType=Cc;(function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"})(Cc||(ze.MessageType=Cc={}));var bc;ze.Resolution=bc;(function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"})(bc||(ze.Resolution=bc={}));var Oc;ze.ErrorCode=Oc;(function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"})(Oc||(ze.ErrorCode=Oc={}));var Ic;ze.NativeErrorName=Ic;(function(e){e.DataCloneError="DataCloneError"})(Ic||(ze.NativeErrorName=Ic={}));var Ac;ze.NativeEventType=Ac;(function(e){e.Message="message"})(Ac||(ze.NativeEventType=Ac={}))});var Dc=ve(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.default=void 0;var LI=()=>{let e=[],t=!1;return{destroy(o){t=!0,e.forEach(r=>{r(o)})},onDestroy(o){t?o():e.push(o)}}};Ni.default=LI});var Pc=ve(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.default=void 0;var NI=e=>(...t)=>{e&&console.log("[Penpal]",...t)};ki.default=NI});var Xp=ve(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.default=void 0;var kI={"http:":"80","https:":"443"},UI=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,BI=["file:","data:"],FI=e=>{if(e&&BI.find(a=>e.startsWith(a)))return"null";let t=document.location,o=UI.exec(e),r,n,i;o?(r=o[1]?o[1]:t.protocol,n=o[2],i=o[4]):(r=t.protocol,n=t.hostname,i=t.port);let s=i&&i!==kI[r]?":".concat(i):"";return"".concat(r,"//").concat(n).concat(s)};Ui.default=FI});var Rc=ve(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.deserializeError=Co.serializeError=void 0;var WI=({name:e,message:t,stack:o})=>({name:e,message:t,stack:o});Co.serializeError=WI;var KI=e=>{let t=new Error;return Object.keys(e).forEach(o=>t[o]=e[o]),t};Co.deserializeError=KI});var _c=ve(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=void 0;var Yp=Rc(),jt=Mt(),jI=(e,t,o)=>{let{localName:r,local:n,remote:i,originForSending:s,originForReceiving:a}=e,c=!1,u=m=>{if(m.source!==i||m.data.penpal!==jt.MessageType.Call)return;if(m.origin!==a){o("".concat(r," received message from origin ").concat(m.origin," which did not match expected origin ").concat(a));return}let p=m.data,{methodName:d,args:l,id:f}=p;o("".concat(r,": Received ").concat(d,"() call"));let h=v=>S=>{if(o("".concat(r,": Sending ").concat(d,"() reply")),c){o("".concat(r,": Unable to send ").concat(d,"() reply due to destroyed connection"));return}let y={penpal:jt.MessageType.Reply,id:f,resolution:v,returnValue:S};v===jt.Resolution.Rejected&&S instanceof Error&&(y.returnValue=(0,Yp.serializeError)(S),y.returnValueIsError=!0);try{i.postMessage(y,s)}catch(E){if(E.name===jt.NativeErrorName.DataCloneError){let b={penpal:jt.MessageType.Reply,id:f,resolution:jt.Resolution.Rejected,returnValue:(0,Yp.serializeError)(E),returnValueIsError:!0};i.postMessage(b,s)}throw E}};new Promise(v=>v(t[d].apply(t,l))).then(h(jt.Resolution.Fulfilled),h(jt.Resolution.Rejected))};return n.addEventListener(jt.NativeEventType.Message,u),()=>{c=!0,n.removeEventListener(jt.NativeEventType.Message,u)}};Bi.default=jI});var Jp=ve(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.default=void 0;var VI=0,HI=()=>++VI;Fi.default=HI});var Mc=ve(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.default=void 0;var GI=$I(Jp()),zI=Rc(),bo=Mt();function $I(e){return e&&e.__esModule?e:{default:e}}var XI=(e,t,o,r,n)=>{let{localName:i,local:s,remote:a,originForSending:c,originForReceiving:u}=t,m=!1;n("".concat(i,": Connecting call sender"));let p=d=>(...l)=>{n("".concat(i,": Sending ").concat(d,"() call"));let f;try{a.closed&&(f=!0)}catch(h){f=!0}if(f&&r(),m){let h=new Error("Unable to send ".concat(d,"() call due ")+"to destroyed connection");throw h.code=bo.ErrorCode.ConnectionDestroyed,h}return new Promise((h,v)=>{let S=(0,GI.default)(),y=b=>{if(b.source!==a||b.data.penpal!==bo.MessageType.Reply||b.data.id!==S)return;if(b.origin!==u){n("".concat(i," received message from origin ").concat(b.origin," which did not match expected origin ").concat(u));return}let g=b.data;n("".concat(i,": Received ").concat(d,"() reply")),s.removeEventListener(bo.NativeEventType.Message,y);let C=g.returnValue;g.returnValueIsError&&(C=(0,zI.deserializeError)(C)),(g.resolution===bo.Resolution.Fulfilled?h:v)(C)};s.addEventListener(bo.NativeEventType.Message,y);let E={penpal:bo.MessageType.Call,id:S,methodName:d,args:l};a.postMessage(E,c)})};return o.reduce((d,l)=>(d[l]=p(l),d),e),()=>{m=!0}};Wi.default=XI});var Zp=ve(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.default=void 0;var YI=Qp(_c()),JI=Qp(Mc());function Qp(e){return e&&e.__esModule?e:{default:e}}var QI=(e,t,o,r,n)=>{let{destroy:i,onDestroy:s}=r,a,c,u={};return m=>{if(m.origin!==t){n("Parent: Handshake - Received ACK message from origin ".concat(m.origin," which did not match expected origin ").concat(t));return}n("Parent: Handshake - Received ACK");let p={localName:"Parent",local:window,remote:m.source,originForSending:o,originForReceiving:t};a&&a(),a=(0,YI.default)(p,e,n),s(a),c&&c.forEach(l=>{delete u[l]}),c=m.data.methodNames;let d=(0,JI.default)(u,p,c,i,n);return s(d),u}};Ki.default=QI});var qp=ve(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.default=void 0;var ZI=Mt(),qI=(e,t,o,r)=>n=>{if(n.origin!==o){e("Parent: Handshake - Received SYN message from origin ".concat(n.origin," which did not match expected origin ").concat(o));return}e("Parent: Handshake - Received SYN, responding with SYN-ACK");let i={penpal:ZI.MessageType.SynAck,methodNames:Object.keys(t)};n.source.postMessage(i,r)};ji.default=qI});var em=ve(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.default=void 0;var eA=6e4,tA=(e,t)=>{let{destroy:o,onDestroy:r}=t,n=setInterval(()=>{e.isConnected||(clearInterval(n),o())},eA);r(()=>{clearInterval(n)})};Vi.default=tA});var wc=ve(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.default=void 0;var rA=Mt(),oA=(e,t)=>{let o;return e!==void 0&&(o=window.setTimeout(()=>{let r=new Error("Connection timed out after ".concat(e,"ms"));r.code=rA.ErrorCode.ConnectionTimeout,t(r)},e)),()=>{clearTimeout(o)}};Hi.default=oA});var tm=ve(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.default=void 0;var nA=Mt(),iA=e=>{if(!e.src&&!e.srcdoc){let t=new Error("Iframe must have src or srcdoc property defined.");throw t.code=nA.ErrorCode.NoIframeSrc,t}};Gi.default=iA});var rm=ve(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.default=void 0;var ln=Mt(),sA=gr(Dc()),aA=gr(Pc()),cA=gr(Xp()),lA=gr(Zp()),dA=gr(qp()),uA=gr(em()),pA=gr(wc()),mA=gr(tm());function gr(e){return e&&e.__esModule?e:{default:e}}var fA=e=>{let{iframe:t,methods:o={},childOrigin:r,timeout:n,debug:i=!1}=e,s=(0,aA.default)(i),a=(0,sA.default)(),{onDestroy:c,destroy:u}=a;r||((0,mA.default)(t),r=(0,cA.default)(t.src));let m=r==="null"?"*":r,p=(0,dA.default)(s,o,r,m),d=(0,lA.default)(o,r,m,a,s);return{promise:new Promise((f,h)=>{let v=(0,pA.default)(n,u),S=y=>{if(!(y.source!==t.contentWindow||!y.data)){if(y.data.penpal===ln.MessageType.Syn){p(y);return}if(y.data.penpal===ln.MessageType.Ack){let E=d(y);E&&(v(),f(E));return}}};window.addEventListener(ln.NativeEventType.Message,S),s("Parent: Awaiting handshake"),(0,uA.default)(t,a),c(y=>{window.removeEventListener(ln.NativeEventType.Message,S),y||(y=new Error("Connection destroyed"),y.code=ln.ErrorCode.ConnectionDestroyed),h(y)})}),destroy(){u()}}};zi.default=fA});var om=ve($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.default=void 0;var gA=Mt(),hA=()=>{if(window===window.top){let e=new Error("connectToParent() must be called within an iframe");throw e.code=gA.ErrorCode.NotInIframe,e}};$i.default=hA});var im=ve(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.default=void 0;var EA=Mt(),SA=nm(_c()),vA=nm(Mc());function nm(e){return e&&e.__esModule?e:{default:e}}var yA=(e,t,o,r)=>{let{destroy:n,onDestroy:i}=o;return s=>{if(!(e instanceof RegExp?e.test(s.origin):e==="*"||e===s.origin)){r("Child: Handshake - Received SYN-ACK from origin ".concat(s.origin," which did not match expected origin ").concat(e));return}r("Child: Handshake - Received SYN-ACK, responding with ACK");let c=s.origin==="null"?"*":s.origin,u={penpal:EA.MessageType.Ack,methodNames:Object.keys(t)};window.parent.postMessage(u,c);let m={localName:"Child",local:window,remote:window.parent,originForSending:c,originForReceiving:s.origin},p=(0,SA.default)(m,t,r);i(p);let d={},l=(0,vA.default)(d,m,s.data.methodNames,n,r);return i(l),d}};Xi.default=yA});var sm=ve(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.default=void 0;var TA=dn(Dc()),CA=dn(Pc()),Oo=Mt(),bA=dn(om()),OA=dn(im()),IA=dn(wc());function dn(e){return e&&e.__esModule?e:{default:e}}var AA=()=>{try{clearTimeout()}catch(e){return!1}return!0},DA=(e={})=>{let{parentOrigin:t="*",methods:o={},timeout:r,debug:n=!1}=e,i=(0,CA.default)(n),s=(0,TA.default)(),{destroy:a,onDestroy:c}=s;(0,bA.default)();let u=(0,OA.default)(t,o,s,i),m=()=>{i("Child: Handshake - Sending SYN");let d={penpal:Oo.MessageType.Syn},l=t instanceof RegExp?"*":t;window.parent.postMessage(d,l)};return{promise:new Promise((d,l)=>{let f=(0,IA.default)(r,a),h=v=>{if(AA()&&!(v.source!==parent||!v.data)&&v.data.penpal===Oo.MessageType.SynAck){let S=u(v);S&&(window.removeEventListener(Oo.NativeEventType.Message,h),f(),d(S))}};window.addEventListener(Oo.NativeEventType.Message,h),m(),c(v=>{window.removeEventListener(Oo.NativeEventType.Message,h),v||(v=new Error("Connection destroyed"),v.code=Oo.ErrorCode.ConnectionDestroyed),l(v)})}),destroy(){a()}}};Yi.default=DA});var xc=ve(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});Object.defineProperty(un,"connectToChild",{enumerable:!0,get:function(){return PA.default}});Object.defineProperty(un,"connectToParent",{enumerable:!0,get:function(){return RA.default}});Object.defineProperty(un,"ErrorCode",{enumerable:!0,get:function(){return _A.ErrorCode}});var PA=am(rm()),RA=am(sm()),_A=Mt();function am(e){return e&&e.__esModule?e:{default:e}}});var Em=ve((nW,hm)=>{var Lc=Object.defineProperty,MA=Object.getOwnPropertyDescriptor,wA=Object.getOwnPropertyNames,xA=Object.prototype.hasOwnProperty,LA=(e,t)=>{for(var o in t)Lc(e,o,{get:t[o],enumerable:!0})},NA=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wA(t))!xA.call(e,n)&&n!==o&&Lc(e,n,{get:()=>t[n],enumerable:!(r=MA(t,n))||r.enumerable});return e},kA=e=>NA(Lc({},"__esModule",{value:!0}),e),um={};LA(um,{Store:()=>FA,applyMiddleware:()=>KA,wrapStore:()=>zA});hm.exports=kA(um);var UA=xc(),pm="iframe.state",mm="iframe.patch_state",cm=3e3,fm="updated",gm="removed";function BA(e,t){let o=Object.assign({},e);return t.forEach(({change:r,key:n,value:i})=>{switch(r){case fm:o[n]=i;break;case gm:Reflect.deleteProperty(o,n);break;default:}}),o}var FA=class{constructor({iframe:e,state:t={},patchStrategy:o=BA}){if(typeof o!="function")throw new Error("iframe-redux, constructor: patchStrategy must be one of the included patching strategies or a custom patching function");this.resultForFirstSync=!1,this.firstSyncPromise=new Promise((r,n)=>{this.resolveFirstSync=r,this.rejectFirstSync=n,window.setTimeout(()=>{this.resultForFirstSync===!1&&(this.resultForFirstSync=!0,this.rejectFirstSync())},cm*5)}),this.listeners=[],this.state=t,this.patchStrategy=o,this.connectionPromise=(0,UA.connectToChild)({iframe:e,methods:{syncState:this.syncState.bind(this)},timeout:cm*4}).promise,this.dispatch=this.dispatch.bind(this)}syncState(e){switch(e.type){case pm:this.replaceState(e.payload),this.resultForFirstSync||(this.resultForFirstSync=!0,this.resolveFirstSync());break;case mm:this.patchState(e.payload);break;default:}}async ready(){try{this.child=await this.connectionPromise,await this.firstSyncPromise}catch(e){return e.message="[iframe-redux] Store.ready() failed: ".concat(e.message),this.resultForFirstSync=!0,e}return!0}subscribe(e){return this.listeners.push(e),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}patchState(e){this.state=this.patchStrategy(this.state,e),this.listeners.forEach(t=>t())}replaceState(e){this.state=e,this.listeners.forEach(t=>t())}getState(){return this.state}replaceReducer(){}dispatch(e){return this.child.dispatch(e)}};function WA(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,o)=>(...r)=>t(o(...r)))}function KA(e,...t){let o=()=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},r={getState:e.getState.bind(e),dispatch:(...n)=>o(...n)};return t=(t||[]).map(n=>n(r)),o=WA(...t)(e.dispatch),e.dispatch=o,e}var jA=xc();function lm(e,t){let o=[];return Object.keys(t).forEach(r=>{e[r]!==t[r]&&o.push({key:r,value:t[r],change:fm})}),Object.keys(e).forEach(r=>{t.hasOwnProperty(r)||o.push({key:r,change:gm})}),o}var dm=12e3,VA=200,HA=e=>t=>{try{return{error:null,value:e.dispatch(t)}}catch(o){return console.error("error dispatching result:",o),{error:o.message,value:null}}},GA=(e,t)=>o=>{let r=e.getState(),n=()=>{let i=e.getState(),s=t(r,i);s.length&&(r=i,o.syncState({type:mm,payload:s}))};e.subscribe(n),o.syncState({type:pm,payload:r})},zA=async(e,{diffStrategy:t=lm}={diffStrategy:lm})=>{if(typeof t!="function")return new Error("[iframe-redux] wrapStore: diffStrategy must be one of the included diffing strategies or a custom diff function");let o=GA(e,t),n=await(async()=>{let i=!1,s=setTimeout(()=>{i=!0},dm);for(;!i;)try{let c=await(0,jA.connectToParent)({methods:{dispatch:HA(e)},timeout:VA}).promise;return clearTimeout(s),c}catch(a){if(i)return clearTimeout(s),new Error("[iframe-redux] wrapStore: max connection attempt timeout of ".concat(dm," reached with last error ").concat(a instanceof Error?a.message:"unknown error"," "))}})();return n instanceof Error?(console.error(n.message),n):(o(n),{success:!0})}});var tg=ve(Sl=>{"use strict";var eg=/^(\d{4})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:([ T])(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;Sl.parse=function(e){var t=[1,5,6,7,11,12],o=eg.exec(e),r=0;if(!o)return new Date(e);for(var n=0,i;i=t[n];n++)o[i]=parseInt(o[i],10)||0;o[2]=parseInt(o[2],10)||1,o[3]=parseInt(o[3],10)||1,o[2]--,o[8]=o[8]?(o[8]+"00").substring(0,3):0,o[4]===" "?r=new Date().getTimezoneOffset():o[9]!=="Z"&&o[10]&&(r=o[11]*60+o[12],o[10]==="+"&&(r=0-r));var s=Date.UTC(o[1],o[2],o[3],o[5],o[6]+r,o[7],o[8]);return new Date(s)};Sl.is=function(e,t){return typeof e!="string"||t&&/^\d{4}-\d{2}-\d{2}/.test(e)===!1?!1:eg.test(e)}});var yl=ve((a3,og)=>{"use strict";var rg=tg();og.exports=vl;function vl(e,t){return t===void 0&&(t=!0),e&&typeof e=="object"?xR(e,t):Array.isArray(e)?LR(e,t):rg.is(e,t)?rg.parse(e):e}function xR(e,t){return Object.keys(e).forEach(function(o){e[o]=vl(e[o],t)}),e}function LR(e,t){return e.forEach(function(o,r){e[r]=vl(o,t)}),e}});var ng=ve((gs,Tl)=>{(function(t,o){typeof gs=="object"&&typeof Tl=="object"?Tl.exports=o(yl()):typeof define=="function"&&define.amd?define("analytics-web-client",["@segment/isodate-traverse"],o):typeof gs=="object"?gs["analytics-web-client"]=o(yl()):t.AnalyticsWebClient=o(t["@segment/isodate-traverse"])})(window,function(e){return function(t){var o={};function r(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=o,r.d=function(n,i,s){r.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:s})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(i&1&&(n=r(n)),i&8||i&4&&typeof n=="object"&&n&&n.__esModule)return n;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:n}),i&2&&typeof n!="string")for(var a in n)r.d(s,a,(function(c){return n[c]}).bind(null,a));return s},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}([function(t,o,r){"use strict";r.r(o);var n=r(1);r.d(o,"default",function(){return n.default}),r.d(o,"STARGATE_PROXY_PATH",function(){return n.STARGATE_PROXY_PATH});var i=r(9);r.d(o,"apdexType",function(){return i.apdexType}),r.d(o,"envType",function(){return i.envType}),r.d(o,"eventType",function(){return i.eventType}),r.d(o,"originType",function(){return i.originType}),r.d(o,"platformType",function(){return i.platformType}),r.d(o,"tenantType",function(){return i.tenantType}),r.d(o,"userType",function(){return i.userType}),r.d(o,"originTracingType",function(){return i.originTracingType}),r.d(o,"perimeterType",function(){return i.perimeterType}),r.d(o,"aliasType",function(){return i.aliasType}),r.d(o,"groupType",function(){return i.groupType}),r.d(o,"productEmbedType",function(){return i.productEmbedType});var s=r(103);r.d(o,"DwellTimeHelper",function(){return s.default});var a=r(105);r.d(o,"DwellTimeHelperWithBrowserInteraction",function(){return a.default});var c=r(17);r.d(o,"CompressionRule",function(){return c.CompressionRule}),r.d(o,"StopLowPriorityEventDelayReason",function(){return c.StopLowPriorityEventDelayReason});var u=r(28);r.d(o,"ResilienceMechanism",function(){return u.ResilienceMechanism});var m=r(108);r.d(o,"TypeAheadHelper",function(){return m.default})},function(t,o,r){"use strict";r.r(o),r.d(o,"STARGATE_PROXY_PATH",function(){return z}),r.d(o,"LoggingResponseCallback",function(){return de}),r.d(o,"default",function(){return ce});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(9),u=r(10),m=r(13),p=r(14),d=r(15),l=r(17),f=r(19),h=r(26),v=r(88),S=r(11),y=r(95),E=r(96),b=r(97),g=r(98),C=r(99),T=r(100),O=r(101),D=r(89),U=r(102),w=r(59);function N(M,k){var F=Object.keys(M);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(M);k&&(X=X.filter(function(Ee){return Object.getOwnPropertyDescriptor(M,Ee).enumerable})),F.push.apply(F,X)}return F}function j(M){for(var k=1;k<arguments.length;k++){var F=arguments[k]!=null?arguments[k]:{};k%2?N(Object(F),!0).forEach(function(X){i()(M,X,F[X])}):Object.getOwnPropertyDescriptors?Object.defineProperties(M,Object.getOwnPropertyDescriptors(F)):N(Object(F)).forEach(function(X){Object.defineProperty(M,X,Object.getOwnPropertyDescriptor(F,X))})}return M}let z="/gateway/api/gasv3/api/v1",H="last.screen.event";class de{static callback(k){let F=k.getStatusCode();F>=200&&F<=299?k.getEventResponseList().length===0?console.debug("Event(s) submitted to GASv3"):k.getEventResponseList().forEach(X=>{console.warn("Validation report for event with message ID %s:\n",X.getMessageId(),X)}):F===400||F===404?(console.warn("GASv3 submission failed with HTTP Status Code %d: %s",k.getStatusCode(),k.getMessage()),k.getEventResponseList().forEach(X=>{console.warn("Event with message ID %s:\n",X.getMessageId(),X)})):(console.info("GASv3 submission failed with HTTP Status Code %d: %s",k.getStatusCode(),k.getMessage()),k.eventResponseList.forEach(X=>{console.debug("Event with message ID %s:\n",X.getMessageId(),X)}))}}class ce{constructor(k,F={}){if(i()(this,"_useStargate",L=>L==null?!0:L),i()(this,"_endsWith",(L,B)=>L.indexOf(B,L.length-B.length)!==-1),i()(this,"_changeInternalUserId",(L,B)=>{this.eventProcessor.getUser().setUserId(L),B&&B!==this.eventProcessor.getUser().getAnonymousId()&&this.eventProcessor.getUser().setAnonymousId(B)}),i()(this,"_createSubproductGetter",L=>Object(m.default)(L,"Cannot get subproduct from the callback. Proceeding without it.")),i()(this,"_createEmbeddedProductGetter",L=>Object(m.default)(L,"Cannot get embeddedProduct from the callback. Proceeding without it.")),i()(this,"_getLastScreenEvent",()=>{try{return JSON.parse(this._safeSessionStorage.getItem(H)||"")}catch(L){return this._safeSessionStorage.removeItem(H),null}}),i()(this,"_setLastScreenEvent",L=>{this._safeSessionStorage.setItem(H,JSON.stringify({name:L.name,attributes:L.attributes}))}),i()(this,"_shouldEventBeDelayed",L=>{if(!L.tags||L.tags.indexOf("measurement")===-1)return!1;let B=L.highPriority!==!1;return this.eventDelayQueue.isDelayingLowPriorityEvents()&&!B}),i()(this,"_fireEvent",(L,B,ae,se)=>{switch(B.eventType){case c.eventType.UI:case c.eventType.OPERATIONAL:case c.eventType.TRACK:return this.eventProcessor.track(L,B,ae,se);case c.eventType.SCREEN:return this.eventProcessor.page(L,B,ae,se);case c.eventType.IDENTIFY:return this.eventProcessor.identify(L,B,ae,se);default:throw new Error("No handler has been defined for events of type ".concat(B.eventType))}}),i()(this,"_fireDelayedEvent",(L,B,ae,se)=>{try{this._changeInternalUserId(se.userId,se.anonymousId),B.tags=[...B.tags||[],"sentWithDelay"],this._fireEvent(L,B,ae,void 0)}finally{this._changeInternalUserId(this._userInfo.userId,this._userInfo.anonymousId)}}),i()(this,"_delayEvent",(L,B,ae,se,mt)=>{this.eventDelayQueue.push(L,B,ae,se),mt&&mt()}),i()(this,"_processEvent",(L,B,ae,se)=>(this._testingCache.saveEvent(B),this._shouldEventBeDelayed(B)?(this._delayEvent(L,B,ae,this._userInfo,se),Promise.resolve()):this._fireEvent(L,B,ae,se))),i()(this,"setEmbeddedProduct",L=>{this._productInfo.embeddedProduct=this._createEmbeddedProductGetter(L),this.resetUIViewedTimers()}),i()(this,"clearEmbeddedProduct",()=>{this._productInfo.embeddedProduct=this._createEmbeddedProductGetter(null)}),i()(this,"setSubproduct",L=>{this._productInfo.subproduct=this._createSubproductGetter(L),this.resetUIViewedTimers()}),i()(this,"setOriginTracingHandlers",L=>{let B=this.originTracing.handleOriginParameters(L,this._historyReplaceFn);Object.keys(B).forEach(se=>{typeof B[se].taskSessionId!="undefined"&&this.task.createTaskSessionWithProvidedId(se,B[se].taskSessionId)});let ae={};return Object.keys(B).forEach(se=>{B[se].originTracingAttributes?ae[se]=B[se].originTracingAttributes:console.warn("Handling method for origin parameter ".concat(se," has not returned any attributes"))}),Object.keys(B).length>0?this.sendOperationalEvent({action:"landed",actionSubject:"origin",source:"webClient",attributes:{originTracesLanded:ae}},()=>{}):Promise.resolve()}),i()(this,"setTenantInfo",(L,B)=>{if(!L)throw new Error("Missing tenantIdType");if(L!==c.tenantType.NONE&&!B)throw new Error("Missing tenantId");if(!Object(c.isType)(c.tenantType,L))throw new Error("Invalid tenantIdType '".concat(L,"', ")+"must be an tenantType: [".concat(Object(c.objectValues)(c.tenantType),"]"));this._tenantInfo={tenantIdType:L,tenantId:B}}),i()(this,"clearTenantInfo",()=>{this._tenantInfo={}}),i()(this,"setOrgInfo",L=>{if(!L)throw new Error("Missing orgId");this._orgInfo={orgId:L}}),i()(this,"clearOrgInfo",()=>{this._orgInfo={}}),i()(this,"setWorkspaceInfo",L=>{if(!L)throw new Error("Missing workspaceId");this._workspaceInfo={workspaceId:L}}),i()(this,"clearWorkspaceInfo",()=>{this._workspaceInfo={}}),i()(this,"setUserInfo",(L,B)=>{Object(f.validateIdentifyEvent)(L,B),this._changeInternalUserId(B),this._userInfo={userIdType:L,userId:B,anonymousId:this.eventProcessor.getUser().getAnonymousId()}}),i()(this,"clearUserInfo",()=>{this._changeInternalUserId(void 0),this._userInfo={anonymousId:this.eventProcessor.getUser().getAnonymousId()}}),i()(this,"setAlias",(L,B)=>{if(!L)throw new Error("Missing aliasType");if(!Object(c.isType)(c.aliasType,L))throw new Error("Invalid aliasType '".concat(L,"', ")+"must be an aliasType: [".concat(Object(c.objectValues)(c.aliasType),"]"));this._aliases[L]=B}),i()(this,"clearAlias",()=>{this._aliases={}}),i()(this,"setGroup",(L,B)=>{if(!L)throw new Error("Missing groupType");if(!Object(c.isType)(c.groupType,L))throw new Error("Invalid groupType '".concat(L,"', ")+"must be an groupType: [".concat(Object(c.objectValues)(c.groupType),"]"));this._groups[L]=B}),i()(this,"clearGroup",()=>{this._groups={}}),i()(this,"getAnonymousId",()=>this._userInfo.anonymousId),i()(this,"setUIViewedAttributes",L=>{if(!L)throw new Error("Missing uiViewedAttributes");if(typeof L!="object"||Array.isArray(L))throw new Error("Invalid uiViewedAttributes type, should be a non array object");this._uiViewedAttributes=j({},L)}),i()(this,"getUIViewedAttributes",()=>this._uiViewedAttributes),i()(this,"clearUIViewedAttributes",()=>{this._uiViewedAttributes={}}),i()(this,"sendIdentifyEvent",(L,B,ae)=>{this.setUserInfo(L,B);let se={userIdType:L,eventType:c.eventType.IDENTIFY};return this._processEvent(B,se,this._context,ae)}),i()(this,"sendPageEvent",(L,B)=>this.sendScreenEvent(L,B)),i()(this,"sendScreenEvent",(L,B,ae)=>{let se,mt,tr,ur;typeof L=="object"?(se=L.name,mt=L.attributes,tr=L.containers,ur=L.tags):(se=L,mt=ae),Object(f.validateScreenEvent)(se),Object(f.validateContainers)(tr);let Nr=Object(d.buildScreenEvent)(this._productInfo,this._tenantInfo,this._userInfo,mt,L.nonPrivacySafeAttributes,ur,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,L,tr,this._aliases,this._groups),kr=j({name:se},Nr);return this._setLastScreenEvent(kr),this._processEvent(se,kr,this._context,Object(U.default)(B,kr))}),i()(this,"sendTrackEvent",(L,B)=>{Object(f.validateTrackEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.TRACK,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"sendUIEvent",(L,B)=>{Object(f.validateUIEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.UI,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"sendOperationalEvent",(L,B)=>{Object(f.validateOperationalEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.OPERATIONAL,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"startUIViewedEvent",L=>{this.stopUIViewedEvent(),this._uiViewedEvent=new O.default(this._productInfo,()=>({embeddedProduct:this._productInfo.embeddedProduct(),subproduct:this._productInfo.subproduct(),tenantIdType:this._tenantInfo.tenantIdType,tenantId:this._tenantInfo.tenantId,userId:this._userInfo.userId,lastScreenEvent:this._getLastScreenEvent(),attributes:this._uiViewedAttributes}),B=>this.sendUIEvent(B,L)),this._uiViewedEvent.start()}),i()(this,"stopUIViewedEvent",()=>{this._uiViewedEvent&&(this._uiViewedEvent.stop(),this._uiViewedEvent=null)}),i()(this,"resetUIViewedTimers",()=>{this._uiViewedEvent&&this._uiViewedEvent.resetTimers()}),i()(this,"startApdexEvent",L=>{this._apdexEvent.start(L)}),i()(this,"getApdexStart",L=>this._apdexEvent.getStart(L)),i()(this,"stopApdexEvent",(L,B)=>{this._apdexEvent.stop(L,B)}),i()(this,"startLowPriorityEventDelay",(L,B)=>{this.eventDelayQueue.startLowPriorityEventDelay(L,B)}),i()(this,"stopLowPriorityEventDelay",()=>{this.eventDelayQueue.stopLowPriorityEventDelay()}),i()(this,"onEvent",(L,B)=>{if(!B)throw new Error("Missing analyticsData");if(!B.eventType)throw new Error("Missing analyticsData.eventType");if(B.eventType===c.eventType.TRACK)return this.sendTrackEvent(B);if(B.eventType===c.eventType.UI)return this.sendUIEvent(B);if(B.eventType===c.eventType.OPERATIONAL)return this.sendOperationalEvent(B);if(B.eventType===c.eventType.SCREEN)return this.sendScreenEvent(B.name,null,B.attributes);if(B.eventType===c.eventType.IDENTIFY)return this.sendIdentifyEvent(B.userIdType,B.userId);throw new Error("Invalid analyticsData.eventType '".concat(B.eventType,"', ")+"must be an eventType: [".concat(Object(c.objectValues)(c.eventType),"]"))}),i()(this,"setResponseCallback",L=>{this.eventProcessor.setResponseCallback(L)}),!k)throw new Error("Missing productInfo");if(!k.env)throw new Error("Missing productInfo.env");if(!k.product)throw new Error("Missing productInfo.product");if(!Object(c.isType)(c.envType,k.env))throw new Error("Invalid productInfo.env '".concat(k.env,"', ")+"must be an envType: [".concat(Object(c.objectValues)(c.envType),"]"));if(k.perimeter&&!Object(c.isType)(c.perimeterType,k.perimeter))throw new Error("Invalid productInfo.perimeter '".concat(k.perimeter,"', ")+"must be an perimeterType: [".concat(Object(c.objectValues)(c.perimeterType),"]"));if(!k.origin)k.origin=c.originType.WEB;else if(!Object(c.isType)(c.originType,k.origin))throw new Error("Invalid productInfo.origin '".concat(k.origin,"', ")+"must be an originType: [".concat(Object(c.objectValues)(c.originType),"]"));k.platform?Object(f.validatePlatform)(k):k.platform=k.origin===c.originType.WEB?c.platformType.WEB:c.platformType.DESKTOP,this.logger=F.logger||console,this._productInfo=j(j({},k),{},{subproduct:this._createSubproductGetter(k.subproduct),embeddedProduct:this._createEmbeddedProductGetter(k.embeddedProduct)}),this._tenantInfo={},this._orgInfo={},this._uiViewedAttributes={},k!=null&&k.embeddedContext&&(this._embeddedContext=k.embeddedContext,Object(p.isFirstParty)(this._embeddedContext)&&this.setUIViewedAttributes({embeddedType:this._embeddedContext.embeddedType,embeddedFromProduct:this._embeddedContext.embeddedFromProduct,embeddedFromSubproduct:this._embeddedContext.embeddedFromSubproduct,embeddedFromTopLevelDomain:this._embeddedContext.embeddedFromTopLevelDomain}),Object(p.isThirdParty)(this._embeddedContext)&&this.setUIViewedAttributes({embeddedType:this._embeddedContext.embeddedType,embeddedFromTopLevelDomain:this._embeddedContext.embeddedFromTopLevelDomain})),this._context=Object(d.buildContext)(this._productInfo),this._safeSessionStorage=new b.default;let X=this._useStargate(F.useStargate),Ee=F.apiHost||Object(y.selectHost)({useStargate:X,env:k.env,useLegacyUrl:F.useLegacyUrl,perimeter:k.perimeter,envOverride:k.envOverride}),De=F.apiHostProtocol||"https",it={maxRetryDelay:6e4,minRetryDelay:F.minRetryDelay||1e3,backoffFactor:2,flushWaitMs:F.flushWaitInterval,flushBeforeUnload:F.flushBeforeUnload},Rt="awc-".concat(k.env),xr=()=>Object(w.XIDPromise)(F.xidConsent,F.xidPromiseFn),Lr=F.disableCookiePersistence||!1;this.eventProcessor=new h.default({apiHost:Ee,apiHostProtocol:De,product:k.product,retryQueuePrefix:Rt,retryQueueOptions:it,xidPromiseGetter:xr,logger:this.logger,disableCookiePersistence:Lr,responseCallback:de.callback}),this._userInfo={anonymousId:this.eventProcessor.getUser().getAnonymousId(F==null?void 0:F.customAnonymousIdGenerator)},this._pageVisibility=new S.default,this._tabTracking=new g.default,this._sessionTracking=new E.default({sessionExpiryTime:F.sessionExpiryTime,onNewSessionStarted:F.onNewSessionStarted}),this.task=new C.default,this.originTracing=new v.default,this._apdexEvent=new u.default(this.sendOperationalEvent,this._pageVisibility),this._historyReplaceFn=typeof F.historyReplaceFn=="function"?F.historyReplaceFn:D.defaultHistoryReplaceFn,this.eventDelayQueue=new l.default(this._fireDelayedEvent,F.delayQueueCompressors||[]),this._testingCache=new T.default,this._pageLoadId=a()(),this._workspaceInfo={},this._aliases={},this._groups={}}setEventValidationMode(k){this._context.context.validationMode=k}}},function(t,o,r){var n=r(3);function i(s,a,c){return(a=n(a))in s?Object.defineProperty(s,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):s[a]=c,s}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(4).default,i=r(5);function s(a){var c=i(a,"string");return n(c)=="symbol"?c:c+""}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o){function r(n){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},t.exports.__esModule=!0,t.exports.default=t.exports,r(n)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(4).default;function i(s,a){if(n(s)!="object"||!s)return s;var c=s[Symbol.toPrimitive];if(c!==void 0){var u=c.call(s,a||"default");if(n(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(s)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(7),i=r(8);function s(a,c,u){var m=c&&u||0;typeof a=="string"&&(c=a==="binary"?new Array(16):null,a=null),a=a||{};var p=a.random||(a.rng||n)();if(p[6]=p[6]&15|64,p[8]=p[8]&63|128,c)for(var d=0;d<16;++d)c[m+d]=p[d];return c||i(p)}t.exports=s},function(t,o){var r=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof window.msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);t.exports=function(){return r(n),n}}else{var i=new Array(16);t.exports=function(){for(var a=0,c;a<16;a++)a&3||(c=Math.random()*4294967296),i[a]=c>>>((a&3)<<3)&255;return i}}},function(t,o){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);function i(s,a){var c=a||0,u=r;return[u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]]].join("")}t.exports=i},function(t,o,r){"use strict";r.r(o),r.d(o,"envType",function(){return n}),r.d(o,"eventType",function(){return i}),r.d(o,"platformType",function(){return s}),r.d(o,"originType",function(){return a}),r.d(o,"tenantType",function(){return c}),r.d(o,"productEmbedType",function(){return u}),r.d(o,"userType",function(){return m}),r.d(o,"apdexType",function(){return p}),r.d(o,"desktopPlatforms",function(){return d}),r.d(o,"webPlatforms",function(){return l}),r.d(o,"originTracingType",function(){return f}),r.d(o,"objectValues",function(){return h}),r.d(o,"isType",function(){return v}),r.d(o,"perimeterType",function(){return S}),r.d(o,"aliasType",function(){return y}),r.d(o,"groupType",function(){return E}),r.d(o,"envOverrides",function(){return b});let n=function(g){return g.LOCAL="local",g.DEV="dev",g.STAGING="staging",g.PROD="prod",g}({}),i=function(g){return g.TRACK="track",g.UI="ui",g.OPERATIONAL="operational",g.SCREEN="screen",g.IDENTIFY="identify",g}({}),s=function(g){return g.MAC="mac",g.LINUX="linux",g.WINDOWS="windows",g.DESKTOP="desktop",g.WEB="web",g.MOBILE_WEB="mobileWeb",g}({}),a=function(g){return g.DESKTOP="desktop",g.WEB="web",g}({}),c=function(g){return g.CLOUD_ID="cloudId",g.ORG_ID="orgId",g.OPSGENIE_CUSTOMER_ID="opsgenieCustomerId",g.HALP_TEAM_ID="halpTeamId",g.LOOM_ORG_ID="loomOrgId",g.TRANSACTION_ACCOUNT_ID="transactionAccountId",g.TRELLO_WORKSPACE_ID="trelloWorkspaceId",g.JA_WORKSPACE_ID="jiraAlignWorkspaceId",g.NONE="none",g}({}),u=function(g){return g.FIRST_PARTY="FIRST_PARTY",g.THIRD_PARTY="THIRD_PARTY",g}({}),m=function(g){return g.ATLASSIAN_ACCOUNT="atlassianAccount",g.HASHED_EMAIL="hashedEmail",g.LOOM="loom",g.TRELLO="trello",g.OPSGENIE="opsgenie",g.JA_USER_ID="jiraAlign",g.HALP="halp",g}({}),p=function(g){return g.TRANSITION="transition",g.INITIAL_LOAD="initialLoad",g}({}),d=Object.freeze([s.DESKTOP,s.MAC,s.LINUX,s.WINDOWS]),l=Object.freeze([s.WEB,s.MOBILE_WEB]),f=function(g){return g.ATL_ORIGIN="atlOrigin",g}({});function h(g){return Object.values(g)}function v(g,C){return Object.values(g).indexOf(C)>-1}let S=function(g){return g.C5="c5",g.COMMERCIAL="commercial",g.FEDRAMP_MODERATE="fedramp-moderate",g.FEDRAMP_HIGH="fedramp-high",g}({}),y=function(g){return g}({}),E=function(g){return g.TRANSACTION_ACCOUNT_ID="transactionAccountId",g}({}),b=function(g){return g}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(9),a=r(11),c=r(12);function u(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function m(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?u(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):u(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}class p{constructor(l,f){if(i()(this,"_getEventKey",({task:h,taskId:v})=>v?"".concat(h,".").concat(v):h),i()(this,"_getEventTimingByName",h=>{let v=this._performance.getEntriesByName(h);return v[v.length-1]}),i()(this,"_getApdexFields",h=>{let v=this._getApdexTimings(h),S=this._calculateApdex({duration:v.duration,threshold:h.threshold});return m(m({},v),{},{apdex:S})}),i()(this,"_getApdexTimings",h=>{let v=this._getEventKey(h),S="".concat(v,"-start"),y=h.startTime||this._getStartTime(h,S),E=h.stopTime||this._getStopTime();return this._cleanApdexState(v),{startTime:y,stopTime:E,duration:E-y}}),i()(this,"_getStartTime",(h,v)=>{let S,y=this._performance.getTimeOrigin();if(h.type===s.apdexType.INITIAL_LOAD)S=y;else{let E=this._getEventTimingByName(v);S=y+E.startTime}return S}),i()(this,"_getStopTime",()=>this._performance.getTimeOrigin()+this._performance.now()),i()(this,"_cleanApdexState",h=>{this._performance.clearMarks("".concat(h,"-start")),this._performance.clearMarks("".concat(h,"-stop")),this._startedEvents.delete(h)}),i()(this,"_getVisibilityFields",h=>{let v;if(h.type===s.apdexType.INITIAL_LOAD)v=!this._wasPreviouslyHidden;else if(h.type===s.apdexType.TRANSITION){let S=this._getEventKey(h);v=this._isActiveEvents.get(S)}return(h.startTime||h.stopTime)&&(v=!this._pageVisibility.getIsHidden()),{isActiveTab:v}}),i()(this,"_calculateApdex",({duration:h,threshold:v=this._threshold})=>{let S,y=v,E=v*4;return h<=y?S=1:h<=E?S=.5:S=0,S}),i()(this,"_validateStartEvent",h=>{if(!h)throw new Error('Missing "event" in Apdex start event');if(!h.task)throw new Error('Missing "task" in Apdex start event');if(typeof h.task!="string")throw new Error('Invalid "task" in Apdex start event');if(h.taskId&&typeof h.taskId!="string")throw new Error('Invalid "taskId" in Apdex start event')}),i()(this,"_validateStopEvent",h=>{if(!h)throw new Error('Missing "event" in Apdex stop event');if(!h.task)throw new Error('Missing "task" in Apdex stop event');if(typeof h.task!="string")throw new Error('Invalid "task" in Apdex stop event');if(h.taskId&&typeof h.taskId!="string")throw new Error('Invalid "taskId" in Apdex stop event');if(!h.type)throw new Error('Missing "type" in Apdex stop event');if(h.type&&!Object(s.isType)(s.apdexType,h.type))throw new Error('Invalid "type" in Apdex stop event');if(h.threshold&&typeof h.threshold!="number")throw new Error('Invalid "threshold" in Apdex stop event');if(!h.startTime&&h.type===s.apdexType.TRANSITION){let v=this._getEventKey(h);if(!this._startedEvents.has(v))throw new Error('Apdex event transition "'.concat(v,'" was not started'))}if(h.startTime&&!(typeof h.startTime=="number"&&h.startTime>=0))throw new Error('Invalid "startTime" in Apdex stop event');if(h.stopTime&&typeof h.stopTime!="number")throw new Error('Invalid "stopTime" in Apdex stop event');if(h.stopTime<=h.startTime)throw new Error('"stopTime" should be greater than "startTime" in Apdex stop event')}),i()(this,"_shouldSendEvent",h=>!(!h||typeof h.apdex!="number")),i()(this,"_sendEvent",(h,v)=>{this._shouldSendEvent(h)&&this._onEvent({source:"ui",action:"readyForUser",actionSubject:"ui",attributes:m(m({},h.additionalAttributes),{},{task:h.task,taskId:h.taskId,type:h.type,threshold:h.threshold||this._threshold,apdex:h.apdex,startTime:h.startTime,stopTime:h.stopTime,duration:h.duration,isActiveTab:h.isActiveTab})},v)}),!l)throw new Error("Missing onEvent callback");if(typeof l!="function")throw new Error("Invalid onEvent, must be function");if(!(f instanceof a.default))throw new Error("Invalid pageVisibility, must be PageVisibility class");this._startedEvents=new Map,this._performance=new c.default,this._onEvent=l,this._threshold=1e3,this._wasPreviouslyHidden=f.getIsHidden(),this._isActiveEvents=new Map,this._pageVisibility=f,this._pageVisibility.addCallback("apdexEvent",h=>{this.onVisibilityChange(!h)})}start(l){if(this._validateStartEvent(l),!this._performance.isAvailable())return;let f=this._getEventKey(l),h="".concat(f,"-start");this._startedEvents.set(f,!0),this._isActiveEvents.set(f,!this._pageVisibility.getIsHidden()),this._performance.clearMarks(h),this._performance.mark(h)}getStart(l){if(this._validateStartEvent(l),!this._performance.isAvailable())return;let f=this._getEventKey(l),h="".concat(f,"-start");return this._getEventTimingByName(h)}stop(l,f){if(this._validateStopEvent(l),!this._performance.isAvailable())return;let h=this._getApdexFields(l),v=this._getVisibilityFields(l);this._sendEvent(m(m(m({},l),h),v),f)}onVisibilityChange(l){l||(this._wasPreviouslyHidden=!0,Array.from(this._isActiveEvents.keys()).forEach(f=>this._isActiveEvents.set(f,!1)))}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(2),i=r.n(n);class s{constructor(){i()(this,"_bindEventListeners",()=>{document.addEventListener(this._visibilityChange,this._handleVisibilityChange,!1)}),i()(this,"_handleVisibilityChange",()=>{let c=document[this._hidden];this._isHidden=c,this._callbacks.forEach(u=>u(c))}),this._isHidden=!1,this._callbacks=new Map,this._hidden=void 0,this._visibilityChange=void 0,typeof document!="undefined"&&(typeof document.hidden!="undefined"?(this._isHidden=document.hidden,this._hidden="hidden",this._visibilityChange="visibilitychange"):typeof document.msHidden!="undefined"?(this._isHidden=document.msHidden,this._hidden="msHidden",this._visibilityChange="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(this._isHidden=document.webkitHidden,this._hidden="webkitHidden",this._visibilityChange="webkitvisibilitychange"),typeof document.addEventListener!="undefined"&&this._hidden!==void 0&&this._bindEventListeners())}addCallback(c,u){if(typeof c!="string")throw new Error("Invalid name, must be string");if(typeof u!="function")throw new Error("Invalid callback, must be function");this._callbacks.set(c,u)}removeCallback(c){this._callbacks.has(c)&&this._callbacks.delete(c)}getIsHidden(){return this._isHidden}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});class n{constructor(){this._performance=window.performance}clearMarks(...s){!this._performance||!this._performance.clearMarks||this._performance.clearMarks(...s)}mark(...s){!this._performance||!this._performance.mark||this._performance.mark(...s)}getEntriesByName(...s){return!this._performance||!this._performance.getEntriesByName?[]:this._performance.getEntriesByName(...s)}getTimeOrigin(){return!this._performance||!this._performance.timeOrigin&&!this._performance.timing?0:this._performance.timeOrigin||this._performance.timing.navigationStart}now(){return!this._performance||!this._performance.now?Date.now?Date.now():+new Date:this._performance.now()}isAvailable(){return!!this._performance&&!!this._performance.clearMarks&&!!this._performance.mark&&!!this._performance.getEntriesByName&&!!this._performance.timing}}},function(t,o,r){"use strict";r.r(o);let n=i=>typeof i=="function";o.default=(i,s)=>()=>{if(n(i))try{return i()}catch(a){console.error("".concat(s," - ").concat(a instanceof Error?a.message:String(a)));return}return i}},function(t,o,r){"use strict";r.r(o),r.d(o,"isFirstParty",function(){return i}),r.d(o,"isThirdParty",function(){return s});var n=r(9);let i=a=>a.embeddedType===n.productEmbedType.FIRST_PARTY&&a.embeddedFromProduct!==void 0,s=a=>a.embeddedType===n.productEmbedType.THIRD_PARTY&&a.embeddedFromTopLevelDomain!==void 0},function(t,o,r){"use strict";r.r(o),r.d(o,"filterAndBuildContainers",function(){return T}),r.d(o,"buildContainersWithName",function(){return O}),r.d(o,"buildActionFields",function(){return D}),r.d(o,"buildScreenEvent",function(){return w}),r.d(o,"buildActionName",function(){return N}),r.d(o,"validationMode",function(){return j}),r.d(o,"buildContext",function(){return H}),r.d(o,"extractProductOverrides",function(){return de}),r.d(o,"buildActionEvent",function(){return ce});var n=r(2),i=r.n(n),s=r(9),a=r(16);function c(M,k){var F=Object.keys(M);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(M);k&&(X=X.filter(function(Ee){return Object.getOwnPropertyDescriptor(M,Ee).enumerable})),F.push.apply(F,X)}return F}function u(M){for(var k=1;k<arguments.length;k++){var F=arguments[k]!=null?arguments[k]:{};k%2?c(Object(F),!0).forEach(function(X){i()(M,X,F[X])}):Object.getOwnPropertyDescriptors?Object.defineProperties(M,Object.getOwnPropertyDescriptors(F)):c(Object(F)).forEach(function(X){Object.defineProperty(M,X,Object.getOwnPropertyDescriptor(F,X))})}return M}let m="5.1.0";function p(M){return{tenantIdType:M.tenantIdType,tenantId:M.tenantId}}function d(M){return{userIdType:M.userIdType}}function l(M){return{orgId:M.orgId}}function f(M){return{workspaceId:M.workspaceId}}function h(M){if(b(M))return{aliases:M}}function v(M){if(b(M))return{groups:M}}function S(M){return M.anonymousId?{anonymousId:M.anonymousId}:{}}function y(M,k){return k===void 0?M:k}function E(M,k){let F=k||{},X=y(M.env,F.env),Ee=y(M.product,F.product),De=y(M.subproduct(),F.subproduct),Se=y(M.version,F.version),it=y(M.origin,F.origin),Rt=y(M.platform,F.platform);return{env:X,product:Ee,subproduct:De,version:Se,origin:it,platform:Rt}}function b(M){return Object(a.isPlainObject)(M)&&Object.keys(M).length>0}function g(M,k){return b(k)?{[M]:k}:void 0}function C(M){return g("attributes",M)}function T(M){let k={};return Object.keys(M).forEach(F=>{let X=M[F];k[F]={id:X.id,type:X.type}}),k}function O(M){if(b(M)){let k=T(M);return g("containers",k)}}function D(M,k){return u({containerType:M.containerType,containerId:M.containerId,source:M.source,objectType:M.objectType,objectId:M.objectId,actionSubject:M.actionSubject,action:M.action,actionSubjectId:M.actionSubjectId,attributes:M.attributes,nonPrivacySafeAttributes:M.nonPrivacySafeAttributes,tags:M.tags,highPriority:M.highPriority,eventType:k},O(M.containers))}function U(M){return g("nonPrivacySafeAttributes",M)}function w(M,k,F,X,Ee,De,Se,it,Rt,xr,Lr,L,B,ae,se,mt){let tr=E(M),ur=p(k),Nr=d(F),kr=l(xr),Zn=f(L),qn={title:"",path:"",url:"",referrer:"",search:"",eventType:s.eventType.SCREEN};return u(u(u(u(u(u(u(u(u(u(u(u({},tr),ur),Nr),kr),qn),C(X)),U(Ee)),O(ae)),S(B)),{},{tags:De,tabId:Se,sessionId:it,taskSessions:Rt,pageLoadId:Lr},Zn),h(se)),v(mt))}function N(M){return"".concat(M.actionSubject," ").concat(M.action)}let j=function(M){return M.QUIET="quiet",M.STANDARD="standard",M.COMPLETE="complete",M}({});function z(M){let k=M.env;return k===void 0||k.includes("prod")?j.QUIET:j.COMPLETE}function H(M){let k=window.screen||{};return{context:{locale:M.locale,screen:{width:k.width,height:k.height,density:window.devicePixelRatio},library:{name:"analytics.js",version:m},validationMode:z(M)}}}function de(M){let{env:k,product:F,subproduct:X,version:Ee,origin:De,platform:Se}=M;return{env:k,product:F,subproduct:X,version:Ee,origin:De,platform:Se}}function ce(M,k,F,X,Ee,De,Se,it,Rt,xr,Lr,L,B){let ae=E(M,de(X)),se=p(k),mt=l(Rt),tr=f(Lr),ur=d(F),Nr=D(X,Ee);return u(u(u(u(u(u(u(u(u({},ae),se),mt),ur),Nr),S(X)),{},{tabId:De,sessionId:Se,taskSessions:it,pageLoadId:xr},tr),h(L)),v(B))}},function(t,o,r){"use strict";r.r(o),r.d(o,"isPlainObject",function(){return s});function n(a){return a!==null&&typeof a=="object"&&Array.isArray(a)===!1}function i(a){return n(a)===!0&&Object.prototype.toString.call(a)==="[object Object]"}function s(a){if(i(a)===!1)return!1;let c=a.constructor;if(typeof c!="function")return!1;let u=c.prototype;return!(i(u)===!1||!("isPrototypeOf"in u))}},function(t,o,r){"use strict";r.r(o);var n=r(18);r.d(o,"CompressionRule",function(){return n.CompressionRule});var i=r(21);r.d(o,"default",function(){return i.default});var s=r(25);r.d(o,"StopLowPriorityEventDelayReason",function(){return s.StopLowPriorityEventDelayReason})},function(t,o,r){"use strict";r.r(o),r.d(o,"CompressionRule",function(){return c});var n=r(2),i=r.n(n),s=r(19),a=r(20);class c{constructor(m,p){if(i()(this,"canCompress",d=>{try{return d&&Object(s.isActionEventType)(d.eventType)&&this.predicate(d)}catch(l){return!1}}),i()(this,"compress",d=>{let[l,f]=Object(a.partition)(d,v=>this.canCompress(v)),h=this.compressFn(l);if(!h)throw new Error("No events were returned from the compression function");return h.forEach(v=>{Object(s.validateActionEventType)(v.eventType),Object(s.validateActionEvent)(v)}),h.concat(f)}),typeof m!="function")throw new Error("Invalid predicate, must be a function that accepts an event and returns a boolean");if(typeof p!="function")throw new Error("Invalid compressFn, must be a function that both accepts and returns an array of events");this.predicate=m,this.compressFn=p}}},function(t,o,r){"use strict";r.r(o),r.d(o,"validateContainersObject",function(){return a}),r.d(o,"validateContainers",function(){return c}),r.d(o,"isActionEventType",function(){return u}),r.d(o,"validateActionEventType",function(){return m}),r.d(o,"validateActionEvent",function(){return p}),r.d(o,"validateScreenEvent",function(){return d}),r.d(o,"validateTrackEvent",function(){return l}),r.d(o,"validateDwellBaseEvent",function(){return f}),r.d(o,"validateUIEvent",function(){return h}),r.d(o,"validateOperationalEvent",function(){return v}),r.d(o,"validateIdentifyEvent",function(){return S}),r.d(o,"validatePlatform",function(){return y});var n=r(9),i=r(16);let s=Object.freeze([n.eventType.OPERATIONAL,n.eventType.TRACK,n.eventType.UI]);function a(E){if(!Object(i.isPlainObject)(E))throw new Error("properties.containers must be an Object");if(!("id"in E))throw new Error("properties.containers is missing field 'id'");if(typeof E.id!="string")throw new Error("properties.containers.id must be of type String");if("type"in E&&typeof E.type!="string")throw new Error("properties.containers.type must be of type String")}function c(E){if(E){if(E&&E.constructor!==Object)throw new Error("properties.containers must be an Object");Object.values(E).forEach(b=>a(b))}}function u(E){switch(E){case n.eventType.OPERATIONAL:case n.eventType.TRACK:case n.eventType.UI:return!0;default:return!1}}function m(E){if(!u(E))throw new Error("Invalid action event type: ".concat(E,", must be one of: [").concat(s,"]"));return!0}function p(E){if(!E)throw new Error("Missing event");if(!E.source)throw new Error("Missing event.source");if(!E.actionSubject)throw new Error("Missing event.actionSubject");if(!E.action)throw new Error("Missing event.action");c(E.containers)}function d(E){if(!E)throw new Error("Missing name")}function l(E){p(E)}function f(E){if(!E)throw new Error("Missing event");if(!E.source)throw new Error("Missing event.source");if(!E.actionSubject)throw new Error("Missing event.actionSubject")}function h(E){p(E)}function v(E){p(E)}function S(E,b){if(!E)throw new Error("Missing userIdType");if(!b)throw new Error("Missing userId");if(!Object(n.isType)(n.userType,E))throw new Error("Invalid userIdType '".concat(E,"', ")+"must be an userType: [".concat(Object(n.objectValues)(n.userType),"]"))}function y(E){if(!Object(n.isType)(n.platformType,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', ")+"must be a platformType: [".concat(Object(n.objectValues)(n.platformType),"]"));if(E.origin===n.originType.DESKTOP&&!Object(n.isType)(n.desktopPlatforms,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', ")+"must be one of [mac, linux, windows]");if(E.origin===n.originType.WEB&&!Object(n.isType)(n.webPlatforms,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', must be one of [web, mobileWeb]"))}},function(t,o,r){"use strict";r.r(o),r.d(o,"mapKeys",function(){return n}),r.d(o,"pick",function(){return i}),r.d(o,"pickBy",function(){return a}),r.d(o,"omitBy",function(){return s}),r.d(o,"omit",function(){return c}),r.d(o,"equals",function(){return u}),r.d(o,"partition",function(){return m});let n=(p,d)=>Object.keys(p).reduce((l,f)=>{let h=d(p[f],f,p);return l[h]=p[f],l},{}),i=(p,d)=>d.reduce((l,f)=>(f in p&&(l[f]=p[f]),l),{}),s=(p,d)=>Object.keys(p).filter(l=>!d(p[l],l)).reduce((l,f)=>(l[f]=p[f],l),{}),a=(p,d)=>Object.keys(p).filter(l=>d(p[l],l)).reduce((l,f)=>(l[f]=p[f],l),{}),c=(p,d)=>Object.keys(p).filter(l=>d.indexOf(l)<0).reduce((l,f)=>(l[f]=p[f],l),{}),u=(p,d)=>{if(p===d)return!0;if(p instanceof Date&&d instanceof Date)return p.getTime()===d.getTime();if(!p||!d||typeof p!="object"&&typeof d!="object")return p===d;if(p.prototype!==d.prototype)return!1;let l=Object.keys(p);return l.length!==Object.keys(d).length?!1:l.every(f=>u(p[f],d[f]))},m=(p,d)=>p.reduce((l,f,h,v)=>(l[d(f,h,v)?0:1].push(f),l),[[],[]])},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n),s=r(22),a=r(23),c=r(25);class u{constructor(p,d){i()(this,"push",(l,f,h,v)=>{this.delayQueue.push(l,f,h,v)}),i()(this,"startLowPriorityEventDelay",(l=s.DEFAULT_DELAY_TIMEOUT,f)=>{if(Number.isNaN(l)||l<=0)throw new Error("Invalid timeout period: ".concat(l,", must be a number greater than 0"));this.delayTimeout&&clearTimeout(this.delayTimeout);let h=l?Math.min(l,s.MAX_DELAY_TIMEOUT):s.MAX_DELAY_TIMEOUT;this.delayCallback=f,this.delayTimeout=setTimeout(()=>this.stopLowPriorityEventDelay(c.StopLowPriorityEventDelayReason.TIMEOUT),h),this.delayQueue.cancelFlush(),this.isDelaying=!0}),i()(this,"stopLowPriorityEventDelay",(l=c.StopLowPriorityEventDelayReason.MANUAL)=>{var f;this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=void 0),this.delayQueue.startFlush(),this.isDelaying=!1,(f=this.delayCallback)===null||f===void 0||f.call(this,l),this.delayCallback=void 0}),i()(this,"isDelayingLowPriorityEvents",()=>this.isDelaying),this.isDelaying=!1,this.delayQueue=new a.default(p,d)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_DELAY_TIMEOUT",function(){return n}),r.d(o,"MAX_DELAY_TIMEOUT",function(){return i});let n=1e4,i=3e4},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(15),a=r(20),c=r(24);let u=7,m=100;class p{constructor(l,f){i()(this,"push",(h,v,S,y)=>{this.eventArgs.push({identifier:h,builtEvent:v,context:S,userInfo:y})}),i()(this,"size",()=>this.eventArgs.length),i()(this,"startFlush",()=>{try{this.eventArgs=this.compressEventArgs(this.eventArgs)}catch(h){console.warn("Failed to perform compression on the delayed analytics events. "+"Error: ".concat(h.message,". Sending ").concat(this.eventArgs.length," uncompressed events instead"))}this.flushNextBatch()}),i()(this,"cancelFlush",()=>{this.flushBatchTimeout&&(clearTimeout(this.flushBatchTimeout),this.flushBatchTimeout=null)}),i()(this,"flushNextBatch",()=>{this.eventArgs.splice(0,u).forEach(v=>this.processFn(v.identifier,v.builtEvent,v.context,v.userInfo)),this.eventArgs.length>0?this.flushBatchTimeout=setTimeout(()=>this.flushNextBatch(),m):this.flushBatchTimeout=null}),i()(this,"compressEventArgs",h=>{let[v,S]=Object(a.partition)(h,b=>this.compressor.canCompress(b.builtEvent)),E=v.reduce((b,g)=>{let C=b.find(T=>Object(a.equals)(T.userInfo,g.userInfo)&&Object(a.equals)(T.context,g.context));return C?C.eventArgs.push(g):b.push({userInfo:g.userInfo,context:g.context,eventArgs:[g]}),b},[]).reduce((b,g)=>{try{let C=g.eventArgs.map(D=>D.builtEvent),O=this.compressor.compress(C).map(D=>({identifier:Object(s.buildActionName)(D),builtEvent:D,userInfo:g.userInfo,context:g.context}));return b.concat(O)}catch(C){return console.warn("Failed to compress some analytics events. "+"Error: ".concat(C.message,". Sending ").concat(g.eventArgs.length," uncompressed events instead")),g.eventArgs}},[]);return S.forEach(b=>E.push(b)),E}),this.processFn=l,this.flushBatchTimeout=null,this.eventArgs=[],this.compressor=new c.default(f)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(15),a=r(20),c=r(18);function u(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function m(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?u(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):u(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}class p{constructor(l=[]){if(i()(this,"canCompress",f=>this.compressionRules.some(h=>h.canCompress(f))),i()(this,"compress",f=>this.createGroups(f).reduce((v,S)=>{let y=this.compressGroup(S);return v.concat(y)},[])),i()(this,"createGroups",f=>f.reduce((h,v)=>{let S=this.compressionRules.find(b=>b.canCompress(v)),y;if(S){let b=Object(s.buildActionFields)(v,v.eventType);y=Object(a.omit)(v,Object.keys(b))}let E=h.find(b=>S===b.compressor&&Object(a.equals)(y,b.contextFields));return E?E.events.push(v):h.push({contextFields:y,compressor:S,events:[v]}),h},[])),i()(this,"compressGroup",f=>{if(!f.compressor)return f.events;try{return f.compressor.compress(f.events).map(v=>m(m({},v),f.contextFields))}catch(h){return console.warn("Failed to compress some analytics events. "+"Error: ".concat(h.message,". Sending ").concat(f.events.length," uncompressed events instead")),f.events}}),!Array.isArray(l))throw new Error("Event compressors must be constructed with an array of CompressionRules");if(!l.every(f=>f instanceof c.CompressionRule))throw new Error("Event compressors can only be constructed with instances of CompressionRule");this.compressionRules=l}}},function(t,o,r){"use strict";r.r(o),r.d(o,"StopLowPriorityEventDelayReason",function(){return n});let n=function(i){return i.TIMEOUT="timeout",i.MANUAL="manual",i}({})},function(t,o,r){"use strict";r.r(o);var n=r(27);r.d(o,"default",function(){return n.default})},function(t,o,r){"use strict";r.r(o),r.d(o,"AnalyticsResponse",function(){return C}),r.d(o,"default",function(){return D});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(28),u=r(52),m=r(59),p=r(65),d=r(66),l=r(67),f=r(64),h=r(69),v=r(86);function S(w,N){var j=Object.keys(w);if(Object.getOwnPropertySymbols){var z=Object.getOwnPropertySymbols(w);N&&(z=z.filter(function(H){return Object.getOwnPropertyDescriptor(w,H).enumerable})),j.push.apply(j,z)}return j}function y(w){for(var N=1;N<arguments.length;N++){var j=arguments[N]!=null?arguments[N]:{};N%2?S(Object(j),!0).forEach(function(z){i()(w,z,j[z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(j)):S(Object(j)).forEach(function(z){Object.defineProperty(w,z,Object.getOwnPropertyDescriptor(j,z))})}return w}class E{constructor(N,j,z,H,de){this.success=N,this.validationErrors=j,this.message=z,this.code=H,this.validationReports=de}isSuccess(){return this.success}getValidationErrors(){return this.validationErrors}getMessage(){return this.message}getCode(){return this.code}getValidationReports(){return this.validationReports}}class b{constructor(N){this.error=N}}class g{constructor(N,j){this.messageId=N,this.results=j}getMessageId(){return this.messageId}getResults(){return this.results}}class C{constructor(N,j,z,H){this.success=N,this.statusCode=j,this.message=z,this.eventResponseList=H}isSuccess(){return this.success}getStatusCode(){return this.statusCode}getMessage(){return this.message}getEventResponseList(){return this.eventResponseList}}class T{constructor(N,j,z){this.messageId=N,this.results=j,this.segmentEvent=z}getMessageId(){return this.messageId}getResults(){return this.results}getSegmentEvent(){return this.segmentEvent}}class O{constructor(N,j,z,H){this.type=N,this.severity=j,this.propertyPath=z,this.message=H}getType(){return this.type}getSeverity(){return this.severity}getPropertyPath(){return this.propertyPath}getMessage(){return this.message}}class D{constructor(N){var j;i()(this,"sendEvents",async(z,H)=>{let de=this.resilienceQueue.getGlobalRetryCount(),ce=this.metrics.getMetricsPayload(),M=y(y({},ce),{},{httpRetryCount:de});for(let Se in M)M[Se]===0&&delete M[Se];let k=await this.attachXIDs(z),F=new Date().toISOString(),Ee={batch:k.map(Se=>(Se.msg.sentAt=F,Se.msg)),sentAt:F,metadata:M},De=this.responseCallback;try{let Se=await Object(l.sendEvents)({url:this.gasv3BatchUrl,batch:Ee,timeout:this.options.requestTimeout});if(this.metrics.subtractFromMetrics(ce),H(null,Se),De!==null&&Se!==null){let it=await Se.clone().json(),Rt=U.toAnalyticsResponse(z,null,it);De(Rt)}}catch(Se){if(H(Se,null),De!==null&&Se!==null){let it=U.toAnalyticsResponse(z,Se,null);De(it)}}}),this.options=y(y({},N),{},{requestTimeout:N.requestTimeout||p.DEFAULT_REQUEST_TIMEOUT,retryQueueOptions:N.retryQueueOptions||{},logger:N.logger||console,disableCookiePersistence:N.disableCookiePersistence||!1}),this.user=new h.default((j=this.options)===null||j===void 0?void 0:j.disableCookiePersistence),this.xidPromiseCallback=N.xidPromiseGetter(),this.gasv3BatchUrl="".concat(N.apiHostProtocol,"://").concat(N.apiHost,"/batch"),this.metrics=Object(u.default)(),this.responseCallback=N.responseCallback,this.resilienceQueue=Object(c.default)(N.retryQueuePrefix,N.product,this.options.retryQueueOptions,this.options.logger),this.resilienceQueue.start(this.sendEvents)}getUser(){return this.user}async track(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.TRACK,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.TRACK,properties:Object(v.prepareEventProperties)(j),event:N}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}async page(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.PAGE,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.PAGE,properties:Object(v.prepareEventProperties)(j),name:N}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}async identify(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.IDENTIFY,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.IDENTIFY,traits:Object(v.prepareEventProperties)(j)}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}buildBaseEvent(N,j,z){let H=Object(v.prepareEventProperties)(N);return{context:Object(v.buildContext)(H),timestamp:new Date().toISOString(),type:j,userId:this.user.getUserId(),anonymousId:z.anonymousId||this.user.getAnonymousId()}}createMessageId(){return"ajs-".concat(a()())}packageEvent(N){let{apiHost:j,apiHostProtocol:z}=this.options;return{headers:{"Content-Type":"text/plain"},msg:N,url:"".concat(z,"://").concat(j,"/").concat(N.type.charAt(0))}}async attachXIDs(N){return this.xidPromiseCallback?Object(m.attachXidToMultipleEvents)(N,this.xidPromiseCallback):Promise.resolve(N)}setResponseCallback(N){this.responseCallback=N}}class U{static toAnalyticsResponse(N,j,z){let H=[];if(z!==null){let[M,k]=[z.code,z.success];if(M>=200&&M<=299){var de;return(de=z.validationReports)===null||de===void 0||de.forEach(F=>{let X=N.find(Ee=>Ee.msg.messageId===F.messageId);X&&H.push(new T(X.msg.messageId,F.results,X.msg))}),new C(k,M,d.HTTP_STATUS_CODE_MAP.get(M),H)}else if(M>=400&&M<=499){var ce;let F=((ce=z.message)===null||ce===void 0?void 0:ce.error)!==null?z.message.error:d.HTTP_STATUS_CODE_MAP.has(M)?d.HTTP_STATUS_CODE_MAP.get(M):d.HTTP_STATUS_CODE_MAP.get(-1);return N.forEach(X=>{H.push(new T(X.msg.messageId,[],X.msg))}),new C(k,M,F,H)}}else if(j!==null&&j.message!==null){let M=j.message.match(U.http_error_regex);if(M)return N.forEach(k=>{H.push(new T(k.msg.messageId,[],k.msg))}),new C(!1,Number(M[1]),M[2],H)}return N.forEach(M=>{H.push(new T(M.msg.messageId,[],M.msg))}),new C(!1,-1,d.HTTP_STATUS_CODE_MAP.get(-1),H)}}i()(U,"http_error_regex",/HTTP Error\s([0-9]{3})\s\((.+)\)/)},function(t,o,r){"use strict";r.r(o);var n=r(29),i=r(53);r.d(o,"ResilienceMechanism",function(){return i.ResilienceMechanism}),o.default=(s,a,c,u)=>new n.default(s,a,c||{},u)},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_POLLING_OPTIONS",function(){return v}),r.d(o,"default",function(){return S});var n=r(2),i=r.n(n),s=r(30),a=r(35),c=r(52),u=r(54),m=r(55),p=r(53);function d(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function l(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?d(Object(b),!0).forEach(function(g){i()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):d(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}let f=6e4,h={backoffFactor:0,backoffJitterPercentage:0,flushWaitMs:f,minRetryDelay:f,maxRetryDelay:f},v={backoffFactor:2,backoffJitterPercentage:.2,batchFlushSize:7,flushBeforeUnload:!1,flushWaitMs:500,maxAttempts:10,maxItems:1e3,maxRetryDelay:3e4,minRetryDelay:1e3};class S{constructor(E,b,g,C){this.queuePrefix=E,this.resilience=new a.default(b,{logger:C,maxAttempts:g==null?void 0:g.maxAttempts,maxEventLimit:g==null?void 0:g.maxItems}),this.options=this.buildOptions(g),this.scheduler=new m.default(l(l({},this.options),{},{waitInterval:g!=null&&g.flushBeforeUnload?0:this.options.flushWaitMs}),this.scheduleCallback.bind(this)),this.longPollingScheduler=new m.default(l(l({},h),{},{waitInterval:h.flushWaitMs}),this.scheduleLongCallBack.bind(this)),this.metricsCollector=Object(c.default)(),this.networkStatus=new u.default(T=>{T===p.NetworkStatusEnum.OFFLINE?this.scheduler.stop():this.checkEventCountAndReschedule()})}start(E){this.batchFlushCallback=E,this.longPollingScheduler.schedule()}stop(){this.scheduler.stop(),this.longPollingScheduler.stop()}async addItem(E){let b=JSON.parse(JSON.stringify(E)),{numberOfEvictedItems:g}=await this.resilience.addItem(b,{},a.GuardPolicy.EVICT);this.scheduler.schedule(),this.metricsCollector.addToEventCount(),g>0&&this.metricsCollector.addToItemsDiscardedByOverflowCounter(g)}getGlobalRetryCount(){return this.scheduler.getFailureCount()}async scheduleCallback(E){if(this.networkStatus.getNetworkStatus()===p.NetworkStatusEnum.OFFLINE){E(m.DoneState.NOOP);return}try{let b=await this.resilience.processItems(this.flush.bind(this),this.options.batchFlushSize);E(b)}catch(b){if(b.name===a.CallbackProcessingErrorName){E(m.DoneState.ERROR);return}}finally{await this.checkEventCountAndReschedule()}}async checkEventCountAndReschedule(){let E=await this.resilience.getItemCount();E>0&&this.scheduler.schedule({immediate:E>=this.options.batchFlushSize})}async scheduleLongCallBack(E){let b=Object(s.purgeOrphanedQueues)(this.queuePrefix);this.metricsCollector.addToPurgedQueuesMetrics(b);let g=await Object(s.reclaimEvents)(this.queuePrefix,async C=>{let T=C.map(D=>({item:D.item,retryAttempts:D.attemptNumber,id:D.id})),{items:O}=await this.resilience.bulkAddItem(T,a.GuardPolicy.IGNORE);return O.length===T.length?{status:"successful"}:{status:"partial",acceptedItemIds:O.map(D=>D.id)}});this.metricsCollector.addToReclaimMetrics(g),await this.checkEventCountAndReschedule(),E(m.DoneState.SUCCESS),this.longPollingScheduler.schedule()}flush(E,b){this.metricsCollector.setResilienceMechanism(this.resilience.storeType());let{batchFlushCallback:g}=this;if(!g)throw new Error("batchFlushCallback has not been set. Call PullBatchableQueue#start first.");return new Promise((C,T)=>{if(E.length<=0){C(m.DoneState.NOOP);return}let O=E.map(D=>{let U=D.item;return D.retryAttempts>0&&U.msg&&(U.msg._metadata||(U.msg._metadata={}),U.msg._metadata.failedAttempts=D.retryAttempts),U});g(O,D=>{D?(b.numberOfDeletedItems>0&&this.metricsCollector.addToItemsDiscardedByRetryCounter(b.numberOfDeletedItems),T(D)):C(m.DoneState.SUCCESS)})})}buildOptions(E){return{backoffFactor:(E==null?void 0:E.backoffFactor)||v.backoffFactor,backoffJitterPercentage:(E==null?void 0:E.backoffJitterPercentage)!==void 0?E.backoffJitterPercentage:v.backoffJitterPercentage,batchFlushSize:(E==null?void 0:E.batchFlushSize)||v.batchFlushSize,flushBeforeUnload:(E==null?void 0:E.flushBeforeUnload)||v.flushBeforeUnload,flushWaitMs:(E==null?void 0:E.flushWaitMs)||v.flushWaitMs,maxItems:(E==null?void 0:E.maxItems)||v.maxItems,maxAttempts:(E==null?void 0:E.maxAttempts)||v.maxAttempts,maxRetryDelay:(E==null?void 0:E.maxRetryDelay)||v.maxRetryDelay,minRetryDelay:(E==null?void 0:E.minRetryDelay)||v.minRetryDelay}}}},function(t,o,r){"use strict";r.r(o);var n=r(31);r.d(o,"reclaimEvents",function(){return n.default});var i=r(34);r.d(o,"purgeOrphanedQueues",function(){return i.default})},function(t,o,r){"use strict";r.r(o);var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(32),u=r(33);function m(S,y){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(S);y&&(b=b.filter(function(g){return Object.getOwnPropertyDescriptor(S,g).enumerable})),E.push.apply(E,b)}return E}function p(S){for(var y=1;y<arguments.length;y++){var E=arguments[y]!=null?arguments[y]:{};y%2?m(Object(E),!0).forEach(function(b){i()(S,b,E[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(E)):m(Object(E)).forEach(function(b){Object.defineProperty(S,b,Object.getOwnPropertyDescriptor(E,b))})}return S}let d=S=>new Promise(y=>{setTimeout(y,S)}),l=S=>{try{return Object.keys(localStorage).filter(y=>y.startsWith(S)).map(y=>y.split(".")).filter(y=>{if(y.length===3&&y[0]===S&&y[2]===c.LocalStorageKeySuffix.ACK)try{let E=localStorage.getItem(y.join("."));if(E){let b=parseInt(E);return c.Timers.RECLAIM_TIMEOUT+b<Date.now()}}catch(E){}return!1}).map(y=>y[1])}catch(y){}return[]},f=async(S,y)=>{let{ack:E,reclaimStart:b,reclaimEnd:g}=S.storageKeys,C=Date.now();if(localStorage.setItem(b,S.reclaimProcessId),localStorage.setItem(E,C.toString()),await d(c.Timers.RECLAIM_WAIT),Date.now()>C+c.Timers.RECLAIM_WAIT_THRESHOLD||localStorage.getItem(b)!==S.reclaimProcessId)throw new Error("Took to long to callback, reclaim abandonded. After reclaimStart.");if(localStorage.setItem(g,S.reclaimProcessId),await d(c.Timers.RECLAIM_WAIT),Date.now()>C+c.Timers.RECLAIM_WAIT_THRESHOLD||localStorage.getItem(b)!==S.reclaimProcessId||localStorage.getItem(g)!==S.reclaimProcessId)throw new Error("Took to long to callback, reclaim abandonded. After reclaimEnd.");return h(S,y)},h=async(S,y)=>{let{queue:E,inProgress:b}=S.storageKeys,g=JSON.parse(localStorage.getItem(E)||"[]"),C=JSON.parse(localStorage.getItem(b)||"{}"),T=Object.entries(C).map(([D,U])=>p(p({},U),{},{attemptNumber:U.attemptNumber+1,id:D})),O=[...g,...T];if(O.length>0){let D=await y(O);if(D.status==="successful")v(S.storageKeys);else if(D.status==="partial"){let U=O.filter(w=>!D.acceptedItemIds.includes(w.id));return localStorage.removeItem(b),localStorage.setItem(E,JSON.stringify(U)),{fullReclaim:!1}}}else v(S.storageKeys);return{fullReclaim:!0}},v=S=>{localStorage.removeItem(S.queue),localStorage.removeItem(S.inProgress),localStorage.removeItem(S.reclaimEnd),localStorage.removeItem(S.reclaimStart),localStorage.removeItem(S.ack)};o.default=async(S,y)=>{if(typeof S!="string"||S.length===0)return{fullReclaims:0,partialReclaims:0,failedReclaims:0};let E=a()(),g=l(S).map(w=>f({queuePrefix:S,reclaimProcessId:E,storageKeys:Object(u.createLocalStorageKeys)(S,w)},y)),C=await Promise.allSettled(g),T=C.filter(w=>w.status==="rejected"),O=C.filter(w=>w.status==="fulfilled").map(w=>w.value),D=O.filter(w=>w.fullReclaim),U=O.filter(w=>!w.fullReclaim);return{failedReclaims:T.length,partialReclaims:U.length,fullReclaims:D.length}}},function(t,o,r){"use strict";r.r(o),r.d(o,"LocalStorageKeySuffix",function(){return n}),r.d(o,"Timers",function(){return i});let n=function(s){return s.IN_PROGRESS="inProgress",s.QUEUE="queue",s.RECLAIM_START="reclaimStart",s.RECLAIM_END="reclaimEnd",s.ACK="ack",s}({}),i=function(s){return s[s.RECLAIM_TIMEOUT=1e4]="RECLAIM_TIMEOUT",s[s.RECLAIM_WAIT=500]="RECLAIM_WAIT",s[s.RECLAIM_WAIT_THRESHOLD=2e3]="RECLAIM_WAIT_THRESHOLD",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"createLocalStorageKeys",function(){return i});var n=r(32);let i=(s,a)=>({[n.LocalStorageKeySuffix.ACK]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.ACK),[n.LocalStorageKeySuffix.QUEUE]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.QUEUE),[n.LocalStorageKeySuffix.IN_PROGRESS]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.IN_PROGRESS),[n.LocalStorageKeySuffix.RECLAIM_START]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.RECLAIM_START),[n.LocalStorageKeySuffix.RECLAIM_END]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.RECLAIM_END)})},function(t,o,r){"use strict";r.r(o);var n=r(32),i=r(33);let s=Object.values(n.LocalStorageKeySuffix);o.default=a=>{if(typeof a!="string"||a.length===0)return 0;try{let c=Object.keys(localStorage).filter(m=>m&&m.startsWith("".concat(a,"."))||!1).map(m=>m.split(".")).filter(m=>m.length===3&&s.includes(m[2])).reduce((m,p)=>{let[,d,l]=p;return m[d]===void 0&&(m[d]={}),m[d][l]=!0,m},{}),u=Object.keys(c).filter(m=>c[m][n.LocalStorageKeySuffix.ACK]!==!0);return u.forEach(m=>{let{queue:p,inProgress:d,reclaimStart:l,reclaimEnd:f}=Object(i.createLocalStorageKeys)(a,m);localStorage.removeItem(d),localStorage.removeItem(p),localStorage.removeItem(l),localStorage.removeItem(f)}),u.length}catch(c){}return 0}},function(t,o,r){"use strict";r.r(o);var n=r(36),i=r(37);r.d(o,"GuardPolicy",function(){return i.GuardPolicy}),r.d(o,"StoreType",function(){return i.StoreType});var s=r(38);r.d(o,"CallbackProcessingErrorName",function(){return s.CallbackProcessingErrorName}),o.default=n.default},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(37),i=r(38),s=r(44),a=r(50),c=r(49);class u{constructor(p,d={}){if(this.namespace=p,this.options=Object(c.createOptionsWithDefaults)(d),!p||p.length===0||typeof p!="string")throw new Error("Invalid namespace provided");this.resilience=this.getResilienceMechanism(p,d)}getResilienceMechanism(p,d){if(!d.useMemory)try{return new s.default(p,d)}catch(f){if(!(f instanceof i.NoIndexedDbError)){var l;(l=d.logger)===null||l===void 0||l.warn("Attempted to create IndexedDbResilience but failed. Using memory instead.")}}return new a.default(this.namespace,d)}addItem(p,d,l=n.GuardPolicy.ABANDON){return this.runOrFailOver(()=>this.resilience.addItem(p,d,l))}bulkAddItem(p,d=n.GuardPolicy.ABANDON){return this.runOrFailOver(()=>this.resilience.bulkAddItem(p,d))}getItems(p){return this.runOrFailOver(()=>this.resilience.getItems(p))}deleteItems(p){return this.runOrFailOver(()=>this.resilience.deleteItems(p))}getItemCount(){return this.runOrFailOver(()=>this.resilience.getItemCount())}processItems(p,d){return this.runOrFailOver(()=>this.resilience.processItems(p,d))}storeType(){return this.resilience.storeType()}async runOrFailOver(p){try{return await p()}catch(d){if(Object(i.shouldIgnoreResilienceDbError)(d))throw d;return this.resilience.storeType()===n.StoreType.INDEXEDDB&&await this.failOver(),p()}}async failOver(){let p=this.resilience,d=new a.default(this.namespace,this.options);this.resilience=d;try{let{items:l}=await p.getItems(this.options.maxEventLimit);if(l.length>0){let h=(await d.bulkAddItemWrapperType(l,n.GuardPolicy.IGNORE)).items.map(v=>v.id);await p.deleteItems(h)}}catch(l){this.options.logger.warn("Unexpected error from ResilienceDb, switching to MemoryDb")}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"NAMESPACE_AND_TIME_ADDED_INDEX",function(){return n}),r.d(o,"RESILIENCE_DB_NAME",function(){return i}),r.d(o,"RESILIENCE_STORE_NAME",function(){return s}),r.d(o,"TIME_TO_PROCESS_AFTER_INDEX",function(){return a}),r.d(o,"TIME_ADDED_INDEX",function(){return c}),r.d(o,"RETRY_INDEX",function(){return u}),r.d(o,"INDEXEDDB_TIMEOUT",function(){return m}),r.d(o,"StoreType",function(){return p}),r.d(o,"GuardPolicy",function(){return d});let n="namespace-timeAdded",i="analytics-web-client",s="analytics-resilience",a="timeToBeProcessedAfter",c="timeAdded",u="retryAttempts",m=15e3,p=function(l){return l.INDEXEDDB="indexeddb",l.MEMORY="memory",l}({}),d=function(l){return l.IGNORE="ignore",l.ABANDON="abandon",l.EVICT="evict",l}({})},function(t,o,r){"use strict";r.r(o);var n=r(39);r.d(o,"AbandonWriteError",function(){return n.default}),r.d(o,"AbandonWriteErrorName",function(){return n.AbandonWriteErrorName});var i=r(40);r.d(o,"CallbackProcessingError",function(){return i.default}),r.d(o,"CallbackProcessingErrorName",function(){return i.CallbackProcessingErrorName});var s=r(41);r.d(o,"InvalidPolicyError",function(){return s.default}),r.d(o,"InvalidPolicyErrorName",function(){return s.InvalidPolicyErrorName});var a=r(42);r.d(o,"NoIndexedDbError",function(){return a.default}),r.d(o,"NoIndexedDbErrorName",function(){return a.NoIndexedDbErrorName});var c=r(43);r.d(o,"shouldIgnoreResilienceDbError",function(){return c.shouldIgnoreResilienceDbError})},function(t,o,r){"use strict";r.r(o),r.d(o,"AbandonWriteErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="AbandonWriteError";class i extends Error{constructor(a){super("Event Limit reached. Abandoning write to: ".concat(a)),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"CallbackProcessingErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="CallbackProcessingError";class i extends Error{constructor(a){let m=a&&typeof a=="object"&&"toString"in a&&typeof a.toString=="function"&&a.toString()||typeof a=="string"&&a||"Argument passed to CallbackProcessingError was not an Error or string.";super("Error thrown while processing events in callback: ".concat(m)),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"InvalidPolicyErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="InvalidPolicyError";class i extends Error{constructor(a,c){super("Method '".concat(c,"' cannot be called with policy '").concat(a,"'.")),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"NoIndexedDbErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="NoIndexedDbError";class i extends Error{constructor(){super("window.indexeddb is undefined."),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"shouldIgnoreResilienceDbError",function(){return a});var n=r(39),i=r(40),s=r(41);let a=c=>{if(c&&typeof c=="object"&&"name"in c){let u=c;return typeof u.name=="string"&&(u.name===n.AbandonWriteErrorName||u.name===i.CallbackProcessingErrorName||u.name===s.InvalidPolicyErrorName)}return!1}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return S});var n=r(45),i=r.n(n),s=r(2),a=r.n(s),c=r(37),u=r(47),m=r(38),p=r(48),d=r(49);let l=["item"],f=["items"];function h(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function v(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?h(Object(b),!0).forEach(function(g){a()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):h(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}class S{constructor(E,b={}){if(a()(this,"startDB",async()=>new Promise(async(g,C)=>{if(typeof window!="undefined"){let T=window.setTimeout(()=>{this.logger.warn("IndexedDB timed out."),C(new m.NoIndexedDbError)},c.INDEXEDDB_TIMEOUT),O=window.indexedDB.open(c.RESILIENCE_DB_NAME,1);O.onupgradeneeded=D=>{if(D.oldVersion!==0)throw new Error("We cannot upgrade the database. Do not do this.");let w=O.result.createObjectStore(c.RESILIENCE_STORE_NAME,{keyPath:"id"});w.createIndex(c.TIME_TO_PROCESS_AFTER_INDEX,c.TIME_TO_PROCESS_AFTER_INDEX,{unique:!1}),w.createIndex(c.RETRY_INDEX,c.RETRY_INDEX,{unique:!1}),w.createIndex(c.TIME_ADDED_INDEX,c.TIME_ADDED_INDEX,{unique:!1}),w.createIndex(c.NAMESPACE_AND_TIME_ADDED_INDEX,["namespace","timeAdded"],{unique:!1})},O.onerror=function(){C(new m.NoIndexedDbError)};try{return await Object(d.requestToPromise)(O),g(O.result)}catch(D){this.logger.warn("IndexedDB failed to initialise.",D),C(new m.NoIndexedDbError)}finally{window.clearTimeout(T)}}else this.logger.warn("IndexedDB failed to initialise. No 'window' object."),C(new m.NoIndexedDbError)})),a()(this,"addItem",async(g,C={},T=c.GuardPolicy.ABANDON)=>{let{logger:O,namespace:D}=this,U=Object(d.convertToItemWrapper)(g,D,C),{objectStore:w}=await this.getObjectStoreAndTransaction("readwrite");if(T===c.GuardPolicy.IGNORE)throw new m.InvalidPolicyError(T,"IndexedDbConnector#addItem");try{if(!U.namespace||U.namespace.length===0||typeof U.namespace!="string")throw new Error("Namespace not specified");let N=await this.globalEventLimitGuard.insertItems(w,[U],T);if(N.items.length===1)return{item:N.items[0],numberOfEvictedItems:N.numberOfEvictedItems};throw new Error("Incorrect number of items added. Expected: 1, got: ".concat(N.items.length))}catch(N){throw Object(m.shouldIgnoreResilienceDbError)(N)?N:(O.log("Failed to add item to table",N),new Error("Request to add item to table failed"))}}),a()(this,"bulkAddItem",async(g,C=c.GuardPolicy.ABANDON)=>{let{logger:T,namespace:O}=this,D=g.map(w=>{let{item:N}=w,j=i()(w,l);return Object(d.convertToItemWrapper)(N,O,j)}),{objectStore:U}=await this.getObjectStoreAndTransaction("readwrite");try{return await this.globalEventLimitGuard.insertItems(U,D,C)}catch(w){throw Object(m.shouldIgnoreResilienceDbError)(w)?w:(T.log("Failed to add item to table",w),new Error("Request to add item to table failed"))}}),a()(this,"getItems",async(g=u.GET_ITEM_COUNT)=>{let C=g>0?g:u.GET_ITEM_COUNT,{logger:T}=this,O=this.options.maxAttempts,{transaction:D,objectStore:U}=await this.getObjectStoreAndTransaction("readwrite"),w=U.index(c.TIME_TO_PROCESS_AFTER_INDEX),N=IDBKeyRange.upperBound(Date.now()),j=w.openCursor(N),z=await new Promise(async(H,de)=>{let ce=[],M=0;j.onerror=k=>{T.error("Failed to open cursor:",k),de("Failed to open cursor")},j.onsuccess=k=>{let F=k.target.result;if(F){let X=v({},F.value);ce.push(X);let Ee=F.value;if(Ee.retryAttempts+=1,Ee.timeToBeProcessedAfter=Date.now()+u.VISIBILITY_TIMEOUT,Ee.retryAttempts>=O){++M;let De=F.delete();Object(d.monitorErrorsOnRequest)(De,T)}else{let De=F.update(Ee);Object(d.monitorErrorsOnRequest)(De,T)}ce.length<C?F.continue():H({items:ce,numberOfDeletedItems:M})}else H({items:ce,numberOfDeletedItems:M})}});return await Object(d.commitTransaction)(D,this.logger),z}),a()(this,"deleteItems",async g=>{let{transaction:C,objectStore:T}=await this.getObjectStoreAndTransaction("readwrite");try{let O=g.map(D=>this.deleteItem(T,D));await Object(d.commitTransaction)(C,this.logger),await Promise.all(O)}catch(O){throw this.logger.warn("Failed to delete items from indexeddb.",O),O}}),a()(this,"getItemCount",async()=>{let{transaction:g,objectStore:C}=await this.getObjectStoreAndTransaction("readonly"),T=C.index(c.TIME_TO_PROCESS_AFTER_INDEX),O=IDBKeyRange.upperBound(Date.now()),D=T.count(O),U=await Object(d.requestToPromise)(D);return await Object(d.commitTransaction)(g,this.logger),U.target.result}),a()(this,"processItems",async(g,C=u.GET_ITEM_COUNT)=>{let T=await this.getItems(C),{items:O}=T,D=i()(T,f);try{let U=await g(O,D),w=O.map(N=>N.id);return await this.deleteItems(w),U}catch(U){throw new m.CallbackProcessingError(U)}}),a()(this,"deleteItem",async(g,C)=>{let{logger:T}=this;try{await Object(d.requestToPromise)(g.delete(C))}catch(O){throw T.error("Failed to delete item:",C,O),O}}),a()(this,"getObjectStoreAndTransaction",async g=>{let C=(await this.db).transaction(c.RESILIENCE_STORE_NAME,g),T=C.objectStore(c.RESILIENCE_STORE_NAME);return{transaction:C,objectStore:T}}),this.options=Object(d.createOptionsWithDefaults)(b),this.namespace=E,this.logger=this.options.logger,!window.indexedDB)throw new m.NoIndexedDbError;this.db=this.startDB(),this.db.catch(()=>{}),this.globalEventLimitGuard=new p.default(this.options.maxEventLimit,this.namespace,this.logger,this.deleteItem)}storeType(){return c.StoreType.INDEXEDDB}}},function(t,o,r){var n=r(46);function i(s,a){if(s==null)return{};var c,u,m=n(s,a);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(s);for(u=0;u<p.length;u++)c=p[u],a.includes(c)||{}.propertyIsEnumerable.call(s,c)&&(m[c]=s[c])}return m}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o){function r(n,i){if(n==null)return{};var s={};for(var a in n)if({}.hasOwnProperty.call(n,a)){if(i.includes(a))continue;s[a]=n[a]}return s}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){"use strict";r.r(o),r.d(o,"GET_ITEM_COUNT",function(){return n}),r.d(o,"VISIBILITY_TIMEOUT",function(){return i}),r.d(o,"MAX_ATTEMPTS",function(){return s}),r.d(o,"EVENT_COUNT_LIMIT",function(){return a});let n=7,i=60*1e3,s=10,a=5e3},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n),s=r(37),a=r(38),c=r(49);class u{constructor(p,d,l,f){if(i()(this,"deleteOldestNEvents",async(h,v)=>{var S;let y=h.index(s.NAMESPACE_AND_TIME_ADDED_INDEX),E=IDBKeyRange.bound([this.namespace,0],[this.namespace,Date.now()]),b=y.getAllKeys(E,v),g=await Object(c.requestToPromise)(b),C=g==null||(S=g.target)===null||S===void 0?void 0:S.result;if(C&&Array.isArray(C)&&C.length>0)try{let T=C.map(O=>this.deleteItemHandler(h,O));await Promise.all(T)}catch(T){throw this.logger.warn("Failed to delete items from indexeddb.",T),T}}),p>0)this.eventLimit=p;else throw Error("Event Limit has to be set higher than 1");this.namespace=d,this.logger=l,this.deleteItemHandler=f}async insertItems(p,d,l=s.GuardPolicy.ABANDON){let f=[...d],h=0;switch(l){case s.GuardPolicy.ABANDON:await this.throwIfNotEnoughSpace(p,d.length);break;case s.GuardPolicy.EVICT:h=await this.evictIfNotEnoughSpace(p,d.length);break;case s.GuardPolicy.IGNORE:await this.calculateHowManyEventsWeCanAdd(p,f);break}let v=f.map(S=>Object(c.requestToPromise)(p.add(S)));return await Promise.all(v),await Object(c.commitTransaction)(p.transaction,this.logger),{items:f,numberOfEvictedItems:h}}async throwIfNotEnoughSpace(p,d){let l=await this.calculateFreeSpace(p);if(l<d)throw new a.AbandonWriteError("Not enough space in IndexedDb. Needed ".concat(d," but only had ").concat(l))}async evictIfNotEnoughSpace(p,d){let l=await this.calculateFreeSpace(p);if(l<d){let f=d-l;return await this.deleteOldestNEvents(p,f),f}return 0}async calculateHowManyEventsWeCanAdd(p,d){let l=await this.calculateFreeSpace(p);if(l<d.length){let f=d.length-l,h=d.length-f;d.splice(h,f)}}async calculateFreeSpace(p){let d=await this.getCountofEventsInObjectStore(p);return this.eventLimit-d}async getCountofEventsInObjectStore(p){let d=p.index(s.NAMESPACE_AND_TIME_ADDED_INDEX),l=IDBKeyRange.bound([this.namespace,0],[this.namespace,Date.now()]),f=d.count(l);return(await Object(c.requestToPromise)(f)).target.result}}},function(t,o,r){"use strict";r.r(o),r.d(o,"convertToItemWrapper",function(){return a}),r.d(o,"createOptionsWithDefaults",function(){return c}),r.d(o,"requestToPromise",function(){return u}),r.d(o,"transactionToPromise",function(){return m}),r.d(o,"commitTransaction",function(){return p}),r.d(o,"monitorErrorsOnRequest",function(){return d});var n=r(6),i=r.n(n),s=r(47);let a=(l,f,{id:h,retryAttempts:v,timeToProcessOffset:S})=>({item:l,id:h||i()(),retryAttempts:v||0,timeToBeProcessedAfter:Date.now()+(S||0),namespace:f,timeAdded:Date.now()}),c=l=>({logger:l.logger||console,useMemory:l.useMemory||!1,maxAttempts:l.maxAttempts||s.MAX_ATTEMPTS,maxEventLimit:l.maxEventLimit||s.EVENT_COUNT_LIMIT}),u=l=>new Promise((f,h)=>{l.onsuccess=v=>{f(v)},l.onerror=v=>{h(v)}}),m=l=>new Promise((f,h)=>{l.oncomplete=()=>{f()},l.onerror=v=>{h(v)},l.onabort=v=>{h(v)}}),p=(l,f)=>{try{typeof l.commit=="function"&&l.commit()}catch(h){throw f.error("Failed to force commit transaction:",h),h}return m(l)},d=(l,f)=>{l.onerror=h=>{f.warn("Error thrown from request:",h)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return S});var n=r(2),i=r.n(n),s=r(45),a=r.n(s),c=r(37),u=r(47),m=r(38),p=r(51),d=r(49);let l=["item"],f=["items"];function h(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function v(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?h(Object(b),!0).forEach(function(g){i()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):h(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}class S{constructor(E,b={}){this.namespace=E,this.memoryStore=[],this.options=Object(d.createOptionsWithDefaults)(b),this.globalEventLimitGuard=new p.default(this.options.maxEventLimit,{addItems:this.addItems.bind(this),getItemCount:this.getItemCount.bind(this),evictEventsIfNeeded:this.evictEventsIfNeeded.bind(this)})}async addItem(E,b={},g=c.GuardPolicy.ABANDON){if(g===c.GuardPolicy.IGNORE)throw new m.InvalidPolicyError(g,"IndexedDbConnector#addItem");let C=Object(d.convertToItemWrapper)(E,this.namespace,b),T=await this.globalEventLimitGuard.insertItemsToMemoryStore([C],g);return Promise.resolve({item:T.items[0],numberOfEvictedItems:T.numberOfEvictedItems})}bulkAddItem(E,b=c.GuardPolicy.ABANDON){let g=E.map(C=>{let{item:T}=C,O=a()(C,l);return Object(d.convertToItemWrapper)(T,this.namespace,O)});return this.bulkAddItemWrapperType(g,b)}bulkAddItemWrapperType(E,b=c.GuardPolicy.ABANDON){return Promise.resolve(this.globalEventLimitGuard.insertItemsToMemoryStore(E,b))}getItems(E=u.GET_ITEM_COUNT){return Promise.resolve(this.synchronousGetItems(E))}synchronousGetItems(E=u.GET_ITEM_COUNT){let b=E>0?E:u.GET_ITEM_COUNT,g=Date.now(),C=[],T=[];for(let O of this.memoryStore)if(O.timeToBeProcessedAfter<=g&&(C.push(v({},O)),O.timeToBeProcessedAfter+=u.VISIBILITY_TIMEOUT,O.retryAttempts+=1,O.retryAttempts>=this.options.maxAttempts&&T.push(O)),C.length>=b)break;return T.forEach(O=>{let D=this.memoryStore.indexOf(O);this.memoryStore.splice(D,1)}),{items:C,numberOfDeletedItems:T.length}}deleteItems(E){return this.memoryStore=this.memoryStore.filter(b=>!E.includes(b.id)),Promise.resolve(void 0)}getItemCount(){let E=Date.now(),b=this.memoryStore.filter(g=>g.timeToBeProcessedAfter<=E).length;return Promise.resolve(b)}async processItems(E,b){let g=this.synchronousGetItems(b),{items:C}=g,T=a()(g,f),O=C.map(D=>D.id);try{let D=await E(C,T);return await this.deleteItems(O),D}catch(D){throw new m.CallbackProcessingError(D)}}storeType(){return c.StoreType.MEMORY}addItems(E){this.memoryStore.push(...E),this.memoryStore.sort(function(b,g){return b.timeAdded-g.timeAdded})}evictEventsIfNeeded(E){let b=this.memoryStore.length;if(b>E){let g=b-E;return this.memoryStore.splice(0,g),g}return 0}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(2),i=r.n(n),s=r(37),a=r(38);class c{constructor(m,p){if(i()(this,"insertItemsToMemoryStore",(d,l)=>{switch(l){case s.GuardPolicy.ABANDON:return this.handleAbandonIfLimitWillExceedPolicy(d);case s.GuardPolicy.EVICT:return Promise.resolve(this.handleEvictOldestIfLimitExceededPolicy(d));case s.GuardPolicy.IGNORE:return this.handleAddAsManyAsPossible(d)}}),m>0)this.eventLimit=m;else throw Error("Event Limit has to be set higher than 1");this.memoryItemHandlers=p}async handleAbandonIfLimitWillExceedPolicy(m){if(await this.memoryItemHandlers.getItemCount()+m.length>this.eventLimit)throw new a.AbandonWriteError(s.StoreType.MEMORY);return this.memoryItemHandlers.addItems(m),{items:m,numberOfEvictedItems:0}}handleEvictOldestIfLimitExceededPolicy(m){this.memoryItemHandlers.addItems(m);let p=this.memoryItemHandlers.evictEventsIfNeeded(this.eventLimit);return{items:m,numberOfEvictedItems:p}}async handleAddAsManyAsPossible(m){let p=this.eventLimit-await this.memoryItemHandlers.getItemCount(),d=p>m.length?m:m.slice(0,p);return this.memoryItemHandlers.addItems(d),{items:d,numberOfEvictedItems:0}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"MetricsCollector",function(){return a});var n=r(2),i=r.n(n),s=r(53);class a{constructor(){i()(this,"itemsDiscardedByRetry",0),i()(this,"eventCount",0),i()(this,"itemsDiscardedByOverflow",0),i()(this,"resilienceMechanism",s.ResilienceMechanism.INDEXEDDB),i()(this,"localstorageNumberOfQueuesPurged",0),i()(this,"localstorageNumberOfFullReclaims",0),i()(this,"localstorageNumberOfPartialReclaims",0),i()(this,"localstorageNumberOfFailedReclaims",0)}addToItemsDiscardedByRetryCounter(m=1){this.itemsDiscardedByRetry+=m}addToEventCount(){this.eventCount++}addToItemsDiscardedByOverflowCounter(m=1){this.itemsDiscardedByOverflow+=m}setResilienceMechanism(m){this.resilienceMechanism=m}addToReclaimMetrics(m){this.localstorageNumberOfFullReclaims+=m.fullReclaims,this.localstorageNumberOfPartialReclaims+=m.partialReclaims,this.localstorageNumberOfFailedReclaims+=m.failedReclaims}addToPurgedQueuesMetrics(m){this.localstorageNumberOfQueuesPurged+=m}subtractFromMetrics(m){this.itemsDiscardedByRetry=this.subtractFromCount(this.itemsDiscardedByRetry,m.itemsDiscardedByRetry),this.eventCount=this.subtractFromCount(this.eventCount,m.eventCount),this.itemsDiscardedByOverflow=this.subtractFromCount(this.itemsDiscardedByOverflow,m.itemsDiscardedByOverflow),this.localstorageNumberOfFullReclaims=this.subtractFromCount(this.localstorageNumberOfFullReclaims,m.fullReclaims),this.localstorageNumberOfPartialReclaims=this.subtractFromCount(this.localstorageNumberOfPartialReclaims,m.partialReclaims),this.localstorageNumberOfFailedReclaims=this.subtractFromCount(this.localstorageNumberOfFailedReclaims,m.failedReclaims),this.localstorageNumberOfQueuesPurged=this.subtractFromCount(this.localstorageNumberOfQueuesPurged,m.localstorageQueuesPurged)}subtractFromCount(m,p){return Math.max(m-(p||0),0)}getMetricsPayload(){return{itemsDiscardedByRetry:this.itemsDiscardedByRetry,eventCount:this.eventCount,itemsDiscardedByOverflow:this.itemsDiscardedByOverflow,resilienceMechanism:this.resilienceMechanism,localstorageQueuesPurged:this.localstorageNumberOfQueuesPurged,fullReclaims:this.localstorageNumberOfFullReclaims,partialReclaims:this.localstorageNumberOfPartialReclaims,failedReclaims:this.localstorageNumberOfFailedReclaims}}}let c=null;o.default=()=>(c||(c=new a),c)},function(t,o,r){"use strict";r.r(o),r.d(o,"ResilienceMechanism",function(){return n}),r.d(o,"NetworkStatusEnum",function(){return i});let n=function(s){return s.INDEXEDDB="indexeddb",s.MEMORY="memory",s}({}),i=function(s){return s[s.ONLINE=0]="ONLINE",s[s.OFFLINE=1]="OFFLINE",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return i});var n=r(53);class i{constructor(a){typeof window!="undefined"&&(window.addEventListener("offline",()=>a(n.NetworkStatusEnum.OFFLINE)),window.addEventListener("online",()=>a(n.NetworkStatusEnum.ONLINE)))}getNetworkStatus(){return window.navigator.onLine?n.NetworkStatusEnum.ONLINE:n.NetworkStatusEnum.OFFLINE}}},function(t,o,r){"use strict";r.r(o);var n=r(56);r.d(o,"default",function(){return n.default});var i=r(58);r.d(o,"DoneState",function(){return i.DoneState})},function(t,o,r){"use strict";r.r(o),r.d(o,"QueuedScheduleTypes",function(){return u}),r.d(o,"default",function(){return m});var n=r(2),i=r.n(n),s=r(57),a=r(58);let c={minRetryDelay:1e3,maxRetryDelay:3e4,backoffFactor:2,backoffJitterPercentage:0,waitInterval:500,callbackTimeoutPeriod:5e3},u=function(p){return p[p.NONE=0]="NONE",p[p.IMMEDIATE=1]="IMMEDIATE",p[p.WAIT=2]="WAIT",p}({});class m{constructor(d,l){i()(this,"schedule",({immediate:f}={immediate:!1})=>{typeof window!="undefined"&&(this.operationInFlight?f?this.queuedSchedule=u.IMMEDIATE:this.queuedSchedule!==u.IMMEDIATE&&(this.queuedSchedule=u.WAIT):(f||this.options.waitInterval<=0)&&this.failureCount===0?(this.clearTimeout(),this.run()):this.failureCount>0&&this.scheduledTimeout===null?this.scheduledTimeout=window.setTimeout(this.run,this.calculateBackoff()):this.scheduledTimeout===null&&(this.scheduledTimeout=window.setTimeout(this.run,this.options.waitInterval)))}),i()(this,"stop",()=>{this.clearTimeout(),this.queuedSchedule=u.NONE}),i()(this,"getFailureCount",()=>this.failureCount),i()(this,"getCallbackStatus",()=>this.callbackTimer.getCallbackStatus()),i()(this,"clearTimeout",()=>{typeof window!="undefined"&&this.scheduledTimeout!==null&&(window.clearTimeout(this.scheduledTimeout),this.scheduledTimeout=null)}),i()(this,"run",()=>{this.operationInFlight=!0,this.clearTimeout();try{this.callbackTimer.executeCallbackWithTimeout(this.callback,this.done,()=>this.done(a.DoneState.ERROR))}catch(f){this.done(f)}}),i()(this,"done",f=>{this.operationInFlight=!1,f===a.DoneState.ERROR||this.callbackTimer.getCallbackStatus()===s.CallbackStatus.TIMED_OUT?(this.failureCount++,this.clearTimeout()):f===a.DoneState.SUCCESS&&(this.failureCount=0),this.processQueuedSchedule()}),i()(this,"processQueuedSchedule",()=>{if(this.queuedSchedule!==u.NONE){let f=this.queuedSchedule===u.IMMEDIATE;this.queuedSchedule=u.NONE,this.schedule({immediate:f})}else this.failureCount>0&&this.schedule()}),i()(this,"calculateBackoff",()=>{let{minRetryDelay:f,maxRetryDelay:h,backoffFactor:v,backoffJitterPercentage:S}=this.options,y=f*v**this.failureCount;if(S){let E=Math.random(),b=Math.floor(E*S*y);Math.floor(E*10)<5?y-=b:y+=b}return Number(Math.min(y,h).toPrecision(1))}),this.options={minRetryDelay:d.minRetryDelay||c.minRetryDelay,maxRetryDelay:d.maxRetryDelay||c.maxRetryDelay,backoffFactor:d.backoffFactor||c.backoffFactor,backoffJitterPercentage:d.backoffJitterPercentage||c.backoffJitterPercentage,waitInterval:d.waitInterval!==void 0?d.waitInterval:c.waitInterval,callbackTimeoutPeriod:d.callbackTimeoutPeriod||c.callbackTimeoutPeriod},this.scheduledTimeout=null,this.failureCount=0,this.callback=l,this.operationInFlight=!1,this.queuedSchedule=u.NONE,this.callbackTimer=new s.CallbackWithTimeout(this.options.callbackTimeoutPeriod)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"CallbackStatus",function(){return s}),r.d(o,"CallbackEvent",function(){return a}),r.d(o,"CallbackWithTimeout",function(){return c});var n=r(2),i=r.n(n);let s=function(u){return u.IDLE="idle",u.RUNNING="running",u.COMPLETED="completed",u.TIMED_OUT="timedOut",u}({}),a=function(u){return u.EXECUTE="execute",u.COMPLETE="complete",u.TIMEOUT="timeout",u}({});class c{constructor(m){if(i()(this,"timeoutHandle",void 0),i()(this,"callbackStatus",s.IDLE),m>0){this.timeoutPeriod=m;return}throw new Error("CallbackWithTimeout requires timeout period higher than 0")}transitionCallbackStatus(m,p){switch(m){case s.IDLE:case s.TIMED_OUT:case s.COMPLETED:p===a.EXECUTE&&(this.callbackStatus=s.RUNNING);break;case s.RUNNING:switch(p){case a.COMPLETE:this.callbackStatus=s.COMPLETED;break;case a.TIMEOUT:this.callbackStatus=s.TIMED_OUT;break}break;default:this.callbackStatus=m}}executeCallbackWithTimeout(m,p,d){typeof window!="undefined"&&(this.transitionCallbackStatus(this.callbackStatus,a.EXECUTE),this.timeoutHandle=window.setTimeout(()=>{this.transitionCallbackStatus(this.callbackStatus,a.TIMEOUT),d()},this.timeoutPeriod),m(l=>{this.cancelTimeout(),this.getCallbackStatus()!==s.TIMED_OUT&&(this.transitionCallbackStatus(this.callbackStatus,a.COMPLETE),p(l))}))}getCallbackStatus(){return this.callbackStatus}cancelTimeout(){typeof window!="undefined"&&this.timeoutPeriod>0&&this.timeoutHandle&&(window.clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"DoneState",function(){return n});let n=function(i){return i[i.NOOP=0]="NOOP",i[i.SUCCESS=1]="SUCCESS",i[i.ERROR=2]="ERROR",i}({})},function(t,o,r){"use strict";r.r(o);var n=r(60);r.d(o,"createUnknownXid",function(){return n.createUnknownXid});var i=r(61);r.d(o,"XIDItemType",function(){return i.XIDItemType}),r.d(o,"XIDState",function(){return i.XIDState});var s=r(62);r.d(o,"XIDPromise",function(){return s.XIDPromise});var a=r(63);r.d(o,"attachXidToSingleEvent",function(){return a.attachXidToSingleEvent}),r.d(o,"attachXidToMultipleEvents",function(){return a.attachXidToMultipleEvents})},function(t,o,r){"use strict";r.r(o),r.d(o,"XID_TIMEOUT",function(){return i}),r.d(o,"createTimeoutXid",function(){return s}),r.d(o,"createUnknownXid",function(){return a});var n=r(61);let i=5e3,s=()=>[{type:n.XIDItemType.XC,state:"TIMEOUT"},{type:n.XIDItemType.UID,state:"TIMEOUT"}],a=()=>[{type:n.XIDItemType.XC,state:"UNKNOWN"},{type:n.XIDItemType.UID,state:"UNKNOWN"}]},function(t,o,r){"use strict";r.r(o),r.d(o,"XIDItemType",function(){return n}),r.d(o,"XIDState",function(){return i});let n=function(s){return s.XC="xc",s.UID="uid",s}({}),i=function(s){return s.NEW="NEW",s.CHANGED="CHANGED",s.EXISTING="EXISTING",s.TIMEOUT="TIMEOUT",s.ERROR="ERROR",s.UNAVAILABLE="UNAVAILABLE",s.MALFORMED="MALFORMED",s.UNKNOWN="UNKNOWN",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"XIDPromise",function(){return i});var n=r(60);let i=(s,a)=>{if(s&&a&&typeof a=="function"){let c=()=>new Promise(m=>{setTimeout(()=>m(()=>Object(n.createTimeoutXid)()),n.XID_TIMEOUT)}),u=()=>a().catch(()=>()=>Object(n.createUnknownXid)());return Promise.race([u(),c()])}}},function(t,o,r){"use strict";r.r(o),r.d(o,"attachXidToSingleEvent",function(){return u}),r.d(o,"attachXidToMultipleEvents",function(){return m});var n=r(2),i=r.n(n),s=r(64);function a(p,d){var l=Object.keys(p);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(p);d&&(f=f.filter(function(h){return Object.getOwnPropertyDescriptor(p,h).enumerable})),l.push.apply(l,f)}return l}function c(p){for(var d=1;d<arguments.length;d++){var l=arguments[d]!=null?arguments[d]:{};d%2?a(Object(l),!0).forEach(function(f){i()(p,f,l[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(l)):a(Object(l)).forEach(function(f){Object.defineProperty(p,f,Object.getOwnPropertyDescriptor(l,f))})}return p}function u(p,d){if(!(d&&d instanceof Function))return p;if(p.msg.type===s.SegmentEventTypes.PAGE||p.msg.type===s.SegmentEventTypes.TRACK){let l=d();l&&Array.isArray(l)&&(p.msg.properties=c(c({},p.msg.properties),{},{xid:l}))}else if(p.msg.traits&&p.msg.type===s.SegmentEventTypes.IDENTIFY){let l=d();l&&Array.isArray(l)&&(p.msg.traits=c(c({},p.msg.traits),{},{xid:l}))}return p}async function m(p,d){try{let l=await d;return p.map(f=>u(f,l))}catch(l){return p}}},function(t,o,r){"use strict";r.r(o),r.d(o,"SegmentEventTypes",function(){return n}),r.d(o,"CrossDomainIdentifierType",function(){return i}),r.d(o,"CrossDomainIdentifierState",function(){return s});let n=function(a){return a.IDENTIFY="identify",a.PAGE="page",a.TRACK="track",a}({}),i=function(a){return a.XC="xc",a.UID="uid",a}({}),s=function(a){return a.NEW="NEW",a.CHANGED="CHANGED",a.EXISTING="EXISTING",a.TIMEOUT="TIMEOUT",a.ERROR="ERROR",a.UNAVAILABLE="UNAVAILABLE",a.MALFORMED="MALFORMED",a.UNKNOWN="UNKNOWN",a}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_REQUEST_TIMEOUT",function(){return n});let n=10*1e3},function(t,o,r){"use strict";r.r(o),r.d(o,"HTTP_STATUS_CODE_MAP",function(){return n});let n=new Map([[200,"OK"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Timeout"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Payload Too Large"],[414,"URI Too Long"],[415,"Unsupported Media Type"],[416,"Requested range not satisfiable"],[417,"Expectation Failed"],[418,"I'm a teapot"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"],[505,"HTTP Version not supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[508,"Loop Detected"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"],[-1,"Unknown Status"]])},function(t,o,r){"use strict";r.r(o),r.d(o,"sendEvents",function(){return u});var n=r(2),i=r.n(n),s=r(68);function a(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function c(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?a(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):a(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}let u=async d=>{var l;let f=(l=m(d))===null||l===void 0?void 0:l.signal,h=p(d.url),v=await fetch(d.url,c({method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d.batch),signal:f},h));if(v.status===429||v.status>=500&&v.status<600)throw new Error("HTTP Error ".concat(v.status," (").concat(v.statusText,")"));return v},m=d=>{if(d.abortController)return d.abortController;if(d.timeout){let l=new AbortController;return setTimeout(()=>{l.abort()},d.timeout),l}},p=Object(s.default)(d=>new URL(d).origin===location.origin?{}:{mode:"cors",credentials:"include"})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return a});var n=Number.isNaN||function(u){return typeof u=="number"&&u!==u};function i(c,u){return!!(c===u||n(c)&&n(u))}function s(c,u){if(c.length!==u.length)return!1;for(var m=0;m<c.length;m++)if(!i(c[m],u[m]))return!1;return!0}function a(c,u){u===void 0&&(u=s);var m=null;function p(){for(var d=[],l=0;l<arguments.length;l++)d[l]=arguments[l];if(m&&m.lastThis===this&&u(d,m.lastArgs))return m.lastResult;var f=c.apply(this,d);return m={lastResult:f,lastArgs:d,lastThis:this},f}return p.clear=function(){m=null},p}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return h});var n=r(70),i=r(6),s=r.n(i),a=r(77),c=r(82);let u=7,m="SAFE",p="UNSAFE",d="NOT_FOUND",l="COOKIE",f="LOCAL_STORAGE";class h{constructor(S){this.store=new c.default({useStoragePrefix:!1}),this.cookie=new a.default(S)}getUserId(){return this.userId||null}setUserId(S){this.userId=S}getAnonymousId(S){return this.getAnonymousIdFromLocalStorageAndUpdateCookieIfStale()||this.getAnonymousIdFromCookieAndUpdateLocalStorage()||this.generateNewAnonymousId(S)}setAnonymousId(S){let y=JSON.stringify(S);return this.cookie.set(a.AWCCookiesKeys.AJS_ANONYMOUS_ID,y),this.lastAnonymousIdCookieUpdate=Date.now(),this.store.setItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey(),y)}getAnonymousIdFromStorage(S){let y=S===f?this.store.getItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey()):this.cookie.get(a.AWCCookiesKeys.AJS_ANONYMOUS_ID);if(y){let E={type:p,anonymousId:y};try{let b=JSON.parse(y);return b&&typeof b=="string"?{type:m,anonymousId:b}:E}catch(b){return E}}return{type:d}}getAnonymousIdFromLocalStorageAndUpdateCookieIfStale(){let S=this.getAnonymousIdFromStorage(f),y=!1;switch((!this.lastAnonymousIdCookieUpdate||Object(n.default)(new Date,new Date(this.lastAnonymousIdCookieUpdate))>=u)&&(y=!0),S.type){case m:return y&&this.setAnonymousId(S.anonymousId),S.anonymousId;case p:return S.anonymousId;case d:default:return null}}getAnonymousIdFromCookieAndUpdateLocalStorage(){let S=this.getAnonymousIdFromStorage(l);switch(S.type){case m:case p:return this.store.setItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey(),JSON.stringify(S.anonymousId)),S.anonymousId;case d:default:return null}}generateNewAnonymousId(S=s.a){let y=S();return this.setAnonymousId(y),y}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(71),i=r(74),s=r(73);function a(u,m){var p=u.getFullYear()-m.getFullYear()||u.getMonth()-m.getMonth()||u.getDate()-m.getDate()||u.getHours()-m.getHours()||u.getMinutes()-m.getMinutes()||u.getSeconds()-m.getSeconds()||u.getMilliseconds()-m.getMilliseconds();return p<0?-1:p>0?1:p}function c(u,m){Object(s.default)(2,arguments);var p=Object(n.default)(u),d=Object(n.default)(m),l=a(p,d),f=Math.abs(Object(i.default)(p,d));p.setDate(p.getDate()-l*f);var h=+(a(p,d)===-l),v=l*(f-h);return v===0?0:v}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(72),i=r(73);function s(a){Object(i.default)(1,arguments);var c=Object.prototype.toString.call(a);return a instanceof Date||Object(n.default)(a)==="object"&&c==="[object Date]"?new Date(a.getTime()):typeof a=="number"||c==="[object Number]"?new Date(a):((typeof a=="string"||c==="[object String]")&&typeof console!="undefined"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i){"@babel/helpers - typeof";return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},n(i)}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i,s){if(s.length<i)throw new TypeError(i+" argument"+(i>1?"s":"")+" required, but only "+s.length+" present")}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(75),i=r(76),s=r(73),a=864e5;function c(u,m){Object(s.default)(2,arguments);var p=Object(i.default)(u),d=Object(i.default)(m),l=p.getTime()-Object(n.default)(p),f=d.getTime()-Object(n.default)(d);return Math.round((l-f)/a)}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i){var s=new Date(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()));return s.setUTCFullYear(i.getFullYear()),i.getTime()-s.getTime()}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(71),i=r(73);function s(a){Object(i.default)(1,arguments);var c=Object(n.default)(a);return c.setHours(0,0,0,0),c}},function(t,o,r){"use strict";r.r(o);var n=r(78);r.d(o,"default",function(){return n.default});var i=r(80);r.d(o,"AllAnalyticsCookies",function(){return i.AllAnalyticsCookies}),r.d(o,"AWCCookiesKeys",function(){return i.AWCCookiesKeys})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return l});var n=r(2),i=r.n(n),s=r(79),a=r.n(s),c=r(80),u=r(81),m=r(85);function p(f,h){var v=Object.keys(f);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(f);h&&(S=S.filter(function(y){return Object.getOwnPropertyDescriptor(f,y).enumerable})),v.push.apply(v,S)}return v}function d(f){for(var h=1;h<arguments.length;h++){var v=arguments[h]!=null?arguments[h]:{};h%2?p(Object(v),!0).forEach(function(S){i()(f,S,v[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(v)):p(Object(v)).forEach(function(S){Object.defineProperty(f,S,Object.getOwnPropertyDescriptor(v,S))})}return f}class l{constructor(h){this.cookieLike=Object(m.canUseCookie)(h)?a.a:new u.default}set(h,v,S){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not set."));return}return this.cookieLike.set(c.AllAnalyticsCookies[h].getKey(),v,d(d({},c.AllAnalyticsCookies[h].getAttributes()),{},{domain:Object(m.getTld)()},S))}get(h){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not fetched."));return}return this.cookieLike.get(c.AllAnalyticsCookies[h].getKey())}remove(h,v){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not removed."));return}this.cookieLike.remove(c.AllAnalyticsCookies[h].getKey(),d({},v))}}},function(t,o,r){var n,i;(function(s){var a;if(n=s,i=typeof n=="function"?n.call(o,r,o,t):n,i!==void 0&&(t.exports=i),a=!0,t.exports=s(),a=!0,!a){var c=window.Cookies,u=window.Cookies=s();u.noConflict=function(){return window.Cookies=c,u}}})(function(){function s(){for(var u=0,m={};u<arguments.length;u++){var p=arguments[u];for(var d in p)m[d]=p[d]}return m}function a(u){return u.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}function c(u){function m(){}function p(l,f,h){if(typeof document!="undefined"){h=s({path:"/"},m.defaults,h),typeof h.expires=="number"&&(h.expires=new Date(new Date*1+h.expires*864e5)),h.expires=h.expires?h.expires.toUTCString():"";try{var v=JSON.stringify(f);/^[\{\[]/.test(v)&&(f=v)}catch(E){}f=u.write?u.write(f,l):encodeURIComponent(String(f)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),l=encodeURIComponent(String(l)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var S="";for(var y in h)h[y]&&(S+="; "+y,h[y]!==!0&&(S+="="+h[y].split(";")[0]));return document.cookie=l+"="+f+S}}function d(l,f){if(typeof document!="undefined"){for(var h={},v=document.cookie?document.cookie.split("; "):[],S=0;S<v.length;S++){var y=v[S].split("="),E=y.slice(1).join("=");!f&&E.charAt(0)==='"'&&(E=E.slice(1,-1));try{var b=a(y[0]);if(E=(u.read||u)(E,b)||a(E),f)try{E=JSON.parse(E)}catch(g){}if(h[b]=E,l===b)break}catch(g){}}return l?h[l]:h}}return m.set=p,m.get=function(l){return d(l,!1)},m.getJSON=function(l){return d(l,!0)},m.remove=function(l,f){p(l,"",s(f,{expires:-1}))},m.defaults={},m.withConverter=c,m}return c(function(){})})},function(t,o,r){"use strict";r.r(o),r.d(o,"AWCCookiesKeys",function(){return n}),r.d(o,"AllAnalyticsCookies",function(){return a});let n=function(c){return c.AWC_TLD_TEST="AWC_TLD_TEST",c.AWC_ANALYTICS_DEBUG="AWC_ANALYTICS_DEBUG",c.AJS_ANONYMOUS_ID="AJS_ANONYMOUS_ID",c}({});class i{constructor(u,m){this.key=u,this.options=m}getAttributes(){return this.options}getKey(){return this.key}}let s=()=>{try{return window&&window.location&&window.location.protocol==="https:"}catch(c){return!1}},a={[n.AWC_TLD_TEST]:new i("__awc_tld_test__",{expires:365,secure:s(),path:"/"}),[n.AWC_ANALYTICS_DEBUG]:new i("atlassian_analytics_debug",{expires:365,secure:s(),path:"/"}),[n.AJS_ANONYMOUS_ID]:new i("ajs_anonymous_id",{expires:365,secure:s(),path:"/"})}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return i});var n=r(82);class i{constructor(){this.safeStorage=new n.default({useStoragePrefix:!1})}set(a,c){return this.safeStorage.setItem(a,c),c}get(a){return this.safeStorage.getItem(a)||void 0}remove(a){this.safeStorage.removeItem(a)}}},function(t,o,r){"use strict";r.r(o);var n=r(83),i=r(84);o.default=class extends i.default{constructor(s){let a;try{a=window.localStorage||n.default}catch(c){a=n.default}super(a,s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"InMemoryStore",function(){return s});var n=r(2),i=r.n(n);class s{constructor(){i()(this,"_data",{}),i()(this,"length",0),i()(this,"setItem",(c,u)=>(this._data[c]=u,this.length=Object.keys(this._data).length,u)),i()(this,"getItem",c=>c in this._data?this._data[c]:null),i()(this,"removeItem",c=>(c in this._data&&delete this._data[c],this.length=Object.keys(this._data).length,null)),i()(this,"clear",()=>{this._data={},this.length=0}),i()(this,"key",c=>Object.keys(this._data)[c])}}o.default=new s},function(t,o,r){"use strict";r.r(o),r.d(o,"AWC_STORAGE_PREFIX",function(){return c}),r.d(o,"GLOBAL_IN_MEMORY_NAME",function(){return u}),r.d(o,"isSupported",function(){return m}),r.d(o,"isQuotaExceeded",function(){return p}),r.d(o,"default",function(){return d});var n=r(2),i=r.n(n),s=r(9),a=r(83);let c="awc",u="awcInMemoryStorageFallback";function m(l){let f="test_value";if(!l)return!1;try{let h="awc.storage.support";l.setItem(h,f);let v=l.getItem(h);return l.removeItem(h),v===f}catch(h){return!1}}function p(l){let f=!1;if(l.code)switch(l.code){case 22:f=!0;break;case 1014:l.name==="NS_ERROR_DOM_QUOTA_REACHED"&&(f=!0);break;default:break}else l.number===-2147024882&&(f=!0);return f}class d{constructor(f,h={}){i()(this,"getStore",()=>this._store),i()(this,"getItem",S=>this._store.getItem(this.createKey(S))),i()(this,"removeItem",S=>this._store.removeItem(this.createKey(S))),i()(this,"setItem",(S,y)=>{try{this._store.setItem(this.createKey(S),y)}catch(E){p(E)&&(this.swapToInMemory(),this._store.setItem(this.createKey(S),y))}}),i()(this,"swapToInMemory",()=>{if(this._store===a.default||typeof window=="undefined")return;let S=Object.keys(this._store||{}),y;m(window[u])?y=window[u]:(y=a.default,window[u]||(window[u]=a.default)),S.forEach(E=>{if(E.indexOf(this.getPrefix())===0){let b=this._store.getItem(E);b&&y.setItem(E,b)}}),this._store=y}),i()(this,"clear",()=>this._store.clear()),i()(this,"key",S=>this._store.key(S)),i()(this,"getPrefix",()=>this._prefix),i()(this,"createKey",S=>this._prefix?"".concat(this.getPrefix(),".").concat(S):S),this.options=h;let v=[];(h.useStoragePrefix===void 0||h.useStoragePrefix)&&v.push(c),h.envPrefix&&h.envPrefix!==s.envType.PROD&&v.push(h.envPrefix),this._prefix=v.join("-"),m(f)?this._store=f:this.swapToInMemory()}}},function(t,o,r){"use strict";r.r(o),r.d(o,"canUseCookie",function(){return c}),r.d(o,"COOKIE_NAME",function(){return u}),r.d(o,"COOKIE_VALUE",function(){return m}),r.d(o,"getTld",function(){return p});var n=r(79),i=r.n(n),s=r(68),a=r(80);let c=(d=!1)=>d?!1:!(location.protocol==="file:"||location.protocol==="chrome-extension:"),u=a.AllAnalyticsCookies.AWC_TLD_TEST.getKey(),m="tld_test",p=Object(s.default)(()=>{if(typeof location=="undefined")return"";let{hostname:d}=location,l=d.split(".");for(let f=1;f<=l.length;f++){let h=l.slice(f*-1),v=".".concat(h.join("."));if(i.a.set(u,m,{domain:v}),i.a.get(u)===m)return i.a.remove(u,{domain:v}),v}return d})},function(t,o,r){"use strict";r.r(o),r.d(o,"buildContext",function(){return m}),r.d(o,"prepareEventProperties",function(){return p}),r.d(o,"nestedRemoveUndefinedValues",function(){return d});var n=r(2),i=r.n(n),s=r(87),a=r.n(s);function c(f,h){var v=Object.keys(f);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(f);h&&(S=S.filter(function(y){return Object.getOwnPropertyDescriptor(f,y).enumerable})),v.push.apply(v,S)}return v}function u(f){for(var h=1;h<arguments.length;h++){var v=arguments[h]!=null?arguments[h]:{};h%2?c(Object(v),!0).forEach(function(S){i()(f,S,v[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(v)):c(Object(v)).forEach(function(S){Object.defineProperty(f,S,Object.getOwnPropertyDescriptor(v,S))})}return f}let m=f=>u(u({},f.context),{},{userAgent:navigator.userAgent}),p=f=>{let h=d(f);return a()(h)},d=f=>{if(f===null||typeof f!="object")return f;let h={};return Object.keys(f).forEach(v=>{let S=l(f,v);S!==void 0&&(Array.isArray(S)?h[v]=S.map(y=>d(y)):typeof S=="object"&&S!==null?h[v]=d(S):h[v]=S)}),h},l=(f,h)=>f[h]},function(t,o){t.exports=e},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(2),i=r.n(n),s=r(9),a=r(89);class c{constructor(){i()(this,"handleOriginParameters",(m,p)=>{let d=Object.keys(m);if(!(d.length>0))throw new Error("Empty parameter mapping provided");let l=d.filter(y=>Object.values(s.originTracingType).indexOf(y)<0);if(l.length>0)throw new Error("Invalid Origin Tracing Parameter(s) supplied: ".concat(l.join(),"!"));let f=(y,E)=>d.indexOf(E)>=0,h=Object(a.default)(f,p),v=y=>{let E=m[y](h[y]);return{[y]:E}};return Object.keys(h).map(v).reduce((y,E)=>Object.assign(y,E),{})}),this._originStore={}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"defaultHistoryReplaceFn",function(){return a});var n=r(90),i=r.n(n),s=r(20);let a=u=>window.history.replaceState({},"",u),c=(u,m=a)=>{let p=window.location.href,d=window.location.hash,l=d!==""?p.replace(d,""):p,{url:f,query:h}=Object(n.parseUrl)(l),v=Object(s.pickBy)(h,u);if(Object.keys(v).length>0){let S=Object(s.omitBy)(h,u);if(Object.keys(S).length>0){let y="".concat(f,"?").concat(Object(n.stringify)(S)).concat(d);m(y)}else m("".concat(f).concat(d))}return v};o.default=c},function(t,o,r){"use strict";let n=r(91),i=r(92),s=r(93),a=r(94),c=g=>g==null,u=Symbol("encodeFragmentIdentifier");function m(g){switch(g.arrayFormat){case"index":return C=>(T,O)=>{let D=T.length;return O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),"[",D,"]"].join("")]:[...T,[l(C,g),"[",l(D,g),"]=",l(O,g)].join("")]};case"bracket":return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),"[]"].join("")]:[...T,[l(C,g),"[]=",l(O,g)].join("")];case"colon-list-separator":return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),":list="].join("")]:[...T,[l(C,g),":list=",l(O,g)].join("")];case"comma":case"separator":case"bracket-separator":{let C=g.arrayFormat==="bracket-separator"?"[]=":"=";return T=>(O,D)=>D===void 0||g.skipNull&&D===null||g.skipEmptyString&&D===""?O:(D=D===null?"":D,O.length===0?[[l(T,g),C,l(D,g)].join("")]:[[O,l(D,g)].join(g.arrayFormatSeparator)])}default:return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,l(C,g)]:[...T,[l(C,g),"=",l(O,g)].join("")]}}function p(g){let C;switch(g.arrayFormat){case"index":return(T,O,D)=>{if(C=/\[(\d*)\]$/.exec(T),T=T.replace(/\[\d*\]$/,""),!C){D[T]=O;return}D[T]===void 0&&(D[T]={}),D[T][C[1]]=O};case"bracket":return(T,O,D)=>{if(C=/(\[\])$/.exec(T),T=T.replace(/\[\]$/,""),!C){D[T]=O;return}if(D[T]===void 0){D[T]=[O];return}D[T]=[].concat(D[T],O)};case"colon-list-separator":return(T,O,D)=>{if(C=/(:list)$/.exec(T),T=T.replace(/:list$/,""),!C){D[T]=O;return}if(D[T]===void 0){D[T]=[O];return}D[T]=[].concat(D[T],O)};case"comma":case"separator":return(T,O,D)=>{let U=typeof O=="string"&&O.includes(g.arrayFormatSeparator),w=typeof O=="string"&&!U&&f(O,g).includes(g.arrayFormatSeparator);O=w?f(O,g):O;let N=U||w?O.split(g.arrayFormatSeparator).map(j=>f(j,g)):O===null?O:f(O,g);D[T]=N};case"bracket-separator":return(T,O,D)=>{let U=/(\[\])$/.test(T);if(T=T.replace(/\[\]$/,""),!U){D[T]=O&&f(O,g);return}let w=O===null?[]:O.split(g.arrayFormatSeparator).map(N=>f(N,g));if(D[T]===void 0){D[T]=w;return}D[T]=[].concat(D[T],w)};default:return(T,O,D)=>{if(D[T]===void 0){D[T]=O;return}D[T]=[].concat(D[T],O)}}}function d(g){if(typeof g!="string"||g.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function l(g,C){return C.encode?C.strict?n(g):encodeURIComponent(g):g}function f(g,C){return C.decode?i(g):g}function h(g){return Array.isArray(g)?g.sort():typeof g=="object"?h(Object.keys(g)).sort((C,T)=>Number(C)-Number(T)).map(C=>g[C]):g}function v(g){let C=g.indexOf("#");return C!==-1&&(g=g.slice(0,C)),g}function S(g){let C="",T=g.indexOf("#");return T!==-1&&(C=g.slice(T)),C}function y(g){g=v(g);let C=g.indexOf("?");return C===-1?"":g.slice(C+1)}function E(g,C){return C.parseNumbers&&!Number.isNaN(Number(g))&&typeof g=="string"&&g.trim()!==""?g=Number(g):C.parseBooleans&&g!==null&&(g.toLowerCase()==="true"||g.toLowerCase()==="false")&&(g=g.toLowerCase()==="true"),g}function b(g,C){C=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},C),d(C.arrayFormatSeparator);let T=p(C),O=Object.create(null);if(typeof g!="string"||(g=g.trim().replace(/^[?#&]/,""),!g))return O;for(let D of g.split("&")){if(D==="")continue;let[U,w]=s(C.decode?D.replace(/\+/g," "):D,"=");w=w===void 0?null:["comma","separator","bracket-separator"].includes(C.arrayFormat)?w:f(w,C),T(f(U,C),w,O)}for(let D of Object.keys(O)){let U=O[D];if(typeof U=="object"&&U!==null)for(let w of Object.keys(U))U[w]=E(U[w],C);else O[D]=E(U,C)}return C.sort===!1?O:(C.sort===!0?Object.keys(O).sort():Object.keys(O).sort(C.sort)).reduce((D,U)=>{let w=O[U];return w&&typeof w=="object"&&!Array.isArray(w)?D[U]=h(w):D[U]=w,D},Object.create(null))}o.extract=y,o.parse=b,o.stringify=(g,C)=>{if(!g)return"";C=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},C),d(C.arrayFormatSeparator);let T=w=>C.skipNull&&c(g[w])||C.skipEmptyString&&g[w]==="",O=m(C),D={};for(let w of Object.keys(g))T(w)||(D[w]=g[w]);let U=Object.keys(D);return C.sort!==!1&&U.sort(C.sort),U.map(w=>{let N=g[w];return N===void 0?"":N===null?l(w,C):Array.isArray(N)?N.length===0&&C.arrayFormat==="bracket-separator"?l(w,C)+"[]":N.reduce(O(w),[]).join("&"):l(w,C)+"="+l(N,C)}).filter(w=>w.length>0).join("&")},o.parseUrl=(g,C)=>{C=Object.assign({decode:!0},C);let[T,O]=s(g,"#");return Object.assign({url:T.split("?")[0]||"",query:b(y(g),C)},C&&C.parseFragmentIdentifier&&O?{fragmentIdentifier:f(O,C)}:{})},o.stringifyUrl=(g,C)=>{C=Object.assign({encode:!0,strict:!0,[u]:!0},C);let T=v(g.url).split("?")[0]||"",O=o.extract(g.url),D=o.parse(O,{sort:!1}),U=Object.assign(D,g.query),w=o.stringify(U,C);w&&(w="?".concat(w));let N=S(g.url);return g.fragmentIdentifier&&(N="#".concat(C[u]?l(g.fragmentIdentifier,C):g.fragmentIdentifier)),"".concat(T).concat(w).concat(N)},o.pick=(g,C,T)=>{T=Object.assign({parseFragmentIdentifier:!0,[u]:!1},T);let{url:O,query:D,fragmentIdentifier:U}=o.parseUrl(g,T);return o.stringifyUrl({url:O,query:a(D,C),fragmentIdentifier:U},T)},o.exclude=(g,C,T)=>{let O=Array.isArray(C)?D=>!C.includes(D):(D,U)=>!C(D,U);return o.pick(g,O,T)}},function(t,o,r){"use strict";t.exports=n=>encodeURIComponent(n).replace(/[!'()*]/g,i=>"%".concat(i.charCodeAt(0).toString(16).toUpperCase()))},function(t,o,r){"use strict";var n="%[a-f0-9]{2}",i=new RegExp("("+n+")|([^%]+?)","gi"),s=new RegExp("("+n+")+","gi");function a(m,p){try{return[decodeURIComponent(m.join(""))]}catch(f){}if(m.length===1)return m;p=p||1;var d=m.slice(0,p),l=m.slice(p);return Array.prototype.concat.call([],a(d),a(l))}function c(m){try{return decodeURIComponent(m)}catch(l){for(var p=m.match(i)||[],d=1;d<p.length;d++)m=a(p,d).join(""),p=m.match(i)||[];return m}}function u(m){for(var p={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},d=s.exec(m);d;){try{p[d[0]]=decodeURIComponent(d[0])}catch(S){var l=c(d[0]);l!==d[0]&&(p[d[0]]=l)}d=s.exec(m)}p["%C2"]="\uFFFD";for(var f=Object.keys(p),h=0;h<f.length;h++){var v=f[h];m=m.replace(new RegExp(v,"g"),p[v])}return m}t.exports=function(m){if(typeof m!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof m+"`");try{return m=m.replace(/\+/g," "),decodeURIComponent(m)}catch(p){return u(m)}}},function(t,o,r){"use strict";t.exports=(n,i)=>{if(!(typeof n=="string"&&typeof i=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(i==="")return[n];let s=n.indexOf(i);return s===-1?[n]:[n.slice(0,s),n.slice(s+i.length)]}},function(t,o,r){"use strict";t.exports=function(n,i){for(var s={},a=Object.keys(n),c=Array.isArray(i),u=0;u<a.length;u++){var m=a[u],p=n[m];(c?i.indexOf(m)!==-1:i(m,p,n))&&(s[m]=p)}return s}},function(t,o,r){"use strict";r.r(o),r.d(o,"selectHost",function(){return y});var n=r(9);let i="as.atlassian.com/api/v1",s="api-private.atlassian.com/gasv3/api/v1",a="as.staging.atl-paas.net/api/v1",c="api-private.stg.atlassian.com/gasv3/api/v1",u="as.staging.atl-paas-us-gov-mod.net/api/v1",m="as.atlassian-us-gov-mod.com/api/v1",p="api.stg.atlassian-us-gov-mod.com/gasv3/api/v1",d="api.atlassian-us-gov-mod.com/gasv3/api/v1",l="/gateway/api/gasv3/api/v1",f=()=>u,h=()=>p,v=({useStargate:E,env:b,useLegacyUrl:g,envOverride:C})=>{if(b===n.envType.LOCAL||b===n.envType.DEV)throw Error("No LOCAL or DEV environments for FedRAMP.");if(b===n.envType.PROD&&C)throw Error("Cannot override to FedRAMP Sandbox for Prod.");return E?g?b===n.envType.PROD?d:h():window.location.host+l:b===n.envType.PROD?m:f()},S=({useStargate:E,env:b,useLegacyUrl:g})=>E?g?b===n.envType.PROD?s:c:window.location.host+l:b===n.envType.PROD?i:a;function y({useStargate:E,env:b,useLegacyUrl:g,perimeter:C,envOverride:T}){return C===n.perimeterType.FEDRAMP_MODERATE?v({useStargate:E,env:b,useLegacyUrl:g,envOverride:T}):S({useStargate:E,env:b,useLegacyUrl:g})}},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_SESSION_EXPIRY_TIME_MS",function(){return m}),r.d(o,"DEFAULT_EXPIRY_DEBOUNCE",function(){return p}),r.d(o,"DEFAULT_DEBOUNCE_THRESHOLD_PERCENTAGE",function(){return d}),r.d(o,"NOOP",function(){return l}),r.d(o,"default",function(){return f});var n=r(2),i=r.n(n),s=r(82);let a="session.id",c="session.expiry",u=/^\d+$/,m=30*60*1e3,p=5*1e3,d=.9,l=()=>{};class f{constructor(v={}){i()(this,"_generateNewSessionId",()=>{let S=Date.now().toString();return this._safeLocalStorage.setItem(a,S),this._onNewSessionStarted&&this._onNewSessionStarted(),S}),i()(this,"_updateSessionExpiry",()=>{let S=Date.now()+this._sessionExpiryTime;return this._safeLocalStorage.setItem(c,S.toString()),S}),i()(this,"_debouncedUpdateSessionExpiry",S=>{let{_updateSessionExpiry:y}=this;if(S<Date.now()+this._sessionExpiryDebounceThresholdPercentage*this._sessionExpiryTime)return y();this._sessionExpiryDebounceTimer&&clearTimeout(this._sessionExpiryDebounceTimer),this._sessionExpiryDebounceTimer=setTimeout(()=>{y()},this._sessionExpiryDebounce)}),this._sessionExpiryTime=v.sessionExpiryTime||m,this._sessionExpiryDebounce=v.sessionExpiryDebounce||p,this._sessionExpiryDebounceThresholdPercentage=v.sessionExpiryDebounceThresholdPercentage||d,this._onNewSessionStarted=v.onNewSessionStarted?v.onNewSessionStarted:l,this._safeLocalStorage=new s.default}getCurrentSessionId(){let v=this._safeLocalStorage.getItem(a),S=parseInt(this._safeLocalStorage.getItem(c)||"0",10)||0;return this._debouncedUpdateSessionExpiry(S),!v||S<=Date.now()||Number.isNaN(S)?this._generateNewSessionId():u.test(v)?v:this._generateNewSessionId()}}},function(t,o,r){"use strict";r.r(o);var n=r(83),i=r(84);o.default=class extends i.default{constructor(s){let a;try{a=window.sessionStorage||n.default}catch(c){a=n.default}super(a,s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return m});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(97);let u="tab.id";class m{constructor(){i()(this,"_generateNewTabId",()=>{let d=a()();return this._safeSessionStorage.setItem(u,d),d}),this._safeSessionStorage=new c.default}getCurrentTabId(){let d=this._safeSessionStorage.getItem(u);return d||(d=this._generateNewTabId()),d}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return b});var n=r(2),i=r.n(n),s=r(90),a=r.n(s),c=r(6),u=r.n(c),m=r(9),p=r(20),d=r(97),l=r(89);function f(g,C){var T=Object.keys(g);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(g);C&&(O=O.filter(function(D){return Object.getOwnPropertyDescriptor(g,D).enumerable})),T.push.apply(T,O)}return T}function h(g){for(var C=1;C<arguments.length;C++){var T=arguments[C]!=null?arguments[C]:{};C%2?f(Object(T),!0).forEach(function(O){i()(g,O,T[O])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(T)):f(Object(T)).forEach(function(O){Object.defineProperty(g,O,Object.getOwnPropertyDescriptor(T,O))})}return g}let v="taskSessions",S="taskSessionsInit",y="awc.",E=3e3;class b{constructor(){i()(this,"_taskSessionsNotRecentlyInitialised",T=>this._safeSessionStorage.getItem(v)===null||this._safeSessionStorage.getItem(S)===null||parseInt(this._safeSessionStorage.getItem(S)||"0",10)<T-E),i()(this,"_removeTaskSessionPrefix",(T,O)=>O.split(y)[1]),i()(this,"_isTaskSessionQueryParam",(T,O)=>O.startsWith(y)),i()(this,"getAllTaskSessions",()=>{try{return JSON.parse(this._safeSessionStorage.getItem(v)||"")}catch(T){return{}}}),i()(this,"_writeToSessionStorage",T=>{try{this._safeSessionStorage.setItem(v,JSON.stringify(T))}catch(O){}}),i()(this,"_appendTaskSessions",T=>{let O=this.getAllTaskSessions(),D=O===null?T:Object.assign(O,T);this._writeToSessionStorage(D)}),i()(this,"_safelyRemoveKey",(T,O)=>T===null?{}:(delete T[O],T)),i()(this,"createTaskSession",T=>{let O=u()(),D={};return D[T]=O,this._appendTaskSessions(D),O}),i()(this,"createTaskSessionWithProvidedId",(T,O)=>{if(typeof O!="string")throw new TypeError("invalid taskSessionId, must be string");let D={};D[T]=O,this._appendTaskSessions(D)}),i()(this,"completeTaskSession",T=>{let O=this.getAllTaskSessions(),D=this._safelyRemoveKey(O,T);this._writeToSessionStorage(D)}),i()(this,"formatTaskSessionQueryString",({uri:T,includedTaskSessions:O})=>{let{url:D,query:U}=Object(s.parseUrl)(T),w=this.getAllTaskSessions(),N=O?Object(p.pick)(w,O):Object(p.omit)(w,Object.values(m.originTracingType));if(Object.keys(N).length===0)return T;let j=h(h({},Object(p.mapKeys)(N,(z,H)=>y+H)),U);return"".concat(D,"?").concat(Object(s.stringify)(j))}),i()(this,"stripQueryParameters",()=>{let T=Object(p.mapKeys)(Object(l.default)(this._isTaskSessionQueryParam),this._removeTaskSessionPrefix);this._appendTaskSessions(T)});let C=Date.now();this._safeSessionStorage=new d.default;try{this._taskSessionsNotRecentlyInitialised(C)&&(this._writeToSessionStorage({}),this._safeSessionStorage.setItem(S,C.toString()))}catch(T){}}}},function(t,o,r){"use strict";r.r(o);var n=r(2),i=r.n(n),s=r(79),a=r.n(s),c=r(77);let u=100,m=c.AllAnalyticsCookies.AWC_ANALYTICS_DEBUG.getKey(),p="synthetic",d=()=>{try{return JSON.parse(a.a.get(m)||"false")}catch(f){a.a.remove(m)}return!1};class l{constructor(){i()(this,"_bind",()=>{typeof window=="undefined"||window.testAnalytics||(window.testAnalytics={eventCache:[],events:()=>window.testAnalytics.eventCache,clear:()=>{window.testAnalytics.eventCache=[];try{localStorage.removeItem("awc.ui.viewed.last.sent"),localStorage.removeItem("awc-staging.ui.viewed.last.sent"),localStorage.removeItem("awc-dev.ui.viewed.last.sent"),localStorage.removeItem("awc-local.ui.viewed.last.sent")}catch(h){}}})}),i()(this,"_cache",h=>{typeof window!="undefined"&&(window.testAnalytics.eventCache.length>=u&&(window.testAnalytics.eventCache=window.testAnalytics.eventCache.slice(1,window.testAnalytics.eventCache.length)),window.testAnalytics.eventCache.push(h))}),i()(this,"_shouldCacheEvent",()=>this._isDebugCookieEnabled),i()(this,"saveEvent",h=>{h&&this._shouldCacheEvent()&&(window.testAnalytics||this._bind(),h.tags instanceof Array?h.tags.push(p):h.tags=[p],this._cache(h))}),this._isDebugCookieEnabled=d(),this._isDebugCookieEnabled&&this._bind()}}o.default=l},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return v});var n=r(45),i=r.n(n),s=r(2),a=r.n(s),c=r(9),u=r(82);let m=["embeddedProduct"];function p(S,y){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(S);y&&(b=b.filter(function(g){return Object.getOwnPropertyDescriptor(S,g).enumerable})),E.push.apply(E,b)}return E}function d(S){for(var y=1;y<arguments.length;y++){var E=arguments[y]!=null?arguments[y]:{};y%2?p(Object(E),!0).forEach(function(b){a()(S,b,E[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(E)):p(Object(E)).forEach(function(b){Object.defineProperty(S,b,Object.getOwnPropertyDescriptor(E,b))})}return S}let l=1e3*2,f=1e3*60*60,h="ui.viewed.last.sent";class v{constructor(y,E,b,g={}){if(a()(this,"start",()=>{this._startInterval(),this._bindEventListeners()}),a()(this,"stop",()=>{this._stopInterval(),this._unbindEventListeners()}),a()(this,"resetTimers",()=>{this._intervalId&&(this.stop(),this.start())}),a()(this,"_bindEventListeners",()=>{typeof window!="undefined"&&(window.addEventListener("focus",this._focusListener),window.addEventListener("blur",this._blurListener))}),a()(this,"_unbindEventListeners",()=>{typeof window!="undefined"&&(window.removeEventListener("focus",this._focusListener),window.removeEventListener("blur",this._blurListener))}),a()(this,"_startInterval",()=>{clearInterval(this._intervalId),this._intervalId=setInterval(this._handleInterval,this._delay)}),a()(this,"_stopInterval",()=>{this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)}),a()(this,"_getProductKey",(C,T)=>{let O=C;return T&&(O+="-".concat(T)),O}),a()(this,"_getLastSentTimestamp",(C,T,O)=>(((this._parseLocalStorageData()||{})[O]||{})[T]||{})[C]||null),a()(this,"_parseLocalStorageData",()=>{let C=this._safeLocalStorage.getItem(this._storageKey);try{return JSON.parse(C||"")}catch(T){return this._safeLocalStorage.removeItem(this._storageKey),null}}),a()(this,"_setLastSentTimestamp",(C,T,O)=>{let D=this._parseLocalStorageData()||{},U=D[O]||{},w=U[T]||{};w[C]=Date.now(),U[T]=w,D[O]=U,this._safeLocalStorage.setItem(this._storageKey,JSON.stringify(D))}),a()(this,"_shouldSendEvent",(C,T,O,D)=>!document.hasFocus()||T!==c.tenantType.NONE&&!O||!D?!1:Date.now()-this._getLastSentTimestamp(C,O,D)>this._throttle),a()(this,"_handleInterval",()=>{let C=this._getContext(),{embeddedProduct:T}=C,O=i()(C,m);this._sendEvent(this._product,O),T&&this._sendEvent(T,O,!0)}),a()(this,"_sendEvent",(C,T,O=!1)=>{let{subproduct:D,tenantIdType:U,tenantId:w,userId:N,lastScreenEvent:j,attributes:z}=T,H=this._getProductKey(C,D);if(this._shouldSendEvent(H,U,w,N)){this._setLastSentTimestamp(H,w,N);let de=this._createEvent(C,D,O,j,z);this._onEvent(de)}}),a()(this,"_createEvent",(C,T,O,D,U)=>{let w={product:C,source:"ui",action:"viewed",actionSubject:"ui",attributes:U};return O&&(w.subproduct=null,w.version=null,w.attributes=d(d({},w.attributes),{},{embeddedInEnv:this._productInfo.env,embeddedInProduct:this._productInfo.product,embeddedInSubproduct:T,embeddedInVersion:this._productInfo.version,embeddedInOrigin:this._productInfo.origin,embeddedInPlatform:this._productInfo.platform})),D&&(w.attributes=d(d({},w.attributes),{},{lastScreenEvent:{name:D.name,attributes:D.attributes}})),w}),!y)throw new Error("Missing productInfo");if(!y.product)throw new Error("Missing productInfo.product");if(!E)throw new Error("Missing getContext callback");if(typeof E!="function")throw new Error("Invalid getContext, must be function");if(!b)throw new Error("Missing onEvent callback");if(typeof b!="function")throw new Error("Invalid onEvent, must be function");this._productInfo=y,this._product=y.product,this._getContext=E,this._onEvent=b,this._delay=g.delay||l,this._throttle=g.throttle||f,this._storageKey=g.storageKey||h,this._safeLocalStorage=new u.default({envPrefix:this._productInfo.env}),this._focusListener=()=>{this._startInterval()},this._blurListener=()=>{this._stopInterval()}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i,s){return!i||typeof i!="function"?null:()=>{i(s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return d});var n=r(2),i=r.n(n),s=r(104),a=r.n(s),c=r(19);function u(l,f){var h=Object.keys(l);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(l);f&&(v=v.filter(function(S){return Object.getOwnPropertyDescriptor(l,S).enumerable})),h.push.apply(h,v)}return h}function m(l){for(var f=1;f<arguments.length;f++){var h=arguments[f]!=null?arguments[f]:{};f%2?u(Object(h),!0).forEach(function(v){i()(l,v,h[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(h)):u(Object(h)).forEach(function(v){Object.defineProperty(l,v,Object.getOwnPropertyDescriptor(h,v))})}return l}let p={initialPollInterval:5,pollBackoffRate:2,idleTimeout:30};class d{constructor(f,h,v,S,y){if(i()(this,"timeMeInitialized",!1),i()(this,"start",()=>{if(this.timeMeInitialized)throw new Error("DwellTimeHelper should only be initialised once per page load.");this.timeMeInitialized=!0,this._initDwellTimeCounterAndPolling(),typeof window!="undefined"&&window.addEventListener("beforeunload",()=>{this.stop()})}),i()(this,"stop",()=>{a.a.isUserCurrentlyOnPage&&this._sendDwellEvent(this._eventData,this._searchSessionId,!0),a.a.stopAllTimers(),a.a.resetAllRecordedPageTimes(),a.a.timeElapsedCallbacks=[],this.timeMeInitialized=!1}),i()(this,"newPage",(E,b)=>{Object(c.validateDwellBaseEvent)(E),this.stop(),this._eventData=E,this._searchSessionId=b,this._initDwellTimeCounterAndPolling()}),i()(this,"_listForIdleEvents",()=>{document.addEventListener("mousemove",()=>{a.a.userActivityDetected()}),document.addEventListener("keyup",()=>{a.a.userActivityDetected()}),document.addEventListener("touchstart",()=>{a.a.userActivityDetected()}),window.addEventListener("scroll",()=>{a.a.userActivityDetected()});let E=document.getElementsByTagName("iframe");for(let T=0;T<E.length;T++){let O=E[T];try{var b,g,C;O==null||(b=O.contentWindow)===null||b===void 0||b.document.addEventListener("mousemove",()=>{a.a.userActivityDetected()}),O==null||(g=O.contentWindow)===null||g===void 0||g.document.addEventListener("keyup",()=>{a.a.userActivityDetected()}),O==null||(C=O.contentWindow)===null||C===void 0||C.document.addEventListener("touchstart",()=>{a.a.userActivityDetected()})}catch(D){}}setInterval(()=>{a.a.isUserCurrentlyIdle!==!0&&(a.a.checkIdleState(),a.a.startTimer())},a.a.checkIdleStateRateMs)}),i()(this,"_initDwellTimeCounterAndPolling",()=>{var E;(E=this._dwellTimeHelperOptions)!==null&&E!==void 0&&E.iframeDwell&&(a.a.listForIdleEvents=this._listForIdleEvents),a.a.initialize({idleTimeoutInSeconds:this._timing.idleTimeout}),this._pollDwellTime(this._timing.initialPollInterval,this._searchSessionId,this._eventData)}),i()(this,"_pollDwellTime",(E,b,g)=>{a.a.callAfterTimeElapsedInSeconds(E,()=>{this._sendDwellEvent(g,b,!1),this._pollDwellTime(E*this._timing.pollBackoffRate,b,g)})}),i()(this,"_sendDwellEvent",(E,b,g)=>{let C={dwellTime:a.a.getTimeOnCurrentPageInMilliseconds(),searchReferrer:b,finalDwellEvent:g};this._trackCallback({action:"dwelled",actionSubject:E.actionSubject,actionSubjectId:E.actionSubjectId,source:E.source,containerType:E.containerType,containerId:E.containerId,containers:E.containers,objectType:E.objectType,objectId:E.objectId,attributes:m(m({},C),E.attributes),tags:E.tags})}),!f)throw new Error("trackCallback is required for DwellTimeHelper");Object(c.validateDwellBaseEvent)(h),this._trackCallback=f,this._eventData=h,this._searchSessionId=v,this._timing=m(m({},p),S),this._dwellTimeHelperOptions=y}}},function(t,o,r){var n,i;(()=>{((s,a)=>{if(t.exports)return t.exports=a();n=[],i=(()=>s.TimeMe=a()).apply(o,n),i!==void 0&&(t.exports=i)})(this,()=>{let s={startStopTimes:{},idleTimeoutMs:3e4,currentIdleTimeMs:0,checkIdleStateRateMs:250,isUserCurrentlyOnPage:!0,isUserCurrentlyIdle:!1,currentPageName:"default-page-name",timeElapsedCallbacks:[],userLeftCallbacks:[],userReturnCallbacks:[],trackTimeOnElement:a=>{let c=document.getElementById(a);c&&(c.addEventListener("mouseover",()=>{s.startTimer(a)}),c.addEventListener("mousemove",()=>{s.startTimer(a)}),c.addEventListener("mouseleave",()=>{s.stopTimer(a)}),c.addEventListener("keypress",()=>{s.startTimer(a)}),c.addEventListener("focus",()=>{s.startTimer(a)}))},getTimeOnElementInSeconds:a=>{let c=s.getTimeOnPageInSeconds(a);return c||0},startTimer:(a,c)=>{if(a||(a=s.currentPageName),s.startStopTimes[a]===void 0)s.startStopTimes[a]=[];else{let u=s.startStopTimes[a],m=u[u.length-1];if(m!==void 0&&m.stopTime===void 0)return}s.startStopTimes[a].push({startTime:c||new Date,stopTime:void 0})},stopAllTimers:()=>{let a=Object.keys(s.startStopTimes);for(let c=0;c<a.length;c++)s.stopTimer(a[c])},stopTimer:(a,c)=>{a||(a=s.currentPageName);let u=s.startStopTimes[a];u===void 0||u.length===0||u[u.length-1].stopTime===void 0&&(u[u.length-1].stopTime=c||new Date)},getTimeOnCurrentPageInSeconds:()=>s.getTimeOnPageInSeconds(s.currentPageName),getTimeOnPageInSeconds:a=>{let c=s.getTimeOnPageInMilliseconds(a);if(c!==void 0)return c/1e3},getTimeOnCurrentPageInMilliseconds:()=>s.getTimeOnPageInMilliseconds(s.currentPageName),getTimeOnPageInMilliseconds:a=>{let c=0,u=s.startStopTimes[a];if(u===void 0)return;let m=0;for(let p=0;p<u.length;p++){let d=u[p].startTime,l=u[p].stopTime;l===void 0&&(l=new Date);let f=l-d;m+=f}return c=Number(m),c},getTimeOnAllPagesInSeconds:()=>{let a=[],c=Object.keys(s.startStopTimes);for(let u=0;u<c.length;u++){let m=c[u],p=s.getTimeOnPageInSeconds(m);a.push({pageName:m,timeOnPage:p})}return a},setIdleDurationInSeconds:a=>{let c=parseFloat(a);if(isNaN(c)===!1)s.idleTimeoutMs=a*1e3;else throw{name:"InvalidDurationException",message:"An invalid duration time ("+a+") was provided."}},setCurrentPageName:a=>{s.currentPageName=a},resetRecordedPageTime:a=>{delete s.startStopTimes[a]},resetAllRecordedPageTimes:()=>{let a=Object.keys(s.startStopTimes);for(let c=0;c<a.length;c++)s.resetRecordedPageTime(a[c])},userActivityDetected:()=>{s.isUserCurrentlyIdle&&s.triggerUserHasReturned(),s.resetIdleCountdown()},resetIdleCountdown:()=>{s.isUserCurrentlyIdle=!1,s.currentIdleTimeMs=0},callWhenUserLeaves:(a,c)=>{s.userLeftCallbacks.push({callback:a,numberOfTimesToInvoke:c})},callWhenUserReturns:(a,c)=>{s.userReturnCallbacks.push({callback:a,numberOfTimesToInvoke:c})},triggerUserHasReturned:()=>{if(!s.isUserCurrentlyOnPage){s.isUserCurrentlyOnPage=!0,s.resetIdleCountdown();for(let a=0;a<s.userReturnCallbacks.length;a++){let c=s.userReturnCallbacks[a],u=c.numberOfTimesToInvoke;(isNaN(u)||u===void 0||u>0)&&(c.numberOfTimesToInvoke-=1,c.callback())}}s.startTimer()},triggerUserHasLeftPageOrGoneIdle:()=>{if(s.isUserCurrentlyOnPage){s.isUserCurrentlyOnPage=!1;for(let a=0;a<s.userLeftCallbacks.length;a++){let c=s.userLeftCallbacks[a],u=c.numberOfTimesToInvoke;(isNaN(u)||u===void 0||u>0)&&(c.numberOfTimesToInvoke-=1,c.callback())}}s.stopAllTimers()},callAfterTimeElapsedInSeconds:(a,c)=>{s.timeElapsedCallbacks.push({timeInSeconds:a,callback:c,pending:!0})},checkIdleState:()=>{for(let a=0;a<s.timeElapsedCallbacks.length;a++)s.timeElapsedCallbacks[a].pending&&s.getTimeOnCurrentPageInSeconds()>s.timeElapsedCallbacks[a].timeInSeconds&&(s.timeElapsedCallbacks[a].callback(),s.timeElapsedCallbacks[a].pending=!1);s.isUserCurrentlyIdle===!1&&s.currentIdleTimeMs>s.idleTimeoutMs?(s.isUserCurrentlyIdle=!0,s.triggerUserHasLeftPageOrGoneIdle()):s.currentIdleTimeMs+=s.checkIdleStateRateMs},visibilityChangeEventName:void 0,hiddenPropName:void 0,listenForVisibilityEvents:(a,c)=>{a&&s.listenForUserLeavesOrReturnsEvents(),c&&s.listForIdleEvents()},listenForUserLeavesOrReturnsEvents:()=>{typeof document.hidden!="undefined"?(s.hiddenPropName="hidden",s.visibilityChangeEventName="visibilitychange"):typeof document.mozHidden!="undefined"?(s.hiddenPropName="mozHidden",s.visibilityChangeEventName="mozvisibilitychange"):typeof document.msHidden!="undefined"?(s.hiddenPropName="msHidden",s.visibilityChangeEventName="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(s.hiddenPropName="webkitHidden",s.visibilityChangeEventName="webkitvisibilitychange"),document.addEventListener(s.visibilityChangeEventName,()=>{document[s.hiddenPropName]?s.triggerUserHasLeftPageOrGoneIdle():s.triggerUserHasReturned()},!1),window.addEventListener("blur",()=>{s.triggerUserHasLeftPageOrGoneIdle()}),window.addEventListener("focus",()=>{s.triggerUserHasReturned()})},listForIdleEvents:()=>{document.addEventListener("mousemove",()=>{s.userActivityDetected()}),document.addEventListener("keyup",()=>{s.userActivityDetected()}),document.addEventListener("touchstart",()=>{s.userActivityDetected()}),window.addEventListener("scroll",()=>{s.userActivityDetected()}),setInterval(()=>{s.isUserCurrentlyIdle!==!0&&s.checkIdleState()},s.checkIdleStateRateMs)},websocket:void 0,websocketHost:void 0,setUpWebsocket:a=>{if(window.WebSocket&&a){let c=a.websocketHost;try{s.websocket=new WebSocket(c),window.onbeforeunload=()=>{s.sendCurrentTime(a.appId)},s.websocket.onopen=()=>{s.sendInitWsRequest(a.appId)},s.websocket.onerror=u=>{console&&console.log("Error occurred in websocket connection: "+u)},s.websocket.onmessage=u=>{console&&console.log(u.data)}}catch(u){console&&console.error("Failed to connect to websocket host. Error:"+u)}}},websocketSend:a=>{s.websocket.send(JSON.stringify(a))},sendCurrentTime:a=>{let c=s.getTimeOnCurrentPageInMilliseconds(),u={type:"INSERT_TIME",appId:a,timeOnPageMs:c,pageName:s.currentPageName};s.websocketSend(u)},sendInitWsRequest:a=>{let c={type:"INIT",appId:a};s.websocketSend(c)},initialize:a=>{let c=s.idleTimeoutMs||30,u=s.currentPageName||"default-page-name",m,p,d=!0,l=!0;a&&(c=a.idleTimeoutInSeconds||c,u=a.currentPageName||u,m=a.websocketOptions,p=a.initialStartTime,a.trackWhenUserLeavesPage===!1&&(d=!1),a.trackWhenUserGoesIdle===!1&&(l=!1)),s.setIdleDurationInSeconds(c),s.setCurrentPageName(u),s.setUpWebsocket(m),s.listenForVisibilityEvents(d,l),s.startTimer(void 0,p)}};return s})}).call(this)},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(106),a=r(19);function c(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function u(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?c(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):c(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}let m={initialPollInterval:5e3,idleTimeout:3e4,multiplierCallback:d=>d+d};class p{constructor(l,f,h,v){if(i()(this,"start",()=>{this.browserInteractionTime.startTimer(),this.browserInteractionTime.addTimeIntervalEllapsedCallback({callback:S=>this._sendDwellEvent(this._eventData,this._searchSessionId,S,!1),timeInMilliseconds:this._timing.initialPollInterval,multiplier:this._timing.multiplierCallback}),typeof window!="undefined"&&window.addEventListener("beforeunload",this._onBeforeUnload)}),i()(this,"stop",()=>{this.browserInteractionTime.isRunning()&&this._sendDwellEvent(this._eventData,this._searchSessionId,this.browserInteractionTime.getTimeInMilliseconds(),!0),this.browserInteractionTime.stopTimer()}),i()(this,"newPage",(S,y)=>{Object(a.validateDwellBaseEvent)(S),this.stop(),this.browserInteractionTime.reset(),this.setEventData(S),this.setSearchSessionId(y),this.start()}),i()(this,"setEventData",S=>{this._eventData=S}),i()(this,"getEventData",()=>this._eventData),i()(this,"setSearchSessionId",S=>{this._searchSessionId=S}),i()(this,"getSearchSessionId",()=>this._searchSessionId),i()(this,"destroy",()=>{this.browserInteractionTime.destroy(),typeof window!="undefined"&&window.removeEventListener("beforeunload",this._onBeforeUnload)}),i()(this,"_onBeforeUnload",()=>{this.stop(),this.destroy()}),i()(this,"_sendDwellEvent",(S,y,E,b)=>{let g={dwellTime:E,searchReferrer:y,finalDwellEvent:b};this._trackCallback({action:"dwelled",actionSubject:S.actionSubject,actionSubjectId:S.actionSubjectId,source:S.source,containerType:S.containerType,containerId:S.containerId,objectType:S.objectType,objectId:S.objectId,attributes:u(u({},g),S.attributes),tags:S.tags})}),!l)throw new Error("trackCallback is required for DwellTimeHelper");Object(a.validateDwellBaseEvent)(f),this._trackCallback=l,this._eventData=f,this._searchSessionId=h,this._timing=u(u({},m),v),this.browserInteractionTime=new s.default({idleTimeoutMs:this._timing.idleTimeout,checkCallbacksIntervalMs:500})}}},function(t,o,r){"use strict";r.r(o),(function(n){var i=function(){return i=Object.assign||function(q){for(var pe,Pe=1,Ne=arguments.length;Pe<Ne;Pe++){pe=arguments[Pe];for(var qe in pe)Object.prototype.hasOwnProperty.call(pe,qe)&&(q[qe]=pe[qe])}return q},i.apply(this,arguments)};function s($){var q=typeof $;return $!=null&&(q=="object"||q=="function")}var a=s,c=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof n!="undefined"?n:typeof self!="undefined"?self:{},u=typeof c=="object"&&c&&c.Object===Object&&c,m=u,p=typeof self=="object"&&self&&self.Object===Object&&self,d=m||p||Function("return this")(),l=d,f=function(){return l.Date.now()},h=f,v=l.Symbol,S=v,y=Object.prototype,E=y.hasOwnProperty,b=y.toString,g=S?S.toStringTag:void 0;function C($){var q=E.call($,g),pe=$[g];try{$[g]=void 0;var Pe=!0}catch(qe){}var Ne=b.call($);return Pe&&(q?$[g]=pe:delete $[g]),Ne}var T=C,O=Object.prototype,D=O.toString;function U($){return D.call($)}var w=U,N="[object Null]",j="[object Undefined]",z=S?S.toStringTag:void 0;function H($){return $==null?$===void 0?j:N:z&&z in Object($)?T($):w($)}var de=H;function ce($){return $!=null&&typeof $=="object"}var M=ce,k="[object Symbol]";function F($){return typeof $=="symbol"||M($)&&de($)==k}var X=F,Ee=NaN,De=/^\s+|\s+$/g,Se=/^[-+]0x[0-9a-f]+$/i,it=/^0b[01]+$/i,Rt=/^0o[0-7]+$/i,xr=parseInt;function Lr($){if(typeof $=="number")return $;if(X($))return Ee;if(a($)){var q=typeof $.valueOf=="function"?$.valueOf():$;$=a(q)?q+"":q}if(typeof $!="string")return $===0?$:+$;$=$.replace(De,"");var pe=it.test($);return pe||Rt.test($)?xr($.slice(2),pe?2:8):Se.test($)?Ee:+$}var L=Lr,B="Expected a function",ae=Math.max,se=Math.min;function mt($,q,pe){var Pe,Ne,qe,ft,Xe,Bt,Ur=0,qo=!1,Br=!1,mo=!0;if(typeof $!="function")throw new TypeError(B);q=L(q)||0,a(pe)&&(qo=!!pe.leading,Br="maxWait"in pe,qe=Br?ae(L(pe.maxWait)||0,q):qe,mo="trailing"in pe?!!pe.trailing:mo);function en(le){var Ye=Pe,et=Ne;return Pe=Ne=void 0,Ur=le,ft=$.apply(et,Ye),ft}function ei(le){return Ur=le,Xe=setTimeout(fo,q),qo?en(le):ft}function pa(le){var Ye=le-Bt,et=le-Ur,go=q-Ye;return Br?se(go,qe-et):go}function tn(le){var Ye=le-Bt,et=le-Ur;return Bt===void 0||Ye>=q||Ye<0||Br&&et>=qe}function fo(){var le=h();if(tn(le))return rn(le);Xe=setTimeout(fo,pa(le))}function rn(le){return Xe=void 0,mo&&Pe?en(le):(Pe=Ne=void 0,ft)}function ma(){Xe!==void 0&&clearTimeout(Xe),Ur=0,Pe=Bt=Ne=Xe=void 0}function V(){return Xe===void 0?ft:rn(h())}function ee(){var le=h(),Ye=tn(le);if(Pe=arguments,Ne=this,Bt=le,Ye){if(Xe===void 0)return ei(Bt);if(Br)return Xe=setTimeout(fo,q),en(Bt)}return Xe===void 0&&(Xe=setTimeout(fo,q)),ft}return ee.cancel=ma,ee.flush=V,ee}var tr=mt,ur="Expected a function";function Nr($,q,pe){var Pe=!0,Ne=!0;if(typeof $!="function")throw new TypeError(ur);return a(pe)&&(Pe="leading"in pe?!!pe.leading:Pe,Ne="trailing"in pe?!!pe.trailing:Ne),tr($,q,{leading:Pe,maxWait:q,trailing:Ne})}var kr=Nr,Zn=["scroll","resize"],qn=["wheel","keydown","keyup","mousedown","mousemove","touchstart","touchmove","click","contextmenu"],eC=function(){function $(q){var pe=q.timeIntervalEllapsedCallbacks,Pe=pe===void 0?[]:pe,Ne=q.absoluteTimeEllapsedCallbacks,qe=Ne===void 0?[]:Ne,ft=q.checkCallbacksIntervalMs,Xe=ft===void 0?100:ft,Bt=q.browserTabInactiveCallbacks,Ur=Bt===void 0?[]:Bt,qo=q.idleCallbacks,Br=qo===void 0?[]:qo,mo=q.stopTimerOnTabchange,en=mo===void 0?!0:mo,ei=q.activeCallbacks,pa=ei===void 0?[]:ei,tn=q.browserTabActiveCallbacks,fo=tn===void 0?[]:tn,rn=q.idleTimeoutMs,ma=rn===void 0?3e3:rn,V=this;this.onBrowserTabInactive=function(){V.isRunning()&&V.stopTimerOnTabchange&&V.stopTimer(),V.browserTabInactiveCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})},this.onBrowserTabActive=function(){V.isRunning()||V.startTimer(),V.browserTabActiveCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})},this.onBrowserActiveChange=function(){document.visibilityState==="visible"?V.onBrowserTabActive():V.onBrowserTabInactive()},this.onTimePassed=function(){V.absoluteTimeEllapsedCallbacks.forEach(function(ee,le){var Ye=ee.callback,et=ee.pending,go=ee.timeInMilliseconds;et&&go<=V.getTimeInMilliseconds()&&(Ye(V.getTimeInMilliseconds()),V.absoluteTimeEllapsedCallbacks[le].pending=!1)}),V.timeIntervalEllapsedCallbacks.forEach(function(ee,le){var Ye=ee.callback,et=ee.timeInMilliseconds,go=ee.multiplier;et<=V.getTimeInMilliseconds()&&(Ye(V.getTimeInMilliseconds()),V.timeIntervalEllapsedCallbacks[le].timeInMilliseconds=go(et))}),V.currentIdleTimeMs>=V.idleTimeoutMs&&V.isRunning()?(V.idle=!0,V.stopTimer(),V.idleCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})):V.currentIdleTimeMs+=V.checkCallbacksIntervalMs},this.resetIdleTime=function(){V.idle&&V.startTimer(),V.activeCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())}),V.idle=!1,V.currentIdleTimeMs=0},this.registerEventListeners=function(){var ee={passive:!0},le=i({},ee,{capture:!0});document.addEventListener("visibilitychange",V.onBrowserActiveChange);var Ye=kr(V.resetIdleTime,2e3,{leading:!0,trailing:!1});Zn.forEach(function(et){window.addEventListener(et,Ye,le)}),qn.forEach(function(et){return document.addEventListener(et,Ye,ee)})},this.unregisterEventListeners=function(){document.removeEventListener("visibilitychange",V.onBrowserActiveChange),Zn.forEach(function(ee){return window.removeEventListener(ee,V.resetIdleTime)}),qn.forEach(function(ee){return document.removeEventListener(ee,V.resetIdleTime)})},this.checkCallbacksOnInterval=function(){V.checkCallbackIntervalId=window.setInterval(function(){V.onTimePassed()},V.checkCallbacksIntervalMs)},this.startTimer=function(){V.checkCallbackIntervalId||V.checkCallbacksOnInterval();var ee=V.times[V.times.length-1];ee&&ee.stop===null||(V.times.push({start:performance.now(),stop:null}),V.running=!0)},this.stopTimer=function(){V.times.length&&(V.times[V.times.length-1].stop=performance.now(),V.running=!1)},this.addTimeIntervalEllapsedCallback=function(ee){V.timeIntervalEllapsedCallbacks.push(ee)},this.addAbsoluteTimeEllapsedCallback=function(ee){V.absoluteTimeEllapsedCallbacks.push(ee)},this.addBrowserTabInactiveCallback=function(ee){V.browserTabInactiveCallbacks.push(ee)},this.addBrowserTabActiveCallback=function(ee){V.browserTabActiveCallbacks.push(ee)},this.addIdleCallback=function(ee){V.idleCallbacks.push(ee)},this.addActiveCallback=function(ee){V.activeCallbacks.push(ee)},this.getTimeInMilliseconds=function(){return V.times.reduce(function(ee,le){return le.stop?ee=ee+(le.stop-le.start):ee=ee+(performance.now()-le.start),ee},0)},this.isRunning=function(){return V.running},this.isIdle=function(){return V.idle},this.reset=function(){V.times=[]},this.destroy=function(){V.unregisterEventListeners(),V.checkCallbackIntervalId&&window.clearInterval(V.checkCallbackIntervalId)},this.running=!1,this.times=[],this.idle=!1,this.currentIdleTimeMs=0,this.marks={},this.measures={},this.stopTimerOnTabchange=en,this.browserTabActiveCallbacks=fo,this.browserTabInactiveCallbacks=Ur,this.checkCallbacksIntervalMs=Xe,this.idleTimeoutMs=ma,this.timeIntervalEllapsedCallbacks=Pe,this.absoluteTimeEllapsedCallbacks=qe,this.idleCallbacks=Br,this.activeCallbacks=pa,this.registerEventListeners()}return $.prototype.mark=function(q){this.marks[q]||(this.marks[q]=[]),this.marks[q].push({time:this.getTimeInMilliseconds()})},$.prototype.getMarks=function(q){if(!(this.marks[q].length<1))return this.marks[q]},$.prototype.measure=function(q,pe,Pe){var Ne=this.marks[pe],qe=Ne[Ne.length-1],ft=this.marks[Pe],Xe=ft[ft.length-1];this.measures[q]||(this.measures[q]=[]),this.measures[q].push({name:q,startTime:qe.time,duration:Xe.time-qe.time})},$.prototype.getMeasures=function(q){if(!(!this.measures[q]&&this.measures[q].length<1))return this.measures[q]},$}();o.default=eC}).call(this,r(107))},function(t,o){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){typeof window=="object"&&(r=window)}t.exports=r},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n);function s(m,p){var d=Object.keys(m);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(m);p&&(l=l.filter(function(f){return Object.getOwnPropertyDescriptor(m,f).enumerable})),d.push.apply(d,l)}return d}function a(m){for(var p=1;p<arguments.length;p++){var d=arguments[p]!=null?arguments[p]:{};p%2?s(Object(d),!0).forEach(function(l){i()(m,l,d[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(m,Object.getOwnPropertyDescriptors(d)):s(Object(d)).forEach(function(l){Object.defineProperty(m,l,Object.getOwnPropertyDescriptor(d,l))})}return m}function c(m,p,d){let l=a({action:m},d);return l.attributes=a(a({},p),l.attributes),l}class u{constructor(p,d){this._onEvent=p,this._baseEvent=d,this._searchStartedTime=null,this._lastQueryResultsTime=null,this._queryLength=null,this._baseEvent=a({},d)}search(p){if(!p&&p!=="")throw new Error("Missing query param");this._searchStartedTime=Date.now(),this._queryLength=(p||"").length}searched(p){if(!p)throw new Error("Missing results param");if(this._queryLength===null)throw new Error("search() must be called before searched().");let d=Date.now()-this._searchStartedTime;this._lastQueryResultsTime=Date.now(),this._lastResults=p;let l={responseTimeMs:d,queryLength:this._queryLength,results:p},f=c("searched",l,this._baseEvent);this._onEvent(f)}selected(p){if(!p&&p!==0)throw new Error("Missing selectionIndex param");if(!this._lastQueryResultsTime)throw new Error("searched() must be called before selected().");let d=Date.now(),l=d-this._lastQueryResultsTime,f=d-this._searchStartedTime,h=this._lastResults[p],v={queryLength:this._queryLength,selectionIndex:p,selectionTimeMs:l,searchTimeMs:f,selectedResultValue:h},S=c("selected",v,this._baseEvent);this._onEvent(S)}}}])})});var zu=Y(J()),me=Y(J()),Fr=Y(J()),nn=Y(J()),cp=Y(J()),Eo=Y(J()),Ce=Y(J()),mp=Y(J()),Sp=Y(J()),mr=Y(J()),Pp=Y(J());import{combineReducers as vC,configureStore as yC}from"@reduxjs/toolkit";import{createSlice as TC}from"@reduxjs/toolkit";import{createSlice as CC}from"@reduxjs/toolkit";import{createAction as bC}from"@reduxjs/toolkit";import{createSlice as AC}from"@reduxjs/toolkit";import{createSlice as DC}from"@reduxjs/toolkit";import{createSlice as wC}from"@reduxjs/toolkit";import{createSlice as xC}from"@reduxjs/toolkit";import{createSlice as LC}from"@reduxjs/toolkit";import{createAction as ni}from"@reduxjs/toolkit";import{createSlice as XC}from"@reduxjs/toolkit";import{createSlice as ub}from"@reduxjs/toolkit";import{createSlice as pb}from"@reduxjs/toolkit";import{createSlice as hb}from"@reduxjs/toolkit";import{createSlice as Sb}from"@reduxjs/toolkit";import{createSlice as Tb}from"@reduxjs/toolkit";import{createSlice as bb}from"@reduxjs/toolkit";import{createSlice as Ob}from"@reduxjs/toolkit";import{createSlice as Db}from"@reduxjs/toolkit";import{createSelector as Rb}from"@reduxjs/toolkit";import{createSelector as Ep}from"@reduxjs/toolkit";import{createSelector as Fb}from"@reduxjs/toolkit";import{createSelector as Cp}from"@reduxjs/toolkit";import{createSelector as di}from"@reduxjs/toolkit";import{createSelector as ke}from"@reduxjs/toolkit";import{createSelector as ui}from"@reduxjs/toolkit";import{createSelector as gt}from"@reduxjs/toolkit";import{createSelector as or}from"@reduxjs/toolkit";import{createSelector as QO}from"@reduxjs/toolkit";import{createSelector as Vr}from"@reduxjs/toolkit";var ti="active";import{createSlice as cI}from"@reduxjs/toolkit";var Vu=Object.defineProperty,gC=Object.defineProperties,hC=Object.getOwnPropertyDescriptors,Uu=Object.getOwnPropertySymbols,EC=Object.prototype.hasOwnProperty,SC=Object.prototype.propertyIsEnumerable,Bu=(e,t,o)=>t in e?Vu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,K=(e,t)=>{for(var o in t||(t={}))EC.call(t,o)&&Bu(e,o,t[o]);if(Uu)for(var o of Uu(t))SC.call(t,o)&&Bu(e,o,t[o]);return e},tt=(e,t)=>gC(e,hC(t)),Ge=(e,t)=>{for(var o in t)Vu(e,o,{get:t[o],enumerable:!0})},Fu={alertMessages:[]},Hu=TC({name:"alerts",initialState:Fu,reducers:{clearAlert(e){Object.assign(e,Fu)},clearDismissableAlerts(e){e.alertMessages=e.alertMessages.filter(t=>t.isDismissible!==void 0&&t.isDismissible===!1)},clearAlertType(e,t){e.alertMessages=e.alertMessages.filter(o=>o.type!==t.payload)},createAlert(e,t){let o=K({createdAt:Date.now()},t.payload),r=!1;e.alertMessages.forEach(n=>{n.type===t.payload.type&&(r=!0)}),r||e.alertMessages.push(o)}}}),Wu={tabChangeCount:0},Gu=CC({name:"analytics",initialState:Wu,reducers:{onTabChange(e,t){e.tabChangeCount+=1},setTabChangeCount(e,t){return tt(K({},Wu),{tabChangeCount:t.payload})}}}),OC="consumer_trigger",Z=e=>bC("".concat(OC,"/").concat(e)),IC={trackAnalytics:Z("trackAnalytics"),incrementDatadogMetric:Z("incrementDatadogMetric"),sendDatadogLog:Z("sendDatadogLog")},PC={workspaces:[],defaultWorkspace:void 0,defaultWorkspaceAdmins:[],workspacesFetched:!1},Sa=DC({name:"workspaces",initialState:PC,reducers:{setWorkspaces(e,t){e.workspaces=t.payload.workspaces,e.defaultWorkspace=t.payload.defaultWorkspace,e.workspacesFetched=!0},setDefaultWorkspaceAdmins(e,t){e.defaultWorkspaceAdmins=t.payload.admins}}}),$u={};Ge($u,{ACCOUNT_TYPE_ENTERPRISE:()=>ya,ACCOUNT_TYPE_PERSONAL:()=>Xu,ACCOUNT_TYPE_TEAM:()=>va,ALL_ACCOUNT_TYPES:()=>_C,DEFAULT_PREFERENCES_COOKIE:()=>MC,TEAM_ACCOUNT_TYPES:()=>Ju,TRIALING:()=>Yu,oAuthKeys:()=>RC});var RC={GOOGLE:"google",SLACK:"slack",WINDOWS:"windows",AUTH0:"auth0",APPLE:"apple"},Xu="personal",va="team",ya="enterprise",Yu="trialing",_C=[Xu,va,ya],Ju=[va,ya],MC={mediaDevices:{},recorderSettings:{}},Ku={authStep:zu.AuthenticationStep.First,browserUser:void 0,fetchedBrowserUser:!1,guestRecordingEnabled:!1,hasReachedRecordingLimit:!1,hasWorkspaceAccess:!1,isAuthenticated:!1,isFetching:!1,isSdkSharedUser:!1,isSignIn:!1,isTrialing:!1,isVerifyingEmail:!1,loginErrorMessage:"",memberRole:void 0,oAuthUri:"",partnerGuestRecordingLimit:void 0,recordingCount:0,termsAccepted:!1,termsAcceptedError:!1,updateZendeskUser:!1,user:void 0},sn=AC({name:"authentication",initialState:Ku,reducers:{clearLoginErrorMessage(e){e.loginErrorMessage=""},hasFetchedBrowserUser(e,t){e.browserUser=t.payload,e.fetchedBrowserUser=!0},hasReachedRecordingLimit(e,t){e.hasReachedRecordingLimit=t.payload},setAuthStep(e,t){e.authStep=t.payload,e.loginErrorMessage=""},setGuestRecordingEnabled(e,t){e.guestRecordingEnabled=t.payload},setIsSignIn(e,t){e.isSignIn=t.payload},setMemberRole(e,t){e.memberRole=t.payload},setOAuthUri(e,t){e.oAuthUri=t.payload},setPartnerGuestRecordingLimit(e,t){e.partnerGuestRecordingLimit=t.payload},setTermsAccepted(e,t){e.termsAccepted=t.payload,t.payload&&(e.termsAcceptedError=!1)},setTermsAcceptedError(e,t){e.termsAcceptedError=t.payload},setVideoRecordingCount(e,t){e.recordingCount=t.payload.count},tokenBasedAuthenticatedUser(e,t){e.isSdkSharedUser=t.payload.success,e.isAuthenticated=t.payload.success},userLoginFailed(e,t){e.isFetching=!1,e.loginErrorMessage=t.payload},userLoginRequest(e){e.isFetching=!0,e.loginErrorMessage=""},userLoginSuccess(e,t){let o=t.payload;e.user=o,e.isFetching=!1,e.isTrialing=(o==null?void 0:o.trial_status)===Yu,e.hasWorkspaceAccess=Ju.includes(o==null?void 0:o.account_type),e.isAuthenticated=!0},userLogout(){return Ku},userVerifyEmail(e,t){let o=t.payload;e.user=o,e.isVerifyingEmail=!0,e.isFetching=!1}},extraReducers:e=>{e.addCase(Sa.actions.setWorkspaces,(t,o)=>{t.isSdkSharedUser=o.payload.isSdkSharedUser})}}),NC={aaid:"",apiKey:"",jws:"",mode:{mode:"pending"},environment:Fr.Environment.Development,loomSdkVersion:"0.0.0",sdkConfig:{allowedRecordingTypes:[Fr.RecordingType.ScreenAndCamera,Fr.RecordingType.ScreenOnly,Fr.RecordingType.CameraOnly],bubbleResizable:!0,defaultRecordingType:Fr.RecordingType.ScreenAndCamera,disableDesktopOnFirefox:!1,disablePreviewModal:!1,enableOnboardingTutorial:!1,enableNewUi:!1,enablePictureInPicture:!1,insertButtonText:"Insert video",productName:"",entryPointName:"",styles:{}},applicationConfig:{enablePartnerOwnership:!1,removeLoomBranding:!1,sdkPartnerName:"",signupWelcomeName:"",utm:{utm_campaign:"",utm_content:"",utm_medium:"",utm_source:""}},url:""},Ta=LC({name:"settings",initialState:NC,reducers:{setAaid(e,t){e.aaid=t.payload},setApiKey(e,t){e.apiKey=t.payload,e.mode={mode:"standard",publicAppId:t.payload}},setJws(e,t){e.jws=t.payload,e.mode={mode:"custom",publicAppId:e.apiKey,jws:t.payload}},setMode(e,t){e.mode=t.payload},setSDKConfig(e,t){e.sdkConfig=tt(K(K({},e.sdkConfig),t.payload),{styles:K(K({},e.sdkConfig.styles),t.payload.styles)})},updateSDKConfig(e,t){e.sdkConfig=tt(K(K({},e.sdkConfig),t.payload),{styles:K({},e.sdkConfig.styles)})},setApplicationConfig(e,t){e.applicationConfig=K(K({},e.applicationConfig),t.payload)},setEnvironment(e,t){e.environment=t.payload},setLoomSdkVersion(e,t){e.loomSdkVersion=t.payload},setUrl(e,t){e.url=t.payload}}}),Qu={};Ge(Qu,{ACTIVE_RECORDING_STAGES:()=>GC,ALL:()=>HC,CAMERA_POSITION_BOTTOM_LEFT:()=>oi,CLOSE_PRE_RECORDING_MENU:()=>KC,COUNTDOWN_SECTIONS_PER_SECOND:()=>ep,COUNTDOWN_WAIT_TIME:()=>qu,COUNTDOWN_WAIT_TIME_PER_SECTION:()=>zC,END_RECORDING:()=>FC,MAX_Z_INDEX:()=>VC,NO_CAM:()=>Aa,NO_CAM_MEDIA_DEVICE:()=>Da,NO_CAM_USER:()=>ha,NO_MIC:()=>Ia,NO_MIC_MEDIA_DEVICE:()=>Pa,NO_MIC_USER:()=>Ea,NUM_AUDIO_BARS:()=>Zu,OPEN_PRE_RECORDING_MENU:()=>WC,PAUSE_RECORDING:()=>UC,RESUME_RECORDING:()=>BC,START_RECORDING:()=>kC,UPDATE_TIME_ELAPSED:()=>jC,closePreRecordingMenu:()=>ba,openOnboardingTutorial:()=>Oa,openPreRecordingMenu:()=>Ca,updateMicrophone:()=>ii});var kC="start-recording",UC="pause-recording",BC="resume-recording",FC="end-recording",WC="open-pre-recording-menu",KC="close-pre-recording-menu",jC="update-time-elapsed",Zu=7,VC=2147483647,oi={x:0,y:0},HC=[oi],GC=[nn.RecordingStage.Countdown,nn.RecordingStage.Paused,nn.RecordingStage.PostRecording,nn.RecordingStage.Recording],ii=ni("UPDATE_MICROPHONE"),Ca=ni("OPEN_PRE_RECORDING_MENU"),ba=ni("CLOSE_PRE_RECORDING_MENU"),Oa=ni("OPEN_ONBOARDING_TUTORIAL"),Ia="no_mic",Aa="no_camera",ha="".concat(Aa,"_user"),Ea="".concat(Ia,"_user"),Da={deviceId:ha,label:ha},Pa={deviceId:Ea,label:Ea},qu=1200,ep=4,zC=Math.floor(qu/ep),ho={appStage:me.RecordingStage.Closed,audioData:Array(Zu).fill(0),bubblePosition:{x:0,y:0},cameraBubbleSize:"192px",cancelButtonClicked:!1,canceledDesktopError:!1,dimensions:{width:0,height:0},hostUrl:"",isCapturing:!0,isLoomUploading:!1,mediaDevicePermissions:me.PermissionState.Prompt,micMutedError:!1,onboardingStep:me.OnboardingTutorialStep.PermissionsStep,permissionFailureReason:null,recordingType:me.RecordingType.ScreenAndCamera,restartButtonClicked:!1,screenType:me.RecordingScreenType.Desktop,sdkRecordingType:me.SDKRecordingType.FullScreen,session:void 0,showPictureInPictureModal:!1,tab:void 0,timeElapsed:0,videoDurationLimit:0},rt=xC({name:"recorder",initialState:ho,reducers:{cancelRecording(e){return tt(K({},ho),{screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},captureCam(e){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Camera},captureDesktop(e){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Desktop},captureTab(e,t){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Tab,e.tab=t.payload},closePreviewModal(e){return tt(K({},ho),{hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},disableCanceledDesktopError(e){e.canceledDesktopError=!1},endRecording(e,t){return tt(K({},ho),{appStage:t.payload.appStage,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit,isLoomUploading:!0})},exitPreRecordingStage(e){return tt(K({},ho),{hostUrl:e.hostUrl,recordingType:e.recordingType,videoDurationLimit:e.videoDurationLimit})},finishedUploading(e){e.isLoomUploading=!1},pauseRecording(e){e.appStage=me.RecordingStage.Paused},preCaptureCam(e){e.screenType=me.RecordingScreenType.Camera},preCaptureDesktop(e){e.screenType=me.RecordingScreenType.Desktop},preCaptureTab(e){e.screenType=me.RecordingScreenType.Tab},resetPrerecording(e){return tt(K({},ho),{appStage:me.RecordingStage.PreRecording,mediaDevicePermissions:e.mediaDevicePermissions,permissionFailureReason:e.permissionFailureReason,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},resumeRecording(e){e.appStage=me.RecordingStage.Recording},setDurationLimit(e,t){e.videoDurationLimit=t.payload},setOnboardingTutorialStep(e,t){e.onboardingStep=t.payload.step},startCountdown(e){e.appStage=me.RecordingStage.Countdown},startRecording(e,t){e.dimensions=t.payload,e.appStage=me.RecordingStage.Recording},toggleEnablePictureInPictureModal(e,t){e.showPictureInPictureModal=t.payload},updateBubblePosition(e,t){e.bubblePosition=t.payload},updateCameraBubbleSize(e,t){e.cameraBubbleSize=t.payload},updateCancelButtonClicked(e,t){e.cancelButtonClicked=t.payload},updateHostUrl(e,t){e.hostUrl=t.payload},updateMediaDevicesState(e,t){e.mediaDevicePermissions=t.payload.mediaDevicePermissions,e.permissionFailureReason=t.payload.permissionFailureReason},updateMicMutedError(e,t){e.micMutedError=t.payload},updateRecordingSession(e,t){e.session=t.payload.session,e.tab=t.payload.tab},updateRecordingStage(e,t){e.appStage=t.payload.appStage},updateRestartButtonClicked(e,t){e.restartButtonClicked=t.payload},updateSelectedRecordingType(e,t){e.recordingType=t.payload},updateSelectedSDKRecordingType(e,t){e.sdkRecordingType=t.payload},updateTimeElapsed(e,t){e.timeElapsed=t.payload}},extraReducers:e=>{e.addCase(ii,t=>{t.micMutedError=!1}).addCase(Ca,t=>{t.appStage=me.RecordingStage.PreRecording}).addCase(Oa,t=>{t.appStage=me.RecordingStage.OnboardingTutorial}).addCase(ba,t=>{t.appStage===me.RecordingStage.PreRecording&&(t.appStage=me.RecordingStage.Closed)}).addCase(Ta.actions.setSDKConfig,(t,{payload:o})=>{o.defaultRecordingType&&(t.recordingType=o.defaultRecordingType)})}}),ga={isEnabled:!0,isMenuExpanded:!0,isExpandedDefault:!0,isCameraTooltipExpanded:!1,isCaptureSourceExpanded:!1,isMessageShown:!1},tp=wC({name:"bubbleMenu",initialState:ga,reducers:{toggleBubbleMenu(e){e.isMenuExpanded=!e.isMenuExpanded},toggleBubbleCameraMenu(e){return tt(K({},e),{camera:!e.isCameraTooltipExpanded,captureSource:!1})},updateBubbleExpandedDefault(e,t){e.isExpandedDefault=t.payload},updateBubbleMessageShown(e,t){e.isMessageShown=t.payload}},extraReducers:e=>{e.addCase(rt.actions.startRecording,t=>tt(K({},ga),{isMenuExpanded:t.isExpandedDefault})).addCase(rt.actions.endRecording,t=>tt(K({},ga),{isExpandedDefault:t.isExpandedDefault}))}}),$C={updateBubbleEnabledRecorderSettings:Z("updateBubbleEnabledRecorderSettings")},si=(e=>(e.Pending="Pending",e.Success="Success",e.Failure="Failure",e.NotStarted="NotStarted",e))(si||{}),YC={desktopTabUuid:void 0,endedCascadedRecording:!1,isChromeExtensionInstalled:void 0,isDesktopAppInstalled:void 0,openMenuTimestamp:void 0,openedChromeExtension:!1,shouldOpenChromeExtension:void 0,shouldOpenDesktopApp:!1,openChromeExtensionResult:"NotStarted",timeoutId:void 0},rp=XC({name:"cascadingRecorders",initialState:YC,reducers:{resetIsDesktopAppInstalled(e){e.isDesktopAppInstalled=void 0},resetOpenMenuTimestamp(e){e.openMenuTimestamp=void 0},updateDesktopTabUuid(e,t){e.desktopTabUuid=t.payload},updateEndedCascadedRecording(e,t){e.endedCascadedRecording=t.payload},updateIsChromeExtensionInstalled(e,t){e.isChromeExtensionInstalled=t.payload,t.payload||(e.shouldOpenChromeExtension=!1)},updateIsDesktopAppInstalled(e,t){e.isDesktopAppInstalled=t.payload},updateOpenChromeExtension(e,t){e.shouldOpenChromeExtension=t.payload},updateOpenedChromeExtension(e){e.openedChromeExtension=!0},updateOpenMenuTimestamp(e,t){e.openMenuTimestamp=t.payload},updateOpenChromeExtensionResult(e,t){e.openChromeExtensionResult=t.payload,t.payload==="Failure"&&(e.shouldOpenChromeExtension=!1)},updateShouldOpenDesktopApp(e,t){e.shouldOpenDesktopApp=t.payload},updateTimeoutId(e,t){e.timeoutId=t.payload}},extraReducers:e=>{e.addCase(rt.actions.closePreviewModal,t=>{t.endedCascadedRecording=!1})}}),JC={compareUsers:Z("compare_users"),checkExtensionInstalled:Z("check_extension_installed"),desktopAppStatus:Z("desktop_app_status"),listenForDesktopVideo:Z("listen_for_desktop_video"),openChromeExtension:Z("open_chrome_extension"),openChromeExtensionSuccess:Z("open_chrome_extension_success"),requestStoragePermissions:Z("request_storage_permissions")},op={};Ge(op,{VIDEO_TITLE_UPDATED:()=>QC});var QC="video_title_updated",np={};Ge(np,{AUDIO_GLOW_OFF:()=>ip,AUDIO_GLOW_ON:()=>ob,AUDIO_GLOW_PAUSED:()=>nb,LOOM_HTTP_URI:()=>Ra,LOOM_URI:()=>ZC,MY_VIDEOS_URI:()=>eb,NOTIFICATIONS_TAB:()=>tb,PLANS_AND_BILLING_URI:()=>qC,PRE_RECORDING_TAB:()=>rb,TOOLTIP_DISMISSED_STORAGE_KEY:()=>ib});var ZC="@*LOOM_URI*@",Ra="https://loom.com",qC="".concat(Ra,"/settings/workspace#plans"),eb="".concat(Ra,"/my-videos"),tb="notifications-tab",rb="pre-recording-tab",ob="audio-glow-on",ip="audio-glow-off",nb="audio-glow-paused",ib="workspace-tooltip-limit-dismissed",sp={};Ge(sp,{UPGRADE_TYPES:()=>lb,WORKSPACE_PLAN_BUSINESS:()=>ci,WORKSPACE_PLAN_DISPLAY_NAME_MAP:()=>ab,WORKSPACE_PLAN_ENTERPRISE:()=>li,WORKSPACE_PLAN_HIERARCHY:()=>sb,WORKSPACE_PLAN_INDEFINITE_ARTICLE_MAP:()=>cb,WORKSPACE_PLAN_STARTER_FREE:()=>ai});var ai="starter_free",ci="business",li="enterprise",sb={[ai]:1,[ci]:4,[li]:5},ab={[ai]:"Starter Free",[ci]:"Business",[li]:"Enterprise"},cb={[ai]:"a",[ci]:"a",[li]:"an"},lb={PLAN:"plan",ROLE:"role"},be=K(K(K(K(K({},Qu),np),$u),sp),op),db={openPreRecordingMenu:Ca,updateMicrophone:ii,closePreRecordingMenu:ba,openOnboardingTutorial:Oa},pr={enabled:!0,started:!1,paused:!1,secondsLeft:3,shouldSkipCountdown:!1},ap=ub({name:"countdown",initialState:pr,reducers:{decrementCountdown(e){e.secondsLeft-=1},pauseCountdown(e){e.paused=!0},resumeCountdown(e){e.paused=!1,e.started=!0},enableCancelledDesktopError(){return pr},updateCountdownEnabled(e,t){e.enabled=t.payload},updateShouldSkipCountdown(e,t){e.shouldSkipCountdown=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>{t.paused=pr.paused,t.secondsLeft=pr.secondsLeft,t.started=pr.started}),e.addCase(rt.actions.cancelRecording,t=>{t.paused=pr.paused,t.secondsLeft=pr.secondsLeft,t.started=pr.started})}}),mb={activeFlags:["team-platform-qa-auth"],inactiveFlags:[],fetched:!1,flagResults:{}},lp=pb({name:"featureFlags",initialState:mb,reducers:{setFeatureFlags(e,t){let o=t.payload,r=[cp.FeatureFlags.GUEST_RECORDING_LIMITS],n=[],i={};o.forEach(s=>{let a=s.flag,c=s.resultDetails.result;c==="true"?r.push(a):c==="false"&&n.push(a),i[a]={result:c}}),e.activeFlags=r,e.inactiveFlags=n,e.flagResults=i,e.fetched=!0},setIndividualExperimentValue(e,t){var o,r;e.flagResults=tt(K({},e.flagResults),{[t.payload.experimentName]:{result:((r=(o=t.payload.evaluation)==null?void 0:o.resultDetails)==null?void 0:r.result)||"not-enrolled"}})}}}),fb={propagateError:Z("propagateError")},gb={checkDevicePermissions:Z("checkDevicePermissions"),updateMediaDevices:Z("updateMediaDevices"),initializeCameras:Z("initializeCameras"),initializeMicrophones:Z("initializeMicrophones")},Eb={latestConsumerTrigger:null},dp=hb({name:"meta",initialState:Eb,reducers:{},extraReducers:e=>e.addMatcher(t=>typeof t.type=="string"&&t.type.startsWith("consumer_trigger/"),(t,o)=>{t.latestConsumerTrigger=o.type})}),vb={userCanConnect:!0,userHasInternetConnection:!0,isCheckingNetworkConnection:!1},_a=Sb({name:"network",initialState:vb,reducers:{userCanConnect(e,t){e.userCanConnect=t.payload},userHasInternetConnection(e,t){e.userHasInternetConnection=t.payload},updateIsCheckingOnline(e,t){e.isCheckingNetworkConnection=t.payload}}}),yb={quitPage:Z("quitPage"),checkNetworkStatus:Z("check_network_status"),queueAutoRecovery:Z("queue_auto_recovery")},ri=["welcomeToLoom","checkYourSettings","learnTheControls","positionSelfieBubble","readyToRecord","shareYourVideo"],Cb={shouldSeeOnboarding:!1,isOnboardingComplete:!1,onboardingStep:"welcomeToLoom",shouldSeeOnboardingEntrypoint:!1},Ma=Tb({name:"onboarding",initialState:Cb,reducers:{updateOnboardingStep(e,t){var o;let r=(o=t==null?void 0:t.payload)==null?void 0:o.stepName,n;if(r)n=ri.indexOf(r);else{let i=ri.indexOf(e.onboardingStep);n=Math.min(i+1,ri.length-1)}e.onboardingStep=ri[n]},setShouldSeeOnboarding(e,t){e.shouldSeeOnboarding=t.payload},setIsOnboardingComplete(e,t){e.isOnboardingComplete=t.payload},setShouldSeeOnboardingEntrypoint(e,t){e.shouldSeeOnboardingEntrypoint=t.payload}}}),up={cancelRecording:Z("cancel_recording"),checkUserAuthenticated:Z("check_user_authenticated"),copyVideoUrl:Z("copy_video_url"),deleteRecording:Z("delete_recording"),emailSignInUser:Z("email_sign_in_user"),emailSignUpUser:Z("email_sign_up_user"),endCascadedRecording:Z("end_cascaded_recording"),endRecording:Z("end_recording"),finishRecordingPreview:Z("finish_recording_preview"),getFeatureFlags:Z("get_feature_flags"),getIndividualExperimentValue:Z("get_individual_experiment_value"),getVideoPermissions:Z("get_video_permissions"),initializeBackground:Z("initialize_background"),oAuthLoginUser:Z("oauth_login_user"),pauseRecording:Z("pause_recording"),recordingComplete:Z("recording_complete"),redoRecording:Z("redo_recording"),resendVerificationEmail:Z("resend_verification_email"),resolvePictureInPicturePromise:Z("resolve_picture_in_picture_promise"),resumeRecording:Z("resume_recording"),startRecording:Z("start_recording"),togglePauseRecording:Z("toggle_pause_recording"),updateMicrophone:Z("update_microphone"),updateSelectedScreenType:Z("update_selected_screen_type"),updateUserRecordingSettings:Z("updateUserRecordingSettings"),updateVideoChapters:Z("update_video_chapters"),updateVideoDescription:Z("update_video_description"),updateVideoName:Z("update_video_name"),uploadComplete:Z("upload_complete")},ju={loomVideo:null,dimensions:{width:0,height:0},sessionId:void 0,confirm:Eo.PostRecordingConfirm.InsertRecording,isInTitleEditMode:!1,isInSummaryEditMode:!1,isInChaptersEditMode:!1,isAiDropdownOpen:!1,shouldAnimateLogo:!1,shouldAnimateTitle:!1,titleHasBeenAnimated:!1,showSavedContentToast:null,permissionDescription:null},pp=bb({name:"preview-modal",initialState:ju,reducers:{confirmationClosePreviewModal(e){e.confirm=Eo.PostRecordingConfirm.CloseModal},confirmationDeleteRecording(e){e.confirm=Eo.PostRecordingConfirm.DeleteRecording},confirmationRedoRecording(e){e.confirm=Eo.PostRecordingConfirm.RedoRecording},partialUpdateVideo(e,t){e.loomVideo!=null&&(e.loomVideo=K(K({},e.loomVideo),t.payload))},resetConfirm(e){e.confirm=Eo.PostRecordingConfirm.InsertRecording},updateAutoTitleStatus(e,t){e.loomVideo&&(e.loomVideo.autoTitleStatus=t.payload)},updateFetchTitleIntervalId(e,t){e.fetchTitleIntervalId=t.payload},updateIsAiDropdownOpen(e,t){e.isAiDropdownOpen=t.payload},updateIsInChaptersEditMode(e,t){e.isInChaptersEditMode=t.payload},updateIsInSummaryEditMode(e,t){e.isInSummaryEditMode=t.payload},updateIsInTitleEditMode(e,t){e.isInTitleEditMode=t.payload},updateLoomVideo(e,t){e.loomVideo!=null?e.loomVideo=K(K({},e.loomVideo),t.payload):e.loomVideo=t.payload},updatePermissionDescriptionKey(e,t){e.permissionDescription=t.payload},updateSavedToastContent(e,t){e.showSavedContentToast=t.payload},updateShouldAnimateLogo(e,t){e.shouldAnimateLogo=t.payload},updateShouldAnimateTitle(e,t){e.shouldAnimateTitle=t.payload},updateTitle(e,t){e.loomVideo&&(e.loomVideo.title=t.payload)},updateTitleHasBeenAnimated(e,t){e.titleHasBeenAnimated=t.payload}},extraReducers:e=>{e.addCase(rt.actions.startRecording,(t,o)=>{t.dimensions=o.payload}).addCase(up.startRecording,()=>ju).addCase(rt.actions.updateRecordingSession,(t,o)=>{t.sessionId=o.payload.session.id})}}),st=(e=>(e.Refresh="Refresh",e.EnableCookies="Enable Cookies",e.DownloadDesktopApp="Download Desktop App",e.UnsupportedBrowser="Unsupported Browser",e.Default="Default",e))(st||{});var Ib={bannerNotification:void 0,capturingTempAvatar:!1,dbLevel:0,errorModalMessage:"",genericErrorMessage:"Default",glowStatus:ip,isRetake:!1,modalToDisplay:Ce.PreRecordingModal.RecordingControls,msgType:void 0,permissionRequestState:"idle",photoCountdownSeconds:3,preRecordPage:Ce.RecordingPage.PreRecord,previousView:void 0,shouldRenderCamera:!0,showAvatarMenu:!1,tempAvatarDims:{height:void 0,width:void 0},tempAvatarUrl:void 0,tempPhotoExperience:!1,userDismissedRecorderEducationBanner:!1,workspaceLimitTooltipDismissed:!1},wa=Ob({name:"pre-recording",initialState:Ib,reducers:{clearBannerNotification(e){e.bannerNotification=void 0},clearGenericError(e){e.genericErrorMessage="Default",e.preRecordPage=Ce.RecordingPage.PreRecord},clearMsgType(e){e.msgType=void 0},decrementAvatarCountdown(e){e.photoCountdownSeconds-=1},endTempPhotoExperience(e){e.tempPhotoExperience=!1},goBackToPreviousView(e){e.previousView===Ce.PreRecordingModal.RecordingControls&&(e.modalToDisplay=Ce.PreRecordingModal.RecordingControls),e.previousView=void 0},openAuthModalFromView(e,t){e.modalToDisplay=Ce.PreRecordingModal.Authentication,e.previousView=t.payload},openPermissionsModal(e,t){e.preRecordPage=t.payload},openSystemPermissionsModal(e,t){e.modalToDisplay=Ce.PreRecordingModal.SystemPermissions,e.previousView=t.payload},resetAvatarCountdown(e){e.photoCountdownSeconds=3},setBannerNotification(e,t){e.bannerNotification=t.payload},setIsRetake(e,t){e.isRetake=t.payload},setMemberPaywall(e){e.modalToDisplay=Ce.PreRecordingModal.MemberVideoLimitPaywall,e.preRecordPage=Ce.RecordingPage.VideoLimit},setOffline(e){e.modalToDisplay=Ce.PreRecordingModal.Offline},showErrorModal(e,t){e.errorModalMessage=t.payload.errorMessage,e.modalToDisplay=Ce.PreRecordingModal.ErrorModal},showGenericError(e,t){e.genericErrorMessage=t.payload.errorMessage,e.preRecordPage=Ce.RecordingPage.GenericError},startTempPhotoExperience(e){e.tempPhotoExperience=!0,e.showAvatarMenu=!1},toggleAvatarMenu(e){e.showAvatarMenu=!e.showAvatarMenu},toggleCapturingAvatar(e){e.capturingTempAvatar=!e.capturingTempAvatar},turnOnCamera(e){e.tempAvatarUrl=void 0},updateGlow(e,t){e.dbLevel=t.payload.level,e.glowStatus=t.payload.status},updateMsgType(e,t){e.msgType=t.payload},updatePermissionRequestState(e,t){e.permissionRequestState=t.payload},updatePreRecordPage(e,t){e.preRecordPage=t.payload},updateShouldRenderCamera(e,t){e.shouldRenderCamera=t.payload},updateTempAvatar(e,t){let{url:o,height:r,width:n}=t.payload;e.tempAvatarUrl=o,e.tempAvatarDims={height:r,width:n}},updateUserDismissedRecorderEducationBanner(e,t){e.userDismissedRecorderEducationBanner=t.payload},updateWorkspaceLimitTooltipDismissed(e,t){e.workspaceLimitTooltipDismissed=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>{t.tempAvatarUrl=void 0,t.showAvatarMenu=!1,t.tempPhotoExperience=!1,t.isRetake=!1}).addCase(sn.actions.userLoginSuccess,t=>{t.modalToDisplay=Ce.PreRecordingModal.RecordingControls}).addCase(sn.actions.userLogout,t=>{t.modalToDisplay=Ce.PreRecordingModal.Authentication}).addCase(sn.actions.hasReachedRecordingLimit,(t,o)=>{o.payload?t.preRecordPage=Ce.RecordingPage.SignUp:t.preRecordPage===Ce.RecordingPage.SignUp&&(t.preRecordPage=Ce.RecordingPage.PreRecord)}).addCase(_a.actions.userHasInternetConnection,(t,o)=>{o.payload?t.preRecordPage===Ce.RecordingPage.NetworkError&&(t.preRecordPage=Ce.RecordingPage.PreRecord):t.preRecordPage=Ce.RecordingPage.NetworkError})}}),{openAuthModalFromView:r2,goBackToPreviousView:o2}=wa.actions,Ab={openPreRecordingMenu:Z("open_pre_recording_menu")},Pb={accessRequested:!1,audioEnabled:!0,availableCameras:[],avatarOnScreenOnly:!0,cameraEnabled:!0,cameraId:void 0,cameraPosition:oi,cameraSize:1,currAvatar:0,defaultCameraId:void 0,defaultCameraPosition:oi,defaultMicrophoneId:void 0,flipCamera:!0,highQuality:!0,isPictureInPictureEnabled:!1,microphoneId:void 0,microphones:[],recordingTimerEnabled:!0,screenType:mp.RecordingScreenType.Desktop,sdkAvailableCameras:[Da],sdkMicrophones:[Pa],tabAudio:!1,tempAvatarCameraId:void 0,tempHideCamera:!1},fp=Db({name:"recorderSettings",initialState:Pb,reducers:{accessRequested(e,t){e.accessRequested=t.payload},toggleIsPictureInPictureEnabled(e,t){e.isPictureInPictureEnabled=t.payload},turnOffCamera(e){e.cameraEnabled=!1,e.cameraId=void 0},turnOffMicrophone(e){e.audioEnabled=!1},turnOnCamera(e){e.cameraEnabled=!0,e.cameraId=e.defaultCameraId},turnOnMicrophone(e){e.audioEnabled=!0},updateAvailableCameras(e,t){e.availableCameras=t.payload,e.sdkAvailableCameras=[Da,...t.payload]},updateCamera(e,t){let o=t.payload;return tt(K({},e),{cameraId:o,defaultCameraId:o||e.defaultCameraId||e.cameraId,tempAvatarCameraId:o||e.defaultCameraId||e.cameraId})},updateCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y}},updateCameraSize(e,t){e.cameraSize=t.payload},updateDefaultCamera(e,t){e.defaultCameraId=t.payload},updateDefaultCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y},e.defaultCameraPosition={x:t.payload.x,y:t.payload.y}},updateFlipCamera(e,t){e.flipCamera=t.payload},updateHighQuality(e,t){e.highQuality=t.payload},updateMicrophones(e,t){e.microphones=t.payload,e.sdkMicrophones=[Pa,...t.payload]},updateRecordingTimerEnabled(e,t){e.recordingTimerEnabled=t.payload},updateSelectedScreenType(e,t){e.screenType=t.payload},updateTabAudio(e,t){e.tabAudio=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>tt(K({},t),{cameraPosition:t.defaultCameraPosition,highQuality:!0})).addCase(rt.actions.captureCam,t=>{t.tabAudio=!1}).addCase(rt.actions.captureDesktop,t=>{t.tabAudio=!1}).addCase(rt.actions.captureTab,t=>{t.tabAudio=!1}).addCase(ii,(t,o)=>{t.microphoneId=o.payload,t.defaultMicrophoneId=o.payload})}}),gp={};Ge(gp,{selectAlertMessages:()=>Mb});var _b=e=>e.alerts,Mb=Rb(_b,e=>e.alertMessages),hp={};Ge(hp,{selectAtlassianUserId:()=>kb,selectFetchedBrowserUser:()=>Ub,selectHasReachedRecordingLimit:()=>xb,selectIsUserLoggedIn:()=>wb,selectIsUserViewOnly:()=>Bb,selectPartnerGuestRecordingLimit:()=>Lb,selectUserId:()=>Nb});var Wr=e=>e.authentication,wb=e=>Wr(e).user!==void 0,xb=Ep(Wr,e=>e.hasReachedRecordingLimit),Lb=Ep(Wr,e=>e.partnerGuestRecordingLimit),Nb=e=>{var t;return(t=Wr(e).user)==null?void 0:t.id},kb=e=>{var t;return(t=Wr(e).user)==null?void 0:t.aa_id},Ub=e=>Wr(e).fetchedBrowserUser,Bb=e=>Wr(e).memberRole===Sp.OrgRoles.Viewer,vp={};Ge(vp,{isChromeExtensionInstalled:()=>Kb,selectDesktopAppInstalled:()=>zb,selectDesktopTabUuid:()=>Hb,selectEndedCascadeRecording:()=>Gb,selectOpenChromeExtensionResult:()=>jb,selectShouldOpenDesktopApp:()=>Vb,shouldOpenChromeExtension:()=>Wb});var Kr=e=>e.cascadingRecorders,Wb=e=>Kr(e).shouldOpenChromeExtension,Kb=e=>Kr(e).isChromeExtensionInstalled,jb=Fb(Kr,e=>e.openChromeExtensionResult),Vb=e=>Kr(e).shouldOpenDesktopApp,Hb=e=>Kr(e).desktopTabUuid,Gb=e=>Kr(e).endedCascadedRecording,zb=e=>Kr(e).isDesktopAppInstalled,yp={};Ge(yp,{selectCascadingRecordersDesktopFeatureFlagValue:()=>Xb,selectCascadingRecordersFeatureFlagValue:()=>$b,selectDesktopSubscriptionTimeoutFeatureFlagValue:()=>Yb,selectFeatureFlags:()=>So,selectJsmOnboardingContentFlagValue:()=>eO,selectM25UserInterfaceFeatureFlagValue:()=>Jb,selectRolloutSdkPermissionsVisibilityFlagValue:()=>Zb,selectRolloutSdkRecorderEducationFlagValue:()=>qb,selectShouldShowAiInSdk:()=>Qb});var So=e=>e.featureFlags,$b=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureFlags.ROLLOUT_SDK_CASCADING_RECORDERS_M1])!=null&&t.result)},Xb=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureGates.ROLLOUT_SDK_CASCADING_RECORDERS_M3])!=null&&t.result)},Yb=e=>{var t;let{flagResults:o}=So(e);return((t=o[mr.FeatureExperiments.DESKTOP_SUBSCRIPTION_TIMEOUT])==null?void 0:t.result)||0},Jb=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureFlags.ROLLOUT_SDK_M25_UI])!=null&&t.result)},Qb=e=>{var t;let{flagResults:o}=So(e);return((t=o[mr.FeatureFlags.ROLLOUT_AI_SDK])==null?void 0:t.result)==="variant"},Zb=()=>!0,qb=()=>"variant",eO=e=>!0,Tp={};Ge(Tp,{selectIsCheckingNetworkConnection:()=>rO,selectUserHasInternetConnection:()=>tO});var bp=e=>e.network,tO=Cp(bp,e=>e.userHasInternetConnection),rO=Cp(bp,e=>e.isCheckingNetworkConnection),Op={};Ge(Op,{selectIsOnboardingComplete:()=>iO,selectOnboarding:()=>an,selectOnboardingStep:()=>oO,selectShouldSeeOnboarding:()=>nO,selectShouldSeeOnboardingEntrypoint:()=>sO});var an=e=>e.onboarding,oO=di(an,e=>e.onboardingStep),nO=di(an,e=>e.shouldSeeOnboarding),iO=di(an,e=>e.isOnboardingComplete),sO=di(an,e=>e.shouldSeeOnboardingEntrypoint),Ip={};Ge(Ip,{isInChaptersEditMode:()=>EO,isInSummaryEditMode:()=>hO,isInTitleEditMode:()=>gO,selectAiGenerated:()=>yO,selectAutoChaptersCount:()=>fO,selectAutoChaptersStatus:()=>mO,selectAutoDescriptionStatus:()=>dO,selectAutoTitleStatus:()=>lO,selectChapters:()=>SO,selectDescription:()=>uO,selectDuration:()=>pO,selectIsAiDropdownOpen:()=>vO,selectLoomVideo:()=>_t,selectLoomVideoId:()=>aO,selectLoomVideoTitle:()=>cO,selectPreviewRecording:()=>Ft,selectSavedToastContent:()=>OO,selectShouldAnimateLogo:()=>TO,selectShouldAnimateTitle:()=>CO,selectTitleHasBeenAnimated:()=>bO});var Je=(e=>(e.Auto="AUTO",e.Invalid="INVALID",e.Pending="PENDING",e.Unknown="UNKNOWN",e.User="USER",e))(Je||{});var rr=(e=>(e.Failure="failure",e.InProgress="in_progress",e.NotStarted="not_started",e.Success="success",e.Unsupported="unsupported",e))(rr||{}),Ft=e=>e.previewRecording,_t=ke(Ft,e=>e.loomVideo),aO=ke(_t,e=>e==null?void 0:e.id),cO=ke(_t,e=>e==null?void 0:e.title),lO=ke(_t,e=>e==null?void 0:e.autoTitleStatus),dO=ke(_t,e=>e==null?void 0:e.autoDescriptionStatus),uO=ke(_t,e=>e==null?void 0:e.description),pO=ke(_t,e=>(e==null?void 0:e.duration)||0),mO=ke(_t,e=>e==null?void 0:e.autoChaptersStatus),fO=ke(_t,e=>e==null?void 0:e.autoChaptersCount),gO=ke(Ft,e=>e==null?void 0:e.isInTitleEditMode),hO=ke(Ft,e=>e==null?void 0:e.isInSummaryEditMode),EO=ke(Ft,e=>e==null?void 0:e.isInChaptersEditMode),SO=ke(_t,e=>(e==null?void 0:e.chapters)||""),vO=ke(Ft,e=>e.isAiDropdownOpen),yO=ke(_t,e=>(e==null?void 0:e.autoTitleStatus)==="AUTO"||(e==null?void 0:e.autoDescriptionStatus)==="AUTO"||(e==null?void 0:e.autoChaptersStatus)==="success"),TO=ke(Ft,e=>e.shouldAnimateLogo),CO=ke(Ft,e=>e.shouldAnimateTitle),bO=ke(Ft,e=>e.titleHasBeenAnimated),OO=ke(Ft,e=>e.showSavedContentToast),Ap={};Ge(Ap,{selectGenericErrorMessage:()=>AO,selectMsgType:()=>DO,selectPreRecordPage:()=>IO,selectUserDismissedRecorderEducationBanner:()=>PO});var pi=e=>e.preRecording,IO=ui(pi,e=>e.preRecordPage),AO=ui(pi,e=>e.genericErrorMessage),DO=ui(pi,e=>e.msgType),PO=ui(pi,e=>e.userDismissedRecorderEducationBanner),Dp={};Ge(Dp,{selectAppStage:()=>RO,selectCameraBubbleSize:()=>KO,selectCameraId:()=>_O,selectCanDisableCamera:()=>NO,selectCancelButtonClicked:()=>FO,selectDefaultCameraId:()=>MO,selectFirstCamera:()=>xO,selectFirstMicrophone:()=>LO,selectIsAudioEnabled:()=>UO,selectIsThereNoCameraOption:()=>kO,selectMediaDevicePermissions:()=>wO,selectMicrophoneId:()=>Mp,selectRestartButtonClicked:()=>WO,selectSDKAvailbleCameras:()=>xa,selectSDKMicrophones:()=>_p,selectSDKRecordingType:()=>Rp,selectVideoDurationLimit:()=>BO});var jr=e=>e.recorder,cn=e=>e.recorderSettings,RO=gt(jr,e=>e.appStage),Rp=gt(jr,e=>e.sdkRecordingType),_O=gt(cn,e=>e.cameraId),MO=gt(cn,e=>e.defaultCameraId),xa=gt(cn,e=>e.sdkAvailableCameras),wO=gt(jr,e=>e.mediaDevicePermissions),xO=e=>{let t=xa(e);return t.length>1?t[1].deviceId:t[0].deviceId},LO=e=>{let t=_p(e);return t.length>1?t[1].deviceId:t[0].deviceId},NO=e=>Rp(e)!==Pp.SDKRecordingType.CameraOnly,kO=e=>{let t=xa(e);return t.length===1&&t[0].deviceId.indexOf(Aa)>-1},UO=e=>{let t=Mp(e);return t===void 0?!1:!(t.indexOf(Ia)>-1)},_p=gt(cn,e=>e.sdkMicrophones),Mp=gt(cn,e=>e.microphoneId),BO=gt(jr,e=>e.videoDurationLimit),FO=gt(jr,e=>e.cancelButtonClicked),WO=gt(jr,e=>e.restartButtonClicked),KO=gt(jr,e=>e.cameraBubbleSize),wp={};Ge(wp,{selectAaId:()=>zO,selectDisableDesktopOnFirefox:()=>JO,selectEnvironment:()=>XO,selectLoomSdkVersion:()=>$O,selectSdkEntryPointName:()=>VO,selectSdkExperimentalFeatures:()=>HO,selectSdkMode:()=>YO,selectSdkProductName:()=>jO,selectSettings:()=>Wt,selectSiteId:()=>GO});var Wt=e=>e.settings,jO=or(Wt,e=>e.sdkConfig.productName),VO=or(Wt,e=>e.sdkConfig.entryPointName),HO=or(Wt,e=>e.sdkConfig.experimentalFeatures),GO=or(Wt,({mode:e})=>e.mode==="first-party"?e.siteId:null),zO=or(Wt,e=>e.aaid),$O=or(Wt,e=>e.loomSdkVersion),XO=or(Wt,e=>e.environment),YO=or(Wt,e=>e.mode),JO=or(Wt,e=>e.sdkConfig.disableDesktopOnFirefox||!1),xp={};Ge(xp,{selectUser:()=>Lp,selectUserVideoSettings:()=>ZO});var Lp=e=>e.user,ZO=QO(Lp,e=>e.videoSettings),Np={};Ge(Np,{selectDefaultWorkspace:()=>fr,selectDefaultWorkspaceId:()=>nI,selectDefaultWorkspaceSiteId:()=>iI,selectHasAIAddOn:()=>rI,selectIsTrialing:()=>eI,selectMembeRole:()=>tI,selectSiteIdFromWorkspaces:()=>sI,selectUpgradeUrl:()=>oI,selectVideoCount:()=>qO,selectWorkspacesFetched:()=>aI});var fr=e=>e.workspaces.defaultWorkspace||null,qO=Vr(fr,e=>{var t,o,r;return((r=(o=(t=e==null?void 0:e.organization)==null?void 0:t.counts)==null?void 0:o.videos)==null?void 0:r.total_member_created_videos)||0}),eI=Vr(fr,e=>{var t;return!!((t=e==null?void 0:e.organization)!=null&&t.is_trialing)}),tI=Vr(fr,e=>e==null?void 0:e.member_role),rI=Vr(fr,e=>{var t,o;return!!((o=(t=e==null?void 0:e.organization)==null?void 0:t.add_ons)!=null&&o.includes("AI"))}),oI=Vr(fr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.upgrade_url}),nI=Vr(fr,e=>e==null?void 0:e.id),iI=Vr(fr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.site_id}),sI=e=>{let o=e.workspaces.workspaces.find(r=>!!r.organization.site_id&&(r.organization.status===null||r.organization.status===ti));if(o)return o.organization.site_id},aI=e=>e.workspaces.workspacesFetched,A=K(K(K(K(K(K(K(K(K(K(K(K({},gp),hp),vp),Tp),Op),Ap),Ip),Dp),wp),yp),xp),Np),lI={auto_chapters:!1,auto_cta:!1,auto_filler_word_removal:!1,auto_silence_removal:!1,auto_summary:!1,auto_tasks:!1,auto_title:!1,comments_email_enabled:!1,comments_enabled:!1,default_filler_word_removal:"",download_enabled:!1,email_gate_video_type:"",filler_word_removal:"",loom_branded_player:!1,noise_suppression:!1,record_reply_enabled:!1,salesforce_engagement_tracking:!1,show_analytics_to_viewer:!1,show_transcript_to_viewer:!1,stylizedCaptions:!1,suggested_playback_rate:"",use_emojis:!1,use_gif:!1,viewerCaptionsOn:!1,viewers_can_weave:!1,viewers_can_weave_default:!1},dI={videoSettings:lI},kp=cI({name:"user",initialState:dI,reducers:{updateLoomVideoSettings(e,t){e.videoSettings=K(K({},e.videoSettings),t.payload)}}}),uI={getWorkspaces:Z("get_workspaces"),getDefaultWorkspaceAdmins:Z("get_default_workspace_admins")},Hr=(e=>(e.RecordingCompleted="recording-completed",e.RecordingLimit="recording-limit",e.UnrecoverableError="unrecoverable-error",e.MediaStreamStopped="media-stream-stopped",e.ScreenRecordingEnded="screen-recording-ended",e.FailedToStartRecording="failed-to-start-recording",e.TriggeredByPartnerFrontend="triggered-by-partner-frontend",e))(Hr||{});var pI=vC({alerts:Hu.reducer,analytics:Gu.reducer,authentication:sn.reducer,bubbleMenu:tp.reducer,cascadingRecorders:rp.reducer,countdown:ap.reducer,featureFlags:lp.reducer,meta:dp.reducer,network:_a.reducer,onboarding:Ma.reducer,preRecording:wa.reducer,previewRecording:pp.reducer,recorder:rt.reducer,recorderSettings:fp.reducer,settings:Ta.reducer,user:kp.reducer,workspaces:Sa.reducer}),R=K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K({},Hu.actions),Gu.actions),sn.actions),tp.actions),rp.actions),ap.actions),lp.actions),_a.actions),Ma.actions),wa.actions),pp.actions),rt.actions),fp.actions),Sa.actions),dp.actions),Ta.actions),kp.actions),db),_=K(K(K(K(K(K(K(K(K(K({},IC),$C),JC),fb),gb),yb),Ma.actions),Ab),up),uI),Up=(e,t)=>({store:yC({reducer:pI,middleware:e,devTools:t})});function vo(e,t,o,r=(n,i)=>n===i){let n=t(e.getState());return e.subscribe(()=>{let i=t(e.getState());r(n,i)||(n=i,o(i))})}var ie=Y(J());var Bp="screen",Q="ui",yo="track",re="operational";var mI="SDK Ask Device Permissions",Fp="SDK Beacon Sent",Wp="Total Tab Change",fI="User Share Screen Selection",La="SDK Record Button Clicked V2",mi="SDK Successfully Set Up V2",Na="SDK Sign Up Button Clicked V2",ka="SDK Home Button Clicked V2",fi="SDK Recording Capture Mode V2",gi="SDK Recording With Cam On V2",hi="SDK Recording With Cam Off V2",Ei="SDK Recording With Mic On V2",Si="SDK Recording With Mic Off V2",Ua="SDK Close Preview Modal Button Clicked V2",Ba="SDK Close Preview Modal Confirm Button Clicked V2",Fa="SDK Close Preview Modal Cancel Button Clicked V2",Wa="SDK Restart Recording Button in Preview Modal Clicked V2",Ka="SDK Restart Recording Cancel Button in Preview Modal Clicked V2",ja="SDK Restart Recording Confirm Button in Preview Modal Clicked V2",Va="SDK Delete Recording Button in Preview Modal Clicked V2",Ha="SDK Delete Recording Confirm Button in Preview Modal Clicked V2",Ga="SDK Delete Recording Cancel Button in Preview Modal Clicked V2",za="SDK Primary CTA in Preview Modal Clicked V2",$a="SDK Copy Video Link Buton in Preview Modal Clicked V2",Xa="SDK Edit Video Button in Preview Modal Clicked V2",Ya="SDK Edited Title V2",Ja="SDK Skip Countdown V2",Qa="SDK Finish Recording Button Clicked V2",Za="SDK Pause Recording Button Clicked V2",qa="SDK Resume Recording Button Clicked V2",ec="SDK Restart Recording Button Clicked V2",tc="SDK Cancel Recording Button Clicked V2",rc="SDK Cancel Modal Resume Recording V2",oc="SDK Cancel Modal Restart Recording V2",nc="SDK Cancel Modal Confirm Cancel Recording V2",ic="SDK Restart Modal Resume Recording V2",sc="SDK Restart Modal Restart Recording V2",ac="SDK Onboarding Exited",wi="SDK Onboarding Completed",cc="SDK Onboarding Next Step Clicked",lc="SDK Help Center Clicked",dc="SDK Help Center Item Clicked",uc="SDK Download Banner Desktop Install Clicked",pc="SDK Download Banner Extension Install Clicked",gI="video_title_updated",vi="SDK Recorder Launched V2",yi="SDK Video Limit Page Opened",Ti="SDK Network Error Modal Opened",Ci="SDK Generic Error Modal Opened",bi="SDK Sign Up Modal Opened",Oi="SDK Screen System Permissions Modal Opened",Ii="SDK Audio and Camera System Permissions Modal Opened",Ai="SDK Product Name",Di="SDK Entry Point Name",hI="SDK Close Preview Modal Button Clicked",EI="SDK Close Preview Modal Confirm Button Clicked",SI="SDK Close Preview Modal Cancel Button Clicked",vI="SDK Restart Recording Button Clicked",yI="SDK Restart Recording Cancel Button Clicked",TI="SDK Restart Recording Confirm Button Clicked",CI="SDK Delete Recording Button Clicked",bI="SDK Delete Recording Confirm Button Clicked",OI="SDK Delete Recording Cancel Button Clicked",II="SDK Insert Recording Button Clicked",AI="SDK Copy Video Link Buton Clicked",Pi="SDK Copy Video Link Via Navigator Unsuccessful",Ri="SDK Copy Video Link Via Fallback Unsuccessful",_i="Show onboarding tutorial",Mi="Show onboarding tutorial step",mc="Close onboarding tutorial",DI="SDK Sign Up Button Clicked",PI="SDK Open Workspace Button Clicked",RI="SDK Record Button Clicked",Kp="SDK Successfully Set Up",fc="SDK Examples Modal Viewed",gc="SDK Examples Modal Dismiss Clicked",hc="SDK Examples Modal Expand Clicked",Ec="SDK Examples Modal Carousel Clicked",Sc="SDK Examples Modal Failed",vc="SDK Examples Modal Video Clicked",yc="SDK Onboarding Entrypoint Clicked",T2={[mI]:{eventType:yo,action:"requested",actionSubject:"sdkDevicePermissions"},[hi]:{eventType:re,action:hi,actionSubject:"sdkRecorder"},[gi]:{eventType:re,action:gi,actionSubject:"sdkRecorder"},[tc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelButtonV2"},[nc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalConfirmButtonV2"},[oc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalRestartButtonV2"},[rc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalResumeButtonV2"},[gc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalDismiss"},[hc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalExpand"},[vc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalVideo"},[Ec]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalVideoCarousel"},[yc]:{eventType:Q,action:"clicked",actionSubject:"sdkOnboardingEntrypoint"},[mc]:{eventType:Q,action:"clicked",actionSubject:"sdkCloseOnboardingTutorialButton"},[hI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalButton"},[Ua]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalButtonV2"},[SI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalCancelButton"},[Fa]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalCancelButtonV2"},[EI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalConfirmButton"},[Ba]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalConfirmButtonV2"},[AI]:{eventType:Q,action:"clicked",actionSubject:"sdkCopyVideoLinkPreviewModalButton"},[$a]:{eventType:Q,action:"clicked",actionSubject:"sdkCopyVideoLinkPreviewModalButtonV2"},[Ri]:{eventType:re,action:Ri,actionSubject:"sdkRecorder"},[Pi]:{eventType:re,action:Pi,actionSubject:"sdkRecorder"},[CI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalButton"},[Va]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalButtonV2"},[OI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalCancelButton"},[Ga]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalCancelButtonV2"},[bI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalConfirmButton"},[Ha]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalConfirmButtonV2"},[Xa]:{eventType:Q,action:"clicked",actionSubject:"sdkEditVideoPreviewModalButtonV2"},[Ya]:{eventType:yo,action:"updated",actionSubject:"sdkPreviewModalTitleV2"},[Di]:{eventType:re,action:Di,actionSubject:"sdkRecorder"},[Qa]:{eventType:Q,action:"clicked",actionSubject:"sdkFinishRecordingButtonV2"},[ka]:{eventType:Q,action:"clicked",actionSubject:"sdkHomeButtonV2"},[II]:{eventType:Q,action:"clicked",actionSubject:"sdkInsertRecordingPreviewModalButton"},[Si]:{eventType:re,action:Si,actionSubject:"sdkRecorder"},[Ei]:{eventType:re,action:Ei,actionSubject:"sdkRecorder"},[PI]:{eventType:Q,action:"clicked",actionSubject:"sdkOpenWorkspaceButton"},[Za]:{eventType:Q,action:"clicked",actionSubject:"sdkPauseButtonV2"},[za]:{eventType:Q,action:"clicked",actionSubject:"sdkPreviewModalPrimaryCtaV2"},[RI]:{eventType:Q,action:"clicked",actionSubject:"sdkRecordButton"},[La]:{eventType:Q,action:"clicked",actionSubject:"sdkRecordButtonV2"},[fi]:{eventType:re,action:fi,actionSubject:"sdkRecorder"},[ie.RecordLayerStates.Abandoned]:{eventType:re,action:ie.RecordLayerStates.Abandoned,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Abandoning]:{eventType:re,action:ie.RecordLayerStates.Abandoning,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Cancelling]:{eventType:re,action:ie.RecordLayerStates.Cancelling,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Cancelled]:{eventType:re,action:ie.RecordLayerStates.Cancelled,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Completing]:{eventType:re,action:ie.RecordLayerStates.Completing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Completed]:{eventType:re,action:ie.RecordLayerStates.Completed,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.FinishedUploading]:{eventType:re,action:ie.RecordLayerStates.FinishedUploading,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Intitializing]:{eventType:re,action:ie.RecordLayerStates.Intitializing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.MediaStreamStopped]:{eventType:re,action:ie.RecordLayerStates.MediaStreamStopped,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Paused]:{eventType:re,action:ie.RecordLayerStates.Paused,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Pausing]:{eventType:re,action:ie.RecordLayerStates.Pausing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Ready]:{eventType:re,action:ie.RecordLayerStates.Ready,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Recording]:{eventType:re,action:ie.RecordLayerStates.Recording,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Resumed]:{eventType:re,action:ie.RecordLayerStates.Resumed,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Resuming]:{eventType:re,action:ie.RecordLayerStates.Resuming,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Starting]:{eventType:re,action:ie.RecordLayerStates.Starting,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Unknown]:{eventType:re,action:ie.RecordLayerStates.Unknown,actionSubject:"sdkRecorderLifecycleEvent"},[ec]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartButtonV2"},[sc]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartModalConfirmRestartButtonV2"},[ic]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartModalResumeRecordingButtonV2"},[vI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalButton"},[Wa]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalButtonV2"},[yI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalCancelButton"},[Ka]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalCancelButtonV2"},[TI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalConfirmButton"},[ja]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalConfirmButtonV2"},[qa]:{eventType:Q,action:"clicked",actionSubject:"sdkResumeButtonV2"},[Ii]:{eventType:re,action:Ii,actionSubject:"sdkRecorder"},[Fp]:{eventType:re,action:Fp,actionSubject:"sdkRecorder"},[uc]:{eventType:Q,action:"clicked",actionSubject:"sdkDownloadBannerDesktopInstallButton"},[pc]:{eventType:Q,action:"clicked",actionSubject:"sdkDownloadBannerExtensionInstallButton"},[Sc]:{eventType:re,action:"failed",actionSubject:"sdkExamplesModal"},[Ci]:{eventType:re,action:Ci,actionSubject:"sdkRecorder"},[lc]:{eventType:Q,action:"clicked",actionSubject:"sdkHelpCenterButton"},[dc]:{eventType:Q,action:"clicked",actionSubject:"sdkHelpCenterItem"},[Ti]:{eventType:re,action:Ti,actionSubject:"sdkRecorder"},[wi]:{eventType:yo,action:"completed",actionSubject:"sdkOnboarding"},[ac]:{eventType:yo,action:"exited",actionSubject:"sdkOnboarding"},[cc]:{eventType:Q,action:"clicked",actionSubject:"sdkOnboardingNextStepButton"},[Ai]:{eventType:re,action:Ai,actionSubject:"sdkRecorder"},[vi]:{eventType:re,action:vi,actionSubject:"sdkRecorder"},[Oi]:{eventType:re,action:Oi,actionSubject:"sdkRecorder"},[Kp]:{eventType:re,action:Kp,actionSubject:"sdkRecorder"},[mi]:{eventType:re,action:mi,actionSubject:"sdkRecorder"},[bi]:{eventType:re,action:bi,actionSubject:"sdkRecorder"},[yi]:{eventType:re,action:yi,actionSubject:"sdkRecorder"},[_i]:{eventType:re,action:_i,actionSubject:"sdkRecorder"},[Mi]:{eventType:re,action:Mi,actionSubject:"sdkRecorder"},[DI]:{eventType:Q,action:"clicked",actionSubject:"sdkSignUpButton"},[Na]:{eventType:Q,action:"clicked",actionSubject:"sdkSignUpButtonV2"},[Ja]:{eventType:Q,action:"clicked",actionSubject:"sdkSkipCountdownButtonV2"},[Wp]:{eventType:re,action:Wp,actionSubject:"sdkRecorder"},[fI]:{eventType:Q,action:"clicked",actionSubject:"sdkUserRecordingScreenSelectionCta"},[gI]:{eventType:yo,action:"updated",actionSubject:"sdkAutoGeneratedVideoTitle"},[fc]:{eventType:Bp,name:"sdkExamplesModal"}};var jp="record-sdk",Vp="".concat(jp,".setup.finish"),Hp="".concat(jp,".mau_analytics.failed");var Tc=(n=>(n.Development="development",n.Testbench="testbench",n.Staging="staging",n.Production="production",n))(Tc||{}),xi=(r=>(r.ScreenAndCamera="screen_cam",r.ScreenOnly="screen",r.CameraOnly="cam",r))(xi||{});var Qe=Y(J()),To=e=>{switch(e){case Qe.RecordingStage.PreRecording:case Qe.RecordingStage.Countdown:case Qe.RecordingStage.CountdownSkipped:return Qe.SDKState.PreRecording;case Qe.RecordingStage.Recording:case Qe.RecordingStage.Paused:return Qe.SDKState.ActiveRecording;case Qe.RecordingStage.PostRecording:return Qe.SDKState.PostRecording;case Qe.RecordingStage.Cascaded:return Qe.SDKState.Cascaded;case Qe.RecordingStage.Closed:default:return Qe.SDKState.Closed}};import*as Li from"react-redux";var P=Li.useSelector,te=()=>Li.useDispatch();var Kt=(...e)=>{},Gp=e=>e===Kt,zp=()=>({onInsertClicked:Kt,onStart:Kt,onRecordingStarted:Kt,onCancel:Kt,onComplete:Kt,onAnalyticsEvent:Kt,onLifecycleUpdate:Kt,onRecordingComplete:Kt,onUploadComplete:Kt}),MI=(e,t)=>{switch(t){case"active-recording":e.onRecordingStarted();break;default:}},wI=(e,t,o)=>{let r=o.getState();switch(t){case _.startRecording().type:e.onStart();break;case _.cancelRecording().type:e.onCancel();break;case _.endRecording({fromError:!1,fromRecordingLimit:!1}).type:e.onComplete();break;case _.recordingComplete().type:r.previewRecording.loomVideo&&e.onRecordingComplete(r.previewRecording.loomVideo);break;case _.uploadComplete().type:r.previewRecording.loomVideo&&e.onUploadComplete(r.previewRecording.loomVideo);break;default:return}},Gr=zp(),$p=e=>(vo(e,t=>t.meta.latestConsumerTrigger,t=>{t!==null&&wI(Gr,t,e)}),vo(e,t=>To(t.recorder.appStage),t=>{Gr.onLifecycleUpdate(t),MI(Gr,t)}),{replaceHooks:t=>{Gr=x(x({},zp()),t)}});var Qi={};je(Qi,{SDKMode:()=>ym,buildIframe:()=>Bc,createStore:()=>Fc,getIframeSrc:()=>Ji,reportFatal:()=>Uc});var vm=Y(Em());var nr=Y(J());var Nc="loom-sdk-record-overlay-shadow-root-id",Io="loom-sdk-record-overlay-shadow-inner-container",Sm="loom-sdk-record-overlay-shadow-style-id";var $A=e=>{if(["/sdk-testbench/","/sdk-testbench/preview"].includes(e.pathname))return"https://loomlocal.com:4444";let t="(?://|[a-z]\\.)(?:loom.com|loomlocal.com)";return new RegExp(t,"ig").test(e.origin)?e.origin:"https://www.loom.com"},kc=e=>{switch(e){case nr.Environment.Testbench:case nr.Environment.Development:return nr.EnvironmentUrl.Development;case nr.Environment.Staging:return nr.EnvironmentUrl.Staging;case nr.Environment.Production:return nr.EnvironmentUrl.Production;default:return $A(location)}};var Uc=async(e,t)=>{let o=kc(t);await fetch("".concat(o,"/integrations-app/sdk/report-fatal"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e})})},Ji=(e,t,o)=>{let r=(()=>{switch(e.kind){case"first-party":return{path:"/integrations-app/sdk/atlassian",params:[["api_key",e.appId],["token",e.jws]]};case"standard":return{path:"/integrations-app/sdk",params:[["api_key",e.appId]]};case"custom":return{path:"/integrations-app/sdk",params:[["jws",e.jws]]};default:{let a=e;throw new Error("determineSrc: ".concat(a," is unexpected"))}}})(),{path:n,params:i}=r,s=new URL(n,kc(o));return s.searchParams.set("sdk_version",t),i.forEach(([a,c])=>{s.searchParams.set(a,c)}),s.toString()},Bc=(e,t,o)=>{let r=document.createElement("iframe");return r.src=Ji(e,t,o),r.allow="microphone; camera; clipboard-write; display-capture;",r.style.display="block",r.style.width="0",r.style.height="0",r.style.border="none",r.style.visibility="hidden",r},Fc=async e=>{let t;try{t=new vm.Store({iframe:e})}catch(r){return console.error("[record-sdk] createStore: new IframeReduxStore() encountered error",{message:r.message}),r.message="new IframeReduxStore: ".concat(r.message),r}let o=await t.ready();return o instanceof Error?(console.error("[record-sdk] createStore: proxyStore.ready() encountered error",{message:o.message}),o):t},ym=(r=>(r.AppID="standard",r.JWS="custom",r.FirstParty="first-party",r))(ym||{});var Wc=Y(J());import XA from"eventemitter3";var Ao=class extends XA{constructor(o,r,n){super();this.store=o;this.hooks=r;this.replaceHooks=n}openPreRecordPanel(){var r,n,i;let o=new Date;this.hooks&&this.replaceHooks&&this.replaceHooks(this.hooks),Ve.activeButton=this,(r=this.store)==null||r.dispatch(R.updateOpenMenuTimestamp(o.getTime())),(n=this.store)==null||n.dispatch(R.setUrl(window.location.href)),(i=this.store)==null||i.dispatch(_.openPreRecordingMenu({startTime:o,entryPoint:"sdkButton"}))}closePreRecordPanel(){var o;Ve.activeButton===this&&((o=this.store)==null||o.dispatch(R.closePreRecordingMenu()))}moveBubble(o){var r;Ve.activeButton===this&&((r=this.store)==null||r.dispatch(R.updateBubblePosition(o)))}endRecording(){if(Ve.activeButton===this&&this.store){let o=this.store.getState().recorder.appStage;[Wc.RecordingStage.Recording,Wc.RecordingStage.Paused].includes(o)&&this.store.dispatch(_.endRecording({fromError:!1,fromRecordingLimit:!1,reason:Hr.TriggeredByPartnerFrontend}))}}},Kc=class{constructor(){this.activeButton=new Ao}},Ve=new Kc,YA={[_.startRecording().type]:"start",[_.cancelRecording().type]:"cancel",[_.endRecording({fromError:!1,fromRecordingLimit:!1}).type]:"complete",[_.recordingComplete().type]:"recording-complete",[_.uploadComplete().type]:"upload-complete"},JA=(e,t)=>{let o=t.getState();switch(e){case"start":case"cancel":case"complete":Ve.activeButton.emit(e);break;case"recording-complete":o.previewRecording.loomVideo&&Ve.activeButton.emit(e,o.previewRecording.loomVideo);break;case"upload-complete":o.previewRecording.loomVideo&&Ve.activeButton.emit(e,o.previewRecording.loomVideo);break;default:return}};function Tm(e){vo(e,t=>t.meta.latestConsumerTrigger,t=>{t!==null&&JA(YA[t],e)}),vo(e,t=>To(t.recorder.appStage),t=>{Ve.activeButton.emit("lifecycle-update",t),t==="active-recording"&&Ve.activeButton.emit("recording-start")})}async function QA(e,t={}){let{timeout:o=3e3}=t,r=new AbortController,n=setTimeout(()=>r.abort(),o),i=await fetch(e,ne(x({},t),{signal:r.signal}));return clearTimeout(n),i}var Cm="\nFor troubleshooting, go to https://dev.loom.com/docs/record-sdk/troubleshooting";async function bm(e,t,o,r){let n=await QA(Ji(t,o,r),{method:"GET",timeout:2e3}),i=await n.text();[200,304].includes(n.status)?console.error("@loomhq/record-sdk, failed to connect to SDK store: ".concat(e).concat(Cm)):console.error("@loomhq/record-sdk, failed loading SDK bundle: ".concat(n.status," - ").concat(i).concat(Cm))}import Om from"jwt-decode";var Im=e=>{let{mode:t}=e;switch(t){case"standard":return R.setMode({mode:"standard",publicAppId:e.publicAppId});case"custom":{let o=Om(e.jws);if(typeof o.iss!="string")throw new Error("loom recordSDK: JWS is missing the issuer field");return R.setMode({mode:"custom",publicAppId:o.iss,jws:e.jws})}case"first-party":return R.setMode({mode:"first-party",publicAppId:e.publicAppId,siteId:e.siteId});default:{let o=t;throw console.warn("".concat(o," was provided as the mode")),new Error("Misconfigured SDK: 'mode' needs to be defined as part of config. Example: { mode: 'standard', publicAppId: 'the api key' }")}}},Am=e=>{let{SDKMode:t}=Qi;switch(e.mode){case"first-party":return{kind:t.FirstParty,appId:e.publicAppId,jws:e.jws};case"standard":return{kind:t.AppID,appId:e.publicAppId};case"custom":{let{jws:o}=e,r=Om(o);if(typeof r.iss!="string")throw new Error("loom recordSDK: JWS is missing the issuer field");return{kind:t.JWS,appId:r.iss,jws:o}}default:{let o=e;throw console.warn("".concat(o," was provided as SDK args")),new Error("Misconfigured SDK: 'mode' needs to be defined as part of config. Example: { mode: 'standard', publicAppId: 'the api key' }")}}};import"raf/polyfill";import ua from"react";import CF from"react-dom";import{Provider as bF}from"react-redux";var Te=Y(J());import eF from"@emotion/styled";import tF from"focus-trap-react";import Pt,{useEffect as da}from"react";import{ErrorBoundary as rF}from"react-error-boundary";import{shallowEqual as oF}from"react-redux";import{serializeError as nF}from"serialize-error";import zf from"@emotion/styled";import Gt,{useState as vR,useRef as yR,useEffect as TR}from"react";import CR from"react-draggable";import{shallowEqual as bR}from"react-redux";var Gc={};je(Gc,{selectIsOnboardingComplete:()=>Vc,selectOnboarding:()=>pn,selectOnboardingStep:()=>wt,selectShouldSeeOnboarding:()=>jc,selectShouldSeeOnboardingEntrypoint:()=>Hc});import{createSelector as Zi}from"@reduxjs/toolkit";var pn=e=>e.onboarding,wt=Zi(pn,e=>e.onboardingStep),jc=Zi(pn,e=>e.shouldSeeOnboarding),Vc=Zi(pn,e=>e.isOnboardingComplete),Hc=Zi(pn,e=>e.shouldSeeOnboardingEntrypoint);import{keyframes as qA,css as eD}from"@emotion/react";import tD from"@emotion/styled";var Dm,rD=e=>qA(Dm||(Dm=I(["\n 100% {\n filter: drop-shadow(0px 0px 10px ",");\n }\n"])),e),Pm,Rm,ir=tD.div(Rm||(Rm=I(["\n animation: ",";\n"])),e=>e.visible?eD(Pm||(Pm=I(["\n "," 1s infinite alternate\n "])),rD(e.color||"rgba(97, 92, 245, 1)")):null);import{useSelector as fn}from"react-redux";import yD from"ua-parser-js";var Yc={};je(Yc,{selectAaId:()=>iD,selectDisableDesktopOnFirefox:()=>Xc,selectEnvironment:()=>aD,selectLoomSdkVersion:()=>sD,selectSdkEntryPointName:()=>$c,selectSdkExperimentalFeatures:()=>oD,selectSdkMode:()=>cD,selectSdkProductName:()=>zc,selectSettings:()=>Vt,selectSiteId:()=>nD});import{createSelector as sr}from"@reduxjs/toolkit";var Vt=e=>e.settings,zc=sr(Vt,e=>e.sdkConfig.productName),$c=sr(Vt,e=>e.sdkConfig.entryPointName),oD=sr(Vt,e=>e.sdkConfig.experimentalFeatures),nD=sr(Vt,({mode:e})=>e.mode==="first-party"?e.siteId:null),iD=sr(Vt,e=>e.aaid),sD=sr(Vt,e=>e.loomSdkVersion),aD=sr(Vt,e=>e.environment),cD=sr(Vt,e=>e.mode),Xc=sr(Vt,e=>e.sdkConfig.disableDesktopOnFirefox||!1);var Jc={};je(Jc,{selectDefaultWorkspace:()=>hr,selectDefaultWorkspaceId:()=>mD,selectDefaultWorkspaceSiteId:()=>fD,selectHasAIAddOn:()=>uD,selectIsTrialing:()=>lD,selectMembeRole:()=>dD,selectSiteIdFromWorkspaces:()=>gD,selectUpgradeUrl:()=>pD,selectVideoCount:()=>mn,selectWorkspacesFetched:()=>hD});import{createSelector as zr}from"@reduxjs/toolkit";var hr=e=>e.workspaces.defaultWorkspace||null,mn=zr(hr,e=>{var o,r,n;return((n=(r=(o=e==null?void 0:e.organization)==null?void 0:o.counts)==null?void 0:r.videos)==null?void 0:n.total_member_created_videos)||0}),lD=zr(hr,e=>{var t;return!!((t=e==null?void 0:e.organization)!=null&&t.is_trialing)}),dD=zr(hr,e=>e==null?void 0:e.member_role),uD=zr(hr,e=>{var t,o;return!!((o=(t=e==null?void 0:e.organization)==null?void 0:t.add_ons)!=null&&o.includes("AI"))}),pD=zr(hr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.upgrade_url}),mD=zr(hr,e=>e==null?void 0:e.id),fD=zr(hr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.site_id}),gD=e=>{let o=e.workspaces.workspaces.find(r=>!!r.organization.site_id&&(r.organization.status===null||r.organization.status===ti));if(o)return o.organization.site_id},hD=e=>e.workspaces.workspacesFetched;import{useEffect as ED,useState as SD}from"react";import{useSelector as vD}from"react-redux";var _m=e=>{let[t,o]=SD({width:0,height:0});return ED(()=>{let r=()=>{var i,s,a,c;return{width:(s=(i=e==null?void 0:e.current)==null?void 0:i.offsetWidth)!=null?s:0,height:(c=(a=e==null?void 0:e.current)==null?void 0:a.offsetHeight)!=null?c:0}},n=()=>{o(r())};return e.current&&o(r()),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[e]),t},Er=()=>{let e=vD(A.selectAlertMessages),t=e.length>0;return{alertMessages:e,isAlertMessageShowing:t}};var Mm=()=>window.localStorage.getItem("shouldSeeOnboarding"),at=e=>{window.localStorage.setItem("shouldSeeOnboarding",e)},wm=()=>{var o;let e=(o=new yD().getBrowser().name)!=null?o:"unknown",t=fn(Xc);(e==="Firefox"&&!t||e==="Safari")&&at("false")},gn=()=>{let{isAlertMessageShowing:e}=Er(),t=fn(Hc),o=fn(Vc);return!e&&o===!1&&t},ht=()=>{let e=window.localStorage.getItem("shouldSeeOnboarding"),t=fn(jc),o=fn(mn);return e!=="false"&&e!=="true"?(at(o<3?"true":"false"),o<3):e==="true"||t?!0:(!t||e==="false"||at("false"),!1)};import aR from"react";var us=Y(J());import fl from"@emotion/styled";import Ue from"react";import{useDispatch as eR,useSelector as xo}from"react-redux";import{Arrange as Df,Spacer as Pf,Icon as tR,Text as Rf,Button as rR}from"@loomhq/lens";import{SvgClose as oR}from"@loomhq/lens/icons/close";var il={};je(il,{selectAppStage:()=>tl,selectCameraBubbleSize:()=>Tn,selectCameraId:()=>wD,selectCanDisableCamera:()=>UD,selectCancelButtonClicked:()=>ol,selectDefaultCameraId:()=>xD,selectFirstCamera:()=>ND,selectFirstMicrophone:()=>kD,selectIsAudioEnabled:()=>FD,selectIsThereNoCameraOption:()=>BD,selectMediaDevicePermissions:()=>LD,selectMicrophoneId:()=>Bm,selectRestartButtonClicked:()=>nl,selectSDKAvailbleCameras:()=>rl,selectSDKMicrophones:()=>Um,selectSDKRecordingType:()=>km,selectVideoDurationLimit:()=>WD});var Nm=Y(J());import{createSelector as Et}from"@reduxjs/toolkit";var el={};je(el,{ACTIVE_RECORDING_STAGES:()=>_D,ALL:()=>RD,CAMERA_POSITION_BOTTOM_LEFT:()=>En,CLOSE_PRE_RECORDING_MENU:()=>AD,COUNTDOWN_SECTIONS_PER_SECOND:()=>Lm,COUNTDOWN_WAIT_TIME:()=>xm,COUNTDOWN_WAIT_TIME_PER_SECTION:()=>MD,END_RECORDING:()=>OD,MAX_Z_INDEX:()=>PD,NO_CAM:()=>ts,NO_CAM_MEDIA_DEVICE:()=>rs,NO_CAM_USER:()=>Qc,NO_MIC:()=>es,NO_MIC_MEDIA_DEVICE:()=>os,NO_MIC_USER:()=>Zc,NUM_AUDIO_BARS:()=>qc,OPEN_PRE_RECORDING_MENU:()=>ID,PAUSE_RECORDING:()=>CD,RESUME_RECORDING:()=>bD,START_RECORDING:()=>TD,UPDATE_TIME_ELAPSED:()=>DD,closePreRecordingMenu:()=>Sn,openOnboardingTutorial:()=>vn,openPreRecordingMenu:()=>Xr,updateMicrophone:()=>$r});var hn=Y(J());import{createAction as qi}from"@reduxjs/toolkit";var TD="start-recording",CD="pause-recording",bD="resume-recording",OD="end-recording",ID="open-pre-recording-menu",AD="close-pre-recording-menu",DD="update-time-elapsed",qc=7,PD=2147483647,En={x:0,y:0},RD=[En],_D=[hn.RecordingStage.Countdown,hn.RecordingStage.Paused,hn.RecordingStage.PostRecording,hn.RecordingStage.Recording],$r=qi("UPDATE_MICROPHONE"),Xr=qi("OPEN_PRE_RECORDING_MENU"),Sn=qi("CLOSE_PRE_RECORDING_MENU"),vn=qi("OPEN_ONBOARDING_TUTORIAL"),es="no_mic",ts="no_camera",Qc="".concat(ts,"_user"),Zc="".concat(es,"_user"),rs={deviceId:Qc,label:Qc},os={deviceId:Zc,label:Zc},xm=1200,Lm=4,MD=Math.floor(xm/Lm);var Yr=e=>e.recorder,yn=e=>e.recorderSettings,tl=Et(Yr,e=>e.appStage),km=Et(Yr,e=>e.sdkRecordingType),wD=Et(yn,e=>e.cameraId),xD=Et(yn,e=>e.defaultCameraId),rl=Et(yn,e=>e.sdkAvailableCameras),LD=Et(Yr,e=>e.mediaDevicePermissions),ND=e=>{let t=rl(e);return t.length>1?t[1].deviceId:t[0].deviceId},kD=e=>{let t=Um(e);return t.length>1?t[1].deviceId:t[0].deviceId},UD=e=>km(e)!==Nm.SDKRecordingType.CameraOnly,BD=e=>{let t=rl(e);return t.length===1&&t[0].deviceId.indexOf(ts)>-1},FD=e=>{let t=Bm(e);return t===void 0?!1:!(t.indexOf(es)>-1)},Um=Et(yn,e=>e.sdkMicrophones),Bm=Et(yn,e=>e.microphoneId),WD=Et(Yr,e=>e.videoDurationLimit),ol=Et(Yr,e=>e.cancelButtonClicked),nl=Et(Yr,e=>e.restartButtonClicked),Tn=Et(Yr,e=>e.cameraBubbleSize);var Do="0px 0px 20px rgba(0, 0, 0, 0.15), 0px 25px 30px rgba(0, 0, 0, 0.35)",Po="0px 0px 20px rgba(250, 250, 250, 0.05), 0px 25px 30px rgba(250, 250, 250, 0.05)",sl="cubic-bezier(0.2, 0.4, 0.1, 1)",al="cubic-bezier(0.1, 0.5, 0.1, 1)",Fm="cubic-bezier(0.19, 1, 0.22, 1)";var ns="\nbackground: none;\ncolor: inherit;\nborder: none;\npadding: 0;\nfont: inherit;\ncursor: pointer;\noutline: inherit;\ntext-align: inherit;";import HD from"@emotion/styled";import oe,{useEffect as GD,useRef as zD,useState as $D}from"react";import{useHotkeys as is}from"react-hotkeys-hook";import{useHover as XD}from"react-laag";import{Align as YD,Arrange as Cn,Button as jm,Container as Vm,IconButton as Ro}from"@loomhq/lens";import{SvgBlur as JD}from"@loomhq/lens/icons/blur";import{SvgPause as QD}from"@loomhq/lens/icons/pause";import{SvgPlay as ZD}from"@loomhq/lens/icons/play";import{SvgReplay as qD}from"@loomhq/lens/icons/replay";import{SvgRewind as eP}from"@loomhq/lens/icons/rewind";import{SvgStop as Hm}from"@loomhq/lens/icons/stop";import{SvgTrash as tP}from"@loomhq/lens/icons/trash";import rP from"@emotion/cache";import{CacheProvider as oP}from"@emotion/react";import ss,{useCallback as nP}from"react";import uf from"@emotion/styled";import{Container as sP}from"@loomhq/lens";import aP from"react";import{Tooltip as cP}from"@loomhq/lens";import Ht,{useState as uP}from"react";import{Dropdown as pP,Align as mP,Container as fP}from"@loomhq/lens";import gP from"@emotion/styled";import cl from"react";import{Icon as hP}from"@loomhq/lens";import{SvgVideoCam as EP}from"@loomhq/lens/icons/video-cam";import bP from"@emotion/styled";import _o from"react";import{Spacer as OP,Text as IP,Tooltip as AP}from"@loomhq/lens";import{intervalToDuration as DP}from"date-fns";import On from"@emotion/styled";import Re,{useState as UP}from"react";import{Container as gf,Icon as BP,Arrange as FP,IconButton as ll,Align as WP}from"@loomhq/lens";import{SvgClose as KP}from"@loomhq/lens/icons/close";import{SvgMoreHoriz as jP}from"@loomhq/lens/icons/more-horiz";import{SvgRecord as Zm}from"@loomhq/lens/icons/record";import M5 from"react";import{IconButton as x5}from"@loomhq/lens";import{SvgPalette as N5}from"@loomhq/lens/icons/palette";import XP from"@emotion/styled";import B5,{useEffect as F5}from"react";import{useLayer as K5,useHover as j5}from"react-laag";import{Icon as H5,Text as G5,IconButton as z5,Arrange as $5}from"@loomhq/lens";import{SvgClose as Y5}from"@loomhq/lens/icons/close";import{SvgSparkle as Q5}from"@loomhq/lens/icons/sparkle";import YP from"@emotion/styled";import tK from"react";import{Icon as oK,Align as nK}from"@loomhq/lens";import{SvgPalette as sK}from"@loomhq/lens/icons/palette";var Wm=Object.freeze,af=Object.defineProperty,KD=Object.defineProperties,jD=Object.getOwnPropertyDescriptors,as=Object.getOwnPropertySymbols,cf=Object.prototype.hasOwnProperty,lf=Object.prototype.propertyIsEnumerable,Km=(e,t,o)=>t in e?af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,Mo=(e,t)=>{for(var o in t||(t={}))cf.call(t,o)&&Km(e,o,t[o]);if(as)for(var o of as(t))lf.call(t,o)&&Km(e,o,t[o]);return e},dl=(e,t)=>KD(e,jD(t)),VD=(e,t)=>{var o={};for(var r in e)cf.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&as)for(var r of as(e))t.indexOf(r)<0&&lf.call(e,r)&&(o[r]=e[r]);return o},St=(e,t)=>Wm(af(e,"raw",{value:Wm(t||e.slice())})),iP=({children:e,emotionKey:t})=>{let[o,r]=ss.useState(null),n=nP(i=>{if(i&&!o){let s=rP({key:t,container:i});r(s)}},[o,t]);return ss.createElement("div",null,ss.createElement("div",{ref:n}),o&&ss.createElement(oP,{value:o},e))},df=iP,Gm,ul=uf(sP)(Gm||(Gm=St(["\n border: 0;\n outline: 4px solid rgba(255, 255, 255, 0.3);\n transition:\n width 300ms ease-in-out,\n padding-left 300ms ease-in-out;\n ","\n ","\n overflow: hidden;\n"])),e=>e.width&&"width: ".concat(e.width,";"),e=>e.leftPadding&&"padding-left: ".concat(e.leftPadding,";")),zm,pf=uf.div(zm||(zm=St(["\n width: 1px;\n background-color: var(--lns-color-border);\n margin-right: var(--lns-space-small);\n margin-left: var(--lns-space-small);\n"]))),lP=16,dP=2147483647,mf=()=>({finish:"Finish",pause:"Pause",resume:"Resume",restart:"Restart",blur:"Blur content",cancel:"Cancel",rewind:"Rewind & trim",cameraMultiChoice:"Choose camera",cameraSingleChoice:"Turn camera on"}),Jr=({hideTip:e,content:t,children:o,tooltipContainer:r,shortcut:n})=>{let i={zIndex:dP,container:r,triggerOffset:lP,shortcut:n};return e?o:aP.createElement(cP,dl(Mo({},i),{content:t}),o)},$m,SP=gP.button($m||($m=St(["\n background-color: transparent;\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: 38px;\n height: 38px;\n position: relative;\n outline: none;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: 50%;\n &:hover {\n transition: 0.3s background-color;\n background-color: var(--lns-color-backgroundHover);\n }\n &:active {\n transition: 0s background-color;\n background-color: var(--lns-color-backgroundActive);\n }\n &:disabled {\n color: orange;\n pointer-events: none;\n }\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: 50%;\n }\n &:focus::-moz-focus-inner {\n border: 0;\n }\n"]))),vP=e=>{var t=e,{altText:o,onClick:r,isDisabled:n}=t,i=VD(t,["altText","onClick","isDisabled"]);return cl.createElement(SP,Mo({"aria-label":o,onClick:r,disabled:n},i),cl.createElement(hP,{icon:cl.createElement(EP,null),size:3,color:n?"disabledContent":"white"}))},Xm=({onClick:e,isDisabled:t,dropdownOpen:o,tooltipContainer:r,onlyOneCamera:n})=>{let i=mf();return Ht.createElement(ul,{radius:"medium",borderSide:"all",className:"bgc:grey8",borderColor:"grey4","aria-label":"Recorder camera selector",width:"".concat(cs,"px"),height:"".concat(cs,"px")},Ht.createElement(mP,{alignment:"center"},Ht.createElement(Jr,{hideTip:t||o,tooltipContainer:r,content:n?i.cameraSingleChoice:i.cameraMultiChoice},Ht.createElement(vP,{altText:"Choose camera",isDisabled:t,onClick:e}))))},yP=e=>{let{showingDeviceSelector:t,deviceSelector:o,isDisabled:r,tooltipContainer:n}=e,i=o&&o.devices&&o.devices.length===1,[s,a]=uP(!1),c=!r&&!i;if(!t)return null;let u=o==null?void 0:o.devices.map(({name:m,id:p})=>({title:m,onClick:()=>{o.onSelected(p)},mouseDown:()=>{o.onSelected(p)}}));return Ht.createElement(Ht.Fragment,null,c?Ht.createElement(fP,{height:"".concat(cs,"px")},Ht.createElement(pP,{container:n,triggerOffset:8,menuPosition:"left",onOpenChange:a,trigger:Ht.createElement(Xm,Mo({onlyOneCamera:i,dropdownOpen:s},e)),options:u})):Ht.createElement(Xm,dl(Mo({},e),{onlyOneCamera:i,dropdownOpen:s,onClick:()=>o==null?void 0:o.onSelected(o==null?void 0:o.devices[0].id)})))},TP=yP;function CP({hoverProps:e,tipContent:t}){let o=Object.values(t);return dl(Mo({},e),{onMouseEnter:r=>{let n=r.target;o.includes(n.innerText)||e.onMouseEnter(r)}})}var PP=e=>DP({start:0,end:e*1e3}),Ym=(e,t)=>{let o=e;t&&(o=Math.max(t-e,0));let{hours:r,minutes:n,seconds:i}=PP(o),s=i!==void 0&&i<10?"0".concat(i):i,a=r&&n!==void 0&&n<10?"0".concat(n):n,c=r?"".concat(r,":"):"";return"".concat(c).concat(a,":").concat(s)},Jm,RP=bP(OP)(Jm||(Jm=St(["\n font-feature-settings: 'tnum';\n user-select: none;\n"]))),_P=({children:e,tooltipContainer:t,contents:o})=>o?_o.createElement(AP,{triggerOffset:20,keepOpen:!0,maxWidth:"fitContent",container:t,content:o},e):_o.createElement(_o.Fragment,null,e),MP=({elapsedTime:e,videoDurationLimit:t,tooltipContainer:o,recordingLimitTooltip:r,warning:n,isStopped:i})=>_o.createElement(_P,{contents:r,tooltipContainer:o},_o.createElement(RP,null,_o.createElement(IP,{size:"body-md",color:n?"warning":i?"bodyDimmed":"white",fontWeight:"bold"},Ym(t?t-e:e)))),wP="rgba(255, 219, 37, 0.3)",xP=32,cs=48,LP="8px",NP="16px",Qm,kP=HD.div(Qm||(Qm=St(["\n ","\n transition: opacity 300ms ease-in-out;\n width: max-content;\n"])),e=>e.visible?"opacity: 1;":"opacity: 0;"),bn=(e,t)=>{if(e&&t&&e[t]){let o=e[t];if(o)return o.split("+")}},ff=e=>{let{collapsible:t,withRestart:o,withBlur:r,isDisabled:n,isPaused:i,videoDurationLimit:s,elapsedTime:a,style:c,deviceSelector:u,showTimer:m,showEndRecordingButton:p,showRewindRecordingButton:d,shortCuts:l,tooltipContainer:f,recordingLimitTooltip:h,onEndRecording:v,onCancelRecording:S,onRestartRecording:y,onTogglePauseRecording:E,onBlurRecording:b,onRewindRecording:g,warning:C}=e,T=mf(),O=u&&u.show&&u.devices&&u.devices.length>0,[D,U]=XD(),w=zD(null),[N,j]=$D(100),z=!t||t&&D||t&&i||n;return GD(()=>{if(w.current){let H=m?w.current.offsetWidth+xP:cs;N!==H&&j(H)}},[n,a,m,N]),is((l==null?void 0:l.finish)||"",H=>{H.preventDefault(),H.stopPropagation(),v()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.pause)||"",H=>{H.preventDefault(),H.stopPropagation(),E()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.restart)||"",H=>{H.preventDefault(),H.stopPropagation(),y&&y()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.cancel)||"",H=>{H.preventDefault(),H.stopPropagation(),S()},{enabled:!0,keyup:!0}),oe.createElement(df,{emotionKey:"bubble-controls"},oe.createElement(Vm,Mo({"aria-label":"Recorder controls",className:"theme-dark",style:c,width:"max-content"},CP({hoverProps:U,tipContent:T})),oe.createElement(Cn,{gap:"medium"},O&&oe.createElement(TP,{shortCuts:l,tooltipContainer:f,showingDeviceSelector:O,isDisabled:!1,deviceSelector:u}),oe.createElement(ul,{radius:"200",className:"pt:small pr:medium pb:small bgc:grey8",borderSide:"all",borderColor:C?wP:"grey4","aria-label":"Recorder controls - play pause",width:z?"100%":"".concat(N,"px"),leftPadding:z||m?NP:LP},oe.createElement(Cn,null,oe.createElement("div",{style:{width:"max-content"},ref:w},oe.createElement(Cn,{gap:"xsmall"},p&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.finish,shortcut:bn(l,"finish")},i?oe.createElement(Ro,{altText:"End Recording",icon:oe.createElement(Hm,null),"data-testid":"start-finish-button",isDisabled:n,onClick:()=>v(),iconColor:"white"}):oe.createElement(jm,{"aria-label":"End Recording",variant:"record",icon:oe.createElement(Hm,null),"data-testid":"start-finish-button",isDisabled:n,onClick:()=>v()})),oe.createElement(Jr,{hideTip:n,tooltipContainer:f,content:i?T.resume:T.pause,shortcut:i?bn(l,"resume"):bn(l,"pause")},i?oe.createElement(jm,{"aria-label":"Play Recording",variant:"primary",icon:oe.createElement(ZD,null),isDisabled:n,onClick:E}):oe.createElement(Ro,{altText:"Pause Recording",icon:oe.createElement(QD,null),isDisabled:n,onClick:E,iconColor:"white"})),d&&oe.createElement(Jr,{hideTip:n,tooltipContainer:f,content:T.rewind},oe.createElement(Ro,{altText:"Rewind and Trim Recording",icon:oe.createElement(eP,null),isDisabled:n,onClick:g,iconColor:"white"})),m&&oe.createElement(YD,{alignment:"center"},oe.createElement(Vm,{paddingX:"small"},oe.createElement(MP,{videoDurationLimit:s,elapsedTime:a,tooltipContainer:f,recordingLimitTooltip:h,warning:C,isStopped:n||i}))))),oe.createElement(kP,{visible:z},oe.createElement(Cn,null,(m||p)&&oe.createElement(pf,{style:{height:"28px"}}),oe.createElement(Cn,{gap:"xsmall"},r&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.blur},oe.createElement(Ro,{altText:"Blur Content",icon:oe.createElement(JD,null),size:"medium",iconColor:"white",isDisabled:n,onClick:b})),o&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.restart,shortcut:bn(l,"restart")},oe.createElement(Ro,{altText:"Restart Recording",icon:oe.createElement(qD,null),size:"small",iconColor:"white",isDisabled:n,onClick:y})),oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.cancel,shortcut:bn(l,"cancel")},oe.createElement(Ro,{altText:"Cancel Recording",icon:oe.createElement(tP,null),size:"medium",iconColor:"white",isDisabled:n,onClick:S,"data-testid":"cancel-button"}))))))))))},In="192px",pl="344px",An=(e=>(e[e.small=1]="small",e[e.medium=2]="medium",e[e.large=3]="large",e))(An||{}),qm,VP=On.div(qm||(qm=St(["\n width: 100%;\n height: 100%;\n display: hidden;\n"]))),ef,HP=On(gf)(ef||(ef=St(["\n width: ",";\n opacity: ",";\n transition: ",";\n padding: ",";\n"])),e=>e.showControls?"auto":"0",e=>e.showControls?"1":"0",e=>e.showControls?"opacity 300ms ease-in-out":"",e=>e.showControls?"0 var(--lns-space-xsmall)":""),tf,GP=On(gf)(tf||(tf=St(["\n width: ",";\n opacity: ",";\n transition: ",";\n pointer-events: none;\n"])),e=>e.showControls?"0":"auto",e=>e.showControls?"0":"1",e=>e.showControls?"":"opacity 300ms ease-in-out"),rf,zP=On(pf)(rf||(rf=St(["\n height: 20px;\n margin: 0 var(--lns-space-xsmall);\n"]))),of,$P=On.fieldset(of||(of=St(["\n border: none;\n display: flex;\n align-items: center;\n padding: 0;\n"]))),hf=({camSize:e,turnCameraOff:t,setSize:o,bubbleResizable:r=!0,cameraOffDisabled:n,children:i})=>{let[s,a]=UP(!1);return Re.createElement(df,{emotionKey:"cam-settings"},Re.createElement(VP,{onMouseOver:()=>a(!0),onMouseLeave:()=>a(!1)},Re.createElement(WP,{alignment:"bottomCenter"},Re.createElement(ul,{radius:"150",padding:"xsmall",borderSide:"all",borderColor:"grey4",className:"flex items:center shadow:medium theme-dark bgc:grey8",width:"max-content"},Re.createElement(GP,{showControls:s},Re.createElement(BP,{icon:Re.createElement(jP,null),color:"bodyDimmed"})),Re.createElement(HP,{className:"items:center",showControls:s},Re.createElement(FP,{gap:"xsmall"},Re.createElement(ll,{disabled:n,altText:"Camera off",size:"small",icon:Re.createElement(KP,null),onClick:()=>t()}),Re.createElement($P,null,Re.createElement("legend",{className:"srOnly"},"Select video screen size"),r?Re.createElement(Re.Fragment,null,Re.createElement(zP,null),Re.createElement(ll,{altText:"Resize small",icon:Re.createElement(Zm,null),iconColor:"white",size:"small",onClick:()=>o(In),role:"radio","aria-label":"Resize small","aria-checked":e===1}),Re.createElement(ll,{altText:"Resize medium",icon:Re.createElement(Zm,null),iconColor:"white",onClick:()=>o(pl),role:"radio","aria-label":"Resize medium","aria-checked":e===2})):null,i)))))))};var nf,Z5=XP.div(nf||(nf=St(["\n background-color: var(--lns-color-grey8);\n border-radius: var(--lns-radius-medium);\n width: 290px;\n height: auto;\n padding: 8px 12px;\n border: 2px solid var(--lns-color-upgrade);\n filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.2));\n"])));var sf,aK=YP.div(sf||(sf=St(["\n background-color: var(--lns-color-upgrade);\n border-radius: var(--lns-radius-medium);\n width: 36px;\n height: 28px;\n filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.2));\n"])));var ls={welcomeToLoom:{emoji:{symbol:"\u{1F44B}",placement:"left"},title:"Welcome to Loom",body:"Easily record and share video messages with your teammates to supercharge productivity. Take a quick tour.",step:0},checkYourSettings:{emoji:{symbol:"\u{1F449}",placement:"right"},title:"Check your settings",body:"Choose what you want to share and confirm that your mic and cam are on.",step:1},learnTheControls:{emoji:{symbol:"\u23F8\uFE0F",placement:"left"},title:"Learn the controls",body:"While recording, pause freely to catch a breath or stop to end the recording.",step:2},positionSelfieBubble:{emoji:{symbol:"\u{1F448}",placement:"left"},title:"Position your selfie bubble",body:"The window to your personality (lookin\u2019 good)! Drag anywhere on the screen.",step:3},readyToRecord:{emoji:{symbol:"\u{1F3AC}",placement:"left"},title:"You\u2019re ready to record",body:"Record a walkthrough or give feedback to a teammate. Be yourself, uhms and all.",step:4},shareYourVideo:{emoji:{symbol:"\u{1F929}",placement:"left"},title:"Share your video instantly",body:"Your viewers will love this. We\u2019ll email you when you get a view.",step:5}},Ef=ne(x({},ls),{welcomeToLoom:{emoji:{symbol:"\u{1F44B}",placement:"left"},title:"Welcome to Loom",body:"Easily record and share videos with your teammates and customers to resolve work more efficiently. Take a quick tour.",step:0}}),Sf=(e,t)=>{switch(e){case"checkYourSettings":return"bottomToRightSpiral";case"learnTheControls":return"topToLeftStraight";case"positionSelfieBubble":return t===In?"bottomToLeftSpiralSmall":"bottomToLeftSpiralLarge";case"readyToRecord":return"leftToRightSpiral";case"shareYourVideo":return"leftToBottomSpiral";default:return null}},ds={bottomToRightSpiral:{linePath:"M8.24835 79.609 C-5.36647 59.6687 2.30275 28.8155 36.6393 26.9847 C36.7816 26.9771 36.9244 26.972 37.0678 26.9693 C43.8636 26.8406 51.8016 32.1252 53.1679 37.4535 C54.723 43.5169 47.046 49.113 39.7143 46.0543 C35.7896 44.4167 33.6842 40.1952 33.4111 36.9419 C33.1154 33.4169 34.8098 30.0472 37.0678 26.9693 C38.4856 25.0366 40.1256 23.219 41.6345 21.5503 C56.8588 4.71317 94.4254 0.0911865 128.467 14.6565",arrowPath:"M111.3 1.70453 C116.732 5.36409 123.916 10.4099 128.467 14.6565 C128.992 15.1457 123.536 16.8163 123.275 16.8763 C117.553 18.1975 111.744 18.8827 105.798 19.4808",height:82,width:131,marginTopY:110,marginLeftX:-50},topToLeftStraight:{linePath:"M75.1661 2.00002 C75.1661 21.0154 35.726 36.2092 2.49173 28.9885",arrowPath:"M21.4479 21.0154 C16.3298 22.5195 11.3521 24.0776 6.5894 26.1813 C6.37216 26.277 1.92174 28.6443 2.49173 28.9885 C7.43746 31.9774 14.8827 35.2366 20.4776 37.564",height:40,width:77,marginLeftX:200,marginTopY:-50},bottomToLeftSpiralSmall:{linePath:"M104.04 57.0825 C108.834 36.4425 95.7882 9.53351 70.8856 13.8639C70.7824 13.8819 70.6794 13.9022 70.5767 13.9248C65.7054 14.9957 61.3515 21.2232 61.6883 26.3411C62.0715 32.1651 68.9143 35.9461 73.3836 31.8628C75.776 29.6768 76.2375 25.4431 75.6323 22.4165C74.9763 19.137 72.9412 16.348 70.5767 13.9248C69.0919 12.4031 67.4771 11.0257 65.9923 9.76172C51.0115 -2.9918 23.1224 -0.652111 2.46041 18.6397",arrowPath:"M11.502 3.7771C8.53341 8.07819 4.65738 13.9552 2.46041 18.6397C2.2071 19.1794 6.50283 19.7547 6.70343 19.764C11.1035 19.9727 15.4086 19.5839 19.7901 19.0914",height:59,width:107,marginTopY:-260,transformRotateDeg:-35,marginLeftX:-50},bottomToLeftSpiralLarge:{linePath:"M104.04 57.0825 C108.834 36.4425 95.7882 9.53351 70.8856 13.8639C70.7824 13.8819 70.6794 13.9022 70.5767 13.9248C65.7054 14.9957 61.3515 21.2232 61.6883 26.3411C62.0715 32.1651 68.9143 35.9461 73.3836 31.8628C75.776 29.6768 76.2375 25.4431 75.6323 22.4165C74.9763 19.137 72.9412 16.348 70.5767 13.9248C69.0919 12.4031 67.4771 11.0257 65.9923 9.76172C51.0115 -2.9918 23.1224 -0.652111 2.46041 18.6397",arrowPath:"M11.502 3.7771C8.53341 8.07819 4.65738 13.9552 2.46041 18.6397C2.2071 19.1794 6.50283 19.7547 6.70343 19.764C11.1035 19.9727 15.4086 19.5839 19.7901 19.0914",height:59,width:107,marginTopY:-300},leftToRightSpiral:{linePath:"M2.92465 47.9747 C7.68108 57.4814 19.0966 64.596 19.6791 64.8341 C31.4045 71.7757 46.3032 67.407 53.4746 57.2472 C56.5452 52.8973 57.8687 42.4627 49.8468 42.5899 C42.6464 42.704 36.8747 49.8534 35.7604 56.5115 C33.4063 70.5766 44.3582 75.5396 56.5939 72.7565 C70.1497 69.6731 79.6218 59.9026 86.2415 48.3773",arrowPath:"M73.8982 50.234C79.3046 51.2782 85.1801 47.4206 88.6972 43.5363C86.7353 47.9579 87.0183 53.2674 88.6046 57.7265C89.0875 59.0846 89.5005 60.4667 90.4755 61.567",height:97,width:99,marginLeftX:50,marginTopY:350},leftToBottomSpiral:{linePath:"M1.85275 18.797 C14.6122 1.26226 44.7678 -6.38195 58.8353 16.1415C58.8936 16.2348 58.9499 16.3295 59.0043 16.4256C61.5812 20.9807 59.7687 28.564 55.536 31.709C50.7194 35.2879 42.9719 32.4115 43.029 26.166C43.0598 22.8227 46.0427 19.6374 48.8303 18.0977C51.851 16.4296 55.455 16.1758 59.0043 16.4256C61.233 16.5825 63.4401 16.9379 65.4676 17.2665C85.9244 20.5811 103.639 44.133 103.051 73.2826",arrowPath:"M108.323 56.2482C107.044 61.4554 105.17 68.4284 103.051 73.2826C102.807 73.842 99.348 70.8379 99.2002 70.6859C95.9541 67.3552 93.2411 63.7012 90.5556 59.9178",height:75,width:110,marginLeftX:310,marginTopY:-70}};import{keyframes as JP}from"@emotion/react";import ml from"@emotion/styled";import wo from"react";var Tf,QP=ml.div(Tf||(Tf=I(["\n ",";\n"])),e=>"\n position: absolute;\n z-index: 1000; // unaffected by drop shadows of other components\n margin-left: ".concat(e.marginLeftX?"".concat(e.marginLeftX,"px"):"0px",";\n margin-top: ").concat(e.marginTopY?"".concat(e.marginTopY,"px"):"0px",";\n transform: rotate(").concat(e.transformRotateDeg?"".concat(e.transformRotateDeg,"deg"):"0deg",");\n ")),Cf,If=JP(Cf||(Cf=I(["\nto {\n stroke-dashoffset: 0;\n}"]))),ZP=({className:e,type:t})=>wo.createElement("path",{className:e,d:ds[t].linePath,stroke:"white",strokeWidth:"3"}),bf,vf=ml(ZP)(bf||(bf=I(["\n stroke-dasharray: 400;\n stroke-dashoffset: 400;\n animation: "," 1.2s ease forwards;\n"])),If),qP=({className:e,type:t})=>wo.createElement("path",{className:e,d:ds[t].arrowPath,stroke:"white",strokeWidth:"3",strokeMiterlimit:"1.5"}),Of,yf=ml(qP)(Of||(Of=I(["\n stroke-dasharray: 200;\n stroke-dashoffset: 200;\n animation: "," 1s ease forwards;\n animation-delay: 0.55s;\n"])),If);function Af({type:e}){let{height:t,width:o,marginLeftX:r,marginTopY:n,transformRotateDeg:i}=ds[e];return wo.createElement(QP,{marginLeftX:r,marginTopY:n,transformRotateDeg:i},wo.createElement("svg",{width:o,height:t,viewBox:"0 0 ".concat(o," ").concat(t),fill:"none",xmlns:"http://www.w3.org/2000/svg"},wo.createElement(vf,{className:vf,type:e}),wo.createElement(yf,{className:yf,type:e})))}var _f,nR=fl.div(_f||(_f=I(["\n background-color: #eff0ff;\n border-radius: 32px;\n min-height: 120px;\n max-height: 180px;\n padding: var(--lns-space-medium);\n width: 302px;\n pointer-events: all;\n z-index: 1;\n box-shadow: ",";\n"])),e=>e.withDarkMode?Po:Do),Mf,iR=fl.div(Mf||(Mf=I(["\n width: 14px;\n height: 4px;\n border-radius: 2px;\n background-color: ",";\n"])),e=>e.shouldFill?"#615CF5":"#B2B3F1"),wf,sR=fl.div(wf||(wf=I(["\n display: inline-flex;\n margin-right: var(--lns-space-xsmall);\n"]))),vt=({step:e})=>{let t=eR(),o=xo(wt),r=xo(zc),n=xo($c),i=xo(A.selectShouldSeeOnboardingEntrypoint),s=ht(),a=xo(tl),c=xo(Tn),u=()=>{t(R.setShouldSeeOnboarding(!1)),at("false"),o!=="readyToRecord"?(t(R.setShouldSeeOnboardingEntrypoint(!0)),t(R.setIsOnboardingComplete(!1)),t(_.trackAnalytics({event:ac,properties:{step:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))):t(_.trackAnalytics({event:wi,properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},m=()=>{t(R.updateOnboardingStep()),o==="readyToRecord"?t(_.trackAnalytics({event:wi,properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})):t(_.trackAnalytics({event:cc,properties:{step:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},p=ls[o];if(n==="jsmIssueView_customerReply_crossflow"&&(p=Ef[o]),!s||i||o!==e||a===us.RecordingStage.PostRecording&&o!=="shareYourVideo"||a!==us.RecordingStage.PreRecording&&a!==us.RecordingStage.PostRecording)return null;let d=p==null?void 0:p.emoji.symbol,l=p==null?void 0:p.emoji.placement,f=p==null?void 0:p.title,h=p==null?void 0:p.body,v=p==null?void 0:p.step,S=Object.keys(ls).map((O,D)=>D!==0&&D!=5?Ue.createElement(sR,{key:D},Ue.createElement(iR,{key:D,shouldFill:v>=D})):null),y=()=>o!=="shareYourVideo"?Ue.createElement(Ue.Fragment,null,Ue.createElement(Pf,{bottom:"small"}),Ue.createElement(Df,{columns:["4fr","auto"]},Ue.createElement("div",null,S),Ue.createElement(rR,{style:{cursor:"pointer"},variant:"primary",autoFocus:!0,onClick:m},o==="readyToRecord"?"Close":"Next"))):null,E=()=>{switch(o){case"welcomeToLoom":return"200px";case"checkYourSettings":return"205px";case"learnTheControls":return"-220px";case"positionSelfieBubble":return"-220px";case"readyToRecord":return"225px";default:return"0px"}},b=()=>{switch(o){case"welcomeToLoom":return"-225px";case"checkYourSettings":return"-225px";case"learnTheControls":return"25px";case"positionSelfieBubble":return"25px";case"readyToRecord":return"-225px";default:return"0px"}},g=()=>{if(o!=="shareYourVideo")return"absolute"},C=()=>{if(o==="shareYourVideo")return{display:"flex",position:"absolute",zIndex:2,bottom:0,right:0,alignItems:"end",marginBottom:"15px",marginRight:"180px",gap:"10px"}},T=Sf(o,c);return Ue.createElement("div",{style:C()},Ue.createElement("div",null,Ue.createElement(nR,{withDarkMode:!1,style:{marginTop:E(),marginLeft:b(),position:g()}},Ue.createElement(Df,{justifyContent:"space-between"},Ue.createElement(Rf,{color:"#3D2E7C",fontWeight:"bold",size:"body-lg"},l==="right"?"".concat(f," ").concat(d):"".concat(d," ").concat(f)),Ue.createElement(tR,{style:{cursor:"pointer"},color:"#6C6684",icon:Ue.createElement(oR,null),onClick:u})),Ue.createElement(Pf,{bottom:"small"}),Ue.createElement(Rf,{color:"#3D2E7C"},h),Ue.createElement(y,null)),T&&Ue.createElement(Af,{type:T})))};var xf=()=>aR.createElement(vt,{step:"learnTheControls"});import cR from"react";var Lf=()=>cR.createElement(vt,{step:"positionSelfieBubble"});import Uf,{useState as dR}from"react";import{useDispatch as uR,useSelector as Dn}from"react-redux";var Pn=Y(J());var Qr=Y(J());import{useEffect as lR,useState as gl}from"react";var{updateTimeElapsed:Nf}=R,kf=()=>{let[e,t]=gl(0),[o,r]=gl(0),[n,i]=gl(0),{videoDurationLimit:s,timeElapsed:a,appStage:c}=P(({recorder:{appStage:m,timeElapsed:p,videoDurationLimit:d}})=>({videoDurationLimit:d,timeElapsed:p,appStage:m})),u=te();return lR(()=>{let m=()=>(performance.now()-(e||0)-n)/1e3,p=c===Qr.RecordingStage.Recording&&setTimeout(()=>u(Nf(m())),1e3);return c===Qr.RecordingStage.Recording&&e===0&&t(performance.now()),c===Qr.RecordingStage.Paused&&o===0&&r(performance.now()),c===Qr.RecordingStage.Recording&&o!==0&&(i(n+(performance.now()-o)),r(0)),[Qr.RecordingStage.Recording,Qr.RecordingStage.Paused].includes(c)||(u(Nf(0)),t(0),i(0)),s!=null&&s!==0&&a>=s&&u(_.endRecording({fromError:!1,fromRecordingLimit:!0,reason:Hr.RecordingLimit})),()=>{p&&clearTimeout(p)}},[c,a,u,s,e,o,n]),a};var Bf=e=>{let t=uR(),o=kf(),{appStage:r}=Dn(l=>l.recorder),{sessionId:n}=Dn(l=>l.previewRecording),{videoDurationLimit:i}=Dn(({recorder:{videoDurationLimit:l}})=>({videoDurationLimit:l})),s=Dn(A.selectSdkProductName),a=Dn(A.selectSdkEntryPointName),u=navigator.platform.toUpperCase().indexOf("MAC")>=0||"unknown"?"ctrl":"alt",[m,p]=dR(null),d=![Pn.RecordingStage.Recording,Pn.RecordingStage.Paused].includes(r);return Uf.createElement("div",{ref:l=>p(l)},Uf.createElement(ff,x({showEndRecordingButton:!0,isDisabled:d,isPaused:r===Pn.RecordingStage.Paused,videoDurationLimit:i||0,elapsedTime:o,withRestart:!0,shortCuts:{finish:"".concat(u,"+shift+L"),pause:"".concat(u,"+shift+P"),resume:"".concat(u,"+shift+P"),restart:"".concat(u,"+shift+R"),cancel:"".concat(u,"+shift+C")},tooltipContainer:()=>(m==null?void 0:m.getRootNode()).querySelector("#loom-sdk-tooltip-mount-point"),onRestartRecording:()=>{t(_.pauseRecording()),t(R.updateRestartButtonClicked(!0)),t(_.trackAnalytics({event:ec,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}}))},onEndRecording:()=>{t(_.trackAnalytics({event:Qa,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(_.endRecording({fromError:!1,fromRecordingLimit:!1,reason:Hr.RecordingCompleted}))},onTogglePauseRecording:()=>{r===Pn.RecordingStage.Paused?t(_.trackAnalytics({event:qa,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})):t(_.trackAnalytics({event:Za,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(_.togglePauseRecording())},onCancelRecording:()=>{t(_.pauseRecording()),t(_.trackAnalytics({event:tc,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(R.updateCancelButtonClicked(!0))}},e)))};import Kf from"@emotion/styled";import Sr,{useState as pR,useEffect as mR}from"react";var jf=Y(J());import{Arrange as fR}from"@loomhq/lens";var Ff,gR=Kf.div(Ff||(Ff=I(["\n border-radius: 50%;\n cursor: move;\n width: ",";\n height: ",";\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari hack */\n"])),e=>e.size,e=>e.size),Wf,hR=Kf.div(Wf||(Wf=I(["\n width: 100%;\n height: 35%;\n bottom: -","px;\n position: absolute;\n visibility: ",";\n opacity: ",";\n transition: ",";\n"])),12,e=>e.showSettings?"visible":"hidden",e=>e.showSettings?"1":"0",e=>e.showSettings?"visibility 0s linear 0ms, opacity 300ms":"visibility 0s linear 300ms, opacity 300ms"),ER=({deviceId:e,mode:t,sdkAvailableCameras:o})=>{var i,s;let{hostUrl:r}=P(({recorder:a})=>a);if(t.mode==="pending")return Sr.createElement("div",null,"Loading");let n=new URL("".concat(r,"/integrations-app/sdk/camera"));return n.searchParams.set("device_id",e!=null?e:"undefined"),n.searchParams.set("api_key",t.publicAppId),n.searchParams.set("device_label",e&&(s=(i=o.find(a=>a.deviceId===e))==null?void 0:i.label)!=null?s:"undefined"),t.mode==="custom"&&n.searchParams.set("jws",t.jws),Sr.createElement("iframe",{id:"iframe-bubble",allow:"camera",style:{pointerEvents:"none",border:"none",width:"100%",height:"100%"},title:"Camera feed",src:n.toString()})},SR=e=>{switch(e){case In:return An.small;case pl:return An.medium;default:return An.small}},Vf=({onCameraClosed:e})=>{let t=P(Tn),o=SR(t),[r,n]=pR(!1),{settings:{mode:i,sdkConfig:{bubbleResizable:s}},recorderSettings:{cameraId:a,defaultCameraId:c,sdkAvailableCameras:u},recorder:{appStage:m}}=P(h=>h),p=te(),d=h=>{p(R.updateCameraBubbleSize(h))},l=a||c;function f(){m===jf.RecordingStage.Recording&&document.visibilityState==="hidden"&&p(R.onTabChange({}))}return mR(()=>(document.addEventListener("visibilitychange",f),()=>{document.removeEventListener("visibilitychange",f)}),[m]),i.mode==="pending"?Sr.createElement("div",null,"Loading"):l===be.NO_CAM_USER?null:Sr.createElement(fR,{autoFlow:"row",onMouseOver:()=>n(!0),onMouseLeave:()=>n(!1)},Sr.createElement(gR,{size:t,className:"handle overflow:hidden flex items:center justify:center shadow:small"},Sr.createElement(ER,{deviceId:l,mode:i,sdkAvailableCameras:u})),Sr.createElement(hR,{"aria-label":"Camera bubble settings",showSettings:r},Sr.createElement(hf,{setSize:d,bubbleResizable:s,turnCameraOff:()=>{p(R.turnOffCamera()),e()},camSize:o})))};var Hf,OR=zf.div(Hf||(Hf=I(["\n position: fixed;\n bottom: ","px;\n left: ","px;\n z-index: ",";\n"])),28,16,2147483646),Gf,IR=zf.div(Gf||(Gf=I(["\n display: ",";\n pointer-events: all;\n"])),e=>e.hideCamera?"none":"block"),ms=()=>{let{x:e,y:t}=P(({recorder:v})=>v.bubblePosition,bR),[o,r]=vR({x:e,y:t}),n=te(),{cameraEnabled:i,isPictureInPictureEnabled:s}=P(({recorderSettings:v})=>v),c=P(A.selectCameraId)==="no_camera_user",u=yR(null),{width:m,height:p}=_m(u),d=ht(),l=P(wt);TR(()=>{r({x:e,y:t})},[e,t]);let f=window.innerWidth-m-2*16,h=-window.innerHeight+p+(2*16+12);return Gt.createElement(OR,{id:"camera-with-controls","aria-label":"Camera with controls",ref:u,className:"flex items:flexEnd"},Gt.createElement(CR,{position:o,bounds:{left:0,bottom:0,right:f,top:h},onStart:(v,{x:S,y})=>{Ve.activeButton.emit("bubble-drag-start",{x:S,y})},onStop:(v,{x:S,y})=>{n(R.updateBubblePosition({x:S,y})),Ve.activeButton.emit("bubble-drag-end",{x:S,y})},handle:".handle",onDrag:(v,{x:S,y})=>{r({x:S,y}),Ve.activeButton.emit("bubble-move",{x:S,y})}},Gt.createElement(ir,{"aria-label":"Camera bubble",visible:d&&l==="positionSelfieBubble"},Gt.createElement(IR,{hideCamera:s},i&&Gt.createElement(Vf,{onCameraClosed:()=>r({x:0,y:0})})))),Gt.createElement("div",{style:{transform:"translate(".concat(o.x,"px,").concat(o.y,"px)"),marginLeft:"-0.5rem",marginBottom:"-".concat(12,"px"),pointerEvents:"all"}},Gt.createElement(xf,null),Gt.createElement(Lf,null)),Gt.createElement(ir,{visible:d&&l==="learnTheControls"},Gt.createElement(Bf,{showTimer:!0,style:{transform:"translate(".concat(o.x,"px,").concat(o.y,"px)"),marginLeft:c?"1.25rem":"-0.25rem",marginBottom:"-".concat(12,"px"),pointerEvents:"all"}})))};import{useEffect as El}from"react";import AR from"ua-parser-js";var fs=(e=>(e.OPEN_PREVIEW_MODAL="OPEN_PREVIEW_MODAL",e.INITIATE_LOOM_RECORDER_FROM_SDK="initiate-loom-recorder-from-sdk",e.INITIATE_LOOM_RECORDER_FROM_SDK_CONFIRMATION="initiate-loom-recorder-from-sdk-confirmation",e))(fs||{}),Zr=(e=>(e.INSTALLED="installed",e.NOT_INSTALLED="not_installed",e.NOT_ROLLED_OUT="not_rolled_out",e.NOT_SUPPORTED="not_supported",e.UNKNOWN="unknown",e))(Zr||{});var $f=()=>{let e=te(),t=P(A.selectCascadingRecordersFeatureFlagValue);return El(()=>{t&&window.addEventListener("message",o=>{if(!(o.source!=window||!o.data))if(o.data.type==fs.OPEN_PREVIEW_MODAL){let{videoDetails:r}=o.data;e(_.endCascadedRecording({videoDetails:r}))}else o.data.type==fs.INITIATE_LOOM_RECORDER_FROM_SDK_CONFIRMATION&&e(_.openChromeExtensionSuccess())})},[e,t]),null},Xf="loomDesktop://cascadingRecordersTabUuid=",Yf=()=>{let e=te(),t=P(A.selectShouldOpenDesktopApp),o=P(A.selectDesktopTabUuid),r=P(A.selectUserId);El(()=>{t&&o&&r&&(DR(e,o,r),e(R.updateShouldOpenDesktopApp(!1)))},[e,t,o,r])},DR=(e,t,o)=>{var s;let r=(s=new AR().getBrowser().name)!=null?s:"unknown",n=r==="Safari";r==="Firefox"&&PR(e,t,o),n&&RR(e,t,o)},PR=(e,t,o)=>{setTimeout(()=>{document.hasFocus()?e(_.desktopAppStatus({status:Zr.NOT_INSTALLED})):e(_.desktopAppStatus({status:Zr.INSTALLED}))},500),window.location.href=Xf+t+"&sdkUserId=".concat(o)},RR=(e,t,o)=>{let s=document.activeElement,a=!1,c=!1,u=!1;s&&(s.onfocus=()=>{new Date().getTime()-m<1e4&&(a=!0,setTimeout(()=>{document.hasFocus()&&!u?(e(_.desktopAppStatus({status:Zr.NOT_INSTALLED})),c=!0):!document.hasFocus()&&!c&&(e(_.desktopAppStatus({status:Zr.INSTALLED})),u=!0)},500))},s.onblur=()=>{new Date().getTime()-m<250&&!document.hasFocus()&&!a&&!c&&(e(_.desktopAppStatus({status:Zr.INSTALLED})),u=!0)});let m=new Date().getTime();window.location.href=Xf+t+"&sdkUserId=".concat(o,"&fromSafari=true")},Jf=()=>{let e=te(),t=P(A.selectIsUserLoggedIn),o=P(A.selectDesktopTabUuid),r=P(A.selectDesktopAppInstalled);El(()=>{t&&r&&o&&e(_.listenForDesktopVideo())},[e,t,r,o])};var Fn=Y(J());import _x from"@emotion/styled";import no from"react";import{useHotkeys as Mx}from"react-hotkeys-hook";import _R from"react";var Qf=()=>_R.createElement(vt,{step:"checkYourSettings"});import MR from"react";var Zf=()=>MR.createElement(vt,{step:"readyToRecord"});import wR from"react";var qf=()=>wR.createElement(vt,{step:"welcomeToLoom"});var ue=Y(J());import{css as Qt,keyframes as CS}from"@emotion/react";import vx from"@emotion/styled";import Be,{useEffect as Ql,useState as iS}from"react";import{useDispatch as bS}from"react-redux";var xt=Y(J());import{useEffect as NR}from"react";import{useSelector as ar}from"react-redux";var ig=()=>{let e=te(),t=ar(A.selectEnvironment),o=ar(A.selectLoomSdkVersion),r=ar(A.selectUserId),n=ar(A.selectAtlassianUserId),i=ar(A.selectDefaultWorkspaceId),s=ar(A.selectSiteIdFromWorkspaces),a=ar(A.selectSiteId),c=ar(A.selectSdkProductName),u=!!n,m=ar(A.selectSdkMode),p=m.mode==="first-party",d=p&&a?a.toString():u&&s?s.toString():"",l=d?"atlassian":"loom";NR(()=>{let f,h=()=>{var N,j,z,H,de;if(!r&&!n)return;let{default:v,envType:S,userType:y,tenantType:E,productEmbedType:b}=ng(),g={[xt.Environment.Production]:S.PROD,[xt.Environment.Development]:S.DEV,[xt.Environment.Staging]:S.STAGING,[xt.Environment.Testbench]:S.LOCAL},T={atlassian:{userIdType:y.ATLASSIAN_ACCOUNT,userId:n,tenantId:d,tenantIdType:E.CLOUD_ID},loom:{userIdType:y.LOOM,userId:r==null?void 0:r.toString(),tenantId:(N=i==null?void 0:i.toString())!=null?N:"",tenantIdType:E.LOOM_ORG_ID}}[l],O=g[t],D={embeddedType:p?b.FIRST_PARTY:b.THIRD_PARTY,embeddedFromProduct:(j=c==null?void 0:c.toString())!=null?j:"",embeddedFromTopLevelDomain:document.referrer},U=x({env:O,product:"loom",source:"record-sdk",version:o,origin:"web",platform:"web",locale:"en-US"},D),w={useLegacyUrl:!0,logger:{debug:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Debug})),log:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Info})),warn:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Warning})),error:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Error}))}};f=new v(U,w),f.setTenantInfo(T.tenantIdType,T.tenantId),f.setUserInfo(T.userIdType,(z=T.userId)!=null?z:""),f.setUIViewedAttributes(x({userIdType:T.userIdType,userId:T.userId,tenantType:T.tenantIdType,tenantId:T.tenantId,loomUserId:(H=T.userId)==null?void 0:H.toString(),loomOrgId:i==null?void 0:i.toString(),embeddedInEnv:O,embeddedInProduct:(de=c==null?void 0:c.toString())!=null?de:"",loomWebRecorders:"record-sdk"},D)),f.startUIViewedEvent()};try{h()}catch(v){e(_.incrementDatadogMetric({metric:Hp})),e(_.sendDatadogLog({message:"[SDK] Failed to send Atlassian MAU analytics event",context:{error:v,loomSdkVersion:o,loomUserId:r,atlassianUserId:n,workspaceId:i,cloudId:d,loomSdkSource:c,isAtlassianMastered:u,accountType:l,sdkMode:m.mode},logLevel:xt.LogLevel.Warning}))}return()=>{f==null||f.stopUIViewedEvent()}},[l,n,d,t,c,o,r,i,m,e,u,p])};import Ss from"react";import bl from"react";import{useDispatch as YR,useSelector as pg}from"react-redux";import{TextButton as JR}from"@loomhq/lens";import{SvgReplay as QR}from"@loomhq/lens/icons/replay";import Rn from"@emotion/styled";import He from"react";import{Arrange as kR,Button as sg,Container as UR,ModalCard as BR,Text as Cl,Backdrop as FR,Icon as WR,Spacer as KR}from"@loomhq/lens";import{SvgScissors as jR}from"@loomhq/lens/icons/scissors";var ag,VR=Rn.div(ag||(ag=I(["\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-large);\n padding-top: var(--lns-space-xlarge);\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n"]))),cg,HR=Rn.div(cg||(cg=I(["\n display: grid;\n grid-template-rows: auto 1fr auto;\n position: relative;\n"]))),lg,GR=Rn.div(lg||(lg=I(["\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n"]))),dg,zR=Rn.div(dg||(dg=I(["\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-medium);\n flex-shrink: 0;\n"]))),ug,$R=Rn.div(ug||(ug=I(["\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n border-style: solid;\n border-width: 0;\n"]))),hs=({isOpen:e,onClick:t,dangerButtonOnClick:o,alternativeButton:r,isRestartModal:n})=>He.createElement(FR,{isOpen:e,onClick:t},He.createElement(BR,{onCloseClick:t,isOpen:e,maxWidth:72,style:{zIndex:"2147483647"}},He.createElement(HR,null,He.createElement(zR,null,He.createElement(Cl,{variant:"title"},"Are you sure you want to ".concat(n?"restart":"cancel"," your recording?"))),He.createElement($R,null,He.createElement(Cl,{size:"body-lg"},"Your current video progress will be lost.")),He.createElement(VR,null,r,He.createElement(GR,null,He.createElement(KR,{right:"small",isInline:!0},He.createElement(sg,{onClick:t},"Resume")),He.createElement(sg,{variant:"danger",onClick:o},"".concat(n?"Restart":"Cancel"," recording"))))),He.createElement(XR,null))),XR=()=>He.createElement(UR,{backgroundColor:"backgroundHover",paddingTop:"medium",paddingBottom:"medium",paddingLeft:"xxlarge",paddingRight:"xxlarge"},He.createElement(kR,{gap:"small",justifyContent:"center"},He.createElement(WR,{size:"3",color:"bodyDimmed",icon:He.createElement(jR,null)}),He.createElement(Cl,{size:"body-md",color:"bodyDimmed"},"You can always edit, trim, and combine recordings later on!")));var mg=()=>{let e=YR(),t=pg(ol),{sessionId:o}=pg(s=>({sessionId:s.previewRecording.sessionId}));return bl.createElement(hs,{isOpen:t,onClick:()=>{e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:rc,properties:{videoId:o}})),setTimeout(()=>e(_.resumeRecording()),800)},dangerButtonOnClick:()=>{e(_.cancelRecording()),e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:nc,properties:{videoId:o}}))},alternativeButton:bl.createElement(JR,{onClick:()=>{e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:oc,properties:{videoId:o}})),e(_.redoRecording({id:o||""}))},icon:bl.createElement(QR,null)},"Restart")})};import ZR from"react";import{useDispatch as qR,useSelector as Es}from"react-redux";var fg=()=>{let e=qR(),t=Es(nl),{sessionId:o}=Es(a=>({sessionId:a.previewRecording.sessionId})),r=Es(A.selectSdkProductName),n=Es(A.selectSdkEntryPointName);return ZR.createElement(hs,{isRestartModal:!0,isOpen:t,onClick:()=>{e(R.updateRestartButtonClicked(!1)),setTimeout(()=>e(_.resumeRecording()),800),e(_.trackAnalytics({event:ic,properties:{videoId:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},dangerButtonOnClick:()=>{e(_.redoRecording({id:o||""})),e(_.trackAnalytics({event:sc,properties:{videoId:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))}})};var e_=()=>Ss.createElement(Ss.Fragment,null,Ss.createElement(mg,null),Ss.createElement(fg,null)),gg=e_;var Ol=Y(J()),vs=16,t_=20,r_=16,o_=78,hg=({page:e,isVideoDurationLimitShowing:t,isConsentStatementShowing:o})=>{let r=vs+t_;return e===Ol.RecordingPage.PreRecord&&t&&(r+=r_),e===Ol.RecordingPage.PreRecord&&o&&(r+=o_),r};import No from"@emotion/styled";import _e from"react";import{useDispatch as n_}from"react-redux";import{Arrange as Il,Icon as Eg,Link as i_,Text as s_}from"@loomhq/lens";import{SvgChevronDown as a_}from"@loomhq/lens/icons/chevron-down";import{SvgChevronUp as c_}from"@loomhq/lens/icons/chevron-up";var Sg,l_=No.div(Sg||(Sg=I(["\n background-color: var(--lns-color-yellowLight);\n padding: 20px;\n padding-bottom: 0;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: 18px;\n\n .recorder__ext-msg-off {\n display: block;\n }\n\n .recorder__ext-msg-on {\n display: none;\n }\n\n &:not(:hover) {\n padding-bottom: 4px;\n }\n\n &:hover {\n .recorder__ext-msg-off {\n display: none;\n }\n\n .recorder__ext-msg-on {\n display: block;\n }\n\n .recorder__ext-msg-desc {\n max-height: 250px;\n transition: 250ms ease-in;\n margin-top: var(--lns-fontSize-small);\n margin-bottom: 20px;\n }\n }\n"]))),vg,d_=No.div(vg||(vg=I(["\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n font-weight: var(--lns-fontWeight-bold);\n cursor: pointer;\n margin-bottom: 12px;\n text-align: center;\n"]))),yg,u_=No(Il)(yg||(yg=I(["\n padding-bottom: 10px;\n"]))),Tg,p_=No.div(Tg||(Tg=I(["\n max-height: 0;\n overflow: hidden;\n transition: max-height 250ms ease-out;\n font-size: var(--lns-fontSize-small);\n margin-bottom: 10px;\n"]))),Cg,m_=No(i_)(Cg||(Cg=I(["\n box-shadow: none;\n text-decoration: underline;\n text-align: center;\n padding-top: var(--lns-fontSize-medium);\n cursor: pointer;\n margin-bottom: 20px;\n"]))),bg,f_=No.div(bg||(bg=I(["\n position: absolute;\n display: inline;\n padding-left: 8px;\n"]))),g_=()=>_e.createElement(f_,null,_e.createElement(Eg,{size:2,className:"recorder__ext-msg-off",icon:_e.createElement(a_,null)}),_e.createElement(Eg,{size:2,className:"recorder__ext-msg-on",icon:_e.createElement(c_,null)}));function h_({content:e,isFirst:t,isOnlyMessage:o}){return _e.createElement(d_,null,_e.createElement(u_,{justifyContent:o?"center":"space-between"},_e.createElement(s_,{fontWeight:"bold",size:"body-sm"},e,t?_e.createElement(g_,null):null)))}function E_(e){let t=n_(),{description:o,isLast:r,isDismissable:n}=e,i=r&&n;return _e.createElement(p_,{className:"recorder__ext-msg-desc"},_e.createElement(Il,{autoFlow:"row"},_e.createElement("div",null,o.map((s,a)=>_e.createElement("p",{key:a},s))),i?_e.createElement(m_,{onClick:()=>t(R.clearDismissableAlerts())},"Dismiss"):null))}function Og(){let{alertMessages:e,isAlertMessageShowing:t}=Er(),o=e.some(r=>r.isDismissible===void 0||r.isDismissible===!0);return t?_e.createElement(l_,null,e.map((r,n)=>{let i=n===0,s=n===e.length-1,a=e.length===1;return _e.createElement(_e.Fragment,{key:n},_e.createElement(Il,{rows:["auto","auto"],justifyItems:"center"},_e.createElement(h_,{content:r.header,isFirst:i,isOnlyMessage:a}),_e.createElement(E_,{description:r.description,isLast:s,isDismissable:o})))})):null}import lt from"react";import{Text as $_,Link as xl}from"@loomhq/lens";var Al="https://www.loom.com",S_="https://cdn.loom.com",Ig="".concat(S_,"/assets/loom-sdk"),Dl="".concat(Al,"/my-videos"),Ag="".concat(Al,"/download"),Dg="https://dev.loom.com/docs/record-sdk/details/technical-notes#browser-compatibility",Pg="".concat(Al,"/settings/workspace#plans"),Rg="https://www.loomstatus.com/",_g="https://support.loom.com/hc/en-us";import V_ from"@emotion/styled";import Ze from"react";import{Container as wl,Arrange as Bg,Spacer as Ml,Text as H_,Align as Fg}from"@loomhq/lens";var Cs=Y(J());import Me from"react";import{Logo as L_,Arrange as Ts,Button as kg,Text as N_,IconButton as k_}from"@loomhq/lens";import{SvgHome as U_}from"@loomhq/lens/icons/home";import Rl from"@emotion/styled";import ge,{useCallback as T_,useState as C_}from"react";import{useDispatch as b_,useSelector as Mg}from"react-redux";import{Arrange as O_,Icon as _n,IconButton as I_,Link as A_,Spacer as Pl,Text as wg}from"@loomhq/lens";import{SvgBook as D_}from"@loomhq/lens/icons/book";import{SvgDownload as P_}from"@loomhq/lens/icons/download";import{SvgHelpCircle as R_}from"@loomhq/lens/icons/help-circle";import{SvgPlayCircle as __}from"@loomhq/lens/icons/play-circle";import{SvgVideoCam as M_}from"@loomhq/lens/icons/video-cam";import{useEffect as v_,useRef as y_}from"react";function vr(e){let t=y_(null);return v_(()=>{let o=r=>{let n=r.composedPath()[0];!t.current||t.current.contains(n)||e(r)};return document.addEventListener("click",o),document.addEventListener("touchstart",o),()=>{document.removeEventListener("click",o),document.removeEventListener("touchstart",o)}},[t,e]),t}var xg,w_=Rl.div(xg||(xg=I(["\n width: 278px;\n height: auto;\n padding: var(--lns-space-large);\n padding-bottom: 0;\n border-radius: var(--lns-radius-xlarge);\n position: absolute;\n background-color: var(--lns-color-background);\n z-index: 1;\n top: 50px;\n right: 85px;\n border: 2px solid var(--lns-color-backgroundHover);\n"]))),Lg,ys=Rl.div(Lg||(Lg=I(["\n width: 32px;\n height: 32px;\n background-color: var(--lns-color-blurpleLight);\n border-radius: var(--lns-radius-150);\n display: flex;\n justify-content: center;\n align-items: center;\n"]))),Ng,x_=Rl.ul(Ng||(Ng=I(["\n list-style: none;\n"]))),_l=()=>{let e=b_(),[t,o]=C_(!1),r=Mg(A.selectSdkProductName),n=Mg(A.selectSdkEntryPointName),i=[{index:0,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(__,null),color:"var(--lns-color-blurple)",size:2.5})),text:"Start a 1 minute tutorial",url:null},{index:0,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(M_,null),color:"var(--lns-color-blurple)",size:2.5})),text:"Discover use cases",url:"https://loom.com/use-case"},{index:1,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(D_,null),color:"var(--lns-color-blurpleDark)",size:2.5})),text:"Help & Support",url:"https://www.loom.com/support"},{index:2,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(P_,null),color:"var(--lns-color-blurple)",size:2.25})),text:"Get the Chrome extension",url:"https://chromewebstore.google.com/detail/loom-%E2%80%93-screen-recorder-sc/liecbddmkiiihnedobmlmillhodjkdmb"}],s=()=>{o(!t),e(_.trackAnalytics({event:lc,properties:{isOpen:!t,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},a=m=>{m.url===null&&(e(R.setShouldSeeOnboardingEntrypoint(!1)),e(R.updateOnboardingStep({stepName:"welcomeToLoom"})),e(R.setShouldSeeOnboarding(!0))),o(!1),e(_.trackAnalytics({event:dc,properties:{itemClicked:m.text,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},c=T_(()=>{o(!1)},[o]),u=vr(c);return ge.createElement("div",{ref:u},ge.createElement(I_,{altText:"More information",icon:ge.createElement(R_,null),onClick:s,"aria-expanded":!!t}),t?ge.createElement(w_,null,ge.createElement(wg,{fontWeight:"bold",color:"body",htmlTag:"h2",className:"my:0"},"Need some help getting started?"),ge.createElement(Pl,{bottom:"medium"}),ge.createElement(x_,null,i.map((m,p)=>ge.createElement("li",{key:p},ge.createElement(A_,x(x({key:p,onClick:()=>a(m),variant:"subtle",htmlTag:m.url?"a":"button"},m.url?{href:m.url}:null),m.url?{target:"_blank"}:null),ge.createElement(O_,{autoFlow:"column",gap:"small",alignItems:"center"},ge.createElement(_n,{icon:m.icon}),ge.createElement(wg,{color:"body",size:"body-sm"},m.text))),ge.createElement(Pl,{bottom:"small"})))),ge.createElement(Pl,{bottom:"medium"})):null)};var B_=()=>{let e=te(),t=P(A.selectSdkProductName),o=P(A.selectSdkEntryPointName);return Me.createElement(k_,{altText:"My library",style:{marginRight:"var(--lns-space-xsmall)",pointerEvents:"auto"},icon:Me.createElement(U_,null),onClick:()=>{e(_.trackAnalytics({event:ka,properties:{sdk_recorder_launch_app_source:t,sdk_recorder_launch_app_entrypoint:o}})),window.open("https://www.loom.com","_blank")}})},F_=()=>{let e=te(),t=P(A.selectSdkProductName),o=P(A.selectSdkEntryPointName);return Me.createElement(kg,{onClick:()=>{e(R.updatePreRecordPage(Cs.RecordingPage.SignUp)),e(_.trackAnalytics({event:Na,properties:{sdk_recorder_launch_app_source:t,sdk_recorder_launch_app_entrypoint:o}}))},variant:"neutral",size:"small"},"Sign up")},W_=()=>{let e=te();return Me.createElement(kg,{onClick:()=>e(R.updatePreRecordPage(Cs.RecordingPage.PreRecord)),variant:"neutral",size:"small"},"Back")},K_=()=>{let e=P(A.selectPartnerGuestRecordingLimit);return e===void 0?null:Me.createElement(N_,{size:"body-sm",style:{paddingRight:"var(--lns-space-xsmall)"}},e," Video limit reached")},j_=({disabled:e=!1})=>{let t=P(A.selectIsUserLoggedIn),o=P(A.selectPreRecordPage)===Cs.RecordingPage.SignUp,r=P(A.selectHasReachedRecordingLimit),{applicationConfig:n}=P(({settings:{applicationConfig:s}})=>({applicationConfig:s})),i=null;return e||(o?r?i=Me.createElement(K_,null):i=Me.createElement(W_,null):t?i=Me.createElement(Me.Fragment,null,Me.createElement(_l,null),Me.createElement(B_,null)):i=Me.createElement(Me.Fragment,null,Me.createElement(_l,null),Me.createElement(F_,null))),n.removeLoomBranding?Me.createElement(Ts,{justifyContent:"end"},Me.createElement(Ts,null,i)):Me.createElement(Ts,{justifyContent:"space-between",justifyItems:"start",autoFlow:"column"},Me.createElement(L_,{brand:"apptile",maxWidth:10.5}),Me.createElement(Ts,null,i))},ko=j_;var Ug,G_=V_.div(Ug||(Ug=I(["\n border-radius: 0 0 32px 32px;\n height: 80px;\n width: 100%;\n background-color: var(--lns-color-disabledBackground);\n"]))),z_=({headerText:e,bodyTextComponent:t})=>Ze.createElement(Fg,{alignment:"topCenter"},Ze.createElement(Bg,{justifyItems:"center",autoFlow:"row"},Ze.createElement(Ml,{top:"50px"}),Ze.createElement("img",{src:"".concat(Ig,"/video-limit.png"),height:"104",width:"104"}),Ze.createElement(Ml,{top:3}),Ze.createElement(wl,null,Ze.createElement(H_,{alignment:"center",fontWeight:"bold",size:"body-lg","data-qa":"limit-title"},e)),Ze.createElement(Ml,{top:1}),Ze.createElement(wl,{maxWidth:"240px"},t))),Uo=({headerText:e,bodyTextComponent:t,button:o=null,disableHeader:r=!1})=>Ze.createElement(Bg,{justifyContent:"stretch",width:"100%",height:"100%",autoFlow:"row",rows:["auto","1fr","auto"]},Ze.createElement(wl,{paddingLeft:"20px",paddingRight:2},Ze.createElement(ko,{disabled:r})),Ze.createElement(z_,{headerText:e,bodyTextComponent:t}),Ze.createElement(G_,null,o&&Ze.createElement(Fg,{alignment:"center"},o)));var X_={[st.Refresh]:"Try refreshing the page.",[st.EnableCookies]:"Enable third-party cookies to use the Loom recorder.",[st.DownloadDesktopApp]:"You must launch the Loom desktop app to begin recording. If you do not have the app installed, you can download it ",[st.UnsupportedBrowser]:"This browser is unsupported. ",[st.Default]:"We hit a snag."},Y_=()=>lt.createElement(lt.Fragment,null,"If this problem persists,"," ",lt.createElement(xl,{variant:"neutral",href:_g,target:"_blank"},"contact")," ","Loom support"),J_=()=>lt.createElement(xl,{variant:"neutral",href:Ag,target:"_blank"},"here"),Q_=()=>lt.createElement(lt.Fragment,null,"Please use one of our"," ",lt.createElement(xl,{variant:"neutral",href:Dg,target:"_blank"},"supported browsers")," ","to begin recording today"),Z_=e=>{switch(e){case st.DownloadDesktopApp:return lt.createElement(J_,null);case st.UnsupportedBrowser:return lt.createElement(Q_,null);default:return lt.createElement(Y_,null)}},q_=()=>{let e=P(A.selectGenericErrorMessage);return lt.createElement($_,{alignment:"center","data-qa":"limit-body"},X_[e],Z_(e),".")},eM=()=>{let t=P(A.selectGenericErrorMessage)===st.DownloadDesktopApp?"Desktop app required":"Recording not available";return lt.createElement(Uo,{headerText:t,bodyTextComponent:lt.createElement(q_,null),disableHeader:!0})},Wg=eM;var Ll=Y(J());import Bo from"react";import{Button as tM,Link as rM,Text as oM}from"@loomhq/lens";var nM=({selectedWorkspace:e,minPlanForFeature:t})=>{var o;return(e==null?void 0:e.member_role)!==Ll.OrgRoles.CreatorLite||((o=e==null?void 0:e.organization)==null?void 0:o.type)===be.WORKSPACE_PLAN_STARTER_FREE?be.UPGRADE_TYPES.PLAN:be.WORKSPACE_PLAN_HIERARCHY[t]>be.WORKSPACE_PLAN_HIERARCHY[e.type]?be.UPGRADE_TYPES.PLAN:be.UPGRADE_TYPES.ROLE},iM=({memberRole:e,minPlanForFeature:t=be.WORKSPACE_PLAN_BUSINESS,selectedWorkspace:o})=>{if(e===Ll.OrgRoles.CreatorLite){let r=nM({selectedWorkspace:o,minPlanForFeature:t});window.open("".concat(Dl,"?request_upgrade=").concat(r))}else window.open(Pg)},sM=()=>{let{selectedWorkspace:e}=P(({workspaces:t})=>({selectedWorkspace:t.defaultWorkspace}));return Bo.createElement(tM,{variant:"primary",size:"medium","data-qa":"upgrade-button",onClick:()=>{e&&iM({memberRole:e==null?void 0:e.member_role,minPlanForFeature:be.WORKSPACE_PLAN_BUSINESS,selectedWorkspace:e})}},"Upgrade")},aM=()=>Bo.createElement(oM,{alignment:"center","data-qa":"limit-body"},"Starter plans have a video limit. Upgrade to unlock unlimited videos or"," ",Bo.createElement(rM,{target:"_blank",href:Dl},"delete videos to continue recording.")),cM=()=>{let{memberVideoLimit:e}=P(({workspaces:o})=>{var r,n;return{memberVideoLimit:(n=(r=o.defaultWorkspace)==null?void 0:r.member_limits)==null?void 0:n.TOTAL_VIDEOS}}),t="You\u2019ve reached the ".concat(e," video limit");return Bo.createElement(Uo,{headerText:t,bodyTextComponent:Bo.createElement(aM,null),button:Bo.createElement(sM,null)})},Kg=cM;import Fo from"react";import{Text as lM,Link as dM,Button as uM}from"@loomhq/lens";var pM=()=>Fo.createElement(lM,{alignment:"center","data-qa":"limit-body"},"You need to connect to the internet to record or check Loom\u2019s status at"," ",Fo.createElement(dM,{variant:"neutral",href:Rg,target:"_blank"},"www.loomstatus.com")),mM=()=>{let e=te(),t=P(A.selectIsCheckingNetworkConnection);return Fo.createElement(uM,{hasLoader:t,onClick:()=>{e(_.checkNetworkStatus())},variant:"primary","data-qa":"error-retry-button"},"Retry")},fM="Something went wrong",gM=()=>Fo.createElement(Uo,{headerText:fM,bodyTextComponent:Fo.createElement(pM,null),button:Fo.createElement(mM,null)}),jg=gM;import hM from"@emotion/styled";import Mn from"react";import{useDispatch as EM}from"react-redux";import{Arrange as SM,Icon as vM,Text as yM}from"@loomhq/lens";import{SvgArrowRight as TM}from"@loomhq/lens/icons/arrow-right";var Vg,CM=hM.div(Vg||(Vg=I(["\n background-color: var(--lns-color-blurpleLight);\n padding: 20px;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: ",";\n\n width: 100%;\n cursor: pointer;\n"])),e=>e.isVideoDurationLimitShowing?"6px":"18px");function Hg(){let e=EM(),t=()=>{e(R.setShouldSeeOnboardingEntrypoint(!1)),e(R.setShouldSeeOnboarding(!0)),e(R.updateOnboardingStep({stepName:"welcomeToLoom"})),e(_.trackAnalytics({event:yc,properties:{}}))},o=!!P(A.selectVideoDurationLimit);return Mn.createElement(CM,{isVideoDurationLimitShowing:o},Mn.createElement(SM,{justifyContent:"center",onClick:t},Mn.createElement(yM,{color:"#503527",fontWeight:"bold"},"\u{1F3AC} Start a 1 minute tutorial"),Mn.createElement(vM,{color:"#2B2D36",icon:Mn.createElement(TM,null)})))}var zg=Y(J());import bM from"@emotion/styled";import zt from"react";import{Align as OM,Button as IM,Spacer as bs,Text as Nl}from"@loomhq/lens";var Gg,AM=bM.img(Gg||(Gg=I(["\n width: 100%;\n"]))),DM={mediaUrl:"https://cdn.loom.com/assets/loom-sdk/mac-screen-system-permissions-wide.png",headerText:"Grant your web browser screen recording permission to start recording.",bodyText:"To update these preferences on your Mac, choose Apple menu > System Settings > Privacy & Security > Screen & System Audio Recording.",buttonText:"I have updated this permission."},PM={mediaUrl:"https://cdn.loom.com/assets/loom-sdk/mac-mic-cam-system-permissions.png",headerText:"Grant your browser access to your camera and microphone to record video and audio.",bodyText:"To update these preferences on your Mac, choose Apple menu > System Settings > Privacy & Security.",buttonText:"I have updated these permissions."};var RM=({modalType:e})=>{let t=te(),o=e==="audioOrCam"?PM:DM,r=()=>{t(R.updatePreRecordPage(zg.RecordingPage.PreRecord))};return zt.createElement(bs,{top:"medium",bottom:"medium",left:"medium",right:"medium"},zt.createElement(AM,{src:o.mediaUrl,alt:"OS permissions modal - go to os settings and change chrome screen recording permissions"}),zt.createElement(bs,{top:"medium"}),zt.createElement(Nl,{color:"grey7",size:"body-lg",alignment:"center",fontWeight:"bold"},o.headerText),zt.createElement(bs,{top:"medium"}),zt.createElement(Nl,{color:"grey7",size:"body-md",alignment:"center"},o.bodyText),zt.createElement(bs,{top:"medium"}),zt.createElement(OM,{alignment:"center"},zt.createElement(IM,{hasFullWidth:!0,onClick:r,size:"medium"},zt.createElement(Nl,{size:"body-md",fontWeight:"bold"},o.buttonText))))},kl=RM;import yt from"react";import{Align as mw,Container as Kl,Spacer as fw,Text as gw}from"@loomhq/lens";import{intervalToDuration as _M}from"date-fns";var $g=e=>{let{hours:t,minutes:o,seconds:r}=_M({start:0,end:e*1e3}),n=t?"hour":o?"minute":"second",i=t||o||r;return"".concat(i," ").concat(n)};import rw from"@emotion/styled";import kn from"react";import Lt,{useEffect as p0}from"react";import{Icon as Ah}from"@loomhq/lens";import{SvgVideoCam as Dh}from"@loomhq/lens/icons/video-cam";import{SvgVideoOff as Ph}from"@loomhq/lens/icons/video-off";function yr(e){return e.indexOf(be.NO_CAM)>-1}import MM from"@emotion/styled";import Ul from"react";import{Text as wM,Align as xM}from"@loomhq/lens";var Os="on_off_button_class",Xg,LM=MM.div(Xg||(Xg=I(["\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n\n height: 26px;\n width: 33px;\n\n border-radius: var(--lns-radius-100);\n\n user-select: none;\n\n background-color: ",";\n"])),e=>e.on?"var(--lns-color-success)":"var(--lns-themeLight-color-danger)"),Is=e=>{let{on:t}=e,o=r=>{r.stopPropagation(),e.onClick()};return Ul.createElement(LM,{className:Os,on:Number(t),onClick:o,"data-qa":"on-off-button"},Ul.createElement(xM,{alignment:"center"},Ul.createElement(wM,{color:"white",fontWeight:"bold",size:"body-sm"},t?"On":"Off")))};import{css as Tr}from"@emotion/react";import wn from"@emotion/styled";import cr from"react";import{Arrange as NM,Loader as kM,Spacer as UM}from"@loomhq/lens";var dh=48,Bl="recorder-button-class",BM="icon-container-class",Qg,FM=wn.button(Qg||(Qg=I(["\n ","\n\n width: 100%;\n height: ","px;\n\n display: grid;\n grid-template-areas: 'stack';\n\n & > * {\n grid-area: stack;\n }\n\n &:hover ."," {\n ","\n }\n\n &:focus-visible ."," {\n ","\n }\n\n ","\n"])),ns,dh,Bl,e=>!e.active&&!e.disabled&&Jg[e.variant],Bl,e=>!e.active&&!e.disabled&&Jg[e.variant],e=>e.disabled&&"\n pointer-events: none;\n ");var Zg,WM=Tr(Zg||(Zg=I(["\n cursor: pointer;\n"]))),qg,KM=Tr(qg||(qg=I(["\n pointer-events: none;\n background-color: var(--lns-color-disabledBackground);\n color: var(--lns-color-disabledContent);\n border: 0;\n"]))),eh,th,Yg={neutral:Tr(eh||(eh=I(["\n background-color: var(--lns-color-blurpleLight);\n color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-blurple);\n }\n\n ."," span {\n color: white;\n }\n "])),Os),record:Tr(th||(th=I(["\n background-color: var(--lns-color-recordActive);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n "])))},rh,oh,Jg={neutral:Tr(rh||(rh=I(["\n background-color: var(--lns-color-blurple);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n\n ."," {\n background-color: white;\n\n span {\n color: var(--lns-color-primary); }\n }\n "],["\n background-color: var(--lns-color-blurple);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n\n ."," {\n background-color: white;\n\n span {\n color: var(--lns-color-primary);\\\n }\n }\n "])),Os),record:Tr(oh||(oh=I(["\n background-color: var(--lns-color-recordHover);\n color: var(--lns-color-white);\n\n :hover {\n box-shadow: 0px -2px 20px rgba(255, 55, 10, 0.6);\n }\n\n span {\n color: var(--lns-color-white);\n }\n "])))},nh,ih,jM={neutral:Tr(nh||(nh=I(["\n background-color: var(--lns-color-disabledBackground);\n color: var(--lns-color-body);\n "]))),record:Tr(ih||(ih=I(["\n background-color: var(--lns-color-record);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n "])))},sh,VM=wn.span(sh||(sh=I(["\n font-size: var(--lns-fontSize-medium);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n"]))),ah,HM=wn.div(ah||(ah=I(["\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-200);\n"]))),ch,GM=wn.div(ch||(ch=I(["\n width: 240px;\n\n // TODO: Make this a var and replace everywhere\n :hover {\n box-shadow:\n 0px 0px 2px rgba(0, 0, 0, 0.05),\n 0px 4px 25px rgba(0, 0, 0, 0.2);\n }\n\n :active {\n box-shadow: 0;\n }\n\n display: flex;\n min-height: ","px;\n align-items: center;\n text-align: ",";\n justify-content: ",";\n border-radius: var(--lns-radius-200);\n padding: var(--lns-space-small) var(--lns-space-medium);\n font-weight: var(--lns-fontWeight-bold);\n\n :active {\n ","\n }\n\n ","\n ","\n ","\n\n ","\n"])),dh,e=>e.center?"center":"left",e=>e.center||e.isLoading?"center":"left",e=>Yg[e.variant],e=>jM[e.variant],e=>e.disabled?KM:WM,e=>e.active?Yg[e.variant]:"",e=>e.backdropElement&&"background-color: unset"),zM=({statusBtn:e,children:t})=>{let o=cr.createElement(VM,{"data-qa":"active-button-text"},t);return e?cr.createElement(NM,{gap:2,justifyContent:"space-between",width:"100%"},o,e):o},lh,$M=wn.div(lh||(lh=I(["\n height: 100%;\n width: 100%;\n overflow: hidden;\n border-radius: var(--lns-radius-200);\n background-color: ",";\n"])),e=>e.active?"var(--lns-color-blurpleLight)":"var(--lns-color-disabledBackground)"),XM=({children:e,variant:t="neutral",center:o=!1,icon:r,disabled:n=!1,isLoading:i=!1,onClick:s=()=>null,active:a=!1,statusBtn:c,backdropElement:u})=>cr.createElement(FM,{active:a,variant:t,onClick:s,"data-qa":"recorder-button",disabled:n},u&&cr.createElement(HM,null),cr.createElement($M,{active:a},u),cr.createElement(GM,{className:Bl,active:a,variant:t,center:o,isLoading:i,disabled:n,backdropElement:!!u},r?cr.createElement(UM,{className:BM,right:"small"},r):null,i?cr.createElement(kM,{color:"disabledContent"}):cr.createElement(zM,{statusBtn:c},e))),$t=XM;import{css as qr}from"@emotion/react";import eo from"@emotion/styled";import dt,{useCallback as YM}from"react";import{Icon as uh,Spacer as JM,Text as QM}from"@loomhq/lens";import{SvgCheckCircleFill as ZM}from"@loomhq/lens/icons/check-circle-fill";var Ln=48;var xn="200ms",ph,qM=eo.div(ph||(ph=I(["\n position: relative;\n"]))),mh,fh,gh,hh,Eh,e0=eo.div(Eh||(Eh=I(["\n top: 0;\n border-radius: 16px;\n z-index: 1;\n position: absolute;\n background-color: var(--lns-color-background);\n box-shadow: ",";\n opacity: 0;\n overflow: hidden;\n\n transition:\n opacity "," ease-out,\n left "," ease-out,\n right "," ease-out,\n bottom "," ease-out,\n top "," ease-out;\n\n ","\n\n ","\n"])),e=>e.withDarkMode?Po:Do,xn,xn,xn,xn,xn,e=>e.isOpen?qr(mh||(mh=I(["\n opacity: 1;\n width: ",";\n "])),e.width):"",e=>{if(e.position===0){let t=e.isOpen?e.gap:"0px";return qr(fh||(fh=I(["\n right: calc(100% + ",");\n "])),t)}if(e.position===1){let t=e.isOpen?e.gap:"0px";return qr(gh||(gh=I(["\n left: calc(100% + ",");\n "])),t)}if(e.position===3){let t=e.isOpen?e.gap:"0px";return qr(hh||(hh=I(["\n top: calc(100% + ",");\n right: 0;\n "])),t)}return""}),Sh,t0=qr(Sh||(Sh=I(["\n color: var(--lns-color-white);\n background-color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-white);\n }\n"]))),vh,r0=qr(vh||(vh=I(["\n color: var(--lns-color-blurpleDark);\n background-color: var(--lns-color-blurpleLight);\n\n span {\n color: var(--lns-color-blurpleDark);\n }\n"]))),yh,o0=eo.button(yh||(yh=I(["\n ","\n\n width: 100%;\n\n color: var(--lns-color-body);\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding: 0 var(--lns-space-medium);\n\n :enabled {\n color: var(--lns-color-body);\n\n cursor: pointer;\n\n :hover,\n :focus {\n ","\n }\n\n :active {\n color: var(--lns-color-white);\n background-color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-white);\n }\n }\n\n ","\n }\n\n :disabled {\n color: var(--lns-color-disabledContent);\n }\n"])),ns,Ln,t0,e=>e.selected?r0:{}),Th,n0=eo.div(Th||(Th=I(["\n display: flex;\n align-items: center;\n\n padding: var(--lns-space-small) var(--lns-space-medium) 0\n var(--lns-space-medium);\n"]))),Ch,bh,i0=eo.div(bh||(bh=I(["\n font-size: var(--lns-fontSize-medium);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n\n ","\n"])),e=>e.addSpacer&&qr(Ch||(Ch=I(["\n padding-right: 8px;\n "])))),Oh,s0=eo.div(Oh||(Oh=I(["\n overflow: hidden;\n min-width: 24px;\n"]))),a0=({title:e,icon:t,iconColor:o="body",onClick:r=()=>null,itemType:n=1,value:i,selected:s,secondaryButton:a,disabled:c})=>n===0?dt.createElement(n0,null,dt.createElement(QM,{color:"bodyDimmed",fontWeight:"bold"},e)):dt.createElement(o0,{disabled:c,selected:s,onClick:()=>r({title:e,value:i}),"data-qa":"dropdown-item"},t?dt.createElement(JM,{right:"small"},dt.createElement(uh,{color:c?"disabledContent":o,size:"3",icon:t})):null,dt.createElement(i0,{addSpacer:s},e),s&&!a&&dt.createElement(s0,null,dt.createElement(uh,{icon:dt.createElement(ZM,null)})),a||null),Ih,c0=eo.div(Ih||(Ih=I(["\n overflow: auto;\n\n max-height: ",";\n\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background: transparent;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: transparent;\n }\n"])),e=>e.maxHeight),l0=()=>{};function d0(e){let{isOpen:t,options:o,selectedValue:r=null,children:n,width:i="232px",maxHeight:s="600px",gap:a="28px",position:c=0,setIsOpen:u=l0}=e,m=!1,p=YM(()=>{u(!1)},[u]),d=vr(p);return dt.createElement(qM,{ref:d},n,dt.createElement(e0,{isOpen:t,width:i,gap:a,position:c,withDarkMode:m,"data-qa":"recorder-dropdown"},dt.createElement(c0,{maxHeight:s},t&&o.map(l=>dt.createElement(a0,x({selected:r===l.value,key:l.title},l))))))}var Wo=d0;var Fl="No Camera",m0=()=>{var E;let[e,t]=Lt.useState(!1),[o,r]=Lt.useState(void 0),n=te(),i=P(A.selectSDKAvailbleCameras),s=P(A.selectCameraId),a=P(A.selectDefaultCameraId),c=s||a,u=P(A.selectMediaDevicePermissions),m=P(A.selectCanDisableCamera),p=b=>{let g;yr(b.value)?(g=be.NO_CAM_USER,n(R.turnOffCamera())):(g=b.value,n(R.turnOnCamera())),n(_.updateMediaDevices({cameraId:g})),t(!1)},d=i.map(({deviceId:b,label:g})=>{let C=yr(b);return{value:b,title:C?Fl:g,icon:C?Lt.createElement(Ph,null):Lt.createElement(Dh,null),iconColor:C?"danger":void 0,disabled:C&&!m,onClick:p}}),l=((E=i.find(({deviceId:b})=>b===c))==null?void 0:E.label)||Fl,f=d.find(b=>b.value===c)||d[0],h=!yr(c||""),v=()=>{if(h)r(c),n(R.turnOffCamera()),n(_.updateMediaDevices({cameraId:be.NO_CAM_USER}));else{let b=o||i[1].deviceId;n(R.turnOnCamera()),n(_.updateMediaDevices({cameraId:b}))}},S=i.length>1&&m,y=()=>h?Lt.createElement(Ah,{icon:Lt.createElement(Dh,null),color:"inherit"}):Lt.createElement(Ah,{icon:Lt.createElement(Ph,null),color:"danger"});return p0(()=>{n(_.initializeCameras())},[n,u]),Lt.createElement(Wo,{dropdownType:0,setIsOpen:t,isOpen:e,options:d,selectedValue:f.value,position:0,maxHeight:"".concat(Ln*5.5,"px"),width:"270px"},Lt.createElement($t,{active:e,onClick:()=>t(!e),icon:y(),statusBtn:S?Lt.createElement(Is,{on:h,onClick:v}):void 0},h?l:Fl))},_h=m0;import ot,{useEffect as Hh}from"react";import{useDispatch as x0,useStore as L0}from"react-redux";import{Icon as Gh}from"@loomhq/lens";import{SvgMic as zh}from"@loomhq/lens/icons/mic";import{SvgMicOff as $h}from"@loomhq/lens/icons/mic-off";var Wl="no_mic",f0="no_camera",eV="".concat(f0,"_user"),tV="".concat(Wl,"_user");var jh=Y(J());import Wh,{useRef as R0,useEffect as Kh}from"react";import{useDispatch as _0}from"react-redux";import{createSlice as g0}from"@reduxjs/toolkit";var h0=5e3;var Mh={alertMessages:[]},As=g0({name:"alerts",initialState:Mh,reducers:{clearAlert(e){Object.assign(e,Mh)},clearDismissableAlerts(e){e.alertMessages=e.alertMessages.filter(t=>t.isDismissible!==void 0&&t.isDismissible===!1)},clearAlertType(e,t){e.alertMessages=e.alertMessages.filter(o=>o.type!==t.payload)},createAlert(e,t){let o=x({createdAt:Date.now()},t.payload),r=!1;e.alertMessages.forEach(n=>{n.type===t.payload.type&&(r=!0)}),r||e.alertMessages.push(o)}}});var wh=()=>As.actions.createAlert({type:"micIssue",header:"Microphone issue detected",description:["We are not able to detect any input from your microphone."],timeout:h0});var xh=(e,t)=>{let o=1e3/t,r=performance.now(),n;i();function i(){n=requestAnimationFrame(i);let s=performance.now(),a=s-r;a>o&&(r=s-a%o,e())}return()=>{cancelAnimationFrame(n)}};var Lh=async()=>{try{let e=await navigator.mediaDevices.enumerateDevices();e.every(n=>n.label)||(await navigator.mediaDevices.getUserMedia({audio:!0,video:!0}),e=await navigator.mediaDevices.enumerateDevices());let o=[],r=[];return e.forEach(n=>{if(n.label&&n.deviceId){let i={label:n.label,deviceId:n.deviceId,id:n.deviceId};n.kind==="videoinput"?r.push(i):n.kind==="audioinput"&&o.push(i)}}),{mics:o,cameras:r}}catch(e){return{mics:[],cameras:[]}}};var Nh=256,S0=90,Ko=240,Cr=48,v0=Cr*.75,y0=Cr*.6,T0={lowPassFreq:1e3,gain:3},C0=128,Nt=null,jo=null,kh=Promise.resolve(),Uh=Promise.resolve(),to={isThereAnyIssue:!1,decibelLevel:0},Bh=()=>{},b0="#C2C1ED",O0=()=>{},I0=async e=>{let o=(await Lh()).mics.find(r=>r.id===e);return o==null?void 0:o.id};async function Ds(e){await Uh,kh=(async()=>{try{e&&(to.isThereAnyIssue=!1,to.decibelLevel=0),jo&&jo.getTracks().forEach(o=>o.stop()),Nt&&Nt.state!=="closed"&&await Nt.close(),Bh()}finally{Nt=null,jo=null}})()}async function Fh({micId:e,canvasCtx:t,audioConfig:o=T0,triggerMicIssue:r,clearMicIssue:n}){await kh,Uh=(async()=>{if(!e)return;let s=P0(),a=l=>{s(l)?(to.isThereAnyIssue=!0,to.decibelLevel=l,r()):(to.isThereAnyIssue=!1,to.decibelLevel=0,n())},c=await I0(e);if(!c||(jo=await navigator.mediaDevices.getUserMedia({audio:{deviceId:{exact:c}}}),Nt=new AudioContext,!jo||!Nt))return;let u=Nt.createAnalyser(),m=Nt.createGain(),p=Nt.createBiquadFilter();u.minDecibels=-90,u.maxDecibels=-10,u.smoothingTimeConstant=1,o!=null&&o.lowPassFreq&&(p.type="lowpass",p.frequency.value=o.lowPassFreq),o!=null&&o.gain&&m.gain.setValueAtTime(o==null?void 0:o.gain,Nt.currentTime),Nt.createMediaStreamSource(jo).connect(p),p.connect(m),m.connect(u),Bh=A0({analyzer:u,canvasCtx:t,trackLastDecibelLevel:a})})()}function A0({analyzer:e,canvasCtx:t,trackLastDecibelLevel:o}){if(!t)return O0;let r=new Uint8Array(Nh).fill(C0);e.fftSize=Nh;let n=0;return xh(()=>{n>1&&(n=0,e.getByteTimeDomainData(r));let s=D0(r);o(s),n+=.35,t.clearRect(0,0,Ko,Cr),t.beginPath();let a=0;for(let c=0;c<r.length;c++){let p=(r[c]-128)/128*y0+v0;c===0?t.moveTo(a,p):t.lineTo(a,p),a+=Ko/r.length}t.lineTo(Ko,Cr/2),t.lineTo(Ko,Cr),t.lineTo(0,Cr),t.fillStyle=b0,t.fill()},S0)}function D0(e){let o=e.reduce((n,i)=>n+i,0)/e.length;return 20*Math.log10(o)}function P0(){let t={decibelLevel:0,ct:0};return r=>(to.decibelLevel===r&&(t.decibelLevel=r,t.ct=50),t.decibelLevel===r?t.ct!==50&&(t.ct+=1):(t.decibelLevel=r,t.ct=1),t.ct===50)}function M0(){let e=P(A.selectMicrophoneId),t=P(A.selectMsgType),o=!br(e||""),{appStage:r}=P(({recorder:s})=>({appStage:s.appStage})),n=r===jh.RecordingStage.PreRecording;Kh(()=>{o||Ds(!0)},[o]);let i=t==="micIssue";return o&&e&&n?Wh.createElement(w0,{currentDeviceValue:e,thereIsAMicIssue:i}):null}function w0({currentDeviceValue:e,thereIsAMicIssue:t}){let o=R0(null),r=_0();return Kh(()=>{let n=()=>{t||(r(R.updateMsgType("micIssue")),r(wh()))},i=()=>{t&&(r(R.updateMsgType(void 0)),r(R.clearDismissableAlerts()))};return(async()=>{if(o.current)try{await Fh({micId:e,canvasCtx:o.current.getContext("2d"),triggerMicIssue:n,clearMicIssue:i})}catch(a){await Ds()}})(),()=>{Ds()}},[r,t,e]),Wh.createElement("canvas",{className:"lo-audio-visualizer",width:Ko,height:Cr,ref:o})}var Vh=M0;function br(e){return e.indexOf(Wl)>-1}function N0({devices:e}){let t=e.filter(r=>{var n;return(n=r==null?void 0:r.value)==null?void 0:n.includes("Default")});if(t.length===0)return e;let o=t.map(r=>{var n;return(n=r==null?void 0:r.value)==null?void 0:n.replace("Default - ","")});return e.filter(r=>{var n,i;if((n=r==null?void 0:r.value)!=null&&n.includes("Default"))return!0;for(let s of o)if((i=r==null?void 0:r.value)!=null&&i.includes(s))return!1;return!0})}function k0(e){let o=P(A.selectSDKMicrophones),r=P(A.selectMicrophoneId),n=!br(r||"");return o.length>1?ot.createElement(Is,{on:e.micEnabled,onClick:e.toggleClick}):null}var U0=()=>{let[e,t]=ot.useState(!1),[o,r]=ot.useState(void 0),n=x0(),i=L0(),s=P(A.selectSDKMicrophones),a=P(A.selectMicrophoneId),c=P(A.selectMediaDevicePermissions),u=!br(a||""),m=P(A.selectFirstMicrophone);Hh(()=>{n(_.initializeMicrophones())},[n,c]);let p=ot.useMemo(()=>{let v={},S=[],y=({value:E})=>{let b=br(E)?be.NO_MIC_USER:E;n(_.updateMediaDevices({microphoneId:b})),t(!1)};return s.forEach(E=>{let{deviceId:b}=E;v[b]||S.push(E),v[b]=!0}),S.map(({deviceId:E,label:b})=>{let g=br(E);return{value:E,title:g?"No microphone":b,icon:g?ot.createElement($h,null):ot.createElement(zh,null),iconColor:g?"danger":void 0,onClick:y}})},[n,s]);Hh(()=>{},[a,i,u,n]);let d=N0({devices:p}),l=d.find(v=>v.value===a)||d[0],f=()=>{if(u)r(a),n(_.updateMediaDevices({microphoneId:be.NO_MIC_USER}));else{let v=o||m;n(_.updateMediaDevices({microphoneId:v}))}},h=()=>u?ot.createElement(Gh,{icon:ot.createElement(zh,null)}):ot.createElement(Gh,{icon:ot.createElement($h,null),color:"danger"});return ot.createElement(Wo,{dropdownType:1,setIsOpen:t,isOpen:e,options:d,selectedValue:l==null?void 0:l.value,position:0,maxHeight:"".concat(Ln*4.5,"px"),width:"270px"},ot.createElement($t,{active:e,onClick:()=>t(!e),icon:h(),statusBtn:ot.createElement(k0,{micEnabled:u,toggleClick:f}),backdropElement:u?ot.createElement(Vh,null):void 0},l.title))},Xh=U0;var ro=Y(J());import lr,{useEffect as B0,useMemo as F0}from"react";import{Icon as W0}from"@loomhq/lens";import{SvgAccount as K0}from"@loomhq/lens/icons/account";import{SvgCrop169 as j0}from"@loomhq/lens/icons/crop-16-9";import{SvgDesktopMac as Yh}from"@loomhq/lens/icons/desktop-mac";import{SvgGrid as V0}from"@loomhq/lens/icons/grid";var H0=()=>{let[e,t]=lr.useState(!1),o=te(),r=P(A.selectSDKRecordingType),n=P(A.selectCameraId),i=P(A.selectFirstCamera),s=P(A.selectIsThereNoCameraOption),a=F0(()=>{let u=({value:p})=>{o(R.updateSelectedSDKRecordingType(p)),p===ro.SDKRecordingType.CameraOnly&&o(R.turnOnCamera()),t(!1)},m=[{value:ro.SDKRecordingType.FullScreen,title:"Full Screen",onClick:u,icon:lr.createElement(Yh,null)},{value:ro.SDKRecordingType.Window,title:"Window",onClick:u,icon:lr.createElement(V0,null)},{value:ro.SDKRecordingType.CurrentTab,title:"Current tab",onClick:u,icon:lr.createElement(j0,null)}];return s||m.push({value:ro.SDKRecordingType.CameraOnly,title:"Camera only",onClick:u,icon:lr.createElement(K0,null)}),m},[o,s]),c=a.find(u=>u.value===r)||a[0];return B0(()=>{r===ro.SDKRecordingType.CameraOnly&&yr(n||"")&&o(_.updateMediaDevices({cameraId:i}))},[r,n,i,o]),lr.createElement(Wo,{setIsOpen:t,isOpen:e,options:a,selectedValue:r,position:0,maxHeight:"192px",width:"270px"},lr.createElement($t,{active:e,onClick:()=>t(!e),icon:lr.createElement(W0,{icon:lr.createElement(Yh,null)})},c.title))},Jh=H0;var Ps=Y(J());import Vo,{useEffect as Z0,useState as oE}from"react";import{useDispatch as q0}from"react-redux";import Nn from"react";import{Arrange as z0,Icon as $0}from"@loomhq/lens";import{SvgLock as X0}from"@loomhq/lens/icons/lock";var Y0=()=>Nn.createElement($t,{isLoading:!1,variant:"record",center:!0,disabled:!0},Nn.createElement(z0,{justifyContent:"center",alignItems:"end",gap:"small"},Nn.createElement($0,{icon:Nn.createElement(X0,null),color:"inherit"}),Nn.createElement("span",null,"Start Recording"))),Qh=Y0;import Xt from"react";import{Arrange as Zh,Button as qh,Link as J0,Modal as Q0,Spacer as eE,Text as tE}from"@loomhq/lens";var rE=({open:e,onClose:t,onProceedClick:o})=>{let r=()=>t();return Xt.createElement(Q0,{title:"Your browser is blocking media devices",isOpen:e,onCloseClick:r,onBackgroundClick:r},Xt.createElement(Zh,{autoFlow:"row"},Xt.createElement(tE,null,"Heads up! To record audio and video, you must allow your browser to use your camera and microphone in your browser settings, then"," ",Xt.createElement(J0,{onClick:()=>window.location.reload()},"refresh the page"),"."),Xt.createElement(eE,{top:"medium"}),Xt.createElement(tE,{fontWeight:"bold"},"Do you wish to proceed anyway?"),Xt.createElement(eE,{bottom:"medium"}),Xt.createElement(Zh,{gap:"small",justifyContent:"end"},Xt.createElement(qh,{onClick:r},"Cancel Recording"),Xt.createElement(qh,{variant:"primary",onClick:()=>{o(),t()}},"Yes, proceed"))))};var ew=()=>{let[e,t]=oE(!1),[o,r]=oE(!1),{enablePartnerOwnership:n}=P(w=>({enablePartnerOwnership:w.settings.applicationConfig.enablePartnerOwnership})),i=q0(),a=!!P(A.selectDefaultWorkspace),c=P(A.selectWorkspacesFetched),u=P(A.selectHasReachedRecordingLimit),m=P(A.selectIsUserLoggedIn),p=P(A.selectIsUserViewOnly),d=P(A.selectSDKRecordingType),l=P(A.selectCameraId),f=!yr(l||""),h=P(A.selectMicrophoneId),v=!br(h||""),{loomVideo:S}=P(w=>({loomVideo:w.previewRecording.loomVideo})),{mediaDevicePermissions:y,permissionFailureReason:E}=P(({recorder:{mediaDevicePermissions:w,permissionFailureReason:N}})=>({mediaDevicePermissions:w,permissionFailureReason:N})),b=P(A.selectSdkProductName),g=P(A.selectSdkEntryPointName),C=y===Ps.PermissionState.Denied&&E===Ps.SDKPermissionFailureReason.ChromePermissionNotGranted,T=ht(),O=P(wt),D=()=>{C?r(!0):(i(_.trackAnalytics({event:La,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:fi,properties:{videoId:S==null?void 0:S.id,recordingType:d,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:f?gi:hi,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:v?Ei:Si,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.startRecording()),b&&i(_.trackAnalytics({event:Ai,properties:{sdk_recorder_launch_app_source:b,videoId:S==null?void 0:S.id,sdk_recorder_launch_app_entrypoint:g}}))),t(!0)};Z0(()=>{if(e){let w=setTimeout(()=>t(!1),1e3);return()=>clearTimeout(w)}},[e]);let U=()=>m&&(a&&!p||n)||m&&!c||!m?Vo.createElement($t,{onClick:D,disabled:e||u,isLoading:e,variant:"record",center:!0},"Start recording"):Vo.createElement(Qh,null);return Vo.createElement(Vo.Fragment,null,o&&Vo.createElement(rE,{onClose:()=>r(!1),open:o,onProceedClick:()=>{i(_.startRecording())}}),Vo.createElement(ir,{visible:T&&O==="readyToRecord"&&!e,color:"rgba(255, 55, 10, 0.60)"},U()))},nE=ew;var iE,ow=rw.div(iE||(iE=I(["\n display: flex;\n flex-direction: column;\n gap: ",";\n"])),"".concat(22,"px"));function nw(){return kn.createElement(ow,null,kn.createElement(Jh,null),kn.createElement(_h,null),kn.createElement(Xh,null),kn.createElement(nE,null))}var sE=nw;var lE=Y(J());import iw from"@emotion/styled";import nt from"react";import{Link as aE,Spacer as sw,Text as aw}from"@loomhq/lens";var cE,cw=iw.div(cE||(cE=I(["\n border-bottom: 1px solid var(--lns-color-formFieldBorder);\n"]))),lw=nt.createElement(nt.Fragment,null,"By signing up, you acknowledge that you",nt.createElement("br",null),"have read and understood, and agree to Atlassian\u2019s"," "),dw=nt.createElement(nt.Fragment,null,"By clicking Start Recording, I agree to ",nt.createElement("br",null),"Atlassian\u2019s"," "),uw=e=>e?lw:dw,pw=()=>{let e=P(A.selectIsUserLoggedIn),t=P(A.selectPreRecordPage)===lE.RecordingPage.SignUp;return e?null:nt.createElement(nt.Fragment,null,!t&&nt.createElement(sw,{top:"10px",bottom:"20px"},nt.createElement(cw,null)),nt.createElement("label",{htmlFor:"tos-accept"},nt.createElement(aw,{size:"body-sm",alignment:"center"},uw(t),nt.createElement(aE,{href:"https://www.atlassian.com/legal/atlassian-customer-agreement",target:"_blank"},"Terms")," ","&"," ",nt.createElement(aE,{href:"https://www.atlassian.com/legal/privacy-policy",target:"_blank"},"Privacy Policy"),".")))},Rs=pw;var hw=()=>{let e=P(A.selectVideoDurationLimit);return e?yt.createElement(yt.Fragment,null,yt.createElement(fw,{top:"10px"}),yt.createElement(mw,null,yt.createElement(gw,{fontWeight:"book",size:"body-sm",color:"bodyDimmed"},$g(e)," recording limit"))):null},dE=()=>yt.createElement(Kl,{width:"".concat(280,"px")},yt.createElement(Kl,{paddingLeft:"20px",paddingRight:2,paddingY:"var(--lns-space-xsmall)"},yt.createElement(ko,null)),yt.createElement(Kl,{paddingTop:"".concat(22,"px"),paddingX:"20px"},yt.createElement(sE,null),yt.createElement(hw,null),yt.createElement(Rs,null)));import EE from"@emotion/styled";import Ho from"react";import{Arrange as Cw,Link as Gl,Text as bw}from"@loomhq/lens";import{useSelector as uE}from"react-redux";var Hl={};je(Hl,{selectGenericErrorMessage:()=>Sw,selectMsgType:()=>vw,selectPreRecordPage:()=>Ew,selectUserDismissedRecorderEducationBanner:()=>Vl});import{createSelector as _s}from"@reduxjs/toolkit";var Ms=e=>e.preRecording,Ew=_s(Ms,e=>e.preRecordPage),Sw=_s(Ms,e=>e.genericErrorMessage),vw=_s(Ms,e=>e.msgType),Vl=_s(Ms,e=>e.userDismissedRecorderEducationBanner);var pE="shouldSeeRecorderEducationBanner",yw=1,Tw=()=>window.localStorage.getItem(pE),mE=e=>{window.localStorage.setItem(pE,e)},Bn=()=>{let e=Tw(),t=uE(mn),o=uE(Vl),{isAlertMessageShowing:r}=Er(),n=gn(),i=ht();return o||r||n||i||e==="false"?!1:t>=yw};var fE="https://www.loom.com/download",gE,Ow=EE.div(gE||(gE=I(["\n // pass in prop here to show correct background color\n // background-color: var(--lns-color-blurpleLight);\n background-color: #dbf0ff;\n padding: 20px;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: ",";\n\n width: 100%;\n"])),e=>e.isVideoDurationLimitShowing?"6px":"18px"),hE,Iw=EE(Gl)(hE||(hE=I(["\n box-shadow: none;\n text-decoration: underline;\n text-align: center;\n padding-top: 10px;\n cursor: pointer;\n\n font-size: var(--lns-fontSize-small);\n line-height: var(--lns-lineHeight-body-sm);\n font-weight: var(--lns-fontWeight-book);\n color: black;\n width: 80px;\n"])));function SE(){let e=te(),t=!!P(A.selectVideoDurationLimit),o=P(A.selectUserId),r=P(A.selectDefaultWorkspaceId),n=P(A.selectSdkProductName),i=P(A.selectSdkEntryPointName),s=()=>{mE("false"),e(R.updateUserDismissedRecorderEducationBanner(!0))},a=({isDesktop:c})=>{e(_.trackAnalytics({event:c?uc:pc,properties:{user_id:o,organization_id:r,sdk_recorder_launch_app_source:n,sdk_recorder_launch_app_entrypoint:i}}))};return Ho.createElement(Ow,{isVideoDurationLimitShowing:t},Ho.createElement(Cw,{justifyContent:"center",autoFlow:"row",justifyItems:"center"},Ho.createElement(bw,{size:"body-sm",alignment:"center"},"Get the"," ",Ho.createElement(Gl,{href:fE,target:"_blank",onClick:()=>a({isDesktop:!1})},"Chrome extension")," ","or"," ",Ho.createElement(Gl,{href:fE,target:"_blank",onClick:()=>a({isDesktop:!0})},"Desktop app")," ","to use Loom anywhere."),Ho.createElement(Iw,{onClick:s},"Dismiss tip")))}import Aw from"@emotion/styled";import ye from"react";import{Arrange as xs,Button as Dw,Container as ws,Icon as Pw,Link as Rw,Spacer as _w,Text as zl}from"@loomhq/lens";import{SvgMail as Mw}from"@loomhq/lens/icons/mail";var vE,ww=Aw.div(vE||(vE=I(["\n border-radius: 0 0 32px 32px;\n height: 44px;\n width: 100%;\n background-color: var(--lns-color-disabledBackground);\n"]))),xw=()=>{let{loginUrl:e}=P(({recorder:{hostUrl:t}})=>{let o="".concat(t,"/login");return{loginUrl:new URL(o).toString()}});return ye.createElement(ye.Fragment,null,ye.createElement(_w,{y:"var(--lns-space-small)"}),ye.createElement(ww,null,ye.createElement(xs,{justifyContent:"center",alignContent:"center",autoFlow:"row",height:"100%"},ye.createElement(zl,{size:"body-sm",alignment:"center"},"Already have an account?"," ",ye.createElement(Rw,{href:e,target:"_blank"},"Sign in")))))},Lw=e=>e?"Create a free account to continue recording":"Create a free Loom account in seconds";function Nw(){let{signupUrl:e}=P(({settings:{applicationConfig:{signupWelcomeName:r,utm:n}},recorder:{hostUrl:i}})=>{let s="".concat(i,"/signup"),a=new URL(s);return r.length>0&&a.searchParams.append("welcome_from",r),Object.entries(n).filter(([u,m])=>m.length>0).forEach(([u,m])=>{a.searchParams.append(u,m)}),{signupUrl:a.toString()}}),t=P(A.selectHasReachedRecordingLimit),o=Lw(t);return ye.createElement(ws,{width:"".concat(280,"px")},ye.createElement(ws,{paddingLeft:"20px",paddingRight:2,paddingY:"var(--lns-space-xsmall)"},ye.createElement(ko,null)),ye.createElement(ws,{paddingTop:"".concat(22,"px"),paddingX:"20px"},ye.createElement(xs,{gap:"large",autoFlow:"row"},ye.createElement(zl,{size:"heading-sm",fontWeight:"bold",alignment:"center"},o),ye.createElement(zl,{size:"body-sm",alignment:"center"},"Logged out users are limited to five videos, ",ye.createElement("br",null),"create a free account to record more!"),ye.createElement(ws,null,ye.createElement(xs,{autoFlow:"row",gap:"small",justifyContent:"stretch"},ye.createElement(Dw,{htmlTag:"a",href:e,target:"_blank",hasFullWidth:!0},ye.createElement(xs,{gap:"small"},ye.createElement(Pw,{icon:ye.createElement(Mw,null)}),"Sign up for free")))),ye.createElement(Rs,null))),ye.createElement(xw,null))}var yE=Nw;import TE from"react";var CE=({mode:e})=>{let{hostUrl:t}=P(({recorder:r})=>r),o=new URL("".concat(t,"/integrations-app/sdk/storage-permissions"));return e.mode==="pending"?TE.createElement("div",null,"Loading"):(e.mode==="custom"?o.searchParams.set("jws",e.jws):o.searchParams.set("api_key",e.publicAppId),TE.createElement("iframe",{id:"storage-permissions-iframe",style:{border:"none",width:"100%",height:"100%"},title:"Storage Permissions",src:o.toString()}))};import Ct,{useEffect as sx,useMemo as ax}from"react";import{useDispatch as eS}from"react-redux";import{ErrorBoundary as cx}from"react-error-boundary";import Ls from"@emotion/styled";import{SvgExternalLink as lx}from"@loomhq/lens/icons/external-link";import{Link as tS,Icon as dx}from"@loomhq/lens";import Yt,{useState as kw}from"react";import oo from"@emotion/styled";import{Icon as bE}from"@loomhq/lens";import{SvgArrowLeft as Uw}from"@loomhq/lens/icons/arrow-left";import{SvgArrowRight as Bw}from"@loomhq/lens/icons/arrow-right";var OE,Fw=oo.div(OE||(OE=I(["\n position: relative;\n"]))),IE,Ww=oo.div(IE||(IE=I(["\n position: relative;\n overflow: hidden;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n"]))),AE,Kw=oo.div(AE||(AE=I(["\n width: 226px;\n min-height: 234px;\n display: flex;\n justify-content: space-between;\n gap: 16px;\n transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n transform: ","; // width + gap\n"])),({index:e})=>"translateX(-".concat(e*242,"px)")),DE,jw=oo.div(DE||(DE=I(["\n min-width: 226px;\n"]))),PE,ME=oo.button(PE||(PE=I(["\n position: absolute;\n top: 65px;\n transform: translateY(-50%);\n z-index: 1;\n background: var(--lns-color-offWhite);\n border-radius: 50%;\n border: 0;\n width: 32px;\n height: 32px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0px 3.38px 10.02px 0px rgba(0, 0, 0, 0.05);\n"]))),RE,Vw=oo(ME)(RE||(RE=I(["\n left: 12px;\n"]))),_E,Hw=oo(ME)(_E||(_E=I(["\n right: 12px;\n"]))),wE=({children:e,onScrollClick:t})=>{let[o,r]=kw(0),n=()=>{let a=Math.max(o-1,0);r(a),t("prev",o,a)},i=()=>{let a=Math.min(o+1,e.length-1);r(a),t("next",o,a)},s=e.length-1;return Yt.createElement(Fw,null,o!==0&&Yt.createElement(Vw,{onClick:n},Yt.createElement(bE,{icon:Yt.createElement(Uw,null),size:2})),Yt.createElement(Ww,null,Yt.createElement(Kw,{index:o},e.map((a,c)=>Yt.createElement(jw,{key:c},a)))),o!==s&&Yt.createElement(Hw,{onClick:i},Yt.createElement(bE,{icon:Yt.createElement(Bw,null),size:2})))};import Jt,{useState as Gw}from"react";import Or from"@emotion/styled";import{Link as zw,Loader as $w}from"@loomhq/lens";import{SvgClock as Xw}from"@loomhq/lens/icons/clock";var xE,Yw=Or.div(xE||(xE=I(["\n border-radius: 16px;\n background: var(--lns-color-offWhite);\n width: 226px;\n min-height: 234px;\n overflow: hidden;\n"]))),LE,Jw=Or.div(LE||(LE=I(["\n width: 100%;\n height: 148px;\n position: relative;\n"]))),NE,Qw=Or.iframe(NE||(NE=I(["\n width: 100%;\n height: 148px;\n border: 0;\n ","\n"])),({isLoading:e})=>e?"\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n ":""),kE,Zw=Or.div(kE||(kE=I(["\n width: 100%;\n height: 148px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--lns-color-grey2);\n color: #888;\n font-size: 16px;\n"]))),UE,qw=Or.div(UE||(UE=I(["\n padding: 12px 16px;\n min-height: 86px;\n width: 100%;\n"]))),BE,ex=Or.div(BE||(BE=I(["\n min-height: 42px;\n"]))),FE,tx=Or(zw)(FE||(FE=I(["\n color: var(--lns-color-grey8);\n text-decoration: none;\n font-size: var(--lns-fontSize-medium);\n line-height: var(--lns-lineHeight-body-md);\n font-weight: var(--lns-fontWeight-bold);\n"]))),WE,rx=Or.div(WE||(WE=I(["\n color: var(--lns-color-grey5);\n padding-top: 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n\n > span {\n height: 16px;\n width: 16px;\n > svg {\n height: 16px;\n width: 16px;\n }\n }\n"]))),KE=({id:e,duration:t,name:o,shareId:r,onClick:n})=>{let[i,s]=Gw(!0);return Jt.createElement(Yw,null,Jt.createElement(Jw,null,i&&Jt.createElement(Zw,null,Jt.createElement($w,null)),Jt.createElement(Qw,{src:"https://www.loom.com/embed/".concat(e,"?sid=").concat(r,"&hide_title=true&hide_speed=true&hideEmbedTopBar=true&hide_share=true"),isLoading:i,onLoad:()=>s(!1),title:"Loom video% - ".concat(o),allowFullScreen:!0})),Jt.createElement(qw,null,Jt.createElement(ex,null,Jt.createElement(tx,{href:"https://loom.com/share/".concat(e,"?sid=").concat(r),onClick:()=>n(o)},o)),Jt.createElement(rx,null,Jt.createElement(Xw,null)," ",t)))};import{useCallback as ox,useState as nx,useMemo as ix}from"react";var W={asyncBrainstorming:{id:"5c7084dce13b4bbc882a3127461ea1d3",shareId:"8a99c731-768e-40d5-86d8-2ebf70e9931f",name:"Loom Use Case: Async Brainstorming with FigJam",duration:"2 mins"},bugReporting:{id:"ae496101aae14583980cd6eab62360dd",shareId:"e1c2a7b0-7e5e-4e2e-8b3d-2f5b7e8c9a1f",name:"Loom Use Case: QA / Reporting Bugs",duration:"1 min"},closeACandidate:{id:"ad665143bd394d808e4c34e6f5ddf7b9",shareId:"eaf6e7f2-052a-41e3-80da-97a293592e4f",name:"Loom Use Case - How to Close A Potential Candidate",duration:"2 mins"},codeReview:{id:"73071f693b9c4c7b8a43a7b3cbe2d8ea",shareId:"f9a8b7c6-5d4e-4c3b-8a2f-1e6d7c8b9a0e",name:"Loom Use Case: Code Review and Demo",duration:"3 mins"},copyFeedback:{id:"0cb69ad3ea4f436bb29a9a25d783aa79",shareId:"c63488c1-86e2-4315-a896-0bc028337a56",name:"Loom Use Case: Copy Feedback",duration:"30 secs"},designFeedback:{id:"197d7ead107148cd9512ae6e4b6a085c",shareId:"b7d3f2c1-4a6e-4e8b-9c2d-3e7f8a6b5c4d",name:"Loom Use Case: Design Feedback",duration:"2 mins"},designHandoff:{id:"90aa7dd3d9684de9a8c780befeefcb66",shareId:"97253152-fb29-402a-af6b-3001be45b773",name:"Loom Use Case: Design to developer hand-off",duration:"2 mins"},designReview:{id:"33f9c5dc0f8348c6bdd32d63f6f00223",shareId:"917095a7-7939-4c4d-bd93-fe9a5776f6db",name:"Loom Use Case - Pull Request",duration:"2 mins"},designSystemCollaboration:{id:"b5f75a66df3f4e41bd422f61cb27e9e8",shareId:"d2313451-93ef-4bbe-9695-19409f2071ec",name:"Loom Use Case: Design System Collaboration",duration:"2 mins"},diagramWalkthrough:{id:"bfad5e8907854db1b61e66a46553c28c",shareId:"52bbcc15-f8a5-4f8f-b8e7-ce60ec1db410",name:"Loom Use Case: Diagram Walkthrough",duration:"2 min"},emailCopyFeedback:{id:"57e37a60bce44aa0a7e974e37d2172f1",shareId:"d4e5f6a7-8b9c-4d3e-8a7b-6c5d4e3f2a1b",name:"Loom Use Case: Copy Feedback",duration:"1 min"},explainEmailFlow:{id:"d3399f924d82453dbf28bbcd511f6f09",shareId:"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",name:"Loom Use Case - Explain an Email Campaign Flow",duration:"1 min"},explainInternalProcess:{id:"9e649b8c9bcf4b258401fa13d9334cb7",shareId:"65366c29-06d1-4ad5-abf4-5bc0c45e641d",name:"Loom Use Case: Explain an Internal Process",duration:"5 mins"},giveFeedbackOnLandingPages:{id:"dee0353bfc374e56852be2c1746ab6de",shareId:"58a8fe4e-b81c-465a-a795-25bf3d6f3929",name:"Loom Use Case: Give Feedback on Landing Pages",duration:"1 min"},infrastructureWalkthrough:{id:"5834d994b3bb4eb991852ce11e65c933",shareId:"70571ffa-b80e-42b1-a4db-cd3474ce7695",name:"Loom Use Case: Infrastructure Walkthrough",duration:"1 min"},internalComms:{id:"d356cb172656442b8b17d5a2213eea83",shareId:"6ed9e76a-6b50-4a07-8eee-67bbed247f5f",name:"Loom Use Case: Internal Comms",duration:"4 mins"},kickOff:{id:"f3a4cf99f017400e9e1085c8549de8b2",shareId:"80e407c8-cdc5-4007-9499-89ca96daec05",name:"Loom Use Case: Kickoff a Company Initiative",duration:"2 mins"},launchingAWebinar:{id:"870117094ef54f0a9476134843c5db2d",shareId:"2982338f-98d5-4572-b18e-27cd22c1dba1",name:"Loom Use Case: Launching a webinar or workshop",duration:"2 mins"},loomxConfluence:{id:"4e3444ecb77247ecbb6e32ab86fcecc5",shareId:"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",name:"Loom and Confluence",duration:"1 min"},loomxJira:{id:"11610a864eb44129a6db16d6d72456e1",shareId:"c4d5e6f7-a8b9-4c0d-8e7f-6a5b4c3d2e1f",name:"Loom and Jira",duration:"1 min"},marketingCampaignReview:{id:"b45997e3ce6d4f69bd2c35ed55cae063",shareId:"89858d61-b82b-499c-af4f-39818614dea2",name:"Loom Use Case: Marketing Campaign Review",duration:"3 mins"},marketingOps:{id:"8aca745885c741f8830a431eefe7bdaa",shareId:"5431943a-2f9a-4f09-a2df-d193c13b9cf0",name:"3 Loom Use Cases for Marketing Ops",duration:"2 mins"},midweekStatusUpdate:{id:"cdca2f74fedc4a119df8219a8c86cd8c",shareId:"c3b2a1d0-9e8f-4d7c-8b6a-5e4f3d2c1b0a",name:"Loom Use Case - Send a Midweek Status Update",duration:"1 min"},productFeatureAnalysis:{id:"6691af1dc58b4cd6b0f074c435859fec",shareId:"85b0ddcb-c45d-4648-8567-39fc68fde08c",name:"Loom Use Case: Walking through a product/feature analysis",duration:"1 min"},productKickOff:{id:"b6a0cc53d9a8443d842170895839543e",shareId:"94711b9b-da3d-4bb3-821b-01d9300c7d4a",name:"Loom Use Case: Product Kickoff",duration:"1 min"},productRoadmap:{id:"fc8cee3a6f514d32a5bcb0cd1ef391ca",shareId:"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",name:"Loom Use Case: Product Roadmap Planning and Review",duration:"1 min"},prototypeWalkthrough:{id:"184bd186134943d5b58a72fd29242ddf",shareId:"b1817d4f-5ccc-4663-a45f-4123d99e3cdd",name:"Loom Use Case: Prototype Walkthrough",duration:"1 min"},replaceMeeting:{id:"9d9ea1f5a90c461595b7c4e0104327e9",shareId:"423165bc-3e9d-431d-8d5c-ff766d91d477",name:"Loom Use Case: Replace a meeting with an async update",duration:"1 min"},salesReachOuts:{id:"94b9a9dbe2304e408e34113bf7c94723",shareId:"e66be959-2033-4a1d-93c4-ea6f6d3b9467",name:"Loom Use Case: Sales reach outs and prospect nurturing",duration:"2 mins"},screenEngagementTips:{id:"002508e86fde4232bb8de474eb5c65c4",shareId:"8ff9dc14-c535-4e30-a1d1-0386eb09b661",name:"Screen and engagement tips",duration:"2 mins"},welcomingTeammates:{id:"19d8c96aa08a4619ba7f15b26df04a95",shareId:"d1f59d25-ffd6-464e-a790-cdc67784ea54",name:"Loom Use Case: Welcoming Teammates",duration:"1 mins"}},$l={commentEditor:"comment-editor",editorSpotlight:"editor-spotlight",editorToolbar:"editor-toolbar",globalCreateContentPopover:"globalCreateContentPopover",insertLink:"insert-link",jiraIssueViewLoomSectionActionsMenuAddButton:"jiraIssueView_loomSectionActionsMenuAddButton",jiraIssueViewQuickAdd:"jiraIssueView_quickAdd",jiraIssueViewQuickAddCrossflow:"jiraIssueView_quickAdd_crossflow",jsmIssueViewCustomerReplyCrossflow:"jsmIssueView_customerReply_crossflow",openOnLoom:"open-on-loom",pageHeader:"pageHeader",whiteboards:"whiteboards",contextualCreate:"spaceLevelContextualCreate"},jE=Object.values($l),Xl={confluence:"Confluence",jiraProductDiscovery:"JPD",jiraServiceManagement:"JSM",jiraSoftware:"JSW",jiraWorkManagement:"JWM"},VE=Object.values(Xl),Oe={customerService:"Customer Service",dataScience:"Data Science",design:"Design",finance:"Finance",humanResources:"Human Resources",itSupport:"IT Support",legal:"Legal",marketing:"Marketing",operations:"Operations",otherOrPersonal:"Other or Personal",productManagement:"Product Management",projectManagement:"Project Management",sales:"Sales",skip:"Skip",softwareDevelopment:"Software Development"},A7=Object.values(Oe),HE={bug:"Bug"};var Tt=e=>e[Math.floor(Math.random()*e.length)],GE=(e,t)=>{if(e===$l.commentEditor)return[W.loomxConfluence,Tt([W.copyFeedback,W.emailCopyFeedback]),Tt([W.giveFeedbackOnLandingPages,W.designFeedback])];switch(t){case Oe.productManagement:case Oe.projectManagement:return[W.loomxConfluence,Tt([W.productKickOff,W.diagramWalkthrough,W.productFeatureAnalysis]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])];case Oe.softwareDevelopment:case Oe.itSupport:return[W.loomxConfluence,W.codeReview,W.infrastructureWalkthrough];case Oe.sales:return[W.loomxConfluence,W.salesReachOuts,W.closeACandidate];case Oe.design:return[W.loomxConfluence,W.designSystemCollaboration,W.asyncBrainstorming];case Oe.marketing:return[W.loomxConfluence,W.marketingOps,Tt([W.marketingCampaignReview,W.launchingAWebinar])];case Oe.operations:case Oe.dataScience:return[W.loomxConfluence,W.internalComms,W.productFeatureAnalysis];case Oe.finance:return[W.loomxConfluence,W.kickOff,W.explainInternalProcess];default:return[W.loomxConfluence,Tt([W.productFeatureAnalysis,W.diagramWalkthrough,W.welcomingTeammates]),Tt([W.productKickOff,W.productRoadmap,W.explainEmailFlow,W.prototypeWalkthrough])]}},zE=(e,t)=>{if(t===HE.bug)return[W.loomxJira,W.bugReporting,W.codeReview];switch(e){case Oe.productManagement:case Oe.projectManagement:return[W.loomxJira,Tt([W.productKickOff,W.diagramWalkthrough,W.productFeatureAnalysis]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])];case Oe.softwareDevelopment:case Oe.itSupport:return[W.loomxJira,W.codeReview,W.infrastructureWalkthrough];case Oe.sales:return[W.loomxJira,W.salesReachOuts,W.closeACandidate];case Oe.design:return[W.loomxJira,W.designSystemCollaboration,W.asyncBrainstorming];case Oe.marketing:return[W.loomxJira,W.marketingOps,Tt([W.marketingCampaignReview,W.launchingAWebinar])];case Oe.operations:case Oe.dataScience:return[W.loomxJira,W.internalComms,W.productFeatureAnalysis];case Oe.finance:return[W.loomxJira,W.kickOff,W.explainInternalProcess];default:return[W.loomxJira,Tt([W.codeReview,W.productFeatureAnalysis,W.diagramWalkthrough]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])]}};var $E="shouldSeeExamplesModal",XE=()=>{let[e,t]=nx(()=>{let r=window.localStorage.getItem($E);return!r||r==="true"}),o=ox(r=>{window.localStorage.setItem($E,r.toString()),t(r)},[]);return[e,o]},YE=(e,t,o,r)=>ix(()=>o===Xl.confluence?GE(t,e):zE(e,r),[e,t,o,r]);var JE,ux=Ls(tS)(JE||(JE=I(["\n box-shadow: none;\n text-align: center;\n color: var(--lns-color-blurpleStrong);\n padding-top: 10px;\n text-decoration: none;\n font-size: var(--lns-fontSize-medium);\n line-height: var(--lns-lineHeight-body-md);\n font-weight: var(--lns-fontWeight-bold);\n"]))),QE,px=Ls.div(QE||(QE=I(["\n background: #e6e9ff;\n margin-top: ",";\n padding-top: 25px;\n padding-bottom: 24px;\n border-radius: 32px;\n box-shadow:\n 0px 0px 20px rgba(0, 0, 0, 0.15),\n 0px 25px 30px rgba(0, 0, 0, 0.35);\n"])),({withBanner:e})=>e?"18px":"36px"),ZE,mx=Ls.div(ZE||(ZE=I(["\n padding-left: 24px;\n padding-right: 17px;\n display: flex;\n justify-content: space-between;\n padding-bottom: 15px;\n font-weight: 700;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: -0.1px;\n"]))),qE,fx=Ls.div(qE||(qE=I(["\n padding-top: 18px;\n display: flex;\n justify-content: center;\n"]))),gx=({onDismiss:e})=>{let t=eS(),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),{jiraIssueType:n,teamType:i}=P(A.selectSdkExperimentalFeatures)||{},s=YE(i,r,o,n),a=Bn(),c=ax(()=>({jobFunction:i,jiraIssueType:n,exampleVideos:s.map(l=>l.name)}),[i,s,n]);sx(()=>{t(_.trackAnalytics({event:fc,properties:c}))},[t,s,r,o,c]);let u=()=>t(_.trackAnalytics({event:hc,properties:c})),m=()=>{t(_.trackAnalytics({event:gc,properties:c})),e()},p=(l,f,h)=>t(_.trackAnalytics({event:Ec,properties:ne(x({},c),{currentExampleVideo:c.exampleVideos[f],nextExampleVideo:c.exampleVideos[h],direction:l})})),d=l=>t(_.trackAnalytics({event:vc,properties:{jobFunction:i,currentExampleVideo:l}}));return Ct.createElement(px,{withBanner:a},Ct.createElement(mx,null,Ct.createElement("span",null,"Inspiration"),Ct.createElement(tS,{href:"https://loom.com/",onClick:u},Ct.createElement(dx,{icon:Ct.createElement(lx,null),size:"3",color:"grey8"}))),Ct.createElement(wE,{onScrollClick:p},s.map(l=>Ct.createElement(KE,{id:l.id,shareId:l.shareId,duration:l.duration,name:l.name,key:l.id,onClick:d}))),Ct.createElement(fx,null,Ct.createElement(ux,{onClick:m},"Dismiss")))},rS=()=>{let[e,t]=XE(),o=eS();return e?Ct.createElement(cx,{onError:()=>{o(_.trackAnalytics({event:Sc}))},FallbackComponent:()=>null},Ct.createElement(gx,{onDismiss:()=>{t(!1)}})):null};var yx={[ue.RecordingPage.Settings]:335-vs,[ue.RecordingPage.PreRecord]:335-vs,[ue.RecordingPage.SignUp]:365},aS,Tx=CS(aS||(aS=I(["\n 0% {\n right: -","px;\n }\n 100% {\n right: ","px;\n }\n"])),450,25),cS,Cx=CS(cS||(cS=I(["\n 0% {\n right: ","px;\n }\n 100% {\n display: none;\n right: -","px;\n }\n"])),25,450),lS,bx=Qt(lS||(lS=I(["\n animation: "," ","ms\n "," forwards;\n transition:\n width ","ms ",",\n height ","ms ",";\n"])),Tx,500,sl,333,al,333,al),dS,Ox=Qt(dS||(dS=I(["\n animation: "," ","ms\n "," forwards;\n"])),Cx,500,sl),uS,pS,mS,fS,gS,hS,ES,SS,Ix={[ue.RecordingPage.PreRecord]:Qt(uS||(uS=I(["\n padding-bottom: 20px;\n "]))),[ue.RecordingPage.StoragePermissions]:Qt(pS||(pS=I(["\n width: 360px;\n height: 457px;\n "]))),[ue.RecordingPage.SignUp]:Qt(mS||(mS=I(["\n height: ","px;\n padding-bottom: 20px;\n "])),455),[ue.RecordingPage.VideoLimit]:Qt(fS||(fS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.NetworkError]:Qt(gS||(gS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.GenericError]:Qt(hS||(hS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.ScreenSystemPermissions]:Qt(ES||(ES=I(["\n height: ","px;\n width: ","px;\n "])),460,400),[ue.RecordingPage.AudioCameraSystemPermissions]:Qt(SS||(SS=I(["\n height: ","px;\n width: ","px;\n "])),460,400)},vS,Ax=vx.div(vS||(vS=I(["\n background-color: var(--lns-color-background);\n border-radius: ",";\n box-shadow: ",";\n height: ","px;\n min-height: ","px;\n max-height: ","px;\n overflow: ",";\n position: absolute;\n padding-top: 16px;\n top: ","px;\n width: ","px;\n\n ","\n\n ","\n ","\n\n ","\n"])),e=>e.page!==ue.RecordingPage.SignUp&&e.page!==ue.RecordingPage.StoragePermissions&&!e.isDownloadDesktopBannerShowing&&!e.isUnsupportedBrowserBannerShowing&&(e.isAlertMessageShowing||e.isOnboardingBannerShowing||e.isRecorderEducationBannerShowing)?"32px 32px 0px 0px":"32px",e=>e.withDarkMode?Po:Do,335,200,560,e=>e.isPageTransition?"hidden":"visible",25,280,bx,e=>Ix[e.page],e=>e.calculatedHeight&&"height: ".concat(e.calculatedHeight+hg({page:e.page,isVideoDurationLimitShowing:e.isVideoDurationLimitShowing||!1,isConsentStatementShowing:e.isConsentStatementShowing||!1}),"px"),e=>e.slideOut&&Ox),sS={[ue.RecordingPage.VideoLimit]:yi,[ue.RecordingPage.NetworkError]:Ti,[ue.RecordingPage.GenericError]:Ci,[ue.RecordingPage.SignUp]:bi,[ue.RecordingPage.ScreenSystemPermissions]:Oi,[ue.RecordingPage.AudioCameraSystemPermissions]:Ii,[ue.RecordingPage.PreRecord]:vi},Dx=()=>{let e=gn(),t=Mm(),o=e&&t,r=Bn();return o?Be.createElement(Hg,null):r?Be.createElement(SE,null):null},Px=({currentPage:e,isLoomExamplesInSdkModalEnabled:t})=>{let o=bS(),r=P(A.selectSdkProductName),n=P(A.selectSdkEntryPointName),i=P(A.selectSdkMode);switch(Ql(()=>{sS[e]!==void 0&&o(_.trackAnalytics({event:sS[e]||"",properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},[o,e,r,n]),e){case ue.RecordingPage.VideoLimit:return Be.createElement(Kg,null);case ue.RecordingPage.NetworkError:return Be.createElement(jg,null);case ue.RecordingPage.GenericError:return Be.createElement(Wg,null);case ue.RecordingPage.StoragePermissions:return Be.createElement(CE,{mode:i});case ue.RecordingPage.SignUp:return Be.createElement(yE,null);case ue.RecordingPage.ScreenSystemPermissions:return Be.createElement(kl,{modalType:"screen"});case ue.RecordingPage.AudioCameraSystemPermissions:return Be.createElement(kl,{modalType:"audioOrCam"});default:return Be.createElement(Be.Fragment,null,Be.createElement(dE,null),Be.createElement(gg,null),Be.createElement(Og,null),Be.createElement(Dx,null),t&&Be.createElement(rS,null))}},Rx=({page:e})=>{var C,T;let[t,o]=iS(e),r=bS(),n=!!P(A.selectVideoDurationLimit),i=!P(A.selectIsUserLoggedIn),[s,a]=iS(!1),c=P(A.selectSdkEntryPointName),u=e!==t,{isAlertMessageShowing:m}=Er(),p=gn(),d=ht(),l=P(A.selectSdkProductName),f=P(A.selectFeatureFlags),h=P(wt),v=(T=(C=f.flagResults)==null?void 0:C.loom_examples_in_sdk_experiment)==null?void 0:T.result,S=Bn(),y=P(A.selectGenericErrorMessage),E=y===st.DownloadDesktopApp,b=y===st.UnsupportedBrowser;Ql(()=>{c&&jE.includes(c)&&l&&VE.includes(l)&&!d&&!i?(a(!0),r(_.getIndividualExperimentValue({experimentName:"loom_examples_in_sdk_experiment"}))):a(!1)},[c,d,i,l,a,r]),ig(),Ql(()=>{e!==t&&setTimeout(()=>o(e),333)},[e,t]);let g=s&&v=="Variation";return Be.createElement(ir,{visible:d&&h==="checkYourSettings"},Be.createElement(Ax,{isPageTransition:u,page:e,slideOut:!1,isAlertMessageShowing:m,isOnboardingBannerShowing:p,isRecorderEducationBannerShowing:S,isDownloadDesktopBannerShowing:E,isUnsupportedBrowserBannerShowing:b,canSeeTutorial:!1,withDarkMode:!1,isVideoDurationLimitShowing:n,isConsentStatementShowing:i,calculatedHeight:yx[e]},Be.createElement(Px,{currentPage:e,isLoomExamplesInSdkModalEnabled:g})))},OS=Rx;var wx="preRecordingMenu",IS,xx=_x.div(IS||(IS=I(["\n pointer-events: all;\n z-index: ",";\n\n position: absolute;\n right: 0;\n top: 0;\n\n transition:\n right 1s ",",\n height 0.2s ease-in-out; // http://easings.net/#easeOutExpo\n width: 400px;\n top: var(--lns-space-large);\n right: ",";\n"])),2147483646,Fm,e=>e.isOpen?"var(--lns-space-large)":"-400px");function Lx(){let{appStage:e}=P(({recorder:r})=>({appStage:r.appStage})),t=te(),o=P(A.selectPreRecordPage);return wm(),Mx("esc",r=>{r.preventDefault(),r.stopPropagation(),e===Fn.RecordingStage.PreRecording&&t(R.updateRecordingStage({appStage:Fn.RecordingStage.Closed}))},{keyup:!0,enabled:e===Fn.RecordingStage.PreRecording}),no.createElement(no.Fragment,null,no.createElement(xx,{id:wx,isOpen:e===Fn.RecordingStage.PreRecording},no.createElement(qf,null),no.createElement(Qf,null),no.createElement(Zf,null),no.createElement(OS,{page:o})))}var AS=Lx;var jy=Y(J());import fd from"@emotion/styled";import Yo,{useEffect as dU}from"react";import{useDispatch as uU,useSelector as By}from"react-redux";import{css as kx}from"@emotion/react";import ks from"@emotion/styled";import Wn from"react";import Nx from"react";var DS=()=>Nx.createElement(vt,{step:"shareYourVideo"});var PS,Ux=ks.div(PS||(PS=I(["\n position: relative;\n background-color: white;\n display: block;\n width: 100%;\n ","\n"])),e=>"pointer-events: ".concat(e.isAiDropdownOpen?"none":"all",";")),RS,Bx=ks.div(RS||(RS=I(["\n margin: 0px 24px;\n"]))),_S,Fx=ks.div(_S||(_S=I(["\n height: 0;\n width: 100%;\n padding-bottom: 56.25%;\n position: relative;\n"]))),MS,Wx=kx(MS||(MS=I(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-large);\n"]))),wS,Kx=ks.iframe(wS||(wS=I(["\n ",";\n"])),Wx),xS=()=>{let{loomVideo:e,applicationConfig:t,aaid:o}=P(({previewRecording:{loomVideo:s,confirm:a},settings:{applicationConfig:c,aaid:u}})=>({loomVideo:s,confirm:a,applicationConfig:c,aaid:u})),r=P(A.selectIsAiDropdownOpen),n=["hide_speed=true","hide_owner=true","hide_share=true","show_powered_by_loom=".concat(t.removeLoomBranding),"simplify_player=true",...o.length>0?["aaid=".concat(o)]:[]],i="".concat(e==null?void 0:e.embedUrl,"?").concat(n.join("&"));return Wn.createElement(Ux,{className:"theme-dark",isAiDropdownOpen:r},Wn.createElement(Bx,{"aria-label":e==null?void 0:e.title},Wn.createElement(Fx,null,Wn.createElement(Kx,{"aria-label":"Loom recording",src:i,frameBorder:"0"}),Wn.createElement(DS,null))))};var py=Y(J());import Le from"react";import{useHover as Sk}from"react-laag";import{shallowEqual as dy,useDispatch as vk}from"react-redux";import{Arrange as uy,IconButton as my,Spacer as yk,TooltipBox as Tk}from"@loomhq/lens";import{SvgClose as Ck}from"@loomhq/lens/icons/close";import{SvgReplay as bk}from"@loomhq/lens/icons/replay";import{SvgScissors as Ok}from"@loomhq/lens/icons/scissors";import{SvgTrash as Ik}from"@loomhq/lens/icons/trash";var io=async(e,t)=>{try{await navigator.clipboard.writeText(e)}catch(o){t(_.trackAnalytics({event:Pi,properties:{error:o.toString()}})),jx(e,t)}},jx=(e,t)=>{let o=document.createElement("textarea");o.value=e,o.style.top="0",o.style.left="0",o.style.position="fixed",document.body.appendChild(o),o.focus(),o.select();try{if(!document.execCommand("Copy"))throw new Error("document.execCommand failed")}catch(r){t(_.trackAnalytics({event:Ri,properties:{error:r.toString()}}))}o.remove()};import{keyframes as bL}from"@emotion/react";import Kn from"@emotion/styled";import $e,{useCallback as OL}from"react";import{useDispatch as cv,useSelector as Go}from"react-redux";import{Arrange as ev,IconButton as IL,Logo as AL,Text as DL,TextButton as PL}from"@loomhq/lens";import{SvgChevronDown as RL}from"@loomhq/lens/icons/chevron-down";import Ot from"react";import{useDispatch as Zx,useSelector as ql}from"react-redux";import{Arrange as qx,Icon as ed}from"@loomhq/lens";import{SvgAutoChapters as eL}from"@loomhq/lens/icons/auto-chapters";import{SvgAutoSummaries as tL}from"@loomhq/lens/icons/auto-summaries";import{SvgQuickEdit as rL}from"@loomhq/lens/icons/quick-edit";import VS from"@emotion/styled";import bt from"react";import{useHover as Vx}from"react-laag";import{Arrange as Hx,Spacer as Gx,Icon as FS,Text as WS,TextButton as zx}from"@loomhq/lens";import{SvgChevronRight as $x}from"@loomhq/lens/icons/chevron-right";import kS from"@emotion/styled";var LS,US=kS.div(LS||(LS=I(["\n position: absolute;\n width: 36px;\n height: 36px;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background: linear-gradient(to right, rgba(80, 108, 215, 1), rgba(156, 155, 230, 1), rgba(214, 83, 187, 1)) border-box;\n -webkit-mask:\n linear-gradient(#fff 0 0) padding-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n ":"\n border-color: var(--lns-color-border);\n "),NS,BS=kS.div(NS||(NS=I(["\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background-color: #F5F5FF;\n ":"\n background-color: transparent;\n ");var Us=({text:e,icon:t,onClick:o,description:r,highlightIcon:n})=>{let i=()=>{o&&o()},s={width:"100%",height:"100%",padding:0},[a,c]=Vx();return bt.createElement(Xx,x({},c),bt.createElement(zx,{style:s,onClick:i},bt.createElement(Yx,null,bt.createElement(Hx,{columns:["auto","1fr","auto"],justifyContent:"stretch",width:"100%"},bt.createElement(BS,{highlightIcon:n},bt.createElement(FS,{icon:t,size:2,color:n?"body":"bodyDimmed",style:{position:"absolute"}}),bt.createElement(US,{className:"icon-circle",highlightIcon:n})),bt.createElement(Gx,{left:"12px"},bt.createElement(WS,{alignment:"left",color:n?void 0:"bodyDimmed"},e),r&&bt.createElement(WS,{alignment:"left",color:"bodyDimmed",size:"body-sm"},r)),a&&bt.createElement(FS,{icon:bt.createElement($x,null),size:2})))))},KS,Xx=VS.div(KS||(KS=I(["\n & button:hover {\n background: none;\n outline: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n }\n"]))),jS,Yx=VS.div(jS||(jS=I(["\n width: 100%;\n padding: 8px;\n"])));var Jx={Title:{aiGenerated:"Title added",noAi:"Add a title",noAccess:"Upgrade to add a title"},Summary:{aiGenerated:"Summary added",noAi:"Add a summary",noAccess:"Upgrade to add a summary"},Chapters:{aiGenerated:"Chapters added",noAi:"Add chapters",noAccess:"Upgrade to add chapters"}},Qx={Title:{desc:"Drive engagement with better titles"},Summary:{desc:"Give a preview of your video"},Chapters:{desc:"Time-stamps add organization"}},Bs=({featureName:e,aiGenerated:t})=>{let o=Jx[e],r=t?o.aiGenerated:o.noAi;return r!=null?r:""},Fs=({featureName:e})=>{let t=Qx[e].desc;return t!=null?t:""};var HS=()=>{let e=Zx(),t=()=>{e(R.updateIsInTitleEditMode(!0)),e(R.updateIsAiDropdownOpen(!1))},o=()=>{e(R.updateIsInSummaryEditMode(!0))},r=()=>{e(R.updateIsInChaptersEditMode(!0))},i=ql(A.selectAutoTitleStatus)===Je.Auto,a=ql(A.selectAutoDescriptionStatus)===Je.Auto,u=ql(A.selectAutoChaptersStatus)===rr.Success;return Ot.createElement(qx,{autoFlow:"row",justifyContent:"stretch",gap:"small"},Ot.createElement(Ot.Fragment,null,Ot.createElement(Us,{highlightIcon:i,text:Bs({featureName:"Title",aiGenerated:i}),icon:Ot.createElement(ed,{color:i?"body":"bodyDimmed",icon:Ot.createElement(rL,null),size:2}),onClick:t,description:Fs({featureName:"Title"})}),Ot.createElement(Us,{highlightIcon:a,text:Bs({featureName:"Summary",aiGenerated:a}),icon:Ot.createElement(ed,{color:a?"body":"bodyDimmed",icon:Ot.createElement(tL,null),size:2}),onClick:o,description:Fs({featureName:"Summary"})}),Ot.createElement(Us,{highlightIcon:u,text:Bs({featureName:"Chapters",aiGenerated:u}),icon:Ot.createElement(ed,{color:u?"body":"#86809A",icon:Ot.createElement(eL,null),size:2}),onClick:r,description:Fs({featureName:"Chapters"})})))};var rd=Y(J());import we,{useEffect as SL,useState as Ks}from"react";import{useDispatch as vL,useSelector as Ir}from"react-redux";import{Arrange as js,Button as JS,IconButton as QS,Spacer as Vs,Text as ZS,Textarea as yL}from"@loomhq/lens";import{SvgChevronLeft as TL}from"@loomhq/lens/icons/chevron-left";import{SvgInfo as CL}from"@loomhq/lens/icons/info";import oL from"@emotion/styled";import Ws from"react";import{Arrange as nL,Link as iL,Text as sL}from"@loomhq/lens";var aL="https://support.loom.com/hc/en-us/articles/11331500832157",GS,cL=oL.div(GS||(GS=I(["\n padding: var(--lns-space-medium);\n background: var(--lns-color-background);\n border-radius: var(--lns-radius-large);\n border: 1px solid var(--lns-color-border);\n box-shadow: var(--lns-shadow-small);\n width: 322px;\n height: 161px;\n top: 95px;\n left: 35px;\n position: absolute;\n"]))),zS=()=>Ws.createElement(cL,null,Ws.createElement(nL,{gap:"small",autoFlow:"row"},Ws.createElement(sL,{color:"bodyDimmed"},"You can add chapters to any Loom by adding a list of ascending timestamps and chapter titles. Chapters must start at 00:00 and be at least 5 seconds long."),Ws.createElement(iL,{href:aL,target:"_blank"},"\u{1F517} Learn more")));var lL="Your chapters are out of order.",dL="You are missing a chapter starting at 0:00.",uL="You need at least two chapters.",pL="Please have at most 15 chapters.",$S="Chapters must be at least 5 seconds long.",mL="Timestamps must be within the video duration.",fL=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d)$/),YS=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d) /),XS=e=>{let t=e.length===0,o=fL.test(e);if(t||!o)return null;let r=e.split(":").reverse(),[n,i,s]=r,a=s?Number(s)*60*60:0,c=Number(i)*60;return a+c+Number(n)},gL=["0:00","00:00","0:00:00","00:00:00"],td=(e,t)=>{var s;if(e===null||e.length===0||!t)return{chapters:null,error:null};let o=e.split("\n"),r=[];for(let a=0;a<o.length;a++){let c=o[a],u=r[r.length-1];if(!c.match(YS))continue;let{timestamp:m="",chapter:p=""}=(s=EL(c,t))!=null?s:{};if(u==null&&!gL.includes(m))return{chapters:null,error:dL};if(!m||!p)return{chapters:null,error:null};if(u){let d=XS(u.timestamp),l=XS(m);if(l===null||d===null)return{chapters:null,error:null};if(t&&l>t)return{chapters:null,error:mL};if(l<d)return{chapters:null,error:lL};if(l-d<5)return{chapters:null,error:$S};let f=a===o.length-1,h=t-l;if(f&&h<5)return{chapters:null,error:$S}}r.push({timestamp:m,chapter:p})}let n=r.length;return n<2?{chapters:null,error:uL}:n>15?{chapters:null,error:pL}:{chapters:r.map(a=>"".concat(a.timestamp," ").concat(a.chapter)).join("\n"),error:null}},hL=(e,t)=>{let o=e.replace(/:/g,"");o=o.replace(/^0+/,"");let r=3;return t&&t>=36e3?r=6:t&&t>=3600?r=5:t&&t>=600&&(r=4),o=o.padStart(r,"0"),o.split("").reverse().join("").replace(/(\d{2})(?=\d)/g,"$1:").split("").reverse().join("")},EL=(e,t)=>{let o=e.match(YS);if(o){let r=o[0].trim(),n=hL(r,t),i=r.length,s=e.substring(i+1);return{timestamp:n,chapter:s}}return null};var qS=()=>{let e=vL(),t=Ir(A.selectLoomVideoId),o=Ir(A.isInSummaryEditMode),r=Ir(A.isInChaptersEditMode),i=Ir(A.selectAutoDescriptionStatus)===Je.Auto,s=Ir(A.selectDescription),c=Ir(A.selectAutoChaptersStatus)===rr.Success,u=Ir(A.selectChapters),m=Ir(A.selectDuration),[p,d]=Ks(""),[l,f]=Ks(s),[h,v]=Ks(u),[S,y]=Ks(!1),E=D=>{let U=D.target.value;if(o)f(U);else{let w=td(U,m);d(w==null?void 0:w.error),v(U)}},b=()=>{e(R.updateIsInChaptersEditMode(!1)),e(R.updateIsInSummaryEditMode(!1)),e(R.updateIsAiDropdownOpen(!0))};SL(()=>{o&&i&&s?f(s):r&&c&&u&&v(u)},[s,u,o,r,i,c]);let g=()=>o?!i:r?!c:!0,C=()=>o?"Add a summary...":"0:00 Chapter 1\n0:00 Chapter 2\n0:00 Chapter 3\n",T=()=>{t&&(o?(e(R.updateSavedToastContent(rd.ToastContent.Summary)),e(_.updateVideoDescription({id:t,description:l||""})),e(R.updateIsInSummaryEditMode(!1))):(e(R.updateSavedToastContent(rd.ToastContent.Chapters)),e(_.updateVideoChapters({id:t,chapters:h||""})),e(R.updateIsInChaptersEditMode(!1))))},O=()=>{var U;if(o)return;let D=(U=td(h,m||0))==null?void 0:U.error;if(D!=null)return D};return we.createElement(js,{autoFlow:"row",justifyContent:"stretch"},we.createElement(js,{autoFlow:"column",gap:"small"},we.createElement(QS,{altText:"Back",onClick:b,icon:we.createElement(TL,null)}),we.createElement(ZS,{size:"body-lg",fontWeight:"bold"},"Edit ","".concat(o?"summary":"chapters"))),we.createElement(Vs,{bottom:"10px"}),we.createElement(js,{autoFlow:"column"},we.createElement(ZS,{size:"body-md"},o?"Summary":"Chapters"),r?we.createElement(we.Fragment,null,we.createElement(QS,{altText:"More information",iconColor:"bodyDimmed",icon:we.createElement(CL,null),onClick:()=>y(!S),size:"small"}),S?we.createElement(zS,null):null):null),we.createElement(Vs,{bottom:"18px"}),we.createElement(yL,{resize:"none",rows:8,placeholder:C(),autoFocus:g(),error:O(),value:o?l:h,onChange:E}),p?we.createElement(Vs,{bottom:"xsmall"}):we.createElement(Vs,{bottom:"medium"}),we.createElement(js,{autoFlow:"column",gap:"small",justifyContent:"end"},we.createElement(JS,{onClick:b},"Cancel"),we.createElement(JS,{variant:"primary",onClick:T,disabled:r&&p!==null},"Save")))};var _L="linear-gradient(\n 59.92deg,\n #9f92ec -24.37%,\n #f9f9ff 34.05%,\n #f9f9ff 65.15%,\n #f29ed5 90.96%\n)",rv,ML=bL(rv||(rv=I(["\n 0% {\n transform: rotateY(0deg);\n }\n 60% {\n transform: rotateY(360deg);\n }\n 100% {\n transform: rotateY(360deg); // do nothing\n }\n"]))),ov,wL=Kn.div(ov||(ov=I(["\n animation: "," 2s linear 2;\n"])),ML),tv=()=>$e.createElement(AL,{variant:"symbol",maxWidth:2,brand:"ai",customId:"aiSdk"}),xL=()=>{let e=Go(A.selectIsAiDropdownOpen),t=Go(A.isInSummaryEditMode),o=Go(A.isInChaptersEditMode),r=!!(t||o),n=cv(),i=OL(()=>{n(R.updateIsAiDropdownOpen(!1)),n(R.updateIsInTitleEditMode(!1)),n(R.updateIsInSummaryEditMode(!1)),n(R.updateIsInChaptersEditMode(!1))},[n]),s=vr(i);return e?$e.createElement(LL,{id:"aiDropdownContainer",showEditModal:r,ref:s},r?$e.createElement(qS,null):$e.createElement(HS,null)):null},lv=({onClick:e})=>{let t=cv(),o=Go(A.selectIsAiDropdownOpen),r=Go(A.selectAiGenerated),n=Go(A.selectShouldAnimateLogo);return $e.createElement(ev,{autoFlow:"row"},$e.createElement(kL,{className:"ai-edit-button-wrapper",onClick:()=>t(R.updateIsAiDropdownOpen(!o))},$e.createElement(BL,null),$e.createElement(PL,{onClick:e},$e.createElement(NL,{aiApplied:r},$e.createElement(ev,{columns:[r?"1fr":"1.25fr",r?"4fr":"3fr","auto"],width:"100%",justifyItems:"center",gap:"xsmall"},n?$e.createElement(wL,null,$e.createElement(tv,null)):$e.createElement(tv,null),$e.createElement(DL,{fontWeight:"book",color:"body",style:{width:"fit-content"}},r?"Loom AI applied":"Loom AI"),$e.createElement(IL,{color:"body",size:"small",altText:"dropdownButton",icon:$e.createElement(RL,null),onClick:()=>t(R.updateIsAiDropdownOpen(!o))}))))),$e.createElement(xL,null))},nv,LL=Kn.div(nv||(nv=I(["\n padding: var(--lns-space-medium);\n\n border: 1px solid #e7e7e7;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background-color: white;\n margin-top: var(--lns-space-xsmall);\n overflow: hidden;\n right: 16px;\n top: 56px;\n\n ","\n ","\n\n transition: width 200ms ease, height 200ms cubic-bezier(0.1, 0.5, 0.1, 1);\n"])),e=>"height: ".concat(e.showEditModal?367:220,"px;"),e=>"width: ".concat(e.showEditModal?372:325,"px;")),iv,NL=Kn.div(iv||(iv=I(["\n width: 100%;\n ","\n"])),e=>"padding: 5px ".concat(e.aiApplied?10:8,"px 5px 10px;")),sv,kL=Kn.div(sv||(sv=I(["\n margin-right: 8px;\n width: max-content;\n position: relative;\n border: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.05);\n\n & button {\n background: none;\n width: 100%;\n height: 100%;\n padding: 0;\n isolation: isolate;\n }\n\n & button:hover {\n background: none;\n }\n"]))),UL="0.3s",av,BL=Kn.div(av||(av=I(["\n pointer-events: none;\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n transition: all "," ease-in-out;\n border-radius: var(--lns-radius-xlarge);\n mix-blend-mode: multiply;\n\n opacity: 0.5;\n .ai-edit-button-wrapper:hover & {\n opacity: 1;\n }\n\n background: ",";\n"])),UL,_L);import{keyframes as xN}from"@emotion/react";import jn from"@emotion/styled";import Fe,{useCallback as LN}from"react";import{useDispatch as Yv,useSelector as Dr}from"react-redux";import{Arrange as Kv,IconButton as NN,Logo as kN,Text as UN,TextButton as BN}from"@loomhq/lens";import{SvgChevronDown as FN}from"@loomhq/lens/icons/chevron-down";import Ys from"@emotion/styled";import he from"react";import{useDispatch as XL,useSelector as $s}from"react-redux";import{Arrange as od,Icon as Xs,Logo as YL,Pill as JL,Spacer as QL,Text as ZL}from"@loomhq/lens";import{SvgAutoChapters as qL}from"@loomhq/lens/icons/auto-chapters";import{SvgAutoSummaries as eN}from"@loomhq/lens/icons/auto-summaries";import{SvgQuickEdit as tN}from"@loomhq/lens/icons/quick-edit";import{SvgScissors as rN}from"@loomhq/lens/icons/scissors";import vv from"@emotion/styled";import It from"react";import{useHover as FL}from"react-laag";import{Arrange as WL,Spacer as KL,Icon as gv,Text as hv,TextButton as jL}from"@loomhq/lens";import{SvgChevronRight as VL}from"@loomhq/lens/icons/chevron-right";import pv from"@emotion/styled";var dv,mv=pv.div(dv||(dv=I(["\n position: absolute;\n width: 36px;\n height: 36px;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background: linear-gradient(to right, rgba(80, 108, 215, 1), rgba(156, 155, 230, 1), rgba(214, 83, 187, 1)) border-box;\n -webkit-mask:\n linear-gradient(#fff 0 0) padding-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n ":"\n border-color: var(--lns-color-border);\n "),uv,fv=pv.div(uv||(uv=I(["\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n background-color: transparent;\n"])));var Hs=({text:e,icon:t,onClick:o,description:r,highlightIcon:n})=>{let i=()=>{o&&o()},s={width:"100%",height:"100%",padding:0},[a,c]=FL();return It.createElement(HL,x({},c),It.createElement(jL,{style:s,onClick:i},It.createElement(GL,null,It.createElement(WL,{columns:["auto","1fr","auto"],justifyContent:"stretch",width:"100%"},It.createElement(fv,null,It.createElement(gv,{icon:t,size:2,color:n?"primary":"bodyDimmed",style:{position:"absolute"}}),It.createElement(mv,{className:"icon-circle",highlightIcon:n})),It.createElement(KL,{left:"12px"},It.createElement(hv,{alignment:"left",color:n?void 0:"bodyDimmed"},e),r&&It.createElement(hv,{alignment:"left",color:"bodyDimmed",size:"body-sm"},r)),a&&It.createElement(gv,{icon:It.createElement(VL,null),size:2})))))},Ev,HL=vv.div(Ev||(Ev=I(["\n & button:hover {\n background: none;\n outline: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n }\n"]))),Sv,GL=vv.div(Sv||(Sv=I(["\n width: 100%;\n padding: 8px;\n"])));var zL={Title:{aiGenerated:"Title added",noAi:"Add a title",noAccess:"Upgrade to add a title"},Summary:{aiGenerated:"Summary added",noAi:"Add a summary",noAccess:"Upgrade to add a summary"},Chapters:{aiGenerated:"Chapters added",noAi:"Add chapters",noAccess:"Upgrade to add chapters"}},$L={Title:{desc:"Drive engagement with better titles"},Summary:{desc:"Give a preview of your video"},Chapters:{desc:"Time-stamps add organization"}},Gs=({featureName:e,aiGenerated:t})=>{let o=zL[e],r=t?o.aiGenerated:o.noAi;return r!=null?r:""},zs=({featureName:e})=>{let t=$L[e].desc;return t!=null?t:""};var Ov=e=>{let t=XL(),o=()=>{t(R.updateIsInTitleEditMode(!0)),t(R.updateIsAiDropdownOpen(!1))},r=()=>{t(R.updateIsInSummaryEditMode(!0))},n=()=>{t(R.updateIsInChaptersEditMode(!0))},s=$s(A.selectAutoTitleStatus)===Je.Auto,c=$s(A.selectAutoDescriptionStatus)===Je.Auto,m=$s(A.selectAutoChaptersStatus)===rr.Success,p=$s(d=>d.previewRecording.loomVideo);return he.createElement(he.Fragment,null,he.createElement(oN,null,e.isTrialing&&he.createElement(nN,null,he.createElement(od,{gap:"small",justifyItems:"end"},he.createElement(YL,{maxWidth:9,symbolColor:"primary",wordmarkColor:"body",brand:"ai"}),he.createElement(JL,{color:"white",backgroundColor:"blurpleStrong"},"Trial")),he.createElement(QL,{top:2})),he.createElement(od,{autoFlow:"row",justifyContent:"stretch",gap:"small"},he.createElement(he.Fragment,null,he.createElement(Hs,{highlightIcon:s,text:Gs({featureName:"Title",aiGenerated:s}),icon:he.createElement(Xs,{color:s?"body":"bodyDimmed",icon:he.createElement(tN,null),size:2}),onClick:o,description:zs({featureName:"Title"})}),he.createElement(Hs,{highlightIcon:c,text:Gs({featureName:"Summary",aiGenerated:c}),icon:he.createElement(Xs,{color:c?"body":"bodyDimmed",icon:he.createElement(eN,null),size:2}),onClick:r,description:zs({featureName:"Summary"})}),he.createElement(Hs,{highlightIcon:m,text:Gs({featureName:"Chapters",aiGenerated:m}),icon:he.createElement(Xs,{color:m?"body":"#86809A",icon:he.createElement(qL,null),size:2}),onClick:n,description:zs({featureName:"Chapters"})})))),p&&he.createElement(sN,{onClick:()=>window.open(p.sharedUrl)},he.createElement(od,{gap:"xsmall",justifyContent:"center"},he.createElement(Xs,{icon:he.createElement(rN,null),color:"blurple",size:"medium"}),he.createElement(iN,null,he.createElement(ZL,{fontWeight:"bold",size:"body-sm",color:"blurple"},"More AI editing on Loom")))))},yv,oN=Ys.div(yv||(yv=I(["\n padding: var(--lns-space-medium);\n"]))),Tv,nN=Ys.div(Tv||(Tv=I(["\n padding-left: var(--lns-space-small);\n"]))),Cv,iN=Ys.div(Cv||(Cv=I(["\n &:hover {\n text-decoration: underline;\n text-decoration-color: var(--lns-color-blurple);\n }\n"]))),bv,sN=Ys.button(bv||(bv=I(["\n width: 100%;\n height: 50px;\n border: none;\n background-color: var(--lns-color-highlight);\n color: var(--lns-color-blurpleText);\n border-radius: calc(4 * var(--lns-unit));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n padding: var(--lns-space-small);\n cursor: pointer;\n font-family: inherit;\n"])));var id=Y(J());import xe,{useEffect as CN,useState as Qs}from"react";import{useDispatch as bN,useSelector as Ar}from"react-redux";import{Arrange as Zs,Button as _v,IconButton as Mv,Spacer as qs,Text as wv,Textarea as ON}from"@loomhq/lens";import{SvgChevronLeft as IN}from"@loomhq/lens/icons/chevron-left";import{SvgInfo as AN}from"@loomhq/lens/icons/info";import aN from"@emotion/styled";import Js from"react";import{Arrange as cN,Link as lN,Text as dN}from"@loomhq/lens";var uN="https://support.loom.com/hc/en-us/articles/11331500832157",Iv,pN=aN.div(Iv||(Iv=I(["\n padding: var(--lns-space-medium);\n background: var(--lns-color-background);\n border-radius: var(--lns-radius-large);\n border: 1px solid var(--lns-color-border);\n box-shadow: var(--lns-shadow-small);\n width: 322px;\n height: 161px;\n top: 95px;\n left: 35px;\n position: absolute;\n"]))),Av=()=>Js.createElement(pN,null,Js.createElement(cN,{gap:"small",autoFlow:"row"},Js.createElement(dN,{color:"bodyDimmed"},"You can add chapters to any Loom by adding a list of ascending timestamps and chapter titles. Chapters must start at 00:00 and be at least 5 seconds long."),Js.createElement(lN,{href:uN,target:"_blank"},"\u{1F517} Learn more")));var mN="Your chapters are out of order.",fN="You are missing a chapter starting at 0:00.",gN="You need at least two chapters.",hN="Please have at most 15 chapters.",Dv="Chapters must be at least 5 seconds long.",EN="Timestamps must be within the video duration.",SN=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d)$/),Rv=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d) /),Pv=e=>{let t=e.length===0,o=SN.test(e);if(t||!o)return null;let r=e.split(":").reverse(),[n,i,s]=r,a=s?Number(s)*60*60:0,c=Number(i)*60;return a+c+Number(n)},vN=["0:00","00:00","0:00:00","00:00:00"],nd=(e,t)=>{var s;if(e===null||e.length===0||!t)return{chapters:null,error:null};let o=e.split("\n"),r=[];for(let a=0;a<o.length;a++){let c=o[a],u=r[r.length-1];if(!c.match(Rv))continue;let{timestamp:m="",chapter:p=""}=(s=TN(c,t))!=null?s:{};if(u==null&&!vN.includes(m))return{chapters:null,error:fN};if(!m||!p)return{chapters:null,error:null};if(u){let d=Pv(u.timestamp),l=Pv(m);if(l===null||d===null)return{chapters:null,error:null};if(t&&l>t)return{chapters:null,error:EN};if(l<d)return{chapters:null,error:mN};if(l-d<5)return{chapters:null,error:Dv};let f=a===o.length-1,h=t-l;if(f&&h<5)return{chapters:null,error:Dv}}r.push({timestamp:m,chapter:p})}let n=r.length;return n<2?{chapters:null,error:gN}:n>15?{chapters:null,error:hN}:{chapters:r.map(a=>"".concat(a.timestamp," ").concat(a.chapter)).join("\n"),error:null}},yN=(e,t)=>{let o=e.replace(/:/g,"");o=o.replace(/^0+/,"");let r=3;return t&&t>=36e3?r=6:t&&t>=3600?r=5:t&&t>=600&&(r=4),o=o.padStart(r,"0"),o.split("").reverse().join("").replace(/(\d{2})(?=\d)/g,"$1:").split("").reverse().join("")},TN=(e,t)=>{let o=e.match(Rv);if(o){let r=o[0].trim(),n=yN(r,t),i=r.length,s=e.substring(i+1);return{timestamp:n,chapter:s}}return null};var xv=()=>{let e=bN(),t=Ar(A.selectLoomVideoId),o=Ar(A.isInSummaryEditMode),r=Ar(A.isInChaptersEditMode),i=Ar(A.selectAutoDescriptionStatus)===Je.Auto,s=Ar(A.selectDescription),c=Ar(A.selectAutoChaptersStatus)===rr.Success,u=Ar(A.selectChapters),m=Ar(A.selectDuration),[p,d]=Qs(""),[l,f]=Qs(s),[h,v]=Qs(u),[S,y]=Qs(!1),E=D=>{let U=D.target.value;if(o)f(U);else{let w=nd(U,m);d(w==null?void 0:w.error),v(U)}},b=()=>{e(R.updateIsInChaptersEditMode(!1)),e(R.updateIsInSummaryEditMode(!1)),e(R.updateIsAiDropdownOpen(!0))};CN(()=>{o&&i&&s?f(s):r&&c&&u&&v(u)},[s,u,o,r,i,c]);let g=()=>o?!i:r?!c:!0,C=()=>o?"Add a summary...":"0:00 Chapter 1\n0:00 Chapter 2\n0:00 Chapter 3\n",T=()=>{t&&(o?(e(R.updateSavedToastContent(id.ToastContent.Summary)),e(_.updateVideoDescription({id:t,description:l||""})),e(R.updateIsInSummaryEditMode(!1))):(e(R.updateSavedToastContent(id.ToastContent.Chapters)),e(_.updateVideoChapters({id:t,chapters:h||""})),e(R.updateIsInChaptersEditMode(!1))))},O=()=>{var U;if(o)return;let D=(U=nd(h,m||0))==null?void 0:U.error;if(D!=null)return D};return xe.createElement(Zs,{autoFlow:"row",justifyContent:"stretch"},xe.createElement(Zs,{autoFlow:"column",gap:"small"},xe.createElement(Mv,{altText:"Back",icon:xe.createElement(IN,null),onClick:b}),xe.createElement(wv,{size:"body-lg",fontWeight:"bold"},"Edit ","".concat(o?"summary":"chapters"))),xe.createElement(qs,{bottom:"10px"}),xe.createElement(Zs,{autoFlow:"column"},xe.createElement(wv,{size:"body-md"},o?"Summary":"Chapters"),r?xe.createElement(xe.Fragment,null,xe.createElement(Mv,{altText:"More information",iconColor:"bodyDimmed",icon:xe.createElement(AN,null),onClick:()=>y(!S),size:"small"}),S?xe.createElement(Av,null):null):null),xe.createElement(qs,{bottom:"18px"}),xe.createElement(ON,{resize:"none",rows:8,placeholder:C(),autoFocus:g(),error:O(),value:o?l:h,onChange:E}),p?xe.createElement(qs,{bottom:"xsmall"}):xe.createElement(qs,{bottom:"medium"}),xe.createElement(Zs,{autoFlow:"column",gap:"small",justifyContent:"end"},xe.createElement(_v,{onClick:b},"Cancel"),xe.createElement(_v,{variant:"primary",onClick:T,disabled:r&&p!==null},"Save")))};import Fv from"@emotion/styled";import At from"react";import{useSelector as Lv}from"react-redux";import{Arrange as DN,Button as PN,Logo as RN,Spacer as Nv,Text as kv,Align as _N}from"@loomhq/lens";var Wv=()=>{let e=Lv(A.selectMembeRole),t=Lv(A.selectUpgradeUrl),o=e==="admin";return At.createElement(wN,null,At.createElement(MN,null,At.createElement(DN,{gap:"xsmall",justifyItems:"end"},At.createElement(kv,{color:"body",size:"body-lg",fontWeight:"bold"},"Get Loom AI"),At.createElement(_N,{alignment:"topCenter"},At.createElement(RN,{brand:"ai",maxWidth:1.5,variant:"symbol"}))),At.createElement(Nv,{top:2}),At.createElement(kv,{color:"bodyDimmed",size:"body-sm"},"Create better video messages with AI-powered titles, chapters, filler word removal and workflows."),At.createElement(Nv,{top:2}),o&&t&&At.createElement(At.Fragment,null,At.createElement(PN,{variant:"ai",onClick:()=>{window.open(t,"_blank")}},"Upgrade"))))},Uv,MN=Fv.div(Uv||(Uv=I(["\n padding: var(--lns-space-medium) var(--lns-space-large);\n background: radial-gradient(\n 100% 138.41% at 100% 100%,\n #eff0ff 0%,\n #ffffff 100%\n );\n margin: 1px;\n border-radius: calc(4 * var(--lns-unit));\n"]))),Bv,wN=Fv.div(Bv||(Bv=I(["\n border: 0px;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background: linear-gradient(to right, #dc43be, #565add);\n margin-top: var(--lns-space-xsmall);\n width: 325px;\n right: 16px;\n"])));var Vv,WN=xN(Vv||(Vv=I(["\n 0% {\n transform: rotateY(0deg);\n }\n 60% {\n transform: rotateY(360deg);\n }\n 100% {\n transform: rotateY(360deg); // do nothing\n }\n"]))),Hv,KN=jn.div(Hv||(Hv=I(["\n animation: "," 2s linear 2;\n"])),WN),jv=()=>Fe.createElement(kN,{variant:"symbol",symbolColor:"primary",maxWidth:2,brand:"ai",customId:"aiSdk"}),jN=()=>{let e=Dr(A.selectIsAiDropdownOpen),t=Dr(A.isInSummaryEditMode),o=Dr(A.isInChaptersEditMode),r=Dr(A.selectIsTrialing),n=Dr(A.selectHasAIAddOn),i=!!(t||o),s=Yv(),a=LN(()=>{s(R.updateIsAiDropdownOpen(!1)),s(R.updateIsInTitleEditMode(!1)),s(R.updateIsInSummaryEditMode(!1)),s(R.updateIsInChaptersEditMode(!1))},[s]),c=vr(a);return e?n?Fe.createElement(VN,{showEditModal:i,ref:c},i?Fe.createElement(xv,null):Fe.createElement(Ov,{isTrialing:r})):Fe.createElement("div",{ref:c},Fe.createElement(Wv,null)):null},Jv=({onClick:e})=>{let t=Yv(),o=Dr(A.selectIsAiDropdownOpen),r=Dr(A.selectAiGenerated),n=Dr(A.selectShouldAnimateLogo);return Fe.createElement(Kv,{autoFlow:"row"},Fe.createElement(GN,{className:"ai-edit-button-wrapper",onClick:()=>t(R.updateIsAiDropdownOpen(!o))},Fe.createElement($N,null),Fe.createElement(BN,{onClick:e},Fe.createElement(HN,{aiApplied:r},Fe.createElement(Kv,{columns:[r?"1fr":"1.25fr",r?"4fr":"3fr","auto"],width:"100%",justifyItems:"center",gap:"xsmall"},n?Fe.createElement(KN,null,Fe.createElement(jv,null)):Fe.createElement(jv,null),Fe.createElement(UN,{fontWeight:"book",color:"primary",style:{width:"fit-content"}},r?"Loom AI applied":"Loom AI"),Fe.createElement(NN,{color:"body",size:"small",altText:"dropdownButton",icon:Fe.createElement(FN,null),onClick:()=>t(R.updateIsAiDropdownOpen(!o))}))))),Fe.createElement(jN,null))},Gv,VN=jn.div(Gv||(Gv=I(["\n border: 1px solid #e7e7e7;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background-color: white;\n margin-top: var(--lns-space-xsmall);\n overflow: hidden;\n right: 16px;\n top: 56px;\n\n ","\n ","\n ","\n\n transition: width 200ms ease, height 200ms cubic-bezier(0.1, 0.5, 0.1, 1);\n"])),e=>"height: ".concat(e.showEditModal?"387px":"auto",";"),e=>"width: ".concat(e.showEditModal?372:325,"px;"),e=>"padding: ".concat(e.showEditModal?28:0,"px;")),zv,HN=jn.div(zv||(zv=I(["\n width: 100%;\n ","\n"])),e=>"padding: 5px ".concat(e.aiApplied?10:8,"px 5px 10px;")),$v,GN=jn.div($v||($v=I(["\n margin-right: 8px;\n width: max-content;\n position: relative;\n border-radius: var(--lns-radius-full);\n background: linear-gradient(to right, #565add, #dc43be);\n\n & button {\n background: none;\n width: 100%;\n height: 100%;\n padding: 0;\n isolation: isolate;\n }\n\n & button:hover {\n background: none;\n }\n"]))),zN="0.3s",Xv,$N=jn.div(Xv||(Xv=I(["\n pointer-events: none;\n content: '';\n position: absolute;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n margin-left: 1px;\n margin-top: 1px;\n transition: all "," ease-in-out;\n border-radius: var(--lns-radius-full);\n background: white;\n\n .ai-edit-button-wrapper:hover & {\n background: #e8e8fe;\n }\n"])),zN);import qN from"@emotion/styled";import ut,{forwardRef as ek,useState as tk,useEffect as qv}from"react";import{useHover as rk}from"react-laag";import{useSelector as Pr}from"react-redux";import{TypeAnimation as ok}from"react-type-animation";import{Spacer as nk,Text as ty,TextInput as ik}from"@loomhq/lens";import{SvgEditBorder as sk}from"@loomhq/lens/icons/edit-border";var sd={};je(sd,{VIDEO_TITLE_UPDATED:()=>ea});var ea="video_title_updated";import kt from"react";import{useDispatch as XN}from"react-redux";import{Arrange as ad,Button as YN,Container as cd,Text as Qv}from"@loomhq/lens";import{SvgSettings as JN}from"@loomhq/lens/icons/settings";var Zv=()=>{let e=XN();return kt.createElement(cd,null,kt.createElement(QN,{title:"Your video title, instantly created",subtitle:"Loom AI automatically generated a title based on your video's content.",onPrimaryClick:()=>e(R.updateIsInTitleEditMode(!0))}))},QN=({title:e,subtitle:t,onPrimaryClick:o})=>kt.createElement(cd,{contentColor:"body",backgroundColor:"background",radius:"large",shadow:"medium",padding:"var(--lns-space-large) var(--lns-space-medium) var(--lns-space-medium) var(--lns-space-medium)",width:40,borderSide:"all",borderWidth:".1rem",position:"relative",zIndex:2,style:{backgroundOrigin:"padding-box, border-box",backgroundClip:"padding-box, border-box"},borderColor:"transparent",backgroundImage:"linear-gradient(white, white), linear-gradient(to right, #565ADD, #9F92EC, #DC43BE);"},kt.createElement(ad,{rows:"true",gap:"small"},kt.createElement(Qv,{variant:"title"},e),t?kt.createElement(Qv,{size:"body-md",color:"#6C6684"},t):null,kt.createElement(cd,{paddingTop:"small"},kt.createElement(ad,{justifyContent:"space-between"},kt.createElement(ad,{gap:"small"},kt.createElement(YN,{onClick:o,icon:kt.createElement(JN,null),iconPosition:"right",size:"small"},"Edit"))))));var ry=ek((e,t)=>ut.createElement(ik,x({type:"text",ref:t},e))),ak=50,ck=200;ry.displayName="TextInputBox";var lk=({children:e,onClick:t})=>ut.createElement("div",{onClick:t},ut.createElement(ty,{variant:"mainTitle",fontWeight:"bold",hasEllipsis:!0,ellipsisLines:1},e)),ey,oy=()=>{let e=Pr(A.selectLoomVideoTitle),t=Pr(A.selectLoomVideoId),o=Pr(A.selectSdkProductName),r=Pr(A.selectSdkEntryPointName),n=Pr(A.selectAutoTitleStatus),i=n==="AUTO",s=Pr(A.isInTitleEditMode),[a,c]=tk(e),u=Pr(A.selectShouldAnimateTitle),m=Pr(A.selectTitleHasBeenAnimated),[p,d]=rk({delayEnter:ak,delayLeave:ck}),l=qN.div(ey||(ey=I(["\n cursor: default;\n color: var(--lns-color-body);\n padding: var(--lns-space-large) 0px;\n height: 80px;\n &:hover {\n cursor: pointer;\n color: var(--lns-color-primary);\n }\n "]))),f=te();qv(()=>{i&&!m&&(f(R.updateShouldAnimateTitle(!0)),f(R.updateTitleHasBeenAnimated(!0)))},[i,f,m]),qv(()=>{e!=""&&c(e)},[e]);let h={color:"var(--lns-color-body)",fontSize:"var(--lns-fontSize-heading-sm)",fontWeight:"var(--lns-fontWeight-bold)",cursor:p&&!s?"pointer":"inherit",textOverflow:"ellipsis",margin:"18px var(--lns-space-large) 14px 0px",backgroundColor:"transparent",transition:"none",padding:"var(--lns-space-large) 0px var(--lns-space-large) 48px"},v=g=>{c(g.target.value)},S=()=>{f(R.updateIsInTitleEditMode(!1)),f(R.updateShouldAnimateTitle(!1)),y()},y=()=>{f(R.updateIsInTitleEditMode(!1)),c(a),e!==a&&(i?f(_.trackAnalytics({event:ea,properties:{title_content:"USER_EDITED_AUTO_GENERATED",video_id:t}})):n!=="USER"&&f(_.trackAnalytics({event:ea,properties:{title_content:"USER_EDITED_DEFAULT",video_id:t}})),f(R.updateAutoTitleStatus("USER"))),a&&t&&(f(_.updateVideoName({id:t,name:a})),f(_.trackAnalytics({event:Ya,properties:{videoId:t,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})))},E=g=>{f(R.updateIsInTitleEditMode(!0)),g.target.select(),g.target.focus()},b=g=>{g.key==="Enter"?y():g.key==="Escape"&&f(R.updateIsInTitleEditMode(!1)),g.stopPropagation()};return s?ut.createElement(ry,{height:"80px",style:h,ref:null,autoFocus:!0,value:a,onChange:v,onFocus:E,onBlur:S,onKeyDown:b,size:"medium",icon:ut.createElement(sk,null)}):ut.createElement(l,x({},d),ut.createElement(lk,{onClick:()=>f(R.updateIsInTitleEditMode(!0))},u&&a?ut.createElement(ok,{sequence:[a,()=>{f(R.updateShouldAnimateTitle(!1))}],wrapper:"div",cursor:!1,speed:60,style:{fontSize:"var(--lns-fontSize-heading-sm)"}}):ut.createElement(ty,{fontWeight:"bold",size:"heading-sm"},a)),p&&i?ut.createElement(ut.Fragment,null,ut.createElement(nk,{top:"xsmall"}),ut.createElement(Zv,null)):null)};import{keyframes as dk}from"@emotion/react";import ld from"@emotion/styled";import zo from"react";import{useHover as uk}from"react-laag";import{useSelector as ny}from"react-redux";import{Container as pk,TooltipBox as mk}from"@loomhq/lens";var iy,fk=ld.div(iy||(iy=I(["\n position: relative;\n height: 35px;\n max-width: 763px;\n background-color: var(--lns-color-backgroundHover);\n overflow: hidden;\n border-radius: var(--lns-radius-xlarge);\n"]))),sy,gk=dk(sy||(sy=I(["\n 100% {\n transform: rotate(360deg);\n }\n"]))),ay,hk=ld.div(ay||(ay=I(["\n border-radius: var(--lns-radius-xlarge);\n background: conic-gradient(transparent 6%, #9747ff, #a901f9, #565add);\n position: absolute;\n top: calc(50% - 500px);\n left: calc(50% - 500px);\n width: 1000px;\n height: 1000px;\n transform-origin: center;\n animation: "," 2.5s linear infinite;\n z-index: 1;\n"])),gk),cy,Ek=ld.div(cy||(cy=I(["\n background-color: var(--lns-color-background);\n border-radius: var(--lns-radius-xlarge);\n position: absolute;\n height: calc(100% - 4px);\n width: calc(100% - 4px);\n top: 2px;\n left: 2px;\n z-index: 2;\n"]))),ly=()=>{let[e,t]=uk(),r=ny(A.selectAutoTitleStatus)===Je.Pending,n=ny(A.selectShouldShowAiInSdk);return zo.createElement("div",ne(x({},t),{style:{position:"relative"}}),e&&zo.createElement(mk,{style:{position:"absolute",zIndex:10,top:"105%"},maxWidth:100},r&&n?"Loom AI is generating a video title.":""),zo.createElement(fk,null,zo.createElement(hk,null),zo.createElement(Ek,null),zo.createElement(pk,{width:"100%",height:"100%"})))};var Ak="Edit on Loom",Dk="attempt_to_close",Pk="confirm_close";function dd({tooltipText:e,onClick:t,icon:o}){let[r,n]=Sk();return Le.createElement("div",x({},n),r&&Le.createElement(Tk,{style:{position:"absolute",marginTop:"40px",marginLeft:"-35px"},maxWidth:100},e),Le.createElement(my,{altText:e,onClick:t,icon:o}))}var fy=()=>{let e=vk(),t=P(f=>f.previewRecording.loomVideo,dy),o=P(f=>f.previewRecording.confirm),r=P(f=>f.previewRecording.fetchTitleIntervalId,dy),n=P(A.selectIsUserLoggedIn),i=P(A.isInTitleEditMode),s=(t==null?void 0:t.sharedUrl)+"?active_tab=Edit",a=n?s:t==null?void 0:t.sharedUrl,c=n?s:"https://www.loom.com/login",m=P(A.selectAutoTitleStatus)===Je.Pending,p=P(A.selectSdkProductName),d=P(A.selectSdkEntryPointName),l=P(A.selectShouldShowAiInSdk);return Le.createElement(yk,{y:m?"large":"0px",left:"large",right:"large"},Le.createElement(uy,{gap:"medium",columns:["5fr","1fr"]},m?Le.createElement(ly,null):Le.createElement(oy,null),Le.createElement(uy,{gap:"12px",justifyContent:"end"},!m&&!i?Le.createElement(Jv,null):Le.createElement(Le.Fragment,null,l&&!m&&!i?Le.createElement(lv,null):null),Le.createElement(dd,{tooltipText:"Record again",onClick:()=>{e(_.trackAnalytics({event:Wa,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.confirmationRedoRecording())},icon:Le.createElement(bk,null)}),Le.createElement(dd,{tooltipText:Ak,onClick:()=>{e(_.trackAnalytics({event:Xa,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),window.open(c,"_blank")},icon:Le.createElement(Ok,null)}),Le.createElement(dd,{tooltipText:"Delete recording",onClick:()=>{e(_.trackAnalytics({event:Va,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.confirmationDeleteRecording())},icon:Le.createElement(Ik,null)}),Le.createElement(my,{altText:gy,icon:Le.createElement(Ck,null),onClick:()=>{let f;o===py.PostRecordingConfirm.CloseModal?(a&&io(a,e),e(_.finishRecordingPreview()),r&&clearInterval(r),f=Pk):(e(R.confirmationClosePreviewModal()),f=Dk),e(_.trackAnalytics({event:Ua,properties:{action:f,videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}}))))};var ra=Y(J());import Hn from"react";import{Container as cU}from"@loomhq/lens";import qk from"react";var Ry=Y(J());import{css as zk,keyframes as $k}from"@emotion/react";import Xk from"@emotion/styled";import pt from"react";import{Arrange as pd,Text as Oy,Spacer as Yk,Button as Iy}from"@loomhq/lens";import Cy from"@emotion/styled";import We,{useEffect as Fk}from"react";import{Arrange as Ey,Icon as Sy,Container as Wk,Text as Kk,Link as jk}from"@loomhq/lens";import{SvgExternalLink as Vk}from"@loomhq/lens/icons/external-link";import{SvgEye as Hk}from"@loomhq/lens/icons/eye";var Xo=Y(J());import{createSlice as Uk}from"@reduxjs/toolkit";import{createAction as Rk}from"@reduxjs/toolkit";var _k="consumer_trigger",G=e=>Rk("".concat(_k,"/").concat(e));var ta={cancelRecording:G("cancel_recording"),checkUserAuthenticated:G("check_user_authenticated"),copyVideoUrl:G("copy_video_url"),deleteRecording:G("delete_recording"),emailSignInUser:G("email_sign_in_user"),emailSignUpUser:G("email_sign_up_user"),endCascadedRecording:G("end_cascaded_recording"),endRecording:G("end_recording"),finishRecordingPreview:G("finish_recording_preview"),getFeatureFlags:G("get_feature_flags"),getIndividualExperimentValue:G("get_individual_experiment_value"),getVideoPermissions:G("get_video_permissions"),initializeBackground:G("initialize_background"),oAuthLoginUser:G("oauth_login_user"),pauseRecording:G("pause_recording"),recordingComplete:G("recording_complete"),redoRecording:G("redo_recording"),resendVerificationEmail:G("resend_verification_email"),resolvePictureInPicturePromise:G("resolve_picture_in_picture_promise"),resumeRecording:G("resume_recording"),startRecording:G("start_recording"),togglePauseRecording:G("toggle_pause_recording"),updateMicrophone:G("update_microphone"),updateSelectedScreenType:G("update_selected_screen_type"),updateUserRecordingSettings:G("updateUserRecordingSettings"),updateVideoChapters:G("update_video_chapters"),updateVideoDescription:G("update_video_description"),updateVideoName:G("update_video_name"),uploadComplete:G("upload_complete")};var fe=Y(J());import{createSlice as Nk}from"@reduxjs/toolkit";var so=Y(J());import{createSlice as wk}from"@reduxjs/toolkit";var xk={aaid:"",apiKey:"",jws:"",mode:{mode:"pending"},environment:so.Environment.Development,loomSdkVersion:"0.0.0",sdkConfig:{allowedRecordingTypes:[so.RecordingType.ScreenAndCamera,so.RecordingType.ScreenOnly,so.RecordingType.CameraOnly],bubbleResizable:!0,defaultRecordingType:so.RecordingType.ScreenAndCamera,disableDesktopOnFirefox:!1,disablePreviewModal:!1,enableOnboardingTutorial:!1,enableNewUi:!1,enablePictureInPicture:!1,insertButtonText:"Insert video",productName:"",entryPointName:"",styles:{}},applicationConfig:{enablePartnerOwnership:!1,removeLoomBranding:!1,sdkPartnerName:"",signupWelcomeName:"",utm:{utm_campaign:"",utm_content:"",utm_medium:"",utm_source:""}},url:""},Vn=wk({name:"settings",initialState:xk,reducers:{setAaid(e,t){e.aaid=t.payload},setApiKey(e,t){e.apiKey=t.payload,e.mode={mode:"standard",publicAppId:t.payload}},setJws(e,t){e.jws=t.payload,e.mode={mode:"custom",publicAppId:e.apiKey,jws:t.payload}},setMode(e,t){e.mode=t.payload},setSDKConfig(e,t){e.sdkConfig=ne(x(x({},e.sdkConfig),t.payload),{styles:x(x({},e.sdkConfig.styles),t.payload.styles)})},updateSDKConfig(e,t){e.sdkConfig=ne(x(x({},e.sdkConfig),t.payload),{styles:x({},e.sdkConfig.styles)})},setApplicationConfig(e,t){e.applicationConfig=x(x({},e.applicationConfig),t.payload)},setEnvironment(e,t){e.environment=t.payload},setLoomSdkVersion(e,t){e.loomSdkVersion=t.payload},setUrl(e,t){e.url=t.payload}}});var $o={appStage:fe.RecordingStage.Closed,audioData:Array(qc).fill(0),bubblePosition:{x:0,y:0},cameraBubbleSize:"192px",cancelButtonClicked:!1,canceledDesktopError:!1,dimensions:{width:0,height:0},hostUrl:"",isCapturing:!0,isLoomUploading:!1,mediaDevicePermissions:fe.PermissionState.Prompt,micMutedError:!1,onboardingStep:fe.OnboardingTutorialStep.PermissionsStep,permissionFailureReason:null,recordingType:fe.RecordingType.ScreenAndCamera,restartButtonClicked:!1,screenType:fe.RecordingScreenType.Desktop,sdkRecordingType:fe.SDKRecordingType.FullScreen,session:void 0,showPictureInPictureModal:!1,tab:void 0,timeElapsed:0,videoDurationLimit:0},Ae=Nk({name:"recorder",initialState:$o,reducers:{cancelRecording(e){return ne(x({},$o),{screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},captureCam(e){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Camera},captureDesktop(e){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Desktop},captureTab(e,t){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Tab,e.tab=t.payload},closePreviewModal(e){return ne(x({},$o),{hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},disableCanceledDesktopError(e){e.canceledDesktopError=!1},endRecording(e,t){return ne(x({},$o),{appStage:t.payload.appStage,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit,isLoomUploading:!0})},exitPreRecordingStage(e){return ne(x({},$o),{hostUrl:e.hostUrl,recordingType:e.recordingType,videoDurationLimit:e.videoDurationLimit})},finishedUploading(e){e.isLoomUploading=!1},pauseRecording(e){e.appStage=fe.RecordingStage.Paused},preCaptureCam(e){e.screenType=fe.RecordingScreenType.Camera},preCaptureDesktop(e){e.screenType=fe.RecordingScreenType.Desktop},preCaptureTab(e){e.screenType=fe.RecordingScreenType.Tab},resetPrerecording(e){return ne(x({},$o),{appStage:fe.RecordingStage.PreRecording,mediaDevicePermissions:e.mediaDevicePermissions,permissionFailureReason:e.permissionFailureReason,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},resumeRecording(e){e.appStage=fe.RecordingStage.Recording},setDurationLimit(e,t){e.videoDurationLimit=t.payload},setOnboardingTutorialStep(e,t){e.onboardingStep=t.payload.step},startCountdown(e){e.appStage=fe.RecordingStage.Countdown},startRecording(e,t){e.dimensions=t.payload,e.appStage=fe.RecordingStage.Recording},toggleEnablePictureInPictureModal(e,t){e.showPictureInPictureModal=t.payload},updateBubblePosition(e,t){e.bubblePosition=t.payload},updateCameraBubbleSize(e,t){e.cameraBubbleSize=t.payload},updateCancelButtonClicked(e,t){e.cancelButtonClicked=t.payload},updateHostUrl(e,t){e.hostUrl=t.payload},updateMediaDevicesState(e,t){e.mediaDevicePermissions=t.payload.mediaDevicePermissions,e.permissionFailureReason=t.payload.permissionFailureReason},updateMicMutedError(e,t){e.micMutedError=t.payload},updateRecordingSession(e,t){e.session=t.payload.session,e.tab=t.payload.tab},updateRecordingStage(e,t){e.appStage=t.payload.appStage},updateRestartButtonClicked(e,t){e.restartButtonClicked=t.payload},updateSelectedRecordingType(e,t){e.recordingType=t.payload},updateSelectedSDKRecordingType(e,t){e.sdkRecordingType=t.payload},updateTimeElapsed(e,t){e.timeElapsed=t.payload}},extraReducers:e=>{e.addCase($r,t=>{t.micMutedError=!1}).addCase(Xr,t=>{t.appStage=fe.RecordingStage.PreRecording}).addCase(vn,t=>{t.appStage=fe.RecordingStage.OnboardingTutorial}).addCase(Sn,t=>{t.appStage===fe.RecordingStage.PreRecording&&(t.appStage=fe.RecordingStage.Closed)}).addCase(Vn.actions.setSDKConfig,(t,{payload:o})=>{o.defaultRecordingType&&(t.recordingType=o.defaultRecordingType)})}});var hy={loomVideo:null,dimensions:{width:0,height:0},sessionId:void 0,confirm:Xo.PostRecordingConfirm.InsertRecording,isInTitleEditMode:!1,isInSummaryEditMode:!1,isInChaptersEditMode:!1,isAiDropdownOpen:!1,shouldAnimateLogo:!1,shouldAnimateTitle:!1,titleHasBeenAnimated:!1,showSavedContentToast:null,permissionDescription:null},ud=Uk({name:"preview-modal",initialState:hy,reducers:{confirmationClosePreviewModal(e){e.confirm=Xo.PostRecordingConfirm.CloseModal},confirmationDeleteRecording(e){e.confirm=Xo.PostRecordingConfirm.DeleteRecording},confirmationRedoRecording(e){e.confirm=Xo.PostRecordingConfirm.RedoRecording},partialUpdateVideo(e,t){e.loomVideo!=null&&(e.loomVideo=x(x({},e.loomVideo),t.payload))},resetConfirm(e){e.confirm=Xo.PostRecordingConfirm.InsertRecording},updateAutoTitleStatus(e,t){e.loomVideo&&(e.loomVideo.autoTitleStatus=t.payload)},updateFetchTitleIntervalId(e,t){e.fetchTitleIntervalId=t.payload},updateIsAiDropdownOpen(e,t){e.isAiDropdownOpen=t.payload},updateIsInChaptersEditMode(e,t){e.isInChaptersEditMode=t.payload},updateIsInSummaryEditMode(e,t){e.isInSummaryEditMode=t.payload},updateIsInTitleEditMode(e,t){e.isInTitleEditMode=t.payload},updateLoomVideo(e,t){e.loomVideo!=null?e.loomVideo=x(x({},e.loomVideo),t.payload):e.loomVideo=t.payload},updatePermissionDescriptionKey(e,t){e.permissionDescription=t.payload},updateSavedToastContent(e,t){e.showSavedContentToast=t.payload},updateShouldAnimateLogo(e,t){e.shouldAnimateLogo=t.payload},updateShouldAnimateTitle(e,t){e.shouldAnimateTitle=t.payload},updateTitle(e,t){e.loomVideo&&(e.loomVideo.title=t.payload)},updateTitleHasBeenAnimated(e,t){e.titleHasBeenAnimated=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.startRecording,(t,o)=>{t.dimensions=o.payload}).addCase(ta.startRecording,()=>hy).addCase(Ae.actions.updateRecordingSession,(t,o)=>{t.sessionId=o.payload.session.id})}});var yy,ao=Cy(Kk)(yy||(yy=I(["\n display: inline-block;\n"]))),Ty,vy=Cy.div(Ty||(Ty=I(["\n display: inline-block;\n"]))),Gk=e=>e==="Public"?We.createElement(vy,null,We.createElement(ao,null,"Anyone with the link can")," ",We.createElement(ao,{fontWeight:"bold"},"view")):e==="WorkspaceOnly"?We.createElement(vy,null,We.createElement(ao,null,"Workspace can")," ",We.createElement(ao,{fontWeight:"bold"},"view")," ",We.createElement(ao,null," and anyone else has ")," ",We.createElement(ao,{fontWeight:"bold"}," no access")):e==="PeopleOnly"?We.createElement(We.Fragment,null,We.createElement(ao,null,"Only people added can access")):null,by=()=>{let e=te(),{loomVideo:t,permissionDescriptionKey:o}=P(n=>({loomVideo:n.previewRecording.loomVideo,permissionDescriptionKey:n.previewRecording.permissionDescription})),r=(t==null?void 0:t.sharedUrl)+"?open_share_permissions=1";return Fk(()=>{let n=()=>{e(_.getVideoPermissions())},i=setTimeout(()=>{clearInterval(s)},3e5),s=setInterval(n,5e3);return()=>{clearInterval(s),clearTimeout(i)}},[e]),We.createElement(Ey,{autoFlow:"column",gap:"medium",alignItems:"start"},We.createElement(Sy,{icon:We.createElement(Hk,null)}),We.createElement(Wk,null,Gk(o),We.createElement(Ey,{gap:"xsmall"},We.createElement(jk,{href:r,target:"_blank"},"Manage video access"),We.createElement(Sy,{color:"blurple",icon:We.createElement(Vk,null),size:2}))))};var Ay,Jk=$k(Ay||(Ay=I(["\n 0% {\n transform: translateY(60%);\n }\n 40% {\n transform: translateY(-10%);\n }\n 100% {\n transform: translateY(0%); /* End at the final position */\n }\n"]))),Dy,Py,Qk=Xk.div(Py||(Py=I(["\n bottom: 0;\n z-index: 1;\n animation: ",";\n"])),e=>e.shouldAnimate?zk(Dy||(Dy=I(["\n "," 0.55s ease forwards;\n "])),Jk):null),Zk=({type:e,content:t,secondaryCtaMetadata:o,primaryCtaMetadata:r})=>{let n=ht(),i=P(wt),{confirm:s}=P(c=>c.previewRecording),a=()=>pt.createElement(Iy,ne(x({},r==null?void 0:r.additionalProps),{iconPosition:"right",variant:r.variant||"danger",size:"large",style:{minWidth:"240px"},onClick:()=>{r.onClick()}}),r.ctaText);return pt.createElement(Qk,{shouldAnimate:s!==Ry.PostRecordingConfirm.InsertRecording},pt.createElement(pd,{alignContent:"space-between",justifyContent:"stretch",alignItems:"center"},t?pt.createElement(pd,{autoFlow:"row"},pt.createElement(Oy,{fontWeight:"bold",color:"body",size:"body-lg"},t.title),pt.createElement(Yk,{bottom:"xsmall"}),pt.createElement(Oy,{color:"body",size:"body-md"},t.body)):pt.createElement(by,null),pt.createElement(pd,{gap:"small",justifyContent:"end"},e!=="copy-link"&&o&&pt.createElement(Iy,ne(x({},o.additionalProps),{onClick:()=>{o.onClick()},variant:"neutral",size:"large",style:{borderColor:"--lns-color-buttonBorder",minWidth:"125px"}}),o.ctaText),e==="insert-recording"?pt.createElement(ir,{visible:n&&i==="shareYourVideo"},pt.createElement(a,null)):pt.createElement(a,null))))},Rr=Zk;var _y=()=>{let e=te(),{enablePartnerOwnership:t,loomVideo:o}=P(a=>({loomVideo:a.previewRecording.loomVideo,enablePartnerOwnership:a.settings.applicationConfig.enablePartnerOwnership})),r=P(A.selectSdkProductName),n=P(A.selectSdkEntryPointName),i=o==null?void 0:o.sharedUrl,s=t?"Close":"Copy link and close";return qk.createElement(Rr,{type:"close-modal",content:{title:"Are you sure you\u2019d like to close the preview?",body:t?"You might not be able to reference your video later.":"Don\u2019t worry, your videos will always be accessible from your Loom library."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Fa,properties:{videoId:o==null?void 0:o.id,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})),e(R.resetConfirm())}},primaryCtaMetadata:{ctaText:s,onClick:()=>{e(_.trackAnalytics({event:Ba,properties:{videoId:o==null?void 0:o.id,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})),i&&!t&&io(i,e),e(_.finishRecordingPreview())},variant:"danger"}})};import eU from"react";var My=()=>{let e=te(),{loomVideo:t}=P(({previewRecording:i})=>i),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),n=t==null;return eU.createElement(Rr,{type:"delete-recording",content:{title:"Would you like to permanently delete this video?",body:"Once deleted, this video will no longer be accessible."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Ga,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(R.resetConfirm())}},primaryCtaMetadata:{additionalProps:{isDisabled:n,hasLoader:n,className:"lens-overridable"},ctaText:"Permanently delete",onClick:()=>{t!=null&&t.id&&(e(_.trackAnalytics({event:Ha,properties:{videoId:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(_.deleteRecording({id:t.id})),e(_.finishRecordingPreview()),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false"))},variant:"danger"}})};var Ly=Y(J());import Zt,{useState as tU}from"react";import{Arrange as rU,Icon as oU,Text as wy,Toast as xy}from"@loomhq/lens";import{SvgLink as nU}from"@loomhq/lens/icons/link";var iU="Link copied!",sU=(e,t)=>Gp(e)&&!t.includes("insert-click"),Ny=()=>{let e=te(),[t,o]=tU(!1),{loomVideo:r,insertButtonText:n,enablePartnerOwnership:i}=P(f=>({loomVideo:f.previewRecording.loomVideo,insertButtonText:f.settings.sdkConfig.insertButtonText,enablePartnerOwnership:f.settings.applicationConfig.enablePartnerOwnership})),s=P(A.selectSdkProductName),a=P(A.selectSdkEntryPointName),c=r==null?void 0:r.sharedUrl,u=P(A.selectSavedToastContent),m={additionalProps:{isDisabled:!c},ctaText:"Copy link",onClick:()=>{e(_.trackAnalytics({event:$a,properties:{videoId:r==null?void 0:r.id,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),c&&io(c,e),o(!0)}},p={ctaText:n,onClick:()=>{e(_.trackAnalytics({event:za,properties:{videoId:r==null?void 0:r.id,text:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),c&&!i&&io(c,e),e(_.finishRecordingPreview()),r&&Gr.onInsertClicked(r),r&&Ve.activeButton.emit("insert-click",r),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}},d=sU(Gr.onInsertClicked,Ve.activeButton.eventNames()),l={};return d?l={type:"copy-link",primaryCtaMetadata:ne(x({},m),{variant:"primary"})}:l={type:"insert-recording",secondaryCtaMetadata:m,primaryCtaMetadata:ne(x({},p),{variant:"primary"})},Zt.createElement(Zt.Fragment,null,Zt.createElement(Rr,x({},l)),Zt.createElement(xy,{isOpen:t,onCloseClick:()=>o(!1)},Zt.createElement(rU,{alignItems:"start",gap:"small"},Zt.createElement(oU,{icon:Zt.createElement(nU,null),color:"bodyInverse"}),Zt.createElement(wy,null,iU))),Zt.createElement(xy,{isOpen:u!==null,onCloseClick:()=>e(R.updateSavedToastContent(null))},Zt.createElement(wy,null,"".concat(u===Ly.ToastContent.Summary?"Summary":"Chapters"," saved!"))))};import aU from"react";var ky=()=>{let e=te(),{loomVideo:t}=P(({previewRecording:i})=>i),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),n=t==null;return aU.createElement(Rr,{type:"redo-recording",content:{title:"Are you sure you want to record a new video?",body:"All recording content will be lost."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Ka,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(R.resetConfirm())}},primaryCtaMetadata:{additionalProps:{isDisabled:n,hasLoader:n,className:"lens-overridable"},ctaText:"Record again",onClick:()=>{if(t!=null&&t.id){e(_.trackAnalytics({event:ja,properties:{videoId:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(_.finishRecordingPreview());let i=new Date;e(R.updateOpenMenuTimestamp(i.getTime())),e(_.openPreRecordingMenu({startTime:i,entryPoint:"redo-recording"})),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}},variant:"danger"}})};function lU(e){switch(e){case ra.PostRecordingConfirm.CloseModal:return Hn.createElement(_y,null);case ra.PostRecordingConfirm.DeleteRecording:return Hn.createElement(My,null);case ra.PostRecordingConfirm.RedoRecording:return Hn.createElement(ky,null);default:return Hn.createElement(Ny,null)}}var Uy=()=>{let{confirm:e}=P(t=>t.previewRecording);return Hn.createElement(cU,{position:"relative",backgroundColor:"white",paddingX:"large",paddingY:"20px",width:"100%",style:{borderRadius:"0 0 var(--lns-radius-xlarge) var(--lns-radius-xlarge)",pointerEvents:"all",zIndex:1}},lU(e))};var pU="Preview recording",gy="Close preview modal",Fy,mU=fd.div(Fy||(Fy=I(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n pointer-events: all;\n border-radius: var(--lns-radius-xlarge);\n background-color: white;\n"]))),Wy,fU=fd.div(Wy||(Wy=I(["\n margin: 0px auto;\n width: 75vw;\n max-width: 1000px;\n pointer-events: all;\n"]))),Ky,gU=fd.div(Ky||(Ky=I(["\n background-color: hsla(0, 0%, 20%, 1);\n width: 100%;\n height: 100%;\n opacity: 0.3;\n position: fixed;\n z-index: 1;\n border-radius: var(--lns-radius-xlarge);\n"]))),Vy=()=>{let t=By(n=>n.previewRecording.confirm)!==jy.PostRecordingConfirm.InsertRecording,o=By(A.selectAiGenerated),r=uU();return dU(()=>{o&&r(R.updateShouldAnimateLogo(!0))},[r,o]),Yo.createElement(mU,{id:"preview-recording","aria-label":pU},t?Yo.createElement(gU,null):null,Yo.createElement(fU,null,Yo.createElement(fy,null),Yo.createElement(xS,null)),Yo.createElement(Uy,null))};import EU from"@emotion/styled";import SU from"react";import{useDispatch as vU}from"react-redux";var Hy,yU=EU("div")(Hy||(Hy=I(["\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n z-index: ",";\n\n pointer-events: all;\n"])),2147483645),Gy=()=>{let e=vU();return SU.createElement(yU,{"aria-label":"Pre-Recording Overlay",onClick:()=>e(R.exitPreRecordingStage())})};import{keyframes as AU}from"@emotion/react";import oT from"react";import{Backdrop as DU}from"@loomhq/lens";import{keyframes as eT}from"@emotion/react";import Gn from"@emotion/styled";import Jo from"react";var gd=190,$y,hd=eT($y||($y=I(["\n 0% {\n transform: scale(0.0);\n opacity: 0;\n }\n 100% {\n transform: scale(1.0);\n opacity: 1;\n }\n"]))),Xy,TU=eT(Xy||(Xy=I(["\n 0% {\n opacity: 0;\n filter: blur(5px);\n }\n 76% {\n opacity: 1;\n filter: blur(0);\n }\n 100% {\n opacity: 0;\n filter: blur(5px);\n }\n"]))),Yy,tT=Gn.div(Yy||(Yy=I(["\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ","px;\n width: ","px;\n height: ","px;\n margin-bottom: 60px;\n background: rgba(75, 66, 173, 0.7);\n text-align: -webkit-center;\n background: linear-gradient(\n 148deg,\n rgba(57, 49, 173, 1) 20%,\n rgba(98, 60, 161, 1) 68%\n );\n box-shadow:\n 0px 2px 2px rgb(147 130 178 / 20%),\n 0px 2px 40px rgb(147 130 178 / 20%);\n\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1);\n"])),gd/2,gd,gd,hd),Jy,CU=Gn(tT)(Jy||(Jy=I(["\n opacity: 0;\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1) reverse;\n"])),hd),Qy,zy=Gn.div(Qy||(Qy=I(["\n opacity: 0;\n font-size: 126px;\n font-weight: 700;\n line-height: 155px;\n letter-spacing: 0px;\n color: var(--lns-color-white);\n position: relative;\n top: -245px;\n left: -2px;\n\n animation: none;\n\n ","\n\n &.run-animation-1, &.run-animation-2, &.run-animation-3 {\n animation: ",";\n animation-duration: ","ms;\n animation-delay: 425ms;\n animation-timing-function: cubic-bezier(0.45, 0, 0.4, 1);\n animation-iteration-count: infinite;\n animation-play-state: running;\n }\n"])),e=>e.count===1&&"left: -6px;",TU,be.COUNTDOWN_WAIT_TIME),Zy,bU=Gn.div(Zy||(Zy=I(["\n user-select: none;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 30vh;\n"]))),qy,OU=Gn.div(qy||(qy=I(["\n opacity: 0;\n font-weight: 700;\n letter-spacing: 0px;\n color: var(--lns-color-white);\n position: relative;\n top: -255px;\n cursor: pointer;\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1) forwards;\n pointer-events: auto;\n"])),hd);function IU({count:e,onSkipClick:t}){if(e===0)return Jo.createElement(CU,null,Jo.createElement(zy,{count:e},e));let o="run-animation-".concat(e);return Jo.createElement(bU,null,Jo.createElement(tT,null),Jo.createElement(zy,{count:e,className:o,"data-qa":"countdown-text"},e),Jo.createElement(OU,{onClick:t},"Skip"))}var rT=IU;var nT,aJ=AU(nT||(nT=I(["\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n"])));function PU({count:e,onSkipClick:t}){return oT.createElement(DU,{isOpen:!0},oT.createElement(rT,{count:e,onSkipClick:t}))}var iT=PU;var Dt=Y(J());import QB from"@emotion/styled";import po,{useCallback as Jn,useEffect as Vd}from"react";import{useDispatch as ZB}from"react-redux";var fT=Y(J());import zn from"react";import LU from"ua-parser-js";import{Text as NU,Spacer as uT}from"@loomhq/lens";import dT from"@emotion/styled";import dr from"react";import{Arrange as RU,Text as _U,Container as MU,Spacer as sT}from"@loomhq/lens";import{SvgArrowRight as wU}from"@loomhq/lens/icons/arrow-right";var cT,aT=dT.button(cT||(cT=I(["\n border: 0;\n outline: 0;\n background: none;\n color: var(--lns-color-white);\n font-weight: var(--lns-fontWeight-bold);\n font-size: var(--lns-fontSize-medium);\n cursor: pointer;\n"]))),lT,xU=dT.button(lT||(lT=I(["\n border: 0;\n outline: 0;\n border-radius: var(--lns-radius-medium);\n background: var(--lns-color-white);\n color: var(--lns-color-blurple);\n font-weight: var(--lns-fontWeight-bold);\n font-size: var(--lns-fontSize-large);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0 20px;\n height: 56px;\n transition:\n background-color 300ms ease 0ms,\n border-color 300ms ease 0ms;\n\n &:hover {\n background: #ebebee;\n }\n\n & svg {\n height: 24px;\n }\n"]))),qt=({onNext:e,onSkip:t,onClose:o,message:r,children:n})=>dr.createElement(MU,{maxWidth:"28.5rem"},dr.createElement(_U,{size:"heading-md",fontWeight:"bold",color:"white"},r),n&&dr.createElement(sT,{top:2},n),dr.createElement(sT,{top:3},dr.createElement(RU,{gap:"large"},e&&dr.createElement(xU,{onClick:e},"Next",dr.createElement(wU,null)),t&&dr.createElement(aT,{onClick:t},"Skip tutorial"),o&&dr.createElement(aT,{onClick:o},"Close tutorial"))));var mT,kU=(mT=new LU().getBrowser().name)!=null?mT:"",pT={Brave:"https://cdn.loom.com/assets/sdk/permissions-videos/Brave.mp4",Edge:"https://cdn.loom.com/assets/sdk/permissions-videos/Edge.mp4",Chrome:"https://cdn.loom.com/assets/sdk/permissions-videos/Chrome.mp4"},gT=({onSkip:e})=>{var n;let t=(n=pT[kU])!=null?n:pT.Chrome,r=P(i=>i.recorder.mediaDevicePermissions)===fT.PermissionState.Denied?"You blocked permission to record with your cam and mic.":"You didn\u2019t grant permission to record with your cam and mic.";return zn.createElement(uT,{left:"7.5rem",top:"15rem"},zn.createElement(qt,{message:r,onSkip:e},zn.createElement(NU,{size:"heading-sm",color:"white",fontWeight:"book"},"Allow permissions by following these steps."),zn.createElement(uT,{top:"1.5rem"}),zn.createElement("video",{src:t,muted:!0,loop:!0,autoPlay:!0,height:"228"})))};var BT=Y(J());import wr,{useEffect as kT}from"react";import{useDispatch as WB}from"react-redux";import{Container as UT}from"@loomhq/lens";import{combineReducers as FB,configureStore as mZ}from"@reduxjs/toolkit";import{createSlice as UU}from"@reduxjs/toolkit";var hT={tabChangeCount:0},Ed=UU({name:"analytics",initialState:hT,reducers:{onTabChange(e,t){e.tabChangeCount+=1},setTabChangeCount(e,t){return ne(x({},hT),{tabChangeCount:t.payload})}}});var ET={trackAnalytics:G("trackAnalytics"),incrementDatadogMetric:G("incrementDatadogMetric"),sendDatadogLog:G("sendDatadogLog")};var yT=Y(J());import{createSlice as zU}from"@reduxjs/toolkit";import{createSlice as WU}from"@reduxjs/toolkit";var KU={workspaces:[],defaultWorkspace:void 0,defaultWorkspaceAdmins:[],workspacesFetched:!1},$n=WU({name:"workspaces",initialState:KU,reducers:{setWorkspaces(e,t){e.workspaces=t.payload.workspaces,e.defaultWorkspace=t.payload.defaultWorkspace,e.workspacesFetched=!0},setDefaultWorkspaceAdmins(e,t){e.defaultWorkspaceAdmins=t.payload.admins}}});var Cd={};je(Cd,{ACCOUNT_TYPE_ENTERPRISE:()=>vd,ACCOUNT_TYPE_PERSONAL:()=>ST,ACCOUNT_TYPE_TEAM:()=>Sd,ALL_ACCOUNT_TYPES:()=>HU,DEFAULT_PREFERENCES_COOKIE:()=>GU,TEAM_ACCOUNT_TYPES:()=>Td,TRIALING:()=>yd,oAuthKeys:()=>VU});var VU={GOOGLE:"google",SLACK:"slack",WINDOWS:"windows",AUTH0:"auth0",APPLE:"apple"},ST="personal",Sd="team",vd="enterprise",yd="trialing",HU=[ST,Sd,vd],Td=[Sd,vd],GU={mediaDevices:{},recorderSettings:{}};var vT={authStep:yT.AuthenticationStep.First,browserUser:void 0,fetchedBrowserUser:!1,guestRecordingEnabled:!1,hasReachedRecordingLimit:!1,hasWorkspaceAccess:!1,isAuthenticated:!1,isFetching:!1,isSdkSharedUser:!1,isSignIn:!1,isTrialing:!1,isVerifyingEmail:!1,loginErrorMessage:"",memberRole:void 0,oAuthUri:"",partnerGuestRecordingLimit:void 0,recordingCount:0,termsAccepted:!1,termsAcceptedError:!1,updateZendeskUser:!1,user:void 0},co=zU({name:"authentication",initialState:vT,reducers:{clearLoginErrorMessage(e){e.loginErrorMessage=""},hasFetchedBrowserUser(e,t){e.browserUser=t.payload,e.fetchedBrowserUser=!0},hasReachedRecordingLimit(e,t){e.hasReachedRecordingLimit=t.payload},setAuthStep(e,t){e.authStep=t.payload,e.loginErrorMessage=""},setGuestRecordingEnabled(e,t){e.guestRecordingEnabled=t.payload},setIsSignIn(e,t){e.isSignIn=t.payload},setMemberRole(e,t){e.memberRole=t.payload},setOAuthUri(e,t){e.oAuthUri=t.payload},setPartnerGuestRecordingLimit(e,t){e.partnerGuestRecordingLimit=t.payload},setTermsAccepted(e,t){e.termsAccepted=t.payload,t.payload&&(e.termsAcceptedError=!1)},setTermsAcceptedError(e,t){e.termsAcceptedError=t.payload},setVideoRecordingCount(e,t){e.recordingCount=t.payload.count},tokenBasedAuthenticatedUser(e,t){e.isSdkSharedUser=t.payload.success,e.isAuthenticated=t.payload.success},userLoginFailed(e,t){e.isFetching=!1,e.loginErrorMessage=t.payload},userLoginRequest(e){e.isFetching=!0,e.loginErrorMessage=""},userLoginSuccess(e,t){let o=t.payload;e.user=o,e.isFetching=!1,e.isTrialing=(o==null?void 0:o.trial_status)===yd,e.hasWorkspaceAccess=Td.includes(o==null?void 0:o.account_type),e.isAuthenticated=!0},userLogout(){return vT},userVerifyEmail(e,t){let o=t.payload;e.user=o,e.isVerifyingEmail=!0,e.isFetching=!1}},extraReducers:e=>{e.addCase($n.actions.setWorkspaces,(t,o)=>{t.isSdkSharedUser=o.payload.isSdkSharedUser})}});import{createSlice as XU}from"@reduxjs/toolkit";var bd={isEnabled:!0,isMenuExpanded:!0,isExpandedDefault:!0,isCameraTooltipExpanded:!1,isCaptureSourceExpanded:!1,isMessageShown:!1},Od=XU({name:"bubbleMenu",initialState:bd,reducers:{toggleBubbleMenu(e){e.isMenuExpanded=!e.isMenuExpanded},toggleBubbleCameraMenu(e){return ne(x({},e),{camera:!e.isCameraTooltipExpanded,captureSource:!1})},updateBubbleExpandedDefault(e,t){e.isExpandedDefault=t.payload},updateBubbleMessageShown(e,t){e.isMessageShown=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.startRecording,t=>ne(x({},bd),{isMenuExpanded:t.isExpandedDefault})).addCase(Ae.actions.endRecording,t=>ne(x({},bd),{isExpandedDefault:t.isExpandedDefault}))}});var TT={updateBubbleEnabledRecorderSettings:G("updateBubbleEnabledRecorderSettings")};import{createSlice as QU}from"@reduxjs/toolkit";var ZU={desktopTabUuid:void 0,endedCascadedRecording:!1,isChromeExtensionInstalled:void 0,isDesktopAppInstalled:void 0,openMenuTimestamp:void 0,openedChromeExtension:!1,shouldOpenChromeExtension:void 0,shouldOpenDesktopApp:!1,openChromeExtensionResult:"NotStarted",timeoutId:void 0},Id=QU({name:"cascadingRecorders",initialState:ZU,reducers:{resetIsDesktopAppInstalled(e){e.isDesktopAppInstalled=void 0},resetOpenMenuTimestamp(e){e.openMenuTimestamp=void 0},updateDesktopTabUuid(e,t){e.desktopTabUuid=t.payload},updateEndedCascadedRecording(e,t){e.endedCascadedRecording=t.payload},updateIsChromeExtensionInstalled(e,t){e.isChromeExtensionInstalled=t.payload,t.payload||(e.shouldOpenChromeExtension=!1)},updateIsDesktopAppInstalled(e,t){e.isDesktopAppInstalled=t.payload},updateOpenChromeExtension(e,t){e.shouldOpenChromeExtension=t.payload},updateOpenedChromeExtension(e){e.openedChromeExtension=!0},updateOpenMenuTimestamp(e,t){e.openMenuTimestamp=t.payload},updateOpenChromeExtensionResult(e,t){e.openChromeExtensionResult=t.payload,t.payload==="Failure"&&(e.shouldOpenChromeExtension=!1)},updateShouldOpenDesktopApp(e,t){e.shouldOpenDesktopApp=t.payload},updateTimeoutId(e,t){e.timeoutId=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.closePreviewModal,t=>{t.endedCascadedRecording=!1})}});var CT={compareUsers:G("compare_users"),checkExtensionInstalled:G("check_extension_installed"),desktopAppStatus:G("desktop_app_status"),listenForDesktopVideo:G("listen_for_desktop_video"),openChromeExtension:G("open_chrome_extension"),openChromeExtensionSuccess:G("open_chrome_extension_success"),requestStoragePermissions:G("request_storage_permissions")};var Pd={};je(Pd,{AUDIO_GLOW_OFF:()=>Dd,AUDIO_GLOW_ON:()=>s1,AUDIO_GLOW_PAUSED:()=>a1,LOOM_HTTP_URI:()=>Ad,LOOM_URI:()=>t1,MY_VIDEOS_URI:()=>o1,NOTIFICATIONS_TAB:()=>n1,PLANS_AND_BILLING_URI:()=>r1,PRE_RECORDING_TAB:()=>i1,TOOLTIP_DISMISSED_STORAGE_KEY:()=>c1});var t1="@*LOOM_URI*@",Ad="https://loom.com",r1="".concat(Ad,"/settings/workspace#plans"),o1="".concat(Ad,"/my-videos"),n1="notifications-tab",i1="pre-recording-tab",s1="audio-glow-on",Dd="audio-glow-off",a1="audio-glow-paused",c1="workspace-tooltip-limit-dismissed";var Rd={};je(Rd,{UPGRADE_TYPES:()=>p1,WORKSPACE_PLAN_BUSINESS:()=>na,WORKSPACE_PLAN_DISPLAY_NAME_MAP:()=>d1,WORKSPACE_PLAN_ENTERPRISE:()=>ia,WORKSPACE_PLAN_HIERARCHY:()=>l1,WORKSPACE_PLAN_INDEFINITE_ARTICLE_MAP:()=>u1,WORKSPACE_PLAN_STARTER_FREE:()=>oa});var oa="starter_free",na="business",ia="enterprise",l1={[oa]:1,[na]:4,[ia]:5},d1={[oa]:"Starter Free",[na]:"Business",[ia]:"Enterprise"},u1={[oa]:"a",[na]:"a",[ia]:"an"},p1={PLAN:"plan",ROLE:"role"};var m1=x(x(x(x(x({},el),Pd),Cd),Rd),sd),bT={openPreRecordingMenu:Xr,updateMicrophone:$r,closePreRecordingMenu:Sn,openOnboardingTutorial:vn};import{createSlice as f1}from"@reduxjs/toolkit";var _r={enabled:!0,started:!1,paused:!1,secondsLeft:3,shouldSkipCountdown:!1},_d=f1({name:"countdown",initialState:_r,reducers:{decrementCountdown(e){e.secondsLeft-=1},pauseCountdown(e){e.paused=!0},resumeCountdown(e){e.paused=!1,e.started=!0},enableCancelledDesktopError(){return _r},updateCountdownEnabled(e,t){e.enabled=t.payload},updateShouldSkipCountdown(e,t){e.shouldSkipCountdown=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>{t.paused=_r.paused,t.secondsLeft=_r.secondsLeft,t.started=_r.started}),e.addCase(Ae.actions.cancelRecording,t=>{t.paused=_r.paused,t.secondsLeft=_r.secondsLeft,t.started=_r.started})}});var OT=Y(J());import{createSlice as h1}from"@reduxjs/toolkit";var E1={activeFlags:["team-platform-qa-auth"],inactiveFlags:[],fetched:!1,flagResults:{}},Md=h1({name:"featureFlags",initialState:E1,reducers:{setFeatureFlags(e,t){let o=t.payload,r=[OT.FeatureFlags.GUEST_RECORDING_LIMITS],n=[],i={};o.forEach(s=>{let a=s.flag,c=s.resultDetails.result;c==="true"?r.push(a):c==="false"&&n.push(a),i[a]={result:c}}),e.activeFlags=r,e.inactiveFlags=n,e.flagResults=i,e.fetched=!0},setIndividualExperimentValue(e,t){var o,r;e.flagResults=ne(x({},e.flagResults),{[t.payload.experimentName]:{result:((r=(o=t.payload.evaluation)==null?void 0:o.resultDetails)==null?void 0:r.result)||"not-enrolled"}})}}});var IT={propagateError:G("propagateError")};var AT={checkDevicePermissions:G("checkDevicePermissions"),updateMediaDevices:G("updateMediaDevices"),initializeCameras:G("initializeCameras"),initializeMicrophones:G("initializeMicrophones")};import{createSlice as T1}from"@reduxjs/toolkit";var C1={latestConsumerTrigger:null},wd=T1({name:"meta",initialState:C1,reducers:{},extraReducers:e=>e.addMatcher(t=>typeof t.type=="string"&&t.type.startsWith("consumer_trigger/"),(t,o)=>{t.latestConsumerTrigger=o.type})});import{createSlice as O1}from"@reduxjs/toolkit";var I1={userCanConnect:!0,userHasInternetConnection:!0,isCheckingNetworkConnection:!1},Xn=O1({name:"network",initialState:I1,reducers:{userCanConnect(e,t){e.userCanConnect=t.payload},userHasInternetConnection(e,t){e.userHasInternetConnection=t.payload},updateIsCheckingOnline(e,t){e.isCheckingNetworkConnection=t.payload}}});var DT={quitPage:G("quitPage"),checkNetworkStatus:G("check_network_status"),queueAutoRecovery:G("queue_auto_recovery")};import{createSlice as P1}from"@reduxjs/toolkit";var sa=["welcomeToLoom","checkYourSettings","learnTheControls","positionSelfieBubble","readyToRecord","shareYourVideo"],R1={shouldSeeOnboarding:!1,isOnboardingComplete:!1,onboardingStep:"welcomeToLoom",shouldSeeOnboardingEntrypoint:!1},aa=P1({name:"onboarding",initialState:R1,reducers:{updateOnboardingStep(e,t){var n;let o=(n=t==null?void 0:t.payload)==null?void 0:n.stepName,r;if(o)r=sa.indexOf(o);else{let i=sa.indexOf(e.onboardingStep);r=Math.min(i+1,sa.length-1)}e.onboardingStep=sa[r]},setShouldSeeOnboarding(e,t){e.shouldSeeOnboarding=t.payload},setIsOnboardingComplete(e,t){e.isOnboardingComplete=t.payload},setShouldSeeOnboardingEntrypoint(e,t){e.shouldSeeOnboardingEntrypoint=t.payload}}});var Ie=Y(J());import{createSlice as w1}from"@reduxjs/toolkit";var x1={bannerNotification:void 0,capturingTempAvatar:!1,dbLevel:0,errorModalMessage:"",genericErrorMessage:"Default",glowStatus:Dd,isRetake:!1,modalToDisplay:Ie.PreRecordingModal.RecordingControls,msgType:void 0,permissionRequestState:"idle",photoCountdownSeconds:3,preRecordPage:Ie.RecordingPage.PreRecord,previousView:void 0,shouldRenderCamera:!0,showAvatarMenu:!1,tempAvatarDims:{height:void 0,width:void 0},tempAvatarUrl:void 0,tempPhotoExperience:!1,userDismissedRecorderEducationBanner:!1,workspaceLimitTooltipDismissed:!1},ca=w1({name:"pre-recording",initialState:x1,reducers:{clearBannerNotification(e){e.bannerNotification=void 0},clearGenericError(e){e.genericErrorMessage="Default",e.preRecordPage=Ie.RecordingPage.PreRecord},clearMsgType(e){e.msgType=void 0},decrementAvatarCountdown(e){e.photoCountdownSeconds-=1},endTempPhotoExperience(e){e.tempPhotoExperience=!1},goBackToPreviousView(e){e.previousView===Ie.PreRecordingModal.RecordingControls&&(e.modalToDisplay=Ie.PreRecordingModal.RecordingControls),e.previousView=void 0},openAuthModalFromView(e,t){e.modalToDisplay=Ie.PreRecordingModal.Authentication,e.previousView=t.payload},openPermissionsModal(e,t){e.preRecordPage=t.payload},openSystemPermissionsModal(e,t){e.modalToDisplay=Ie.PreRecordingModal.SystemPermissions,e.previousView=t.payload},resetAvatarCountdown(e){e.photoCountdownSeconds=3},setBannerNotification(e,t){e.bannerNotification=t.payload},setIsRetake(e,t){e.isRetake=t.payload},setMemberPaywall(e){e.modalToDisplay=Ie.PreRecordingModal.MemberVideoLimitPaywall,e.preRecordPage=Ie.RecordingPage.VideoLimit},setOffline(e){e.modalToDisplay=Ie.PreRecordingModal.Offline},showErrorModal(e,t){e.errorModalMessage=t.payload.errorMessage,e.modalToDisplay=Ie.PreRecordingModal.ErrorModal},showGenericError(e,t){e.genericErrorMessage=t.payload.errorMessage,e.preRecordPage=Ie.RecordingPage.GenericError},startTempPhotoExperience(e){e.tempPhotoExperience=!0,e.showAvatarMenu=!1},toggleAvatarMenu(e){e.showAvatarMenu=!e.showAvatarMenu},toggleCapturingAvatar(e){e.capturingTempAvatar=!e.capturingTempAvatar},turnOnCamera(e){e.tempAvatarUrl=void 0},updateGlow(e,t){e.dbLevel=t.payload.level,e.glowStatus=t.payload.status},updateMsgType(e,t){e.msgType=t.payload},updatePermissionRequestState(e,t){e.permissionRequestState=t.payload},updatePreRecordPage(e,t){e.preRecordPage=t.payload},updateShouldRenderCamera(e,t){e.shouldRenderCamera=t.payload},updateTempAvatar(e,t){let{url:o,height:r,width:n}=t.payload;e.tempAvatarUrl=o,e.tempAvatarDims={height:r,width:n}},updateUserDismissedRecorderEducationBanner(e,t){e.userDismissedRecorderEducationBanner=t.payload},updateWorkspaceLimitTooltipDismissed(e,t){e.workspaceLimitTooltipDismissed=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>{t.tempAvatarUrl=void 0,t.showAvatarMenu=!1,t.tempPhotoExperience=!1,t.isRetake=!1}).addCase(co.actions.userLoginSuccess,t=>{t.modalToDisplay=Ie.PreRecordingModal.RecordingControls}).addCase(co.actions.userLogout,t=>{t.modalToDisplay=Ie.PreRecordingModal.Authentication}).addCase(co.actions.hasReachedRecordingLimit,(t,o)=>{o.payload?t.preRecordPage=Ie.RecordingPage.SignUp:t.preRecordPage===Ie.RecordingPage.SignUp&&(t.preRecordPage=Ie.RecordingPage.PreRecord)}).addCase(Xn.actions.userHasInternetConnection,(t,o)=>{o.payload?t.preRecordPage===Ie.RecordingPage.NetworkError&&(t.preRecordPage=Ie.RecordingPage.PreRecord):t.preRecordPage=Ie.RecordingPage.NetworkError})}}),{openAuthModalFromView:vQ,goBackToPreviousView:yQ}=ca.actions;var PT={openPreRecordingMenu:G("open_pre_recording_menu")};var RT=Y(J());import{createSlice as k1}from"@reduxjs/toolkit";var U1={accessRequested:!1,audioEnabled:!0,availableCameras:[],avatarOnScreenOnly:!0,cameraEnabled:!0,cameraId:void 0,cameraPosition:En,cameraSize:1,currAvatar:0,defaultCameraId:void 0,defaultCameraPosition:En,defaultMicrophoneId:void 0,flipCamera:!0,highQuality:!0,isPictureInPictureEnabled:!1,microphoneId:void 0,microphones:[],recordingTimerEnabled:!0,screenType:RT.RecordingScreenType.Desktop,sdkAvailableCameras:[rs],sdkMicrophones:[os],tabAudio:!1,tempAvatarCameraId:void 0,tempHideCamera:!1},xd=k1({name:"recorderSettings",initialState:U1,reducers:{accessRequested(e,t){e.accessRequested=t.payload},toggleIsPictureInPictureEnabled(e,t){e.isPictureInPictureEnabled=t.payload},turnOffCamera(e){e.cameraEnabled=!1,e.cameraId=void 0},turnOffMicrophone(e){e.audioEnabled=!1},turnOnCamera(e){e.cameraEnabled=!0,e.cameraId=e.defaultCameraId},turnOnMicrophone(e){e.audioEnabled=!0},updateAvailableCameras(e,t){e.availableCameras=t.payload,e.sdkAvailableCameras=[rs,...t.payload]},updateCamera(e,t){let o=t.payload;return ne(x({},e),{cameraId:o,defaultCameraId:o||e.defaultCameraId||e.cameraId,tempAvatarCameraId:o||e.defaultCameraId||e.cameraId})},updateCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y}},updateCameraSize(e,t){e.cameraSize=t.payload},updateDefaultCamera(e,t){e.defaultCameraId=t.payload},updateDefaultCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y},e.defaultCameraPosition={x:t.payload.x,y:t.payload.y}},updateFlipCamera(e,t){e.flipCamera=t.payload},updateHighQuality(e,t){e.highQuality=t.payload},updateMicrophones(e,t){e.microphones=t.payload,e.sdkMicrophones=[os,...t.payload]},updateRecordingTimerEnabled(e,t){e.recordingTimerEnabled=t.payload},updateSelectedScreenType(e,t){e.screenType=t.payload},updateTabAudio(e,t){e.tabAudio=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>ne(x({},t),{cameraPosition:t.defaultCameraPosition,highQuality:!0})).addCase(Ae.actions.captureCam,t=>{t.tabAudio=!1}).addCase(Ae.actions.captureDesktop,t=>{t.tabAudio=!1}).addCase(Ae.actions.captureTab,t=>{t.tabAudio=!1}).addCase($r,(t,o)=>{t.microphoneId=o.payload,t.defaultMicrophoneId=o.payload})}});var Ld={};je(Ld,{selectAlertMessages:()=>K1});import{createSelector as F1}from"@reduxjs/toolkit";var W1=e=>e.alerts,K1=F1(W1,e=>e.alertMessages);var Nd={};je(Nd,{selectAtlassianUserId:()=>z1,selectFetchedBrowserUser:()=>$1,selectHasReachedRecordingLimit:()=>V1,selectIsUserLoggedIn:()=>j1,selectIsUserViewOnly:()=>X1,selectPartnerGuestRecordingLimit:()=>H1,selectUserId:()=>G1});var MT=Y(J());import{createSelector as _T}from"@reduxjs/toolkit";var lo=e=>e.authentication,j1=e=>lo(e).user!==void 0,V1=_T(lo,e=>e.hasReachedRecordingLimit),H1=_T(lo,e=>e.partnerGuestRecordingLimit),G1=e=>{var o;return(o=lo(e).user)==null?void 0:o.id},z1=e=>{var o;return(o=lo(e).user)==null?void 0:o.aa_id},$1=e=>lo(e).fetchedBrowserUser,X1=e=>lo(e).memberRole===MT.OrgRoles.Viewer;var kd={};je(kd,{isChromeExtensionInstalled:()=>Q1,selectDesktopAppInstalled:()=>rB,selectDesktopTabUuid:()=>eB,selectEndedCascadeRecording:()=>tB,selectOpenChromeExtensionResult:()=>Z1,selectShouldOpenDesktopApp:()=>q1,shouldOpenChromeExtension:()=>J1});import{createSelector as Y1}from"@reduxjs/toolkit";var uo=e=>e.cascadingRecorders,J1=e=>uo(e).shouldOpenChromeExtension,Q1=e=>uo(e).isChromeExtensionInstalled,Z1=Y1(uo,e=>e.openChromeExtensionResult),q1=e=>uo(e).shouldOpenDesktopApp,eB=e=>uo(e).desktopTabUuid,tB=e=>uo(e).endedCascadedRecording,rB=e=>uo(e).isDesktopAppInstalled;var Ud={};je(Ud,{selectCascadingRecordersDesktopFeatureFlagValue:()=>nB,selectCascadingRecordersFeatureFlagValue:()=>oB,selectDesktopSubscriptionTimeoutFeatureFlagValue:()=>iB,selectFeatureFlags:()=>Qo,selectJsmOnboardingContentFlagValue:()=>dB,selectM25UserInterfaceFeatureFlagValue:()=>sB,selectRolloutSdkPermissionsVisibilityFlagValue:()=>cB,selectRolloutSdkRecorderEducationFlagValue:()=>lB,selectShouldShowAiInSdk:()=>aB});var Mr=Y(J()),Qo=e=>e.featureFlags,oB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureFlags.ROLLOUT_SDK_CASCADING_RECORDERS_M1])!=null&&o.result)},nB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureGates.ROLLOUT_SDK_CASCADING_RECORDERS_M3])!=null&&o.result)},iB=e=>{var o;let{flagResults:t}=Qo(e);return((o=t[Mr.FeatureExperiments.DESKTOP_SUBSCRIPTION_TIMEOUT])==null?void 0:o.result)||0},sB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureFlags.ROLLOUT_SDK_M25_UI])!=null&&o.result)},aB=e=>{var o;let{flagResults:t}=Qo(e);return((o=t[Mr.FeatureFlags.ROLLOUT_AI_SDK])==null?void 0:o.result)==="variant"},cB=()=>!0,lB=()=>"variant",dB=e=>!0;var Bd={};je(Bd,{selectIsCheckingNetworkConnection:()=>pB,selectUserHasInternetConnection:()=>uB});import{createSelector as wT}from"@reduxjs/toolkit";var xT=e=>e.network,uB=wT(xT,e=>e.userHasInternetConnection),pB=wT(xT,e=>e.isCheckingNetworkConnection);var Fd={};je(Fd,{isInChaptersEditMode:()=>bB,isInSummaryEditMode:()=>CB,isInTitleEditMode:()=>TB,selectAiGenerated:()=>AB,selectAutoChaptersCount:()=>yB,selectAutoChaptersStatus:()=>vB,selectAutoDescriptionStatus:()=>hB,selectAutoTitleStatus:()=>gB,selectChapters:()=>OB,selectDescription:()=>EB,selectDuration:()=>SB,selectIsAiDropdownOpen:()=>IB,selectLoomVideo:()=>Ut,selectLoomVideoId:()=>mB,selectLoomVideoTitle:()=>fB,selectPreviewRecording:()=>er,selectSavedToastContent:()=>_B,selectShouldAnimateLogo:()=>DB,selectShouldAnimateTitle:()=>PB,selectTitleHasBeenAnimated:()=>RB});import{createSelector as Ke}from"@reduxjs/toolkit";var er=e=>e.previewRecording,Ut=Ke(er,e=>e.loomVideo),mB=Ke(Ut,e=>e==null?void 0:e.id),fB=Ke(Ut,e=>e==null?void 0:e.title),gB=Ke(Ut,e=>e==null?void 0:e.autoTitleStatus),hB=Ke(Ut,e=>e==null?void 0:e.autoDescriptionStatus),EB=Ke(Ut,e=>e==null?void 0:e.description),SB=Ke(Ut,e=>(e==null?void 0:e.duration)||0),vB=Ke(Ut,e=>e==null?void 0:e.autoChaptersStatus),yB=Ke(Ut,e=>e==null?void 0:e.autoChaptersCount),TB=Ke(er,e=>e==null?void 0:e.isInTitleEditMode),CB=Ke(er,e=>e==null?void 0:e.isInSummaryEditMode),bB=Ke(er,e=>e==null?void 0:e.isInChaptersEditMode),OB=Ke(Ut,e=>(e==null?void 0:e.chapters)||""),IB=Ke(er,e=>e.isAiDropdownOpen),AB=Ke(Ut,e=>(e==null?void 0:e.autoTitleStatus)==="AUTO"||(e==null?void 0:e.autoDescriptionStatus)==="AUTO"||(e==null?void 0:e.autoChaptersStatus)==="success"),DB=Ke(er,e=>e.shouldAnimateLogo),PB=Ke(er,e=>e.shouldAnimateTitle),RB=Ke(er,e=>e.titleHasBeenAnimated),_B=Ke(er,e=>e.showSavedContentToast);var Wd={};je(Wd,{selectUser:()=>LT,selectUserVideoSettings:()=>wB});import{createSelector as MB}from"@reduxjs/toolkit";var LT=e=>e.user,wB=MB(LT,e=>e.videoSettings);var xB=x(x(x(x(x(x(x(x(x(x(x(x({},Ld),Nd),kd),Bd),Gc),Hl),Fd),il),Yc),Ud),Wd),Jc);import{createSlice as LB}from"@reduxjs/toolkit";var NB={auto_chapters:!1,auto_cta:!1,auto_filler_word_removal:!1,auto_silence_removal:!1,auto_summary:!1,auto_tasks:!1,auto_title:!1,comments_email_enabled:!1,comments_enabled:!1,default_filler_word_removal:"",download_enabled:!1,email_gate_video_type:"",filler_word_removal:"",loom_branded_player:!1,noise_suppression:!1,record_reply_enabled:!1,salesforce_engagement_tracking:!1,show_analytics_to_viewer:!1,show_transcript_to_viewer:!1,stylizedCaptions:!1,suggested_playback_rate:"",use_emojis:!1,use_gif:!1,viewerCaptionsOn:!1,viewers_can_weave:!1,viewers_can_weave_default:!1},kB={videoSettings:NB},Kd=LB({name:"user",initialState:kB,reducers:{updateLoomVideoSettings(e,t){e.videoSettings=x(x({},e.videoSettings),t.payload)}}});var NT={getWorkspaces:G("get_workspaces"),getDefaultWorkspaceAdmins:G("get_default_workspace_admins")};var hZ=FB({alerts:As.reducer,analytics:Ed.reducer,authentication:co.reducer,bubbleMenu:Od.reducer,cascadingRecorders:Id.reducer,countdown:_d.reducer,featureFlags:Md.reducer,meta:wd.reducer,network:Xn.reducer,onboarding:aa.reducer,preRecording:ca.reducer,previewRecording:ud.reducer,recorder:Ae.reducer,recorderSettings:xd.reducer,settings:Vn.reducer,user:Kd.reducer,workspaces:$n.reducer}),EZ=x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x({},As.actions),Ed.actions),co.actions),Od.actions),Id.actions),_d.actions),Md.actions),Xn.actions),aa.actions),ca.actions),ud.actions),Ae.actions),xd.actions),$n.actions),wd.actions),Vn.actions),Kd.actions),bT),SZ=x(x(x(x(x(x(x(x(x(x({},ET),TT),CT),IT),AT),DT),aa.actions),PT),ta),NT);var KB=()=>wr.createElement("svg",{width:"28",height:"109",viewBox:"0 0 28 109",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wr.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.10622 44.5243C-1.75567 61.9117 -0.995304 82.6126 11.6556 108.167L14.3442 106.836C1.99509 81.8912 1.32243 61.8892 5.03485 45.1748C7.87225 32.3999 13.2447 21.5679 18.1188 11.7408C19.1088 9.74462 20.0783 7.78996 21.0018 5.8689L24.4641 15.1763C24.7529 15.9527 25.6165 16.348 26.393 16.0592C27.1694 15.7703 27.5647 14.9068 27.2759 14.1303L22.569 1.47742C22.2802 0.700979 21.4166 0.305696 20.6401 0.59453L7.98726 5.30139C7.21082 5.59022 6.81553 6.4538 7.10437 7.23024C7.39321 8.00669 8.25679 8.40198 9.03323 8.11314L18.2386 4.68875C17.3787 6.47204 16.47 8.30338 15.5358 10.186C10.6337 20.0653 5.03091 31.3565 2.10622 44.5243Z",fill:"white"})),FT=({onPermissionsGranted:e,onPermissionsNotGranted:t,onSkip:o})=>{let r=P(s=>s.preRecording.permissionRequestState),n=P(s=>s.recorder.mediaDevicePermissions),i=WB();return kT(()=>{i(_.checkDevicePermissions())},[i]),kT(()=>{n===BT.PermissionState.Granted?e():r==="responded"&&t()},[n,r,e,t]),wr.createElement(wr.Fragment,null,wr.createElement(UT,{position:"relative",top:"23rem",left:"8rem"},wr.createElement(qt,{message:"First, allow permissions so you can record your face and screen.",onSkip:o}),wr.createElement(UT,{position:"absolute",bottom:"calc(100% - 2.5rem)",right:"calc(100% + 0.5rem)"},wr.createElement(KB,null))))};import jB from"@emotion/styled";import Yn from"react";import{Container as VB}from"@loomhq/lens";var WT,HB=jB.svg(WT||(WT=I(["\n position: absolute;\n bottom: 0;\n right: 0;\n width: 64px;\n"]))),KT=({onSkip:e,onNext:t})=>Yn.createElement("div",null,Yn.createElement(VB,{position:"absolute",right:"calc(398px + var(--lns-space-large) + var(--lns-space-xlarge))",top:"180px",width:"fit-content"},Yn.createElement(qt,{message:"Set up your recording settings. ",onSkip:e,onNext:t}),Yn.createElement(HB,{viewBox:"0 0 68 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yn.createElement("path",{d:"M67.1051 44.9021c.5602-.6104.5195-1.5592-.0908-2.1194l-9.946-9.1284c-.6103-.5602-1.5592-.5195-2.1193.0908-.5602.6103-.5195 1.5592.0908 2.1194l8.8408 8.1141-8.1141 8.8409c-.5602.6103-.5195 1.5592.0908 2.1194.6103.5601 1.5592.5194 2.1194-.0909l9.1284-9.9459ZM.5 0c0 8.13096 3.33257 20.056 13.2561 29.6728 9.9583 9.6505 26.3923 16.8244 52.3081 15.7136l-.1284-2.9972c-25.2842 1.0836-40.8502-5.9146-50.0919-14.8707C6.56743 18.5287 3.5 7.41264 3.5 0h-3Z",fill:"#fff"}))));import GB from"@emotion/styled";import Zo from"react";import{Container as zB}from"@loomhq/lens";var jT,$B=GB.svg(jT||(jT=I(["\n position: absolute;\n bottom: 0;\n right: calc(100% + var(--lns-space-small));\n height: 96px;\n"])));function VT(e){return Zo.createElement(Zo.Fragment,null,Zo.createElement(zB,{position:"absolute",left:"calc(192px + var(--lns-space-large) + var(--lns-space-xxlarge))",bottom:"96px",width:"fit-content",zIndex:2147483647},Zo.createElement(qt,{message:"Once you start recording, press stop to finish the recording.",onSkip:e.onSkip,onNext:e.onNext}),Zo.createElement($B,{viewBox:"0 0 49 100",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Zo.createElement("path",{d:"M10.9393 99.0607c.5858.5857 1.5356.5857 2.1214 0l9.5459-9.546c.5858-.5858.5858-1.5355 0-2.1213-.5858-.5858-1.5355-.5858-2.1213 0L12 95.8787l-8.48528-8.4853c-.58579-.5858-1.53554-.5858-2.12132 0-.58579.5858-.58579 1.5355 0 2.1213l9.5459 9.546ZM47.0894.307993C10.4313 28.3108 10.5 71.5837 10.5 98h3c0-26.5837.0687-68.3108 35.4106-95.30799L47.0894.307993Z",fill:"#fff"}))))}import XB from"@emotion/styled";import la from"react";import{Container as YB}from"@loomhq/lens";var HT,JB=XB.svg(HT||(HT=I(["\n position: absolute;\n top: 80%;\n right: 0;\n width: 64px;\n"])));function GT(e){return la.createElement(YB,{position:"absolute",right:"calc(398px + var(--lns-space-large) + var(--lns-space-xlarge))",top:"306px",width:"fit-content"},la.createElement(qt,{message:"Start your recording!",onClose:e.onClose}),la.createElement(JB,{width:"68",height:"56",viewBox:"0 0 68 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},la.createElement("path",{d:"M67.1051 44.9021C67.6653 44.2917 67.6246 43.3429 67.0143 42.7827L57.0683 33.6543C56.458 33.0941 55.5091 33.1348 54.949 33.7451C54.3888 34.3554 54.4295 35.3043 55.0398 35.8645L63.8806 43.9786L55.7665 52.8195C55.2063 53.4298 55.247 54.3787 55.8573 54.9389C56.4676 55.499 57.4165 55.4583 57.9767 54.848L67.1051 44.9021ZM0.5 0C0.5 8.13096 3.83257 20.056 13.7561 29.6728C23.7144 39.3233 40.1484 46.4972 66.0642 45.3864L65.9358 42.3892C40.6516 43.4728 25.0856 36.4746 15.8439 27.5185C6.56743 18.5287 3.5 7.41264 3.5 0H0.5Z",fill:"white"})))}var zT,qB=QB.div(zT||(zT=I(["\n width: 100%;\n height: 100%;\n background-color: hsla(242, 88.4%, 66.3%, 0.95);\n position: relative;\n pointer-events: all;\n"])));function Hd(){let e=ZB(),t=P(a=>a.recorder.onboardingStep),o=Jn(a=>{e(Xr()),e(_.trackAnalytics({event:mc,properties:{source:a,step:t}}))},[e,t]),r=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.RecorderSettingsStep}))},[e]),n=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.RecordingControlsStep}))},[e]),i=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.StartRecordingStep}))},[e]),s=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.PermissionsBlockedStep}))},[e]);return Vd(()=>{function a(c){c.key==="Escape"&&(c.preventDefault(),o("Escape key"))}return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[o]),Vd(()=>{e(_.trackAnalytics({event:_i}))},[e]),Vd(()=>{e(_.trackAnalytics({event:Mi,properties:{step:t}}))},[t,e]),po.createElement(qB,null,t===Dt.OnboardingTutorialStep.PermissionsStep&&po.createElement(FT,{onSkip:()=>o("Skip tutorial button"),onPermissionsGranted:r,onPermissionsNotGranted:s}),t===Dt.OnboardingTutorialStep.PermissionsBlockedStep&&po.createElement(gT,{onSkip:()=>o("Skip tutorial button")}),t===Dt.OnboardingTutorialStep.RecorderSettingsStep&&po.createElement(KT,{onSkip:()=>o("Skip tutorial button"),onNext:n}),t===Dt.OnboardingTutorialStep.RecordingControlsStep&&po.createElement(VT,{onSkip:()=>o("Skip tutorial button"),onNext:i}),t===Dt.OnboardingTutorialStep.StartRecordingStep&&po.createElement(GT,{onClose:()=>o("Close tutorial button")}),![Dt.OnboardingTutorialStep.PermissionsStep,Dt.OnboardingTutorialStep.PermissionsBlockedStep].includes(t)&&po.createElement(ms,null))}var XT,iF=eF.div(XT||(XT=I(["\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: ",";\n\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0;\n\n pointer-events: none;\n"])),2147483647);function sF(e){return[Te.RecordingStage.PreRecording,Te.RecordingStage.Countdown,Te.RecordingStage.PostRecording].includes(e)}var $T=[Te.RecordingStage.PreRecording,Te.RecordingStage.OnboardingTutorial],Gd=()=>{let e=te(),t=P(E=>E.recorder.appStage),o=P(E=>E.countdown.secondsLeft),r=P(E=>E.preRecording.shouldRenderCamera),n=P(E=>E.preRecording.modalToDisplay),i=P(E=>E.previewRecording.loomVideo,oF),s=P(E=>E.countdown.shouldSkipCountdown),a=P(A.selectSdkProductName),c=P(A.selectSdkEntryPointName),u=P(A.selectFetchedBrowserUser),m=P(A.isChromeExtensionInstalled),p=P(A.shouldOpenChromeExtension),d=P(A.selectWorkspacesFetched),l=P(A.selectCascadingRecordersFeatureFlagValue),f=P(A.selectOpenChromeExtensionResult),h=P(A.selectEndedCascadeRecording),v=P(A.selectDesktopAppInstalled),S=p!==!1&&f!==si.Failure;if(da(()=>{e(_.checkUserAuthenticated())},[e]),da(()=>{l&&e(_.checkExtensionInstalled())},[e,l]),Yf(),Jf(),$f(),da(()=>{u&&d&&m===!0&&p===void 0&&e(_.compareUsers())},[e,u,m,p,d]),da(()=>{$T.includes(t)&&p&&f===si.NotStarted&&e(_.openChromeExtension({menuTriggerSource:Te.CascadingRecordersMenuTrigger.Overlay}))},[t,e,p,f]),t===Te.RecordingStage.Closed||t===Te.RecordingStage.Cascaded||$T.includes(t)&&(v||S))return null;let y=()=>{e(R.updateShouldSkipCountdown(!0)),e(_.trackAnalytics({event:Ja,properties:{videoId:i==null?void 0:i.id,sdk_recorder_launch_app_source:a,sdk_recorder_launch_app_entrypoint:c}})),e(R.updateRecordingStage({appStage:Te.RecordingStage.CountdownSkipped})),setTimeout(()=>e(R.updateShouldSkipCountdown(!1)),3e3)};return Pt.createElement(rF,{FallbackComponent:()=>Pt.createElement("div",null,"Something went wrong"),onError:(E,b)=>e(_.propagateError({error:nF(E),componentStack:b.componentStack}))},Pt.createElement(iF,{id:"recorder-overlay-id",className:sF(t)?"bgc:backdrop":""},t===Te.RecordingStage.OnboardingTutorial&&Pt.createElement(Hd,null),t===Te.RecordingStage.PreRecording&&Pt.createElement(Gy,null),Pt.createElement(tF,{active:t===Te.RecordingStage.PreRecording,focusTrapOptions:{clickOutsideDeactivates:!0,fallbackFocus:"#fallback-focus"}},Pt.createElement("div",null,Pt.createElement("div",{tabIndex:-1,id:"fallback-focus"}),[Te.RecordingStage.PreRecording,Te.RecordingStage.Countdown,Te.RecordingStage.CountdownSkipped,Te.RecordingStage.Recording,Te.RecordingStage.Paused].includes(t)&&n===Te.PreRecordingModal.RecordingControls&&r&&Pt.createElement(ms,null),!h&&Pt.createElement(AS,null))),t===Te.RecordingStage.Countdown&&o>0&&!s&&Pt.createElement(iT,{count:o,onSkipClick:y}),t===Te.RecordingStage.PostRecording&&Pt.createElement(Vy,null)))};import aF from"@emotion/cache";import{CacheProvider as cF}from"@emotion/react";import Qn,{useCallback as lF,useState as dF}from"react";import uF from"react-shadow";import{buildGlobalStylesheet as pF,textSizes as mF}from"@loomhq/lens";var fF="\n* {\n padding: 0;\n margin: 0;\n}\n",gF="\n.".concat(Io," {\n --lns-unit: 8px;\n}\n"),hF=e=>"\n.".concat(Io," .lens-overridable {\n ").concat(e.fontFamily?"font-family: ".concat(e.fontFamily,";"):"","\n ").concat(e.recordButtonColor?"--lns-color-record: ".concat(e.recordButtonColor,";"):"","\n ").concat(e.recordButtonHoverColor?"--lns-color-recordHover: ".concat(e.recordButtonHoverColor,";"):"","\n ").concat(e.recordButtonActiveColor?"--lns-color-recordActive: ".concat(e.recordButtonActiveColor,";"):"","\n ").concat(e.primaryColor?"--lns-color-primary: ".concat(e.primaryColor,";"):"","\n ").concat(e.primaryHoverColor?"--lns-color-primaryHover: ".concat(e.primaryHoverColor,";"):"","\n ").concat(e.primaryActiveColor?"--lns-color-primaryActive: ".concat(e.primaryActiveColor,";"):"","\n ").concat(e.fontUnitSize?EF(e.fontUnitSize):"","\n}\n"),EF=e=>"\n --lns-or-unit: ".concat(e,";\n ").concat(Object.entries(mF).map(([t,o])=>"--lns-fontSize-".concat(t,": calc(").concat(o.fontSize," * var(--lns-or-unit, 8px));\n --lns-lineHeight-").concat(t,": calc(").concat(o.lineHeight," * var(--lns-or-unit, 8px));")).join("\n"),"\n"),SF=pF(".".concat(Io),".".concat(Io)),YT=({children:e})=>{let[t,o]=dF(null),{styles:r}=P(i=>i.settings.sdkConfig),n=lF(i=>{if(i&&!t){let s=aF({key:"em-lns",nonce:"em-lns-nonce",container:i});o(s)}},[t]);return Qn.createElement(uF.div,{id:Nc},Qn.createElement("div",{id:"loom-sdk-tooltip-mount-point",className:Io},Qn.createElement(cF,{value:t},Qn.createElement("style",null,"".concat(fF," ").concat(SF," ").concat(gF," ").concat(hF(r))),Qn.createElement("style",{id:Sm,ref:n}),e)))};var vF=["\n @font-face {\n font-weight: 400;\n font-style: normal;\n font-family: 'Circular';\n src: url('https://cdn.loom.com/assets/loom-sdk/CircularXXWeb-Book.woff2') format('woff2');\n };","\n @font-face {\n font-weight: 700;\n font-style: normal;\n font-family: 'Circular';\n src: url('https://cdn.loom.com/assets/loom-sdk/CircularXXWeb-Bold.woff2') format('woff2');\n };"],yF=e=>{let t=document.createElement("style");t.type="text/css",t.textContent=e,document.head.appendChild(t)},TF=()=>{for(let e of vF)yF(e)},JT=()=>(TF(),null);var QT=e=>{let t=document.createElement("div");document.body.append(t),CF.render(ua.createElement(bF,{store:e},ua.createElement(YT,null,ua.createElement(JT,null),ua.createElement(Gd,null))),t)};function ZT(e,t=RF){return t.map(o=>{let r=o(e);if(r instanceof Error)throw r}),e}var IF=({allowedRecordingTypes:e,defaultRecordingType:t})=>{if(e){if(e.length===0)return new Error("loom recordSDK: config.allowedRecordingTypes must specify at least one recording type!");if(t&&!e.includes(t))return new Error("loom recordSDK: config.defaultRecordingType must be included in config.allowedRecordingTypes")}if(t&&!Object.values(xi).map(o=>o.toString()).includes(t.toString()))return new Error("loom recordSDK: invalid option specified for config.defaultRecordingType '".concat(t.toString(),"'"))},AF=["fontFamily","fontUnitSize","recordButtonColor","recordButtonHoverColor","recordButtonActiveColor","primaryColor","primaryHoverColor","primaryActiveColor"],DF=({styles:e})=>{if(typeof e!="object"&&typeof e!="undefined")return new Error("loom recordSDK: config.styles must be an object or undefined");for(let t of AF){let o=e==null?void 0:e[t];if(typeof o!="string"&&typeof o!="undefined")return new Error("loom recordSDK: config.styles.".concat(t," must be a string or undefined"));if(typeof o=="string"&&!PF(o))return new Error("loom recordSDK: config.styles.".concat(t," contains invalid characters. It must exclude [;{}&<>:]"))}};function PF(e){return!/.*[;{}&<>:].*/g.test(e)}var RF=[IF,DF];var zd="4.2.1",_F={bubbleResizable:!0},MF=e=>{let{replaceHooks:t}=$p(e);Tm(e);let o=A.selectSdkProductName(e.getState()),r=A.selectSdkEntryPointName(e.getState());return e.dispatch(_.trackAnalytics({event:mi,properties:{sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e.dispatch(_.incrementDatadogMetric({metric:Vp})),{teardown:()=>{},configureButton:({element:n,hooks:i}={})=>{let s=new Ao(e,i,t);return n&&(n.onclick=()=>{e.dispatch(_.trackAnalytics({event:Di,properties:{sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),s.openPreRecordPanel()}),s},status:()=>({state:To(e.getState().recorder.appStage),success:!0}),updateConfig:({config:n})=>{e.dispatch(R.updateSDKConfig(n))}}},wF=e=>({teardown:()=>{},configureButton:({element:t}={})=>{let o=new Ao;return t&&(t.onclick=()=>{e.dispatch(R.setOffline()),e.dispatch(R.openPreRecordingMenu()),Ve.activeButton=o}),o},status:()=>({state:void 0,success:!1}),updateConfig:()=>{}}),xF=async e=>{console.warn("@loomhq/record-sdk deprecation: Please migrate `setup` to `createInstance`");let{publicAppId:t,jws:o,environment:r,config:n}=e,i=(()=>{if(o!=null)return{mode:"custom",jws:o};if(t!=null)return{mode:"standard",publicAppId:t};throw new Error("@loomhq/record-sdk is misconfigured: A publicAppId or jws was not provided")})();return await qT(ne(x({},i),{environment:r,config:n}))},LF=10*1e3,qT=async e=>{let{environment:t,config:o={}}=e,r=ZT(o),n=Am(e),i=Bc(n,zd,t),s=new Promise(m=>{let p=!1,d=setTimeout(()=>{p=!0,m(new Error("[record-sdk] createInstance: iframePromise timeout - 10s is too long for the sdk-background to load"))},LF);i.onload=()=>{p||(clearTimeout(d),m(!0))}});document.body.append(i);let a=await(async()=>{let m=await s;return m instanceof Error?(console.error(m.message),m):Fc(i)})(),c=a instanceof Error?Up([],t?["development","testbench"].includes(t):!1).store:a,u=Im(e);return c.dispatch(u),a instanceof Error&&(console.error("[record-sdk] createInstance: storeResult error",{message:a.message}),bm(a,n,zd,t)),c.dispatch(R.setSDKConfig(x(x({},_F),r))),c.dispatch(R.setEnvironment(t||"production")),c.dispatch(R.setLoomSdkVersion(zd)),QT(c),a instanceof Error?(Uc(a.message,t),wF(c)):MF(c)};export{Tc as Environment,xi as RecordingType,qT as createInstance,xF as setup};
1
+ var tC=Object.create,$d=Object.freeze,on=Object.defineProperty,rC=Object.defineProperties,oC=Object.getOwnPropertyDescriptor,nC=Object.getOwnPropertyDescriptors,iC=Object.getOwnPropertyNames,Xd=Object.getOwnPropertySymbols,sC=Object.getPrototypeOf,Jd=Object.prototype.hasOwnProperty,aC=Object.prototype.propertyIsEnumerable;var Yd=(e,t,o)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,x=(e,t)=>{for(var o in t||(t={}))Jd.call(t,o)&&Yd(e,o,t[o]);if(Xd)for(var o of Xd(t))aC.call(t,o)&&Yd(e,o,t[o]);return e},ne=(e,t)=>rC(e,nC(t));var ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),je=(e,t)=>{for(var o in t)on(e,o,{get:t[o],enumerable:!0})},cC=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of iC(t))!Jd.call(e,n)&&n!==o&&on(e,n,{get:()=>t[n],enumerable:!(r=oC(t,n))||r.enumerable});return e};var Y=(e,t,o)=>(o=e!=null?tC(sC(e)):{},cC(t||!e||!e.__esModule?on(o,"default",{value:e,enumerable:!0}):o,e));var I=(e,t)=>$d(on(e,"raw",{value:$d(t||e.slice())}));var J=ve((kF,ku)=>{"use strict";var fa=Object.defineProperty,lC=Object.getOwnPropertyDescriptor,dC=Object.getOwnPropertyNames,uC=Object.prototype.hasOwnProperty,pC=(e,t)=>{for(var o in t)fa(e,o,{get:t[o],enumerable:!0})},mC=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of dC(t))!uC.call(e,n)&&n!==o&&fa(e,n,{get:()=>t[n],enumerable:!(r=lC(t,n))||r.enumerable});return e},fC=e=>mC(fa({},"__esModule",{value:!0}),e),Qd={};pC(Qd,{AuthenticationStep:()=>Zd,AwsRegion:()=>Tu,BrowserExtensionMessage:()=>nu,CascadingRecordersMenuTrigger:()=>Nu,DOMHooks:()=>Mu,Environment:()=>Iu,EnvironmentUrl:()=>Au,FeatureExperiments:()=>Pu,FeatureFlags:()=>Ru,FeatureGates:()=>Du,LogLevel:()=>eu,LoomURL:()=>ou,OnboardingTutorialStep:()=>wu,OrgRoles:()=>qd,Permalink:()=>ru,PermissionErrors:()=>Ou,PermissionState:()=>Cu,PostRecordingConfirm:()=>au,PreRecordingModal:()=>cu,QualityProfile:()=>Su,RecordLayerStates:()=>Eu,RecorderClient:()=>su,RecorderVersion:()=>iu,RecordingPage:()=>mu,RecordingScreenType:()=>uu,RecordingStage:()=>lu,RecordingType:()=>du,ResultKind:()=>gu,S3Bucket:()=>vu,SDKPackage:()=>Lu,SDKPermissionFailureReason:()=>bu,SDKRecordingType:()=>pu,SDKState:()=>_u,SDKUnsupportedReasons:()=>xu,SharedAuthEvent:()=>tu,StorageClass:()=>yu,ToastContent:()=>fu,WebSocketStatusCode:()=>hu});ku.exports=fC(Qd);var Zd=(e=>(e.First="first-authentication-step",e.Second="second-authentication-step",e))(Zd||{}),qd=(e=>(e.Admin="admin",e.Creator="creator",e.CreatorLite="creator_lite",e.Guest="guest",e.Viewer="viewer",e))(qd||{}),eu=(e=>(e.Fatal="fatal",e.Error="error",e.Warning="warn",e.Info="info",e.Debug="debug",e))(eu||{}),tu=(e=>(e.Initiated="Shared Auth Flow Initiated",e.GraphQLSubscribed="Shared Auth GraphQL Subscribed",e.GraphQLHeardBack="Shared Auth GraphQL Heard Back",e.SessionRequestTokenReceived="Shared Auth Received Session Request Token",e.LoginSuccess="Shared Auth Login Success",e))(tu||{}),ru=(e=>(e.EXTENSION_RECORDING_SUPPORT_ARTICLE="https://support.loom.com/hc/en-us/articles/360002187698-Getting-started-with-the-Chrome-Extension",e.DESKTOP_RECORDING_SUPPORT_ARTICLE="https://support.loom.com/hc/en-us/articles/360002207917-Getting-started-with-the-Desktop-App",e.CHROME_EXTENSION_INSTALL="https://chrome.google.com/webstore/detail/loom-video-recorder-scree/liecbddmkiiihnedobmlmillhodjkdmb",e))(ru||{}),ou=(e=>(e.Production="https://loom.com",e.Staging="https://stage.loom.com",e.Development="https://loomlocal.com:4444",e))(ou||{}),nu=(e=>(e.INITIATE_LOOM_RECORDER_FROM_BUTTON="initiate-loom-recorder-from-script",e))(nu||{}),iu=(e=>(e.V5="v5",e.V3="v3",e.V7="v7",e))(iu||{}),su=(e=>(e.CHROME="chrome",e.SDK="sdk",e))(su||{}),au=(e=>(e.CloseModal="close-modal",e.DeleteRecording="delete-modal",e.RedoRecording="restart-recording",e.InsertRecording="insert-recording",e))(au||{}),cu=(e=>(e.RecordingControls="recording-controls",e.Authentication="authentication",e.Offline="offline",e.SystemPermissions="system-permissions",e.MemberVideoLimitPaywall="member-video-limit-paywall",e.ErrorModal="error-modal",e))(cu||{}),lu=(e=>(e.OnboardingTutorial="onboarding-tutorial",e.Cascaded="cascaded",e.PreRecording="pre-recording",e.Countdown="countdown",e.CountdownSkipped="countdown-skipped",e.Recording="recording",e.Paused="paused",e.PostRecording="post-recording",e.Closed="closed",e))(lu||{}),du=(e=>(e.ScreenAndCamera="screen_cam",e.ScreenOnly="screen",e.CameraOnly="cam",e))(du||{}),uu=(e=>(e.Camera="cam",e.Desktop="desktop",e.Tab="tab",e))(uu||{}),pu=(e=>(e.FullScreen="full_screen",e.Window="window",e.CurrentTab="current_tab",e.CameraOnly="camera_only",e))(pu||{}),mu=(e=>(e.About="about-tab",e.Notifications="notifications-tab",e.PreRecord="pre-recording-tab",e.Settings="settings-tab",e.OSPermissionsTour="os-permission-tour",e.Effects="effects",e.Canvas="canvas",e.VideoLimit="videoLimit",e.Blur="blurText",e.NetworkError="networkError",e.UpdateBrowser="updateBrowser",e.SignUp="sign-up",e.GenericError="generic-error",e.ScreenSystemPermissions="screen-system-permissions",e.AudioCameraSystemPermissions="audio-camera-system-permissions",e.StoragePermissions="storage-permissions",e))(mu||{}),fu=(e=>(e.Summary="summary",e.Chapters="chapters",e))(fu||{}),gu=(e=>(e.Success="success",e.Failed="failed",e))(gu||{}),hu=(e=>(e[e.WS_CLOSE_CODE_NORMAL=1e3]="WS_CLOSE_CODE_NORMAL",e[e.WS_CLOSE_CODE_GOING_AWAY=1001]="WS_CLOSE_CODE_GOING_AWAY",e[e.WS_CLOSE_UNSUPPORTED_DATA=1003]="WS_CLOSE_UNSUPPORTED_DATA",e[e.WS_CLOSE_CODE_ABNORMAL_CLOSE=1006]="WS_CLOSE_CODE_ABNORMAL_CLOSE",e))(hu||{}),Eu=(e=>(e.Abandoning="wrucore-is-abandoning",e.Abandoned="wrucore-is-abandoned",e.Intitializing="wrucore-is-initializing",e.Ready="wrucore-is-ready",e.Starting="wrucore-is-starting",e.Recording="wrucore-is-recording",e.Pausing="wrucore-is-pausing",e.Paused="wrucore-is-paused",e.Resuming="wrucore-is-resuming",e.Resumed="wrucore-is-resumed",e.Cancelling="wrucore-is-cancelling",e.Cancelled="wrucore-is-cancelled",e.MediaStreamStopped="wrucore-is-media-stream-stopped",e.Completing="wrucore-is-completing",e.FinishedUploading="wrucore-is-finished-uploading",e.Completed="wrucore-is-completed",e.Unknown="wrucore-unknown-state",e))(Eu||{}),Su=(e=>(e.Lowest="lowest",e.Low="low",e.Normal="normal",e.High="high",e.Highest="highest",e))(Su||{}),vu=(e=>(e.Development="loom-media-dev",e.Test="loom-media-test",e.Stage="loom-media-staging",e.StageEU="loom-stg-euc1-media",e.Production="loom-media-production",e))(vu||{}),yu=(e=>(e.IntelligentTiering="INTELLIGENT_TIERING",e))(yu||{}),Tu=(e=>(e.USWest2="us-west-2",e))(Tu||{}),Cu=(e=>(e.Granted="granted",e.Prompt="prompt",e.Denied="denied",e))(Cu||{}),bu=(e=>(e.SystemPermissionNotGranted="SystemPermissionNotGranted",e.ChromePermissionNotGranted="ChromePermissionNotGranted",e))(bu||{}),Ou=(e=>(e.PermissionDismissedError="PermissionDismissedError",e))(Ou||{}),Iu=(e=>(e.Development="development",e.Testbench="testbench",e.Staging="staging",e.Production="production",e))(Iu||{}),Au=(e=>(e.Development="https://loomlocal.com:4444",e.Staging="https://stage.loom.com",e.Production="https://www.loom.com",e))(Au||{}),Du=(e=>(e.ROLLOUT_SDK_CASCADING_RECORDERS_M3="rollout-sdk-cascading-recorders-m3",e))(Du||{}),Pu=(e=>(e.DESKTOP_SUBSCRIPTION_TIMEOUT="cascading-recorders-desktop-subscription-timeout",e.ROLLOUT_NEW_SDK_ONBOARDING="release-sdk-onboarding",e))(Pu||{}),Ru=(e=>(e.GUEST_RECORDING_LIMITS="guest-recording-limits",e.ROLLOUT_NEW_SDK_ONBOARDING="release-sdk-onboarding",e.ROLLOUT_AI_SDK="rollout-ai-in-sdk",e.ROLLOUT_SDK_CASCADING_RECORDERS_M1="rollout-sdk-cascading-recorders-m1",e.ROLLOUT_SDK_M25_UI="rollout-sdk-m25-ui-and-upsell",e.ROLLOUT_SDK_PERMISSIONS_VISIBILITY="rollout-sdk-permissions-visibility",e.ROLLOUT_SDK_RECORDER_EDUCATION="rollout-sdk-recorder-education",e))(Ru||{}),_u=(e=>(e.Closed="closed",e.PreRecording="pre-recording",e.ActiveRecording="active-recording",e.PostRecording="post-recording",e.Cascaded="cascaded",e))(_u||{}),Mu=(e=>(e.ContentContainer="lo-engage-ext-container",e.Shadow="loom-shadow",e.PreRecordingOverlay="lo-pre-recording-overlay",e))(Mu||{}),wu=(e=>(e.PermissionsStep="permissions-step",e.RecorderSettingsStep="recorder-settings-step",e.RecordingControlsStep="recording-controls-step",e.StartRecordingStep="start-recording-step",e.PermissionsBlockedStep="permissions-blocked-step",e))(wu||{}),xu=(e=>(e.IncompatibleBrowser="incompatible-browser",e.ThirdPartyCookiesDisabled="third-party-cookies-disabled",e.NoMediaStreamsSupport="no-media-streams-support",e.GenericError="generic-error",e))(xu||{}),Lu=(e=>(e.Custom="SDK Custom",e.FirstPartyMode="First Party Mode",e.Standard="SDK Standard",e))(Lu||{}),Nu=(e=>(e.OpenPrerecordingMenu="open-prerecording-menu",e.Overlay="overlay",e.Unknown="unknown",e))(Nu||{})});var Mt=ve(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.NativeEventType=ze.NativeErrorName=ze.ErrorCode=ze.Resolution=ze.MessageType=void 0;var Cc;ze.MessageType=Cc;(function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"})(Cc||(ze.MessageType=Cc={}));var bc;ze.Resolution=bc;(function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"})(bc||(ze.Resolution=bc={}));var Oc;ze.ErrorCode=Oc;(function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"})(Oc||(ze.ErrorCode=Oc={}));var Ic;ze.NativeErrorName=Ic;(function(e){e.DataCloneError="DataCloneError"})(Ic||(ze.NativeErrorName=Ic={}));var Ac;ze.NativeEventType=Ac;(function(e){e.Message="message"})(Ac||(ze.NativeEventType=Ac={}))});var Dc=ve(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.default=void 0;var LI=()=>{let e=[],t=!1;return{destroy(o){t=!0,e.forEach(r=>{r(o)})},onDestroy(o){t?o():e.push(o)}}};Ni.default=LI});var Pc=ve(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.default=void 0;var NI=e=>(...t)=>{e&&console.log("[Penpal]",...t)};ki.default=NI});var Xp=ve(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.default=void 0;var kI={"http:":"80","https:":"443"},UI=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,BI=["file:","data:"],FI=e=>{if(e&&BI.find(a=>e.startsWith(a)))return"null";let t=document.location,o=UI.exec(e),r,n,i;o?(r=o[1]?o[1]:t.protocol,n=o[2],i=o[4]):(r=t.protocol,n=t.hostname,i=t.port);let s=i&&i!==kI[r]?":".concat(i):"";return"".concat(r,"//").concat(n).concat(s)};Ui.default=FI});var Rc=ve(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.deserializeError=Co.serializeError=void 0;var WI=({name:e,message:t,stack:o})=>({name:e,message:t,stack:o});Co.serializeError=WI;var KI=e=>{let t=new Error;return Object.keys(e).forEach(o=>t[o]=e[o]),t};Co.deserializeError=KI});var _c=ve(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=void 0;var Yp=Rc(),jt=Mt(),jI=(e,t,o)=>{let{localName:r,local:n,remote:i,originForSending:s,originForReceiving:a}=e,c=!1,u=m=>{if(m.source!==i||m.data.penpal!==jt.MessageType.Call)return;if(m.origin!==a){o("".concat(r," received message from origin ").concat(m.origin," which did not match expected origin ").concat(a));return}let p=m.data,{methodName:d,args:l,id:f}=p;o("".concat(r,": Received ").concat(d,"() call"));let h=v=>S=>{if(o("".concat(r,": Sending ").concat(d,"() reply")),c){o("".concat(r,": Unable to send ").concat(d,"() reply due to destroyed connection"));return}let y={penpal:jt.MessageType.Reply,id:f,resolution:v,returnValue:S};v===jt.Resolution.Rejected&&S instanceof Error&&(y.returnValue=(0,Yp.serializeError)(S),y.returnValueIsError=!0);try{i.postMessage(y,s)}catch(E){if(E.name===jt.NativeErrorName.DataCloneError){let b={penpal:jt.MessageType.Reply,id:f,resolution:jt.Resolution.Rejected,returnValue:(0,Yp.serializeError)(E),returnValueIsError:!0};i.postMessage(b,s)}throw E}};new Promise(v=>v(t[d].apply(t,l))).then(h(jt.Resolution.Fulfilled),h(jt.Resolution.Rejected))};return n.addEventListener(jt.NativeEventType.Message,u),()=>{c=!0,n.removeEventListener(jt.NativeEventType.Message,u)}};Bi.default=jI});var Jp=ve(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.default=void 0;var VI=0,HI=()=>++VI;Fi.default=HI});var Mc=ve(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.default=void 0;var GI=$I(Jp()),zI=Rc(),bo=Mt();function $I(e){return e&&e.__esModule?e:{default:e}}var XI=(e,t,o,r,n)=>{let{localName:i,local:s,remote:a,originForSending:c,originForReceiving:u}=t,m=!1;n("".concat(i,": Connecting call sender"));let p=d=>(...l)=>{n("".concat(i,": Sending ").concat(d,"() call"));let f;try{a.closed&&(f=!0)}catch(h){f=!0}if(f&&r(),m){let h=new Error("Unable to send ".concat(d,"() call due ")+"to destroyed connection");throw h.code=bo.ErrorCode.ConnectionDestroyed,h}return new Promise((h,v)=>{let S=(0,GI.default)(),y=b=>{if(b.source!==a||b.data.penpal!==bo.MessageType.Reply||b.data.id!==S)return;if(b.origin!==u){n("".concat(i," received message from origin ").concat(b.origin," which did not match expected origin ").concat(u));return}let g=b.data;n("".concat(i,": Received ").concat(d,"() reply")),s.removeEventListener(bo.NativeEventType.Message,y);let C=g.returnValue;g.returnValueIsError&&(C=(0,zI.deserializeError)(C)),(g.resolution===bo.Resolution.Fulfilled?h:v)(C)};s.addEventListener(bo.NativeEventType.Message,y);let E={penpal:bo.MessageType.Call,id:S,methodName:d,args:l};a.postMessage(E,c)})};return o.reduce((d,l)=>(d[l]=p(l),d),e),()=>{m=!0}};Wi.default=XI});var Zp=ve(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.default=void 0;var YI=Qp(_c()),JI=Qp(Mc());function Qp(e){return e&&e.__esModule?e:{default:e}}var QI=(e,t,o,r,n)=>{let{destroy:i,onDestroy:s}=r,a,c,u={};return m=>{if(m.origin!==t){n("Parent: Handshake - Received ACK message from origin ".concat(m.origin," which did not match expected origin ").concat(t));return}n("Parent: Handshake - Received ACK");let p={localName:"Parent",local:window,remote:m.source,originForSending:o,originForReceiving:t};a&&a(),a=(0,YI.default)(p,e,n),s(a),c&&c.forEach(l=>{delete u[l]}),c=m.data.methodNames;let d=(0,JI.default)(u,p,c,i,n);return s(d),u}};Ki.default=QI});var qp=ve(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.default=void 0;var ZI=Mt(),qI=(e,t,o,r)=>n=>{if(n.origin!==o){e("Parent: Handshake - Received SYN message from origin ".concat(n.origin," which did not match expected origin ").concat(o));return}e("Parent: Handshake - Received SYN, responding with SYN-ACK");let i={penpal:ZI.MessageType.SynAck,methodNames:Object.keys(t)};n.source.postMessage(i,r)};ji.default=qI});var em=ve(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.default=void 0;var eA=6e4,tA=(e,t)=>{let{destroy:o,onDestroy:r}=t,n=setInterval(()=>{e.isConnected||(clearInterval(n),o())},eA);r(()=>{clearInterval(n)})};Vi.default=tA});var wc=ve(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});Hi.default=void 0;var rA=Mt(),oA=(e,t)=>{let o;return e!==void 0&&(o=window.setTimeout(()=>{let r=new Error("Connection timed out after ".concat(e,"ms"));r.code=rA.ErrorCode.ConnectionTimeout,t(r)},e)),()=>{clearTimeout(o)}};Hi.default=oA});var tm=ve(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.default=void 0;var nA=Mt(),iA=e=>{if(!e.src&&!e.srcdoc){let t=new Error("Iframe must have src or srcdoc property defined.");throw t.code=nA.ErrorCode.NoIframeSrc,t}};Gi.default=iA});var rm=ve(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.default=void 0;var ln=Mt(),sA=gr(Dc()),aA=gr(Pc()),cA=gr(Xp()),lA=gr(Zp()),dA=gr(qp()),uA=gr(em()),pA=gr(wc()),mA=gr(tm());function gr(e){return e&&e.__esModule?e:{default:e}}var fA=e=>{let{iframe:t,methods:o={},childOrigin:r,timeout:n,debug:i=!1}=e,s=(0,aA.default)(i),a=(0,sA.default)(),{onDestroy:c,destroy:u}=a;r||((0,mA.default)(t),r=(0,cA.default)(t.src));let m=r==="null"?"*":r,p=(0,dA.default)(s,o,r,m),d=(0,lA.default)(o,r,m,a,s);return{promise:new Promise((f,h)=>{let v=(0,pA.default)(n,u),S=y=>{if(!(y.source!==t.contentWindow||!y.data)){if(y.data.penpal===ln.MessageType.Syn){p(y);return}if(y.data.penpal===ln.MessageType.Ack){let E=d(y);E&&(v(),f(E));return}}};window.addEventListener(ln.NativeEventType.Message,S),s("Parent: Awaiting handshake"),(0,uA.default)(t,a),c(y=>{window.removeEventListener(ln.NativeEventType.Message,S),y||(y=new Error("Connection destroyed"),y.code=ln.ErrorCode.ConnectionDestroyed),h(y)})}),destroy(){u()}}};zi.default=fA});var om=ve($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.default=void 0;var gA=Mt(),hA=()=>{if(window===window.top){let e=new Error("connectToParent() must be called within an iframe");throw e.code=gA.ErrorCode.NotInIframe,e}};$i.default=hA});var im=ve(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.default=void 0;var EA=Mt(),SA=nm(_c()),vA=nm(Mc());function nm(e){return e&&e.__esModule?e:{default:e}}var yA=(e,t,o,r)=>{let{destroy:n,onDestroy:i}=o;return s=>{if(!(e instanceof RegExp?e.test(s.origin):e==="*"||e===s.origin)){r("Child: Handshake - Received SYN-ACK from origin ".concat(s.origin," which did not match expected origin ").concat(e));return}r("Child: Handshake - Received SYN-ACK, responding with ACK");let c=s.origin==="null"?"*":s.origin,u={penpal:EA.MessageType.Ack,methodNames:Object.keys(t)};window.parent.postMessage(u,c);let m={localName:"Child",local:window,remote:window.parent,originForSending:c,originForReceiving:s.origin},p=(0,SA.default)(m,t,r);i(p);let d={},l=(0,vA.default)(d,m,s.data.methodNames,n,r);return i(l),d}};Xi.default=yA});var sm=ve(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.default=void 0;var TA=dn(Dc()),CA=dn(Pc()),Oo=Mt(),bA=dn(om()),OA=dn(im()),IA=dn(wc());function dn(e){return e&&e.__esModule?e:{default:e}}var AA=()=>{try{clearTimeout()}catch(e){return!1}return!0},DA=(e={})=>{let{parentOrigin:t="*",methods:o={},timeout:r,debug:n=!1}=e,i=(0,CA.default)(n),s=(0,TA.default)(),{destroy:a,onDestroy:c}=s;(0,bA.default)();let u=(0,OA.default)(t,o,s,i),m=()=>{i("Child: Handshake - Sending SYN");let d={penpal:Oo.MessageType.Syn},l=t instanceof RegExp?"*":t;window.parent.postMessage(d,l)};return{promise:new Promise((d,l)=>{let f=(0,IA.default)(r,a),h=v=>{if(AA()&&!(v.source!==parent||!v.data)&&v.data.penpal===Oo.MessageType.SynAck){let S=u(v);S&&(window.removeEventListener(Oo.NativeEventType.Message,h),f(),d(S))}};window.addEventListener(Oo.NativeEventType.Message,h),m(),c(v=>{window.removeEventListener(Oo.NativeEventType.Message,h),v||(v=new Error("Connection destroyed"),v.code=Oo.ErrorCode.ConnectionDestroyed),l(v)})}),destroy(){a()}}};Yi.default=DA});var xc=ve(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});Object.defineProperty(un,"connectToChild",{enumerable:!0,get:function(){return PA.default}});Object.defineProperty(un,"connectToParent",{enumerable:!0,get:function(){return RA.default}});Object.defineProperty(un,"ErrorCode",{enumerable:!0,get:function(){return _A.ErrorCode}});var PA=am(rm()),RA=am(sm()),_A=Mt();function am(e){return e&&e.__esModule?e:{default:e}}});var Em=ve((nW,hm)=>{var Lc=Object.defineProperty,MA=Object.getOwnPropertyDescriptor,wA=Object.getOwnPropertyNames,xA=Object.prototype.hasOwnProperty,LA=(e,t)=>{for(var o in t)Lc(e,o,{get:t[o],enumerable:!0})},NA=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of wA(t))!xA.call(e,n)&&n!==o&&Lc(e,n,{get:()=>t[n],enumerable:!(r=MA(t,n))||r.enumerable});return e},kA=e=>NA(Lc({},"__esModule",{value:!0}),e),um={};LA(um,{Store:()=>FA,applyMiddleware:()=>KA,wrapStore:()=>zA});hm.exports=kA(um);var UA=xc(),pm="iframe.state",mm="iframe.patch_state",cm=3e3,fm="updated",gm="removed";function BA(e,t){let o=Object.assign({},e);return t.forEach(({change:r,key:n,value:i})=>{switch(r){case fm:o[n]=i;break;case gm:Reflect.deleteProperty(o,n);break;default:}}),o}var FA=class{constructor({iframe:e,state:t={},patchStrategy:o=BA}){if(typeof o!="function")throw new Error("iframe-redux, constructor: patchStrategy must be one of the included patching strategies or a custom patching function");this.resultForFirstSync=!1,this.firstSyncPromise=new Promise((r,n)=>{this.resolveFirstSync=r,this.rejectFirstSync=n,window.setTimeout(()=>{this.resultForFirstSync===!1&&(this.resultForFirstSync=!0,this.rejectFirstSync())},cm*5)}),this.listeners=[],this.state=t,this.patchStrategy=o,this.connectionPromise=(0,UA.connectToChild)({iframe:e,methods:{syncState:this.syncState.bind(this)},timeout:cm*4}).promise,this.dispatch=this.dispatch.bind(this)}syncState(e){switch(e.type){case pm:this.replaceState(e.payload),this.resultForFirstSync||(this.resultForFirstSync=!0,this.resolveFirstSync());break;case mm:this.patchState(e.payload);break;default:}}async ready(){try{this.child=await this.connectionPromise,await this.firstSyncPromise}catch(e){return e.message="[iframe-redux] Store.ready() failed: ".concat(e.message),this.resultForFirstSync=!0,e}return!0}subscribe(e){return this.listeners.push(e),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}patchState(e){this.state=this.patchStrategy(this.state,e),this.listeners.forEach(t=>t())}replaceState(e){this.state=e,this.listeners.forEach(t=>t())}getState(){return this.state}replaceReducer(){}dispatch(e){return this.child.dispatch(e)}};function WA(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,o)=>(...r)=>t(o(...r)))}function KA(e,...t){let o=()=>{throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},r={getState:e.getState.bind(e),dispatch:(...n)=>o(...n)};return t=(t||[]).map(n=>n(r)),o=WA(...t)(e.dispatch),e.dispatch=o,e}var jA=xc();function lm(e,t){let o=[];return Object.keys(t).forEach(r=>{e[r]!==t[r]&&o.push({key:r,value:t[r],change:fm})}),Object.keys(e).forEach(r=>{t.hasOwnProperty(r)||o.push({key:r,change:gm})}),o}var dm=12e3,VA=200,HA=e=>t=>{try{return{error:null,value:e.dispatch(t)}}catch(o){return console.error("error dispatching result:",o),{error:o.message,value:null}}},GA=(e,t)=>o=>{let r=e.getState(),n=()=>{let i=e.getState(),s=t(r,i);s.length&&(r=i,o.syncState({type:mm,payload:s}))};e.subscribe(n),o.syncState({type:pm,payload:r})},zA=async(e,{diffStrategy:t=lm}={diffStrategy:lm})=>{if(typeof t!="function")return new Error("[iframe-redux] wrapStore: diffStrategy must be one of the included diffing strategies or a custom diff function");let o=GA(e,t),n=await(async()=>{let i=!1,s=setTimeout(()=>{i=!0},dm);for(;!i;)try{let c=await(0,jA.connectToParent)({methods:{dispatch:HA(e)},timeout:VA}).promise;return clearTimeout(s),c}catch(a){if(i)return clearTimeout(s),new Error("[iframe-redux] wrapStore: max connection attempt timeout of ".concat(dm," reached with last error ").concat(a instanceof Error?a.message:"unknown error"," "))}})();return n instanceof Error?(console.error(n.message),n):(o(n),{success:!0})}});var tg=ve(Sl=>{"use strict";var eg=/^(\d{4})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:([ T])(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;Sl.parse=function(e){var t=[1,5,6,7,11,12],o=eg.exec(e),r=0;if(!o)return new Date(e);for(var n=0,i;i=t[n];n++)o[i]=parseInt(o[i],10)||0;o[2]=parseInt(o[2],10)||1,o[3]=parseInt(o[3],10)||1,o[2]--,o[8]=o[8]?(o[8]+"00").substring(0,3):0,o[4]===" "?r=new Date().getTimezoneOffset():o[9]!=="Z"&&o[10]&&(r=o[11]*60+o[12],o[10]==="+"&&(r=0-r));var s=Date.UTC(o[1],o[2],o[3],o[5],o[6]+r,o[7],o[8]);return new Date(s)};Sl.is=function(e,t){return typeof e!="string"||t&&/^\d{4}-\d{2}-\d{2}/.test(e)===!1?!1:eg.test(e)}});var yl=ve((a3,og)=>{"use strict";var rg=tg();og.exports=vl;function vl(e,t){return t===void 0&&(t=!0),e&&typeof e=="object"?xR(e,t):Array.isArray(e)?LR(e,t):rg.is(e,t)?rg.parse(e):e}function xR(e,t){return Object.keys(e).forEach(function(o){e[o]=vl(e[o],t)}),e}function LR(e,t){return e.forEach(function(o,r){e[r]=vl(o,t)}),e}});var ng=ve((gs,Tl)=>{(function(t,o){typeof gs=="object"&&typeof Tl=="object"?Tl.exports=o(yl()):typeof define=="function"&&define.amd?define("analytics-web-client",["@segment/isodate-traverse"],o):typeof gs=="object"?gs["analytics-web-client"]=o(yl()):t.AnalyticsWebClient=o(t["@segment/isodate-traverse"])})(window,function(e){return function(t){var o={};function r(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=o,r.d=function(n,i,s){r.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:s})},r.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},r.t=function(n,i){if(i&1&&(n=r(n)),i&8||i&4&&typeof n=="object"&&n&&n.__esModule)return n;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:n}),i&2&&typeof n!="string")for(var a in n)r.d(s,a,(function(c){return n[c]}).bind(null,a));return s},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}([function(t,o,r){"use strict";r.r(o);var n=r(1);r.d(o,"default",function(){return n.default}),r.d(o,"STARGATE_PROXY_PATH",function(){return n.STARGATE_PROXY_PATH});var i=r(9);r.d(o,"apdexType",function(){return i.apdexType}),r.d(o,"envType",function(){return i.envType}),r.d(o,"eventType",function(){return i.eventType}),r.d(o,"originType",function(){return i.originType}),r.d(o,"platformType",function(){return i.platformType}),r.d(o,"tenantType",function(){return i.tenantType}),r.d(o,"userType",function(){return i.userType}),r.d(o,"originTracingType",function(){return i.originTracingType}),r.d(o,"perimeterType",function(){return i.perimeterType}),r.d(o,"aliasType",function(){return i.aliasType}),r.d(o,"groupType",function(){return i.groupType}),r.d(o,"productEmbedType",function(){return i.productEmbedType});var s=r(103);r.d(o,"DwellTimeHelper",function(){return s.default});var a=r(105);r.d(o,"DwellTimeHelperWithBrowserInteraction",function(){return a.default});var c=r(17);r.d(o,"CompressionRule",function(){return c.CompressionRule}),r.d(o,"StopLowPriorityEventDelayReason",function(){return c.StopLowPriorityEventDelayReason});var u=r(28);r.d(o,"ResilienceMechanism",function(){return u.ResilienceMechanism});var m=r(108);r.d(o,"TypeAheadHelper",function(){return m.default})},function(t,o,r){"use strict";r.r(o),r.d(o,"STARGATE_PROXY_PATH",function(){return z}),r.d(o,"LoggingResponseCallback",function(){return de}),r.d(o,"default",function(){return ce});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(9),u=r(10),m=r(13),p=r(14),d=r(15),l=r(17),f=r(19),h=r(26),v=r(88),S=r(11),y=r(95),E=r(96),b=r(97),g=r(98),C=r(99),T=r(100),O=r(101),D=r(89),U=r(102),w=r(59);function N(M,k){var F=Object.keys(M);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(M);k&&(X=X.filter(function(Ee){return Object.getOwnPropertyDescriptor(M,Ee).enumerable})),F.push.apply(F,X)}return F}function j(M){for(var k=1;k<arguments.length;k++){var F=arguments[k]!=null?arguments[k]:{};k%2?N(Object(F),!0).forEach(function(X){i()(M,X,F[X])}):Object.getOwnPropertyDescriptors?Object.defineProperties(M,Object.getOwnPropertyDescriptors(F)):N(Object(F)).forEach(function(X){Object.defineProperty(M,X,Object.getOwnPropertyDescriptor(F,X))})}return M}let z="/gateway/api/gasv3/api/v1",H="last.screen.event";class de{static callback(k){let F=k.getStatusCode();F>=200&&F<=299?k.getEventResponseList().length===0?console.debug("Event(s) submitted to GASv3"):k.getEventResponseList().forEach(X=>{console.warn("Validation report for event with message ID %s:\n",X.getMessageId(),X)}):F===400||F===404?(console.warn("GASv3 submission failed with HTTP Status Code %d: %s",k.getStatusCode(),k.getMessage()),k.getEventResponseList().forEach(X=>{console.warn("Event with message ID %s:\n",X.getMessageId(),X)})):(console.info("GASv3 submission failed with HTTP Status Code %d: %s",k.getStatusCode(),k.getMessage()),k.eventResponseList.forEach(X=>{console.debug("Event with message ID %s:\n",X.getMessageId(),X)}))}}class ce{constructor(k,F={}){if(i()(this,"_useStargate",L=>L==null?!0:L),i()(this,"_endsWith",(L,B)=>L.indexOf(B,L.length-B.length)!==-1),i()(this,"_changeInternalUserId",(L,B)=>{this.eventProcessor.getUser().setUserId(L),B&&B!==this.eventProcessor.getUser().getAnonymousId()&&this.eventProcessor.getUser().setAnonymousId(B)}),i()(this,"_createSubproductGetter",L=>Object(m.default)(L,"Cannot get subproduct from the callback. Proceeding without it.")),i()(this,"_createEmbeddedProductGetter",L=>Object(m.default)(L,"Cannot get embeddedProduct from the callback. Proceeding without it.")),i()(this,"_getLastScreenEvent",()=>{try{return JSON.parse(this._safeSessionStorage.getItem(H)||"")}catch(L){return this._safeSessionStorage.removeItem(H),null}}),i()(this,"_setLastScreenEvent",L=>{this._safeSessionStorage.setItem(H,JSON.stringify({name:L.name,attributes:L.attributes}))}),i()(this,"_shouldEventBeDelayed",L=>{if(!L.tags||L.tags.indexOf("measurement")===-1)return!1;let B=L.highPriority!==!1;return this.eventDelayQueue.isDelayingLowPriorityEvents()&&!B}),i()(this,"_fireEvent",(L,B,ae,se)=>{switch(B.eventType){case c.eventType.UI:case c.eventType.OPERATIONAL:case c.eventType.TRACK:return this.eventProcessor.track(L,B,ae,se);case c.eventType.SCREEN:return this.eventProcessor.page(L,B,ae,se);case c.eventType.IDENTIFY:return this.eventProcessor.identify(L,B,ae,se);default:throw new Error("No handler has been defined for events of type ".concat(B.eventType))}}),i()(this,"_fireDelayedEvent",(L,B,ae,se)=>{try{this._changeInternalUserId(se.userId,se.anonymousId),B.tags=[...B.tags||[],"sentWithDelay"],this._fireEvent(L,B,ae,void 0)}finally{this._changeInternalUserId(this._userInfo.userId,this._userInfo.anonymousId)}}),i()(this,"_delayEvent",(L,B,ae,se,mt)=>{this.eventDelayQueue.push(L,B,ae,se),mt&&mt()}),i()(this,"_processEvent",(L,B,ae,se)=>(this._testingCache.saveEvent(B),this._shouldEventBeDelayed(B)?(this._delayEvent(L,B,ae,this._userInfo,se),Promise.resolve()):this._fireEvent(L,B,ae,se))),i()(this,"setEmbeddedProduct",L=>{this._productInfo.embeddedProduct=this._createEmbeddedProductGetter(L),this.resetUIViewedTimers()}),i()(this,"clearEmbeddedProduct",()=>{this._productInfo.embeddedProduct=this._createEmbeddedProductGetter(null)}),i()(this,"setSubproduct",L=>{this._productInfo.subproduct=this._createSubproductGetter(L),this.resetUIViewedTimers()}),i()(this,"setOriginTracingHandlers",L=>{let B=this.originTracing.handleOriginParameters(L,this._historyReplaceFn);Object.keys(B).forEach(se=>{typeof B[se].taskSessionId!="undefined"&&this.task.createTaskSessionWithProvidedId(se,B[se].taskSessionId)});let ae={};return Object.keys(B).forEach(se=>{B[se].originTracingAttributes?ae[se]=B[se].originTracingAttributes:console.warn("Handling method for origin parameter ".concat(se," has not returned any attributes"))}),Object.keys(B).length>0?this.sendOperationalEvent({action:"landed",actionSubject:"origin",source:"webClient",attributes:{originTracesLanded:ae}},()=>{}):Promise.resolve()}),i()(this,"setTenantInfo",(L,B)=>{if(!L)throw new Error("Missing tenantIdType");if(L!==c.tenantType.NONE&&!B)throw new Error("Missing tenantId");if(!Object(c.isType)(c.tenantType,L))throw new Error("Invalid tenantIdType '".concat(L,"', ")+"must be an tenantType: [".concat(Object(c.objectValues)(c.tenantType),"]"));this._tenantInfo={tenantIdType:L,tenantId:B}}),i()(this,"clearTenantInfo",()=>{this._tenantInfo={}}),i()(this,"setOrgInfo",L=>{if(!L)throw new Error("Missing orgId");this._orgInfo={orgId:L}}),i()(this,"clearOrgInfo",()=>{this._orgInfo={}}),i()(this,"setWorkspaceInfo",L=>{if(!L)throw new Error("Missing workspaceId");this._workspaceInfo={workspaceId:L}}),i()(this,"clearWorkspaceInfo",()=>{this._workspaceInfo={}}),i()(this,"setUserInfo",(L,B)=>{Object(f.validateIdentifyEvent)(L,B),this._changeInternalUserId(B),this._userInfo={userIdType:L,userId:B,anonymousId:this.eventProcessor.getUser().getAnonymousId()}}),i()(this,"clearUserInfo",()=>{this._changeInternalUserId(void 0),this._userInfo={anonymousId:this.eventProcessor.getUser().getAnonymousId()}}),i()(this,"setAlias",(L,B)=>{if(!L)throw new Error("Missing aliasType");if(!Object(c.isType)(c.aliasType,L))throw new Error("Invalid aliasType '".concat(L,"', ")+"must be an aliasType: [".concat(Object(c.objectValues)(c.aliasType),"]"));this._aliases[L]=B}),i()(this,"clearAlias",()=>{this._aliases={}}),i()(this,"setGroup",(L,B)=>{if(!L)throw new Error("Missing groupType");if(!Object(c.isType)(c.groupType,L))throw new Error("Invalid groupType '".concat(L,"', ")+"must be an groupType: [".concat(Object(c.objectValues)(c.groupType),"]"));this._groups[L]=B}),i()(this,"clearGroup",()=>{this._groups={}}),i()(this,"getAnonymousId",()=>this._userInfo.anonymousId),i()(this,"setUIViewedAttributes",L=>{if(!L)throw new Error("Missing uiViewedAttributes");if(typeof L!="object"||Array.isArray(L))throw new Error("Invalid uiViewedAttributes type, should be a non array object");this._uiViewedAttributes=j({},L)}),i()(this,"getUIViewedAttributes",()=>this._uiViewedAttributes),i()(this,"clearUIViewedAttributes",()=>{this._uiViewedAttributes={}}),i()(this,"sendIdentifyEvent",(L,B,ae)=>{this.setUserInfo(L,B);let se={userIdType:L,eventType:c.eventType.IDENTIFY};return this._processEvent(B,se,this._context,ae)}),i()(this,"sendPageEvent",(L,B)=>this.sendScreenEvent(L,B)),i()(this,"sendScreenEvent",(L,B,ae)=>{let se,mt,tr,ur;typeof L=="object"?(se=L.name,mt=L.attributes,tr=L.containers,ur=L.tags):(se=L,mt=ae),Object(f.validateScreenEvent)(se),Object(f.validateContainers)(tr);let Nr=Object(d.buildScreenEvent)(this._productInfo,this._tenantInfo,this._userInfo,mt,L.nonPrivacySafeAttributes,ur,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,L,tr,this._aliases,this._groups),kr=j({name:se},Nr);return this._setLastScreenEvent(kr),this._processEvent(se,kr,this._context,Object(U.default)(B,kr))}),i()(this,"sendTrackEvent",(L,B)=>{Object(f.validateTrackEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.TRACK,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"sendUIEvent",(L,B)=>{Object(f.validateUIEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.UI,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"sendOperationalEvent",(L,B)=>{Object(f.validateOperationalEvent)(L);let ae=Object(d.buildActionEvent)(this._productInfo,this._tenantInfo,this._userInfo,L,c.eventType.OPERATIONAL,this._tabTracking.getCurrentTabId(),this._sessionTracking.getCurrentSessionId(),this.task.getAllTaskSessions(),this._orgInfo,this._pageLoadId,this._workspaceInfo,this._aliases,this._groups);return this._processEvent(Object(d.buildActionName)(L),ae,this._context,Object(U.default)(B,ae))}),i()(this,"startUIViewedEvent",L=>{this.stopUIViewedEvent(),this._uiViewedEvent=new O.default(this._productInfo,()=>({embeddedProduct:this._productInfo.embeddedProduct(),subproduct:this._productInfo.subproduct(),tenantIdType:this._tenantInfo.tenantIdType,tenantId:this._tenantInfo.tenantId,userId:this._userInfo.userId,lastScreenEvent:this._getLastScreenEvent(),attributes:this._uiViewedAttributes}),B=>this.sendUIEvent(B,L)),this._uiViewedEvent.start()}),i()(this,"stopUIViewedEvent",()=>{this._uiViewedEvent&&(this._uiViewedEvent.stop(),this._uiViewedEvent=null)}),i()(this,"resetUIViewedTimers",()=>{this._uiViewedEvent&&this._uiViewedEvent.resetTimers()}),i()(this,"startApdexEvent",L=>{this._apdexEvent.start(L)}),i()(this,"getApdexStart",L=>this._apdexEvent.getStart(L)),i()(this,"stopApdexEvent",(L,B)=>{this._apdexEvent.stop(L,B)}),i()(this,"startLowPriorityEventDelay",(L,B)=>{this.eventDelayQueue.startLowPriorityEventDelay(L,B)}),i()(this,"stopLowPriorityEventDelay",()=>{this.eventDelayQueue.stopLowPriorityEventDelay()}),i()(this,"onEvent",(L,B)=>{if(!B)throw new Error("Missing analyticsData");if(!B.eventType)throw new Error("Missing analyticsData.eventType");if(B.eventType===c.eventType.TRACK)return this.sendTrackEvent(B);if(B.eventType===c.eventType.UI)return this.sendUIEvent(B);if(B.eventType===c.eventType.OPERATIONAL)return this.sendOperationalEvent(B);if(B.eventType===c.eventType.SCREEN)return this.sendScreenEvent(B.name,null,B.attributes);if(B.eventType===c.eventType.IDENTIFY)return this.sendIdentifyEvent(B.userIdType,B.userId);throw new Error("Invalid analyticsData.eventType '".concat(B.eventType,"', ")+"must be an eventType: [".concat(Object(c.objectValues)(c.eventType),"]"))}),i()(this,"setResponseCallback",L=>{this.eventProcessor.setResponseCallback(L)}),!k)throw new Error("Missing productInfo");if(!k.env)throw new Error("Missing productInfo.env");if(!k.product)throw new Error("Missing productInfo.product");if(!Object(c.isType)(c.envType,k.env))throw new Error("Invalid productInfo.env '".concat(k.env,"', ")+"must be an envType: [".concat(Object(c.objectValues)(c.envType),"]"));if(k.perimeter&&!Object(c.isType)(c.perimeterType,k.perimeter))throw new Error("Invalid productInfo.perimeter '".concat(k.perimeter,"', ")+"must be an perimeterType: [".concat(Object(c.objectValues)(c.perimeterType),"]"));if(!k.origin)k.origin=c.originType.WEB;else if(!Object(c.isType)(c.originType,k.origin))throw new Error("Invalid productInfo.origin '".concat(k.origin,"', ")+"must be an originType: [".concat(Object(c.objectValues)(c.originType),"]"));k.platform?Object(f.validatePlatform)(k):k.platform=k.origin===c.originType.WEB?c.platformType.WEB:c.platformType.DESKTOP,this.logger=F.logger||console,this._productInfo=j(j({},k),{},{subproduct:this._createSubproductGetter(k.subproduct),embeddedProduct:this._createEmbeddedProductGetter(k.embeddedProduct)}),this._tenantInfo={},this._orgInfo={},this._uiViewedAttributes={},k!=null&&k.embeddedContext&&(this._embeddedContext=k.embeddedContext,Object(p.isFirstParty)(this._embeddedContext)&&this.setUIViewedAttributes({embeddedType:this._embeddedContext.embeddedType,embeddedFromProduct:this._embeddedContext.embeddedFromProduct,embeddedFromSubproduct:this._embeddedContext.embeddedFromSubproduct,embeddedFromTopLevelDomain:this._embeddedContext.embeddedFromTopLevelDomain}),Object(p.isThirdParty)(this._embeddedContext)&&this.setUIViewedAttributes({embeddedType:this._embeddedContext.embeddedType,embeddedFromTopLevelDomain:this._embeddedContext.embeddedFromTopLevelDomain})),this._context=Object(d.buildContext)(this._productInfo),this._safeSessionStorage=new b.default;let X=this._useStargate(F.useStargate),Ee=F.apiHost||Object(y.selectHost)({useStargate:X,env:k.env,useLegacyUrl:F.useLegacyUrl,perimeter:k.perimeter,envOverride:k.envOverride}),De=F.apiHostProtocol||"https",it={maxRetryDelay:6e4,minRetryDelay:F.minRetryDelay||1e3,backoffFactor:2,flushWaitMs:F.flushWaitInterval,flushBeforeUnload:F.flushBeforeUnload},Rt="awc-".concat(k.env),xr=()=>Object(w.XIDPromise)(F.xidConsent,F.xidPromiseFn),Lr=F.disableCookiePersistence||!1;this.eventProcessor=new h.default({apiHost:Ee,apiHostProtocol:De,product:k.product,retryQueuePrefix:Rt,retryQueueOptions:it,xidPromiseGetter:xr,logger:this.logger,disableCookiePersistence:Lr,responseCallback:de.callback}),this._userInfo={anonymousId:this.eventProcessor.getUser().getAnonymousId(F==null?void 0:F.customAnonymousIdGenerator)},this._pageVisibility=new S.default,this._tabTracking=new g.default,this._sessionTracking=new E.default({sessionExpiryTime:F.sessionExpiryTime,onNewSessionStarted:F.onNewSessionStarted}),this.task=new C.default,this.originTracing=new v.default,this._apdexEvent=new u.default(this.sendOperationalEvent,this._pageVisibility),this._historyReplaceFn=typeof F.historyReplaceFn=="function"?F.historyReplaceFn:D.defaultHistoryReplaceFn,this.eventDelayQueue=new l.default(this._fireDelayedEvent,F.delayQueueCompressors||[]),this._testingCache=new T.default,this._pageLoadId=a()(),this._workspaceInfo={},this._aliases={},this._groups={}}setEventValidationMode(k){this._context.context.validationMode=k}}},function(t,o,r){var n=r(3);function i(s,a,c){return(a=n(a))in s?Object.defineProperty(s,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):s[a]=c,s}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(4).default,i=r(5);function s(a){var c=i(a,"string");return n(c)=="symbol"?c:c+""}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o){function r(n){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},t.exports.__esModule=!0,t.exports.default=t.exports,r(n)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(4).default;function i(s,a){if(n(s)!="object"||!s)return s;var c=s[Symbol.toPrimitive];if(c!==void 0){var u=c.call(s,a||"default");if(n(u)!="object")return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(s)}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){var n=r(7),i=r(8);function s(a,c,u){var m=c&&u||0;typeof a=="string"&&(c=a==="binary"?new Array(16):null,a=null),a=a||{};var p=a.random||(a.rng||n)();if(p[6]=p[6]&15|64,p[8]=p[8]&63|128,c)for(var d=0;d<16;++d)c[m+d]=p[d];return c||i(p)}t.exports=s},function(t,o){var r=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto!="undefined"&&typeof window.msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);t.exports=function(){return r(n),n}}else{var i=new Array(16);t.exports=function(){for(var a=0,c;a<16;a++)a&3||(c=Math.random()*4294967296),i[a]=c>>>((a&3)<<3)&255;return i}}},function(t,o){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);function i(s,a){var c=a||0,u=r;return[u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],"-",u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]],u[s[c++]]].join("")}t.exports=i},function(t,o,r){"use strict";r.r(o),r.d(o,"envType",function(){return n}),r.d(o,"eventType",function(){return i}),r.d(o,"platformType",function(){return s}),r.d(o,"originType",function(){return a}),r.d(o,"tenantType",function(){return c}),r.d(o,"productEmbedType",function(){return u}),r.d(o,"userType",function(){return m}),r.d(o,"apdexType",function(){return p}),r.d(o,"desktopPlatforms",function(){return d}),r.d(o,"webPlatforms",function(){return l}),r.d(o,"originTracingType",function(){return f}),r.d(o,"objectValues",function(){return h}),r.d(o,"isType",function(){return v}),r.d(o,"perimeterType",function(){return S}),r.d(o,"aliasType",function(){return y}),r.d(o,"groupType",function(){return E}),r.d(o,"envOverrides",function(){return b});let n=function(g){return g.LOCAL="local",g.DEV="dev",g.STAGING="staging",g.PROD="prod",g}({}),i=function(g){return g.TRACK="track",g.UI="ui",g.OPERATIONAL="operational",g.SCREEN="screen",g.IDENTIFY="identify",g}({}),s=function(g){return g.MAC="mac",g.LINUX="linux",g.WINDOWS="windows",g.DESKTOP="desktop",g.WEB="web",g.MOBILE_WEB="mobileWeb",g}({}),a=function(g){return g.DESKTOP="desktop",g.WEB="web",g}({}),c=function(g){return g.CLOUD_ID="cloudId",g.ORG_ID="orgId",g.OPSGENIE_CUSTOMER_ID="opsgenieCustomerId",g.HALP_TEAM_ID="halpTeamId",g.LOOM_ORG_ID="loomOrgId",g.TRANSACTION_ACCOUNT_ID="transactionAccountId",g.TRELLO_WORKSPACE_ID="trelloWorkspaceId",g.JA_WORKSPACE_ID="jiraAlignWorkspaceId",g.NONE="none",g}({}),u=function(g){return g.FIRST_PARTY="FIRST_PARTY",g.THIRD_PARTY="THIRD_PARTY",g}({}),m=function(g){return g.ATLASSIAN_ACCOUNT="atlassianAccount",g.HASHED_EMAIL="hashedEmail",g.LOOM="loom",g.TRELLO="trello",g.OPSGENIE="opsgenie",g.JA_USER_ID="jiraAlign",g.HALP="halp",g}({}),p=function(g){return g.TRANSITION="transition",g.INITIAL_LOAD="initialLoad",g}({}),d=Object.freeze([s.DESKTOP,s.MAC,s.LINUX,s.WINDOWS]),l=Object.freeze([s.WEB,s.MOBILE_WEB]),f=function(g){return g.ATL_ORIGIN="atlOrigin",g}({});function h(g){return Object.values(g)}function v(g,C){return Object.values(g).indexOf(C)>-1}let S=function(g){return g.C5="c5",g.COMMERCIAL="commercial",g.FEDRAMP_MODERATE="fedramp-moderate",g.FEDRAMP_HIGH="fedramp-high",g}({}),y=function(g){return g}({}),E=function(g){return g.TRANSACTION_ACCOUNT_ID="transactionAccountId",g}({}),b=function(g){return g}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(9),a=r(11),c=r(12);function u(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function m(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?u(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):u(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}class p{constructor(l,f){if(i()(this,"_getEventKey",({task:h,taskId:v})=>v?"".concat(h,".").concat(v):h),i()(this,"_getEventTimingByName",h=>{let v=this._performance.getEntriesByName(h);return v[v.length-1]}),i()(this,"_getApdexFields",h=>{let v=this._getApdexTimings(h),S=this._calculateApdex({duration:v.duration,threshold:h.threshold});return m(m({},v),{},{apdex:S})}),i()(this,"_getApdexTimings",h=>{let v=this._getEventKey(h),S="".concat(v,"-start"),y=h.startTime||this._getStartTime(h,S),E=h.stopTime||this._getStopTime();return this._cleanApdexState(v),{startTime:y,stopTime:E,duration:E-y}}),i()(this,"_getStartTime",(h,v)=>{let S,y=this._performance.getTimeOrigin();if(h.type===s.apdexType.INITIAL_LOAD)S=y;else{let E=this._getEventTimingByName(v);S=y+E.startTime}return S}),i()(this,"_getStopTime",()=>this._performance.getTimeOrigin()+this._performance.now()),i()(this,"_cleanApdexState",h=>{this._performance.clearMarks("".concat(h,"-start")),this._performance.clearMarks("".concat(h,"-stop")),this._startedEvents.delete(h)}),i()(this,"_getVisibilityFields",h=>{let v;if(h.type===s.apdexType.INITIAL_LOAD)v=!this._wasPreviouslyHidden;else if(h.type===s.apdexType.TRANSITION){let S=this._getEventKey(h);v=this._isActiveEvents.get(S)}return(h.startTime||h.stopTime)&&(v=!this._pageVisibility.getIsHidden()),{isActiveTab:v}}),i()(this,"_calculateApdex",({duration:h,threshold:v=this._threshold})=>{let S,y=v,E=v*4;return h<=y?S=1:h<=E?S=.5:S=0,S}),i()(this,"_validateStartEvent",h=>{if(!h)throw new Error('Missing "event" in Apdex start event');if(!h.task)throw new Error('Missing "task" in Apdex start event');if(typeof h.task!="string")throw new Error('Invalid "task" in Apdex start event');if(h.taskId&&typeof h.taskId!="string")throw new Error('Invalid "taskId" in Apdex start event')}),i()(this,"_validateStopEvent",h=>{if(!h)throw new Error('Missing "event" in Apdex stop event');if(!h.task)throw new Error('Missing "task" in Apdex stop event');if(typeof h.task!="string")throw new Error('Invalid "task" in Apdex stop event');if(h.taskId&&typeof h.taskId!="string")throw new Error('Invalid "taskId" in Apdex stop event');if(!h.type)throw new Error('Missing "type" in Apdex stop event');if(h.type&&!Object(s.isType)(s.apdexType,h.type))throw new Error('Invalid "type" in Apdex stop event');if(h.threshold&&typeof h.threshold!="number")throw new Error('Invalid "threshold" in Apdex stop event');if(!h.startTime&&h.type===s.apdexType.TRANSITION){let v=this._getEventKey(h);if(!this._startedEvents.has(v))throw new Error('Apdex event transition "'.concat(v,'" was not started'))}if(h.startTime&&!(typeof h.startTime=="number"&&h.startTime>=0))throw new Error('Invalid "startTime" in Apdex stop event');if(h.stopTime&&typeof h.stopTime!="number")throw new Error('Invalid "stopTime" in Apdex stop event');if(h.stopTime<=h.startTime)throw new Error('"stopTime" should be greater than "startTime" in Apdex stop event')}),i()(this,"_shouldSendEvent",h=>!(!h||typeof h.apdex!="number")),i()(this,"_sendEvent",(h,v)=>{this._shouldSendEvent(h)&&this._onEvent({source:"ui",action:"readyForUser",actionSubject:"ui",attributes:m(m({},h.additionalAttributes),{},{task:h.task,taskId:h.taskId,type:h.type,threshold:h.threshold||this._threshold,apdex:h.apdex,startTime:h.startTime,stopTime:h.stopTime,duration:h.duration,isActiveTab:h.isActiveTab})},v)}),!l)throw new Error("Missing onEvent callback");if(typeof l!="function")throw new Error("Invalid onEvent, must be function");if(!(f instanceof a.default))throw new Error("Invalid pageVisibility, must be PageVisibility class");this._startedEvents=new Map,this._performance=new c.default,this._onEvent=l,this._threshold=1e3,this._wasPreviouslyHidden=f.getIsHidden(),this._isActiveEvents=new Map,this._pageVisibility=f,this._pageVisibility.addCallback("apdexEvent",h=>{this.onVisibilityChange(!h)})}start(l){if(this._validateStartEvent(l),!this._performance.isAvailable())return;let f=this._getEventKey(l),h="".concat(f,"-start");this._startedEvents.set(f,!0),this._isActiveEvents.set(f,!this._pageVisibility.getIsHidden()),this._performance.clearMarks(h),this._performance.mark(h)}getStart(l){if(this._validateStartEvent(l),!this._performance.isAvailable())return;let f=this._getEventKey(l),h="".concat(f,"-start");return this._getEventTimingByName(h)}stop(l,f){if(this._validateStopEvent(l),!this._performance.isAvailable())return;let h=this._getApdexFields(l),v=this._getVisibilityFields(l);this._sendEvent(m(m(m({},l),h),v),f)}onVisibilityChange(l){l||(this._wasPreviouslyHidden=!0,Array.from(this._isActiveEvents.keys()).forEach(f=>this._isActiveEvents.set(f,!1)))}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(2),i=r.n(n);class s{constructor(){i()(this,"_bindEventListeners",()=>{document.addEventListener(this._visibilityChange,this._handleVisibilityChange,!1)}),i()(this,"_handleVisibilityChange",()=>{let c=document[this._hidden];this._isHidden=c,this._callbacks.forEach(u=>u(c))}),this._isHidden=!1,this._callbacks=new Map,this._hidden=void 0,this._visibilityChange=void 0,typeof document!="undefined"&&(typeof document.hidden!="undefined"?(this._isHidden=document.hidden,this._hidden="hidden",this._visibilityChange="visibilitychange"):typeof document.msHidden!="undefined"?(this._isHidden=document.msHidden,this._hidden="msHidden",this._visibilityChange="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(this._isHidden=document.webkitHidden,this._hidden="webkitHidden",this._visibilityChange="webkitvisibilitychange"),typeof document.addEventListener!="undefined"&&this._hidden!==void 0&&this._bindEventListeners())}addCallback(c,u){if(typeof c!="string")throw new Error("Invalid name, must be string");if(typeof u!="function")throw new Error("Invalid callback, must be function");this._callbacks.set(c,u)}removeCallback(c){this._callbacks.has(c)&&this._callbacks.delete(c)}getIsHidden(){return this._isHidden}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});class n{constructor(){this._performance=window.performance}clearMarks(...s){!this._performance||!this._performance.clearMarks||this._performance.clearMarks(...s)}mark(...s){!this._performance||!this._performance.mark||this._performance.mark(...s)}getEntriesByName(...s){return!this._performance||!this._performance.getEntriesByName?[]:this._performance.getEntriesByName(...s)}getTimeOrigin(){return!this._performance||!this._performance.timeOrigin&&!this._performance.timing?0:this._performance.timeOrigin||this._performance.timing.navigationStart}now(){return!this._performance||!this._performance.now?Date.now?Date.now():+new Date:this._performance.now()}isAvailable(){return!!this._performance&&!!this._performance.clearMarks&&!!this._performance.mark&&!!this._performance.getEntriesByName&&!!this._performance.timing}}},function(t,o,r){"use strict";r.r(o);let n=i=>typeof i=="function";o.default=(i,s)=>()=>{if(n(i))try{return i()}catch(a){console.error("".concat(s," - ").concat(a instanceof Error?a.message:String(a)));return}return i}},function(t,o,r){"use strict";r.r(o),r.d(o,"isFirstParty",function(){return i}),r.d(o,"isThirdParty",function(){return s});var n=r(9);let i=a=>a.embeddedType===n.productEmbedType.FIRST_PARTY&&a.embeddedFromProduct!==void 0,s=a=>a.embeddedType===n.productEmbedType.THIRD_PARTY&&a.embeddedFromTopLevelDomain!==void 0},function(t,o,r){"use strict";r.r(o),r.d(o,"filterAndBuildContainers",function(){return T}),r.d(o,"buildContainersWithName",function(){return O}),r.d(o,"buildActionFields",function(){return D}),r.d(o,"buildScreenEvent",function(){return w}),r.d(o,"buildActionName",function(){return N}),r.d(o,"validationMode",function(){return j}),r.d(o,"buildContext",function(){return H}),r.d(o,"extractProductOverrides",function(){return de}),r.d(o,"buildActionEvent",function(){return ce});var n=r(2),i=r.n(n),s=r(9),a=r(16);function c(M,k){var F=Object.keys(M);if(Object.getOwnPropertySymbols){var X=Object.getOwnPropertySymbols(M);k&&(X=X.filter(function(Ee){return Object.getOwnPropertyDescriptor(M,Ee).enumerable})),F.push.apply(F,X)}return F}function u(M){for(var k=1;k<arguments.length;k++){var F=arguments[k]!=null?arguments[k]:{};k%2?c(Object(F),!0).forEach(function(X){i()(M,X,F[X])}):Object.getOwnPropertyDescriptors?Object.defineProperties(M,Object.getOwnPropertyDescriptors(F)):c(Object(F)).forEach(function(X){Object.defineProperty(M,X,Object.getOwnPropertyDescriptor(F,X))})}return M}let m="5.1.0";function p(M){return{tenantIdType:M.tenantIdType,tenantId:M.tenantId}}function d(M){return{userIdType:M.userIdType}}function l(M){return{orgId:M.orgId}}function f(M){return{workspaceId:M.workspaceId}}function h(M){if(b(M))return{aliases:M}}function v(M){if(b(M))return{groups:M}}function S(M){return M.anonymousId?{anonymousId:M.anonymousId}:{}}function y(M,k){return k===void 0?M:k}function E(M,k){let F=k||{},X=y(M.env,F.env),Ee=y(M.product,F.product),De=y(M.subproduct(),F.subproduct),Se=y(M.version,F.version),it=y(M.origin,F.origin),Rt=y(M.platform,F.platform);return{env:X,product:Ee,subproduct:De,version:Se,origin:it,platform:Rt}}function b(M){return Object(a.isPlainObject)(M)&&Object.keys(M).length>0}function g(M,k){return b(k)?{[M]:k}:void 0}function C(M){return g("attributes",M)}function T(M){let k={};return Object.keys(M).forEach(F=>{let X=M[F];k[F]={id:X.id,type:X.type}}),k}function O(M){if(b(M)){let k=T(M);return g("containers",k)}}function D(M,k){return u({containerType:M.containerType,containerId:M.containerId,source:M.source,objectType:M.objectType,objectId:M.objectId,actionSubject:M.actionSubject,action:M.action,actionSubjectId:M.actionSubjectId,attributes:M.attributes,nonPrivacySafeAttributes:M.nonPrivacySafeAttributes,tags:M.tags,highPriority:M.highPriority,eventType:k},O(M.containers))}function U(M){return g("nonPrivacySafeAttributes",M)}function w(M,k,F,X,Ee,De,Se,it,Rt,xr,Lr,L,B,ae,se,mt){let tr=E(M),ur=p(k),Nr=d(F),kr=l(xr),Zn=f(L),qn={title:"",path:"",url:"",referrer:"",search:"",eventType:s.eventType.SCREEN};return u(u(u(u(u(u(u(u(u(u(u(u({},tr),ur),Nr),kr),qn),C(X)),U(Ee)),O(ae)),S(B)),{},{tags:De,tabId:Se,sessionId:it,taskSessions:Rt,pageLoadId:Lr},Zn),h(se)),v(mt))}function N(M){return"".concat(M.actionSubject," ").concat(M.action)}let j=function(M){return M.QUIET="quiet",M.STANDARD="standard",M.COMPLETE="complete",M}({});function z(M){let k=M.env;return k===void 0||k.includes("prod")?j.QUIET:j.COMPLETE}function H(M){let k=window.screen||{};return{context:{locale:M.locale,screen:{width:k.width,height:k.height,density:window.devicePixelRatio},library:{name:"analytics.js",version:m},validationMode:z(M)}}}function de(M){let{env:k,product:F,subproduct:X,version:Ee,origin:De,platform:Se}=M;return{env:k,product:F,subproduct:X,version:Ee,origin:De,platform:Se}}function ce(M,k,F,X,Ee,De,Se,it,Rt,xr,Lr,L,B){let ae=E(M,de(X)),se=p(k),mt=l(Rt),tr=f(Lr),ur=d(F),Nr=D(X,Ee);return u(u(u(u(u(u(u(u(u({},ae),se),mt),ur),Nr),S(X)),{},{tabId:De,sessionId:Se,taskSessions:it,pageLoadId:xr},tr),h(L)),v(B))}},function(t,o,r){"use strict";r.r(o),r.d(o,"isPlainObject",function(){return s});function n(a){return a!==null&&typeof a=="object"&&Array.isArray(a)===!1}function i(a){return n(a)===!0&&Object.prototype.toString.call(a)==="[object Object]"}function s(a){if(i(a)===!1)return!1;let c=a.constructor;if(typeof c!="function")return!1;let u=c.prototype;return!(i(u)===!1||!("isPrototypeOf"in u))}},function(t,o,r){"use strict";r.r(o);var n=r(18);r.d(o,"CompressionRule",function(){return n.CompressionRule});var i=r(21);r.d(o,"default",function(){return i.default});var s=r(25);r.d(o,"StopLowPriorityEventDelayReason",function(){return s.StopLowPriorityEventDelayReason})},function(t,o,r){"use strict";r.r(o),r.d(o,"CompressionRule",function(){return c});var n=r(2),i=r.n(n),s=r(19),a=r(20);class c{constructor(m,p){if(i()(this,"canCompress",d=>{try{return d&&Object(s.isActionEventType)(d.eventType)&&this.predicate(d)}catch(l){return!1}}),i()(this,"compress",d=>{let[l,f]=Object(a.partition)(d,v=>this.canCompress(v)),h=this.compressFn(l);if(!h)throw new Error("No events were returned from the compression function");return h.forEach(v=>{Object(s.validateActionEventType)(v.eventType),Object(s.validateActionEvent)(v)}),h.concat(f)}),typeof m!="function")throw new Error("Invalid predicate, must be a function that accepts an event and returns a boolean");if(typeof p!="function")throw new Error("Invalid compressFn, must be a function that both accepts and returns an array of events");this.predicate=m,this.compressFn=p}}},function(t,o,r){"use strict";r.r(o),r.d(o,"validateContainersObject",function(){return a}),r.d(o,"validateContainers",function(){return c}),r.d(o,"isActionEventType",function(){return u}),r.d(o,"validateActionEventType",function(){return m}),r.d(o,"validateActionEvent",function(){return p}),r.d(o,"validateScreenEvent",function(){return d}),r.d(o,"validateTrackEvent",function(){return l}),r.d(o,"validateDwellBaseEvent",function(){return f}),r.d(o,"validateUIEvent",function(){return h}),r.d(o,"validateOperationalEvent",function(){return v}),r.d(o,"validateIdentifyEvent",function(){return S}),r.d(o,"validatePlatform",function(){return y});var n=r(9),i=r(16);let s=Object.freeze([n.eventType.OPERATIONAL,n.eventType.TRACK,n.eventType.UI]);function a(E){if(!Object(i.isPlainObject)(E))throw new Error("properties.containers must be an Object");if(!("id"in E))throw new Error("properties.containers is missing field 'id'");if(typeof E.id!="string")throw new Error("properties.containers.id must be of type String");if("type"in E&&typeof E.type!="string")throw new Error("properties.containers.type must be of type String")}function c(E){if(E){if(E&&E.constructor!==Object)throw new Error("properties.containers must be an Object");Object.values(E).forEach(b=>a(b))}}function u(E){switch(E){case n.eventType.OPERATIONAL:case n.eventType.TRACK:case n.eventType.UI:return!0;default:return!1}}function m(E){if(!u(E))throw new Error("Invalid action event type: ".concat(E,", must be one of: [").concat(s,"]"));return!0}function p(E){if(!E)throw new Error("Missing event");if(!E.source)throw new Error("Missing event.source");if(!E.actionSubject)throw new Error("Missing event.actionSubject");if(!E.action)throw new Error("Missing event.action");c(E.containers)}function d(E){if(!E)throw new Error("Missing name")}function l(E){p(E)}function f(E){if(!E)throw new Error("Missing event");if(!E.source)throw new Error("Missing event.source");if(!E.actionSubject)throw new Error("Missing event.actionSubject")}function h(E){p(E)}function v(E){p(E)}function S(E,b){if(!E)throw new Error("Missing userIdType");if(!b)throw new Error("Missing userId");if(!Object(n.isType)(n.userType,E))throw new Error("Invalid userIdType '".concat(E,"', ")+"must be an userType: [".concat(Object(n.objectValues)(n.userType),"]"))}function y(E){if(!Object(n.isType)(n.platformType,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', ")+"must be a platformType: [".concat(Object(n.objectValues)(n.platformType),"]"));if(E.origin===n.originType.DESKTOP&&!Object(n.isType)(n.desktopPlatforms,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', ")+"must be one of [mac, linux, windows]");if(E.origin===n.originType.WEB&&!Object(n.isType)(n.webPlatforms,E.platform))throw new Error("Invalid productInfo.platform '".concat(E.platform,"', must be one of [web, mobileWeb]"))}},function(t,o,r){"use strict";r.r(o),r.d(o,"mapKeys",function(){return n}),r.d(o,"pick",function(){return i}),r.d(o,"pickBy",function(){return a}),r.d(o,"omitBy",function(){return s}),r.d(o,"omit",function(){return c}),r.d(o,"equals",function(){return u}),r.d(o,"partition",function(){return m});let n=(p,d)=>Object.keys(p).reduce((l,f)=>{let h=d(p[f],f,p);return l[h]=p[f],l},{}),i=(p,d)=>d.reduce((l,f)=>(f in p&&(l[f]=p[f]),l),{}),s=(p,d)=>Object.keys(p).filter(l=>!d(p[l],l)).reduce((l,f)=>(l[f]=p[f],l),{}),a=(p,d)=>Object.keys(p).filter(l=>d(p[l],l)).reduce((l,f)=>(l[f]=p[f],l),{}),c=(p,d)=>Object.keys(p).filter(l=>d.indexOf(l)<0).reduce((l,f)=>(l[f]=p[f],l),{}),u=(p,d)=>{if(p===d)return!0;if(p instanceof Date&&d instanceof Date)return p.getTime()===d.getTime();if(!p||!d||typeof p!="object"&&typeof d!="object")return p===d;if(p.prototype!==d.prototype)return!1;let l=Object.keys(p);return l.length!==Object.keys(d).length?!1:l.every(f=>u(p[f],d[f]))},m=(p,d)=>p.reduce((l,f,h,v)=>(l[d(f,h,v)?0:1].push(f),l),[[],[]])},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n),s=r(22),a=r(23),c=r(25);class u{constructor(p,d){i()(this,"push",(l,f,h,v)=>{this.delayQueue.push(l,f,h,v)}),i()(this,"startLowPriorityEventDelay",(l=s.DEFAULT_DELAY_TIMEOUT,f)=>{if(Number.isNaN(l)||l<=0)throw new Error("Invalid timeout period: ".concat(l,", must be a number greater than 0"));this.delayTimeout&&clearTimeout(this.delayTimeout);let h=l?Math.min(l,s.MAX_DELAY_TIMEOUT):s.MAX_DELAY_TIMEOUT;this.delayCallback=f,this.delayTimeout=setTimeout(()=>this.stopLowPriorityEventDelay(c.StopLowPriorityEventDelayReason.TIMEOUT),h),this.delayQueue.cancelFlush(),this.isDelaying=!0}),i()(this,"stopLowPriorityEventDelay",(l=c.StopLowPriorityEventDelayReason.MANUAL)=>{var f;this.delayTimeout&&(clearTimeout(this.delayTimeout),this.delayTimeout=void 0),this.delayQueue.startFlush(),this.isDelaying=!1,(f=this.delayCallback)===null||f===void 0||f.call(this,l),this.delayCallback=void 0}),i()(this,"isDelayingLowPriorityEvents",()=>this.isDelaying),this.isDelaying=!1,this.delayQueue=new a.default(p,d)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_DELAY_TIMEOUT",function(){return n}),r.d(o,"MAX_DELAY_TIMEOUT",function(){return i});let n=1e4,i=3e4},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(15),a=r(20),c=r(24);let u=7,m=100;class p{constructor(l,f){i()(this,"push",(h,v,S,y)=>{this.eventArgs.push({identifier:h,builtEvent:v,context:S,userInfo:y})}),i()(this,"size",()=>this.eventArgs.length),i()(this,"startFlush",()=>{try{this.eventArgs=this.compressEventArgs(this.eventArgs)}catch(h){console.warn("Failed to perform compression on the delayed analytics events. "+"Error: ".concat(h.message,". Sending ").concat(this.eventArgs.length," uncompressed events instead"))}this.flushNextBatch()}),i()(this,"cancelFlush",()=>{this.flushBatchTimeout&&(clearTimeout(this.flushBatchTimeout),this.flushBatchTimeout=null)}),i()(this,"flushNextBatch",()=>{this.eventArgs.splice(0,u).forEach(v=>this.processFn(v.identifier,v.builtEvent,v.context,v.userInfo)),this.eventArgs.length>0?this.flushBatchTimeout=setTimeout(()=>this.flushNextBatch(),m):this.flushBatchTimeout=null}),i()(this,"compressEventArgs",h=>{let[v,S]=Object(a.partition)(h,b=>this.compressor.canCompress(b.builtEvent)),E=v.reduce((b,g)=>{let C=b.find(T=>Object(a.equals)(T.userInfo,g.userInfo)&&Object(a.equals)(T.context,g.context));return C?C.eventArgs.push(g):b.push({userInfo:g.userInfo,context:g.context,eventArgs:[g]}),b},[]).reduce((b,g)=>{try{let C=g.eventArgs.map(D=>D.builtEvent),O=this.compressor.compress(C).map(D=>({identifier:Object(s.buildActionName)(D),builtEvent:D,userInfo:g.userInfo,context:g.context}));return b.concat(O)}catch(C){return console.warn("Failed to compress some analytics events. "+"Error: ".concat(C.message,". Sending ").concat(g.eventArgs.length," uncompressed events instead")),g.eventArgs}},[]);return S.forEach(b=>E.push(b)),E}),this.processFn=l,this.flushBatchTimeout=null,this.eventArgs=[],this.compressor=new c.default(f)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(15),a=r(20),c=r(18);function u(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function m(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?u(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):u(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}class p{constructor(l=[]){if(i()(this,"canCompress",f=>this.compressionRules.some(h=>h.canCompress(f))),i()(this,"compress",f=>this.createGroups(f).reduce((v,S)=>{let y=this.compressGroup(S);return v.concat(y)},[])),i()(this,"createGroups",f=>f.reduce((h,v)=>{let S=this.compressionRules.find(b=>b.canCompress(v)),y;if(S){let b=Object(s.buildActionFields)(v,v.eventType);y=Object(a.omit)(v,Object.keys(b))}let E=h.find(b=>S===b.compressor&&Object(a.equals)(y,b.contextFields));return E?E.events.push(v):h.push({contextFields:y,compressor:S,events:[v]}),h},[])),i()(this,"compressGroup",f=>{if(!f.compressor)return f.events;try{return f.compressor.compress(f.events).map(v=>m(m({},v),f.contextFields))}catch(h){return console.warn("Failed to compress some analytics events. "+"Error: ".concat(h.message,". Sending ").concat(f.events.length," uncompressed events instead")),f.events}}),!Array.isArray(l))throw new Error("Event compressors must be constructed with an array of CompressionRules");if(!l.every(f=>f instanceof c.CompressionRule))throw new Error("Event compressors can only be constructed with instances of CompressionRule");this.compressionRules=l}}},function(t,o,r){"use strict";r.r(o),r.d(o,"StopLowPriorityEventDelayReason",function(){return n});let n=function(i){return i.TIMEOUT="timeout",i.MANUAL="manual",i}({})},function(t,o,r){"use strict";r.r(o);var n=r(27);r.d(o,"default",function(){return n.default})},function(t,o,r){"use strict";r.r(o),r.d(o,"AnalyticsResponse",function(){return C}),r.d(o,"default",function(){return D});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(28),u=r(52),m=r(59),p=r(65),d=r(66),l=r(67),f=r(64),h=r(69),v=r(86);function S(w,N){var j=Object.keys(w);if(Object.getOwnPropertySymbols){var z=Object.getOwnPropertySymbols(w);N&&(z=z.filter(function(H){return Object.getOwnPropertyDescriptor(w,H).enumerable})),j.push.apply(j,z)}return j}function y(w){for(var N=1;N<arguments.length;N++){var j=arguments[N]!=null?arguments[N]:{};N%2?S(Object(j),!0).forEach(function(z){i()(w,z,j[z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(j)):S(Object(j)).forEach(function(z){Object.defineProperty(w,z,Object.getOwnPropertyDescriptor(j,z))})}return w}class E{constructor(N,j,z,H,de){this.success=N,this.validationErrors=j,this.message=z,this.code=H,this.validationReports=de}isSuccess(){return this.success}getValidationErrors(){return this.validationErrors}getMessage(){return this.message}getCode(){return this.code}getValidationReports(){return this.validationReports}}class b{constructor(N){this.error=N}}class g{constructor(N,j){this.messageId=N,this.results=j}getMessageId(){return this.messageId}getResults(){return this.results}}class C{constructor(N,j,z,H){this.success=N,this.statusCode=j,this.message=z,this.eventResponseList=H}isSuccess(){return this.success}getStatusCode(){return this.statusCode}getMessage(){return this.message}getEventResponseList(){return this.eventResponseList}}class T{constructor(N,j,z){this.messageId=N,this.results=j,this.segmentEvent=z}getMessageId(){return this.messageId}getResults(){return this.results}getSegmentEvent(){return this.segmentEvent}}class O{constructor(N,j,z,H){this.type=N,this.severity=j,this.propertyPath=z,this.message=H}getType(){return this.type}getSeverity(){return this.severity}getPropertyPath(){return this.propertyPath}getMessage(){return this.message}}class D{constructor(N){var j;i()(this,"sendEvents",async(z,H)=>{let de=this.resilienceQueue.getGlobalRetryCount(),ce=this.metrics.getMetricsPayload(),M=y(y({},ce),{},{httpRetryCount:de});for(let Se in M)M[Se]===0&&delete M[Se];let k=await this.attachXIDs(z),F=new Date().toISOString(),Ee={batch:k.map(Se=>(Se.msg.sentAt=F,Se.msg)),sentAt:F,metadata:M},De=this.responseCallback;try{let Se=await Object(l.sendEvents)({url:this.gasv3BatchUrl,batch:Ee,timeout:this.options.requestTimeout});if(this.metrics.subtractFromMetrics(ce),H(null,Se),De!==null&&Se!==null){let it=await Se.clone().json(),Rt=U.toAnalyticsResponse(z,null,it);De(Rt)}}catch(Se){if(H(Se,null),De!==null&&Se!==null){let it=U.toAnalyticsResponse(z,Se,null);De(it)}}}),this.options=y(y({},N),{},{requestTimeout:N.requestTimeout||p.DEFAULT_REQUEST_TIMEOUT,retryQueueOptions:N.retryQueueOptions||{},logger:N.logger||console,disableCookiePersistence:N.disableCookiePersistence||!1}),this.user=new h.default((j=this.options)===null||j===void 0?void 0:j.disableCookiePersistence),this.xidPromiseCallback=N.xidPromiseGetter(),this.gasv3BatchUrl="".concat(N.apiHostProtocol,"://").concat(N.apiHost,"/batch"),this.metrics=Object(u.default)(),this.responseCallback=N.responseCallback,this.resilienceQueue=Object(c.default)(N.retryQueuePrefix,N.product,this.options.retryQueueOptions,this.options.logger),this.resilienceQueue.start(this.sendEvents)}getUser(){return this.user}async track(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.TRACK,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.TRACK,properties:Object(v.prepareEventProperties)(j),event:N}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}async page(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.PAGE,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.PAGE,properties:Object(v.prepareEventProperties)(j),name:N}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}async identify(N,j,z,H){let de=this.buildBaseEvent(z,f.SegmentEventTypes.IDENTIFY,j),ce=y(y({},de),{},{type:f.SegmentEventTypes.IDENTIFY,traits:Object(v.prepareEventProperties)(j)}),M=y(y({},ce),{},{messageId:this.createMessageId()}),k=this.packageEvent(M);await this.resilienceQueue.addItem(k),H&&H()}buildBaseEvent(N,j,z){let H=Object(v.prepareEventProperties)(N);return{context:Object(v.buildContext)(H),timestamp:new Date().toISOString(),type:j,userId:this.user.getUserId(),anonymousId:z.anonymousId||this.user.getAnonymousId()}}createMessageId(){return"ajs-".concat(a()())}packageEvent(N){let{apiHost:j,apiHostProtocol:z}=this.options;return{headers:{"Content-Type":"text/plain"},msg:N,url:"".concat(z,"://").concat(j,"/").concat(N.type.charAt(0))}}async attachXIDs(N){return this.xidPromiseCallback?Object(m.attachXidToMultipleEvents)(N,this.xidPromiseCallback):Promise.resolve(N)}setResponseCallback(N){this.responseCallback=N}}class U{static toAnalyticsResponse(N,j,z){let H=[];if(z!==null){let[M,k]=[z.code,z.success];if(M>=200&&M<=299){var de;return(de=z.validationReports)===null||de===void 0||de.forEach(F=>{let X=N.find(Ee=>Ee.msg.messageId===F.messageId);X&&H.push(new T(X.msg.messageId,F.results,X.msg))}),new C(k,M,d.HTTP_STATUS_CODE_MAP.get(M),H)}else if(M>=400&&M<=499){var ce;let F=((ce=z.message)===null||ce===void 0?void 0:ce.error)!==null?z.message.error:d.HTTP_STATUS_CODE_MAP.has(M)?d.HTTP_STATUS_CODE_MAP.get(M):d.HTTP_STATUS_CODE_MAP.get(-1);return N.forEach(X=>{H.push(new T(X.msg.messageId,[],X.msg))}),new C(k,M,F,H)}}else if(j!==null&&j.message!==null){let M=j.message.match(U.http_error_regex);if(M)return N.forEach(k=>{H.push(new T(k.msg.messageId,[],k.msg))}),new C(!1,Number(M[1]),M[2],H)}return N.forEach(M=>{H.push(new T(M.msg.messageId,[],M.msg))}),new C(!1,-1,d.HTTP_STATUS_CODE_MAP.get(-1),H)}}i()(U,"http_error_regex",/HTTP Error\s([0-9]{3})\s\((.+)\)/)},function(t,o,r){"use strict";r.r(o);var n=r(29),i=r(53);r.d(o,"ResilienceMechanism",function(){return i.ResilienceMechanism}),o.default=(s,a,c,u)=>new n.default(s,a,c||{},u)},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_POLLING_OPTIONS",function(){return v}),r.d(o,"default",function(){return S});var n=r(2),i=r.n(n),s=r(30),a=r(35),c=r(52),u=r(54),m=r(55),p=r(53);function d(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function l(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?d(Object(b),!0).forEach(function(g){i()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):d(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}let f=6e4,h={backoffFactor:0,backoffJitterPercentage:0,flushWaitMs:f,minRetryDelay:f,maxRetryDelay:f},v={backoffFactor:2,backoffJitterPercentage:.2,batchFlushSize:7,flushBeforeUnload:!1,flushWaitMs:500,maxAttempts:10,maxItems:1e3,maxRetryDelay:3e4,minRetryDelay:1e3};class S{constructor(E,b,g,C){this.queuePrefix=E,this.resilience=new a.default(b,{logger:C,maxAttempts:g==null?void 0:g.maxAttempts,maxEventLimit:g==null?void 0:g.maxItems}),this.options=this.buildOptions(g),this.scheduler=new m.default(l(l({},this.options),{},{waitInterval:g!=null&&g.flushBeforeUnload?0:this.options.flushWaitMs}),this.scheduleCallback.bind(this)),this.longPollingScheduler=new m.default(l(l({},h),{},{waitInterval:h.flushWaitMs}),this.scheduleLongCallBack.bind(this)),this.metricsCollector=Object(c.default)(),this.networkStatus=new u.default(T=>{T===p.NetworkStatusEnum.OFFLINE?this.scheduler.stop():this.checkEventCountAndReschedule()})}start(E){this.batchFlushCallback=E,this.longPollingScheduler.schedule()}stop(){this.scheduler.stop(),this.longPollingScheduler.stop()}async addItem(E){let b=JSON.parse(JSON.stringify(E)),{numberOfEvictedItems:g}=await this.resilience.addItem(b,{},a.GuardPolicy.EVICT);this.scheduler.schedule(),this.metricsCollector.addToEventCount(),g>0&&this.metricsCollector.addToItemsDiscardedByOverflowCounter(g)}getGlobalRetryCount(){return this.scheduler.getFailureCount()}async scheduleCallback(E){if(this.networkStatus.getNetworkStatus()===p.NetworkStatusEnum.OFFLINE){E(m.DoneState.NOOP);return}try{let b=await this.resilience.processItems(this.flush.bind(this),this.options.batchFlushSize);E(b)}catch(b){if(b.name===a.CallbackProcessingErrorName){E(m.DoneState.ERROR);return}}finally{await this.checkEventCountAndReschedule()}}async checkEventCountAndReschedule(){let E=await this.resilience.getItemCount();E>0&&this.scheduler.schedule({immediate:E>=this.options.batchFlushSize})}async scheduleLongCallBack(E){let b=Object(s.purgeOrphanedQueues)(this.queuePrefix);this.metricsCollector.addToPurgedQueuesMetrics(b);let g=await Object(s.reclaimEvents)(this.queuePrefix,async C=>{let T=C.map(D=>({item:D.item,retryAttempts:D.attemptNumber,id:D.id})),{items:O}=await this.resilience.bulkAddItem(T,a.GuardPolicy.IGNORE);return O.length===T.length?{status:"successful"}:{status:"partial",acceptedItemIds:O.map(D=>D.id)}});this.metricsCollector.addToReclaimMetrics(g),await this.checkEventCountAndReschedule(),E(m.DoneState.SUCCESS),this.longPollingScheduler.schedule()}flush(E,b){this.metricsCollector.setResilienceMechanism(this.resilience.storeType());let{batchFlushCallback:g}=this;if(!g)throw new Error("batchFlushCallback has not been set. Call PullBatchableQueue#start first.");return new Promise((C,T)=>{if(E.length<=0){C(m.DoneState.NOOP);return}let O=E.map(D=>{let U=D.item;return D.retryAttempts>0&&U.msg&&(U.msg._metadata||(U.msg._metadata={}),U.msg._metadata.failedAttempts=D.retryAttempts),U});g(O,D=>{D?(b.numberOfDeletedItems>0&&this.metricsCollector.addToItemsDiscardedByRetryCounter(b.numberOfDeletedItems),T(D)):C(m.DoneState.SUCCESS)})})}buildOptions(E){return{backoffFactor:(E==null?void 0:E.backoffFactor)||v.backoffFactor,backoffJitterPercentage:(E==null?void 0:E.backoffJitterPercentage)!==void 0?E.backoffJitterPercentage:v.backoffJitterPercentage,batchFlushSize:(E==null?void 0:E.batchFlushSize)||v.batchFlushSize,flushBeforeUnload:(E==null?void 0:E.flushBeforeUnload)||v.flushBeforeUnload,flushWaitMs:(E==null?void 0:E.flushWaitMs)||v.flushWaitMs,maxItems:(E==null?void 0:E.maxItems)||v.maxItems,maxAttempts:(E==null?void 0:E.maxAttempts)||v.maxAttempts,maxRetryDelay:(E==null?void 0:E.maxRetryDelay)||v.maxRetryDelay,minRetryDelay:(E==null?void 0:E.minRetryDelay)||v.minRetryDelay}}}},function(t,o,r){"use strict";r.r(o);var n=r(31);r.d(o,"reclaimEvents",function(){return n.default});var i=r(34);r.d(o,"purgeOrphanedQueues",function(){return i.default})},function(t,o,r){"use strict";r.r(o);var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(32),u=r(33);function m(S,y){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(S);y&&(b=b.filter(function(g){return Object.getOwnPropertyDescriptor(S,g).enumerable})),E.push.apply(E,b)}return E}function p(S){for(var y=1;y<arguments.length;y++){var E=arguments[y]!=null?arguments[y]:{};y%2?m(Object(E),!0).forEach(function(b){i()(S,b,E[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(E)):m(Object(E)).forEach(function(b){Object.defineProperty(S,b,Object.getOwnPropertyDescriptor(E,b))})}return S}let d=S=>new Promise(y=>{setTimeout(y,S)}),l=S=>{try{return Object.keys(localStorage).filter(y=>y.startsWith(S)).map(y=>y.split(".")).filter(y=>{if(y.length===3&&y[0]===S&&y[2]===c.LocalStorageKeySuffix.ACK)try{let E=localStorage.getItem(y.join("."));if(E){let b=parseInt(E);return c.Timers.RECLAIM_TIMEOUT+b<Date.now()}}catch(E){}return!1}).map(y=>y[1])}catch(y){}return[]},f=async(S,y)=>{let{ack:E,reclaimStart:b,reclaimEnd:g}=S.storageKeys,C=Date.now();if(localStorage.setItem(b,S.reclaimProcessId),localStorage.setItem(E,C.toString()),await d(c.Timers.RECLAIM_WAIT),Date.now()>C+c.Timers.RECLAIM_WAIT_THRESHOLD||localStorage.getItem(b)!==S.reclaimProcessId)throw new Error("Took to long to callback, reclaim abandonded. After reclaimStart.");if(localStorage.setItem(g,S.reclaimProcessId),await d(c.Timers.RECLAIM_WAIT),Date.now()>C+c.Timers.RECLAIM_WAIT_THRESHOLD||localStorage.getItem(b)!==S.reclaimProcessId||localStorage.getItem(g)!==S.reclaimProcessId)throw new Error("Took to long to callback, reclaim abandonded. After reclaimEnd.");return h(S,y)},h=async(S,y)=>{let{queue:E,inProgress:b}=S.storageKeys,g=JSON.parse(localStorage.getItem(E)||"[]"),C=JSON.parse(localStorage.getItem(b)||"{}"),T=Object.entries(C).map(([D,U])=>p(p({},U),{},{attemptNumber:U.attemptNumber+1,id:D})),O=[...g,...T];if(O.length>0){let D=await y(O);if(D.status==="successful")v(S.storageKeys);else if(D.status==="partial"){let U=O.filter(w=>!D.acceptedItemIds.includes(w.id));return localStorage.removeItem(b),localStorage.setItem(E,JSON.stringify(U)),{fullReclaim:!1}}}else v(S.storageKeys);return{fullReclaim:!0}},v=S=>{localStorage.removeItem(S.queue),localStorage.removeItem(S.inProgress),localStorage.removeItem(S.reclaimEnd),localStorage.removeItem(S.reclaimStart),localStorage.removeItem(S.ack)};o.default=async(S,y)=>{if(typeof S!="string"||S.length===0)return{fullReclaims:0,partialReclaims:0,failedReclaims:0};let E=a()(),g=l(S).map(w=>f({queuePrefix:S,reclaimProcessId:E,storageKeys:Object(u.createLocalStorageKeys)(S,w)},y)),C=await Promise.allSettled(g),T=C.filter(w=>w.status==="rejected"),O=C.filter(w=>w.status==="fulfilled").map(w=>w.value),D=O.filter(w=>w.fullReclaim),U=O.filter(w=>!w.fullReclaim);return{failedReclaims:T.length,partialReclaims:U.length,fullReclaims:D.length}}},function(t,o,r){"use strict";r.r(o),r.d(o,"LocalStorageKeySuffix",function(){return n}),r.d(o,"Timers",function(){return i});let n=function(s){return s.IN_PROGRESS="inProgress",s.QUEUE="queue",s.RECLAIM_START="reclaimStart",s.RECLAIM_END="reclaimEnd",s.ACK="ack",s}({}),i=function(s){return s[s.RECLAIM_TIMEOUT=1e4]="RECLAIM_TIMEOUT",s[s.RECLAIM_WAIT=500]="RECLAIM_WAIT",s[s.RECLAIM_WAIT_THRESHOLD=2e3]="RECLAIM_WAIT_THRESHOLD",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"createLocalStorageKeys",function(){return i});var n=r(32);let i=(s,a)=>({[n.LocalStorageKeySuffix.ACK]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.ACK),[n.LocalStorageKeySuffix.QUEUE]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.QUEUE),[n.LocalStorageKeySuffix.IN_PROGRESS]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.IN_PROGRESS),[n.LocalStorageKeySuffix.RECLAIM_START]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.RECLAIM_START),[n.LocalStorageKeySuffix.RECLAIM_END]:"".concat(s,".").concat(a,".").concat(n.LocalStorageKeySuffix.RECLAIM_END)})},function(t,o,r){"use strict";r.r(o);var n=r(32),i=r(33);let s=Object.values(n.LocalStorageKeySuffix);o.default=a=>{if(typeof a!="string"||a.length===0)return 0;try{let c=Object.keys(localStorage).filter(m=>m&&m.startsWith("".concat(a,"."))||!1).map(m=>m.split(".")).filter(m=>m.length===3&&s.includes(m[2])).reduce((m,p)=>{let[,d,l]=p;return m[d]===void 0&&(m[d]={}),m[d][l]=!0,m},{}),u=Object.keys(c).filter(m=>c[m][n.LocalStorageKeySuffix.ACK]!==!0);return u.forEach(m=>{let{queue:p,inProgress:d,reclaimStart:l,reclaimEnd:f}=Object(i.createLocalStorageKeys)(a,m);localStorage.removeItem(d),localStorage.removeItem(p),localStorage.removeItem(l),localStorage.removeItem(f)}),u.length}catch(c){}return 0}},function(t,o,r){"use strict";r.r(o);var n=r(36),i=r(37);r.d(o,"GuardPolicy",function(){return i.GuardPolicy}),r.d(o,"StoreType",function(){return i.StoreType});var s=r(38);r.d(o,"CallbackProcessingErrorName",function(){return s.CallbackProcessingErrorName}),o.default=n.default},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(37),i=r(38),s=r(44),a=r(50),c=r(49);class u{constructor(p,d={}){if(this.namespace=p,this.options=Object(c.createOptionsWithDefaults)(d),!p||p.length===0||typeof p!="string")throw new Error("Invalid namespace provided");this.resilience=this.getResilienceMechanism(p,d)}getResilienceMechanism(p,d){if(!d.useMemory)try{return new s.default(p,d)}catch(f){if(!(f instanceof i.NoIndexedDbError)){var l;(l=d.logger)===null||l===void 0||l.warn("Attempted to create IndexedDbResilience but failed. Using memory instead.")}}return new a.default(this.namespace,d)}addItem(p,d,l=n.GuardPolicy.ABANDON){return this.runOrFailOver(()=>this.resilience.addItem(p,d,l))}bulkAddItem(p,d=n.GuardPolicy.ABANDON){return this.runOrFailOver(()=>this.resilience.bulkAddItem(p,d))}getItems(p){return this.runOrFailOver(()=>this.resilience.getItems(p))}deleteItems(p){return this.runOrFailOver(()=>this.resilience.deleteItems(p))}getItemCount(){return this.runOrFailOver(()=>this.resilience.getItemCount())}processItems(p,d){return this.runOrFailOver(()=>this.resilience.processItems(p,d))}storeType(){return this.resilience.storeType()}async runOrFailOver(p){try{return await p()}catch(d){if(Object(i.shouldIgnoreResilienceDbError)(d))throw d;return this.resilience.storeType()===n.StoreType.INDEXEDDB&&await this.failOver(),p()}}async failOver(){let p=this.resilience,d=new a.default(this.namespace,this.options);this.resilience=d;try{let{items:l}=await p.getItems(this.options.maxEventLimit);if(l.length>0){let h=(await d.bulkAddItemWrapperType(l,n.GuardPolicy.IGNORE)).items.map(v=>v.id);await p.deleteItems(h)}}catch(l){this.options.logger.warn("Unexpected error from ResilienceDb, switching to MemoryDb")}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"NAMESPACE_AND_TIME_ADDED_INDEX",function(){return n}),r.d(o,"RESILIENCE_DB_NAME",function(){return i}),r.d(o,"RESILIENCE_STORE_NAME",function(){return s}),r.d(o,"TIME_TO_PROCESS_AFTER_INDEX",function(){return a}),r.d(o,"TIME_ADDED_INDEX",function(){return c}),r.d(o,"RETRY_INDEX",function(){return u}),r.d(o,"INDEXEDDB_TIMEOUT",function(){return m}),r.d(o,"StoreType",function(){return p}),r.d(o,"GuardPolicy",function(){return d});let n="namespace-timeAdded",i="analytics-web-client",s="analytics-resilience",a="timeToBeProcessedAfter",c="timeAdded",u="retryAttempts",m=15e3,p=function(l){return l.INDEXEDDB="indexeddb",l.MEMORY="memory",l}({}),d=function(l){return l.IGNORE="ignore",l.ABANDON="abandon",l.EVICT="evict",l}({})},function(t,o,r){"use strict";r.r(o);var n=r(39);r.d(o,"AbandonWriteError",function(){return n.default}),r.d(o,"AbandonWriteErrorName",function(){return n.AbandonWriteErrorName});var i=r(40);r.d(o,"CallbackProcessingError",function(){return i.default}),r.d(o,"CallbackProcessingErrorName",function(){return i.CallbackProcessingErrorName});var s=r(41);r.d(o,"InvalidPolicyError",function(){return s.default}),r.d(o,"InvalidPolicyErrorName",function(){return s.InvalidPolicyErrorName});var a=r(42);r.d(o,"NoIndexedDbError",function(){return a.default}),r.d(o,"NoIndexedDbErrorName",function(){return a.NoIndexedDbErrorName});var c=r(43);r.d(o,"shouldIgnoreResilienceDbError",function(){return c.shouldIgnoreResilienceDbError})},function(t,o,r){"use strict";r.r(o),r.d(o,"AbandonWriteErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="AbandonWriteError";class i extends Error{constructor(a){super("Event Limit reached. Abandoning write to: ".concat(a)),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"CallbackProcessingErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="CallbackProcessingError";class i extends Error{constructor(a){let m=a&&typeof a=="object"&&"toString"in a&&typeof a.toString=="function"&&a.toString()||typeof a=="string"&&a||"Argument passed to CallbackProcessingError was not an Error or string.";super("Error thrown while processing events in callback: ".concat(m)),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"InvalidPolicyErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="InvalidPolicyError";class i extends Error{constructor(a,c){super("Method '".concat(c,"' cannot be called with policy '").concat(a,"'.")),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"NoIndexedDbErrorName",function(){return n}),r.d(o,"default",function(){return i});let n="NoIndexedDbError";class i extends Error{constructor(){super("window.indexeddb is undefined."),Object.setPrototypeOf(this,i.prototype),this.name=n}}},function(t,o,r){"use strict";r.r(o),r.d(o,"shouldIgnoreResilienceDbError",function(){return a});var n=r(39),i=r(40),s=r(41);let a=c=>{if(c&&typeof c=="object"&&"name"in c){let u=c;return typeof u.name=="string"&&(u.name===n.AbandonWriteErrorName||u.name===i.CallbackProcessingErrorName||u.name===s.InvalidPolicyErrorName)}return!1}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return S});var n=r(45),i=r.n(n),s=r(2),a=r.n(s),c=r(37),u=r(47),m=r(38),p=r(48),d=r(49);let l=["item"],f=["items"];function h(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function v(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?h(Object(b),!0).forEach(function(g){a()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):h(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}class S{constructor(E,b={}){if(a()(this,"startDB",async()=>new Promise(async(g,C)=>{if(typeof window!="undefined"){let T=window.setTimeout(()=>{this.logger.warn("IndexedDB timed out."),C(new m.NoIndexedDbError)},c.INDEXEDDB_TIMEOUT),O=window.indexedDB.open(c.RESILIENCE_DB_NAME,1);O.onupgradeneeded=D=>{if(D.oldVersion!==0)throw new Error("We cannot upgrade the database. Do not do this.");let w=O.result.createObjectStore(c.RESILIENCE_STORE_NAME,{keyPath:"id"});w.createIndex(c.TIME_TO_PROCESS_AFTER_INDEX,c.TIME_TO_PROCESS_AFTER_INDEX,{unique:!1}),w.createIndex(c.RETRY_INDEX,c.RETRY_INDEX,{unique:!1}),w.createIndex(c.TIME_ADDED_INDEX,c.TIME_ADDED_INDEX,{unique:!1}),w.createIndex(c.NAMESPACE_AND_TIME_ADDED_INDEX,["namespace","timeAdded"],{unique:!1})},O.onerror=function(){C(new m.NoIndexedDbError)};try{return await Object(d.requestToPromise)(O),g(O.result)}catch(D){this.logger.warn("IndexedDB failed to initialise.",D),C(new m.NoIndexedDbError)}finally{window.clearTimeout(T)}}else this.logger.warn("IndexedDB failed to initialise. No 'window' object."),C(new m.NoIndexedDbError)})),a()(this,"addItem",async(g,C={},T=c.GuardPolicy.ABANDON)=>{let{logger:O,namespace:D}=this,U=Object(d.convertToItemWrapper)(g,D,C),{objectStore:w}=await this.getObjectStoreAndTransaction("readwrite");if(T===c.GuardPolicy.IGNORE)throw new m.InvalidPolicyError(T,"IndexedDbConnector#addItem");try{if(!U.namespace||U.namespace.length===0||typeof U.namespace!="string")throw new Error("Namespace not specified");let N=await this.globalEventLimitGuard.insertItems(w,[U],T);if(N.items.length===1)return{item:N.items[0],numberOfEvictedItems:N.numberOfEvictedItems};throw new Error("Incorrect number of items added. Expected: 1, got: ".concat(N.items.length))}catch(N){throw Object(m.shouldIgnoreResilienceDbError)(N)?N:(O.log("Failed to add item to table",N),new Error("Request to add item to table failed"))}}),a()(this,"bulkAddItem",async(g,C=c.GuardPolicy.ABANDON)=>{let{logger:T,namespace:O}=this,D=g.map(w=>{let{item:N}=w,j=i()(w,l);return Object(d.convertToItemWrapper)(N,O,j)}),{objectStore:U}=await this.getObjectStoreAndTransaction("readwrite");try{return await this.globalEventLimitGuard.insertItems(U,D,C)}catch(w){throw Object(m.shouldIgnoreResilienceDbError)(w)?w:(T.log("Failed to add item to table",w),new Error("Request to add item to table failed"))}}),a()(this,"getItems",async(g=u.GET_ITEM_COUNT)=>{let C=g>0?g:u.GET_ITEM_COUNT,{logger:T}=this,O=this.options.maxAttempts,{transaction:D,objectStore:U}=await this.getObjectStoreAndTransaction("readwrite"),w=U.index(c.TIME_TO_PROCESS_AFTER_INDEX),N=IDBKeyRange.upperBound(Date.now()),j=w.openCursor(N),z=await new Promise(async(H,de)=>{let ce=[],M=0;j.onerror=k=>{T.error("Failed to open cursor:",k),de("Failed to open cursor")},j.onsuccess=k=>{let F=k.target.result;if(F){let X=v({},F.value);ce.push(X);let Ee=F.value;if(Ee.retryAttempts+=1,Ee.timeToBeProcessedAfter=Date.now()+u.VISIBILITY_TIMEOUT,Ee.retryAttempts>=O){++M;let De=F.delete();Object(d.monitorErrorsOnRequest)(De,T)}else{let De=F.update(Ee);Object(d.monitorErrorsOnRequest)(De,T)}ce.length<C?F.continue():H({items:ce,numberOfDeletedItems:M})}else H({items:ce,numberOfDeletedItems:M})}});return await Object(d.commitTransaction)(D,this.logger),z}),a()(this,"deleteItems",async g=>{let{transaction:C,objectStore:T}=await this.getObjectStoreAndTransaction("readwrite");try{let O=g.map(D=>this.deleteItem(T,D));await Object(d.commitTransaction)(C,this.logger),await Promise.all(O)}catch(O){throw this.logger.warn("Failed to delete items from indexeddb.",O),O}}),a()(this,"getItemCount",async()=>{let{transaction:g,objectStore:C}=await this.getObjectStoreAndTransaction("readonly"),T=C.index(c.TIME_TO_PROCESS_AFTER_INDEX),O=IDBKeyRange.upperBound(Date.now()),D=T.count(O),U=await Object(d.requestToPromise)(D);return await Object(d.commitTransaction)(g,this.logger),U.target.result}),a()(this,"processItems",async(g,C=u.GET_ITEM_COUNT)=>{let T=await this.getItems(C),{items:O}=T,D=i()(T,f);try{let U=await g(O,D),w=O.map(N=>N.id);return await this.deleteItems(w),U}catch(U){throw new m.CallbackProcessingError(U)}}),a()(this,"deleteItem",async(g,C)=>{let{logger:T}=this;try{await Object(d.requestToPromise)(g.delete(C))}catch(O){throw T.error("Failed to delete item:",C,O),O}}),a()(this,"getObjectStoreAndTransaction",async g=>{let C=(await this.db).transaction(c.RESILIENCE_STORE_NAME,g),T=C.objectStore(c.RESILIENCE_STORE_NAME);return{transaction:C,objectStore:T}}),this.options=Object(d.createOptionsWithDefaults)(b),this.namespace=E,this.logger=this.options.logger,!window.indexedDB)throw new m.NoIndexedDbError;this.db=this.startDB(),this.db.catch(()=>{}),this.globalEventLimitGuard=new p.default(this.options.maxEventLimit,this.namespace,this.logger,this.deleteItem)}storeType(){return c.StoreType.INDEXEDDB}}},function(t,o,r){var n=r(46);function i(s,a){if(s==null)return{};var c,u,m=n(s,a);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(s);for(u=0;u<p.length;u++)c=p[u],a.includes(c)||{}.propertyIsEnumerable.call(s,c)&&(m[c]=s[c])}return m}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o){function r(n,i){if(n==null)return{};var s={};for(var a in n)if({}.hasOwnProperty.call(n,a)){if(i.includes(a))continue;s[a]=n[a]}return s}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports},function(t,o,r){"use strict";r.r(o),r.d(o,"GET_ITEM_COUNT",function(){return n}),r.d(o,"VISIBILITY_TIMEOUT",function(){return i}),r.d(o,"MAX_ATTEMPTS",function(){return s}),r.d(o,"EVENT_COUNT_LIMIT",function(){return a});let n=7,i=60*1e3,s=10,a=5e3},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n),s=r(37),a=r(38),c=r(49);class u{constructor(p,d,l,f){if(i()(this,"deleteOldestNEvents",async(h,v)=>{var S;let y=h.index(s.NAMESPACE_AND_TIME_ADDED_INDEX),E=IDBKeyRange.bound([this.namespace,0],[this.namespace,Date.now()]),b=y.getAllKeys(E,v),g=await Object(c.requestToPromise)(b),C=g==null||(S=g.target)===null||S===void 0?void 0:S.result;if(C&&Array.isArray(C)&&C.length>0)try{let T=C.map(O=>this.deleteItemHandler(h,O));await Promise.all(T)}catch(T){throw this.logger.warn("Failed to delete items from indexeddb.",T),T}}),p>0)this.eventLimit=p;else throw Error("Event Limit has to be set higher than 1");this.namespace=d,this.logger=l,this.deleteItemHandler=f}async insertItems(p,d,l=s.GuardPolicy.ABANDON){let f=[...d],h=0;switch(l){case s.GuardPolicy.ABANDON:await this.throwIfNotEnoughSpace(p,d.length);break;case s.GuardPolicy.EVICT:h=await this.evictIfNotEnoughSpace(p,d.length);break;case s.GuardPolicy.IGNORE:await this.calculateHowManyEventsWeCanAdd(p,f);break}let v=f.map(S=>Object(c.requestToPromise)(p.add(S)));return await Promise.all(v),await Object(c.commitTransaction)(p.transaction,this.logger),{items:f,numberOfEvictedItems:h}}async throwIfNotEnoughSpace(p,d){let l=await this.calculateFreeSpace(p);if(l<d)throw new a.AbandonWriteError("Not enough space in IndexedDb. Needed ".concat(d," but only had ").concat(l))}async evictIfNotEnoughSpace(p,d){let l=await this.calculateFreeSpace(p);if(l<d){let f=d-l;return await this.deleteOldestNEvents(p,f),f}return 0}async calculateHowManyEventsWeCanAdd(p,d){let l=await this.calculateFreeSpace(p);if(l<d.length){let f=d.length-l,h=d.length-f;d.splice(h,f)}}async calculateFreeSpace(p){let d=await this.getCountofEventsInObjectStore(p);return this.eventLimit-d}async getCountofEventsInObjectStore(p){let d=p.index(s.NAMESPACE_AND_TIME_ADDED_INDEX),l=IDBKeyRange.bound([this.namespace,0],[this.namespace,Date.now()]),f=d.count(l);return(await Object(c.requestToPromise)(f)).target.result}}},function(t,o,r){"use strict";r.r(o),r.d(o,"convertToItemWrapper",function(){return a}),r.d(o,"createOptionsWithDefaults",function(){return c}),r.d(o,"requestToPromise",function(){return u}),r.d(o,"transactionToPromise",function(){return m}),r.d(o,"commitTransaction",function(){return p}),r.d(o,"monitorErrorsOnRequest",function(){return d});var n=r(6),i=r.n(n),s=r(47);let a=(l,f,{id:h,retryAttempts:v,timeToProcessOffset:S})=>({item:l,id:h||i()(),retryAttempts:v||0,timeToBeProcessedAfter:Date.now()+(S||0),namespace:f,timeAdded:Date.now()}),c=l=>({logger:l.logger||console,useMemory:l.useMemory||!1,maxAttempts:l.maxAttempts||s.MAX_ATTEMPTS,maxEventLimit:l.maxEventLimit||s.EVENT_COUNT_LIMIT}),u=l=>new Promise((f,h)=>{l.onsuccess=v=>{f(v)},l.onerror=v=>{h(v)}}),m=l=>new Promise((f,h)=>{l.oncomplete=()=>{f()},l.onerror=v=>{h(v)},l.onabort=v=>{h(v)}}),p=(l,f)=>{try{typeof l.commit=="function"&&l.commit()}catch(h){throw f.error("Failed to force commit transaction:",h),h}return m(l)},d=(l,f)=>{l.onerror=h=>{f.warn("Error thrown from request:",h)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return S});var n=r(2),i=r.n(n),s=r(45),a=r.n(s),c=r(37),u=r(47),m=r(38),p=r(51),d=r(49);let l=["item"],f=["items"];function h(y,E){var b=Object.keys(y);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(y);E&&(g=g.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),b.push.apply(b,g)}return b}function v(y){for(var E=1;E<arguments.length;E++){var b=arguments[E]!=null?arguments[E]:{};E%2?h(Object(b),!0).forEach(function(g){i()(y,g,b[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(b)):h(Object(b)).forEach(function(g){Object.defineProperty(y,g,Object.getOwnPropertyDescriptor(b,g))})}return y}class S{constructor(E,b={}){this.namespace=E,this.memoryStore=[],this.options=Object(d.createOptionsWithDefaults)(b),this.globalEventLimitGuard=new p.default(this.options.maxEventLimit,{addItems:this.addItems.bind(this),getItemCount:this.getItemCount.bind(this),evictEventsIfNeeded:this.evictEventsIfNeeded.bind(this)})}async addItem(E,b={},g=c.GuardPolicy.ABANDON){if(g===c.GuardPolicy.IGNORE)throw new m.InvalidPolicyError(g,"IndexedDbConnector#addItem");let C=Object(d.convertToItemWrapper)(E,this.namespace,b),T=await this.globalEventLimitGuard.insertItemsToMemoryStore([C],g);return Promise.resolve({item:T.items[0],numberOfEvictedItems:T.numberOfEvictedItems})}bulkAddItem(E,b=c.GuardPolicy.ABANDON){let g=E.map(C=>{let{item:T}=C,O=a()(C,l);return Object(d.convertToItemWrapper)(T,this.namespace,O)});return this.bulkAddItemWrapperType(g,b)}bulkAddItemWrapperType(E,b=c.GuardPolicy.ABANDON){return Promise.resolve(this.globalEventLimitGuard.insertItemsToMemoryStore(E,b))}getItems(E=u.GET_ITEM_COUNT){return Promise.resolve(this.synchronousGetItems(E))}synchronousGetItems(E=u.GET_ITEM_COUNT){let b=E>0?E:u.GET_ITEM_COUNT,g=Date.now(),C=[],T=[];for(let O of this.memoryStore)if(O.timeToBeProcessedAfter<=g&&(C.push(v({},O)),O.timeToBeProcessedAfter+=u.VISIBILITY_TIMEOUT,O.retryAttempts+=1,O.retryAttempts>=this.options.maxAttempts&&T.push(O)),C.length>=b)break;return T.forEach(O=>{let D=this.memoryStore.indexOf(O);this.memoryStore.splice(D,1)}),{items:C,numberOfDeletedItems:T.length}}deleteItems(E){return this.memoryStore=this.memoryStore.filter(b=>!E.includes(b.id)),Promise.resolve(void 0)}getItemCount(){let E=Date.now(),b=this.memoryStore.filter(g=>g.timeToBeProcessedAfter<=E).length;return Promise.resolve(b)}async processItems(E,b){let g=this.synchronousGetItems(b),{items:C}=g,T=a()(g,f),O=C.map(D=>D.id);try{let D=await E(C,T);return await this.deleteItems(O),D}catch(D){throw new m.CallbackProcessingError(D)}}storeType(){return c.StoreType.MEMORY}addItems(E){this.memoryStore.push(...E),this.memoryStore.sort(function(b,g){return b.timeAdded-g.timeAdded})}evictEventsIfNeeded(E){let b=this.memoryStore.length;if(b>E){let g=b-E;return this.memoryStore.splice(0,g),g}return 0}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(2),i=r.n(n),s=r(37),a=r(38);class c{constructor(m,p){if(i()(this,"insertItemsToMemoryStore",(d,l)=>{switch(l){case s.GuardPolicy.ABANDON:return this.handleAbandonIfLimitWillExceedPolicy(d);case s.GuardPolicy.EVICT:return Promise.resolve(this.handleEvictOldestIfLimitExceededPolicy(d));case s.GuardPolicy.IGNORE:return this.handleAddAsManyAsPossible(d)}}),m>0)this.eventLimit=m;else throw Error("Event Limit has to be set higher than 1");this.memoryItemHandlers=p}async handleAbandonIfLimitWillExceedPolicy(m){if(await this.memoryItemHandlers.getItemCount()+m.length>this.eventLimit)throw new a.AbandonWriteError(s.StoreType.MEMORY);return this.memoryItemHandlers.addItems(m),{items:m,numberOfEvictedItems:0}}handleEvictOldestIfLimitExceededPolicy(m){this.memoryItemHandlers.addItems(m);let p=this.memoryItemHandlers.evictEventsIfNeeded(this.eventLimit);return{items:m,numberOfEvictedItems:p}}async handleAddAsManyAsPossible(m){let p=this.eventLimit-await this.memoryItemHandlers.getItemCount(),d=p>m.length?m:m.slice(0,p);return this.memoryItemHandlers.addItems(d),{items:d,numberOfEvictedItems:0}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"MetricsCollector",function(){return a});var n=r(2),i=r.n(n),s=r(53);class a{constructor(){i()(this,"itemsDiscardedByRetry",0),i()(this,"eventCount",0),i()(this,"itemsDiscardedByOverflow",0),i()(this,"resilienceMechanism",s.ResilienceMechanism.INDEXEDDB),i()(this,"localstorageNumberOfQueuesPurged",0),i()(this,"localstorageNumberOfFullReclaims",0),i()(this,"localstorageNumberOfPartialReclaims",0),i()(this,"localstorageNumberOfFailedReclaims",0)}addToItemsDiscardedByRetryCounter(m=1){this.itemsDiscardedByRetry+=m}addToEventCount(){this.eventCount++}addToItemsDiscardedByOverflowCounter(m=1){this.itemsDiscardedByOverflow+=m}setResilienceMechanism(m){this.resilienceMechanism=m}addToReclaimMetrics(m){this.localstorageNumberOfFullReclaims+=m.fullReclaims,this.localstorageNumberOfPartialReclaims+=m.partialReclaims,this.localstorageNumberOfFailedReclaims+=m.failedReclaims}addToPurgedQueuesMetrics(m){this.localstorageNumberOfQueuesPurged+=m}subtractFromMetrics(m){this.itemsDiscardedByRetry=this.subtractFromCount(this.itemsDiscardedByRetry,m.itemsDiscardedByRetry),this.eventCount=this.subtractFromCount(this.eventCount,m.eventCount),this.itemsDiscardedByOverflow=this.subtractFromCount(this.itemsDiscardedByOverflow,m.itemsDiscardedByOverflow),this.localstorageNumberOfFullReclaims=this.subtractFromCount(this.localstorageNumberOfFullReclaims,m.fullReclaims),this.localstorageNumberOfPartialReclaims=this.subtractFromCount(this.localstorageNumberOfPartialReclaims,m.partialReclaims),this.localstorageNumberOfFailedReclaims=this.subtractFromCount(this.localstorageNumberOfFailedReclaims,m.failedReclaims),this.localstorageNumberOfQueuesPurged=this.subtractFromCount(this.localstorageNumberOfQueuesPurged,m.localstorageQueuesPurged)}subtractFromCount(m,p){return Math.max(m-(p||0),0)}getMetricsPayload(){return{itemsDiscardedByRetry:this.itemsDiscardedByRetry,eventCount:this.eventCount,itemsDiscardedByOverflow:this.itemsDiscardedByOverflow,resilienceMechanism:this.resilienceMechanism,localstorageQueuesPurged:this.localstorageNumberOfQueuesPurged,fullReclaims:this.localstorageNumberOfFullReclaims,partialReclaims:this.localstorageNumberOfPartialReclaims,failedReclaims:this.localstorageNumberOfFailedReclaims}}}let c=null;o.default=()=>(c||(c=new a),c)},function(t,o,r){"use strict";r.r(o),r.d(o,"ResilienceMechanism",function(){return n}),r.d(o,"NetworkStatusEnum",function(){return i});let n=function(s){return s.INDEXEDDB="indexeddb",s.MEMORY="memory",s}({}),i=function(s){return s[s.ONLINE=0]="ONLINE",s[s.OFFLINE=1]="OFFLINE",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return i});var n=r(53);class i{constructor(a){typeof window!="undefined"&&(window.addEventListener("offline",()=>a(n.NetworkStatusEnum.OFFLINE)),window.addEventListener("online",()=>a(n.NetworkStatusEnum.ONLINE)))}getNetworkStatus(){return window.navigator.onLine?n.NetworkStatusEnum.ONLINE:n.NetworkStatusEnum.OFFLINE}}},function(t,o,r){"use strict";r.r(o);var n=r(56);r.d(o,"default",function(){return n.default});var i=r(58);r.d(o,"DoneState",function(){return i.DoneState})},function(t,o,r){"use strict";r.r(o),r.d(o,"QueuedScheduleTypes",function(){return u}),r.d(o,"default",function(){return m});var n=r(2),i=r.n(n),s=r(57),a=r(58);let c={minRetryDelay:1e3,maxRetryDelay:3e4,backoffFactor:2,backoffJitterPercentage:0,waitInterval:500,callbackTimeoutPeriod:5e3},u=function(p){return p[p.NONE=0]="NONE",p[p.IMMEDIATE=1]="IMMEDIATE",p[p.WAIT=2]="WAIT",p}({});class m{constructor(d,l){i()(this,"schedule",({immediate:f}={immediate:!1})=>{typeof window!="undefined"&&(this.operationInFlight?f?this.queuedSchedule=u.IMMEDIATE:this.queuedSchedule!==u.IMMEDIATE&&(this.queuedSchedule=u.WAIT):(f||this.options.waitInterval<=0)&&this.failureCount===0?(this.clearTimeout(),this.run()):this.failureCount>0&&this.scheduledTimeout===null?this.scheduledTimeout=window.setTimeout(this.run,this.calculateBackoff()):this.scheduledTimeout===null&&(this.scheduledTimeout=window.setTimeout(this.run,this.options.waitInterval)))}),i()(this,"stop",()=>{this.clearTimeout(),this.queuedSchedule=u.NONE}),i()(this,"getFailureCount",()=>this.failureCount),i()(this,"getCallbackStatus",()=>this.callbackTimer.getCallbackStatus()),i()(this,"clearTimeout",()=>{typeof window!="undefined"&&this.scheduledTimeout!==null&&(window.clearTimeout(this.scheduledTimeout),this.scheduledTimeout=null)}),i()(this,"run",()=>{this.operationInFlight=!0,this.clearTimeout();try{this.callbackTimer.executeCallbackWithTimeout(this.callback,this.done,()=>this.done(a.DoneState.ERROR))}catch(f){this.done(f)}}),i()(this,"done",f=>{this.operationInFlight=!1,f===a.DoneState.ERROR||this.callbackTimer.getCallbackStatus()===s.CallbackStatus.TIMED_OUT?(this.failureCount++,this.clearTimeout()):f===a.DoneState.SUCCESS&&(this.failureCount=0),this.processQueuedSchedule()}),i()(this,"processQueuedSchedule",()=>{if(this.queuedSchedule!==u.NONE){let f=this.queuedSchedule===u.IMMEDIATE;this.queuedSchedule=u.NONE,this.schedule({immediate:f})}else this.failureCount>0&&this.schedule()}),i()(this,"calculateBackoff",()=>{let{minRetryDelay:f,maxRetryDelay:h,backoffFactor:v,backoffJitterPercentage:S}=this.options,y=f*v**this.failureCount;if(S){let E=Math.random(),b=Math.floor(E*S*y);Math.floor(E*10)<5?y-=b:y+=b}return Number(Math.min(y,h).toPrecision(1))}),this.options={minRetryDelay:d.minRetryDelay||c.minRetryDelay,maxRetryDelay:d.maxRetryDelay||c.maxRetryDelay,backoffFactor:d.backoffFactor||c.backoffFactor,backoffJitterPercentage:d.backoffJitterPercentage||c.backoffJitterPercentage,waitInterval:d.waitInterval!==void 0?d.waitInterval:c.waitInterval,callbackTimeoutPeriod:d.callbackTimeoutPeriod||c.callbackTimeoutPeriod},this.scheduledTimeout=null,this.failureCount=0,this.callback=l,this.operationInFlight=!1,this.queuedSchedule=u.NONE,this.callbackTimer=new s.CallbackWithTimeout(this.options.callbackTimeoutPeriod)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"CallbackStatus",function(){return s}),r.d(o,"CallbackEvent",function(){return a}),r.d(o,"CallbackWithTimeout",function(){return c});var n=r(2),i=r.n(n);let s=function(u){return u.IDLE="idle",u.RUNNING="running",u.COMPLETED="completed",u.TIMED_OUT="timedOut",u}({}),a=function(u){return u.EXECUTE="execute",u.COMPLETE="complete",u.TIMEOUT="timeout",u}({});class c{constructor(m){if(i()(this,"timeoutHandle",void 0),i()(this,"callbackStatus",s.IDLE),m>0){this.timeoutPeriod=m;return}throw new Error("CallbackWithTimeout requires timeout period higher than 0")}transitionCallbackStatus(m,p){switch(m){case s.IDLE:case s.TIMED_OUT:case s.COMPLETED:p===a.EXECUTE&&(this.callbackStatus=s.RUNNING);break;case s.RUNNING:switch(p){case a.COMPLETE:this.callbackStatus=s.COMPLETED;break;case a.TIMEOUT:this.callbackStatus=s.TIMED_OUT;break}break;default:this.callbackStatus=m}}executeCallbackWithTimeout(m,p,d){typeof window!="undefined"&&(this.transitionCallbackStatus(this.callbackStatus,a.EXECUTE),this.timeoutHandle=window.setTimeout(()=>{this.transitionCallbackStatus(this.callbackStatus,a.TIMEOUT),d()},this.timeoutPeriod),m(l=>{this.cancelTimeout(),this.getCallbackStatus()!==s.TIMED_OUT&&(this.transitionCallbackStatus(this.callbackStatus,a.COMPLETE),p(l))}))}getCallbackStatus(){return this.callbackStatus}cancelTimeout(){typeof window!="undefined"&&this.timeoutPeriod>0&&this.timeoutHandle&&(window.clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"DoneState",function(){return n});let n=function(i){return i[i.NOOP=0]="NOOP",i[i.SUCCESS=1]="SUCCESS",i[i.ERROR=2]="ERROR",i}({})},function(t,o,r){"use strict";r.r(o);var n=r(60);r.d(o,"createUnknownXid",function(){return n.createUnknownXid});var i=r(61);r.d(o,"XIDItemType",function(){return i.XIDItemType}),r.d(o,"XIDState",function(){return i.XIDState});var s=r(62);r.d(o,"XIDPromise",function(){return s.XIDPromise});var a=r(63);r.d(o,"attachXidToSingleEvent",function(){return a.attachXidToSingleEvent}),r.d(o,"attachXidToMultipleEvents",function(){return a.attachXidToMultipleEvents})},function(t,o,r){"use strict";r.r(o),r.d(o,"XID_TIMEOUT",function(){return i}),r.d(o,"createTimeoutXid",function(){return s}),r.d(o,"createUnknownXid",function(){return a});var n=r(61);let i=5e3,s=()=>[{type:n.XIDItemType.XC,state:"TIMEOUT"},{type:n.XIDItemType.UID,state:"TIMEOUT"}],a=()=>[{type:n.XIDItemType.XC,state:"UNKNOWN"},{type:n.XIDItemType.UID,state:"UNKNOWN"}]},function(t,o,r){"use strict";r.r(o),r.d(o,"XIDItemType",function(){return n}),r.d(o,"XIDState",function(){return i});let n=function(s){return s.XC="xc",s.UID="uid",s}({}),i=function(s){return s.NEW="NEW",s.CHANGED="CHANGED",s.EXISTING="EXISTING",s.TIMEOUT="TIMEOUT",s.ERROR="ERROR",s.UNAVAILABLE="UNAVAILABLE",s.MALFORMED="MALFORMED",s.UNKNOWN="UNKNOWN",s}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"XIDPromise",function(){return i});var n=r(60);let i=(s,a)=>{if(s&&a&&typeof a=="function"){let c=()=>new Promise(m=>{setTimeout(()=>m(()=>Object(n.createTimeoutXid)()),n.XID_TIMEOUT)}),u=()=>a().catch(()=>()=>Object(n.createUnknownXid)());return Promise.race([u(),c()])}}},function(t,o,r){"use strict";r.r(o),r.d(o,"attachXidToSingleEvent",function(){return u}),r.d(o,"attachXidToMultipleEvents",function(){return m});var n=r(2),i=r.n(n),s=r(64);function a(p,d){var l=Object.keys(p);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(p);d&&(f=f.filter(function(h){return Object.getOwnPropertyDescriptor(p,h).enumerable})),l.push.apply(l,f)}return l}function c(p){for(var d=1;d<arguments.length;d++){var l=arguments[d]!=null?arguments[d]:{};d%2?a(Object(l),!0).forEach(function(f){i()(p,f,l[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(l)):a(Object(l)).forEach(function(f){Object.defineProperty(p,f,Object.getOwnPropertyDescriptor(l,f))})}return p}function u(p,d){if(!(d&&d instanceof Function))return p;if(p.msg.type===s.SegmentEventTypes.PAGE||p.msg.type===s.SegmentEventTypes.TRACK){let l=d();l&&Array.isArray(l)&&(p.msg.properties=c(c({},p.msg.properties),{},{xid:l}))}else if(p.msg.traits&&p.msg.type===s.SegmentEventTypes.IDENTIFY){let l=d();l&&Array.isArray(l)&&(p.msg.traits=c(c({},p.msg.traits),{},{xid:l}))}return p}async function m(p,d){try{let l=await d;return p.map(f=>u(f,l))}catch(l){return p}}},function(t,o,r){"use strict";r.r(o),r.d(o,"SegmentEventTypes",function(){return n}),r.d(o,"CrossDomainIdentifierType",function(){return i}),r.d(o,"CrossDomainIdentifierState",function(){return s});let n=function(a){return a.IDENTIFY="identify",a.PAGE="page",a.TRACK="track",a}({}),i=function(a){return a.XC="xc",a.UID="uid",a}({}),s=function(a){return a.NEW="NEW",a.CHANGED="CHANGED",a.EXISTING="EXISTING",a.TIMEOUT="TIMEOUT",a.ERROR="ERROR",a.UNAVAILABLE="UNAVAILABLE",a.MALFORMED="MALFORMED",a.UNKNOWN="UNKNOWN",a}({})},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_REQUEST_TIMEOUT",function(){return n});let n=10*1e3},function(t,o,r){"use strict";r.r(o),r.d(o,"HTTP_STATUS_CODE_MAP",function(){return n});let n=new Map([[200,"OK"],[400,"Bad Request"],[401,"Unauthorized"],[402,"Payment Required"],[403,"Forbidden"],[404,"Not Found"],[405,"Method Not Allowed"],[406,"Not Acceptable"],[407,"Proxy Authentication Required"],[408,"Request Timeout"],[409,"Conflict"],[410,"Gone"],[411,"Length Required"],[412,"Precondition Failed"],[413,"Payload Too Large"],[414,"URI Too Long"],[415,"Unsupported Media Type"],[416,"Requested range not satisfiable"],[417,"Expectation Failed"],[418,"I'm a teapot"],[422,"Unprocessable Entity"],[423,"Locked"],[424,"Failed Dependency"],[425,"Too Early"],[426,"Upgrade Required"],[428,"Precondition Required"],[429,"Too Many Requests"],[431,"Request Header Fields Too Large"],[451,"Unavailable For Legal Reasons"],[500,"Internal Server Error"],[501,"Not Implemented"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"],[505,"HTTP Version not supported"],[506,"Variant Also Negotiates"],[507,"Insufficient Storage"],[508,"Loop Detected"],[509,"Bandwidth Limit Exceeded"],[510,"Not Extended"],[511,"Network Authentication Required"],[-1,"Unknown Status"]])},function(t,o,r){"use strict";r.r(o),r.d(o,"sendEvents",function(){return u});var n=r(2),i=r.n(n),s=r(68);function a(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function c(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?a(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):a(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}let u=async d=>{var l;let f=(l=m(d))===null||l===void 0?void 0:l.signal,h=p(d.url),v=await fetch(d.url,c({method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d.batch),signal:f},h));if(v.status===429||v.status>=500&&v.status<600)throw new Error("HTTP Error ".concat(v.status," (").concat(v.statusText,")"));return v},m=d=>{if(d.abortController)return d.abortController;if(d.timeout){let l=new AbortController;return setTimeout(()=>{l.abort()},d.timeout),l}},p=Object(s.default)(d=>new URL(d).origin===location.origin?{}:{mode:"cors",credentials:"include"})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return a});var n=Number.isNaN||function(u){return typeof u=="number"&&u!==u};function i(c,u){return!!(c===u||n(c)&&n(u))}function s(c,u){if(c.length!==u.length)return!1;for(var m=0;m<c.length;m++)if(!i(c[m],u[m]))return!1;return!0}function a(c,u){u===void 0&&(u=s);var m=null;function p(){for(var d=[],l=0;l<arguments.length;l++)d[l]=arguments[l];if(m&&m.lastThis===this&&u(d,m.lastArgs))return m.lastResult;var f=c.apply(this,d);return m={lastResult:f,lastArgs:d,lastThis:this},f}return p.clear=function(){m=null},p}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return h});var n=r(70),i=r(6),s=r.n(i),a=r(77),c=r(82);let u=7,m="SAFE",p="UNSAFE",d="NOT_FOUND",l="COOKIE",f="LOCAL_STORAGE";class h{constructor(S){this.store=new c.default({useStoragePrefix:!1}),this.cookie=new a.default(S)}getUserId(){return this.userId||null}setUserId(S){this.userId=S}getAnonymousId(S){return this.getAnonymousIdFromLocalStorageAndUpdateCookieIfStale()||this.getAnonymousIdFromCookieAndUpdateLocalStorage()||this.generateNewAnonymousId(S)}setAnonymousId(S){let y=JSON.stringify(S);return this.cookie.set(a.AWCCookiesKeys.AJS_ANONYMOUS_ID,y),this.lastAnonymousIdCookieUpdate=Date.now(),this.store.setItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey(),y)}getAnonymousIdFromStorage(S){let y=S===f?this.store.getItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey()):this.cookie.get(a.AWCCookiesKeys.AJS_ANONYMOUS_ID);if(y){let E={type:p,anonymousId:y};try{let b=JSON.parse(y);return b&&typeof b=="string"?{type:m,anonymousId:b}:E}catch(b){return E}}return{type:d}}getAnonymousIdFromLocalStorageAndUpdateCookieIfStale(){let S=this.getAnonymousIdFromStorage(f),y=!1;switch((!this.lastAnonymousIdCookieUpdate||Object(n.default)(new Date,new Date(this.lastAnonymousIdCookieUpdate))>=u)&&(y=!0),S.type){case m:return y&&this.setAnonymousId(S.anonymousId),S.anonymousId;case p:return S.anonymousId;case d:default:return null}}getAnonymousIdFromCookieAndUpdateLocalStorage(){let S=this.getAnonymousIdFromStorage(l);switch(S.type){case m:case p:return this.store.setItem(a.AllAnalyticsCookies.AJS_ANONYMOUS_ID.getKey(),JSON.stringify(S.anonymousId)),S.anonymousId;case d:default:return null}}generateNewAnonymousId(S=s.a){let y=S();return this.setAnonymousId(y),y}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(71),i=r(74),s=r(73);function a(u,m){var p=u.getFullYear()-m.getFullYear()||u.getMonth()-m.getMonth()||u.getDate()-m.getDate()||u.getHours()-m.getHours()||u.getMinutes()-m.getMinutes()||u.getSeconds()-m.getSeconds()||u.getMilliseconds()-m.getMilliseconds();return p<0?-1:p>0?1:p}function c(u,m){Object(s.default)(2,arguments);var p=Object(n.default)(u),d=Object(n.default)(m),l=a(p,d),f=Math.abs(Object(i.default)(p,d));p.setDate(p.getDate()-l*f);var h=+(a(p,d)===-l),v=l*(f-h);return v===0?0:v}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(72),i=r(73);function s(a){Object(i.default)(1,arguments);var c=Object.prototype.toString.call(a);return a instanceof Date||Object(n.default)(a)==="object"&&c==="[object Date]"?new Date(a.getTime()):typeof a=="number"||c==="[object Number]"?new Date(a):((typeof a=="string"||c==="[object String]")&&typeof console!="undefined"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i){"@babel/helpers - typeof";return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},n(i)}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i,s){if(s.length<i)throw new TypeError(i+" argument"+(i>1?"s":"")+" required, but only "+s.length+" present")}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(75),i=r(76),s=r(73),a=864e5;function c(u,m){Object(s.default)(2,arguments);var p=Object(i.default)(u),d=Object(i.default)(m),l=p.getTime()-Object(n.default)(p),f=d.getTime()-Object(n.default)(d);return Math.round((l-f)/a)}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i){var s=new Date(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),i.getMinutes(),i.getSeconds(),i.getMilliseconds()));return s.setUTCFullYear(i.getFullYear()),i.getTime()-s.getTime()}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return s});var n=r(71),i=r(73);function s(a){Object(i.default)(1,arguments);var c=Object(n.default)(a);return c.setHours(0,0,0,0),c}},function(t,o,r){"use strict";r.r(o);var n=r(78);r.d(o,"default",function(){return n.default});var i=r(80);r.d(o,"AllAnalyticsCookies",function(){return i.AllAnalyticsCookies}),r.d(o,"AWCCookiesKeys",function(){return i.AWCCookiesKeys})},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return l});var n=r(2),i=r.n(n),s=r(79),a=r.n(s),c=r(80),u=r(81),m=r(85);function p(f,h){var v=Object.keys(f);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(f);h&&(S=S.filter(function(y){return Object.getOwnPropertyDescriptor(f,y).enumerable})),v.push.apply(v,S)}return v}function d(f){for(var h=1;h<arguments.length;h++){var v=arguments[h]!=null?arguments[h]:{};h%2?p(Object(v),!0).forEach(function(S){i()(f,S,v[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(v)):p(Object(v)).forEach(function(S){Object.defineProperty(f,S,Object.getOwnPropertyDescriptor(v,S))})}return f}class l{constructor(h){this.cookieLike=Object(m.canUseCookie)(h)?a.a:new u.default}set(h,v,S){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not set."));return}return this.cookieLike.set(c.AllAnalyticsCookies[h].getKey(),v,d(d({},c.AllAnalyticsCookies[h].getAttributes()),{},{domain:Object(m.getTld)()},S))}get(h){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not fetched."));return}return this.cookieLike.get(c.AllAnalyticsCookies[h].getKey())}remove(h,v){if(!c.AllAnalyticsCookies[h]){console.warn("Unknown cookie key ".concat(h," provided, not removed."));return}this.cookieLike.remove(c.AllAnalyticsCookies[h].getKey(),d({},v))}}},function(t,o,r){var n,i;(function(s){var a;if(n=s,i=typeof n=="function"?n.call(o,r,o,t):n,i!==void 0&&(t.exports=i),a=!0,t.exports=s(),a=!0,!a){var c=window.Cookies,u=window.Cookies=s();u.noConflict=function(){return window.Cookies=c,u}}})(function(){function s(){for(var u=0,m={};u<arguments.length;u++){var p=arguments[u];for(var d in p)m[d]=p[d]}return m}function a(u){return u.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}function c(u){function m(){}function p(l,f,h){if(typeof document!="undefined"){h=s({path:"/"},m.defaults,h),typeof h.expires=="number"&&(h.expires=new Date(new Date*1+h.expires*864e5)),h.expires=h.expires?h.expires.toUTCString():"";try{var v=JSON.stringify(f);/^[\{\[]/.test(v)&&(f=v)}catch(E){}f=u.write?u.write(f,l):encodeURIComponent(String(f)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),l=encodeURIComponent(String(l)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var S="";for(var y in h)h[y]&&(S+="; "+y,h[y]!==!0&&(S+="="+h[y].split(";")[0]));return document.cookie=l+"="+f+S}}function d(l,f){if(typeof document!="undefined"){for(var h={},v=document.cookie?document.cookie.split("; "):[],S=0;S<v.length;S++){var y=v[S].split("="),E=y.slice(1).join("=");!f&&E.charAt(0)==='"'&&(E=E.slice(1,-1));try{var b=a(y[0]);if(E=(u.read||u)(E,b)||a(E),f)try{E=JSON.parse(E)}catch(g){}if(h[b]=E,l===b)break}catch(g){}}return l?h[l]:h}}return m.set=p,m.get=function(l){return d(l,!1)},m.getJSON=function(l){return d(l,!0)},m.remove=function(l,f){p(l,"",s(f,{expires:-1}))},m.defaults={},m.withConverter=c,m}return c(function(){})})},function(t,o,r){"use strict";r.r(o),r.d(o,"AWCCookiesKeys",function(){return n}),r.d(o,"AllAnalyticsCookies",function(){return a});let n=function(c){return c.AWC_TLD_TEST="AWC_TLD_TEST",c.AWC_ANALYTICS_DEBUG="AWC_ANALYTICS_DEBUG",c.AJS_ANONYMOUS_ID="AJS_ANONYMOUS_ID",c}({});class i{constructor(u,m){this.key=u,this.options=m}getAttributes(){return this.options}getKey(){return this.key}}let s=()=>{try{return window&&window.location&&window.location.protocol==="https:"}catch(c){return!1}},a={[n.AWC_TLD_TEST]:new i("__awc_tld_test__",{expires:365,secure:s(),path:"/"}),[n.AWC_ANALYTICS_DEBUG]:new i("atlassian_analytics_debug",{expires:365,secure:s(),path:"/"}),[n.AJS_ANONYMOUS_ID]:new i("ajs_anonymous_id",{expires:365,secure:s(),path:"/"})}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return i});var n=r(82);class i{constructor(){this.safeStorage=new n.default({useStoragePrefix:!1})}set(a,c){return this.safeStorage.setItem(a,c),c}get(a){return this.safeStorage.getItem(a)||void 0}remove(a){this.safeStorage.removeItem(a)}}},function(t,o,r){"use strict";r.r(o);var n=r(83),i=r(84);o.default=class extends i.default{constructor(s){let a;try{a=window.localStorage||n.default}catch(c){a=n.default}super(a,s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"InMemoryStore",function(){return s});var n=r(2),i=r.n(n);class s{constructor(){i()(this,"_data",{}),i()(this,"length",0),i()(this,"setItem",(c,u)=>(this._data[c]=u,this.length=Object.keys(this._data).length,u)),i()(this,"getItem",c=>c in this._data?this._data[c]:null),i()(this,"removeItem",c=>(c in this._data&&delete this._data[c],this.length=Object.keys(this._data).length,null)),i()(this,"clear",()=>{this._data={},this.length=0}),i()(this,"key",c=>Object.keys(this._data)[c])}}o.default=new s},function(t,o,r){"use strict";r.r(o),r.d(o,"AWC_STORAGE_PREFIX",function(){return c}),r.d(o,"GLOBAL_IN_MEMORY_NAME",function(){return u}),r.d(o,"isSupported",function(){return m}),r.d(o,"isQuotaExceeded",function(){return p}),r.d(o,"default",function(){return d});var n=r(2),i=r.n(n),s=r(9),a=r(83);let c="awc",u="awcInMemoryStorageFallback";function m(l){let f="test_value";if(!l)return!1;try{let h="awc.storage.support";l.setItem(h,f);let v=l.getItem(h);return l.removeItem(h),v===f}catch(h){return!1}}function p(l){let f=!1;if(l.code)switch(l.code){case 22:f=!0;break;case 1014:l.name==="NS_ERROR_DOM_QUOTA_REACHED"&&(f=!0);break;default:break}else l.number===-2147024882&&(f=!0);return f}class d{constructor(f,h={}){i()(this,"getStore",()=>this._store),i()(this,"getItem",S=>this._store.getItem(this.createKey(S))),i()(this,"removeItem",S=>this._store.removeItem(this.createKey(S))),i()(this,"setItem",(S,y)=>{try{this._store.setItem(this.createKey(S),y)}catch(E){p(E)&&(this.swapToInMemory(),this._store.setItem(this.createKey(S),y))}}),i()(this,"swapToInMemory",()=>{if(this._store===a.default||typeof window=="undefined")return;let S=Object.keys(this._store||{}),y;m(window[u])?y=window[u]:(y=a.default,window[u]||(window[u]=a.default)),S.forEach(E=>{if(E.indexOf(this.getPrefix())===0){let b=this._store.getItem(E);b&&y.setItem(E,b)}}),this._store=y}),i()(this,"clear",()=>this._store.clear()),i()(this,"key",S=>this._store.key(S)),i()(this,"getPrefix",()=>this._prefix),i()(this,"createKey",S=>this._prefix?"".concat(this.getPrefix(),".").concat(S):S),this.options=h;let v=[];(h.useStoragePrefix===void 0||h.useStoragePrefix)&&v.push(c),h.envPrefix&&h.envPrefix!==s.envType.PROD&&v.push(h.envPrefix),this._prefix=v.join("-"),m(f)?this._store=f:this.swapToInMemory()}}},function(t,o,r){"use strict";r.r(o),r.d(o,"canUseCookie",function(){return c}),r.d(o,"COOKIE_NAME",function(){return u}),r.d(o,"COOKIE_VALUE",function(){return m}),r.d(o,"getTld",function(){return p});var n=r(79),i=r.n(n),s=r(68),a=r(80);let c=(d=!1)=>d?!1:!(location.protocol==="file:"||location.protocol==="chrome-extension:"),u=a.AllAnalyticsCookies.AWC_TLD_TEST.getKey(),m="tld_test",p=Object(s.default)(()=>{if(typeof location=="undefined")return"";let{hostname:d}=location,l=d.split(".");for(let f=1;f<=l.length;f++){let h=l.slice(f*-1),v=".".concat(h.join("."));if(i.a.set(u,m,{domain:v}),i.a.get(u)===m)return i.a.remove(u,{domain:v}),v}return d})},function(t,o,r){"use strict";r.r(o),r.d(o,"buildContext",function(){return m}),r.d(o,"prepareEventProperties",function(){return p}),r.d(o,"nestedRemoveUndefinedValues",function(){return d});var n=r(2),i=r.n(n),s=r(87),a=r.n(s);function c(f,h){var v=Object.keys(f);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(f);h&&(S=S.filter(function(y){return Object.getOwnPropertyDescriptor(f,y).enumerable})),v.push.apply(v,S)}return v}function u(f){for(var h=1;h<arguments.length;h++){var v=arguments[h]!=null?arguments[h]:{};h%2?c(Object(v),!0).forEach(function(S){i()(f,S,v[S])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(v)):c(Object(v)).forEach(function(S){Object.defineProperty(f,S,Object.getOwnPropertyDescriptor(v,S))})}return f}let m=f=>u(u({},f.context),{},{userAgent:navigator.userAgent}),p=f=>{let h=d(f);return a()(h)},d=f=>{if(f===null||typeof f!="object")return f;let h={};return Object.keys(f).forEach(v=>{let S=l(f,v);S!==void 0&&(Array.isArray(S)?h[v]=S.map(y=>d(y)):typeof S=="object"&&S!==null?h[v]=d(S):h[v]=S)}),h},l=(f,h)=>f[h]},function(t,o){t.exports=e},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return c});var n=r(2),i=r.n(n),s=r(9),a=r(89);class c{constructor(){i()(this,"handleOriginParameters",(m,p)=>{let d=Object.keys(m);if(!(d.length>0))throw new Error("Empty parameter mapping provided");let l=d.filter(y=>Object.values(s.originTracingType).indexOf(y)<0);if(l.length>0)throw new Error("Invalid Origin Tracing Parameter(s) supplied: ".concat(l.join(),"!"));let f=(y,E)=>d.indexOf(E)>=0,h=Object(a.default)(f,p),v=y=>{let E=m[y](h[y]);return{[y]:E}};return Object.keys(h).map(v).reduce((y,E)=>Object.assign(y,E),{})}),this._originStore={}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"defaultHistoryReplaceFn",function(){return a});var n=r(90),i=r.n(n),s=r(20);let a=u=>window.history.replaceState({},"",u),c=(u,m=a)=>{let p=window.location.href,d=window.location.hash,l=d!==""?p.replace(d,""):p,{url:f,query:h}=Object(n.parseUrl)(l),v=Object(s.pickBy)(h,u);if(Object.keys(v).length>0){let S=Object(s.omitBy)(h,u);if(Object.keys(S).length>0){let y="".concat(f,"?").concat(Object(n.stringify)(S)).concat(d);m(y)}else m("".concat(f).concat(d))}return v};o.default=c},function(t,o,r){"use strict";let n=r(91),i=r(92),s=r(93),a=r(94),c=g=>g==null,u=Symbol("encodeFragmentIdentifier");function m(g){switch(g.arrayFormat){case"index":return C=>(T,O)=>{let D=T.length;return O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),"[",D,"]"].join("")]:[...T,[l(C,g),"[",l(D,g),"]=",l(O,g)].join("")]};case"bracket":return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),"[]"].join("")]:[...T,[l(C,g),"[]=",l(O,g)].join("")];case"colon-list-separator":return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,[l(C,g),":list="].join("")]:[...T,[l(C,g),":list=",l(O,g)].join("")];case"comma":case"separator":case"bracket-separator":{let C=g.arrayFormat==="bracket-separator"?"[]=":"=";return T=>(O,D)=>D===void 0||g.skipNull&&D===null||g.skipEmptyString&&D===""?O:(D=D===null?"":D,O.length===0?[[l(T,g),C,l(D,g)].join("")]:[[O,l(D,g)].join(g.arrayFormatSeparator)])}default:return C=>(T,O)=>O===void 0||g.skipNull&&O===null||g.skipEmptyString&&O===""?T:O===null?[...T,l(C,g)]:[...T,[l(C,g),"=",l(O,g)].join("")]}}function p(g){let C;switch(g.arrayFormat){case"index":return(T,O,D)=>{if(C=/\[(\d*)\]$/.exec(T),T=T.replace(/\[\d*\]$/,""),!C){D[T]=O;return}D[T]===void 0&&(D[T]={}),D[T][C[1]]=O};case"bracket":return(T,O,D)=>{if(C=/(\[\])$/.exec(T),T=T.replace(/\[\]$/,""),!C){D[T]=O;return}if(D[T]===void 0){D[T]=[O];return}D[T]=[].concat(D[T],O)};case"colon-list-separator":return(T,O,D)=>{if(C=/(:list)$/.exec(T),T=T.replace(/:list$/,""),!C){D[T]=O;return}if(D[T]===void 0){D[T]=[O];return}D[T]=[].concat(D[T],O)};case"comma":case"separator":return(T,O,D)=>{let U=typeof O=="string"&&O.includes(g.arrayFormatSeparator),w=typeof O=="string"&&!U&&f(O,g).includes(g.arrayFormatSeparator);O=w?f(O,g):O;let N=U||w?O.split(g.arrayFormatSeparator).map(j=>f(j,g)):O===null?O:f(O,g);D[T]=N};case"bracket-separator":return(T,O,D)=>{let U=/(\[\])$/.test(T);if(T=T.replace(/\[\]$/,""),!U){D[T]=O&&f(O,g);return}let w=O===null?[]:O.split(g.arrayFormatSeparator).map(N=>f(N,g));if(D[T]===void 0){D[T]=w;return}D[T]=[].concat(D[T],w)};default:return(T,O,D)=>{if(D[T]===void 0){D[T]=O;return}D[T]=[].concat(D[T],O)}}}function d(g){if(typeof g!="string"||g.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function l(g,C){return C.encode?C.strict?n(g):encodeURIComponent(g):g}function f(g,C){return C.decode?i(g):g}function h(g){return Array.isArray(g)?g.sort():typeof g=="object"?h(Object.keys(g)).sort((C,T)=>Number(C)-Number(T)).map(C=>g[C]):g}function v(g){let C=g.indexOf("#");return C!==-1&&(g=g.slice(0,C)),g}function S(g){let C="",T=g.indexOf("#");return T!==-1&&(C=g.slice(T)),C}function y(g){g=v(g);let C=g.indexOf("?");return C===-1?"":g.slice(C+1)}function E(g,C){return C.parseNumbers&&!Number.isNaN(Number(g))&&typeof g=="string"&&g.trim()!==""?g=Number(g):C.parseBooleans&&g!==null&&(g.toLowerCase()==="true"||g.toLowerCase()==="false")&&(g=g.toLowerCase()==="true"),g}function b(g,C){C=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},C),d(C.arrayFormatSeparator);let T=p(C),O=Object.create(null);if(typeof g!="string"||(g=g.trim().replace(/^[?#&]/,""),!g))return O;for(let D of g.split("&")){if(D==="")continue;let[U,w]=s(C.decode?D.replace(/\+/g," "):D,"=");w=w===void 0?null:["comma","separator","bracket-separator"].includes(C.arrayFormat)?w:f(w,C),T(f(U,C),w,O)}for(let D of Object.keys(O)){let U=O[D];if(typeof U=="object"&&U!==null)for(let w of Object.keys(U))U[w]=E(U[w],C);else O[D]=E(U,C)}return C.sort===!1?O:(C.sort===!0?Object.keys(O).sort():Object.keys(O).sort(C.sort)).reduce((D,U)=>{let w=O[U];return w&&typeof w=="object"&&!Array.isArray(w)?D[U]=h(w):D[U]=w,D},Object.create(null))}o.extract=y,o.parse=b,o.stringify=(g,C)=>{if(!g)return"";C=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},C),d(C.arrayFormatSeparator);let T=w=>C.skipNull&&c(g[w])||C.skipEmptyString&&g[w]==="",O=m(C),D={};for(let w of Object.keys(g))T(w)||(D[w]=g[w]);let U=Object.keys(D);return C.sort!==!1&&U.sort(C.sort),U.map(w=>{let N=g[w];return N===void 0?"":N===null?l(w,C):Array.isArray(N)?N.length===0&&C.arrayFormat==="bracket-separator"?l(w,C)+"[]":N.reduce(O(w),[]).join("&"):l(w,C)+"="+l(N,C)}).filter(w=>w.length>0).join("&")},o.parseUrl=(g,C)=>{C=Object.assign({decode:!0},C);let[T,O]=s(g,"#");return Object.assign({url:T.split("?")[0]||"",query:b(y(g),C)},C&&C.parseFragmentIdentifier&&O?{fragmentIdentifier:f(O,C)}:{})},o.stringifyUrl=(g,C)=>{C=Object.assign({encode:!0,strict:!0,[u]:!0},C);let T=v(g.url).split("?")[0]||"",O=o.extract(g.url),D=o.parse(O,{sort:!1}),U=Object.assign(D,g.query),w=o.stringify(U,C);w&&(w="?".concat(w));let N=S(g.url);return g.fragmentIdentifier&&(N="#".concat(C[u]?l(g.fragmentIdentifier,C):g.fragmentIdentifier)),"".concat(T).concat(w).concat(N)},o.pick=(g,C,T)=>{T=Object.assign({parseFragmentIdentifier:!0,[u]:!1},T);let{url:O,query:D,fragmentIdentifier:U}=o.parseUrl(g,T);return o.stringifyUrl({url:O,query:a(D,C),fragmentIdentifier:U},T)},o.exclude=(g,C,T)=>{let O=Array.isArray(C)?D=>!C.includes(D):(D,U)=>!C(D,U);return o.pick(g,O,T)}},function(t,o,r){"use strict";t.exports=n=>encodeURIComponent(n).replace(/[!'()*]/g,i=>"%".concat(i.charCodeAt(0).toString(16).toUpperCase()))},function(t,o,r){"use strict";var n="%[a-f0-9]{2}",i=new RegExp("("+n+")|([^%]+?)","gi"),s=new RegExp("("+n+")+","gi");function a(m,p){try{return[decodeURIComponent(m.join(""))]}catch(f){}if(m.length===1)return m;p=p||1;var d=m.slice(0,p),l=m.slice(p);return Array.prototype.concat.call([],a(d),a(l))}function c(m){try{return decodeURIComponent(m)}catch(l){for(var p=m.match(i)||[],d=1;d<p.length;d++)m=a(p,d).join(""),p=m.match(i)||[];return m}}function u(m){for(var p={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},d=s.exec(m);d;){try{p[d[0]]=decodeURIComponent(d[0])}catch(S){var l=c(d[0]);l!==d[0]&&(p[d[0]]=l)}d=s.exec(m)}p["%C2"]="\uFFFD";for(var f=Object.keys(p),h=0;h<f.length;h++){var v=f[h];m=m.replace(new RegExp(v,"g"),p[v])}return m}t.exports=function(m){if(typeof m!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof m+"`");try{return m=m.replace(/\+/g," "),decodeURIComponent(m)}catch(p){return u(m)}}},function(t,o,r){"use strict";t.exports=(n,i)=>{if(!(typeof n=="string"&&typeof i=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(i==="")return[n];let s=n.indexOf(i);return s===-1?[n]:[n.slice(0,s),n.slice(s+i.length)]}},function(t,o,r){"use strict";t.exports=function(n,i){for(var s={},a=Object.keys(n),c=Array.isArray(i),u=0;u<a.length;u++){var m=a[u],p=n[m];(c?i.indexOf(m)!==-1:i(m,p,n))&&(s[m]=p)}return s}},function(t,o,r){"use strict";r.r(o),r.d(o,"selectHost",function(){return y});var n=r(9);let i="as.atlassian.com/api/v1",s="api-private.atlassian.com/gasv3/api/v1",a="as.staging.atl-paas.net/api/v1",c="api-private.stg.atlassian.com/gasv3/api/v1",u="as.staging.atl-paas-us-gov-mod.net/api/v1",m="as.atlassian-us-gov-mod.com/api/v1",p="api.stg.atlassian-us-gov-mod.com/gasv3/api/v1",d="api.atlassian-us-gov-mod.com/gasv3/api/v1",l="/gateway/api/gasv3/api/v1",f=()=>u,h=()=>p,v=({useStargate:E,env:b,useLegacyUrl:g,envOverride:C})=>{if(b===n.envType.LOCAL||b===n.envType.DEV)throw Error("No LOCAL or DEV environments for FedRAMP.");if(b===n.envType.PROD&&C)throw Error("Cannot override to FedRAMP Sandbox for Prod.");return E?g?b===n.envType.PROD?d:h():window.location.host+l:b===n.envType.PROD?m:f()},S=({useStargate:E,env:b,useLegacyUrl:g})=>E?g?b===n.envType.PROD?s:c:window.location.host+l:b===n.envType.PROD?i:a;function y({useStargate:E,env:b,useLegacyUrl:g,perimeter:C,envOverride:T}){return C===n.perimeterType.FEDRAMP_MODERATE?v({useStargate:E,env:b,useLegacyUrl:g,envOverride:T}):S({useStargate:E,env:b,useLegacyUrl:g})}},function(t,o,r){"use strict";r.r(o),r.d(o,"DEFAULT_SESSION_EXPIRY_TIME_MS",function(){return m}),r.d(o,"DEFAULT_EXPIRY_DEBOUNCE",function(){return p}),r.d(o,"DEFAULT_DEBOUNCE_THRESHOLD_PERCENTAGE",function(){return d}),r.d(o,"NOOP",function(){return l}),r.d(o,"default",function(){return f});var n=r(2),i=r.n(n),s=r(82);let a="session.id",c="session.expiry",u=/^\d+$/,m=30*60*1e3,p=5*1e3,d=.9,l=()=>{};class f{constructor(v={}){i()(this,"_generateNewSessionId",()=>{let S=Date.now().toString();return this._safeLocalStorage.setItem(a,S),this._onNewSessionStarted&&this._onNewSessionStarted(),S}),i()(this,"_updateSessionExpiry",()=>{let S=Date.now()+this._sessionExpiryTime;return this._safeLocalStorage.setItem(c,S.toString()),S}),i()(this,"_debouncedUpdateSessionExpiry",S=>{let{_updateSessionExpiry:y}=this;if(S<Date.now()+this._sessionExpiryDebounceThresholdPercentage*this._sessionExpiryTime)return y();this._sessionExpiryDebounceTimer&&clearTimeout(this._sessionExpiryDebounceTimer),this._sessionExpiryDebounceTimer=setTimeout(()=>{y()},this._sessionExpiryDebounce)}),this._sessionExpiryTime=v.sessionExpiryTime||m,this._sessionExpiryDebounce=v.sessionExpiryDebounce||p,this._sessionExpiryDebounceThresholdPercentage=v.sessionExpiryDebounceThresholdPercentage||d,this._onNewSessionStarted=v.onNewSessionStarted?v.onNewSessionStarted:l,this._safeLocalStorage=new s.default}getCurrentSessionId(){let v=this._safeLocalStorage.getItem(a),S=parseInt(this._safeLocalStorage.getItem(c)||"0",10)||0;return this._debouncedUpdateSessionExpiry(S),!v||S<=Date.now()||Number.isNaN(S)?this._generateNewSessionId():u.test(v)?v:this._generateNewSessionId()}}},function(t,o,r){"use strict";r.r(o);var n=r(83),i=r(84);o.default=class extends i.default{constructor(s){let a;try{a=window.sessionStorage||n.default}catch(c){a=n.default}super(a,s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return m});var n=r(2),i=r.n(n),s=r(6),a=r.n(s),c=r(97);let u="tab.id";class m{constructor(){i()(this,"_generateNewTabId",()=>{let d=a()();return this._safeSessionStorage.setItem(u,d),d}),this._safeSessionStorage=new c.default}getCurrentTabId(){let d=this._safeSessionStorage.getItem(u);return d||(d=this._generateNewTabId()),d}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return b});var n=r(2),i=r.n(n),s=r(90),a=r.n(s),c=r(6),u=r.n(c),m=r(9),p=r(20),d=r(97),l=r(89);function f(g,C){var T=Object.keys(g);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(g);C&&(O=O.filter(function(D){return Object.getOwnPropertyDescriptor(g,D).enumerable})),T.push.apply(T,O)}return T}function h(g){for(var C=1;C<arguments.length;C++){var T=arguments[C]!=null?arguments[C]:{};C%2?f(Object(T),!0).forEach(function(O){i()(g,O,T[O])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(T)):f(Object(T)).forEach(function(O){Object.defineProperty(g,O,Object.getOwnPropertyDescriptor(T,O))})}return g}let v="taskSessions",S="taskSessionsInit",y="awc.",E=3e3;class b{constructor(){i()(this,"_taskSessionsNotRecentlyInitialised",T=>this._safeSessionStorage.getItem(v)===null||this._safeSessionStorage.getItem(S)===null||parseInt(this._safeSessionStorage.getItem(S)||"0",10)<T-E),i()(this,"_removeTaskSessionPrefix",(T,O)=>O.split(y)[1]),i()(this,"_isTaskSessionQueryParam",(T,O)=>O.startsWith(y)),i()(this,"getAllTaskSessions",()=>{try{return JSON.parse(this._safeSessionStorage.getItem(v)||"")}catch(T){return{}}}),i()(this,"_writeToSessionStorage",T=>{try{this._safeSessionStorage.setItem(v,JSON.stringify(T))}catch(O){}}),i()(this,"_appendTaskSessions",T=>{let O=this.getAllTaskSessions(),D=O===null?T:Object.assign(O,T);this._writeToSessionStorage(D)}),i()(this,"_safelyRemoveKey",(T,O)=>T===null?{}:(delete T[O],T)),i()(this,"createTaskSession",T=>{let O=u()(),D={};return D[T]=O,this._appendTaskSessions(D),O}),i()(this,"createTaskSessionWithProvidedId",(T,O)=>{if(typeof O!="string")throw new TypeError("invalid taskSessionId, must be string");let D={};D[T]=O,this._appendTaskSessions(D)}),i()(this,"completeTaskSession",T=>{let O=this.getAllTaskSessions(),D=this._safelyRemoveKey(O,T);this._writeToSessionStorage(D)}),i()(this,"formatTaskSessionQueryString",({uri:T,includedTaskSessions:O})=>{let{url:D,query:U}=Object(s.parseUrl)(T),w=this.getAllTaskSessions(),N=O?Object(p.pick)(w,O):Object(p.omit)(w,Object.values(m.originTracingType));if(Object.keys(N).length===0)return T;let j=h(h({},Object(p.mapKeys)(N,(z,H)=>y+H)),U);return"".concat(D,"?").concat(Object(s.stringify)(j))}),i()(this,"stripQueryParameters",()=>{let T=Object(p.mapKeys)(Object(l.default)(this._isTaskSessionQueryParam),this._removeTaskSessionPrefix);this._appendTaskSessions(T)});let C=Date.now();this._safeSessionStorage=new d.default;try{this._taskSessionsNotRecentlyInitialised(C)&&(this._writeToSessionStorage({}),this._safeSessionStorage.setItem(S,C.toString()))}catch(T){}}}},function(t,o,r){"use strict";r.r(o);var n=r(2),i=r.n(n),s=r(79),a=r.n(s),c=r(77);let u=100,m=c.AllAnalyticsCookies.AWC_ANALYTICS_DEBUG.getKey(),p="synthetic",d=()=>{try{return JSON.parse(a.a.get(m)||"false")}catch(f){a.a.remove(m)}return!1};class l{constructor(){i()(this,"_bind",()=>{typeof window=="undefined"||window.testAnalytics||(window.testAnalytics={eventCache:[],events:()=>window.testAnalytics.eventCache,clear:()=>{window.testAnalytics.eventCache=[];try{localStorage.removeItem("awc.ui.viewed.last.sent"),localStorage.removeItem("awc-staging.ui.viewed.last.sent"),localStorage.removeItem("awc-dev.ui.viewed.last.sent"),localStorage.removeItem("awc-local.ui.viewed.last.sent")}catch(h){}}})}),i()(this,"_cache",h=>{typeof window!="undefined"&&(window.testAnalytics.eventCache.length>=u&&(window.testAnalytics.eventCache=window.testAnalytics.eventCache.slice(1,window.testAnalytics.eventCache.length)),window.testAnalytics.eventCache.push(h))}),i()(this,"_shouldCacheEvent",()=>this._isDebugCookieEnabled),i()(this,"saveEvent",h=>{h&&this._shouldCacheEvent()&&(window.testAnalytics||this._bind(),h.tags instanceof Array?h.tags.push(p):h.tags=[p],this._cache(h))}),this._isDebugCookieEnabled=d(),this._isDebugCookieEnabled&&this._bind()}}o.default=l},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return v});var n=r(45),i=r.n(n),s=r(2),a=r.n(s),c=r(9),u=r(82);let m=["embeddedProduct"];function p(S,y){var E=Object.keys(S);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(S);y&&(b=b.filter(function(g){return Object.getOwnPropertyDescriptor(S,g).enumerable})),E.push.apply(E,b)}return E}function d(S){for(var y=1;y<arguments.length;y++){var E=arguments[y]!=null?arguments[y]:{};y%2?p(Object(E),!0).forEach(function(b){a()(S,b,E[b])}):Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(E)):p(Object(E)).forEach(function(b){Object.defineProperty(S,b,Object.getOwnPropertyDescriptor(E,b))})}return S}let l=1e3*2,f=1e3*60*60,h="ui.viewed.last.sent";class v{constructor(y,E,b,g={}){if(a()(this,"start",()=>{this._startInterval(),this._bindEventListeners()}),a()(this,"stop",()=>{this._stopInterval(),this._unbindEventListeners()}),a()(this,"resetTimers",()=>{this._intervalId&&(this.stop(),this.start())}),a()(this,"_bindEventListeners",()=>{typeof window!="undefined"&&(window.addEventListener("focus",this._focusListener),window.addEventListener("blur",this._blurListener))}),a()(this,"_unbindEventListeners",()=>{typeof window!="undefined"&&(window.removeEventListener("focus",this._focusListener),window.removeEventListener("blur",this._blurListener))}),a()(this,"_startInterval",()=>{clearInterval(this._intervalId),this._intervalId=setInterval(this._handleInterval,this._delay)}),a()(this,"_stopInterval",()=>{this._intervalId&&(clearInterval(this._intervalId),this._intervalId=null)}),a()(this,"_getProductKey",(C,T)=>{let O=C;return T&&(O+="-".concat(T)),O}),a()(this,"_getLastSentTimestamp",(C,T,O)=>(((this._parseLocalStorageData()||{})[O]||{})[T]||{})[C]||null),a()(this,"_parseLocalStorageData",()=>{let C=this._safeLocalStorage.getItem(this._storageKey);try{return JSON.parse(C||"")}catch(T){return this._safeLocalStorage.removeItem(this._storageKey),null}}),a()(this,"_setLastSentTimestamp",(C,T,O)=>{let D=this._parseLocalStorageData()||{},U=D[O]||{},w=U[T]||{};w[C]=Date.now(),U[T]=w,D[O]=U,this._safeLocalStorage.setItem(this._storageKey,JSON.stringify(D))}),a()(this,"_shouldSendEvent",(C,T,O,D)=>!document.hasFocus()||T!==c.tenantType.NONE&&!O||!D?!1:Date.now()-this._getLastSentTimestamp(C,O,D)>this._throttle),a()(this,"_handleInterval",()=>{let C=this._getContext(),{embeddedProduct:T}=C,O=i()(C,m);this._sendEvent(this._product,O),T&&this._sendEvent(T,O,!0)}),a()(this,"_sendEvent",(C,T,O=!1)=>{let{subproduct:D,tenantIdType:U,tenantId:w,userId:N,lastScreenEvent:j,attributes:z}=T,H=this._getProductKey(C,D);if(this._shouldSendEvent(H,U,w,N)){this._setLastSentTimestamp(H,w,N);let de=this._createEvent(C,D,O,j,z);this._onEvent(de)}}),a()(this,"_createEvent",(C,T,O,D,U)=>{let w={product:C,source:"ui",action:"viewed",actionSubject:"ui",attributes:U};return O&&(w.subproduct=null,w.version=null,w.attributes=d(d({},w.attributes),{},{embeddedInEnv:this._productInfo.env,embeddedInProduct:this._productInfo.product,embeddedInSubproduct:T,embeddedInVersion:this._productInfo.version,embeddedInOrigin:this._productInfo.origin,embeddedInPlatform:this._productInfo.platform})),D&&(w.attributes=d(d({},w.attributes),{},{lastScreenEvent:{name:D.name,attributes:D.attributes}})),w}),!y)throw new Error("Missing productInfo");if(!y.product)throw new Error("Missing productInfo.product");if(!E)throw new Error("Missing getContext callback");if(typeof E!="function")throw new Error("Invalid getContext, must be function");if(!b)throw new Error("Missing onEvent callback");if(typeof b!="function")throw new Error("Invalid onEvent, must be function");this._productInfo=y,this._product=y.product,this._getContext=E,this._onEvent=b,this._delay=g.delay||l,this._throttle=g.throttle||f,this._storageKey=g.storageKey||h,this._safeLocalStorage=new u.default({envPrefix:this._productInfo.env}),this._focusListener=()=>{this._startInterval()},this._blurListener=()=>{this._stopInterval()}}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return n});function n(i,s){return!i||typeof i!="function"?null:()=>{i(s)}}},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return d});var n=r(2),i=r.n(n),s=r(104),a=r.n(s),c=r(19);function u(l,f){var h=Object.keys(l);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(l);f&&(v=v.filter(function(S){return Object.getOwnPropertyDescriptor(l,S).enumerable})),h.push.apply(h,v)}return h}function m(l){for(var f=1;f<arguments.length;f++){var h=arguments[f]!=null?arguments[f]:{};f%2?u(Object(h),!0).forEach(function(v){i()(l,v,h[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(h)):u(Object(h)).forEach(function(v){Object.defineProperty(l,v,Object.getOwnPropertyDescriptor(h,v))})}return l}let p={initialPollInterval:5,pollBackoffRate:2,idleTimeout:30};class d{constructor(f,h,v,S,y){if(i()(this,"timeMeInitialized",!1),i()(this,"start",()=>{if(this.timeMeInitialized)throw new Error("DwellTimeHelper should only be initialised once per page load.");this.timeMeInitialized=!0,this._initDwellTimeCounterAndPolling(),typeof window!="undefined"&&window.addEventListener("beforeunload",()=>{this.stop()})}),i()(this,"stop",()=>{a.a.isUserCurrentlyOnPage&&this._sendDwellEvent(this._eventData,this._searchSessionId,!0),a.a.stopAllTimers(),a.a.resetAllRecordedPageTimes(),a.a.timeElapsedCallbacks=[],this.timeMeInitialized=!1}),i()(this,"newPage",(E,b)=>{Object(c.validateDwellBaseEvent)(E),this.stop(),this._eventData=E,this._searchSessionId=b,this._initDwellTimeCounterAndPolling()}),i()(this,"_listForIdleEvents",()=>{document.addEventListener("mousemove",()=>{a.a.userActivityDetected()}),document.addEventListener("keyup",()=>{a.a.userActivityDetected()}),document.addEventListener("touchstart",()=>{a.a.userActivityDetected()}),window.addEventListener("scroll",()=>{a.a.userActivityDetected()});let E=document.getElementsByTagName("iframe");for(let T=0;T<E.length;T++){let O=E[T];try{var b,g,C;O==null||(b=O.contentWindow)===null||b===void 0||b.document.addEventListener("mousemove",()=>{a.a.userActivityDetected()}),O==null||(g=O.contentWindow)===null||g===void 0||g.document.addEventListener("keyup",()=>{a.a.userActivityDetected()}),O==null||(C=O.contentWindow)===null||C===void 0||C.document.addEventListener("touchstart",()=>{a.a.userActivityDetected()})}catch(D){}}setInterval(()=>{a.a.isUserCurrentlyIdle!==!0&&(a.a.checkIdleState(),a.a.startTimer())},a.a.checkIdleStateRateMs)}),i()(this,"_initDwellTimeCounterAndPolling",()=>{var E;(E=this._dwellTimeHelperOptions)!==null&&E!==void 0&&E.iframeDwell&&(a.a.listForIdleEvents=this._listForIdleEvents),a.a.initialize({idleTimeoutInSeconds:this._timing.idleTimeout}),this._pollDwellTime(this._timing.initialPollInterval,this._searchSessionId,this._eventData)}),i()(this,"_pollDwellTime",(E,b,g)=>{a.a.callAfterTimeElapsedInSeconds(E,()=>{this._sendDwellEvent(g,b,!1),this._pollDwellTime(E*this._timing.pollBackoffRate,b,g)})}),i()(this,"_sendDwellEvent",(E,b,g)=>{let C={dwellTime:a.a.getTimeOnCurrentPageInMilliseconds(),searchReferrer:b,finalDwellEvent:g};this._trackCallback({action:"dwelled",actionSubject:E.actionSubject,actionSubjectId:E.actionSubjectId,source:E.source,containerType:E.containerType,containerId:E.containerId,containers:E.containers,objectType:E.objectType,objectId:E.objectId,attributes:m(m({},C),E.attributes),tags:E.tags})}),!f)throw new Error("trackCallback is required for DwellTimeHelper");Object(c.validateDwellBaseEvent)(h),this._trackCallback=f,this._eventData=h,this._searchSessionId=v,this._timing=m(m({},p),S),this._dwellTimeHelperOptions=y}}},function(t,o,r){var n,i;(()=>{((s,a)=>{if(t.exports)return t.exports=a();n=[],i=(()=>s.TimeMe=a()).apply(o,n),i!==void 0&&(t.exports=i)})(this,()=>{let s={startStopTimes:{},idleTimeoutMs:3e4,currentIdleTimeMs:0,checkIdleStateRateMs:250,isUserCurrentlyOnPage:!0,isUserCurrentlyIdle:!1,currentPageName:"default-page-name",timeElapsedCallbacks:[],userLeftCallbacks:[],userReturnCallbacks:[],trackTimeOnElement:a=>{let c=document.getElementById(a);c&&(c.addEventListener("mouseover",()=>{s.startTimer(a)}),c.addEventListener("mousemove",()=>{s.startTimer(a)}),c.addEventListener("mouseleave",()=>{s.stopTimer(a)}),c.addEventListener("keypress",()=>{s.startTimer(a)}),c.addEventListener("focus",()=>{s.startTimer(a)}))},getTimeOnElementInSeconds:a=>{let c=s.getTimeOnPageInSeconds(a);return c||0},startTimer:(a,c)=>{if(a||(a=s.currentPageName),s.startStopTimes[a]===void 0)s.startStopTimes[a]=[];else{let u=s.startStopTimes[a],m=u[u.length-1];if(m!==void 0&&m.stopTime===void 0)return}s.startStopTimes[a].push({startTime:c||new Date,stopTime:void 0})},stopAllTimers:()=>{let a=Object.keys(s.startStopTimes);for(let c=0;c<a.length;c++)s.stopTimer(a[c])},stopTimer:(a,c)=>{a||(a=s.currentPageName);let u=s.startStopTimes[a];u===void 0||u.length===0||u[u.length-1].stopTime===void 0&&(u[u.length-1].stopTime=c||new Date)},getTimeOnCurrentPageInSeconds:()=>s.getTimeOnPageInSeconds(s.currentPageName),getTimeOnPageInSeconds:a=>{let c=s.getTimeOnPageInMilliseconds(a);if(c!==void 0)return c/1e3},getTimeOnCurrentPageInMilliseconds:()=>s.getTimeOnPageInMilliseconds(s.currentPageName),getTimeOnPageInMilliseconds:a=>{let c=0,u=s.startStopTimes[a];if(u===void 0)return;let m=0;for(let p=0;p<u.length;p++){let d=u[p].startTime,l=u[p].stopTime;l===void 0&&(l=new Date);let f=l-d;m+=f}return c=Number(m),c},getTimeOnAllPagesInSeconds:()=>{let a=[],c=Object.keys(s.startStopTimes);for(let u=0;u<c.length;u++){let m=c[u],p=s.getTimeOnPageInSeconds(m);a.push({pageName:m,timeOnPage:p})}return a},setIdleDurationInSeconds:a=>{let c=parseFloat(a);if(isNaN(c)===!1)s.idleTimeoutMs=a*1e3;else throw{name:"InvalidDurationException",message:"An invalid duration time ("+a+") was provided."}},setCurrentPageName:a=>{s.currentPageName=a},resetRecordedPageTime:a=>{delete s.startStopTimes[a]},resetAllRecordedPageTimes:()=>{let a=Object.keys(s.startStopTimes);for(let c=0;c<a.length;c++)s.resetRecordedPageTime(a[c])},userActivityDetected:()=>{s.isUserCurrentlyIdle&&s.triggerUserHasReturned(),s.resetIdleCountdown()},resetIdleCountdown:()=>{s.isUserCurrentlyIdle=!1,s.currentIdleTimeMs=0},callWhenUserLeaves:(a,c)=>{s.userLeftCallbacks.push({callback:a,numberOfTimesToInvoke:c})},callWhenUserReturns:(a,c)=>{s.userReturnCallbacks.push({callback:a,numberOfTimesToInvoke:c})},triggerUserHasReturned:()=>{if(!s.isUserCurrentlyOnPage){s.isUserCurrentlyOnPage=!0,s.resetIdleCountdown();for(let a=0;a<s.userReturnCallbacks.length;a++){let c=s.userReturnCallbacks[a],u=c.numberOfTimesToInvoke;(isNaN(u)||u===void 0||u>0)&&(c.numberOfTimesToInvoke-=1,c.callback())}}s.startTimer()},triggerUserHasLeftPageOrGoneIdle:()=>{if(s.isUserCurrentlyOnPage){s.isUserCurrentlyOnPage=!1;for(let a=0;a<s.userLeftCallbacks.length;a++){let c=s.userLeftCallbacks[a],u=c.numberOfTimesToInvoke;(isNaN(u)||u===void 0||u>0)&&(c.numberOfTimesToInvoke-=1,c.callback())}}s.stopAllTimers()},callAfterTimeElapsedInSeconds:(a,c)=>{s.timeElapsedCallbacks.push({timeInSeconds:a,callback:c,pending:!0})},checkIdleState:()=>{for(let a=0;a<s.timeElapsedCallbacks.length;a++)s.timeElapsedCallbacks[a].pending&&s.getTimeOnCurrentPageInSeconds()>s.timeElapsedCallbacks[a].timeInSeconds&&(s.timeElapsedCallbacks[a].callback(),s.timeElapsedCallbacks[a].pending=!1);s.isUserCurrentlyIdle===!1&&s.currentIdleTimeMs>s.idleTimeoutMs?(s.isUserCurrentlyIdle=!0,s.triggerUserHasLeftPageOrGoneIdle()):s.currentIdleTimeMs+=s.checkIdleStateRateMs},visibilityChangeEventName:void 0,hiddenPropName:void 0,listenForVisibilityEvents:(a,c)=>{a&&s.listenForUserLeavesOrReturnsEvents(),c&&s.listForIdleEvents()},listenForUserLeavesOrReturnsEvents:()=>{typeof document.hidden!="undefined"?(s.hiddenPropName="hidden",s.visibilityChangeEventName="visibilitychange"):typeof document.mozHidden!="undefined"?(s.hiddenPropName="mozHidden",s.visibilityChangeEventName="mozvisibilitychange"):typeof document.msHidden!="undefined"?(s.hiddenPropName="msHidden",s.visibilityChangeEventName="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(s.hiddenPropName="webkitHidden",s.visibilityChangeEventName="webkitvisibilitychange"),document.addEventListener(s.visibilityChangeEventName,()=>{document[s.hiddenPropName]?s.triggerUserHasLeftPageOrGoneIdle():s.triggerUserHasReturned()},!1),window.addEventListener("blur",()=>{s.triggerUserHasLeftPageOrGoneIdle()}),window.addEventListener("focus",()=>{s.triggerUserHasReturned()})},listForIdleEvents:()=>{document.addEventListener("mousemove",()=>{s.userActivityDetected()}),document.addEventListener("keyup",()=>{s.userActivityDetected()}),document.addEventListener("touchstart",()=>{s.userActivityDetected()}),window.addEventListener("scroll",()=>{s.userActivityDetected()}),setInterval(()=>{s.isUserCurrentlyIdle!==!0&&s.checkIdleState()},s.checkIdleStateRateMs)},websocket:void 0,websocketHost:void 0,setUpWebsocket:a=>{if(window.WebSocket&&a){let c=a.websocketHost;try{s.websocket=new WebSocket(c),window.onbeforeunload=()=>{s.sendCurrentTime(a.appId)},s.websocket.onopen=()=>{s.sendInitWsRequest(a.appId)},s.websocket.onerror=u=>{console&&console.log("Error occurred in websocket connection: "+u)},s.websocket.onmessage=u=>{console&&console.log(u.data)}}catch(u){console&&console.error("Failed to connect to websocket host. Error:"+u)}}},websocketSend:a=>{s.websocket.send(JSON.stringify(a))},sendCurrentTime:a=>{let c=s.getTimeOnCurrentPageInMilliseconds(),u={type:"INSERT_TIME",appId:a,timeOnPageMs:c,pageName:s.currentPageName};s.websocketSend(u)},sendInitWsRequest:a=>{let c={type:"INIT",appId:a};s.websocketSend(c)},initialize:a=>{let c=s.idleTimeoutMs||30,u=s.currentPageName||"default-page-name",m,p,d=!0,l=!0;a&&(c=a.idleTimeoutInSeconds||c,u=a.currentPageName||u,m=a.websocketOptions,p=a.initialStartTime,a.trackWhenUserLeavesPage===!1&&(d=!1),a.trackWhenUserGoesIdle===!1&&(l=!1)),s.setIdleDurationInSeconds(c),s.setCurrentPageName(u),s.setUpWebsocket(m),s.listenForVisibilityEvents(d,l),s.startTimer(void 0,p)}};return s})}).call(this)},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return p});var n=r(2),i=r.n(n),s=r(106),a=r(19);function c(d,l){var f=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);l&&(h=h.filter(function(v){return Object.getOwnPropertyDescriptor(d,v).enumerable})),f.push.apply(f,h)}return f}function u(d){for(var l=1;l<arguments.length;l++){var f=arguments[l]!=null?arguments[l]:{};l%2?c(Object(f),!0).forEach(function(h){i()(d,h,f[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(f)):c(Object(f)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(f,h))})}return d}let m={initialPollInterval:5e3,idleTimeout:3e4,multiplierCallback:d=>d+d};class p{constructor(l,f,h,v){if(i()(this,"start",()=>{this.browserInteractionTime.startTimer(),this.browserInteractionTime.addTimeIntervalEllapsedCallback({callback:S=>this._sendDwellEvent(this._eventData,this._searchSessionId,S,!1),timeInMilliseconds:this._timing.initialPollInterval,multiplier:this._timing.multiplierCallback}),typeof window!="undefined"&&window.addEventListener("beforeunload",this._onBeforeUnload)}),i()(this,"stop",()=>{this.browserInteractionTime.isRunning()&&this._sendDwellEvent(this._eventData,this._searchSessionId,this.browserInteractionTime.getTimeInMilliseconds(),!0),this.browserInteractionTime.stopTimer()}),i()(this,"newPage",(S,y)=>{Object(a.validateDwellBaseEvent)(S),this.stop(),this.browserInteractionTime.reset(),this.setEventData(S),this.setSearchSessionId(y),this.start()}),i()(this,"setEventData",S=>{this._eventData=S}),i()(this,"getEventData",()=>this._eventData),i()(this,"setSearchSessionId",S=>{this._searchSessionId=S}),i()(this,"getSearchSessionId",()=>this._searchSessionId),i()(this,"destroy",()=>{this.browserInteractionTime.destroy(),typeof window!="undefined"&&window.removeEventListener("beforeunload",this._onBeforeUnload)}),i()(this,"_onBeforeUnload",()=>{this.stop(),this.destroy()}),i()(this,"_sendDwellEvent",(S,y,E,b)=>{let g={dwellTime:E,searchReferrer:y,finalDwellEvent:b};this._trackCallback({action:"dwelled",actionSubject:S.actionSubject,actionSubjectId:S.actionSubjectId,source:S.source,containerType:S.containerType,containerId:S.containerId,objectType:S.objectType,objectId:S.objectId,attributes:u(u({},g),S.attributes),tags:S.tags})}),!l)throw new Error("trackCallback is required for DwellTimeHelper");Object(a.validateDwellBaseEvent)(f),this._trackCallback=l,this._eventData=f,this._searchSessionId=h,this._timing=u(u({},m),v),this.browserInteractionTime=new s.default({idleTimeoutMs:this._timing.idleTimeout,checkCallbacksIntervalMs:500})}}},function(t,o,r){"use strict";r.r(o),(function(n){var i=function(){return i=Object.assign||function(q){for(var pe,Pe=1,Ne=arguments.length;Pe<Ne;Pe++){pe=arguments[Pe];for(var qe in pe)Object.prototype.hasOwnProperty.call(pe,qe)&&(q[qe]=pe[qe])}return q},i.apply(this,arguments)};function s($){var q=typeof $;return $!=null&&(q=="object"||q=="function")}var a=s,c=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof n!="undefined"?n:typeof self!="undefined"?self:{},u=typeof c=="object"&&c&&c.Object===Object&&c,m=u,p=typeof self=="object"&&self&&self.Object===Object&&self,d=m||p||Function("return this")(),l=d,f=function(){return l.Date.now()},h=f,v=l.Symbol,S=v,y=Object.prototype,E=y.hasOwnProperty,b=y.toString,g=S?S.toStringTag:void 0;function C($){var q=E.call($,g),pe=$[g];try{$[g]=void 0;var Pe=!0}catch(qe){}var Ne=b.call($);return Pe&&(q?$[g]=pe:delete $[g]),Ne}var T=C,O=Object.prototype,D=O.toString;function U($){return D.call($)}var w=U,N="[object Null]",j="[object Undefined]",z=S?S.toStringTag:void 0;function H($){return $==null?$===void 0?j:N:z&&z in Object($)?T($):w($)}var de=H;function ce($){return $!=null&&typeof $=="object"}var M=ce,k="[object Symbol]";function F($){return typeof $=="symbol"||M($)&&de($)==k}var X=F,Ee=NaN,De=/^\s+|\s+$/g,Se=/^[-+]0x[0-9a-f]+$/i,it=/^0b[01]+$/i,Rt=/^0o[0-7]+$/i,xr=parseInt;function Lr($){if(typeof $=="number")return $;if(X($))return Ee;if(a($)){var q=typeof $.valueOf=="function"?$.valueOf():$;$=a(q)?q+"":q}if(typeof $!="string")return $===0?$:+$;$=$.replace(De,"");var pe=it.test($);return pe||Rt.test($)?xr($.slice(2),pe?2:8):Se.test($)?Ee:+$}var L=Lr,B="Expected a function",ae=Math.max,se=Math.min;function mt($,q,pe){var Pe,Ne,qe,ft,Xe,Bt,Ur=0,qo=!1,Br=!1,mo=!0;if(typeof $!="function")throw new TypeError(B);q=L(q)||0,a(pe)&&(qo=!!pe.leading,Br="maxWait"in pe,qe=Br?ae(L(pe.maxWait)||0,q):qe,mo="trailing"in pe?!!pe.trailing:mo);function en(le){var Ye=Pe,et=Ne;return Pe=Ne=void 0,Ur=le,ft=$.apply(et,Ye),ft}function ei(le){return Ur=le,Xe=setTimeout(fo,q),qo?en(le):ft}function pa(le){var Ye=le-Bt,et=le-Ur,go=q-Ye;return Br?se(go,qe-et):go}function tn(le){var Ye=le-Bt,et=le-Ur;return Bt===void 0||Ye>=q||Ye<0||Br&&et>=qe}function fo(){var le=h();if(tn(le))return rn(le);Xe=setTimeout(fo,pa(le))}function rn(le){return Xe=void 0,mo&&Pe?en(le):(Pe=Ne=void 0,ft)}function ma(){Xe!==void 0&&clearTimeout(Xe),Ur=0,Pe=Bt=Ne=Xe=void 0}function V(){return Xe===void 0?ft:rn(h())}function ee(){var le=h(),Ye=tn(le);if(Pe=arguments,Ne=this,Bt=le,Ye){if(Xe===void 0)return ei(Bt);if(Br)return Xe=setTimeout(fo,q),en(Bt)}return Xe===void 0&&(Xe=setTimeout(fo,q)),ft}return ee.cancel=ma,ee.flush=V,ee}var tr=mt,ur="Expected a function";function Nr($,q,pe){var Pe=!0,Ne=!0;if(typeof $!="function")throw new TypeError(ur);return a(pe)&&(Pe="leading"in pe?!!pe.leading:Pe,Ne="trailing"in pe?!!pe.trailing:Ne),tr($,q,{leading:Pe,maxWait:q,trailing:Ne})}var kr=Nr,Zn=["scroll","resize"],qn=["wheel","keydown","keyup","mousedown","mousemove","touchstart","touchmove","click","contextmenu"],eC=function(){function $(q){var pe=q.timeIntervalEllapsedCallbacks,Pe=pe===void 0?[]:pe,Ne=q.absoluteTimeEllapsedCallbacks,qe=Ne===void 0?[]:Ne,ft=q.checkCallbacksIntervalMs,Xe=ft===void 0?100:ft,Bt=q.browserTabInactiveCallbacks,Ur=Bt===void 0?[]:Bt,qo=q.idleCallbacks,Br=qo===void 0?[]:qo,mo=q.stopTimerOnTabchange,en=mo===void 0?!0:mo,ei=q.activeCallbacks,pa=ei===void 0?[]:ei,tn=q.browserTabActiveCallbacks,fo=tn===void 0?[]:tn,rn=q.idleTimeoutMs,ma=rn===void 0?3e3:rn,V=this;this.onBrowserTabInactive=function(){V.isRunning()&&V.stopTimerOnTabchange&&V.stopTimer(),V.browserTabInactiveCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})},this.onBrowserTabActive=function(){V.isRunning()||V.startTimer(),V.browserTabActiveCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})},this.onBrowserActiveChange=function(){document.visibilityState==="visible"?V.onBrowserTabActive():V.onBrowserTabInactive()},this.onTimePassed=function(){V.absoluteTimeEllapsedCallbacks.forEach(function(ee,le){var Ye=ee.callback,et=ee.pending,go=ee.timeInMilliseconds;et&&go<=V.getTimeInMilliseconds()&&(Ye(V.getTimeInMilliseconds()),V.absoluteTimeEllapsedCallbacks[le].pending=!1)}),V.timeIntervalEllapsedCallbacks.forEach(function(ee,le){var Ye=ee.callback,et=ee.timeInMilliseconds,go=ee.multiplier;et<=V.getTimeInMilliseconds()&&(Ye(V.getTimeInMilliseconds()),V.timeIntervalEllapsedCallbacks[le].timeInMilliseconds=go(et))}),V.currentIdleTimeMs>=V.idleTimeoutMs&&V.isRunning()?(V.idle=!0,V.stopTimer(),V.idleCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())})):V.currentIdleTimeMs+=V.checkCallbacksIntervalMs},this.resetIdleTime=function(){V.idle&&V.startTimer(),V.activeCallbacks.forEach(function(ee){return ee(V.getTimeInMilliseconds())}),V.idle=!1,V.currentIdleTimeMs=0},this.registerEventListeners=function(){var ee={passive:!0},le=i({},ee,{capture:!0});document.addEventListener("visibilitychange",V.onBrowserActiveChange);var Ye=kr(V.resetIdleTime,2e3,{leading:!0,trailing:!1});Zn.forEach(function(et){window.addEventListener(et,Ye,le)}),qn.forEach(function(et){return document.addEventListener(et,Ye,ee)})},this.unregisterEventListeners=function(){document.removeEventListener("visibilitychange",V.onBrowserActiveChange),Zn.forEach(function(ee){return window.removeEventListener(ee,V.resetIdleTime)}),qn.forEach(function(ee){return document.removeEventListener(ee,V.resetIdleTime)})},this.checkCallbacksOnInterval=function(){V.checkCallbackIntervalId=window.setInterval(function(){V.onTimePassed()},V.checkCallbacksIntervalMs)},this.startTimer=function(){V.checkCallbackIntervalId||V.checkCallbacksOnInterval();var ee=V.times[V.times.length-1];ee&&ee.stop===null||(V.times.push({start:performance.now(),stop:null}),V.running=!0)},this.stopTimer=function(){V.times.length&&(V.times[V.times.length-1].stop=performance.now(),V.running=!1)},this.addTimeIntervalEllapsedCallback=function(ee){V.timeIntervalEllapsedCallbacks.push(ee)},this.addAbsoluteTimeEllapsedCallback=function(ee){V.absoluteTimeEllapsedCallbacks.push(ee)},this.addBrowserTabInactiveCallback=function(ee){V.browserTabInactiveCallbacks.push(ee)},this.addBrowserTabActiveCallback=function(ee){V.browserTabActiveCallbacks.push(ee)},this.addIdleCallback=function(ee){V.idleCallbacks.push(ee)},this.addActiveCallback=function(ee){V.activeCallbacks.push(ee)},this.getTimeInMilliseconds=function(){return V.times.reduce(function(ee,le){return le.stop?ee=ee+(le.stop-le.start):ee=ee+(performance.now()-le.start),ee},0)},this.isRunning=function(){return V.running},this.isIdle=function(){return V.idle},this.reset=function(){V.times=[]},this.destroy=function(){V.unregisterEventListeners(),V.checkCallbackIntervalId&&window.clearInterval(V.checkCallbackIntervalId)},this.running=!1,this.times=[],this.idle=!1,this.currentIdleTimeMs=0,this.marks={},this.measures={},this.stopTimerOnTabchange=en,this.browserTabActiveCallbacks=fo,this.browserTabInactiveCallbacks=Ur,this.checkCallbacksIntervalMs=Xe,this.idleTimeoutMs=ma,this.timeIntervalEllapsedCallbacks=Pe,this.absoluteTimeEllapsedCallbacks=qe,this.idleCallbacks=Br,this.activeCallbacks=pa,this.registerEventListeners()}return $.prototype.mark=function(q){this.marks[q]||(this.marks[q]=[]),this.marks[q].push({time:this.getTimeInMilliseconds()})},$.prototype.getMarks=function(q){if(!(this.marks[q].length<1))return this.marks[q]},$.prototype.measure=function(q,pe,Pe){var Ne=this.marks[pe],qe=Ne[Ne.length-1],ft=this.marks[Pe],Xe=ft[ft.length-1];this.measures[q]||(this.measures[q]=[]),this.measures[q].push({name:q,startTime:qe.time,duration:Xe.time-qe.time})},$.prototype.getMeasures=function(q){if(!(!this.measures[q]&&this.measures[q].length<1))return this.measures[q]},$}();o.default=eC}).call(this,r(107))},function(t,o){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){typeof window=="object"&&(r=window)}t.exports=r},function(t,o,r){"use strict";r.r(o),r.d(o,"default",function(){return u});var n=r(2),i=r.n(n);function s(m,p){var d=Object.keys(m);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(m);p&&(l=l.filter(function(f){return Object.getOwnPropertyDescriptor(m,f).enumerable})),d.push.apply(d,l)}return d}function a(m){for(var p=1;p<arguments.length;p++){var d=arguments[p]!=null?arguments[p]:{};p%2?s(Object(d),!0).forEach(function(l){i()(m,l,d[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(m,Object.getOwnPropertyDescriptors(d)):s(Object(d)).forEach(function(l){Object.defineProperty(m,l,Object.getOwnPropertyDescriptor(d,l))})}return m}function c(m,p,d){let l=a({action:m},d);return l.attributes=a(a({},p),l.attributes),l}class u{constructor(p,d){this._onEvent=p,this._baseEvent=d,this._searchStartedTime=null,this._lastQueryResultsTime=null,this._queryLength=null,this._baseEvent=a({},d)}search(p){if(!p&&p!=="")throw new Error("Missing query param");this._searchStartedTime=Date.now(),this._queryLength=(p||"").length}searched(p){if(!p)throw new Error("Missing results param");if(this._queryLength===null)throw new Error("search() must be called before searched().");let d=Date.now()-this._searchStartedTime;this._lastQueryResultsTime=Date.now(),this._lastResults=p;let l={responseTimeMs:d,queryLength:this._queryLength,results:p},f=c("searched",l,this._baseEvent);this._onEvent(f)}selected(p){if(!p&&p!==0)throw new Error("Missing selectionIndex param");if(!this._lastQueryResultsTime)throw new Error("searched() must be called before selected().");let d=Date.now(),l=d-this._lastQueryResultsTime,f=d-this._searchStartedTime,h=this._lastResults[p],v={queryLength:this._queryLength,selectionIndex:p,selectionTimeMs:l,searchTimeMs:f,selectedResultValue:h},S=c("selected",v,this._baseEvent);this._onEvent(S)}}}])})});var zu=Y(J()),me=Y(J()),Fr=Y(J()),nn=Y(J()),cp=Y(J()),Eo=Y(J()),Ce=Y(J()),mp=Y(J()),Sp=Y(J()),mr=Y(J()),Pp=Y(J());import{combineReducers as vC,configureStore as yC}from"@reduxjs/toolkit";import{createSlice as TC}from"@reduxjs/toolkit";import{createSlice as CC}from"@reduxjs/toolkit";import{createAction as bC}from"@reduxjs/toolkit";import{createSlice as AC}from"@reduxjs/toolkit";import{createSlice as DC}from"@reduxjs/toolkit";import{createSlice as wC}from"@reduxjs/toolkit";import{createSlice as xC}from"@reduxjs/toolkit";import{createSlice as LC}from"@reduxjs/toolkit";import{createAction as ni}from"@reduxjs/toolkit";import{createSlice as XC}from"@reduxjs/toolkit";import{createSlice as ub}from"@reduxjs/toolkit";import{createSlice as pb}from"@reduxjs/toolkit";import{createSlice as hb}from"@reduxjs/toolkit";import{createSlice as Sb}from"@reduxjs/toolkit";import{createSlice as Tb}from"@reduxjs/toolkit";import{createSlice as bb}from"@reduxjs/toolkit";import{createSlice as Ob}from"@reduxjs/toolkit";import{createSlice as Db}from"@reduxjs/toolkit";import{createSelector as Rb}from"@reduxjs/toolkit";import{createSelector as Ep}from"@reduxjs/toolkit";import{createSelector as Fb}from"@reduxjs/toolkit";import{createSelector as Cp}from"@reduxjs/toolkit";import{createSelector as di}from"@reduxjs/toolkit";import{createSelector as ke}from"@reduxjs/toolkit";import{createSelector as ui}from"@reduxjs/toolkit";import{createSelector as gt}from"@reduxjs/toolkit";import{createSelector as or}from"@reduxjs/toolkit";import{createSelector as QO}from"@reduxjs/toolkit";import{createSelector as Vr}from"@reduxjs/toolkit";var ti="active";import{createSlice as cI}from"@reduxjs/toolkit";var Vu=Object.defineProperty,gC=Object.defineProperties,hC=Object.getOwnPropertyDescriptors,Uu=Object.getOwnPropertySymbols,EC=Object.prototype.hasOwnProperty,SC=Object.prototype.propertyIsEnumerable,Bu=(e,t,o)=>t in e?Vu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,K=(e,t)=>{for(var o in t||(t={}))EC.call(t,o)&&Bu(e,o,t[o]);if(Uu)for(var o of Uu(t))SC.call(t,o)&&Bu(e,o,t[o]);return e},tt=(e,t)=>gC(e,hC(t)),Ge=(e,t)=>{for(var o in t)Vu(e,o,{get:t[o],enumerable:!0})},Fu={alertMessages:[]},Hu=TC({name:"alerts",initialState:Fu,reducers:{clearAlert(e){Object.assign(e,Fu)},clearDismissableAlerts(e){e.alertMessages=e.alertMessages.filter(t=>t.isDismissible!==void 0&&t.isDismissible===!1)},clearAlertType(e,t){e.alertMessages=e.alertMessages.filter(o=>o.type!==t.payload)},createAlert(e,t){let o=K({createdAt:Date.now()},t.payload),r=!1;e.alertMessages.forEach(n=>{n.type===t.payload.type&&(r=!0)}),r||e.alertMessages.push(o)}}}),Wu={tabChangeCount:0},Gu=CC({name:"analytics",initialState:Wu,reducers:{onTabChange(e,t){e.tabChangeCount+=1},setTabChangeCount(e,t){return tt(K({},Wu),{tabChangeCount:t.payload})}}}),OC="consumer_trigger",Z=e=>bC("".concat(OC,"/").concat(e)),IC={trackAnalytics:Z("trackAnalytics"),incrementDatadogMetric:Z("incrementDatadogMetric"),sendDatadogLog:Z("sendDatadogLog")},PC={workspaces:[],defaultWorkspace:void 0,defaultWorkspaceAdmins:[],workspacesFetched:!1},Sa=DC({name:"workspaces",initialState:PC,reducers:{setWorkspaces(e,t){e.workspaces=t.payload.workspaces,e.defaultWorkspace=t.payload.defaultWorkspace,e.workspacesFetched=!0},setDefaultWorkspaceAdmins(e,t){e.defaultWorkspaceAdmins=t.payload.admins}}}),$u={};Ge($u,{ACCOUNT_TYPE_ENTERPRISE:()=>ya,ACCOUNT_TYPE_PERSONAL:()=>Xu,ACCOUNT_TYPE_TEAM:()=>va,ALL_ACCOUNT_TYPES:()=>_C,DEFAULT_PREFERENCES_COOKIE:()=>MC,TEAM_ACCOUNT_TYPES:()=>Ju,TRIALING:()=>Yu,oAuthKeys:()=>RC});var RC={GOOGLE:"google",SLACK:"slack",WINDOWS:"windows",AUTH0:"auth0",APPLE:"apple"},Xu="personal",va="team",ya="enterprise",Yu="trialing",_C=[Xu,va,ya],Ju=[va,ya],MC={mediaDevices:{},recorderSettings:{}},Ku={authStep:zu.AuthenticationStep.First,browserUser:void 0,fetchedBrowserUser:!1,guestRecordingEnabled:!1,hasReachedRecordingLimit:!1,hasWorkspaceAccess:!1,isAuthenticated:!1,isFetching:!1,isSdkSharedUser:!1,isSignIn:!1,isTrialing:!1,isVerifyingEmail:!1,loginErrorMessage:"",memberRole:void 0,oAuthUri:"",partnerGuestRecordingLimit:void 0,recordingCount:0,termsAccepted:!1,termsAcceptedError:!1,updateZendeskUser:!1,user:void 0},sn=AC({name:"authentication",initialState:Ku,reducers:{clearLoginErrorMessage(e){e.loginErrorMessage=""},hasFetchedBrowserUser(e,t){e.browserUser=t.payload,e.fetchedBrowserUser=!0},hasReachedRecordingLimit(e,t){e.hasReachedRecordingLimit=t.payload},setAuthStep(e,t){e.authStep=t.payload,e.loginErrorMessage=""},setGuestRecordingEnabled(e,t){e.guestRecordingEnabled=t.payload},setIsSignIn(e,t){e.isSignIn=t.payload},setMemberRole(e,t){e.memberRole=t.payload},setOAuthUri(e,t){e.oAuthUri=t.payload},setPartnerGuestRecordingLimit(e,t){e.partnerGuestRecordingLimit=t.payload},setTermsAccepted(e,t){e.termsAccepted=t.payload,t.payload&&(e.termsAcceptedError=!1)},setTermsAcceptedError(e,t){e.termsAcceptedError=t.payload},setVideoRecordingCount(e,t){e.recordingCount=t.payload.count},tokenBasedAuthenticatedUser(e,t){e.isSdkSharedUser=t.payload.success,e.isAuthenticated=t.payload.success},userLoginFailed(e,t){e.isFetching=!1,e.loginErrorMessage=t.payload},userLoginRequest(e){e.isFetching=!0,e.loginErrorMessage=""},userLoginSuccess(e,t){let o=t.payload;e.user=o,e.isFetching=!1,e.isTrialing=(o==null?void 0:o.trial_status)===Yu,e.hasWorkspaceAccess=Ju.includes(o==null?void 0:o.account_type),e.isAuthenticated=!0},userLogout(){return Ku},userVerifyEmail(e,t){let o=t.payload;e.user=o,e.isVerifyingEmail=!0,e.isFetching=!1}},extraReducers:e=>{e.addCase(Sa.actions.setWorkspaces,(t,o)=>{t.isSdkSharedUser=o.payload.isSdkSharedUser})}}),NC={aaid:"",apiKey:"",jws:"",mode:{mode:"pending"},environment:Fr.Environment.Development,loomSdkVersion:"0.0.0",sdkConfig:{allowedRecordingTypes:[Fr.RecordingType.ScreenAndCamera,Fr.RecordingType.ScreenOnly,Fr.RecordingType.CameraOnly],bubbleResizable:!0,defaultRecordingType:Fr.RecordingType.ScreenAndCamera,disableDesktopOnFirefox:!1,disablePreviewModal:!1,enableOnboardingTutorial:!1,enableNewUi:!1,enablePictureInPicture:!1,insertButtonText:"Insert video",productName:"",entryPointName:"",styles:{}},applicationConfig:{enablePartnerOwnership:!1,removeLoomBranding:!1,sdkPartnerName:"",signupWelcomeName:"",utm:{utm_campaign:"",utm_content:"",utm_medium:"",utm_source:""}},url:""},Ta=LC({name:"settings",initialState:NC,reducers:{setAaid(e,t){e.aaid=t.payload},setApiKey(e,t){e.apiKey=t.payload,e.mode={mode:"standard",publicAppId:t.payload}},setJws(e,t){e.jws=t.payload,e.mode={mode:"custom",publicAppId:e.apiKey,jws:t.payload}},setMode(e,t){e.mode=t.payload},setSDKConfig(e,t){e.sdkConfig=tt(K(K({},e.sdkConfig),t.payload),{styles:K(K({},e.sdkConfig.styles),t.payload.styles)})},updateSDKConfig(e,t){e.sdkConfig=tt(K(K({},e.sdkConfig),t.payload),{styles:K({},e.sdkConfig.styles)})},setApplicationConfig(e,t){e.applicationConfig=K(K({},e.applicationConfig),t.payload)},setEnvironment(e,t){e.environment=t.payload},setLoomSdkVersion(e,t){e.loomSdkVersion=t.payload},setUrl(e,t){e.url=t.payload}}}),Qu={};Ge(Qu,{ACTIVE_RECORDING_STAGES:()=>GC,ALL:()=>HC,CAMERA_POSITION_BOTTOM_LEFT:()=>oi,CLOSE_PRE_RECORDING_MENU:()=>KC,COUNTDOWN_SECTIONS_PER_SECOND:()=>ep,COUNTDOWN_WAIT_TIME:()=>qu,COUNTDOWN_WAIT_TIME_PER_SECTION:()=>zC,END_RECORDING:()=>FC,MAX_Z_INDEX:()=>VC,NO_CAM:()=>Aa,NO_CAM_MEDIA_DEVICE:()=>Da,NO_CAM_USER:()=>ha,NO_MIC:()=>Ia,NO_MIC_MEDIA_DEVICE:()=>Pa,NO_MIC_USER:()=>Ea,NUM_AUDIO_BARS:()=>Zu,OPEN_PRE_RECORDING_MENU:()=>WC,PAUSE_RECORDING:()=>UC,RESUME_RECORDING:()=>BC,START_RECORDING:()=>kC,UPDATE_TIME_ELAPSED:()=>jC,closePreRecordingMenu:()=>ba,openOnboardingTutorial:()=>Oa,openPreRecordingMenu:()=>Ca,updateMicrophone:()=>ii});var kC="start-recording",UC="pause-recording",BC="resume-recording",FC="end-recording",WC="open-pre-recording-menu",KC="close-pre-recording-menu",jC="update-time-elapsed",Zu=7,VC=2147483647,oi={x:0,y:0},HC=[oi],GC=[nn.RecordingStage.Countdown,nn.RecordingStage.Paused,nn.RecordingStage.PostRecording,nn.RecordingStage.Recording],ii=ni("UPDATE_MICROPHONE"),Ca=ni("OPEN_PRE_RECORDING_MENU"),ba=ni("CLOSE_PRE_RECORDING_MENU"),Oa=ni("OPEN_ONBOARDING_TUTORIAL"),Ia="no_mic",Aa="no_camera",ha="".concat(Aa,"_user"),Ea="".concat(Ia,"_user"),Da={deviceId:ha,label:ha},Pa={deviceId:Ea,label:Ea},qu=1200,ep=4,zC=Math.floor(qu/ep),ho={appStage:me.RecordingStage.Closed,audioData:Array(Zu).fill(0),bubblePosition:{x:0,y:0},cameraBubbleSize:"192px",cancelButtonClicked:!1,canceledDesktopError:!1,dimensions:{width:0,height:0},hostUrl:"",isCapturing:!0,isLoomUploading:!1,mediaDevicePermissions:me.PermissionState.Prompt,micMutedError:!1,onboardingStep:me.OnboardingTutorialStep.PermissionsStep,permissionFailureReason:null,recordingType:me.RecordingType.ScreenAndCamera,restartButtonClicked:!1,screenType:me.RecordingScreenType.Desktop,sdkRecordingType:me.SDKRecordingType.FullScreen,session:void 0,showPictureInPictureModal:!1,tab:void 0,timeElapsed:0,videoDurationLimit:0},rt=xC({name:"recorder",initialState:ho,reducers:{cancelRecording(e){return tt(K({},ho),{screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},captureCam(e){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Camera},captureDesktop(e){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Desktop},captureTab(e,t){e.isCapturing=!0,e.screenType=me.RecordingScreenType.Tab,e.tab=t.payload},closePreviewModal(e){return tt(K({},ho),{hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},disableCanceledDesktopError(e){e.canceledDesktopError=!1},endRecording(e,t){return tt(K({},ho),{appStage:t.payload.appStage,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit,isLoomUploading:!0})},exitPreRecordingStage(e){return tt(K({},ho),{hostUrl:e.hostUrl,recordingType:e.recordingType,videoDurationLimit:e.videoDurationLimit})},finishedUploading(e){e.isLoomUploading=!1},pauseRecording(e){e.appStage=me.RecordingStage.Paused},preCaptureCam(e){e.screenType=me.RecordingScreenType.Camera},preCaptureDesktop(e){e.screenType=me.RecordingScreenType.Desktop},preCaptureTab(e){e.screenType=me.RecordingScreenType.Tab},resetPrerecording(e){return tt(K({},ho),{appStage:me.RecordingStage.PreRecording,mediaDevicePermissions:e.mediaDevicePermissions,permissionFailureReason:e.permissionFailureReason,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},resumeRecording(e){e.appStage=me.RecordingStage.Recording},setDurationLimit(e,t){e.videoDurationLimit=t.payload},setOnboardingTutorialStep(e,t){e.onboardingStep=t.payload.step},startCountdown(e){e.appStage=me.RecordingStage.Countdown},startRecording(e,t){e.dimensions=t.payload,e.appStage=me.RecordingStage.Recording},toggleEnablePictureInPictureModal(e,t){e.showPictureInPictureModal=t.payload},updateBubblePosition(e,t){e.bubblePosition=t.payload},updateCameraBubbleSize(e,t){e.cameraBubbleSize=t.payload},updateCancelButtonClicked(e,t){e.cancelButtonClicked=t.payload},updateHostUrl(e,t){e.hostUrl=t.payload},updateMediaDevicesState(e,t){e.mediaDevicePermissions=t.payload.mediaDevicePermissions,e.permissionFailureReason=t.payload.permissionFailureReason},updateMicMutedError(e,t){e.micMutedError=t.payload},updateRecordingSession(e,t){e.session=t.payload.session,e.tab=t.payload.tab},updateRecordingStage(e,t){e.appStage=t.payload.appStage},updateRestartButtonClicked(e,t){e.restartButtonClicked=t.payload},updateSelectedRecordingType(e,t){e.recordingType=t.payload},updateSelectedSDKRecordingType(e,t){e.sdkRecordingType=t.payload},updateTimeElapsed(e,t){e.timeElapsed=t.payload}},extraReducers:e=>{e.addCase(ii,t=>{t.micMutedError=!1}).addCase(Ca,t=>{t.appStage=me.RecordingStage.PreRecording}).addCase(Oa,t=>{t.appStage=me.RecordingStage.OnboardingTutorial}).addCase(ba,t=>{t.appStage===me.RecordingStage.PreRecording&&(t.appStage=me.RecordingStage.Closed)}).addCase(Ta.actions.setSDKConfig,(t,{payload:o})=>{o.defaultRecordingType&&(t.recordingType=o.defaultRecordingType)})}}),ga={isEnabled:!0,isMenuExpanded:!0,isExpandedDefault:!0,isCameraTooltipExpanded:!1,isCaptureSourceExpanded:!1,isMessageShown:!1},tp=wC({name:"bubbleMenu",initialState:ga,reducers:{toggleBubbleMenu(e){e.isMenuExpanded=!e.isMenuExpanded},toggleBubbleCameraMenu(e){return tt(K({},e),{camera:!e.isCameraTooltipExpanded,captureSource:!1})},updateBubbleExpandedDefault(e,t){e.isExpandedDefault=t.payload},updateBubbleMessageShown(e,t){e.isMessageShown=t.payload}},extraReducers:e=>{e.addCase(rt.actions.startRecording,t=>tt(K({},ga),{isMenuExpanded:t.isExpandedDefault})).addCase(rt.actions.endRecording,t=>tt(K({},ga),{isExpandedDefault:t.isExpandedDefault}))}}),$C={updateBubbleEnabledRecorderSettings:Z("updateBubbleEnabledRecorderSettings")},si=(e=>(e.Pending="Pending",e.Success="Success",e.Failure="Failure",e.NotStarted="NotStarted",e))(si||{}),YC={desktopTabUuid:void 0,endedCascadedRecording:!1,isChromeExtensionInstalled:void 0,isDesktopAppInstalled:void 0,openMenuTimestamp:void 0,openedChromeExtension:!1,shouldOpenChromeExtension:void 0,shouldOpenDesktopApp:!1,openChromeExtensionResult:"NotStarted",timeoutId:void 0},rp=XC({name:"cascadingRecorders",initialState:YC,reducers:{resetIsDesktopAppInstalled(e){e.isDesktopAppInstalled=void 0},resetOpenMenuTimestamp(e){e.openMenuTimestamp=void 0},updateDesktopTabUuid(e,t){e.desktopTabUuid=t.payload},updateEndedCascadedRecording(e,t){e.endedCascadedRecording=t.payload},updateIsChromeExtensionInstalled(e,t){e.isChromeExtensionInstalled=t.payload,t.payload||(e.shouldOpenChromeExtension=!1)},updateIsDesktopAppInstalled(e,t){e.isDesktopAppInstalled=t.payload},updateOpenChromeExtension(e,t){e.shouldOpenChromeExtension=t.payload},updateOpenedChromeExtension(e){e.openedChromeExtension=!0},updateOpenMenuTimestamp(e,t){e.openMenuTimestamp=t.payload},updateOpenChromeExtensionResult(e,t){e.openChromeExtensionResult=t.payload,t.payload==="Failure"&&(e.shouldOpenChromeExtension=!1)},updateShouldOpenDesktopApp(e,t){e.shouldOpenDesktopApp=t.payload},updateTimeoutId(e,t){e.timeoutId=t.payload}},extraReducers:e=>{e.addCase(rt.actions.closePreviewModal,t=>{t.endedCascadedRecording=!1})}}),JC={compareUsers:Z("compare_users"),checkExtensionInstalled:Z("check_extension_installed"),desktopAppStatus:Z("desktop_app_status"),listenForDesktopVideo:Z("listen_for_desktop_video"),openChromeExtension:Z("open_chrome_extension"),openChromeExtensionSuccess:Z("open_chrome_extension_success"),requestStoragePermissions:Z("request_storage_permissions")},op={};Ge(op,{VIDEO_TITLE_UPDATED:()=>QC});var QC="video_title_updated",np={};Ge(np,{AUDIO_GLOW_OFF:()=>ip,AUDIO_GLOW_ON:()=>ob,AUDIO_GLOW_PAUSED:()=>nb,LOOM_HTTP_URI:()=>Ra,LOOM_URI:()=>ZC,MY_VIDEOS_URI:()=>eb,NOTIFICATIONS_TAB:()=>tb,PLANS_AND_BILLING_URI:()=>qC,PRE_RECORDING_TAB:()=>rb,TOOLTIP_DISMISSED_STORAGE_KEY:()=>ib});var ZC="@*LOOM_URI*@",Ra="https://loom.com",qC="".concat(Ra,"/settings/workspace#plans"),eb="".concat(Ra,"/my-videos"),tb="notifications-tab",rb="pre-recording-tab",ob="audio-glow-on",ip="audio-glow-off",nb="audio-glow-paused",ib="workspace-tooltip-limit-dismissed",sp={};Ge(sp,{UPGRADE_TYPES:()=>lb,WORKSPACE_PLAN_BUSINESS:()=>ci,WORKSPACE_PLAN_DISPLAY_NAME_MAP:()=>ab,WORKSPACE_PLAN_ENTERPRISE:()=>li,WORKSPACE_PLAN_HIERARCHY:()=>sb,WORKSPACE_PLAN_INDEFINITE_ARTICLE_MAP:()=>cb,WORKSPACE_PLAN_STARTER_FREE:()=>ai});var ai="starter_free",ci="business",li="enterprise",sb={[ai]:1,[ci]:4,[li]:5},ab={[ai]:"Starter Free",[ci]:"Business",[li]:"Enterprise"},cb={[ai]:"a",[ci]:"a",[li]:"an"},lb={PLAN:"plan",ROLE:"role"},be=K(K(K(K(K({},Qu),np),$u),sp),op),db={openPreRecordingMenu:Ca,updateMicrophone:ii,closePreRecordingMenu:ba,openOnboardingTutorial:Oa},pr={enabled:!0,started:!1,paused:!1,secondsLeft:3,shouldSkipCountdown:!1},ap=ub({name:"countdown",initialState:pr,reducers:{decrementCountdown(e){e.secondsLeft-=1},pauseCountdown(e){e.paused=!0},resumeCountdown(e){e.paused=!1,e.started=!0},enableCancelledDesktopError(){return pr},updateCountdownEnabled(e,t){e.enabled=t.payload},updateShouldSkipCountdown(e,t){e.shouldSkipCountdown=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>{t.paused=pr.paused,t.secondsLeft=pr.secondsLeft,t.started=pr.started}),e.addCase(rt.actions.cancelRecording,t=>{t.paused=pr.paused,t.secondsLeft=pr.secondsLeft,t.started=pr.started})}}),mb={activeFlags:["team-platform-qa-auth"],inactiveFlags:[],fetched:!1,flagResults:{}},lp=pb({name:"featureFlags",initialState:mb,reducers:{setFeatureFlags(e,t){let o=t.payload,r=[cp.FeatureFlags.GUEST_RECORDING_LIMITS],n=[],i={};o.forEach(s=>{let a=s.flag,c=s.resultDetails.result;c==="true"?r.push(a):c==="false"&&n.push(a),i[a]={result:c}}),e.activeFlags=r,e.inactiveFlags=n,e.flagResults=i,e.fetched=!0},setIndividualExperimentValue(e,t){var o,r;e.flagResults=tt(K({},e.flagResults),{[t.payload.experimentName]:{result:((r=(o=t.payload.evaluation)==null?void 0:o.resultDetails)==null?void 0:r.result)||"not-enrolled"}})}}}),fb={propagateError:Z("propagateError")},gb={checkDevicePermissions:Z("checkDevicePermissions"),updateMediaDevices:Z("updateMediaDevices"),initializeCameras:Z("initializeCameras"),initializeMicrophones:Z("initializeMicrophones")},Eb={latestConsumerTrigger:null},dp=hb({name:"meta",initialState:Eb,reducers:{},extraReducers:e=>e.addMatcher(t=>typeof t.type=="string"&&t.type.startsWith("consumer_trigger/"),(t,o)=>{t.latestConsumerTrigger=o.type})}),vb={userCanConnect:!0,userHasInternetConnection:!0,isCheckingNetworkConnection:!1},_a=Sb({name:"network",initialState:vb,reducers:{userCanConnect(e,t){e.userCanConnect=t.payload},userHasInternetConnection(e,t){e.userHasInternetConnection=t.payload},updateIsCheckingOnline(e,t){e.isCheckingNetworkConnection=t.payload}}}),yb={quitPage:Z("quitPage"),checkNetworkStatus:Z("check_network_status"),queueAutoRecovery:Z("queue_auto_recovery")},ri=["welcomeToLoom","checkYourSettings","learnTheControls","positionSelfieBubble","readyToRecord","shareYourVideo"],Cb={shouldSeeOnboarding:!1,isOnboardingComplete:!1,onboardingStep:"welcomeToLoom",shouldSeeOnboardingEntrypoint:!1},Ma=Tb({name:"onboarding",initialState:Cb,reducers:{updateOnboardingStep(e,t){var o;let r=(o=t==null?void 0:t.payload)==null?void 0:o.stepName,n;if(r)n=ri.indexOf(r);else{let i=ri.indexOf(e.onboardingStep);n=Math.min(i+1,ri.length-1)}e.onboardingStep=ri[n]},setShouldSeeOnboarding(e,t){e.shouldSeeOnboarding=t.payload},setIsOnboardingComplete(e,t){e.isOnboardingComplete=t.payload},setShouldSeeOnboardingEntrypoint(e,t){e.shouldSeeOnboardingEntrypoint=t.payload}}}),up={cancelRecording:Z("cancel_recording"),checkUserAuthenticated:Z("check_user_authenticated"),copyVideoUrl:Z("copy_video_url"),deleteRecording:Z("delete_recording"),emailSignInUser:Z("email_sign_in_user"),emailSignUpUser:Z("email_sign_up_user"),endCascadedRecording:Z("end_cascaded_recording"),endRecording:Z("end_recording"),finishRecordingPreview:Z("finish_recording_preview"),getFeatureFlags:Z("get_feature_flags"),getIndividualExperimentValue:Z("get_individual_experiment_value"),getVideoPermissions:Z("get_video_permissions"),initializeBackground:Z("initialize_background"),oAuthLoginUser:Z("oauth_login_user"),pauseRecording:Z("pause_recording"),recordingComplete:Z("recording_complete"),redoRecording:Z("redo_recording"),resendVerificationEmail:Z("resend_verification_email"),resolvePictureInPicturePromise:Z("resolve_picture_in_picture_promise"),resumeRecording:Z("resume_recording"),startRecording:Z("start_recording"),togglePauseRecording:Z("toggle_pause_recording"),updateMicrophone:Z("update_microphone"),updateSelectedScreenType:Z("update_selected_screen_type"),updateUserRecordingSettings:Z("updateUserRecordingSettings"),updateVideoChapters:Z("update_video_chapters"),updateVideoDescription:Z("update_video_description"),updateVideoName:Z("update_video_name"),uploadComplete:Z("upload_complete")},ju={loomVideo:null,dimensions:{width:0,height:0},sessionId:void 0,confirm:Eo.PostRecordingConfirm.InsertRecording,isInTitleEditMode:!1,isInSummaryEditMode:!1,isInChaptersEditMode:!1,isAiDropdownOpen:!1,shouldAnimateLogo:!1,shouldAnimateTitle:!1,titleHasBeenAnimated:!1,showSavedContentToast:null,permissionDescription:null},pp=bb({name:"preview-modal",initialState:ju,reducers:{confirmationClosePreviewModal(e){e.confirm=Eo.PostRecordingConfirm.CloseModal},confirmationDeleteRecording(e){e.confirm=Eo.PostRecordingConfirm.DeleteRecording},confirmationRedoRecording(e){e.confirm=Eo.PostRecordingConfirm.RedoRecording},partialUpdateVideo(e,t){e.loomVideo!=null&&(e.loomVideo=K(K({},e.loomVideo),t.payload))},resetConfirm(e){e.confirm=Eo.PostRecordingConfirm.InsertRecording},updateAutoTitleStatus(e,t){e.loomVideo&&(e.loomVideo.autoTitleStatus=t.payload)},updateFetchTitleIntervalId(e,t){e.fetchTitleIntervalId=t.payload},updateIsAiDropdownOpen(e,t){e.isAiDropdownOpen=t.payload},updateIsInChaptersEditMode(e,t){e.isInChaptersEditMode=t.payload},updateIsInSummaryEditMode(e,t){e.isInSummaryEditMode=t.payload},updateIsInTitleEditMode(e,t){e.isInTitleEditMode=t.payload},updateLoomVideo(e,t){e.loomVideo!=null?e.loomVideo=K(K({},e.loomVideo),t.payload):e.loomVideo=t.payload},updatePermissionDescriptionKey(e,t){e.permissionDescription=t.payload},updateSavedToastContent(e,t){e.showSavedContentToast=t.payload},updateShouldAnimateLogo(e,t){e.shouldAnimateLogo=t.payload},updateShouldAnimateTitle(e,t){e.shouldAnimateTitle=t.payload},updateTitle(e,t){e.loomVideo&&(e.loomVideo.title=t.payload)},updateTitleHasBeenAnimated(e,t){e.titleHasBeenAnimated=t.payload}},extraReducers:e=>{e.addCase(rt.actions.startRecording,(t,o)=>{t.dimensions=o.payload}).addCase(up.startRecording,()=>ju).addCase(rt.actions.updateRecordingSession,(t,o)=>{t.sessionId=o.payload.session.id})}}),st=(e=>(e.Refresh="Refresh",e.EnableCookies="Enable Cookies",e.DownloadDesktopApp="Download Desktop App",e.UnsupportedBrowser="Unsupported Browser",e.Default="Default",e))(st||{});var Ib={bannerNotification:void 0,capturingTempAvatar:!1,dbLevel:0,errorModalMessage:"",genericErrorMessage:"Default",glowStatus:ip,isRetake:!1,modalToDisplay:Ce.PreRecordingModal.RecordingControls,msgType:void 0,permissionRequestState:"idle",photoCountdownSeconds:3,preRecordPage:Ce.RecordingPage.PreRecord,previousView:void 0,shouldRenderCamera:!0,showAvatarMenu:!1,tempAvatarDims:{height:void 0,width:void 0},tempAvatarUrl:void 0,tempPhotoExperience:!1,userDismissedRecorderEducationBanner:!1,workspaceLimitTooltipDismissed:!1},wa=Ob({name:"pre-recording",initialState:Ib,reducers:{clearBannerNotification(e){e.bannerNotification=void 0},clearGenericError(e){e.genericErrorMessage="Default",e.preRecordPage=Ce.RecordingPage.PreRecord},clearMsgType(e){e.msgType=void 0},decrementAvatarCountdown(e){e.photoCountdownSeconds-=1},endTempPhotoExperience(e){e.tempPhotoExperience=!1},goBackToPreviousView(e){e.previousView===Ce.PreRecordingModal.RecordingControls&&(e.modalToDisplay=Ce.PreRecordingModal.RecordingControls),e.previousView=void 0},openAuthModalFromView(e,t){e.modalToDisplay=Ce.PreRecordingModal.Authentication,e.previousView=t.payload},openPermissionsModal(e,t){e.preRecordPage=t.payload},openSystemPermissionsModal(e,t){e.modalToDisplay=Ce.PreRecordingModal.SystemPermissions,e.previousView=t.payload},resetAvatarCountdown(e){e.photoCountdownSeconds=3},setBannerNotification(e,t){e.bannerNotification=t.payload},setIsRetake(e,t){e.isRetake=t.payload},setMemberPaywall(e){e.modalToDisplay=Ce.PreRecordingModal.MemberVideoLimitPaywall,e.preRecordPage=Ce.RecordingPage.VideoLimit},setOffline(e){e.modalToDisplay=Ce.PreRecordingModal.Offline},showErrorModal(e,t){e.errorModalMessage=t.payload.errorMessage,e.modalToDisplay=Ce.PreRecordingModal.ErrorModal},showGenericError(e,t){e.genericErrorMessage=t.payload.errorMessage,e.preRecordPage=Ce.RecordingPage.GenericError},startTempPhotoExperience(e){e.tempPhotoExperience=!0,e.showAvatarMenu=!1},toggleAvatarMenu(e){e.showAvatarMenu=!e.showAvatarMenu},toggleCapturingAvatar(e){e.capturingTempAvatar=!e.capturingTempAvatar},turnOnCamera(e){e.tempAvatarUrl=void 0},updateGlow(e,t){e.dbLevel=t.payload.level,e.glowStatus=t.payload.status},updateMsgType(e,t){e.msgType=t.payload},updatePermissionRequestState(e,t){e.permissionRequestState=t.payload},updatePreRecordPage(e,t){e.preRecordPage=t.payload},updateShouldRenderCamera(e,t){e.shouldRenderCamera=t.payload},updateTempAvatar(e,t){let{url:o,height:r,width:n}=t.payload;e.tempAvatarUrl=o,e.tempAvatarDims={height:r,width:n}},updateUserDismissedRecorderEducationBanner(e,t){e.userDismissedRecorderEducationBanner=t.payload},updateWorkspaceLimitTooltipDismissed(e,t){e.workspaceLimitTooltipDismissed=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>{t.tempAvatarUrl=void 0,t.showAvatarMenu=!1,t.tempPhotoExperience=!1,t.isRetake=!1}).addCase(sn.actions.userLoginSuccess,t=>{t.modalToDisplay=Ce.PreRecordingModal.RecordingControls}).addCase(sn.actions.userLogout,t=>{t.modalToDisplay=Ce.PreRecordingModal.Authentication}).addCase(sn.actions.hasReachedRecordingLimit,(t,o)=>{o.payload?t.preRecordPage=Ce.RecordingPage.SignUp:t.preRecordPage===Ce.RecordingPage.SignUp&&(t.preRecordPage=Ce.RecordingPage.PreRecord)}).addCase(_a.actions.userHasInternetConnection,(t,o)=>{o.payload?t.preRecordPage===Ce.RecordingPage.NetworkError&&(t.preRecordPage=Ce.RecordingPage.PreRecord):t.preRecordPage=Ce.RecordingPage.NetworkError})}}),{openAuthModalFromView:r2,goBackToPreviousView:o2}=wa.actions,Ab={openPreRecordingMenu:Z("open_pre_recording_menu")},Pb={accessRequested:!1,audioEnabled:!0,availableCameras:[],avatarOnScreenOnly:!0,cameraEnabled:!0,cameraId:void 0,cameraPosition:oi,cameraSize:1,currAvatar:0,defaultCameraId:void 0,defaultCameraPosition:oi,defaultMicrophoneId:void 0,flipCamera:!0,highQuality:!0,isPictureInPictureEnabled:!1,microphoneId:void 0,microphones:[],recordingTimerEnabled:!0,screenType:mp.RecordingScreenType.Desktop,sdkAvailableCameras:[Da],sdkMicrophones:[Pa],tabAudio:!1,tempAvatarCameraId:void 0,tempHideCamera:!1},fp=Db({name:"recorderSettings",initialState:Pb,reducers:{accessRequested(e,t){e.accessRequested=t.payload},toggleIsPictureInPictureEnabled(e,t){e.isPictureInPictureEnabled=t.payload},turnOffCamera(e){e.cameraEnabled=!1,e.cameraId=void 0},turnOffMicrophone(e){e.audioEnabled=!1},turnOnCamera(e){e.cameraEnabled=!0,e.cameraId=e.defaultCameraId},turnOnMicrophone(e){e.audioEnabled=!0},updateAvailableCameras(e,t){e.availableCameras=t.payload,e.sdkAvailableCameras=[Da,...t.payload]},updateCamera(e,t){let o=t.payload;return tt(K({},e),{cameraId:o,defaultCameraId:o||e.defaultCameraId||e.cameraId,tempAvatarCameraId:o||e.defaultCameraId||e.cameraId})},updateCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y}},updateCameraSize(e,t){e.cameraSize=t.payload},updateDefaultCamera(e,t){e.defaultCameraId=t.payload},updateDefaultCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y},e.defaultCameraPosition={x:t.payload.x,y:t.payload.y}},updateFlipCamera(e,t){e.flipCamera=t.payload},updateHighQuality(e,t){e.highQuality=t.payload},updateMicrophones(e,t){e.microphones=t.payload,e.sdkMicrophones=[Pa,...t.payload]},updateRecordingTimerEnabled(e,t){e.recordingTimerEnabled=t.payload},updateSelectedScreenType(e,t){e.screenType=t.payload},updateTabAudio(e,t){e.tabAudio=t.payload}},extraReducers:e=>{e.addCase(rt.actions.endRecording,t=>tt(K({},t),{cameraPosition:t.defaultCameraPosition,highQuality:!0})).addCase(rt.actions.captureCam,t=>{t.tabAudio=!1}).addCase(rt.actions.captureDesktop,t=>{t.tabAudio=!1}).addCase(rt.actions.captureTab,t=>{t.tabAudio=!1}).addCase(ii,(t,o)=>{t.microphoneId=o.payload,t.defaultMicrophoneId=o.payload})}}),gp={};Ge(gp,{selectAlertMessages:()=>Mb});var _b=e=>e.alerts,Mb=Rb(_b,e=>e.alertMessages),hp={};Ge(hp,{selectAtlassianUserId:()=>kb,selectFetchedBrowserUser:()=>Ub,selectHasReachedRecordingLimit:()=>xb,selectIsUserLoggedIn:()=>wb,selectIsUserViewOnly:()=>Bb,selectPartnerGuestRecordingLimit:()=>Lb,selectUserId:()=>Nb});var Wr=e=>e.authentication,wb=e=>Wr(e).user!==void 0,xb=Ep(Wr,e=>e.hasReachedRecordingLimit),Lb=Ep(Wr,e=>e.partnerGuestRecordingLimit),Nb=e=>{var t;return(t=Wr(e).user)==null?void 0:t.id},kb=e=>{var t;return(t=Wr(e).user)==null?void 0:t.aa_id},Ub=e=>Wr(e).fetchedBrowserUser,Bb=e=>Wr(e).memberRole===Sp.OrgRoles.Viewer,vp={};Ge(vp,{isChromeExtensionInstalled:()=>Kb,selectDesktopAppInstalled:()=>zb,selectDesktopTabUuid:()=>Hb,selectEndedCascadeRecording:()=>Gb,selectOpenChromeExtensionResult:()=>jb,selectShouldOpenDesktopApp:()=>Vb,shouldOpenChromeExtension:()=>Wb});var Kr=e=>e.cascadingRecorders,Wb=e=>Kr(e).shouldOpenChromeExtension,Kb=e=>Kr(e).isChromeExtensionInstalled,jb=Fb(Kr,e=>e.openChromeExtensionResult),Vb=e=>Kr(e).shouldOpenDesktopApp,Hb=e=>Kr(e).desktopTabUuid,Gb=e=>Kr(e).endedCascadedRecording,zb=e=>Kr(e).isDesktopAppInstalled,yp={};Ge(yp,{selectCascadingRecordersDesktopFeatureFlagValue:()=>Xb,selectCascadingRecordersFeatureFlagValue:()=>$b,selectDesktopSubscriptionTimeoutFeatureFlagValue:()=>Yb,selectFeatureFlags:()=>So,selectJsmOnboardingContentFlagValue:()=>eO,selectM25UserInterfaceFeatureFlagValue:()=>Jb,selectRolloutSdkPermissionsVisibilityFlagValue:()=>Zb,selectRolloutSdkRecorderEducationFlagValue:()=>qb,selectShouldShowAiInSdk:()=>Qb});var So=e=>e.featureFlags,$b=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureFlags.ROLLOUT_SDK_CASCADING_RECORDERS_M1])!=null&&t.result)},Xb=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureGates.ROLLOUT_SDK_CASCADING_RECORDERS_M3])!=null&&t.result)},Yb=e=>{var t;let{flagResults:o}=So(e);return((t=o[mr.FeatureExperiments.DESKTOP_SUBSCRIPTION_TIMEOUT])==null?void 0:t.result)||0},Jb=e=>{var t;let{flagResults:o}=So(e);return!!((t=o[mr.FeatureFlags.ROLLOUT_SDK_M25_UI])!=null&&t.result)},Qb=e=>{var t;let{flagResults:o}=So(e);return((t=o[mr.FeatureFlags.ROLLOUT_AI_SDK])==null?void 0:t.result)==="variant"},Zb=()=>!0,qb=()=>"variant",eO=e=>!0,Tp={};Ge(Tp,{selectIsCheckingNetworkConnection:()=>rO,selectUserHasInternetConnection:()=>tO});var bp=e=>e.network,tO=Cp(bp,e=>e.userHasInternetConnection),rO=Cp(bp,e=>e.isCheckingNetworkConnection),Op={};Ge(Op,{selectIsOnboardingComplete:()=>iO,selectOnboarding:()=>an,selectOnboardingStep:()=>oO,selectShouldSeeOnboarding:()=>nO,selectShouldSeeOnboardingEntrypoint:()=>sO});var an=e=>e.onboarding,oO=di(an,e=>e.onboardingStep),nO=di(an,e=>e.shouldSeeOnboarding),iO=di(an,e=>e.isOnboardingComplete),sO=di(an,e=>e.shouldSeeOnboardingEntrypoint),Ip={};Ge(Ip,{isInChaptersEditMode:()=>EO,isInSummaryEditMode:()=>hO,isInTitleEditMode:()=>gO,selectAiGenerated:()=>yO,selectAutoChaptersCount:()=>fO,selectAutoChaptersStatus:()=>mO,selectAutoDescriptionStatus:()=>dO,selectAutoTitleStatus:()=>lO,selectChapters:()=>SO,selectDescription:()=>uO,selectDuration:()=>pO,selectIsAiDropdownOpen:()=>vO,selectLoomVideo:()=>_t,selectLoomVideoId:()=>aO,selectLoomVideoTitle:()=>cO,selectPreviewRecording:()=>Ft,selectSavedToastContent:()=>OO,selectShouldAnimateLogo:()=>TO,selectShouldAnimateTitle:()=>CO,selectTitleHasBeenAnimated:()=>bO});var Je=(e=>(e.Auto="AUTO",e.Invalid="INVALID",e.Pending="PENDING",e.Unknown="UNKNOWN",e.User="USER",e))(Je||{});var rr=(e=>(e.Failure="failure",e.InProgress="in_progress",e.NotStarted="not_started",e.Success="success",e.Unsupported="unsupported",e))(rr||{}),Ft=e=>e.previewRecording,_t=ke(Ft,e=>e.loomVideo),aO=ke(_t,e=>e==null?void 0:e.id),cO=ke(_t,e=>e==null?void 0:e.title),lO=ke(_t,e=>e==null?void 0:e.autoTitleStatus),dO=ke(_t,e=>e==null?void 0:e.autoDescriptionStatus),uO=ke(_t,e=>e==null?void 0:e.description),pO=ke(_t,e=>(e==null?void 0:e.duration)||0),mO=ke(_t,e=>e==null?void 0:e.autoChaptersStatus),fO=ke(_t,e=>e==null?void 0:e.autoChaptersCount),gO=ke(Ft,e=>e==null?void 0:e.isInTitleEditMode),hO=ke(Ft,e=>e==null?void 0:e.isInSummaryEditMode),EO=ke(Ft,e=>e==null?void 0:e.isInChaptersEditMode),SO=ke(_t,e=>(e==null?void 0:e.chapters)||""),vO=ke(Ft,e=>e.isAiDropdownOpen),yO=ke(_t,e=>(e==null?void 0:e.autoTitleStatus)==="AUTO"||(e==null?void 0:e.autoDescriptionStatus)==="AUTO"||(e==null?void 0:e.autoChaptersStatus)==="success"),TO=ke(Ft,e=>e.shouldAnimateLogo),CO=ke(Ft,e=>e.shouldAnimateTitle),bO=ke(Ft,e=>e.titleHasBeenAnimated),OO=ke(Ft,e=>e.showSavedContentToast),Ap={};Ge(Ap,{selectGenericErrorMessage:()=>AO,selectMsgType:()=>DO,selectPreRecordPage:()=>IO,selectUserDismissedRecorderEducationBanner:()=>PO});var pi=e=>e.preRecording,IO=ui(pi,e=>e.preRecordPage),AO=ui(pi,e=>e.genericErrorMessage),DO=ui(pi,e=>e.msgType),PO=ui(pi,e=>e.userDismissedRecorderEducationBanner),Dp={};Ge(Dp,{selectAppStage:()=>RO,selectCameraBubbleSize:()=>KO,selectCameraId:()=>_O,selectCanDisableCamera:()=>NO,selectCancelButtonClicked:()=>FO,selectDefaultCameraId:()=>MO,selectFirstCamera:()=>xO,selectFirstMicrophone:()=>LO,selectIsAudioEnabled:()=>UO,selectIsThereNoCameraOption:()=>kO,selectMediaDevicePermissions:()=>wO,selectMicrophoneId:()=>Mp,selectRestartButtonClicked:()=>WO,selectSDKAvailbleCameras:()=>xa,selectSDKMicrophones:()=>_p,selectSDKRecordingType:()=>Rp,selectVideoDurationLimit:()=>BO});var jr=e=>e.recorder,cn=e=>e.recorderSettings,RO=gt(jr,e=>e.appStage),Rp=gt(jr,e=>e.sdkRecordingType),_O=gt(cn,e=>e.cameraId),MO=gt(cn,e=>e.defaultCameraId),xa=gt(cn,e=>e.sdkAvailableCameras),wO=gt(jr,e=>e.mediaDevicePermissions),xO=e=>{let t=xa(e);return t.length>1?t[1].deviceId:t[0].deviceId},LO=e=>{let t=_p(e);return t.length>1?t[1].deviceId:t[0].deviceId},NO=e=>Rp(e)!==Pp.SDKRecordingType.CameraOnly,kO=e=>{let t=xa(e);return t.length===1&&t[0].deviceId.indexOf(Aa)>-1},UO=e=>{let t=Mp(e);return t===void 0?!1:!(t.indexOf(Ia)>-1)},_p=gt(cn,e=>e.sdkMicrophones),Mp=gt(cn,e=>e.microphoneId),BO=gt(jr,e=>e.videoDurationLimit),FO=gt(jr,e=>e.cancelButtonClicked),WO=gt(jr,e=>e.restartButtonClicked),KO=gt(jr,e=>e.cameraBubbleSize),wp={};Ge(wp,{selectAaId:()=>zO,selectDisableDesktopOnFirefox:()=>JO,selectEnvironment:()=>XO,selectLoomSdkVersion:()=>$O,selectSdkEntryPointName:()=>VO,selectSdkExperimentalFeatures:()=>HO,selectSdkMode:()=>YO,selectSdkProductName:()=>jO,selectSettings:()=>Wt,selectSiteId:()=>GO});var Wt=e=>e.settings,jO=or(Wt,e=>e.sdkConfig.productName),VO=or(Wt,e=>e.sdkConfig.entryPointName),HO=or(Wt,e=>e.sdkConfig.experimentalFeatures),GO=or(Wt,({mode:e})=>e.mode==="first-party"?e.siteId:null),zO=or(Wt,e=>e.aaid),$O=or(Wt,e=>e.loomSdkVersion),XO=or(Wt,e=>e.environment),YO=or(Wt,e=>e.mode),JO=or(Wt,e=>e.sdkConfig.disableDesktopOnFirefox||!1),xp={};Ge(xp,{selectUser:()=>Lp,selectUserVideoSettings:()=>ZO});var Lp=e=>e.user,ZO=QO(Lp,e=>e.videoSettings),Np={};Ge(Np,{selectDefaultWorkspace:()=>fr,selectDefaultWorkspaceId:()=>nI,selectDefaultWorkspaceSiteId:()=>iI,selectHasAIAddOn:()=>rI,selectIsTrialing:()=>eI,selectMembeRole:()=>tI,selectSiteIdFromWorkspaces:()=>sI,selectUpgradeUrl:()=>oI,selectVideoCount:()=>qO,selectWorkspacesFetched:()=>aI});var fr=e=>e.workspaces.defaultWorkspace||null,qO=Vr(fr,e=>{var t,o,r;return((r=(o=(t=e==null?void 0:e.organization)==null?void 0:t.counts)==null?void 0:o.videos)==null?void 0:r.total_member_created_videos)||0}),eI=Vr(fr,e=>{var t;return!!((t=e==null?void 0:e.organization)!=null&&t.is_trialing)}),tI=Vr(fr,e=>e==null?void 0:e.member_role),rI=Vr(fr,e=>{var t,o;return!!((o=(t=e==null?void 0:e.organization)==null?void 0:t.add_ons)!=null&&o.includes("AI"))}),oI=Vr(fr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.upgrade_url}),nI=Vr(fr,e=>e==null?void 0:e.id),iI=Vr(fr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.site_id}),sI=e=>{let o=e.workspaces.workspaces.find(r=>!!r.organization.site_id&&(r.organization.status===null||r.organization.status===ti));if(o)return o.organization.site_id},aI=e=>e.workspaces.workspacesFetched,A=K(K(K(K(K(K(K(K(K(K(K(K({},gp),hp),vp),Tp),Op),Ap),Ip),Dp),wp),yp),xp),Np),lI={auto_chapters:!1,auto_cta:!1,auto_filler_word_removal:!1,auto_silence_removal:!1,auto_summary:!1,auto_tasks:!1,auto_title:!1,comments_email_enabled:!1,comments_enabled:!1,default_filler_word_removal:"",download_enabled:!1,email_gate_video_type:"",filler_word_removal:"",loom_branded_player:!1,noise_suppression:!1,record_reply_enabled:!1,salesforce_engagement_tracking:!1,show_analytics_to_viewer:!1,show_transcript_to_viewer:!1,stylizedCaptions:!1,suggested_playback_rate:"",use_emojis:!1,use_gif:!1,viewerCaptionsOn:!1,viewers_can_weave:!1,viewers_can_weave_default:!1},dI={videoSettings:lI},kp=cI({name:"user",initialState:dI,reducers:{updateLoomVideoSettings(e,t){e.videoSettings=K(K({},e.videoSettings),t.payload)}}}),uI={getWorkspaces:Z("get_workspaces"),getDefaultWorkspaceAdmins:Z("get_default_workspace_admins")},Hr=(e=>(e.RecordingCompleted="recording-completed",e.RecordingLimit="recording-limit",e.UnrecoverableError="unrecoverable-error",e.MediaStreamStopped="media-stream-stopped",e.ScreenRecordingEnded="screen-recording-ended",e.FailedToStartRecording="failed-to-start-recording",e.TriggeredByPartnerFrontend="triggered-by-partner-frontend",e))(Hr||{});var pI=vC({alerts:Hu.reducer,analytics:Gu.reducer,authentication:sn.reducer,bubbleMenu:tp.reducer,cascadingRecorders:rp.reducer,countdown:ap.reducer,featureFlags:lp.reducer,meta:dp.reducer,network:_a.reducer,onboarding:Ma.reducer,preRecording:wa.reducer,previewRecording:pp.reducer,recorder:rt.reducer,recorderSettings:fp.reducer,settings:Ta.reducer,user:kp.reducer,workspaces:Sa.reducer}),R=K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K(K({},Hu.actions),Gu.actions),sn.actions),tp.actions),rp.actions),ap.actions),lp.actions),_a.actions),Ma.actions),wa.actions),pp.actions),rt.actions),fp.actions),Sa.actions),dp.actions),Ta.actions),kp.actions),db),_=K(K(K(K(K(K(K(K(K(K({},IC),$C),JC),fb),gb),yb),Ma.actions),Ab),up),uI),Up=(e,t)=>({store:yC({reducer:pI,middleware:e,devTools:t})});function vo(e,t,o,r=(n,i)=>n===i){let n=t(e.getState());return e.subscribe(()=>{let i=t(e.getState());r(n,i)||(n=i,o(i))})}var ie=Y(J());var Bp="screen",Q="ui",yo="track",re="operational";var mI="SDK Ask Device Permissions",Fp="SDK Beacon Sent",Wp="Total Tab Change",fI="User Share Screen Selection",La="SDK Record Button Clicked V2",mi="SDK Successfully Set Up V2",Na="SDK Sign Up Button Clicked V2",ka="SDK Home Button Clicked V2",fi="SDK Recording Capture Mode V2",gi="SDK Recording With Cam On V2",hi="SDK Recording With Cam Off V2",Ei="SDK Recording With Mic On V2",Si="SDK Recording With Mic Off V2",Ua="SDK Close Preview Modal Button Clicked V2",Ba="SDK Close Preview Modal Confirm Button Clicked V2",Fa="SDK Close Preview Modal Cancel Button Clicked V2",Wa="SDK Restart Recording Button in Preview Modal Clicked V2",Ka="SDK Restart Recording Cancel Button in Preview Modal Clicked V2",ja="SDK Restart Recording Confirm Button in Preview Modal Clicked V2",Va="SDK Delete Recording Button in Preview Modal Clicked V2",Ha="SDK Delete Recording Confirm Button in Preview Modal Clicked V2",Ga="SDK Delete Recording Cancel Button in Preview Modal Clicked V2",za="SDK Primary CTA in Preview Modal Clicked V2",$a="SDK Copy Video Link Buton in Preview Modal Clicked V2",Xa="SDK Edit Video Button in Preview Modal Clicked V2",Ya="SDK Edited Title V2",Ja="SDK Skip Countdown V2",Qa="SDK Finish Recording Button Clicked V2",Za="SDK Pause Recording Button Clicked V2",qa="SDK Resume Recording Button Clicked V2",ec="SDK Restart Recording Button Clicked V2",tc="SDK Cancel Recording Button Clicked V2",rc="SDK Cancel Modal Resume Recording V2",oc="SDK Cancel Modal Restart Recording V2",nc="SDK Cancel Modal Confirm Cancel Recording V2",ic="SDK Restart Modal Resume Recording V2",sc="SDK Restart Modal Restart Recording V2",ac="SDK Onboarding Exited",wi="SDK Onboarding Completed",cc="SDK Onboarding Next Step Clicked",lc="SDK Help Center Clicked",dc="SDK Help Center Item Clicked",uc="SDK Download Banner Desktop Install Clicked",pc="SDK Download Banner Extension Install Clicked",gI="video_title_updated",vi="SDK Recorder Launched V2",yi="SDK Video Limit Page Opened",Ti="SDK Network Error Modal Opened",Ci="SDK Generic Error Modal Opened",bi="SDK Sign Up Modal Opened",Oi="SDK Screen System Permissions Modal Opened",Ii="SDK Audio and Camera System Permissions Modal Opened",Ai="SDK Product Name",Di="SDK Entry Point Name",hI="SDK Close Preview Modal Button Clicked",EI="SDK Close Preview Modal Confirm Button Clicked",SI="SDK Close Preview Modal Cancel Button Clicked",vI="SDK Restart Recording Button Clicked",yI="SDK Restart Recording Cancel Button Clicked",TI="SDK Restart Recording Confirm Button Clicked",CI="SDK Delete Recording Button Clicked",bI="SDK Delete Recording Confirm Button Clicked",OI="SDK Delete Recording Cancel Button Clicked",II="SDK Insert Recording Button Clicked",AI="SDK Copy Video Link Buton Clicked",Pi="SDK Copy Video Link Via Navigator Unsuccessful",Ri="SDK Copy Video Link Via Fallback Unsuccessful",_i="Show onboarding tutorial",Mi="Show onboarding tutorial step",mc="Close onboarding tutorial",DI="SDK Sign Up Button Clicked",PI="SDK Open Workspace Button Clicked",RI="SDK Record Button Clicked",Kp="SDK Successfully Set Up",fc="SDK Examples Modal Viewed",gc="SDK Examples Modal Dismiss Clicked",hc="SDK Examples Modal Expand Clicked",Ec="SDK Examples Modal Carousel Clicked",Sc="SDK Examples Modal Failed",vc="SDK Examples Modal Video Clicked",yc="SDK Onboarding Entrypoint Clicked",T2={[mI]:{eventType:yo,action:"requested",actionSubject:"sdkDevicePermissions"},[hi]:{eventType:re,action:hi,actionSubject:"sdkRecorder"},[gi]:{eventType:re,action:gi,actionSubject:"sdkRecorder"},[tc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelButtonV2"},[nc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalConfirmButtonV2"},[oc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalRestartButtonV2"},[rc]:{eventType:Q,action:"clicked",actionSubject:"sdkCancelModalResumeButtonV2"},[gc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalDismiss"},[hc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalExpand"},[vc]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalVideo"},[Ec]:{eventType:Q,action:"clicked",actionSubject:"sdkExamplesModalVideoCarousel"},[yc]:{eventType:Q,action:"clicked",actionSubject:"sdkOnboardingEntrypoint"},[mc]:{eventType:Q,action:"clicked",actionSubject:"sdkCloseOnboardingTutorialButton"},[hI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalButton"},[Ua]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalButtonV2"},[SI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalCancelButton"},[Fa]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalCancelButtonV2"},[EI]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalConfirmButton"},[Ba]:{eventType:Q,action:"clicked",actionSubject:"sdkClosePreviewModalConfirmButtonV2"},[AI]:{eventType:Q,action:"clicked",actionSubject:"sdkCopyVideoLinkPreviewModalButton"},[$a]:{eventType:Q,action:"clicked",actionSubject:"sdkCopyVideoLinkPreviewModalButtonV2"},[Ri]:{eventType:re,action:Ri,actionSubject:"sdkRecorder"},[Pi]:{eventType:re,action:Pi,actionSubject:"sdkRecorder"},[CI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalButton"},[Va]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalButtonV2"},[OI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalCancelButton"},[Ga]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalCancelButtonV2"},[bI]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalConfirmButton"},[Ha]:{eventType:Q,action:"clicked",actionSubject:"sdkDeleteRecordingPreviewModalConfirmButtonV2"},[Xa]:{eventType:Q,action:"clicked",actionSubject:"sdkEditVideoPreviewModalButtonV2"},[Ya]:{eventType:yo,action:"updated",actionSubject:"sdkPreviewModalTitleV2"},[Di]:{eventType:re,action:Di,actionSubject:"sdkRecorder"},[Qa]:{eventType:Q,action:"clicked",actionSubject:"sdkFinishRecordingButtonV2"},[ka]:{eventType:Q,action:"clicked",actionSubject:"sdkHomeButtonV2"},[II]:{eventType:Q,action:"clicked",actionSubject:"sdkInsertRecordingPreviewModalButton"},[Si]:{eventType:re,action:Si,actionSubject:"sdkRecorder"},[Ei]:{eventType:re,action:Ei,actionSubject:"sdkRecorder"},[PI]:{eventType:Q,action:"clicked",actionSubject:"sdkOpenWorkspaceButton"},[Za]:{eventType:Q,action:"clicked",actionSubject:"sdkPauseButtonV2"},[za]:{eventType:Q,action:"clicked",actionSubject:"sdkPreviewModalPrimaryCtaV2"},[RI]:{eventType:Q,action:"clicked",actionSubject:"sdkRecordButton"},[La]:{eventType:Q,action:"clicked",actionSubject:"sdkRecordButtonV2"},[fi]:{eventType:re,action:fi,actionSubject:"sdkRecorder"},[ie.RecordLayerStates.Abandoned]:{eventType:re,action:ie.RecordLayerStates.Abandoned,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Abandoning]:{eventType:re,action:ie.RecordLayerStates.Abandoning,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Cancelling]:{eventType:re,action:ie.RecordLayerStates.Cancelling,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Cancelled]:{eventType:re,action:ie.RecordLayerStates.Cancelled,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Completing]:{eventType:re,action:ie.RecordLayerStates.Completing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Completed]:{eventType:re,action:ie.RecordLayerStates.Completed,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.FinishedUploading]:{eventType:re,action:ie.RecordLayerStates.FinishedUploading,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Intitializing]:{eventType:re,action:ie.RecordLayerStates.Intitializing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.MediaStreamStopped]:{eventType:re,action:ie.RecordLayerStates.MediaStreamStopped,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Paused]:{eventType:re,action:ie.RecordLayerStates.Paused,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Pausing]:{eventType:re,action:ie.RecordLayerStates.Pausing,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Ready]:{eventType:re,action:ie.RecordLayerStates.Ready,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Recording]:{eventType:re,action:ie.RecordLayerStates.Recording,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Resumed]:{eventType:re,action:ie.RecordLayerStates.Resumed,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Resuming]:{eventType:re,action:ie.RecordLayerStates.Resuming,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Starting]:{eventType:re,action:ie.RecordLayerStates.Starting,actionSubject:"sdkRecorderLifecycleEvent"},[ie.RecordLayerStates.Unknown]:{eventType:re,action:ie.RecordLayerStates.Unknown,actionSubject:"sdkRecorderLifecycleEvent"},[ec]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartButtonV2"},[sc]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartModalConfirmRestartButtonV2"},[ic]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartModalResumeRecordingButtonV2"},[vI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalButton"},[Wa]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalButtonV2"},[yI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalCancelButton"},[Ka]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalCancelButtonV2"},[TI]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalConfirmButton"},[ja]:{eventType:Q,action:"clicked",actionSubject:"sdkRestartRecordingPreviewModalConfirmButtonV2"},[qa]:{eventType:Q,action:"clicked",actionSubject:"sdkResumeButtonV2"},[Ii]:{eventType:re,action:Ii,actionSubject:"sdkRecorder"},[Fp]:{eventType:re,action:Fp,actionSubject:"sdkRecorder"},[uc]:{eventType:Q,action:"clicked",actionSubject:"sdkDownloadBannerDesktopInstallButton"},[pc]:{eventType:Q,action:"clicked",actionSubject:"sdkDownloadBannerExtensionInstallButton"},[Sc]:{eventType:re,action:"failed",actionSubject:"sdkExamplesModal"},[Ci]:{eventType:re,action:Ci,actionSubject:"sdkRecorder"},[lc]:{eventType:Q,action:"clicked",actionSubject:"sdkHelpCenterButton"},[dc]:{eventType:Q,action:"clicked",actionSubject:"sdkHelpCenterItem"},[Ti]:{eventType:re,action:Ti,actionSubject:"sdkRecorder"},[wi]:{eventType:yo,action:"completed",actionSubject:"sdkOnboarding"},[ac]:{eventType:yo,action:"exited",actionSubject:"sdkOnboarding"},[cc]:{eventType:Q,action:"clicked",actionSubject:"sdkOnboardingNextStepButton"},[Ai]:{eventType:re,action:Ai,actionSubject:"sdkRecorder"},[vi]:{eventType:re,action:vi,actionSubject:"sdkRecorder"},[Oi]:{eventType:re,action:Oi,actionSubject:"sdkRecorder"},[Kp]:{eventType:re,action:Kp,actionSubject:"sdkRecorder"},[mi]:{eventType:re,action:mi,actionSubject:"sdkRecorder"},[bi]:{eventType:re,action:bi,actionSubject:"sdkRecorder"},[yi]:{eventType:re,action:yi,actionSubject:"sdkRecorder"},[_i]:{eventType:re,action:_i,actionSubject:"sdkRecorder"},[Mi]:{eventType:re,action:Mi,actionSubject:"sdkRecorder"},[DI]:{eventType:Q,action:"clicked",actionSubject:"sdkSignUpButton"},[Na]:{eventType:Q,action:"clicked",actionSubject:"sdkSignUpButtonV2"},[Ja]:{eventType:Q,action:"clicked",actionSubject:"sdkSkipCountdownButtonV2"},[Wp]:{eventType:re,action:Wp,actionSubject:"sdkRecorder"},[fI]:{eventType:Q,action:"clicked",actionSubject:"sdkUserRecordingScreenSelectionCta"},[gI]:{eventType:yo,action:"updated",actionSubject:"sdkAutoGeneratedVideoTitle"},[fc]:{eventType:Bp,name:"sdkExamplesModal"}};var jp="record-sdk",Vp="".concat(jp,".setup.finish"),Hp="".concat(jp,".mau_analytics.failed");var Tc=(n=>(n.Development="development",n.Testbench="testbench",n.Staging="staging",n.Production="production",n))(Tc||{}),xi=(r=>(r.ScreenAndCamera="screen_cam",r.ScreenOnly="screen",r.CameraOnly="cam",r))(xi||{});var Qe=Y(J()),To=e=>{switch(e){case Qe.RecordingStage.PreRecording:case Qe.RecordingStage.Countdown:case Qe.RecordingStage.CountdownSkipped:return Qe.SDKState.PreRecording;case Qe.RecordingStage.Recording:case Qe.RecordingStage.Paused:return Qe.SDKState.ActiveRecording;case Qe.RecordingStage.PostRecording:return Qe.SDKState.PostRecording;case Qe.RecordingStage.Cascaded:return Qe.SDKState.Cascaded;case Qe.RecordingStage.Closed:default:return Qe.SDKState.Closed}};import*as Li from"react-redux";var P=Li.useSelector,te=()=>Li.useDispatch();var Kt=(...e)=>{},Gp=e=>e===Kt,zp=()=>({onInsertClicked:Kt,onStart:Kt,onRecordingStarted:Kt,onCancel:Kt,onComplete:Kt,onAnalyticsEvent:Kt,onLifecycleUpdate:Kt,onRecordingComplete:Kt,onUploadComplete:Kt}),MI=(e,t)=>{switch(t){case"active-recording":e.onRecordingStarted();break;default:}},wI=(e,t,o)=>{let r=o.getState();switch(t){case _.startRecording().type:e.onStart();break;case _.cancelRecording().type:e.onCancel();break;case _.endRecording({fromError:!1,fromRecordingLimit:!1}).type:e.onComplete();break;case _.recordingComplete().type:r.previewRecording.loomVideo&&e.onRecordingComplete(r.previewRecording.loomVideo);break;case _.uploadComplete().type:r.previewRecording.loomVideo&&e.onUploadComplete(r.previewRecording.loomVideo);break;default:return}},Gr=zp(),$p=e=>(vo(e,t=>t.meta.latestConsumerTrigger,t=>{t!==null&&wI(Gr,t,e)}),vo(e,t=>To(t.recorder.appStage),t=>{Gr.onLifecycleUpdate(t),MI(Gr,t)}),{replaceHooks:t=>{Gr=x(x({},zp()),t)}});var Qi={};je(Qi,{SDKMode:()=>ym,buildIframe:()=>Bc,createStore:()=>Fc,getIframeSrc:()=>Ji,reportFatal:()=>Uc});var vm=Y(Em());var nr=Y(J());var Nc="loom-sdk-record-overlay-shadow-root-id",Io="loom-sdk-record-overlay-shadow-inner-container",Sm="loom-sdk-record-overlay-shadow-style-id";var $A=e=>{if(["/sdk-testbench/","/sdk-testbench/preview"].includes(e.pathname))return"https://loomlocal.com:4444";let t="(?://|[a-z]\\.)(?:loom.com|loomlocal.com)";return new RegExp(t,"ig").test(e.origin)?e.origin:"https://www.loom.com"},kc=e=>{switch(e){case nr.Environment.Testbench:case nr.Environment.Development:return nr.EnvironmentUrl.Development;case nr.Environment.Staging:return nr.EnvironmentUrl.Staging;case nr.Environment.Production:return nr.EnvironmentUrl.Production;default:return $A(location)}};var Uc=async(e,t)=>{let o=kc(t);await fetch("".concat(o,"/integrations-app/sdk/report-fatal"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:e})})},Ji=(e,t,o)=>{let r=(()=>{switch(e.kind){case"first-party":return{path:"/integrations-app/sdk/atlassian",params:[["api_key",e.appId],["token",e.jws]]};case"standard":return{path:"/integrations-app/sdk",params:[["api_key",e.appId]]};case"custom":return{path:"/integrations-app/sdk",params:[["jws",e.jws]]};default:{let a=e;throw new Error("determineSrc: ".concat(a," is unexpected"))}}})(),{path:n,params:i}=r,s=new URL(n,kc(o));return s.searchParams.set("sdk_version",t),i.forEach(([a,c])=>{s.searchParams.set(a,c)}),s.toString()},Bc=(e,t,o)=>{let r=document.createElement("iframe");return r.src=Ji(e,t,o),r.allow="microphone; camera; clipboard-write; display-capture;",r.style.display="block",r.style.width="0",r.style.height="0",r.style.border="none",r.style.visibility="hidden",r},Fc=async e=>{let t;try{t=new vm.Store({iframe:e})}catch(r){return console.error("[record-sdk] createStore: new IframeReduxStore() encountered error",{message:r.message}),r.message="new IframeReduxStore: ".concat(r.message),r}let o=await t.ready();return o instanceof Error?(console.error("[record-sdk] createStore: proxyStore.ready() encountered error",{message:o.message}),o):t},ym=(r=>(r.AppID="standard",r.JWS="custom",r.FirstParty="first-party",r))(ym||{});var Wc=Y(J());import XA from"eventemitter3";var Ao=class extends XA{constructor(o,r,n){super();this.store=o;this.hooks=r;this.replaceHooks=n}openPreRecordPanel(){var r,n,i;let o=new Date;this.hooks&&this.replaceHooks&&this.replaceHooks(this.hooks),Ve.activeButton=this,(r=this.store)==null||r.dispatch(R.updateOpenMenuTimestamp(o.getTime())),(n=this.store)==null||n.dispatch(R.setUrl(window.location.href)),(i=this.store)==null||i.dispatch(_.openPreRecordingMenu({startTime:o,entryPoint:"sdkButton"}))}closePreRecordPanel(){var o;Ve.activeButton===this&&((o=this.store)==null||o.dispatch(R.closePreRecordingMenu()))}moveBubble(o){var r;Ve.activeButton===this&&((r=this.store)==null||r.dispatch(R.updateBubblePosition(o)))}endRecording(){if(Ve.activeButton===this&&this.store){let o=this.store.getState().recorder.appStage;[Wc.RecordingStage.Recording,Wc.RecordingStage.Paused].includes(o)&&this.store.dispatch(_.endRecording({fromError:!1,fromRecordingLimit:!1,reason:Hr.TriggeredByPartnerFrontend}))}}},Kc=class{constructor(){this.activeButton=new Ao}},Ve=new Kc,YA={[_.startRecording().type]:"start",[_.cancelRecording().type]:"cancel",[_.endRecording({fromError:!1,fromRecordingLimit:!1}).type]:"complete",[_.recordingComplete().type]:"recording-complete",[_.uploadComplete().type]:"upload-complete"},JA=(e,t)=>{let o=t.getState();switch(e){case"start":case"cancel":case"complete":Ve.activeButton.emit(e);break;case"recording-complete":o.previewRecording.loomVideo&&Ve.activeButton.emit(e,o.previewRecording.loomVideo);break;case"upload-complete":o.previewRecording.loomVideo&&Ve.activeButton.emit(e,o.previewRecording.loomVideo);break;default:return}};function Tm(e){vo(e,t=>t.meta.latestConsumerTrigger,t=>{t!==null&&JA(YA[t],e)}),vo(e,t=>To(t.recorder.appStage),t=>{Ve.activeButton.emit("lifecycle-update",t),t==="active-recording"&&Ve.activeButton.emit("recording-start")})}async function QA(e,t={}){let{timeout:o=3e3}=t,r=new AbortController,n=setTimeout(()=>r.abort(),o),i=await fetch(e,ne(x({},t),{signal:r.signal}));return clearTimeout(n),i}var Cm="\nFor troubleshooting, go to https://dev.loom.com/docs/record-sdk/troubleshooting";async function bm(e,t,o,r){let n=await QA(Ji(t,o,r),{method:"GET",timeout:2e3}),i=await n.text();[200,304].includes(n.status)?console.error("@loomhq/record-sdk, failed to connect to SDK store: ".concat(e).concat(Cm)):console.error("@loomhq/record-sdk, failed loading SDK bundle: ".concat(n.status," - ").concat(i).concat(Cm))}import Om from"jwt-decode";var Im=e=>{let{mode:t}=e;switch(t){case"standard":return R.setMode({mode:"standard",publicAppId:e.publicAppId});case"custom":{let o=Om(e.jws);if(typeof o.iss!="string")throw new Error("loom recordSDK: JWS is missing the issuer field");return R.setMode({mode:"custom",publicAppId:o.iss,jws:e.jws})}case"first-party":return R.setMode({mode:"first-party",publicAppId:e.publicAppId,siteId:e.siteId});default:{let o=t;throw console.warn("".concat(o," was provided as the mode")),new Error("Misconfigured SDK: 'mode' needs to be defined as part of config. Example: { mode: 'standard', publicAppId: 'the api key' }")}}},Am=e=>{let{SDKMode:t}=Qi;switch(e.mode){case"first-party":return{kind:t.FirstParty,appId:e.publicAppId,jws:e.jws};case"standard":return{kind:t.AppID,appId:e.publicAppId};case"custom":{let{jws:o}=e,r=Om(o);if(typeof r.iss!="string")throw new Error("loom recordSDK: JWS is missing the issuer field");return{kind:t.JWS,appId:r.iss,jws:o}}default:{let o=e;throw console.warn("".concat(o," was provided as SDK args")),new Error("Misconfigured SDK: 'mode' needs to be defined as part of config. Example: { mode: 'standard', publicAppId: 'the api key' }")}}};import"raf/polyfill";import ua from"react";import CF from"react-dom";import{Provider as bF}from"react-redux";var Te=Y(J());import eF from"@emotion/styled";import tF from"focus-trap-react";import Pt,{useEffect as da}from"react";import{ErrorBoundary as rF}from"react-error-boundary";import{shallowEqual as oF}from"react-redux";import{serializeError as nF}from"serialize-error";import zf from"@emotion/styled";import Gt,{useState as vR,useRef as yR,useEffect as TR}from"react";import CR from"react-draggable";import{shallowEqual as bR}from"react-redux";var Gc={};je(Gc,{selectIsOnboardingComplete:()=>Vc,selectOnboarding:()=>pn,selectOnboardingStep:()=>wt,selectShouldSeeOnboarding:()=>jc,selectShouldSeeOnboardingEntrypoint:()=>Hc});import{createSelector as Zi}from"@reduxjs/toolkit";var pn=e=>e.onboarding,wt=Zi(pn,e=>e.onboardingStep),jc=Zi(pn,e=>e.shouldSeeOnboarding),Vc=Zi(pn,e=>e.isOnboardingComplete),Hc=Zi(pn,e=>e.shouldSeeOnboardingEntrypoint);import{keyframes as qA,css as eD}from"@emotion/react";import tD from"@emotion/styled";var Dm,rD=e=>qA(Dm||(Dm=I(["\n 100% {\n filter: drop-shadow(0px 0px 10px ",");\n }\n"])),e),Pm,Rm,ir=tD.div(Rm||(Rm=I(["\n animation: ",";\n"])),e=>e.visible?eD(Pm||(Pm=I(["\n "," 1s infinite alternate\n "])),rD(e.color||"rgba(97, 92, 245, 1)")):null);import{useSelector as fn}from"react-redux";import yD from"ua-parser-js";var Yc={};je(Yc,{selectAaId:()=>iD,selectDisableDesktopOnFirefox:()=>Xc,selectEnvironment:()=>aD,selectLoomSdkVersion:()=>sD,selectSdkEntryPointName:()=>$c,selectSdkExperimentalFeatures:()=>oD,selectSdkMode:()=>cD,selectSdkProductName:()=>zc,selectSettings:()=>Vt,selectSiteId:()=>nD});import{createSelector as sr}from"@reduxjs/toolkit";var Vt=e=>e.settings,zc=sr(Vt,e=>e.sdkConfig.productName),$c=sr(Vt,e=>e.sdkConfig.entryPointName),oD=sr(Vt,e=>e.sdkConfig.experimentalFeatures),nD=sr(Vt,({mode:e})=>e.mode==="first-party"?e.siteId:null),iD=sr(Vt,e=>e.aaid),sD=sr(Vt,e=>e.loomSdkVersion),aD=sr(Vt,e=>e.environment),cD=sr(Vt,e=>e.mode),Xc=sr(Vt,e=>e.sdkConfig.disableDesktopOnFirefox||!1);var Jc={};je(Jc,{selectDefaultWorkspace:()=>hr,selectDefaultWorkspaceId:()=>mD,selectDefaultWorkspaceSiteId:()=>fD,selectHasAIAddOn:()=>uD,selectIsTrialing:()=>lD,selectMembeRole:()=>dD,selectSiteIdFromWorkspaces:()=>gD,selectUpgradeUrl:()=>pD,selectVideoCount:()=>mn,selectWorkspacesFetched:()=>hD});import{createSelector as zr}from"@reduxjs/toolkit";var hr=e=>e.workspaces.defaultWorkspace||null,mn=zr(hr,e=>{var o,r,n;return((n=(r=(o=e==null?void 0:e.organization)==null?void 0:o.counts)==null?void 0:r.videos)==null?void 0:n.total_member_created_videos)||0}),lD=zr(hr,e=>{var t;return!!((t=e==null?void 0:e.organization)!=null&&t.is_trialing)}),dD=zr(hr,e=>e==null?void 0:e.member_role),uD=zr(hr,e=>{var t,o;return!!((o=(t=e==null?void 0:e.organization)==null?void 0:t.add_ons)!=null&&o.includes("AI"))}),pD=zr(hr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.upgrade_url}),mD=zr(hr,e=>e==null?void 0:e.id),fD=zr(hr,e=>{var t;return(t=e==null?void 0:e.organization)==null?void 0:t.site_id}),gD=e=>{let o=e.workspaces.workspaces.find(r=>!!r.organization.site_id&&(r.organization.status===null||r.organization.status===ti));if(o)return o.organization.site_id},hD=e=>e.workspaces.workspacesFetched;import{useEffect as ED,useState as SD}from"react";import{useSelector as vD}from"react-redux";var _m=e=>{let[t,o]=SD({width:0,height:0});return ED(()=>{let r=()=>{var i,s,a,c;return{width:(s=(i=e==null?void 0:e.current)==null?void 0:i.offsetWidth)!=null?s:0,height:(c=(a=e==null?void 0:e.current)==null?void 0:a.offsetHeight)!=null?c:0}},n=()=>{o(r())};return e.current&&o(r()),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[e]),t},Er=()=>{let e=vD(A.selectAlertMessages),t=e.length>0;return{alertMessages:e,isAlertMessageShowing:t}};var Mm=()=>window.localStorage.getItem("shouldSeeOnboarding"),at=e=>{window.localStorage.setItem("shouldSeeOnboarding",e)},wm=()=>{var o;let e=(o=new yD().getBrowser().name)!=null?o:"unknown",t=fn(Xc);(e==="Firefox"&&!t||e==="Safari")&&at("false")},gn=()=>{let{isAlertMessageShowing:e}=Er(),t=fn(Hc),o=fn(Vc);return!e&&o===!1&&t},ht=()=>{let e=window.localStorage.getItem("shouldSeeOnboarding"),t=fn(jc),o=fn(mn);return e!=="false"&&e!=="true"?(at(o<3?"true":"false"),o<3):e==="true"||t?!0:(!t||e==="false"||at("false"),!1)};import aR from"react";var us=Y(J());import fl from"@emotion/styled";import Ue from"react";import{useDispatch as eR,useSelector as xo}from"react-redux";import{Arrange as Df,Spacer as Pf,Icon as tR,Text as Rf,Button as rR}from"@loomhq/lens";import{SvgClose as oR}from"@loomhq/lens/icons/close";var il={};je(il,{selectAppStage:()=>tl,selectCameraBubbleSize:()=>Tn,selectCameraId:()=>wD,selectCanDisableCamera:()=>UD,selectCancelButtonClicked:()=>ol,selectDefaultCameraId:()=>xD,selectFirstCamera:()=>ND,selectFirstMicrophone:()=>kD,selectIsAudioEnabled:()=>FD,selectIsThereNoCameraOption:()=>BD,selectMediaDevicePermissions:()=>LD,selectMicrophoneId:()=>Bm,selectRestartButtonClicked:()=>nl,selectSDKAvailbleCameras:()=>rl,selectSDKMicrophones:()=>Um,selectSDKRecordingType:()=>km,selectVideoDurationLimit:()=>WD});var Nm=Y(J());import{createSelector as Et}from"@reduxjs/toolkit";var el={};je(el,{ACTIVE_RECORDING_STAGES:()=>_D,ALL:()=>RD,CAMERA_POSITION_BOTTOM_LEFT:()=>En,CLOSE_PRE_RECORDING_MENU:()=>AD,COUNTDOWN_SECTIONS_PER_SECOND:()=>Lm,COUNTDOWN_WAIT_TIME:()=>xm,COUNTDOWN_WAIT_TIME_PER_SECTION:()=>MD,END_RECORDING:()=>OD,MAX_Z_INDEX:()=>PD,NO_CAM:()=>ts,NO_CAM_MEDIA_DEVICE:()=>rs,NO_CAM_USER:()=>Qc,NO_MIC:()=>es,NO_MIC_MEDIA_DEVICE:()=>os,NO_MIC_USER:()=>Zc,NUM_AUDIO_BARS:()=>qc,OPEN_PRE_RECORDING_MENU:()=>ID,PAUSE_RECORDING:()=>CD,RESUME_RECORDING:()=>bD,START_RECORDING:()=>TD,UPDATE_TIME_ELAPSED:()=>DD,closePreRecordingMenu:()=>Sn,openOnboardingTutorial:()=>vn,openPreRecordingMenu:()=>Xr,updateMicrophone:()=>$r});var hn=Y(J());import{createAction as qi}from"@reduxjs/toolkit";var TD="start-recording",CD="pause-recording",bD="resume-recording",OD="end-recording",ID="open-pre-recording-menu",AD="close-pre-recording-menu",DD="update-time-elapsed",qc=7,PD=2147483647,En={x:0,y:0},RD=[En],_D=[hn.RecordingStage.Countdown,hn.RecordingStage.Paused,hn.RecordingStage.PostRecording,hn.RecordingStage.Recording],$r=qi("UPDATE_MICROPHONE"),Xr=qi("OPEN_PRE_RECORDING_MENU"),Sn=qi("CLOSE_PRE_RECORDING_MENU"),vn=qi("OPEN_ONBOARDING_TUTORIAL"),es="no_mic",ts="no_camera",Qc="".concat(ts,"_user"),Zc="".concat(es,"_user"),rs={deviceId:Qc,label:Qc},os={deviceId:Zc,label:Zc},xm=1200,Lm=4,MD=Math.floor(xm/Lm);var Yr=e=>e.recorder,yn=e=>e.recorderSettings,tl=Et(Yr,e=>e.appStage),km=Et(Yr,e=>e.sdkRecordingType),wD=Et(yn,e=>e.cameraId),xD=Et(yn,e=>e.defaultCameraId),rl=Et(yn,e=>e.sdkAvailableCameras),LD=Et(Yr,e=>e.mediaDevicePermissions),ND=e=>{let t=rl(e);return t.length>1?t[1].deviceId:t[0].deviceId},kD=e=>{let t=Um(e);return t.length>1?t[1].deviceId:t[0].deviceId},UD=e=>km(e)!==Nm.SDKRecordingType.CameraOnly,BD=e=>{let t=rl(e);return t.length===1&&t[0].deviceId.indexOf(ts)>-1},FD=e=>{let t=Bm(e);return t===void 0?!1:!(t.indexOf(es)>-1)},Um=Et(yn,e=>e.sdkMicrophones),Bm=Et(yn,e=>e.microphoneId),WD=Et(Yr,e=>e.videoDurationLimit),ol=Et(Yr,e=>e.cancelButtonClicked),nl=Et(Yr,e=>e.restartButtonClicked),Tn=Et(Yr,e=>e.cameraBubbleSize);var Do="0px 0px 20px rgba(0, 0, 0, 0.15), 0px 25px 30px rgba(0, 0, 0, 0.35)",Po="0px 0px 20px rgba(250, 250, 250, 0.05), 0px 25px 30px rgba(250, 250, 250, 0.05)",sl="cubic-bezier(0.2, 0.4, 0.1, 1)",al="cubic-bezier(0.1, 0.5, 0.1, 1)",Fm="cubic-bezier(0.19, 1, 0.22, 1)";var ns="\nbackground: none;\ncolor: inherit;\nborder: none;\npadding: 0;\nfont: inherit;\ncursor: pointer;\noutline: inherit;\ntext-align: inherit;";import HD from"@emotion/styled";import oe,{useEffect as GD,useRef as zD,useState as $D}from"react";import{useHotkeys as is}from"react-hotkeys-hook";import{useHover as XD}from"react-laag";import{Align as YD,Arrange as Cn,Button as jm,Container as Vm,IconButton as Ro}from"@loomhq/lens";import{SvgBlur as JD}from"@loomhq/lens/icons/blur";import{SvgPause as QD}from"@loomhq/lens/icons/pause";import{SvgPlay as ZD}from"@loomhq/lens/icons/play";import{SvgReplay as qD}from"@loomhq/lens/icons/replay";import{SvgRewind as eP}from"@loomhq/lens/icons/rewind";import{SvgStop as Hm}from"@loomhq/lens/icons/stop";import{SvgTrash as tP}from"@loomhq/lens/icons/trash";import rP from"@emotion/cache";import{CacheProvider as oP}from"@emotion/react";import ss,{useCallback as nP}from"react";import uf from"@emotion/styled";import{Container as sP}from"@loomhq/lens";import aP from"react";import{Tooltip as cP}from"@loomhq/lens";import Ht,{useState as uP}from"react";import{Dropdown as pP,Align as mP,Container as fP}from"@loomhq/lens";import gP from"@emotion/styled";import cl from"react";import{Icon as hP}from"@loomhq/lens";import{SvgVideoCam as EP}from"@loomhq/lens/icons/video-cam";import bP from"@emotion/styled";import _o from"react";import{Spacer as OP,Text as IP,Tooltip as AP}from"@loomhq/lens";import{intervalToDuration as DP}from"date-fns";import On from"@emotion/styled";import Re,{useState as UP}from"react";import{Container as gf,Icon as BP,Arrange as FP,IconButton as ll,Align as WP}from"@loomhq/lens";import{SvgClose as KP}from"@loomhq/lens/icons/close";import{SvgMoreHoriz as jP}from"@loomhq/lens/icons/more-horiz";import{SvgRecord as Zm}from"@loomhq/lens/icons/record";import M5 from"react";import{IconButton as x5}from"@loomhq/lens";import{SvgPalette as N5}from"@loomhq/lens/icons/palette";import XP from"@emotion/styled";import B5,{useEffect as F5}from"react";import{useLayer as K5,useHover as j5}from"react-laag";import{Icon as H5,Text as G5,IconButton as z5,Arrange as $5}from"@loomhq/lens";import{SvgClose as Y5}from"@loomhq/lens/icons/close";import{SvgSparkle as Q5}from"@loomhq/lens/icons/sparkle";import YP from"@emotion/styled";import tK from"react";import{Icon as oK,Align as nK}from"@loomhq/lens";import{SvgPalette as sK}from"@loomhq/lens/icons/palette";var Wm=Object.freeze,af=Object.defineProperty,KD=Object.defineProperties,jD=Object.getOwnPropertyDescriptors,as=Object.getOwnPropertySymbols,cf=Object.prototype.hasOwnProperty,lf=Object.prototype.propertyIsEnumerable,Km=(e,t,o)=>t in e?af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,Mo=(e,t)=>{for(var o in t||(t={}))cf.call(t,o)&&Km(e,o,t[o]);if(as)for(var o of as(t))lf.call(t,o)&&Km(e,o,t[o]);return e},dl=(e,t)=>KD(e,jD(t)),VD=(e,t)=>{var o={};for(var r in e)cf.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(e!=null&&as)for(var r of as(e))t.indexOf(r)<0&&lf.call(e,r)&&(o[r]=e[r]);return o},St=(e,t)=>Wm(af(e,"raw",{value:Wm(t||e.slice())})),iP=({children:e,emotionKey:t})=>{let[o,r]=ss.useState(null),n=nP(i=>{if(i&&!o){let s=rP({key:t,container:i});r(s)}},[o,t]);return ss.createElement("div",null,ss.createElement("div",{ref:n}),o&&ss.createElement(oP,{value:o},e))},df=iP,Gm,ul=uf(sP)(Gm||(Gm=St(["\n border: 0;\n outline: 4px solid rgba(255, 255, 255, 0.3);\n transition:\n width 300ms ease-in-out,\n padding-left 300ms ease-in-out;\n ","\n ","\n overflow: hidden;\n"])),e=>e.width&&"width: ".concat(e.width,";"),e=>e.leftPadding&&"padding-left: ".concat(e.leftPadding,";")),zm,pf=uf.div(zm||(zm=St(["\n width: 1px;\n background-color: var(--lns-color-border);\n margin-right: var(--lns-space-small);\n margin-left: var(--lns-space-small);\n"]))),lP=16,dP=2147483647,mf=()=>({finish:"Finish",pause:"Pause",resume:"Resume",restart:"Restart",blur:"Blur content",cancel:"Cancel",rewind:"Rewind & trim",cameraMultiChoice:"Choose camera",cameraSingleChoice:"Turn camera on"}),Jr=({hideTip:e,content:t,children:o,tooltipContainer:r,shortcut:n})=>{let i={zIndex:dP,container:r,triggerOffset:lP,shortcut:n};return e?o:aP.createElement(cP,dl(Mo({},i),{content:t}),o)},$m,SP=gP.button($m||($m=St(["\n background-color: transparent;\n border: none;\n appearance: none;\n cursor: pointer;\n padding: 0;\n width: 38px;\n height: 38px;\n position: relative;\n outline: none;\n transition: 0.6s background-color;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n border-radius: 50%;\n &:hover {\n transition: 0.3s background-color;\n background-color: var(--lns-color-backgroundHover);\n }\n &:active {\n transition: 0s background-color;\n background-color: var(--lns-color-backgroundActive);\n }\n &:disabled {\n color: orange;\n pointer-events: none;\n }\n &:before {\n content: '';\n width: 100%;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n border-radius: 50%;\n }\n &:focus::-moz-focus-inner {\n border: 0;\n }\n"]))),vP=e=>{var t=e,{altText:o,onClick:r,isDisabled:n}=t,i=VD(t,["altText","onClick","isDisabled"]);return cl.createElement(SP,Mo({"aria-label":o,onClick:r,disabled:n},i),cl.createElement(hP,{icon:cl.createElement(EP,null),size:3,color:n?"disabledContent":"white"}))},Xm=({onClick:e,isDisabled:t,dropdownOpen:o,tooltipContainer:r,onlyOneCamera:n})=>{let i=mf();return Ht.createElement(ul,{radius:"medium",borderSide:"all",className:"bgc:grey8",borderColor:"grey4","aria-label":"Recorder camera selector",width:"".concat(cs,"px"),height:"".concat(cs,"px")},Ht.createElement(mP,{alignment:"center"},Ht.createElement(Jr,{hideTip:t||o,tooltipContainer:r,content:n?i.cameraSingleChoice:i.cameraMultiChoice},Ht.createElement(vP,{altText:"Choose camera",isDisabled:t,onClick:e}))))},yP=e=>{let{showingDeviceSelector:t,deviceSelector:o,isDisabled:r,tooltipContainer:n}=e,i=o&&o.devices&&o.devices.length===1,[s,a]=uP(!1),c=!r&&!i;if(!t)return null;let u=o==null?void 0:o.devices.map(({name:m,id:p})=>({title:m,onClick:()=>{o.onSelected(p)},mouseDown:()=>{o.onSelected(p)}}));return Ht.createElement(Ht.Fragment,null,c?Ht.createElement(fP,{height:"".concat(cs,"px")},Ht.createElement(pP,{container:n,triggerOffset:8,menuPosition:"left",onOpenChange:a,trigger:Ht.createElement(Xm,Mo({onlyOneCamera:i,dropdownOpen:s},e)),options:u})):Ht.createElement(Xm,dl(Mo({},e),{onlyOneCamera:i,dropdownOpen:s,onClick:()=>o==null?void 0:o.onSelected(o==null?void 0:o.devices[0].id)})))},TP=yP;function CP({hoverProps:e,tipContent:t}){let o=Object.values(t);return dl(Mo({},e),{onMouseEnter:r=>{let n=r.target;o.includes(n.innerText)||e.onMouseEnter(r)}})}var PP=e=>DP({start:0,end:e*1e3}),Ym=(e,t)=>{let o=e;t&&(o=Math.max(t-e,0));let{hours:r,minutes:n,seconds:i}=PP(o),s=i!==void 0&&i<10?"0".concat(i):i,a=r&&n!==void 0&&n<10?"0".concat(n):n,c=r?"".concat(r,":"):"";return"".concat(c).concat(a,":").concat(s)},Jm,RP=bP(OP)(Jm||(Jm=St(["\n font-feature-settings: 'tnum';\n user-select: none;\n"]))),_P=({children:e,tooltipContainer:t,contents:o})=>o?_o.createElement(AP,{triggerOffset:20,keepOpen:!0,maxWidth:"fitContent",container:t,content:o},e):_o.createElement(_o.Fragment,null,e),MP=({elapsedTime:e,videoDurationLimit:t,tooltipContainer:o,recordingLimitTooltip:r,warning:n,isStopped:i})=>_o.createElement(_P,{contents:r,tooltipContainer:o},_o.createElement(RP,null,_o.createElement(IP,{size:"body-md",color:n?"warning":i?"bodyDimmed":"white",fontWeight:"bold"},Ym(t?t-e:e)))),wP="rgba(255, 219, 37, 0.3)",xP=32,cs=48,LP="8px",NP="16px",Qm,kP=HD.div(Qm||(Qm=St(["\n ","\n transition: opacity 300ms ease-in-out;\n width: max-content;\n"])),e=>e.visible?"opacity: 1;":"opacity: 0;"),bn=(e,t)=>{if(e&&t&&e[t]){let o=e[t];if(o)return o.split("+")}},ff=e=>{let{collapsible:t,withRestart:o,withBlur:r,isDisabled:n,isPaused:i,videoDurationLimit:s,elapsedTime:a,style:c,deviceSelector:u,showTimer:m,showEndRecordingButton:p,showRewindRecordingButton:d,shortCuts:l,tooltipContainer:f,recordingLimitTooltip:h,onEndRecording:v,onCancelRecording:S,onRestartRecording:y,onTogglePauseRecording:E,onBlurRecording:b,onRewindRecording:g,warning:C}=e,T=mf(),O=u&&u.show&&u.devices&&u.devices.length>0,[D,U]=XD(),w=zD(null),[N,j]=$D(100),z=!t||t&&D||t&&i||n;return GD(()=>{if(w.current){let H=m?w.current.offsetWidth+xP:cs;N!==H&&j(H)}},[n,a,m,N]),is((l==null?void 0:l.finish)||"",H=>{H.preventDefault(),H.stopPropagation(),v()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.pause)||"",H=>{H.preventDefault(),H.stopPropagation(),E()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.restart)||"",H=>{H.preventDefault(),H.stopPropagation(),y&&y()},{enabled:!0,keyup:!0}),is((l==null?void 0:l.cancel)||"",H=>{H.preventDefault(),H.stopPropagation(),S()},{enabled:!0,keyup:!0}),oe.createElement(df,{emotionKey:"bubble-controls"},oe.createElement(Vm,Mo({"aria-label":"Recorder controls",className:"theme-dark",style:c,width:"max-content"},CP({hoverProps:U,tipContent:T})),oe.createElement(Cn,{gap:"medium"},O&&oe.createElement(TP,{shortCuts:l,tooltipContainer:f,showingDeviceSelector:O,isDisabled:!1,deviceSelector:u}),oe.createElement(ul,{radius:"200",className:"pt:small pr:medium pb:small bgc:grey8",borderSide:"all",borderColor:C?wP:"grey4","aria-label":"Recorder controls - play pause",width:z?"100%":"".concat(N,"px"),leftPadding:z||m?NP:LP},oe.createElement(Cn,null,oe.createElement("div",{style:{width:"max-content"},ref:w},oe.createElement(Cn,{gap:"xsmall"},p&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.finish,shortcut:bn(l,"finish")},i?oe.createElement(Ro,{altText:"End Recording",icon:oe.createElement(Hm,null),"data-testid":"start-finish-button",isDisabled:n,onClick:()=>v(),iconColor:"white"}):oe.createElement(jm,{"aria-label":"End Recording",variant:"record",icon:oe.createElement(Hm,null),"data-testid":"start-finish-button",isDisabled:n,onClick:()=>v()})),oe.createElement(Jr,{hideTip:n,tooltipContainer:f,content:i?T.resume:T.pause,shortcut:i?bn(l,"resume"):bn(l,"pause")},i?oe.createElement(jm,{"aria-label":"Play Recording",variant:"primary",icon:oe.createElement(ZD,null),isDisabled:n,onClick:E}):oe.createElement(Ro,{altText:"Pause Recording",icon:oe.createElement(QD,null),isDisabled:n,onClick:E,iconColor:"white"})),d&&oe.createElement(Jr,{hideTip:n,tooltipContainer:f,content:T.rewind},oe.createElement(Ro,{altText:"Rewind and Trim Recording",icon:oe.createElement(eP,null),isDisabled:n,onClick:g,iconColor:"white"})),m&&oe.createElement(YD,{alignment:"center"},oe.createElement(Vm,{paddingX:"small"},oe.createElement(MP,{videoDurationLimit:s,elapsedTime:a,tooltipContainer:f,recordingLimitTooltip:h,warning:C,isStopped:n||i}))))),oe.createElement(kP,{visible:z},oe.createElement(Cn,null,(m||p)&&oe.createElement(pf,{style:{height:"28px"}}),oe.createElement(Cn,{gap:"xsmall"},r&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.blur},oe.createElement(Ro,{altText:"Blur Content",icon:oe.createElement(JD,null),size:"medium",iconColor:"white",isDisabled:n,onClick:b})),o&&oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.restart,shortcut:bn(l,"restart")},oe.createElement(Ro,{altText:"Restart Recording",icon:oe.createElement(qD,null),size:"small",iconColor:"white",isDisabled:n,onClick:y})),oe.createElement(Jr,{tooltipContainer:f,hideTip:n,content:T.cancel,shortcut:bn(l,"cancel")},oe.createElement(Ro,{altText:"Cancel Recording",icon:oe.createElement(tP,null),size:"medium",iconColor:"white",isDisabled:n,onClick:S,"data-testid":"cancel-button"}))))))))))},In="192px",pl="344px",An=(e=>(e[e.small=1]="small",e[e.medium=2]="medium",e[e.large=3]="large",e))(An||{}),qm,VP=On.div(qm||(qm=St(["\n width: 100%;\n height: 100%;\n display: hidden;\n"]))),ef,HP=On(gf)(ef||(ef=St(["\n width: ",";\n opacity: ",";\n transition: ",";\n padding: ",";\n"])),e=>e.showControls?"auto":"0",e=>e.showControls?"1":"0",e=>e.showControls?"opacity 300ms ease-in-out":"",e=>e.showControls?"0 var(--lns-space-xsmall)":""),tf,GP=On(gf)(tf||(tf=St(["\n width: ",";\n opacity: ",";\n transition: ",";\n pointer-events: none;\n"])),e=>e.showControls?"0":"auto",e=>e.showControls?"0":"1",e=>e.showControls?"":"opacity 300ms ease-in-out"),rf,zP=On(pf)(rf||(rf=St(["\n height: 20px;\n margin: 0 var(--lns-space-xsmall);\n"]))),of,$P=On.fieldset(of||(of=St(["\n border: none;\n display: flex;\n align-items: center;\n padding: 0;\n"]))),hf=({camSize:e,turnCameraOff:t,setSize:o,bubbleResizable:r=!0,cameraOffDisabled:n,children:i})=>{let[s,a]=UP(!1);return Re.createElement(df,{emotionKey:"cam-settings"},Re.createElement(VP,{onMouseOver:()=>a(!0),onMouseLeave:()=>a(!1)},Re.createElement(WP,{alignment:"bottomCenter"},Re.createElement(ul,{radius:"150",padding:"xsmall",borderSide:"all",borderColor:"grey4",className:"flex items:center shadow:medium theme-dark bgc:grey8",width:"max-content"},Re.createElement(GP,{showControls:s},Re.createElement(BP,{icon:Re.createElement(jP,null),color:"bodyDimmed"})),Re.createElement(HP,{className:"items:center",showControls:s},Re.createElement(FP,{gap:"xsmall"},Re.createElement(ll,{disabled:n,altText:"Camera off",size:"small",icon:Re.createElement(KP,null),onClick:()=>t()}),Re.createElement($P,null,Re.createElement("legend",{className:"srOnly"},"Select video screen size"),r?Re.createElement(Re.Fragment,null,Re.createElement(zP,null),Re.createElement(ll,{altText:"Resize small",icon:Re.createElement(Zm,null),iconColor:"white",size:"small",onClick:()=>o(In),role:"radio","aria-label":"Resize small","aria-checked":e===1}),Re.createElement(ll,{altText:"Resize medium",icon:Re.createElement(Zm,null),iconColor:"white",onClick:()=>o(pl),role:"radio","aria-label":"Resize medium","aria-checked":e===2})):null,i)))))))};var nf,Z5=XP.div(nf||(nf=St(["\n background-color: var(--lns-color-grey8);\n border-radius: var(--lns-radius-medium);\n width: 290px;\n height: auto;\n padding: 8px 12px;\n border: 2px solid var(--lns-color-upgrade);\n filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.2));\n"])));var sf,aK=YP.div(sf||(sf=St(["\n background-color: var(--lns-color-upgrade);\n border-radius: var(--lns-radius-medium);\n width: 36px;\n height: 28px;\n filter: drop-shadow(0px 6px 12px rgba(0, 0, 0, 0.2));\n"])));var ls={welcomeToLoom:{emoji:{symbol:"\u{1F44B}",placement:"left"},title:"Welcome to Loom",body:"Easily record and share video messages with your teammates to supercharge productivity. Take a quick tour.",step:0},checkYourSettings:{emoji:{symbol:"\u{1F449}",placement:"right"},title:"Check your settings",body:"Choose what you want to share and confirm that your mic and cam are on.",step:1},learnTheControls:{emoji:{symbol:"\u23F8\uFE0F",placement:"left"},title:"Learn the controls",body:"While recording, pause freely to catch a breath or stop to end the recording.",step:2},positionSelfieBubble:{emoji:{symbol:"\u{1F448}",placement:"left"},title:"Position your selfie bubble",body:"The window to your personality (lookin\u2019 good)! Drag anywhere on the screen.",step:3},readyToRecord:{emoji:{symbol:"\u{1F3AC}",placement:"left"},title:"You\u2019re ready to record",body:"Record a walkthrough or give feedback to a teammate. Be yourself, uhms and all.",step:4},shareYourVideo:{emoji:{symbol:"\u{1F929}",placement:"left"},title:"Share your video instantly",body:"Your viewers will love this. We\u2019ll email you when you get a view.",step:5}},Ef=ne(x({},ls),{welcomeToLoom:{emoji:{symbol:"\u{1F44B}",placement:"left"},title:"Welcome to Loom",body:"Easily record and share videos with your teammates and customers to resolve work more efficiently. Take a quick tour.",step:0}}),Sf=(e,t)=>{switch(e){case"checkYourSettings":return"bottomToRightSpiral";case"learnTheControls":return"topToLeftStraight";case"positionSelfieBubble":return t===In?"bottomToLeftSpiralSmall":"bottomToLeftSpiralLarge";case"readyToRecord":return"leftToRightSpiral";case"shareYourVideo":return"leftToBottomSpiral";default:return null}},ds={bottomToRightSpiral:{linePath:"M8.24835 79.609 C-5.36647 59.6687 2.30275 28.8155 36.6393 26.9847 C36.7816 26.9771 36.9244 26.972 37.0678 26.9693 C43.8636 26.8406 51.8016 32.1252 53.1679 37.4535 C54.723 43.5169 47.046 49.113 39.7143 46.0543 C35.7896 44.4167 33.6842 40.1952 33.4111 36.9419 C33.1154 33.4169 34.8098 30.0472 37.0678 26.9693 C38.4856 25.0366 40.1256 23.219 41.6345 21.5503 C56.8588 4.71317 94.4254 0.0911865 128.467 14.6565",arrowPath:"M111.3 1.70453 C116.732 5.36409 123.916 10.4099 128.467 14.6565 C128.992 15.1457 123.536 16.8163 123.275 16.8763 C117.553 18.1975 111.744 18.8827 105.798 19.4808",height:82,width:131,marginTopY:110,marginLeftX:-50},topToLeftStraight:{linePath:"M75.1661 2.00002 C75.1661 21.0154 35.726 36.2092 2.49173 28.9885",arrowPath:"M21.4479 21.0154 C16.3298 22.5195 11.3521 24.0776 6.5894 26.1813 C6.37216 26.277 1.92174 28.6443 2.49173 28.9885 C7.43746 31.9774 14.8827 35.2366 20.4776 37.564",height:40,width:77,marginLeftX:200,marginTopY:-50},bottomToLeftSpiralSmall:{linePath:"M104.04 57.0825 C108.834 36.4425 95.7882 9.53351 70.8856 13.8639C70.7824 13.8819 70.6794 13.9022 70.5767 13.9248C65.7054 14.9957 61.3515 21.2232 61.6883 26.3411C62.0715 32.1651 68.9143 35.9461 73.3836 31.8628C75.776 29.6768 76.2375 25.4431 75.6323 22.4165C74.9763 19.137 72.9412 16.348 70.5767 13.9248C69.0919 12.4031 67.4771 11.0257 65.9923 9.76172C51.0115 -2.9918 23.1224 -0.652111 2.46041 18.6397",arrowPath:"M11.502 3.7771C8.53341 8.07819 4.65738 13.9552 2.46041 18.6397C2.2071 19.1794 6.50283 19.7547 6.70343 19.764C11.1035 19.9727 15.4086 19.5839 19.7901 19.0914",height:59,width:107,marginTopY:-260,transformRotateDeg:-35,marginLeftX:-50},bottomToLeftSpiralLarge:{linePath:"M104.04 57.0825 C108.834 36.4425 95.7882 9.53351 70.8856 13.8639C70.7824 13.8819 70.6794 13.9022 70.5767 13.9248C65.7054 14.9957 61.3515 21.2232 61.6883 26.3411C62.0715 32.1651 68.9143 35.9461 73.3836 31.8628C75.776 29.6768 76.2375 25.4431 75.6323 22.4165C74.9763 19.137 72.9412 16.348 70.5767 13.9248C69.0919 12.4031 67.4771 11.0257 65.9923 9.76172C51.0115 -2.9918 23.1224 -0.652111 2.46041 18.6397",arrowPath:"M11.502 3.7771C8.53341 8.07819 4.65738 13.9552 2.46041 18.6397C2.2071 19.1794 6.50283 19.7547 6.70343 19.764C11.1035 19.9727 15.4086 19.5839 19.7901 19.0914",height:59,width:107,marginTopY:-300},leftToRightSpiral:{linePath:"M2.92465 47.9747 C7.68108 57.4814 19.0966 64.596 19.6791 64.8341 C31.4045 71.7757 46.3032 67.407 53.4746 57.2472 C56.5452 52.8973 57.8687 42.4627 49.8468 42.5899 C42.6464 42.704 36.8747 49.8534 35.7604 56.5115 C33.4063 70.5766 44.3582 75.5396 56.5939 72.7565 C70.1497 69.6731 79.6218 59.9026 86.2415 48.3773",arrowPath:"M73.8982 50.234C79.3046 51.2782 85.1801 47.4206 88.6972 43.5363C86.7353 47.9579 87.0183 53.2674 88.6046 57.7265C89.0875 59.0846 89.5005 60.4667 90.4755 61.567",height:97,width:99,marginLeftX:50,marginTopY:350},leftToBottomSpiral:{linePath:"M1.85275 18.797 C14.6122 1.26226 44.7678 -6.38195 58.8353 16.1415C58.8936 16.2348 58.9499 16.3295 59.0043 16.4256C61.5812 20.9807 59.7687 28.564 55.536 31.709C50.7194 35.2879 42.9719 32.4115 43.029 26.166C43.0598 22.8227 46.0427 19.6374 48.8303 18.0977C51.851 16.4296 55.455 16.1758 59.0043 16.4256C61.233 16.5825 63.4401 16.9379 65.4676 17.2665C85.9244 20.5811 103.639 44.133 103.051 73.2826",arrowPath:"M108.323 56.2482C107.044 61.4554 105.17 68.4284 103.051 73.2826C102.807 73.842 99.348 70.8379 99.2002 70.6859C95.9541 67.3552 93.2411 63.7012 90.5556 59.9178",height:75,width:110,marginLeftX:310,marginTopY:-70}};import{keyframes as JP}from"@emotion/react";import ml from"@emotion/styled";import wo from"react";var Tf,QP=ml.div(Tf||(Tf=I(["\n ",";\n"])),e=>"\n position: absolute;\n z-index: 1000; // unaffected by drop shadows of other components\n margin-left: ".concat(e.marginLeftX?"".concat(e.marginLeftX,"px"):"0px",";\n margin-top: ").concat(e.marginTopY?"".concat(e.marginTopY,"px"):"0px",";\n transform: rotate(").concat(e.transformRotateDeg?"".concat(e.transformRotateDeg,"deg"):"0deg",");\n ")),Cf,If=JP(Cf||(Cf=I(["\nto {\n stroke-dashoffset: 0;\n}"]))),ZP=({className:e,type:t})=>wo.createElement("path",{className:e,d:ds[t].linePath,stroke:"white",strokeWidth:"3"}),bf,vf=ml(ZP)(bf||(bf=I(["\n stroke-dasharray: 400;\n stroke-dashoffset: 400;\n animation: "," 1.2s ease forwards;\n"])),If),qP=({className:e,type:t})=>wo.createElement("path",{className:e,d:ds[t].arrowPath,stroke:"white",strokeWidth:"3",strokeMiterlimit:"1.5"}),Of,yf=ml(qP)(Of||(Of=I(["\n stroke-dasharray: 200;\n stroke-dashoffset: 200;\n animation: "," 1s ease forwards;\n animation-delay: 0.55s;\n"])),If);function Af({type:e}){let{height:t,width:o,marginLeftX:r,marginTopY:n,transformRotateDeg:i}=ds[e];return wo.createElement(QP,{marginLeftX:r,marginTopY:n,transformRotateDeg:i},wo.createElement("svg",{width:o,height:t,viewBox:"0 0 ".concat(o," ").concat(t),fill:"none",xmlns:"http://www.w3.org/2000/svg"},wo.createElement(vf,{className:vf,type:e}),wo.createElement(yf,{className:yf,type:e})))}var _f,nR=fl.div(_f||(_f=I(["\n background-color: #eff0ff;\n border-radius: 32px;\n min-height: 120px;\n max-height: 180px;\n padding: var(--lns-space-medium);\n width: 302px;\n pointer-events: all;\n z-index: 1;\n box-shadow: ",";\n"])),e=>e.withDarkMode?Po:Do),Mf,iR=fl.div(Mf||(Mf=I(["\n width: 14px;\n height: 4px;\n border-radius: 2px;\n background-color: ",";\n"])),e=>e.shouldFill?"#615CF5":"#B2B3F1"),wf,sR=fl.div(wf||(wf=I(["\n display: inline-flex;\n margin-right: var(--lns-space-xsmall);\n"]))),vt=({step:e})=>{let t=eR(),o=xo(wt),r=xo(zc),n=xo($c),i=xo(A.selectShouldSeeOnboardingEntrypoint),s=ht(),a=xo(tl),c=xo(Tn),u=()=>{t(R.setShouldSeeOnboarding(!1)),at("false"),o!=="readyToRecord"?(t(R.setShouldSeeOnboardingEntrypoint(!0)),t(R.setIsOnboardingComplete(!1)),t(_.trackAnalytics({event:ac,properties:{step:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))):t(_.trackAnalytics({event:wi,properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},m=()=>{t(R.updateOnboardingStep()),o==="readyToRecord"?t(_.trackAnalytics({event:wi,properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})):t(_.trackAnalytics({event:cc,properties:{step:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},p=ls[o];if(n==="jsmIssueView_customerReply_crossflow"&&(p=Ef[o]),!s||i||o!==e||a===us.RecordingStage.PostRecording&&o!=="shareYourVideo"||a!==us.RecordingStage.PreRecording&&a!==us.RecordingStage.PostRecording)return null;let d=p==null?void 0:p.emoji.symbol,l=p==null?void 0:p.emoji.placement,f=p==null?void 0:p.title,h=p==null?void 0:p.body,v=p==null?void 0:p.step,S=Object.keys(ls).map((O,D)=>D!==0&&D!=5?Ue.createElement(sR,{key:D},Ue.createElement(iR,{key:D,shouldFill:v>=D})):null),y=()=>o!=="shareYourVideo"?Ue.createElement(Ue.Fragment,null,Ue.createElement(Pf,{bottom:"small"}),Ue.createElement(Df,{columns:["4fr","auto"]},Ue.createElement("div",null,S),Ue.createElement(rR,{style:{cursor:"pointer"},variant:"primary",autoFocus:!0,onClick:m},o==="readyToRecord"?"Close":"Next"))):null,E=()=>{switch(o){case"welcomeToLoom":return"200px";case"checkYourSettings":return"205px";case"learnTheControls":return"-220px";case"positionSelfieBubble":return"-220px";case"readyToRecord":return"225px";default:return"0px"}},b=()=>{switch(o){case"welcomeToLoom":return"-225px";case"checkYourSettings":return"-225px";case"learnTheControls":return"25px";case"positionSelfieBubble":return"25px";case"readyToRecord":return"-225px";default:return"0px"}},g=()=>{if(o!=="shareYourVideo")return"absolute"},C=()=>{if(o==="shareYourVideo")return{display:"flex",position:"absolute",zIndex:2,bottom:0,right:0,alignItems:"end",marginBottom:"15px",marginRight:"180px",gap:"10px"}},T=Sf(o,c);return Ue.createElement("div",{style:C()},Ue.createElement("div",null,Ue.createElement(nR,{withDarkMode:!1,style:{marginTop:E(),marginLeft:b(),position:g()}},Ue.createElement(Df,{justifyContent:"space-between"},Ue.createElement(Rf,{color:"#3D2E7C",fontWeight:"bold",size:"body-lg"},l==="right"?"".concat(f," ").concat(d):"".concat(d," ").concat(f)),Ue.createElement(tR,{style:{cursor:"pointer"},color:"#6C6684",icon:Ue.createElement(oR,null),onClick:u})),Ue.createElement(Pf,{bottom:"small"}),Ue.createElement(Rf,{color:"#3D2E7C"},h),Ue.createElement(y,null)),T&&Ue.createElement(Af,{type:T})))};var xf=()=>aR.createElement(vt,{step:"learnTheControls"});import cR from"react";var Lf=()=>cR.createElement(vt,{step:"positionSelfieBubble"});import Uf,{useState as dR}from"react";import{useDispatch as uR,useSelector as Dn}from"react-redux";var Pn=Y(J());var Qr=Y(J());import{useEffect as lR,useState as gl}from"react";var{updateTimeElapsed:Nf}=R,kf=()=>{let[e,t]=gl(0),[o,r]=gl(0),[n,i]=gl(0),{videoDurationLimit:s,timeElapsed:a,appStage:c}=P(({recorder:{appStage:m,timeElapsed:p,videoDurationLimit:d}})=>({videoDurationLimit:d,timeElapsed:p,appStage:m})),u=te();return lR(()=>{let m=()=>(performance.now()-(e||0)-n)/1e3,p=c===Qr.RecordingStage.Recording&&setTimeout(()=>u(Nf(m())),1e3);return c===Qr.RecordingStage.Recording&&e===0&&t(performance.now()),c===Qr.RecordingStage.Paused&&o===0&&r(performance.now()),c===Qr.RecordingStage.Recording&&o!==0&&(i(n+(performance.now()-o)),r(0)),[Qr.RecordingStage.Recording,Qr.RecordingStage.Paused].includes(c)||(u(Nf(0)),t(0),i(0)),s!=null&&s!==0&&a>=s&&u(_.endRecording({fromError:!1,fromRecordingLimit:!0,reason:Hr.RecordingLimit})),()=>{p&&clearTimeout(p)}},[c,a,u,s,e,o,n]),a};var Bf=e=>{let t=uR(),o=kf(),{appStage:r}=Dn(l=>l.recorder),{sessionId:n}=Dn(l=>l.previewRecording),{videoDurationLimit:i}=Dn(({recorder:{videoDurationLimit:l}})=>({videoDurationLimit:l})),s=Dn(A.selectSdkProductName),a=Dn(A.selectSdkEntryPointName),u=navigator.platform.toUpperCase().indexOf("MAC")>=0||"unknown"?"ctrl":"alt",[m,p]=dR(null),d=![Pn.RecordingStage.Recording,Pn.RecordingStage.Paused].includes(r);return Uf.createElement("div",{ref:l=>p(l)},Uf.createElement(ff,x({showEndRecordingButton:!0,isDisabled:d,isPaused:r===Pn.RecordingStage.Paused,videoDurationLimit:i||0,elapsedTime:o,withRestart:!0,shortCuts:{finish:"".concat(u,"+shift+L"),pause:"".concat(u,"+shift+P"),resume:"".concat(u,"+shift+P"),restart:"".concat(u,"+shift+R"),cancel:"".concat(u,"+shift+C")},tooltipContainer:()=>(m==null?void 0:m.getRootNode()).querySelector("#loom-sdk-tooltip-mount-point"),onRestartRecording:()=>{t(_.pauseRecording()),t(R.updateRestartButtonClicked(!0)),t(_.trackAnalytics({event:ec,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}}))},onEndRecording:()=>{t(_.trackAnalytics({event:Qa,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(_.endRecording({fromError:!1,fromRecordingLimit:!1,reason:Hr.RecordingCompleted}))},onTogglePauseRecording:()=>{r===Pn.RecordingStage.Paused?t(_.trackAnalytics({event:qa,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})):t(_.trackAnalytics({event:Za,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(_.togglePauseRecording())},onCancelRecording:()=>{t(_.pauseRecording()),t(_.trackAnalytics({event:tc,properties:{videoId:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),t(R.updateCancelButtonClicked(!0))}},e)))};import Kf from"@emotion/styled";import Sr,{useState as pR,useEffect as mR}from"react";var jf=Y(J());import{Arrange as fR}from"@loomhq/lens";var Ff,gR=Kf.div(Ff||(Ff=I(["\n border-radius: 50%;\n cursor: move;\n width: ",";\n height: ",";\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari hack */\n"])),e=>e.size,e=>e.size),Wf,hR=Kf.div(Wf||(Wf=I(["\n width: 100%;\n height: 35%;\n bottom: -","px;\n position: absolute;\n visibility: ",";\n opacity: ",";\n transition: ",";\n"])),12,e=>e.showSettings?"visible":"hidden",e=>e.showSettings?"1":"0",e=>e.showSettings?"visibility 0s linear 0ms, opacity 300ms":"visibility 0s linear 300ms, opacity 300ms"),ER=({deviceId:e,mode:t,sdkAvailableCameras:o})=>{var i,s;let{hostUrl:r}=P(({recorder:a})=>a);if(t.mode==="pending")return Sr.createElement("div",null,"Loading");let n=new URL("".concat(r,"/integrations-app/sdk/camera"));return n.searchParams.set("device_id",e!=null?e:"undefined"),n.searchParams.set("api_key",t.publicAppId),n.searchParams.set("device_label",e&&(s=(i=o.find(a=>a.deviceId===e))==null?void 0:i.label)!=null?s:"undefined"),t.mode==="custom"&&n.searchParams.set("jws",t.jws),Sr.createElement("iframe",{id:"iframe-bubble",allow:"camera",style:{pointerEvents:"none",border:"none",width:"100%",height:"100%"},title:"Camera feed",src:n.toString()})},SR=e=>{switch(e){case In:return An.small;case pl:return An.medium;default:return An.small}},Vf=({onCameraClosed:e})=>{let t=P(Tn),o=SR(t),[r,n]=pR(!1),{settings:{mode:i,sdkConfig:{bubbleResizable:s}},recorderSettings:{cameraId:a,defaultCameraId:c,sdkAvailableCameras:u},recorder:{appStage:m}}=P(h=>h),p=te(),d=h=>{p(R.updateCameraBubbleSize(h))},l=a||c;function f(){m===jf.RecordingStage.Recording&&document.visibilityState==="hidden"&&p(R.onTabChange({}))}return mR(()=>(document.addEventListener("visibilitychange",f),()=>{document.removeEventListener("visibilitychange",f)}),[m]),i.mode==="pending"?Sr.createElement("div",null,"Loading"):l===be.NO_CAM_USER?null:Sr.createElement(fR,{autoFlow:"row",onMouseOver:()=>n(!0),onMouseLeave:()=>n(!1)},Sr.createElement(gR,{size:t,className:"handle overflow:hidden flex items:center justify:center shadow:small"},Sr.createElement(ER,{deviceId:l,mode:i,sdkAvailableCameras:u})),Sr.createElement(hR,{"aria-label":"Camera bubble settings",showSettings:r},Sr.createElement(hf,{setSize:d,bubbleResizable:s,turnCameraOff:()=>{p(R.turnOffCamera()),e()},camSize:o})))};var Hf,OR=zf.div(Hf||(Hf=I(["\n position: fixed;\n bottom: ","px;\n left: ","px;\n z-index: ",";\n"])),28,16,2147483646),Gf,IR=zf.div(Gf||(Gf=I(["\n display: ",";\n pointer-events: all;\n"])),e=>e.hideCamera?"none":"block"),ms=()=>{let{x:e,y:t}=P(({recorder:v})=>v.bubblePosition,bR),[o,r]=vR({x:e,y:t}),n=te(),{cameraEnabled:i,isPictureInPictureEnabled:s}=P(({recorderSettings:v})=>v),c=P(A.selectCameraId)==="no_camera_user",u=yR(null),{width:m,height:p}=_m(u),d=ht(),l=P(wt);TR(()=>{r({x:e,y:t})},[e,t]);let f=window.innerWidth-m-2*16,h=-window.innerHeight+p+(2*16+12);return Gt.createElement(OR,{id:"camera-with-controls","aria-label":"Camera with controls",ref:u,className:"flex items:flexEnd"},Gt.createElement(CR,{position:o,bounds:{left:0,bottom:0,right:f,top:h},onStart:(v,{x:S,y})=>{Ve.activeButton.emit("bubble-drag-start",{x:S,y})},onStop:(v,{x:S,y})=>{n(R.updateBubblePosition({x:S,y})),Ve.activeButton.emit("bubble-drag-end",{x:S,y})},handle:".handle",onDrag:(v,{x:S,y})=>{r({x:S,y}),Ve.activeButton.emit("bubble-move",{x:S,y})}},Gt.createElement(ir,{"aria-label":"Camera bubble",visible:d&&l==="positionSelfieBubble"},Gt.createElement(IR,{hideCamera:s},i&&Gt.createElement(Vf,{onCameraClosed:()=>r({x:0,y:0})})))),Gt.createElement("div",{style:{transform:"translate(".concat(o.x,"px,").concat(o.y,"px)"),marginLeft:"-0.5rem",marginBottom:"-".concat(12,"px"),pointerEvents:"all"}},Gt.createElement(xf,null),Gt.createElement(Lf,null)),Gt.createElement(ir,{visible:d&&l==="learnTheControls"},Gt.createElement(Bf,{showTimer:!0,style:{transform:"translate(".concat(o.x,"px,").concat(o.y,"px)"),marginLeft:c?"1.25rem":"-0.25rem",marginBottom:"-".concat(12,"px"),pointerEvents:"all"}})))};import{useEffect as El}from"react";import AR from"ua-parser-js";var fs=(e=>(e.OPEN_PREVIEW_MODAL="OPEN_PREVIEW_MODAL",e.INITIATE_LOOM_RECORDER_FROM_SDK="initiate-loom-recorder-from-sdk",e.INITIATE_LOOM_RECORDER_FROM_SDK_CONFIRMATION="initiate-loom-recorder-from-sdk-confirmation",e))(fs||{}),Zr=(e=>(e.INSTALLED="installed",e.NOT_INSTALLED="not_installed",e.NOT_ROLLED_OUT="not_rolled_out",e.NOT_SUPPORTED="not_supported",e.UNKNOWN="unknown",e))(Zr||{});var $f=()=>{let e=te(),t=P(A.selectCascadingRecordersFeatureFlagValue);return El(()=>{t&&window.addEventListener("message",o=>{if(!(o.source!=window||!o.data))if(o.data.type==fs.OPEN_PREVIEW_MODAL){let{videoDetails:r}=o.data;e(_.endCascadedRecording({videoDetails:r}))}else o.data.type==fs.INITIATE_LOOM_RECORDER_FROM_SDK_CONFIRMATION&&e(_.openChromeExtensionSuccess())})},[e,t]),null},Xf="loomDesktop://cascadingRecordersTabUuid=",Yf=()=>{let e=te(),t=P(A.selectShouldOpenDesktopApp),o=P(A.selectDesktopTabUuid),r=P(A.selectUserId);El(()=>{t&&o&&r&&(DR(e,o,r),e(R.updateShouldOpenDesktopApp(!1)))},[e,t,o,r])},DR=(e,t,o)=>{var s;let r=(s=new AR().getBrowser().name)!=null?s:"unknown",n=r==="Safari";r==="Firefox"&&PR(e,t,o),n&&RR(e,t,o)},PR=(e,t,o)=>{setTimeout(()=>{document.hasFocus()?e(_.desktopAppStatus({status:Zr.NOT_INSTALLED})):e(_.desktopAppStatus({status:Zr.INSTALLED}))},500),window.location.href=Xf+t+"&sdkUserId=".concat(o)},RR=(e,t,o)=>{let s=document.activeElement,a=!1,c=!1,u=!1;s&&(s.onfocus=()=>{new Date().getTime()-m<1e4&&(a=!0,setTimeout(()=>{document.hasFocus()&&!u?(e(_.desktopAppStatus({status:Zr.NOT_INSTALLED})),c=!0):!document.hasFocus()&&!c&&(e(_.desktopAppStatus({status:Zr.INSTALLED})),u=!0)},500))},s.onblur=()=>{new Date().getTime()-m<250&&!document.hasFocus()&&!a&&!c&&(e(_.desktopAppStatus({status:Zr.INSTALLED})),u=!0)});let m=new Date().getTime();window.location.href=Xf+t+"&sdkUserId=".concat(o,"&fromSafari=true")},Jf=()=>{let e=te(),t=P(A.selectIsUserLoggedIn),o=P(A.selectDesktopTabUuid),r=P(A.selectDesktopAppInstalled);El(()=>{t&&r&&o&&e(_.listenForDesktopVideo())},[e,t,r,o])};var Fn=Y(J());import _x from"@emotion/styled";import no from"react";import{useHotkeys as Mx}from"react-hotkeys-hook";import _R from"react";var Qf=()=>_R.createElement(vt,{step:"checkYourSettings"});import MR from"react";var Zf=()=>MR.createElement(vt,{step:"readyToRecord"});import wR from"react";var qf=()=>wR.createElement(vt,{step:"welcomeToLoom"});var ue=Y(J());import{css as Qt,keyframes as CS}from"@emotion/react";import vx from"@emotion/styled";import Be,{useEffect as Ql,useState as iS}from"react";import{useDispatch as bS}from"react-redux";var xt=Y(J());import{useEffect as NR}from"react";import{useSelector as ar}from"react-redux";var ig=()=>{let e=te(),t=ar(A.selectEnvironment),o=ar(A.selectLoomSdkVersion),r=ar(A.selectUserId),n=ar(A.selectAtlassianUserId),i=ar(A.selectDefaultWorkspaceId),s=ar(A.selectSiteIdFromWorkspaces),a=ar(A.selectSiteId),c=ar(A.selectSdkProductName),u=!!n,m=ar(A.selectSdkMode),p=m.mode==="first-party",d=p&&a?a.toString():u&&s?s.toString():"",l=d?"atlassian":"loom";NR(()=>{let f,h=()=>{var N,j,z,H,de;if(!r&&!n)return;let{default:v,envType:S,userType:y,tenantType:E,productEmbedType:b}=ng(),g={[xt.Environment.Production]:S.PROD,[xt.Environment.Development]:S.DEV,[xt.Environment.Staging]:S.STAGING,[xt.Environment.Testbench]:S.LOCAL},T={atlassian:{userIdType:y.ATLASSIAN_ACCOUNT,userId:n,tenantId:d,tenantIdType:E.CLOUD_ID},loom:{userIdType:y.LOOM,userId:r==null?void 0:r.toString(),tenantId:(N=i==null?void 0:i.toString())!=null?N:"",tenantIdType:E.LOOM_ORG_ID}}[l],O=g[t],D={embeddedType:p?b.FIRST_PARTY:b.THIRD_PARTY,embeddedFromProduct:(j=c==null?void 0:c.toString())!=null?j:"",embeddedFromTopLevelDomain:document.referrer},U=x({env:O,product:"loom",source:"record-sdk",version:o,origin:"web",platform:"web",locale:"en-US"},D),w={useLegacyUrl:!0,logger:{debug:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Debug})),log:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Info})),warn:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Warning})),error:(ce,M)=>e(_.sendDatadogLog({message:ce,context:M,logLevel:xt.LogLevel.Error}))}};f=new v(U,w),f.setTenantInfo(T.tenantIdType,T.tenantId),f.setUserInfo(T.userIdType,(z=T.userId)!=null?z:""),f.setUIViewedAttributes(x({userIdType:T.userIdType,userId:T.userId,tenantType:T.tenantIdType,tenantId:T.tenantId,loomUserId:(H=T.userId)==null?void 0:H.toString(),loomOrgId:i==null?void 0:i.toString(),embeddedInEnv:O,embeddedInProduct:(de=c==null?void 0:c.toString())!=null?de:"",loomWebRecorders:"record-sdk"},D)),f.startUIViewedEvent()};try{h()}catch(v){e(_.incrementDatadogMetric({metric:Hp})),e(_.sendDatadogLog({message:"[SDK] Failed to send Atlassian MAU analytics event",context:{error:v,loomSdkVersion:o,loomUserId:r,atlassianUserId:n,workspaceId:i,cloudId:d,loomSdkSource:c,isAtlassianMastered:u,accountType:l,sdkMode:m.mode},logLevel:xt.LogLevel.Warning}))}return()=>{f==null||f.stopUIViewedEvent()}},[l,n,d,t,c,o,r,i,m,e,u,p])};import Ss from"react";import bl from"react";import{useDispatch as YR,useSelector as pg}from"react-redux";import{TextButton as JR}from"@loomhq/lens";import{SvgReplay as QR}from"@loomhq/lens/icons/replay";import Rn from"@emotion/styled";import He from"react";import{Arrange as kR,Button as sg,Container as UR,ModalCard as BR,Text as Cl,Backdrop as FR,Icon as WR,Spacer as KR}from"@loomhq/lens";import{SvgScissors as jR}from"@loomhq/lens/icons/scissors";var ag,VR=Rn.div(ag||(ag=I(["\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-large);\n padding-top: var(--lns-space-xlarge);\n flex-shrink: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n"]))),cg,HR=Rn.div(cg||(cg=I(["\n display: grid;\n grid-template-rows: auto 1fr auto;\n position: relative;\n"]))),lg,GR=Rn.div(lg||(lg=I(["\n margin-left: auto;\n\n * {\n vertical-align: middle;\n }\n"]))),dg,zR=Rn.div(dg||(dg=I(["\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n padding-top: var(--lns-space-xlarge);\n padding-bottom: var(--lns-space-medium);\n flex-shrink: 0;\n"]))),ug,$R=Rn.div(ug||(ug=I(["\n display: flex;\n flex-direction: column;\n overflow: auto;\n padding-left: var(--lns-space-xlarge);\n padding-right: var(--lns-space-xlarge);\n border-style: solid;\n border-width: 0;\n"]))),hs=({isOpen:e,onClick:t,dangerButtonOnClick:o,alternativeButton:r,isRestartModal:n})=>He.createElement(FR,{isOpen:e,onClick:t},He.createElement(BR,{onCloseClick:t,isOpen:e,maxWidth:72,style:{zIndex:"2147483647"}},He.createElement(HR,null,He.createElement(zR,null,He.createElement(Cl,{variant:"title"},"Are you sure you want to ".concat(n?"restart":"cancel"," your recording?"))),He.createElement($R,null,He.createElement(Cl,{size:"body-lg"},"Your current video progress will be lost.")),He.createElement(VR,null,r,He.createElement(GR,null,He.createElement(KR,{right:"small",isInline:!0},He.createElement(sg,{onClick:t},"Resume")),He.createElement(sg,{variant:"danger",onClick:o},"".concat(n?"Restart":"Cancel"," recording"))))),He.createElement(XR,null))),XR=()=>He.createElement(UR,{backgroundColor:"backgroundHover",paddingTop:"medium",paddingBottom:"medium",paddingLeft:"xxlarge",paddingRight:"xxlarge"},He.createElement(kR,{gap:"small",justifyContent:"center"},He.createElement(WR,{size:"3",color:"bodyDimmed",icon:He.createElement(jR,null)}),He.createElement(Cl,{size:"body-md",color:"bodyDimmed"},"You can always edit, trim, and combine recordings later on!")));var mg=()=>{let e=YR(),t=pg(ol),{sessionId:o}=pg(s=>({sessionId:s.previewRecording.sessionId}));return bl.createElement(hs,{isOpen:t,onClick:()=>{e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:rc,properties:{videoId:o}})),setTimeout(()=>e(_.resumeRecording()),800)},dangerButtonOnClick:()=>{e(_.cancelRecording()),e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:nc,properties:{videoId:o}}))},alternativeButton:bl.createElement(JR,{onClick:()=>{e(R.updateCancelButtonClicked(!1)),e(_.trackAnalytics({event:oc,properties:{videoId:o}})),e(_.redoRecording({id:o||""}))},icon:bl.createElement(QR,null)},"Restart")})};import ZR from"react";import{useDispatch as qR,useSelector as Es}from"react-redux";var fg=()=>{let e=qR(),t=Es(nl),{sessionId:o}=Es(a=>({sessionId:a.previewRecording.sessionId})),r=Es(A.selectSdkProductName),n=Es(A.selectSdkEntryPointName);return ZR.createElement(hs,{isRestartModal:!0,isOpen:t,onClick:()=>{e(R.updateRestartButtonClicked(!1)),setTimeout(()=>e(_.resumeRecording()),800),e(_.trackAnalytics({event:ic,properties:{videoId:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},dangerButtonOnClick:()=>{e(_.redoRecording({id:o||""})),e(_.trackAnalytics({event:sc,properties:{videoId:o,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))}})};var e_=()=>Ss.createElement(Ss.Fragment,null,Ss.createElement(mg,null),Ss.createElement(fg,null)),gg=e_;var Ol=Y(J()),vs=16,t_=20,r_=16,o_=78,hg=({page:e,isVideoDurationLimitShowing:t,isConsentStatementShowing:o})=>{let r=vs+t_;return e===Ol.RecordingPage.PreRecord&&t&&(r+=r_),e===Ol.RecordingPage.PreRecord&&o&&(r+=o_),r};import No from"@emotion/styled";import _e from"react";import{useDispatch as n_}from"react-redux";import{Arrange as Il,Icon as Eg,Link as i_,Text as s_}from"@loomhq/lens";import{SvgChevronDown as a_}from"@loomhq/lens/icons/chevron-down";import{SvgChevronUp as c_}from"@loomhq/lens/icons/chevron-up";var Sg,l_=No.div(Sg||(Sg=I(["\n background-color: var(--lns-color-yellowLight);\n padding: 20px;\n padding-bottom: 0;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: 18px;\n\n .recorder__ext-msg-off {\n display: block;\n }\n\n .recorder__ext-msg-on {\n display: none;\n }\n\n &:not(:hover) {\n padding-bottom: 4px;\n }\n\n &:hover {\n .recorder__ext-msg-off {\n display: none;\n }\n\n .recorder__ext-msg-on {\n display: block;\n }\n\n .recorder__ext-msg-desc {\n max-height: 250px;\n transition: 250ms ease-in;\n margin-top: var(--lns-fontSize-small);\n margin-bottom: 20px;\n }\n }\n"]))),vg,d_=No.div(vg||(vg=I(["\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n font-weight: var(--lns-fontWeight-bold);\n cursor: pointer;\n margin-bottom: 12px;\n text-align: center;\n"]))),yg,u_=No(Il)(yg||(yg=I(["\n padding-bottom: 10px;\n"]))),Tg,p_=No.div(Tg||(Tg=I(["\n max-height: 0;\n overflow: hidden;\n transition: max-height 250ms ease-out;\n font-size: var(--lns-fontSize-small);\n margin-bottom: 10px;\n"]))),Cg,m_=No(i_)(Cg||(Cg=I(["\n box-shadow: none;\n text-decoration: underline;\n text-align: center;\n padding-top: var(--lns-fontSize-medium);\n cursor: pointer;\n margin-bottom: 20px;\n"]))),bg,f_=No.div(bg||(bg=I(["\n position: absolute;\n display: inline;\n padding-left: 8px;\n"]))),g_=()=>_e.createElement(f_,null,_e.createElement(Eg,{size:2,className:"recorder__ext-msg-off",icon:_e.createElement(a_,null)}),_e.createElement(Eg,{size:2,className:"recorder__ext-msg-on",icon:_e.createElement(c_,null)}));function h_({content:e,isFirst:t,isOnlyMessage:o}){return _e.createElement(d_,null,_e.createElement(u_,{justifyContent:o?"center":"space-between"},_e.createElement(s_,{fontWeight:"bold",size:"body-sm"},e,t?_e.createElement(g_,null):null)))}function E_(e){let t=n_(),{description:o,isLast:r,isDismissable:n}=e,i=r&&n;return _e.createElement(p_,{className:"recorder__ext-msg-desc"},_e.createElement(Il,{autoFlow:"row"},_e.createElement("div",null,o.map((s,a)=>_e.createElement("p",{key:a},s))),i?_e.createElement(m_,{onClick:()=>t(R.clearDismissableAlerts())},"Dismiss"):null))}function Og(){let{alertMessages:e,isAlertMessageShowing:t}=Er(),o=e.some(r=>r.isDismissible===void 0||r.isDismissible===!0);return t?_e.createElement(l_,null,e.map((r,n)=>{let i=n===0,s=n===e.length-1,a=e.length===1;return _e.createElement(_e.Fragment,{key:n},_e.createElement(Il,{rows:["auto","auto"],justifyItems:"center"},_e.createElement(h_,{content:r.header,isFirst:i,isOnlyMessage:a}),_e.createElement(E_,{description:r.description,isLast:s,isDismissable:o})))})):null}import lt from"react";import{Text as $_,Link as xl}from"@loomhq/lens";var Al="https://www.loom.com",S_="https://cdn.loom.com",Ig="".concat(S_,"/assets/loom-sdk"),Dl="".concat(Al,"/my-videos"),Ag="".concat(Al,"/download"),Dg="https://dev.loom.com/docs/record-sdk/details/technical-notes#browser-compatibility",Pg="".concat(Al,"/settings/workspace#plans"),Rg="https://www.loomstatus.com/",_g="https://support.loom.com/hc/en-us";import V_ from"@emotion/styled";import Ze from"react";import{Container as wl,Arrange as Bg,Spacer as Ml,Text as H_,Align as Fg}from"@loomhq/lens";var Cs=Y(J());import Me from"react";import{Logo as L_,Arrange as Ts,Button as kg,Text as N_,IconButton as k_}from"@loomhq/lens";import{SvgHome as U_}from"@loomhq/lens/icons/home";import Rl from"@emotion/styled";import ge,{useCallback as T_,useState as C_}from"react";import{useDispatch as b_,useSelector as Mg}from"react-redux";import{Arrange as O_,Icon as _n,IconButton as I_,Link as A_,Spacer as Pl,Text as wg}from"@loomhq/lens";import{SvgBook as D_}from"@loomhq/lens/icons/book";import{SvgDownload as P_}from"@loomhq/lens/icons/download";import{SvgHelpCircle as R_}from"@loomhq/lens/icons/help-circle";import{SvgPlayCircle as __}from"@loomhq/lens/icons/play-circle";import{SvgVideoCam as M_}from"@loomhq/lens/icons/video-cam";import{useEffect as v_,useRef as y_}from"react";function vr(e){let t=y_(null);return v_(()=>{let o=r=>{let n=r.composedPath()[0];!t.current||t.current.contains(n)||e(r)};return document.addEventListener("click",o),document.addEventListener("touchstart",o),()=>{document.removeEventListener("click",o),document.removeEventListener("touchstart",o)}},[t,e]),t}var xg,w_=Rl.div(xg||(xg=I(["\n width: 278px;\n height: auto;\n padding: var(--lns-space-large);\n padding-bottom: 0;\n border-radius: var(--lns-radius-xlarge);\n position: absolute;\n background-color: var(--lns-color-background);\n z-index: 1;\n top: 50px;\n right: 85px;\n border: 2px solid var(--lns-color-backgroundHover);\n"]))),Lg,ys=Rl.div(Lg||(Lg=I(["\n width: 32px;\n height: 32px;\n background-color: var(--lns-color-blurpleLight);\n border-radius: var(--lns-radius-150);\n display: flex;\n justify-content: center;\n align-items: center;\n"]))),Ng,x_=Rl.ul(Ng||(Ng=I(["\n list-style: none;\n"]))),_l=()=>{let e=b_(),[t,o]=C_(!1),r=Mg(A.selectSdkProductName),n=Mg(A.selectSdkEntryPointName),i=[{index:0,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(__,null),color:"var(--lns-color-blurple)",size:2.5})),text:"Start a 1 minute tutorial",url:null},{index:0,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(M_,null),color:"var(--lns-color-blurple)",size:2.5})),text:"Discover use cases",url:"https://loom.com/use-case"},{index:1,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(D_,null),color:"var(--lns-color-blurpleDark)",size:2.5})),text:"Help & Support",url:"https://www.loom.com/support"},{index:2,icon:ge.createElement(ys,null,ge.createElement(_n,{icon:ge.createElement(P_,null),color:"var(--lns-color-blurple)",size:2.25})),text:"Get the Chrome extension",url:"https://chromewebstore.google.com/detail/loom-%E2%80%93-screen-recorder-sc/liecbddmkiiihnedobmlmillhodjkdmb"}],s=()=>{o(!t),e(_.trackAnalytics({event:lc,properties:{isOpen:!t,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},a=m=>{m.url===null&&(e(R.setShouldSeeOnboardingEntrypoint(!1)),e(R.updateOnboardingStep({stepName:"welcomeToLoom"})),e(R.setShouldSeeOnboarding(!0))),o(!1),e(_.trackAnalytics({event:dc,properties:{itemClicked:m.text,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},c=T_(()=>{o(!1)},[o]),u=vr(c);return ge.createElement("div",{ref:u},ge.createElement(I_,{altText:"More information",icon:ge.createElement(R_,null),onClick:s,"aria-expanded":!!t}),t?ge.createElement(w_,null,ge.createElement(wg,{fontWeight:"bold",color:"body",htmlTag:"h2",className:"my:0"},"Need some help getting started?"),ge.createElement(Pl,{bottom:"medium"}),ge.createElement(x_,null,i.map((m,p)=>ge.createElement("li",{key:p},ge.createElement(A_,x(x({key:p,onClick:()=>a(m),variant:"subtle",htmlTag:m.url?"a":"button"},m.url?{href:m.url}:null),m.url?{target:"_blank"}:null),ge.createElement(O_,{autoFlow:"column",gap:"small",alignItems:"center"},ge.createElement(_n,{icon:m.icon}),ge.createElement(wg,{color:"body",size:"body-sm"},m.text))),ge.createElement(Pl,{bottom:"small"})))),ge.createElement(Pl,{bottom:"medium"})):null)};var B_=()=>{let e=te(),t=P(A.selectSdkProductName),o=P(A.selectSdkEntryPointName);return Me.createElement(k_,{altText:"My library",style:{marginRight:"var(--lns-space-xsmall)",pointerEvents:"auto"},icon:Me.createElement(U_,null),onClick:()=>{e(_.trackAnalytics({event:ka,properties:{sdk_recorder_launch_app_source:t,sdk_recorder_launch_app_entrypoint:o}})),window.open("https://www.loom.com","_blank")}})},F_=()=>{let e=te(),t=P(A.selectSdkProductName),o=P(A.selectSdkEntryPointName);return Me.createElement(kg,{onClick:()=>{e(R.updatePreRecordPage(Cs.RecordingPage.SignUp)),e(_.trackAnalytics({event:Na,properties:{sdk_recorder_launch_app_source:t,sdk_recorder_launch_app_entrypoint:o}}))},variant:"neutral",size:"small"},"Sign up")},W_=()=>{let e=te();return Me.createElement(kg,{onClick:()=>e(R.updatePreRecordPage(Cs.RecordingPage.PreRecord)),variant:"neutral",size:"small"},"Back")},K_=()=>{let e=P(A.selectPartnerGuestRecordingLimit);return e===void 0?null:Me.createElement(N_,{size:"body-sm",style:{paddingRight:"var(--lns-space-xsmall)"}},e," Video limit reached")},j_=({disabled:e=!1})=>{let t=P(A.selectIsUserLoggedIn),o=P(A.selectPreRecordPage)===Cs.RecordingPage.SignUp,r=P(A.selectHasReachedRecordingLimit),{applicationConfig:n}=P(({settings:{applicationConfig:s}})=>({applicationConfig:s})),i=null;return e||(o?r?i=Me.createElement(K_,null):i=Me.createElement(W_,null):t?i=Me.createElement(Me.Fragment,null,Me.createElement(_l,null),Me.createElement(B_,null)):i=Me.createElement(Me.Fragment,null,Me.createElement(_l,null),Me.createElement(F_,null))),n.removeLoomBranding?Me.createElement(Ts,{justifyContent:"end"},Me.createElement(Ts,null,i)):Me.createElement(Ts,{justifyContent:"space-between",justifyItems:"start",autoFlow:"column"},Me.createElement(L_,{brand:"apptile",maxWidth:10.5}),Me.createElement(Ts,null,i))},ko=j_;var Ug,G_=V_.div(Ug||(Ug=I(["\n border-radius: 0 0 32px 32px;\n height: 80px;\n width: 100%;\n background-color: var(--lns-color-disabledBackground);\n"]))),z_=({headerText:e,bodyTextComponent:t})=>Ze.createElement(Fg,{alignment:"topCenter"},Ze.createElement(Bg,{justifyItems:"center",autoFlow:"row"},Ze.createElement(Ml,{top:"50px"}),Ze.createElement("img",{src:"".concat(Ig,"/video-limit.png"),height:"104",width:"104"}),Ze.createElement(Ml,{top:3}),Ze.createElement(wl,null,Ze.createElement(H_,{alignment:"center",fontWeight:"bold",size:"body-lg","data-qa":"limit-title"},e)),Ze.createElement(Ml,{top:1}),Ze.createElement(wl,{maxWidth:"240px"},t))),Uo=({headerText:e,bodyTextComponent:t,button:o=null,disableHeader:r=!1})=>Ze.createElement(Bg,{justifyContent:"stretch",width:"100%",height:"100%",autoFlow:"row",rows:["auto","1fr","auto"]},Ze.createElement(wl,{paddingLeft:"20px",paddingRight:2},Ze.createElement(ko,{disabled:r})),Ze.createElement(z_,{headerText:e,bodyTextComponent:t}),Ze.createElement(G_,null,o&&Ze.createElement(Fg,{alignment:"center"},o)));var X_={[st.Refresh]:"Try refreshing the page.",[st.EnableCookies]:"Enable third-party cookies to use the Loom recorder.",[st.DownloadDesktopApp]:"You must launch the Loom desktop app to begin recording. If you do not have the app installed, you can download it ",[st.UnsupportedBrowser]:"This browser is unsupported. ",[st.Default]:"We hit a snag."},Y_=()=>lt.createElement(lt.Fragment,null,"If this problem persists,"," ",lt.createElement(xl,{variant:"neutral",href:_g,target:"_blank"},"contact")," ","Loom support"),J_=()=>lt.createElement(xl,{variant:"neutral",href:Ag,target:"_blank"},"here"),Q_=()=>lt.createElement(lt.Fragment,null,"Please use one of our"," ",lt.createElement(xl,{variant:"neutral",href:Dg,target:"_blank"},"supported browsers")," ","to begin recording today"),Z_=e=>{switch(e){case st.DownloadDesktopApp:return lt.createElement(J_,null);case st.UnsupportedBrowser:return lt.createElement(Q_,null);default:return lt.createElement(Y_,null)}},q_=()=>{let e=P(A.selectGenericErrorMessage);return lt.createElement($_,{alignment:"center","data-qa":"limit-body"},X_[e],Z_(e),".")},eM=()=>{let t=P(A.selectGenericErrorMessage)===st.DownloadDesktopApp?"Desktop app required":"Recording not available";return lt.createElement(Uo,{headerText:t,bodyTextComponent:lt.createElement(q_,null),disableHeader:!0})},Wg=eM;var Ll=Y(J());import Bo from"react";import{Button as tM,Link as rM,Text as oM}from"@loomhq/lens";var nM=({selectedWorkspace:e,minPlanForFeature:t})=>{var o;return(e==null?void 0:e.member_role)!==Ll.OrgRoles.CreatorLite||((o=e==null?void 0:e.organization)==null?void 0:o.type)===be.WORKSPACE_PLAN_STARTER_FREE?be.UPGRADE_TYPES.PLAN:be.WORKSPACE_PLAN_HIERARCHY[t]>be.WORKSPACE_PLAN_HIERARCHY[e.type]?be.UPGRADE_TYPES.PLAN:be.UPGRADE_TYPES.ROLE},iM=({memberRole:e,minPlanForFeature:t=be.WORKSPACE_PLAN_BUSINESS,selectedWorkspace:o})=>{if(e===Ll.OrgRoles.CreatorLite){let r=nM({selectedWorkspace:o,minPlanForFeature:t});window.open("".concat(Dl,"?request_upgrade=").concat(r))}else window.open(Pg)},sM=()=>{let{selectedWorkspace:e}=P(({workspaces:t})=>({selectedWorkspace:t.defaultWorkspace}));return Bo.createElement(tM,{variant:"primary",size:"medium","data-qa":"upgrade-button",onClick:()=>{e&&iM({memberRole:e==null?void 0:e.member_role,minPlanForFeature:be.WORKSPACE_PLAN_BUSINESS,selectedWorkspace:e})}},"Upgrade")},aM=()=>Bo.createElement(oM,{alignment:"center","data-qa":"limit-body"},"Starter plans have a video limit. Upgrade to unlock unlimited videos or"," ",Bo.createElement(rM,{target:"_blank",href:Dl},"delete videos to continue recording.")),cM=()=>{let{memberVideoLimit:e}=P(({workspaces:o})=>{var r,n;return{memberVideoLimit:(n=(r=o.defaultWorkspace)==null?void 0:r.member_limits)==null?void 0:n.TOTAL_VIDEOS}}),t="You\u2019ve reached the ".concat(e," video limit");return Bo.createElement(Uo,{headerText:t,bodyTextComponent:Bo.createElement(aM,null),button:Bo.createElement(sM,null)})},Kg=cM;import Fo from"react";import{Text as lM,Link as dM,Button as uM}from"@loomhq/lens";var pM=()=>Fo.createElement(lM,{alignment:"center","data-qa":"limit-body"},"You need to connect to the internet to record or check Loom\u2019s status at"," ",Fo.createElement(dM,{variant:"neutral",href:Rg,target:"_blank"},"www.loomstatus.com")),mM=()=>{let e=te(),t=P(A.selectIsCheckingNetworkConnection);return Fo.createElement(uM,{hasLoader:t,onClick:()=>{e(_.checkNetworkStatus())},variant:"primary","data-qa":"error-retry-button"},"Retry")},fM="Something went wrong",gM=()=>Fo.createElement(Uo,{headerText:fM,bodyTextComponent:Fo.createElement(pM,null),button:Fo.createElement(mM,null)}),jg=gM;import hM from"@emotion/styled";import Mn from"react";import{useDispatch as EM}from"react-redux";import{Arrange as SM,Icon as vM,Text as yM}from"@loomhq/lens";import{SvgArrowRight as TM}from"@loomhq/lens/icons/arrow-right";var Vg,CM=hM.div(Vg||(Vg=I(["\n background-color: var(--lns-color-blurpleLight);\n padding: 20px;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: ",";\n\n width: 100%;\n cursor: pointer;\n"])),e=>e.isVideoDurationLimitShowing?"6px":"18px");function Hg(){let e=EM(),t=()=>{e(R.setShouldSeeOnboardingEntrypoint(!1)),e(R.setShouldSeeOnboarding(!0)),e(R.updateOnboardingStep({stepName:"welcomeToLoom"})),e(_.trackAnalytics({event:yc,properties:{}}))},o=!!P(A.selectVideoDurationLimit);return Mn.createElement(CM,{isVideoDurationLimitShowing:o},Mn.createElement(SM,{justifyContent:"center",onClick:t},Mn.createElement(yM,{color:"#503527",fontWeight:"bold"},"\u{1F3AC} Start a 1 minute tutorial"),Mn.createElement(vM,{color:"#2B2D36",icon:Mn.createElement(TM,null)})))}var zg=Y(J());import bM from"@emotion/styled";import zt from"react";import{Align as OM,Button as IM,Spacer as bs,Text as Nl}from"@loomhq/lens";var Gg,AM=bM.img(Gg||(Gg=I(["\n width: 100%;\n"]))),DM={mediaUrl:"https://cdn.loom.com/assets/loom-sdk/mac-screen-system-permissions-wide.png",headerText:"Grant your web browser screen recording permission to start recording.",bodyText:"To update these preferences on your Mac, choose Apple menu > System Settings > Privacy & Security > Screen & System Audio Recording.",buttonText:"I have updated this permission."},PM={mediaUrl:"https://cdn.loom.com/assets/loom-sdk/mac-mic-cam-system-permissions.png",headerText:"Grant your browser access to your camera and microphone to record video and audio.",bodyText:"To update these preferences on your Mac, choose Apple menu > System Settings > Privacy & Security.",buttonText:"I have updated these permissions."};var RM=({modalType:e})=>{let t=te(),o=e==="audioOrCam"?PM:DM,r=()=>{t(R.updatePreRecordPage(zg.RecordingPage.PreRecord))};return zt.createElement(bs,{top:"medium",bottom:"medium",left:"medium",right:"medium"},zt.createElement(AM,{src:o.mediaUrl,alt:"OS permissions modal - go to os settings and change chrome screen recording permissions"}),zt.createElement(bs,{top:"medium"}),zt.createElement(Nl,{color:"grey7",size:"body-lg",alignment:"center",fontWeight:"bold"},o.headerText),zt.createElement(bs,{top:"medium"}),zt.createElement(Nl,{color:"grey7",size:"body-md",alignment:"center"},o.bodyText),zt.createElement(bs,{top:"medium"}),zt.createElement(OM,{alignment:"center"},zt.createElement(IM,{hasFullWidth:!0,onClick:r,size:"medium"},zt.createElement(Nl,{size:"body-md",fontWeight:"bold"},o.buttonText))))},kl=RM;import yt from"react";import{Align as mw,Container as Kl,Spacer as fw,Text as gw}from"@loomhq/lens";import{intervalToDuration as _M}from"date-fns";var $g=e=>{let{hours:t,minutes:o,seconds:r}=_M({start:0,end:e*1e3}),n=t?"hour":o?"minute":"second",i=t||o||r;return"".concat(i," ").concat(n)};import rw from"@emotion/styled";import kn from"react";import Lt,{useEffect as p0}from"react";import{Icon as Ah}from"@loomhq/lens";import{SvgVideoCam as Dh}from"@loomhq/lens/icons/video-cam";import{SvgVideoOff as Ph}from"@loomhq/lens/icons/video-off";function yr(e){return e.indexOf(be.NO_CAM)>-1}import MM from"@emotion/styled";import Ul from"react";import{Text as wM,Align as xM}from"@loomhq/lens";var Os="on_off_button_class",Xg,LM=MM.div(Xg||(Xg=I(["\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n outline: inherit;\n\n height: 26px;\n width: 33px;\n\n border-radius: var(--lns-radius-100);\n\n user-select: none;\n\n background-color: ",";\n"])),e=>e.on?"var(--lns-color-success)":"var(--lns-themeLight-color-danger)"),Is=e=>{let{on:t}=e,o=r=>{r.stopPropagation(),e.onClick()};return Ul.createElement(LM,{className:Os,on:Number(t),onClick:o,"data-qa":"on-off-button"},Ul.createElement(xM,{alignment:"center"},Ul.createElement(wM,{color:"white",fontWeight:"bold",size:"body-sm"},t?"On":"Off")))};import{css as Tr}from"@emotion/react";import wn from"@emotion/styled";import cr from"react";import{Arrange as NM,Loader as kM,Spacer as UM}from"@loomhq/lens";var dh=48,Bl="recorder-button-class",BM="icon-container-class",Qg,FM=wn.button(Qg||(Qg=I(["\n ","\n\n width: 100%;\n height: ","px;\n\n display: grid;\n grid-template-areas: 'stack';\n\n & > * {\n grid-area: stack;\n }\n\n &:hover ."," {\n ","\n }\n\n &:focus-visible ."," {\n ","\n }\n\n ","\n"])),ns,dh,Bl,e=>!e.active&&!e.disabled&&Jg[e.variant],Bl,e=>!e.active&&!e.disabled&&Jg[e.variant],e=>e.disabled&&"\n pointer-events: none;\n ");var Zg,WM=Tr(Zg||(Zg=I(["\n cursor: pointer;\n"]))),qg,KM=Tr(qg||(qg=I(["\n pointer-events: none;\n background-color: var(--lns-color-disabledBackground);\n color: var(--lns-color-disabledContent);\n border: 0;\n"]))),eh,th,Yg={neutral:Tr(eh||(eh=I(["\n background-color: var(--lns-color-blurpleLight);\n color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-blurple);\n }\n\n ."," span {\n color: white;\n }\n "])),Os),record:Tr(th||(th=I(["\n background-color: var(--lns-color-recordActive);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n "])))},rh,oh,Jg={neutral:Tr(rh||(rh=I(["\n background-color: var(--lns-color-blurple);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n\n ."," {\n background-color: white;\n\n span {\n color: var(--lns-color-primary); }\n }\n "],["\n background-color: var(--lns-color-blurple);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n\n ."," {\n background-color: white;\n\n span {\n color: var(--lns-color-primary);\\\n }\n }\n "])),Os),record:Tr(oh||(oh=I(["\n background-color: var(--lns-color-recordHover);\n color: var(--lns-color-white);\n\n :hover {\n box-shadow: 0px -2px 20px rgba(255, 55, 10, 0.6);\n }\n\n span {\n color: var(--lns-color-white);\n }\n "])))},nh,ih,jM={neutral:Tr(nh||(nh=I(["\n background-color: var(--lns-color-disabledBackground);\n color: var(--lns-color-body);\n "]))),record:Tr(ih||(ih=I(["\n background-color: var(--lns-color-record);\n color: var(--lns-color-white);\n\n span {\n color: var(--lns-color-white);\n }\n "])))},sh,VM=wn.span(sh||(sh=I(["\n font-size: var(--lns-fontSize-medium);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n"]))),ah,HM=wn.div(ah||(ah=I(["\n background-color: var(--lns-color-disabledBackground);\n border-radius: var(--lns-radius-200);\n"]))),ch,GM=wn.div(ch||(ch=I(["\n width: 240px;\n\n // TODO: Make this a var and replace everywhere\n :hover {\n box-shadow:\n 0px 0px 2px rgba(0, 0, 0, 0.05),\n 0px 4px 25px rgba(0, 0, 0, 0.2);\n }\n\n :active {\n box-shadow: 0;\n }\n\n display: flex;\n min-height: ","px;\n align-items: center;\n text-align: ",";\n justify-content: ",";\n border-radius: var(--lns-radius-200);\n padding: var(--lns-space-small) var(--lns-space-medium);\n font-weight: var(--lns-fontWeight-bold);\n\n :active {\n ","\n }\n\n ","\n ","\n ","\n\n ","\n"])),dh,e=>e.center?"center":"left",e=>e.center||e.isLoading?"center":"left",e=>Yg[e.variant],e=>jM[e.variant],e=>e.disabled?KM:WM,e=>e.active?Yg[e.variant]:"",e=>e.backdropElement&&"background-color: unset"),zM=({statusBtn:e,children:t})=>{let o=cr.createElement(VM,{"data-qa":"active-button-text"},t);return e?cr.createElement(NM,{gap:2,justifyContent:"space-between",width:"100%"},o,e):o},lh,$M=wn.div(lh||(lh=I(["\n height: 100%;\n width: 100%;\n overflow: hidden;\n border-radius: var(--lns-radius-200);\n background-color: ",";\n"])),e=>e.active?"var(--lns-color-blurpleLight)":"var(--lns-color-disabledBackground)"),XM=({children:e,variant:t="neutral",center:o=!1,icon:r,disabled:n=!1,isLoading:i=!1,onClick:s=()=>null,active:a=!1,statusBtn:c,backdropElement:u})=>cr.createElement(FM,{active:a,variant:t,onClick:s,"data-qa":"recorder-button",disabled:n},u&&cr.createElement(HM,null),cr.createElement($M,{active:a},u),cr.createElement(GM,{className:Bl,active:a,variant:t,center:o,isLoading:i,disabled:n,backdropElement:!!u},r?cr.createElement(UM,{className:BM,right:"small"},r):null,i?cr.createElement(kM,{color:"disabledContent"}):cr.createElement(zM,{statusBtn:c},e))),$t=XM;import{css as qr}from"@emotion/react";import eo from"@emotion/styled";import dt,{useCallback as YM}from"react";import{Icon as uh,Spacer as JM,Text as QM}from"@loomhq/lens";import{SvgCheckCircleFill as ZM}from"@loomhq/lens/icons/check-circle-fill";var Ln=48;var xn="200ms",ph,qM=eo.div(ph||(ph=I(["\n position: relative;\n"]))),mh,fh,gh,hh,Eh,e0=eo.div(Eh||(Eh=I(["\n top: 0;\n border-radius: 16px;\n z-index: 1;\n position: absolute;\n background-color: var(--lns-color-background);\n box-shadow: ",";\n opacity: 0;\n overflow: hidden;\n\n transition:\n opacity "," ease-out,\n left "," ease-out,\n right "," ease-out,\n bottom "," ease-out,\n top "," ease-out;\n\n ","\n\n ","\n"])),e=>e.withDarkMode?Po:Do,xn,xn,xn,xn,xn,e=>e.isOpen?qr(mh||(mh=I(["\n opacity: 1;\n width: ",";\n "])),e.width):"",e=>{if(e.position===0){let t=e.isOpen?e.gap:"0px";return qr(fh||(fh=I(["\n right: calc(100% + ",");\n "])),t)}if(e.position===1){let t=e.isOpen?e.gap:"0px";return qr(gh||(gh=I(["\n left: calc(100% + ",");\n "])),t)}if(e.position===3){let t=e.isOpen?e.gap:"0px";return qr(hh||(hh=I(["\n top: calc(100% + ",");\n right: 0;\n "])),t)}return""}),Sh,t0=qr(Sh||(Sh=I(["\n color: var(--lns-color-white);\n background-color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-white);\n }\n"]))),vh,r0=qr(vh||(vh=I(["\n color: var(--lns-color-blurpleDark);\n background-color: var(--lns-color-blurpleLight);\n\n span {\n color: var(--lns-color-blurpleDark);\n }\n"]))),yh,o0=eo.button(yh||(yh=I(["\n ","\n\n width: 100%;\n\n color: var(--lns-color-body);\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: ","px;\n padding: 0 var(--lns-space-medium);\n\n :enabled {\n color: var(--lns-color-body);\n\n cursor: pointer;\n\n :hover,\n :focus {\n ","\n }\n\n :active {\n color: var(--lns-color-white);\n background-color: var(--lns-color-blurple);\n\n span {\n color: var(--lns-color-white);\n }\n }\n\n ","\n }\n\n :disabled {\n color: var(--lns-color-disabledContent);\n }\n"])),ns,Ln,t0,e=>e.selected?r0:{}),Th,n0=eo.div(Th||(Th=I(["\n display: flex;\n align-items: center;\n\n padding: var(--lns-space-small) var(--lns-space-medium) 0\n var(--lns-space-medium);\n"]))),Ch,bh,i0=eo.div(bh||(bh=I(["\n font-size: var(--lns-fontSize-medium);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 100%;\n\n ","\n"])),e=>e.addSpacer&&qr(Ch||(Ch=I(["\n padding-right: 8px;\n "])))),Oh,s0=eo.div(Oh||(Oh=I(["\n overflow: hidden;\n min-width: 24px;\n"]))),a0=({title:e,icon:t,iconColor:o="body",onClick:r=()=>null,itemType:n=1,value:i,selected:s,secondaryButton:a,disabled:c})=>n===0?dt.createElement(n0,null,dt.createElement(QM,{color:"bodyDimmed",fontWeight:"bold"},e)):dt.createElement(o0,{disabled:c,selected:s,onClick:()=>r({title:e,value:i}),"data-qa":"dropdown-item"},t?dt.createElement(JM,{right:"small"},dt.createElement(uh,{color:c?"disabledContent":o,size:"3",icon:t})):null,dt.createElement(i0,{addSpacer:s},e),s&&!a&&dt.createElement(s0,null,dt.createElement(uh,{icon:dt.createElement(ZM,null)})),a||null),Ih,c0=eo.div(Ih||(Ih=I(["\n overflow: auto;\n\n max-height: ",";\n\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n width: 0;\n height: 0;\n background-color: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background: transparent;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: transparent;\n }\n"])),e=>e.maxHeight),l0=()=>{};function d0(e){let{isOpen:t,options:o,selectedValue:r=null,children:n,width:i="232px",maxHeight:s="600px",gap:a="28px",position:c=0,setIsOpen:u=l0}=e,m=!1,p=YM(()=>{u(!1)},[u]),d=vr(p);return dt.createElement(qM,{ref:d},n,dt.createElement(e0,{isOpen:t,width:i,gap:a,position:c,withDarkMode:m,"data-qa":"recorder-dropdown"},dt.createElement(c0,{maxHeight:s},t&&o.map(l=>dt.createElement(a0,x({selected:r===l.value,key:l.title},l))))))}var Wo=d0;var Fl="No Camera",m0=()=>{var E;let[e,t]=Lt.useState(!1),[o,r]=Lt.useState(void 0),n=te(),i=P(A.selectSDKAvailbleCameras),s=P(A.selectCameraId),a=P(A.selectDefaultCameraId),c=s||a,u=P(A.selectMediaDevicePermissions),m=P(A.selectCanDisableCamera),p=b=>{let g;yr(b.value)?(g=be.NO_CAM_USER,n(R.turnOffCamera())):(g=b.value,n(R.turnOnCamera())),n(_.updateMediaDevices({cameraId:g})),t(!1)},d=i.map(({deviceId:b,label:g})=>{let C=yr(b);return{value:b,title:C?Fl:g,icon:C?Lt.createElement(Ph,null):Lt.createElement(Dh,null),iconColor:C?"danger":void 0,disabled:C&&!m,onClick:p}}),l=((E=i.find(({deviceId:b})=>b===c))==null?void 0:E.label)||Fl,f=d.find(b=>b.value===c)||d[0],h=!yr(c||""),v=()=>{if(h)r(c),n(R.turnOffCamera()),n(_.updateMediaDevices({cameraId:be.NO_CAM_USER}));else{let b=o||i[1].deviceId;n(R.turnOnCamera()),n(_.updateMediaDevices({cameraId:b}))}},S=i.length>1&&m,y=()=>h?Lt.createElement(Ah,{icon:Lt.createElement(Dh,null),color:"inherit"}):Lt.createElement(Ah,{icon:Lt.createElement(Ph,null),color:"danger"});return p0(()=>{n(_.initializeCameras())},[n,u]),Lt.createElement(Wo,{dropdownType:0,setIsOpen:t,isOpen:e,options:d,selectedValue:f.value,position:0,maxHeight:"".concat(Ln*5.5,"px"),width:"270px"},Lt.createElement($t,{active:e,onClick:()=>t(!e),icon:y(),statusBtn:S?Lt.createElement(Is,{on:h,onClick:v}):void 0},h?l:Fl))},_h=m0;import ot,{useEffect as Hh}from"react";import{useDispatch as x0,useStore as L0}from"react-redux";import{Icon as Gh}from"@loomhq/lens";import{SvgMic as zh}from"@loomhq/lens/icons/mic";import{SvgMicOff as $h}from"@loomhq/lens/icons/mic-off";var Wl="no_mic",f0="no_camera",eV="".concat(f0,"_user"),tV="".concat(Wl,"_user");var jh=Y(J());import Wh,{useRef as R0,useEffect as Kh}from"react";import{useDispatch as _0}from"react-redux";import{createSlice as g0}from"@reduxjs/toolkit";var h0=5e3;var Mh={alertMessages:[]},As=g0({name:"alerts",initialState:Mh,reducers:{clearAlert(e){Object.assign(e,Mh)},clearDismissableAlerts(e){e.alertMessages=e.alertMessages.filter(t=>t.isDismissible!==void 0&&t.isDismissible===!1)},clearAlertType(e,t){e.alertMessages=e.alertMessages.filter(o=>o.type!==t.payload)},createAlert(e,t){let o=x({createdAt:Date.now()},t.payload),r=!1;e.alertMessages.forEach(n=>{n.type===t.payload.type&&(r=!0)}),r||e.alertMessages.push(o)}}});var wh=()=>As.actions.createAlert({type:"micIssue",header:"Microphone issue detected",description:["We are not able to detect any input from your microphone."],timeout:h0});var xh=(e,t)=>{let o=1e3/t,r=performance.now(),n;i();function i(){n=requestAnimationFrame(i);let s=performance.now(),a=s-r;a>o&&(r=s-a%o,e())}return()=>{cancelAnimationFrame(n)}};var Lh=async()=>{try{let e=await navigator.mediaDevices.enumerateDevices();e.every(n=>n.label)||(await navigator.mediaDevices.getUserMedia({audio:!0,video:!0}),e=await navigator.mediaDevices.enumerateDevices());let o=[],r=[];return e.forEach(n=>{if(n.label&&n.deviceId){let i={label:n.label,deviceId:n.deviceId,id:n.deviceId};n.kind==="videoinput"?r.push(i):n.kind==="audioinput"&&o.push(i)}}),{mics:o,cameras:r}}catch(e){return{mics:[],cameras:[]}}};var Nh=256,S0=90,Ko=240,Cr=48,v0=Cr*.75,y0=Cr*.6,T0={lowPassFreq:1e3,gain:3},C0=128,Nt=null,jo=null,kh=Promise.resolve(),Uh=Promise.resolve(),to={isThereAnyIssue:!1,decibelLevel:0},Bh=()=>{},b0="#C2C1ED",O0=()=>{},I0=async e=>{let o=(await Lh()).mics.find(r=>r.id===e);return o==null?void 0:o.id};async function Ds(e){await Uh,kh=(async()=>{try{e&&(to.isThereAnyIssue=!1,to.decibelLevel=0),jo&&jo.getTracks().forEach(o=>o.stop()),Nt&&Nt.state!=="closed"&&await Nt.close(),Bh()}finally{Nt=null,jo=null}})()}async function Fh({micId:e,canvasCtx:t,audioConfig:o=T0,triggerMicIssue:r,clearMicIssue:n}){await kh,Uh=(async()=>{if(!e)return;let s=P0(),a=l=>{s(l)?(to.isThereAnyIssue=!0,to.decibelLevel=l,r()):(to.isThereAnyIssue=!1,to.decibelLevel=0,n())},c=await I0(e);if(!c||(jo=await navigator.mediaDevices.getUserMedia({audio:{deviceId:{exact:c}}}),Nt=new AudioContext,!jo||!Nt))return;let u=Nt.createAnalyser(),m=Nt.createGain(),p=Nt.createBiquadFilter();u.minDecibels=-90,u.maxDecibels=-10,u.smoothingTimeConstant=1,o!=null&&o.lowPassFreq&&(p.type="lowpass",p.frequency.value=o.lowPassFreq),o!=null&&o.gain&&m.gain.setValueAtTime(o==null?void 0:o.gain,Nt.currentTime),Nt.createMediaStreamSource(jo).connect(p),p.connect(m),m.connect(u),Bh=A0({analyzer:u,canvasCtx:t,trackLastDecibelLevel:a})})()}function A0({analyzer:e,canvasCtx:t,trackLastDecibelLevel:o}){if(!t)return O0;let r=new Uint8Array(Nh).fill(C0);e.fftSize=Nh;let n=0;return xh(()=>{n>1&&(n=0,e.getByteTimeDomainData(r));let s=D0(r);o(s),n+=.35,t.clearRect(0,0,Ko,Cr),t.beginPath();let a=0;for(let c=0;c<r.length;c++){let p=(r[c]-128)/128*y0+v0;c===0?t.moveTo(a,p):t.lineTo(a,p),a+=Ko/r.length}t.lineTo(Ko,Cr/2),t.lineTo(Ko,Cr),t.lineTo(0,Cr),t.fillStyle=b0,t.fill()},S0)}function D0(e){let o=e.reduce((n,i)=>n+i,0)/e.length;return 20*Math.log10(o)}function P0(){let t={decibelLevel:0,ct:0};return r=>(to.decibelLevel===r&&(t.decibelLevel=r,t.ct=50),t.decibelLevel===r?t.ct!==50&&(t.ct+=1):(t.decibelLevel=r,t.ct=1),t.ct===50)}function M0(){let e=P(A.selectMicrophoneId),t=P(A.selectMsgType),o=!br(e||""),{appStage:r}=P(({recorder:s})=>({appStage:s.appStage})),n=r===jh.RecordingStage.PreRecording;Kh(()=>{o||Ds(!0)},[o]);let i=t==="micIssue";return o&&e&&n?Wh.createElement(w0,{currentDeviceValue:e,thereIsAMicIssue:i}):null}function w0({currentDeviceValue:e,thereIsAMicIssue:t}){let o=R0(null),r=_0();return Kh(()=>{let n=()=>{t||(r(R.updateMsgType("micIssue")),r(wh()))},i=()=>{t&&(r(R.updateMsgType(void 0)),r(R.clearDismissableAlerts()))};return(async()=>{if(o.current)try{await Fh({micId:e,canvasCtx:o.current.getContext("2d"),triggerMicIssue:n,clearMicIssue:i})}catch(a){await Ds()}})(),()=>{Ds()}},[r,t,e]),Wh.createElement("canvas",{className:"lo-audio-visualizer",width:Ko,height:Cr,ref:o})}var Vh=M0;function br(e){return e.indexOf(Wl)>-1}function N0({devices:e}){let t=e.filter(r=>{var n;return(n=r==null?void 0:r.value)==null?void 0:n.includes("Default")});if(t.length===0)return e;let o=t.map(r=>{var n;return(n=r==null?void 0:r.value)==null?void 0:n.replace("Default - ","")});return e.filter(r=>{var n,i;if((n=r==null?void 0:r.value)!=null&&n.includes("Default"))return!0;for(let s of o)if((i=r==null?void 0:r.value)!=null&&i.includes(s))return!1;return!0})}function k0(e){let o=P(A.selectSDKMicrophones),r=P(A.selectMicrophoneId),n=!br(r||"");return o.length>1?ot.createElement(Is,{on:e.micEnabled,onClick:e.toggleClick}):null}var U0=()=>{let[e,t]=ot.useState(!1),[o,r]=ot.useState(void 0),n=x0(),i=L0(),s=P(A.selectSDKMicrophones),a=P(A.selectMicrophoneId),c=P(A.selectMediaDevicePermissions),u=!br(a||""),m=P(A.selectFirstMicrophone);Hh(()=>{n(_.initializeMicrophones())},[n,c]);let p=ot.useMemo(()=>{let v={},S=[],y=({value:E})=>{let b=br(E)?be.NO_MIC_USER:E;n(_.updateMediaDevices({microphoneId:b})),t(!1)};return s.forEach(E=>{let{deviceId:b}=E;v[b]||S.push(E),v[b]=!0}),S.map(({deviceId:E,label:b})=>{let g=br(E);return{value:E,title:g?"No microphone":b,icon:g?ot.createElement($h,null):ot.createElement(zh,null),iconColor:g?"danger":void 0,onClick:y}})},[n,s]);Hh(()=>{},[a,i,u,n]);let d=N0({devices:p}),l=d.find(v=>v.value===a)||d[0],f=()=>{if(u)r(a),n(_.updateMediaDevices({microphoneId:be.NO_MIC_USER}));else{let v=o||m;n(_.updateMediaDevices({microphoneId:v}))}},h=()=>u?ot.createElement(Gh,{icon:ot.createElement(zh,null)}):ot.createElement(Gh,{icon:ot.createElement($h,null),color:"danger"});return ot.createElement(Wo,{dropdownType:1,setIsOpen:t,isOpen:e,options:d,selectedValue:l==null?void 0:l.value,position:0,maxHeight:"".concat(Ln*4.5,"px"),width:"270px"},ot.createElement($t,{active:e,onClick:()=>t(!e),icon:h(),statusBtn:ot.createElement(k0,{micEnabled:u,toggleClick:f}),backdropElement:u?ot.createElement(Vh,null):void 0},l.title))},Xh=U0;var ro=Y(J());import lr,{useEffect as B0,useMemo as F0}from"react";import{Icon as W0}from"@loomhq/lens";import{SvgAccount as K0}from"@loomhq/lens/icons/account";import{SvgCrop169 as j0}from"@loomhq/lens/icons/crop-16-9";import{SvgDesktopMac as Yh}from"@loomhq/lens/icons/desktop-mac";import{SvgGrid as V0}from"@loomhq/lens/icons/grid";var H0=()=>{let[e,t]=lr.useState(!1),o=te(),r=P(A.selectSDKRecordingType),n=P(A.selectCameraId),i=P(A.selectFirstCamera),s=P(A.selectIsThereNoCameraOption),a=F0(()=>{let u=({value:p})=>{o(R.updateSelectedSDKRecordingType(p)),p===ro.SDKRecordingType.CameraOnly&&o(R.turnOnCamera()),t(!1)},m=[{value:ro.SDKRecordingType.FullScreen,title:"Full Screen",onClick:u,icon:lr.createElement(Yh,null)},{value:ro.SDKRecordingType.Window,title:"Window",onClick:u,icon:lr.createElement(V0,null)},{value:ro.SDKRecordingType.CurrentTab,title:"Current tab",onClick:u,icon:lr.createElement(j0,null)}];return s||m.push({value:ro.SDKRecordingType.CameraOnly,title:"Camera only",onClick:u,icon:lr.createElement(K0,null)}),m},[o,s]),c=a.find(u=>u.value===r)||a[0];return B0(()=>{r===ro.SDKRecordingType.CameraOnly&&yr(n||"")&&o(_.updateMediaDevices({cameraId:i}))},[r,n,i,o]),lr.createElement(Wo,{setIsOpen:t,isOpen:e,options:a,selectedValue:r,position:0,maxHeight:"192px",width:"270px"},lr.createElement($t,{active:e,onClick:()=>t(!e),icon:lr.createElement(W0,{icon:lr.createElement(Yh,null)})},c.title))},Jh=H0;var Ps=Y(J());import Vo,{useEffect as Z0,useState as oE}from"react";import{useDispatch as q0}from"react-redux";import Nn from"react";import{Arrange as z0,Icon as $0}from"@loomhq/lens";import{SvgLock as X0}from"@loomhq/lens/icons/lock";var Y0=()=>Nn.createElement($t,{isLoading:!1,variant:"record",center:!0,disabled:!0},Nn.createElement(z0,{justifyContent:"center",alignItems:"end",gap:"small"},Nn.createElement($0,{icon:Nn.createElement(X0,null),color:"inherit"}),Nn.createElement("span",null,"Start Recording"))),Qh=Y0;import Xt from"react";import{Arrange as Zh,Button as qh,Link as J0,Modal as Q0,Spacer as eE,Text as tE}from"@loomhq/lens";var rE=({open:e,onClose:t,onProceedClick:o})=>{let r=()=>t();return Xt.createElement(Q0,{title:"Your browser is blocking media devices",isOpen:e,onCloseClick:r,onBackgroundClick:r},Xt.createElement(Zh,{autoFlow:"row"},Xt.createElement(tE,null,"Heads up! To record audio and video, you must allow your browser to use your camera and microphone in your browser settings, then"," ",Xt.createElement(J0,{onClick:()=>window.location.reload()},"refresh the page"),"."),Xt.createElement(eE,{top:"medium"}),Xt.createElement(tE,{fontWeight:"bold"},"Do you wish to proceed anyway?"),Xt.createElement(eE,{bottom:"medium"}),Xt.createElement(Zh,{gap:"small",justifyContent:"end"},Xt.createElement(qh,{onClick:r},"Cancel Recording"),Xt.createElement(qh,{variant:"primary",onClick:()=>{o(),t()}},"Yes, proceed"))))};var ew=()=>{let[e,t]=oE(!1),[o,r]=oE(!1),{enablePartnerOwnership:n}=P(w=>({enablePartnerOwnership:w.settings.applicationConfig.enablePartnerOwnership})),i=q0(),a=!!P(A.selectDefaultWorkspace),c=P(A.selectWorkspacesFetched),u=P(A.selectHasReachedRecordingLimit),m=P(A.selectIsUserLoggedIn),p=P(A.selectIsUserViewOnly),d=P(A.selectSDKRecordingType),l=P(A.selectCameraId),f=!yr(l||""),h=P(A.selectMicrophoneId),v=!br(h||""),{loomVideo:S}=P(w=>({loomVideo:w.previewRecording.loomVideo})),{mediaDevicePermissions:y,permissionFailureReason:E}=P(({recorder:{mediaDevicePermissions:w,permissionFailureReason:N}})=>({mediaDevicePermissions:w,permissionFailureReason:N})),b=P(A.selectSdkProductName),g=P(A.selectSdkEntryPointName),C=y===Ps.PermissionState.Denied&&E===Ps.SDKPermissionFailureReason.ChromePermissionNotGranted,T=ht(),O=P(wt),D=()=>{C?r(!0):(i(_.trackAnalytics({event:La,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:fi,properties:{videoId:S==null?void 0:S.id,recordingType:d,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:f?gi:hi,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.trackAnalytics({event:v?Ei:Si,properties:{videoId:S==null?void 0:S.id,sdk_recorder_launch_app_source:b,sdk_recorder_launch_app_entrypoint:g}})),i(_.startRecording()),b&&i(_.trackAnalytics({event:Ai,properties:{sdk_recorder_launch_app_source:b,videoId:S==null?void 0:S.id,sdk_recorder_launch_app_entrypoint:g}}))),t(!0)};Z0(()=>{if(e){let w=setTimeout(()=>t(!1),1e3);return()=>clearTimeout(w)}},[e]);let U=()=>m&&(a&&!p||n)||m&&!c||!m?Vo.createElement($t,{onClick:D,disabled:e||u,isLoading:e,variant:"record",center:!0},"Start recording"):Vo.createElement(Qh,null);return Vo.createElement(Vo.Fragment,null,o&&Vo.createElement(rE,{onClose:()=>r(!1),open:o,onProceedClick:()=>{i(_.startRecording())}}),Vo.createElement(ir,{visible:T&&O==="readyToRecord"&&!e,color:"rgba(255, 55, 10, 0.60)"},U()))},nE=ew;var iE,ow=rw.div(iE||(iE=I(["\n display: flex;\n flex-direction: column;\n gap: ",";\n"])),"".concat(22,"px"));function nw(){return kn.createElement(ow,null,kn.createElement(Jh,null),kn.createElement(_h,null),kn.createElement(Xh,null),kn.createElement(nE,null))}var sE=nw;var lE=Y(J());import iw from"@emotion/styled";import nt from"react";import{Link as aE,Spacer as sw,Text as aw}from"@loomhq/lens";var cE,cw=iw.div(cE||(cE=I(["\n border-bottom: 1px solid var(--lns-color-formFieldBorder);\n"]))),lw=nt.createElement(nt.Fragment,null,"By signing up, you acknowledge that you",nt.createElement("br",null),"have read and understood, and agree to Atlassian\u2019s"," "),dw=nt.createElement(nt.Fragment,null,"By clicking Start Recording, I agree to ",nt.createElement("br",null),"Atlassian\u2019s"," "),uw=e=>e?lw:dw,pw=()=>{let e=P(A.selectIsUserLoggedIn),t=P(A.selectPreRecordPage)===lE.RecordingPage.SignUp;return e?null:nt.createElement(nt.Fragment,null,!t&&nt.createElement(sw,{top:"10px",bottom:"20px"},nt.createElement(cw,null)),nt.createElement("label",{htmlFor:"tos-accept"},nt.createElement(aw,{size:"body-sm",alignment:"center"},uw(t),nt.createElement(aE,{href:"https://www.atlassian.com/legal/atlassian-customer-agreement",target:"_blank"},"Terms")," ","&"," ",nt.createElement(aE,{href:"https://www.atlassian.com/legal/privacy-policy",target:"_blank"},"Privacy Policy"),".")))},Rs=pw;var hw=()=>{let e=P(A.selectVideoDurationLimit);return e?yt.createElement(yt.Fragment,null,yt.createElement(fw,{top:"10px"}),yt.createElement(mw,null,yt.createElement(gw,{fontWeight:"book",size:"body-sm",color:"bodyDimmed"},$g(e)," recording limit"))):null},dE=()=>yt.createElement(Kl,{width:"".concat(280,"px")},yt.createElement(Kl,{paddingLeft:"20px",paddingRight:2,paddingY:"var(--lns-space-xsmall)"},yt.createElement(ko,null)),yt.createElement(Kl,{paddingTop:"".concat(22,"px"),paddingX:"20px"},yt.createElement(sE,null),yt.createElement(hw,null),yt.createElement(Rs,null)));import EE from"@emotion/styled";import Ho from"react";import{Arrange as Cw,Link as Gl,Text as bw}from"@loomhq/lens";import{useSelector as uE}from"react-redux";var Hl={};je(Hl,{selectGenericErrorMessage:()=>Sw,selectMsgType:()=>vw,selectPreRecordPage:()=>Ew,selectUserDismissedRecorderEducationBanner:()=>Vl});import{createSelector as _s}from"@reduxjs/toolkit";var Ms=e=>e.preRecording,Ew=_s(Ms,e=>e.preRecordPage),Sw=_s(Ms,e=>e.genericErrorMessage),vw=_s(Ms,e=>e.msgType),Vl=_s(Ms,e=>e.userDismissedRecorderEducationBanner);var pE="shouldSeeRecorderEducationBanner",yw=1,Tw=()=>window.localStorage.getItem(pE),mE=e=>{window.localStorage.setItem(pE,e)},Bn=()=>{let e=Tw(),t=uE(mn),o=uE(Vl),{isAlertMessageShowing:r}=Er(),n=gn(),i=ht();return o||r||n||i||e==="false"?!1:t>=yw};var fE="https://www.loom.com/download",gE,Ow=EE.div(gE||(gE=I(["\n // pass in prop here to show correct background color\n // background-color: var(--lns-color-blurpleLight);\n background-color: #dbf0ff;\n padding: 20px;\n border-bottom-left-radius: 32px;\n border-bottom-right-radius: 32px;\n\n box-shadow: 0px 25px 30px rgb(0 0 0 / 35%);\n margin-top: ",";\n\n width: 100%;\n"])),e=>e.isVideoDurationLimitShowing?"6px":"18px"),hE,Iw=EE(Gl)(hE||(hE=I(["\n box-shadow: none;\n text-decoration: underline;\n text-align: center;\n padding-top: 10px;\n cursor: pointer;\n\n font-size: var(--lns-fontSize-small);\n line-height: var(--lns-lineHeight-body-sm);\n font-weight: var(--lns-fontWeight-book);\n color: black;\n width: 80px;\n"])));function SE(){let e=te(),t=!!P(A.selectVideoDurationLimit),o=P(A.selectUserId),r=P(A.selectDefaultWorkspaceId),n=P(A.selectSdkProductName),i=P(A.selectSdkEntryPointName),s=()=>{mE("false"),e(R.updateUserDismissedRecorderEducationBanner(!0))},a=({isDesktop:c})=>{e(_.trackAnalytics({event:c?uc:pc,properties:{user_id:o,organization_id:r,sdk_recorder_launch_app_source:n,sdk_recorder_launch_app_entrypoint:i}}))};return Ho.createElement(Ow,{isVideoDurationLimitShowing:t},Ho.createElement(Cw,{justifyContent:"center",autoFlow:"row",justifyItems:"center"},Ho.createElement(bw,{size:"body-sm",alignment:"center"},"Get the"," ",Ho.createElement(Gl,{href:fE,target:"_blank",onClick:()=>a({isDesktop:!1})},"Chrome extension")," ","or"," ",Ho.createElement(Gl,{href:fE,target:"_blank",onClick:()=>a({isDesktop:!0})},"Desktop app")," ","to use Loom anywhere."),Ho.createElement(Iw,{onClick:s},"Dismiss tip")))}import Aw from"@emotion/styled";import ye from"react";import{Arrange as xs,Button as Dw,Container as ws,Icon as Pw,Link as Rw,Spacer as _w,Text as zl}from"@loomhq/lens";import{SvgMail as Mw}from"@loomhq/lens/icons/mail";var vE,ww=Aw.div(vE||(vE=I(["\n border-radius: 0 0 32px 32px;\n height: 44px;\n width: 100%;\n background-color: var(--lns-color-disabledBackground);\n"]))),xw=()=>{let{loginUrl:e}=P(({recorder:{hostUrl:t}})=>{let o="".concat(t,"/login");return{loginUrl:new URL(o).toString()}});return ye.createElement(ye.Fragment,null,ye.createElement(_w,{y:"var(--lns-space-small)"}),ye.createElement(ww,null,ye.createElement(xs,{justifyContent:"center",alignContent:"center",autoFlow:"row",height:"100%"},ye.createElement(zl,{size:"body-sm",alignment:"center"},"Already have an account?"," ",ye.createElement(Rw,{href:e,target:"_blank"},"Sign in")))))},Lw=e=>e?"Create a free account to continue recording":"Create a free Loom account in seconds";function Nw(){let{signupUrl:e}=P(({settings:{applicationConfig:{signupWelcomeName:r,utm:n}},recorder:{hostUrl:i}})=>{let s="".concat(i,"/signup"),a=new URL(s);return r.length>0&&a.searchParams.append("welcome_from",r),Object.entries(n).filter(([u,m])=>m.length>0).forEach(([u,m])=>{a.searchParams.append(u,m)}),{signupUrl:a.toString()}}),t=P(A.selectHasReachedRecordingLimit),o=Lw(t);return ye.createElement(ws,{width:"".concat(280,"px")},ye.createElement(ws,{paddingLeft:"20px",paddingRight:2,paddingY:"var(--lns-space-xsmall)"},ye.createElement(ko,null)),ye.createElement(ws,{paddingTop:"".concat(22,"px"),paddingX:"20px"},ye.createElement(xs,{gap:"large",autoFlow:"row"},ye.createElement(zl,{size:"heading-sm",fontWeight:"bold",alignment:"center"},o),ye.createElement(zl,{size:"body-sm",alignment:"center"},"Logged out users are limited to five videos, ",ye.createElement("br",null),"create a free account to record more!"),ye.createElement(ws,null,ye.createElement(xs,{autoFlow:"row",gap:"small",justifyContent:"stretch"},ye.createElement(Dw,{htmlTag:"a",href:e,target:"_blank",hasFullWidth:!0},ye.createElement(xs,{gap:"small"},ye.createElement(Pw,{icon:ye.createElement(Mw,null)}),"Sign up for free")))),ye.createElement(Rs,null))),ye.createElement(xw,null))}var yE=Nw;import TE from"react";var CE=({mode:e})=>{let{hostUrl:t}=P(({recorder:r})=>r),o=new URL("".concat(t,"/integrations-app/sdk/storage-permissions"));return e.mode==="pending"?TE.createElement("div",null,"Loading"):(e.mode==="custom"?o.searchParams.set("jws",e.jws):o.searchParams.set("api_key",e.publicAppId),TE.createElement("iframe",{id:"storage-permissions-iframe",style:{border:"none",width:"100%",height:"100%"},title:"Storage Permissions",src:o.toString()}))};import Ct,{useEffect as sx,useMemo as ax}from"react";import{useDispatch as eS}from"react-redux";import{ErrorBoundary as cx}from"react-error-boundary";import Ls from"@emotion/styled";import{SvgExternalLink as lx}from"@loomhq/lens/icons/external-link";import{Link as tS,Icon as dx}from"@loomhq/lens";import Yt,{useState as kw}from"react";import oo from"@emotion/styled";import{Icon as bE}from"@loomhq/lens";import{SvgArrowLeft as Uw}from"@loomhq/lens/icons/arrow-left";import{SvgArrowRight as Bw}from"@loomhq/lens/icons/arrow-right";var OE,Fw=oo.div(OE||(OE=I(["\n position: relative;\n"]))),IE,Ww=oo.div(IE||(IE=I(["\n position: relative;\n overflow: hidden;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n"]))),AE,Kw=oo.div(AE||(AE=I(["\n width: 226px;\n min-height: 234px;\n display: flex;\n justify-content: space-between;\n gap: 16px;\n transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n transform: ","; // width + gap\n"])),({index:e})=>"translateX(-".concat(e*242,"px)")),DE,jw=oo.div(DE||(DE=I(["\n min-width: 226px;\n"]))),PE,ME=oo.button(PE||(PE=I(["\n position: absolute;\n top: 65px;\n transform: translateY(-50%);\n z-index: 1;\n background: var(--lns-color-offWhite);\n border-radius: 50%;\n border: 0;\n width: 32px;\n height: 32px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0px 3.38px 10.02px 0px rgba(0, 0, 0, 0.05);\n"]))),RE,Vw=oo(ME)(RE||(RE=I(["\n left: 12px;\n"]))),_E,Hw=oo(ME)(_E||(_E=I(["\n right: 12px;\n"]))),wE=({children:e,onScrollClick:t})=>{let[o,r]=kw(0),n=()=>{let a=Math.max(o-1,0);r(a),t("prev",o,a)},i=()=>{let a=Math.min(o+1,e.length-1);r(a),t("next",o,a)},s=e.length-1;return Yt.createElement(Fw,null,o!==0&&Yt.createElement(Vw,{onClick:n},Yt.createElement(bE,{icon:Yt.createElement(Uw,null),size:2})),Yt.createElement(Ww,null,Yt.createElement(Kw,{index:o},e.map((a,c)=>Yt.createElement(jw,{key:c},a)))),o!==s&&Yt.createElement(Hw,{onClick:i},Yt.createElement(bE,{icon:Yt.createElement(Bw,null),size:2})))};import Jt,{useState as Gw}from"react";import Or from"@emotion/styled";import{Link as zw,Loader as $w}from"@loomhq/lens";import{SvgClock as Xw}from"@loomhq/lens/icons/clock";var xE,Yw=Or.div(xE||(xE=I(["\n border-radius: 16px;\n background: var(--lns-color-offWhite);\n width: 226px;\n min-height: 234px;\n overflow: hidden;\n"]))),LE,Jw=Or.div(LE||(LE=I(["\n width: 100%;\n height: 148px;\n position: relative;\n"]))),NE,Qw=Or.iframe(NE||(NE=I(["\n width: 100%;\n height: 148px;\n border: 0;\n ","\n"])),({isLoading:e})=>e?"\n visibility: hidden;\n position: absolute;\n top: 0;\n left: 0;\n ":""),kE,Zw=Or.div(kE||(kE=I(["\n width: 100%;\n height: 148px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--lns-color-grey2);\n color: #888;\n font-size: 16px;\n"]))),UE,qw=Or.div(UE||(UE=I(["\n padding: 12px 16px;\n min-height: 86px;\n width: 100%;\n"]))),BE,ex=Or.div(BE||(BE=I(["\n min-height: 42px;\n"]))),FE,tx=Or(zw)(FE||(FE=I(["\n color: var(--lns-color-grey8);\n text-decoration: none;\n font-size: var(--lns-fontSize-medium);\n line-height: var(--lns-lineHeight-body-md);\n font-weight: var(--lns-fontWeight-bold);\n"]))),WE,rx=Or.div(WE||(WE=I(["\n color: var(--lns-color-grey5);\n padding-top: 10px;\n display: flex;\n align-items: center;\n gap: 6px;\n\n > span {\n height: 16px;\n width: 16px;\n > svg {\n height: 16px;\n width: 16px;\n }\n }\n"]))),KE=({id:e,duration:t,name:o,shareId:r,onClick:n})=>{let[i,s]=Gw(!0);return Jt.createElement(Yw,null,Jt.createElement(Jw,null,i&&Jt.createElement(Zw,null,Jt.createElement($w,null)),Jt.createElement(Qw,{src:"https://www.loom.com/embed/".concat(e,"?sid=").concat(r,"&hide_title=true&hide_speed=true&hideEmbedTopBar=true&hide_share=true"),isLoading:i,onLoad:()=>s(!1),title:"Loom video% - ".concat(o),allowFullScreen:!0})),Jt.createElement(qw,null,Jt.createElement(ex,null,Jt.createElement(tx,{href:"https://loom.com/share/".concat(e,"?sid=").concat(r),target:"_blank",onClick:()=>n(o)},o)),Jt.createElement(rx,null,Jt.createElement(Xw,null)," ",t)))};import{useCallback as ox,useState as nx,useMemo as ix}from"react";var W={asyncBrainstorming:{id:"5c7084dce13b4bbc882a3127461ea1d3",shareId:"8a99c731-768e-40d5-86d8-2ebf70e9931f",name:"Loom Use Case: Async Brainstorming with FigJam",duration:"2 mins"},bugReporting:{id:"ae496101aae14583980cd6eab62360dd",shareId:"e1c2a7b0-7e5e-4e2e-8b3d-2f5b7e8c9a1f",name:"Loom Use Case: QA / Reporting Bugs",duration:"1 min"},closeACandidate:{id:"ad665143bd394d808e4c34e6f5ddf7b9",shareId:"eaf6e7f2-052a-41e3-80da-97a293592e4f",name:"Loom Use Case - How to Close A Potential Candidate",duration:"2 mins"},codeReview:{id:"73071f693b9c4c7b8a43a7b3cbe2d8ea",shareId:"f9a8b7c6-5d4e-4c3b-8a2f-1e6d7c8b9a0e",name:"Loom Use Case: Code Review and Demo",duration:"3 mins"},copyFeedback:{id:"0cb69ad3ea4f436bb29a9a25d783aa79",shareId:"c63488c1-86e2-4315-a896-0bc028337a56",name:"Loom Use Case: Copy Feedback",duration:"30 secs"},designFeedback:{id:"197d7ead107148cd9512ae6e4b6a085c",shareId:"b7d3f2c1-4a6e-4e8b-9c2d-3e7f8a6b5c4d",name:"Loom Use Case: Design Feedback",duration:"2 mins"},designHandoff:{id:"90aa7dd3d9684de9a8c780befeefcb66",shareId:"97253152-fb29-402a-af6b-3001be45b773",name:"Loom Use Case: Design to developer hand-off",duration:"2 mins"},designReview:{id:"33f9c5dc0f8348c6bdd32d63f6f00223",shareId:"917095a7-7939-4c4d-bd93-fe9a5776f6db",name:"Loom Use Case - Pull Request",duration:"2 mins"},designSystemCollaboration:{id:"b5f75a66df3f4e41bd422f61cb27e9e8",shareId:"d2313451-93ef-4bbe-9695-19409f2071ec",name:"Loom Use Case: Design System Collaboration",duration:"2 mins"},diagramWalkthrough:{id:"bfad5e8907854db1b61e66a46553c28c",shareId:"52bbcc15-f8a5-4f8f-b8e7-ce60ec1db410",name:"Loom Use Case: Diagram Walkthrough",duration:"2 min"},emailCopyFeedback:{id:"57e37a60bce44aa0a7e974e37d2172f1",shareId:"d4e5f6a7-8b9c-4d3e-8a7b-6c5d4e3f2a1b",name:"Loom Use Case: Copy Feedback",duration:"1 min"},explainEmailFlow:{id:"d3399f924d82453dbf28bbcd511f6f09",shareId:"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",name:"Loom Use Case - Explain an Email Campaign Flow",duration:"1 min"},explainInternalProcess:{id:"9e649b8c9bcf4b258401fa13d9334cb7",shareId:"65366c29-06d1-4ad5-abf4-5bc0c45e641d",name:"Loom Use Case: Explain an Internal Process",duration:"5 mins"},giveFeedbackOnLandingPages:{id:"dee0353bfc374e56852be2c1746ab6de",shareId:"58a8fe4e-b81c-465a-a795-25bf3d6f3929",name:"Loom Use Case: Give Feedback on Landing Pages",duration:"1 min"},infrastructureWalkthrough:{id:"5834d994b3bb4eb991852ce11e65c933",shareId:"70571ffa-b80e-42b1-a4db-cd3474ce7695",name:"Loom Use Case: Infrastructure Walkthrough",duration:"1 min"},internalComms:{id:"d356cb172656442b8b17d5a2213eea83",shareId:"6ed9e76a-6b50-4a07-8eee-67bbed247f5f",name:"Loom Use Case: Internal Comms",duration:"4 mins"},kickOff:{id:"f3a4cf99f017400e9e1085c8549de8b2",shareId:"80e407c8-cdc5-4007-9499-89ca96daec05",name:"Loom Use Case: Kickoff a Company Initiative",duration:"2 mins"},launchingAWebinar:{id:"870117094ef54f0a9476134843c5db2d",shareId:"2982338f-98d5-4572-b18e-27cd22c1dba1",name:"Loom Use Case: Launching a webinar or workshop",duration:"2 mins"},loomxConfluence:{id:"4e3444ecb77247ecbb6e32ab86fcecc5",shareId:"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",name:"Loom and Confluence",duration:"1 min"},loomxJira:{id:"11610a864eb44129a6db16d6d72456e1",shareId:"c4d5e6f7-a8b9-4c0d-8e7f-6a5b4c3d2e1f",name:"Loom and Jira",duration:"1 min"},marketingCampaignReview:{id:"b45997e3ce6d4f69bd2c35ed55cae063",shareId:"89858d61-b82b-499c-af4f-39818614dea2",name:"Loom Use Case: Marketing Campaign Review",duration:"3 mins"},marketingOps:{id:"8aca745885c741f8830a431eefe7bdaa",shareId:"5431943a-2f9a-4f09-a2df-d193c13b9cf0",name:"3 Loom Use Cases for Marketing Ops",duration:"2 mins"},midweekStatusUpdate:{id:"cdca2f74fedc4a119df8219a8c86cd8c",shareId:"c3b2a1d0-9e8f-4d7c-8b6a-5e4f3d2c1b0a",name:"Loom Use Case - Send a Midweek Status Update",duration:"1 min"},productFeatureAnalysis:{id:"6691af1dc58b4cd6b0f074c435859fec",shareId:"85b0ddcb-c45d-4648-8567-39fc68fde08c",name:"Loom Use Case: Walking through a product/feature analysis",duration:"1 min"},productKickOff:{id:"b6a0cc53d9a8443d842170895839543e",shareId:"94711b9b-da3d-4bb3-821b-01d9300c7d4a",name:"Loom Use Case: Product Kickoff",duration:"1 min"},productRoadmap:{id:"fc8cee3a6f514d32a5bcb0cd1ef391ca",shareId:"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",name:"Loom Use Case: Product Roadmap Planning and Review",duration:"1 min"},prototypeWalkthrough:{id:"184bd186134943d5b58a72fd29242ddf",shareId:"b1817d4f-5ccc-4663-a45f-4123d99e3cdd",name:"Loom Use Case: Prototype Walkthrough",duration:"1 min"},replaceMeeting:{id:"9d9ea1f5a90c461595b7c4e0104327e9",shareId:"423165bc-3e9d-431d-8d5c-ff766d91d477",name:"Loom Use Case: Replace a meeting with an async update",duration:"1 min"},salesReachOuts:{id:"94b9a9dbe2304e408e34113bf7c94723",shareId:"e66be959-2033-4a1d-93c4-ea6f6d3b9467",name:"Loom Use Case: Sales reach outs and prospect nurturing",duration:"2 mins"},screenEngagementTips:{id:"002508e86fde4232bb8de474eb5c65c4",shareId:"8ff9dc14-c535-4e30-a1d1-0386eb09b661",name:"Screen and engagement tips",duration:"2 mins"},welcomingTeammates:{id:"19d8c96aa08a4619ba7f15b26df04a95",shareId:"d1f59d25-ffd6-464e-a790-cdc67784ea54",name:"Loom Use Case: Welcoming Teammates",duration:"1 mins"}},$l={commentEditor:"comment-editor",editorSpotlight:"editor-spotlight",editorToolbar:"editor-toolbar",globalCreateContentPopover:"globalCreateContentPopover",insertLink:"insert-link",jiraIssueViewLoomSectionActionsMenuAddButton:"jiraIssueView_loomSectionActionsMenuAddButton",jiraIssueViewQuickAdd:"jiraIssueView_quickAdd",jiraIssueViewQuickAddCrossflow:"jiraIssueView_quickAdd_crossflow",jsmIssueViewCustomerReplyCrossflow:"jsmIssueView_customerReply_crossflow",openOnLoom:"open-on-loom",pageHeader:"pageHeader",whiteboards:"whiteboards",contextualCreate:"spaceLevelContextualCreate"},jE=Object.values($l),Xl={confluence:"Confluence",jiraProductDiscovery:"JPD",jiraServiceManagement:"JSM",jiraSoftware:"JSW",jiraWorkManagement:"JWM"},VE=Object.values(Xl),Oe={customerService:"Customer Service",dataScience:"Data Science",design:"Design",finance:"Finance",humanResources:"Human Resources",itSupport:"IT Support",legal:"Legal",marketing:"Marketing",operations:"Operations",otherOrPersonal:"Other or Personal",productManagement:"Product Management",projectManagement:"Project Management",sales:"Sales",skip:"Skip",softwareDevelopment:"Software Development"},A7=Object.values(Oe),HE={bug:"Bug"};var Tt=e=>e[Math.floor(Math.random()*e.length)],GE=(e,t)=>{if(e===$l.commentEditor)return[W.loomxConfluence,Tt([W.copyFeedback,W.emailCopyFeedback]),Tt([W.giveFeedbackOnLandingPages,W.designFeedback])];switch(t){case Oe.productManagement:case Oe.projectManagement:return[W.loomxConfluence,Tt([W.productKickOff,W.diagramWalkthrough,W.productFeatureAnalysis]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])];case Oe.softwareDevelopment:case Oe.itSupport:return[W.loomxConfluence,W.codeReview,W.infrastructureWalkthrough];case Oe.sales:return[W.loomxConfluence,W.salesReachOuts,W.closeACandidate];case Oe.design:return[W.loomxConfluence,W.designSystemCollaboration,W.asyncBrainstorming];case Oe.marketing:return[W.loomxConfluence,W.marketingOps,Tt([W.marketingCampaignReview,W.launchingAWebinar])];case Oe.operations:case Oe.dataScience:return[W.loomxConfluence,W.internalComms,W.productFeatureAnalysis];case Oe.finance:return[W.loomxConfluence,W.kickOff,W.explainInternalProcess];default:return[W.loomxConfluence,Tt([W.productFeatureAnalysis,W.diagramWalkthrough,W.welcomingTeammates]),Tt([W.productKickOff,W.productRoadmap,W.explainEmailFlow,W.prototypeWalkthrough])]}},zE=(e,t)=>{if(t===HE.bug)return[W.loomxJira,W.bugReporting,W.codeReview];switch(e){case Oe.productManagement:case Oe.projectManagement:return[W.loomxJira,Tt([W.productKickOff,W.diagramWalkthrough,W.productFeatureAnalysis]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])];case Oe.softwareDevelopment:case Oe.itSupport:return[W.loomxJira,W.codeReview,W.infrastructureWalkthrough];case Oe.sales:return[W.loomxJira,W.salesReachOuts,W.closeACandidate];case Oe.design:return[W.loomxJira,W.designSystemCollaboration,W.asyncBrainstorming];case Oe.marketing:return[W.loomxJira,W.marketingOps,Tt([W.marketingCampaignReview,W.launchingAWebinar])];case Oe.operations:case Oe.dataScience:return[W.loomxJira,W.internalComms,W.productFeatureAnalysis];case Oe.finance:return[W.loomxJira,W.kickOff,W.explainInternalProcess];default:return[W.loomxJira,Tt([W.codeReview,W.productFeatureAnalysis,W.diagramWalkthrough]),Tt([W.replaceMeeting,W.midweekStatusUpdate,W.designFeedback])]}};var $E="shouldSeeExamplesModal",XE=()=>{let[e,t]=nx(()=>{let r=window.localStorage.getItem($E);return!r||r==="true"}),o=ox(r=>{window.localStorage.setItem($E,r.toString()),t(r)},[]);return[e,o]},YE=(e,t,o,r)=>ix(()=>o===Xl.confluence?GE(t,e):zE(e,r),[e,t,o,r]);var JE,ux=Ls(tS)(JE||(JE=I(["\n box-shadow: none;\n text-align: center;\n color: var(--lns-color-blurpleStrong);\n padding-top: 10px;\n text-decoration: none;\n font-size: var(--lns-fontSize-medium);\n line-height: var(--lns-lineHeight-body-md);\n font-weight: var(--lns-fontWeight-bold);\n"]))),QE,px=Ls.div(QE||(QE=I(["\n background: #e6e9ff;\n margin-top: ",";\n padding-top: 25px;\n padding-bottom: 24px;\n border-radius: 32px;\n box-shadow:\n 0px 0px 20px rgba(0, 0, 0, 0.15),\n 0px 25px 30px rgba(0, 0, 0, 0.35);\n"])),({withBanner:e})=>e?"18px":"36px"),ZE,mx=Ls.div(ZE||(ZE=I(["\n padding-left: 24px;\n padding-right: 17px;\n display: flex;\n justify-content: space-between;\n padding-bottom: 15px;\n font-weight: 700;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: -0.1px;\n"]))),qE,fx=Ls.div(qE||(qE=I(["\n padding-top: 18px;\n display: flex;\n justify-content: center;\n"]))),gx=({onDismiss:e})=>{let t=eS(),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),{jiraIssueType:n,teamType:i}=P(A.selectSdkExperimentalFeatures)||{},s=YE(i,r,o,n),a=Bn(),c=ax(()=>({jobFunction:i,jiraIssueType:n,exampleVideos:s.map(l=>l.name)}),[i,s,n]);sx(()=>{t(_.trackAnalytics({event:fc,properties:c}))},[t,s,r,o,c]);let u=()=>t(_.trackAnalytics({event:hc,properties:c})),m=()=>{t(_.trackAnalytics({event:gc,properties:c})),e()},p=(l,f,h)=>t(_.trackAnalytics({event:Ec,properties:ne(x({},c),{currentExampleVideo:c.exampleVideos[f],nextExampleVideo:c.exampleVideos[h],direction:l})})),d=l=>t(_.trackAnalytics({event:vc,properties:{jobFunction:i,currentExampleVideo:l}}));return Ct.createElement(px,{withBanner:a},Ct.createElement(mx,null,Ct.createElement("span",null,"Inspiration"),Ct.createElement(tS,{href:"https://loom.com/",onClick:u,target:"_blank"},Ct.createElement(dx,{icon:Ct.createElement(lx,null),size:"3",color:"grey8"}))),Ct.createElement(wE,{onScrollClick:p},s.map(l=>Ct.createElement(KE,{id:l.id,shareId:l.shareId,duration:l.duration,name:l.name,key:l.id,onClick:d}))),Ct.createElement(fx,null,Ct.createElement(ux,{onClick:m},"Dismiss")))},rS=()=>{let[e,t]=XE(),o=eS();return e?Ct.createElement(cx,{onError:()=>{o(_.trackAnalytics({event:Sc}))},FallbackComponent:()=>null},Ct.createElement(gx,{onDismiss:()=>{t(!1)}})):null};var yx={[ue.RecordingPage.Settings]:335-vs,[ue.RecordingPage.PreRecord]:335-vs,[ue.RecordingPage.SignUp]:365},aS,Tx=CS(aS||(aS=I(["\n 0% {\n right: -","px;\n }\n 100% {\n right: ","px;\n }\n"])),450,25),cS,Cx=CS(cS||(cS=I(["\n 0% {\n right: ","px;\n }\n 100% {\n display: none;\n right: -","px;\n }\n"])),25,450),lS,bx=Qt(lS||(lS=I(["\n animation: "," ","ms\n "," forwards;\n transition:\n width ","ms ",",\n height ","ms ",";\n"])),Tx,500,sl,333,al,333,al),dS,Ox=Qt(dS||(dS=I(["\n animation: "," ","ms\n "," forwards;\n"])),Cx,500,sl),uS,pS,mS,fS,gS,hS,ES,SS,Ix={[ue.RecordingPage.PreRecord]:Qt(uS||(uS=I(["\n padding-bottom: 20px;\n "]))),[ue.RecordingPage.StoragePermissions]:Qt(pS||(pS=I(["\n width: 360px;\n height: 457px;\n "]))),[ue.RecordingPage.SignUp]:Qt(mS||(mS=I(["\n height: ","px;\n padding-bottom: 20px;\n "])),455),[ue.RecordingPage.VideoLimit]:Qt(fS||(fS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.NetworkError]:Qt(gS||(gS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.GenericError]:Qt(hS||(hS=I(["\n width: ","px;\n height: 457px;\n "])),360),[ue.RecordingPage.ScreenSystemPermissions]:Qt(ES||(ES=I(["\n height: ","px;\n width: ","px;\n "])),460,400),[ue.RecordingPage.AudioCameraSystemPermissions]:Qt(SS||(SS=I(["\n height: ","px;\n width: ","px;\n "])),460,400)},vS,Ax=vx.div(vS||(vS=I(["\n background-color: var(--lns-color-background);\n border-radius: ",";\n box-shadow: ",";\n height: ","px;\n min-height: ","px;\n max-height: ","px;\n overflow: ",";\n position: absolute;\n padding-top: 16px;\n top: ","px;\n width: ","px;\n\n ","\n\n ","\n ","\n\n ","\n"])),e=>e.page!==ue.RecordingPage.SignUp&&e.page!==ue.RecordingPage.StoragePermissions&&!e.isDownloadDesktopBannerShowing&&!e.isUnsupportedBrowserBannerShowing&&(e.isAlertMessageShowing||e.isOnboardingBannerShowing||e.isRecorderEducationBannerShowing)?"32px 32px 0px 0px":"32px",e=>e.withDarkMode?Po:Do,335,200,560,e=>e.isPageTransition?"hidden":"visible",25,280,bx,e=>Ix[e.page],e=>e.calculatedHeight&&"height: ".concat(e.calculatedHeight+hg({page:e.page,isVideoDurationLimitShowing:e.isVideoDurationLimitShowing||!1,isConsentStatementShowing:e.isConsentStatementShowing||!1}),"px"),e=>e.slideOut&&Ox),sS={[ue.RecordingPage.VideoLimit]:yi,[ue.RecordingPage.NetworkError]:Ti,[ue.RecordingPage.GenericError]:Ci,[ue.RecordingPage.SignUp]:bi,[ue.RecordingPage.ScreenSystemPermissions]:Oi,[ue.RecordingPage.AudioCameraSystemPermissions]:Ii,[ue.RecordingPage.PreRecord]:vi},Dx=()=>{let e=gn(),t=Mm(),o=e&&t,r=Bn();return o?Be.createElement(Hg,null):r?Be.createElement(SE,null):null},Px=({currentPage:e,isLoomExamplesInSdkModalEnabled:t})=>{let o=bS(),r=P(A.selectSdkProductName),n=P(A.selectSdkEntryPointName),i=P(A.selectSdkMode);switch(Ql(()=>{sS[e]!==void 0&&o(_.trackAnalytics({event:sS[e]||"",properties:{sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}}))},[o,e,r,n]),e){case ue.RecordingPage.VideoLimit:return Be.createElement(Kg,null);case ue.RecordingPage.NetworkError:return Be.createElement(jg,null);case ue.RecordingPage.GenericError:return Be.createElement(Wg,null);case ue.RecordingPage.StoragePermissions:return Be.createElement(CE,{mode:i});case ue.RecordingPage.SignUp:return Be.createElement(yE,null);case ue.RecordingPage.ScreenSystemPermissions:return Be.createElement(kl,{modalType:"screen"});case ue.RecordingPage.AudioCameraSystemPermissions:return Be.createElement(kl,{modalType:"audioOrCam"});default:return Be.createElement(Be.Fragment,null,Be.createElement(dE,null),Be.createElement(gg,null),Be.createElement(Og,null),Be.createElement(Dx,null),t&&Be.createElement(rS,null))}},Rx=({page:e})=>{var C,T;let[t,o]=iS(e),r=bS(),n=!!P(A.selectVideoDurationLimit),i=!P(A.selectIsUserLoggedIn),[s,a]=iS(!1),c=P(A.selectSdkEntryPointName),u=e!==t,{isAlertMessageShowing:m}=Er(),p=gn(),d=ht(),l=P(A.selectSdkProductName),f=P(A.selectFeatureFlags),h=P(wt),v=(T=(C=f.flagResults)==null?void 0:C.loom_examples_in_sdk_experiment)==null?void 0:T.result,S=Bn(),y=P(A.selectGenericErrorMessage),E=y===st.DownloadDesktopApp,b=y===st.UnsupportedBrowser;Ql(()=>{c&&jE.includes(c)&&l&&VE.includes(l)&&!d&&!i?(a(!0),r(_.getIndividualExperimentValue({experimentName:"loom_examples_in_sdk_experiment"}))):a(!1)},[c,d,i,l,a,r]),ig(),Ql(()=>{e!==t&&setTimeout(()=>o(e),333)},[e,t]);let g=s&&v=="Variation";return Be.createElement(ir,{visible:d&&h==="checkYourSettings"},Be.createElement(Ax,{isPageTransition:u,page:e,slideOut:!1,isAlertMessageShowing:m,isOnboardingBannerShowing:p,isRecorderEducationBannerShowing:S,isDownloadDesktopBannerShowing:E,isUnsupportedBrowserBannerShowing:b,canSeeTutorial:!1,withDarkMode:!1,isVideoDurationLimitShowing:n,isConsentStatementShowing:i,calculatedHeight:yx[e]},Be.createElement(Px,{currentPage:e,isLoomExamplesInSdkModalEnabled:g})))},OS=Rx;var wx="preRecordingMenu",IS,xx=_x.div(IS||(IS=I(["\n pointer-events: all;\n z-index: ",";\n\n position: absolute;\n right: 0;\n top: 0;\n\n transition:\n right 1s ",",\n height 0.2s ease-in-out; // http://easings.net/#easeOutExpo\n width: 400px;\n top: var(--lns-space-large);\n right: ",";\n"])),2147483646,Fm,e=>e.isOpen?"var(--lns-space-large)":"-400px");function Lx(){let{appStage:e}=P(({recorder:r})=>({appStage:r.appStage})),t=te(),o=P(A.selectPreRecordPage);return wm(),Mx("esc",r=>{r.preventDefault(),r.stopPropagation(),e===Fn.RecordingStage.PreRecording&&t(R.updateRecordingStage({appStage:Fn.RecordingStage.Closed}))},{keyup:!0,enabled:e===Fn.RecordingStage.PreRecording}),no.createElement(no.Fragment,null,no.createElement(xx,{id:wx,isOpen:e===Fn.RecordingStage.PreRecording},no.createElement(qf,null),no.createElement(Qf,null),no.createElement(Zf,null),no.createElement(OS,{page:o})))}var AS=Lx;var jy=Y(J());import fd from"@emotion/styled";import Yo,{useEffect as dU}from"react";import{useDispatch as uU,useSelector as By}from"react-redux";import{css as kx}from"@emotion/react";import ks from"@emotion/styled";import Wn from"react";import Nx from"react";var DS=()=>Nx.createElement(vt,{step:"shareYourVideo"});var PS,Ux=ks.div(PS||(PS=I(["\n position: relative;\n background-color: white;\n display: block;\n width: 100%;\n ","\n"])),e=>"pointer-events: ".concat(e.isAiDropdownOpen?"none":"all",";")),RS,Bx=ks.div(RS||(RS=I(["\n margin: 0px 24px;\n"]))),_S,Fx=ks.div(_S||(_S=I(["\n height: 0;\n width: 100%;\n padding-bottom: 56.25%;\n position: relative;\n"]))),MS,Wx=kx(MS||(MS=I(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n border-radius: var(--lns-radius-large);\n"]))),wS,Kx=ks.iframe(wS||(wS=I(["\n ",";\n"])),Wx),xS=()=>{let{loomVideo:e,applicationConfig:t,aaid:o}=P(({previewRecording:{loomVideo:s,confirm:a},settings:{applicationConfig:c,aaid:u}})=>({loomVideo:s,confirm:a,applicationConfig:c,aaid:u})),r=P(A.selectIsAiDropdownOpen),n=["hide_speed=true","hide_owner=true","hide_share=true","show_powered_by_loom=".concat(t.removeLoomBranding),"simplify_player=true",...o.length>0?["aaid=".concat(o)]:[]],i="".concat(e==null?void 0:e.embedUrl,"?").concat(n.join("&"));return Wn.createElement(Ux,{className:"theme-dark",isAiDropdownOpen:r},Wn.createElement(Bx,{"aria-label":e==null?void 0:e.title},Wn.createElement(Fx,null,Wn.createElement(Kx,{"aria-label":"Loom recording",src:i,frameBorder:"0"}),Wn.createElement(DS,null))))};var py=Y(J());import Le from"react";import{useHover as Sk}from"react-laag";import{shallowEqual as dy,useDispatch as vk}from"react-redux";import{Arrange as uy,IconButton as my,Spacer as yk,TooltipBox as Tk}from"@loomhq/lens";import{SvgClose as Ck}from"@loomhq/lens/icons/close";import{SvgReplay as bk}from"@loomhq/lens/icons/replay";import{SvgScissors as Ok}from"@loomhq/lens/icons/scissors";import{SvgTrash as Ik}from"@loomhq/lens/icons/trash";var io=async(e,t)=>{try{await navigator.clipboard.writeText(e)}catch(o){t(_.trackAnalytics({event:Pi,properties:{error:o.toString()}})),jx(e,t)}},jx=(e,t)=>{let o=document.createElement("textarea");o.value=e,o.style.top="0",o.style.left="0",o.style.position="fixed",document.body.appendChild(o),o.focus(),o.select();try{if(!document.execCommand("Copy"))throw new Error("document.execCommand failed")}catch(r){t(_.trackAnalytics({event:Ri,properties:{error:r.toString()}}))}o.remove()};import{keyframes as bL}from"@emotion/react";import Kn from"@emotion/styled";import $e,{useCallback as OL}from"react";import{useDispatch as cv,useSelector as Go}from"react-redux";import{Arrange as ev,IconButton as IL,Logo as AL,Text as DL,TextButton as PL}from"@loomhq/lens";import{SvgChevronDown as RL}from"@loomhq/lens/icons/chevron-down";import Ot from"react";import{useDispatch as Zx,useSelector as ql}from"react-redux";import{Arrange as qx,Icon as ed}from"@loomhq/lens";import{SvgAutoChapters as eL}from"@loomhq/lens/icons/auto-chapters";import{SvgAutoSummaries as tL}from"@loomhq/lens/icons/auto-summaries";import{SvgQuickEdit as rL}from"@loomhq/lens/icons/quick-edit";import VS from"@emotion/styled";import bt from"react";import{useHover as Vx}from"react-laag";import{Arrange as Hx,Spacer as Gx,Icon as FS,Text as WS,TextButton as zx}from"@loomhq/lens";import{SvgChevronRight as $x}from"@loomhq/lens/icons/chevron-right";import kS from"@emotion/styled";var LS,US=kS.div(LS||(LS=I(["\n position: absolute;\n width: 36px;\n height: 36px;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background: linear-gradient(to right, rgba(80, 108, 215, 1), rgba(156, 155, 230, 1), rgba(214, 83, 187, 1)) border-box;\n -webkit-mask:\n linear-gradient(#fff 0 0) padding-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n ":"\n border-color: var(--lns-color-border);\n "),NS,BS=kS.div(NS||(NS=I(["\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background-color: #F5F5FF;\n ":"\n background-color: transparent;\n ");var Us=({text:e,icon:t,onClick:o,description:r,highlightIcon:n})=>{let i=()=>{o&&o()},s={width:"100%",height:"100%",padding:0},[a,c]=Vx();return bt.createElement(Xx,x({},c),bt.createElement(zx,{style:s,onClick:i},bt.createElement(Yx,null,bt.createElement(Hx,{columns:["auto","1fr","auto"],justifyContent:"stretch",width:"100%"},bt.createElement(BS,{highlightIcon:n},bt.createElement(FS,{icon:t,size:2,color:n?"body":"bodyDimmed",style:{position:"absolute"}}),bt.createElement(US,{className:"icon-circle",highlightIcon:n})),bt.createElement(Gx,{left:"12px"},bt.createElement(WS,{alignment:"left",color:n?void 0:"bodyDimmed"},e),r&&bt.createElement(WS,{alignment:"left",color:"bodyDimmed",size:"body-sm"},r)),a&&bt.createElement(FS,{icon:bt.createElement($x,null),size:2})))))},KS,Xx=VS.div(KS||(KS=I(["\n & button:hover {\n background: none;\n outline: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n }\n"]))),jS,Yx=VS.div(jS||(jS=I(["\n width: 100%;\n padding: 8px;\n"])));var Jx={Title:{aiGenerated:"Title added",noAi:"Add a title",noAccess:"Upgrade to add a title"},Summary:{aiGenerated:"Summary added",noAi:"Add a summary",noAccess:"Upgrade to add a summary"},Chapters:{aiGenerated:"Chapters added",noAi:"Add chapters",noAccess:"Upgrade to add chapters"}},Qx={Title:{desc:"Drive engagement with better titles"},Summary:{desc:"Give a preview of your video"},Chapters:{desc:"Time-stamps add organization"}},Bs=({featureName:e,aiGenerated:t})=>{let o=Jx[e],r=t?o.aiGenerated:o.noAi;return r!=null?r:""},Fs=({featureName:e})=>{let t=Qx[e].desc;return t!=null?t:""};var HS=()=>{let e=Zx(),t=()=>{e(R.updateIsInTitleEditMode(!0)),e(R.updateIsAiDropdownOpen(!1))},o=()=>{e(R.updateIsInSummaryEditMode(!0))},r=()=>{e(R.updateIsInChaptersEditMode(!0))},i=ql(A.selectAutoTitleStatus)===Je.Auto,a=ql(A.selectAutoDescriptionStatus)===Je.Auto,u=ql(A.selectAutoChaptersStatus)===rr.Success;return Ot.createElement(qx,{autoFlow:"row",justifyContent:"stretch",gap:"small"},Ot.createElement(Ot.Fragment,null,Ot.createElement(Us,{highlightIcon:i,text:Bs({featureName:"Title",aiGenerated:i}),icon:Ot.createElement(ed,{color:i?"body":"bodyDimmed",icon:Ot.createElement(rL,null),size:2}),onClick:t,description:Fs({featureName:"Title"})}),Ot.createElement(Us,{highlightIcon:a,text:Bs({featureName:"Summary",aiGenerated:a}),icon:Ot.createElement(ed,{color:a?"body":"bodyDimmed",icon:Ot.createElement(tL,null),size:2}),onClick:o,description:Fs({featureName:"Summary"})}),Ot.createElement(Us,{highlightIcon:u,text:Bs({featureName:"Chapters",aiGenerated:u}),icon:Ot.createElement(ed,{color:u?"body":"#86809A",icon:Ot.createElement(eL,null),size:2}),onClick:r,description:Fs({featureName:"Chapters"})})))};var rd=Y(J());import we,{useEffect as SL,useState as Ks}from"react";import{useDispatch as vL,useSelector as Ir}from"react-redux";import{Arrange as js,Button as JS,IconButton as QS,Spacer as Vs,Text as ZS,Textarea as yL}from"@loomhq/lens";import{SvgChevronLeft as TL}from"@loomhq/lens/icons/chevron-left";import{SvgInfo as CL}from"@loomhq/lens/icons/info";import oL from"@emotion/styled";import Ws from"react";import{Arrange as nL,Link as iL,Text as sL}from"@loomhq/lens";var aL="https://support.loom.com/hc/en-us/articles/11331500832157",GS,cL=oL.div(GS||(GS=I(["\n padding: var(--lns-space-medium);\n background: var(--lns-color-background);\n border-radius: var(--lns-radius-large);\n border: 1px solid var(--lns-color-border);\n box-shadow: var(--lns-shadow-small);\n width: 322px;\n height: 161px;\n top: 95px;\n left: 35px;\n position: absolute;\n"]))),zS=()=>Ws.createElement(cL,null,Ws.createElement(nL,{gap:"small",autoFlow:"row"},Ws.createElement(sL,{color:"bodyDimmed"},"You can add chapters to any Loom by adding a list of ascending timestamps and chapter titles. Chapters must start at 00:00 and be at least 5 seconds long."),Ws.createElement(iL,{href:aL,target:"_blank"},"\u{1F517} Learn more")));var lL="Your chapters are out of order.",dL="You are missing a chapter starting at 0:00.",uL="You need at least two chapters.",pL="Please have at most 15 chapters.",$S="Chapters must be at least 5 seconds long.",mL="Timestamps must be within the video duration.",fL=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d)$/),YS=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d) /),XS=e=>{let t=e.length===0,o=fL.test(e);if(t||!o)return null;let r=e.split(":").reverse(),[n,i,s]=r,a=s?Number(s)*60*60:0,c=Number(i)*60;return a+c+Number(n)},gL=["0:00","00:00","0:00:00","00:00:00"],td=(e,t)=>{var s;if(e===null||e.length===0||!t)return{chapters:null,error:null};let o=e.split("\n"),r=[];for(let a=0;a<o.length;a++){let c=o[a],u=r[r.length-1];if(!c.match(YS))continue;let{timestamp:m="",chapter:p=""}=(s=EL(c,t))!=null?s:{};if(u==null&&!gL.includes(m))return{chapters:null,error:dL};if(!m||!p)return{chapters:null,error:null};if(u){let d=XS(u.timestamp),l=XS(m);if(l===null||d===null)return{chapters:null,error:null};if(t&&l>t)return{chapters:null,error:mL};if(l<d)return{chapters:null,error:lL};if(l-d<5)return{chapters:null,error:$S};let f=a===o.length-1,h=t-l;if(f&&h<5)return{chapters:null,error:$S}}r.push({timestamp:m,chapter:p})}let n=r.length;return n<2?{chapters:null,error:uL}:n>15?{chapters:null,error:pL}:{chapters:r.map(a=>"".concat(a.timestamp," ").concat(a.chapter)).join("\n"),error:null}},hL=(e,t)=>{let o=e.replace(/:/g,"");o=o.replace(/^0+/,"");let r=3;return t&&t>=36e3?r=6:t&&t>=3600?r=5:t&&t>=600&&(r=4),o=o.padStart(r,"0"),o.split("").reverse().join("").replace(/(\d{2})(?=\d)/g,"$1:").split("").reverse().join("")},EL=(e,t)=>{let o=e.match(YS);if(o){let r=o[0].trim(),n=hL(r,t),i=r.length,s=e.substring(i+1);return{timestamp:n,chapter:s}}return null};var qS=()=>{let e=vL(),t=Ir(A.selectLoomVideoId),o=Ir(A.isInSummaryEditMode),r=Ir(A.isInChaptersEditMode),i=Ir(A.selectAutoDescriptionStatus)===Je.Auto,s=Ir(A.selectDescription),c=Ir(A.selectAutoChaptersStatus)===rr.Success,u=Ir(A.selectChapters),m=Ir(A.selectDuration),[p,d]=Ks(""),[l,f]=Ks(s),[h,v]=Ks(u),[S,y]=Ks(!1),E=D=>{let U=D.target.value;if(o)f(U);else{let w=td(U,m);d(w==null?void 0:w.error),v(U)}},b=()=>{e(R.updateIsInChaptersEditMode(!1)),e(R.updateIsInSummaryEditMode(!1)),e(R.updateIsAiDropdownOpen(!0))};SL(()=>{o&&i&&s?f(s):r&&c&&u&&v(u)},[s,u,o,r,i,c]);let g=()=>o?!i:r?!c:!0,C=()=>o?"Add a summary...":"0:00 Chapter 1\n0:00 Chapter 2\n0:00 Chapter 3\n",T=()=>{t&&(o?(e(R.updateSavedToastContent(rd.ToastContent.Summary)),e(_.updateVideoDescription({id:t,description:l||""})),e(R.updateIsInSummaryEditMode(!1))):(e(R.updateSavedToastContent(rd.ToastContent.Chapters)),e(_.updateVideoChapters({id:t,chapters:h||""})),e(R.updateIsInChaptersEditMode(!1))))},O=()=>{var U;if(o)return;let D=(U=td(h,m||0))==null?void 0:U.error;if(D!=null)return D};return we.createElement(js,{autoFlow:"row",justifyContent:"stretch"},we.createElement(js,{autoFlow:"column",gap:"small"},we.createElement(QS,{altText:"Back",onClick:b,icon:we.createElement(TL,null)}),we.createElement(ZS,{size:"body-lg",fontWeight:"bold"},"Edit ","".concat(o?"summary":"chapters"))),we.createElement(Vs,{bottom:"10px"}),we.createElement(js,{autoFlow:"column"},we.createElement(ZS,{size:"body-md"},o?"Summary":"Chapters"),r?we.createElement(we.Fragment,null,we.createElement(QS,{altText:"More information",iconColor:"bodyDimmed",icon:we.createElement(CL,null),onClick:()=>y(!S),size:"small"}),S?we.createElement(zS,null):null):null),we.createElement(Vs,{bottom:"18px"}),we.createElement(yL,{resize:"none",rows:8,placeholder:C(),autoFocus:g(),error:O(),value:o?l:h,onChange:E}),p?we.createElement(Vs,{bottom:"xsmall"}):we.createElement(Vs,{bottom:"medium"}),we.createElement(js,{autoFlow:"column",gap:"small",justifyContent:"end"},we.createElement(JS,{onClick:b},"Cancel"),we.createElement(JS,{variant:"primary",onClick:T,disabled:r&&p!==null},"Save")))};var _L="linear-gradient(\n 59.92deg,\n #9f92ec -24.37%,\n #f9f9ff 34.05%,\n #f9f9ff 65.15%,\n #f29ed5 90.96%\n)",rv,ML=bL(rv||(rv=I(["\n 0% {\n transform: rotateY(0deg);\n }\n 60% {\n transform: rotateY(360deg);\n }\n 100% {\n transform: rotateY(360deg); // do nothing\n }\n"]))),ov,wL=Kn.div(ov||(ov=I(["\n animation: "," 2s linear 2;\n"])),ML),tv=()=>$e.createElement(AL,{variant:"symbol",maxWidth:2,brand:"ai",customId:"aiSdk"}),xL=()=>{let e=Go(A.selectIsAiDropdownOpen),t=Go(A.isInSummaryEditMode),o=Go(A.isInChaptersEditMode),r=!!(t||o),n=cv(),i=OL(()=>{n(R.updateIsAiDropdownOpen(!1)),n(R.updateIsInTitleEditMode(!1)),n(R.updateIsInSummaryEditMode(!1)),n(R.updateIsInChaptersEditMode(!1))},[n]),s=vr(i);return e?$e.createElement(LL,{id:"aiDropdownContainer",showEditModal:r,ref:s},r?$e.createElement(qS,null):$e.createElement(HS,null)):null},lv=({onClick:e})=>{let t=cv(),o=Go(A.selectIsAiDropdownOpen),r=Go(A.selectAiGenerated),n=Go(A.selectShouldAnimateLogo);return $e.createElement(ev,{autoFlow:"row"},$e.createElement(kL,{className:"ai-edit-button-wrapper",onClick:()=>t(R.updateIsAiDropdownOpen(!o))},$e.createElement(BL,null),$e.createElement(PL,{onClick:e},$e.createElement(NL,{aiApplied:r},$e.createElement(ev,{columns:[r?"1fr":"1.25fr",r?"4fr":"3fr","auto"],width:"100%",justifyItems:"center",gap:"xsmall"},n?$e.createElement(wL,null,$e.createElement(tv,null)):$e.createElement(tv,null),$e.createElement(DL,{fontWeight:"book",color:"body",style:{width:"fit-content"}},r?"Loom AI applied":"Loom AI"),$e.createElement(IL,{color:"body",size:"small",altText:"dropdownButton",icon:$e.createElement(RL,null),onClick:()=>t(R.updateIsAiDropdownOpen(!o))}))))),$e.createElement(xL,null))},nv,LL=Kn.div(nv||(nv=I(["\n padding: var(--lns-space-medium);\n\n border: 1px solid #e7e7e7;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background-color: white;\n margin-top: var(--lns-space-xsmall);\n overflow: hidden;\n right: 16px;\n top: 56px;\n\n ","\n ","\n\n transition: width 200ms ease, height 200ms cubic-bezier(0.1, 0.5, 0.1, 1);\n"])),e=>"height: ".concat(e.showEditModal?367:220,"px;"),e=>"width: ".concat(e.showEditModal?372:325,"px;")),iv,NL=Kn.div(iv||(iv=I(["\n width: 100%;\n ","\n"])),e=>"padding: 5px ".concat(e.aiApplied?10:8,"px 5px 10px;")),sv,kL=Kn.div(sv||(sv=I(["\n margin-right: 8px;\n width: max-content;\n position: relative;\n border: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.05);\n\n & button {\n background: none;\n width: 100%;\n height: 100%;\n padding: 0;\n isolation: isolate;\n }\n\n & button:hover {\n background: none;\n }\n"]))),UL="0.3s",av,BL=Kn.div(av||(av=I(["\n pointer-events: none;\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n transition: all "," ease-in-out;\n border-radius: var(--lns-radius-xlarge);\n mix-blend-mode: multiply;\n\n opacity: 0.5;\n .ai-edit-button-wrapper:hover & {\n opacity: 1;\n }\n\n background: ",";\n"])),UL,_L);import{keyframes as xN}from"@emotion/react";import jn from"@emotion/styled";import Fe,{useCallback as LN}from"react";import{useDispatch as Yv,useSelector as Dr}from"react-redux";import{Arrange as Kv,IconButton as NN,Logo as kN,Text as UN,TextButton as BN}from"@loomhq/lens";import{SvgChevronDown as FN}from"@loomhq/lens/icons/chevron-down";import Ys from"@emotion/styled";import he from"react";import{useDispatch as XL,useSelector as $s}from"react-redux";import{Arrange as od,Icon as Xs,Logo as YL,Pill as JL,Spacer as QL,Text as ZL}from"@loomhq/lens";import{SvgAutoChapters as qL}from"@loomhq/lens/icons/auto-chapters";import{SvgAutoSummaries as eN}from"@loomhq/lens/icons/auto-summaries";import{SvgQuickEdit as tN}from"@loomhq/lens/icons/quick-edit";import{SvgScissors as rN}from"@loomhq/lens/icons/scissors";import vv from"@emotion/styled";import It from"react";import{useHover as FL}from"react-laag";import{Arrange as WL,Spacer as KL,Icon as gv,Text as hv,TextButton as jL}from"@loomhq/lens";import{SvgChevronRight as VL}from"@loomhq/lens/icons/chevron-right";import pv from"@emotion/styled";var dv,mv=pv.div(dv||(dv=I(["\n position: absolute;\n width: 36px;\n height: 36px;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n ","\n"])),e=>e.highlightIcon?"\n background: linear-gradient(to right, rgba(80, 108, 215, 1), rgba(156, 155, 230, 1), rgba(214, 83, 187, 1)) border-box;\n -webkit-mask:\n linear-gradient(#fff 0 0) padding-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n ":"\n border-color: var(--lns-color-border);\n "),uv,fv=pv.div(uv||(uv=I(["\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.3s ease;\n border-radius: var(--lns-radius-full);\n border: 1px solid var(--lns-color-border);\n background-color: transparent;\n"])));var Hs=({text:e,icon:t,onClick:o,description:r,highlightIcon:n})=>{let i=()=>{o&&o()},s={width:"100%",height:"100%",padding:0},[a,c]=FL();return It.createElement(HL,x({},c),It.createElement(jL,{style:s,onClick:i},It.createElement(GL,null,It.createElement(WL,{columns:["auto","1fr","auto"],justifyContent:"stretch",width:"100%"},It.createElement(fv,null,It.createElement(gv,{icon:t,size:2,color:n?"primary":"bodyDimmed",style:{position:"absolute"}}),It.createElement(mv,{className:"icon-circle",highlightIcon:n})),It.createElement(KL,{left:"12px"},It.createElement(hv,{alignment:"left",color:n?void 0:"bodyDimmed"},e),r&&It.createElement(hv,{alignment:"left",color:"bodyDimmed",size:"body-sm"},r)),a&&It.createElement(gv,{icon:It.createElement(VL,null),size:2})))))},Ev,HL=vv.div(Ev||(Ev=I(["\n & button:hover {\n background: none;\n outline: 1px solid var(--lns-color-border);\n border-radius: var(--lns-radius-full);\n }\n"]))),Sv,GL=vv.div(Sv||(Sv=I(["\n width: 100%;\n padding: 8px;\n"])));var zL={Title:{aiGenerated:"Title added",noAi:"Add a title",noAccess:"Upgrade to add a title"},Summary:{aiGenerated:"Summary added",noAi:"Add a summary",noAccess:"Upgrade to add a summary"},Chapters:{aiGenerated:"Chapters added",noAi:"Add chapters",noAccess:"Upgrade to add chapters"}},$L={Title:{desc:"Drive engagement with better titles"},Summary:{desc:"Give a preview of your video"},Chapters:{desc:"Time-stamps add organization"}},Gs=({featureName:e,aiGenerated:t})=>{let o=zL[e],r=t?o.aiGenerated:o.noAi;return r!=null?r:""},zs=({featureName:e})=>{let t=$L[e].desc;return t!=null?t:""};var Ov=e=>{let t=XL(),o=()=>{t(R.updateIsInTitleEditMode(!0)),t(R.updateIsAiDropdownOpen(!1))},r=()=>{t(R.updateIsInSummaryEditMode(!0))},n=()=>{t(R.updateIsInChaptersEditMode(!0))},s=$s(A.selectAutoTitleStatus)===Je.Auto,c=$s(A.selectAutoDescriptionStatus)===Je.Auto,m=$s(A.selectAutoChaptersStatus)===rr.Success,p=$s(d=>d.previewRecording.loomVideo);return he.createElement(he.Fragment,null,he.createElement(oN,null,e.isTrialing&&he.createElement(nN,null,he.createElement(od,{gap:"small",justifyItems:"end"},he.createElement(YL,{maxWidth:9,symbolColor:"primary",wordmarkColor:"body",brand:"ai"}),he.createElement(JL,{color:"white",backgroundColor:"blurpleStrong"},"Trial")),he.createElement(QL,{top:2})),he.createElement(od,{autoFlow:"row",justifyContent:"stretch",gap:"small"},he.createElement(he.Fragment,null,he.createElement(Hs,{highlightIcon:s,text:Gs({featureName:"Title",aiGenerated:s}),icon:he.createElement(Xs,{color:s?"body":"bodyDimmed",icon:he.createElement(tN,null),size:2}),onClick:o,description:zs({featureName:"Title"})}),he.createElement(Hs,{highlightIcon:c,text:Gs({featureName:"Summary",aiGenerated:c}),icon:he.createElement(Xs,{color:c?"body":"bodyDimmed",icon:he.createElement(eN,null),size:2}),onClick:r,description:zs({featureName:"Summary"})}),he.createElement(Hs,{highlightIcon:m,text:Gs({featureName:"Chapters",aiGenerated:m}),icon:he.createElement(Xs,{color:m?"body":"#86809A",icon:he.createElement(qL,null),size:2}),onClick:n,description:zs({featureName:"Chapters"})})))),p&&he.createElement(sN,{onClick:()=>window.open(p.sharedUrl)},he.createElement(od,{gap:"xsmall",justifyContent:"center"},he.createElement(Xs,{icon:he.createElement(rN,null),color:"blurple",size:"medium"}),he.createElement(iN,null,he.createElement(ZL,{fontWeight:"bold",size:"body-sm",color:"blurple"},"More AI editing on Loom")))))},yv,oN=Ys.div(yv||(yv=I(["\n padding: var(--lns-space-medium);\n"]))),Tv,nN=Ys.div(Tv||(Tv=I(["\n padding-left: var(--lns-space-small);\n"]))),Cv,iN=Ys.div(Cv||(Cv=I(["\n &:hover {\n text-decoration: underline;\n text-decoration-color: var(--lns-color-blurple);\n }\n"]))),bv,sN=Ys.button(bv||(bv=I(["\n width: 100%;\n height: 50px;\n border: none;\n background-color: var(--lns-color-highlight);\n color: var(--lns-color-blurpleText);\n border-radius: calc(4 * var(--lns-unit));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n padding: var(--lns-space-small);\n cursor: pointer;\n font-family: inherit;\n"])));var id=Y(J());import xe,{useEffect as CN,useState as Qs}from"react";import{useDispatch as bN,useSelector as Ar}from"react-redux";import{Arrange as Zs,Button as _v,IconButton as Mv,Spacer as qs,Text as wv,Textarea as ON}from"@loomhq/lens";import{SvgChevronLeft as IN}from"@loomhq/lens/icons/chevron-left";import{SvgInfo as AN}from"@loomhq/lens/icons/info";import aN from"@emotion/styled";import Js from"react";import{Arrange as cN,Link as lN,Text as dN}from"@loomhq/lens";var uN="https://support.loom.com/hc/en-us/articles/11331500832157",Iv,pN=aN.div(Iv||(Iv=I(["\n padding: var(--lns-space-medium);\n background: var(--lns-color-background);\n border-radius: var(--lns-radius-large);\n border: 1px solid var(--lns-color-border);\n box-shadow: var(--lns-shadow-small);\n width: 322px;\n height: 161px;\n top: 95px;\n left: 35px;\n position: absolute;\n"]))),Av=()=>Js.createElement(pN,null,Js.createElement(cN,{gap:"small",autoFlow:"row"},Js.createElement(dN,{color:"bodyDimmed"},"You can add chapters to any Loom by adding a list of ascending timestamps and chapter titles. Chapters must start at 00:00 and be at least 5 seconds long."),Js.createElement(lN,{href:uN,target:"_blank"},"\u{1F517} Learn more")));var mN="Your chapters are out of order.",fN="You are missing a chapter starting at 0:00.",gN="You need at least two chapters.",hN="Please have at most 15 chapters.",Dv="Chapters must be at least 5 seconds long.",EN="Timestamps must be within the video duration.",SN=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d)$/),Rv=new RegExp(/^(?:(?:[0-5]?\d):)?(?:[0-5]?\d):(?:[0-5]\d) /),Pv=e=>{let t=e.length===0,o=SN.test(e);if(t||!o)return null;let r=e.split(":").reverse(),[n,i,s]=r,a=s?Number(s)*60*60:0,c=Number(i)*60;return a+c+Number(n)},vN=["0:00","00:00","0:00:00","00:00:00"],nd=(e,t)=>{var s;if(e===null||e.length===0||!t)return{chapters:null,error:null};let o=e.split("\n"),r=[];for(let a=0;a<o.length;a++){let c=o[a],u=r[r.length-1];if(!c.match(Rv))continue;let{timestamp:m="",chapter:p=""}=(s=TN(c,t))!=null?s:{};if(u==null&&!vN.includes(m))return{chapters:null,error:fN};if(!m||!p)return{chapters:null,error:null};if(u){let d=Pv(u.timestamp),l=Pv(m);if(l===null||d===null)return{chapters:null,error:null};if(t&&l>t)return{chapters:null,error:EN};if(l<d)return{chapters:null,error:mN};if(l-d<5)return{chapters:null,error:Dv};let f=a===o.length-1,h=t-l;if(f&&h<5)return{chapters:null,error:Dv}}r.push({timestamp:m,chapter:p})}let n=r.length;return n<2?{chapters:null,error:gN}:n>15?{chapters:null,error:hN}:{chapters:r.map(a=>"".concat(a.timestamp," ").concat(a.chapter)).join("\n"),error:null}},yN=(e,t)=>{let o=e.replace(/:/g,"");o=o.replace(/^0+/,"");let r=3;return t&&t>=36e3?r=6:t&&t>=3600?r=5:t&&t>=600&&(r=4),o=o.padStart(r,"0"),o.split("").reverse().join("").replace(/(\d{2})(?=\d)/g,"$1:").split("").reverse().join("")},TN=(e,t)=>{let o=e.match(Rv);if(o){let r=o[0].trim(),n=yN(r,t),i=r.length,s=e.substring(i+1);return{timestamp:n,chapter:s}}return null};var xv=()=>{let e=bN(),t=Ar(A.selectLoomVideoId),o=Ar(A.isInSummaryEditMode),r=Ar(A.isInChaptersEditMode),i=Ar(A.selectAutoDescriptionStatus)===Je.Auto,s=Ar(A.selectDescription),c=Ar(A.selectAutoChaptersStatus)===rr.Success,u=Ar(A.selectChapters),m=Ar(A.selectDuration),[p,d]=Qs(""),[l,f]=Qs(s),[h,v]=Qs(u),[S,y]=Qs(!1),E=D=>{let U=D.target.value;if(o)f(U);else{let w=nd(U,m);d(w==null?void 0:w.error),v(U)}},b=()=>{e(R.updateIsInChaptersEditMode(!1)),e(R.updateIsInSummaryEditMode(!1)),e(R.updateIsAiDropdownOpen(!0))};CN(()=>{o&&i&&s?f(s):r&&c&&u&&v(u)},[s,u,o,r,i,c]);let g=()=>o?!i:r?!c:!0,C=()=>o?"Add a summary...":"0:00 Chapter 1\n0:00 Chapter 2\n0:00 Chapter 3\n",T=()=>{t&&(o?(e(R.updateSavedToastContent(id.ToastContent.Summary)),e(_.updateVideoDescription({id:t,description:l||""})),e(R.updateIsInSummaryEditMode(!1))):(e(R.updateSavedToastContent(id.ToastContent.Chapters)),e(_.updateVideoChapters({id:t,chapters:h||""})),e(R.updateIsInChaptersEditMode(!1))))},O=()=>{var U;if(o)return;let D=(U=nd(h,m||0))==null?void 0:U.error;if(D!=null)return D};return xe.createElement(Zs,{autoFlow:"row",justifyContent:"stretch"},xe.createElement(Zs,{autoFlow:"column",gap:"small"},xe.createElement(Mv,{altText:"Back",icon:xe.createElement(IN,null),onClick:b}),xe.createElement(wv,{size:"body-lg",fontWeight:"bold"},"Edit ","".concat(o?"summary":"chapters"))),xe.createElement(qs,{bottom:"10px"}),xe.createElement(Zs,{autoFlow:"column"},xe.createElement(wv,{size:"body-md"},o?"Summary":"Chapters"),r?xe.createElement(xe.Fragment,null,xe.createElement(Mv,{altText:"More information",iconColor:"bodyDimmed",icon:xe.createElement(AN,null),onClick:()=>y(!S),size:"small"}),S?xe.createElement(Av,null):null):null),xe.createElement(qs,{bottom:"18px"}),xe.createElement(ON,{resize:"none",rows:8,placeholder:C(),autoFocus:g(),error:O(),value:o?l:h,onChange:E}),p?xe.createElement(qs,{bottom:"xsmall"}):xe.createElement(qs,{bottom:"medium"}),xe.createElement(Zs,{autoFlow:"column",gap:"small",justifyContent:"end"},xe.createElement(_v,{onClick:b},"Cancel"),xe.createElement(_v,{variant:"primary",onClick:T,disabled:r&&p!==null},"Save")))};import Fv from"@emotion/styled";import At from"react";import{useSelector as Lv}from"react-redux";import{Arrange as DN,Button as PN,Logo as RN,Spacer as Nv,Text as kv,Align as _N}from"@loomhq/lens";var Wv=()=>{let e=Lv(A.selectMembeRole),t=Lv(A.selectUpgradeUrl),o=e==="admin";return At.createElement(wN,null,At.createElement(MN,null,At.createElement(DN,{gap:"xsmall",justifyItems:"end"},At.createElement(kv,{color:"body",size:"body-lg",fontWeight:"bold"},"Get Loom AI"),At.createElement(_N,{alignment:"topCenter"},At.createElement(RN,{brand:"ai",maxWidth:1.5,variant:"symbol"}))),At.createElement(Nv,{top:2}),At.createElement(kv,{color:"bodyDimmed",size:"body-sm"},"Create better video messages with AI-powered titles, chapters, filler word removal and workflows."),At.createElement(Nv,{top:2}),o&&t&&At.createElement(At.Fragment,null,At.createElement(PN,{variant:"ai",onClick:()=>{window.open(t,"_blank")}},"Upgrade"))))},Uv,MN=Fv.div(Uv||(Uv=I(["\n padding: var(--lns-space-medium) var(--lns-space-large);\n background: radial-gradient(\n 100% 138.41% at 100% 100%,\n #eff0ff 0%,\n #ffffff 100%\n );\n margin: 1px;\n border-radius: calc(4 * var(--lns-unit));\n"]))),Bv,wN=Fv.div(Bv||(Bv=I(["\n border: 0px;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background: linear-gradient(to right, #dc43be, #565add);\n margin-top: var(--lns-space-xsmall);\n width: 325px;\n right: 16px;\n"])));var Vv,WN=xN(Vv||(Vv=I(["\n 0% {\n transform: rotateY(0deg);\n }\n 60% {\n transform: rotateY(360deg);\n }\n 100% {\n transform: rotateY(360deg); // do nothing\n }\n"]))),Hv,KN=jn.div(Hv||(Hv=I(["\n animation: "," 2s linear 2;\n"])),WN),jv=()=>Fe.createElement(kN,{variant:"symbol",symbolColor:"primary",maxWidth:2,brand:"ai",customId:"aiSdk"}),jN=()=>{let e=Dr(A.selectIsAiDropdownOpen),t=Dr(A.isInSummaryEditMode),o=Dr(A.isInChaptersEditMode),r=Dr(A.selectIsTrialing),n=Dr(A.selectHasAIAddOn),i=!!(t||o),s=Yv(),a=LN(()=>{s(R.updateIsAiDropdownOpen(!1)),s(R.updateIsInTitleEditMode(!1)),s(R.updateIsInSummaryEditMode(!1)),s(R.updateIsInChaptersEditMode(!1))},[s]),c=vr(a);return e?n?Fe.createElement(VN,{showEditModal:i,ref:c},i?Fe.createElement(xv,null):Fe.createElement(Ov,{isTrialing:r})):Fe.createElement("div",{ref:c},Fe.createElement(Wv,null)):null},Jv=({onClick:e})=>{let t=Yv(),o=Dr(A.selectIsAiDropdownOpen),r=Dr(A.selectAiGenerated),n=Dr(A.selectShouldAnimateLogo);return Fe.createElement(Kv,{autoFlow:"row"},Fe.createElement(GN,{className:"ai-edit-button-wrapper",onClick:()=>t(R.updateIsAiDropdownOpen(!o))},Fe.createElement($N,null),Fe.createElement(BN,{onClick:e},Fe.createElement(HN,{aiApplied:r},Fe.createElement(Kv,{columns:[r?"1fr":"1.25fr",r?"4fr":"3fr","auto"],width:"100%",justifyItems:"center",gap:"xsmall"},n?Fe.createElement(KN,null,Fe.createElement(jv,null)):Fe.createElement(jv,null),Fe.createElement(UN,{fontWeight:"book",color:"primary",style:{width:"fit-content"}},r?"Loom AI applied":"Loom AI"),Fe.createElement(NN,{color:"body",size:"small",altText:"dropdownButton",icon:Fe.createElement(FN,null),onClick:()=>t(R.updateIsAiDropdownOpen(!o))}))))),Fe.createElement(jN,null))},Gv,VN=jn.div(Gv||(Gv=I(["\n border: 1px solid #e7e7e7;\n border-radius: calc(4 * var(--lns-unit));\n box-shadow: 0px 4px 10px 0px #0000000d;\n position: absolute;\n z-index: 1;\n background-color: white;\n margin-top: var(--lns-space-xsmall);\n overflow: hidden;\n right: 16px;\n top: 56px;\n\n ","\n ","\n ","\n\n transition: width 200ms ease, height 200ms cubic-bezier(0.1, 0.5, 0.1, 1);\n"])),e=>"height: ".concat(e.showEditModal?"387px":"auto",";"),e=>"width: ".concat(e.showEditModal?372:325,"px;"),e=>"padding: ".concat(e.showEditModal?28:0,"px;")),zv,HN=jn.div(zv||(zv=I(["\n width: 100%;\n ","\n"])),e=>"padding: 5px ".concat(e.aiApplied?10:8,"px 5px 10px;")),$v,GN=jn.div($v||($v=I(["\n margin-right: 8px;\n width: max-content;\n position: relative;\n border-radius: var(--lns-radius-full);\n background: linear-gradient(to right, #565add, #dc43be);\n\n & button {\n background: none;\n width: 100%;\n height: 100%;\n padding: 0;\n isolation: isolate;\n }\n\n & button:hover {\n background: none;\n }\n"]))),zN="0.3s",Xv,$N=jn.div(Xv||(Xv=I(["\n pointer-events: none;\n content: '';\n position: absolute;\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n margin-left: 1px;\n margin-top: 1px;\n transition: all "," ease-in-out;\n border-radius: var(--lns-radius-full);\n background: white;\n\n .ai-edit-button-wrapper:hover & {\n background: #e8e8fe;\n }\n"])),zN);import qN from"@emotion/styled";import ut,{forwardRef as ek,useState as tk,useEffect as qv}from"react";import{useHover as rk}from"react-laag";import{useSelector as Pr}from"react-redux";import{TypeAnimation as ok}from"react-type-animation";import{Spacer as nk,Text as ty,TextInput as ik}from"@loomhq/lens";import{SvgEditBorder as sk}from"@loomhq/lens/icons/edit-border";var sd={};je(sd,{VIDEO_TITLE_UPDATED:()=>ea});var ea="video_title_updated";import kt from"react";import{useDispatch as XN}from"react-redux";import{Arrange as ad,Button as YN,Container as cd,Text as Qv}from"@loomhq/lens";import{SvgSettings as JN}from"@loomhq/lens/icons/settings";var Zv=()=>{let e=XN();return kt.createElement(cd,null,kt.createElement(QN,{title:"Your video title, instantly created",subtitle:"Loom AI automatically generated a title based on your video's content.",onPrimaryClick:()=>e(R.updateIsInTitleEditMode(!0))}))},QN=({title:e,subtitle:t,onPrimaryClick:o})=>kt.createElement(cd,{contentColor:"body",backgroundColor:"background",radius:"large",shadow:"medium",padding:"var(--lns-space-large) var(--lns-space-medium) var(--lns-space-medium) var(--lns-space-medium)",width:40,borderSide:"all",borderWidth:".1rem",position:"relative",zIndex:2,style:{backgroundOrigin:"padding-box, border-box",backgroundClip:"padding-box, border-box"},borderColor:"transparent",backgroundImage:"linear-gradient(white, white), linear-gradient(to right, #565ADD, #9F92EC, #DC43BE);"},kt.createElement(ad,{rows:"true",gap:"small"},kt.createElement(Qv,{variant:"title"},e),t?kt.createElement(Qv,{size:"body-md",color:"#6C6684"},t):null,kt.createElement(cd,{paddingTop:"small"},kt.createElement(ad,{justifyContent:"space-between"},kt.createElement(ad,{gap:"small"},kt.createElement(YN,{onClick:o,icon:kt.createElement(JN,null),iconPosition:"right",size:"small"},"Edit"))))));var ry=ek((e,t)=>ut.createElement(ik,x({type:"text",ref:t},e))),ak=50,ck=200;ry.displayName="TextInputBox";var lk=({children:e,onClick:t})=>ut.createElement("div",{onClick:t},ut.createElement(ty,{variant:"mainTitle",fontWeight:"bold",hasEllipsis:!0,ellipsisLines:1},e)),ey,oy=()=>{let e=Pr(A.selectLoomVideoTitle),t=Pr(A.selectLoomVideoId),o=Pr(A.selectSdkProductName),r=Pr(A.selectSdkEntryPointName),n=Pr(A.selectAutoTitleStatus),i=n==="AUTO",s=Pr(A.isInTitleEditMode),[a,c]=tk(e),u=Pr(A.selectShouldAnimateTitle),m=Pr(A.selectTitleHasBeenAnimated),[p,d]=rk({delayEnter:ak,delayLeave:ck}),l=qN.div(ey||(ey=I(["\n cursor: default;\n color: var(--lns-color-body);\n padding: var(--lns-space-large) 0px;\n height: 80px;\n &:hover {\n cursor: pointer;\n color: var(--lns-color-primary);\n }\n "]))),f=te();qv(()=>{i&&!m&&(f(R.updateShouldAnimateTitle(!0)),f(R.updateTitleHasBeenAnimated(!0)))},[i,f,m]),qv(()=>{e!=""&&c(e)},[e]);let h={color:"var(--lns-color-body)",fontSize:"var(--lns-fontSize-heading-sm)",fontWeight:"var(--lns-fontWeight-bold)",cursor:p&&!s?"pointer":"inherit",textOverflow:"ellipsis",margin:"18px var(--lns-space-large) 14px 0px",backgroundColor:"transparent",transition:"none",padding:"var(--lns-space-large) 0px var(--lns-space-large) 48px"},v=g=>{c(g.target.value)},S=()=>{f(R.updateIsInTitleEditMode(!1)),f(R.updateShouldAnimateTitle(!1)),y()},y=()=>{f(R.updateIsInTitleEditMode(!1)),c(a),e!==a&&(i?f(_.trackAnalytics({event:ea,properties:{title_content:"USER_EDITED_AUTO_GENERATED",video_id:t}})):n!=="USER"&&f(_.trackAnalytics({event:ea,properties:{title_content:"USER_EDITED_DEFAULT",video_id:t}})),f(R.updateAutoTitleStatus("USER"))),a&&t&&(f(_.updateVideoName({id:t,name:a})),f(_.trackAnalytics({event:Ya,properties:{videoId:t,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})))},E=g=>{f(R.updateIsInTitleEditMode(!0)),g.target.select(),g.target.focus()},b=g=>{g.key==="Enter"?y():g.key==="Escape"&&f(R.updateIsInTitleEditMode(!1)),g.stopPropagation()};return s?ut.createElement(ry,{height:"80px",style:h,ref:null,autoFocus:!0,value:a,onChange:v,onFocus:E,onBlur:S,onKeyDown:b,size:"medium",icon:ut.createElement(sk,null)}):ut.createElement(l,x({},d),ut.createElement(lk,{onClick:()=>f(R.updateIsInTitleEditMode(!0))},u&&a?ut.createElement(ok,{sequence:[a,()=>{f(R.updateShouldAnimateTitle(!1))}],wrapper:"div",cursor:!1,speed:60,style:{fontSize:"var(--lns-fontSize-heading-sm)"}}):ut.createElement(ty,{fontWeight:"bold",size:"heading-sm"},a)),p&&i?ut.createElement(ut.Fragment,null,ut.createElement(nk,{top:"xsmall"}),ut.createElement(Zv,null)):null)};import{keyframes as dk}from"@emotion/react";import ld from"@emotion/styled";import zo from"react";import{useHover as uk}from"react-laag";import{useSelector as ny}from"react-redux";import{Container as pk,TooltipBox as mk}from"@loomhq/lens";var iy,fk=ld.div(iy||(iy=I(["\n position: relative;\n height: 35px;\n max-width: 763px;\n background-color: var(--lns-color-backgroundHover);\n overflow: hidden;\n border-radius: var(--lns-radius-xlarge);\n"]))),sy,gk=dk(sy||(sy=I(["\n 100% {\n transform: rotate(360deg);\n }\n"]))),ay,hk=ld.div(ay||(ay=I(["\n border-radius: var(--lns-radius-xlarge);\n background: conic-gradient(transparent 6%, #9747ff, #a901f9, #565add);\n position: absolute;\n top: calc(50% - 500px);\n left: calc(50% - 500px);\n width: 1000px;\n height: 1000px;\n transform-origin: center;\n animation: "," 2.5s linear infinite;\n z-index: 1;\n"])),gk),cy,Ek=ld.div(cy||(cy=I(["\n background-color: var(--lns-color-background);\n border-radius: var(--lns-radius-xlarge);\n position: absolute;\n height: calc(100% - 4px);\n width: calc(100% - 4px);\n top: 2px;\n left: 2px;\n z-index: 2;\n"]))),ly=()=>{let[e,t]=uk(),r=ny(A.selectAutoTitleStatus)===Je.Pending,n=ny(A.selectShouldShowAiInSdk);return zo.createElement("div",ne(x({},t),{style:{position:"relative"}}),e&&zo.createElement(mk,{style:{position:"absolute",zIndex:10,top:"105%"},maxWidth:100},r&&n?"Loom AI is generating a video title.":""),zo.createElement(fk,null,zo.createElement(hk,null),zo.createElement(Ek,null),zo.createElement(pk,{width:"100%",height:"100%"})))};var Ak="Edit on Loom",Dk="attempt_to_close",Pk="confirm_close";function dd({tooltipText:e,onClick:t,icon:o}){let[r,n]=Sk();return Le.createElement("div",x({},n),r&&Le.createElement(Tk,{style:{position:"absolute",marginTop:"40px",marginLeft:"-35px"},maxWidth:100},e),Le.createElement(my,{altText:e,onClick:t,icon:o}))}var fy=()=>{let e=vk(),t=P(f=>f.previewRecording.loomVideo,dy),o=P(f=>f.previewRecording.confirm),r=P(f=>f.previewRecording.fetchTitleIntervalId,dy),n=P(A.selectIsUserLoggedIn),i=P(A.isInTitleEditMode),s=(t==null?void 0:t.sharedUrl)+"?active_tab=Edit",a=n?s:t==null?void 0:t.sharedUrl,c=n?s:"https://www.loom.com/login",m=P(A.selectAutoTitleStatus)===Je.Pending,p=P(A.selectSdkProductName),d=P(A.selectSdkEntryPointName),l=P(A.selectShouldShowAiInSdk);return Le.createElement(yk,{y:m?"large":"0px",left:"large",right:"large"},Le.createElement(uy,{gap:"medium",columns:["5fr","1fr"]},m?Le.createElement(ly,null):Le.createElement(oy,null),Le.createElement(uy,{gap:"12px",justifyContent:"end"},!m&&!i?Le.createElement(Jv,null):Le.createElement(Le.Fragment,null,l&&!m&&!i?Le.createElement(lv,null):null),Le.createElement(dd,{tooltipText:"Record again",onClick:()=>{e(_.trackAnalytics({event:Wa,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.confirmationRedoRecording())},icon:Le.createElement(bk,null)}),Le.createElement(dd,{tooltipText:Ak,onClick:()=>{e(_.trackAnalytics({event:Xa,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),window.open(c,"_blank")},icon:Le.createElement(Ok,null)}),Le.createElement(dd,{tooltipText:"Delete recording",onClick:()=>{e(_.trackAnalytics({event:Va,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.confirmationDeleteRecording())},icon:Le.createElement(Ik,null)}),Le.createElement(my,{altText:gy,icon:Le.createElement(Ck,null),onClick:()=>{let f;o===py.PostRecordingConfirm.CloseModal?(a&&io(a,e),e(_.finishRecordingPreview()),r&&clearInterval(r),f=Pk):(e(R.confirmationClosePreviewModal()),f=Dk),e(_.trackAnalytics({event:Ua,properties:{action:f,videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:p,sdk_recorder_launch_app_entrypoint:d}})),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}}))))};var ra=Y(J());import Hn from"react";import{Container as cU}from"@loomhq/lens";import qk from"react";var Ry=Y(J());import{css as zk,keyframes as $k}from"@emotion/react";import Xk from"@emotion/styled";import pt from"react";import{Arrange as pd,Text as Oy,Spacer as Yk,Button as Iy}from"@loomhq/lens";import Cy from"@emotion/styled";import We,{useEffect as Fk}from"react";import{Arrange as Ey,Icon as Sy,Container as Wk,Text as Kk,Link as jk}from"@loomhq/lens";import{SvgExternalLink as Vk}from"@loomhq/lens/icons/external-link";import{SvgEye as Hk}from"@loomhq/lens/icons/eye";var Xo=Y(J());import{createSlice as Uk}from"@reduxjs/toolkit";import{createAction as Rk}from"@reduxjs/toolkit";var _k="consumer_trigger",G=e=>Rk("".concat(_k,"/").concat(e));var ta={cancelRecording:G("cancel_recording"),checkUserAuthenticated:G("check_user_authenticated"),copyVideoUrl:G("copy_video_url"),deleteRecording:G("delete_recording"),emailSignInUser:G("email_sign_in_user"),emailSignUpUser:G("email_sign_up_user"),endCascadedRecording:G("end_cascaded_recording"),endRecording:G("end_recording"),finishRecordingPreview:G("finish_recording_preview"),getFeatureFlags:G("get_feature_flags"),getIndividualExperimentValue:G("get_individual_experiment_value"),getVideoPermissions:G("get_video_permissions"),initializeBackground:G("initialize_background"),oAuthLoginUser:G("oauth_login_user"),pauseRecording:G("pause_recording"),recordingComplete:G("recording_complete"),redoRecording:G("redo_recording"),resendVerificationEmail:G("resend_verification_email"),resolvePictureInPicturePromise:G("resolve_picture_in_picture_promise"),resumeRecording:G("resume_recording"),startRecording:G("start_recording"),togglePauseRecording:G("toggle_pause_recording"),updateMicrophone:G("update_microphone"),updateSelectedScreenType:G("update_selected_screen_type"),updateUserRecordingSettings:G("updateUserRecordingSettings"),updateVideoChapters:G("update_video_chapters"),updateVideoDescription:G("update_video_description"),updateVideoName:G("update_video_name"),uploadComplete:G("upload_complete")};var fe=Y(J());import{createSlice as Nk}from"@reduxjs/toolkit";var so=Y(J());import{createSlice as wk}from"@reduxjs/toolkit";var xk={aaid:"",apiKey:"",jws:"",mode:{mode:"pending"},environment:so.Environment.Development,loomSdkVersion:"0.0.0",sdkConfig:{allowedRecordingTypes:[so.RecordingType.ScreenAndCamera,so.RecordingType.ScreenOnly,so.RecordingType.CameraOnly],bubbleResizable:!0,defaultRecordingType:so.RecordingType.ScreenAndCamera,disableDesktopOnFirefox:!1,disablePreviewModal:!1,enableOnboardingTutorial:!1,enableNewUi:!1,enablePictureInPicture:!1,insertButtonText:"Insert video",productName:"",entryPointName:"",styles:{}},applicationConfig:{enablePartnerOwnership:!1,removeLoomBranding:!1,sdkPartnerName:"",signupWelcomeName:"",utm:{utm_campaign:"",utm_content:"",utm_medium:"",utm_source:""}},url:""},Vn=wk({name:"settings",initialState:xk,reducers:{setAaid(e,t){e.aaid=t.payload},setApiKey(e,t){e.apiKey=t.payload,e.mode={mode:"standard",publicAppId:t.payload}},setJws(e,t){e.jws=t.payload,e.mode={mode:"custom",publicAppId:e.apiKey,jws:t.payload}},setMode(e,t){e.mode=t.payload},setSDKConfig(e,t){e.sdkConfig=ne(x(x({},e.sdkConfig),t.payload),{styles:x(x({},e.sdkConfig.styles),t.payload.styles)})},updateSDKConfig(e,t){e.sdkConfig=ne(x(x({},e.sdkConfig),t.payload),{styles:x({},e.sdkConfig.styles)})},setApplicationConfig(e,t){e.applicationConfig=x(x({},e.applicationConfig),t.payload)},setEnvironment(e,t){e.environment=t.payload},setLoomSdkVersion(e,t){e.loomSdkVersion=t.payload},setUrl(e,t){e.url=t.payload}}});var $o={appStage:fe.RecordingStage.Closed,audioData:Array(qc).fill(0),bubblePosition:{x:0,y:0},cameraBubbleSize:"192px",cancelButtonClicked:!1,canceledDesktopError:!1,dimensions:{width:0,height:0},hostUrl:"",isCapturing:!0,isLoomUploading:!1,mediaDevicePermissions:fe.PermissionState.Prompt,micMutedError:!1,onboardingStep:fe.OnboardingTutorialStep.PermissionsStep,permissionFailureReason:null,recordingType:fe.RecordingType.ScreenAndCamera,restartButtonClicked:!1,screenType:fe.RecordingScreenType.Desktop,sdkRecordingType:fe.SDKRecordingType.FullScreen,session:void 0,showPictureInPictureModal:!1,tab:void 0,timeElapsed:0,videoDurationLimit:0},Ae=Nk({name:"recorder",initialState:$o,reducers:{cancelRecording(e){return ne(x({},$o),{screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},captureCam(e){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Camera},captureDesktop(e){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Desktop},captureTab(e,t){e.isCapturing=!0,e.screenType=fe.RecordingScreenType.Tab,e.tab=t.payload},closePreviewModal(e){return ne(x({},$o),{hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},disableCanceledDesktopError(e){e.canceledDesktopError=!1},endRecording(e,t){return ne(x({},$o),{appStage:t.payload.appStage,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit,isLoomUploading:!0})},exitPreRecordingStage(e){return ne(x({},$o),{hostUrl:e.hostUrl,recordingType:e.recordingType,videoDurationLimit:e.videoDurationLimit})},finishedUploading(e){e.isLoomUploading=!1},pauseRecording(e){e.appStage=fe.RecordingStage.Paused},preCaptureCam(e){e.screenType=fe.RecordingScreenType.Camera},preCaptureDesktop(e){e.screenType=fe.RecordingScreenType.Desktop},preCaptureTab(e){e.screenType=fe.RecordingScreenType.Tab},resetPrerecording(e){return ne(x({},$o),{appStage:fe.RecordingStage.PreRecording,mediaDevicePermissions:e.mediaDevicePermissions,permissionFailureReason:e.permissionFailureReason,screenType:e.screenType,recordingType:e.recordingType,hostUrl:e.hostUrl,videoDurationLimit:e.videoDurationLimit})},resumeRecording(e){e.appStage=fe.RecordingStage.Recording},setDurationLimit(e,t){e.videoDurationLimit=t.payload},setOnboardingTutorialStep(e,t){e.onboardingStep=t.payload.step},startCountdown(e){e.appStage=fe.RecordingStage.Countdown},startRecording(e,t){e.dimensions=t.payload,e.appStage=fe.RecordingStage.Recording},toggleEnablePictureInPictureModal(e,t){e.showPictureInPictureModal=t.payload},updateBubblePosition(e,t){e.bubblePosition=t.payload},updateCameraBubbleSize(e,t){e.cameraBubbleSize=t.payload},updateCancelButtonClicked(e,t){e.cancelButtonClicked=t.payload},updateHostUrl(e,t){e.hostUrl=t.payload},updateMediaDevicesState(e,t){e.mediaDevicePermissions=t.payload.mediaDevicePermissions,e.permissionFailureReason=t.payload.permissionFailureReason},updateMicMutedError(e,t){e.micMutedError=t.payload},updateRecordingSession(e,t){e.session=t.payload.session,e.tab=t.payload.tab},updateRecordingStage(e,t){e.appStage=t.payload.appStage},updateRestartButtonClicked(e,t){e.restartButtonClicked=t.payload},updateSelectedRecordingType(e,t){e.recordingType=t.payload},updateSelectedSDKRecordingType(e,t){e.sdkRecordingType=t.payload},updateTimeElapsed(e,t){e.timeElapsed=t.payload}},extraReducers:e=>{e.addCase($r,t=>{t.micMutedError=!1}).addCase(Xr,t=>{t.appStage=fe.RecordingStage.PreRecording}).addCase(vn,t=>{t.appStage=fe.RecordingStage.OnboardingTutorial}).addCase(Sn,t=>{t.appStage===fe.RecordingStage.PreRecording&&(t.appStage=fe.RecordingStage.Closed)}).addCase(Vn.actions.setSDKConfig,(t,{payload:o})=>{o.defaultRecordingType&&(t.recordingType=o.defaultRecordingType)})}});var hy={loomVideo:null,dimensions:{width:0,height:0},sessionId:void 0,confirm:Xo.PostRecordingConfirm.InsertRecording,isInTitleEditMode:!1,isInSummaryEditMode:!1,isInChaptersEditMode:!1,isAiDropdownOpen:!1,shouldAnimateLogo:!1,shouldAnimateTitle:!1,titleHasBeenAnimated:!1,showSavedContentToast:null,permissionDescription:null},ud=Uk({name:"preview-modal",initialState:hy,reducers:{confirmationClosePreviewModal(e){e.confirm=Xo.PostRecordingConfirm.CloseModal},confirmationDeleteRecording(e){e.confirm=Xo.PostRecordingConfirm.DeleteRecording},confirmationRedoRecording(e){e.confirm=Xo.PostRecordingConfirm.RedoRecording},partialUpdateVideo(e,t){e.loomVideo!=null&&(e.loomVideo=x(x({},e.loomVideo),t.payload))},resetConfirm(e){e.confirm=Xo.PostRecordingConfirm.InsertRecording},updateAutoTitleStatus(e,t){e.loomVideo&&(e.loomVideo.autoTitleStatus=t.payload)},updateFetchTitleIntervalId(e,t){e.fetchTitleIntervalId=t.payload},updateIsAiDropdownOpen(e,t){e.isAiDropdownOpen=t.payload},updateIsInChaptersEditMode(e,t){e.isInChaptersEditMode=t.payload},updateIsInSummaryEditMode(e,t){e.isInSummaryEditMode=t.payload},updateIsInTitleEditMode(e,t){e.isInTitleEditMode=t.payload},updateLoomVideo(e,t){e.loomVideo!=null?e.loomVideo=x(x({},e.loomVideo),t.payload):e.loomVideo=t.payload},updatePermissionDescriptionKey(e,t){e.permissionDescription=t.payload},updateSavedToastContent(e,t){e.showSavedContentToast=t.payload},updateShouldAnimateLogo(e,t){e.shouldAnimateLogo=t.payload},updateShouldAnimateTitle(e,t){e.shouldAnimateTitle=t.payload},updateTitle(e,t){e.loomVideo&&(e.loomVideo.title=t.payload)},updateTitleHasBeenAnimated(e,t){e.titleHasBeenAnimated=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.startRecording,(t,o)=>{t.dimensions=o.payload}).addCase(ta.startRecording,()=>hy).addCase(Ae.actions.updateRecordingSession,(t,o)=>{t.sessionId=o.payload.session.id})}});var yy,ao=Cy(Kk)(yy||(yy=I(["\n display: inline-block;\n"]))),Ty,vy=Cy.div(Ty||(Ty=I(["\n display: inline-block;\n"]))),Gk=e=>e==="Public"?We.createElement(vy,null,We.createElement(ao,null,"Anyone with the link can")," ",We.createElement(ao,{fontWeight:"bold"},"view")):e==="WorkspaceOnly"?We.createElement(vy,null,We.createElement(ao,null,"Workspace can")," ",We.createElement(ao,{fontWeight:"bold"},"view")," ",We.createElement(ao,null," and anyone else has ")," ",We.createElement(ao,{fontWeight:"bold"}," no access")):e==="PeopleOnly"?We.createElement(We.Fragment,null,We.createElement(ao,null,"Only people added can access")):null,by=()=>{let e=te(),{loomVideo:t,permissionDescriptionKey:o}=P(n=>({loomVideo:n.previewRecording.loomVideo,permissionDescriptionKey:n.previewRecording.permissionDescription})),r=(t==null?void 0:t.sharedUrl)+"?open_share_permissions=1";return Fk(()=>{let n=()=>{e(_.getVideoPermissions())},i=setTimeout(()=>{clearInterval(s)},3e5),s=setInterval(n,5e3);return()=>{clearInterval(s),clearTimeout(i)}},[e]),We.createElement(Ey,{autoFlow:"column",gap:"medium",alignItems:"start"},We.createElement(Sy,{icon:We.createElement(Hk,null)}),We.createElement(Wk,null,Gk(o),We.createElement(Ey,{gap:"xsmall"},We.createElement(jk,{href:r,target:"_blank"},"Manage video access"),We.createElement(Sy,{color:"blurple",icon:We.createElement(Vk,null),size:2}))))};var Ay,Jk=$k(Ay||(Ay=I(["\n 0% {\n transform: translateY(60%);\n }\n 40% {\n transform: translateY(-10%);\n }\n 100% {\n transform: translateY(0%); /* End at the final position */\n }\n"]))),Dy,Py,Qk=Xk.div(Py||(Py=I(["\n bottom: 0;\n z-index: 1;\n animation: ",";\n"])),e=>e.shouldAnimate?zk(Dy||(Dy=I(["\n "," 0.55s ease forwards;\n "])),Jk):null),Zk=({type:e,content:t,secondaryCtaMetadata:o,primaryCtaMetadata:r})=>{let n=ht(),i=P(wt),{confirm:s}=P(c=>c.previewRecording),a=()=>pt.createElement(Iy,ne(x({},r==null?void 0:r.additionalProps),{iconPosition:"right",variant:r.variant||"danger",size:"large",style:{minWidth:"240px"},onClick:()=>{r.onClick()}}),r.ctaText);return pt.createElement(Qk,{shouldAnimate:s!==Ry.PostRecordingConfirm.InsertRecording},pt.createElement(pd,{alignContent:"space-between",justifyContent:"stretch",alignItems:"center"},t?pt.createElement(pd,{autoFlow:"row"},pt.createElement(Oy,{fontWeight:"bold",color:"body",size:"body-lg"},t.title),pt.createElement(Yk,{bottom:"xsmall"}),pt.createElement(Oy,{color:"body",size:"body-md"},t.body)):pt.createElement(by,null),pt.createElement(pd,{gap:"small",justifyContent:"end"},e!=="copy-link"&&o&&pt.createElement(Iy,ne(x({},o.additionalProps),{onClick:()=>{o.onClick()},variant:"neutral",size:"large",style:{borderColor:"--lns-color-buttonBorder",minWidth:"125px"}}),o.ctaText),e==="insert-recording"?pt.createElement(ir,{visible:n&&i==="shareYourVideo"},pt.createElement(a,null)):pt.createElement(a,null))))},Rr=Zk;var _y=()=>{let e=te(),{enablePartnerOwnership:t,loomVideo:o}=P(a=>({loomVideo:a.previewRecording.loomVideo,enablePartnerOwnership:a.settings.applicationConfig.enablePartnerOwnership})),r=P(A.selectSdkProductName),n=P(A.selectSdkEntryPointName),i=o==null?void 0:o.sharedUrl,s=t?"Close":"Copy link and close";return qk.createElement(Rr,{type:"close-modal",content:{title:"Are you sure you\u2019d like to close the preview?",body:t?"You might not be able to reference your video later.":"Don\u2019t worry, your videos will always be accessible from your Loom library."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Fa,properties:{videoId:o==null?void 0:o.id,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})),e(R.resetConfirm())}},primaryCtaMetadata:{ctaText:s,onClick:()=>{e(_.trackAnalytics({event:Ba,properties:{videoId:o==null?void 0:o.id,sdk_recorder_launch_app_source:r,sdk_recorder_launch_app_entrypoint:n}})),i&&!t&&io(i,e),e(_.finishRecordingPreview())},variant:"danger"}})};import eU from"react";var My=()=>{let e=te(),{loomVideo:t}=P(({previewRecording:i})=>i),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),n=t==null;return eU.createElement(Rr,{type:"delete-recording",content:{title:"Would you like to permanently delete this video?",body:"Once deleted, this video will no longer be accessible."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Ga,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(R.resetConfirm())}},primaryCtaMetadata:{additionalProps:{isDisabled:n,hasLoader:n,className:"lens-overridable"},ctaText:"Permanently delete",onClick:()=>{t!=null&&t.id&&(e(_.trackAnalytics({event:Ha,properties:{videoId:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(_.deleteRecording({id:t.id})),e(_.finishRecordingPreview()),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false"))},variant:"danger"}})};var Ly=Y(J());import Zt,{useState as tU}from"react";import{Arrange as rU,Icon as oU,Text as wy,Toast as xy}from"@loomhq/lens";import{SvgLink as nU}from"@loomhq/lens/icons/link";var iU="Link copied!",sU=(e,t)=>Gp(e)&&!t.includes("insert-click"),Ny=()=>{let e=te(),[t,o]=tU(!1),{loomVideo:r,insertButtonText:n,enablePartnerOwnership:i}=P(f=>({loomVideo:f.previewRecording.loomVideo,insertButtonText:f.settings.sdkConfig.insertButtonText,enablePartnerOwnership:f.settings.applicationConfig.enablePartnerOwnership})),s=P(A.selectSdkProductName),a=P(A.selectSdkEntryPointName),c=r==null?void 0:r.sharedUrl,u=P(A.selectSavedToastContent),m={additionalProps:{isDisabled:!c},ctaText:"Copy link",onClick:()=>{e(_.trackAnalytics({event:$a,properties:{videoId:r==null?void 0:r.id,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),c&&io(c,e),o(!0)}},p={ctaText:n,onClick:()=>{e(_.trackAnalytics({event:za,properties:{videoId:r==null?void 0:r.id,text:n,sdk_recorder_launch_app_source:s,sdk_recorder_launch_app_entrypoint:a}})),c&&!i&&io(c,e),e(_.finishRecordingPreview()),r&&Gr.onInsertClicked(r),r&&Ve.activeButton.emit("insert-click",r),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}},d=sU(Gr.onInsertClicked,Ve.activeButton.eventNames()),l={};return d?l={type:"copy-link",primaryCtaMetadata:ne(x({},m),{variant:"primary"})}:l={type:"insert-recording",secondaryCtaMetadata:m,primaryCtaMetadata:ne(x({},p),{variant:"primary"})},Zt.createElement(Zt.Fragment,null,Zt.createElement(Rr,x({},l)),Zt.createElement(xy,{isOpen:t,onCloseClick:()=>o(!1)},Zt.createElement(rU,{alignItems:"start",gap:"small"},Zt.createElement(oU,{icon:Zt.createElement(nU,null),color:"bodyInverse"}),Zt.createElement(wy,null,iU))),Zt.createElement(xy,{isOpen:u!==null,onCloseClick:()=>e(R.updateSavedToastContent(null))},Zt.createElement(wy,null,"".concat(u===Ly.ToastContent.Summary?"Summary":"Chapters"," saved!"))))};import aU from"react";var ky=()=>{let e=te(),{loomVideo:t}=P(({previewRecording:i})=>i),o=P(A.selectSdkProductName),r=P(A.selectSdkEntryPointName),n=t==null;return aU.createElement(Rr,{type:"redo-recording",content:{title:"Are you sure you want to record a new video?",body:"All recording content will be lost."},secondaryCtaMetadata:{ctaText:"Cancel",onClick:()=>{e(_.trackAnalytics({event:Ka,properties:{videoId:t==null?void 0:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(R.resetConfirm())}},primaryCtaMetadata:{additionalProps:{isDisabled:n,hasLoader:n,className:"lens-overridable"},ctaText:"Record again",onClick:()=>{if(t!=null&&t.id){e(_.trackAnalytics({event:ja,properties:{videoId:t.id,sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e(_.finishRecordingPreview());let i=new Date;e(R.updateOpenMenuTimestamp(i.getTime())),e(_.openPreRecordingMenu({startTime:i,entryPoint:"redo-recording"})),e(R.setIsOnboardingComplete(!0)),e(R.setShouldSeeOnboarding(!1)),at("false")}},variant:"danger"}})};function lU(e){switch(e){case ra.PostRecordingConfirm.CloseModal:return Hn.createElement(_y,null);case ra.PostRecordingConfirm.DeleteRecording:return Hn.createElement(My,null);case ra.PostRecordingConfirm.RedoRecording:return Hn.createElement(ky,null);default:return Hn.createElement(Ny,null)}}var Uy=()=>{let{confirm:e}=P(t=>t.previewRecording);return Hn.createElement(cU,{position:"relative",backgroundColor:"white",paddingX:"large",paddingY:"20px",width:"100%",style:{borderRadius:"0 0 var(--lns-radius-xlarge) var(--lns-radius-xlarge)",pointerEvents:"all",zIndex:1}},lU(e))};var pU="Preview recording",gy="Close preview modal",Fy,mU=fd.div(Fy||(Fy=I(["\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n pointer-events: all;\n border-radius: var(--lns-radius-xlarge);\n background-color: white;\n"]))),Wy,fU=fd.div(Wy||(Wy=I(["\n margin: 0px auto;\n width: 75vw;\n max-width: 1000px;\n pointer-events: all;\n"]))),Ky,gU=fd.div(Ky||(Ky=I(["\n background-color: hsla(0, 0%, 20%, 1);\n width: 100%;\n height: 100%;\n opacity: 0.3;\n position: fixed;\n z-index: 1;\n border-radius: var(--lns-radius-xlarge);\n"]))),Vy=()=>{let t=By(n=>n.previewRecording.confirm)!==jy.PostRecordingConfirm.InsertRecording,o=By(A.selectAiGenerated),r=uU();return dU(()=>{o&&r(R.updateShouldAnimateLogo(!0))},[r,o]),Yo.createElement(mU,{id:"preview-recording","aria-label":pU},t?Yo.createElement(gU,null):null,Yo.createElement(fU,null,Yo.createElement(fy,null),Yo.createElement(xS,null)),Yo.createElement(Uy,null))};import EU from"@emotion/styled";import SU from"react";import{useDispatch as vU}from"react-redux";var Hy,yU=EU("div")(Hy||(Hy=I(["\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n z-index: ",";\n\n pointer-events: all;\n"])),2147483645),Gy=()=>{let e=vU();return SU.createElement(yU,{"aria-label":"Pre-Recording Overlay",onClick:()=>e(R.exitPreRecordingStage())})};import{keyframes as AU}from"@emotion/react";import oT from"react";import{Backdrop as DU}from"@loomhq/lens";import{keyframes as eT}from"@emotion/react";import Gn from"@emotion/styled";import Jo from"react";var gd=190,$y,hd=eT($y||($y=I(["\n 0% {\n transform: scale(0.0);\n opacity: 0;\n }\n 100% {\n transform: scale(1.0);\n opacity: 1;\n }\n"]))),Xy,TU=eT(Xy||(Xy=I(["\n 0% {\n opacity: 0;\n filter: blur(5px);\n }\n 76% {\n opacity: 1;\n filter: blur(0);\n }\n 100% {\n opacity: 0;\n filter: blur(5px);\n }\n"]))),Yy,tT=Gn.div(Yy||(Yy=I(["\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: ","px;\n width: ","px;\n height: ","px;\n margin-bottom: 60px;\n background: rgba(75, 66, 173, 0.7);\n text-align: -webkit-center;\n background: linear-gradient(\n 148deg,\n rgba(57, 49, 173, 1) 20%,\n rgba(98, 60, 161, 1) 68%\n );\n box-shadow:\n 0px 2px 2px rgb(147 130 178 / 20%),\n 0px 2px 40px rgb(147 130 178 / 20%);\n\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1);\n"])),gd/2,gd,gd,hd),Jy,CU=Gn(tT)(Jy||(Jy=I(["\n opacity: 0;\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1) reverse;\n"])),hd),Qy,zy=Gn.div(Qy||(Qy=I(["\n opacity: 0;\n font-size: 126px;\n font-weight: 700;\n line-height: 155px;\n letter-spacing: 0px;\n color: var(--lns-color-white);\n position: relative;\n top: -245px;\n left: -2px;\n\n animation: none;\n\n ","\n\n &.run-animation-1, &.run-animation-2, &.run-animation-3 {\n animation: ",";\n animation-duration: ","ms;\n animation-delay: 425ms;\n animation-timing-function: cubic-bezier(0.45, 0, 0.4, 1);\n animation-iteration-count: infinite;\n animation-play-state: running;\n }\n"])),e=>e.count===1&&"left: -6px;",TU,be.COUNTDOWN_WAIT_TIME),Zy,bU=Gn.div(Zy||(Zy=I(["\n user-select: none;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 30vh;\n"]))),qy,OU=Gn.div(qy||(qy=I(["\n opacity: 0;\n font-weight: 700;\n letter-spacing: 0px;\n color: var(--lns-color-white);\n position: relative;\n top: -255px;\n cursor: pointer;\n animation: "," 750ms cubic-bezier(0.45, 0, 0.4, 1) forwards;\n pointer-events: auto;\n"])),hd);function IU({count:e,onSkipClick:t}){if(e===0)return Jo.createElement(CU,null,Jo.createElement(zy,{count:e},e));let o="run-animation-".concat(e);return Jo.createElement(bU,null,Jo.createElement(tT,null),Jo.createElement(zy,{count:e,className:o,"data-qa":"countdown-text"},e),Jo.createElement(OU,{onClick:t},"Skip"))}var rT=IU;var nT,aJ=AU(nT||(nT=I(["\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n"])));function PU({count:e,onSkipClick:t}){return oT.createElement(DU,{isOpen:!0},oT.createElement(rT,{count:e,onSkipClick:t}))}var iT=PU;var Dt=Y(J());import QB from"@emotion/styled";import po,{useCallback as Jn,useEffect as Vd}from"react";import{useDispatch as ZB}from"react-redux";var fT=Y(J());import zn from"react";import LU from"ua-parser-js";import{Text as NU,Spacer as uT}from"@loomhq/lens";import dT from"@emotion/styled";import dr from"react";import{Arrange as RU,Text as _U,Container as MU,Spacer as sT}from"@loomhq/lens";import{SvgArrowRight as wU}from"@loomhq/lens/icons/arrow-right";var cT,aT=dT.button(cT||(cT=I(["\n border: 0;\n outline: 0;\n background: none;\n color: var(--lns-color-white);\n font-weight: var(--lns-fontWeight-bold);\n font-size: var(--lns-fontSize-medium);\n cursor: pointer;\n"]))),lT,xU=dT.button(lT||(lT=I(["\n border: 0;\n outline: 0;\n border-radius: var(--lns-radius-medium);\n background: var(--lns-color-white);\n color: var(--lns-color-blurple);\n font-weight: var(--lns-fontWeight-bold);\n font-size: var(--lns-fontSize-large);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0 20px;\n height: 56px;\n transition:\n background-color 300ms ease 0ms,\n border-color 300ms ease 0ms;\n\n &:hover {\n background: #ebebee;\n }\n\n & svg {\n height: 24px;\n }\n"]))),qt=({onNext:e,onSkip:t,onClose:o,message:r,children:n})=>dr.createElement(MU,{maxWidth:"28.5rem"},dr.createElement(_U,{size:"heading-md",fontWeight:"bold",color:"white"},r),n&&dr.createElement(sT,{top:2},n),dr.createElement(sT,{top:3},dr.createElement(RU,{gap:"large"},e&&dr.createElement(xU,{onClick:e},"Next",dr.createElement(wU,null)),t&&dr.createElement(aT,{onClick:t},"Skip tutorial"),o&&dr.createElement(aT,{onClick:o},"Close tutorial"))));var mT,kU=(mT=new LU().getBrowser().name)!=null?mT:"",pT={Brave:"https://cdn.loom.com/assets/sdk/permissions-videos/Brave.mp4",Edge:"https://cdn.loom.com/assets/sdk/permissions-videos/Edge.mp4",Chrome:"https://cdn.loom.com/assets/sdk/permissions-videos/Chrome.mp4"},gT=({onSkip:e})=>{var n;let t=(n=pT[kU])!=null?n:pT.Chrome,r=P(i=>i.recorder.mediaDevicePermissions)===fT.PermissionState.Denied?"You blocked permission to record with your cam and mic.":"You didn\u2019t grant permission to record with your cam and mic.";return zn.createElement(uT,{left:"7.5rem",top:"15rem"},zn.createElement(qt,{message:r,onSkip:e},zn.createElement(NU,{size:"heading-sm",color:"white",fontWeight:"book"},"Allow permissions by following these steps."),zn.createElement(uT,{top:"1.5rem"}),zn.createElement("video",{src:t,muted:!0,loop:!0,autoPlay:!0,height:"228"})))};var BT=Y(J());import wr,{useEffect as kT}from"react";import{useDispatch as WB}from"react-redux";import{Container as UT}from"@loomhq/lens";import{combineReducers as FB,configureStore as mZ}from"@reduxjs/toolkit";import{createSlice as UU}from"@reduxjs/toolkit";var hT={tabChangeCount:0},Ed=UU({name:"analytics",initialState:hT,reducers:{onTabChange(e,t){e.tabChangeCount+=1},setTabChangeCount(e,t){return ne(x({},hT),{tabChangeCount:t.payload})}}});var ET={trackAnalytics:G("trackAnalytics"),incrementDatadogMetric:G("incrementDatadogMetric"),sendDatadogLog:G("sendDatadogLog")};var yT=Y(J());import{createSlice as zU}from"@reduxjs/toolkit";import{createSlice as WU}from"@reduxjs/toolkit";var KU={workspaces:[],defaultWorkspace:void 0,defaultWorkspaceAdmins:[],workspacesFetched:!1},$n=WU({name:"workspaces",initialState:KU,reducers:{setWorkspaces(e,t){e.workspaces=t.payload.workspaces,e.defaultWorkspace=t.payload.defaultWorkspace,e.workspacesFetched=!0},setDefaultWorkspaceAdmins(e,t){e.defaultWorkspaceAdmins=t.payload.admins}}});var Cd={};je(Cd,{ACCOUNT_TYPE_ENTERPRISE:()=>vd,ACCOUNT_TYPE_PERSONAL:()=>ST,ACCOUNT_TYPE_TEAM:()=>Sd,ALL_ACCOUNT_TYPES:()=>HU,DEFAULT_PREFERENCES_COOKIE:()=>GU,TEAM_ACCOUNT_TYPES:()=>Td,TRIALING:()=>yd,oAuthKeys:()=>VU});var VU={GOOGLE:"google",SLACK:"slack",WINDOWS:"windows",AUTH0:"auth0",APPLE:"apple"},ST="personal",Sd="team",vd="enterprise",yd="trialing",HU=[ST,Sd,vd],Td=[Sd,vd],GU={mediaDevices:{},recorderSettings:{}};var vT={authStep:yT.AuthenticationStep.First,browserUser:void 0,fetchedBrowserUser:!1,guestRecordingEnabled:!1,hasReachedRecordingLimit:!1,hasWorkspaceAccess:!1,isAuthenticated:!1,isFetching:!1,isSdkSharedUser:!1,isSignIn:!1,isTrialing:!1,isVerifyingEmail:!1,loginErrorMessage:"",memberRole:void 0,oAuthUri:"",partnerGuestRecordingLimit:void 0,recordingCount:0,termsAccepted:!1,termsAcceptedError:!1,updateZendeskUser:!1,user:void 0},co=zU({name:"authentication",initialState:vT,reducers:{clearLoginErrorMessage(e){e.loginErrorMessage=""},hasFetchedBrowserUser(e,t){e.browserUser=t.payload,e.fetchedBrowserUser=!0},hasReachedRecordingLimit(e,t){e.hasReachedRecordingLimit=t.payload},setAuthStep(e,t){e.authStep=t.payload,e.loginErrorMessage=""},setGuestRecordingEnabled(e,t){e.guestRecordingEnabled=t.payload},setIsSignIn(e,t){e.isSignIn=t.payload},setMemberRole(e,t){e.memberRole=t.payload},setOAuthUri(e,t){e.oAuthUri=t.payload},setPartnerGuestRecordingLimit(e,t){e.partnerGuestRecordingLimit=t.payload},setTermsAccepted(e,t){e.termsAccepted=t.payload,t.payload&&(e.termsAcceptedError=!1)},setTermsAcceptedError(e,t){e.termsAcceptedError=t.payload},setVideoRecordingCount(e,t){e.recordingCount=t.payload.count},tokenBasedAuthenticatedUser(e,t){e.isSdkSharedUser=t.payload.success,e.isAuthenticated=t.payload.success},userLoginFailed(e,t){e.isFetching=!1,e.loginErrorMessage=t.payload},userLoginRequest(e){e.isFetching=!0,e.loginErrorMessage=""},userLoginSuccess(e,t){let o=t.payload;e.user=o,e.isFetching=!1,e.isTrialing=(o==null?void 0:o.trial_status)===yd,e.hasWorkspaceAccess=Td.includes(o==null?void 0:o.account_type),e.isAuthenticated=!0},userLogout(){return vT},userVerifyEmail(e,t){let o=t.payload;e.user=o,e.isVerifyingEmail=!0,e.isFetching=!1}},extraReducers:e=>{e.addCase($n.actions.setWorkspaces,(t,o)=>{t.isSdkSharedUser=o.payload.isSdkSharedUser})}});import{createSlice as XU}from"@reduxjs/toolkit";var bd={isEnabled:!0,isMenuExpanded:!0,isExpandedDefault:!0,isCameraTooltipExpanded:!1,isCaptureSourceExpanded:!1,isMessageShown:!1},Od=XU({name:"bubbleMenu",initialState:bd,reducers:{toggleBubbleMenu(e){e.isMenuExpanded=!e.isMenuExpanded},toggleBubbleCameraMenu(e){return ne(x({},e),{camera:!e.isCameraTooltipExpanded,captureSource:!1})},updateBubbleExpandedDefault(e,t){e.isExpandedDefault=t.payload},updateBubbleMessageShown(e,t){e.isMessageShown=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.startRecording,t=>ne(x({},bd),{isMenuExpanded:t.isExpandedDefault})).addCase(Ae.actions.endRecording,t=>ne(x({},bd),{isExpandedDefault:t.isExpandedDefault}))}});var TT={updateBubbleEnabledRecorderSettings:G("updateBubbleEnabledRecorderSettings")};import{createSlice as QU}from"@reduxjs/toolkit";var ZU={desktopTabUuid:void 0,endedCascadedRecording:!1,isChromeExtensionInstalled:void 0,isDesktopAppInstalled:void 0,openMenuTimestamp:void 0,openedChromeExtension:!1,shouldOpenChromeExtension:void 0,shouldOpenDesktopApp:!1,openChromeExtensionResult:"NotStarted",timeoutId:void 0},Id=QU({name:"cascadingRecorders",initialState:ZU,reducers:{resetIsDesktopAppInstalled(e){e.isDesktopAppInstalled=void 0},resetOpenMenuTimestamp(e){e.openMenuTimestamp=void 0},updateDesktopTabUuid(e,t){e.desktopTabUuid=t.payload},updateEndedCascadedRecording(e,t){e.endedCascadedRecording=t.payload},updateIsChromeExtensionInstalled(e,t){e.isChromeExtensionInstalled=t.payload,t.payload||(e.shouldOpenChromeExtension=!1)},updateIsDesktopAppInstalled(e,t){e.isDesktopAppInstalled=t.payload},updateOpenChromeExtension(e,t){e.shouldOpenChromeExtension=t.payload},updateOpenedChromeExtension(e){e.openedChromeExtension=!0},updateOpenMenuTimestamp(e,t){e.openMenuTimestamp=t.payload},updateOpenChromeExtensionResult(e,t){e.openChromeExtensionResult=t.payload,t.payload==="Failure"&&(e.shouldOpenChromeExtension=!1)},updateShouldOpenDesktopApp(e,t){e.shouldOpenDesktopApp=t.payload},updateTimeoutId(e,t){e.timeoutId=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.closePreviewModal,t=>{t.endedCascadedRecording=!1})}});var CT={compareUsers:G("compare_users"),checkExtensionInstalled:G("check_extension_installed"),desktopAppStatus:G("desktop_app_status"),listenForDesktopVideo:G("listen_for_desktop_video"),openChromeExtension:G("open_chrome_extension"),openChromeExtensionSuccess:G("open_chrome_extension_success"),requestStoragePermissions:G("request_storage_permissions")};var Pd={};je(Pd,{AUDIO_GLOW_OFF:()=>Dd,AUDIO_GLOW_ON:()=>s1,AUDIO_GLOW_PAUSED:()=>a1,LOOM_HTTP_URI:()=>Ad,LOOM_URI:()=>t1,MY_VIDEOS_URI:()=>o1,NOTIFICATIONS_TAB:()=>n1,PLANS_AND_BILLING_URI:()=>r1,PRE_RECORDING_TAB:()=>i1,TOOLTIP_DISMISSED_STORAGE_KEY:()=>c1});var t1="@*LOOM_URI*@",Ad="https://loom.com",r1="".concat(Ad,"/settings/workspace#plans"),o1="".concat(Ad,"/my-videos"),n1="notifications-tab",i1="pre-recording-tab",s1="audio-glow-on",Dd="audio-glow-off",a1="audio-glow-paused",c1="workspace-tooltip-limit-dismissed";var Rd={};je(Rd,{UPGRADE_TYPES:()=>p1,WORKSPACE_PLAN_BUSINESS:()=>na,WORKSPACE_PLAN_DISPLAY_NAME_MAP:()=>d1,WORKSPACE_PLAN_ENTERPRISE:()=>ia,WORKSPACE_PLAN_HIERARCHY:()=>l1,WORKSPACE_PLAN_INDEFINITE_ARTICLE_MAP:()=>u1,WORKSPACE_PLAN_STARTER_FREE:()=>oa});var oa="starter_free",na="business",ia="enterprise",l1={[oa]:1,[na]:4,[ia]:5},d1={[oa]:"Starter Free",[na]:"Business",[ia]:"Enterprise"},u1={[oa]:"a",[na]:"a",[ia]:"an"},p1={PLAN:"plan",ROLE:"role"};var m1=x(x(x(x(x({},el),Pd),Cd),Rd),sd),bT={openPreRecordingMenu:Xr,updateMicrophone:$r,closePreRecordingMenu:Sn,openOnboardingTutorial:vn};import{createSlice as f1}from"@reduxjs/toolkit";var _r={enabled:!0,started:!1,paused:!1,secondsLeft:3,shouldSkipCountdown:!1},_d=f1({name:"countdown",initialState:_r,reducers:{decrementCountdown(e){e.secondsLeft-=1},pauseCountdown(e){e.paused=!0},resumeCountdown(e){e.paused=!1,e.started=!0},enableCancelledDesktopError(){return _r},updateCountdownEnabled(e,t){e.enabled=t.payload},updateShouldSkipCountdown(e,t){e.shouldSkipCountdown=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>{t.paused=_r.paused,t.secondsLeft=_r.secondsLeft,t.started=_r.started}),e.addCase(Ae.actions.cancelRecording,t=>{t.paused=_r.paused,t.secondsLeft=_r.secondsLeft,t.started=_r.started})}});var OT=Y(J());import{createSlice as h1}from"@reduxjs/toolkit";var E1={activeFlags:["team-platform-qa-auth"],inactiveFlags:[],fetched:!1,flagResults:{}},Md=h1({name:"featureFlags",initialState:E1,reducers:{setFeatureFlags(e,t){let o=t.payload,r=[OT.FeatureFlags.GUEST_RECORDING_LIMITS],n=[],i={};o.forEach(s=>{let a=s.flag,c=s.resultDetails.result;c==="true"?r.push(a):c==="false"&&n.push(a),i[a]={result:c}}),e.activeFlags=r,e.inactiveFlags=n,e.flagResults=i,e.fetched=!0},setIndividualExperimentValue(e,t){var o,r;e.flagResults=ne(x({},e.flagResults),{[t.payload.experimentName]:{result:((r=(o=t.payload.evaluation)==null?void 0:o.resultDetails)==null?void 0:r.result)||"not-enrolled"}})}}});var IT={propagateError:G("propagateError")};var AT={checkDevicePermissions:G("checkDevicePermissions"),updateMediaDevices:G("updateMediaDevices"),initializeCameras:G("initializeCameras"),initializeMicrophones:G("initializeMicrophones")};import{createSlice as T1}from"@reduxjs/toolkit";var C1={latestConsumerTrigger:null},wd=T1({name:"meta",initialState:C1,reducers:{},extraReducers:e=>e.addMatcher(t=>typeof t.type=="string"&&t.type.startsWith("consumer_trigger/"),(t,o)=>{t.latestConsumerTrigger=o.type})});import{createSlice as O1}from"@reduxjs/toolkit";var I1={userCanConnect:!0,userHasInternetConnection:!0,isCheckingNetworkConnection:!1},Xn=O1({name:"network",initialState:I1,reducers:{userCanConnect(e,t){e.userCanConnect=t.payload},userHasInternetConnection(e,t){e.userHasInternetConnection=t.payload},updateIsCheckingOnline(e,t){e.isCheckingNetworkConnection=t.payload}}});var DT={quitPage:G("quitPage"),checkNetworkStatus:G("check_network_status"),queueAutoRecovery:G("queue_auto_recovery")};import{createSlice as P1}from"@reduxjs/toolkit";var sa=["welcomeToLoom","checkYourSettings","learnTheControls","positionSelfieBubble","readyToRecord","shareYourVideo"],R1={shouldSeeOnboarding:!1,isOnboardingComplete:!1,onboardingStep:"welcomeToLoom",shouldSeeOnboardingEntrypoint:!1},aa=P1({name:"onboarding",initialState:R1,reducers:{updateOnboardingStep(e,t){var n;let o=(n=t==null?void 0:t.payload)==null?void 0:n.stepName,r;if(o)r=sa.indexOf(o);else{let i=sa.indexOf(e.onboardingStep);r=Math.min(i+1,sa.length-1)}e.onboardingStep=sa[r]},setShouldSeeOnboarding(e,t){e.shouldSeeOnboarding=t.payload},setIsOnboardingComplete(e,t){e.isOnboardingComplete=t.payload},setShouldSeeOnboardingEntrypoint(e,t){e.shouldSeeOnboardingEntrypoint=t.payload}}});var Ie=Y(J());import{createSlice as w1}from"@reduxjs/toolkit";var x1={bannerNotification:void 0,capturingTempAvatar:!1,dbLevel:0,errorModalMessage:"",genericErrorMessage:"Default",glowStatus:Dd,isRetake:!1,modalToDisplay:Ie.PreRecordingModal.RecordingControls,msgType:void 0,permissionRequestState:"idle",photoCountdownSeconds:3,preRecordPage:Ie.RecordingPage.PreRecord,previousView:void 0,shouldRenderCamera:!0,showAvatarMenu:!1,tempAvatarDims:{height:void 0,width:void 0},tempAvatarUrl:void 0,tempPhotoExperience:!1,userDismissedRecorderEducationBanner:!1,workspaceLimitTooltipDismissed:!1},ca=w1({name:"pre-recording",initialState:x1,reducers:{clearBannerNotification(e){e.bannerNotification=void 0},clearGenericError(e){e.genericErrorMessage="Default",e.preRecordPage=Ie.RecordingPage.PreRecord},clearMsgType(e){e.msgType=void 0},decrementAvatarCountdown(e){e.photoCountdownSeconds-=1},endTempPhotoExperience(e){e.tempPhotoExperience=!1},goBackToPreviousView(e){e.previousView===Ie.PreRecordingModal.RecordingControls&&(e.modalToDisplay=Ie.PreRecordingModal.RecordingControls),e.previousView=void 0},openAuthModalFromView(e,t){e.modalToDisplay=Ie.PreRecordingModal.Authentication,e.previousView=t.payload},openPermissionsModal(e,t){e.preRecordPage=t.payload},openSystemPermissionsModal(e,t){e.modalToDisplay=Ie.PreRecordingModal.SystemPermissions,e.previousView=t.payload},resetAvatarCountdown(e){e.photoCountdownSeconds=3},setBannerNotification(e,t){e.bannerNotification=t.payload},setIsRetake(e,t){e.isRetake=t.payload},setMemberPaywall(e){e.modalToDisplay=Ie.PreRecordingModal.MemberVideoLimitPaywall,e.preRecordPage=Ie.RecordingPage.VideoLimit},setOffline(e){e.modalToDisplay=Ie.PreRecordingModal.Offline},showErrorModal(e,t){e.errorModalMessage=t.payload.errorMessage,e.modalToDisplay=Ie.PreRecordingModal.ErrorModal},showGenericError(e,t){e.genericErrorMessage=t.payload.errorMessage,e.preRecordPage=Ie.RecordingPage.GenericError},startTempPhotoExperience(e){e.tempPhotoExperience=!0,e.showAvatarMenu=!1},toggleAvatarMenu(e){e.showAvatarMenu=!e.showAvatarMenu},toggleCapturingAvatar(e){e.capturingTempAvatar=!e.capturingTempAvatar},turnOnCamera(e){e.tempAvatarUrl=void 0},updateGlow(e,t){e.dbLevel=t.payload.level,e.glowStatus=t.payload.status},updateMsgType(e,t){e.msgType=t.payload},updatePermissionRequestState(e,t){e.permissionRequestState=t.payload},updatePreRecordPage(e,t){e.preRecordPage=t.payload},updateShouldRenderCamera(e,t){e.shouldRenderCamera=t.payload},updateTempAvatar(e,t){let{url:o,height:r,width:n}=t.payload;e.tempAvatarUrl=o,e.tempAvatarDims={height:r,width:n}},updateUserDismissedRecorderEducationBanner(e,t){e.userDismissedRecorderEducationBanner=t.payload},updateWorkspaceLimitTooltipDismissed(e,t){e.workspaceLimitTooltipDismissed=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>{t.tempAvatarUrl=void 0,t.showAvatarMenu=!1,t.tempPhotoExperience=!1,t.isRetake=!1}).addCase(co.actions.userLoginSuccess,t=>{t.modalToDisplay=Ie.PreRecordingModal.RecordingControls}).addCase(co.actions.userLogout,t=>{t.modalToDisplay=Ie.PreRecordingModal.Authentication}).addCase(co.actions.hasReachedRecordingLimit,(t,o)=>{o.payload?t.preRecordPage=Ie.RecordingPage.SignUp:t.preRecordPage===Ie.RecordingPage.SignUp&&(t.preRecordPage=Ie.RecordingPage.PreRecord)}).addCase(Xn.actions.userHasInternetConnection,(t,o)=>{o.payload?t.preRecordPage===Ie.RecordingPage.NetworkError&&(t.preRecordPage=Ie.RecordingPage.PreRecord):t.preRecordPage=Ie.RecordingPage.NetworkError})}}),{openAuthModalFromView:vQ,goBackToPreviousView:yQ}=ca.actions;var PT={openPreRecordingMenu:G("open_pre_recording_menu")};var RT=Y(J());import{createSlice as k1}from"@reduxjs/toolkit";var U1={accessRequested:!1,audioEnabled:!0,availableCameras:[],avatarOnScreenOnly:!0,cameraEnabled:!0,cameraId:void 0,cameraPosition:En,cameraSize:1,currAvatar:0,defaultCameraId:void 0,defaultCameraPosition:En,defaultMicrophoneId:void 0,flipCamera:!0,highQuality:!0,isPictureInPictureEnabled:!1,microphoneId:void 0,microphones:[],recordingTimerEnabled:!0,screenType:RT.RecordingScreenType.Desktop,sdkAvailableCameras:[rs],sdkMicrophones:[os],tabAudio:!1,tempAvatarCameraId:void 0,tempHideCamera:!1},xd=k1({name:"recorderSettings",initialState:U1,reducers:{accessRequested(e,t){e.accessRequested=t.payload},toggleIsPictureInPictureEnabled(e,t){e.isPictureInPictureEnabled=t.payload},turnOffCamera(e){e.cameraEnabled=!1,e.cameraId=void 0},turnOffMicrophone(e){e.audioEnabled=!1},turnOnCamera(e){e.cameraEnabled=!0,e.cameraId=e.defaultCameraId},turnOnMicrophone(e){e.audioEnabled=!0},updateAvailableCameras(e,t){e.availableCameras=t.payload,e.sdkAvailableCameras=[rs,...t.payload]},updateCamera(e,t){let o=t.payload;return ne(x({},e),{cameraId:o,defaultCameraId:o||e.defaultCameraId||e.cameraId,tempAvatarCameraId:o||e.defaultCameraId||e.cameraId})},updateCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y}},updateCameraSize(e,t){e.cameraSize=t.payload},updateDefaultCamera(e,t){e.defaultCameraId=t.payload},updateDefaultCameraPosition(e,t){e.cameraPosition={x:t.payload.x,y:t.payload.y},e.defaultCameraPosition={x:t.payload.x,y:t.payload.y}},updateFlipCamera(e,t){e.flipCamera=t.payload},updateHighQuality(e,t){e.highQuality=t.payload},updateMicrophones(e,t){e.microphones=t.payload,e.sdkMicrophones=[os,...t.payload]},updateRecordingTimerEnabled(e,t){e.recordingTimerEnabled=t.payload},updateSelectedScreenType(e,t){e.screenType=t.payload},updateTabAudio(e,t){e.tabAudio=t.payload}},extraReducers:e=>{e.addCase(Ae.actions.endRecording,t=>ne(x({},t),{cameraPosition:t.defaultCameraPosition,highQuality:!0})).addCase(Ae.actions.captureCam,t=>{t.tabAudio=!1}).addCase(Ae.actions.captureDesktop,t=>{t.tabAudio=!1}).addCase(Ae.actions.captureTab,t=>{t.tabAudio=!1}).addCase($r,(t,o)=>{t.microphoneId=o.payload,t.defaultMicrophoneId=o.payload})}});var Ld={};je(Ld,{selectAlertMessages:()=>K1});import{createSelector as F1}from"@reduxjs/toolkit";var W1=e=>e.alerts,K1=F1(W1,e=>e.alertMessages);var Nd={};je(Nd,{selectAtlassianUserId:()=>z1,selectFetchedBrowserUser:()=>$1,selectHasReachedRecordingLimit:()=>V1,selectIsUserLoggedIn:()=>j1,selectIsUserViewOnly:()=>X1,selectPartnerGuestRecordingLimit:()=>H1,selectUserId:()=>G1});var MT=Y(J());import{createSelector as _T}from"@reduxjs/toolkit";var lo=e=>e.authentication,j1=e=>lo(e).user!==void 0,V1=_T(lo,e=>e.hasReachedRecordingLimit),H1=_T(lo,e=>e.partnerGuestRecordingLimit),G1=e=>{var o;return(o=lo(e).user)==null?void 0:o.id},z1=e=>{var o;return(o=lo(e).user)==null?void 0:o.aa_id},$1=e=>lo(e).fetchedBrowserUser,X1=e=>lo(e).memberRole===MT.OrgRoles.Viewer;var kd={};je(kd,{isChromeExtensionInstalled:()=>Q1,selectDesktopAppInstalled:()=>rB,selectDesktopTabUuid:()=>eB,selectEndedCascadeRecording:()=>tB,selectOpenChromeExtensionResult:()=>Z1,selectShouldOpenDesktopApp:()=>q1,shouldOpenChromeExtension:()=>J1});import{createSelector as Y1}from"@reduxjs/toolkit";var uo=e=>e.cascadingRecorders,J1=e=>uo(e).shouldOpenChromeExtension,Q1=e=>uo(e).isChromeExtensionInstalled,Z1=Y1(uo,e=>e.openChromeExtensionResult),q1=e=>uo(e).shouldOpenDesktopApp,eB=e=>uo(e).desktopTabUuid,tB=e=>uo(e).endedCascadedRecording,rB=e=>uo(e).isDesktopAppInstalled;var Ud={};je(Ud,{selectCascadingRecordersDesktopFeatureFlagValue:()=>nB,selectCascadingRecordersFeatureFlagValue:()=>oB,selectDesktopSubscriptionTimeoutFeatureFlagValue:()=>iB,selectFeatureFlags:()=>Qo,selectJsmOnboardingContentFlagValue:()=>dB,selectM25UserInterfaceFeatureFlagValue:()=>sB,selectRolloutSdkPermissionsVisibilityFlagValue:()=>cB,selectRolloutSdkRecorderEducationFlagValue:()=>lB,selectShouldShowAiInSdk:()=>aB});var Mr=Y(J()),Qo=e=>e.featureFlags,oB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureFlags.ROLLOUT_SDK_CASCADING_RECORDERS_M1])!=null&&o.result)},nB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureGates.ROLLOUT_SDK_CASCADING_RECORDERS_M3])!=null&&o.result)},iB=e=>{var o;let{flagResults:t}=Qo(e);return((o=t[Mr.FeatureExperiments.DESKTOP_SUBSCRIPTION_TIMEOUT])==null?void 0:o.result)||0},sB=e=>{var o;let{flagResults:t}=Qo(e);return!!((o=t[Mr.FeatureFlags.ROLLOUT_SDK_M25_UI])!=null&&o.result)},aB=e=>{var o;let{flagResults:t}=Qo(e);return((o=t[Mr.FeatureFlags.ROLLOUT_AI_SDK])==null?void 0:o.result)==="variant"},cB=()=>!0,lB=()=>"variant",dB=e=>!0;var Bd={};je(Bd,{selectIsCheckingNetworkConnection:()=>pB,selectUserHasInternetConnection:()=>uB});import{createSelector as wT}from"@reduxjs/toolkit";var xT=e=>e.network,uB=wT(xT,e=>e.userHasInternetConnection),pB=wT(xT,e=>e.isCheckingNetworkConnection);var Fd={};je(Fd,{isInChaptersEditMode:()=>bB,isInSummaryEditMode:()=>CB,isInTitleEditMode:()=>TB,selectAiGenerated:()=>AB,selectAutoChaptersCount:()=>yB,selectAutoChaptersStatus:()=>vB,selectAutoDescriptionStatus:()=>hB,selectAutoTitleStatus:()=>gB,selectChapters:()=>OB,selectDescription:()=>EB,selectDuration:()=>SB,selectIsAiDropdownOpen:()=>IB,selectLoomVideo:()=>Ut,selectLoomVideoId:()=>mB,selectLoomVideoTitle:()=>fB,selectPreviewRecording:()=>er,selectSavedToastContent:()=>_B,selectShouldAnimateLogo:()=>DB,selectShouldAnimateTitle:()=>PB,selectTitleHasBeenAnimated:()=>RB});import{createSelector as Ke}from"@reduxjs/toolkit";var er=e=>e.previewRecording,Ut=Ke(er,e=>e.loomVideo),mB=Ke(Ut,e=>e==null?void 0:e.id),fB=Ke(Ut,e=>e==null?void 0:e.title),gB=Ke(Ut,e=>e==null?void 0:e.autoTitleStatus),hB=Ke(Ut,e=>e==null?void 0:e.autoDescriptionStatus),EB=Ke(Ut,e=>e==null?void 0:e.description),SB=Ke(Ut,e=>(e==null?void 0:e.duration)||0),vB=Ke(Ut,e=>e==null?void 0:e.autoChaptersStatus),yB=Ke(Ut,e=>e==null?void 0:e.autoChaptersCount),TB=Ke(er,e=>e==null?void 0:e.isInTitleEditMode),CB=Ke(er,e=>e==null?void 0:e.isInSummaryEditMode),bB=Ke(er,e=>e==null?void 0:e.isInChaptersEditMode),OB=Ke(Ut,e=>(e==null?void 0:e.chapters)||""),IB=Ke(er,e=>e.isAiDropdownOpen),AB=Ke(Ut,e=>(e==null?void 0:e.autoTitleStatus)==="AUTO"||(e==null?void 0:e.autoDescriptionStatus)==="AUTO"||(e==null?void 0:e.autoChaptersStatus)==="success"),DB=Ke(er,e=>e.shouldAnimateLogo),PB=Ke(er,e=>e.shouldAnimateTitle),RB=Ke(er,e=>e.titleHasBeenAnimated),_B=Ke(er,e=>e.showSavedContentToast);var Wd={};je(Wd,{selectUser:()=>LT,selectUserVideoSettings:()=>wB});import{createSelector as MB}from"@reduxjs/toolkit";var LT=e=>e.user,wB=MB(LT,e=>e.videoSettings);var xB=x(x(x(x(x(x(x(x(x(x(x(x({},Ld),Nd),kd),Bd),Gc),Hl),Fd),il),Yc),Ud),Wd),Jc);import{createSlice as LB}from"@reduxjs/toolkit";var NB={auto_chapters:!1,auto_cta:!1,auto_filler_word_removal:!1,auto_silence_removal:!1,auto_summary:!1,auto_tasks:!1,auto_title:!1,comments_email_enabled:!1,comments_enabled:!1,default_filler_word_removal:"",download_enabled:!1,email_gate_video_type:"",filler_word_removal:"",loom_branded_player:!1,noise_suppression:!1,record_reply_enabled:!1,salesforce_engagement_tracking:!1,show_analytics_to_viewer:!1,show_transcript_to_viewer:!1,stylizedCaptions:!1,suggested_playback_rate:"",use_emojis:!1,use_gif:!1,viewerCaptionsOn:!1,viewers_can_weave:!1,viewers_can_weave_default:!1},kB={videoSettings:NB},Kd=LB({name:"user",initialState:kB,reducers:{updateLoomVideoSettings(e,t){e.videoSettings=x(x({},e.videoSettings),t.payload)}}});var NT={getWorkspaces:G("get_workspaces"),getDefaultWorkspaceAdmins:G("get_default_workspace_admins")};var hZ=FB({alerts:As.reducer,analytics:Ed.reducer,authentication:co.reducer,bubbleMenu:Od.reducer,cascadingRecorders:Id.reducer,countdown:_d.reducer,featureFlags:Md.reducer,meta:wd.reducer,network:Xn.reducer,onboarding:aa.reducer,preRecording:ca.reducer,previewRecording:ud.reducer,recorder:Ae.reducer,recorderSettings:xd.reducer,settings:Vn.reducer,user:Kd.reducer,workspaces:$n.reducer}),EZ=x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x(x({},As.actions),Ed.actions),co.actions),Od.actions),Id.actions),_d.actions),Md.actions),Xn.actions),aa.actions),ca.actions),ud.actions),Ae.actions),xd.actions),$n.actions),wd.actions),Vn.actions),Kd.actions),bT),SZ=x(x(x(x(x(x(x(x(x(x({},ET),TT),CT),IT),AT),DT),aa.actions),PT),ta),NT);var KB=()=>wr.createElement("svg",{width:"28",height:"109",viewBox:"0 0 28 109",fill:"none",xmlns:"http://www.w3.org/2000/svg"},wr.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.10622 44.5243C-1.75567 61.9117 -0.995304 82.6126 11.6556 108.167L14.3442 106.836C1.99509 81.8912 1.32243 61.8892 5.03485 45.1748C7.87225 32.3999 13.2447 21.5679 18.1188 11.7408C19.1088 9.74462 20.0783 7.78996 21.0018 5.8689L24.4641 15.1763C24.7529 15.9527 25.6165 16.348 26.393 16.0592C27.1694 15.7703 27.5647 14.9068 27.2759 14.1303L22.569 1.47742C22.2802 0.700979 21.4166 0.305696 20.6401 0.59453L7.98726 5.30139C7.21082 5.59022 6.81553 6.4538 7.10437 7.23024C7.39321 8.00669 8.25679 8.40198 9.03323 8.11314L18.2386 4.68875C17.3787 6.47204 16.47 8.30338 15.5358 10.186C10.6337 20.0653 5.03091 31.3565 2.10622 44.5243Z",fill:"white"})),FT=({onPermissionsGranted:e,onPermissionsNotGranted:t,onSkip:o})=>{let r=P(s=>s.preRecording.permissionRequestState),n=P(s=>s.recorder.mediaDevicePermissions),i=WB();return kT(()=>{i(_.checkDevicePermissions())},[i]),kT(()=>{n===BT.PermissionState.Granted?e():r==="responded"&&t()},[n,r,e,t]),wr.createElement(wr.Fragment,null,wr.createElement(UT,{position:"relative",top:"23rem",left:"8rem"},wr.createElement(qt,{message:"First, allow permissions so you can record your face and screen.",onSkip:o}),wr.createElement(UT,{position:"absolute",bottom:"calc(100% - 2.5rem)",right:"calc(100% + 0.5rem)"},wr.createElement(KB,null))))};import jB from"@emotion/styled";import Yn from"react";import{Container as VB}from"@loomhq/lens";var WT,HB=jB.svg(WT||(WT=I(["\n position: absolute;\n bottom: 0;\n right: 0;\n width: 64px;\n"]))),KT=({onSkip:e,onNext:t})=>Yn.createElement("div",null,Yn.createElement(VB,{position:"absolute",right:"calc(398px + var(--lns-space-large) + var(--lns-space-xlarge))",top:"180px",width:"fit-content"},Yn.createElement(qt,{message:"Set up your recording settings. ",onSkip:e,onNext:t}),Yn.createElement(HB,{viewBox:"0 0 68 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yn.createElement("path",{d:"M67.1051 44.9021c.5602-.6104.5195-1.5592-.0908-2.1194l-9.946-9.1284c-.6103-.5602-1.5592-.5195-2.1193.0908-.5602.6103-.5195 1.5592.0908 2.1194l8.8408 8.1141-8.1141 8.8409c-.5602.6103-.5195 1.5592.0908 2.1194.6103.5601 1.5592.5194 2.1194-.0909l9.1284-9.9459ZM.5 0c0 8.13096 3.33257 20.056 13.2561 29.6728 9.9583 9.6505 26.3923 16.8244 52.3081 15.7136l-.1284-2.9972c-25.2842 1.0836-40.8502-5.9146-50.0919-14.8707C6.56743 18.5287 3.5 7.41264 3.5 0h-3Z",fill:"#fff"}))));import GB from"@emotion/styled";import Zo from"react";import{Container as zB}from"@loomhq/lens";var jT,$B=GB.svg(jT||(jT=I(["\n position: absolute;\n bottom: 0;\n right: calc(100% + var(--lns-space-small));\n height: 96px;\n"])));function VT(e){return Zo.createElement(Zo.Fragment,null,Zo.createElement(zB,{position:"absolute",left:"calc(192px + var(--lns-space-large) + var(--lns-space-xxlarge))",bottom:"96px",width:"fit-content",zIndex:2147483647},Zo.createElement(qt,{message:"Once you start recording, press stop to finish the recording.",onSkip:e.onSkip,onNext:e.onNext}),Zo.createElement($B,{viewBox:"0 0 49 100",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Zo.createElement("path",{d:"M10.9393 99.0607c.5858.5857 1.5356.5857 2.1214 0l9.5459-9.546c.5858-.5858.5858-1.5355 0-2.1213-.5858-.5858-1.5355-.5858-2.1213 0L12 95.8787l-8.48528-8.4853c-.58579-.5858-1.53554-.5858-2.12132 0-.58579.5858-.58579 1.5355 0 2.1213l9.5459 9.546ZM47.0894.307993C10.4313 28.3108 10.5 71.5837 10.5 98h3c0-26.5837.0687-68.3108 35.4106-95.30799L47.0894.307993Z",fill:"#fff"}))))}import XB from"@emotion/styled";import la from"react";import{Container as YB}from"@loomhq/lens";var HT,JB=XB.svg(HT||(HT=I(["\n position: absolute;\n top: 80%;\n right: 0;\n width: 64px;\n"])));function GT(e){return la.createElement(YB,{position:"absolute",right:"calc(398px + var(--lns-space-large) + var(--lns-space-xlarge))",top:"306px",width:"fit-content"},la.createElement(qt,{message:"Start your recording!",onClose:e.onClose}),la.createElement(JB,{width:"68",height:"56",viewBox:"0 0 68 56",fill:"none",xmlns:"http://www.w3.org/2000/svg"},la.createElement("path",{d:"M67.1051 44.9021C67.6653 44.2917 67.6246 43.3429 67.0143 42.7827L57.0683 33.6543C56.458 33.0941 55.5091 33.1348 54.949 33.7451C54.3888 34.3554 54.4295 35.3043 55.0398 35.8645L63.8806 43.9786L55.7665 52.8195C55.2063 53.4298 55.247 54.3787 55.8573 54.9389C56.4676 55.499 57.4165 55.4583 57.9767 54.848L67.1051 44.9021ZM0.5 0C0.5 8.13096 3.83257 20.056 13.7561 29.6728C23.7144 39.3233 40.1484 46.4972 66.0642 45.3864L65.9358 42.3892C40.6516 43.4728 25.0856 36.4746 15.8439 27.5185C6.56743 18.5287 3.5 7.41264 3.5 0H0.5Z",fill:"white"})))}var zT,qB=QB.div(zT||(zT=I(["\n width: 100%;\n height: 100%;\n background-color: hsla(242, 88.4%, 66.3%, 0.95);\n position: relative;\n pointer-events: all;\n"])));function Hd(){let e=ZB(),t=P(a=>a.recorder.onboardingStep),o=Jn(a=>{e(Xr()),e(_.trackAnalytics({event:mc,properties:{source:a,step:t}}))},[e,t]),r=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.RecorderSettingsStep}))},[e]),n=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.RecordingControlsStep}))},[e]),i=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.StartRecordingStep}))},[e]),s=Jn(()=>{e(R.setOnboardingTutorialStep({step:Dt.OnboardingTutorialStep.PermissionsBlockedStep}))},[e]);return Vd(()=>{function a(c){c.key==="Escape"&&(c.preventDefault(),o("Escape key"))}return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[o]),Vd(()=>{e(_.trackAnalytics({event:_i}))},[e]),Vd(()=>{e(_.trackAnalytics({event:Mi,properties:{step:t}}))},[t,e]),po.createElement(qB,null,t===Dt.OnboardingTutorialStep.PermissionsStep&&po.createElement(FT,{onSkip:()=>o("Skip tutorial button"),onPermissionsGranted:r,onPermissionsNotGranted:s}),t===Dt.OnboardingTutorialStep.PermissionsBlockedStep&&po.createElement(gT,{onSkip:()=>o("Skip tutorial button")}),t===Dt.OnboardingTutorialStep.RecorderSettingsStep&&po.createElement(KT,{onSkip:()=>o("Skip tutorial button"),onNext:n}),t===Dt.OnboardingTutorialStep.RecordingControlsStep&&po.createElement(VT,{onSkip:()=>o("Skip tutorial button"),onNext:i}),t===Dt.OnboardingTutorialStep.StartRecordingStep&&po.createElement(GT,{onClose:()=>o("Close tutorial button")}),![Dt.OnboardingTutorialStep.PermissionsStep,Dt.OnboardingTutorialStep.PermissionsBlockedStep].includes(t)&&po.createElement(ms,null))}var XT,iF=eF.div(XT||(XT=I(["\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: ",";\n\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n padding: 0;\n\n pointer-events: none;\n"])),2147483647);function sF(e){return[Te.RecordingStage.PreRecording,Te.RecordingStage.Countdown,Te.RecordingStage.PostRecording].includes(e)}var $T=[Te.RecordingStage.PreRecording,Te.RecordingStage.OnboardingTutorial],Gd=()=>{let e=te(),t=P(E=>E.recorder.appStage),o=P(E=>E.countdown.secondsLeft),r=P(E=>E.preRecording.shouldRenderCamera),n=P(E=>E.preRecording.modalToDisplay),i=P(E=>E.previewRecording.loomVideo,oF),s=P(E=>E.countdown.shouldSkipCountdown),a=P(A.selectSdkProductName),c=P(A.selectSdkEntryPointName),u=P(A.selectFetchedBrowserUser),m=P(A.isChromeExtensionInstalled),p=P(A.shouldOpenChromeExtension),d=P(A.selectWorkspacesFetched),l=P(A.selectCascadingRecordersFeatureFlagValue),f=P(A.selectOpenChromeExtensionResult),h=P(A.selectEndedCascadeRecording),v=P(A.selectDesktopAppInstalled),S=p!==!1&&f!==si.Failure;if(da(()=>{e(_.checkUserAuthenticated())},[e]),da(()=>{l&&e(_.checkExtensionInstalled())},[e,l]),Yf(),Jf(),$f(),da(()=>{u&&d&&m===!0&&p===void 0&&e(_.compareUsers())},[e,u,m,p,d]),da(()=>{$T.includes(t)&&p&&f===si.NotStarted&&e(_.openChromeExtension({menuTriggerSource:Te.CascadingRecordersMenuTrigger.Overlay}))},[t,e,p,f]),t===Te.RecordingStage.Closed||t===Te.RecordingStage.Cascaded||$T.includes(t)&&(v||S))return null;let y=()=>{e(R.updateShouldSkipCountdown(!0)),e(_.trackAnalytics({event:Ja,properties:{videoId:i==null?void 0:i.id,sdk_recorder_launch_app_source:a,sdk_recorder_launch_app_entrypoint:c}})),e(R.updateRecordingStage({appStage:Te.RecordingStage.CountdownSkipped})),setTimeout(()=>e(R.updateShouldSkipCountdown(!1)),3e3)};return Pt.createElement(rF,{FallbackComponent:()=>Pt.createElement("div",null,"Something went wrong"),onError:(E,b)=>e(_.propagateError({error:nF(E),componentStack:b.componentStack}))},Pt.createElement(iF,{id:"recorder-overlay-id",className:sF(t)?"bgc:backdrop":""},t===Te.RecordingStage.OnboardingTutorial&&Pt.createElement(Hd,null),t===Te.RecordingStage.PreRecording&&Pt.createElement(Gy,null),Pt.createElement(tF,{active:t===Te.RecordingStage.PreRecording,focusTrapOptions:{clickOutsideDeactivates:!0,fallbackFocus:"#fallback-focus"}},Pt.createElement("div",null,Pt.createElement("div",{tabIndex:-1,id:"fallback-focus"}),[Te.RecordingStage.PreRecording,Te.RecordingStage.Countdown,Te.RecordingStage.CountdownSkipped,Te.RecordingStage.Recording,Te.RecordingStage.Paused].includes(t)&&n===Te.PreRecordingModal.RecordingControls&&r&&Pt.createElement(ms,null),!h&&Pt.createElement(AS,null))),t===Te.RecordingStage.Countdown&&o>0&&!s&&Pt.createElement(iT,{count:o,onSkipClick:y}),t===Te.RecordingStage.PostRecording&&Pt.createElement(Vy,null)))};import aF from"@emotion/cache";import{CacheProvider as cF}from"@emotion/react";import Qn,{useCallback as lF,useState as dF}from"react";import uF from"react-shadow";import{buildGlobalStylesheet as pF,textSizes as mF}from"@loomhq/lens";var fF="\n* {\n padding: 0;\n margin: 0;\n}\n",gF="\n.".concat(Io," {\n --lns-unit: 8px;\n}\n"),hF=e=>"\n.".concat(Io," .lens-overridable {\n ").concat(e.fontFamily?"font-family: ".concat(e.fontFamily,";"):"","\n ").concat(e.recordButtonColor?"--lns-color-record: ".concat(e.recordButtonColor,";"):"","\n ").concat(e.recordButtonHoverColor?"--lns-color-recordHover: ".concat(e.recordButtonHoverColor,";"):"","\n ").concat(e.recordButtonActiveColor?"--lns-color-recordActive: ".concat(e.recordButtonActiveColor,";"):"","\n ").concat(e.primaryColor?"--lns-color-primary: ".concat(e.primaryColor,";"):"","\n ").concat(e.primaryHoverColor?"--lns-color-primaryHover: ".concat(e.primaryHoverColor,";"):"","\n ").concat(e.primaryActiveColor?"--lns-color-primaryActive: ".concat(e.primaryActiveColor,";"):"","\n ").concat(e.fontUnitSize?EF(e.fontUnitSize):"","\n}\n"),EF=e=>"\n --lns-or-unit: ".concat(e,";\n ").concat(Object.entries(mF).map(([t,o])=>"--lns-fontSize-".concat(t,": calc(").concat(o.fontSize," * var(--lns-or-unit, 8px));\n --lns-lineHeight-").concat(t,": calc(").concat(o.lineHeight," * var(--lns-or-unit, 8px));")).join("\n"),"\n"),SF=pF(".".concat(Io),".".concat(Io)),YT=({children:e})=>{let[t,o]=dF(null),{styles:r}=P(i=>i.settings.sdkConfig),n=lF(i=>{if(i&&!t){let s=aF({key:"em-lns",nonce:"em-lns-nonce",container:i});o(s)}},[t]);return Qn.createElement(uF.div,{id:Nc},Qn.createElement("div",{id:"loom-sdk-tooltip-mount-point",className:Io},Qn.createElement(cF,{value:t},Qn.createElement("style",null,"".concat(fF," ").concat(SF," ").concat(gF," ").concat(hF(r))),Qn.createElement("style",{id:Sm,ref:n}),e)))};var vF=["\n @font-face {\n font-weight: 400;\n font-style: normal;\n font-family: 'Circular';\n src: url('https://cdn.loom.com/assets/loom-sdk/CircularXXWeb-Book.woff2') format('woff2');\n };","\n @font-face {\n font-weight: 700;\n font-style: normal;\n font-family: 'Circular';\n src: url('https://cdn.loom.com/assets/loom-sdk/CircularXXWeb-Bold.woff2') format('woff2');\n };"],yF=e=>{let t=document.createElement("style");t.type="text/css",t.textContent=e,document.head.appendChild(t)},TF=()=>{for(let e of vF)yF(e)},JT=()=>(TF(),null);var QT=e=>{let t=document.createElement("div");document.body.append(t),CF.render(ua.createElement(bF,{store:e},ua.createElement(YT,null,ua.createElement(JT,null),ua.createElement(Gd,null))),t)};function ZT(e,t=RF){return t.map(o=>{let r=o(e);if(r instanceof Error)throw r}),e}var IF=({allowedRecordingTypes:e,defaultRecordingType:t})=>{if(e){if(e.length===0)return new Error("loom recordSDK: config.allowedRecordingTypes must specify at least one recording type!");if(t&&!e.includes(t))return new Error("loom recordSDK: config.defaultRecordingType must be included in config.allowedRecordingTypes")}if(t&&!Object.values(xi).map(o=>o.toString()).includes(t.toString()))return new Error("loom recordSDK: invalid option specified for config.defaultRecordingType '".concat(t.toString(),"'"))},AF=["fontFamily","fontUnitSize","recordButtonColor","recordButtonHoverColor","recordButtonActiveColor","primaryColor","primaryHoverColor","primaryActiveColor"],DF=({styles:e})=>{if(typeof e!="object"&&typeof e!="undefined")return new Error("loom recordSDK: config.styles must be an object or undefined");for(let t of AF){let o=e==null?void 0:e[t];if(typeof o!="string"&&typeof o!="undefined")return new Error("loom recordSDK: config.styles.".concat(t," must be a string or undefined"));if(typeof o=="string"&&!PF(o))return new Error("loom recordSDK: config.styles.".concat(t," contains invalid characters. It must exclude [;{}&<>:]"))}};function PF(e){return!/.*[;{}&<>:].*/g.test(e)}var RF=[IF,DF];var zd="4.2.2",_F={bubbleResizable:!0},MF=e=>{let{replaceHooks:t}=$p(e);Tm(e);let o=A.selectSdkProductName(e.getState()),r=A.selectSdkEntryPointName(e.getState());return e.dispatch(_.trackAnalytics({event:mi,properties:{sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),e.dispatch(_.incrementDatadogMetric({metric:Vp})),{teardown:()=>{},configureButton:({element:n,hooks:i}={})=>{let s=new Ao(e,i,t);return n&&(n.onclick=()=>{e.dispatch(_.trackAnalytics({event:Di,properties:{sdk_recorder_launch_app_source:o,sdk_recorder_launch_app_entrypoint:r}})),s.openPreRecordPanel()}),s},status:()=>({state:To(e.getState().recorder.appStage),success:!0}),updateConfig:({config:n})=>{e.dispatch(R.updateSDKConfig(n))}}},wF=e=>({teardown:()=>{},configureButton:({element:t}={})=>{let o=new Ao;return t&&(t.onclick=()=>{e.dispatch(R.setOffline()),e.dispatch(R.openPreRecordingMenu()),Ve.activeButton=o}),o},status:()=>({state:void 0,success:!1}),updateConfig:()=>{}}),xF=async e=>{console.warn("@loomhq/record-sdk deprecation: Please migrate `setup` to `createInstance`");let{publicAppId:t,jws:o,environment:r,config:n}=e,i=(()=>{if(o!=null)return{mode:"custom",jws:o};if(t!=null)return{mode:"standard",publicAppId:t};throw new Error("@loomhq/record-sdk is misconfigured: A publicAppId or jws was not provided")})();return await qT(ne(x({},i),{environment:r,config:n}))},LF=10*1e3,qT=async e=>{let{environment:t,config:o={}}=e,r=ZT(o),n=Am(e),i=Bc(n,zd,t),s=new Promise(m=>{let p=!1,d=setTimeout(()=>{p=!0,m(new Error("[record-sdk] createInstance: iframePromise timeout - 10s is too long for the sdk-background to load"))},LF);i.onload=()=>{p||(clearTimeout(d),m(!0))}});document.body.append(i);let a=await(async()=>{let m=await s;return m instanceof Error?(console.error(m.message),m):Fc(i)})(),c=a instanceof Error?Up([],t?["development","testbench"].includes(t):!1).store:a,u=Im(e);return c.dispatch(u),a instanceof Error&&(console.error("[record-sdk] createInstance: storeResult error",{message:a.message}),bm(a,n,zd,t)),c.dispatch(R.setSDKConfig(x(x({},_F),r))),c.dispatch(R.setEnvironment(t||"production")),c.dispatch(R.setLoomSdkVersion(zd)),QT(c),a instanceof Error?(Uc(a.message,t),wF(c)):MF(c)};export{Tc as Environment,xi as RecordingType,qT as createInstance,xF as setup};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @atlassiansox/analytics-web-client/dist/analytics-web-client.js: