@sprig-technologies/sprig-browser 2.40.0 → 2.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/conversational-styles-BiL7hMhj.js +4 -0
  2. package/dist/conversational-styles-DlhTFTL6.cjs +1 -0
  3. package/dist/conversational-ui-DWOygt3h.cjs +1 -0
  4. package/dist/conversational-ui-Qad4jSLB.js +579 -0
  5. package/dist/{core-CvM2f3CD.cjs → core-oShYwNGS.cjs} +3 -3
  6. package/dist/{core-CzqULo6b.js → core-swSxd_ys.js} +447 -454
  7. package/dist/core.cjs +1 -1
  8. package/dist/core.d.ts +11 -0
  9. package/dist/core.js +2 -2
  10. package/dist/debounce-CMb8f7wh.js +9 -0
  11. package/dist/debounce-DsC7462b.cjs +1 -0
  12. package/dist/{getAttributedUrl-DUesmkhh.js → getAttributedUrl-C8OLV7E9.js} +241 -244
  13. package/dist/{getAttributedUrl-C1AsMcwH.cjs → getAttributedUrl-DuHEi0A7.cjs} +6 -6
  14. package/dist/index-DCMlaRyW.cjs +1 -0
  15. package/dist/index-Zzh93qL6.js +695 -0
  16. package/dist/index.cjs +1 -1
  17. package/dist/index.d.ts +11 -0
  18. package/dist/index.js +2 -2
  19. package/dist/{metricsReporter-BChkCOLD.js → metricsReporter-D0NmprYW.js} +1 -1
  20. package/dist/{metricsReporter-Bqy_vLyq.cjs → metricsReporter-DC-3J5Sa.cjs} +1 -1
  21. package/dist/replay.cjs +1 -1
  22. package/dist/replay.js +134 -138
  23. package/dist/view-Cu1EeVuN.js +1503 -0
  24. package/dist/view-DAxlTNxd.cjs +1 -0
  25. package/package.json +1 -1
  26. package/dist/conversational-styles-CWNea3pP.js +0 -4
  27. package/dist/conversational-styles-CzhxRRD3.cjs +0 -1
  28. package/dist/conversational-ui-D2Y5H9To.js +0 -610
  29. package/dist/conversational-ui-DJlCFQ-6.cjs +0 -1
  30. package/dist/index-D1_q2uph.cjs +0 -1
  31. package/dist/index-mshAF3wp.js +0 -709
  32. package/dist/view-C7XtFlCN.cjs +0 -1
  33. package/dist/view-afp9mz2J.js +0 -1491
