@sprig-technologies/sprig-browser 2.32.0 → 2.32.1

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.
@@ -0,0 +1,12 @@
1
+ "use strict";var st=Object.defineProperty;var at=(r,t,o)=>t in r?st(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o;var j=(r,t,o)=>(at(r,typeof t!="symbol"?t+"":t,o),o);const i=require("./metricsReporter-CWdbAU8e.cjs"),Fe="360px",De=()=>{try{return window.parent.Intercom}catch{return null}},xe=[Object.freeze(Object.defineProperty({__proto__:null,disable:()=>{const r=De();r&&(r.ul_wasVisible=!!document.querySelector("iframe.intercom-launcher-frame"),r.ul_wasVisible&&r("update",{hide_default_launcher:!0}))},enable:()=>{const r=De();r&&(r.ul_wasVisible&&r("update",{hide_default_launcher:!1}),delete r.ul_wasVisible)}},Symbol.toStringTag,{value:"Module"}))];class Ne{static disable(){xe.forEach(t=>t.disable())}static enable(){xe.forEach(t=>t.enable())}}const Ae="ul-view-sdk-script",dt=["ios","android"],P="visitors",C="environments";async function x(r,t){var n,s,a;const{shouldDropOnRateLimit:o,...d}=t;d.headers=Object.assign(i.getHttpHeaders(window.UserLeap),d.headers);const e=await i.sprigFetch(r,{...d,shouldDropOnRateLimit:o});if(e.ok){const l=(n=e.headers)==null?void 0:n.get("Authorization"),p=l?l.split(" "):void 0,c=p&&p.length===2?p[1]:void 0,u=(s=e.headers)==null?void 0:s.get("x-ul-visitor-id");c&&u&&(u!==window.UserLeap.visitorId||window.UserLeap.token!==c)&&(E("token",c),E("vid",u),i.eventEmitter.emit(i.SprigEvent.VisitorIDUpdated,{visitorId:u}),window.UserLeap.token=c,window.UserLeap.visitorId=u)}return(a=e.json)!=null&&a.logMessage&&console.warn(`[Sprig] ${e.json.logMessage}`),e}function E(r,t){const o=i.localStorageHelper.getItem("userleap.ids");let d={};if(o)try{d=JSON.parse(o)}catch(n){n instanceof Error&&(n.stack=o,window.UserLeap.reportError("Failed to parse local storage credentials",n)),console.warn("[Sprig] (ERR-427) Failed to lookup saved ids",n)}let e=d[window.UserLeap.envId];e?e[r]=t:e={[r]:t},d[window.UserLeap.envId]=e;try{i.localStorageHelper.setItem("userleap.ids",JSON.stringify(d))}catch(n){n instanceof Error&&console.warn(`[Sprig] (ERR-426) Unable to write to Local Storage:: ${n.message}`)}}function fe(){return window.previewMode?"0":window.UserLeap.visitorId??""}function R(r,t,o){const d=[window.UserLeap._API_URL,"sdk",r];return t&&t.forEach(e=>{d.push(e),e===C?d.push(window.UserLeap.envId):e===P&&d.push(fe())}),o&&d.push(o),d.join("/")}const z=async(r,t)=>{var Ie,ke,_e;const{context:o,delay:d,forceBrandedLogo:e,endCard:n,isFeedback:s=!1,heatmap:a,locale:l,previewMode:p,productConfig:c,questions:u,responseGroupUid:m,surveyId:w,uuid:g,vid:I,sessionReplay:O,studyType:S}=r,h=i.getHttpHeaders(window.UserLeap),L=oe(h),U=he(h);if(O)if(L)i.eventEmitter.emit(i.SprigEvent.ReplayCapture,{responseGroupUid:m,hasQuestions:!!(u!=null&&u.length),surveyId:w,uploadId:O.uploadId,replayType:O.replayDurationType??"before",seconds:O.replayDurationSeconds,generateVideoUploadUrlPayload:{mediaRecordingUid:i.v4(),mediaType:"screen",questionId:1,responseGroupUid:m,surveyId:w,updatedAt:new Date().toISOString(),visitorId:window.UserLeap.visitorId,isReplay:!0}});else{if(!i.modules.replay)return window.UserLeap.reportError("displayQuestions",new Error("Replay module not registered")),{success:!1,message:"Replay module not registered",surveyState:"no survey"};i.modules.replay.scheduleOrCaptureReplay({responseGroupId:m,surveyId:w,visitorId:I,replayParams:O,completeUploadHeaders:h,apiUrl:window.UserLeap._API_URL,triggerTimestamp:Date.now(),isStandalone:u.length===0})}if(a){if(!i.modules.replay)return window.UserLeap.reportError("displayQuestions",new Error("Replay module not registered")),{success:!1,message:"Replay module not registered",surveyState:"no survey"};const{eventId:f,replayParams:ae,responseGroupUid:nt,surveyId:ot}=a;await i.modules.replay.initializeReplay({maxReplayDurationSeconds:300,maxInflightRequests:window.UserLeap.maxInflightReplayRequests,teardownAfter:!0}),i.modules.replay.tryReplayAction(()=>{var Re;return(Re=i.modules.replay)==null?void 0:Re.scheduleCapture({apiUrl:window.UserLeap._API_URL,completeUploadHeaders:h,eventId:f,isHeatmap:!0,replayParams:ae,responseGroupId:nt,surveyId:ot,triggerTimestamp:Date.now(),visitorId:I})},"Error in scheduling/capturing replay")}if(I==null||!(u!=null&&u.length))return i.breadcrumbsLogger.info("CannotDisplaySurvey",{vid:I}),{success:!1,message:"[Sprig] no survey found",surveyState:"no survey"};if(window.UserLeap.container){i.breadcrumbsLogger.info("AlreadyDisplayingSurvey");const f="[Sprig] (ERR-409) Found an existing Survey container, aborting rendering of this survey";return console.warn(f),{success:!1,message:f,surveyState:"no survey"}}if(I!==window.UserLeap.visitorId&&g!==window.UserLeap.visitorId&&!window.previewMode){const f="Attempted to display survey to a different visitor";return window.UserLeap.reportError("DisplaySurvey",new Error(f)),{success:!1,message:f,surveyState:"no survey"}}i.breadcrumbsLogger.info("ShowingSurvey",{surveyId:w}),(Ie=i.modules.replay)==null||Ie.RecordSurveyShown({id:w,userAgent:window.navigator.userAgent}),Ne.disable(),i.eventEmitter.emit(i.SprigEvent.SurveyWillPresent,{name:i.SprigEvent.SurveyWillPresent,"survey.id":w});let T,v,b,k,_=document.createElement("div");const M=f=>{const{"view.version":ae}=f;ae!==h["x-ul-sdk-version"]&&Ve(),i.eventEmitter.removeListener("verify.view.version",M)};i.eventEmitter.on("verify.view.version",M),window.UserLeap.useMobileStyling=U,i.shouldDirectEmbed(h)?(T="ul-direct-embeded-frame",v=document.head,b=window,k=!1,L&&(je(w,s),_.id=T,window.UserLeap.container.appendChild(_),We(),i.eventEmitter.emit(i.SprigEvent.SurveyLifeCycle,{state:"presented"}),i.eventEmitter.emit(i.SprigEvent.SurveyPresented,{name:i.SprigEvent.SurveyPresented,"survey.id":w}))):{frameId:T,contentWinDocHead:v,contentWindow:b,hasOverlay:k,iframe:_}=ct({productConfig:c,useMobileStyling:U,surveyId:w,isFeedback:s}),window.UserLeap.frameId=T;const D={apiURL:window.UserLeap._API_URL,cards:u,configureExitOnOverlayClick:f=>{i.eventEmitter.once(i.SprigEvent.CloseSurveyOnOverlayClick,f)},context:o,endCard:n,envId:window.UserLeap.envId,eventEmitFn:i.eventEmitter.emit.bind(i.eventEmitter),fontFamily:window.UserLeap.fontFamily,fontFamilyURL:window.UserLeap.fontFamilyURL,forceBrandedLogo:e,frame:_,headers:h,locale:l,mobileSDKVersion:window.UserLeap.mobileSDKVersion,previewKey:i.localStorageHelper.getItem("sprig.previewKey"),previewMode:p,productConfig:{framePosition:c==null?void 0:c.framePosition,desktopDisplay:c==null?void 0:c.desktopDisplay,placement:c==null?void 0:c.placement},responseGroupUid:m,startingQuestionIdx:(ke=window.UserLeap.config)==null?void 0:ke.startingQuestionIdx,studyType:S,styleNonce:window.UserLeap.styleNonce,surveyId:w,tabTitle:document.title,trackPageViewUrl:t,ulEvents:i.EVENTS,upchunkLibraryURL:window.UserLeap.upchunkLibraryURL,useMobileStyling:U,userId:g,viewDocument:b==null?void 0:b.document,viewWindow:b,visitorAttributes:{externalUserId:window.UserLeap.userId,email:window.UserLeap.email},...window.UserLeap._config};(_e=window.UserLeap._config)!=null&&_e.startingQuestionIdx&&(window.UserLeap._config={...window.UserLeap._config,startingQuestionIdx:null});const J=(s?window.UserLeap.feedbackCustomStyles:window.UserLeap.customStyles)??c.customStyles;D.customStyles=J,b&&(b.__cfg=D);const W=window.UserLeap.viewSDKURL?window.UserLeap.viewSDKURL:D.path,Le=document.getElementById(Ae);Le&&Le.remove();const se=function(){const f=document.createElement("script");return window.UserLeap.nonce&&f.setAttribute("nonce",window.UserLeap.nonce),f.id=Ae,f}(),Ue=()=>{window.UserLeap.container&&Object.assign(window.UserLeap.container.style,{display:"flex"})};if(D.installationMethod==="web-npm"||D.installationMethod==="web-npm-bundled"){const{default:f}=await Promise.resolve().then(()=>require("./view-CQF5DGxW.cjs"));f.configure(D),k&&window.UserLeap.container&&Ue()}else W&&(se.src=W,k&&se.addEventListener("load",()=>{window.UserLeap.container&&Ue()}),b==null||b.addEventListener("error",f=>{f.target instanceof HTMLScriptElement&&f.target.src===W&&window.UserLeap.reportError("loadFrameScript",new Error("Frame script failed to load"))},{capture:!0,once:!0}));v==null||v.appendChild(se);const Ee={success:!0,surveyState:"ready",surveyId:w,responseGroupUid:m};return window.UserLeap.isMobileSDK&&d&&(Ee.delay=d),Ee};function he(r){var o;if(window.UserLeap.useMobileStyling!==void 0)return window.UserLeap.useMobileStyling;const t=((o=window.UserLeap.windowDimensions)==null?void 0:o.width)??document.body.clientWidth;return oe(r)||t>10&&t<500}function oe(r){return dt.includes(r["userleap-platform"])}const be="ul-frame";window.UserLeap&&window.Sprig&&(window.Sprig._gtm?window.Sprig=window.UserLeap:window.UserLeap=window.Sprig),window.UserLeap||(window.UserLeap=window.Sprig),window.Sprig||(window.Sprig=window.UserLeap);const de="0px",je=(r,t,o)=>{window.UserLeap.container=document.createElement("div"),window.UserLeap.container.className="ul-container"+(t?" ul-container-feedback":""),r&&(window.UserLeap.container.dataset.studyId=r.toString());const d=ze();o&&d&&!window.UserLeap.useMobileStyling?d.appendChild(window.UserLeap.container):document.body.appendChild(window.UserLeap.container)},Ve=(r,t)=>{var d;ut();const o=window.UserLeap.container;if(o)try{(d=o.parentNode)==null||d.removeChild(o),window.UserLeap.container=null,E("trackStartUrl",null),i.eventEmitter.emit(i.SprigEvent.SurveyLifeCycle,{state:"dismissed"}),i.eventEmitter.emit(i.SprigEvent.SurveyClosed,{name:i.SprigEvent.SurveyClosed,initiator:r,"survey.id":parseInt(o.dataset.studyId),...t&&{studyType:t}})}catch(e){console.warn(`[Sprig] (ERR-412) Error removing UserLeap container by ${r} `+o),e instanceof Error&&window.UserLeap.reportError("dismissActiveSurvey",e)}},We=()=>{i.eventEmitter.once(i.SprigEvent.SurveyWillClose,({initiator:r,studyType:t})=>{i.eventEmitter.removeAllListeners(i.SprigEvent.CloseSurveyOnOverlayClick),Ve(r,t)})},lt=(r,t,o,d)=>{var c,u;const e={position:"fixed",bottom:"0px",right:de,border:0,backgroundColor:"rgba(0,0,0,0)",zIndex:2147483646,transition:"width 0.2s ease-in-out, height 0.2s ease-in-out",maxWidth:"100%"},n=Object.assign({},t,window.UserLeap),{desktopDisplay:s}=t||{},a=s==="center-modal";let l;a&&(n.framePosition="center");let p=!1;if(o)(c=window.UserLeap.windowDimensions)!=null&&c.width?e.width=`${window.UserLeap.windowDimensions.width}px`:e.width="100%",(u=window.UserLeap.windowDimensions)!=null&&u.height?e.maxHeight=window.UserLeap.windowDimensions.height-20+"px":window.UserLeap.maxHeight?e.maxHeight=window.UserLeap.maxHeight:e.maxHeight=document.body.clientHeight-20+"px",["light","dark"].includes(n.overlayStyleMobile)&&(p=!0);else{e.width=Fe,e.maxHeight=window.UserLeap.maxHeight||"66vh";const m=()=>{p=!0,l={margin:"auto",position:"static"}};if(d)a?m():l={position:"relative",height:"300px"};else switch(n.framePosition){case"bottomLeft":l={left:de};break;case"topLeft":l={left:de,top:0};break;case"topRight":l={top:0};break;case"center":m()}}return p&&((m,w)=>{const g={position:"fixed",overflow:"auto",top:"0px",left:"0px",display:"none",height:"100%",width:"100%",transition:"background-color 0.3s ease-out",zIndex:2147483646},I=w?m.overlayStyleMobile:m.overlayStyle;g["background-color"]=I==="light"?"rgba(255,255,255, 0.95)":"rgba(0,0,0,0.9)",w||(g.margin="auto"),window.UserLeap.container&&Object.assign(window.UserLeap.container.style,g)})(n,o),Object.assign(r.style,e,l),p},ct=({productConfig:r,useMobileStyling:t,surveyId:o,isFeedback:d})=>{var m,w;const e=be,n=d&&r.desktopDisplay==="slider";je(o,d,n),pt();const s=document.createElement("iframe");s.id=e,s.setAttribute("title","Sprig User Feedback Dialog");const a=lt(s,r,t,d);We();let l=!1;s.setHeight=g=>{parseInt(s.style.height)==g&&l||(l=!0,s.style.height=`${g}px`,i.eventEmitter.emit(i.SprigEvent.SurveyHeight,{name:i.SprigEvent.SurveyHeight,contentFrameHeight:g,"survey.id":o}))};let p=!1;s.setWidth=g=>{parseInt(s.style.width)==g&&p||(p=!0,s.style.width=`${g}px`,i.eventEmitter.emit(i.SprigEvent.SurveyWidth,{name:i.SprigEvent.SurveyWidth,contentFrameWidth:g,"survey.id":o}))},(m=window.UserLeap.container)==null||m.appendChild(s),r&&(t?r.exitOnOverlayClickMobile:r.exitOnOverlayClick)&&window.UserLeap.container&&(window.UserLeap.container.onclick=()=>{i.eventEmitter.emit(i.SprigEvent.CloseSurveyOnOverlayClick)}),i.eventEmitter.emit(i.SprigEvent.SurveyLifeCycle,{state:"presented"}),i.eventEmitter.emit(i.SprigEvent.SurveyPresented,{name:i.SprigEvent.SurveyPresented,"survey.id":o});const c=(w=s.contentWindow)==null?void 0:w.document;if(c&&(c.open("text/html","replace"),c.write("<!doctype html><head></head><body></body></html>"),c.close(),!t)){const g=c.body;g.style.display="flex",g.style.alignItems="center"}const u=c==null?void 0:c.head;return{frameId:e,contentWinDocHead:u,contentWindow:s.contentWindow,hasOverlay:a,iframe:s}},Be={[i.SprigEvent.SurveyFadingOut]:()=>{window.UserLeap.container&&Object.assign(window.UserLeap.container.style,{"background-color":"rgba(0,0,0,0)"})}},pt=()=>{Object.entries(Be).forEach(([r,t])=>{i.eventEmitter.on(r,t)})},ut=()=>{Object.entries(Be).forEach(([r,t])=>{i.eventEmitter.off(r,t)})},Oe=r=>r instanceof HTMLElement||r instanceof SVGElement,K=({document:r,elementId:t,styleString:o,nonce:d})=>{const e=r.getElementById(t);if(e)return void(e.textContent=o);const n=r.createElement("style");d&&(n.nonce=d),n.textContent=o,n.id=t,r.head.appendChild(n)},qe=r=>{const t=r.querySelector(".ul-card__container");let o=600,d=360;if(t){o=t.scrollHeight;const e=getComputedStyle(t);o+=parseFloat(e.marginTop)+parseFloat(e.marginBottom)+(parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth))+(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom));const n=t.querySelector(".ul-card--matrix_grid");d=n?n.scrollWidth:t.scrollWidth;const s=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);d+=parseFloat(e.marginLeft)+parseFloat(e.marginRight)+(parseFloat(e.borderLeftWidth)+parseFloat(e.borderRightWidth))+s}return[o+1,d]},ze=()=>y,V=()=>document.getElementById("sprig-feedback-container"),ue=()=>document.getElementById("sprig-feedback-loading-animation"),$e=()=>!!document.getElementById(be);let Pe=!1,y=null,A=null,Se=!1,$=null,H=null;const wt=["bottom-left","bottom-right","center-left","center-right"],X=()=>{var t;const r=window.UserLeap.container;return((t=r==null?void 0:r.parentElement)==null?void 0:t.id)==="sprig-feedback-loading-container"},Ge=()=>document.getElementById("sprig-feedback-error-container"),Ke=()=>{if(!y)return 0;const r=y==null?void 0:y.clientWidth,t=window.getComputedStyle(y);return r+parseInt(t.borderRightWidth||"0")+parseInt(t.borderLeftWidth||"0")},Z=r=>{const t=V();t&&(H!=null&&H.endsWith("right")?t.style.right=`${r}px`:H!=null&&H.endsWith("left")&&(t.style.left=`${r}px`))},le=()=>{if(y&&(X()||Ge())){i.eventEmitter.off(i.SprigEvent.SurveyAppeared,q),we();const r=Ke();return Z(-r),!0}return!1},q=()=>{if(!y||!A)return;const r=ue();r&&r.remove(),y.style.height="auto",y.style.width="auto",A.disabled=!1,Se=!1},we=()=>{if(y&&!ue()){const r=(()=>{if(ue())return;const t=document.createElement("div");return t.className="ul-loading-spinner-container",t.id="sprig-feedback-loading-animation",t.role="progressbar",t.setAttribute("aria-live","polite"),t.setAttribute("aria-busy","true"),t.setAttribute("aria-label","Processing..."),t.innerHTML=`
2
+ <div class="ul-loading-spinner">
3
+ <div class="first"></div>
4
+ <div class="second"></div>
5
+ <div class="third"></div>
6
+ <div class="fourth"></div>
7
+ </div>
8
+ `,t})();r&&(y.style.height="300px",y.style.width="360px",y.appendChild(r))}},Ce=()=>{y&&A&&(Z(0),A.disabled=!0,Se=!0)},Je=async(r,t,o)=>{const{buttonTheme:d,customStyles:e,eventId:n,placement:s,desktopDisplay:a,feedbackLabel:l,surveyUuid:p,surveyId:c}=r;window.UserLeap.feedbackCustomStyles=void 0;let u=V();if(u){if(!t&&n===$)return;u.remove(),i.eventEmitter.off(i.EVENTS.SURVEY_FADING_OUT,le)}$=n,K({document,elementId:"sprig-feedback-style",styleString:'.ul-loading-spinner-container{font-size:1.8rem;flex-grow:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ul-loading-spinner{display:inline-block;position:relative;width:6rem;height:6rem}.ul-loading-spinner div{box-sizing:border-box;display:block;position:absolute;width:80%;height:80%;margin:5px;border:5px solid #152e3e;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#152e3e transparent transparent transparent}.ul-loading-spinner .first{animation-delay:-.45s}.ul-loading-spinner .second{animation-delay:-.3s}.ul-loading-spinner .third{animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in-transition{animation:fadeIn .4s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#sprig-feedback-button{border-left:0;border-radius:0 8px 8px 0;display:grid;padding:8px;text-align:center;transition:all ease-in-out 1s;z-index:inherit}#sprig-feedback-button:hover{cursor:pointer}.sprig-feedback-button-label{writing-mode:vertical-lr;text-orientation:sideways}.sprig-feedback-button-right{transform:rotate(180deg)}.sprig-feedback-button-bottom{align-self:flex-end;margin-bottom:20px}.sprig-feedback-button-light{background:#efefee;color:#000;border:1px solid #e2e3e1}.sprig-feedback-button-dark{background:#000;color:#fff;border:1px solid #000000}#sprig-feedback-container{display:flex;align-items:center;position:fixed;transition:right .2s linear,left .2s linear;z-index:2147483646}.sprig-feedback-container-left{flex-flow:row-reverse}.sprig-feedback-container-center{top:50%;transform:translateY(-50%)}.sprig-feedback-container-bottom{bottom:0%;margin-bottom:15px}.sprig-feedback-loading-container{align-items:center;background-color:#fff;border:2px solid var(--feedback-border);display:flex;max-height:90vh;max-width:90vw;min-width:0px}.sprig-feedback-loading-container-left{border-left:none;border-radius:0 8px 8px 0}.sprig-feedback-loading-container-right{border-right:none;border-radius:8px 0 0 8px}#sprig-feedback-error-container{margin:auto;text-align:center;width:360px}.sprig-feedback-error-text{font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}#sprig-feedback-loading-container .ul-container{position:relative;max-height:inherit}#sprig-feedback-loading-animation{position:absolute}.sprig-feedback-loading-container-previews iframe{max-height:inherit!important}',nonce:window.UserLeap.styleNonce}),K({document,elementId:"ul-custom-style",styleString:e??"",nonce:window.UserLeap.styleNonce}),Pe=a==="center-modal",H=s;const[m,w]=s.split("-");(S=>{if(V()||!wt.includes(S))return;const[h,L]=S.split("-"),U=document.createElement("div");U.id="sprig-feedback-container",U.classList.add(`sprig-feedback-container-${L}`,`sprig-feedback-container-${h}`),document.body.appendChild(U)})(s),u=V(),A=document.createElement("button");const g=document.createElement("div");g.className="sprig-feedback-button-label",g.innerText=l,A.appendChild(g),A.id="sprig-feedback-button",A.classList.add(`sprig-feedback-button-${w}`,`sprig-feedback-button-${m}`,`sprig-feedback-button-${d}`,"fade-in-transition"),i.eventEmitter.on(i.EVENTS.SURVEY_FADING_OUT,le),A.addEventListener("click",async()=>{const S=document.getElementById("sprig-feedback-error-container");if($e()||Ge()){if(le()){i.eventEmitter.emit(i.SprigEvent.SurveyWillClose,{name:i.SprigEvent.SurveyWillClose,initiator:i.DismissReason.FeedbackClosed,studyType:"feedbackButton","survey.id":c});const L=V();S&&L&&(L.remove(),$=null,y=null)}return}if(he(i.getHttpHeaders(window.UserLeap))||Se||Ce(),t)return y&&y.classList.add("sprig-feedback-loading-container-previews"),await z(t),void q();const h=await(async L=>{const U=await x(R("1",[P],"startFeedbackStudy"),{body:JSON.stringify({surveyUuid:L}),method:"POST"});return U.ok?U.json:null})(p);if(h)i.eventEmitter.once(i.SprigEvent.SurveyAppeared,q),z({...h,studyType:"feedbackButton"},o);else if(y){const L=gt();y.appendChild(L),q(),y.style.height="300px",y.style.width="360px"}}),u==null||u.appendChild(A),i.eventEmitter.emit(i.SprigEvent.FeedbackButtonLoaded,{name:i.SprigEvent.FeedbackButtonLoaded,"survey.id":c});const{useMobileStyling:I,_config:{border:O}}=window.UserLeap;if(Pe||I)Z(0);else{const S=document.createElement("div");S.id="sprig-feedback-loading-container",S.className=`sprig-feedback-loading-container sprig-feedback-loading-container-${w}`,S.style.setProperty("--feedback-border",O),y=S,we(),u==null||u.appendChild(S);const h=Ke();Z(-h)}window.UserLeap._config.isOnQuestionsTab&&t&&!X()&&y&&(Ce(),we(),y&&y.classList.add("sprig-feedback-loading-container-previews"),z(t),q())},gt=()=>{const r=document.createElement("div");r.id="sprig-feedback-error-container",r.innerHTML=`<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none">
9
+ <circle cx="20" cy="20" r="14.5" stroke="#B0B5B7" stroke-width="3"/>
10
+ <path d="M20 12L20 21.6" stroke="#B0B5B7" stroke-width="3" stroke-linecap="round"/>
11
+ <circle cx="19.9984" cy="27.6" r="1.6" fill="#B0B5B7"/>
12
+ </svg>`;const t=document.createElement("h3");return t.className="sprig-feedback-error-text",t.innerText="There was an error while loading the survey",r.appendChild(t),r},ge=new class{constructor(){j(this,"_ldData",{})}getAllLaunchDarklyVariations(){return this._ldData}setLDFlagsVariations(r){try{return!(!r||typeof r!="object"||Array.isArray(r))&&(Object.keys(this._ldData).forEach(t=>{delete this._ldData[t]}),Object.keys(r).forEach(t=>this._ldData[`!launch_darkly_${t}`]=(r[t]??0)+1),!0)}catch(t){return t instanceof Error&&window.UserLeap.reportError("setAllLDFlagsVariations",t),console.warn("[Sprig] An issue had occured when setting LaunchDarkly flags and variations."),!1}}};Object.freeze(ge);const Y=new class{constructor(){j(this,"_optimizelyData",{})}setOptimizelyExperiment(r,t=!0){if(!r||typeof r!="object")return!1;const{experiments:o}=r;try{return t&&Object.keys(this._optimizelyData).map(d=>{delete this._optimizelyData[d]}),o&&o.map(d=>{const{id:e,variation:n}=d,s=this.transformExperimentId(e);n&&typeof n=="string"&&(this._optimizelyData[s]=n)}),!0}catch(d){return d instanceof Error&&window.UserLeap.reportError("setOptimizelyExperiment",d),!1}}getAllOptimizelyExperiments(){return this._optimizelyData}getOptimizelyVariationName(r){return this._optimizelyData[this.transformExperimentId(r)]}transformExperimentId(r){return"!optimizely_experiments_"+r}getAndSetWebOptimizelyExperiments(){var r;try{if(window&&window.optimizely&&typeof window.optimizely.get=="function"){const t=(r=window.optimizely.get("state"))==null?void 0:r.getExperimentStates({isActive:!0});if(t){const o=Object.keys(t).map(d=>{var e,n;return(e=t[d].variation)!=null&&e.name?{id:d,variation:(n=t[d].variation)==null?void 0:n.name}:{id:d,variation:"Original"}});return this.setOptimizelyExperiment({experiments:o},!1),!0}return!1}return!1}catch(t){return t instanceof Error&&window.UserLeap.reportError("getAndSetWebOptimizely",t),!1}}};Object.freeze(Y);class mt{constructor(t,o){j(this,"paused");j(this,"queue");j(this,"ul");this.ul=t,this.paused=!1,this.queue=[],this.flush(o)}flush(t){const o=t.length;if(o)for(let d=0;d<o;d++)this.push(t[d])}isPaused(){return this.paused}pause(){this.paused=!0}unpause(){this.paused=!1;const t=this.queue.slice();this.empty(),this.flush(t)}push(t){if(this.paused)this.queue.push(t);else if(t instanceof Function)t();else{const o=Array.prototype.slice.call(t,1),d=t[0],e=this.ul[d];e instanceof Function?e.apply(this.ul,o):d&&console.warn("[Sprig] (ERR-100) No valid UserLeap action called",d)}}perform(t){if(this.paused){let o=()=>{};const d=new Promise(function(e){o=function(){e(t())}});return this.queue.push(o),d}return t()}empty(){this.queue.length=0}}let Qe,Ye;const me=r=>{let t=0,o=r.firstElementChild;for(;o;)t+=me(o),o.shadowRoot&&(t+=me(o.shadowRoot)),o=o.nextElementSibling,t++;return t},Te=()=>{Qe.report(me(document.body)),Ye.report(document.documentElement.innerHTML.length)},ye=(r,t)=>{const o=performance.now();document.hidden?setTimeout(()=>ye(r,t),r):setTimeout(()=>{const d=performance.now()-o;t.report(d/1e3),setTimeout(()=>ye(r,t),r)},0)};let ee,te,re,ie,Me,N={};const Q=(r,t=1)=>{const{name:o}=r;N[o]=(N[o]||0)+t},Xe=r=>{let t=1;return r.childNodes.forEach(o=>{t+=Xe(o)}),t},He=r=>{let t=0;return r.forEach(o=>{t+=Xe(o)}),t},yt=r=>{switch(r.type){case"childList":return Q(ee,He(r.addedNodes)),void Q(te,He(r.removedNodes));case"attributes":return void Q(re);case"characterData":return void Q(ie)}},vt=r=>r.forEach(yt),ft=()=>{ee.report(N[ee.name]||0),te.report(N[te.name]||0),re.report(N[re.name]||0),ie.report(N[ie.name]||0),N={}},ht=(r=1e3)=>{ee=i.registerMetric("sdk_mutations_nodes_added"),te=i.registerMetric("sdk_mutations_nodes_removed"),re=i.registerMetric("sdk_mutations_attributes_changed"),ie=i.registerMetric("sdk_mutations_character_data"),Me=new MutationObserver(vt),Me.observe(document,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),setInterval(ft,r)},bt=({isWeb:r,reportingIntervalSeconds:t,thresholds:o,postMetrics:d})=>{i.registerThresholds(o,(e,n)=>{var s,a;if((s=i.modules.replay)!=null&&s.isReplayRecording()){const l=`Value: ${e} on ${n.metric} violated threshold of ${n.type} ${n.value}`;(a=i.modules.replay)==null||a.disableRecording("Threshold violated",new Error(l),{reportError:!1}),window.UserLeap.reportError("Sdk Performance Metric threshold violated",new Error("Sdk Performance Metric threshold violated"),{metricName:n.metric,type:n.type,value:n.value},{metricName:n.metric}),i.disableThresholdChecking()}}),i.initPerformanceReporting({reportingIntervalSeconds:t,postMetrics:d}),r&&(((e=1e3)=>{const n=i.registerMetric("sdk_event_queue_latency_seconds");ye(e,n)})(),((e=1e4)=>{Qe=i.registerMetric("sdk_dom_nodes_count"),Ye=i.registerMetric("sdk_page_html_characters"),Te(),setInterval(Te,e)})(),ht())},St="test",Lt=["popState","pushState","replaceState"],B="!email",Ze="pageUrl";let ce=window.location.href;function G(r){var a;const{pageUrlEvents:t,interactiveEvents:o,dismissOnPageChange:d,platform:e}=window.UserLeap._config;if(e&&e!=="web")return;ce!==window.location.href&&i.breadcrumbsLogger.navigation("LocationChange",{from:ce,to:window.location.href}),ce=window.location.href;const n=F("trackStartUrl"),s=n?String(n):null;t&&it(window.location.href),o&&(tt(),Ut()),ze()&&(()=>{if(X())return;const l=V();l&&(i.checkUrlStillMatching($)||(l.remove(),$=null,y=null))})(),i.sessionStorageHelper.getItem("sprig.isCapturingHeatmap")&&((a=i.modules.replay)==null||a.checkPendingHeatmapsUrl()),!X()&&d&&s&&s!==window.location.href&&r&&Lt.includes(r.type)&&window.UserLeap("dismissActiveSurvey",i.DismissReason.PageChange)}const et={capture:!0},Ut=()=>{const r=window.UserLeap._config.interactiveEvents.filter(o=>i.checkUrlMatch(o,window.location.href)).map(o=>{const{name:d,properties:e}=o,{selector:n,innerText:s}=e;return n?a=>{if(Oe(a.target))try{a.target.closest(n)&&window.UserLeap("track",d)}catch{}return!1}:a=>(Oe(a.target)&&a.target.innerText===s&&window.UserLeap("track",d),!1)}),t=o=>r.forEach(d=>d(o));window.UserLeap._config.interactiveEventsHandler=t,window.addEventListener("click",t,et)},tt=()=>{window.UserLeap._config.interactiveEventsHandler&&window.removeEventListener("click",window.UserLeap._config.interactiveEventsHandler,et),delete window.UserLeap._config.interactiveEventsHandler};function F(r){const t=i.localStorageHelper.getItem("userleap.ids");if(t)try{const o=JSON.parse(t)[window.UserLeap.envId];return o&&o[r]||null}catch(o){o instanceof Error&&(o.stack=t,window.UserLeap.reportError("Failed to parse local storage credentials",o))}return null}function rt(){window.previewMode||(window.UserLeap.visitorId=i.v4(),i.breadcrumbsLogger.info("NewVid",{vid:window.UserLeap.visitorId}),E("vid",window.UserLeap.visitorId),i.eventEmitter.emit(i.SprigEvent.VisitorIDUpdated,{visitorId:window.UserLeap.visitorId}))}function it(r,t,o,d){var e,n;try{if(r.endsWith("mock_snippet.html"))return;i.breadcrumbsLogger.info("PageView",{url:r});const s=window.UserLeap._config.pageUrlEvents;let a=!1;if(s&&s.length)for(let c=0;c<s.length&&(a=i.checkUrlMatch(s[c],r),!a);c++);if(!a)return;window.UserLeap.debugMode&&console.info("[DEBUG] Sprig trackPageView",r);const l={url:r};d&&(l.trackPageView=!0),window.UserLeap._queue.push(["track",Ze,t,l,o]);const p=(e=document==null?void 0:document.querySelector('meta[name="description"]'))==null?void 0:e.getAttribute("content");(n=i.modules.replay)==null||n.RecordPageView({...p&&{description:p},url:r,referrer:document.referrer,pageTitle:document.title})}catch(s){s instanceof Error&&(s.stack=r,window.UserLeap.reportError("trackPageView",s)),console.warn("[Sprig] (ERR-428) Failed to track page view",s)}}function Et(){const r="Backbone"in window&&window.Backbone&&window.Backbone.history?window.Backbone.history:window.history;"pushState"in r&&(r.pushState=(t=>function(...o){const d=t.apply(this,o),e=new Event("pushState");return window.dispatchEvent(e),G(e),d})(r.pushState)),"replaceState"in r&&(r.replaceState=(t=>function(...o){const d=t.apply(this,o),e=new Event("replaceState");return window.dispatchEvent(e),G(e),d})(r.replaceState)),["hashchange","popstate"].forEach(t=>window.addEventListener(t,G,!0))}async function pe(r,t){const o=fe();r&&!t&&(window.UserLeap._config.mode=St);const d=he(i.getHttpHeaders(window.UserLeap)),e=await x(function(n){const s=new URL(R("1",[C],"questions"));return Object.entries(n||{}).forEach(([a,l])=>{l&&s.searchParams.append(a,String(l))}),s.toString()}({desktopDisplay:window.UserLeap._config.desktopDisplay,isMobile:d,previewLanguage:window.UserLeap._config.previewLanguage,surveyid:r==null?void 0:r.surveyId,surveytemplateid:r==null?void 0:r.surveyTemplateId,vid:o}),{shouldDropOnRateLimit:!0});if(!e.ok)return e.reportError&&e.error&&(console.warn("[Sprig] (ERR-414) Failed to request questions from the server",e.error),window.UserLeap.reportError("getQuestions",e.error)),{success:!1,surveyState:"no survey"};if(e.json.delay&&await i.delay(e.json.delay),!e.json.isFeedback)return z(e.json);{const{feedbackLabel:n,productConfig:s,surveyUuid:a,feedbackCustomStyles:l}=e.json,{buttonTheme:p,placement:c,desktopDisplay:u}=s;Je({customStyles:l,buttonTheme:p,desktopDisplay:u,eventId:0,feedbackLabel:n,placement:c,surveyUuid:a,surveyId:r==null?void 0:r.surveyId},e.json)}}function It(r){if(!r)return;window.UserLeap._config=r,r.mute&&window.UserLeap._queue.pause();const{interactiveEvents:t,pageUrlEvents:o,dismissOnPageChange:d}=r;t&&function(e){let n=e.length;for(;n;){const s=Math.floor(Math.random()*n);n-=1;const a=e[n];e[n]=e[s],e[s]=a}}(t),(t||o||d)&&(Et(),G())}const kt=function(r){if(!window.UserLeap)return;const t=async(e={})=>{var S,h,L,U,T;const{userId:n,anonymousId:s,metadata:a={},properties:l,showSurveyCallback:p}=e;let{eventName:c}=e;if(window.UserLeap.debugMode&&c!==Ze&&console.info("[DEBUG] Sprig track",e),r.mode==="test")return;const u=i.localStorageHelper.getItem("sprig.previewKey")??void 0;if(r.requireUserIdForTracking&&!window.UserLeap.userId&&!n){const v="[Sprig] - Skipping tracking without userId";return console.warn(v),{success:!1,message:v,surveyState:"no survey"}}if(!c||c.trim().length===0){c=c?String(c):"";const v="[Sprig] - Invalid event name "+c;return console.warn(v),{success:!1,message:v,surveyState:"no survey"}}const m=window.location.href;a.url||(a.url=m),E("trackStartUrl",m),(h=(S=window.UserLeap)==null?void 0:S._config)!=null&&h.optimizelyEnabled&&(oe(i.getHttpHeaders(window.UserLeap))||Y.getAndSetWebOptimizelyExperiments(),a.optimizelyExperiments=Object.assign({},Y.getAllOptimizelyExperiments())),(U=(L=window.UserLeap)==null?void 0:L._config)!=null&&U.launchDarklyEnabled&&(a.launchDarklyFlags=ge.getAllLaunchDarklyVariations()),n&&(window.UserLeap.userId=n),s&&(window.UserLeap.partnerAnonymousId=s),l&&(a.eventProperties=l),(T=i.modules.replay)==null||T.RecordEvent({name:c,url:a.url}),i.breadcrumbsLogger.info("TrackEvent",{eventName:c});const w=window.UserLeap.delayingSurvey||$e()?await x(R("1",[P],"events/batch"),{body:JSON.stringify({events:[{event:c,metadata:a}],previewKey:u}),method:"POST",shouldDropOnRateLimit:!0}):await x(R("1",[P],"events"),{body:JSON.stringify({event:c,metadata:a,previewKey:u}),method:"POST",shouldDropOnRateLimit:!0});if(!w.ok){const v="[Sprig] (ERR-421) Failed to track event";return w.reportError&&(console.warn(v,w.error),w.error&&window.UserLeap.reportError("track",w.error)),{success:!1,message:v,error:w.error,surveyState:"no survey"}}n&&E("uid",n),s&&E("aid",s);const g=w.json;g.invalidPreviewKey&&i.localStorageHelper.removeItem("sprig.previewKey");const I=a.trackPageView?a.url:void 0;return g!=null&&g.feedbackButton&&Je(g.feedbackButton,void 0,I),await async function(v,b){var _,M;let k=!0;return!(b&&((_=v==null?void 0:v.json)!=null&&_.surveyId)&&(window.UserLeap.delayingSurvey=!0,k=await b(v.json.surveyId),window.UserLeap.delayingSurvey=!1,!k))&&((M=v==null?void 0:v.json)!=null&&M.delay&&!window.UserLeap.isMobileSDK&&(window.UserLeap.delayingSurvey=!0,await i.delay(v.json.delay),window.UserLeap.delayingSurvey=!1),k)}(w,p)?function(v,b){const{pageUrlEvents:k,interactiveEvents:_,dismissOnPageChange:M}=window.UserLeap._config;if(!M)return!0;const D=[];k&&k.length&&D.push(...k),_&&_.length&&D.push(..._);const J=v&&D.find(W=>W.id===v);return J?i.checkUrlMatch(J,window.location.href):b===window.location.href}(g.eventId,m)?z(g,I):{success:!1,message:"Study should not be displayed after page navigation",surveyState:"no survey"}:{success:!1,message:"[Sprig] Callback returned false, aborting rendering of survey",surveyState:"no survey"}},o=(e,n)=>{var a;const s=(a=e==null?void 0:e.querySelector(`[id="${be}"]`))==null?void 0:a.contentDocument;s&&K({document:s,elementId:"ul-custom-style",styleString:n})},d={displaySurvey:async e=>(console.warn("[Sprig] displaySurvey should only be used to debug your studies; not intended for production usage."),window.UserLeap("dismissActiveSurvey",i.DismissReason.Override),pe({surveyId:e},!0)),_previewSurvey(e){window.UserLeap("dismissActiveSurvey",i.DismissReason.Override),pe({surveyTemplateId:e},!1)},_reviewSurvey(e){window.UserLeap("dismissActiveSurvey",i.DismissReason.Override),pe({surveyId:e},!1)},previewSurvey(e){d._previewSurvey(e)},reviewSurvey(e){d._reviewSurvey(e)},mute(){window.UserLeap._queue.pause()},unmute(){window.UserLeap._queue.unpause()},setVisitorToken(){console.warn("[Sprig] setVisitorToken is deprecated.")},dismissActiveSurvey(e=i.DismissReason.API){window.UserLeap.container&&i.eventEmitter.emit(i.SprigEvent.SurveyWillClose,{name:i.SprigEvent.SurveyWillClose,initiator:e,"survey.id":parseInt(window.UserLeap.container.dataset.studyId)})},async setAttribute(e,n){if(!e||!n&&n!==0&&n!==!1){const s="[Sprig] - Disregarding empty attribute / value provided";return console.warn(s),{success:!1,message:s}}return this.setAttributes({[e]:n})},async setAttributes(e){if(e==null||Object.keys(e).length===0){const n="[Sprig] - Disregarding empty attributes provided";return console.warn(n),{success:!1,message:n}}return this.identifyAndSetAttributes({attributes:e})},async identifyAndSetAttributes(e){if(window.UserLeap.debugMode&&console.info("[DEBUG] Sprig identifyAndSetAttributes",e),r.mode==="test")return;if(e===null||typeof e!="object"||!(e.userId||e.anonymousId||e.attributes)){const c="[Sprig] - Disregarding empty payload provided";return console.warn(c),{success:!1,message:c}}const{userId:n,anonymousId:s,attributes:a}=e;if(r.requireUserIdForTracking&&!window.UserLeap.userId&&!n){const c="[Sprig] - Skipping tracking without userId";return console.warn(c),{success:!1,message:c}}if(!(a||n&&window.UserLeap.userId!==n||s&&window.UserLeap.partnerAnonymousId!==s))return{success:!0};const l={};let p;return n&&(l.userId=window.UserLeap.userId=n),s&&(l.partnerAnonymousId=window.UserLeap.partnerAnonymousId=s),a?(a.email&&!Object.prototype.hasOwnProperty.call(a,B)&&(a[B]=a.email,delete a.email),p=await x(R("1",[C,P],"attributes"),{body:JSON.stringify(a),method:"PUT"}),!p.ok&&p.reportError&&(console.warn("[Sprig] (ERR-432) identifyAndSetAttributes failed",p.error),p.error&&window.UserLeap.reportError("identifyAndSetAttributes",p.error))):p=await x(R("1",[C,P]),{body:JSON.stringify(l),method:"PUT"}),a&&a[B]&&(window.UserLeap.email=a[B]),p.ok&&(n&&E("uid",n),s&&E("aid",s)),{success:!!p.ok}},async removeAttributes(e){if(window.UserLeap.debugMode&&console.info("[DEBUG] Sprig removeAttributes",e),r.mode==="test")return;if(e==null||e.length===0){const s="[Sprig] - Disregarding empty attributes provided";return console.warn(s),{success:!1,message:s}}if(r.requireUserIdForTracking&&!window.UserLeap.userId){const s="[Sprig] - Skipping tracking without userId";return console.warn(s),{success:!1,message:s}}const n=await x(R("1",[C,P],"attributes"),{body:JSON.stringify({delete:e}),method:"DELETE"});return!n.ok&&n.reportError&&(console.warn("[Sprig] (ERR-433) Remove attributes failed",n.error),n.error&&window.UserLeap.reportError("removeAttributes",n.error)),{success:!!n.ok}},async addSurveyListener(e){i.eventEmitter.on(i.SprigEvent.SurveyLifeCycle,e)},async removeSurveyListener(e){i.eventEmitter.removeListener(i.SprigEvent.SurveyLifeCycle,e)},async addListener(e,n){i.eventEmitter.on(e,n)},async removeListener(e,n){i.eventEmitter.removeListener(e,n)},async removeAllListeners(){i.eventEmitter.removeAllListeners()},setPreviewKey(e){e&&typeof e=="string"&&i.localStorageHelper.isStorageAvailable&&e&&i.localStorageHelper.setItem("sprig.previewKey",e)},async setUserId(e){var a;if(window.UserLeap.debugMode&&console.info("[DEBUG] Sprig setUserId",e),e==null){const l=`[Sprig] - Invalid userId ${e}`;return console.warn(l),{success:!1,message:l}}if(r.mode==="test"||e===window.UserLeap.userId)return;window.UserLeap.userId=e;const n=window.UserLeap.visitorId,s=await x(R("1",[C,P]),{body:JSON.stringify({userId:e}),method:"PUT"});s.ok?(n!==window.UserLeap.visitorId&&((a=i.modules.replay)==null||a.clearUserReplayData()),E("uid",e)):s.reportError&&(console.warn("[Sprig] (ERR-420) Failed to set user id",s.error),s.error&&window.UserLeap.reportError("setUserId",s.error))},async setPartnerAnonymousId(e){if(window.UserLeap.debugMode&&console.info("[DEBUG] Sprig setPartnerAnonymousId",e),e==null){const n=`[Sprig] - Invalid partnerAnonymousId ${e}`;return console.warn(n),{success:!1,message:n}}return window.UserLeap.partnerAnonymousId=e,E("aid",e),{success:!0}},track:async(e,n,s={},a=void 0)=>t({eventName:e,properties:n,metadata:s,showSurveyCallback:a}),identifyAndTrack:async e=>await t(e),trackPageView(e,n=void 0,s=void 0,a=!0){it(e,n,s,a)},applyFeedbackStyles({button:e="",view:n=""}){window.UserLeap.feedbackCustomStyles=n,document.getElementById("sprig-feedback-style")&&K({document,elementId:"ul-custom-style",styleString:e,nonce:window.UserLeap.styleNonce}),o(document.querySelector(".ul-container-feedback"),n)},applyStyles(e){window.UserLeap.customStyles=e,o(window.UserLeap.container,e)},setWindowDimensions(e,n){var p,c;const s=typeof e=="string"?parseInt(e,10):e,a=typeof n=="string"?parseInt(n,10):n;if(isNaN(s)||isNaN(a)||(window.UserLeap.windowDimensions={width:s,height:a}),!window.UserLeap.frameId)return;const l=document.getElementById(window.UserLeap.frameId);l&&(window.UserLeap.useMobileStyling&&((p=window.UserLeap.windowDimensions)!=null&&p.width&&(l.style.width=`${window.UserLeap.windowDimensions.width}px`),(c=window.UserLeap.windowDimensions)!=null&&c.height&&(l.style.maxHeight=window.UserLeap.windowDimensions.height-20+"px"),l.contentDocument&&(l.style.height=String(qe(l.contentDocument)[0])+"px")),i.eventEmitter.emit(i.SprigEvent.SurveyDimensions,{name:i.SprigEvent.SurveyDimensions,contentFrameWidth:l.clientWidth,contentFrameHeight:l.clientHeight,"survey.id":parseInt(window.UserLeap.container.dataset.studyId)}))},logoutUser(){var e;window.UserLeap.debugMode&&console.info("[DEBUG] Sprig logout"),i.breadcrumbsLogger.info("LogOut",{vid:window.UserLeap.visitorId,userId:window.UserLeap.userId}),window.UserLeap.visitorId=null,window.UserLeap.userId=null,window.UserLeap.partnerAnonymousId=null,window.UserLeap.token=null,window.UserLeap.email=null,i.localStorageHelper.removeItem("userleap.ids"),window.UserLeap._queue.isPaused()&&window.UserLeap._queue.empty(),rt(),(e=i.modules.replay)==null||e.clearUserReplayData(),window.UserLeap._queue.unpause()},teardown(){["hashchange","popstate"].forEach(e=>window.removeEventListener(e,G,!0)),window.UserLeap._config.interactiveEvents&&tt(),window.UserLeap("dismissActiveSurvey",i.DismissReason.API),delete window.UserLeap,delete window.Sprig,delete window._Sprig},integrateOptimizely(e,n=!0){var s,a;if((a=(s=window.UserLeap)==null?void 0:s._config)!=null&&a.optimizelyEnabled)try{const l=typeof e=="string"?JSON.parse(e):e;Y.setOptimizelyExperiment(l,n)}catch(l){console.warn("[Sprig] Error with integrating Optimizely data"),l instanceof Error&&window.UserLeap.reportError("integrateOptimizely",l)}else console.warn("[SPRIG] Optimizely integration is currently not enabled for your product.")},integrateOptimizelyClient(e){var n,s;if(!((s=(n=window.UserLeap)==null?void 0:n._config)!=null&&s.optimizelyEnabled))return void console.warn("[SPRIG] Optimizely integration is currently not enabled for your product.");e.notificationCenter.addNotificationListener("ACTIVATE:experiment, user_id,attributes, variation, event",({experiment:a,variation:l})=>{const p={experiments:[{id:a.id,variation:l.key}]};window.UserLeap("integrateOptimizely",p,!1)})},importLaunchDarklyData(e){var n,s;(s=(n=window.UserLeap)==null?void 0:n._config)!=null&&s.launchDarklyEnabled?ge.setLDFlagsVariations(e):console.warn("[SPRIG] LaunchDarkly integration is currently not enabled for your product.")},setVisitorAttribute:(e,n)=>(console.warn("[Sprig] setVisitorAttribute is deprecated. Please use setAttribute"),d.setAttribute(e,n)),setEmail:async e=>d.setAttribute(B,e),setVisitorEmail:async e=>(console.warn("[Sprig] setVisitorEmail is deprecated. Please use setEmail"),d.setEmail(e)),_generateVideoUploadUrl:async e=>async function(n){var a;if(!n)return;const s=`${window.UserLeap._API_URL}/2/environments/integrations/upload`;try{const l=await fetch(s,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(l.ok){const p=await l.json();return(a=p==null?void 0:p.upload)==null?void 0:a.url}return null}catch(l){console.warn("[Sprig] Error with generating video upload url"),l instanceof Error&&window.UserLeap.reportError("generateVideoUploadUrl",l)}}(e),_reportMetric(e,n){i.reportAndRegister(e,n)},_completeSessionReplay:async({surveyId:e,responseGroupUuid:n,eventDigest:s})=>{var a;return i.modules.replay?(a=i.modules.replay)==null?void 0:a._completeSessionReplay({surveyId:e,responseGroupUuid:n,eventDigest:s,headers:i.getHttpHeaders(window.UserLeap)}):(window.UserLeap.reportError("_completeSessionReplay",new Error("Replay module not registered")),!1)}};Object.assign(window.UserLeap,d)};async function _t(r,t,o={},d={}){const e=window.__cfg&&window.__cfg.mode,n=fe(),s=window.UserLeap.envId,a=window.document.documentElement,l={mode:e,screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:window.navigator.language,...o},p={action:r,breadcrumbs:i.breadcrumbsLogger.breadcrumbs,err:{message:`${t==null?void 0:t.name} - ${t==null?void 0:t.message}`,stack:t==null?void 0:t.stack},meta:l,vid:n,envId:s,...d};(await x(R("1",null,"errors"),{method:"POST",headers:{"x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(p),shouldDropOnRateLimit:!0})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",t)}function Rt(r={}){const t=new URLSearchParams(window.location.search).get("sprigPreviewKey")??"";async function o(){var l;if(window.UserLeap.loaded)return;if(window.UserLeap.reportError=_t,window.UserLeap.loaded=!0,window.UserLeap._config=Object.assign({},r,window.UserLeap.config),window.UserLeap.delayingSurvey=!1,window.UserLeap._config&&typeof window.UserLeap._config=="object")for(const p in window.UserLeap._config)window.UserLeap[p]=window.UserLeap._config[p];if(!window.UserLeap.envId){if(!window.UserLeap.appId)throw new Error("Missing Environment id");window.UserLeap.envId=window.UserLeap.appId}window.UserLeap.debugMode&&console.info("[DEBUG] Sprig debug mode enabled");const d=window.UserLeap.sampleRate;if(d){let p=F("sampled");if(p===null&&(p=Math.random()<d,E("sampled",p)),!p)return}else F("sampled")!==null&&E("sampled",null);window.UserLeap._API_URL||(window.UserLeap._API_URL="https://api.sprig.com");const e=[...window.UserLeap._queue];window.UserLeap._queue=new mt(window.UserLeap,[]),window.UserLeap._queue.pause();for(let p=0;p<e.length;p++)window.UserLeap._queue.push(e[p]);const n=F("token");n?(window.UserLeap.token=n,window.UserLeap.visitorId=F("vid"),window.UserLeap.userId=F("uid"),window.UserLeap.partnerAnonymousId=F("aid")):(i.localStorageHelper.removeItem("userleap.ids"),rt());const s=oe(i.getHttpHeaders(window.UserLeap)),a=await async function(p){const c=i.getHttpHeaders(window.UserLeap);document.addEventListener("securitypolicyviolation",i.cspViolationHandler);const u=await i.sprigFetch(R("1",[C],"config"),{headers:c});if(document.removeEventListener("securitypolicyviolation",i.cspViolationHandler),!u.ok)return u.reportError&&(console.warn("[Sprig] (ERR-422) Failed to load configuration",u.error),u.error&&window.UserLeap.reportError("applyRemoteConfig",u.error)),i.killNetworkRequests("Disabled: failed to fetch configuration"),p;const m=u.json;return m!=null&&m.disabled?(i.killNetworkRequests(`Disabled: ${m.disabled}`),{disabled:m.disabled}):Object.assign({},m,p)}(r);bt({isWeb:!s,reportingIntervalSeconds:a.metricsReportingEnabled||a.mobileMetricsReportingEnabled?a.metricsReportingIntervalSeconds:0,thresholds:a.metricThresholds,postMetrics:async p=>{var c;await x(R("1",[C],"metrics"),{body:p,method:"POST",headers:{"x-ul-replay-enabled":`${!!((c=i.modules.replay)!=null&&c.isReplayRecording())}`},shouldDropOnRateLimit:!0})}}),await((l=i.modules.replay)==null?void 0:l.initializeReplay({maxReplayDurationSeconds:a.maxReplayDurationSeconds,maxInflightRequests:window.UserLeap.maxInflightReplayRequests??2,replaySettings:a.replaySettings})),kt(a),await It(a),window.UserLeap._queue.unpause(),i.eventEmitter.emit(i.SprigEvent.SDKReady,{mobileMetricsReportingEnabled:!!a.mobileMetricsReportingEnabled,metricsReportingInterval:a.metricsReportingIntervalSeconds||0,metricsThresholds:a.metricThresholds||[],maxMobileReplayDurationSeconds:a.maxMobileReplayDurationSeconds,mobileReplaySettings:a.mobileReplaySettings}),i.eventEmitter.emit(i.SprigEvent.VisitorIDUpdated,{visitorId:window.UserLeap.visitorId})}window.UserLeap.UPDATES=i.EVENTS,window.UserLeap("setPreviewKey",t),document.readyState==="complete"?o():window.attachEvent?window.attachEvent("onload",o):window.addEventListener("load",()=>{o()},!1)}class ne{constructor(){this.UPDATES=i.EVENTS}displaySurvey(t){window.Sprig("displaySurvey",t)}mute(){window.Sprig("mute")}unmute(){window.Sprig("unmute")}dismissActiveSurvey(){window.Sprig("dismissActiveSurvey")}setAttribute(t,o){window.Sprig("setAttribute",t,o)}setAttributes(t){window.Sprig("setAttributes",t)}identifyAndSetAttributes(t){window.Sprig("identifyAndSetAttributes",t)}removeAttributes(t){window.Sprig("removeAttributes",t)}addListener(t,o){window.Sprig("addListener",t,o)}removeListener(t,o){window.Sprig("removeListener",t,o)}removeAllListeners(){window.Sprig("removeAllListeners")}setEmail(t){window.Sprig("setAttribute","!email",t)}setUserId(t){window.Sprig("setUserId",t)}setPartnerAnonymousId(t){window.Sprig("setPartnerAnonymousId",t)}track(t,o={},d={}){window.Sprig("track",t,o,d)}identifyAndTrack(t){window.Sprig("identifyAndTrack",t)}trackPageView(t,o,d){window.Sprig("trackPageView",t,o,d)}applyStyles(t){window.Sprig("applyStyles",t)}setWindowDimensions(t,o){window.Sprig("setWindowDimensions",t,o)}logoutUser(){window.Sprig("logoutUser")}teardown(){window.Sprig("teardown")}}const ve={configure:r=>{if(!r.envId&&!r.environmentId)throw new Error("Initialization Error: Sprig configure requires an environmentId");if(r.envId||(r.envId=r.environmentId??""),r.installationMethod="web-npm",window.Sprig)return window.Sprig;window.Sprig=function(){window.Sprig._queue.push(arguments)},Object.getOwnPropertyNames(ne.prototype).map(o=>{o!=="constructor"&&(window.Sprig[o]=ne.prototype[o])});const t=window.Sprig;return t.appId=r.envId,t._queue=[],window.UserLeap=t,Rt(r),window.Sprig}},Dt={sprig:ve,SprigAPI:ne,configure:ve.configure};exports.APP_ID="ul-app",exports.ConflictingWidgets=Ne,exports.DEFAULT_BORDER_COLOR="#e6e6e6",exports.DEFAULT_WIDTH=Fe,exports.EMBED_MOBILE_MAX_WIDTH=1030,exports.ERROR_BORDER_COLOR="#bd282a",exports.SprigAPI=ne,exports.calculateFrameDimensions=qe,exports.core=Dt,exports.resetScrollPosition=r=>{const t=r.querySelector(".ul-card__container");t&&(t.scrollTop=0)},exports.setSurveyStyles=K,exports.sprig=ve;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("./metricsReporter-ikJ_RTTQ.cjs"),e=require("./core-JazVRZuc.cjs");exports.DismissReason=r.DismissReason;exports.SprigEvent=r.SprigEvent;exports.SprigAPI=e.SprigAPI;exports.default=e.core;exports.sprig=e.sprig;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("./metricsReporter-CWdbAU8e.cjs"),e=require("./core-fo3rejWC.cjs");exports.DismissReason=i.DismissReason,exports.SprigEvent=i.SprigEvent,exports.SprigAPI=e.SprigAPI,exports.default=e.core,exports.sprig=e.sprig;
package/dist/core.js CHANGED
@@ -1 +1,9 @@
1
- import{D as s,S as a}from"./metricsReporter-pb5Px0rg.js";import{S as r,c as i,s as o}from"./core-B6K_G_tP.js";export{s as DismissReason,r as SprigAPI,a as SprigEvent,i as default,o as sprig};
1
+ import { D as r, S as e } from "./metricsReporter-D9j5QNEB.js";
2
+ import { S as o, c as p, s as t } from "./core-C4DvxVfT.js";
3
+ export {
4
+ r as DismissReason,
5
+ o as SprigAPI,
6
+ e as SprigEvent,
7
+ p as default,
8
+ t as sprig
9
+ };
package/dist/electron.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=()=>!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0);function i(){if(!t())throw new Error("Only can preload contextBridge within Electron apps.");const{contextBridge:e,ipcRenderer:r}=require("electron");e.exposeInMainWorld("sprigAPI",{openUrl:n=>r.send("sprig-sdk-url-open",{url:n})})}function s(){if(!t())throw new Error("Only can register IPC within Electron apps.");const{shell:e,ipcMain:r}=require("electron");r.on("sprig-sdk-url-open",(n,{url:o})=>{e.openExternal(o)})}exports.registerElectronIPC=s;exports.registerElectronPreload=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=()=>typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||!(typeof process>"u"||typeof process.versions!="object"||!process.versions.electron)||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0;exports.registerElectronIPC=function(){if(!n())throw new Error("Only can register IPC within Electron apps.");const{shell:e,ipcMain:r}=require("electron");r.on("sprig-sdk-url-open",(o,{url:t})=>{e.openExternal(t)})},exports.registerElectronPreload=function(){if(!n())throw new Error("Only can preload contextBridge within Electron apps.");const{contextBridge:e,ipcRenderer:r}=require("electron");e.exposeInMainWorld("sprigAPI",{openUrl:o=>r.send("sprig-sdk-url-open",{url:o})})};
package/dist/electron.js CHANGED
@@ -1 +1,19 @@
1
- const n=()=>!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0);function s(){if(!n())throw new Error("Only can preload contextBridge within Electron apps.");const{contextBridge:e,ipcRenderer:r}=require("electron");e.exposeInMainWorld("sprigAPI",{openUrl:o=>r.send("sprig-sdk-url-open",{url:o})})}function i(){if(!n())throw new Error("Only can register IPC within Electron apps.");const{shell:e,ipcMain:r}=require("electron");r.on("sprig-sdk-url-open",(o,{url:t})=>{e.openExternal(t)})}export{i as registerElectronIPC,s as registerElectronPreload};
1
+ const o = () => typeof window < "u" && typeof window.process == "object" && window.process.type === "renderer" || !(typeof process > "u" || typeof process.versions != "object" || !process.versions.electron) || typeof navigator == "object" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Electron") >= 0;
2
+ function s() {
3
+ if (!o())
4
+ throw new Error("Only can preload contextBridge within Electron apps.");
5
+ const { contextBridge: e, ipcRenderer: r } = require("electron");
6
+ e.exposeInMainWorld("sprigAPI", { openUrl: (n) => r.send("sprig-sdk-url-open", { url: n }) });
7
+ }
8
+ function i() {
9
+ if (!o())
10
+ throw new Error("Only can register IPC within Electron apps.");
11
+ const { shell: e, ipcMain: r } = require("electron");
12
+ r.on("sprig-sdk-url-open", (n, { url: t }) => {
13
+ e.openExternal(t);
14
+ });
15
+ }
16
+ export {
17
+ i as registerElectronIPC,
18
+ s as registerElectronPreload
19
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./core-JazVRZuc.cjs");require("./replay.cjs");const r=require("./metricsReporter-ikJ_RTTQ.cjs");exports.SprigAPI=e.SprigAPI;exports.default=e.core;exports.sprig=e.sprig;exports.DismissReason=r.DismissReason;exports.SprigEvent=r.SprigEvent;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./core-fo3rejWC.cjs");require("./replay.cjs");const r=require("./metricsReporter-CWdbAU8e.cjs");exports.SprigAPI=e.SprigAPI,exports.default=e.core,exports.sprig=e.sprig,exports.DismissReason=r.DismissReason,exports.SprigEvent=r.SprigEvent;
package/dist/index.js CHANGED
@@ -1 +1,10 @@
1
- import{S as s,c as a,s as i}from"./core-B6K_G_tP.js";import"./replay.js";import{D as r,S as o}from"./metricsReporter-pb5Px0rg.js";export{r as DismissReason,s as SprigAPI,o as SprigEvent,a as default,i as sprig};
1
+ import { S as i, c as o, s as p } from "./core-C4DvxVfT.js";
2
+ import "./replay.js";
3
+ import { D as t, S as m } from "./metricsReporter-D9j5QNEB.js";
4
+ export {
5
+ t as DismissReason,
6
+ i as SprigAPI,
7
+ m as SprigEvent,
8
+ o as default,
9
+ p as sprig
10
+ };
@@ -0,0 +1 @@
1
+ "use strict";var Y=Object.defineProperty;var H=(e,t,r)=>t in e?Y(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var l=(e,t,r)=>(H(e,typeof t!="symbol"?t+"":t,r),r);var A=(e=>(e.Closed="close.click",e.Complete="survey.completed",e.FeedbackClosed="feedback.closed",e.PageChange="page.change",e.API="api",e.Override="override",e))(A||{}),U=(e=>(e.ReplayCapture="replay.capture",e.FeedbackButtonLoaded="feedback.button.loaded",e.SDKReady="sdk.ready",e.SurveyAppeared="survey.appeared",e.SurveyClosed="survey.closed",e.SurveyDimensions="survey.dimensions",e.SurveyFadingOut="survey.fadingOut",e.SurveyHeight="survey.height",e.SurveyPresented="survey.presented",e.SurveyLifeCycle="survey.lifeCycle",e.SurveyWidth="survey.width",e.SurveyWillClose="survey.willClose",e.SurveyWillPresent="survey.will.present",e.CloseSurveyOnOverlayClick="close.survey.overlayClick",e.VisitorIDUpdated="visitor.id.updated",e.QuestionAnswered="question.answered",e))(U||{});let m;const j=new Uint8Array(16);function B(){if(!m&&(m=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!m))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return m(j)}const a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));const b={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},w=new class{constructor(){l(this,"breadcrumbs",[])}getTimeStamp(){return new Date().toISOString()}addBreadcrumb(e){this.breadcrumbs.push(e),this.breadcrumbs.length>300&&this.breadcrumbs.shift()}debug(e,t="debug"){this.addBreadcrumb({category:t,level:"info",message:e,timestamp:this.getTimeStamp(),type:"debug"})}error(e,t={}){this.addBreadcrumb({category:"error",data:t,level:"error",message:e,timestamp:this.getTimeStamp(),type:"error"})}http(e,t){this.addBreadcrumb({category:"xhr",data:t,message:e,timestamp:this.getTimeStamp(),type:"http"})}info(e,t={}){this.addBreadcrumb({category:"info",data:t,level:"info",message:e,timestamp:this.getTimeStamp(),type:"info"})}navigation(e,t){this.addBreadcrumb({category:"navigation",data:t,message:e,timestamp:this.getTimeStamp(),type:"navigation"})}};var q=class extends Error{constructor(e,t,r){super(`Possible EventEmitter memory leak detected. ${r} ${t.toString()} listeners added. Use emitter.setMaxListeners() to increase limit`),this.emitter=e,this.type=t,this.count=r,this.name="MaxListenersExceededWarning"}},D=class{static listenerCount(e,t){return e.listenerCount(t)}constructor(){this.events=new Map,this.maxListeners=D.defaultMaxListeners,this.hasWarnedAboutPotentialMemoryLeak=!1}_emitInternalEvent(e,t,r){this.emit(e,t,r)}_getListeners(e){return Array.prototype.concat.apply([],this.events.get(e))||[]}_removeListener(e,t){const r=e.indexOf(t);return r>-1&&e.splice(r,1),[]}_wrapOnceListener(e,t){const r=(...s)=>(this.removeListener(e,r),t.apply(this,s));return Object.defineProperty(r,"name",{value:t.name}),r}setMaxListeners(e){return this.maxListeners=e,this}getMaxListeners(){return this.maxListeners}eventNames(){return Array.from(this.events.keys())}emit(e,...t){const r=this._getListeners(e);return r.forEach(s=>{s.apply(this,t)}),r.length>0}addListener(e,t){this._emitInternalEvent("newListener",e,t);const r=this._getListeners(e).concat(t);if(this.events.set(e,r),this.maxListeners>0&&this.listenerCount(e)>this.maxListeners&&!this.hasWarnedAboutPotentialMemoryLeak){this.hasWarnedAboutPotentialMemoryLeak=!0;const s=new q(this,e,this.listenerCount(e));console.warn(s)}return this}on(e,t){return this.addListener(e,t)}once(e,t){return this.addListener(e,this._wrapOnceListener(e,t))}prependListener(e,t){const r=this._getListeners(e);if(r.length>0){const s=[t].concat(r);this.events.set(e,s)}else this.events.set(e,r.concat(t));return this}prependOnceListener(e,t){return this.prependListener(e,this._wrapOnceListener(e,t))}removeListener(e,t){const r=this._getListeners(e);return r.length>0&&(this._removeListener(r,t),this.events.set(e,r),this._emitInternalEvent("removeListener",e,t)),this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){return e?this.events.delete(e):this.events.clear(),this}listeners(e){return Array.from(this._getListeners(e))}listenerCount(e){return this._getListeners(e).length}rawListeners(e){return this.listeners(e)}},C=D;C.defaultMaxListeners=10;const F=new C,S=async e=>{await new Promise(t=>{setTimeout(t,e)})};class x{constructor(t){l(this,"storage");l(this,"tempStorage",{});l(this,"isStorageAvailable");this.storage=window[t],this.isStorageAvailable=this.checkIfStorageAvailable()}checkIfStorageAvailable(){try{const t="__storage_test__";return this.storage.setItem(t,t),this.storage.removeItem(t),!0}catch{return!1}}setItem(t,r){this.isStorageAvailable?this.storage.setItem(t,r):this.tempStorage[t]=r}getItem(t){return this.isStorageAvailable?this.storage.getItem(t):this.tempStorage[t]}removeItem(t){this.isStorageAvailable?this.storage.removeItem(t):delete this.tempStorage[t]}clear(){this.isStorageAvailable?this.storage.clear():this.tempStorage={}}}const $=new x("sessionStorage"),J=new x("localStorage");class K{constructor(t){l(this,"payload");l(this,"promise");l(this,"reject",()=>{});l(this,"resolve",()=>{});this.payload=t,this.promise=new Promise((r,s)=>{this.reject=s,this.resolve=r})}resolveRequest(t){this.resolve(t)}}const E={replay:null},G=()=>{const e=[];return E.replay&&e.push("replay"),e.join(",")},z=10;let T=!1,M="",g=!1,P=!1,y=[];const Q=e=>e._config&&e._config.installationMethod?e._config.installationMethod:e._gtm?"web-gtm":e._segment?"web-segment":"web-snippet",N=(e="")=>{T=!0,M=e},R=async({shouldDropOnRateLimit:e,...t})=>{if(e)return{status:429};{const r=new K(t);return y.push(r),r.promise}},v=async(e,t)=>{const{retries:r=0,shouldDropOnRateLimit:s=!1,shouldRetryRequest:n=!1,...i}=t,d={url:e,options:i,retries:r,shouldDropOnRateLimit:s};if(g&&!n)return R(d);const u={ok:!1,reportError:!1};if(T)return console.info(`UserLeap - ${M}`),u;try{const c=await fetch(e,i);if(c.status===429){if(!g&&!s||n){g=!0;const o=c.headers.has("ratelimit-reset")?Number(c.headers.get("ratelimit-reset")):z;return await S(1e3*o),v(e,{...i,shouldDropOnRateLimit:s,shouldRetryRequest:!0})}return R(d)}if(g=!1,y.length&&(y.map(o=>{const h=o.payload;v(h.url,{...h.options,retries:h.retries,shouldDropOnRateLimit:h.shouldDropOnRateLimit}).then(W=>{o.resolveRequest(W)})}),y=[]),c.ok){if(c.status===249)return N(),u;const o=await c.text();try{return o&&o!=="OK"&&(c.json=JSON.parse(o)),c}catch{return{ok:!1,reportError:!1,error:new Error(`failed parsing response json for ${e} - ${o}`)}}}return c}catch(c){const o=r+1;return o>5||P?{ok:!1,reportError:!1,error:c}:(await S(1e3*Math.pow(2,r)),v(e,{...i,retries:o}))}},I=Object.freeze({contains:(e,t)=>t.includes(e),notContains:(e,t)=>!t.includes(e),exactly:(e,t)=>t===e,notExactly:(e,t)=>t!==e,startsWith:(e,t)=>t.startsWith(e),endsWith:(e,t)=>t.endsWith(e),regex:(e,t)=>new RegExp(e).test(t),legacy:(e,t)=>new RegExp(e,"i").test(t)});function k(e,t){const{matchType:r,pattern:s}=e,n=r?I[r]:I.legacy;let i=!1;try{i=n(s,t)}catch(d){const u=`[Sprig] (ERR-445) Failed to check url match with pattern ${s}`;d instanceof Error&&(console.warn(u,d),d.stack=JSON.stringify(e),window.UserLeap.reportError(u,d))}return i}let V=!0,f=!1;const X=["sdk_event_queue_latency_seconds","sdk_replay_add_event_batch_seconds","sdk_replay_cleanup_seconds","sdk_replay_compression_seconds","sdk_replay_get_events_between_seconds","sdk_replay_snapshot_seconds","sdk_mutations_nodes_added","sdk_mutations_nodes_removed","sdk_mutations_attributes_changed","sdk_mutations_character_data","sdk_dom_nodes_count","sdk_page_html_characters"];let L,p={};class Z{constructor(t){l(this,"_values",[]);l(this,"_isWebMetric");this.name=t,this._isWebMetric=X.includes(this.name)}report(t){if(V&&this._values.push({time:Date.now(),value:t}),f||!this._isWebMetric)return;const r=this.findExceededThreshold(t);r&&L&&L(t,r)}collect(){const t=this._values;return this._values=[],t}findExceededThreshold(t){const r=p[this.name];if(r)return r.find(s=>this.valueExceedsThreshold(t,s))}valueExceedsThreshold(t,r){return r.type==="max"?t>r.value:r.type==="min"&&t<r.value}}const _={},O=e=>{const t=new Z(e);return _[e]=t,t};exports.DismissReason=A,exports.EVENTS={FEEDBACK_BUTTON_LOADED:"feedback.button.loaded",SDK_READY:"sdk.ready",SURVEY_APPEARED:"survey.appeared",SURVEY_CLOSED:"survey.closed",SURVEY_DIMENSIONS:"survey.dimensions",SURVEY_FADING_OUT:"survey.fadingOut",SURVEY_HEIGHT:"survey.height",SURVEY_WIDTH:"survey.width",SURVEY_PRESENTED:"survey.presented",SURVEY_LIFE_CYCLE:"survey.lifeCycle",SURVEY_WILL_CLOSE:"survey.willClose",SURVEY_WILL_PRESENT:"survey.will.present",QUESTION_ANSWERED:"question.answered",REPLAY_CAPTURE:"replay.capture",CLOSE_SURVEY_ON_OVERLAY_CLICK:"close.survey.overlayClick",VISITOR_ID_UPDATED:"visitor.id.updated",DATA:{DISMISS_REASONS:{API:"api",CLOSED:"close.click",COMPLETE:"survey.completed",PAGE_CHANGE:"page.change",OVERRIDE:"override"},SURVEY_ID:"survey.id"}},exports.PerformanceMetrics=_,exports.SprigEvent=U,exports.breadcrumbsLogger=w,exports.checkUrlMatch=k,exports.checkUrlStillMatching=e=>{const{pageUrlEvents:t}=window.UserLeap._config,r=t==null?void 0:t.find(s=>s.id===e);return!!r&&k(r,window.location.href)},exports.cspViolationHandler=e=>{var t;(t=e==null?void 0:e.blockedURI)!=null&&t.includes(window.UserLeap._API_URL)&&(P=!0,console.warn(`[Sprig] ${e.blockedURI} is blocked by Content-Security-Policy`))},exports.delay=S,exports.disableThresholdChecking=()=>f=!0,exports.eventEmitter=F,exports.getHttpHeaders=function(e={}){const t={"Content-Type":"application/json","userleap-platform":"web","x-ul-sdk-version":"2.32.1","x-ul-installation-method":Q(e),"sprig-modules":G()};if(e.envId&&(t["x-ul-environment-id"]=e.envId),e.token&&(t.Authorization="Bearer "+e.token),e.userId&&(t["x-ul-user-id"]=e.userId),e.visitorId&&(t["x-ul-visitor-id"]=e.visitorId),e.partnerAnonymousId&&(t["x-ul-anonymous-id"]=e.partnerAnonymousId),e.mobileHeadersJSON){const r=JSON.parse(e.mobileHeadersJSON);Object.assign(t,r)}return e.locale&&(t["accept-language"]=e.locale),window.previewMode&&(t["x-ul-preview-mode"]="1"),t},exports.initPerformanceReporting=({reportingIntervalSeconds:e,postMetrics:t})=>{e?setInterval(()=>{(async r=>{const s=Object.values(_).map(n=>({name:n.name,values:n.collect()}));if(s.some(n=>n.values.length))try{await r(JSON.stringify(s))}catch(n){n instanceof Error&&w.error("MetricsErr",{error:{message:n.message,name:n.name}})}})(t)},1e3*e):V=!1},exports.killNetworkRequests=N,exports.localStorageHelper=J,exports.modules=E,exports.registerMetric=O,exports.registerReplay=e=>{E.replay=e},exports.registerThresholds=(e,t)=>{p={},f=!1,e==null||e.forEach(r=>{var s;r.metric in p||(p[r.metric]=[]),(s=p[r.metric])==null||s.push(r)}),L=t},exports.reportAndRegister=(e,t)=>{let r=_[e];return r||(r=O(e)),r.report(t)},exports.sessionStorageHelper=$,exports.shouldDirectEmbed=({"userleap-platform":e})=>e!=="web",exports.sprigFetch=v,exports.v4=function(e,t,r){if(b.randomUUID&&!t&&!e)return b.randomUUID();const s=(e=e||{}).random||(e.rng||B)();return s[6]=15&s[6]|64,s[8]=63&s[8]|128,function(n,i=0){return a[n[i+0]]+a[n[i+1]]+a[n[i+2]]+a[n[i+3]]+"-"+a[n[i+4]]+a[n[i+5]]+"-"+a[n[i+6]]+a[n[i+7]]+"-"+a[n[i+8]]+a[n[i+9]]+"-"+a[n[i+10]]+a[n[i+11]]+a[n[i+12]]+a[n[i+13]]+a[n[i+14]]+a[n[i+15]]}(s)};
@@ -0,0 +1,348 @@
1
+ var T = Object.defineProperty;
2
+ var P = (e, t, s) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
3
+ var l = (e, t, s) => (P(e, typeof t != "symbol" ? t + "" : t, s), s);
4
+ var M = ((e) => (e.Closed = "close.click", e.Complete = "survey.completed", e.FeedbackClosed = "feedback.closed", e.PageChange = "page.change", e.API = "api", e.Override = "override", e))(M || {}), N = ((e) => (e.ReplayCapture = "replay.capture", e.FeedbackButtonLoaded = "feedback.button.loaded", e.SDKReady = "sdk.ready", e.SurveyAppeared = "survey.appeared", e.SurveyClosed = "survey.closed", e.SurveyDimensions = "survey.dimensions", e.SurveyFadingOut = "survey.fadingOut", e.SurveyHeight = "survey.height", e.SurveyPresented = "survey.presented", e.SurveyLifeCycle = "survey.lifeCycle", e.SurveyWidth = "survey.width", e.SurveyWillClose = "survey.willClose", e.SurveyWillPresent = "survey.will.present", e.CloseSurveyOnOverlayClick = "close.survey.overlayClick", e.VisitorIDUpdated = "visitor.id.updated", e.QuestionAnswered = "question.answered", e))(N || {});
5
+ const X = { FEEDBACK_BUTTON_LOADED: "feedback.button.loaded", SDK_READY: "sdk.ready", SURVEY_APPEARED: "survey.appeared", SURVEY_CLOSED: "survey.closed", SURVEY_DIMENSIONS: "survey.dimensions", SURVEY_FADING_OUT: "survey.fadingOut", SURVEY_HEIGHT: "survey.height", SURVEY_WIDTH: "survey.width", SURVEY_PRESENTED: "survey.presented", SURVEY_LIFE_CYCLE: "survey.lifeCycle", SURVEY_WILL_CLOSE: "survey.willClose", SURVEY_WILL_PRESENT: "survey.will.present", QUESTION_ANSWERED: "question.answered", REPLAY_CAPTURE: "replay.capture", CLOSE_SURVEY_ON_OVERLAY_CLICK: "close.survey.overlayClick", VISITOR_ID_UPDATED: "visitor.id.updated", DATA: { DISMISS_REASONS: { API: "api", CLOSED: "close.click", COMPLETE: "survey.completed", PAGE_CHANGE: "page.change", OVERRIDE: "override" }, SURVEY_ID: "survey.id" } };
6
+ let m;
7
+ const V = new Uint8Array(16);
8
+ function W() {
9
+ if (!m && (m = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !m))
10
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
11
+ return m(V);
12
+ }
13
+ const a = [];
14
+ for (let e = 0; e < 256; ++e)
15
+ a.push((e + 256).toString(16).slice(1));
16
+ const f = { randomUUID: typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto) };
17
+ function Z(e, t, s) {
18
+ if (f.randomUUID && !t && !e)
19
+ return f.randomUUID();
20
+ const r = (e = e || {}).random || (e.rng || W)();
21
+ return r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, function(n, i = 0) {
22
+ return a[n[i + 0]] + a[n[i + 1]] + a[n[i + 2]] + a[n[i + 3]] + "-" + a[n[i + 4]] + a[n[i + 5]] + "-" + a[n[i + 6]] + a[n[i + 7]] + "-" + a[n[i + 8]] + a[n[i + 9]] + "-" + a[n[i + 10]] + a[n[i + 11]] + a[n[i + 12]] + a[n[i + 13]] + a[n[i + 14]] + a[n[i + 15]];
23
+ }(r);
24
+ }
25
+ const Y = new class {
26
+ constructor() {
27
+ l(this, "breadcrumbs", []);
28
+ }
29
+ getTimeStamp() {
30
+ return (/* @__PURE__ */ new Date()).toISOString();
31
+ }
32
+ addBreadcrumb(e) {
33
+ this.breadcrumbs.push(e), this.breadcrumbs.length > 300 && this.breadcrumbs.shift();
34
+ }
35
+ debug(e, t = "debug") {
36
+ this.addBreadcrumb({ category: t, level: "info", message: e, timestamp: this.getTimeStamp(), type: "debug" });
37
+ }
38
+ error(e, t = {}) {
39
+ this.addBreadcrumb({ category: "error", data: t, level: "error", message: e, timestamp: this.getTimeStamp(), type: "error" });
40
+ }
41
+ http(e, t) {
42
+ this.addBreadcrumb({ category: "xhr", data: t, message: e, timestamp: this.getTimeStamp(), type: "http" });
43
+ }
44
+ info(e, t = {}) {
45
+ this.addBreadcrumb({ category: "info", data: t, level: "info", message: e, timestamp: this.getTimeStamp(), type: "info" });
46
+ }
47
+ navigation(e, t) {
48
+ this.addBreadcrumb({ category: "navigation", data: t, message: e, timestamp: this.getTimeStamp(), type: "navigation" });
49
+ }
50
+ }();
51
+ var j = class extends Error {
52
+ constructor(e, t, s) {
53
+ super(`Possible EventEmitter memory leak detected. ${s} ${t.toString()} listeners added. Use emitter.setMaxListeners() to increase limit`), this.emitter = e, this.type = t, this.count = s, this.name = "MaxListenersExceededWarning";
54
+ }
55
+ }, I = class {
56
+ static listenerCount(e, t) {
57
+ return e.listenerCount(t);
58
+ }
59
+ constructor() {
60
+ this.events = /* @__PURE__ */ new Map(), this.maxListeners = I.defaultMaxListeners, this.hasWarnedAboutPotentialMemoryLeak = !1;
61
+ }
62
+ _emitInternalEvent(e, t, s) {
63
+ this.emit(e, t, s);
64
+ }
65
+ _getListeners(e) {
66
+ return Array.prototype.concat.apply([], this.events.get(e)) || [];
67
+ }
68
+ _removeListener(e, t) {
69
+ const s = e.indexOf(t);
70
+ return s > -1 && e.splice(s, 1), [];
71
+ }
72
+ _wrapOnceListener(e, t) {
73
+ const s = (...r) => (this.removeListener(e, s), t.apply(this, r));
74
+ return Object.defineProperty(s, "name", { value: t.name }), s;
75
+ }
76
+ setMaxListeners(e) {
77
+ return this.maxListeners = e, this;
78
+ }
79
+ getMaxListeners() {
80
+ return this.maxListeners;
81
+ }
82
+ eventNames() {
83
+ return Array.from(this.events.keys());
84
+ }
85
+ emit(e, ...t) {
86
+ const s = this._getListeners(e);
87
+ return s.forEach((r) => {
88
+ r.apply(this, t);
89
+ }), s.length > 0;
90
+ }
91
+ addListener(e, t) {
92
+ this._emitInternalEvent("newListener", e, t);
93
+ const s = this._getListeners(e).concat(t);
94
+ if (this.events.set(e, s), this.maxListeners > 0 && this.listenerCount(e) > this.maxListeners && !this.hasWarnedAboutPotentialMemoryLeak) {
95
+ this.hasWarnedAboutPotentialMemoryLeak = !0;
96
+ const r = new j(this, e, this.listenerCount(e));
97
+ console.warn(r);
98
+ }
99
+ return this;
100
+ }
101
+ on(e, t) {
102
+ return this.addListener(e, t);
103
+ }
104
+ once(e, t) {
105
+ return this.addListener(e, this._wrapOnceListener(e, t));
106
+ }
107
+ prependListener(e, t) {
108
+ const s = this._getListeners(e);
109
+ if (s.length > 0) {
110
+ const r = [t].concat(s);
111
+ this.events.set(e, r);
112
+ } else
113
+ this.events.set(e, s.concat(t));
114
+ return this;
115
+ }
116
+ prependOnceListener(e, t) {
117
+ return this.prependListener(e, this._wrapOnceListener(e, t));
118
+ }
119
+ removeListener(e, t) {
120
+ const s = this._getListeners(e);
121
+ return s.length > 0 && (this._removeListener(s, t), this.events.set(e, s), this._emitInternalEvent("removeListener", e, t)), this;
122
+ }
123
+ off(e, t) {
124
+ return this.removeListener(e, t);
125
+ }
126
+ removeAllListeners(e) {
127
+ return e ? this.events.delete(e) : this.events.clear(), this;
128
+ }
129
+ listeners(e) {
130
+ return Array.from(this._getListeners(e));
131
+ }
132
+ listenerCount(e) {
133
+ return this._getListeners(e).length;
134
+ }
135
+ rawListeners(e) {
136
+ return this.listeners(e);
137
+ }
138
+ }, R = I;
139
+ R.defaultMaxListeners = 10;
140
+ const ee = new R(), L = async (e) => {
141
+ await new Promise((t) => {
142
+ setTimeout(t, e);
143
+ });
144
+ }, te = ({ "userleap-platform": e }) => e !== "web";
145
+ class k {
146
+ constructor(t) {
147
+ l(this, "storage");
148
+ l(this, "tempStorage", {});
149
+ l(this, "isStorageAvailable");
150
+ this.storage = window[t], this.isStorageAvailable = this.checkIfStorageAvailable();
151
+ }
152
+ checkIfStorageAvailable() {
153
+ try {
154
+ const t = "__storage_test__";
155
+ return this.storage.setItem(t, t), this.storage.removeItem(t), !0;
156
+ } catch {
157
+ return !1;
158
+ }
159
+ }
160
+ setItem(t, s) {
161
+ this.isStorageAvailable ? this.storage.setItem(t, s) : this.tempStorage[t] = s;
162
+ }
163
+ getItem(t) {
164
+ return this.isStorageAvailable ? this.storage.getItem(t) : this.tempStorage[t];
165
+ }
166
+ removeItem(t) {
167
+ this.isStorageAvailable ? this.storage.removeItem(t) : delete this.tempStorage[t];
168
+ }
169
+ clear() {
170
+ this.isStorageAvailable ? this.storage.clear() : this.tempStorage = {};
171
+ }
172
+ }
173
+ const se = new k("sessionStorage"), re = new k("localStorage");
174
+ class B {
175
+ constructor(t) {
176
+ l(this, "payload");
177
+ l(this, "promise");
178
+ l(this, "reject", () => {
179
+ });
180
+ l(this, "resolve", () => {
181
+ });
182
+ this.payload = t, this.promise = new Promise((s, r) => {
183
+ this.reject = r, this.resolve = s;
184
+ });
185
+ }
186
+ resolveRequest(t) {
187
+ this.resolve(t);
188
+ }
189
+ }
190
+ const O = { replay: null }, ne = (e) => {
191
+ O.replay = e;
192
+ }, q = () => {
193
+ const e = [];
194
+ return O.replay && e.push("replay"), e.join(",");
195
+ }, F = 10;
196
+ let A = !1, U = "", y = !1, D = !1, v = [];
197
+ const H = (e) => e._config && e._config.installationMethod ? e._config.installationMethod : e._gtm ? "web-gtm" : e._segment ? "web-segment" : "web-snippet", ie = (e) => {
198
+ var t;
199
+ (t = e == null ? void 0 : e.blockedURI) != null && t.includes(window.UserLeap._API_URL) && (D = !0, console.warn(`[Sprig] ${e.blockedURI} is blocked by Content-Security-Policy`));
200
+ }, $ = (e = "") => {
201
+ A = !0, U = e;
202
+ };
203
+ function ae(e = {}) {
204
+ const t = { "Content-Type": "application/json", "userleap-platform": "web", "x-ul-sdk-version": "2.32.1", "x-ul-installation-method": H(e), "sprig-modules": q() };
205
+ if (e.envId && (t["x-ul-environment-id"] = e.envId), e.token && (t.Authorization = "Bearer " + e.token), e.userId && (t["x-ul-user-id"] = e.userId), e.visitorId && (t["x-ul-visitor-id"] = e.visitorId), e.partnerAnonymousId && (t["x-ul-anonymous-id"] = e.partnerAnonymousId), e.mobileHeadersJSON) {
206
+ const s = JSON.parse(e.mobileHeadersJSON);
207
+ Object.assign(t, s);
208
+ }
209
+ return e.locale && (t["accept-language"] = e.locale), window.previewMode && (t["x-ul-preview-mode"] = "1"), t;
210
+ }
211
+ const w = async ({ shouldDropOnRateLimit: e, ...t }) => {
212
+ if (e)
213
+ return { status: 429 };
214
+ {
215
+ const s = new B(t);
216
+ return v.push(s), s.promise;
217
+ }
218
+ }, g = async (e, t) => {
219
+ const { retries: s = 0, shouldDropOnRateLimit: r = !1, shouldRetryRequest: n = !1, ...i } = t, d = { url: e, options: i, retries: s, shouldDropOnRateLimit: r };
220
+ if (y && !n)
221
+ return w(d);
222
+ const u = { ok: !1, reportError: !1 };
223
+ if (A)
224
+ return console.info(`UserLeap - ${U}`), u;
225
+ try {
226
+ const c = await fetch(e, i);
227
+ if (c.status === 429) {
228
+ if (!y && !r || n) {
229
+ y = !0;
230
+ const o = c.headers.has("ratelimit-reset") ? Number(c.headers.get("ratelimit-reset")) : F;
231
+ return await L(1e3 * o), g(e, { ...i, shouldDropOnRateLimit: r, shouldRetryRequest: !0 });
232
+ }
233
+ return w(d);
234
+ }
235
+ if (y = !1, v.length && (v.map((o) => {
236
+ const h = o.payload;
237
+ g(h.url, { ...h.options, retries: h.retries, shouldDropOnRateLimit: h.shouldDropOnRateLimit }).then((x) => {
238
+ o.resolveRequest(x);
239
+ });
240
+ }), v = []), c.ok) {
241
+ if (c.status === 249)
242
+ return $(), u;
243
+ const o = await c.text();
244
+ try {
245
+ return o && o !== "OK" && (c.json = JSON.parse(o)), c;
246
+ } catch {
247
+ return { ok: !1, reportError: !1, error: new Error(`failed parsing response json for ${e} - ${o}`) };
248
+ }
249
+ }
250
+ return c;
251
+ } catch (c) {
252
+ const o = s + 1;
253
+ return o > 5 || D ? { ok: !1, reportError: !1, error: c } : (await L(1e3 * Math.pow(2, s)), g(e, { ...i, retries: o }));
254
+ }
255
+ }, b = Object.freeze({ contains: (e, t) => t.includes(e), notContains: (e, t) => !t.includes(e), exactly: (e, t) => t === e, notExactly: (e, t) => t !== e, startsWith: (e, t) => t.startsWith(e), endsWith: (e, t) => t.endsWith(e), regex: (e, t) => new RegExp(e).test(t), legacy: (e, t) => new RegExp(e, "i").test(t) });
256
+ function J(e, t) {
257
+ const { matchType: s, pattern: r } = e, n = s ? b[s] : b.legacy;
258
+ let i = !1;
259
+ try {
260
+ i = n(r, t);
261
+ } catch (d) {
262
+ const u = `[Sprig] (ERR-445) Failed to check url match with pattern ${r}`;
263
+ d instanceof Error && (console.warn(u, d), d.stack = JSON.stringify(e), window.UserLeap.reportError(u, d));
264
+ }
265
+ return i;
266
+ }
267
+ const oe = (e) => {
268
+ const { pageUrlEvents: t } = window.UserLeap._config, s = t == null ? void 0 : t.find((r) => r.id === e);
269
+ return !!s && J(s, window.location.href);
270
+ };
271
+ let C = !0, S = !1;
272
+ const ce = () => S = !0, K = ["sdk_event_queue_latency_seconds", "sdk_replay_add_event_batch_seconds", "sdk_replay_cleanup_seconds", "sdk_replay_compression_seconds", "sdk_replay_get_events_between_seconds", "sdk_replay_snapshot_seconds", "sdk_mutations_nodes_added", "sdk_mutations_nodes_removed", "sdk_mutations_attributes_changed", "sdk_mutations_character_data", "sdk_dom_nodes_count", "sdk_page_html_characters"];
273
+ let _, p = {};
274
+ class G {
275
+ constructor(t) {
276
+ l(this, "_values", []);
277
+ l(this, "_isWebMetric");
278
+ this.name = t, this._isWebMetric = K.includes(this.name);
279
+ }
280
+ report(t) {
281
+ if (C && this._values.push({ time: Date.now(), value: t }), S || !this._isWebMetric)
282
+ return;
283
+ const s = this.findExceededThreshold(t);
284
+ s && _ && _(t, s);
285
+ }
286
+ collect() {
287
+ const t = this._values;
288
+ return this._values = [], t;
289
+ }
290
+ findExceededThreshold(t) {
291
+ const s = p[this.name];
292
+ if (s)
293
+ return s.find((r) => this.valueExceedsThreshold(t, r));
294
+ }
295
+ valueExceedsThreshold(t, s) {
296
+ return s.type === "max" ? t > s.value : s.type === "min" && t < s.value;
297
+ }
298
+ }
299
+ const le = (e, t) => {
300
+ p = {}, S = !1, e == null || e.forEach((s) => {
301
+ var r;
302
+ s.metric in p || (p[s.metric] = []), (r = p[s.metric]) == null || r.push(s);
303
+ }), _ = t;
304
+ }, E = {}, z = (e) => {
305
+ const t = new G(e);
306
+ return E[e] = t, t;
307
+ }, de = (e, t) => {
308
+ let s = E[e];
309
+ return s || (s = z(e)), s.report(t);
310
+ }, ue = ({ reportingIntervalSeconds: e, postMetrics: t }) => {
311
+ e ? setInterval(() => {
312
+ (async (s) => {
313
+ const r = Object.values(E).map((n) => ({ name: n.name, values: n.collect() }));
314
+ if (r.some((n) => n.values.length))
315
+ try {
316
+ await s(JSON.stringify(r));
317
+ } catch (n) {
318
+ n instanceof Error && Y.error("MetricsErr", { error: { message: n.message, name: n.name } });
319
+ }
320
+ })(t);
321
+ }, 1e3 * e) : C = !1;
322
+ };
323
+ export {
324
+ M as D,
325
+ X as E,
326
+ E as P,
327
+ N as S,
328
+ se as a,
329
+ Y as b,
330
+ oe as c,
331
+ de as d,
332
+ ee as e,
333
+ ne as f,
334
+ ae as g,
335
+ te as h,
336
+ le as i,
337
+ ue as j,
338
+ ce as k,
339
+ re as l,
340
+ O as m,
341
+ ie as n,
342
+ $ as o,
343
+ J as p,
344
+ L as q,
345
+ z as r,
346
+ g as s,
347
+ Z as v
348
+ };