@sprig-technologies/sprig-browser 2.31.3 → 2.31.4

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/replay.js CHANGED
@@ -1 +1 @@
1
- var _e=Object.defineProperty,Le=(e,t,n)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ee=(e,t,n)=>(Le(e,typeof t!="symbol"?t+"":t,n),n);import{i,s as te,a as y,v as P,e as _,w as ne,c as Me,P as ae,r as re,b as Oe,d as x,f as B,S as L,g as He}from"./metricsReporter-5CQW74cF.js";var E=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(E||{});class je{constructor(t){ee(this,"awaitingResolvers",[]),ee(this,"activeCount",0),this.capacity=t}async acquire(){if(this.activeCount<this.capacity){this.activeCount++;return}return new Promise(t=>{this.awaitingResolvers.push(t)})}release(){const t=this.awaitingResolvers.shift();t&&this.activeCount<=this.capacity?t():this.activeCount--}async execute(t){try{return await this.acquire(),await t()}finally{this.release()}}setLimit(t){this.capacity=t}}const oe=new je(2),Fe=e=>oe.setLimit(e),Ge=async e=>oe.execute(async()=>{var t;i(`Beginning upload of chunk ${e.chunkIndex} for survey: ${e.surveyId}`);const n=await te(e.uploadUrl,{body:e.data,method:"PUT"});i(`Completed upload of chunk ${e.chunkIndex} for survey: ${e.surveyId}`);const a=(t=n.headers)==null?void 0:t.get("ETag");if(!a)throw new Error(`Upload response did not include etag for upload ${e.uploadId}, part ${e.chunkIndex}`);return a}),se=async({apiUrl:e,surveyId:t,uploadId:n,etags:a,headers:r,responseGroupUuid:o,replayDuration:s,eventDigest:d},l=!1)=>{var u;if(!l&&!n&&!a){i(`Cannot mark upload complete: isMobile: ${l} / uploadId: ${n} / etags: ${a}`);return}i(`Marking upload complete for survey: ${t}`);const p=await te(`${e}/sdk/1/completeSessionReplay`,{method:"POST",body:JSON.stringify({etags:a,uploadId:n,responseGroupUuid:o,surveyId:t,replayDuration:s,eventDigest:d,userAgent:(u=window?.navigator)==null?void 0:u.userAgent}),headers:r,shouldRetryRequest:!0});return i(`Done marking upload complete for survey: ${t}`),p},M=(e,t)=>t.some(n=>e instanceof n);let ie,le;function We(){return ie||(ie=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ke(){return le||(le=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const O=new WeakMap,H=new WeakMap,R=new WeakMap;function Ve(e){const t=new Promise((n,a)=>{const r=()=>{n(b(e.result))},o=()=>{a(e.error)};e.onsuccess=r,e.onerror=o});return R.set(t,e),t}function qe(e){if(O.has(e))return;const t=new Promise((n,a)=>{const r=()=>{n()},o=()=>{a(e.error||new DOMException("AbortError","AbortError"))};e.oncomplete=r,e.onerror=o,e.onabort=o});O.set(e,t)}let j={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return O.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return b(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function de(e){j=e(j)}function Je(e){return Ke().includes(e)?function(...t){return e.apply(F(this),t),b(this.request)}:function(...t){return b(e.apply(F(this),t))}}function ze(e){return typeof e=="function"?Je(e):(e instanceof IDBTransaction&&qe(e),M(e,We())?new Proxy(e,j):e)}function b(e){if(e instanceof IDBRequest)return Ve(e);if(H.has(e))return H.get(e);const t=ze(e);return t!==e&&(H.set(e,t),R.set(t,e)),t}const F=e=>R.get(e);function Qe(e,t,{blocked:n,upgrade:a,blocking:r,terminated:o}={}){const s=indexedDB.open(e,t),d=b(s);return a&&(s.onupgradeneeded=l=>{a(b(s.result),l.oldVersion,l.newVersion,b(s.transaction),l)}),n&&(s.onblocked=l=>n(l.oldVersion,l.newVersion,l)),d.then(l=>{o&&(l.onclose=()=>o()),r&&(l.onversionchange=u=>r(u.oldVersion,u.newVersion,u))}).catch(()=>{}),d}function G(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&(n.onblocked=a=>t(a.oldVersion,a)),b(n).then(()=>{})}const Xe=["get","getKey","getAll","getAllKeys","count"],Ye=["put","add","delete","clear"],W=new Map;function ue(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(W.get(t))return W.get(t);const n=t.replace(/FromIndex$/,""),a=t!==n,r=Ye.includes(n);if(!(n in(a?IDBIndex:IDBObjectStore).prototype)||!(r||Xe.includes(n)))return;const o=async function(s,...d){const l=this.transaction(s,r?"readwrite":"readonly");let u=l.store;return a&&(u=u.index(d.shift())),(await Promise.all([u[n](...d),r&&l.done]))[0]};return W.set(t,o),o}de(e=>({...e,get:(t,n,a)=>ue(t,n)||e.get(t,n,a),has:(t,n)=>!!ue(t,n)||e.has(t,n)}));const Ze=["continue","continuePrimaryKey","advance"],ce={},K=new WeakMap,pe=new WeakMap,et={get(e,t){if(!Ze.includes(t))return e[t];let n=ce[t];return n||(n=ce[t]=function(...a){K.set(this,pe.get(this)[t](...a))}),n}};async function*tt(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const n=new Proxy(t,et);for(pe.set(n,t),R.set(n,F(t));t;)yield n,t=await(K.get(n)||t.continue()),K.delete(n)}function ge(e,t){return t===Symbol.asyncIterator&&M(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&M(e,[IDBIndex,IDBObjectStore])}de(e=>({...e,get(t,n,a){return ge(t,n)?tt:e.get(t,n,a)},has(t,n){return ge(t,n)||e.has(t,n)}}));const nt=e=>{if(e instanceof Attr)return null;let t=1;for(let n=e.previousSibling;n;n=n.previousSibling)n.nodeName===e.nodeName&&++t;return t},me=e=>{if(e===null)return"";const t=[];if(e instanceof Document)return"/";for(let n=e;n&&!(n instanceof Document)&&n!==null;n=n instanceof Attr?n.ownerElement:n.parentElement){const a=t[t.length]={name:void 0,position:null};switch(n.nodeType){case Node.TEXT_NODE:a.name="text()";break;case Node.ATTRIBUTE_NODE:a.name="@"+n.nodeName;break;case Node.PROCESSING_INSTRUCTION_NODE:a.name="processing-instruction()";break;case Node.COMMENT_NODE:a.name="comment()";break;case Node.ELEMENT_NODE:a.name=n.nodeName;break}a.position=nt(n)}return"/"+t.reverse().map(n=>n.position!==null?`/${n.name}[${n.position}]`:`/${n.name}`).join("")},k={capture:!0,passive:!0},at=["a","button","input","option","li","link"],rt=["Escape","Enter","Backspace","F5","Tab"];let $=!1;const ot=["label","type","role","title","placeholder","errormessage","valuetext","href"],ye="aria-",st=e=>{if(!e.tagName)return"No tagName";const t=e.getAttribute("type");return t?`${t} ${e.tagName.toLowerCase()}`:e.tagName.toLowerCase()},we=e=>{var t;if(((t=e.tagName)==null?void 0:t.toLowerCase())==="html")return{element:"html"};const n=e.textContent,a=n?{text:n}:{};a.element=st(e);for(const r of e.attributes){let o=r.name;const s=r.value;o.startsWith(ye)&&(o=o.substring(ye.length)),ot.includes(o)&&(a[o]=s)}return a},it=e=>{var t;if(!e)return{};const n={...we(e)},a=e.parentElement;if(a&&at.includes((t=a.tagName)==null?void 0:t.toLowerCase())){const r=we(a);Object.assign(n,r)}return n},fe=(e,t)=>{var n;St({x:t.x,y:t.y,type:e,elementAttributes:it(t.target),windowHeight:window.innerHeight,windowWidth:window.innerWidth,...t.target instanceof HTMLElement?{rect:(n=t.target)==null?void 0:n.getBoundingClientRect(),xPath:me(t.target)}:{}})},lt=e=>t=>fe(e,t),he=e=>{rt.includes(e.key)&&xt({key:e.key})},dt=()=>{window.performance.getEntriesByType("navigation").map(e=>e.type).includes("reload")&&Et({url:window.location.href,currentPageTitle:document.title})},ut=()=>{window.performance.getEntriesByType("navigation").map(e=>e.type).includes("back_forward")&&Pt({curUrl:window.location.href,fromUrl:document.referrer,currentPageTitle:document.title})},ct=(e,t)=>{let n;return a=>{clearTimeout(n),n=window.setTimeout(()=>e(a),t)}},pt=e=>{if(!(e.target instanceof HTMLElement||e.target instanceof Document))return;let t=e.target;"scrollTop"in t||(t=t.documentElement),Bt({xPath:me(t),x:t.scrollLeft,y:t.scrollTop,elementAttributes:{targetScrollWidth:t.scrollWidth,targetClientWidth:t.clientWidth,targetScrollHeight:t.scrollHeight,targetClientHeight:t.clientHeight}})},ve=ct(pt,750),Ie=lt("left_click"),De=e=>{e.button===2&&fe("right_click",e)},gt=()=>{$||(window.addEventListener("click",Ie,k),window.addEventListener("mousedown",De,k),window.addEventListener("keydown",he,k),window.addEventListener("scroll",ve,k),$=!0,dt(),ut())},mt=()=>{$&&(window.removeEventListener("click",Ie,k),window.removeEventListener("mousedown",De,k),window.removeEventListener("keydown",he,k),window.removeEventListener("scroll",ve,k),$=!1)},yt=3e4,g={isRecording:!1,scrollEventUuids:{},stopRecording:()=>{}},wt=.5,ft=async()=>{var e;if(!window.indexedDB||!window.IDBKeyRange)return!0;if((e=window.navigator.storage)!=null&&e.estimate)try{const{quota:t=0,usage:n=0}=await window.navigator.storage.estimate(),a=(t-n)/1024**3;return ne(`Storage: ${a}GB`),a<wt}catch{return!0}return!1},ht=()=>{const e=y.getItem("sprig.sessionId");if(e)return i(`Found saved session id: ${e}`),y.removeItem("sprig.sessionId"),e;const t=P();return i(`Generating new uuid: ${t}`),t},w=ht(),V=()=>{y.setItem("sprig.disableReplayRecording","disabled")},S=()=>!!y.getItem("sprig.disableReplayRecording");window.addEventListener("beforeunload",()=>{i(`Before page unload saving session id: ${w}`),y.setItem("sprig.sessionId",w)});const vt=()=>S()?i("ReolayDisabledPendingHeatmap"):v(async()=>{const e=(await c.getPendingCaptures({isHeatmap:!0})).map(n=>({eventId:n.captureParams.eventId,uuid:n.uuid})),t=[];e.forEach(({eventId:n,uuid:a})=>{Me(n)||t.push(a)}),t.length&&await c.markPendingHeatmapsReady(t)},"Error marking pending heatmaps ready"),It=e=>{Date.now()-e>=yt&&v(()=>c.markPendingHeatmapsReady(),"Error in heatmap inactivity")},q=e=>e&&e.trim().substring(0,500).replace(/\s\s+/g," ").replace(/\r?\n|\r/g," ").substring(0,250),I=(e,t)=>{var n,a;if(g.isRecording)try{(a=(n=window.rrwebRecord)==null?void 0:n.addCustomEvent)==null||a.call(n,e,t)}catch(r){T("Error recording custom event",r)}},Dt=e=>{e.description&&(e.description=q(e.description)),I("Sprig_PageView",e)},St=e=>{var t;(t=e?.elementAttributes)!=null&&t.text&&(e.elementAttributes.text=q(e.elementAttributes.text)),I("Sprig_Click",e)},bt=e=>{I("Sprig_TrackEvent",e)},kt=e=>{I("Sprig_ShowSurvey",e)},Ct=e=>{I("Sprig_SubmitSurvey",e)},Et=e=>{I("Sprig_Refresh",e)},Pt=e=>{e.currentPageTitle&&(e.currentPageTitle=q(e.currentPageTitle)),I("Sprig_BackForward",e)},xt=e=>{I("Sprig_Keystroke",e)},Bt=async e=>{const{x:t,xPath:n,y:a}=e,r=g.scrollEventUuids[n];if(r)return v(async()=>{var o,s,d,l;const u=await c.openDB(),p=await u.get("events",r);if(p!=null&&p.event){const m=JSON.parse(p.event),h=t>((s=(o=m.data)==null?void 0:o.payload)==null?void 0:s.x),f=a>((l=(d=m.data)==null?void 0:d.payload)==null?void 0:l.y);if(!(h||f))return null;h&&(m.data.payload.x=t),f&&(m.data.payload.y=a),m.data.payload.elementAttributes=e.elementAttributes,p.event=JSON.stringify(m),await u.put("events",p)}else I("Sprig_Scroll",e)},"Error updating scroll event");I("Sprig_Scroll",e)},Rt=()=>g.isRecording,Se=()=>{g.stopRecording&&(g.stopRecording(),g.stopRecording=void 0),g.isRecording=!1,["cleanupInterval","inactivityInterval","pendingCheckInterval"].forEach(e=>{g[e]&&(clearInterval(g[e]),g[e]=void 0)}),mt()},$t=["did not allow mutations","called in an invalid security context"],Tt=e=>{if(!e)return!0;for(const t of $t)if(e.toLowerCase().includes(t))return!1;return!0},Ut=(e,t,{reportError:n=!0,extraInfo:a})=>{S()||t instanceof Error&&(V(),Tt(t?.message)&&(n&&window.UserLeap.reportError(e,t,a),c.clearAll()))},At=async(e,t,{reportError:n}={reportError:!0})=>{let a={};try{const{quota:r=0,usage:o=0}=await window.navigator.storage.estimate();a={availableSpaceInMB:(r-o)/2**20,quota:r,usage:o}}catch{a.availableSpaceInMB=null}Ut(e,t,{reportError:n,extraInfo:a})},T=(e,t,{reportError:n}={reportError:!0})=>(Se(),_(`${e} - ${t.message} - ${t.name}`),At(e,t,{reportError:n})),v=async(e,t)=>{try{await e()}catch(n){T(t,n)}},Nt=()=>{g.isRecording&&v(()=>{var e,t;return(t=(e=window.rrwebRecord)==null?void 0:e.takeFullSnapshot)==null?void 0:t.call(e,!0)},"Error recording full snapshot")},_t=async({surveyId:e,responseGroupUuid:t,eventDigest:n,headers:a})=>{if(!e||!t)return!1;const r=window.UserLeap._API_URL,o=await se({surveyId:e,responseGroupUuid:t,eventDigest:n,apiUrl:r,headers:a},!0);return!(o!=null&&o.error)},be=30,Lt=1;G("replayStorage").catch(console.error),G("sprig.replay").catch(console.error);class Mt{openDB(){return Qe("sprigReplay",Lt,{upgrade:(t,n,a)=>{if(a===0&&y.setItem("sprig.pendingCount","0"),!t.objectStoreNames.contains("events")){const r=t.createObjectStore("events",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+timestamp]",["sessionId","timestamp"])}if(!t.objectStoreNames.contains("chunkUploads")){const r=t.createObjectStore("chunkUploads",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+status]",["sessionId","status"]),r.createIndex("[uploadId+status]",["uploadId","status"]),r.createIndex("[sessionId+status+uploadId]",["sessionId","status","uploadId"])}if(!t.objectStoreNames.contains("pendingCaptures")){const r=t.createObjectStore("pendingCaptures",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+targetTimestamp]",["sessionId","targetTimestamp"])}}})}deleteDB(){return G("sprigReplay").catch(console.error)}async bulkAdd(t,n){const a=(await this.openDB()).transaction(t,"readwrite");return Promise.all([...n.map(r=>a.store.add(r)),a.done])}async clearAll(){const t=(await this.openDB()).transaction(["events","chunkUploads","pendingCaptures"],"readwrite");return Promise.all([t.objectStore("events").clear(),t.objectStore("chunkUploads").clear(),t.objectStore("pendingCaptures").clear()])}async deleteBySessionId(t,n){const a=IDBKeyRange.only(n),r=(await this.openDB()).transaction(t,"readwrite");let o=await r.store.index("sessionId").openCursor(a);for(;o;)o.delete(),o=await o.continue();await r.done}async updatePartial(t,n,a){const r=(await this.openDB()).transaction(t,"readwrite"),o=await r.store.get(n);o&&await r.store.put({...o,...a}),await r.done}async deleteRowsBefore(t,n,a=()=>!0){const r=IDBKeyRange.upperBound(n,!0),o=(await this.openDB()).transaction(t,"readwrite");let s=await o.store.index("timestamp").openCursor(r);for(;s;)a(s.value)&&s.delete(),s=await s.continue();await o.done}async getEventsBetween(t,n=Date.now()){if(t>=n)return Promise.resolve([]);const a=IDBKeyRange.bound([w,t],[w,n],!1,!0);return(await this.openDB()).getAllFromIndex("events","[sessionId+timestamp]",a)}async updateEventsExpiredAt(t,n,a=be){const r=new Date,o=r.setMinutes(r.getMinutes()+(a??be)),s=(await this.openDB()).transaction("events","readwrite"),d=s.store.index("[sessionId+timestamp]"),l=IDBKeyRange.bound([w,t],[w,n],!1,!0);let u=await d.openCursor(l);for(;u;)u.update({...u.value,expiredAt:o}),u=await u.continue();await s.done}async deleteChunkUploads(t,n){const a=IDBKeyRange.only([n,t]),r=(await this.openDB()).transaction("chunkUploads","readwrite");let o=await r.store.index("[uploadId+status]").openCursor(a);for(;o;)o.delete(),o=await o.continue();await r.done}async getChunkUploadsByStatus({sessionId:t,status:n,uploadId:a}){const r=(await this.openDB()).transaction("chunkUploads","readonly"),o=a?r.store.index("[uploadId+status]"):r.store.index("[sessionId+status]"),s=a?IDBKeyRange.only([a,n]):IDBKeyRange.only([t,n]);return o.getAll(s)}async getPendingCaptures(t={}){return(await(await this.openDB()).getAllFromIndex("pendingCaptures","sessionId",w)).filter(n=>!t.beforePresent||n.targetTimestamp<Date.now()).filter(n=>!t.isHeatmap||(n.captureParams.isHeatmap??!1))}async markPendingCaptureToCanUpload(t){const n=(await this.openDB()).transaction("pendingCaptures","readwrite");let a=await n.store.index("sessionId").openCursor(w);for(;a;){const r=a.value;r.captureParams.responseGroupId===t&&a.update({...r,canUpload:!0}),a=await a.continue()}await n.done}async markPendingHeatmapsReady(t){if(parseInt(y.getItem("sprig.pendingCount")??"0")===0)return null;const n=Date.now(),a=(await this.openDB()).transaction("pendingCaptures","readwrite");let r=await a.store.index("sessionId").openCursor(w);for(;r;){const o=r.value;o.captureParams.isHeatmap&&(!t||t.includes(o.uuid))&&r.update({...o,targetTimestamp:n,captureParams:{...o.captureParams,triggerTimestamp:n,replayParams:{...o.captureParams.replayParams,replayDurationSeconds:Math.floor((n-o.timestamp)/1e3)}}}),r=await r.continue()}await a.done}}const c=new Mt,Ot=async(e,t,n)=>new Promise((a,r)=>{const o=e.createElement("script");o.src=t,o.onload=a,o.onerror=r,n&&(o.nonce=n),e.head.appendChild(o)}),ke=async(e,t)=>{const n=performance.now();let a;try{a=await e()}finally{const r=performance.now()-n;let o=ae[t];o||(o=re(t)),o.report(r/1e3)}return a},Ce=(e,t)=>{const n=performance.now();try{e()}finally{const a=performance.now()-n;let r=ae[t];r||(r=re(t)),r.report(a/1e3)}};let J=5e3,U=6e4,z=0;const Ht=5,Ee=30,A=Ee+Ht;let C,Q=!1,X=[];const jt=async({viewDocument:e,maxReplayDurationSeconds:t,replayNonce:n,maxInflightRequests:a=2,replaySettings:r,teardownAfter:o=!1})=>{if(C=y.getItem("sprig.pendingCount"),!g.isRecording){if(o&&y.setItem("sprig.teardownAfterCapture","true"),S())return i("ReplayDisabled");if(await ft())return _("IDBNotSupported"),V();try{await c.openDB()}catch(s){return _(`ReplayError-${s.message}-${s.name}`),s.name==="VersionError"&&c.deleteDB(),V()}if(!t)return i("MissingReplaySeconds");i("ReplayInit"),await v(async()=>{if(r!=null&&r.minDuration&&(J=r.minDuration),r!=null&&r.batchDuration&&(U=r.batchDuration),Fe(a),zt(),Kt(t+A,30*60,t+A),Vt(),!window.rrwebRecord){const u=window.UserLeap.replayLibraryURL??"https://cdn.sprig.com/dependencies/record-2.0.0-alpha.6.min.js";await Ot(e,u,n)}const s=window.rrwebRecord;if(!s)return ne("RecordScriptFailed");let d=!0,l=0;g.stopRecording=s({checkoutEveryNms:Ee*1e3,sampling:{input:"last",scroll:250,media:800},emit:(u,p)=>{if(u.type===E.Custom&&(z=Date.now()),S())return;if(p&&u.type===E.Meta)l=performance.now();else if(p&&l&&u.type===E.FullSnapshot){const h=performance.now()-l;Oe("sdk_replay_snapshot_seconds",h/1e3)}const m=d||!!p&&u.type===E.Meta;d=!1,Ft({uuid:P(),event:JSON.stringify(u),isValidStart:m,timestamp:Date.now()})},...r}),g.isRecording=!!g.stopRecording,g.isRecording&&(x.on("survey.complete",u=>{Ct({id:u,userAgent:window.navigator.userAgent})}),gt())},"Error initializing replay")}},Ft=e=>{var t,n,a,r;if((t=e.event)!=null&&t.includes("Sprig_Scroll")){const o=(r=(a=(n=JSON.parse(e.event))==null?void 0:n.data)==null?void 0:a.payload)==null?void 0:r.xPath;if(!o)return;g.scrollEventUuids[o]=e.uuid}X.push(e),Q||Wt()},Gt=async e=>{const t=e.map(n=>({...n,sessionId:n.sessionId??w}));if(t.length!==0)return v(()=>c.bulkAdd("events",t),"Error storing replay events")},Wt=()=>{Q=!0,setTimeout(async()=>{if(S())return;const e=X;X=[],Q=!1,Ce(async()=>{await Gt(e)},"sdk_replay_add_event_batch_seconds")},500)},Kt=(e,t,n)=>{g.cleanupInterval=window.setInterval(()=>{const a=Date.now();S()||(B(`CleanUp Secs - Events: ${e}, Chunks: ${t}, Captures: ${n}`),ke(()=>v(async()=>{await Promise.all([c.deleteRowsBefore("events",a-e*1e3,r=>r.expiredAt===void 0||r.expiredAt<a-e*1e3),c.deleteRowsBefore("chunkUploads",a-t*1e3),c.deleteRowsBefore("pendingCaptures",a-n*1e3,r=>!r.canUpload)])},"Error deleting table rows"),"sdk_replay_cleanup_seconds"),i("Cleanup complete"))},3e4)},Vt=()=>{g.pendingCheckInterval=window.setInterval(async()=>{v(async()=>{const e=parseInt(C??"0");if(e===0)return;const t=await c.getPendingCaptures({beforePresent:!0}),n=await c.openDB();await Promise.all(t.map(async a=>(await n.delete("pendingCaptures",a.uuid),$e(a.captureParams,a.canUpload)))),C=(e-t.length).toString(),y.setItem("sprig.pendingCount",C)},"Error initiating pending captures")},5e3)},qt=async(e,t,n,a,r)=>{const o=Math.min(e+r,n),s=`from: ${new Date(e).toLocaleTimeString()} to ${new Date(o).toLocaleTimeString()}`;i(`Getting event batch ${s}`);const d=await ke(()=>c.getEventsBetween(e,o),"sdk_replay_get_events_between_seconds");if(!(d!=null&&d.length))return i(`No events found ${s}`),{validStartFound:a,events:[]};if(!a){i(`Searching for valid start in ${d.length} events ${s}`);let l=-1;if(d?.forEach((p,m)=>{if(!p.isValidStart)return;const h=p.timestamp<=t;(l<0||h)&&(l=m)}),l<0)return i(`No valid start found in ${d.length} events ${s}`),{validStartFound:a,events:[]};const u=d[l].timestamp;return i(`Found valid start at: ${new Date(u).toLocaleTimeString()} in events ${s}`),{validStartFound:!0,events:d?.slice(l)}}return{validStartFound:a,events:d}},Jt=(e,t,n)=>{const a=e.length,r=t*1024*1024,o=Math.ceil(a/n),s=Math.max(r,o);i(`Total file bytes: ${a} / target chunk size: ${s}`);const d=[];let l=0;for(;l<a;)d.push(e.slice(l,l+s)),l+=s;return d},Pe=e=>Promise.all(e.map(async t=>{const n=await Ge(t);return await c.updatePartial("chunkUploads",t.uuid,{data:null,etag:n,status:"UploadComplete"}),t.uploadId})),xe=async e=>{i(`Marking upload complete if finished: ${e}`);const t=await c.getChunkUploadsByStatus({status:"UploadComplete",uploadId:e});if(!(t!=null&&t.length)){i(`No finished chunks found for upload: ${e}`);return}const n=t.reduce((o,s)=>(o.find(d=>d.chunkIndex===s.chunkIndex)||o.push(s),o),[]);n.sort((o,s)=>o.chunkIndex-s.chunkIndex);const a=n.map(o=>({ETag:o.etag,PartNumber:o.chunkIndex})).filter(o=>o.ETag!==null),r=n[0];await se({apiUrl:r.apiUrl,surveyId:r.surveyId,uploadId:e,responseGroupUuid:r.responseGroupId,etags:a,headers:r.completeUploadHeaders,replayDuration:r.replayDuration}),i(`Cleaning up chunks for ${e}`),await c.deleteChunkUploads("UploadComplete",e),i(`Done cleaning up chunks for ${e}`)},zt=()=>{v(async()=>{const e=await c.getChunkUploadsByStatus({sessionId:w,status:"ReadyForUpload"});if(!(e!=null&&e.length))return;const t=await Pe(e);i(`Finished uploading unfinished chunks for ${t}`),t!=null&&t.length&&await Promise.all(t.map(n=>{if(n)return xe(n)}))},"Error uploading unfinished chunks")},Qt=async(e,t)=>{await Pe(t),i(`Done uploading chunks for uploads: ${e.join(",")}`),await Promise.all(e.map(n=>xe(n)))},Xt=e=>{let t=0;e.forEach(r=>{t+=r.length});const n=new Uint8Array(t);let a=0;return e.forEach(r=>{n.set(r,a),a+=r.length}),n},Be=async(e,t,n)=>{const a=new TextEncoder;let r=null,o=null,s=null,d=!1,l=!1,[u,p]=[0,0];const m=e-A*1e3,h=[];let f=[];i(`Getting events between ${new Date(e).toLocaleTimeString()} and ${new Date(t).toLocaleTimeString()}`),i(`Using batch duration: ${U}ms`);for(let N=m;N<t;N+=U){if({validStartFound:l,events:f}=await qt(N,e,t,l,U),!(f!=null&&f.length)){i("No events found");continue}u===0&&(u=f[0].timestamp),p=f[f.length-1].timestamp,i(`Last event time in batch: ${new Date(p).toLocaleTimeString()}`);const Y=f.map(Ne=>Ne.event);Y.push(`{"timestamp":${t}}`);const Ae=`${d?",":"["}${Y}`,Z=a.encode(Ae);n&&o===null&&(B("Attempting compression"),s=new window.CompressionStream("gzip"),o=s.writable.getWriter()),Ce(()=>{n&&o?o.write(Z):h.push(Z)},"sdk_replay_compression_seconds"),d=!0}if(p-u<J)return i(`Replay duration is shorter than minimum of ${J}ms / Start:${u} / End:${p}`),null;const D=a.encode("]");return B("Writing final close brace"),o&&s?(o.write(D),o.close(),r=new Uint8Array(await new Response(s.readable).arrayBuffer())):(h.push(D),r=Xt(h)),i("Finished generating file data"),r},Yt=async(e,t)=>{const n=window.CompressionStream!==void 0;let a=null;const r=t??Date.now(),o=r-e;try{a=await Be(o,r,n)}catch(s){s instanceof Error&&window.UserLeap.reportError("Error compressing replay",s),n&&v(async()=>{await Be(o,r,!1)},"fileData fallback failed")}return a},Re=async e=>{const{surveyId:t,responseGroupId:n,visitorId:a,apiUrl:r,completeUploadHeaders:o,replayParams:s,triggerTimestamp:d}=e,l=await Yt(s.replayDurationSeconds*1e3,d);if(l!=null&&l.length)i(`Found file data for survey: ${t}`);else{i(`File data is empty for survey: ${t}`);return}const u=Jt(l,s.minimumChunkSizeMb,s.signedUrls.length);i(`Got ${u.length} chunks for survey: ${t}`);const p=await Promise.all(u.map(async(m,h)=>{const f=P(),D={apiUrl:r,chunkIndex:h+1,completeUploadHeaders:o,etag:null,responseGroupId:n,status:"ReadyForUpload",surveyId:t,timestamp:d,totalChunks:u.length,data:m,uploadId:s.uploadId,uploadUrl:s.signedUrls[h].url,uuid:f,visitorId:a};return i(`Recording chunk upload: ${JSON.stringify({index:D.chunkIndex,surveyId:D.surveyId,uploadId:D.uploadId,size:m.length,id:f},null,2)}`),await(await c.openDB()).add("chunkUploads",{...D,sessionId:D.sessionId??w}),i(`Done creating chunk upload: ${f}`),D}));i(`All chunk records created. Beginning upload for survey: ${t}`),await Qt([s.uploadId],p)},$e=async(e,t)=>{if(i(`Attempting replay capture: ${JSON.stringify({isStandalone:e.isStandalone,duration:e.replayParams.replayDurationSeconds,type:e.replayParams.replayDurationType,responseGroupId:e.responseGroupId,surveyId:e.surveyId,triggerTimestamp:e.triggerTimestamp,visitorId:e.visitorId},null,2)}`),S())return i(`Replay recording is disabled: ${e.surveyId}`);i(`Replay recording enabled: ${e.surveyId}`);const{isHeatmap:n,isStandalone:a,replayParams:r,triggerTimestamp:o,responseGroupId:s}=e,d=async()=>{setTimeout(()=>x.removeListener(L.QuestionAnswered,d),0),v(async()=>{r.replayDurationType==="before"?await Re(e):await c.markPendingCaptureToCanUpload(s)},"Error in schedule/capture callback")};v(async()=>{if(r.replayDurationType==="after"||r.replayDurationType==="beforeAndAfter"){!a&&!n&&(i("Attaching QuestionAnswered listener for non-standalone replay"),x.on(L.QuestionAnswered,d)),i(`Scheduling capture for replay of type: ${r.replayDurationType}`),await Ue(e);return}if(a||n||t)i(`Proceeding to capture replay for survey: ${e.surveyId} / standalone? ${a} / canUpload? ${t}`),await Re(e),n&&Zt();else{const l=A+r.replayDurationSeconds,u=o-l*1e3,p=o;i(`Setting expiry minutes to ${r.expirationTimeLimitMinutes} for events from ${new Date(u).toLocaleTimeString()} to ${new Date(p).toLocaleTimeString()}`),await c.updateEventsExpiredAt(u,p,r.expirationTimeLimitMinutes),i("Attaching QuestionAnswered listener"),x.on(L.QuestionAnswered,d)}},"Error in scheduling/capturing replay")},Zt=async()=>{parseInt(C??"0")||y.removeItem("sprig.isCapturingHeatmap"),y.getItem("sprig.teardownAfterCapture")&&(Se(),Te(),y.removeItem("sprig.teardownAfterCapture"))},Te=async()=>S()?B("Not clearing user data, replay is disabled"):Promise.all([c.deleteBySessionId("events",w),c.deleteBySessionId("pendingCaptures",w)]).catch(e=>{T("Error clearing user replay data",e)}),Ue=async e=>{if(S())return;i(`Scheduling replay capture: ${JSON.stringify(e)}`);const{isHeatmap:t,surveyId:n}=e,a=await c.getPendingCaptures(),r=a?.filter(d=>d.captureParams.surveyId===n);if(r!=null&&r.length){i(`Pending capture exists for survey: ${n}`);return}t&&(Nt(),y.setItem("sprig.isCapturingHeatmap","true"),z=Date.now(),g.inactivityInterval||(g.inactivityInterval=window.setInterval(()=>{It(z)},1e3)));const o={...e,replayParams:{...e.replayParams}};e.replayParams.replayDurationType==="beforeAndAfter"&&(o.replayParams.replayDurationSeconds*=2),o.replayParams.replayDurationType="before";const s=e.triggerTimestamp+e.replayParams.replayDurationSeconds*1e3;o.triggerTimestamp=s,C=(parseInt(C??"0")+1).toString(),y.setItem("sprig.pendingCount",C),await(await c.openDB()).add("pendingCaptures",{canUpload:!1,captureParams:o,sessionId:w,targetTimestamp:s,timestamp:Date.now(),uuid:P()})},en=Object.freeze(Object.defineProperty({__proto__:null,RecordEvent:bt,RecordPageView:Dt,RecordSurveyShown:kt,_completeSessionReplay:_t,checkPendingHeatmapsUrl:vt,clearUserReplayData:Te,disableRecording:T,initializeReplay:jt,isReplayRecording:Rt,scheduleCapture:Ue,scheduleOrCaptureReplay:$e,tryReplayAction:v},Symbol.toStringTag,{value:"Module"}));He(en);
1
+ var _e=Object.defineProperty,Le=(e,t,n)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ee=(e,t,n)=>(Le(e,typeof t!="symbol"?t+"":t,n),n);import{i,s as te,a as y,v as P,e as _,w as ne,c as Me,P as ae,r as re,b as Oe,d as x,f as B,S as L,g as He}from"./metricsReporter-rnL9hFho.js";var E=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(E||{});class je{constructor(t){ee(this,"awaitingResolvers",[]),ee(this,"activeCount",0),this.capacity=t}async acquire(){if(this.activeCount<this.capacity){this.activeCount++;return}return new Promise(t=>{this.awaitingResolvers.push(t)})}release(){const t=this.awaitingResolvers.shift();t&&this.activeCount<=this.capacity?t():this.activeCount--}async execute(t){try{return await this.acquire(),await t()}finally{this.release()}}setLimit(t){this.capacity=t}}const oe=new je(2),Fe=e=>oe.setLimit(e),Ge=async e=>oe.execute(async()=>{var t;i(`Beginning upload of chunk ${e.chunkIndex} for survey: ${e.surveyId}`);const n=await te(e.uploadUrl,{body:e.data,method:"PUT"});i(`Completed upload of chunk ${e.chunkIndex} for survey: ${e.surveyId}`);const a=(t=n.headers)==null?void 0:t.get("ETag");if(!a)throw new Error(`Upload response did not include etag for upload ${e.uploadId}, part ${e.chunkIndex}`);return a}),se=async({apiUrl:e,surveyId:t,uploadId:n,etags:a,headers:r,responseGroupUuid:o,replayDuration:s,eventDigest:d},l=!1)=>{var u;if(!l&&!n&&!a){i(`Cannot mark upload complete: isMobile: ${l} / uploadId: ${n} / etags: ${a}`);return}i(`Marking upload complete for survey: ${t}`);const p=await te(`${e}/sdk/1/completeSessionReplay`,{method:"POST",body:JSON.stringify({etags:a,uploadId:n,responseGroupUuid:o,surveyId:t,replayDuration:s,eventDigest:d,userAgent:(u=window?.navigator)==null?void 0:u.userAgent}),headers:r,shouldRetryRequest:!0});return i(`Done marking upload complete for survey: ${t}`),p},M=(e,t)=>t.some(n=>e instanceof n);let ie,le;function We(){return ie||(ie=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ke(){return le||(le=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const O=new WeakMap,H=new WeakMap,R=new WeakMap;function Ve(e){const t=new Promise((n,a)=>{const r=()=>{n(b(e.result))},o=()=>{a(e.error)};e.onsuccess=r,e.onerror=o});return R.set(t,e),t}function qe(e){if(O.has(e))return;const t=new Promise((n,a)=>{const r=()=>{n()},o=()=>{a(e.error||new DOMException("AbortError","AbortError"))};e.oncomplete=r,e.onerror=o,e.onabort=o});O.set(e,t)}let j={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return O.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return b(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function de(e){j=e(j)}function Je(e){return Ke().includes(e)?function(...t){return e.apply(F(this),t),b(this.request)}:function(...t){return b(e.apply(F(this),t))}}function ze(e){return typeof e=="function"?Je(e):(e instanceof IDBTransaction&&qe(e),M(e,We())?new Proxy(e,j):e)}function b(e){if(e instanceof IDBRequest)return Ve(e);if(H.has(e))return H.get(e);const t=ze(e);return t!==e&&(H.set(e,t),R.set(t,e)),t}const F=e=>R.get(e);function Qe(e,t,{blocked:n,upgrade:a,blocking:r,terminated:o}={}){const s=indexedDB.open(e,t),d=b(s);return a&&(s.onupgradeneeded=l=>{a(b(s.result),l.oldVersion,l.newVersion,b(s.transaction),l)}),n&&(s.onblocked=l=>n(l.oldVersion,l.newVersion,l)),d.then(l=>{o&&(l.onclose=()=>o()),r&&(l.onversionchange=u=>r(u.oldVersion,u.newVersion,u))}).catch(()=>{}),d}function G(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&(n.onblocked=a=>t(a.oldVersion,a)),b(n).then(()=>{})}const Xe=["get","getKey","getAll","getAllKeys","count"],Ye=["put","add","delete","clear"],W=new Map;function ue(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(W.get(t))return W.get(t);const n=t.replace(/FromIndex$/,""),a=t!==n,r=Ye.includes(n);if(!(n in(a?IDBIndex:IDBObjectStore).prototype)||!(r||Xe.includes(n)))return;const o=async function(s,...d){const l=this.transaction(s,r?"readwrite":"readonly");let u=l.store;return a&&(u=u.index(d.shift())),(await Promise.all([u[n](...d),r&&l.done]))[0]};return W.set(t,o),o}de(e=>({...e,get:(t,n,a)=>ue(t,n)||e.get(t,n,a),has:(t,n)=>!!ue(t,n)||e.has(t,n)}));const Ze=["continue","continuePrimaryKey","advance"],ce={},K=new WeakMap,pe=new WeakMap,et={get(e,t){if(!Ze.includes(t))return e[t];let n=ce[t];return n||(n=ce[t]=function(...a){K.set(this,pe.get(this)[t](...a))}),n}};async function*tt(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const n=new Proxy(t,et);for(pe.set(n,t),R.set(n,F(t));t;)yield n,t=await(K.get(n)||t.continue()),K.delete(n)}function ge(e,t){return t===Symbol.asyncIterator&&M(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&M(e,[IDBIndex,IDBObjectStore])}de(e=>({...e,get(t,n,a){return ge(t,n)?tt:e.get(t,n,a)},has(t,n){return ge(t,n)||e.has(t,n)}}));const nt=e=>{if(e instanceof Attr)return null;let t=1;for(let n=e.previousSibling;n;n=n.previousSibling)n.nodeName===e.nodeName&&++t;return t},me=e=>{if(e===null)return"";const t=[];if(e instanceof Document)return"/";for(let n=e;n&&!(n instanceof Document)&&n!==null;n=n instanceof Attr?n.ownerElement:n.parentElement){const a=t[t.length]={name:void 0,position:null};switch(n.nodeType){case Node.TEXT_NODE:a.name="text()";break;case Node.ATTRIBUTE_NODE:a.name="@"+n.nodeName;break;case Node.PROCESSING_INSTRUCTION_NODE:a.name="processing-instruction()";break;case Node.COMMENT_NODE:a.name="comment()";break;case Node.ELEMENT_NODE:a.name=n.nodeName;break}a.position=nt(n)}return"/"+t.reverse().map(n=>n.position!==null?`/${n.name}[${n.position}]`:`/${n.name}`).join("")},k={capture:!0,passive:!0},at=["a","button","input","option","li","link"],rt=["Escape","Enter","Backspace","F5","Tab"];let $=!1;const ot=["label","type","role","title","placeholder","errormessage","valuetext","href"],ye="aria-",st=e=>{if(!e.tagName)return"No tagName";const t=e.getAttribute("type");return t?`${t} ${e.tagName.toLowerCase()}`:e.tagName.toLowerCase()},we=e=>{var t;if(((t=e.tagName)==null?void 0:t.toLowerCase())==="html")return{element:"html"};const n=e.textContent,a=n?{text:n}:{};a.element=st(e);for(const r of e.attributes){let o=r.name;const s=r.value;o.startsWith(ye)&&(o=o.substring(ye.length)),ot.includes(o)&&(a[o]=s)}return a},it=e=>{var t;if(!e)return{};const n={...we(e)},a=e.parentElement;if(a&&at.includes((t=a.tagName)==null?void 0:t.toLowerCase())){const r=we(a);Object.assign(n,r)}return n},fe=(e,t)=>{var n;St({x:t.x,y:t.y,type:e,elementAttributes:it(t.target),windowHeight:window.innerHeight,windowWidth:window.innerWidth,...t.target instanceof HTMLElement?{rect:(n=t.target)==null?void 0:n.getBoundingClientRect(),xPath:me(t.target)}:{}})},lt=e=>t=>fe(e,t),he=e=>{rt.includes(e.key)&&xt({key:e.key})},dt=()=>{window.performance.getEntriesByType("navigation").map(e=>e.type).includes("reload")&&Et({url:window.location.href,currentPageTitle:document.title})},ut=()=>{window.performance.getEntriesByType("navigation").map(e=>e.type).includes("back_forward")&&Pt({curUrl:window.location.href,fromUrl:document.referrer,currentPageTitle:document.title})},ct=(e,t)=>{let n;return a=>{clearTimeout(n),n=window.setTimeout(()=>e(a),t)}},pt=e=>{if(!(e.target instanceof HTMLElement||e.target instanceof Document))return;let t=e.target;"scrollTop"in t||(t=t.documentElement),Bt({xPath:me(t),x:t.scrollLeft,y:t.scrollTop,elementAttributes:{targetScrollWidth:t.scrollWidth,targetClientWidth:t.clientWidth,targetScrollHeight:t.scrollHeight,targetClientHeight:t.clientHeight}})},ve=ct(pt,750),Ie=lt("left_click"),De=e=>{e.button===2&&fe("right_click",e)},gt=()=>{$||(window.addEventListener("click",Ie,k),window.addEventListener("mousedown",De,k),window.addEventListener("keydown",he,k),window.addEventListener("scroll",ve,k),$=!0,dt(),ut())},mt=()=>{$&&(window.removeEventListener("click",Ie,k),window.removeEventListener("mousedown",De,k),window.removeEventListener("keydown",he,k),window.removeEventListener("scroll",ve,k),$=!1)},yt=3e4,g={isRecording:!1,scrollEventUuids:{},stopRecording:()=>{}},wt=.5,ft=async()=>{var e;if(!window.indexedDB||!window.IDBKeyRange)return!0;if((e=window.navigator.storage)!=null&&e.estimate)try{const{quota:t=0,usage:n=0}=await window.navigator.storage.estimate(),a=(t-n)/1024**3;return ne(`Storage: ${a}GB`),a<wt}catch{return!0}return!1},ht=()=>{const e=y.getItem("sprig.sessionId");if(e)return i(`Found saved session id: ${e}`),y.removeItem("sprig.sessionId"),e;const t=P();return i(`Generating new uuid: ${t}`),t},w=ht(),V=()=>{y.setItem("sprig.disableReplayRecording","disabled")},S=()=>!!y.getItem("sprig.disableReplayRecording");window.addEventListener("beforeunload",()=>{i(`Before page unload saving session id: ${w}`),y.setItem("sprig.sessionId",w)});const vt=()=>S()?i("ReolayDisabledPendingHeatmap"):v(async()=>{const e=(await c.getPendingCaptures({isHeatmap:!0})).map(n=>({eventId:n.captureParams.eventId,uuid:n.uuid})),t=[];e.forEach(({eventId:n,uuid:a})=>{Me(n)||t.push(a)}),t.length&&await c.markPendingHeatmapsReady(t)},"Error marking pending heatmaps ready"),It=e=>{Date.now()-e>=yt&&v(()=>c.markPendingHeatmapsReady(),"Error in heatmap inactivity")},q=e=>e&&e.trim().substring(0,500).replace(/\s\s+/g," ").replace(/\r?\n|\r/g," ").substring(0,250),I=(e,t)=>{var n,a;if(g.isRecording)try{(a=(n=window.rrwebRecord)==null?void 0:n.addCustomEvent)==null||a.call(n,e,t)}catch(r){T("Error recording custom event",r)}},Dt=e=>{e.description&&(e.description=q(e.description)),I("Sprig_PageView",e)},St=e=>{var t;(t=e?.elementAttributes)!=null&&t.text&&(e.elementAttributes.text=q(e.elementAttributes.text)),I("Sprig_Click",e)},bt=e=>{I("Sprig_TrackEvent",e)},kt=e=>{I("Sprig_ShowSurvey",e)},Ct=e=>{I("Sprig_SubmitSurvey",e)},Et=e=>{I("Sprig_Refresh",e)},Pt=e=>{e.currentPageTitle&&(e.currentPageTitle=q(e.currentPageTitle)),I("Sprig_BackForward",e)},xt=e=>{I("Sprig_Keystroke",e)},Bt=async e=>{const{x:t,xPath:n,y:a}=e,r=g.scrollEventUuids[n];if(r)return v(async()=>{var o,s,d,l;const u=await c.openDB(),p=await u.get("events",r);if(p!=null&&p.event){const m=JSON.parse(p.event),h=t>((s=(o=m.data)==null?void 0:o.payload)==null?void 0:s.x),f=a>((l=(d=m.data)==null?void 0:d.payload)==null?void 0:l.y);if(!(h||f))return null;h&&(m.data.payload.x=t),f&&(m.data.payload.y=a),m.data.payload.elementAttributes=e.elementAttributes,p.event=JSON.stringify(m),await u.put("events",p)}else I("Sprig_Scroll",e)},"Error updating scroll event");I("Sprig_Scroll",e)},Rt=()=>g.isRecording,Se=()=>{g.stopRecording&&(g.stopRecording(),g.stopRecording=void 0),g.isRecording=!1,["cleanupInterval","inactivityInterval","pendingCheckInterval"].forEach(e=>{g[e]&&(clearInterval(g[e]),g[e]=void 0)}),mt()},$t=["did not allow mutations","called in an invalid security context"],Tt=e=>{if(!e)return!0;for(const t of $t)if(e.toLowerCase().includes(t))return!1;return!0},Ut=(e,t,{reportError:n=!0,extraInfo:a})=>{S()||t instanceof Error&&(V(),Tt(t?.message)&&(n&&window.UserLeap.reportError(e,t,a),c.clearAll()))},At=async(e,t,{reportError:n}={reportError:!0})=>{let a={};try{const{quota:r=0,usage:o=0}=await window.navigator.storage.estimate();a={availableSpaceInMB:(r-o)/2**20,quota:r,usage:o}}catch{a.availableSpaceInMB=null}Ut(e,t,{reportError:n,extraInfo:a})},T=(e,t,{reportError:n}={reportError:!0})=>(Se(),_(`${e} - ${t.message} - ${t.name}`),At(e,t,{reportError:n})),v=async(e,t)=>{try{await e()}catch(n){T(t,n)}},Nt=()=>{g.isRecording&&v(()=>{var e,t;return(t=(e=window.rrwebRecord)==null?void 0:e.takeFullSnapshot)==null?void 0:t.call(e,!0)},"Error recording full snapshot")},_t=async({surveyId:e,responseGroupUuid:t,eventDigest:n,headers:a})=>{if(!e||!t)return!1;const r=window.UserLeap._API_URL,o=await se({surveyId:e,responseGroupUuid:t,eventDigest:n,apiUrl:r,headers:a},!0);return!(o!=null&&o.error)},be=30,Lt=1;G("replayStorage").catch(console.error),G("sprig.replay").catch(console.error);class Mt{openDB(){return Qe("sprigReplay",Lt,{upgrade:(t,n,a)=>{if(a===0&&y.setItem("sprig.pendingCount","0"),!t.objectStoreNames.contains("events")){const r=t.createObjectStore("events",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+timestamp]",["sessionId","timestamp"])}if(!t.objectStoreNames.contains("chunkUploads")){const r=t.createObjectStore("chunkUploads",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+status]",["sessionId","status"]),r.createIndex("[uploadId+status]",["uploadId","status"]),r.createIndex("[sessionId+status+uploadId]",["sessionId","status","uploadId"])}if(!t.objectStoreNames.contains("pendingCaptures")){const r=t.createObjectStore("pendingCaptures",{keyPath:"uuid"});r.createIndex("sessionId","sessionId"),r.createIndex("timestamp","timestamp"),r.createIndex("[sessionId+targetTimestamp]",["sessionId","targetTimestamp"])}}})}deleteDB(){return G("sprigReplay").catch(console.error)}async bulkAdd(t,n){const a=(await this.openDB()).transaction(t,"readwrite");return Promise.all([...n.map(r=>a.store.add(r)),a.done])}async clearAll(){const t=(await this.openDB()).transaction(["events","chunkUploads","pendingCaptures"],"readwrite");return Promise.all([t.objectStore("events").clear(),t.objectStore("chunkUploads").clear(),t.objectStore("pendingCaptures").clear()])}async deleteBySessionId(t,n){const a=IDBKeyRange.only(n),r=(await this.openDB()).transaction(t,"readwrite");let o=await r.store.index("sessionId").openCursor(a);for(;o;)o.delete(),o=await o.continue();await r.done}async updatePartial(t,n,a){const r=(await this.openDB()).transaction(t,"readwrite"),o=await r.store.get(n);o&&await r.store.put({...o,...a}),await r.done}async deleteRowsBefore(t,n,a=()=>!0){const r=IDBKeyRange.upperBound(n,!0),o=(await this.openDB()).transaction(t,"readwrite");let s=await o.store.index("timestamp").openCursor(r);for(;s;)a(s.value)&&s.delete(),s=await s.continue();await o.done}async getEventsBetween(t,n=Date.now()){if(t>=n)return Promise.resolve([]);const a=IDBKeyRange.bound([w,t],[w,n],!1,!0);return(await this.openDB()).getAllFromIndex("events","[sessionId+timestamp]",a)}async updateEventsExpiredAt(t,n,a=be){const r=new Date,o=r.setMinutes(r.getMinutes()+(a??be)),s=(await this.openDB()).transaction("events","readwrite"),d=s.store.index("[sessionId+timestamp]"),l=IDBKeyRange.bound([w,t],[w,n],!1,!0);let u=await d.openCursor(l);for(;u;)u.update({...u.value,expiredAt:o}),u=await u.continue();await s.done}async deleteChunkUploads(t,n){const a=IDBKeyRange.only([n,t]),r=(await this.openDB()).transaction("chunkUploads","readwrite");let o=await r.store.index("[uploadId+status]").openCursor(a);for(;o;)o.delete(),o=await o.continue();await r.done}async getChunkUploadsByStatus({sessionId:t,status:n,uploadId:a}){const r=(await this.openDB()).transaction("chunkUploads","readonly"),o=a?r.store.index("[uploadId+status]"):r.store.index("[sessionId+status]"),s=a?IDBKeyRange.only([a,n]):IDBKeyRange.only([t,n]);return o.getAll(s)}async getPendingCaptures(t={}){return(await(await this.openDB()).getAllFromIndex("pendingCaptures","sessionId",w)).filter(n=>!t.beforePresent||n.targetTimestamp<Date.now()).filter(n=>!t.isHeatmap||(n.captureParams.isHeatmap??!1))}async markPendingCaptureToCanUpload(t){const n=(await this.openDB()).transaction("pendingCaptures","readwrite");let a=await n.store.index("sessionId").openCursor(w);for(;a;){const r=a.value;r.captureParams.responseGroupId===t&&a.update({...r,canUpload:!0}),a=await a.continue()}await n.done}async markPendingHeatmapsReady(t){if(parseInt(y.getItem("sprig.pendingCount")??"0")===0)return null;const n=Date.now(),a=(await this.openDB()).transaction("pendingCaptures","readwrite");let r=await a.store.index("sessionId").openCursor(w);for(;r;){const o=r.value;o.captureParams.isHeatmap&&(!t||t.includes(o.uuid))&&r.update({...o,targetTimestamp:n,captureParams:{...o.captureParams,triggerTimestamp:n,replayParams:{...o.captureParams.replayParams,replayDurationSeconds:Math.floor((n-o.timestamp)/1e3)}}}),r=await r.continue()}await a.done}}const c=new Mt,Ot=async(e,t,n)=>new Promise((a,r)=>{const o=e.createElement("script");o.src=t,o.onload=a,o.onerror=r,n&&(o.nonce=n),e.head.appendChild(o)}),ke=async(e,t)=>{const n=performance.now();let a;try{a=await e()}finally{const r=performance.now()-n;let o=ae[t];o||(o=re(t)),o.report(r/1e3)}return a},Ce=(e,t)=>{const n=performance.now();try{e()}finally{const a=performance.now()-n;let r=ae[t];r||(r=re(t)),r.report(a/1e3)}};let J=5e3,U=6e4,z=0;const Ht=5,Ee=30,A=Ee+Ht;let C,Q=!1,X=[];const jt=async({viewDocument:e,maxReplayDurationSeconds:t,replayNonce:n,maxInflightRequests:a=2,replaySettings:r,teardownAfter:o=!1})=>{if(C=y.getItem("sprig.pendingCount"),!g.isRecording){if(o&&y.setItem("sprig.teardownAfterCapture","true"),S())return i("ReplayDisabled");if(await ft())return _("IDBNotSupported"),V();try{await c.openDB()}catch(s){return _(`ReplayError-${s.message}-${s.name}`),s.name==="VersionError"&&c.deleteDB(),V()}if(!t)return i("MissingReplaySeconds");i("ReplayInit"),await v(async()=>{if(r!=null&&r.minDuration&&(J=r.minDuration),r!=null&&r.batchDuration&&(U=r.batchDuration),Fe(a),zt(),Kt(t+A,30*60,t+A),Vt(),!window.rrwebRecord){const u=window.UserLeap.replayLibraryURL??"https://cdn.sprig.com/dependencies/record-2.0.0-alpha.6.min.js";await Ot(e,u,n)}const s=window.rrwebRecord;if(!s)return ne("RecordScriptFailed");let d=!0,l=0;g.stopRecording=s({checkoutEveryNms:Ee*1e3,sampling:{input:"last",scroll:250,media:800},emit:(u,p)=>{if(u.type===E.Custom&&(z=Date.now()),S())return;if(p&&u.type===E.Meta)l=performance.now();else if(p&&l&&u.type===E.FullSnapshot){const h=performance.now()-l;Oe("sdk_replay_snapshot_seconds",h/1e3)}const m=d||!!p&&u.type===E.Meta;d=!1,Ft({uuid:P(),event:JSON.stringify(u),isValidStart:m,timestamp:Date.now()})},...r}),g.isRecording=!!g.stopRecording,g.isRecording&&(x.on("survey.complete",u=>{Ct({id:u,userAgent:window.navigator.userAgent})}),gt())},"Error initializing replay")}},Ft=e=>{var t,n,a,r;if((t=e.event)!=null&&t.includes("Sprig_Scroll")){const o=(r=(a=(n=JSON.parse(e.event))==null?void 0:n.data)==null?void 0:a.payload)==null?void 0:r.xPath;if(!o)return;g.scrollEventUuids[o]=e.uuid}X.push(e),Q||Wt()},Gt=async e=>{const t=e.map(n=>({...n,sessionId:n.sessionId??w}));if(t.length!==0)return v(()=>c.bulkAdd("events",t),"Error storing replay events")},Wt=()=>{Q=!0,setTimeout(async()=>{if(S())return;const e=X;X=[],Q=!1,Ce(async()=>{await Gt(e)},"sdk_replay_add_event_batch_seconds")},500)},Kt=(e,t,n)=>{g.cleanupInterval=window.setInterval(()=>{const a=Date.now();S()||(B(`CleanUp Secs - Events: ${e}, Chunks: ${t}, Captures: ${n}`),ke(()=>v(async()=>{await Promise.all([c.deleteRowsBefore("events",a-e*1e3,r=>r.expiredAt===void 0||r.expiredAt<a-e*1e3),c.deleteRowsBefore("chunkUploads",a-t*1e3),c.deleteRowsBefore("pendingCaptures",a-n*1e3,r=>!r.canUpload)])},"Error deleting table rows"),"sdk_replay_cleanup_seconds"),i("Cleanup complete"))},3e4)},Vt=()=>{g.pendingCheckInterval=window.setInterval(async()=>{v(async()=>{const e=parseInt(C??"0");if(e===0)return;const t=await c.getPendingCaptures({beforePresent:!0}),n=await c.openDB();await Promise.all(t.map(async a=>(await n.delete("pendingCaptures",a.uuid),$e(a.captureParams,a.canUpload)))),C=(e-t.length).toString(),y.setItem("sprig.pendingCount",C)},"Error initiating pending captures")},5e3)},qt=async(e,t,n,a,r)=>{const o=Math.min(e+r,n),s=`from: ${new Date(e).toLocaleTimeString()} to ${new Date(o).toLocaleTimeString()}`;i(`Getting event batch ${s}`);const d=await ke(()=>c.getEventsBetween(e,o),"sdk_replay_get_events_between_seconds");if(!(d!=null&&d.length))return i(`No events found ${s}`),{validStartFound:a,events:[]};if(!a){i(`Searching for valid start in ${d.length} events ${s}`);let l=-1;if(d?.forEach((p,m)=>{if(!p.isValidStart)return;const h=p.timestamp<=t;(l<0||h)&&(l=m)}),l<0)return i(`No valid start found in ${d.length} events ${s}`),{validStartFound:a,events:[]};const u=d[l].timestamp;return i(`Found valid start at: ${new Date(u).toLocaleTimeString()} in events ${s}`),{validStartFound:!0,events:d?.slice(l)}}return{validStartFound:a,events:d}},Jt=(e,t,n)=>{const a=e.length,r=t*1024*1024,o=Math.ceil(a/n),s=Math.max(r,o);i(`Total file bytes: ${a} / target chunk size: ${s}`);const d=[];let l=0;for(;l<a;)d.push(e.slice(l,l+s)),l+=s;return d},Pe=e=>Promise.all(e.map(async t=>{const n=await Ge(t);return await c.updatePartial("chunkUploads",t.uuid,{data:null,etag:n,status:"UploadComplete"}),t.uploadId})),xe=async e=>{i(`Marking upload complete if finished: ${e}`);const t=await c.getChunkUploadsByStatus({status:"UploadComplete",uploadId:e});if(!(t!=null&&t.length)){i(`No finished chunks found for upload: ${e}`);return}const n=t.reduce((o,s)=>(o.find(d=>d.chunkIndex===s.chunkIndex)||o.push(s),o),[]);n.sort((o,s)=>o.chunkIndex-s.chunkIndex);const a=n.map(o=>({ETag:o.etag,PartNumber:o.chunkIndex})).filter(o=>o.ETag!==null),r=n[0];await se({apiUrl:r.apiUrl,surveyId:r.surveyId,uploadId:e,responseGroupUuid:r.responseGroupId,etags:a,headers:r.completeUploadHeaders,replayDuration:r.replayDuration}),i(`Cleaning up chunks for ${e}`),await c.deleteChunkUploads("UploadComplete",e),i(`Done cleaning up chunks for ${e}`)},zt=()=>{v(async()=>{const e=await c.getChunkUploadsByStatus({sessionId:w,status:"ReadyForUpload"});if(!(e!=null&&e.length))return;const t=await Pe(e);i(`Finished uploading unfinished chunks for ${t}`),t!=null&&t.length&&await Promise.all(t.map(n=>{if(n)return xe(n)}))},"Error uploading unfinished chunks")},Qt=async(e,t)=>{await Pe(t),i(`Done uploading chunks for uploads: ${e.join(",")}`),await Promise.all(e.map(n=>xe(n)))},Xt=e=>{let t=0;e.forEach(r=>{t+=r.length});const n=new Uint8Array(t);let a=0;return e.forEach(r=>{n.set(r,a),a+=r.length}),n},Be=async(e,t,n)=>{const a=new TextEncoder;let r=null,o=null,s=null,d=!1,l=!1,[u,p]=[0,0];const m=e-A*1e3,h=[];let f=[];i(`Getting events between ${new Date(e).toLocaleTimeString()} and ${new Date(t).toLocaleTimeString()}`),i(`Using batch duration: ${U}ms`);for(let N=m;N<t;N+=U){if({validStartFound:l,events:f}=await qt(N,e,t,l,U),!(f!=null&&f.length)){i("No events found");continue}u===0&&(u=f[0].timestamp),p=f[f.length-1].timestamp,i(`Last event time in batch: ${new Date(p).toLocaleTimeString()}`);const Y=f.map(Ne=>Ne.event);Y.push(`{"timestamp":${t}}`);const Ae=`${d?",":"["}${Y}`,Z=a.encode(Ae);n&&o===null&&(B("Attempting compression"),s=new window.CompressionStream("gzip"),o=s.writable.getWriter()),Ce(()=>{n&&o?o.write(Z):h.push(Z)},"sdk_replay_compression_seconds"),d=!0}if(p-u<J)return i(`Replay duration is shorter than minimum of ${J}ms / Start:${u} / End:${p}`),null;const D=a.encode("]");return B("Writing final close brace"),o&&s?(o.write(D),o.close(),r=new Uint8Array(await new Response(s.readable).arrayBuffer())):(h.push(D),r=Xt(h)),i("Finished generating file data"),r},Yt=async(e,t)=>{const n=window.CompressionStream!==void 0;let a=null;const r=t??Date.now(),o=r-e;try{a=await Be(o,r,n)}catch(s){s instanceof Error&&window.UserLeap.reportError("Error compressing replay",s),n&&v(async()=>{await Be(o,r,!1)},"fileData fallback failed")}return a},Re=async e=>{const{surveyId:t,responseGroupId:n,visitorId:a,apiUrl:r,completeUploadHeaders:o,replayParams:s,triggerTimestamp:d}=e,l=await Yt(s.replayDurationSeconds*1e3,d);if(l!=null&&l.length)i(`Found file data for survey: ${t}`);else{i(`File data is empty for survey: ${t}`);return}const u=Jt(l,s.minimumChunkSizeMb,s.signedUrls.length);i(`Got ${u.length} chunks for survey: ${t}`);const p=await Promise.all(u.map(async(m,h)=>{const f=P(),D={apiUrl:r,chunkIndex:h+1,completeUploadHeaders:o,etag:null,responseGroupId:n,status:"ReadyForUpload",surveyId:t,timestamp:d,totalChunks:u.length,data:m,uploadId:s.uploadId,uploadUrl:s.signedUrls[h].url,uuid:f,visitorId:a};return i(`Recording chunk upload: ${JSON.stringify({index:D.chunkIndex,surveyId:D.surveyId,uploadId:D.uploadId,size:m.length,id:f},null,2)}`),await(await c.openDB()).add("chunkUploads",{...D,sessionId:D.sessionId??w}),i(`Done creating chunk upload: ${f}`),D}));i(`All chunk records created. Beginning upload for survey: ${t}`),await Qt([s.uploadId],p)},$e=async(e,t)=>{if(i(`Attempting replay capture: ${JSON.stringify({isStandalone:e.isStandalone,duration:e.replayParams.replayDurationSeconds,type:e.replayParams.replayDurationType,responseGroupId:e.responseGroupId,surveyId:e.surveyId,triggerTimestamp:e.triggerTimestamp,visitorId:e.visitorId},null,2)}`),S())return i(`Replay recording is disabled: ${e.surveyId}`);i(`Replay recording enabled: ${e.surveyId}`);const{isHeatmap:n,isStandalone:a,replayParams:r,triggerTimestamp:o,responseGroupId:s}=e,d=async()=>{setTimeout(()=>x.removeListener(L.QuestionAnswered,d),0),v(async()=>{r.replayDurationType==="before"?await Re(e):await c.markPendingCaptureToCanUpload(s)},"Error in schedule/capture callback")};v(async()=>{if(r.replayDurationType==="after"||r.replayDurationType==="beforeAndAfter"){!a&&!n&&(i("Attaching QuestionAnswered listener for non-standalone replay"),x.on(L.QuestionAnswered,d)),i(`Scheduling capture for replay of type: ${r.replayDurationType}`),await Ue(e);return}if(a||n||t)i(`Proceeding to capture replay for survey: ${e.surveyId} / standalone? ${a} / canUpload? ${t}`),await Re(e),n&&Zt();else{const l=A+r.replayDurationSeconds,u=o-l*1e3,p=o;i(`Setting expiry minutes to ${r.expirationTimeLimitMinutes} for events from ${new Date(u).toLocaleTimeString()} to ${new Date(p).toLocaleTimeString()}`),await c.updateEventsExpiredAt(u,p,r.expirationTimeLimitMinutes),i("Attaching QuestionAnswered listener"),x.on(L.QuestionAnswered,d)}},"Error in scheduling/capturing replay")},Zt=async()=>{parseInt(C??"0")||y.removeItem("sprig.isCapturingHeatmap"),y.getItem("sprig.teardownAfterCapture")&&(Se(),Te(),y.removeItem("sprig.teardownAfterCapture"))},Te=async()=>S()?B("Not clearing user data, replay is disabled"):Promise.all([c.deleteBySessionId("events",w),c.deleteBySessionId("pendingCaptures",w)]).catch(e=>{T("Error clearing user replay data",e)}),Ue=async e=>{if(S())return;i(`Scheduling replay capture: ${JSON.stringify(e)}`);const{isHeatmap:t,surveyId:n}=e,a=await c.getPendingCaptures(),r=a?.filter(d=>d.captureParams.surveyId===n);if(r!=null&&r.length){i(`Pending capture exists for survey: ${n}`);return}t&&(Nt(),y.setItem("sprig.isCapturingHeatmap","true"),z=Date.now(),g.inactivityInterval||(g.inactivityInterval=window.setInterval(()=>{It(z)},1e3)));const o={...e,replayParams:{...e.replayParams}};e.replayParams.replayDurationType==="beforeAndAfter"&&(o.replayParams.replayDurationSeconds*=2),o.replayParams.replayDurationType="before";const s=e.triggerTimestamp+e.replayParams.replayDurationSeconds*1e3;o.triggerTimestamp=s,C=(parseInt(C??"0")+1).toString(),y.setItem("sprig.pendingCount",C),await(await c.openDB()).add("pendingCaptures",{canUpload:!1,captureParams:o,sessionId:w,targetTimestamp:s,timestamp:Date.now(),uuid:P()})},en=Object.freeze(Object.defineProperty({__proto__:null,RecordEvent:bt,RecordPageView:Dt,RecordSurveyShown:kt,_completeSessionReplay:_t,checkPendingHeatmapsUrl:vt,clearUserReplayData:Te,disableRecording:T,initializeReplay:jt,isReplayRecording:Rt,scheduleCapture:Ue,scheduleOrCaptureReplay:$e,tryReplayAction:v},Symbol.toStringTag,{value:"Module"}));He(en);
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("./core-uZksLjLE.cjs"),A=require("./metricsReporter-D-24kpOB.cjs");var we,w,an,de,Ct,cn,Xe,dn,Ce={},un=[],To=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,$e=Array.isArray;function ne(e,t){for(var n in t)e[n]=t[n];return e}function pn(e){var t=e.parentNode;t&&t.removeChild(e)}function $(e,t,n){var o,r,i,s={};for(i in t)i=="key"?o=t[i]:i=="ref"?r=t[i]:s[i]=t[i];if(arguments.length>2&&(s.children=arguments.length>3?we.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)s[i]===void 0&&(s[i]=e.defaultProps[i]);return xe(e,s,o,r,null)}function xe(e,t,n,o,r){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r??++an,__i:-1,__u:0};return r==null&&w.vnode!=null&&w.vnode(i),i}function mn(){return{current:null}}function W(e){return e.children}function Q(e,t){this.props=e,this.context=t}function ve(e,t){if(t==null)return e.__?ve(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?ve(e):null}function hn(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return hn(e)}}function et(e){(!e.__d&&(e.__d=!0)&&de.push(e)&&!Ne.__r++||Ct!==w.debounceRendering)&&((Ct=w.debounceRendering)||cn)(Ne)}function Ne(){var e,t,n,o,r,i,s,c,d;for(de.sort(Xe);e=de.shift();)e.__d&&(t=de.length,o=void 0,i=(r=(n=e).__v).__e,c=[],d=[],(s=n.__P)&&((o=ne({},r)).__v=r.__v+1,w.vnode&&w.vnode(o),at(s,o,r,n.__n,s.ownerSVGElement!==void 0,32&r.__u?[i]:null,c,i??ve(r),!!(32&r.__u),d),o.__.__k[o.__i]=o,gn(c,o,d),o.__e!=i&&hn(o)),de.length>t&&de.sort(Xe));Ne.__r=0}function fn(e,t,n,o,r,i,s,c,d,a,p){var l,h,m,v,f,b=o&&o.__k||un,_=t.length;for(n.__d=d,Ro(n,t,b),d=n.__d,l=0;l<_;l++)(m=n.__k[l])!=null&&typeof m!="boolean"&&typeof m!="function"&&(h=m.__i===-1?Ce:b[m.__i]||Ce,m.__i=l,at(e,m,h,r,i,s,c,d,a,p),v=m.__e,m.ref&&h.ref!=m.ref&&(h.ref&&ct(h.ref,null,m),p.push(m.ref,m.__c||v,m)),f==null&&v!=null&&(f=v),65536&m.__u||h.__k===m.__k?d=vn(m,d,e):typeof m.type=="function"&&m.__d!==void 0?d=m.__d:v&&(d=v.nextSibling),m.__d=void 0,m.__u&=-196609);n.__d=d,n.__e=f}function Ro(e,t,n){var o,r,i,s,c,d=t.length,a=n.length,p=a,l=0;for(e.__k=[],o=0;o<d;o++)(r=e.__k[o]=(r=t[o])==null||typeof r=="boolean"||typeof r=="function"?null:typeof r=="string"||typeof r=="number"||typeof r=="bigint"||r.constructor==String?xe(null,r,null,null,r):$e(r)?xe(W,{children:r},null,null,null):r.constructor===void 0&&r.__b>0?xe(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r)!=null?(r.__=e,r.__b=e.__b+1,c=Po(r,n,s=o+l,p),r.__i=c,i=null,c!==-1&&(p--,(i=n[c])&&(i.__u|=131072)),i==null||i.__v===null?(c==-1&&l--,typeof r.type!="function"&&(r.__u|=65536)):c!==s&&(c===s+1?l++:c>s?p>d-s?l+=c-s:l--:l=c<s&&c==s-1?c-s:0,c!==o+l&&(r.__u|=65536))):(i=n[o])&&i.key==null&&i.__e&&(i.__e==e.__d&&(e.__d=ve(i)),tt(i,i,!1),n[o]=null,p--);if(p)for(o=0;o<a;o++)(i=n[o])!=null&&!(131072&i.__u)&&(i.__e==e.__d&&(e.__d=ve(i)),tt(i,i))}function vn(e,t,n){var o,r;if(typeof e.type=="function"){for(o=e.__k,r=0;o&&r<o.length;r++)o[r]&&(o[r].__=e,t=vn(o[r],t,n));return t}return e.__e!=t&&(n.insertBefore(e.__e,t||null),t=e.__e),t&&t.nextSibling}function oe(e,t){return t=t||[],e==null||typeof e=="boolean"||($e(e)?e.some(function(n){oe(n,t)}):t.push(e)),t}function Po(e,t,n,o){var r=e.key,i=e.type,s=n-1,c=n+1,d=t[n];if(d===null||d&&r==d.key&&i===d.type)return n;if(o>(d!=null&&!(131072&d.__u)?1:0))for(;s>=0||c<t.length;){if(s>=0){if((d=t[s])&&!(131072&d.__u)&&r==d.key&&i===d.type)return s;s--}if(c<t.length){if((d=t[c])&&!(131072&d.__u)&&r==d.key&&i===d.type)return c;c++}}return-1}function wt(e,t,n){t[0]==="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||To.test(t)?n:n+"px"}function Re(e,t,n,o,r){var i;e:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||wt(e.style,t,"");if(n)for(t in n)o&&n[t]===o[t]||wt(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")i=t!==(t=t.replace(/(PointerCapture)$|Capture$/,"$1")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?o?n.u=o.u:(n.u=Date.now(),e.addEventListener(t,i?St:Et,i)):e.removeEventListener(t,i?St:Et,i);else{if(r)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!=="width"&&t!=="height"&&t!=="href"&&t!=="list"&&t!=="form"&&t!=="tabIndex"&&t!=="download"&&t!=="rowSpan"&&t!=="colSpan"&&t!=="role"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!=="-"?e.removeAttribute(t):e.setAttribute(t,n))}}function Et(e){var t=this.l[e.type+!1];if(e.t){if(e.t<=t.u)return}else e.t=Date.now();return t(w.event?w.event(e):e)}function St(e){return this.l[e.type+!0](w.event?w.event(e):e)}function at(e,t,n,o,r,i,s,c,d,a){var p,l,h,m,v,f,b,_,x,y,S,C,j,D,E,g=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(d=!!(32&n.__u),i=[c=t.__e=n.__e]),(p=w.__b)&&p(t);e:if(typeof g=="function")try{if(_=t.props,x=(p=g.contextType)&&o[p.__c],y=p?x?x.props.value:p.__:o,n.__c?b=(l=t.__c=n.__c).__=l.__E:("prototype"in g&&g.prototype.render?t.__c=l=new g(_,y):(t.__c=l=new Q(_,y),l.constructor=g,l.render=Do),x&&x.sub(l),l.props=_,l.state||(l.state={}),l.context=y,l.__n=o,h=l.__d=!0,l.__h=[],l._sb=[]),l.__s==null&&(l.__s=l.state),g.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=ne({},l.__s)),ne(l.__s,g.getDerivedStateFromProps(_,l.__s))),m=l.props,v=l.state,l.__v=t,h)g.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(g.getDerivedStateFromProps==null&&_!==m&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(_,y),!l.__e&&(l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(_,l.__s,y)===!1||t.__v===n.__v)){for(t.__v!==n.__v&&(l.props=_,l.state=l.__s,l.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(k){k&&(k.__=t)}),S=0;S<l._sb.length;S++)l.__h.push(l._sb[S]);l._sb=[],l.__h.length&&s.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(_,l.__s,y),l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(m,v,f)})}if(l.context=y,l.props=_,l.__P=e,l.__e=!1,C=w.__r,j=0,"prototype"in g&&g.prototype.render){for(l.state=l.__s,l.__d=!1,C&&C(t),p=l.render(l.props,l.state,l.context),D=0;D<l._sb.length;D++)l.__h.push(l._sb[D]);l._sb=[]}else do l.__d=!1,C&&C(t),p=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++j<25);l.state=l.__s,l.getChildContext!=null&&(o=ne(ne({},o),l.getChildContext())),h||l.getSnapshotBeforeUpdate==null||(f=l.getSnapshotBeforeUpdate(m,v)),fn(e,$e(E=p!=null&&p.type===W&&p.key==null?p.props.children:p)?E:[E],t,n,o,r,i,s,c,d,a),l.base=t.__e,t.__u&=-161,l.__h.length&&s.push(l),b&&(l.__E=l.__=null)}catch(k){t.__v=null,d||i!=null?(t.__e=c,t.__u|=d?160:32,i[i.indexOf(c)]=null):(t.__e=n.__e,t.__k=n.__k),w.__e(k,t,n)}else i==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Io(n.__e,t,n,o,r,i,s,d,a);(p=w.diffed)&&p(t)}function gn(e,t,n){t.__d=void 0;for(var o=0;o<n.length;o++)ct(n[o],n[++o],n[++o]);w.__c&&w.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(i){i.call(r)})}catch(i){w.__e(i,r.__v)}})}function Io(e,t,n,o,r,i,s,c,d){var a,p,l,h,m,v,f,b=n.props,_=t.props,x=t.type;if(x==="svg"&&(r=!0),i!=null){for(a=0;a<i.length;a++)if((m=i[a])&&"setAttribute"in m==!!x&&(x?m.localName===x:m.nodeType===3)){e=m,i[a]=null;break}}if(e==null){if(x===null)return document.createTextNode(_);e=r?document.createElementNS("http://www.w3.org/2000/svg",x):document.createElement(x,_.is&&_),i=null,c=!1}if(x===null)b===_||c&&e.data===_||(e.data=_);else{if(i=i&&we.call(e.childNodes),b=n.props||Ce,!c&&i!=null)for(b={},a=0;a<e.attributes.length;a++)b[(m=e.attributes[a]).name]=m.value;for(a in b)m=b[a],a=="children"||(a=="dangerouslySetInnerHTML"?l=m:a==="key"||a in _||Re(e,a,null,m,r));for(a in _)m=_[a],a=="children"?h=m:a=="dangerouslySetInnerHTML"?p=m:a=="value"?v=m:a=="checked"?f=m:a==="key"||c&&typeof m!="function"||b[a]===m||Re(e,a,m,b[a],r);if(p)c||l&&(p.__html===l.__html||p.__html===e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(l&&(e.innerHTML=""),fn(e,$e(h)?h:[h],t,n,o,r&&x!=="foreignObject",i,s,i?i[0]:n.__k&&ve(n,0),c,d),i!=null)for(a=i.length;a--;)i[a]!=null&&pn(i[a]);c||(a="value",v!==void 0&&(v!==e[a]||x==="progress"&&!v||x==="option"&&v!==b[a])&&Re(e,a,v,b[a],!1),a="checked",f!==void 0&&f!==e[a]&&Re(e,a,f,b[a],!1))}return e}function ct(e,t,n){try{typeof e=="function"?e(t):e.current=t}catch(o){w.__e(o,n)}}function tt(e,t,n){var o,r;if(w.unmount&&w.unmount(e),(o=e.ref)&&(o.current&&o.current!==e.__e||ct(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){w.__e(i,t)}o.base=o.__P=null,e.__c=void 0}if(o=e.__k)for(r=0;r<o.length;r++)o[r]&&tt(o[r],t,n||typeof e.type!="function");n||e.__e==null||pn(e.__e),e.__=e.__e=e.__d=void 0}function Do(e,t,n){return this.constructor(e,n)}function ge(e,t,n){var o,r,i,s;w.__&&w.__(e,t),r=(o=typeof n=="function")?null:n&&n.__k||t.__k,i=[],s=[],at(t,e=(!o&&n||t).__k=$(W,null,[e]),r||Ce,Ce,t.ownerSVGElement!==void 0,!o&&n?[n]:r?null:t.firstChild?we.call(t.childNodes):null,i,!o&&n?n:r?r.__e:t.firstChild,o,s),gn(i,e,s)}function _n(e,t){ge(e,t,_n)}function Oo(e,t,n){var o,r,i,s,c=ne({},e.props);for(i in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),t)i=="key"?o=t[i]:i=="ref"?r=t[i]:c[i]=t[i]===void 0&&s!==void 0?s[i]:t[i];return arguments.length>2&&(c.children=arguments.length>3?we.call(arguments,2):n),xe(e.type,c,o||e.key,r||e.ref,null)}function bn(e,t){var n={__c:t="__cC"+dn++,__:e,Consumer:function(o,r){return o.children(r)},Provider:function(o){var r,i;return this.getChildContext||(r=[],(i={})[t]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(s){this.props.value!==s.value&&r.some(function(c){c.__e=!0,et(c)})},this.sub=function(s){r.push(s);var c=s.componentWillUnmount;s.componentWillUnmount=function(){r.splice(r.indexOf(s),1),c&&c.call(s)}}),o.children}};return n.Provider.__=n.Consumer.contextType=n}we=un.slice,w={__e:function(e,t,n,o){for(var r,i,s;t=t.__;)if((r=t.__c)&&!r.__)try{if((i=r.constructor)&&i.getDerivedStateFromError!=null&&(r.setState(i.getDerivedStateFromError(e)),s=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,o||{}),s=r.__d),s)return r.__E=r}catch(c){e=c}throw e}},an=0,Q.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=ne({},this.state),typeof e=="function"&&(e=e(ne({},n),this.props)),e&&ne(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),et(this))},Q.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),et(this))},Q.prototype.render=W,de=[],cn=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Xe=function(e,t){return e.__v.__b-t.__v.__b},Ne.__r=0,dn=0;var re,M,qe,jt,_e=0,yn=[],Pe=[],Tt=w.__b,Rt=w.__r,Pt=w.diffed,It=w.__c,Dt=w.unmount;function me(e,t){w.__h&&w.__h(M,e,_e||t),_e=0;var n=M.__H||(M.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:Pe}),n.__[e]}function B(e){return _e=1,dt(wn,e)}function dt(e,t,n){var o=me(re++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):wn(void 0,t),function(c){var d=o.__N?o.__N[0]:o.__[0],a=o.t(d,c);d!==a&&(o.__N=[a,o.__[1]],o.__c.setState({}))}],o.__c=M,!M.u)){var r=function(c,d,a){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(h){return h.__c});if(p.every(function(h){return!h.__N}))return!i||i.call(this,c,d,a);var l=!1;return p.forEach(function(h){if(h.__N){var m=h.__[0];h.__=h.__N,h.__N=void 0,m!==h.__[0]&&(l=!0)}}),!(!l&&o.__c.props===c)&&(!i||i.call(this,c,d,a))};M.u=!0;var i=M.shouldComponentUpdate,s=M.componentWillUpdate;M.componentWillUpdate=function(c,d,a){if(this.__e){var p=i;i=void 0,r(c,d,a),i=p}s&&s.call(this,c,d,a)},M.shouldComponentUpdate=r}return o.__N||o.__}function z(e,t){var n=me(re++,3);!w.__s&&mt(n.__H,t)&&(n.__=e,n.i=t,M.__H.__h.push(n))}function Ee(e,t){var n=me(re++,4);!w.__s&&mt(n.__H,t)&&(n.__=e,n.i=t,M.__h.push(n))}function ee(e){return _e=5,Se(function(){return{current:e}},[])}function xn(e,t,n){_e=6,Ee(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},n==null?n:n.concat(e))}function Se(e,t){var n=me(re++,7);return mt(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ut(e,t){return _e=8,Se(function(){return e},t)}function kn(e){var t=M.context[e.__c],n=me(re++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(M)),t.props.value):e.__}function pt(e,t){w.useDebugValue&&w.useDebugValue(t?t(e):e)}function Lo(e){var t=me(re++,10),n=B();return t.__=e,M.componentDidCatch||(M.componentDidCatch=function(o,r){t.__&&t.__(o,r),n[1](o)}),[n[0],function(){n[1](void 0)}]}function Cn(){var e=me(re++,11);if(!e.__){for(var t=M.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function No(){for(var e;e=yn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Ie),e.__H.__h.forEach(nt),e.__H.__h=[]}catch(t){e.__H.__h=[],w.__e(t,e.__v)}}w.__b=function(e){M=null,Tt&&Tt(e)},w.__r=function(e){Rt&&Rt(e),re=0;var t=(M=e.__c).__H;t&&(qe===M?(t.__h=[],M.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=Pe,n.__N=n.i=void 0})):(t.__h.forEach(Ie),t.__h.forEach(nt),t.__h=[],re=0)),qe=M},w.diffed=function(e){Pt&&Pt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(yn.push(t)!==1&&jt===w.requestAnimationFrame||((jt=w.requestAnimationFrame)||Ao)(No)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==Pe&&(n.__=n.__V),n.i=void 0,n.__V=Pe})),qe=M=null},w.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Ie),n.__h=n.__h.filter(function(o){return!o.__||nt(o)})}catch(o){t.some(function(r){r.__h&&(r.__h=[])}),t=[],w.__e(o,n.__v)}}),It&&It(e,t)},w.unmount=function(e){Dt&&Dt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{Ie(o)}catch(r){t=r}}),n.__H=void 0,t&&w.__e(t,n.__v))};var Ot=typeof requestAnimationFrame=="function";function Ao(e){var t,n=function(){clearTimeout(o),Ot&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,100);Ot&&(t=requestAnimationFrame(n))}function Ie(e){var t=M,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),M=t}function nt(e){var t=M;e.__c=e.__(),M=t}function mt(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function wn(e,t){return typeof t=="function"?t(e):t}function En(e,t){for(var n in t)e[n]=t[n];return e}function ot(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function Ae(e){this.props=e}function Sn(e,t){function n(r){var i=this.props.ref,s=i==r.ref;return!s&&i&&(i.call?i(null):i.current=null),t?!t(this.props,r)||!s:ot(this.props,r)}function o(r){return this.shouldComponentUpdate=n,$(e,r)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}(Ae.prototype=new Q).isPureReactComponent=!0,Ae.prototype.shouldComponentUpdate=function(e,t){return ot(this.props,e)||ot(this.state,t)};var Lt=w.__b;w.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Lt&&Lt(e)};var Mo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function jn(e){function t(n){var o=En({},n);return delete o.ref,e(o,n.ref||null)}return t.$$typeof=Mo,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Nt=function(e,t){return e==null?null:oe(oe(e).map(t))},Tn={map:Nt,forEach:Nt,count:function(e){return e?oe(e).length:0},only:function(e){var t=oe(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:oe},$o=w.__e;w.__e=function(e,t,n,o){if(e.then){for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}$o(e,t,n,o)};var At=w.unmount;function Rn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=En({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Rn(o,t,n)})),e}function Pn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Pn(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function ke(){this.__u=0,this.t=null,this.__b=null}function In(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Dn(e){var t,n,o;function r(i){if(t||(t=e()).then(function(s){n=s.default||s},function(s){o=s}),o)throw o;if(!n)throw t;return $(n,i)}return r.displayName="Lazy",r.__f=!0,r}function fe(){this.u=null,this.o=null}w.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),At&&At(e)},(ke.prototype=new Q).__c=function(e,t){var n=t.__c,o=this;o.t==null&&(o.t=[]),o.t.push(n);var r=In(o.__v),i=!1,s=function(){i||(i=!0,n.__R=null,r?r(c):c())};n.__R=s;var c=function(){if(!--o.__u){if(o.state.__a){var d=o.state.__a;o.__v.__k[0]=Pn(d,d.__c.__P,d.__c.__O)}var a;for(o.setState({__a:o.__b=null});a=o.t.pop();)a.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(s,s)},ke.prototype.componentWillUnmount=function(){this.t=[]},ke.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Rn(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&$(W,null,e.fallback);return r&&(r.__u&=-33),[$(W,null,t.__a?null:e.children),r]};var Mt=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function Uo(e){return this.getChildContext=function(){return e.context},e.children}function Ho(e){var t=this,n=e.i;t.componentWillUnmount=function(){ge(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(o){this.childNodes.push(o),t.i.appendChild(o)},insertBefore:function(o,r){this.childNodes.push(o),t.i.appendChild(o)},removeChild:function(o){this.childNodes.splice(this.childNodes.indexOf(o)>>>1,1),t.i.removeChild(o)}}),ge($(Uo,{context:t.context},e.__v),t.l)}function On(e,t){var n=$(Ho,{__v:e,i:t});return n.containerInfo=t,n}(fe.prototype=new Q).__a=function(e){var t=this,n=In(t.__v),o=t.o.get(e);return o[0]++,function(r){var i=function(){t.props.revealOrder?(o.push(r),Mt(t,e,o)):r()};n?n(i):i()}},fe.prototype.render=function(e){this.u=null,this.o=new Map;var t=oe(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},fe.prototype.componentDidUpdate=fe.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){Mt(e,n,t)})};var Ln=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Bo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Vo=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Fo=/[A-Z0-9]/g,zo=typeof document<"u",qo=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};function Nn(e,t,n){return t.__k==null&&(t.textContent=""),ge(e,t),typeof n=="function"&&n(),e?e.__c:null}function An(e,t,n){return _n(e,t),typeof n=="function"&&n(),e?e.__c:null}Q.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Q.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var $t=w.event;function Wo(){}function Zo(){return this.cancelBubble}function Go(){return this.defaultPrevented}w.event=function(e){return $t&&(e=$t(e)),e.persist=Wo,e.isPropagationStopped=Zo,e.isDefaultPrevented=Go,e.nativeEvent=e};var ht,Yo={enumerable:!1,configurable:!0,get:function(){return this.class}},Ut=w.vnode;w.vnode=function(e){typeof e.type=="string"&&function(t){var n=t.props,o=t.type,r={};for(var i in n){var s=n[i];if(!(i==="value"&&"defaultValue"in n&&s==null||zo&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&s===!0?s="":c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||qo(n.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":Vo.test(i)?i=c:o.indexOf("-")===-1&&Bo.test(i)?i=i.replace(Fo,"-$&").toLowerCase():s===null&&(s=void 0):c=i="oninput",c==="oninput"&&r[i=c]&&(i="oninputCapture"),r[i]=s}}o=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=oe(n.children).forEach(function(d){d.props.selected=r.value.indexOf(d.props.value)!=-1})),o=="select"&&r.defaultValue!=null&&(r.value=oe(n.children).forEach(function(d){d.props.selected=r.multiple?r.defaultValue.indexOf(d.props.value)!=-1:r.defaultValue==d.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",Yo)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),t.props=r}(e),e.$$typeof=Ln,Ut&&Ut(e)};var Ht=w.__r;w.__r=function(e){Ht&&Ht(e),ht=e.__c};var Bt=w.diffed;w.diffed=function(e){Bt&&Bt(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value),ht=null};var Mn={ReactCurrentDispatcher:{current:{readContext:function(e){return ht.__n[e.__c].props.value}}}},Qo="17.0.2";function $n(e){return $.bind(null,e)}function je(e){return!!e&&e.$$typeof===Ln}function Un(e){return je(e)&&e.type===W}function Hn(e){return je(e)?Oo.apply(null,arguments):e}function Bn(e){return!!e.__k&&(ge(null,e),!0)}function Vn(e){return e&&(e.base||e.nodeType===1&&e)||null}var Fn=function(e,t){return e(t)},zn=function(e,t){return e(t)},qn=W;function ft(e){e()}function Wn(e){return e}function Zn(){return[!1,ft]}var Gn=Ee,Yn=je;function Qn(e,t){var n=t(),o=B({h:{__:n,v:t}}),r=o[0].h,i=o[1];return Ee(function(){r.__=n,r.v=t,We(r)&&i({h:r})},[e,n,t]),z(function(){return We(r)&&i({h:r}),e(function(){We(r)&&i({h:r})})},[e]),n}function We(e){var t,n,o=e.v,r=e.__;try{var i=o();return!((t=r)===(n=i)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}var Ko={useState:B,useId:Cn,useReducer:dt,useEffect:z,useLayoutEffect:Ee,useInsertionEffect:Gn,useTransition:Zn,useDeferredValue:Wn,useSyncExternalStore:Qn,startTransition:ft,useRef:ee,useImperativeHandle:xn,useMemo:Se,useCallback:ut,useContext:kn,useDebugValue:pt,version:"17.0.2",Children:Tn,render:Nn,hydrate:An,unmountComponentAtNode:Bn,createPortal:On,createElement:$,createContext:bn,createFactory:$n,cloneElement:Hn,createRef:mn,Fragment:W,isValidElement:je,isElement:Yn,isFragment:Un,findDOMNode:Vn,Component:Q,PureComponent:Ae,memo:Sn,forwardRef:jn,flushSync:zn,unstable_batchedUpdates:Fn,StrictMode:qn,Suspense:ke,SuspenseList:fe,lazy:Dn,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Mn};const Jo=Object.freeze(Object.defineProperty({__proto__:null,Children:Tn,Component:Q,Fragment:W,PureComponent:Ae,StrictMode:qn,Suspense:ke,SuspenseList:fe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Mn,cloneElement:Hn,createContext:bn,createElement:$,createFactory:$n,createPortal:On,createRef:mn,default:Ko,findDOMNode:Vn,flushSync:zn,forwardRef:jn,hydrate:An,isElement:Yn,isFragment:Un,isValidElement:je,lazy:Dn,memo:Sn,render:Nn,startTransition:ft,unmountComponentAtNode:Bn,unstable_batchedUpdates:Fn,useCallback:ut,useContext:kn,useDebugValue:pt,useDeferredValue:Wn,useEffect:z,useErrorBoundary:Lo,useId:Cn,useImperativeHandle:xn,useInsertionEffect:Gn,useLayoutEffect:Ee,useMemo:Se,useReducer:dt,useRef:ee,useState:B,useSyncExternalStore:Qn,useTransition:Zn,version:Qo},Symbol.toStringTag,{value:"Module"})),Vt=e=>{let t;const n=new Set,o=(d,a)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const l=t;t=a??typeof p!="object"?p:Object.assign({},t,p),n.forEach(h=>h(t,l))}},r=()=>t,c={setState:o,getState:r,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>n.clear()};return t=e(o,r,c),c},Xo=e=>e?Vt(e):Vt;function er(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function tr(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}),n}var Kn={exports:{}},Jn={};const Xn=tr(Jo);var eo={exports:{}},to={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("./core-CKpFNc0j.cjs"),A=require("./metricsReporter-uYHd0jkA.cjs");var we,w,an,de,Ct,cn,Xe,dn,Ce={},un=[],To=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,$e=Array.isArray;function ne(e,t){for(var n in t)e[n]=t[n];return e}function pn(e){var t=e.parentNode;t&&t.removeChild(e)}function $(e,t,n){var o,r,i,s={};for(i in t)i=="key"?o=t[i]:i=="ref"?r=t[i]:s[i]=t[i];if(arguments.length>2&&(s.children=arguments.length>3?we.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)s[i]===void 0&&(s[i]=e.defaultProps[i]);return xe(e,s,o,r,null)}function xe(e,t,n,o,r){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r??++an,__i:-1,__u:0};return r==null&&w.vnode!=null&&w.vnode(i),i}function mn(){return{current:null}}function W(e){return e.children}function Q(e,t){this.props=e,this.context=t}function ve(e,t){if(t==null)return e.__?ve(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?ve(e):null}function hn(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return hn(e)}}function et(e){(!e.__d&&(e.__d=!0)&&de.push(e)&&!Ne.__r++||Ct!==w.debounceRendering)&&((Ct=w.debounceRendering)||cn)(Ne)}function Ne(){var e,t,n,o,r,i,s,c,d;for(de.sort(Xe);e=de.shift();)e.__d&&(t=de.length,o=void 0,i=(r=(n=e).__v).__e,c=[],d=[],(s=n.__P)&&((o=ne({},r)).__v=r.__v+1,w.vnode&&w.vnode(o),at(s,o,r,n.__n,s.ownerSVGElement!==void 0,32&r.__u?[i]:null,c,i??ve(r),!!(32&r.__u),d),o.__.__k[o.__i]=o,gn(c,o,d),o.__e!=i&&hn(o)),de.length>t&&de.sort(Xe));Ne.__r=0}function fn(e,t,n,o,r,i,s,c,d,a,p){var l,h,m,v,f,b=o&&o.__k||un,_=t.length;for(n.__d=d,Ro(n,t,b),d=n.__d,l=0;l<_;l++)(m=n.__k[l])!=null&&typeof m!="boolean"&&typeof m!="function"&&(h=m.__i===-1?Ce:b[m.__i]||Ce,m.__i=l,at(e,m,h,r,i,s,c,d,a,p),v=m.__e,m.ref&&h.ref!=m.ref&&(h.ref&&ct(h.ref,null,m),p.push(m.ref,m.__c||v,m)),f==null&&v!=null&&(f=v),65536&m.__u||h.__k===m.__k?d=vn(m,d,e):typeof m.type=="function"&&m.__d!==void 0?d=m.__d:v&&(d=v.nextSibling),m.__d=void 0,m.__u&=-196609);n.__d=d,n.__e=f}function Ro(e,t,n){var o,r,i,s,c,d=t.length,a=n.length,p=a,l=0;for(e.__k=[],o=0;o<d;o++)(r=e.__k[o]=(r=t[o])==null||typeof r=="boolean"||typeof r=="function"?null:typeof r=="string"||typeof r=="number"||typeof r=="bigint"||r.constructor==String?xe(null,r,null,null,r):$e(r)?xe(W,{children:r},null,null,null):r.constructor===void 0&&r.__b>0?xe(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r)!=null?(r.__=e,r.__b=e.__b+1,c=Po(r,n,s=o+l,p),r.__i=c,i=null,c!==-1&&(p--,(i=n[c])&&(i.__u|=131072)),i==null||i.__v===null?(c==-1&&l--,typeof r.type!="function"&&(r.__u|=65536)):c!==s&&(c===s+1?l++:c>s?p>d-s?l+=c-s:l--:l=c<s&&c==s-1?c-s:0,c!==o+l&&(r.__u|=65536))):(i=n[o])&&i.key==null&&i.__e&&(i.__e==e.__d&&(e.__d=ve(i)),tt(i,i,!1),n[o]=null,p--);if(p)for(o=0;o<a;o++)(i=n[o])!=null&&!(131072&i.__u)&&(i.__e==e.__d&&(e.__d=ve(i)),tt(i,i))}function vn(e,t,n){var o,r;if(typeof e.type=="function"){for(o=e.__k,r=0;o&&r<o.length;r++)o[r]&&(o[r].__=e,t=vn(o[r],t,n));return t}return e.__e!=t&&(n.insertBefore(e.__e,t||null),t=e.__e),t&&t.nextSibling}function oe(e,t){return t=t||[],e==null||typeof e=="boolean"||($e(e)?e.some(function(n){oe(n,t)}):t.push(e)),t}function Po(e,t,n,o){var r=e.key,i=e.type,s=n-1,c=n+1,d=t[n];if(d===null||d&&r==d.key&&i===d.type)return n;if(o>(d!=null&&!(131072&d.__u)?1:0))for(;s>=0||c<t.length;){if(s>=0){if((d=t[s])&&!(131072&d.__u)&&r==d.key&&i===d.type)return s;s--}if(c<t.length){if((d=t[c])&&!(131072&d.__u)&&r==d.key&&i===d.type)return c;c++}}return-1}function wt(e,t,n){t[0]==="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||To.test(t)?n:n+"px"}function Re(e,t,n,o,r){var i;e:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||wt(e.style,t,"");if(n)for(t in n)o&&n[t]===o[t]||wt(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")i=t!==(t=t.replace(/(PointerCapture)$|Capture$/,"$1")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?o?n.u=o.u:(n.u=Date.now(),e.addEventListener(t,i?St:Et,i)):e.removeEventListener(t,i?St:Et,i);else{if(r)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!=="width"&&t!=="height"&&t!=="href"&&t!=="list"&&t!=="form"&&t!=="tabIndex"&&t!=="download"&&t!=="rowSpan"&&t!=="colSpan"&&t!=="role"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!=="-"?e.removeAttribute(t):e.setAttribute(t,n))}}function Et(e){var t=this.l[e.type+!1];if(e.t){if(e.t<=t.u)return}else e.t=Date.now();return t(w.event?w.event(e):e)}function St(e){return this.l[e.type+!0](w.event?w.event(e):e)}function at(e,t,n,o,r,i,s,c,d,a){var p,l,h,m,v,f,b,_,x,y,S,C,j,D,E,g=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(d=!!(32&n.__u),i=[c=t.__e=n.__e]),(p=w.__b)&&p(t);e:if(typeof g=="function")try{if(_=t.props,x=(p=g.contextType)&&o[p.__c],y=p?x?x.props.value:p.__:o,n.__c?b=(l=t.__c=n.__c).__=l.__E:("prototype"in g&&g.prototype.render?t.__c=l=new g(_,y):(t.__c=l=new Q(_,y),l.constructor=g,l.render=Do),x&&x.sub(l),l.props=_,l.state||(l.state={}),l.context=y,l.__n=o,h=l.__d=!0,l.__h=[],l._sb=[]),l.__s==null&&(l.__s=l.state),g.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=ne({},l.__s)),ne(l.__s,g.getDerivedStateFromProps(_,l.__s))),m=l.props,v=l.state,l.__v=t,h)g.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(g.getDerivedStateFromProps==null&&_!==m&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(_,y),!l.__e&&(l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(_,l.__s,y)===!1||t.__v===n.__v)){for(t.__v!==n.__v&&(l.props=_,l.state=l.__s,l.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach(function(k){k&&(k.__=t)}),S=0;S<l._sb.length;S++)l.__h.push(l._sb[S]);l._sb=[],l.__h.length&&s.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(_,l.__s,y),l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(m,v,f)})}if(l.context=y,l.props=_,l.__P=e,l.__e=!1,C=w.__r,j=0,"prototype"in g&&g.prototype.render){for(l.state=l.__s,l.__d=!1,C&&C(t),p=l.render(l.props,l.state,l.context),D=0;D<l._sb.length;D++)l.__h.push(l._sb[D]);l._sb=[]}else do l.__d=!1,C&&C(t),p=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++j<25);l.state=l.__s,l.getChildContext!=null&&(o=ne(ne({},o),l.getChildContext())),h||l.getSnapshotBeforeUpdate==null||(f=l.getSnapshotBeforeUpdate(m,v)),fn(e,$e(E=p!=null&&p.type===W&&p.key==null?p.props.children:p)?E:[E],t,n,o,r,i,s,c,d,a),l.base=t.__e,t.__u&=-161,l.__h.length&&s.push(l),b&&(l.__E=l.__=null)}catch(k){t.__v=null,d||i!=null?(t.__e=c,t.__u|=d?160:32,i[i.indexOf(c)]=null):(t.__e=n.__e,t.__k=n.__k),w.__e(k,t,n)}else i==null&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Io(n.__e,t,n,o,r,i,s,d,a);(p=w.diffed)&&p(t)}function gn(e,t,n){t.__d=void 0;for(var o=0;o<n.length;o++)ct(n[o],n[++o],n[++o]);w.__c&&w.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(i){i.call(r)})}catch(i){w.__e(i,r.__v)}})}function Io(e,t,n,o,r,i,s,c,d){var a,p,l,h,m,v,f,b=n.props,_=t.props,x=t.type;if(x==="svg"&&(r=!0),i!=null){for(a=0;a<i.length;a++)if((m=i[a])&&"setAttribute"in m==!!x&&(x?m.localName===x:m.nodeType===3)){e=m,i[a]=null;break}}if(e==null){if(x===null)return document.createTextNode(_);e=r?document.createElementNS("http://www.w3.org/2000/svg",x):document.createElement(x,_.is&&_),i=null,c=!1}if(x===null)b===_||c&&e.data===_||(e.data=_);else{if(i=i&&we.call(e.childNodes),b=n.props||Ce,!c&&i!=null)for(b={},a=0;a<e.attributes.length;a++)b[(m=e.attributes[a]).name]=m.value;for(a in b)m=b[a],a=="children"||(a=="dangerouslySetInnerHTML"?l=m:a==="key"||a in _||Re(e,a,null,m,r));for(a in _)m=_[a],a=="children"?h=m:a=="dangerouslySetInnerHTML"?p=m:a=="value"?v=m:a=="checked"?f=m:a==="key"||c&&typeof m!="function"||b[a]===m||Re(e,a,m,b[a],r);if(p)c||l&&(p.__html===l.__html||p.__html===e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(l&&(e.innerHTML=""),fn(e,$e(h)?h:[h],t,n,o,r&&x!=="foreignObject",i,s,i?i[0]:n.__k&&ve(n,0),c,d),i!=null)for(a=i.length;a--;)i[a]!=null&&pn(i[a]);c||(a="value",v!==void 0&&(v!==e[a]||x==="progress"&&!v||x==="option"&&v!==b[a])&&Re(e,a,v,b[a],!1),a="checked",f!==void 0&&f!==e[a]&&Re(e,a,f,b[a],!1))}return e}function ct(e,t,n){try{typeof e=="function"?e(t):e.current=t}catch(o){w.__e(o,n)}}function tt(e,t,n){var o,r;if(w.unmount&&w.unmount(e),(o=e.ref)&&(o.current&&o.current!==e.__e||ct(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){w.__e(i,t)}o.base=o.__P=null,e.__c=void 0}if(o=e.__k)for(r=0;r<o.length;r++)o[r]&&tt(o[r],t,n||typeof e.type!="function");n||e.__e==null||pn(e.__e),e.__=e.__e=e.__d=void 0}function Do(e,t,n){return this.constructor(e,n)}function ge(e,t,n){var o,r,i,s;w.__&&w.__(e,t),r=(o=typeof n=="function")?null:n&&n.__k||t.__k,i=[],s=[],at(t,e=(!o&&n||t).__k=$(W,null,[e]),r||Ce,Ce,t.ownerSVGElement!==void 0,!o&&n?[n]:r?null:t.firstChild?we.call(t.childNodes):null,i,!o&&n?n:r?r.__e:t.firstChild,o,s),gn(i,e,s)}function _n(e,t){ge(e,t,_n)}function Oo(e,t,n){var o,r,i,s,c=ne({},e.props);for(i in e.type&&e.type.defaultProps&&(s=e.type.defaultProps),t)i=="key"?o=t[i]:i=="ref"?r=t[i]:c[i]=t[i]===void 0&&s!==void 0?s[i]:t[i];return arguments.length>2&&(c.children=arguments.length>3?we.call(arguments,2):n),xe(e.type,c,o||e.key,r||e.ref,null)}function bn(e,t){var n={__c:t="__cC"+dn++,__:e,Consumer:function(o,r){return o.children(r)},Provider:function(o){var r,i;return this.getChildContext||(r=[],(i={})[t]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(s){this.props.value!==s.value&&r.some(function(c){c.__e=!0,et(c)})},this.sub=function(s){r.push(s);var c=s.componentWillUnmount;s.componentWillUnmount=function(){r.splice(r.indexOf(s),1),c&&c.call(s)}}),o.children}};return n.Provider.__=n.Consumer.contextType=n}we=un.slice,w={__e:function(e,t,n,o){for(var r,i,s;t=t.__;)if((r=t.__c)&&!r.__)try{if((i=r.constructor)&&i.getDerivedStateFromError!=null&&(r.setState(i.getDerivedStateFromError(e)),s=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,o||{}),s=r.__d),s)return r.__E=r}catch(c){e=c}throw e}},an=0,Q.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=ne({},this.state),typeof e=="function"&&(e=e(ne({},n),this.props)),e&&ne(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),et(this))},Q.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),et(this))},Q.prototype.render=W,de=[],cn=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Xe=function(e,t){return e.__v.__b-t.__v.__b},Ne.__r=0,dn=0;var re,M,qe,jt,_e=0,yn=[],Pe=[],Tt=w.__b,Rt=w.__r,Pt=w.diffed,It=w.__c,Dt=w.unmount;function me(e,t){w.__h&&w.__h(M,e,_e||t),_e=0;var n=M.__H||(M.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:Pe}),n.__[e]}function B(e){return _e=1,dt(wn,e)}function dt(e,t,n){var o=me(re++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):wn(void 0,t),function(c){var d=o.__N?o.__N[0]:o.__[0],a=o.t(d,c);d!==a&&(o.__N=[a,o.__[1]],o.__c.setState({}))}],o.__c=M,!M.u)){var r=function(c,d,a){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(h){return h.__c});if(p.every(function(h){return!h.__N}))return!i||i.call(this,c,d,a);var l=!1;return p.forEach(function(h){if(h.__N){var m=h.__[0];h.__=h.__N,h.__N=void 0,m!==h.__[0]&&(l=!0)}}),!(!l&&o.__c.props===c)&&(!i||i.call(this,c,d,a))};M.u=!0;var i=M.shouldComponentUpdate,s=M.componentWillUpdate;M.componentWillUpdate=function(c,d,a){if(this.__e){var p=i;i=void 0,r(c,d,a),i=p}s&&s.call(this,c,d,a)},M.shouldComponentUpdate=r}return o.__N||o.__}function z(e,t){var n=me(re++,3);!w.__s&&mt(n.__H,t)&&(n.__=e,n.i=t,M.__H.__h.push(n))}function Ee(e,t){var n=me(re++,4);!w.__s&&mt(n.__H,t)&&(n.__=e,n.i=t,M.__h.push(n))}function ee(e){return _e=5,Se(function(){return{current:e}},[])}function xn(e,t,n){_e=6,Ee(function(){return typeof e=="function"?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0},n==null?n:n.concat(e))}function Se(e,t){var n=me(re++,7);return mt(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ut(e,t){return _e=8,Se(function(){return e},t)}function kn(e){var t=M.context[e.__c],n=me(re++,9);return n.c=e,t?(n.__==null&&(n.__=!0,t.sub(M)),t.props.value):e.__}function pt(e,t){w.useDebugValue&&w.useDebugValue(t?t(e):e)}function Lo(e){var t=me(re++,10),n=B();return t.__=e,M.componentDidCatch||(M.componentDidCatch=function(o,r){t.__&&t.__(o,r),n[1](o)}),[n[0],function(){n[1](void 0)}]}function Cn(){var e=me(re++,11);if(!e.__){for(var t=M.__v;t!==null&&!t.__m&&t.__!==null;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function No(){for(var e;e=yn.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Ie),e.__H.__h.forEach(nt),e.__H.__h=[]}catch(t){e.__H.__h=[],w.__e(t,e.__v)}}w.__b=function(e){M=null,Tt&&Tt(e)},w.__r=function(e){Rt&&Rt(e),re=0;var t=(M=e.__c).__H;t&&(qe===M?(t.__h=[],M.__h=[],t.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=Pe,n.__N=n.i=void 0})):(t.__h.forEach(Ie),t.__h.forEach(nt),t.__h=[],re=0)),qe=M},w.diffed=function(e){Pt&&Pt(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(yn.push(t)!==1&&jt===w.requestAnimationFrame||((jt=w.requestAnimationFrame)||Ao)(No)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==Pe&&(n.__=n.__V),n.i=void 0,n.__V=Pe})),qe=M=null},w.__c=function(e,t){t.some(function(n){try{n.__h.forEach(Ie),n.__h=n.__h.filter(function(o){return!o.__||nt(o)})}catch(o){t.some(function(r){r.__h&&(r.__h=[])}),t=[],w.__e(o,n.__v)}}),It&&It(e,t)},w.unmount=function(e){Dt&&Dt(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach(function(o){try{Ie(o)}catch(r){t=r}}),n.__H=void 0,t&&w.__e(t,n.__v))};var Ot=typeof requestAnimationFrame=="function";function Ao(e){var t,n=function(){clearTimeout(o),Ot&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,100);Ot&&(t=requestAnimationFrame(n))}function Ie(e){var t=M,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),M=t}function nt(e){var t=M;e.__c=e.__(),M=t}function mt(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function wn(e,t){return typeof t=="function"?t(e):t}function En(e,t){for(var n in t)e[n]=t[n];return e}function ot(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var o in t)if(o!=="__source"&&e[o]!==t[o])return!0;return!1}function Ae(e){this.props=e}function Sn(e,t){function n(r){var i=this.props.ref,s=i==r.ref;return!s&&i&&(i.call?i(null):i.current=null),t?!t(this.props,r)||!s:ot(this.props,r)}function o(r){return this.shouldComponentUpdate=n,$(e,r)}return o.displayName="Memo("+(e.displayName||e.name)+")",o.prototype.isReactComponent=!0,o.__f=!0,o}(Ae.prototype=new Q).isPureReactComponent=!0,Ae.prototype.shouldComponentUpdate=function(e,t){return ot(this.props,e)||ot(this.state,t)};var Lt=w.__b;w.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Lt&&Lt(e)};var Mo=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function jn(e){function t(n){var o=En({},n);return delete o.ref,e(o,n.ref||null)}return t.$$typeof=Mo,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Nt=function(e,t){return e==null?null:oe(oe(e).map(t))},Tn={map:Nt,forEach:Nt,count:function(e){return e?oe(e).length:0},only:function(e){var t=oe(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:oe},$o=w.__e;w.__e=function(e,t,n,o){if(e.then){for(var r,i=t;i=i.__;)if((r=i.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}$o(e,t,n,o)};var At=w.unmount;function Rn(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach(function(o){typeof o.__c=="function"&&o.__c()}),e.__c.__H=null),(e=En({},e)).__c!=null&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map(function(o){return Rn(o,t,n)})),e}function Pn(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map(function(o){return Pn(o,t,n)}),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function ke(){this.__u=0,this.t=null,this.__b=null}function In(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Dn(e){var t,n,o;function r(i){if(t||(t=e()).then(function(s){n=s.default||s},function(s){o=s}),o)throw o;if(!n)throw t;return $(n,i)}return r.displayName="Lazy",r.__f=!0,r}function fe(){this.u=null,this.o=null}w.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),At&&At(e)},(ke.prototype=new Q).__c=function(e,t){var n=t.__c,o=this;o.t==null&&(o.t=[]),o.t.push(n);var r=In(o.__v),i=!1,s=function(){i||(i=!0,n.__R=null,r?r(c):c())};n.__R=s;var c=function(){if(!--o.__u){if(o.state.__a){var d=o.state.__a;o.__v.__k[0]=Pn(d,d.__c.__P,d.__c.__O)}var a;for(o.setState({__a:o.__b=null});a=o.t.pop();)a.forceUpdate()}};o.__u++||32&t.__u||o.setState({__a:o.__b=o.__v.__k[0]}),e.then(s,s)},ke.prototype.componentWillUnmount=function(){this.t=[]},ke.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=Rn(this.__b,n,o.__O=o.__P)}this.__b=null}var r=t.__a&&$(W,null,e.fallback);return r&&(r.__u&=-33),[$(W,null,t.__a?null:e.children),r]};var Mt=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};function Uo(e){return this.getChildContext=function(){return e.context},e.children}function Ho(e){var t=this,n=e.i;t.componentWillUnmount=function(){ge(null,t.l),t.l=null,t.i=null},t.i&&t.i!==n&&t.componentWillUnmount(),t.l||(t.i=n,t.l={nodeType:1,parentNode:n,childNodes:[],appendChild:function(o){this.childNodes.push(o),t.i.appendChild(o)},insertBefore:function(o,r){this.childNodes.push(o),t.i.appendChild(o)},removeChild:function(o){this.childNodes.splice(this.childNodes.indexOf(o)>>>1,1),t.i.removeChild(o)}}),ge($(Uo,{context:t.context},e.__v),t.l)}function On(e,t){var n=$(Ho,{__v:e,i:t});return n.containerInfo=t,n}(fe.prototype=new Q).__a=function(e){var t=this,n=In(t.__v),o=t.o.get(e);return o[0]++,function(r){var i=function(){t.props.revealOrder?(o.push(r),Mt(t,e,o)):r()};n?n(i):i()}},fe.prototype.render=function(e){this.u=null,this.o=new Map;var t=oe(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},fe.prototype.componentDidUpdate=fe.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){Mt(e,n,t)})};var Ln=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Bo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Vo=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Fo=/[A-Z0-9]/g,zo=typeof document<"u",qo=function(e){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/:/fil|che|ra/).test(e)};function Nn(e,t,n){return t.__k==null&&(t.textContent=""),ge(e,t),typeof n=="function"&&n(),e?e.__c:null}function An(e,t,n){return _n(e,t),typeof n=="function"&&n(),e?e.__c:null}Q.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(Q.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var $t=w.event;function Wo(){}function Zo(){return this.cancelBubble}function Go(){return this.defaultPrevented}w.event=function(e){return $t&&(e=$t(e)),e.persist=Wo,e.isPropagationStopped=Zo,e.isDefaultPrevented=Go,e.nativeEvent=e};var ht,Yo={enumerable:!1,configurable:!0,get:function(){return this.class}},Ut=w.vnode;w.vnode=function(e){typeof e.type=="string"&&function(t){var n=t.props,o=t.type,r={};for(var i in n){var s=n[i];if(!(i==="value"&&"defaultValue"in n&&s==null||zo&&i==="children"&&o==="noscript"||i==="class"||i==="className")){var c=i.toLowerCase();i==="defaultValue"&&"value"in n&&n.value==null?i="value":i==="download"&&s===!0?s="":c==="ondoubleclick"?i="ondblclick":c!=="onchange"||o!=="input"&&o!=="textarea"||qo(n.type)?c==="onfocus"?i="onfocusin":c==="onblur"?i="onfocusout":Vo.test(i)?i=c:o.indexOf("-")===-1&&Bo.test(i)?i=i.replace(Fo,"-$&").toLowerCase():s===null&&(s=void 0):c=i="oninput",c==="oninput"&&r[i=c]&&(i="oninputCapture"),r[i]=s}}o=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=oe(n.children).forEach(function(d){d.props.selected=r.value.indexOf(d.props.value)!=-1})),o=="select"&&r.defaultValue!=null&&(r.value=oe(n.children).forEach(function(d){d.props.selected=r.multiple?r.defaultValue.indexOf(d.props.value)!=-1:r.defaultValue==d.props.value})),n.class&&!n.className?(r.class=n.class,Object.defineProperty(r,"className",Yo)):(n.className&&!n.class||n.class&&n.className)&&(r.class=r.className=n.className),t.props=r}(e),e.$$typeof=Ln,Ut&&Ut(e)};var Ht=w.__r;w.__r=function(e){Ht&&Ht(e),ht=e.__c};var Bt=w.diffed;w.diffed=function(e){Bt&&Bt(e);var t=e.props,n=e.__e;n!=null&&e.type==="textarea"&&"value"in t&&t.value!==n.value&&(n.value=t.value==null?"":t.value),ht=null};var Mn={ReactCurrentDispatcher:{current:{readContext:function(e){return ht.__n[e.__c].props.value}}}},Qo="17.0.2";function $n(e){return $.bind(null,e)}function je(e){return!!e&&e.$$typeof===Ln}function Un(e){return je(e)&&e.type===W}function Hn(e){return je(e)?Oo.apply(null,arguments):e}function Bn(e){return!!e.__k&&(ge(null,e),!0)}function Vn(e){return e&&(e.base||e.nodeType===1&&e)||null}var Fn=function(e,t){return e(t)},zn=function(e,t){return e(t)},qn=W;function ft(e){e()}function Wn(e){return e}function Zn(){return[!1,ft]}var Gn=Ee,Yn=je;function Qn(e,t){var n=t(),o=B({h:{__:n,v:t}}),r=o[0].h,i=o[1];return Ee(function(){r.__=n,r.v=t,We(r)&&i({h:r})},[e,n,t]),z(function(){return We(r)&&i({h:r}),e(function(){We(r)&&i({h:r})})},[e]),n}function We(e){var t,n,o=e.v,r=e.__;try{var i=o();return!((t=r)===(n=i)&&(t!==0||1/t==1/n)||t!=t&&n!=n)}catch{return!0}}var Ko={useState:B,useId:Cn,useReducer:dt,useEffect:z,useLayoutEffect:Ee,useInsertionEffect:Gn,useTransition:Zn,useDeferredValue:Wn,useSyncExternalStore:Qn,startTransition:ft,useRef:ee,useImperativeHandle:xn,useMemo:Se,useCallback:ut,useContext:kn,useDebugValue:pt,version:"17.0.2",Children:Tn,render:Nn,hydrate:An,unmountComponentAtNode:Bn,createPortal:On,createElement:$,createContext:bn,createFactory:$n,cloneElement:Hn,createRef:mn,Fragment:W,isValidElement:je,isElement:Yn,isFragment:Un,findDOMNode:Vn,Component:Q,PureComponent:Ae,memo:Sn,forwardRef:jn,flushSync:zn,unstable_batchedUpdates:Fn,StrictMode:qn,Suspense:ke,SuspenseList:fe,lazy:Dn,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Mn};const Jo=Object.freeze(Object.defineProperty({__proto__:null,Children:Tn,Component:Q,Fragment:W,PureComponent:Ae,StrictMode:qn,Suspense:ke,SuspenseList:fe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Mn,cloneElement:Hn,createContext:bn,createElement:$,createFactory:$n,createPortal:On,createRef:mn,default:Ko,findDOMNode:Vn,flushSync:zn,forwardRef:jn,hydrate:An,isElement:Yn,isFragment:Un,isValidElement:je,lazy:Dn,memo:Sn,render:Nn,startTransition:ft,unmountComponentAtNode:Bn,unstable_batchedUpdates:Fn,useCallback:ut,useContext:kn,useDebugValue:pt,useDeferredValue:Wn,useEffect:z,useErrorBoundary:Lo,useId:Cn,useImperativeHandle:xn,useInsertionEffect:Gn,useLayoutEffect:Ee,useMemo:Se,useReducer:dt,useRef:ee,useState:B,useSyncExternalStore:Qn,useTransition:Zn,version:Qo},Symbol.toStringTag,{value:"Module"})),Vt=e=>{let t;const n=new Set,o=(d,a)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const l=t;t=a??typeof p!="object"?p:Object.assign({},t,p),n.forEach(h=>h(t,l))}},r=()=>t,c={setState:o,getState:r,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>n.clear()};return t=e(o,r,c),c},Xo=e=>e?Vt(e):Vt;function er(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function tr(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}),n}var Kn={exports:{}},Jn={};const Xn=tr(Jo);var eo={exports:{}},to={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-shim.production.min.js
4
4
  *
@@ -682,4 +682,4 @@ span.ul-button-text {
682
682
  .vjs-poster {
683
683
  background-size: cover;
684
684
  }
685
- `,mi=e=>{const t=P.document.createElement("div");return t.className="ul-video-player-loading",t.id=xt(e),["first","second","third","fourth"].map(n=>{const o=P.document.createElement("div");o.className=n,t.appendChild(o)}),t},xt=e=>e+"-loading-spiner",F="hidden",Jt=".m3u8",Ye="questionId",Qe="ul-video-recorder-camera-off-button",Ke="ul-recording-in-session",hi=[{type:"link",content:`${ue}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${ue}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${ue}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${ue}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${ue}/userleap-web-upchunk-v2.2.2.js`}],vo=[{type:"link",content:`${ue}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${ue}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:pi}],go="-video-player",_o="-secondary-video-player",bo="-video-recorder";let J,Xt;const le=async({event:e,apiBase:t,headers:n,visitorId:o,envId:r,metadata:i})=>{const s=P.document.documentElement;if(!o||!r)return;const c={event:`SDK - ${e}`,visitorId:o,environmentId:r,metadata:{...i||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:s.clientWidth,clientHeight:s.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${t}/sdk/1/visitors/${o}/analytics`,{method:"POST",cache:"no-cache",headers:n,body:JSON.stringify(c)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},te=async(e,t,n,o,r,i)=>{le({event:`Video Error ${t}`,apiBase:n,headers:o,visitorId:r,envId:i,metadata:{errorMessage:e.message}});const s=P.document.documentElement,c={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:s.clientWidth,clientHeight:s.clientHeight,location:window.location.href,language:navigator.language},d={action:t,err:{message:e.message,stack:e.stack},meta:c,vid:r,envId:i};(await fetch(`${n}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...o,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(d)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fi=(e,{type:t,content:n})=>new Promise(function(o,r){let i;t==="script"?(i=P.document.createElement("script"),i.src=n):t==="link"?(i=P.document.createElement("link"),i.rel="stylesheet",i.href=n,i.type="text/css"):(i=P.document.createElement("style"),i.innerHTML=n),i.onload=function(){o(n)},i.onerror=function(){r(n)},i.async=!1,i.id=btoa(n),e.appendChild(i)}),yo=(e,t)=>{if(e.length===0)return t&&t();Promise.all(e.reduce((n,o)=>(n.push(fi(P.document.head,o)),n),[])).then(()=>{P.videojs=P.document.defaultView.videojs,t&&t()}).catch(function(n){console.log(n+" failed to load")})},en=(e,t,n)=>{if(t==="start"&&(e.style.visibility="visible"),t==="none")e.style.visibility=F;else if(t==="success")e.style.visibility=F,e.innerHTML="Upload succeeded!";else{const o=Math.round(parseFloat(n));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${o}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${o}%, #FCFCFD ${o}%, #FCFCFD 100%)`}},Je=(e,t)=>{const n=P.videojs(e.id());return n==null?void 0:n.payload[t]},vi=(e,t,n,o,r)=>{const{surveyId:i,responseGroupUid:s,visitorId:c,envId:d}=e.payload;e.on("deviceError",function(){console.warn("device error: ",e.deviceErrorCode),e.deviceErrorCode.message==="Permission denied"?(e.deviceButton.addClass("permission-denied"),n&&n(N.ERROR,{type:N.PERMISSION_DENIED}),le({event:"Video Permission Denied",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{questionId:Je(e,Ye),responseGroupUid:s,surveyId:i}})):(n&&n(N.ERROR,{type:N.OTHER}),te(new Error(e.deviceErrorCode.message),"recorderDeviceError",t,r,c,d))}),e.on("error",function(a,p){te(p||e.error(),"recorderError",t,r,c,d)}),e.on("startRecord",function(a,p){o(e.uploadProgressLabel,"none"),le({event:"Video Record Start",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{questionId:Je(e,Ye),responseGroupUid:s,surveyId:i}})}),e.on("finishRecord",async function(){o(e.uploadProgressLabel,"start",0);const a=Je(e,Ye);if(!i){const f="internal error: missing fields in payload";return n&&n(N.ERROR,{type:N.OTHER}),te(new Error(f),"finishRecord",t,r,c,d),null}e.record().stopDevice();const p=e.cameraOff?N.MEDIA_TYPE_AUDIO:N.MEDIA_TYPE_VIDEO,l=A.v4();le({event:"Video Record Finish",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p}});const h={surveyId:i,updatedAt:new Date().toISOString(),mediaType:p,mediaRecordingUid:l};a&&(h.questionId=a),s&&(h.responseGroupUid=s),c&&(h.visitorId=c);const v=await(async()=>{const f=await fetch(`${t}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)});if(f.ok){const b=await f.json();return n&&n(N.UPLOAD_STARTED,{[N.UPLOAD_ID]:b.upload.id,[N.MEDIA_TYPE]:p,[N.MEDIA_RECORDING_UID]:l}),b.upload.url}else return n&&n(N.ERROR,{type:N.OTHER,response:f}),te(new Error("failed to get upload response with url"),"finishRecord",t,r,c,d),null})();v&&(J=P.document.defaultView.UpChunk.createUpload({endpoint:v,file:new P.document.defaultView.File([e.recordedData],`recording ${p} ${Date.now()}`),chunkSize:5120}),J.startTime=Date.now(),le({event:"Video Upload Start",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p,url:v}}),J.on("error",f=>{o(e.uploadProgressLabel,"none"),n&&n(N.UPLOAD_FINISHED,{[N.MEDIA_RECORDING_UID]:l}),te(f,"finishRecord",t,r,c,d)}),J.on("progress",f=>{n&&n(N.UPLOAD_PROGRESS,{[N.MEDIA_RECORDING_UID]:l,[N.UPLOAD_PROGRESS_PCT]:f.detail}),o(e.uploadProgressLabel,"progress",f.detail)}),J.on("success",()=>{o(e.uploadProgressLabel,"success"),n&&n(N.UPLOAD_FINISHED,{[N.MEDIA_RECORDING_UID]:l}),le({event:"Video Upload Success",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p,url:v,elapsedMs:J.startTime&&Date.now()-J.startTime}})}))})},xo=(e,t)=>{const n=new(P.videojs.getComponent("Component"))(e);return n.addClass("ul-buttons-panel"),t.map(o=>{n.addChild(o)}),gi(n),n},gi=e=>{e.children().forEach(t=>{if(Y[t.name_]){const n=Oe(Y[t.name_],`ul-${Y[t.name_]}`);t.el_.appendChild(n)}})},Oe=(e,t="")=>{const n=P.document.createElement("span");return n.className="ul-button-text",n.innerHTML=e,n.id=t,n},ko=(e,t,n,o,r=!1,i)=>{e.addClass("ul-video-player");const s=new(P.videojs.getComponent("Component"))(e);s.addClass("ul-control-panel"),e.progressBar=s.addChild("ProgressControl"),n&&e.src(n),e.audioPlayerPlaceholder=new(P.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const c=n&&n.src?Ei(n.src):null;n&&(r||!c)?(e.children()[0].classList.add("vjs-hidden"),P.document.getElementById(`${e.id()}_html5_api`).style.height="0px"):(e.audioPlayerPlaceholder.hide(),P.document.getElementById(`${e.id()}_html5_api`).style.height="100%",c&&e.poster(c)),e.on("play",()=>{!r&&n&&!c&&yi(e),i==null||i.play()}),e.on("pause",()=>{i==null||i.pause()}),e.on("seeked",()=>{i==null||i.currentTime(e.currentTime())}),e.on("ratechange",()=>{i==null||i.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),s.addChild(t),e.addChild(s),o&&o(e)},_i=(e,t,n)=>{e.addClass(`ul${_o}`);const o=new(P.videojs.getComponent("Component"))(e);t&&e.src(t),e.addChild(o),n&&n(e)},bi=(e,t,n,o,r,i,s,c=!1)=>{Xt=Date.now();const a=Me(t,{controls:!1,bigPlayButton:!1,fluid:!1,width:1280,height:720,playsinline:!0,plugins:{record:{audio:!0,video:{mandatory:{minWidth:1280,minHeight:720}},frameWidth:1280,frameHeight:720,maxLength:600,autoMuteDevice:!0}}});if(!a)return;a.payload=n;const{surveyId:p,questionId:l,responseGroupUid:h,visitorId:m,envId:v}=n;let f;const b=I=>{const R=Qe,O=Qe+"-audio-only";en(a.uploadProgressLabel,"none"),J&&J.startTime>=Xt&&J.abort();const G=P.document.getElementById("ul-camera-button");I?(a.children()[0].classList.add("vjs-hidden"),S.removeClass(R),S.addClass(O),G.innerHTML=Y.TurnOnCamera,a.audioPlayerPlaceholder.removeClass("vjs-hidden"),f==null||f.getTracks().forEach(q=>{q.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(q=>{f=q,q.getVideoTracks().forEach(Fe=>{Fe.enabled=!1}),a.record().onDeviceReady(q)}).catch(a.record().onDeviceError.bind(a.record()))):(f==null||f.getVideoTracks().forEach(q=>{q.enabled=!0}),a.children()[0].classList.remove("vjs-hidden"),a.record().getDevice(),S.removeClass(O),S.addClass(R),G.innerHTML=Y.TurnOffCamera,a.audioPlayerPlaceholder.addClass("vjs-hidden"))},_=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{_.hasClass(F)||(le({event:"Video Delete Button Clicked",apiBase:o,headers:s,visitorId:m,envId:v,metadata:{questionId:l,responseGroupUid:h,surveyId:p}}),b(a.cameraOff),r(N.DELETE,{}),S.removeClass(F),_.addClass(F))}});_.addClass("ul-video-recorder-delete-button"),_.el_.appendChild(Oe(Y.DeleteButton,"ul-delete-button"));const x=P.document.getElementById(t),y=()=>{x.classList.contains("vjs-fullscreen")&&a.cameraOff?x.style.display="table":x.style.display="flex"};y();const S=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{a.record().isRecording()||(a.cameraOff=!a.cameraOff,le({event:"Video Camera Button Clicked",apiBase:o,headers:s,visitorId:n.visitorId,envId:n.envId,metadata:{questionId:l,responseGroupUid:h,surveyId:p,cameraOff:a.cameraOff}}),b(a.cameraOff),!_.hasClass(F)&&_.addClass(F),r(N.DELETE,{}),y())}});S.addClass(Qe),S.el_.appendChild(Oe(Y.TurnOffCamera,"ul-camera-button"));const C=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{const I=P.document.getElementById("ul-recorder-toggle");if(a.record().isRecording())a.record().stop(),I&&(I.innerHTML=Y.RecordButton),C.removeClass(Ke),_.removeClass(F);else{const R=P.document.getElementById("ul-recording-countdown-screen");if(R)R.remove(),I&&(I.innerHTML=Y.RecordButton),b(a.cameraOff),r(N.DELETE,{}),S.removeClass(F),_.addClass(F),C.removeClass(Ke),E.show();else{C.addClass(Ke),E.hide(),S.addClass(F),_.addClass(F),I&&(I.innerHTML=Y.StopButton);const O=P.document.createElement("div");O.id="ul-recording-countdown-screen",x.insertBefore(O,x.children[1]),O.style.height=`${x.offsetHeight}px`,Co(a,3)}}}});C.addClass("ul-video-recorder-toggle-button"),C.el_.appendChild(Oe(Y.RecordButton,"ul-recorder-toggle"));const j=P.document.createElement("p");j.style.visibility="hidden",j.className="ul-upload-progress-label",e.appendChild(j),a.uploadProgressLabel=j;const D=xo(a,[_,S,"PlayToggle",C,"FullscreenToggle"]),E=D.children().find(I=>I.name_==="FullscreenToggle");E.hasClass("vjs-disabled")&&E.hide();const g=D.children().find(I=>I.name_==="PlayToggle");g.hide(),_.addClass(F),ko(a,D,i,!1,c),a.on("stopRecord",()=>{C.hide(),g.show(),E.show(),_.removeClass(F)}),a.on("deviceReady",()=>{C.show(),g.hide(),_.addClass(F)}),vi(a,o,r,en,s);const k=[{name:"microphone"}];!a.cameraOff&&k.push({name:"camera"}),Promise.all(k.map(I=>{var R;return(R=navigator==null?void 0:navigator.permissions)==null?void 0:R.query(I)})).then(I=>{I.reduce((O,G)=>O&G.state==="granted",!0)&&a&&(a.deviceButton&&a.deviceButton.hide(),a.record().getDevice())}).catch(I=>{})},Co=(e,t=3)=>{const n=P.document.getElementById("ul-recording-countdown-screen");n&&t===0?(n.remove(),e.record().start()):n&&(n.innerHTML=`<span class='ul-countdown-text'>Recording in... ${t}</span>`,setTimeout(()=>{Co(e,t-1)},1e3))},wo=e=>{const t=P.document.createElement("div");return t.className="ul-video-container",t.appendChild(mi(e)),t},lt=(e,t)=>{const n=P.document.createElement("video");n.id=e,n.className="video-js vjs-default-skin ul-video-player-video";const o=P.document.createElement("p");o.className="vjs-no-js",o.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const r=P.document.createElement("a");return r.href="https://videojs.com/html5-video-support/",r.target="_blank",r.innerHTML="supports HTML5 video",o.appendChild(r),n.appendChild(o),t.appendChild(n),t},yi=(e,t)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),P.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},Me=(e,t)=>P.document.getElementById(e)?t?P.videojs(e,t):P.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),xi=(e,t,n,o=!1,r="https://api.sprig.com",i=document,s=null,c=null)=>{P.document=i;const d=e+go,a=wo(d);return P.document.addEventListener("securitypolicyviolation",p=>{te(new Error(`Voice & Video feature violates ${p.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",r,{})}),yo(vo,()=>{P.document.getElementById(xt(d)).remove(),lt(d,a);const p={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const l=e+_o;lt(l,a);const h=Me(d,p),m=Me(l,{muted:!0,...p});if(!h||!m)return;_i(m,s,c),s||m.addClass(F);const v=xo(h,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),f=v.children().find(b=>b.name_==="FullscreenToggle");f.hasClass("vjs-disabled")&&f.hide(),ko(h,v,t,n,o,m)}catch(l){te(new Error(`Error when creating video player object ${l}`),"playerDeviceError",r,{});return}}),a},ki=(e,t={},n="https://api.userleap.com",o,r,i,s=!1,c=document)=>{P.document=c;const d=e+bo,a=wo(d);return P.document.addEventListener("securitypolicyviolation",p=>{te(new Error(`Voice & Video feature violates ${p.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",n,i,t.visitorId,t.envId)}),yo(vo.concat(hi),()=>{lt(d,a),P.document.getElementById(xt(d)).remove();try{bi(a,d,t,n,o,r,i,s)}catch(p){te(new Error(`Error when creating video recorder player object ${p}`),"recorderDeviceError",n,i,t.visitorId,t.envId);return}}),a},Ci=e=>{const t=e+bo;if(P.document.getElementById(t)&&P.videojs){try{if(!P.videojs(t).record().stream)return}catch{return}P.videojs(t).record().stop(),P.videojs(t).record().stopDevice()}},wi=e=>{const t=Me(e+go);t==null||t.pause()},Ei=e=>{if(!e)return null;const t=e.match(/https:\/\/stream.mux.com\/(.*)/);let n=t?t[1]:null;return n.includes(Jt)&&(n=n.replace(Jt,"")),n?`https://image.mux.com/${n}/thumbnail.jpg?time=0`:null},N={UPLOAD_STARTED:"upload.started",UPLOAD_PROGRESS:"upload.progress",UPLOAD_FINISHED:"upload.finished",DELETE:"delete",ERROR:"error",MEDIA_TYPE:"media.type",PERMISSION_DENIED:"permission_denied",OTHER:"other",UPLOAD_ID:"upload.id",UPLOAD_PROGRESS_PCT:"upload.progress.pct",MEDIA_RECORDING_UID:"media.recording.uid",MEDIA_TYPE_VIDEO:"video",MEDIA_TYPE_AUDIO:"audio"},Y={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"},ce="ul-card-video__player_recorder",Si="ul-card-video__skip_button",ji="ul-video-interview-form",tn="ul-video-btn",ye={Question:0,Answer:1},Ti=({className:e,message:t,next:n,properties:o,questionId:r,type:i})=>{const{apiURL:s,envId:c,handleUploadUpdate:d,headers:a,responseGroupUid:p,surveyId:l,viewDocument:h,visitorId:m}=U(R=>({apiURL:R.apiURL,envId:R.envId,handleUploadUpdate:R.handleUploadUpdate,headers:R.headers,responseGroupUid:R.responseGroupUid,surveyId:R.surveyId,viewDocument:R.viewDocument,visitorId:R.userId})),[v,f]=B(!1),[b,_]=B(null),[x,y]=B(null),[S,C]=B(ye.Question),j=o&&o.videoUrl,D=(R,O)=>{R===N.UPLOAD_STARTED?(_(O[N.UPLOAD_ID]),y(O[N.MEDIA_RECORDING_UID]),f(!0)):R===N.DELETE?(_(null),y(null),f(!1)):R===N.UPLOAD_PROGRESS?isNaN(O[N.UPLOAD_PROGRESS_PCT])?d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],isComplete:!0}):d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],progressPct:O[N.UPLOAD_PROGRESS_PCT]}):R===N.UPLOAD_FINISHED&&d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],isComplete:!0})},E=R=>{if(R&&R.children.length===0&&!o.hideRecordedPrompt){const O=xi(ce,{src:j,type:"application/x-mpegURL"},void 0,o.mediaType===N.MEDIA_TYPE_AUDIO,s,h);R.appendChild(O)}},g=R=>{if(R&&R.children.length===0){const O=ki(ce,{surveyId:l,responseGroupUid:p,questionId:r,visitorId:m,envId:c},s,D,void 0,{...a,"x-ul-video-recorder-origin":"sdk"},o.mediaType===N.MEDIA_TYPE_AUDIO,h);R.appendChild(O)}},k=R=>{R.preventDefault(),R.stopPropagation(),document.getElementById(ce)&&Ci(ce),b&&x?(d({mediaRecordingUid:x,isSubmitted:!0}),n({value:{mediaRecordingUid:x},questionId:r,type:i})):n({value:null,questionId:r,type:i})},I=()=>u(ie,{defaultBody:()=>u("button",{className:`${tn} ul-record-response-btn`,onClick:R=>{R.preventDefault(),R.stopPropagation(),document.getElementById(ce)&&wi(ce),C(ye.Answer)}}),properties:o});return u("form",{className:L(e,"ul-card--video","fade-in-transition"),id:ji,children:[u(K,{message:t,properties:o}),u("div",{id:"ul-card-voice__video",children:[u("div",{children:[u("div",{id:"ul-question-player-container",style:{display:S===ye.Question?"":"none"},children:[u("div",{id:ce,ref:E}),I()]}),u("div",{style:{display:S===ye.Answer?"block":"none"},children:[u("button",{className:`${tn} ul-back-question-btn`,onClick:R=>{R.preventDefault(),R.stopPropagation(),C(ye.Question)},style:{display:o.hideRecordedPrompt?"none":"block"}}),u("div",{id:"ul-recorder-player-container",ref:g})]})]}),u(Z,{disabled:!v,onClick:k,children:he(o)}),u("button",{className:"ul-card-text__button ul-button-inactive ul-card-skip__button",id:Si,onClick:k,style:{display:o.required?"none":"block",...v?{display:"none"}:{}},children:_t(o)})]})]})},Ri=({className:e})=>{const{uploadProgress:t}=U(i=>({uploadProgress:i.uploadProgress}));let n,o;Object.values(t).filter(i=>i.isSubmitted).length>1?(n="Your responses are processing",o="Please keep this tab open until your responses are fully processed."):(n="Your response is processing",o="Please keep this tab open until your response is fully processed.");const r=Math.round(Math.min(99,...Object.values(t).filter(i=>i.isSubmitted).map(i=>i.progressPct||0)));return u("div",{className:L(e,"ul-card--uploading","fade-in-transition"),children:[u("div",{"aria-busy":"true","aria-label":"Processing...","aria-live":"polite",className:"ul-loading-spinner-container",role:"progressbar",children:u("div",{className:"ul-loading-spinner",children:[u("div",{className:"first"}),u("div",{className:"second"}),u("div",{className:"third"}),u("div",{className:"fourth"})]})}),u(K,{message:`${n} (${r}% complete)`}),u("p",{className:"ul-caption",children:o})]})},nn=({logoOnly:e=!1,style:t={}})=>u("svg",{alt:`${e?"Powered by ":""}Sprig`,width:e?"35":"112",height:"15",viewBox:e?"79 0 31 15":"0 0 112 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block",...t},children:[!e&&u("path",{d:"M0.648926 12.0181V2.8584H4.21631C6.0127 2.8584 7.25684 4.06445 7.25684 5.86084V5.87354C7.25684 7.66357 6.0127 8.88867 4.21631 8.88867H2.0708V12.0181H0.648926ZM3.86084 4.05811H2.0708V7.69531H3.86084C5.09229 7.69531 5.80957 7.02881 5.80957 5.87988V5.86719C5.80957 4.72461 5.09229 4.05811 3.86084 4.05811ZM11.6621 12.1514C9.63721 12.1514 8.39941 10.7993 8.39941 8.57764V8.56494C8.39941 6.34961 9.64355 4.99121 11.6621 4.99121C13.6743 4.99121 14.9185 6.34326 14.9185 8.56494V8.57764C14.9185 10.7993 13.6807 12.1514 11.6621 12.1514ZM11.6621 11.0024C12.8428 11.0024 13.5156 10.1011 13.5156 8.57764V8.56494C13.5156 7.03516 12.8428 6.14014 11.6621 6.14014C10.4751 6.14014 9.80859 7.03516 9.80859 8.56494V8.57764C9.80859 10.1074 10.4751 11.0024 11.6621 11.0024ZM17.6226 12.0181L15.7183 5.12451H17.1021L18.3398 10.4438H18.4414L19.8633 5.12451H21.1709L22.5928 10.4438H22.7007L23.9321 5.12451H25.2969L23.3989 12.0181H21.9834L20.5552 6.87646H20.4473L19.0254 12.0181H17.6226ZM29.334 12.1514C27.3154 12.1514 26.0967 10.7739 26.0967 8.59033V8.58398C26.0967 6.43213 27.3408 4.99121 29.2642 4.99121C31.1875 4.99121 32.3682 6.38135 32.3682 8.45068V8.93311H27.4805C27.5059 10.2534 28.2295 11.0215 29.3657 11.0215C30.248 11.0215 30.7749 10.5835 30.9399 10.228L30.9653 10.1772L32.292 10.1709L32.2793 10.228C32.0508 11.1357 31.0986 12.1514 29.334 12.1514ZM29.2705 6.12109C28.3311 6.12109 27.6201 6.76221 27.4995 7.94922H31.0034C30.8955 6.71777 30.2036 6.12109 29.2705 6.12109ZM34.0059 12.0181V5.12451H35.3833V6.16553H35.4849C35.7324 5.43555 36.3735 5.00391 37.2939 5.00391C37.5161 5.00391 37.7573 5.03564 37.897 5.06738V6.33691C37.6494 6.28613 37.4146 6.25439 37.1543 6.25439C36.1006 6.25439 35.3833 6.90186 35.3833 7.89844V12.0181H34.0059ZM41.9277 12.1514C39.9092 12.1514 38.6904 10.7739 38.6904 8.59033V8.58398C38.6904 6.43213 39.9346 4.99121 41.8579 4.99121C43.7812 4.99121 44.9619 6.38135 44.9619 8.45068V8.93311H40.0742C40.0996 10.2534 40.8232 11.0215 41.9595 11.0215C42.8418 11.0215 43.3687 10.5835 43.5337 10.228L43.5591 10.1772L44.8857 10.1709L44.873 10.228C44.6445 11.1357 43.6924 12.1514 41.9277 12.1514ZM41.8643 6.12109C40.9248 6.12109 40.2139 6.76221 40.0933 7.94922H43.5972C43.4893 6.71777 42.7974 6.12109 41.8643 6.12109ZM49.1133 12.1323C47.3804 12.1323 46.2568 10.7422 46.2568 8.57764V8.56494C46.2568 6.38135 47.3613 5.00391 49.1133 5.00391C50.0591 5.00391 50.8652 5.47363 51.2334 6.21631H51.3413V2.42041H52.7124V12.0181H51.3413V10.9326H51.2334C50.8335 11.688 50.0781 12.1323 49.1133 12.1323ZM49.5068 10.958C50.6558 10.958 51.3604 10.0503 51.3604 8.57764V8.56494C51.3604 7.09229 50.6494 6.18457 49.5068 6.18457C48.3516 6.18457 47.6597 7.08594 47.6597 8.56494V8.57764C47.6597 10.0566 48.3516 10.958 49.5068 10.958ZM61.98 12.1323C61.0151 12.1323 60.2598 11.688 59.8599 10.9326H59.7583V12.0181H58.3809V2.42041H59.7583V6.21631H59.8599C60.228 5.47363 61.0342 5.00391 61.98 5.00391C63.7319 5.00391 64.8364 6.38135 64.8364 8.56494V8.57764C64.8364 10.7422 63.7192 12.1323 61.98 12.1323ZM61.5928 10.958C62.7417 10.958 63.4336 10.0566 63.4336 8.57764V8.56494C63.4336 7.08594 62.7417 6.18457 61.5928 6.18457C60.4438 6.18457 59.7329 7.09229 59.7329 8.56494V8.57764C59.7329 10.0503 60.4438 10.958 61.5928 10.958ZM66.8867 14.4429C66.7153 14.4429 66.5122 14.4302 66.3345 14.4111V13.3257C66.4678 13.3447 66.6392 13.3511 66.7979 13.3511C67.439 13.3511 67.8262 13.0781 68.0293 12.3799L68.1309 12.0244L65.6299 5.12451H67.1152L68.8418 10.6343H68.9624L70.6826 5.12451H72.1299L69.5654 12.2847C68.9814 13.9287 68.2832 14.4429 66.8867 14.4429Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M81.1088 6.63629C79.6878 6.32154 78.9672 5.76865 78.9672 4.99369C78.9672 4.19299 79.736 3.5886 80.7556 3.5886C81.8066 3.5886 82.5995 4.25285 82.5995 5.13336V5.20352H84.0518V5.13336C84.0518 3.52424 82.6405 2.30774 80.7693 2.30774C79.8676 2.30774 79.0414 2.58451 78.4433 3.08655C78.1463 3.33144 77.9077 3.63818 77.7448 3.98479C77.5818 4.33141 77.4984 4.70934 77.5005 5.09153C77.4946 5.44197 77.5675 5.78934 77.714 6.10857C77.8605 6.42779 78.0769 6.71092 78.3475 6.93752C78.8512 7.37584 79.5659 7.70024 80.4709 7.90299C81.9949 8.23898 82.7676 8.81054 82.7676 9.60094C82.7676 10.4576 81.9258 11.1032 80.813 11.1032C79.6571 11.1032 78.7854 10.3856 78.7854 9.43424V9.36408H77.3318V9.43424C77.3318 11.1167 78.8219 12.3847 80.7973 12.3847C81.7421 12.3847 82.6093 12.0983 83.2393 11.5769C83.5519 11.3237 83.8034 11.0048 83.9753 10.6433C84.1472 10.2818 84.2352 9.88702 84.2329 9.48766C84.2329 8.05875 83.1833 7.09907 81.1088 6.63629Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M89.2394 4.68276C88.6963 4.67605 88.1596 4.79915 87.6751 5.04156C87.1905 5.28397 86.7725 5.63851 86.4566 6.07497V4.85204H85.0747V14.8479H86.4566V11.0356C86.7725 11.472 87.1906 11.8265 87.6751 12.0688C88.1596 12.3111 88.6963 12.434 89.2394 12.4272C91.3836 12.4272 93 10.7627 93 8.55495C93 6.34723 91.3836 4.68276 89.2394 4.68276ZM91.5608 8.84202C91.5057 9.41605 91.2512 9.95356 90.8406 10.3633C90.4299 10.773 89.8883 11.0296 89.3078 11.0896C88.5363 11.1669 87.8177 10.9461 87.2841 10.4692C86.7505 9.99222 86.4566 9.3106 86.4566 8.55495C86.4566 7.10159 87.5538 6.00546 89.0087 6.00546C89.7619 6.00546 90.4421 6.29124 90.9171 6.81002C91.407 7.34232 91.6357 8.06385 91.5608 8.84202Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M109.95 4.85407V6.06349C109.298 5.18298 108.292 4.68286 107.153 4.68286C105.017 4.68286 103.406 6.31709 103.406 8.48426C103.406 10.6514 105.017 12.285 107.153 12.285C108.296 12.285 109.303 11.79 109.95 10.9185V11.1046C109.95 12.6101 108.993 13.5826 107.513 13.5826C106.513 13.5826 105.68 13.1494 105.284 12.424L105.264 12.3867H103.838L103.871 12.48C104.112 13.1892 104.583 13.8001 105.211 14.2179C105.841 14.6324 106.637 14.8512 107.513 14.8512C108.637 14.8512 109.594 14.4972 110.28 13.8285C110.967 13.1597 111.332 12.2194 111.332 11.1213V4.85407H109.95ZM109.175 10.3502C108.588 10.905 107.752 11.138 106.879 10.9887C106.361 10.8984 105.886 10.6475 105.523 10.2725C105.16 9.89751 104.927 9.41787 104.859 8.90328C104.736 8.03757 104.999 7.21756 105.581 6.655C106.069 6.19093 106.723 5.93643 107.401 5.94699C107.565 5.94713 107.729 5.96026 107.891 5.98625C108.946 6.15489 109.781 7.01609 109.921 8.0852C110.039 8.96507 109.766 9.78958 109.175 10.3502Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M101.89 2.12378C101.63 2.06766 101.358 2.11486 101.133 2.25518C100.908 2.39551 100.747 2.61769 100.687 2.87371C100.626 3.12973 100.67 3.39902 100.809 3.62339C100.947 3.84775 101.17 4.00917 101.428 4.07275C101.503 4.08936 101.58 4.09778 101.657 4.09786C101.906 4.09824 102.146 4.0083 102.331 3.84518C102.517 3.68206 102.636 3.45714 102.664 3.21327C102.693 2.9694 102.63 2.72361 102.487 2.5227C102.344 2.32179 102.132 2.17981 101.89 2.12378Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M100.967 10.934H99.7755C98.9285 10.934 98.4196 10.3644 98.4196 9.40982C98.4196 8.4791 98.8757 7.36945 99.8054 6.01778L99.8178 5.99976V5.61807L95.8571 5.06453C95.8585 4.90331 95.8162 4.74466 95.7346 4.60501C95.653 4.46536 95.5352 4.34979 95.3932 4.27027C95.0381 4.07718 94.6498 4.07717 94.3279 4.26383C94.1667 4.35799 94.035 4.4945 93.9476 4.65816C93.8602 4.82182 93.8205 5.00623 93.8328 5.19087C93.8452 5.37552 93.9092 5.55315 94.0176 5.70402C94.1261 5.85489 94.2748 5.97309 94.4472 6.04546L93.2151 12.258H94.5833L95.7196 6.35891L97.8593 6.7155C97.284 7.73439 96.9921 8.68442 96.9921 9.53919C96.9921 11.1168 97.9577 12.1498 99.5187 12.2496V12.258H102.346V4.87723H100.967V10.934Z",fill:"black",fillOpacity:"0.7"})]}),Pi=()=>{const{border:e,cards:t,forceBrandedLogo:n,headers:o,index:r,marketingUrl:i,showSurveyBrand:s,slugName:c,surveyId:d,viewedCardCount:a}=U(y=>({border:y.border,cards:y.cards,forceBrandedLogo:y.forceBrandedLogo,headers:y.headers,index:y.index,marketingUrl:y.marketingUrl,showSurveyBrand:y.showSurveyBrand,slugName:y.slugName,surveyId:y.surveyId,viewedCardCount:y.viewedCardCount})),p=ee(null),l=t.filter(y=>y.type!=="uploading"&&y.type!=="thanks"),h=Ir(t,r),m=a+1,v=m/(m+h),f=`${i}?utm_source=survey_branding&utm_medium=website&utm_campaign=${c}&utm_content=${d}${n&&"&utm_term=poweredby_pill"}`;z(()=>{p.current&&(p.current.style.width=`${v*100}%`)},[v]);const b=()=>u(W,{children:[l.length>1&&u("div",{id:"ul-progress-bar-container",children:u("div",{id:"ul-progress-bar-current",ref:p,style:{border:`1px solid ${e||"#000"}`}})}),s?u("div",{className:n?"yellow-footer-logo":"",style:{marginTop:"4px"},children:u("a",{href:f,rel:"noreferrer",target:"_blank",children:u("div",{style:{display:"flex"},children:[u(nn,{logoOnly:!1}),n&&u(on,{style:{display:"block",margin:"auto 0 auto 4px",transform:"rotateY(0deg) rotate(-45deg)"}})]})})}):null]}),_=()=>u("a",{dir:"ltr",href:f,rel:"noreferrer",target:"_blank",children:u("div",{className:"thank-you-card-link",children:[u("div",{className:"sprig-box-logo",children:u(nn,{logoOnly:!0,style:{margin:"auto"}})}),u("div",{children:u("p",{children:["Capture insights about your own product",u(on,{style:{display:"inline-flex",marginInlineStart:"4px",verticalAlign:"middle"}})]})})]})}),x=t[r].type==="thanks";return u("footer",{className:`ul-footer ${o["userleap-platform"]==="link"?"ul-footer__link":""}`,style:s?{}:{marginBottom:"10px"},children:x&&n?_():b()})},on=({style:e})=>u("svg",{fill:"none",height:"10",style:e,viewBox:"0 0 12 10",width:"12",xmlns:"http://www.w3.org/2000/svg",children:[u("path",{d:"M1.47839 5.2085L10.9384 5.2085",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.35"}),u("path",{d:"M7.0686 1.15845L10.9386 5.20845L7.0686 9.25845",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.35"})]}),Ii=()=>{const{answers:e,border:t,cards:n,close:o,configureExitOnOverlayClick:r,destroy:i,endCard:s,eventEmitFn:c,fontFamily:d,headers:a,index:p,next:l,previewMode:h,productConfig:m,seen:v,showStripes:f,studyType:b,surveyId:_,update:x,useMobileStyling:y,viewDocument:S}=U(T=>({answers:T.answers,border:T.border,cards:T.cards,close:T.close,configureExitOnOverlayClick:T.configureExitOnOverlayClick,destroy:T.destroy,endCard:T.endCard,eventEmitFn:T.eventEmitFn,fontFamily:T.fontFamily,headers:T.headers,index:T.index,previewMode:T.previewMode,productConfig:T.productConfig,next:T.next,seen:T.seen,showStripes:T.showStripes,studyType:T.studyType,surveyId:T.surveyId,update:T.update,useMobileStyling:T.useMobileStyling,viewDocument:T.viewDocument})),C=ee(null),j=ee(!1),D=a["userleap-platform"],{props:E,type:g,name:k}=n[p],I=n.length;z(()=>{C.current&&(C.current.classList.contains("ul-app--visible")||C.current.classList.add("ul-app--visible"),!j.current&&c&&(j.current=!0,c(A.SprigEvent.SurveyAppeared,{name:A.SprigEvent.SurveyAppeared,"survey.id":_})))},[c,_]),z(()=>{const T=()=>{S.visibilityState==="visible"&&(v(),S.removeEventListener("visibilitychange",T))};return S.addEventListener("visibilitychange",T),T(),()=>{S.removeEventListener("visibilitychange",T)}},[v,S]),z(()=>{x()},[p,x]),z(()=>{r(()=>o())},[o,r]);const R=Se(()=>()=>o(H.APP_ID),[o]),O=T=>{T.key==="Enter"&&R()},G=async function(T){l({data:T,completeSurvey:()=>{i(H.APP_ID)},endCard:s}),H.resetScrollPosition(S)};if(e){for(const T of e)if(T.questionId===k){let se;if(g==="multiplechoice"){const ae=E.options.find(({value:ze})=>ze===T.value);if(!ae)break;se={[ae.id]:ae.value}}else se=T.value;G({value:se,type:g,questionId:T.questionId});break}}const q=()=>["email","link"].includes(a["userleap-platform"])?!1:!s||p+1!==I,Fe=()=>{const T={className:"ul-card",next:G,questionId:k,type:g};switch(g){case"consentlegal":return $(Hr,{...T,...E,key:k});case"likert":return $(Vr,{...T,...E,key:k});case"matrix":return $(Fr,{...T,...E,key:k});case"multiplechoice":return $(Zr,{...T,...E,key:k});case"multipleselect":return $(Gr,{...T,...E,key:k});case"nps":return $(Yr,{...T,key:k,props:E});case"open":return $(Qr,{...T,...E,key:k});case"recordedtask":return $(li,{...T,...E,key:k});case"texturlprompt":return $(di,{...T,...E,key:k});case"thanks":return $(ui,{...T,...E,key:k});case"uploading":return $(Ri,{...T,...E,key:k});case"videovoice":return $(Ti,{...T,...E,key:k});default:return null}},So=T=>{var kt;const se=window.sprigAPI,ae=T.target;if(!se||!ae)return;const ze=[ae,ae.parentElement];for(const Te of ze)if(((kt=Te==null?void 0:Te.tagName)==null?void 0:kt.toLowerCase())==="a"){T.preventDefault(),se==null||se.openUrl(Te.href);return}},jo=!y&&((m==null?void 0:m.framePosition)==="center"||(m==null?void 0:m.desktopDisplay)==="center-modal"||((m==null?void 0:m.placement)||"").includes("center"));return u("div",{className:L("ul-app",A.shouldDirectEmbed(a)?"ul-app--visible":"ul-app--overlay"),dir:"auto",id:H.APP_ID,onClick:So,ref:C,style:{"--theme":t,...d?{fontFamily:d.replace(";","")}:{},...jo?{position:"relative"}:{}},children:u("div",{className:"ul-app__container",children:u("div",{className:L(V("ul-card__container",y,b)),style:{...b!=="feedbackButton"||(m==null?void 0:m.desktopDisplay)==="center-modal"?{borderColor:t}:{},...(m==null?void 0:m.desktopDisplay)==="slider"?{margin:"0px"}:{}},children:[q()&&u("div",{className:L(V("close-container",y)),children:u("div",{"aria-label":"Close button",className:"close-btn",onClick:R,onKeyPress:O,role:"button",tabIndex:0,children:u("svg",{fill:"none",height:"18px",viewBox:"0 0 13 13",width:"18px",xmlns:"http://www.w3.org/2000/svg",children:u("path",{d:"M2.54964 1.78369L1.78369 2.54964L5.73405 6.5L1.78369 10.4504L2.54964 11.2163L6.5 7.26595L10.4504 11.2163L11.2163 10.4504L7.26595 6.5L11.2163 2.54964L10.4504 1.78369L6.5 5.73405L2.54964 1.78369Z",fill:"#262136"})})})}),f&&u("div",{className:"ul-header__container",dir:"ltr",children:u("div",{className:"ul-header",children:"For development purposes only"})}),h&&u("div",{className:"ul-header__container",dir:"ltr",children:u("div",{className:"ul-header",children:"Preview Mode: Response will not be recorded."})}),u("div",{className:L(Or("ul-card-main-content",D)),children:Fe()}),u(Pi,{})]})})})},Di='html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ol,ul{padding-inline-start:1em}.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}}.ul-card{flex:1 1 auto;border-radius:2px;display:flex;flex-direction:column;font-size:17px;line-height:19px;margin:auto;text-align:start;min-width:200px}.ul-card__container--desktop{border:2px solid #fff;box-shadow:0 0 15px #00000026;margin:15px}.ul-card__container--mobile{border-width:0;box-shadow:0 0 5px #00000040;margin-top:5px}.ul-card__container{background:#fff;border-radius:6px;display:flex;flex-direction:column;flex-grow:1;flex:1 1 auto;font-size:17px;line-height:23px;overflow:auto;padding:20px 20px 5px;position:relative;text-align:center;word-break:break-word}.ul-card__container--desktop_feedbackButton{box-shadow:unset}.ul-card-vertical__button-wrapper{flex-direction:column;align-items:center}.ul-card__button-wrapper{margin-top:4px;margin-bottom:3px;display:flex;gap:16px;justify-content:center}.ul-rich-text-body{min-height:2em}.ul-rich-text-body,.ul-rich-text-body p{margin-top:10px;margin-bottom:10px}.ul-rich-text-body li{margin:5px 0}.ul-rich-text-body p,.ul-rich-text-body li{font-size:15px;line-height:130.35%;letter-spacing:.02em;color:#343442;text-align:start;white-space:pre-line}.ul-rich-text-body:last-child,.ul-rich-text-body li:last-child{margin-bottom:15px}.ul-card-main-content__link,.ul-card-main-content__email{flex-grow:55;display:flex}.ul-card-main-content__web,.ul-card-main-content__android,.ul-card-main-content__ios{margin-bottom:5px}.question-header-container{margin-bottom:15px}.ul-question{color:#343442;display:block;font-size:20px;line-height:125%;font-weight:500;cursor:default;text-align:start}.ul-question ol,.ul-question ul,.ul-caption ol,.ul-caption ul{margin-left:1em}.ul-caption{flex:1 0 auto;font-size:15px;line-height:130.35%;letter-spacing:.02em;color:#6c6c6e;text-align:start;margin-top:8px}.ul-card__choices{margin:5px 0 0;flex:1 0}.choice--mobile{border:2px solid #e6e6e6}.choice--desktop{border:1px solid #e6e6e6}.choice{align-items:flex-start;color:#262136;cursor:pointer;display:flex;justify-content:flex-start;flex-direction:column;box-sizing:border-box;border-radius:3px;margin-bottom:7px;font-size:15px;line-height:20px;padding:10px 20px 10px 15px;background-color:#00000003}.choice--desktop:hover,.choice--desktop:active,.choice--mobile:active{background-color:#0000000d}.choice-label-container{align-items:center;display:flex;flex-direction:row;flex:0 0 fit-content;gap:15px;height:fit-content;justify-content:flex-start;width:100%}.choice-text-entry-container{width:100%;height:fit-content;flex:0 1 fit-content;overflow:hidden}.choice .choice-text-input--mobile{max-height:63px}.choice .choice-text-input--desktop{max-height:150px}.choice .choice-text-input{box-sizing:border-box;background-color:transparent;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;min-height:20px;max-height:60px;padding:0;margin-top:8px;resize:none;width:100%;font-size:14px;line-height:20px;outline:none;border:none;overflow-wrap:break-word}.choice .choice-text-input::placeholder{color:#6c6c6e80}.ul-thanks-check{text-align:center;margin-bottom:20px}.ul-card--thanks-content{padding:20px 0 10px}.ul-card--thanks .ul-question{padding-top:0;text-align:center}.ul-card--thanks .ul-caption{padding-top:0;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-lines:no-limit}.ul-card--uploading .ul-question{padding-top:15px;text-align:center}.ul-card--uploading .ul-caption{padding-top:5px;text-align:center;overflow-wrap:break-word}.select-checkbox{height:16px;width:16px;display:flex;box-sizing:border-box;background-color:"transparent";align-items:center;justify-content:center;border-radius:4px;border:1px solid #B0B5B7;flex-shrink:0}.select-radio{height:16px;width:16px;border-radius:16px;border:1px solid #323232;display:flex;box-sizing:border-box;box-shadow:inset 2px 2px #0000001a;background-color:"transparent";align-items:center;justify-content:center}.footer{width:100%;margin-top:12px;font-size:12px;line-height:12px;color:#000000b3}[class^=CenteredSurveyLayout] .ul-header__container,[class^=QuestionConceptTestLayout] .ul-header__container,.ul-websurvey-frame .ul-card__container,.ul-websurvey-frame-mobile .ul-card__container{margin-bottom:unset}[class^=CenteredSurveyLayout] .ul-card__container,[class^=QuestionConceptTestLayout] .ul-card__container,.ul-websurvey-frame .ul-card__container,.ul-websurvey-frame-mobile .ul-card__container{align-self:center;box-shadow:unset;border-radius:unset;border:none!important;position:unset;width:100%}@media only screen and (min-height: 600px) and (width: 600px){.ul-card{position:relative;top:-20px}}.ul-vertical-centered-container{display:flex;flex-direction:column;align-items:center}.ul-consent-legal__name-input--mobile{border:2px solid #e6e6e6}.ul-consent-legal__name-input--desktop{border:1px solid #e6e6e6}.ul-consent-legal__name-input{background:#00000003;box-sizing:border-box;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;padding:10px 20px 10px 15px;border-radius:3px;font-size:15px;line-height:20px;margin-bottom:7px;width:100%}.ul-consent-legal__name-input::placeholder{color:#6c6c6e80}.ul-consent-legal__name-input:focus{outline:none;background:#fff}.ul-consent-legal__name-input--desktop:hover:not(:focus){background-color:#0000000d}.ul-card__consent-legal .choice{font-size:15px;padding:10px 15px;background-color:#00000003}.ul-card__consent-legal .choice--desktop:hover,.ul-card__consent-legal .choice--desktop:active,.ul-card__consent-legal .choice--mobile:active{background-color:#0000000d}.ul-card--likert__numbers{align-items:center;border-radius:5px;display:flex;flex-direction:row;flex:1 0;justify-content:center;margin:5px 0 0}.ul-card--likert__numbers>button{padding:unset}.likert-number--mobile{border:2px solid #e6e6e6}.likert-number--mobile:not(:first-child){margin-inline-start:-2px}.likert-number--desktop{border:1px solid #e6e6e6}.likert-number--desktop:not(:first-child){margin-inline-start:-1px}.likert-number{align-items:center;cursor:pointer;display:flex;justify-content:center;flex:1 0;background-color:#00000003;font-size:18px;line-height:24px;height:67px}.likert-number:first-child{border-start-start-radius:5px;border-end-start-radius:5px}.likert-number:last-child{border-start-end-radius:5px;border-end-end-radius:5px}.likert-number:active,.likert-number--desktop:hover{background-color:#0000000d;font-weight:500}.likert-star--mobile:not(:first-child){margin-inline-start:-2px}.likert-star--desktop:not(:first-child){margin-inline-start:-1px}.likert-star{align-items:center;cursor:pointer;display:flex;justify-content:space-between;flex:1 0;color:transparent;font-size:18px;line-height:24px;height:67px;background:unset;border:unset}.likert-smiley--mobile:not(:first-child){margin-inline-start:-2px}.likert-smiley--desktop:not(:first-child){margin-inline-start:-1px}.likert-smiley{align-items:center;cursor:pointer;display:flex;justify-content:space-between;flex:1 0;color:transparent;line-height:24px;height:67px;background:unset;border:unset}.likert-smiley>svg{margin:0 auto}.likert-smiley circle:not(:first-child){fill-opacity:1}.ul-card--likert__labels{align-items:center;color:#262136;display:flex;flex-direction:row;flex:1 0;font-weight:500;font-size:13px;line-height:15px;justify-content:space-between;margin:7px 0 10px}.ul-card--matrix_grid{display:grid;grid-template-columns:max-content repeat(var(--numColumns),minmax(107px,1fr));grid-template-rows:repeat(var(--numRows),min-content);margin:0 auto;row-gap:4px;width:max-content}.ul-matrix-row-options{display:grid;grid-column:2/-1;grid-template-columns:subgrid}.ul-matrix-column-label{font-size:15px;max-width:150px;padding:10px 12px;text-align:center}.ul-card--matrix_container{margin-bottom:16px;overflow:auto}.ul-card--matrix_question_container{display:flex;flex-direction:column}.ul-matrix-scroll-gradient{-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}.ul-matrix-scroll-gradient:dir(rtl){-webkit-mask-image:linear-gradient(270deg,#000,90%,transparent);mask-image:linear-gradient(270deg,#000,90%,transparent)}.ul-matrix-scroll-gradient:dir(rtl)+.ul-matrix-scroll-arrow{rotate:180deg}.ul-matrix-scroll-arrow{align-self:flex-end;background:none;border:none;color:#000;padding:0;position:absolute;top:45%}.ul-matrix-scroll-arrow:hover{cursor:pointer}.ul-matrix-option-wrapper{align-items:center;background:#f9f9f8;display:flex;justify-content:center;padding:10px 12px}.ul-matrix-last-option{border-start-end-radius:4px;border-end-end-radius:4px}.ul-matrix-row-label{align-items:center;background:#f9f9f8;border-end-start-radius:4px;border-start-start-radius:4px;display:flex;font-size:15px;left:0;right:0;max-width:200px;min-width:100px;padding:10px 12px;position:sticky}.ul-matrix-option-selected{border:6px solid var(--border);box-shadow:none}.ul-card__matrix{max-width:100%}.select-label{cursor:pointer;flex:1;overflow-wrap:anywhere;text-align:start}.ul-card--nps__numbers{align-items:center;border-radius:5px;display:flex;flex-direction:row;flex:1 0;justify-content:center;margin:5px 0 0}.nps-number--mobile{border:2px solid #e6e6e6}.nps-number--mobile:not(:first-child){margin-inline-start:-2px}.nps-number--desktop{border:1px solid #e6e6e6}.nps-number--desktop:not(:first-child){margin-inline-start:-1px}.nps-number{align-items:center;cursor:pointer;display:flex;justify-content:center;flex:1 0;background-color:#00000003;font-size:18px;line-height:24px;height:67px;padding:unset}.nps-number:first-child{border-start-start-radius:5px;border-end-start-radius:5px}.nps-number:last-child{border-start-end-radius:5px;border-end-end-radius:5px}.nps-number:active,.nps-number--desktop:hover{background-color:#0000000d;font-weight:500}.ul-card--nps__labels{align-items:center;color:#262136;display:flex;flex-direction:row;flex:1 0;font-weight:500;font-size:13px;line-height:15px;justify-content:space-between;margin:7px 0 10px}.ul-card-text{flex:1 0 auto;margin-top:2px;margin-bottom:3px;align-items:center;display:flex;flex-wrap:wrap;justify-content:center;padding:0}.ul-card-text__container{align-items:center;box-sizing:border-box;border-radius:3px;display:flex;justify-content:center;margin-bottom:12px;flex:1 0 100%}.ul-card-text__input--mobile{border:2px solid #e6e6e6;max-height:63px}.ul-card-text__input--desktop{border:1px solid #e6e6e6;max-height:150px}.ul-card-text__input{background:#00000003;box-sizing:border-box;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;min-height:63px;overflow:auto;padding:12px;resize:none;width:100%;border-radius:3px;font-size:15px;line-height:20px;overflow-wrap:break-word}.ul-card-text__input::placeholder{color:#6c6c6e80}.ul-card-text__input:focus{outline:none;background:#fff}.ul-card-text__input--desktop:hover:not(:focus){background-color:#0000000d}.ul-card__text-url-prompt-button{text-decoration:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:-webkit-fill-available}#ul-card-voice__video{align-items:center;display:flex;flex-direction:column}#ul-card-voice__video>div{margin-bottom:10px;width:100%}#ul-card-video__player_recorder{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}.ul-card-record__task{flex:1 0 auto;margin-top:2px;margin-bottom:3px;align-items:center;display:flex;flex-wrap:wrap;justify-content:center;padding:0}#ul-record-task-upload-progress,#ul-record-task-video-preview{width:100%;height:150px}.ul-permission-graphics-container{width:100%;height:150px;background-color:#0000000d;text-align:center;flex-direction:column;margin-left:auto;margin-right:auto;border-radius:5px;display:flex;align-items:center;font-size:15px;color:#000000b3}.ul-av-permission-denied-paragraph{margin:auto 15px;font-size:12px}.ul-av-permission-denied-headline{font-size:14px;color:#262136;text-decoration:underline;font-size:12px}.ul-permission-body{color:#000;margin:5px auto 5px 5px;line-height:135%;text-align:center}.ul-select-tab-container{width:240px;height:46px;background:#fff;border-radius:5px;text-align:start;align-items:center;display:flex;padding:0 5px;margin-top:20px;margin-bottom:auto}.ul-select-tab-text{color:#4b575d;margin:5px;line-height:135%;text-align:center}button.ul-task-skip-button{color:#000;background-color:#fff}#ul-task-detail-container{margin-top:0;margin-bottom:0;overflow:auto}#ul-task-detail-container.ul-rich-text-body p,#ul-task-detail-container.ul-rich-text-body li,#ul-task-detail-container.ul-rich-text-body{color:#4c4c4c}#ul-task-detail-container :first-child{margin-top:0}#ul-task-detail-container :last-child{margin-bottom:20px}.ul-horizontal-button-container{width:100%;display:flex;flex-direction:row}.ul-skip-button-below{margin-top:5px}.ul-horizontal-button-container-center{justify-content:center}.ul-vertical-button-container-center{display:flex;flex-direction:column;align-items:center}.ul-horizontal-button-container-left{justify-content:flex-start}.ul_recorded-task-inset-spacing{margin-top:5px;margin-bottom:24px}.ul_permission_svg_container{justify-content:center}.ul-card-text__button{background-color:var(--theme);border-radius:3px;border:none;color:#fff;cursor:pointer;font-size:15px;font-weight:500;line-height:18px;padding:10.5px 21px}.ul-card-text__button:disabled,.ul-card-text__button.sprig-button-disabled{background-color:#0000001a;color:#0003}.ul-card-text__button.ul-button-inactive{background-color:#fff!important;color:#5d696f!important}.ul-card-skip__button{color:#00000080;background:none;border:none;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;cursor:pointer}.ul-card-button-group{align-items:center;display:flex;gap:15px;justify-content:center;flex-direction:column}.select-button{align-items:center;background-color:transparent;border-radius:8px;border:1px solid #0b2330;box-shadow:0 0 0 2px #c8cccc;cursor:pointer;display:flex;font-size:15px;justify-content:space-between;margin-bottom:8px;padding:4px 8px 4px 16px;width:100%}.select-button:hover{background-color:#f3f3f3}.select-button:active{background-color:#eee}.select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button.select-button-placeholder{color:#b0b5b7}.select-button svg{flex-shrink:0}.select-list{position:relative;height:fit-content;max-height:190px;padding:4px 0;z-index:100;background-color:#fff;border:1px solid #E2E3E1;box-shadow:0 16px 24px #0b23300d,0 4px 12px #0b233008;border-radius:8px;overflow-y:scroll;width:100%}.select-option{align-items:center;cursor:pointer;display:flex;font-size:15px;gap:16px;line-height:20px;padding:8px 16px}.select-option:hover{background-color:#f3f3f3}html,body{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;height:100%;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-webkit-touch-callout:none}b{font-weight:500}#ul-app{opacity:0;width:100%;flex-grow:2;display:flex}#ul-app.ul-app--overlay{position:absolute;bottom:0;transition:opacity .1s ease-out;transition-delay:.1s}#ul-app.ul-app--visible{opacity:1;bottom:0}.ul-app__container{width:100%;display:flex;flex-direction:column;max-height:100vh}.ul-header__container{margin-bottom:15px}.ul-header{align-items:center;background:repeating-linear-gradient(120deg,#ebebeb,#ebebeb 24px,#fff 24px,#fff 48px);border-bottom:2px solid #ebebeb;display:flex;font-size:14px;font-weight:500;height:40px;justify-content:center;left:0;position:absolute;top:0;width:100%}.ul-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:auto;flex-grow:1;width:100%}.ul-footer>.yellow-footer-logo{background:#fad133;border:1px solid #f9c600;border-radius:14px;padding:6px 12px}.ul-footer>.yellow-footer-logo:hover{background:#f9c600}.ul-footer .thank-you-card-link{background:#00000003;border:1px solid #e6e6e6;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;gap:12px;margin-bottom:15px;padding:12px;text-align:initial;width:280px}.ul-footer .thank-you-card-link:hover{background:#00000008}.ul-footer>a{color:inherit}.ul-footer-bubble{display:inline-block;margin:0 3px;width:7px;height:7px;border-radius:3px;border:1px solid transparent}.sprig-box-logo{background:#f9c600;border-radius:5px;display:flex;padding:4px}.close-container{display:flex;justify-content:flex-end;width:100%}.close-btn{cursor:pointer;height:18px;margin-inline-end:-10px;position:relative;top:-10px;width:18px;z-index:1}.ul-app__container{transition:opacity .3s ease-out}.ul-center-horizontally{text-align:center}#ul-progress-bar-container{width:100%;height:2px;background-color:#0000001a;border-radius:2px;max-width:250px;margin:25px 0}#ul-progress-bar-current{transition:width 1s ease;width:0%;height:0;border-radius:2px}.prototype-button{width:100%;background:#00000003;border:1.5px solid #e6e6e6;border-radius:4px 0 0 4px;flex:none;flex-grow:1;margin:0;padding:20px 0;font-size:14px;font-family:inherit;text-decoration:underline}.prototype-button:hover{cursor:pointer}',Oi=async(e,t)=>{var o;const n=await fetch(t,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(n.ok){const r=await n.json();return(o=r==null?void 0:r.upload)==null?void 0:o.url}else return null},Eo=()=>MediaRecorder.isTypeSupported("video/webm")?"video/webm":"video/mp4",rn=e=>{const t={audioBitsPerSecond:128e3,videoBitsPerSecond:25e5,mimeType:Eo()};return new MediaRecorder(e,t)},sn=(e,t,n)=>{n[t]=[],e.ondataavailable=function(o){n[t].push(o.data)},e.currentMediaRecordingUid=t,e.start()};function ln(e,t,n,o,r,i){if(e&&e.state!=="inactive"){const{"begin.callback":s}=o,c=e.currentMediaRecordingUid;if(!c)return;s&&s(c),e.onstop=()=>Li(t,e,n,o,c,r,i),e.stop()}}async function Li(e,t,n,o,r,i,s){const c=U.getState().viewDocument,{"upload.callback":d,"progress.callback":a}=o,p={mediaType:n,updatedAt:new Date().toISOString(),mediaRecordingUid:r,...o["passthrough.data"]},l=await Oi(p,e);if(!l){d&&d(null,{message:"failed to get upload url"});return}const h=new Blob(s,{type:Eo()});if(!c.defaultView)return;const m=new c.defaultView.File([h],`recording video ${Date.now()}`),v=i.createUpload({endpoint:l,file:m,chunkSize:5120});v.on("error",f=>{d&&d(null,f)}),v.on("progress",f=>{a&&a(r,f)}),v.on("success",()=>{d&&d(r,!0)})}const Ni={chunks:{}},Ai={state:{...Ni},stopRecording(e){const{uploadApiEndpoint:t,avRecorder:n,screenRecorder:o,UpChunk:r}=this.state,i=this.state.avStream&&this.state.avStream.getVideoTracks().length>0?"video":"audio";this.state.chunks&&t&&r&&(n!=null&&n.currentMediaRecordingUid&&ln(n,t,i,e,r,this.state.chunks[n==null?void 0:n.currentMediaRecordingUid]),o!=null&&o.currentMediaRecordingUid&&ln(o,t,"screen",e,r,this.state.chunks[o==null?void 0:o.currentMediaRecordingUid]))},handleCancelledStream(e){const t=e.getVideoTracks(),n=e.getAudioTracks();let o=t.length&&t[0];o=o||n.length&&n[0],o&&o.addEventListener("ended",()=>{[this.state.avRecorder,this.state.screenRecorder].map(r=>{r&&(r.state==="recording"&&r.stop(),r.stream.getTracks().map(i=>{i.readyState==="live"&&i.stop()}))}),Object.assign(this.state,{avStream:null,captureStream:null,avRecorder:null,screenRecorder:null})})},taskDurationMillisecond(){return this.state.startTime?new Date().getTime()-this.state.startTime.getTime():0},setUpChunk(e){this.state.UpChunk=e},configure(e,t){Object.assign(this.state,t),this.state.uploadApiEndpoint=`${t.apiURL}/2/environments/integrations/upload`,this.state.chunks={},e.on("permission.status",this.permissionStatusCallback.bind(this)),e.on("av.permission",async n=>{this.avPermissionCallback(n)}),e.on("begin.recording",this.beginRecordingCallback.bind(this)),e.on("start.task",this.startTaskCallback.bind(this)),e.on("screen.permission",async n=>{this.screenPermissionCallback(n)}),e.on("finish.task",async n=>{this.finishTaskCallback(n)})},async avPermissionCallback(e){var o,r,i;const{"stream.ready":t,"permission.descriptors":n}=e;try{(o=this.state.avStream)!=null&&o.active&&(this.state.avStream.getTracks().map(s=>s.readyState==="live"&&s.stop()),((r=this.state.captureStream)==null?void 0:r.getAudioTracks().length)===1&&this.state.captureStream.removeTrack(this.state.captureStream.getAudioTracks()[0])),this.state.avStream=await navigator.mediaDevices.getUserMedia({video:n.includes("camera"),audio:!0}),((i=this.state.captureStream)==null?void 0:i.getAudioTracks().length)===0&&this.state.captureStream.addTrack(this.state.avStream.getAudioTracks()[0]),this.handleCancelledStream(this.state.avStream)}catch(s){console.warn("Error: failed to get permissions: "+s),t&&t(null,null);return}t&&t(this.state.avStream,this.state.captureStream)},async screenPermissionCallback(e){const{"screen.permission.requested":t,"stream.ready.callback":n}=e;t==null||t(!0);try{this.state.captureStream=await navigator.mediaDevices.getDisplayMedia({video:!0,cursor:"always",displaySurface:"browser",preferCurrentTab:!0})}catch(o){t==null||t(!1),console.warn("Error: failed to get permissions: "+o),n&&n(null,null);return}t==null||t(!1),this.state.avStream&&this.state.avStream.getAudioTracks().length>0&&this.state.captureStream.addTrack(this.state.avStream.getAudioTracks()[0]),this.handleCancelledStream(this.state.captureStream),n&&n(this.state.avStream||null,this.state.captureStream)},beginRecordingCallback(e){const{"recording.media.types":t,"start.recording.callback":n=()=>{}}=e;if(!t)return;const o=[];if(t.includes("video")&&this.state.avStream){this.state.avRecorder=rn(this.state.avStream);const r=A.v4();sn(this.state.avRecorder,r,this.state.chunks),o.push(r)}if(t.includes("screen")&&this.state.captureStream){this.state.screenRecorder=rn(this.state.captureStream);const r=A.v4();sn(this.state.screenRecorder,r,this.state.chunks),o.push(r)}o&&n&&n(o)},async finishTaskCallback(e){const{"current.index":t,"task.response":n,"task.complete.callback":o}=e;await this.stopRecording(e),o&&o(this.taskDurationMillisecond()),this.state.cards&&this.state.hasEndCard!==void 0&&this.lookAheadAndStopStream(t,n,this.state.cards,this.state.hasEndCard)},startTaskCallback(){this.state.startTime=new Date},permissionStatusCallback(e){var o;const{["permission.status.callback"]:t}=e,n=this.state.avStream;t&&t(n,n?(n==null?void 0:n.getVideoTracks().length)>0:!1,!!((o=this.state.captureStream)!=null&&o.active),this.state.captureStream)},lookAheadAndStopStream(e,t,n,o){const{avRecorder:r,screenRecorder:i}=this.state,{allResponses:s}=U.getState(),c=ro({cards:n,index:e,hasEndCard:o,allResponses:s});c!==null&&n[c].type==="recordedtask"||[r,i].map(d=>{d&&(d.state==="recording"&&d.stop(),d.stream.getTracks().map(a=>{a.readyState==="live"&&a.stop()}))})}},Le=Object.create(Ai);Object.freeze(Le);const Mi=(e,t)=>{const n=[...e],o=new Set(["videovoice","recordedtask"]);return e.some(r=>o.has(r.type))&&n.push({name:-2,props:{routingOptions:[]},type:"uploading"}),t&&n.push({name:-1,props:{routingOptions:[]},type:"thanks"}),n},$i=({mode:e=null,viewWindow:t,viewDocument:n,trackPageViewUrl:o})=>{const r=n.documentElement;let i;try{i=t.parent.location.href}catch{i=t.location.href}return{mode:e,sw:t.screen.width,sh:t.screen.height,cw:r.clientWidth,ch:r.clientHeight,p:o??i,l:t.navigator.language}};function Ui(e,t=!0){var x;const{answers:n,apiURL:o,endCard:r,eventEmitFn:i,fontFamilyURL:s,frame:c,previewKey:d,viewDocument:a,viewWindow:p}=e,l=A.shouldDirectEmbed(e.headers)?e.frame:a.body,h=e.UpChunk||window.UpChunk,m=A.eventEmitter,v=Mi(e.cards,!!r);Le.configure(m,{cards:v,hasEndCard:!!r,apiURL:o,UpChunk:h}),U.setState({apiURL:o,answers:n,border:e.border,index:e.startingQuestionIdx||0,cards:v,configureExitOnOverlayClick:e.configureExitOnOverlayClick,customMetadata:e.customMetadata,endCard:e.endCard,envId:e.envId,eventEmitFn:i,fontFamily:e.fontFamily,forceBrandedLogo:e.forceBrandedLogo,frame:c,headers:e.headers,hasViewedEmbed:!1,isPreview:e.isPreview,marketingUrl:"https://sprig.com",meta:$i({mode:e.mode,viewWindow:p,viewDocument:a,trackPageViewUrl:e.trackPageViewUrl}),mode:e.mode,previewKey:d,previewMode:e.previewMode,productConfig:e.productConfig,recorder:Le,recorderEventEmitter:m,responseGroupUid:e.responseGroupUid,showStripes:e.showStripes,showSurveyBrand:e.showSurveyBrand,slugName:e.slugName,styleNonce:e.styleNonce,studyType:e.studyType,surveyId:e.surveyId,tabTitle:e.tabTitle,uploadingCardViewed:!1,uploadProgress:{},useMobileStyling:e.useMobileStyling,useDesktopPrototype:e.useDesktopPrototype,userId:e.userId,viewDocument:e.viewDocument,visitorAttributes:e.visitorAttributes,viewedCardCount:e.startingQuestionIdx||0});const{head:f}=a;if(H.setSurveyStyles({document:a,elementId:"sprig-style",styleString:Di}),e.customStyles&&H.setSurveyStyles({document:a,elementId:"ul-custom-style",styleString:e.customStyles,nonce:e.styleNonce}),e.fontFamily&&s&&parent){const y=a.createElement("link");y.rel="stylesheet",y.href=s,f.appendChild(y)}if(!h)if(e.installationMethod!=="web-npm"){const y=a.createElement("script");y.src=e.upchunkLibraryURL??"https://cdn.sprig.com/userleap-web-upchunk-v2.2.2.js",y.onload=()=>{Le.setUpChunk(p.UpChunk)},y.onerror=()=>{console.warn("[Sprig] - recording functionality not configured due to UpChunk library load failure")},f.appendChild(y)}else console.warn("[Sprig] - recording functionality not configured due to missing UpChunk dependency");const b="2.31.3",_=i||((x=c.eventEmitter)==null?void 0:x.emit);_==null||_("verify.view.version",{"view.version":b}),l&&t&&ge(u(Ii,{}),l)}const Hi={configure:Ui};exports.default=Hi;
685
+ `,mi=e=>{const t=P.document.createElement("div");return t.className="ul-video-player-loading",t.id=xt(e),["first","second","third","fourth"].map(n=>{const o=P.document.createElement("div");o.className=n,t.appendChild(o)}),t},xt=e=>e+"-loading-spiner",F="hidden",Jt=".m3u8",Ye="questionId",Qe="ul-video-recorder-camera-off-button",Ke="ul-recording-in-session",hi=[{type:"link",content:`${ue}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${ue}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${ue}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${ue}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${ue}/userleap-web-upchunk-v2.2.2.js`}],vo=[{type:"link",content:`${ue}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${ue}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:pi}],go="-video-player",_o="-secondary-video-player",bo="-video-recorder";let J,Xt;const le=async({event:e,apiBase:t,headers:n,visitorId:o,envId:r,metadata:i})=>{const s=P.document.documentElement;if(!o||!r)return;const c={event:`SDK - ${e}`,visitorId:o,environmentId:r,metadata:{...i||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:s.clientWidth,clientHeight:s.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${t}/sdk/1/visitors/${o}/analytics`,{method:"POST",cache:"no-cache",headers:n,body:JSON.stringify(c)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},te=async(e,t,n,o,r,i)=>{le({event:`Video Error ${t}`,apiBase:n,headers:o,visitorId:r,envId:i,metadata:{errorMessage:e.message}});const s=P.document.documentElement,c={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:s.clientWidth,clientHeight:s.clientHeight,location:window.location.href,language:navigator.language},d={action:t,err:{message:e.message,stack:e.stack},meta:c,vid:r,envId:i};(await fetch(`${n}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...o,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(d)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fi=(e,{type:t,content:n})=>new Promise(function(o,r){let i;t==="script"?(i=P.document.createElement("script"),i.src=n):t==="link"?(i=P.document.createElement("link"),i.rel="stylesheet",i.href=n,i.type="text/css"):(i=P.document.createElement("style"),i.innerHTML=n),i.onload=function(){o(n)},i.onerror=function(){r(n)},i.async=!1,i.id=btoa(n),e.appendChild(i)}),yo=(e,t)=>{if(e.length===0)return t&&t();Promise.all(e.reduce((n,o)=>(n.push(fi(P.document.head,o)),n),[])).then(()=>{P.videojs=P.document.defaultView.videojs,t&&t()}).catch(function(n){console.log(n+" failed to load")})},en=(e,t,n)=>{if(t==="start"&&(e.style.visibility="visible"),t==="none")e.style.visibility=F;else if(t==="success")e.style.visibility=F,e.innerHTML="Upload succeeded!";else{const o=Math.round(parseFloat(n));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${o}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${o}%, #FCFCFD ${o}%, #FCFCFD 100%)`}},Je=(e,t)=>{const n=P.videojs(e.id());return n==null?void 0:n.payload[t]},vi=(e,t,n,o,r)=>{const{surveyId:i,responseGroupUid:s,visitorId:c,envId:d}=e.payload;e.on("deviceError",function(){console.warn("device error: ",e.deviceErrorCode),e.deviceErrorCode.message==="Permission denied"?(e.deviceButton.addClass("permission-denied"),n&&n(N.ERROR,{type:N.PERMISSION_DENIED}),le({event:"Video Permission Denied",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{questionId:Je(e,Ye),responseGroupUid:s,surveyId:i}})):(n&&n(N.ERROR,{type:N.OTHER}),te(new Error(e.deviceErrorCode.message),"recorderDeviceError",t,r,c,d))}),e.on("error",function(a,p){te(p||e.error(),"recorderError",t,r,c,d)}),e.on("startRecord",function(a,p){o(e.uploadProgressLabel,"none"),le({event:"Video Record Start",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{questionId:Je(e,Ye),responseGroupUid:s,surveyId:i}})}),e.on("finishRecord",async function(){o(e.uploadProgressLabel,"start",0);const a=Je(e,Ye);if(!i){const f="internal error: missing fields in payload";return n&&n(N.ERROR,{type:N.OTHER}),te(new Error(f),"finishRecord",t,r,c,d),null}e.record().stopDevice();const p=e.cameraOff?N.MEDIA_TYPE_AUDIO:N.MEDIA_TYPE_VIDEO,l=A.v4();le({event:"Video Record Finish",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p}});const h={surveyId:i,updatedAt:new Date().toISOString(),mediaType:p,mediaRecordingUid:l};a&&(h.questionId=a),s&&(h.responseGroupUid=s),c&&(h.visitorId=c);const v=await(async()=>{const f=await fetch(`${t}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)});if(f.ok){const b=await f.json();return n&&n(N.UPLOAD_STARTED,{[N.UPLOAD_ID]:b.upload.id,[N.MEDIA_TYPE]:p,[N.MEDIA_RECORDING_UID]:l}),b.upload.url}else return n&&n(N.ERROR,{type:N.OTHER,response:f}),te(new Error("failed to get upload response with url"),"finishRecord",t,r,c,d),null})();v&&(J=P.document.defaultView.UpChunk.createUpload({endpoint:v,file:new P.document.defaultView.File([e.recordedData],`recording ${p} ${Date.now()}`),chunkSize:5120}),J.startTime=Date.now(),le({event:"Video Upload Start",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p,url:v}}),J.on("error",f=>{o(e.uploadProgressLabel,"none"),n&&n(N.UPLOAD_FINISHED,{[N.MEDIA_RECORDING_UID]:l}),te(f,"finishRecord",t,r,c,d)}),J.on("progress",f=>{n&&n(N.UPLOAD_PROGRESS,{[N.MEDIA_RECORDING_UID]:l,[N.UPLOAD_PROGRESS_PCT]:f.detail}),o(e.uploadProgressLabel,"progress",f.detail)}),J.on("success",()=>{o(e.uploadProgressLabel,"success"),n&&n(N.UPLOAD_FINISHED,{[N.MEDIA_RECORDING_UID]:l}),le({event:"Video Upload Success",apiBase:t,headers:r,visitorId:c,envId:d,metadata:{mediaRecordingUid:l,questionId:a,responseGroupUid:s,surveyId:i,mediaType:p,url:v,elapsedMs:J.startTime&&Date.now()-J.startTime}})}))})},xo=(e,t)=>{const n=new(P.videojs.getComponent("Component"))(e);return n.addClass("ul-buttons-panel"),t.map(o=>{n.addChild(o)}),gi(n),n},gi=e=>{e.children().forEach(t=>{if(Y[t.name_]){const n=Oe(Y[t.name_],`ul-${Y[t.name_]}`);t.el_.appendChild(n)}})},Oe=(e,t="")=>{const n=P.document.createElement("span");return n.className="ul-button-text",n.innerHTML=e,n.id=t,n},ko=(e,t,n,o,r=!1,i)=>{e.addClass("ul-video-player");const s=new(P.videojs.getComponent("Component"))(e);s.addClass("ul-control-panel"),e.progressBar=s.addChild("ProgressControl"),n&&e.src(n),e.audioPlayerPlaceholder=new(P.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const c=n&&n.src?Ei(n.src):null;n&&(r||!c)?(e.children()[0].classList.add("vjs-hidden"),P.document.getElementById(`${e.id()}_html5_api`).style.height="0px"):(e.audioPlayerPlaceholder.hide(),P.document.getElementById(`${e.id()}_html5_api`).style.height="100%",c&&e.poster(c)),e.on("play",()=>{!r&&n&&!c&&yi(e),i==null||i.play()}),e.on("pause",()=>{i==null||i.pause()}),e.on("seeked",()=>{i==null||i.currentTime(e.currentTime())}),e.on("ratechange",()=>{i==null||i.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),s.addChild(t),e.addChild(s),o&&o(e)},_i=(e,t,n)=>{e.addClass(`ul${_o}`);const o=new(P.videojs.getComponent("Component"))(e);t&&e.src(t),e.addChild(o),n&&n(e)},bi=(e,t,n,o,r,i,s,c=!1)=>{Xt=Date.now();const a=Me(t,{controls:!1,bigPlayButton:!1,fluid:!1,width:1280,height:720,playsinline:!0,plugins:{record:{audio:!0,video:{mandatory:{minWidth:1280,minHeight:720}},frameWidth:1280,frameHeight:720,maxLength:600,autoMuteDevice:!0}}});if(!a)return;a.payload=n;const{surveyId:p,questionId:l,responseGroupUid:h,visitorId:m,envId:v}=n;let f;const b=I=>{const R=Qe,O=Qe+"-audio-only";en(a.uploadProgressLabel,"none"),J&&J.startTime>=Xt&&J.abort();const G=P.document.getElementById("ul-camera-button");I?(a.children()[0].classList.add("vjs-hidden"),S.removeClass(R),S.addClass(O),G.innerHTML=Y.TurnOnCamera,a.audioPlayerPlaceholder.removeClass("vjs-hidden"),f==null||f.getTracks().forEach(q=>{q.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(q=>{f=q,q.getVideoTracks().forEach(Fe=>{Fe.enabled=!1}),a.record().onDeviceReady(q)}).catch(a.record().onDeviceError.bind(a.record()))):(f==null||f.getVideoTracks().forEach(q=>{q.enabled=!0}),a.children()[0].classList.remove("vjs-hidden"),a.record().getDevice(),S.removeClass(O),S.addClass(R),G.innerHTML=Y.TurnOffCamera,a.audioPlayerPlaceholder.addClass("vjs-hidden"))},_=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{_.hasClass(F)||(le({event:"Video Delete Button Clicked",apiBase:o,headers:s,visitorId:m,envId:v,metadata:{questionId:l,responseGroupUid:h,surveyId:p}}),b(a.cameraOff),r(N.DELETE,{}),S.removeClass(F),_.addClass(F))}});_.addClass("ul-video-recorder-delete-button"),_.el_.appendChild(Oe(Y.DeleteButton,"ul-delete-button"));const x=P.document.getElementById(t),y=()=>{x.classList.contains("vjs-fullscreen")&&a.cameraOff?x.style.display="table":x.style.display="flex"};y();const S=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{a.record().isRecording()||(a.cameraOff=!a.cameraOff,le({event:"Video Camera Button Clicked",apiBase:o,headers:s,visitorId:n.visitorId,envId:n.envId,metadata:{questionId:l,responseGroupUid:h,surveyId:p,cameraOff:a.cameraOff}}),b(a.cameraOff),!_.hasClass(F)&&_.addClass(F),r(N.DELETE,{}),y())}});S.addClass(Qe),S.el_.appendChild(Oe(Y.TurnOffCamera,"ul-camera-button"));const C=new(P.videojs.getComponent("Button"))(a,{clickHandler:()=>{const I=P.document.getElementById("ul-recorder-toggle");if(a.record().isRecording())a.record().stop(),I&&(I.innerHTML=Y.RecordButton),C.removeClass(Ke),_.removeClass(F);else{const R=P.document.getElementById("ul-recording-countdown-screen");if(R)R.remove(),I&&(I.innerHTML=Y.RecordButton),b(a.cameraOff),r(N.DELETE,{}),S.removeClass(F),_.addClass(F),C.removeClass(Ke),E.show();else{C.addClass(Ke),E.hide(),S.addClass(F),_.addClass(F),I&&(I.innerHTML=Y.StopButton);const O=P.document.createElement("div");O.id="ul-recording-countdown-screen",x.insertBefore(O,x.children[1]),O.style.height=`${x.offsetHeight}px`,Co(a,3)}}}});C.addClass("ul-video-recorder-toggle-button"),C.el_.appendChild(Oe(Y.RecordButton,"ul-recorder-toggle"));const j=P.document.createElement("p");j.style.visibility="hidden",j.className="ul-upload-progress-label",e.appendChild(j),a.uploadProgressLabel=j;const D=xo(a,[_,S,"PlayToggle",C,"FullscreenToggle"]),E=D.children().find(I=>I.name_==="FullscreenToggle");E.hasClass("vjs-disabled")&&E.hide();const g=D.children().find(I=>I.name_==="PlayToggle");g.hide(),_.addClass(F),ko(a,D,i,!1,c),a.on("stopRecord",()=>{C.hide(),g.show(),E.show(),_.removeClass(F)}),a.on("deviceReady",()=>{C.show(),g.hide(),_.addClass(F)}),vi(a,o,r,en,s);const k=[{name:"microphone"}];!a.cameraOff&&k.push({name:"camera"}),Promise.all(k.map(I=>{var R;return(R=navigator==null?void 0:navigator.permissions)==null?void 0:R.query(I)})).then(I=>{I.reduce((O,G)=>O&G.state==="granted",!0)&&a&&(a.deviceButton&&a.deviceButton.hide(),a.record().getDevice())}).catch(I=>{})},Co=(e,t=3)=>{const n=P.document.getElementById("ul-recording-countdown-screen");n&&t===0?(n.remove(),e.record().start()):n&&(n.innerHTML=`<span class='ul-countdown-text'>Recording in... ${t}</span>`,setTimeout(()=>{Co(e,t-1)},1e3))},wo=e=>{const t=P.document.createElement("div");return t.className="ul-video-container",t.appendChild(mi(e)),t},lt=(e,t)=>{const n=P.document.createElement("video");n.id=e,n.className="video-js vjs-default-skin ul-video-player-video";const o=P.document.createElement("p");o.className="vjs-no-js",o.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const r=P.document.createElement("a");return r.href="https://videojs.com/html5-video-support/",r.target="_blank",r.innerHTML="supports HTML5 video",o.appendChild(r),n.appendChild(o),t.appendChild(n),t},yi=(e,t)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),P.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},Me=(e,t)=>P.document.getElementById(e)?t?P.videojs(e,t):P.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),xi=(e,t,n,o=!1,r="https://api.sprig.com",i=document,s=null,c=null)=>{P.document=i;const d=e+go,a=wo(d);return P.document.addEventListener("securitypolicyviolation",p=>{te(new Error(`Voice & Video feature violates ${p.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",r,{})}),yo(vo,()=>{P.document.getElementById(xt(d)).remove(),lt(d,a);const p={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const l=e+_o;lt(l,a);const h=Me(d,p),m=Me(l,{muted:!0,...p});if(!h||!m)return;_i(m,s,c),s||m.addClass(F);const v=xo(h,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),f=v.children().find(b=>b.name_==="FullscreenToggle");f.hasClass("vjs-disabled")&&f.hide(),ko(h,v,t,n,o,m)}catch(l){te(new Error(`Error when creating video player object ${l}`),"playerDeviceError",r,{});return}}),a},ki=(e,t={},n="https://api.userleap.com",o,r,i,s=!1,c=document)=>{P.document=c;const d=e+bo,a=wo(d);return P.document.addEventListener("securitypolicyviolation",p=>{te(new Error(`Voice & Video feature violates ${p.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",n,i,t.visitorId,t.envId)}),yo(vo.concat(hi),()=>{lt(d,a),P.document.getElementById(xt(d)).remove();try{bi(a,d,t,n,o,r,i,s)}catch(p){te(new Error(`Error when creating video recorder player object ${p}`),"recorderDeviceError",n,i,t.visitorId,t.envId);return}}),a},Ci=e=>{const t=e+bo;if(P.document.getElementById(t)&&P.videojs){try{if(!P.videojs(t).record().stream)return}catch{return}P.videojs(t).record().stop(),P.videojs(t).record().stopDevice()}},wi=e=>{const t=Me(e+go);t==null||t.pause()},Ei=e=>{if(!e)return null;const t=e.match(/https:\/\/stream.mux.com\/(.*)/);let n=t?t[1]:null;return n.includes(Jt)&&(n=n.replace(Jt,"")),n?`https://image.mux.com/${n}/thumbnail.jpg?time=0`:null},N={UPLOAD_STARTED:"upload.started",UPLOAD_PROGRESS:"upload.progress",UPLOAD_FINISHED:"upload.finished",DELETE:"delete",ERROR:"error",MEDIA_TYPE:"media.type",PERMISSION_DENIED:"permission_denied",OTHER:"other",UPLOAD_ID:"upload.id",UPLOAD_PROGRESS_PCT:"upload.progress.pct",MEDIA_RECORDING_UID:"media.recording.uid",MEDIA_TYPE_VIDEO:"video",MEDIA_TYPE_AUDIO:"audio"},Y={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"},ce="ul-card-video__player_recorder",Si="ul-card-video__skip_button",ji="ul-video-interview-form",tn="ul-video-btn",ye={Question:0,Answer:1},Ti=({className:e,message:t,next:n,properties:o,questionId:r,type:i})=>{const{apiURL:s,envId:c,handleUploadUpdate:d,headers:a,responseGroupUid:p,surveyId:l,viewDocument:h,visitorId:m}=U(R=>({apiURL:R.apiURL,envId:R.envId,handleUploadUpdate:R.handleUploadUpdate,headers:R.headers,responseGroupUid:R.responseGroupUid,surveyId:R.surveyId,viewDocument:R.viewDocument,visitorId:R.userId})),[v,f]=B(!1),[b,_]=B(null),[x,y]=B(null),[S,C]=B(ye.Question),j=o&&o.videoUrl,D=(R,O)=>{R===N.UPLOAD_STARTED?(_(O[N.UPLOAD_ID]),y(O[N.MEDIA_RECORDING_UID]),f(!0)):R===N.DELETE?(_(null),y(null),f(!1)):R===N.UPLOAD_PROGRESS?isNaN(O[N.UPLOAD_PROGRESS_PCT])?d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],isComplete:!0}):d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],progressPct:O[N.UPLOAD_PROGRESS_PCT]}):R===N.UPLOAD_FINISHED&&d({mediaRecordingUid:O[N.MEDIA_RECORDING_UID],isComplete:!0})},E=R=>{if(R&&R.children.length===0&&!o.hideRecordedPrompt){const O=xi(ce,{src:j,type:"application/x-mpegURL"},void 0,o.mediaType===N.MEDIA_TYPE_AUDIO,s,h);R.appendChild(O)}},g=R=>{if(R&&R.children.length===0){const O=ki(ce,{surveyId:l,responseGroupUid:p,questionId:r,visitorId:m,envId:c},s,D,void 0,{...a,"x-ul-video-recorder-origin":"sdk"},o.mediaType===N.MEDIA_TYPE_AUDIO,h);R.appendChild(O)}},k=R=>{R.preventDefault(),R.stopPropagation(),document.getElementById(ce)&&Ci(ce),b&&x?(d({mediaRecordingUid:x,isSubmitted:!0}),n({value:{mediaRecordingUid:x},questionId:r,type:i})):n({value:null,questionId:r,type:i})},I=()=>u(ie,{defaultBody:()=>u("button",{className:`${tn} ul-record-response-btn`,onClick:R=>{R.preventDefault(),R.stopPropagation(),document.getElementById(ce)&&wi(ce),C(ye.Answer)}}),properties:o});return u("form",{className:L(e,"ul-card--video","fade-in-transition"),id:ji,children:[u(K,{message:t,properties:o}),u("div",{id:"ul-card-voice__video",children:[u("div",{children:[u("div",{id:"ul-question-player-container",style:{display:S===ye.Question?"":"none"},children:[u("div",{id:ce,ref:E}),I()]}),u("div",{style:{display:S===ye.Answer?"block":"none"},children:[u("button",{className:`${tn} ul-back-question-btn`,onClick:R=>{R.preventDefault(),R.stopPropagation(),C(ye.Question)},style:{display:o.hideRecordedPrompt?"none":"block"}}),u("div",{id:"ul-recorder-player-container",ref:g})]})]}),u(Z,{disabled:!v,onClick:k,children:he(o)}),u("button",{className:"ul-card-text__button ul-button-inactive ul-card-skip__button",id:Si,onClick:k,style:{display:o.required?"none":"block",...v?{display:"none"}:{}},children:_t(o)})]})]})},Ri=({className:e})=>{const{uploadProgress:t}=U(i=>({uploadProgress:i.uploadProgress}));let n,o;Object.values(t).filter(i=>i.isSubmitted).length>1?(n="Your responses are processing",o="Please keep this tab open until your responses are fully processed."):(n="Your response is processing",o="Please keep this tab open until your response is fully processed.");const r=Math.round(Math.min(99,...Object.values(t).filter(i=>i.isSubmitted).map(i=>i.progressPct||0)));return u("div",{className:L(e,"ul-card--uploading","fade-in-transition"),children:[u("div",{"aria-busy":"true","aria-label":"Processing...","aria-live":"polite",className:"ul-loading-spinner-container",role:"progressbar",children:u("div",{className:"ul-loading-spinner",children:[u("div",{className:"first"}),u("div",{className:"second"}),u("div",{className:"third"}),u("div",{className:"fourth"})]})}),u(K,{message:`${n} (${r}% complete)`}),u("p",{className:"ul-caption",children:o})]})},nn=({logoOnly:e=!1,style:t={}})=>u("svg",{alt:`${e?"Powered by ":""}Sprig`,width:e?"35":"112",height:"15",viewBox:e?"79 0 31 15":"0 0 112 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"block",...t},children:[!e&&u("path",{d:"M0.648926 12.0181V2.8584H4.21631C6.0127 2.8584 7.25684 4.06445 7.25684 5.86084V5.87354C7.25684 7.66357 6.0127 8.88867 4.21631 8.88867H2.0708V12.0181H0.648926ZM3.86084 4.05811H2.0708V7.69531H3.86084C5.09229 7.69531 5.80957 7.02881 5.80957 5.87988V5.86719C5.80957 4.72461 5.09229 4.05811 3.86084 4.05811ZM11.6621 12.1514C9.63721 12.1514 8.39941 10.7993 8.39941 8.57764V8.56494C8.39941 6.34961 9.64355 4.99121 11.6621 4.99121C13.6743 4.99121 14.9185 6.34326 14.9185 8.56494V8.57764C14.9185 10.7993 13.6807 12.1514 11.6621 12.1514ZM11.6621 11.0024C12.8428 11.0024 13.5156 10.1011 13.5156 8.57764V8.56494C13.5156 7.03516 12.8428 6.14014 11.6621 6.14014C10.4751 6.14014 9.80859 7.03516 9.80859 8.56494V8.57764C9.80859 10.1074 10.4751 11.0024 11.6621 11.0024ZM17.6226 12.0181L15.7183 5.12451H17.1021L18.3398 10.4438H18.4414L19.8633 5.12451H21.1709L22.5928 10.4438H22.7007L23.9321 5.12451H25.2969L23.3989 12.0181H21.9834L20.5552 6.87646H20.4473L19.0254 12.0181H17.6226ZM29.334 12.1514C27.3154 12.1514 26.0967 10.7739 26.0967 8.59033V8.58398C26.0967 6.43213 27.3408 4.99121 29.2642 4.99121C31.1875 4.99121 32.3682 6.38135 32.3682 8.45068V8.93311H27.4805C27.5059 10.2534 28.2295 11.0215 29.3657 11.0215C30.248 11.0215 30.7749 10.5835 30.9399 10.228L30.9653 10.1772L32.292 10.1709L32.2793 10.228C32.0508 11.1357 31.0986 12.1514 29.334 12.1514ZM29.2705 6.12109C28.3311 6.12109 27.6201 6.76221 27.4995 7.94922H31.0034C30.8955 6.71777 30.2036 6.12109 29.2705 6.12109ZM34.0059 12.0181V5.12451H35.3833V6.16553H35.4849C35.7324 5.43555 36.3735 5.00391 37.2939 5.00391C37.5161 5.00391 37.7573 5.03564 37.897 5.06738V6.33691C37.6494 6.28613 37.4146 6.25439 37.1543 6.25439C36.1006 6.25439 35.3833 6.90186 35.3833 7.89844V12.0181H34.0059ZM41.9277 12.1514C39.9092 12.1514 38.6904 10.7739 38.6904 8.59033V8.58398C38.6904 6.43213 39.9346 4.99121 41.8579 4.99121C43.7812 4.99121 44.9619 6.38135 44.9619 8.45068V8.93311H40.0742C40.0996 10.2534 40.8232 11.0215 41.9595 11.0215C42.8418 11.0215 43.3687 10.5835 43.5337 10.228L43.5591 10.1772L44.8857 10.1709L44.873 10.228C44.6445 11.1357 43.6924 12.1514 41.9277 12.1514ZM41.8643 6.12109C40.9248 6.12109 40.2139 6.76221 40.0933 7.94922H43.5972C43.4893 6.71777 42.7974 6.12109 41.8643 6.12109ZM49.1133 12.1323C47.3804 12.1323 46.2568 10.7422 46.2568 8.57764V8.56494C46.2568 6.38135 47.3613 5.00391 49.1133 5.00391C50.0591 5.00391 50.8652 5.47363 51.2334 6.21631H51.3413V2.42041H52.7124V12.0181H51.3413V10.9326H51.2334C50.8335 11.688 50.0781 12.1323 49.1133 12.1323ZM49.5068 10.958C50.6558 10.958 51.3604 10.0503 51.3604 8.57764V8.56494C51.3604 7.09229 50.6494 6.18457 49.5068 6.18457C48.3516 6.18457 47.6597 7.08594 47.6597 8.56494V8.57764C47.6597 10.0566 48.3516 10.958 49.5068 10.958ZM61.98 12.1323C61.0151 12.1323 60.2598 11.688 59.8599 10.9326H59.7583V12.0181H58.3809V2.42041H59.7583V6.21631H59.8599C60.228 5.47363 61.0342 5.00391 61.98 5.00391C63.7319 5.00391 64.8364 6.38135 64.8364 8.56494V8.57764C64.8364 10.7422 63.7192 12.1323 61.98 12.1323ZM61.5928 10.958C62.7417 10.958 63.4336 10.0566 63.4336 8.57764V8.56494C63.4336 7.08594 62.7417 6.18457 61.5928 6.18457C60.4438 6.18457 59.7329 7.09229 59.7329 8.56494V8.57764C59.7329 10.0503 60.4438 10.958 61.5928 10.958ZM66.8867 14.4429C66.7153 14.4429 66.5122 14.4302 66.3345 14.4111V13.3257C66.4678 13.3447 66.6392 13.3511 66.7979 13.3511C67.439 13.3511 67.8262 13.0781 68.0293 12.3799L68.1309 12.0244L65.6299 5.12451H67.1152L68.8418 10.6343H68.9624L70.6826 5.12451H72.1299L69.5654 12.2847C68.9814 13.9287 68.2832 14.4429 66.8867 14.4429Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M81.1088 6.63629C79.6878 6.32154 78.9672 5.76865 78.9672 4.99369C78.9672 4.19299 79.736 3.5886 80.7556 3.5886C81.8066 3.5886 82.5995 4.25285 82.5995 5.13336V5.20352H84.0518V5.13336C84.0518 3.52424 82.6405 2.30774 80.7693 2.30774C79.8676 2.30774 79.0414 2.58451 78.4433 3.08655C78.1463 3.33144 77.9077 3.63818 77.7448 3.98479C77.5818 4.33141 77.4984 4.70934 77.5005 5.09153C77.4946 5.44197 77.5675 5.78934 77.714 6.10857C77.8605 6.42779 78.0769 6.71092 78.3475 6.93752C78.8512 7.37584 79.5659 7.70024 80.4709 7.90299C81.9949 8.23898 82.7676 8.81054 82.7676 9.60094C82.7676 10.4576 81.9258 11.1032 80.813 11.1032C79.6571 11.1032 78.7854 10.3856 78.7854 9.43424V9.36408H77.3318V9.43424C77.3318 11.1167 78.8219 12.3847 80.7973 12.3847C81.7421 12.3847 82.6093 12.0983 83.2393 11.5769C83.5519 11.3237 83.8034 11.0048 83.9753 10.6433C84.1472 10.2818 84.2352 9.88702 84.2329 9.48766C84.2329 8.05875 83.1833 7.09907 81.1088 6.63629Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M89.2394 4.68276C88.6963 4.67605 88.1596 4.79915 87.6751 5.04156C87.1905 5.28397 86.7725 5.63851 86.4566 6.07497V4.85204H85.0747V14.8479H86.4566V11.0356C86.7725 11.472 87.1906 11.8265 87.6751 12.0688C88.1596 12.3111 88.6963 12.434 89.2394 12.4272C91.3836 12.4272 93 10.7627 93 8.55495C93 6.34723 91.3836 4.68276 89.2394 4.68276ZM91.5608 8.84202C91.5057 9.41605 91.2512 9.95356 90.8406 10.3633C90.4299 10.773 89.8883 11.0296 89.3078 11.0896C88.5363 11.1669 87.8177 10.9461 87.2841 10.4692C86.7505 9.99222 86.4566 9.3106 86.4566 8.55495C86.4566 7.10159 87.5538 6.00546 89.0087 6.00546C89.7619 6.00546 90.4421 6.29124 90.9171 6.81002C91.407 7.34232 91.6357 8.06385 91.5608 8.84202Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M109.95 4.85407V6.06349C109.298 5.18298 108.292 4.68286 107.153 4.68286C105.017 4.68286 103.406 6.31709 103.406 8.48426C103.406 10.6514 105.017 12.285 107.153 12.285C108.296 12.285 109.303 11.79 109.95 10.9185V11.1046C109.95 12.6101 108.993 13.5826 107.513 13.5826C106.513 13.5826 105.68 13.1494 105.284 12.424L105.264 12.3867H103.838L103.871 12.48C104.112 13.1892 104.583 13.8001 105.211 14.2179C105.841 14.6324 106.637 14.8512 107.513 14.8512C108.637 14.8512 109.594 14.4972 110.28 13.8285C110.967 13.1597 111.332 12.2194 111.332 11.1213V4.85407H109.95ZM109.175 10.3502C108.588 10.905 107.752 11.138 106.879 10.9887C106.361 10.8984 105.886 10.6475 105.523 10.2725C105.16 9.89751 104.927 9.41787 104.859 8.90328C104.736 8.03757 104.999 7.21756 105.581 6.655C106.069 6.19093 106.723 5.93643 107.401 5.94699C107.565 5.94713 107.729 5.96026 107.891 5.98625C108.946 6.15489 109.781 7.01609 109.921 8.0852C110.039 8.96507 109.766 9.78958 109.175 10.3502Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M101.89 2.12378C101.63 2.06766 101.358 2.11486 101.133 2.25518C100.908 2.39551 100.747 2.61769 100.687 2.87371C100.626 3.12973 100.67 3.39902 100.809 3.62339C100.947 3.84775 101.17 4.00917 101.428 4.07275C101.503 4.08936 101.58 4.09778 101.657 4.09786C101.906 4.09824 102.146 4.0083 102.331 3.84518C102.517 3.68206 102.636 3.45714 102.664 3.21327C102.693 2.9694 102.63 2.72361 102.487 2.5227C102.344 2.32179 102.132 2.17981 101.89 2.12378Z",fill:"black",fillOpacity:"0.7"}),u("path",{d:"M100.967 10.934H99.7755C98.9285 10.934 98.4196 10.3644 98.4196 9.40982C98.4196 8.4791 98.8757 7.36945 99.8054 6.01778L99.8178 5.99976V5.61807L95.8571 5.06453C95.8585 4.90331 95.8162 4.74466 95.7346 4.60501C95.653 4.46536 95.5352 4.34979 95.3932 4.27027C95.0381 4.07718 94.6498 4.07717 94.3279 4.26383C94.1667 4.35799 94.035 4.4945 93.9476 4.65816C93.8602 4.82182 93.8205 5.00623 93.8328 5.19087C93.8452 5.37552 93.9092 5.55315 94.0176 5.70402C94.1261 5.85489 94.2748 5.97309 94.4472 6.04546L93.2151 12.258H94.5833L95.7196 6.35891L97.8593 6.7155C97.284 7.73439 96.9921 8.68442 96.9921 9.53919C96.9921 11.1168 97.9577 12.1498 99.5187 12.2496V12.258H102.346V4.87723H100.967V10.934Z",fill:"black",fillOpacity:"0.7"})]}),Pi=()=>{const{border:e,cards:t,forceBrandedLogo:n,headers:o,index:r,marketingUrl:i,showSurveyBrand:s,slugName:c,surveyId:d,viewedCardCount:a}=U(y=>({border:y.border,cards:y.cards,forceBrandedLogo:y.forceBrandedLogo,headers:y.headers,index:y.index,marketingUrl:y.marketingUrl,showSurveyBrand:y.showSurveyBrand,slugName:y.slugName,surveyId:y.surveyId,viewedCardCount:y.viewedCardCount})),p=ee(null),l=t.filter(y=>y.type!=="uploading"&&y.type!=="thanks"),h=Ir(t,r),m=a+1,v=m/(m+h),f=`${i}?utm_source=survey_branding&utm_medium=website&utm_campaign=${c}&utm_content=${d}${n&&"&utm_term=poweredby_pill"}`;z(()=>{p.current&&(p.current.style.width=`${v*100}%`)},[v]);const b=()=>u(W,{children:[l.length>1&&u("div",{id:"ul-progress-bar-container",children:u("div",{id:"ul-progress-bar-current",ref:p,style:{border:`1px solid ${e||"#000"}`}})}),s?u("div",{className:n?"yellow-footer-logo":"",style:{marginTop:"4px"},children:u("a",{href:f,rel:"noreferrer",target:"_blank",children:u("div",{style:{display:"flex"},children:[u(nn,{logoOnly:!1}),n&&u(on,{style:{display:"block",margin:"auto 0 auto 4px",transform:"rotateY(0deg) rotate(-45deg)"}})]})})}):null]}),_=()=>u("a",{dir:"ltr",href:f,rel:"noreferrer",target:"_blank",children:u("div",{className:"thank-you-card-link",children:[u("div",{className:"sprig-box-logo",children:u(nn,{logoOnly:!0,style:{margin:"auto"}})}),u("div",{children:u("p",{children:["Capture insights about your own product",u(on,{style:{display:"inline-flex",marginInlineStart:"4px",verticalAlign:"middle"}})]})})]})}),x=t[r].type==="thanks";return u("footer",{className:`ul-footer ${o["userleap-platform"]==="link"?"ul-footer__link":""}`,style:s?{}:{marginBottom:"10px"},children:x&&n?_():b()})},on=({style:e})=>u("svg",{fill:"none",height:"10",style:e,viewBox:"0 0 12 10",width:"12",xmlns:"http://www.w3.org/2000/svg",children:[u("path",{d:"M1.47839 5.2085L10.9384 5.2085",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.35"}),u("path",{d:"M7.0686 1.15845L10.9386 5.20845L7.0686 9.25845",stroke:"black",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.35"})]}),Ii=()=>{const{answers:e,border:t,cards:n,close:o,configureExitOnOverlayClick:r,destroy:i,endCard:s,eventEmitFn:c,fontFamily:d,headers:a,index:p,next:l,previewMode:h,productConfig:m,seen:v,showStripes:f,studyType:b,surveyId:_,update:x,useMobileStyling:y,viewDocument:S}=U(T=>({answers:T.answers,border:T.border,cards:T.cards,close:T.close,configureExitOnOverlayClick:T.configureExitOnOverlayClick,destroy:T.destroy,endCard:T.endCard,eventEmitFn:T.eventEmitFn,fontFamily:T.fontFamily,headers:T.headers,index:T.index,previewMode:T.previewMode,productConfig:T.productConfig,next:T.next,seen:T.seen,showStripes:T.showStripes,studyType:T.studyType,surveyId:T.surveyId,update:T.update,useMobileStyling:T.useMobileStyling,viewDocument:T.viewDocument})),C=ee(null),j=ee(!1),D=a["userleap-platform"],{props:E,type:g,name:k}=n[p],I=n.length;z(()=>{C.current&&(C.current.classList.contains("ul-app--visible")||C.current.classList.add("ul-app--visible"),!j.current&&c&&(j.current=!0,c(A.SprigEvent.SurveyAppeared,{name:A.SprigEvent.SurveyAppeared,"survey.id":_})))},[c,_]),z(()=>{const T=()=>{S.visibilityState==="visible"&&(v(),S.removeEventListener("visibilitychange",T))};return S.addEventListener("visibilitychange",T),T(),()=>{S.removeEventListener("visibilitychange",T)}},[v,S]),z(()=>{x()},[p,x]),z(()=>{r(()=>o())},[o,r]);const R=Se(()=>()=>o(H.APP_ID),[o]),O=T=>{T.key==="Enter"&&R()},G=async function(T){l({data:T,completeSurvey:()=>{i(H.APP_ID)},endCard:s}),H.resetScrollPosition(S)};if(e){for(const T of e)if(T.questionId===k){let se;if(g==="multiplechoice"){const ae=E.options.find(({value:ze})=>ze===T.value);if(!ae)break;se={[ae.id]:ae.value}}else se=T.value;G({value:se,type:g,questionId:T.questionId});break}}const q=()=>["email","link"].includes(a["userleap-platform"])?!1:!s||p+1!==I,Fe=()=>{const T={className:"ul-card",next:G,questionId:k,type:g};switch(g){case"consentlegal":return $(Hr,{...T,...E,key:k});case"likert":return $(Vr,{...T,...E,key:k});case"matrix":return $(Fr,{...T,...E,key:k});case"multiplechoice":return $(Zr,{...T,...E,key:k});case"multipleselect":return $(Gr,{...T,...E,key:k});case"nps":return $(Yr,{...T,key:k,props:E});case"open":return $(Qr,{...T,...E,key:k});case"recordedtask":return $(li,{...T,...E,key:k});case"texturlprompt":return $(di,{...T,...E,key:k});case"thanks":return $(ui,{...T,...E,key:k});case"uploading":return $(Ri,{...T,...E,key:k});case"videovoice":return $(Ti,{...T,...E,key:k});default:return null}},So=T=>{var kt;const se=window.sprigAPI,ae=T.target;if(!se||!ae)return;const ze=[ae,ae.parentElement];for(const Te of ze)if(((kt=Te==null?void 0:Te.tagName)==null?void 0:kt.toLowerCase())==="a"){T.preventDefault(),se==null||se.openUrl(Te.href);return}},jo=!y&&((m==null?void 0:m.framePosition)==="center"||(m==null?void 0:m.desktopDisplay)==="center-modal"||((m==null?void 0:m.placement)||"").includes("center"));return u("div",{className:L("ul-app",A.shouldDirectEmbed(a)?"ul-app--visible":"ul-app--overlay"),dir:"auto",id:H.APP_ID,onClick:So,ref:C,style:{"--theme":t,...d?{fontFamily:d.replace(";","")}:{},...jo?{position:"relative"}:{}},children:u("div",{className:"ul-app__container",children:u("div",{className:L(V("ul-card__container",y,b)),style:{...b!=="feedbackButton"||(m==null?void 0:m.desktopDisplay)==="center-modal"?{borderColor:t}:{},...(m==null?void 0:m.desktopDisplay)==="slider"?{margin:"0px"}:{}},children:[q()&&u("div",{className:L(V("close-container",y)),children:u("div",{"aria-label":"Close button",className:"close-btn",onClick:R,onKeyPress:O,role:"button",tabIndex:0,children:u("svg",{fill:"none",height:"18px",viewBox:"0 0 13 13",width:"18px",xmlns:"http://www.w3.org/2000/svg",children:u("path",{d:"M2.54964 1.78369L1.78369 2.54964L5.73405 6.5L1.78369 10.4504L2.54964 11.2163L6.5 7.26595L10.4504 11.2163L11.2163 10.4504L7.26595 6.5L11.2163 2.54964L10.4504 1.78369L6.5 5.73405L2.54964 1.78369Z",fill:"#262136"})})})}),f&&u("div",{className:"ul-header__container",dir:"ltr",children:u("div",{className:"ul-header",children:"For development purposes only"})}),h&&u("div",{className:"ul-header__container",dir:"ltr",children:u("div",{className:"ul-header",children:"Preview Mode: Response will not be recorded."})}),u("div",{className:L(Or("ul-card-main-content",D)),children:Fe()}),u(Pi,{})]})})})},Di='html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ol,ul{padding-inline-start:1em}.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}}.ul-card{flex:1 1 auto;border-radius:2px;display:flex;flex-direction:column;font-size:17px;line-height:19px;margin:auto;text-align:start;min-width:200px}.ul-card__container--desktop{border:2px solid #fff;box-shadow:0 0 15px #00000026;margin:15px}.ul-card__container--mobile{border-width:0;box-shadow:0 0 5px #00000040;margin-top:5px}.ul-card__container{background:#fff;border-radius:6px;display:flex;flex-direction:column;flex-grow:1;flex:1 1 auto;font-size:17px;line-height:23px;overflow:auto;padding:20px 20px 5px;position:relative;text-align:center;word-break:break-word}.ul-card__container--desktop_feedbackButton{box-shadow:unset}.ul-card-vertical__button-wrapper{flex-direction:column;align-items:center}.ul-card__button-wrapper{margin-top:4px;margin-bottom:3px;display:flex;gap:16px;justify-content:center}.ul-rich-text-body{min-height:2em}.ul-rich-text-body,.ul-rich-text-body p{margin-top:10px;margin-bottom:10px}.ul-rich-text-body li{margin:5px 0}.ul-rich-text-body p,.ul-rich-text-body li{font-size:15px;line-height:130.35%;letter-spacing:.02em;color:#343442;text-align:start;white-space:pre-line}.ul-rich-text-body:last-child,.ul-rich-text-body li:last-child{margin-bottom:15px}.ul-card-main-content__link,.ul-card-main-content__email{flex-grow:55;display:flex}.ul-card-main-content__web,.ul-card-main-content__android,.ul-card-main-content__ios{margin-bottom:5px}.question-header-container{margin-bottom:15px}.ul-question{color:#343442;display:block;font-size:20px;line-height:125%;font-weight:500;cursor:default;text-align:start}.ul-question ol,.ul-question ul,.ul-caption ol,.ul-caption ul{margin-left:1em}.ul-caption{flex:1 0 auto;font-size:15px;line-height:130.35%;letter-spacing:.02em;color:#6c6c6e;text-align:start;margin-top:8px}.ul-card__choices{margin:5px 0 0;flex:1 0}.choice--mobile{border:2px solid #e6e6e6}.choice--desktop{border:1px solid #e6e6e6}.choice{align-items:flex-start;color:#262136;cursor:pointer;display:flex;justify-content:flex-start;flex-direction:column;box-sizing:border-box;border-radius:3px;margin-bottom:7px;font-size:15px;line-height:20px;padding:10px 20px 10px 15px;background-color:#00000003}.choice--desktop:hover,.choice--desktop:active,.choice--mobile:active{background-color:#0000000d}.choice-label-container{align-items:center;display:flex;flex-direction:row;flex:0 0 fit-content;gap:15px;height:fit-content;justify-content:flex-start;width:100%}.choice-text-entry-container{width:100%;height:fit-content;flex:0 1 fit-content;overflow:hidden}.choice .choice-text-input--mobile{max-height:63px}.choice .choice-text-input--desktop{max-height:150px}.choice .choice-text-input{box-sizing:border-box;background-color:transparent;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;min-height:20px;max-height:60px;padding:0;margin-top:8px;resize:none;width:100%;font-size:14px;line-height:20px;outline:none;border:none;overflow-wrap:break-word}.choice .choice-text-input::placeholder{color:#6c6c6e80}.ul-thanks-check{text-align:center;margin-bottom:20px}.ul-card--thanks-content{padding:20px 0 10px}.ul-card--thanks .ul-question{padding-top:0;text-align:center}.ul-card--thanks .ul-caption{padding-top:0;text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-lines:no-limit}.ul-card--uploading .ul-question{padding-top:15px;text-align:center}.ul-card--uploading .ul-caption{padding-top:5px;text-align:center;overflow-wrap:break-word}.select-checkbox{height:16px;width:16px;display:flex;box-sizing:border-box;background-color:"transparent";align-items:center;justify-content:center;border-radius:4px;border:1px solid #B0B5B7;flex-shrink:0}.select-radio{height:16px;width:16px;border-radius:16px;border:1px solid #323232;display:flex;box-sizing:border-box;box-shadow:inset 2px 2px #0000001a;background-color:"transparent";align-items:center;justify-content:center}.footer{width:100%;margin-top:12px;font-size:12px;line-height:12px;color:#000000b3}[class^=CenteredSurveyLayout] .ul-header__container,[class^=QuestionConceptTestLayout] .ul-header__container,.ul-websurvey-frame .ul-card__container,.ul-websurvey-frame-mobile .ul-card__container{margin-bottom:unset}[class^=CenteredSurveyLayout] .ul-card__container,[class^=QuestionConceptTestLayout] .ul-card__container,.ul-websurvey-frame .ul-card__container,.ul-websurvey-frame-mobile .ul-card__container{align-self:center;box-shadow:unset;border-radius:unset;border:none!important;position:unset;width:100%}@media only screen and (min-height: 600px) and (width: 600px){.ul-card{position:relative;top:-20px}}.ul-vertical-centered-container{display:flex;flex-direction:column;align-items:center}.ul-consent-legal__name-input--mobile{border:2px solid #e6e6e6}.ul-consent-legal__name-input--desktop{border:1px solid #e6e6e6}.ul-consent-legal__name-input{background:#00000003;box-sizing:border-box;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;padding:10px 20px 10px 15px;border-radius:3px;font-size:15px;line-height:20px;margin-bottom:7px;width:100%}.ul-consent-legal__name-input::placeholder{color:#6c6c6e80}.ul-consent-legal__name-input:focus{outline:none;background:#fff}.ul-consent-legal__name-input--desktop:hover:not(:focus){background-color:#0000000d}.ul-card__consent-legal .choice{font-size:15px;padding:10px 15px;background-color:#00000003}.ul-card__consent-legal .choice--desktop:hover,.ul-card__consent-legal .choice--desktop:active,.ul-card__consent-legal .choice--mobile:active{background-color:#0000000d}.ul-card--likert__numbers{align-items:center;border-radius:5px;display:flex;flex-direction:row;flex:1 0;justify-content:center;margin:5px 0 0}.ul-card--likert__numbers>button{padding:unset}.likert-number--mobile{border:2px solid #e6e6e6}.likert-number--mobile:not(:first-child){margin-inline-start:-2px}.likert-number--desktop{border:1px solid #e6e6e6}.likert-number--desktop:not(:first-child){margin-inline-start:-1px}.likert-number{align-items:center;cursor:pointer;display:flex;justify-content:center;flex:1 0;background-color:#00000003;font-size:18px;line-height:24px;height:67px}.likert-number:first-child{border-start-start-radius:5px;border-end-start-radius:5px}.likert-number:last-child{border-start-end-radius:5px;border-end-end-radius:5px}.likert-number:active,.likert-number--desktop:hover{background-color:#0000000d;font-weight:500}.likert-star--mobile:not(:first-child){margin-inline-start:-2px}.likert-star--desktop:not(:first-child){margin-inline-start:-1px}.likert-star{align-items:center;cursor:pointer;display:flex;justify-content:space-between;flex:1 0;color:transparent;font-size:18px;line-height:24px;height:67px;background:unset;border:unset}.likert-smiley--mobile:not(:first-child){margin-inline-start:-2px}.likert-smiley--desktop:not(:first-child){margin-inline-start:-1px}.likert-smiley{align-items:center;cursor:pointer;display:flex;justify-content:space-between;flex:1 0;color:transparent;line-height:24px;height:67px;background:unset;border:unset}.likert-smiley>svg{margin:0 auto}.likert-smiley circle:not(:first-child){fill-opacity:1}.ul-card--likert__labels{align-items:center;color:#262136;display:flex;flex-direction:row;flex:1 0;font-weight:500;font-size:13px;line-height:15px;justify-content:space-between;margin:7px 0 10px}.ul-card--matrix_grid{display:grid;grid-template-columns:max-content repeat(var(--numColumns),minmax(107px,1fr));grid-template-rows:repeat(var(--numRows),min-content);margin:0 auto;row-gap:4px;width:max-content}.ul-matrix-row-options{display:grid;grid-column:2/-1;grid-template-columns:subgrid}.ul-matrix-column-label{font-size:15px;max-width:150px;padding:10px 12px;text-align:center}.ul-card--matrix_container{margin-bottom:16px;overflow:auto}.ul-card--matrix_question_container{display:flex;flex-direction:column}.ul-matrix-scroll-gradient{-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}.ul-matrix-scroll-gradient:dir(rtl){-webkit-mask-image:linear-gradient(270deg,#000,90%,transparent);mask-image:linear-gradient(270deg,#000,90%,transparent)}.ul-matrix-scroll-gradient:dir(rtl)+.ul-matrix-scroll-arrow{rotate:180deg}.ul-matrix-scroll-arrow{align-self:flex-end;background:none;border:none;color:#000;padding:0;position:absolute;top:45%}.ul-matrix-scroll-arrow:hover{cursor:pointer}.ul-matrix-option-wrapper{align-items:center;background:#f9f9f8;display:flex;justify-content:center;padding:10px 12px}.ul-matrix-last-option{border-start-end-radius:4px;border-end-end-radius:4px}.ul-matrix-row-label{align-items:center;background:#f9f9f8;border-end-start-radius:4px;border-start-start-radius:4px;display:flex;font-size:15px;left:0;right:0;max-width:200px;min-width:100px;padding:10px 12px;position:sticky}.ul-matrix-option-selected{border:6px solid var(--border);box-shadow:none}.ul-card__matrix{max-width:100%}.select-label{cursor:pointer;flex:1;overflow-wrap:anywhere;text-align:start}.ul-card--nps__numbers{align-items:center;border-radius:5px;display:flex;flex-direction:row;flex:1 0;justify-content:center;margin:5px 0 0}.nps-number--mobile{border:2px solid #e6e6e6}.nps-number--mobile:not(:first-child){margin-inline-start:-2px}.nps-number--desktop{border:1px solid #e6e6e6}.nps-number--desktop:not(:first-child){margin-inline-start:-1px}.nps-number{align-items:center;cursor:pointer;display:flex;justify-content:center;flex:1 0;background-color:#00000003;font-size:18px;line-height:24px;height:67px;padding:unset}.nps-number:first-child{border-start-start-radius:5px;border-end-start-radius:5px}.nps-number:last-child{border-start-end-radius:5px;border-end-end-radius:5px}.nps-number:active,.nps-number--desktop:hover{background-color:#0000000d;font-weight:500}.ul-card--nps__labels{align-items:center;color:#262136;display:flex;flex-direction:row;flex:1 0;font-weight:500;font-size:13px;line-height:15px;justify-content:space-between;margin:7px 0 10px}.ul-card-text{flex:1 0 auto;margin-top:2px;margin-bottom:3px;align-items:center;display:flex;flex-wrap:wrap;justify-content:center;padding:0}.ul-card-text__container{align-items:center;box-sizing:border-box;border-radius:3px;display:flex;justify-content:center;margin-bottom:12px;flex:1 0 100%}.ul-card-text__input--mobile{border:2px solid #e6e6e6;max-height:63px}.ul-card-text__input--desktop{border:1px solid #e6e6e6;max-height:150px}.ul-card-text__input{background:#00000003;box-sizing:border-box;color:#343442;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;min-height:63px;overflow:auto;padding:12px;resize:none;width:100%;border-radius:3px;font-size:15px;line-height:20px;overflow-wrap:break-word}.ul-card-text__input::placeholder{color:#6c6c6e80}.ul-card-text__input:focus{outline:none;background:#fff}.ul-card-text__input--desktop:hover:not(:focus){background-color:#0000000d}.ul-card__text-url-prompt-button{text-decoration:none;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:-webkit-fill-available}#ul-card-voice__video{align-items:center;display:flex;flex-direction:column}#ul-card-voice__video>div{margin-bottom:10px;width:100%}#ul-card-video__player_recorder{width:100%;width:-moz-available;width:-webkit-fill-available;width:fill-available}.ul-card-record__task{flex:1 0 auto;margin-top:2px;margin-bottom:3px;align-items:center;display:flex;flex-wrap:wrap;justify-content:center;padding:0}#ul-record-task-upload-progress,#ul-record-task-video-preview{width:100%;height:150px}.ul-permission-graphics-container{width:100%;height:150px;background-color:#0000000d;text-align:center;flex-direction:column;margin-left:auto;margin-right:auto;border-radius:5px;display:flex;align-items:center;font-size:15px;color:#000000b3}.ul-av-permission-denied-paragraph{margin:auto 15px;font-size:12px}.ul-av-permission-denied-headline{font-size:14px;color:#262136;text-decoration:underline;font-size:12px}.ul-permission-body{color:#000;margin:5px auto 5px 5px;line-height:135%;text-align:center}.ul-select-tab-container{width:240px;height:46px;background:#fff;border-radius:5px;text-align:start;align-items:center;display:flex;padding:0 5px;margin-top:20px;margin-bottom:auto}.ul-select-tab-text{color:#4b575d;margin:5px;line-height:135%;text-align:center}button.ul-task-skip-button{color:#000;background-color:#fff}#ul-task-detail-container{margin-top:0;margin-bottom:0;overflow:auto}#ul-task-detail-container.ul-rich-text-body p,#ul-task-detail-container.ul-rich-text-body li,#ul-task-detail-container.ul-rich-text-body{color:#4c4c4c}#ul-task-detail-container :first-child{margin-top:0}#ul-task-detail-container :last-child{margin-bottom:20px}.ul-horizontal-button-container{width:100%;display:flex;flex-direction:row}.ul-skip-button-below{margin-top:5px}.ul-horizontal-button-container-center{justify-content:center}.ul-vertical-button-container-center{display:flex;flex-direction:column;align-items:center}.ul-horizontal-button-container-left{justify-content:flex-start}.ul_recorded-task-inset-spacing{margin-top:5px;margin-bottom:24px}.ul_permission_svg_container{justify-content:center}.ul-card-text__button{background-color:var(--theme);border-radius:3px;border:none;color:#fff;cursor:pointer;font-size:15px;font-weight:500;line-height:18px;padding:10.5px 21px}.ul-card-text__button:disabled,.ul-card-text__button.sprig-button-disabled{background-color:#0000001a;color:#0003}.ul-card-text__button.ul-button-inactive{background-color:#fff!important;color:#5d696f!important}.ul-card-skip__button{color:#00000080;background:none;border:none;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;cursor:pointer}.ul-card-button-group{align-items:center;display:flex;gap:15px;justify-content:center;flex-direction:column}.select-button{align-items:center;background-color:transparent;border-radius:8px;border:1px solid #0b2330;box-shadow:0 0 0 2px #c8cccc;cursor:pointer;display:flex;font-size:15px;justify-content:space-between;margin-bottom:8px;padding:4px 8px 4px 16px;width:100%}.select-button:hover{background-color:#f3f3f3}.select-button:active{background-color:#eee}.select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-button.select-button-placeholder{color:#b0b5b7}.select-button svg{flex-shrink:0}.select-list{position:relative;height:fit-content;max-height:190px;padding:4px 0;z-index:100;background-color:#fff;border:1px solid #E2E3E1;box-shadow:0 16px 24px #0b23300d,0 4px 12px #0b233008;border-radius:8px;overflow-y:scroll;width:100%}.select-option{align-items:center;cursor:pointer;display:flex;font-size:15px;gap:16px;line-height:20px;padding:8px 16px}.select-option:hover{background-color:#f3f3f3}html,body{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;height:100%;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-webkit-touch-callout:none}b{font-weight:500}#ul-app{opacity:0;width:100%;flex-grow:2;display:flex}#ul-app.ul-app--overlay{position:absolute;bottom:0;transition:opacity .1s ease-out;transition-delay:.1s}#ul-app.ul-app--visible{opacity:1;bottom:0}.ul-app__container{width:100%;display:flex;flex-direction:column;max-height:100vh}.ul-header__container{margin-bottom:15px}.ul-header{align-items:center;background:repeating-linear-gradient(120deg,#ebebeb,#ebebeb 24px,#fff 24px,#fff 48px);border-bottom:2px solid #ebebeb;display:flex;font-size:14px;font-weight:500;height:40px;justify-content:center;left:0;position:absolute;top:0;width:100%}.ul-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:auto;flex-grow:1;width:100%}.ul-footer>.yellow-footer-logo{background:#fad133;border:1px solid #f9c600;border-radius:14px;padding:6px 12px}.ul-footer>.yellow-footer-logo:hover{background:#f9c600}.ul-footer .thank-you-card-link{background:#00000003;border:1px solid #e6e6e6;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;gap:12px;margin-bottom:15px;padding:12px;text-align:initial;width:280px}.ul-footer .thank-you-card-link:hover{background:#00000008}.ul-footer>a{color:inherit}.ul-footer-bubble{display:inline-block;margin:0 3px;width:7px;height:7px;border-radius:3px;border:1px solid transparent}.sprig-box-logo{background:#f9c600;border-radius:5px;display:flex;padding:4px}.close-container{display:flex;justify-content:flex-end;width:100%}.close-btn{cursor:pointer;height:18px;margin-inline-end:-10px;position:relative;top:-10px;width:18px;z-index:1}.ul-app__container{transition:opacity .3s ease-out}.ul-center-horizontally{text-align:center}#ul-progress-bar-container{width:100%;height:2px;background-color:#0000001a;border-radius:2px;max-width:250px;margin:25px 0}#ul-progress-bar-current{transition:width 1s ease;width:0%;height:0;border-radius:2px}.prototype-button{width:100%;background:#00000003;border:1.5px solid #e6e6e6;border-radius:4px 0 0 4px;flex:none;flex-grow:1;margin:0;padding:20px 0;font-size:14px;font-family:inherit;text-decoration:underline}.prototype-button:hover{cursor:pointer}',Oi=async(e,t)=>{var o;const n=await fetch(t,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(n.ok){const r=await n.json();return(o=r==null?void 0:r.upload)==null?void 0:o.url}else return null},Eo=()=>MediaRecorder.isTypeSupported("video/webm")?"video/webm":"video/mp4",rn=e=>{const t={audioBitsPerSecond:128e3,videoBitsPerSecond:25e5,mimeType:Eo()};return new MediaRecorder(e,t)},sn=(e,t,n)=>{n[t]=[],e.ondataavailable=function(o){n[t].push(o.data)},e.currentMediaRecordingUid=t,e.start()};function ln(e,t,n,o,r,i){if(e&&e.state!=="inactive"){const{"begin.callback":s}=o,c=e.currentMediaRecordingUid;if(!c)return;s&&s(c),e.onstop=()=>Li(t,e,n,o,c,r,i),e.stop()}}async function Li(e,t,n,o,r,i,s){const c=U.getState().viewDocument,{"upload.callback":d,"progress.callback":a}=o,p={mediaType:n,updatedAt:new Date().toISOString(),mediaRecordingUid:r,...o["passthrough.data"]},l=await Oi(p,e);if(!l){d&&d(null,{message:"failed to get upload url"});return}const h=new Blob(s,{type:Eo()});if(!c.defaultView)return;const m=new c.defaultView.File([h],`recording video ${Date.now()}`),v=i.createUpload({endpoint:l,file:m,chunkSize:5120});v.on("error",f=>{d&&d(null,f)}),v.on("progress",f=>{a&&a(r,f)}),v.on("success",()=>{d&&d(r,!0)})}const Ni={chunks:{}},Ai={state:{...Ni},stopRecording(e){const{uploadApiEndpoint:t,avRecorder:n,screenRecorder:o,UpChunk:r}=this.state,i=this.state.avStream&&this.state.avStream.getVideoTracks().length>0?"video":"audio";this.state.chunks&&t&&r&&(n!=null&&n.currentMediaRecordingUid&&ln(n,t,i,e,r,this.state.chunks[n==null?void 0:n.currentMediaRecordingUid]),o!=null&&o.currentMediaRecordingUid&&ln(o,t,"screen",e,r,this.state.chunks[o==null?void 0:o.currentMediaRecordingUid]))},handleCancelledStream(e){const t=e.getVideoTracks(),n=e.getAudioTracks();let o=t.length&&t[0];o=o||n.length&&n[0],o&&o.addEventListener("ended",()=>{[this.state.avRecorder,this.state.screenRecorder].map(r=>{r&&(r.state==="recording"&&r.stop(),r.stream.getTracks().map(i=>{i.readyState==="live"&&i.stop()}))}),Object.assign(this.state,{avStream:null,captureStream:null,avRecorder:null,screenRecorder:null})})},taskDurationMillisecond(){return this.state.startTime?new Date().getTime()-this.state.startTime.getTime():0},setUpChunk(e){this.state.UpChunk=e},configure(e,t){Object.assign(this.state,t),this.state.uploadApiEndpoint=`${t.apiURL}/2/environments/integrations/upload`,this.state.chunks={},e.on("permission.status",this.permissionStatusCallback.bind(this)),e.on("av.permission",async n=>{this.avPermissionCallback(n)}),e.on("begin.recording",this.beginRecordingCallback.bind(this)),e.on("start.task",this.startTaskCallback.bind(this)),e.on("screen.permission",async n=>{this.screenPermissionCallback(n)}),e.on("finish.task",async n=>{this.finishTaskCallback(n)})},async avPermissionCallback(e){var o,r,i;const{"stream.ready":t,"permission.descriptors":n}=e;try{(o=this.state.avStream)!=null&&o.active&&(this.state.avStream.getTracks().map(s=>s.readyState==="live"&&s.stop()),((r=this.state.captureStream)==null?void 0:r.getAudioTracks().length)===1&&this.state.captureStream.removeTrack(this.state.captureStream.getAudioTracks()[0])),this.state.avStream=await navigator.mediaDevices.getUserMedia({video:n.includes("camera"),audio:!0}),((i=this.state.captureStream)==null?void 0:i.getAudioTracks().length)===0&&this.state.captureStream.addTrack(this.state.avStream.getAudioTracks()[0]),this.handleCancelledStream(this.state.avStream)}catch(s){console.warn("Error: failed to get permissions: "+s),t&&t(null,null);return}t&&t(this.state.avStream,this.state.captureStream)},async screenPermissionCallback(e){const{"screen.permission.requested":t,"stream.ready.callback":n}=e;t==null||t(!0);try{this.state.captureStream=await navigator.mediaDevices.getDisplayMedia({video:!0,cursor:"always",displaySurface:"browser",preferCurrentTab:!0})}catch(o){t==null||t(!1),console.warn("Error: failed to get permissions: "+o),n&&n(null,null);return}t==null||t(!1),this.state.avStream&&this.state.avStream.getAudioTracks().length>0&&this.state.captureStream.addTrack(this.state.avStream.getAudioTracks()[0]),this.handleCancelledStream(this.state.captureStream),n&&n(this.state.avStream||null,this.state.captureStream)},beginRecordingCallback(e){const{"recording.media.types":t,"start.recording.callback":n=()=>{}}=e;if(!t)return;const o=[];if(t.includes("video")&&this.state.avStream){this.state.avRecorder=rn(this.state.avStream);const r=A.v4();sn(this.state.avRecorder,r,this.state.chunks),o.push(r)}if(t.includes("screen")&&this.state.captureStream){this.state.screenRecorder=rn(this.state.captureStream);const r=A.v4();sn(this.state.screenRecorder,r,this.state.chunks),o.push(r)}o&&n&&n(o)},async finishTaskCallback(e){const{"current.index":t,"task.response":n,"task.complete.callback":o}=e;await this.stopRecording(e),o&&o(this.taskDurationMillisecond()),this.state.cards&&this.state.hasEndCard!==void 0&&this.lookAheadAndStopStream(t,n,this.state.cards,this.state.hasEndCard)},startTaskCallback(){this.state.startTime=new Date},permissionStatusCallback(e){var o;const{["permission.status.callback"]:t}=e,n=this.state.avStream;t&&t(n,n?(n==null?void 0:n.getVideoTracks().length)>0:!1,!!((o=this.state.captureStream)!=null&&o.active),this.state.captureStream)},lookAheadAndStopStream(e,t,n,o){const{avRecorder:r,screenRecorder:i}=this.state,{allResponses:s}=U.getState(),c=ro({cards:n,index:e,hasEndCard:o,allResponses:s});c!==null&&n[c].type==="recordedtask"||[r,i].map(d=>{d&&(d.state==="recording"&&d.stop(),d.stream.getTracks().map(a=>{a.readyState==="live"&&a.stop()}))})}},Le=Object.create(Ai);Object.freeze(Le);const Mi=(e,t)=>{const n=[...e],o=new Set(["videovoice","recordedtask"]);return e.some(r=>o.has(r.type))&&n.push({name:-2,props:{routingOptions:[]},type:"uploading"}),t&&n.push({name:-1,props:{routingOptions:[]},type:"thanks"}),n},$i=({mode:e=null,viewWindow:t,viewDocument:n,trackPageViewUrl:o})=>{const r=n.documentElement;let i;try{i=t.parent.location.href}catch{i=t.location.href}return{mode:e,sw:t.screen.width,sh:t.screen.height,cw:r.clientWidth,ch:r.clientHeight,p:o??i,l:t.navigator.language}};function Ui(e,t=!0){var x;const{answers:n,apiURL:o,endCard:r,eventEmitFn:i,fontFamilyURL:s,frame:c,previewKey:d,viewDocument:a,viewWindow:p}=e,l=A.shouldDirectEmbed(e.headers)?e.frame:a.body,h=e.UpChunk||window.UpChunk,m=A.eventEmitter,v=Mi(e.cards,!!r);Le.configure(m,{cards:v,hasEndCard:!!r,apiURL:o,UpChunk:h}),U.setState({apiURL:o,answers:n,border:e.border,index:e.startingQuestionIdx||0,cards:v,configureExitOnOverlayClick:e.configureExitOnOverlayClick,customMetadata:e.customMetadata,endCard:e.endCard,envId:e.envId,eventEmitFn:i,fontFamily:e.fontFamily,forceBrandedLogo:e.forceBrandedLogo,frame:c,headers:e.headers,hasViewedEmbed:!1,isPreview:e.isPreview,marketingUrl:"https://sprig.com",meta:$i({mode:e.mode,viewWindow:p,viewDocument:a,trackPageViewUrl:e.trackPageViewUrl}),mode:e.mode,previewKey:d,previewMode:e.previewMode,productConfig:e.productConfig,recorder:Le,recorderEventEmitter:m,responseGroupUid:e.responseGroupUid,showStripes:e.showStripes,showSurveyBrand:e.showSurveyBrand,slugName:e.slugName,styleNonce:e.styleNonce,studyType:e.studyType,surveyId:e.surveyId,tabTitle:e.tabTitle,uploadingCardViewed:!1,uploadProgress:{},useMobileStyling:e.useMobileStyling,useDesktopPrototype:e.useDesktopPrototype,userId:e.userId,viewDocument:e.viewDocument,visitorAttributes:e.visitorAttributes,viewedCardCount:e.startingQuestionIdx||0});const{head:f}=a;if(H.setSurveyStyles({document:a,elementId:"sprig-style",styleString:Di}),e.customStyles&&H.setSurveyStyles({document:a,elementId:"ul-custom-style",styleString:e.customStyles,nonce:e.styleNonce}),e.fontFamily&&s&&parent){const y=a.createElement("link");y.rel="stylesheet",y.href=s,f.appendChild(y)}if(!h)if(e.installationMethod!=="web-npm"){const y=a.createElement("script");y.src=e.upchunkLibraryURL??"https://cdn.sprig.com/userleap-web-upchunk-v2.2.2.js",y.onload=()=>{Le.setUpChunk(p.UpChunk)},y.onerror=()=>{console.warn("[Sprig] - recording functionality not configured due to UpChunk library load failure")},f.appendChild(y)}else console.warn("[Sprig] - recording functionality not configured due to missing UpChunk dependency");const b="2.31.4",_=i||((x=c.eventEmitter)==null?void 0:x.emit);_==null||_("verify.view.version",{"view.version":b}),l&&t&&ge(u(Ii,{}),l)}const Hi={configure:Ui};exports.default=Hi;