@@ -1,15 +1,15 @@
1
- "use strict";const r=require("./view-C7XtFlCN.cjs"),G=require("./core-CvM2f3CD.cjs"),Re=require("./metricsReporter-Bqy_vLyq.cjs"),le=e=>r.u("button",{...e,className:r.cc("ul-card-text__button",e.className),id:"ul-card-text__button"}),ye=({html:e,...n})=>{const{enableCspTrustedTypes:o,update:t}=r.useConfig(l=>({enableCspTrustedTypes:l.enableCspTrustedTypes,update:l.update}));r.p(()=>{t()},[t]);const i=r.F(()=>G.getHtml(e,o),[o,e]);return r.u("div",{...n,dangerouslySetInnerHTML:{__html:i}})},ae=()=>{const{viewDocument:e}=r.useConfig(t=>({viewDocument:t.viewDocument})),[n,o]=r.h(!1);return r.p(()=>{const t=e.querySelector(".sprig-question-body"),i=new ResizeObserver(()=>{window.requestAnimationFrame(()=>{o(!!(t&&G.isHTMLElement(t)&&t.scrollHeight>t.offsetHeight))})});return t&&i.observe(t),()=>{t&&i.disconnect()}},[e]),n},de=({plainText:e,richText:n,id:o,className:t,isHeader:i,showAsterisk:l})=>n?r.u(ye,{className:t,html:n,id:o}):e?i?r.u("h1",{className:t,id:o,children:[e,l&&"*"]}):r.u("p",{className:t,id:o,children:e}):null,Pe=()=>{const{cards:e,close:n,endCard:o,headers:t,index:i}=r.useConfig(a=>({cards:a.cards,close:a.close,endCard:a.endCard,headers:a.headers,index:a.index,useMobileStyling:a.useMobileStyling})),l=e.length,d=r.F(()=>()=>n(G.APP_ID),[n]);return["email","link"].includes(t["userleap-platform"])||o&&i+1===l?null:r.u("div",{"aria-label":"Close button",className:"close-btn",onClick:d,onKeyPress:a=>{a.key==="Enter"&&d()},role:"button",tabIndex:0,children:r.u("svg",{fill:"none",height:"16px",viewBox:"0 0 13 13",width:"16px",xmlns:"http://www.w3.org/2000/svg",children:r.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"})})})},_e=()=>r.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:r.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),ce=({buttonText:e="View Prototype",handleClick:n})=>r.u("button",{className:"prototype-button",onClick:n,children:e},"prototype-btn"),Ee=({isSelected:e,id:n,divId:o,themeColor:t,disabled:i=!1})=>r.u("div",{"aria-checked":e,"aria-disabled":i,"aria-labelledby":`label-${n}`,className:"select-checkbox",id:o,role:"checkbox",style:{...e?{backgroundColor:t,borderColor:t,boxShadow:"none"}:{},...i?{opacity:.5}:{}},tabIndex:i?-1:0,children:e&&r.u(r.SvgCheckmark,{})}),xe=(e,n)=>{const o=r._(0);return()=>{if(e.current){const t=e.current;t.style.height="1px";const i=t.scrollHeight+(t.offsetHeight-t.clientHeight),l=parseInt(window.getComputedStyle(t).getPropertyValue("max-height")),d=i<=l?i:l;o.current!==d&&requestAnimationFrame(()=>{n()}),o.current=d,t.style.height=`${d}px`}}},Me=({promptText:e,textValue:n,onTextChange:o,useMobileStyling:t})=>{const i=r._(null),{update:l}=r.useConfig(a=>({update:a.update})),d=xe(i,()=>l());return r.p(()=>(d(),i.current&&i.current.focus(),()=>{l()}),[]),r.u("textarea",{"aria-label":e,"aria-multiline":"true","aria-placeholder":e,className:r.cc(r.getClasses("choice-text-input",t)),"data-gramm":"false",maxLength:5e3,name:"text",onChange:a=>{d(),a.stopPropagation(),o(a.currentTarget.value)},onClick:a=>{a.stopPropagation()},onKeyPress:a=>{a.stopPropagation()},placeholder:e,ref:i,role:"textbox",rows:1,value:n})},ue="ul-select-style-element",J="ul-select-active-dynamic-style",je="ul-select-error-dynamic-style",Oe=(e,n,o)=>{let t=e.getElementById(ue),i=!1;t||(t=e.createElement("style"),i=!0),t.tagName.toLowerCase()==="style"&&(t.id=ue,o&&(t.nonce=o),t.textContent=Be(n),i&&e.head.appendChild(t))},Be=e=>`
2
- .${J} {
1
+ "use strict";const i=require("./view-DAxlTNxd.cjs"),W=require("./core-oShYwNGS.cjs"),Le=require("./debounce-DsC7462b.cjs"),_e=require("./metricsReporter-DC-3J5Sa.cjs"),le=e=>i.u("button",{...e,className:i.cc("ul-card-text__button",e.className),id:"ul-card-text__button"}),ye=({html:e,...n})=>{const{enableCspTrustedTypes:o}=i.useConfig(r=>({enableCspTrustedTypes:r.enableCspTrustedTypes})),t=i.F(()=>W.getHtml(e,o),[o,e]);return i.u("div",{...n,dangerouslySetInnerHTML:{__html:t}})},ae=()=>{const{viewDocument:e}=i.useConfig(t=>({viewDocument:t.viewDocument})),[n,o]=i.h(!1);return i.p(()=>{const t=e.querySelector(".sprig-question-body"),r=new ResizeObserver(()=>{window.requestAnimationFrame(()=>{o(!!(t&&W.isHTMLElement(t)&&t.scrollHeight>t.offsetHeight))})});return t&&r.observe(t),()=>{t&&r.disconnect()}},[e]),n},de=({plainText:e,richText:n,id:o,className:t,isHeader:r,showAsterisk:l})=>n?i.u(ye,{className:t,html:n,id:o}):e?r?i.u("h1",{className:t,id:o,children:[e,l&&"*"]}):i.u("p",{className:t,id:o,children:e}):null,Pe=()=>i.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:i.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),Ee=(e,n)=>{const o=i._(0);return()=>{if(e.current){const t=e.current;t.style.height="1px";const r=t.scrollHeight+(t.offsetHeight-t.clientHeight),l=parseInt(window.getComputedStyle(t).getPropertyValue("max-height")),a=r<=l?r:l;o.current!==a&&requestAnimationFrame(()=>{n()}),o.current=a,t.style.height=`${a}px`}}},ce=({buttonText:e="View Prototype",handleClick:n})=>i.u("button",{className:"prototype-button",onClick:n,children:e},"prototype-btn"),xe=({isSelected:e,id:n,divId:o,themeColor:t,disabled:r=!1})=>i.u("div",{"aria-checked":e,"aria-disabled":r,"aria-labelledby":`label-${n}`,className:"select-checkbox",id:o,role:"checkbox",style:{...e?{backgroundColor:t,borderColor:t,boxShadow:"none"}:{},...r?{opacity:.5}:{}},tabIndex:r?-1:0,children:e&&i.u(i.SvgCheckmark,{})}),Oe=({promptText:e,textValue:n,onTextChange:o,useMobileStyling:t})=>{const r=i._(null),{update:l}=i.useConfig(d=>({update:d.update})),a=Ee(r,()=>l());return i.p(()=>(a(),r.current&&r.current.focus(),()=>{l()}),[]),i.u("textarea",{"aria-label":e,"aria-multiline":"true","aria-placeholder":e,className:i.cc(i.getClasses("choice-text-input",t)),"data-gramm":"false",maxLength:5e3,name:"text",onChange:d=>{a(),d.stopPropagation(),o(d.currentTarget.value)},onClick:d=>{d.stopPropagation()},onKeyPress:d=>{d.stopPropagation()},placeholder:e,ref:r,role:"textbox",rows:1,value:n})},ue="ul-select-style-element",K="ul-select-active-dynamic-style",je="ul-select-error-dynamic-style",Me=(e,n,o)=>{let t=e.getElementById(ue),r=!1;t||(t=e.createElement("style"),r=!0),t.tagName.toLowerCase()==="style"&&(t.id=ue,o&&(t.nonce=o),t.textContent=Be(n),r&&e.head.appendChild(t))},Be=e=>`
2
+ .${K} {
3
3
  border-color: ${e};
4
4
  }
5
- .${J} .select-radio, .${J}.select-radio {
5
+ .${K} .select-radio, .${K}.select-radio {
6
6
  border: 6px solid ${e};
7
7
  box-shadow: none;
8
8
  }
9
9
  .${je} {
10
- border-color: ${G.ERROR_BORDER_COLOR};
10
+ border-color: ${W.ERROR_BORDER_COLOR};
11
11
  }
12
- `,q="https://cdn.sprig.com",c={document:void 0,videojs:void 0},ie=e=>e+"-loading-spiner",I="hidden",pe=".m3u8",ee="questionId",ne="ul-video-recorder-camera-off-button",oe="ul-recording-in-session",He=[{type:"link",content:`${q}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${q}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${q}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${q}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${q}/userleap-web-upchunk-v2.2.2.js`}],ve=[{type:"link",content:`${q}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${q}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:`/* progress control styles */
12
+ `,q="https://cdn.sprig.com",c={document:void 0,videojs:void 0},ie=e=>e+"-loading-spiner",T="hidden",pe=".m3u8",ee="questionId",ne="ul-video-recorder-camera-off-button",oe="ul-recording-in-session",He=[{type:"link",content:`${q}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${q}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${q}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${q}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${q}/userleap-web-upchunk-v2.2.2.js`}],ve=[{type:"link",content:`${q}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${q}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:`/* progress control styles */
13
13
  .video-js .vjs-control {
14
14
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
15
15
  }
@@ -666,4 +666,4 @@ span.ul-button-text {
666
666
  .vjs-poster {
667
667
  background-size: cover;
668
668
  }
669
- `}],he="-video-player",me="-secondary-video-player",ge="-video-recorder";let H,be;const F=async({event:e,apiBase:n,headers:o,visitorId:t,envId:i,metadata:l})=>{const d=c.document.documentElement;if(!t||!i)return;const a={event:`SDK - ${e}`,visitorId:t,environmentId:i,metadata:{...l||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${n}/sdk/1/visitors/${t}/analytics`,{method:"POST",cache:"no-cache",headers:o,body:JSON.stringify(a)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},N=async(e,n,o,t,i,l)=>{F({event:`Video Error ${n}`,apiBase:o,headers:t,visitorId:i,envId:l,metadata:{errorMessage:e.message}});const d=c.document.documentElement,a={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language},s={action:n,err:{message:e.message,stack:e.stack},meta:a,vid:i,envId:l};(await fetch(`${o}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...t,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(s)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fe=(e,n)=>{if(e.length===0)return n&&n();Promise.all(e.reduce((o,t)=>(o.push(((i,{type:l,content:d})=>new Promise(function(a,s){let u;l==="script"?(u=c.document.createElement("script"),u.src=d):l==="link"?(u=c.document.createElement("link"),u.rel="stylesheet",u.href=d,u.type="text/css"):(u=c.document.createElement("style"),u.innerHTML=d),u.onload=function(){a(d)},u.onerror=function(){s(d)},u.async=!1,u.id=btoa(d),i.appendChild(u)}))(c.document.head,t)),o),[])).then(()=>{c.videojs=c.document.defaultView.videojs,n&&n()}).catch(function(o){console.log(o+" failed to load")})},Ce=(e,n,o)=>{if(n==="start"&&(e.style.visibility="visible"),n==="none")e.style.visibility=I;else if(n==="success")e.style.visibility=I,e.innerHTML="Upload succeeded!";else{const t=Math.round(parseFloat(o));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${t}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${t}%, #FCFCFD ${t}%, #FCFCFD 100%)`}},te=(e,n)=>{const o=c.videojs(e.id());return o==null?void 0:o.payload[n]},ke=(e,n)=>{const o=new(c.videojs.getComponent("Component"))(e);return o.addClass("ul-buttons-panel"),n.map(t=>{o.addChild(t)}),Se(o),o},Se=e=>{e.children().forEach(n=>{if(P[n.name_]){const o=Q(P[n.name_],`ul-${P[n.name_]}`);n.el_.appendChild(o)}})},Q=(e,n="")=>{const o=c.document.createElement("span");return o.className="ul-button-text",o.innerHTML=e,o.id=n,o},Ie=(e,n,o,t,i=!1,l)=>{e.addClass("ul-video-player");const d=new(c.videojs.getComponent("Component"))(e);d.addClass("ul-control-panel"),e.progressBar=d.addChild("ProgressControl"),o&&e.src(o),e.audioPlayerPlaceholder=new(c.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const a=o&&o.src?Ve(o.src):null;!o||!i&&a?(e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%",a&&e.poster(a)):(e.children()[0].classList.add("vjs-hidden"),c.document.getElementById(`${e.id()}_html5_api`).style.height="0px"),e.on("play",()=>{i||!o||a||Ne(e),l==null||l.play()}),e.on("pause",()=>{l==null||l.pause()}),e.on("seeked",()=>{l==null||l.currentTime(e.currentTime())}),e.on("ratechange",()=>{l==null||l.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),d.addChild(n),e.addChild(d),t&&t(e)},Ue=(e,n,o,t,i,l,d,a=!1)=>{be=Date.now();const s=X(n,{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(!s)return;s.payload=o;const{surveyId:u,questionId:m,responseGroupUid:j,visitorId:D,envId:T}=o;let v;const h=p=>{const C=ne,b=ne+"-audio-only";Ce(s.uploadProgressLabel,"none"),H&&H.startTime>=be&&H.abort();const E=c.document.getElementById("ul-camera-button");p?(s.children()[0].classList.add("vjs-hidden"),y.removeClass(C),y.addClass(b),E.innerHTML=P.TurnOnCamera,s.audioPlayerPlaceholder.removeClass("vjs-hidden"),v==null||v.getTracks().forEach(w=>{w.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(w=>{v=w,w.getVideoTracks().forEach(S=>{S.enabled=!1}),s.record().onDeviceReady(w)}).catch(s.record().onDeviceError.bind(s.record()))):(v==null||v.getVideoTracks().forEach(w=>{w.enabled=!0}),s.children()[0].classList.remove("vjs-hidden"),s.record().getDevice(),y.removeClass(b),y.addClass(C),E.innerHTML=P.TurnOffCamera,s.audioPlayerPlaceholder.addClass("vjs-hidden"))},g=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{g.hasClass(I)||(F({event:"Video Delete Button Clicked",apiBase:t,headers:d,visitorId:D,envId:T,metadata:{questionId:m,responseGroupUid:j,surveyId:u}}),h(s.cameraOff),i(f.DELETE,{}),y.removeClass(I),g.addClass(I))}});g.addClass("ul-video-recorder-delete-button"),g.el_.appendChild(Q(P.DeleteButton,"ul-delete-button"));const x=c.document.getElementById(n),k=()=>{x.classList.contains("vjs-fullscreen")&&s.cameraOff?x.style.display="table":x.style.display="flex"};k();const y=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{s.record().isRecording()||(s.cameraOff=!s.cameraOff,F({event:"Video Camera Button Clicked",apiBase:t,headers:d,visitorId:o.visitorId,envId:o.envId,metadata:{questionId:m,responseGroupUid:j,surveyId:u,cameraOff:s.cameraOff}}),h(s.cameraOff),!g.hasClass(I)&&g.addClass(I),i(f.DELETE,{}),k())}});y.addClass(ne),y.el_.appendChild(Q(P.TurnOffCamera,"ul-camera-button"));const L=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{const p=c.document.getElementById("ul-recorder-toggle");if(s.record().isRecording())s.record().stop(),p&&(p.innerHTML=P.RecordButton),L.removeClass(oe),g.removeClass(I);else{const C=c.document.getElementById("ul-recording-countdown-screen");if(C)C.remove(),p&&(p.innerHTML=P.RecordButton),h(s.cameraOff),i(f.DELETE,{}),y.removeClass(I),g.addClass(I),L.removeClass(oe),_.show();else{L.addClass(oe),_.hide(),y.addClass(I),g.addClass(I),p&&(p.innerHTML=P.StopButton);const b=c.document.createElement("div");b.id="ul-recording-countdown-screen",x.insertBefore(b,x.children[1]),b.style.height=`${x.offsetHeight}px`,De(s,3)}}}});L.addClass("ul-video-recorder-toggle-button"),L.el_.appendChild(Q(P.RecordButton,"ul-recorder-toggle"));const A=c.document.createElement("p");A.style.visibility="hidden",A.className="ul-upload-progress-label",e.appendChild(A),s.uploadProgressLabel=A;const W=ke(s,[g,y,"PlayToggle",L,"FullscreenToggle"]),_=W.children().find(p=>p.name_==="FullscreenToggle");_.hasClass("vjs-disabled")&&_.hide();const M=W.children().find(p=>p.name_==="PlayToggle");M.hide(),g.addClass(I),Ie(s,W,l,!1,a),s.on("stopRecord",()=>{L.hide(),M.show(),_.show(),g.removeClass(I)}),s.on("deviceReady",()=>{L.show(),M.hide(),g.addClass(I)}),((p,C,b,E,w)=>{const{surveyId:S,responseGroupUid:$,visitorId:R,envId:O}=p.payload;p.on("deviceError",function(){console.warn("device error: ",p.deviceErrorCode),p.deviceErrorCode.message==="Permission denied"?(p.deviceButton.addClass("permission-denied"),b&&b(f.ERROR,{type:f.PERMISSION_DENIED}),F({event:"Video Permission Denied",apiBase:C,headers:w,visitorId:R,envId:O,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})):(b&&b(f.ERROR,{type:f.OTHER}),N(new Error(p.deviceErrorCode.message),"recorderDeviceError",C,w,R,O))}),p.on("error",function(z,U){N(U||p.error(),"recorderError",C,w,R,O)}),p.on("startRecord",function(z,U){E(p.uploadProgressLabel,"none"),F({event:"Video Record Start",apiBase:C,headers:w,visitorId:R,envId:O,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})}),p.on("finishRecord",async function(){E(p.uploadProgressLabel,"start",0);const z=te(p,ee);if(!S){const B="internal error: missing fields in payload";return b&&b(f.ERROR,{type:f.OTHER}),N(new Error(B),"finishRecord",C,w,R,O),null}p.record().stopDevice();const U=p.cameraOff?f.MEDIA_TYPE_AUDIO:f.MEDIA_TYPE_VIDEO,V=Re.v4();F({event:"Video Record Finish",apiBase:C,headers:w,visitorId:R,envId:O,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U}});const Y={surveyId:S,updatedAt:new Date().toISOString(),mediaType:U,mediaRecordingUid:V};z&&(Y.questionId=z),$&&(Y.responseGroupUid=$),R&&(Y.visitorId=R);const K=await(async()=>{const B=await fetch(`${C}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(B.ok){const se=await B.json();return b&&b(f.UPLOAD_STARTED,{[f.UPLOAD_ID]:se.upload.id,[f.MEDIA_TYPE]:U,[f.MEDIA_RECORDING_UID]:V}),se.upload.url}return b&&b(f.ERROR,{type:f.OTHER,response:B}),N(new Error("failed to get upload response with url"),"finishRecord",C,w,R,O),null})();K&&(H=c.document.defaultView.UpChunk.createUpload({endpoint:K,file:new c.document.defaultView.File([p.recordedData],`recording ${U} ${Date.now()}`),chunkSize:5120}),H.startTime=Date.now(),F({event:"Video Upload Start",apiBase:C,headers:w,visitorId:R,envId:O,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:K}}),H.on("error",B=>{E(p.uploadProgressLabel,"none"),b&&b(f.UPLOAD_FINISHED,{[f.MEDIA_RECORDING_UID]:V}),N(B,"finishRecord",C,w,R,O)}),H.on("progress",B=>{b&&b(f.UPLOAD_PROGRESS,{[f.MEDIA_RECORDING_UID]:V,[f.UPLOAD_PROGRESS_PCT]:B.detail}),E(p.uploadProgressLabel,"progress",B.detail)}),H.on("success",()=>{E(p.uploadProgressLabel,"success"),b&&b(f.UPLOAD_FINISHED,{[f.MEDIA_RECORDING_UID]:V}),F({event:"Video Upload Success",apiBase:C,headers:w,visitorId:R,envId:O,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:K,elapsedMs:H.startTime&&Date.now()-H.startTime}})}))})})(s,t,i,Ce,d);const Z=[{name:"microphone"}];!s.cameraOff&&Z.push({name:"camera"}),Promise.all(Z.map(p=>{var C;return(C=navigator==null?void 0:navigator.permissions)==null?void 0:C.query(p)})).then(p=>{p.reduce((C,b)=>C&b.state==="granted",!0)&&s&&(s.deviceButton&&s.deviceButton.hide(),s.record().getDevice())}).catch(p=>{})},De=(e,n=3)=>{const o=c.document.getElementById("ul-recording-countdown-screen");o&&n===0?(o.remove(),e.record().start()):o&&(o.innerHTML=`<span class='ul-countdown-text'>Recording in... ${n}</span>`,setTimeout(()=>{De(e,n-1)},1e3))},we=e=>{const n=c.document.createElement("div");return n.className="ul-video-container",n.appendChild((o=>{const t=c.document.createElement("div");return t.className="ul-video-player-loading",t.id=ie(o),["first","second","third","fourth"].map(i=>{const l=c.document.createElement("div");l.className=i,t.appendChild(l)}),t})(e)),n},re=(e,n)=>{const o=c.document.createElement("video");o.id=e,o.className="video-js vjs-default-skin ul-video-player-video";const t=c.document.createElement("p");t.className="vjs-no-js",t.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const i=c.document.createElement("a");return i.href="https://videojs.com/html5-video-support/",i.target="_blank",i.innerHTML="supports HTML5 video",t.appendChild(i),o.appendChild(t),n.appendChild(o),n},Ne=(e,n)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},X=(e,n)=>c.document.getElementById(e)?n?c.videojs(e,n):c.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),Ve=e=>{if(!e)return null;const n=e.match(/https:\/\/stream.mux.com\/(.*)/);let o=n?n[1]:null;return o.includes(pe)&&(o=o.replace(pe,"")),o?`https://image.mux.com/${o}/thumbnail.jpg?time=0`:null},f={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"},P={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"};var Te=(e=>(e.CONTINUE="CONTINUE",e.EXTERNAL="EXTERNAL",e.NO_BUTTON="NO_BUTTON",e))(Te||{}),Le=(e=>(e.Unlimited="Unlimited",e.Maximum="Maximum",e.Range="Range",e))(Le||{});const Fe=({options:e,selectItem:n,selectedOptions:o,showCheckbox:t,disabledOptions:i,dropdownFooter:l})=>{const{themeColor:d}=r.useConfig(a=>({doc:a.viewDocument,themeColor:a.border}));return r.u("div",{className:"select-list",children:[e.map(a=>{return r.u("div",{"aria-disabled":i==null?void 0:i.includes(a),className:r.cc("select-option",i!=null&&i.includes(a)?"ul-choice-disabled":""),onClick:u=>{i!=null&&i.includes(a)||(n(a),u.stopPropagation())},role:"option",style:{...i!=null&&i.includes(a)?{opacity:.5,cursor:"not-allowed"}:{}},children:[t&&r.u(Ee,{divId:(s=a.id,`checkbox-div-${s}`),id:a.id,isSelected:o.includes(a),themeColor:d}),a.label]},a.id);var s}),l]})},Ae={"{{user_id}}":"externalUserId","{{email}}":"email"};exports.Button=le,exports.Header=({message:e,properties:n,isRequired:o})=>{const t=r._(null),i=n==null?void 0:n.captionText,l=ae();return r.u("div",{className:r.cc("question-header-container","sprig-header-container",l?"sprig-border-bottom":null),ref:t,children:[r.u("div",{className:"question-header-button-container",children:[r.u(de,{className:"ul-question",id:"ul-question",isHeader:!0,plainText:e,richText:n==null?void 0:n.questionHtml,showAsterisk:o}),r.u(Pe,{})]}),r.u(de,{className:"ul-caption",id:"ul-caption",plainText:i,richText:n==null?void 0:n.captionHtml})]})},exports.Html=ye,exports.LongformSubmitButton=({isSubmitDisabled:e,handleSubmit:n})=>r.u("div",{className:"ul-card-longform__submit-button-container",children:r.u(le,{className:"ul-card-longform__submit-button",disabled:e,onClick:n,children:["OK ",r.u(_e,{})]})}),exports.MaxSelectModes=Le,exports.MobileEmbedView=({embeddedType:e="prototype",properties:n,children:o})=>{var T;const{handleClickEmbedButton:t,hasViewedEmbed:i,headers:l,useDesktopPrototype:d,update:a,isConversationalUI:s}=r.useConfig(v=>({handleClickEmbedButton:v.handleClickEmbedButton,hasViewedEmbed:v.hasViewedEmbed,headers:v.headers,useDesktopPrototype:v.useDesktopPrototype,update:v.update,isConversationalUI:v.isConversationalUI})),u=(n==null?void 0:n.conceptUrl)||((T=n==null?void 0:n.consentDocument)==null?void 0:T.url),m=window.innerWidth<G.EMBED_MOBILE_MAX_WIDTH,j=l["userleap-platform"],D=(v,h)=>{v.preventDefault(),t(h)};if(r.p(()=>{s||requestAnimationFrame(()=>{a()})},[a,s]),!d&&m&&!i&&u&&["email","link"].includes(j)){if(e==="prototype")return r.u(ce,{handleClick:v=>{D(v,"question.prototype.click")}});if(e==="pdf")return r.u(ce,{buttonText:(n==null?void 0:n.viewDocumentText)||"View Document",handleClick:v=>{D(v,"question.agreement.click")}})}return r.u(r.g,{children:o})},exports.Option=({ariaLabel:e,border:n,choiceStyle:o={},label:t,isSelected:i,value:l,text:d,id:a,isRadio:s,useMobileStyling:u,error:m,allowTextEntry:j,noneOfTheAbove:D,promptText:T,disabled:v=!1,onUserInputChanged:h})=>{const{styleNonce:g,viewDocument:x}=r.useConfig(E=>({styleNonce:E.styleNonce,viewDocument:E.viewDocument})),[k,y]=r.h(!1);Oe(x,n,g);const L=({isSelected:E,userText:w})=>{h&&h({id:a,selected:E,value:l,userText:w,noneOfTheAbove:D})},A=E=>{v||(E.stopPropagation(),L({isSelected:s||!i,userText:d}),y(!1))},W=()=>{k||y(!0)},_=()=>{k&&y(!1)},M={onClick:E=>A(E),onKeyPress:E=>(w=>{v||w.key!=="Enter"&&w.key!==" "||A(w)})(E)};"ontouchstart"in x.documentElement?(M.onTouchStart=_,M.onTouchCancel=_,M.onTouchEnd=_):(M.onMouseDown=W,M.onMouseLeave=_);const Z=s?`radio-${a}`:`checkbox-${a}`,p=i||k?[J]:[],C=[...m?[je]:[],...p,...v?["ul-choice-disabled"]:[]],b=t?{"aria-labelledby":`label-${a}`}:{"aria-label":e};return r.u("div",{className:r.cc(r.getClasses("choice",u),...C),id:`choice-div-${a}`,style:{...o,...m?{borderColor:G.ERROR_BORDER_COLOR}:{},...v?{opacity:.5,cursor:"not-allowed"}:{}},...v?{}:M,"aria-disabled":v,children:[r.u("div",{className:r.cc("choice-label-container"),children:[s?r.u("div",{...b,className:r.cc("select-radio",...p),id:Z,role:"radio",tabIndex:0}):r.u(Ee,{disabled:v,divId:Z,id:a,isSelected:i,themeColor:n}),t&&r.u("label",{className:r.cc(r.getClasses("select-label",u)),htmlFor:Z,id:`label-${a}`,children:t})]}),j&&i&&r.u("div",{className:r.cc("choice-text-entry-container",...p),children:r.u(Me,{onTextChange:E=>L({isSelected:i,userText:E}),promptText:T||"Please specify",textValue:d,useMobileStyling:u})})]})},exports.PromptActionTypeEnum=Te,exports.QuestionBodyFooterContainer=({children:e})=>{const n=ae(),{isConversationalUI:o}=r.useConfig(t=>({isConversationalUI:t.isConversationalUI}));return r.u("div",{className:r.cc("sprig-question-footer-container",n&&!o?"sprig-border-top":null),children:e})},exports.QuestionBodyWrapper=({children:e})=>r.u("div",{className:"sprig-question-body",children:e}),exports.RECORDER=f,exports.Select=({isMultiSelect:e=!1,multiselectText:n="choices selected",onChange:o,options:t,placeholderText:i,value:l,disabledOptions:d=[],dropdownFooter:a})=>{const[s,u]=r.h(!1),{viewDocument:m,update:j,isConversationalUI:D}=r.useConfig(h=>({viewDocument:h.viewDocument,update:h.update,isConversationalUI:h.isConversationalUI})),T=()=>{u(!s)};r.y(()=>{D||j()},[s,D,j]),r.p(()=>{var g;const h=x=>{const k=x.target;(k==null?void 0:k.closest(".select-option.ul-choice-disabled"))||u(!1)};m.addEventListener("click",h);try{(g=window.parent)==null||g.addEventListener("click",h)}catch{window.addEventListener("click",h)}return()=>{var x;m.removeEventListener("click",h);try{(x=window.parent)==null||x.removeEventListener("click",h)}catch{window.removeEventListener("click",h)}}},[m]);const v=l.length===0?["select-button-placeholder"]:[];return r.u(r.g,{children:[r.u("button",{"aria-label":"choice dropdown button",className:r.cc("select-button",...v),onClick:h=>{h.stopPropagation(),T()},type:"button",children:[r.u("span",{children:l.length===0?i:l.length===1?l[0].label:`${l.length} ${n}`}),r.u(r.SvgCaret,{})]}),s&&r.u(Fe,{disabledOptions:d,dropdownFooter:a,options:t,selectedOptions:l,selectItem:h=>{var k;const g=l.some(y=>y.id===h.id),x=l.some(y=>{var L;return(L=y.optionProperties)==null?void 0:L.noneOfTheAbove});(k=h.optionProperties)!=null&&k.noneOfTheAbove&&!g?o([h]):e?o(g?l.filter(y=>y.id!==h.id):x?[h]:[...l,h]):g||o([h]),e||T()},showCheckbox:e})]})},exports.getAttributedUrl=(e=void 0,n={})=>{if(!e)return e;const o=["http:","https:","itms-apps:","market:"],t=(d=>/^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(d)?d:`http://${d}`)(e);if(!t)return;try{const d=new URL(t);if(!d.protocol||!o.includes(d.protocol))return}catch{return}const i=[],l=((d,a,s)=>{let u=d;for(const[m,j]of Object.entries(Ae))if(u.toLowerCase().includes(m))if(a[j]){const D=new RegExp(m,"gi");u=u.replace(D,a[j])}else s.push(m);return u})(t,n,i);return i.length===0?l:((d,a)=>{if(!d.includes("?"))return d;const s=d.slice(0,d.indexOf("?")),u=d.slice(d.indexOf("?")+1).split("&").map(m=>m.split("=")).filter(m=>!a.includes(m[1]));return u.length===0?s:`${s}?${u.map(m=>m.join("=")).join("&")}`})(l,i)},exports.pauseQuestionPlayer=e=>{const n=X(e+he);n==null||n.pause()},exports.stopRecording=e=>{const n=e+ge;if(c.document.getElementById(n)&&c.videojs){try{if(!c.videojs(n).record().stream)return}catch{return}c.videojs(n).record().stop(),c.videojs(n).record().stopDevice()}},exports.useAutoSize=xe,exports.videoPlayer=(e,n,o,t=!1,i="https://api.sprig.com",l=document,d=null,a=null)=>{c.document=l;const s=e+he,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",i,{})}),fe(ve,()=>{c.document.getElementById(ie(s)).remove(),re(s,u);const m={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const j=e+me;re(j,u);const D=X(s,m),T=X(j,{muted:!0,...m});if(!D||!T)return;((g,x,k)=>{g.addClass(`ul${me}`);const y=new(c.videojs.getComponent("Component"))(g);x&&g.src(x),g.addChild(y),k&&k(g)})(T,d,a),d||T.addClass(I);const v=ke(D,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),h=v.children().find(g=>g.name_==="FullscreenToggle");h.hasClass("vjs-disabled")&&h.hide(),Ie(D,v,n,o,t,T)}catch(j){return void N(new Error(`Error when creating video player object ${j}`),"playerDeviceError",i,{})}}),u},exports.videoRecorderPlayer=(e,n={},o="https://api.userleap.com",t,i,l,d=!1,a=document)=>{c.document=a;const s=e+ge,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",o,l,n.visitorId,n.envId)}),fe(ve.concat(He),()=>{re(s,u),c.document.getElementById(ie(s)).remove();try{Ue(u,s,n,o,t,i,l,d)}catch(m){return void N(new Error(`Error when creating video recorder player object ${m}`),"recorderDeviceError",o,l,n.visitorId,n.envId)}}),u};
669
+ `}],he="-video-player",me="-secondary-video-player",ge="-video-recorder";let H,be;const F=async({event:e,apiBase:n,headers:o,visitorId:t,envId:r,metadata:l})=>{const a=c.document.documentElement;if(!t||!r)return;const d={event:`SDK - ${e}`,visitorId:t,environmentId:r,metadata:{...l||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${n}/sdk/1/visitors/${t}/analytics`,{method:"POST",cache:"no-cache",headers:o,body:JSON.stringify(d)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},N=async(e,n,o,t,r,l)=>{F({event:`Video Error ${n}`,apiBase:o,headers:t,visitorId:r,envId:l,metadata:{errorMessage:e.message}});const a=c.document.documentElement,d={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language},s={action:n,err:{message:e.message,stack:e.stack},meta:d,vid:r,envId:l};(await fetch(`${o}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...t,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(s)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fe=(e,n)=>{if(e.length===0)return n&&n();Promise.all(e.reduce((o,t)=>(o.push(((r,{type:l,content:a})=>new Promise(function(d,s){let u;l==="script"?(u=c.document.createElement("script"),u.src=a):l==="link"?(u=c.document.createElement("link"),u.rel="stylesheet",u.href=a,u.type="text/css"):(u=c.document.createElement("style"),u.innerHTML=a),u.onload=function(){d(a)},u.onerror=function(){s(a)},u.async=!1,u.id=btoa(a),r.appendChild(u)}))(c.document.head,t)),o),[])).then(()=>{c.videojs=c.document.defaultView.videojs,n&&n()}).catch(function(o){console.log(o+" failed to load")})},Ce=(e,n,o)=>{if(n==="start"&&(e.style.visibility="visible"),n==="none")e.style.visibility=T;else if(n==="success")e.style.visibility=T,e.innerHTML="Upload succeeded!";else{const t=Math.round(parseFloat(o));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${t}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${t}%, #FCFCFD ${t}%, #FCFCFD 100%)`}},te=(e,n)=>{const o=c.videojs(e.id());return o==null?void 0:o.payload[n]},ke=(e,n)=>{const o=new(c.videojs.getComponent("Component"))(e);return o.addClass("ul-buttons-panel"),n.map(t=>{o.addChild(t)}),Se(o),o},Se=e=>{e.children().forEach(n=>{if(_[n.name_]){const o=Q(_[n.name_],`ul-${_[n.name_]}`);n.el_.appendChild(o)}})},Q=(e,n="")=>{const o=c.document.createElement("span");return o.className="ul-button-text",o.innerHTML=e,o.id=n,o},Ie=(e,n,o,t,r=!1,l)=>{e.addClass("ul-video-player");const a=new(c.videojs.getComponent("Component"))(e);a.addClass("ul-control-panel"),e.progressBar=a.addChild("ProgressControl"),o&&e.src(o),e.audioPlayerPlaceholder=new(c.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const d=o&&o.src?Ve(o.src):null;!o||!r&&d?(e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%",d&&e.poster(d)):(e.children()[0].classList.add("vjs-hidden"),c.document.getElementById(`${e.id()}_html5_api`).style.height="0px"),e.on("play",()=>{r||!o||d||Ne(e),l==null||l.play()}),e.on("pause",()=>{l==null||l.pause()}),e.on("seeked",()=>{l==null||l.currentTime(e.currentTime())}),e.on("ratechange",()=>{l==null||l.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),a.addChild(n),e.addChild(a),t&&t(e)},Ue=(e,n,o,t,r,l,a,d=!1)=>{be=Date.now();const s=X(n,{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(!s)return;s.payload=o;const{surveyId:u,questionId:m,responseGroupUid:I,visitorId:b,envId:R}=o;let x;const v=p=>{const y=ne,g=ne+"-audio-only";Ce(s.uploadProgressLabel,"none"),H&&H.startTime>=be&&H.abort();const k=c.document.getElementById("ul-camera-button");p?(s.children()[0].classList.add("vjs-hidden"),C.removeClass(y),C.addClass(g),k.innerHTML=_.TurnOnCamera,s.audioPlayerPlaceholder.removeClass("vjs-hidden"),x==null||x.getTracks().forEach(E=>{E.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(E=>{x=E,E.getVideoTracks().forEach(S=>{S.enabled=!1}),s.record().onDeviceReady(E)}).catch(s.record().onDeviceError.bind(s.record()))):(x==null||x.getVideoTracks().forEach(E=>{E.enabled=!0}),s.children()[0].classList.remove("vjs-hidden"),s.record().getDevice(),C.removeClass(g),C.addClass(y),k.innerHTML=_.TurnOffCamera,s.audioPlayerPlaceholder.addClass("vjs-hidden"))},h=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{h.hasClass(T)||(F({event:"Video Delete Button Clicked",apiBase:t,headers:a,visitorId:b,envId:R,metadata:{questionId:m,responseGroupUid:I,surveyId:u}}),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T))}});h.addClass("ul-video-recorder-delete-button"),h.el_.appendChild(Q(_.DeleteButton,"ul-delete-button"));const f=c.document.getElementById(n),j=()=>{f.classList.contains("vjs-fullscreen")&&s.cameraOff?f.style.display="table":f.style.display="flex"};j();const C=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{s.record().isRecording()||(s.cameraOff=!s.cameraOff,F({event:"Video Camera Button Clicked",apiBase:t,headers:a,visitorId:o.visitorId,envId:o.envId,metadata:{questionId:m,responseGroupUid:I,surveyId:u,cameraOff:s.cameraOff}}),v(s.cameraOff),!h.hasClass(T)&&h.addClass(T),r(w.DELETE,{}),j())}});C.addClass(ne),C.el_.appendChild(Q(_.TurnOffCamera,"ul-camera-button"));const D=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{const p=c.document.getElementById("ul-recorder-toggle");if(s.record().isRecording())s.record().stop(),p&&(p.innerHTML=_.RecordButton),D.removeClass(oe),h.removeClass(T);else{const y=c.document.getElementById("ul-recording-countdown-screen");if(y)y.remove(),p&&(p.innerHTML=_.RecordButton),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T),D.removeClass(oe),P.show();else{D.addClass(oe),P.hide(),C.addClass(T),h.addClass(T),p&&(p.innerHTML=_.StopButton);const g=c.document.createElement("div");g.id="ul-recording-countdown-screen",f.insertBefore(g,f.children[1]),g.style.height=`${f.offsetHeight}px`,De(s,3)}}}});D.addClass("ul-video-recorder-toggle-button"),D.el_.appendChild(Q(_.RecordButton,"ul-recorder-toggle"));const A=c.document.createElement("p");A.style.visibility="hidden",A.className="ul-upload-progress-label",e.appendChild(A),s.uploadProgressLabel=A;const G=ke(s,[h,C,"PlayToggle",D,"FullscreenToggle"]),P=G.children().find(p=>p.name_==="FullscreenToggle");P.hasClass("vjs-disabled")&&P.hide();const O=G.children().find(p=>p.name_==="PlayToggle");O.hide(),h.addClass(T),Ie(s,G,l,!1,d),s.on("stopRecord",()=>{D.hide(),O.show(),P.show(),h.removeClass(T)}),s.on("deviceReady",()=>{D.show(),O.hide(),h.addClass(T)}),((p,y,g,k,E)=>{const{surveyId:S,responseGroupUid:$,visitorId:L,envId:M}=p.payload;p.on("deviceError",function(){console.warn("device error: ",p.deviceErrorCode),p.deviceErrorCode.message==="Permission denied"?(p.deviceButton.addClass("permission-denied"),g&&g(w.ERROR,{type:w.PERMISSION_DENIED}),F({event:"Video Permission Denied",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})):(g&&g(w.ERROR,{type:w.OTHER}),N(new Error(p.deviceErrorCode.message),"recorderDeviceError",y,E,L,M))}),p.on("error",function(z,U){N(U||p.error(),"recorderError",y,E,L,M)}),p.on("startRecord",function(z,U){k(p.uploadProgressLabel,"none"),F({event:"Video Record Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})}),p.on("finishRecord",async function(){k(p.uploadProgressLabel,"start",0);const z=te(p,ee);if(!S){const B="internal error: missing fields in payload";return g&&g(w.ERROR,{type:w.OTHER}),N(new Error(B),"finishRecord",y,E,L,M),null}p.record().stopDevice();const U=p.cameraOff?w.MEDIA_TYPE_AUDIO:w.MEDIA_TYPE_VIDEO,V=_e.v4();F({event:"Video Record Finish",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U}});const Y={surveyId:S,updatedAt:new Date().toISOString(),mediaType:U,mediaRecordingUid:V};z&&(Y.questionId=z),$&&(Y.responseGroupUid=$),L&&(Y.visitorId=L);const J=await(async()=>{const B=await fetch(`${y}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(B.ok){const se=await B.json();return g&&g(w.UPLOAD_STARTED,{[w.UPLOAD_ID]:se.upload.id,[w.MEDIA_TYPE]:U,[w.MEDIA_RECORDING_UID]:V}),se.upload.url}return g&&g(w.ERROR,{type:w.OTHER,response:B}),N(new Error("failed to get upload response with url"),"finishRecord",y,E,L,M),null})();J&&(H=c.document.defaultView.UpChunk.createUpload({endpoint:J,file:new c.document.defaultView.File([p.recordedData],`recording ${U} ${Date.now()}`),chunkSize:5120}),H.startTime=Date.now(),F({event:"Video Upload Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J}}),H.on("error",B=>{k(p.uploadProgressLabel,"none"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),N(B,"finishRecord",y,E,L,M)}),H.on("progress",B=>{g&&g(w.UPLOAD_PROGRESS,{[w.MEDIA_RECORDING_UID]:V,[w.UPLOAD_PROGRESS_PCT]:B.detail}),k(p.uploadProgressLabel,"progress",B.detail)}),H.on("success",()=>{k(p.uploadProgressLabel,"success"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),F({event:"Video Upload Success",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J,elapsedMs:H.startTime&&Date.now()-H.startTime}})}))})})(s,t,r,Ce,a);const Z=[{name:"microphone"}];!s.cameraOff&&Z.push({name:"camera"}),Promise.all(Z.map(p=>{var y;return(y=navigator==null?void 0:navigator.permissions)==null?void 0:y.query(p)})).then(p=>{p.reduce((y,g)=>y&g.state==="granted",!0)&&s&&(s.deviceButton&&s.deviceButton.hide(),s.record().getDevice())}).catch(p=>{})},De=(e,n=3)=>{const o=c.document.getElementById("ul-recording-countdown-screen");o&&n===0?(o.remove(),e.record().start()):o&&(o.innerHTML=`<span class='ul-countdown-text'>Recording in... ${n}</span>`,setTimeout(()=>{De(e,n-1)},1e3))},we=e=>{const n=c.document.createElement("div");return n.className="ul-video-container",n.appendChild((o=>{const t=c.document.createElement("div");return t.className="ul-video-player-loading",t.id=ie(o),["first","second","third","fourth"].map(r=>{const l=c.document.createElement("div");l.className=r,t.appendChild(l)}),t})(e)),n},re=(e,n)=>{const o=c.document.createElement("video");o.id=e,o.className="video-js vjs-default-skin ul-video-player-video";const t=c.document.createElement("p");t.className="vjs-no-js",t.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const r=c.document.createElement("a");return r.href="https://videojs.com/html5-video-support/",r.target="_blank",r.innerHTML="supports HTML5 video",t.appendChild(r),o.appendChild(t),n.appendChild(o),n},Ne=(e,n)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},X=(e,n)=>c.document.getElementById(e)?n?c.videojs(e,n):c.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),Ve=e=>{if(!e)return null;const n=e.match(/https:\/\/stream.mux.com\/(.*)/);let o=n?n[1]:null;return o.includes(pe)&&(o=o.replace(pe,"")),o?`https://image.mux.com/${o}/thumbnail.jpg?time=0`:null},w={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"},_={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"};var Te=(e=>(e.CONTINUE="CONTINUE",e.EXTERNAL="EXTERNAL",e.NO_BUTTON="NO_BUTTON",e))(Te||{}),Re=(e=>(e.Unlimited="Unlimited",e.Maximum="Maximum",e.Range="Range",e))(Re||{});const Fe=({options:e,selectItem:n,selectedOptions:o,showCheckbox:t,disabledOptions:r,dropdownFooter:l})=>{const{themeColor:a}=i.useConfig(d=>({doc:d.viewDocument,themeColor:d.border}));return i.u("div",{className:"select-list",children:[e.map(d=>{return i.u("div",{"aria-disabled":r==null?void 0:r.includes(d),className:i.cc("select-option",r!=null&&r.includes(d)?"ul-choice-disabled":""),onClick:u=>{r!=null&&r.includes(d)||(n(d),u.stopPropagation())},role:"option",style:{...r!=null&&r.includes(d)?{opacity:.5,cursor:"not-allowed"}:{}},children:[t&&i.u(xe,{divId:(s=d.id,`checkbox-div-${s}`),id:d.id,isSelected:o.includes(d),themeColor:a}),d.label]},d.id);var s}),l]})},Ae={"{{user_id}}":"externalUserId","{{email}}":"email"};exports.Button=le,exports.Header=({message:e,properties:n,isRequired:o})=>{const t=i._(null),r=n==null?void 0:n.captionText,l=ae();return i.u("div",{className:i.cc("question-header-container","sprig-header-container",l?"sprig-border-bottom":null),ref:t,children:[i.u("div",{className:"question-header-button-container",children:i.u(de,{className:"ul-question",id:"ul-question",isHeader:!0,plainText:e,richText:n==null?void 0:n.questionHtml,showAsterisk:o})}),i.u(de,{className:"ul-caption",id:"ul-caption",plainText:r,richText:n==null?void 0:n.captionHtml})]})},exports.Html=ye,exports.LongformSubmitButton=({isSubmitDisabled:e,handleSubmit:n})=>i.u("div",{className:"ul-card-longform__submit-button-container",children:i.u(le,{className:"ul-card-longform__submit-button",disabled:e,onClick:n,children:["OK ",i.u(Pe,{})]})}),exports.MaxSelectModes=Re,exports.MobileEmbedView=({embeddedType:e="prototype",properties:n,children:o})=>{var I;const{handleClickEmbedButton:t,hasViewedEmbed:r,headers:l,useDesktopPrototype:a}=i.useConfig(b=>({handleClickEmbedButton:b.handleClickEmbedButton,hasViewedEmbed:b.hasViewedEmbed,headers:b.headers,useDesktopPrototype:b.useDesktopPrototype})),d=(n==null?void 0:n.conceptUrl)||((I=n==null?void 0:n.consentDocument)==null?void 0:I.url),s=window.innerWidth<W.EMBED_MOBILE_MAX_WIDTH,u=l["userleap-platform"],m=(b,R)=>{b.preventDefault(),t(R)};if((()=>{const{update:b,index:R,isConversationalUI:x,viewDocument:v}=i.useConfig(({update:f,index:j,isConversationalUI:C,viewDocument:D})=>({update:f,index:j,isConversationalUI:C,viewDocument:D})),h=Le.debounce(b,100);i.p(()=>{if(x)return;const f=new ResizeObserver(h),j=v.querySelector(".ul-card__container");return j&&f.observe(j,{box:"border-box"}),()=>{f.disconnect()}},[h,b,R,x,v])})(),!a&&s&&!r&&d&&["email","link"].includes(u)){if(e==="prototype")return i.u(ce,{handleClick:b=>{m(b,"question.prototype.click")}});if(e==="pdf")return i.u(ce,{buttonText:(n==null?void 0:n.viewDocumentText)||"View Document",handleClick:b=>{m(b,"question.agreement.click")}})}return i.u(i.g,{children:o})},exports.Option=({ariaLabel:e,border:n,choiceStyle:o={},label:t,isSelected:r,value:l,text:a,id:d,isRadio:s,useMobileStyling:u,error:m,allowTextEntry:I,noneOfTheAbove:b,promptText:R,disabled:x=!1,onUserInputChanged:v})=>{const{styleNonce:h,viewDocument:f}=i.useConfig(k=>({styleNonce:k.styleNonce,viewDocument:k.viewDocument})),[j,C]=i.h(!1);Me(f,n,h);const D=({isSelected:k,userText:E})=>{v&&v({id:d,selected:k,value:l,userText:E,noneOfTheAbove:b})},A=k=>{x||(k.stopPropagation(),D({isSelected:s||!r,userText:a}),C(!1))},G=()=>{j||C(!0)},P=()=>{j&&C(!1)},O={onClick:k=>A(k),onKeyPress:k=>(E=>{x||E.key!=="Enter"&&E.key!==" "||A(E)})(k)};"ontouchstart"in f.documentElement?(O.onTouchStart=P,O.onTouchCancel=P,O.onTouchEnd=P):(O.onMouseDown=G,O.onMouseLeave=P);const Z=s?`radio-${d}`:`checkbox-${d}`,p=r||j?[K]:[],y=[...m?[je]:[],...p,...x?["ul-choice-disabled"]:[]],g=t?{"aria-labelledby":`label-${d}`}:{"aria-label":e};return i.u("div",{className:i.cc(i.getClasses("choice",u),...y),id:`choice-div-${d}`,style:{...o,...m?{borderColor:W.ERROR_BORDER_COLOR}:{},...x?{opacity:.5,cursor:"not-allowed"}:{}},...x?{}:O,"aria-disabled":x,children:[i.u("div",{className:i.cc("choice-label-container"),children:[s?i.u("div",{...g,className:i.cc("select-radio",...p),id:Z,role:"radio",tabIndex:0}):i.u(xe,{disabled:x,divId:Z,id:d,isSelected:r,themeColor:n}),t&&i.u("label",{className:i.cc(i.getClasses("select-label",u)),htmlFor:Z,id:`label-${d}`,children:t})]}),I&&r&&i.u("div",{className:i.cc("choice-text-entry-container",...p),children:i.u(Oe,{onTextChange:k=>D({isSelected:r,userText:k}),promptText:R||"Please specify",textValue:a,useMobileStyling:u})})]})},exports.PromptActionTypeEnum=Te,exports.QuestionBodyFooterContainer=({children:e})=>{const n=ae(),{isConversationalUI:o}=i.useConfig(t=>({isConversationalUI:t.isConversationalUI}));return i.u("div",{className:i.cc("sprig-question-footer-container",n&&!o?"sprig-border-top":null),children:e})},exports.QuestionBodyWrapper=({children:e})=>i.u("div",{className:"sprig-question-body",children:e}),exports.RECORDER=w,exports.Select=({isMultiSelect:e=!1,multiselectText:n="choices selected",onChange:o,options:t,placeholderText:r,value:l,disabledOptions:a=[],dropdownFooter:d})=>{const[s,u]=i.h(!1),{viewDocument:m,update:I,isConversationalUI:b}=i.useConfig(v=>({viewDocument:v.viewDocument,update:v.update,isConversationalUI:v.isConversationalUI})),R=()=>{u(!s)};i.y(()=>{b||I()},[s,b,I]),i.p(()=>{var h;const v=f=>{const j=f.target;(j==null?void 0:j.closest(".select-option.ul-choice-disabled"))||u(!1)};m.addEventListener("click",v);try{(h=window.parent)==null||h.addEventListener("click",v)}catch{window.addEventListener("click",v)}return()=>{var f;m.removeEventListener("click",v);try{(f=window.parent)==null||f.removeEventListener("click",v)}catch{window.removeEventListener("click",v)}}},[m]);const x=l.length===0?["select-button-placeholder"]:[];return i.u(i.g,{children:[i.u("button",{"aria-label":"choice dropdown button",className:i.cc("select-button",...x),onClick:v=>{v.stopPropagation(),R()},type:"button",children:[i.u("span",{children:l.length===0?r:l.length===1?l[0].label:`${l.length} ${n}`}),i.u(i.SvgCaret,{})]}),s&&i.u(Fe,{disabledOptions:a,dropdownFooter:d,options:t,selectedOptions:l,selectItem:v=>{var j;const h=l.some(C=>C.id===v.id),f=l.some(C=>{var D;return(D=C.optionProperties)==null?void 0:D.noneOfTheAbove});(j=v.optionProperties)!=null&&j.noneOfTheAbove&&!h?o([v]):e?o(h?l.filter(C=>C.id!==v.id):f?[v]:[...l,v]):h||o([v]),e||R()},showCheckbox:e})]})},exports.getAttributedUrl=(e=void 0,n={})=>{if(!e)return e;const o=["http:","https:","itms-apps:","market:"],t=(a=>/^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(a)?a:`http://${a}`)(e);if(!t)return;try{const a=new URL(t);if(!a.protocol||!o.includes(a.protocol))return}catch{return}const r=[],l=((a,d,s)=>{let u=a;for(const[m,I]of Object.entries(Ae))if(u.toLowerCase().includes(m))if(d[I]){const b=new RegExp(m,"gi");u=u.replace(b,d[I])}else s.push(m);return u})(t,n,r);return r.length===0?l:((a,d)=>{if(!a.includes("?"))return a;const s=a.slice(0,a.indexOf("?")),u=a.slice(a.indexOf("?")+1).split("&").map(m=>m.split("=")).filter(m=>!d.includes(m[1]));return u.length===0?s:`${s}?${u.map(m=>m.join("=")).join("&")}`})(l,r)},exports.pauseQuestionPlayer=e=>{const n=X(e+he);n==null||n.pause()},exports.stopRecording=e=>{const n=e+ge;if(c.document.getElementById(n)&&c.videojs){try{if(!c.videojs(n).record().stream)return}catch{return}c.videojs(n).record().stop(),c.videojs(n).record().stopDevice()}},exports.useAutoSize=Ee,exports.videoPlayer=(e,n,o,t=!1,r="https://api.sprig.com",l=document,a=null,d=null)=>{c.document=l;const s=e+he,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",r,{})}),fe(ve,()=>{c.document.getElementById(ie(s)).remove(),re(s,u);const m={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const I=e+me;re(I,u);const b=X(s,m),R=X(I,{muted:!0,...m});if(!b||!R)return;((h,f,j)=>{h.addClass(`ul${me}`);const C=new(c.videojs.getComponent("Component"))(h);f&&h.src(f),h.addChild(C),j&&j(h)})(R,a,d),a||R.addClass(T);const x=ke(b,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),v=x.children().find(h=>h.name_==="FullscreenToggle");v.hasClass("vjs-disabled")&&v.hide(),Ie(b,x,n,o,t,R)}catch(I){return void N(new Error(`Error when creating video player object ${I}`),"playerDeviceError",r,{})}}),u},exports.videoRecorderPlayer=(e,n={},o="https://api.userleap.com",t,r,l,a=!1,d=document)=>{c.document=d;const s=e+ge,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",o,l,n.visitorId,n.envId)}),fe(ve.concat(He),()=>{re(s,u),c.document.getElementById(ie(s)).remove();try{Ue(u,s,n,o,t,r,l,a)}catch(m){return void N(new Error(`Error when creating video recorder player object ${m}`),"recorderDeviceError",o,l,n.visitorId,n.envId)}}),u};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./view-DAxlTNxd.cjs"),z=require("./metricsReporter-DC-3J5Sa.cjs"),J=require("./core-oShYwNGS.cjs"),u=require("./getAttributedUrl-DuHEi0A7.cjs"),Ee=({className:n,message:i,next:a,properties:t,questionId:r,type:d})=>{const{useMobileStyling:v,border:f,isLongFormSurvey:c,focusedQuestionId:b}=e.useConfig(m=>({useMobileStyling:m.useMobileStyling,border:m.border,isLongFormSurvey:z.isLongFormSurvey(m.studyType),focusedQuestionId:m.focusedQuestionId})),[o,h]=e.h(!1),[s,_]=e.h(""),[g,S]=e.h(!1),y=c&&b===r,L=t==null?void 0:t.collectName,k=(t==null?void 0:t.nameLabelText)||"Full Name",w=(t==null?void 0:t.consentText)||"I agree to the stated conditions",P=(t==null?void 0:t.submitButtonText)||"Submit",D=!!s.trim(),M=o&&(!L||D),q=(m,I=!1)=>{m.preventDefault(),m.stopPropagation();let p=null;if(!I){if(!M)return void S(!0);p={submitted:!0},L&&(p.name=s)}a({value:p,questionId:r,type:d},M)};return e.u("div",{className:e.cc(n,c&&!y&&"ul-card--unfocused","ul-card__consent-legal","fade-in-transition"),children:[e.u(u.Header,{isRequired:c&&(t==null?void 0:t.required),message:i,properties:{questionHtml:t.questionHtml}}),t!=null&&t.richTextBody?e.u(u.QuestionBodyWrapper,{children:e.u(u.Html,{className:"ul-rich-text-body",html:t.richTextBody,id:"ul-card__consent-legal-body-container"})}):null,e.u(u.MobileEmbedView,{embeddedType:"pdf",properties:t,children:e.u(u.QuestionBodyFooterContainer,{children:[e.u("div",{className:"sprig-stretch",children:[e.u(u.Option,{allowTextEntry:!1,border:f,error:g&&!o,id:"consent",isRadio:!1,isSelected:o,label:w,onUserInputChanged:({selected:m})=>{m!==o&&h(!o)},useMobileStyling:v}),L&&e.u("input",{"aria-label":k,"aria-placeholder":k,className:e.cc(e.getClasses("ul-consent-legal__name-input",v)),"data-gramm":"false",maxLength:250,name:"name",onBlur:m=>{m.currentTarget.style.borderColor=g&&!D?J.ERROR_BORDER_COLOR:J.DEFAULT_BORDER_COLOR},onFocus:m=>{m.currentTarget.style.borderColor=g&&!D?J.ERROR_BORDER_COLOR:f},onInput:m=>{m.preventDefault(),m.stopPropagation(),_(m.currentTarget.value)},placeholder:k,style:g&&!D?{borderColor:J.ERROR_BORDER_COLOR}:{},tabIndex:0,value:s})]}),e.u("div",{className:"ul-card__button-wrapper ul-card-vertical__button-wrapper",children:[e.u(u.Button,{className:M?"":"sprig-button-disabled",onClick:q,children:P}),t.required===!1&&!c&&e.u("button",{className:"ul-card-skip__button",onClick:m=>q(m,!0),children:e.getSkipButtonText(t)})]})]})})]},r)},Be=({activeValue:n,border:i,icon:a,isPressed:t,onSubmit:r,range:d,scaleLabelType:v,selectedValue:f,setSelectedValue:c,setActiveValue:b,setIsPressed:o,useMobileStyling:h,value:s,viewDocument:_})=>{const{isLongFormSurvey:g,enableCspTrustedTypes:S}=e.useConfig(I=>({isLongFormSurvey:z.isLongFormSurvey(I.studyType),enableCspTrustedTypes:I.enableCspTrustedTypes})),y=`option-${s}`,L=v==="number",k=v==="star",w=v==="smiley",P=L&&s===n||s===f,[D,M]=(()=>{const I=k&&f!==null&&s<=f;return k&&s<=n||w&&s===n||I||s===n||s===f?[i,t||I||s===f?1:.3]:["",1]})(),q=e.F(()=>{const I={borderColor:P?D:"",fillOpacity:P?"":M,zIndex:P?3:"auto",color:f===s?"#fff":""};return L?{...I,backgroundColor:f===s?D:""}:{...I,color:k||w||f===s?D:""}},[P,D,M,f,s,L,k,w]),m=e.F(()=>J.getHtml((({icon:I,scaleLabelType:p,value:C,selectedValue:x})=>{if(p==="smiley"&&C===x){let R=0;return I.replace(/black/g,()=>++R==1?"black":"white")}return I})({icon:a,scaleLabelType:v,value:s,selectedValue:f}),S),[S,a,v,f,s]);return e.u("button",{"aria-label":L?void 0:String(s),className:(()=>{switch(v){case"star":return e.cc(e.getClasses("likert-star",h),e.getClasses(`likert-star-${s}`,h));case"smiley":return e.cc(e.getClasses("likert-smiley",h),e.getClasses(`likert-smiley-${s}`,h));default:return s===d?e.cc(e.getClasses("likert-number",h),e.getClasses(`likert-number-${s}`,h),e.getClasses("likert-last-option",h)):e.cc(e.getClasses("likert-number",h),e.getClasses(`likert-number-${s}`,h))}})(),dangerouslySetInnerHTML:{__html:m},id:y,onClick:I=>{g&&(I.preventDefault(),I.stopPropagation(),c(s)),r()},onKeyDown:I=>{var x,R;const p=_.querySelectorAll(`.likert-${v??"number"}`),C=s-1;I.key==="ArrowRight"?(x=p[C+1])==null||x.focus():I.key==="ArrowLeft"?(R=p[C-1])==null||R.focus():I.key!=="Enter"&&I.key!==" "||(g&&(I.preventDefault(),I.stopPropagation(),c(s)),r())},onPointerDown:()=>o(!0),onPointerEnter:()=>b(s),onPointerLeave:()=>{b(-1),o(!1)},style:q,tabIndex:0})},Me=({className:n,labels:i,message:a,next:t,properties:r,questionId:d,type:v})=>{const{border:f,useMobileStyling:c,viewDocument:b,isLongFormSurvey:o,focusedQuestionId:h}=e.useConfig(C=>({border:C.border,useMobileStyling:C.useMobileStyling,viewDocument:C.viewDocument,isLongFormSurvey:z.isLongFormSurvey(C.studyType),focusedQuestionId:C.focusedQuestionId})),[s,_]=e.h(-1),[g,S]=e.h(!1),[y,L]=e.h(null),k=o&&h===d,w=i&&i.left,P=i&&i.right;let D;const{range:M,scaleLabelType:q,ratingIcons:m}=r;M&&(D=Number(M));const I=D||5,p=C=>{var x,R;switch(q){case"star":return(x=m[0])==null?void 0:x.svg;case"smiley":return(R=m[C])==null?void 0:R.svg;default:return String(C+1)}};return e.u("form",{className:e.cc(n,"ul-card--likert","fade-in-transition",o&&!k&&"ul-card--unfocused"),children:[e.u(u.Header,{isRequired:o&&(r==null?void 0:r.required),message:a,properties:r}),e.u(u.MobileEmbedView,{properties:r,children:e.u(e.g,{children:[e.u(u.QuestionBodyWrapper,{children:[e.u("div",{"aria-label":`Rating (1 - ${I})`,className:"ul-card--likert__numbers",role:"radiogroup",children:[...Array(I)].map((C,x)=>{const R=x+1;return e.u(Be,{activeValue:s,border:f,icon:p(x),isPressed:g,onSubmit:()=>t({value:R,questionId:d,type:v},!0),range:I,scaleLabelType:q,selectedValue:y,setActiveValue:_,setIsPressed:S,setSelectedValue:L,useMobileStyling:c,value:R,viewDocument:b},x)})}),e.u("div",{className:"ul-card--likert__labels",children:[e.u("span",{children:w}),e.u("span",{children:P})]})]}),!r.required&&!o&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-vertical-centered-container",children:e.u(u.Button,{onClick:C=>{C.preventDefault(),C.stopPropagation(),t({value:null,questionId:d,type:v},!0)},children:e.getButtonText(r)})})})]})})]},d)},Ce=n=>n&&(n.scrollHeight>n.offsetHeight?n:Ce(n.parentElement)),Pe=n=>{if(!n||!(a=>a instanceof HTMLElement)(n))return 0;const i=getComputedStyle(n);return parseFloat(i.marginTop)+parseFloat(i.marginBottom)+(parseFloat(i.borderTopWidth)+parseFloat(i.borderBottomWidth))},Oe=({columns:n,onSelect:i,options:a,selectedOptions:t})=>{const r=e._([]),{border:d,useMobileStyling:v}=e.useConfig(s=>({border:s.border,useMobileStyling:s.useMobileStyling})),f=a.findIndex(s=>t[s.id]===null),[c,b]=e.h(f),o=e.T((s,_)=>{i(s,_);const g=c+1,S=a[g];if(S&&t[S.id]===null){b(g);const y=r.current[c];if(y!=null&&y.firstElementChild){const L=Ce(y),k=y.firstElementChild,w=Pe(y)+k.clientHeight;L==null||L.scrollTo(0,y.offsetTop+w)}}},[i,a,t,c]),h=e.T((s,_)=>{const g=c===s;return e.u(e.Accordion,{animate:!0,header:_.label,isOpen:g,onClick:()=>{var S;return b(g&&!((S=window.UserLeap)!=null&&S.isMobileSDK)?-1:s)},ref:S=>{S&&(r.current[s]=S)},showHeaderCheck:t[_.id]!==null,children:e.u("div",{style:{paddingTop:"12px"},children:n.map(S=>e.u(u.Option,{allowTextEntry:!1,ariaLabel:`${_.label}-${S.label}`,border:d,error:!1,id:`${_.id}-${S.value}`,isRadio:!0,isSelected:t[_.id]===S.value,label:S.label,onUserInputChanged:()=>o(_.id,S.value),useMobileStyling:v},S.label))})},_.id)},[d,n,c,o,t,v]);return e.u("div",{children:a.map((s,_)=>h(_,s))})},Fe=({columns:n,onSelect:i,options:a,selectedOptions:t})=>{const{border:r,useMobileStyling:d,isLongFormSurvey:v}=e.useConfig(g=>({border:g.border,useMobileStyling:g.useMobileStyling,isLongFormSurvey:z.isLongFormSurvey(g.studyType)})),f=a.length,c=n.length,b=e._(null),[o,h]=e.h(!1),[s,_]=e.h(!1);return e.p(()=>{const g=b.current,S=new ResizeObserver(y=>{window.requestAnimationFrame(()=>{g&&(h(Math.round(y[0].contentRect.width)<g.scrollWidth),_(Math.round(y[0].contentRect.width)<g.scrollWidth))})});return g&&S.observe(g),()=>{g&&S.unobserve(g)}},[]),e.u("div",{className:"ul-card--matrix_question_container",children:[e.u("div",{className:e.cc("ul-card--matrix_container",o&&"ul-matrix-scroll-gradient"),onScroll:()=>{(()=>{const g=b.current;g&&h(g.clientWidth+Math.abs(g.scrollLeft)<g.scrollWidth)})()},ref:b,children:e.u("div",{className:e.cc(v&&"ul-card--matrix_grid_longform","ul-card--matrix_grid"),style:`--numColumns: ${c}; --numRows: ${f+1};`,children:[e.u("div",{})," ",n.map(g=>e.u("div",{className:"ul-matrix-column-label",children:g.label},g.label)),a.map(g=>e.u(e.g,{children:[e.u("div",{"aria-label":g.label,className:"ul-matrix-row-label",children:g.label},g.label),e.u("div",{className:"ul-matrix-row-options",role:"radiogroup",children:n.map((S,y)=>{const L=y===c-1;return e.u("div",{className:e.cc("ul-matrix-option-wrapper",L&&"ul-matrix-last-option"),children:e.u(u.Option,{allowTextEntry:!1,ariaLabel:`${g.label}-${S.label}`,border:r,choiceStyle:{background:"transparent",border:"none",marginBottom:"0",padding:"0"},error:!1,id:`${g.id}-${S.value}`,isRadio:!0,isSelected:t[g.id]===S.value,onUserInputChanged:()=>i(g.id,S.value),useMobileStyling:d})},S.value)})})]}))]})}),(o||s)&&e.u("button",{className:s&&!o?"ul-matrix-scroll-arrow left":"ul-matrix-scroll-arrow",onClick:s&&!o?g=>{g.preventDefault();const S=b.current;if(S){const y=getComputedStyle(S).direction==="rtl";S.scrollTo({left:y?S.scrollWidth-S.clientWidth:0,behavior:"smooth"})}}:g=>{g.preventDefault();const S=b.current;if(S){const y=getComputedStyle(S).direction==="rtl";S.scrollTo({left:y?S.clientWidth-S.scrollWidth:S.scrollWidth,behavior:"smooth"})}},children:s&&!o?e.u(Qe,{}):e.u(Ue,{})})]})},Qe=()=>e.u("svg",{fill:"currentColor",height:"32",transform:"matrix(-1,0,0,1,0,0)",version:"1.1",viewBox:"0 0 256 256",width:"32",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z"})}),Ue=()=>e.u("svg",{fill:"currentColor",height:"32",viewBox:"0 0 256 256",width:"32",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z"})}),Ae=({className:n,message:i,next:a,options:t,properties:r,questionId:d,type:v,showIndividualSubmit:f=!1,onSubmitButtonClick:c})=>{const{useMobileStyling:b,isLongFormSurvey:o,focusedQuestionId:h,setFocusedQuestionId:s}=e.useConfig(q=>({useMobileStyling:q.useMobileStyling,isLongFormSurvey:z.isLongFormSurvey(q.studyType),focusedQuestionId:q.focusedQuestionId,setFocusedQuestionId:q.setFocusedQuestionId})),_=r.matrixColumn,g=r.required,S=o&&h===d,y=q=>{q.preventDefault(),q.stopPropagation(),a({value:k,questionId:d,type:v},!0),c&&c()},L=t.reduce((q,m)=>(q[m.id]=null,q),{}),[k,w]=e.h(L),P=q=>g&&Object.values(q).every(m=>m==null),D=(q,m)=>{o&&a({value:{...k,[q]:m},questionId:d,type:v},!P({...k,[q]:m})),w(I=>({...I,[q]:m}))},M=r.displayMatrixAsAccordion||b;return e.u("form",{className:e.cc(n,!o&&"ul-card__matrix","fade-in-transition",o&&!S&&"ul-card--unfocused"),id:"text-form",onClick:()=>{S&&s(d)},onSubmit:y,children:[e.u(u.Header,{isRequired:o&&(r==null?void 0:r.required),message:i,properties:r}),e.u(u.MobileEmbedView,{properties:r,children:[e.u(u.QuestionBodyWrapper,{children:[M?e.u(Oe,{columns:_,onSelect:D,options:t,selectedOptions:k}):e.u(Fe,{columns:_,onSelect:D,options:t,selectedOptions:k}),f&&e.u(u.LongformSubmitButton,{handleSubmit:y,isSubmitDisabled:P(k)})]}),!o&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(u.Button,{disabled:P(k),children:e.getButtonText(r)})})})]})]},d)},Se=({className:n,message:i,onSubmit:a,options:t=[],properties:r,questionId:d,type:v,showIndividualSubmit:f=!1,onSubmitButtonClick:c})=>{const{border:b,useMobileStyling:o,isLongFormSurvey:h,focusedQuestionId:s,setFocusedQuestionId:_}=e.useConfig(l=>({border:l.border,useMobileStyling:l.useMobileStyling,isLongFormSurvey:z.isLongFormSurvey(l.studyType),focusedQuestionId:l.focusedQuestionId,setFocusedQuestionId:l.setFocusedQuestionId})),g=h&&s===d,S=t.reduce((l,T)=>(l[T.id]={isSelected:!1},l),{}),[y,L]=e.h(S),k=v==="multiplechoice",w=r.required,P=t.find(l=>{var T;return(T=l.optionProperties)==null?void 0:T.noneOfTheAbove}),D=l=>Object.entries(l).some(([T,F])=>{var G;const A=t.find(W=>`${W.id}`===T),O=F.userText===void 0||F.userText.trim()==="";return((G=A==null?void 0:A.optionProperties)==null?void 0:G.allowsTextEntry)&&O&&F.isSelected}),M=l=>Object.values(l).filter(T=>T.isSelected).length,q=r.minSelect&&r.minSelect>0&&r.maxSelectMode===u.MaxSelectModes.Range&&M(y)<r.minSelect&&(w||M(y)>0),m=l=>D(l)||w&&!M(l)||!(T=>{const{minSelect:F=0,maxSelect:A=1/0,maxSelectMode:O}=r,G=M(T);switch(O){case u.MaxSelectModes.Maximum:return G<=A;case u.MaxSelectModes.Range:return G===0||G>=F;default:return!0}})(l),I=Object.entries(y).some(([l,T])=>{var F,A;return T.isSelected&&((A=(F=t.find(O=>`${O.id}`===l))==null?void 0:F.optionProperties)==null?void 0:A.allowsTextEntry)}),p=f&&(!k||I),C=l=>{E(l.id,l.selected,l.userText,l.noneOfTheAbove),l.selected&&h&&!k&&!g&&_(d)},x=l=>{var T;return(r==null?void 0:r.maxSelectMode)!==u.MaxSelectModes.Unlimited&&M(y)===(r==null?void 0:r.maxSelect)&&!((T=y[l])!=null&&T.isSelected)},R=l=>{l.preventDefault(),l.stopPropagation(),a(y,!0),c&&c()},E=(l,T,F,A)=>{const O=Object.assign({},y);if((k||A)&&T)for(const j of Object.values(O))j.isSelected=!1,delete j.userText;else P&&!A&&y[P.id].isSelected&&(O[P.id].isSelected=!1);O[l]={isSelected:T,userText:F};const G=k&&Object.entries(O).some(([j,Z])=>{var K,re;return Z.isSelected&&((re=(K=t.find(ne=>`${ne.id}`===j))==null?void 0:K.optionProperties)==null?void 0:re.allowsTextEntry)}),W=!m(O);h&&(a(O,W),k&&!G&&W&&c&&c()),L(O)};return e.u("form",{className:e.cc(n,"ul-card--multiple","fade-in-transition",h&&!g&&"ul-card--unfocused"),id:"text-form",onClick:v==="multipleselect"?()=>{h&&s!==d&&v==="multipleselect"&&_(d)}:void 0,onSubmit:R,children:[e.u(u.Header,{isRequired:h&&(r==null?void 0:r.required),message:i,properties:r}),e.u(u.MobileEmbedView,{properties:r,children:e.u(e.g,{children:[e.u(u.QuestionBodyWrapper,{children:[r.isDropdown?e.u(u.Select,{disabledOptions:t.filter(l=>x(l.id)),dropdownFooter:q?e.u("div",{className:"ul-card__min-select-counter",style:{marginLeft:"16px"},children:[M(y),"/",r.minSelect]}):void 0,isMultiSelect:!k,multiselectText:r.dropdownMultiselectedText??"choices selected",onChange:l=>{const T={...y};for(const F of t)l.includes(F)?T[F.id].isSelected=!0:T[F.id].isSelected=!1;h&&a(T,!m(T)),L(T)},options:t,placeholderText:r.dropdownPlaceholderText??(k?"Select choice":"Select choice(s)"),value:t.filter(l=>y[l.id].isSelected)}):e.u("div",{className:e.cc(e.getClasses("ul-card__choices",o)),role:k?"radiogroup":"group",children:[t.map(({id:l,label:T,value:F,optionProperties:A})=>{var Z,K;const O=`${l}`,{allowsTextEntry:G,noneOfTheAbove:W}={allowsTextEntry:!1,noneOfTheAbove:!1,...A};return e.u(u.Option,{allowTextEntry:G,border:b,disabled:x(O),error:(j=y,D(j)),id:O,isRadio:k,isSelected:!!((Z=y[O])!=null&&Z.isSelected),label:T,noneOfTheAbove:W,onUserInputChanged:C,promptText:"Please specify",text:(K=y[l])==null?void 0:K.userText,useMobileStyling:o,value:F},O);var j}),!!q&&e.u("div",{className:"ul-card__min-select-counter",children:[M(y),"/",r.minSelect]})]}),p&&e.u(u.LongformSubmitButton,{handleSubmit:R,isSubmitDisabled:m(y)})]}),!h&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(u.Button,{disabled:m(y),onClick:R,children:e.getButtonText(r)})})})]})})]},d)},He=n=>{const{questionId:i,type:a,next:t,options:r}=n,{setFocusedQuestionId:d}=e.useConfig(v=>({setFocusedQuestionId:v.setFocusedQuestionId}));return e.u(Se,{...n,onSubmit:(v,f)=>{var _;const c=Object.entries(v).find(([,g])=>g.isSelected)||[void 0,void 0],[b,o]=c,h=r.find(g=>`${g.id}`===b);!((_=h==null?void 0:h.optionProperties)!=null&&_.allowsTextEntry)||o!=null&&o.userText&&o.userText.trim()!==""||d(i);const s=o!=null&&o.userText?{[b]:{userText:o.userText}}:null;t({value:h&&b?{[b]:h.value}:{},secondaryValue:s,questionId:i,type:a},f)}})},$e=n=>{const{questionId:i,type:a,next:t}=n;return e.u(Se,{...n,onSubmit:(r,d)=>{const v=Object.entries(r).reduce((c,[b,o])=>(c[b]=o.isSelected,c),{}),f=Object.entries(r).reduce((c,[b,o])=>{if(!o.userText)return c;const h=c||{};return h[b]={userText:o.userText},h},null);t({value:v,secondaryValue:f,questionId:i,type:a},d)}})},Ve=({className:n,labels:i,message:a,properties:t,next:r,questionId:d,type:v})=>{const[f,c]=e.h(null),{border:b,useMobileStyling:o,viewDocument:h,isLongFormSurvey:s,focusedQuestionId:_}=e.useConfig(L=>({border:L.border,useMobileStyling:L.useMobileStyling,viewDocument:L.viewDocument,isLongFormSurvey:z.isLongFormSurvey(L.studyType),focusedQuestionId:L.focusedQuestionId})),g=s&&_===d,S=i&&i.left,y=i&&i.right;return e.u("form",{className:e.cc(n,"ul-card--nps","fade-in-transition",s&&!g&&"ul-card--unfocused"),children:[e.u(u.Header,{isRequired:s&&(t==null?void 0:t.required),message:a,properties:t}),e.u(u.MobileEmbedView,{properties:t,children:[e.u(u.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--nps__numbers",children:[...Array(11)].map((L,k)=>e.u("button",{className:e.cc(e.getClasses("nps-number",o),e.getClasses(`nps-number-${k}`,o)),id:`option-${k}`,onClick:w=>{s&&(w.preventDefault(),w.stopPropagation(),c(k)),r({value:k,questionId:d,type:v},!0)},onKeyDown:w=>{var D,M;const P=h.querySelectorAll("button.nps-number");w.key==="ArrowRight"?(D=P[k+1])==null||D.focus():w.key==="ArrowLeft"?(M=P[k-1])==null||M.focus():w.key!=="Enter"&&w.key!==" "||(s&&(w.preventDefault(),w.stopPropagation(),c(k)),r({value:k,questionId:d,type:v},!0))},onPointerDown:w=>{w.currentTarget.style.zIndex="2",w.currentTarget.style.borderColor=b},onPointerLeave:w=>{w.currentTarget.style.zIndex="auto",w.currentTarget.style.borderColor=J.DEFAULT_BORDER_COLOR},style:f===k?{backgroundColor:b,color:"#fff"}:void 0,tabIndex:0,children:k},k))}),e.u("div",{className:"ul-card--nps__labels",children:[e.u("span",{children:S}),e.u("span",{children:y})]})]}),!t.required&&!s&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-vertical-centered-container",children:e.u(u.Button,{onClick:L=>{L.preventDefault(),L.stopPropagation(),r({value:null,questionId:d,type:v},!0)},children:e.getButtonText(t)})})})]})]},d)},We=({className:n,message:i,next:a,properties:t,questionId:r,type:d,showIndividualSubmit:v=!1,onSubmitButtonClick:f})=>{const{border:c,useMobileStyling:b,update:o,isLongFormSurvey:h,focusedQuestionId:s,setFocusedQuestionId:_,isPreview:g}=e.useConfig(m=>({border:m.border,useMobileStyling:m.useMobileStyling,update:m.update,isLongFormSurvey:z.isLongFormSurvey(m.studyType),focusedQuestionId:m.focusedQuestionId,setFocusedQuestionId:m.setFocusedQuestionId,isPreview:m.isPreview})),[S,y]=e.h(""),L=e._(null),k=h&&s===r;e.p(()=>{var m,I;h&&!g&&(k?(m=L.current)==null||m.focus():(I=L.current)==null||I.blur())},[h,k,g]);const w=S.trim(),P=t.required===!0&&!w,D=u.useAutoSize(L,()=>o()),M=m=>{m.preventDefault(),m.stopPropagation(),a({value:S,questionId:r,type:d},!t.required||w.length>0),f&&f()},q=t&&t.openTextPlaceholder?t.openTextPlaceholder:"";return e.u("form",{className:e.cc(n,"ul-card-text","fade-in-transition",h&&!k&&"ul-card--unfocused"),id:"text-form",onClick:()=>{h&&s!==r&&_(r)},children:[e.u(u.Header,{isRequired:h&&(t==null?void 0:t.required),message:i,properties:t}),e.u(u.MobileEmbedView,{properties:t,children:e.u("div",{className:"ul-card-text",children:e.u(u.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card-text__container",children:e.u("textarea",{"aria-describedby":"ul-caption","aria-labelledby":"ul-question","aria-multiline":"true","aria-placeholder":q,className:e.cc(e.getClasses("ul-card-text__input",b)),"data-gramm":"false",maxLength:5e3,name:"text",onBlur:m=>{m.currentTarget.style.borderColor=J.DEFAULT_BORDER_COLOR},onChange:m=>{const{value:I}=m.currentTarget;if(D(),m.preventDefault(),m.stopPropagation(),y(I),h){const p=I.trim().length>0;a({value:I,questionId:r,type:d},p)}},onFocus:m=>{m.currentTarget.style.borderColor=c,_(r)},placeholder:q,ref:L,role:"textbox",tabIndex:0})}),t.footerHtml&&e.u(u.Html,{className:"footer",html:t.footerHtml}),v&&e.u(u.LongformSubmitButton,{handleSubmit:M,isSubmitDisabled:P}),e.u(u.QuestionBodyFooterContainer,{children:!h&&e.u(u.Button,{disabled:P,onClick:M,children:e.getButtonText(t)})})]})})})]},r)},ue=1,xe=2,Te=3,ie=n=>n.type==="av_permission",ge=n=>n.type==="screen_permission",_e=(n,i)=>n===void 0?ue:n?((a,t)=>!(ie(t)?t.permissionDescriptors:[]).includes("camera")||a.getVideoTracks().length>0)(n,i)?Te:ue:xe,he={avStream:null,currentPage:null,mediaRecordingUids:null,nextQuestion:()=>{},passthroughData:void 0,recordingMediaTypes:void 0,screenPermissionRequested:!1,type:void 0},X=e.create(n=>({...he,reset:()=>{n(he)},updatePage:i=>{n(i)}}));function ae({currentPage:n,pages:i}){const{avStream:a,recordingMediaTypes:t,updatePage:r}=X.getState(),{recorderEventEmitter:d}=e.useConfig.getState();d.emit("av.permission",{"permission.descriptors":n.permissionDescriptors,"stream.ready":(v,f)=>{if(a===v)return;let c=n;if(v&&!n.permissionDescriptors.includes("camera")){const b=i.indexOf(n),o=f!=null&&f.active?b+2:b+1;f!=null&&f.active&&t&&d.emit("begin.recording",{"recording.media.types":t,"start.recording.callback":h=>r({mediaRecordingUids:h})}),c=i[o]}r({currentPage:c,avStream:v})}})}function de({status:n}){const{nextQuestion:i,passthroughData:a,mediaRecordingUids:t,reset:r}=X.getState(),{recorderEventEmitter:d,handleUploadUpdate:v,index:f}=e.useConfig.getState(),c={value:{taskStatus:n},type:"recordedtask",questionId:(a==null?void 0:a.questionId)||1};a&&d.emit("finish.task",{"begin.callback":b=>{v({mediaRecordingUid:b,isSubmitted:!0,progressPct:0,isComplete:!1})},"progress.callback":(b,o)=>{v({mediaRecordingUid:b,progressPct:o.detail,isSubmitted:!1,isComplete:!1})},"upload.callback":b=>{b&&v({mediaRecordingUid:b,isComplete:!0,isSubmitted:!0,progressPct:100})},"passthrough.data":a,"current.index":f,"task.response":c,"task.complete.callback":b=>{c.value.taskDurationMillisecond=b,t&&(c.value.mediaRecordingUids=t),r(),i(c)}})}function ce({pages:n,setIsRequestingPermission:i}){const{recorderEventEmitter:a,eventEmitFn:t}=e.useConfig.getState(),{updatePage:r,currentPage:d,recordingMediaTypes:v,screenPermissionRequested:f}=X.getState();if(!d)return;const c=n.indexOf(d);switch(d.type){case"av_permission":{const b=f?c+2:c+1;return f&&v&&a.emit("begin.recording",{"recording.media.types":v,"start.recording.callback":o=>{r({mediaRecordingUids:o})}}),void r({currentPage:n[b]})}case"screen_permission":return void a.emit("screen.permission",{"screen.permission.requested":i,"stream.ready.callback":(b,o)=>{const h=o?n[c+1]:d;o&&v&&a.emit("begin.recording",{"recording.media.types":v,"start.recording.callback":s=>{r({captureStream:o,mediaRecordingUids:s})}}),r({currentPage:h,screenPermissionRequested:!0,captureStream:o})}});case"start_task":return t("recorded.task.start"),a.emit("recorded.task.start"),a.emit("start.task"),void r({currentPage:n[c+1],screenPermissionRequested:!0});case"complete_task":return}}const ke="ul-permission-graphics-container",Ie="ul-permission-body",Re=e.cc(ke,"ul_recorded-task-inset-spacing"),se=e.cc("ul-horizontal-button-container","ul-horizontal-button-container-left"),Ne=({richTextBody:n})=>e.u(u.Html,{className:"ul-rich-text-body",html:n,id:"ul-task-detail-container"}),oe=({required:n,skipButtonText:i,bottom:a=!1})=>n?null:e.u(u.Button,{className:e.cc(a&&"ul-skip-button-below","ul-button-inactive"),onClick:de.bind(null,{status:"abandoned"}),children:i||"Skip"}),pe=n=>{const{avStream:i,captureStream:a,recordingMediaTypes:t,updatePage:r}=X.getState(),d=(t==null?void 0:t.includes("audio"))||(t==null?void 0:t.includes("video"));e.p(()=>{const v=setInterval(()=>{d&&i&&!i.active?r({avStream:null,currentPage:n[0]}):a&&a.active||r({captureStream:void 0,currentPage:n[d?1:0]})},1e3);return()=>clearInterval(v)},[i,a,d,n,t,r])},Ge=({content:n,pages:i,required:a})=>{const{buttonText:t,skipButtonText:r,taskDetail:d}=n;return pe(i),e.u("div",{className:"ul-task-page",children:[d&&e.u(Ne,{richTextBody:d}),e.u("div",{className:se,children:[e.u(u.Button,{onClick:ce.bind(null,{pages:i}),children:t}),e.u(oe,{required:a,skipButtonText:r})]})]},"start-task")},je=({content:n,pages:i,properties:a})=>{const{buttonText:t,skipButtonText:r}=n;return pe(i),e.u("div",{className:"ul-task-page",children:[n.taskDetail&&e.u(Ne,{richTextBody:n.taskDetail}),e.u(u.MobileEmbedView,{properties:a,children:e.u("div",{className:se,children:[e.u(u.Button,{className:"ul-complete-task-button",onClick:de.bind(null,{status:"completed"}),children:t}),e.u(u.Button,{className:e.cc("ul-button-inactive"),onClick:de.bind(null,{status:"given.up"}),children:r})]})})]},"complete-task")},Ze=({content:n,pages:i,required:a})=>{const{buttonText:t,skipButtonText:r}=n,[d]=e.useConfig(c=>[c.tabTitle]),[v,f]=e.h(!1);return e.u("div",{children:[e.u("div",{className:Re,children:[e.u("p",{style:{marginTop:"auto"},children:n.selectTabText}),e.u("div",{className:"ul-select-tab-container",children:e.u("p",{className:Ie,children:d})})]}),e.u("div",{className:a?"":se,children:[e.u(u.Button,{disabled:v,onClick:ce.bind(null,{pages:i,setIsRequestingPermission:f}),children:t}),e.u(oe,{required:a,skipButtonText:r})]})]})},ze=({content:n})=>e.u(u.Html,{className:e.cc(ke,"ul_permission_svg_container","ul_recorded-task-inset-spacing","ul-center-horizontally"),html:n.svg},"ul-permission-request-graphic"),Ye=({content:n,pages:i,required:a})=>{const{permissionDeniedHeadline:t,permissionDeniedBody:r,skipButtonText:d,tryAgainButtonText:v}=n,f=ie(i[0])?i[0]:null;return e.p(()=>{const c=setInterval(()=>{f!==null&&ae({currentPage:f,pages:i})},1e3);return()=>clearInterval(c)},[f,i]),f?e.u("div",{children:[e.u("div",{className:Re,children:e.u("p",{className:"ul-av-permission-denied-paragraph",children:[e.u("span",{className:"ul-av-permission-denied-headline",children:t}),e.u("span",{className:Ie,children:r})]})}),e.u("div",{className:se,children:[e.u(u.Button,{onClick:ae.bind(null,{currentPage:f,pages:i}),children:v}),e.u(oe,{required:a,skipButtonText:d})]})]}):null},Ke=({stream:n})=>e.u("video",{autoPlay:!0,className:e.cc("ul_recorded-task-inset-spacing"),id:"ul-record-task-video-preview",muted:!0,ref:i=>{i&&(i.srcObject=n||null)}}),Xe=({content:n,pages:i,required:a})=>{const{skipButtonText:t}=n,{avStream:r}=X.getState();return pe(i),e.u("div",{children:[e.u(Ke,{stream:r}),e.u("div",{className:"ul-vertical-button-container-center",children:[e.u(u.Button,{onClick:ce.bind(null,{pages:i}),children:n.buttonText}),e.u(oe,{bottom:!0,required:a,skipButtonText:t})]})]})},Je=({properties:n})=>{const{pages:i,required:a}=n,{avStream:t,currentPage:r}=X.getState();if(r===void 0)return null;switch(r==null?void 0:r.type){case"av_permission":{const d=_e(t,r);return d===ue?e.u(ze,{content:r}):d===xe?e.u(Ye,{content:r,pages:i,required:a}):e.u(Xe,{content:r,pages:i,required:a})}case"screen_permission":return e.u(Ze,{content:r,pages:i,required:a});case"start_task":return e.u(Ge,{content:r,pages:i,required:a});case"complete_task":return e.u(je,{content:r,pages:i,properties:n});default:return null}},et=({className:n,properties:i,next:a,questionId:t})=>{const r=e.useConfig(),{surveyId:d,responseGroupUid:v,userId:f,update:c}=r,b=X(),{screenPermissionRequested:o}=b,h=X(y=>y.avStream);let s=X(y=>y.currentPage);s||(s=function({pages:y,userId:L,responseGroupUid:k,surveyId:w,questionId:P,next:D}){const{updatePage:M}=X.getState(),{eventEmitFn:q,recorderEventEmitter:m}=e.useConfig.getState(),I={questionId:P,surveyId:w,visitorId:L,responseGroupUid:k};let p=0;m.emit("recorded.task.permission.screen"),q("recorded.task.permission.screen"),m.emit("permission.status",{"permission.status.callback":(x,R,E,l)=>{const T=y[p],{type:F}=T,A=["screen"];if(ie(T)){const{permissionDescriptors:O}=T,G=O==null?void 0:O.includes("microphone"),W=O==null?void 0:O.includes("camera");G&&A.push("audio"),W&&A.push("video"),(x!=null&&x.active&&!W||x!=null&&x.active&&R)&&p++}ge(y[p])&&E&&(p++,m.emit("begin.recording",{"recording.media.types":A,"start.recording.callback":O=>M({mediaRecordingUids:O})})),M({currentPage:y[p],avStream:x,screenPermissionRequested:E,nextQuestion:D,type:F,passthroughData:I,recordingMediaTypes:A,captureStream:l})}});const C=y[p];return C.type==="av_permission"&&ae({currentPage:C,pages:y}),C}({questionId:t,surveyId:d,next:y=>{a(y,!0)},pages:i.pages,responseGroupUid:v,userId:f}));let _=s.headline,g=s.captionText;const S=_e(h,s);return ge(s)&&o&&(_=s.permissionDeniedHeadline,g=s.permissionDeniedCaptionText),ie(s)&&S===Te&&(_=s.permissionGrantedHeadline,g=s.permissionGrantedCaptionText),e.p(()=>{c()},[c]),e.u("div",{className:e.cc(n,"ul-center-horizontally","fade-in-transition"),children:[e.u(u.Header,{isRequired:i==null?void 0:i.required,message:_,properties:{captionText:g}}),e.u(u.QuestionBodyWrapper,{children:e.u(Je,{properties:i})})]})},tt=({richTextBody:n,plaintextBody:i})=>n?e.u(u.Html,{className:"ul-rich-text-body",html:n,id:"ul-card__text-url-body-container"}):i?e.u("div",{className:"ul-rich-text-body",id:"ul-card__text-url-body-container",children:(i?i.split(/\n\s*\n/g):[]).map((a,t)=>e.u("p",{children:a},t))}):null,rt=({className:n,message:i,next:a,properties:t,questionId:r,type:d})=>{const{visitorAttributes:v,isLongFormSurvey:f}=e.useConfig(h=>({visitorAttributes:h.visitorAttributes,isLongFormSurvey:z.isLongFormSurvey(h.studyType)})),c=(h,s=!1)=>{a({value:s?{skipped:!0}:void 0,questionId:r,type:d},!0)},b=u.getAttributedUrl(t&&t.buttonUrl,v),o=f&&t.promptActionType===u.PromptActionTypeEnum.NO_BUTTON;return e.u("div",{className:e.cc(n,"ul-card__text-url-prompt","fade-in-transition"),children:[e.u(u.Header,{isRequired:f&&(t==null?void 0:t.required),message:i,properties:{questionHtml:t.questionHtml}}),e.u(u.QuestionBodyWrapper,{children:e.u(tt,{plaintextBody:t==null?void 0:t.body,richTextBody:t==null?void 0:t.richTextBody})}),e.u(u.MobileEmbedView,{properties:t,children:!o&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card-button-group",children:[e.u("a",{className:"ul-card-text__button ul-card__text-url-prompt-button",href:b,id:"ul-card-text__button",onClick:c,onKeyPress:h=>{h.key!=="Enter"&&h.key!==" "||a({value:void 0,questionId:r,type:d},!0)},rel:"noreferrer",role:b?"link":"button",tabIndex:0,target:"_blank",children:e.getButtonText(t)}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:h=>c(0,!0),children:e.getSkipButtonText(t)})]})})})]},r)},nt=({className:n,questionId:i})=>{const{border:a,destroy:t,endCard:r,forceBrandedLogo:d,update:v}=e.useConfig(b=>({border:b.border,destroy:b.destroy,endCard:b.endCard,forceBrandedLogo:b.forceBrandedLogo,update:b.update}));e.p(()=>{setTimeout(()=>{t(J.APP_ID)},d?4e3:2e3)},[t,d]);const f=r&&r.subheader?e.u("p",{className:"ul-caption",children:r.subheader}):null,c=r&&r.headline?r.headline:"";return e.p(()=>{v()},[v]),e.u("div",{className:e.cc(n,"ul-card--thanks","fade-in-transition"),children:e.u("div",{children:e.u("div",{className:"ul-card--thanks-content",children:[e.u("div",{className:"ul-thanks-check",children:e.u("svg",{"aria-labelledby":"title",fill:"none",height:"99",viewBox:"0 0 81 99",width:"81",xmlns:"http://www.w3.org/2000/svg",children:[e.u("path",{clipRule:"evenodd",d:"M40.5 77C60.9345 77 77.5 60.4345 77.5 40C77.5 19.5655 60.9345 3 40.5 3C20.0655 3 3.5 19.5655 3.5 40C3.5 60.4345 20.0655 77 40.5 77ZM80.5 40C80.5 62.0914 62.5914 80 40.5 80C18.4086 80 0.5 62.0914 0.5 40C0.5 17.9086 18.4086 0 40.5 0C62.5914 0 80.5 17.9086 80.5 40Z",fill:a,fillRule:"evenodd"}),e.u("path",{clipRule:"evenodd",d:"M55.025 22.9046C55.6299 23.4705 55.6616 24.4198 55.0956 25.0247C54.8724 25.2634 54.6109 25.5285 54.3157 25.8277C52.2547 27.9168 48.5549 31.667 44.8135 39.6658C43.2818 42.9406 42.0864 45.8386 41.0823 48.2729C40.6539 49.3116 40.2603 50.2659 39.8902 51.129C39.287 52.5359 38.7248 53.7508 38.1744 54.625C37.8997 55.0613 37.5806 55.4905 37.2017 55.8245C36.8201 56.1607 36.2613 56.5 35.5457 56.5C34.6742 56.5 34.0892 55.9692 33.7774 55.6083C33.4502 55.2296 33.1752 54.7511 32.9396 54.301C32.7305 53.9013 32.5088 53.4367 32.2797 52.9565C32.2429 52.8794 32.2059 52.8019 32.1688 52.7243C31.8942 52.1499 31.5959 51.534 31.2537 50.8868C29.8886 48.305 27.8539 45.2878 24.2343 43.1382C23.522 42.7152 23.2875 41.7949 23.7105 41.0826C24.1335 40.3703 25.0539 40.1358 25.7662 40.5588C30.0556 43.1062 32.4149 46.6647 33.9058 49.4845C34.2776 50.1876 34.5973 50.8487 34.8753 51.4302C34.9147 51.5124 34.9529 51.5926 34.9902 51.6707C35.2222 52.1567 35.4164 52.5637 35.5978 52.9102C35.6151 52.9434 35.6321 52.9754 35.6485 53.0061C36.0565 52.3531 36.5341 51.3434 37.133 49.9468C37.4781 49.1418 37.8572 48.2229 38.2761 47.2074C39.2886 44.7532 40.5339 41.7347 42.0961 38.3948C46.0591 29.9221 50.0641 25.8648 52.1535 23.7482C52.4423 23.4556 52.6944 23.2002 52.9048 22.9753C53.4708 22.3703 54.42 22.3387 55.025 22.9046ZM35.1994 53.5892C35.1994 53.5892 35.2 53.5888 35.2012 53.5879C35.2 53.5889 35.1994 53.5893 35.1994 53.5892ZM36.0666 53.6682C36.0732 53.674 36.0765 53.6775 36.0765 53.6777C36.0765 53.678 36.0732 53.6751 36.0666 53.6682Z",fill:a,fillRule:"evenodd"}),e.u("path",{d:"M69.5 97C69.5 98.1046 56.2924 99 40 99C23.7076 99 10.5 98.1046 10.5 97C10.5 95.8954 23.7076 95 40 95C56.2924 95 69.5 95.8954 69.5 97Z",fill:"black",fillOpacity:"0.2"})]})}),e.u(u.Header,{message:c}),f]})})},i)},ee="ul-card-video__player_recorder",be="ul-video-btn",le=0,ve=1,it=({className:n,message:i,next:a,properties:t,questionId:r,type:d})=>{const{apiURL:v,envId:f,handleUploadUpdate:c,headers:b,responseGroupUid:o,surveyId:h,update:s,viewDocument:_,visitorId:g}=e.useConfig(l=>({apiURL:l.apiURL,envId:l.envId,handleUploadUpdate:l.handleUploadUpdate,headers:l.headers,responseGroupUid:l.responseGroupUid,surveyId:l.surveyId,update:l.update,viewDocument:l.viewDocument,visitorId:l.userId})),[S,y]=e.h(!1),[L,k]=e.h(null),[w,P]=e.h(null),[D,M]=e.h(le),[q,m]=e.h(null),[I,p]=e.h(null),C=t&&t.videoUrl,x=e.T(l=>{l&&m(l)},[m]);e.p(()=>{const l=new ResizeObserver(()=>{setTimeout(s,0)});return I&&l.observe(I),q&&l.observe(q),()=>{l.disconnect()}},[s,I,q]);const R=(l,T)=>{l===u.RECORDER.UPLOAD_STARTED?(k(T[u.RECORDER.UPLOAD_ID]),P(T[u.RECORDER.MEDIA_RECORDING_UID]),y(!0)):l===u.RECORDER.DELETE?(k(null),P(null),y(!1)):l===u.RECORDER.UPLOAD_PROGRESS?isNaN(T[u.RECORDER.UPLOAD_PROGRESS_PCT])?c({mediaRecordingUid:T[u.RECORDER.MEDIA_RECORDING_UID],isComplete:!0}):c({mediaRecordingUid:T[u.RECORDER.MEDIA_RECORDING_UID],progressPct:T[u.RECORDER.UPLOAD_PROGRESS_PCT]}):l===u.RECORDER.UPLOAD_FINISHED&&c({mediaRecordingUid:T[u.RECORDER.MEDIA_RECORDING_UID],isComplete:!0})},E=l=>{l.preventDefault(),l.stopPropagation(),document.getElementById(ee)&&u.stopRecording(ee),L&&w?(c({mediaRecordingUid:w,isSubmitted:!0}),a({value:{mediaRecordingUid:w},questionId:r,type:d},!0)):a({value:null,questionId:r,type:d},!0)};return e.u("form",{className:e.cc(n,"ul-card--video","fade-in-transition"),id:"ul-video-interview-form",children:[e.u(u.Header,{isRequired:t==null?void 0:t.required,message:i,properties:t}),e.u(u.QuestionBodyWrapper,{children:[e.u("div",{id:"ul-question-player-container",ref:x,style:{display:D===le?"":"none"},children:[e.u("div",{id:ee,ref:l=>{if(l&&l.children.length===0&&!t.hideRecordedPrompt){p(l);const T=u.videoPlayer(ee,{src:C,type:"application/x-mpegURL"},void 0,t.mediaType===u.RECORDER.MEDIA_TYPE_AUDIO,v,_);l.appendChild(T)}}}),e.u(u.MobileEmbedView,{properties:t,children:e.u("button",{className:`${be} ul-record-response-btn`,onClick:l=>{l.preventDefault(),l.stopPropagation(),document.getElementById(ee)&&u.pauseQuestionPlayer(ee),M(ve)}})})]}),e.u("div",{style:{display:D===ve?"block":"none"},children:[e.u("button",{className:`${be} ul-back-question-btn`,onClick:l=>{l.preventDefault(),l.stopPropagation(),M(le)},style:{display:t.hideRecordedPrompt?"none":"block"}}),e.u("div",{id:"ul-recorder-player-container",ref:l=>{if(l&&l.children.length===0){p(l);const T=u.videoRecorderPlayer(ee,{surveyId:h,responseGroupUid:o,questionId:r,visitorId:g,envId:f},v,R,void 0,{...b,"x-ul-video-recorder-origin":"sdk"},t.mediaType===u.RECORDER.MEDIA_TYPE_AUDIO,_);l.appendChild(T)}}})]})]}),e.u(u.QuestionBodyFooterContainer,{children:[e.u(u.Button,{disabled:!S,onClick:E,children:e.getButtonText(t)}),e.u("button",{className:"ul-card-text__button ul-button-inactive ul-card-skip__button",id:"ul-card-video__skip_button",onClick:E,style:{display:t.required?"none":"block",...S?{display:"none"}:{}},children:e.getSkipButtonText(t)})]})]})},st=({className:n})=>{const{uploadProgress:i}=e.useConfig(d=>({uploadProgress:d.uploadProgress}));let a,t;Object.values(i).filter(d=>d.isSubmitted).length>1?(a="Your responses are processing",t="Please keep this tab open until your responses are fully processed."):(a="Your response is processing",t="Please keep this tab open until your response is fully processed.");const r=Math.round(Math.min(99,...Object.values(i).filter(d=>d.isSubmitted).map(d=>d.progressPct||0)));return e.u("div",{className:e.cc(n,"ul-card--uploading","fade-in-transition"),children:[e.u("div",{"aria-busy":"true","aria-label":"Processing...","aria-live":"polite",className:"ul-loading-spinner-container",role:"progressbar",children:e.u("div",{className:"ul-loading-spinner",children:[e.u("div",{className:"first"}),e.u("div",{className:"second"}),e.u("div",{className:"third"}),e.u("div",{className:"fourth"})]})}),e.u(u.Header,{message:`${a} (${r}% complete)`}),e.u("p",{className:"ul-caption",children:t})]})},Le=e.F$1(void 0),ot=({value:n,children:i})=>e.u(Le.Provider,{value:n,children:i}),lt=({isRightLabel:n,isLeftLabel:i})=>n?e.MaxDiffChoice.RIGHT:i?e.MaxDiffChoice.LEFT:null,ut="Best",at="Worst",dt=({className:n,labels:i,message:a,properties:t,options:r,questionId:d,type:v,next:f})=>{var P,D,M,q;const[c,b]=e.h(r.map((m,I)=>({...m,label:m.label===""?`Item ${I+1}`:m.label,isRightLabel:!1,isLeftLabel:!1}))),o=(()=>{const m=e.q(Le);if(m===void 0)throw new Error("usePreviousResponses must be used within a PreviousResponsesProvider");return m})(),h={padding:"24px",display:"flex",cursor:"pointer",width:"auto"},[s,_]=e.h(!1);e.p(()=>{const m=c.findIndex(T=>T.isRightLabel),I=c.findIndex(T=>T.isLeftLabel),p=m!==-1&&I!==-1;_(p);const C=!t.required||t.required&&p,x=c.map(T=>({id:T.id,option:T.label,selected:lt(T)})),R=Math.floor(d),E=Object.keys(o).filter(T=>T.startsWith(R.toString())).map(Number).sort((T,F)=>T-F).at(-1),l=[];if(typeof E=="number"){const T=o[E],F=JSON.parse(T);l.push(...F)}l.push(x),setTimeout(()=>{f({value:l,questionId:d,type:v},C,p),_(!1)},p?500:0)},[c]);const{border:g,useMobileStyling:S,enableCspTrustedTypes:y}=e.useConfig(m=>({border:m.border,useMobileStyling:m.useMobileStyling,enableCspTrustedTypes:m.enableCspTrustedTypes})),L=(m,I)=>()=>{s||b(p=>((C,x,R)=>C.map(E=>E.id===x?{...E,isRightLabel:R===e.MaxDiffChoice.RIGHT,isLeftLabel:R===e.MaxDiffChoice.LEFT}:R===e.MaxDiffChoice.RIGHT&&E.isRightLabel||R===e.MaxDiffChoice.LEFT&&E.isLeftLabel?{...E,isRightLabel:!1,isLeftLabel:!1}:E))(p,m,I))},k=(P=t.ratingIcons)==null?void 0:P[0].svg,w=(D=t.ratingIcons)==null?void 0:D[1].svg;return e.u("form",{className:e.cc(n,"ul-card-maxdiff","fade-in-transition"),children:[e.u(u.Header,{isRequired:t==null?void 0:t.required,message:a,properties:t}),e.u(u.QuestionBodyWrapper,{children:e.u("div",{className:"ul-card--maxdiff__question-inner-container",children:[e.u("div",{className:"ul-card-maxdiff__label",children:(i==null?void 0:i.left)||((M=t==null?void 0:t.labels)==null?void 0:M.left)||ut}),e.u("div",{children:" "}),e.u("div",{className:"ul-card-maxdiff__label",children:(i==null?void 0:i.right)||((q=t==null?void 0:t.labels)==null?void 0:q.right)||at}),c.map(({id:m,label:I,isLeftLabel:p,isRightLabel:C})=>e.u(e.g,{children:[e.u("div",{className:"ul-card-maxdiff__option-control "+(w?"smiley":""),children:w?e.u(fe,{ariaPressed:p,className:p?"ul-card-maxdiff__option-btn ul-card-maxdiff__option-selected good":"ul-card-maxdiff__option-btn",enableCspTrustedTypes:y,html:w,id:`smiley-good-${m}`,onClick:L(m,e.MaxDiffChoice.LEFT)}):e.u(u.Option,{allowTextEntry:!1,ariaLabel:`bestLabel-${I}`,border:g,choiceStyle:h,error:!1,id:`${m}`,isRadio:!0,isSelected:p,onUserInputChanged:L(m,e.MaxDiffChoice.LEFT),useMobileStyling:S})}),e.u("div",{className:"ul-card-maxdiff__option-label",children:I}),e.u("div",{className:"ul-card-maxdiff__option-control "+(k?"smiley":""),children:k?e.u(fe,{ariaPressed:C,className:C?"ul-card-maxdiff__option-btn ul-card-maxdiff__option-selected bad":"ul-card-maxdiff__option-btn",enableCspTrustedTypes:y,html:k,id:`smiley-bad-${m}`,onClick:L(m,e.MaxDiffChoice.RIGHT)}):e.u(u.Option,{allowTextEntry:!1,ariaLabel:`worstLabel-${I}`,border:g,choiceStyle:h,error:!1,id:`${m}`,isRadio:!0,isSelected:C,onUserInputChanged:L(m,e.MaxDiffChoice.RIGHT),useMobileStyling:S})})]}))]})})]},d)},fe=({enableCspTrustedTypes:n,ariaPressed:i,className:a,html:t,id:r,onClick:d})=>{const v=e.F(()=>J.getHtml(t,n),[n,t]);return e.u("span",{"aria-pressed":i,className:a,dangerouslySetInnerHTML:{__html:v},id:r,onClick:d,tabIndex:0,type:"button"})},ct=({className:n,labels:i,message:a,next:t,properties:r,questionId:d,type:v,onSubmitButtonClick:f,options:c,showIndividualSubmit:b=!1})=>{const o=e._(null),h=e._(0),s=e._(0),_=e._(null),g=e._(!1),S=e._([]),[y,L]=e.h(()=>(r==null?void 0:r.required)===!0),[k,w]=e.h(()=>c.map(N=>({...N,rank:null}))),P=e.F(()=>Array.from({length:c.length},(N,Q)=>Q+1),[c.length]),{isLongFormSurvey:D,focusedQuestionId:M,setFocusedQuestionId:q,useMobileStyling:m,isPreview:I,headers:p}=e.useConfig(N=>({useMobileStyling:N.useMobileStyling,isLongFormSurvey:z.isLongFormSurvey(N.studyType),focusedQuestionId:N.focusedQuestionId,setFocusedQuestionId:N.setFocusedQuestionId,isPreview:N.isPreview,headers:N.headers})),C=(p==null?void 0:p["userleap-platform"])==="android",x=m&&!I&&!C,R=!x&&!C,E=D&&M===d,l=N=>{N.preventDefault(),j(k),f&&f()},T=(N,Q)=>{w(U=>{const B=parseInt(Q),H=U.map($=>({...$}));H.some($=>$.rank==null)&&H.forEach(($,te)=>$.rank=te+1);const Y=H.findIndex($=>$.id===N);if(Y===-1)return U;const V=H[Y].rank;return B<V?H.forEach($=>{$.id!==N&&$.rank>=B&&$.rank<V&&($.rank=$.rank+1)}):B>V&&H.forEach($=>{$.id!==N&&$.rank>V&&$.rank<=B&&($.rank=$.rank-1)}),H[Y].rank=B,H.sort(($,te)=>$.rank-te.rank),Z(H),H})},F=(N,Q)=>{for(let U=0;U<S.current.length;U++){const B=S.current[U];if(!B||B===_.current)continue;const H=B.getBoundingClientRect();if(N>=H.left&&N<=H.right&&Q>=H.top&&Q<=H.bottom)return{element:B,index:U}}return null},A=N=>Q=>{if(!x)return;Q.preventDefault(),Q.stopPropagation(),g.current=!0,o.current=N;const U=Q.touches[0];h.current=U.clientY,s.current=U.clientY;const B=Q.currentTarget.closest(".ul-card-rank__option");B&&(_.current=B,B.classList.add("is-dragging"))},O=N=>{if(!x||!g.current||o.current===null)return;N.preventDefault(),N.stopPropagation();const Q=N.touches[0];s.current=Q.clientY;const U=s.current-h.current;_.current&&(_.current.style.transform=`translateY(${U}px)`,_.current.style.zIndex="1000"),S.current.forEach(H=>{H&&H!==_.current&&H.classList.remove("is-drop-target")});const B=F(Q.clientX,Q.clientY);B&&B.element.classList.add("is-drop-target")},G=N=>{if(!x||!g.current||o.current===null)return;N.preventDefault(),N.stopPropagation();const Q=N.changedTouches[0],U=F(Q.clientX,Q.clientY);_.current&&(_.current.style.transform="",_.current.style.zIndex="",_.current.classList.remove("is-dragging")),S.current.forEach(B=>{B&&B.classList.remove("is-drop-target")}),U&&U.index!==o.current&&W(o.current,U.index),o.current=null,_.current=null,g.current=!1},W=(N,Q)=>{w(U=>{const B=U.map(Y=>({...Y})),[H]=B.splice(N,1);return B.splice(Q,0,H),B.forEach((Y,V)=>{Y.rank=V+1}),Z(B),B})},j=N=>{const Q={};N.reduce((U,B)=>(U[B.id]=B.rank,U),Q),t({value:Q,questionId:d,type:v},!0)},Z=N=>{L(!1),D&&j(N)},{left:K,right:re}=i,ne=c.length,we=N=>{N.preventDefault(),N.currentTarget.classList.add("is-drop-target")},qe=N=>{N.currentTarget.classList.remove("is-drop-target")},De=N=>{o.current=null,N.currentTarget.classList.remove("is-dragging")};return e.u("form",{className:e.cc(n,"ul-card-rank","fade-in-transition",D&&!E&&"ul-card--unfocused"),onClick:D?()=>{D&&M!==d&&q(d)}:void 0,onSubmit:l,children:[e.u(u.Header,{isRequired:r==null?void 0:r.required,message:a,properties:r}),e.u(u.MobileEmbedView,{properties:r,children:C?e.u(e.g,{children:[e.u(u.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--rank__question-inner-container",children:[e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:["1 - ",K]})}),e.u("ol",{className:"ul-card-rank__list",children:k.map(({id:N,label:Q,rank:U})=>e.u("li",{className:"ul-card-rank__option",children:[e.u("select",{"aria-label":`Rank for ${Q}`,className:e.cc("ul-card-rank__select",U==null&&"ul-card-rank__select--placeholder"),name:`rank[${N}]`,onChange:B=>T(N,B.currentTarget.value),value:U??"",children:[U==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),P.map(B=>e.u("option",{className:"ul-card-rank__select-option",value:B,children:B},`${B}-${d}`))]}),e.u("span",{children:Q})]},N))}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[ne," - ",re]})})]}),b&&e.u(u.LongformSubmitButton,{handleSubmit:l,isSubmitDisabled:y})]}),!D&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(u.Button,{disabled:y,children:e.getButtonText(r)})})})]}):e.u(e.g,{children:[e.u(u.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--rank__question-inner-container",children:[e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:["1 - ",K]})}),e.u("ol",{className:"ul-card-rank__list",onDragOver:C?void 0:N=>{N.preventDefault(),N.dataTransfer&&(N.dataTransfer.dropEffect="move")},children:k.map(({id:N,label:Q,rank:U},B)=>{return e.u("li",{className:"ul-card-rank__option",draggable:!!R||void 0,onDragEnd:R?De:void 0,onDragEnter:R?we:void 0,onDragLeave:R?qe:void 0,onDragStart:R?(Y=B,V=>{o.current=Y,V.dataTransfer&&(V.dataTransfer.effectAllowed="move",V.dataTransfer.setData("text/plain",String(Y)),V.currentTarget.classList.add("is-dragging"))}):void 0,onDrop:R?(H=B,V=>{var te,me;V.preventDefault(),V.currentTarget.classList.remove("is-drop-target");const $=o.current;o.current=null,(me=(te=V.currentTarget.closest(".ul-card-rank__list"))==null?void 0:te.querySelector(".is-dragging"))==null||me.classList.remove("is-dragging"),$!=null&&$!==H&&W($,H)}):void 0,ref:V=>S.current[B]=V,children:[e.u("select",{"aria-label":`Rank for ${Q}`,className:e.cc("ul-card-rank__select",U==null&&"ul-card-rank__select--placeholder"),name:`rank[${N}]`,onChange:V=>T(N,V.currentTarget.value),value:U??"",children:[U==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),P.map(V=>e.u("option",{className:"ul-card-rank__select-option",value:V,children:V},`${V}-${d}`))]}),e.u("span",{children:Q}),!C&&e.u("button",{"aria-label":`Drag ${Q} to reorder`,className:"ul-card-rank__drag-btn",onTouchEnd:x?G:void 0,onTouchMove:x?O:void 0,onTouchStart:x?A(B):void 0,title:"Drag to reorder",type:"button",children:e.u("svg",{fill:"none",height:"17",viewBox:"0 0 16 17",width:"16",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M5.75 11.625C6.37132 11.625 6.875 12.1287 6.875 12.75C6.875 13.3713 6.37132 13.875 5.75 13.875C5.12868 13.875 4.625 13.3713 4.625 12.75C4.625 12.1287 5.12868 11.625 5.75 11.625ZM10.25 11.625C10.8713 11.625 11.375 12.1287 11.375 12.75C11.375 13.3713 10.8713 13.875 10.25 13.875C9.62868 13.875 9.125 13.3713 9.125 12.75C9.125 12.1287 9.62868 11.625 10.25 11.625ZM5.75 7.375C6.37132 7.375 6.875 7.87868 6.875 8.5C6.875 9.12132 6.37132 9.625 5.75 9.625C5.12868 9.625 4.625 9.12132 4.625 8.5C4.625 7.87868 5.12868 7.375 5.75 7.375ZM10.25 7.375C10.8713 7.375 11.375 7.87868 11.375 8.5C11.375 9.12132 10.8713 9.625 10.25 9.625C9.62868 9.625 9.125 9.12132 9.125 8.5C9.125 7.87868 9.62868 7.375 10.25 7.375ZM5.75 3.125C6.37132 3.125 6.875 3.62868 6.875 4.25C6.875 4.87132 6.37132 5.375 5.75 5.375C5.12868 5.375 4.625 4.87132 4.625 4.25C4.625 3.62868 5.12868 3.125 5.75 3.125ZM10.25 3.125C10.8713 3.125 11.375 3.62868 11.375 4.25C11.375 4.87132 10.8713 5.375 10.25 5.375C9.62868 5.375 9.125 4.87132 9.125 4.25C9.125 3.62868 9.62868 3.125 10.25 3.125Z",fill:"currentColor"})})})]},N);var H,Y})}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[ne," - ",re]})})]}),b&&e.u(u.LongformSubmitButton,{handleSubmit:l,isSubmitDisabled:y})]}),!D&&e.u(u.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(u.Button,{disabled:y,children:e.getButtonText(r)})})})]})})]},d)},pt=new Set(["open","matrix","multipleselect","multiplechoice","rankorder"]),ye=({cardInstance:n,moveToNextQuestion:i,showIndividualSubmit:a,submitQuestion:t,updateCardValues:r})=>{const{isLongFormSurvey:d}=e.useConfig(s=>({isLongFormSurvey:z.isLongFormSurvey(s.studyType)}));if(!n)return null;const{name:v,type:f,props:c}=n,b=a&&pt.has(f),o={className:"ul-card",next:(s,_,g=!0)=>t(s,_&&g),questionId:v,type:f,showIndividualSubmit:a,...b?{next:(s,_)=>{r(s.questionId,s,_??!0)},onSubmitButtonClick:()=>i(v)}:{}},h=(()=>{switch(f){case"consentlegal":return e.u(Ee,{...o,...c});case"likert":return e.u(Me,{...o,...c});case"matrix":return e.u(Ae,{...o,...c});case"maxdiff":return e.u(dt,{...o,...c});case"multiplechoice":return e.u(He,{...o,...c});case"multipleselect":return e.u($e,{...o,...c});case"nps":return e.u(Ve,{...o,...c});case"open":return e.u(We,{...o,...c});case"rankorder":return e.u(ct,{...o,...c});case"recordedtask":return e.u(et,{...o,...c});case"texturlprompt":return e.u(rt,{...o,...c});case"thanks":return e.u(nt,{...o,...c});case"uploading":return e.u(st,{...o,...c});case"videovoice":return e.u(it,{...o,...c});default:return null}})();return h?d?e.u("div",{className:"ul-card-scroll-wrapper",children:h},v):h:null},mt=({isSubmitDisabled:n=!1,onSubmit:i,buttonText:a})=>{var _;const{cards:t,forceBrandedLogo:r,index:d,marketingUrl:v,showSurveyBrand:f,slugName:c,surveyId:b,useMobileStyling:o}=e.useConfig(g=>({cards:g.cards,forceBrandedLogo:g.forceBrandedLogo,index:g.index,marketingUrl:g.marketingUrl,showSurveyBrand:g.showSurveyBrand,slugName:g.slugName,surveyId:g.surveyId,useMobileStyling:g.useMobileStyling})),h=((_=t[d])==null?void 0:_.type)==="thanks",s=e.buildMarketingUrl({marketingUrl:v,slugName:c,surveyId:b,forceBrandedLogo:r});return e.u("footer",{className:e.cc("long-form-question-footer-container",o&&"long-form-question-footer-container--mobile",h&&"long-form-question-footer-container-center"),children:[h&&r?e.u(e.ThankYouLink,{marketingUrlLink:s}):e.u("div",{className:"long-form-question-footer-container-logo",children:f?e.u(e.SprigBrandLogo,{forceBrandedLogo:r,marketingUrlLink:s}):null}),!h&&e.u("div",{className:e.cc("ul-card__button-wrapper","ul-card-vertical__button-wrapper","long-form-question-footer-container-actions"),children:e.u(u.Button,{className:e.cc("long-form-button",n&&"sprig-button-disabled"),disabled:n,onClick:i,children:e.u("span",{className:"long-form-button-text-container",children:a??e.u(e.Arrow,{stroke:"white"})})})})]})};exports.PageCard=({cards:n,next:i,previousResponses:a})=>{var I;const[t,r]=e.h({}),[d,v]=e.h({}),f=e.F(()=>({...a,...e.buildReadableResponseMap(n.map(p=>{var C,x;return{...p,value:((C=t[p.name])==null?void 0:C.value)??null,secondaryValue:((x=t[p.name])==null?void 0:x.secondaryValue)??null}}))}),[a,t,n]),c=e.pipeReadableResponsesIntoCards(n,f),{isLongFormSurvey:b,focusedQuestionId:o,setFocusedQuestionId:h}=e.useConfig(p=>({isLongFormSurvey:z.isLongFormSurvey(p.studyType),focusedQuestionId:p.focusedQuestionId,setFocusedQuestionId:p.setFocusedQuestionId})),s=e._(null),_=e._(!1),g=e._(null),S=e.T(p=>{var E,l;_.current=!0;const C=n.findIndex(T=>T.name===p);if(!b||p===null||C===-1)return void(_.current=!1);const x=(E=s.current)==null?void 0:E.querySelectorAll(".ul-card-scroll-wrapper")[C],R=(l=s.current)==null?void 0:l.closest(".ul-card-main-content");if(x&&R){if(x&&R){const T=x.getBoundingClientRect(),F=R.getBoundingClientRect(),A=T.top-F.top+R.scrollTop,O=A+T.height/2,G=window.innerHeight-157;let W;T.height>=G?W=A:W=O-R.clientHeight/2;const j=R.clientHeight,Z=R.scrollHeight-j,K=Math.max(0,Math.min(W,Z));R.scrollTo({top:K,behavior:"smooth"}),setTimeout(()=>{_.current=!1},500)}}else _.current=!1},[b,n]);function y(p,C){return p.map(x=>{const R=C[x.name],E=c.find(l=>l.name===x.name);return{...R,questionText:E?e.getProcessedQuestionText(E):void 0}})}e.p(()=>{o!==null&&n.findIndex(p=>p.name===o)!==-1||h(n[0].name)},[n,o,h]);const L=p=>{if(!b)return;const C=n.findIndex(x=>x.name===p)+1;if(C<n.length){const x=n[C].name;h(x)}else h(p)};e.p(()=>{b&&o!==null&&(g.current!==o?S(o):g.current=null)},[o,b,S]);const k=e.T(()=>{var F,A;if(_.current)return;const p=(F=s.current)==null?void 0:F.closest(".ul-card-main-content");if(!p)return;const C=(A=s.current)==null?void 0:A.querySelectorAll(".ul-card-scroll-wrapper");if(!C||C.length===0)return;const x=p.getBoundingClientRect(),R=x.top+x.height/2;let E=0,l=1/0;C.forEach((O,G)=>{const W=O.getBoundingClientRect(),j=W.top+W.height/2,Z=Math.abs(R-j);Z<l&&(l=Z,E=G)});const T=n[E];g.current=T.name,h(T.name)},[n,h]);e.p(()=>{var C;if(!b)return;const p=((C=s.current)==null?void 0:C.closest(".ul-card__container"))||null;return p&&p.addEventListener("scroll",k,{passive:!0}),()=>{p&&p.removeEventListener("scroll",k)}},[k,b]);const w=e.F(()=>Object.values(d).every((p,C)=>{var R;const x=n[C];return!(!(x!=null&&x.props)||!("properties"in x.props)||((R=x.props.properties)==null?void 0:R.required)!==!1)||p}),[d,n]),P=async(p,C,x)=>{return v(E=>({...E,[p]:x})),await(R=E=>({...E,[p]:C}),new Promise(E=>{r(l=>{const T=R(l);return E(T),T})}));var R};e.p(()=>{if(!b)return;const p={};n.forEach(C=>{var R,E;const x=C;(E=(R=x.props)==null?void 0:R.properties)!=null&&E.required||(p[x.name]={value:null,questionId:x.name,type:x.type})}),r(p),v({})},[n,b]);const D=async(p,C)=>{if(b){const x=await P(p.questionId,p,C),R=M(p.type),E=q(p.type);if(R&&L(p.questionId),E&&C){const l=y(n,x);i(l)}}else{const x=c.find(E=>E.name===p.questionId),R={...p,questionText:x?e.getProcessedQuestionText(x):void 0};i([R])}},M=p=>new Set(["nps","likert","multiplechoice"]).has(p),q=p=>new Set(["videovoice","consentlegal","texturlprompt","maxdiff"]).has(p),m=((I=n[0])==null?void 0:I.type)==="thanks";return b?e.u("div",{className:"ul-card-list-container--longform","data-testid":"ui-container",ref:s,children:[e.u(ot,{value:a,children:c.map((p,C)=>e.u(ye,{cardInstance:p,moveToNextQuestion:L,showIndividualSubmit:b&&n.length>1&&C<n.length-1,submitQuestion:D,updateCardValues:P},(p==null?void 0:p.name)||C))}),!m&&e.u(mt,{isSubmitDisabled:Object.keys(t).length<n.length||!w,onSubmit:function(){const p=y(n,t);i(p)}})]}):e.u(e.g,{children:[e.u("div",{"data-testid":"ui-container",style:{display:"none"}}),c.map((p,C)=>e.u(ye,{cardInstance:p,moveToNextQuestion:L,showIndividualSubmit:b&&n.length>1&&C<n.length-1,submitQuestion:D,updateCardValues:P},(p==null?void 0:p.name)||C))]})};