@sprig-technologies/sprig-bundled 2.40.4 → 2.41.0

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.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./view-qSJv2aM9.cjs"),W=require("./index-m2P75rlk.cjs"),E=require("./getAttributedUrl-DrWRiV-q.cjs"),re="https://cdn.sprig.com",_={document:void 0,videojs:void 0},xe=n=>n+"-loading-spiner",Z="hidden",je=".m3u8",ve="questionId",me="ul-video-recorder-camera-off-button",ge="ul-recording-in-session",Ye=[{type:"link",content:`${re}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${re}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${re}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${re}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${re}/userleap-web-upchunk-v2.2.2.js`}],Me=[{type:"link",content:`${re}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${re}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:`/* progress control styles */
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./view-Btk1gSAI.cjs"),W=require("./index-DZZhe9UA.cjs"),E=require("./getAttributedUrl-CuAx8r1V.cjs"),re="https://cdn.sprig.com",T={document:void 0,videojs:void 0},xe=n=>n+"-loading-spiner",Z="hidden",je=".m3u8",me="questionId",ve="ul-video-recorder-camera-off-button",ge="ul-recording-in-session",Ye=[{type:"link",content:`${re}/dependencies/videojs-record-4.5.0.min.css`},{type:"script",content:`${re}/dependencies/RecordRTC-5.6.2.js`},{type:"script",content:`${re}/dependencies/adapter.8.0.0.min.js`},{type:"script",content:`${re}/dependencies/videojs-record-4.5.0.min.js`},{type:"script",content:`${re}/userleap-web-upchunk-v2.2.2.js`}],Le=[{type:"link",content:`${re}/dependencies/video-js-7.18.0.min.css`},{type:"script",content:`${re}/dependencies/video-js-7.18.0.min.js`},{type:"style",content:`/* progress control styles */
2
2
  .video-js .vjs-control {
3
3
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
4
4
  }
@@ -655,4 +655,4 @@ span.ul-button-text {
655
655
  .vjs-poster {
656
656
  background-size: cover;
657
657
  }
658
- `}],Be="-video-player",Te="-secondary-video-player",_e="-video-recorder";let X,Ie;const te=async({event:n,apiBase:o,headers:t,visitorId:r,envId:i,metadata:a})=>{const d=_.document.documentElement;if(!r||!i)return;const u={event:`SDK - ${n}`,visitorId:r,environmentId:i,metadata:{...a||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${o}/sdk/1/visitors/${r}/analytics`,{method:"POST",cache:"no-cache",headers:t,body:JSON.stringify(u)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",n)},ne=async(n,o,t,r,i,a)=>{te({event:`Video Error ${o}`,apiBase:t,headers:r,visitorId:i,envId:a,metadata:{errorMessage:n.message}});const d=_.document.documentElement,u={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language},s={action:o,err:{message:n.message,stack:n.stack},meta:u,vid:i,envId:a};(await fetch(`${t}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...r,"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",n)},Ne=(n,o)=>{if(n.length===0)return o&&o();Promise.all(n.reduce((t,r)=>(t.push(((i,{type:a,content:d})=>new Promise(function(u,s){let p;a==="script"?(p=_.document.createElement("script"),p.src=d):a==="link"?(p=_.document.createElement("link"),p.rel="stylesheet",p.href=d,p.type="text/css"):(p=_.document.createElement("style"),p.innerHTML=d),p.onload=function(){u(d)},p.onerror=function(){s(d)},p.async=!1,p.id=btoa(d),i.appendChild(p)}))(_.document.head,r)),t),[])).then(()=>{_.videojs=_.document.defaultView.videojs,o&&o()}).catch(function(t){console.log(t+" failed to load")})},De=(n,o,t)=>{if(o==="start"&&(n.style.visibility="visible"),o==="none")n.style.visibility=Z;else if(o==="success")n.style.visibility=Z,n.innerHTML="Upload succeeded!";else{const r=Math.round(parseFloat(t));n.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${r}%</span>`,n.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${r}%, #FCFCFD ${r}%, #FCFCFD 100%)`}},he=(n,o)=>{const t=_.videojs(n.id());return t==null?void 0:t.payload[o]},Oe=(n,o)=>{const t=new(_.videojs.getComponent("Component"))(n);return t.addClass("ul-buttons-panel"),o.map(r=>{t.addChild(r)}),Ke(t),t},Ke=n=>{n.children().forEach(o=>{if(K[o.name_]){const t=le(K[o.name_],`ul-${K[o.name_]}`);o.el_.appendChild(t)}})},le=(n,o="")=>{const t=_.document.createElement("span");return t.className="ul-button-text",t.innerHTML=n,t.id=o,t},qe=(n,o,t,r,i=!1,a)=>{n.addClass("ul-video-player");const d=new(_.videojs.getComponent("Component"))(n);d.addClass("ul-control-panel"),n.progressBar=d.addChild("ProgressControl"),t&&n.src(t),n.audioPlayerPlaceholder=new(_.videojs.getComponent("Component"))(n),n.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const u=t&&t.src?nn(t.src):null;!t||!i&&u?(n.audioPlayerPlaceholder.hide(),_.document.getElementById(`${n.id()}_html5_api`).style.height="100%",u&&n.poster(u)):(n.children()[0].classList.add("vjs-hidden"),_.document.getElementById(`${n.id()}_html5_api`).style.height="0px"),n.on("play",()=>{i||!t||u||Xe(n),a==null||a.play()}),n.on("pause",()=>{a==null||a.pause()}),n.on("seeked",()=>{a==null||a.currentTime(n.currentTime())}),n.on("ratechange",()=>{a==null||a.playbackRate(n.playbackRate())}),n.addChild(n.audioPlayerPlaceholder,{},1),d.addChild(o),n.addChild(d),r&&r(n)},Je=(n,o,t,r,i,a,d,u=!1)=>{Ie=Date.now();const s=de(o,{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=t;const{surveyId:p,questionId:b,responseGroupUid:c,visitorId:v,envId:x}=t;let C;const m=l=>{const g=me,T=me+"-audio-only";De(s.uploadProgressLabel,"none"),X&&X.startTime>=Ie&&X.abort();const A=_.document.getElementById("ul-camera-button");l?(s.children()[0].classList.add("vjs-hidden"),f.removeClass(g),f.addClass(T),A.innerHTML=K.TurnOnCamera,s.audioPlayerPlaceholder.removeClass("vjs-hidden"),C==null||C.getTracks().forEach(R=>{R.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(R=>{C=R,R.getVideoTracks().forEach(q=>{q.enabled=!1}),s.record().onDeviceReady(R)}).catch(s.record().onDeviceError.bind(s.record()))):(C==null||C.getVideoTracks().forEach(R=>{R.enabled=!0}),s.children()[0].classList.remove("vjs-hidden"),s.record().getDevice(),f.removeClass(T),f.addClass(g),A.innerHTML=K.TurnOffCamera,s.audioPlayerPlaceholder.addClass("vjs-hidden"))},h=new(_.videojs.getComponent("Button"))(s,{clickHandler:()=>{h.hasClass(Z)||(te({event:"Video Delete Button Clicked",apiBase:r,headers:d,visitorId:v,envId:x,metadata:{questionId:b,responseGroupUid:c,surveyId:p}}),m(s.cameraOff),i(B.DELETE,{}),f.removeClass(Z),h.addClass(Z))}});h.addClass("ul-video-recorder-delete-button"),h.el_.appendChild(le(K.DeleteButton,"ul-delete-button"));const D=_.document.getElementById(o),N=()=>{D.classList.contains("vjs-fullscreen")&&s.cameraOff?D.style.display="table":D.style.display="flex"};N();const f=new(_.videojs.getComponent("Button"))(s,{clickHandler:()=>{s.record().isRecording()||(s.cameraOff=!s.cameraOff,te({event:"Video Camera Button Clicked",apiBase:r,headers:d,visitorId:t.visitorId,envId:t.envId,metadata:{questionId:b,responseGroupUid:c,surveyId:p,cameraOff:s.cameraOff}}),m(s.cameraOff),!h.hasClass(Z)&&h.addClass(Z),i(B.DELETE,{}),N())}});f.addClass(me),f.el_.appendChild(le(K.TurnOffCamera,"ul-camera-button"));const y=new(_.videojs.getComponent("Button"))(s,{clickHandler:()=>{const l=_.document.getElementById("ul-recorder-toggle");if(s.record().isRecording())s.record().stop(),l&&(l.innerHTML=K.RecordButton),y.removeClass(ge),h.removeClass(Z);else{const g=_.document.getElementById("ul-recording-countdown-screen");if(g)g.remove(),l&&(l.innerHTML=K.RecordButton),m(s.cameraOff),i(B.DELETE,{}),f.removeClass(Z),h.addClass(Z),y.removeClass(ge),k.show();else{y.addClass(ge),k.hide(),f.addClass(Z),h.addClass(Z),l&&(l.innerHTML=K.StopButton);const T=_.document.createElement("div");T.id="ul-recording-countdown-screen",D.insertBefore(T,D.children[1]),T.style.height=`${D.offsetHeight}px`,Ue(s,3)}}}});y.addClass("ul-video-recorder-toggle-button"),y.el_.appendChild(le(K.RecordButton,"ul-recorder-toggle"));const L=_.document.createElement("p");L.style.visibility="hidden",L.className="ul-upload-progress-label",n.appendChild(L),s.uploadProgressLabel=L;const S=Oe(s,[h,f,"PlayToggle",y,"FullscreenToggle"]),k=S.children().find(l=>l.name_==="FullscreenToggle");k.hasClass("vjs-disabled")&&k.hide();const w=S.children().find(l=>l.name_==="PlayToggle");w.hide(),h.addClass(Z),qe(s,S,a,!1,u),s.on("stopRecord",()=>{y.hide(),w.show(),k.show(),h.removeClass(Z)}),s.on("deviceReady",()=>{y.show(),w.hide(),h.addClass(Z)}),((l,g,T,A,R)=>{const{surveyId:q,responseGroupUid:Q,visitorId:H,envId:U}=l.payload;l.on("deviceError",function(){console.warn("device error: ",l.deviceErrorCode),l.deviceErrorCode.message==="Permission denied"?(l.deviceButton.addClass("permission-denied"),T&&T(B.ERROR,{type:B.PERMISSION_DENIED}),te({event:"Video Permission Denied",apiBase:g,headers:R,visitorId:H,envId:U,metadata:{questionId:he(l,ve),responseGroupUid:Q,surveyId:q}})):(T&&T(B.ERROR,{type:B.OTHER}),ne(new Error(l.deviceErrorCode.message),"recorderDeviceError",g,R,H,U))}),l.on("error",function(z,G){ne(G||l.error(),"recorderError",g,R,H,U)}),l.on("startRecord",function(z,G){A(l.uploadProgressLabel,"none"),te({event:"Video Record Start",apiBase:g,headers:R,visitorId:H,envId:U,metadata:{questionId:he(l,ve),responseGroupUid:Q,surveyId:q}})}),l.on("finishRecord",async function(){A(l.uploadProgressLabel,"start",0);const z=he(l,ve);if(!q){const P="internal error: missing fields in payload";return T&&T(B.ERROR,{type:B.OTHER}),ne(new Error(P),"finishRecord",g,R,H,U),null}l.record().stopDevice();const G=l.cameraOff?B.MEDIA_TYPE_AUDIO:B.MEDIA_TYPE_VIDEO,J=W.v4();te({event:"Video Record Finish",apiBase:g,headers:R,visitorId:H,envId:U,metadata:{mediaRecordingUid:J,questionId:z,responseGroupUid:Q,surveyId:q,mediaType:G}});const ie={surveyId:q,updatedAt:new Date().toISOString(),mediaType:G,mediaRecordingUid:J};z&&(ie.questionId=z),Q&&(ie.responseGroupUid=Q),H&&(ie.visitorId=H);const j=await(async()=>{const P=await fetch(`${g}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)});if(P.ok){const O=await P.json();return T&&T(B.UPLOAD_STARTED,{[B.UPLOAD_ID]:O.upload.id,[B.MEDIA_TYPE]:G,[B.MEDIA_RECORDING_UID]:J}),O.upload.url}return T&&T(B.ERROR,{type:B.OTHER,response:P}),ne(new Error("failed to get upload response with url"),"finishRecord",g,R,H,U),null})();j&&(X=_.document.defaultView.UpChunk.createUpload({endpoint:j,file:new _.document.defaultView.File([l.recordedData],`recording ${G} ${Date.now()}`),chunkSize:5120}),X.startTime=Date.now(),te({event:"Video Upload Start",apiBase:g,headers:R,visitorId:H,envId:U,metadata:{mediaRecordingUid:J,questionId:z,responseGroupUid:Q,surveyId:q,mediaType:G,url:j}}),X.on("error",P=>{A(l.uploadProgressLabel,"none"),T&&T(B.UPLOAD_FINISHED,{[B.MEDIA_RECORDING_UID]:J}),ne(P,"finishRecord",g,R,H,U)}),X.on("progress",P=>{T&&T(B.UPLOAD_PROGRESS,{[B.MEDIA_RECORDING_UID]:J,[B.UPLOAD_PROGRESS_PCT]:P.detail}),A(l.uploadProgressLabel,"progress",P.detail)}),X.on("success",()=>{A(l.uploadProgressLabel,"success"),T&&T(B.UPLOAD_FINISHED,{[B.MEDIA_RECORDING_UID]:J}),te({event:"Video Upload Success",apiBase:g,headers:R,visitorId:H,envId:U,metadata:{mediaRecordingUid:J,questionId:z,responseGroupUid:Q,surveyId:q,mediaType:G,url:j,elapsedMs:X.startTime&&Date.now()-X.startTime}})}))})})(s,r,i,De,d);const I=[{name:"microphone"}];!s.cameraOff&&I.push({name:"camera"}),Promise.all(I.map(l=>{var g;return(g=navigator==null?void 0:navigator.permissions)==null?void 0:g.query(l)})).then(l=>{l.reduce((g,T)=>g&T.state==="granted",!0)&&s&&(s.deviceButton&&s.deviceButton.hide(),s.record().getDevice())}).catch(l=>{})},Ue=(n,o=3)=>{const t=_.document.getElementById("ul-recording-countdown-screen");t&&o===0?(t.remove(),n.record().start()):t&&(t.innerHTML=`<span class='ul-countdown-text'>Recording in... ${o}</span>`,setTimeout(()=>{Ue(n,o-1)},1e3))},Ae=n=>{const o=_.document.createElement("div");return o.className="ul-video-container",o.appendChild((t=>{const r=_.document.createElement("div");return r.className="ul-video-player-loading",r.id=xe(t),["first","second","third","fourth"].map(i=>{const a=_.document.createElement("div");a.className=i,r.appendChild(a)}),r})(n)),o},be=(n,o)=>{const t=_.document.createElement("video");t.id=n,t.className="video-js vjs-default-skin ul-video-player-video";const r=_.document.createElement("p");r.className="vjs-no-js",r.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const i=_.document.createElement("a");return i.href="https://videojs.com/html5-video-support/",i.target="_blank",i.innerHTML="supports HTML5 video",r.appendChild(i),t.appendChild(r),o.appendChild(t),o},Xe=(n,o)=>{n.children()[0].classList.remove("vjs-hidden"),n.audioPlayerPlaceholder.hide(),_.document.getElementById(`${n.id()}_html5_api`).style.height="100%"},de=(n,o)=>_.document.getElementById(n)?o?_.videojs(n,o):_.videojs(n):(console.error(`Error in finding player element with ID, ${n}`),null),en=(n,o,t,r=!1,i="https://api.sprig.com",a=document,d=null,u=null)=>{_.document=a;const s=n+Be,p=Ae(s);return _.document.addEventListener("securitypolicyviolation",b=>{ne(new Error(`Voice & Video feature violates ${b.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",i,{})}),Ne(Me,()=>{_.document.getElementById(xe(s)).remove(),be(s,p);const b={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const c=n+Te;be(c,p);const v=de(s,b),x=de(c,{muted:!0,...b});if(!v||!x)return;((h,D,N)=>{h.addClass(`ul${Te}`);const f=new(_.videojs.getComponent("Component"))(h);D&&h.src(D),h.addChild(f),N&&N(h)})(x,d,u),d||x.addClass(Z);const C=Oe(v,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),m=C.children().find(h=>h.name_==="FullscreenToggle");m.hasClass("vjs-disabled")&&m.hide(),qe(v,C,o,t,r,x)}catch(c){return void ne(new Error(`Error when creating video player object ${c}`),"playerDeviceError",i,{})}}),p},nn=n=>{if(!n)return null;const o=n.match(/https:\/\/stream.mux.com\/(.*)/);let t=o?o[1]:null;return t.includes(je)&&(t=t.replace(je,"")),t?`https://image.mux.com/${t}/thumbnail.jpg?time=0`:null},B={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"},K={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"},tn=({properties:n,surveyVideoUrl:o,questionId:t})=>{const r=`ul-card-video__question_player-q${t}`,{apiURL:i,viewDocument:a}=e.useConfig(d=>({apiURL:d.apiURL,viewDocument:d.viewDocument}));return e.u("div",{id:r,ref:d=>{if(d&&d.children.length===0&&!n.properties.hideRecordedPrompt){const u=en(r,{src:o,type:"application/x-mpegURL"},void 0,n.properties.mediaType===B.MEDIA_TYPE_AUDIO,i,a);d.appendChild(u)}}})},oe=({isDisabled:n,onClick:o,children:t})=>e.u(E.Button,{className:"ul-card__button-checkmark",disabled:n,onClick:o,type:"button",children:[e.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#ffffff",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),t||"Ok"]}),rn=({className:n,next:o,properties:t,questionId:r,type:i})=>{const{useMobileStyling:a,border:d}=e.useConfig(y=>({useMobileStyling:y.useMobileStyling,border:y.border})),[u,s]=e.h(!1),[p,b]=e.h(""),[c,v]=e.h(!1),x=t==null?void 0:t.collectName,C=(t==null?void 0:t.nameLabelText)||"Full Name",m=(t==null?void 0:t.consentText)||"I agree to the stated conditions",h=(t==null?void 0:t.submitButtonText)||"Submit",D=!!p.trim(),N=u&&(!x||D),f=(y,L=!1)=>{y.preventDefault(),y.stopPropagation();let S=null;if(!L){if(!N)return void v(!0);S={submitted:!0},x&&(S.name=p)}o({value:S,questionId:r,type:i},!!L||N)};return e.u("div",{className:e.cc(n,"ul-card__consent-legal","fade-in-transition"),children:e.u(E.MobileEmbedView,{embeddedType:"pdf",properties:t,children:e.u(E.QuestionBodyFooterContainer,{children:[e.u("div",{className:"sprig-stretch",children:[e.u(E.Option,{allowTextEntry:!1,border:d,error:c&&!u,id:"consent",isRadio:!1,isSelected:u,label:m,onUserInputChanged:({selected:y})=>{y!==u&&s(!u)},useMobileStyling:a}),x&&e.u("input",{"aria-label":C,"aria-placeholder":C,className:e.cc(e.getClasses("ul-consent-legal__name-input",a)),"data-gramm":"false",maxLength:250,name:"name",onBlur:y=>{y.currentTarget.style.borderColor=c&&!D?W.ERROR_BORDER_COLOR:W.DEFAULT_BORDER_COLOR},onFocus:y=>{y.currentTarget.style.borderColor=c&&!D?W.ERROR_BORDER_COLOR:d},onInput:y=>{y.preventDefault(),y.stopPropagation(),b(y.currentTarget.value)},placeholder:C,style:c&&!D?{borderColor:W.ERROR_BORDER_COLOR}:{},tabIndex:0,value:p})]}),e.u("div",{className:"ul-card__button-wrapper ul-card-vertical__button-wrapper",children:[e.u(oe,{isDisabled:!N,onClick:y=>f(new SubmitEvent(y.type)),children:e.getButtonText({buttonText:h})}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:y=>f(new SubmitEvent(y.type),!0),children:e.getSkipButtonText(t)})]})]})})},r)},on=()=>{const{destroy:n,forceBrandedLogo:o}=e.useConfig(t=>({destroy:t.destroy,forceBrandedLogo:t.forceBrandedLogo}));return e.p(()=>{setTimeout(()=>{n(W.APP_ID)},o?4e3:2e3)},[n,o]),e.u("div",{className:"end-of-survey-text",children:"End of survey"})},sn=({activeValue:n,border:o,icon:t,enableCspTrustedTypes:r,isPressed:i,range:a,scaleLabelType:d,selectedValue:u,setSelectedValue:s,setActiveValue:p,setIsPressed:b,useMobileStyling:c,value:v,viewDocument:x})=>{const C=`option-${v}`,m=d==="number",h=d==="star",D=d==="smiley",N=m&&v===n||v===u,[f,y]=(()=>{const k=h&&u!==null&&v<=u;return h&&v<=n||D&&v===n||k||v===n||v===u?[o,i||k||v===u?1:.3]:["",1]})(),L=e.F(()=>{const k={borderColor:N?f:"",fillOpacity:N?"":y,zIndex:N?3:"auto",color:u===v?"#fff":""};return m?{...k,backgroundColor:u===v?f:""}:{...k,color:h||D||u===v?f:""}},[N,f,y,u,v,m,h,D]),S=e.F(()=>W.getHtml((({icon:k,scaleLabelType:w,value:I,selectedValue:l})=>{if(w==="smiley"&&I===l){let g=0;return k.replace(/black/g,()=>++g==1?"black":"white")}return k})({icon:t,scaleLabelType:d,value:v,selectedValue:u}),r),[r,t,d,u,v]);return e.u("button",{"aria-label":m?void 0:String(v),className:(()=>{switch(d){case"star":return e.cc(e.getClasses("likert-star",c),e.getClasses(`likert-star-${v}`,c));case"smiley":return e.cc(e.getClasses("likert-smiley",c),e.getClasses(`likert-smiley-${v}`,c));default:return v===a?e.cc(e.getClasses("likert-number",c),e.getClasses(`likert-number-${v}`,c),e.getClasses("likert-last-option",c)):e.cc(e.getClasses("likert-number",c),e.getClasses(`likert-number-${v}`,c))}})(),dangerouslySetInnerHTML:{__html:S},id:C,onClick:k=>{k.preventDefault(),k.stopPropagation(),s(v)},onKeyDown:k=>{var l,g;const w=x.querySelectorAll(`.likert-${d??"number"}`),I=v-1;k.key==="ArrowRight"?(l=w[I+1])==null||l.focus():k.key==="ArrowLeft"?(g=w[I-1])==null||g.focus():k.key!=="Enter"&&k.key!==" "||(k.preventDefault(),k.stopPropagation(),s(v))},onPointerDown:()=>b(!0),onPointerEnter:()=>p(v),onPointerLeave:()=>{p(-1),b(!1)},style:L,tabIndex:0})},an=({className:n,labels:o,next:t,properties:r,questionId:i,type:a})=>{const{border:d,useMobileStyling:u,viewDocument:s,enableCspTrustedTypes:p}=e.useConfig(w=>({border:w.border,useMobileStyling:w.useMobileStyling,viewDocument:w.viewDocument,enableCspTrustedTypes:w.enableCspTrustedTypes})),[b,c]=e.h(-1),[v,x]=e.h(!1),[C,m]=e.h(null),h=o&&o.left,D=o&&o.right;let N;const{range:f,scaleLabelType:y,ratingIcons:L}=r;f&&(N=Number(f));const S=N||5,k=w=>{var I,l;switch(y){case"star":return(I=L[0])==null?void 0:I.svg;case"smiley":return(l=L[w])==null?void 0:l.svg;default:return String(w+1)}};return e.u("form",{className:e.cc(n,"ul-card--likert","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{"aria-label":`Rating (1 - ${S})`,className:"ul-card--likert__numbers",role:"radiogroup",children:[...Array(S)].map((w,I)=>{const l=I+1;return e.u(sn,{activeValue:b,border:d,enableCspTrustedTypes:p,icon:k(I),isPressed:v,range:S,scaleLabelType:y,selectedValue:C,setActiveValue:c,setIsPressed:x,setSelectedValue:m,useMobileStyling:u,value:l,viewDocument:s},I)})}),e.u("div",{className:"ul-card--likert__labels",children:[e.u("span",{children:h}),e.u("span",{children:D})]})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:C===null&&r.required,onClick:()=>t({value:C,questionId:i,type:a},!0),children:e.getButtonText(r)})})]})},i)},ln=({columns:n,onSelect:o,options:t,selectedOptions:r})=>{const i=e._([]),{border:a,useMobileStyling:d}=e.useConfig(v=>({border:v.border,useMobileStyling:v.useMobileStyling})),u=t.findIndex(v=>r[v.id]===null),[s,p]=e.h(u),b=e.T((v,x)=>{o(v,x);const C=s+1,m=t[C];m&&r[m.id]===null&&p(C)},[o,t,r,s]),c=e.T((v,x)=>{const C=s===v;return e.u(e.Accordion,{animate:!0,header:x.label,isOpen:C,onClick:()=>{var m;return p(C&&!((m=window.UserLeap)!=null&&m.isMobileSDK)?-1:v)},ref:m=>{m&&(i.current[v]=m)},showHeaderCheck:r[x.id]!==null,children:e.u("div",{style:{paddingTop:"12px"},children:n.map(m=>e.u(E.Option,{allowTextEntry:!1,ariaLabel:`${x.label}-${m.label}`,border:a,error:!1,id:`${x.id}-${m.value}`,isRadio:!0,isSelected:r[x.id]===m.value,label:m.label,onUserInputChanged:()=>b(x.id,m.value),useMobileStyling:d},m.label))})},x.id)},[a,n,s,b,r,d]);return e.u("div",{children:t.map((v,x)=>c(x,v))})},dn=({className:n,next:o,options:t,properties:r,questionId:i,type:a,onSubmitButtonClick:d})=>{const u=r.matrixColumn,s=r.required,p=C=>{C.preventDefault(),C.stopPropagation(),o({value:c,questionId:i,type:a},!0),d&&d()},b=t.reduce((C,m)=>(C[m.id]=null,C),{}),[c,v]=e.h(b);return e.u("form",{className:e.cc(n,"ul-card__matrix","fade-in-transition"),id:"text-form",onSubmit:p,children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:e.u(ln,{columns:u,onSelect:(C,m)=>{v(h=>({...h,[C]:m}))},options:t,selectedOptions:c})}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:(x=c,s&&Object.values(x).every(C=>C==null)),onClick:()=>p(new SubmitEvent("submit")),children:e.getButtonText(r)})})]})},i);var x},He=({className:n,onSubmit:o,options:t=[],properties:r,questionId:i,type:a,showIndividualSubmit:d=!1,onSubmitButtonClick:u})=>{const{border:s,useMobileStyling:p}=e.useConfig(l=>({border:l.border,useMobileStyling:l.useMobileStyling})),b=t.reduce((l,g)=>(l[g.id]={isSelected:!1},l),{}),[c,v]=e.h(b),x=a==="multiplechoice",C=r.required,m=t.find(l=>{var g;return(g=l.optionProperties)==null?void 0:g.noneOfTheAbove}),h=l=>Object.entries(l).some(([g,T])=>{var q;const A=t.find(Q=>`${Q.id}`===g),R=T.userText===void 0||T.userText.trim()==="";return((q=A==null?void 0:A.optionProperties)==null?void 0:q.allowsTextEntry)&&R&&T.isSelected}),D=l=>Object.values(l).filter(g=>g.isSelected).length,N=r.minSelect&&r.minSelect>0&&r.maxSelectMode===E.MaxSelectModes.Range&&D(c)<r.minSelect&&(C||D(c)>0),f=l=>h(l)||C&&!D(l)||!(g=>{const{minSelect:T=0,maxSelect:A=1/0,maxSelectMode:R}=r,q=D(g);switch(R){case E.MaxSelectModes.Maximum:return q<=A;case E.MaxSelectModes.Range:return q===0||q>=T;default:return!0}})(l),y=Object.entries(c).some(([l,g])=>{var T,A;return g.isSelected&&((A=(T=t.find(R=>`${R.id}`===l))==null?void 0:T.optionProperties)==null?void 0:A.allowsTextEntry)}),L=d&&(!x||y),S=l=>{I(l.id,l.selected,l.userText,l.noneOfTheAbove)},k=l=>{var g;return(r==null?void 0:r.maxSelectMode)!==E.MaxSelectModes.Unlimited&&D(c)===(r==null?void 0:r.maxSelect)&&!((g=c[l])!=null&&g.isSelected)},w=()=>{o(c,!0),u&&u()},I=(l,g,T,A)=>{const R=Object.assign({},c);if((x||A)&&g)for(const q of Object.values(R))q.isSelected=!1,delete q.userText;else m&&!A&&c[m.id].isSelected&&(R[m.id].isSelected=!1);R[l]={isSelected:g,userText:T},v(R)};return e.u("form",{className:e.cc(n,"ul-card--multiple","fade-in-transition"),id:"text-form",onSubmit:w,children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:[r.isDropdown?e.u(E.Select,{disabledOptions:t.filter(l=>k(l.id)),dropdownFooter:N?e.u("div",{className:"ul-card__min-select-counter",style:{marginLeft:"16px"},children:[D(c),"/",r.minSelect]}):void 0,isMultiSelect:!x,multiselectText:r.dropdownMultiselectedText??"choices selected",onChange:l=>{const g={...c};for(const T of t)l.includes(T)?g[T.id].isSelected=!0:g[T.id].isSelected=!1;v(g)},options:t,placeholderText:r.dropdownPlaceholderText??(x?"Select choice":"Select choice(s)"),value:t.filter(l=>c[l.id].isSelected)}):e.u("div",{className:e.cc(e.getClasses("ul-card__choices",p)),role:x?"radiogroup":"group",children:[t.map(({id:l,label:g,value:T,optionProperties:A})=>{var U,z;const R=`${l}`,{allowsTextEntry:q,noneOfTheAbove:Q}={allowsTextEntry:!1,noneOfTheAbove:!1,...A};return e.u(E.Option,{allowTextEntry:q,border:s,disabled:k(R),error:(H=c,h(H)),id:R,isRadio:x,isSelected:!!((U=c[R])!=null&&U.isSelected),label:g,noneOfTheAbove:Q,onUserInputChanged:S,promptText:"Please specify",text:(z=c[l])==null?void 0:z.userText,useMobileStyling:p,value:T},R);var H}),!!N&&e.u("div",{className:"ul-card__min-select-counter",children:[D(c),"/",r.minSelect]})]}),L&&e.u(E.LongformSubmitButton,{handleSubmit:w,isSubmitDisabled:f(c)})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:f(c),onClick:w,children:e.getButtonText(r)})})]})},i)},cn=n=>{const{questionId:o,type:t,next:r,options:i}=n;return e.u(He,{...n,onSubmit:(a,d)=>{const u=Object.entries(a).find(([,v])=>v.isSelected)||[void 0,void 0],[s,p]=u,b=i.find(v=>`${v.id}`===s),c=p!=null&&p.userText?{[s]:{userText:p.userText}}:null;r({value:b&&s?{[s]:b.value}:{},secondaryValue:c,questionId:o,type:t},d)}})},un=n=>{const{questionId:o,type:t,next:r}=n;return e.u(He,{...n,onSubmit:(i,a)=>{const d=Object.entries(i).reduce((s,[p,b])=>(s[p]=b.isSelected,s),{}),u=Object.entries(i).reduce((s,[p,b])=>{if(!b.userText)return s;const c=s||{};return c[p]={userText:b.userText},c},null);r({value:d,secondaryValue:u,questionId:o,type:t},a)}})},pn=({className:n,labels:o,properties:t,next:r,questionId:i,type:a})=>{const[d,u]=e.h(null),{border:s,useMobileStyling:p,viewDocument:b}=e.useConfig(x=>({border:x.border,useMobileStyling:x.useMobileStyling,viewDocument:x.viewDocument})),c=o&&o.left,v=o&&o.right;return e.u("form",{className:e.cc(n,"ul-card--nps","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:t,children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--nps__numbers",children:[...Array(11)].map((x,C)=>e.u("button",{className:e.cc(e.getClasses("nps-number",p),e.getClasses(`nps-number-${C}`,p)),id:`option-${C}`,onClick:m=>{m.preventDefault(),m.stopPropagation(),u(C)},onKeyDown:m=>{var D,N;const h=b.querySelectorAll("button.nps-number");m.key==="ArrowRight"?(D=h[C+1])==null||D.focus():m.key==="ArrowLeft"?(N=h[C-1])==null||N.focus():m.key!=="Enter"&&m.key!==" "||(m.preventDefault(),m.stopPropagation(),u(C))},onPointerDown:m=>{m.currentTarget.style.zIndex="2",m.currentTarget.style.borderColor=s},onPointerLeave:m=>{m.currentTarget.style.zIndex="auto",m.currentTarget.style.borderColor=W.DEFAULT_BORDER_COLOR},style:d===C?{backgroundColor:s,color:"#fff"}:void 0,tabIndex:0,children:C},C))}),e.u("div",{className:"ul-card--nps__labels",children:[e.u("span",{children:c}),e.u("span",{children:v})]})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:d===null&&t.required,onClick:()=>r({value:d,questionId:i,type:a},!0),children:e.getButtonText(t)})})]})},i)},vn=({className:n,next:o,properties:t,questionId:r,type:i,onSubmitButtonClick:a})=>{const{border:d,useMobileStyling:u,update:s}=e.useConfig(h=>({border:h.border,useMobileStyling:h.useMobileStyling,update:h.update})),[p,b]=e.h(""),c=e._(null),v=p.trim(),x=t.required===!0&&!v,C=E.useAutoSize(c,()=>s()),m=t&&t.openTextPlaceholder?t.openTextPlaceholder:"";return e.u("form",{className:e.cc(n,"ul-card-text","fade-in-transition"),id:"text-form",children:e.u(E.MobileEmbedView,{properties:t,children:e.u("div",{className:"ul-card-text",children:[e.u(E.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":m,className:e.cc(e.getClasses("ul-card-text__input",u)),"data-gramm":"false",maxLength:5e3,name:"text",onBlur:h=>{h.currentTarget.style.borderColor=W.DEFAULT_BORDER_COLOR},onChange:h=>{const{value:D}=h.currentTarget;C(),h.preventDefault(),h.stopPropagation(),b(D)},onFocus:h=>{h.currentTarget.style.borderColor=d},placeholder:m,ref:c,role:"textbox",tabIndex:0})}),t.footerHtml&&e.u(E.Html,{className:"footer",html:t.footerHtml})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:x,onClick:h=>{h.preventDefault(),h.stopPropagation();const D=t.required!==!0||v.length>0;o({value:p,questionId:r,type:i},D),a&&a()},children:e.getButtonText(t)})})]})})},r)},mn=({className:n,labels:o,next:t,properties:r,questionId:i,type:a,onSubmitButtonClick:d,options:u})=>{const s=e._(null),p=e._(0),b=e._(0),c=e._(null),v=e._(!1),x=e._([]),[C,m]=e.h(()=>(r==null?void 0:r.required)===!0),[h,D]=e.h(()=>u.map(j=>({...j,rank:null}))),N=e.F(()=>Array.from({length:u.length},(j,P)=>P+1),[u.length]),{useMobileStyling:f,isPreview:y,headers:L}=e.useConfig(j=>({useMobileStyling:j.useMobileStyling,isPreview:j.isPreview,headers:j.headers})),S=(L==null?void 0:L["userleap-platform"])==="android",k=f&&!y&&!S,w=!k&&!S,I=(j,P)=>{D(O=>{const M=parseInt(P),V=O.map($=>({...$}));V.some($=>$.rank==null)&&V.forEach(($,se)=>$.rank=se+1);const Y=V.findIndex($=>$.id===j);if(Y===-1)return O;const F=V[Y].rank;return M<F?V.forEach($=>{$.id!==j&&$.rank>=M&&$.rank<F&&($.rank=$.rank+1)}):M>F&&V.forEach($=>{$.id!==j&&$.rank>F&&$.rank<=M&&($.rank=$.rank-1)}),V[Y].rank=M,V.sort(($,se)=>$.rank-se.rank),Q(),V})},l=(j,P)=>{for(let O=0;O<x.current.length;O++){const M=x.current[O];if(!M||M===c.current)continue;const V=M.getBoundingClientRect();if(j>=V.left&&j<=V.right&&P>=V.top&&P<=V.bottom)return{element:M,index:O}}return null},g=j=>P=>{if(!k)return;P.preventDefault(),P.stopPropagation(),v.current=!0,s.current=j;const O=P.touches[0];p.current=O.clientY,b.current=O.clientY;const M=P.currentTarget.closest(".ul-card-rank__option");M&&(c.current=M,M.classList.add("is-dragging"))},T=j=>{if(!k||!v.current||s.current===null)return;j.preventDefault(),j.stopPropagation();const P=j.touches[0];b.current=P.clientY;const O=b.current-p.current;c.current&&(c.current.style.transform=`translateY(${O}px)`,c.current.style.zIndex="1000"),x.current.forEach(V=>{V&&V!==c.current&&V.classList.remove("is-drop-target")});const M=l(P.clientX,P.clientY);M&&M.element.classList.add("is-drop-target")},A=j=>{if(!k||!v.current||s.current===null)return;j.preventDefault(),j.stopPropagation();const P=j.changedTouches[0],O=l(P.clientX,P.clientY);c.current&&(c.current.style.transform="",c.current.style.zIndex="",c.current.classList.remove("is-dragging")),x.current.forEach(M=>{M&&M.classList.remove("is-drop-target")}),O&&O.index!==s.current&&R(s.current,O.index),s.current=null,c.current=null,v.current=!1},R=(j,P)=>{D(O=>{const M=O.map(Y=>({...Y})),[V]=M.splice(j,1);return M.splice(P,0,V),M.forEach((Y,F)=>{Y.rank=F+1}),Q(),M})},q=j=>{const P={};j.reduce((O,M)=>(O[M.id]=M.rank,O),P),t({value:P,questionId:i,type:a},!0)},Q=()=>{m(!1)},{left:H,right:U}=o,z=u.length,G=j=>{j.preventDefault(),j.currentTarget.classList.add("is-drop-target")},J=j=>{j.currentTarget.classList.remove("is-drop-target")},ie=j=>{s.current=null,j.currentTarget.classList.remove("is-dragging")};return e.u("form",{className:e.cc(n,"ul-card-rank","fade-in-transition"),onSubmit:j=>{j.preventDefault(),q(h),d&&d()},children:e.u(E.MobileEmbedView,{properties:r,children:S?e.u(e.g,{children:[e.u(E.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 - ",H]})}),e.u("ol",{className:"ul-card-rank__list",children:h.map(({id:j,label:P,rank:O})=>e.u("li",{className:"ul-card-rank__option",children:[e.u("select",{"aria-label":`Rank for ${P}`,className:e.cc("ul-card-rank__select",O==null&&"ul-card-rank__select--placeholder"),name:`rank[${j}]`,onChange:M=>I(j,M.currentTarget.value),value:O??"",children:[O==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),N.map(M=>e.u("option",{className:"ul-card-rank__select-option",value:M,children:M},`${M}-${i}`))]}),e.u("span",{children:P})]},j))}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[z," - ",U]})})]})}),e.u(E.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(E.Button,{disabled:C,children:e.getButtonText(r)})})})]}):e.u(e.g,{children:[e.u(E.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 - ",H]})}),e.u("ol",{className:"ul-card-rank__list",onDragOver:S?void 0:j=>{j.preventDefault(),j.dataTransfer&&(j.dataTransfer.dropEffect="move")},children:h.map(({id:j,label:P,rank:O},M)=>{return e.u("li",{className:"ul-card-rank__option",draggable:!!w||void 0,onDragEnd:w?ie:void 0,onDragEnter:w?G:void 0,onDragLeave:w?J:void 0,onDragStart:w?(Y=M,F=>{s.current=Y,F.dataTransfer&&(F.dataTransfer.effectAllowed="move",F.dataTransfer.setData("text/plain",String(Y)),F.currentTarget.classList.add("is-dragging"))}):void 0,onDrop:w?(V=M,F=>{var se,Ee;F.preventDefault(),F.currentTarget.classList.remove("is-drop-target");const $=s.current;s.current=null,(Ee=(se=F.currentTarget.closest(".ul-card-rank__list"))==null?void 0:se.querySelector(".is-dragging"))==null||Ee.classList.remove("is-dragging"),$!=null&&$!==V&&R($,V)}):void 0,ref:F=>x.current[M]=F,children:[e.u("select",{"aria-label":`Rank for ${P}`,className:e.cc("ul-card-rank__select",O==null&&"ul-card-rank__select--placeholder"),name:`rank[${j}]`,onChange:F=>I(j,F.currentTarget.value),value:O??"",children:[O==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),N.map(F=>e.u("option",{className:"ul-card-rank__select-option",value:F,children:F},F))]}),e.u("span",{children:P}),!S&&e.u("button",{"aria-label":`Drag ${P} to reorder`,className:"ul-card-rank__drag-btn",onTouchEnd:k?A:void 0,onTouchMove:k?T:void 0,onTouchStart:k?g(M):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"})})})]},j);var V,Y})}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[z," - ",U]})})]})}),e.u(E.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(E.Button,{disabled:C,children:e.getButtonText(r)})})})]})})},i)},fe=1,$e=2,Ve=3,ce=n=>n.type==="av_permission",Se=n=>n.type==="screen_permission",Fe=(n,o)=>n===void 0?fe:n?((t,r)=>!(ce(r)?r.permissionDescriptors:[]).includes("camera")||t.getVideoTracks().length>0)(n,o)?Ve:fe:$e,Re={avStream:null,currentPage:null,mediaRecordingUids:null,nextQuestion:()=>{},passthroughData:void 0,recordingMediaTypes:void 0,screenPermissionRequested:!1,type:void 0},ee=e.create(n=>({...Re,reset:()=>{n(Re)},updatePage:o=>{n(o)}}));function ye({currentPage:n,pages:o}){const{avStream:t,recordingMediaTypes:r,updatePage:i}=ee.getState(),{recorderEventEmitter:a}=e.useConfig.getState();a.emit("av.permission",{"permission.descriptors":n.permissionDescriptors,"stream.ready":(d,u)=>{if(t===d)return;let s=n;if(d&&!n.permissionDescriptors.includes("camera")){const p=o.indexOf(n),b=u!=null&&u.active?p+2:p+1;u!=null&&u.active&&r&&a.emit("begin.recording",{"recording.media.types":r,"start.recording.callback":c=>i({mediaRecordingUids:c})}),s=o[b]}i({currentPage:s,avStream:d})}})}function Ce({status:n}){const{nextQuestion:o,passthroughData:t,mediaRecordingUids:r,reset:i}=ee.getState(),{recorderEventEmitter:a,handleUploadUpdate:d,index:u}=e.useConfig.getState(),s={value:{taskStatus:n},type:"recordedtask",questionId:(t==null?void 0:t.questionId)||1};t&&a.emit("finish.task",{"begin.callback":p=>{d({mediaRecordingUid:p,isSubmitted:!0,progressPct:0,isComplete:!1})},"progress.callback":(p,b)=>{d({mediaRecordingUid:p,progressPct:b.detail,isSubmitted:!1,isComplete:!1})},"upload.callback":p=>{p&&d({mediaRecordingUid:p,isComplete:!0,isSubmitted:!0,progressPct:100})},"passthrough.data":t,"current.index":u,"task.response":s,"task.complete.callback":p=>{s.value.taskDurationMillisecond=p,r&&(s.value.mediaRecordingUids=r),i(),o(s)}})}function ke({pages:n,setIsRequestingPermission:o}){const{recorderEventEmitter:t,eventEmitFn:r}=e.useConfig.getState(),{updatePage:i,currentPage:a,recordingMediaTypes:d,screenPermissionRequested:u}=ee.getState();if(!a)return;const s=n.indexOf(a);switch(a.type){case"av_permission":{const p=u?s+2:s+1;return u&&d&&t.emit("begin.recording",{"recording.media.types":d,"start.recording.callback":b=>{i({mediaRecordingUids:b})}}),void i({currentPage:n[p]})}case"screen_permission":return void t.emit("screen.permission",{"screen.permission.requested":o,"stream.ready.callback":(p,b)=>{const c=b?n[s+1]:a;b&&d&&t.emit("begin.recording",{"recording.media.types":d,"start.recording.callback":v=>{i({captureStream:b,mediaRecordingUids:v})}}),i({currentPage:c,screenPermissionRequested:!0,captureStream:b})}});case"start_task":return r("recorded.task.start"),t.emit("recorded.task.start"),t.emit("start.task"),void i({currentPage:n[s+1],screenPermissionRequested:!0});case"complete_task":return}}const ze="ul-permission-graphics-container",Qe="ul-permission-body",Ge=e.cc(ze,"ul_recorded-task-inset-spacing"),ue=e.cc("ul-horizontal-button-container","ul-horizontal-button-container-left"),Ze=({richTextBody:n})=>e.u(E.Html,{className:"ul-rich-text-body",html:n,id:"ul-task-detail-container"}),pe=({required:n,skipButtonText:o,bottom:t=!1})=>n?null:e.u(E.Button,{className:e.cc(t&&"ul-skip-button-below","ul-button-inactive"),onClick:Ce.bind(null,{status:"abandoned"}),children:o||"Skip"}),we=n=>{const{avStream:o,captureStream:t,recordingMediaTypes:r,updatePage:i}=ee.getState(),a=(r==null?void 0:r.includes("audio"))||(r==null?void 0:r.includes("video"));e.p(()=>{const d=setInterval(()=>{a&&o&&!o.active?i({avStream:null,currentPage:n[0]}):t&&t.active||i({captureStream:void 0,currentPage:n[a?1:0]})},1e3);return()=>clearInterval(d)},[o,t,a,n,r,i])},gn=({content:n,pages:o,required:t})=>{const{buttonText:r,skipButtonText:i,taskDetail:a}=n;return we(o),e.u("div",{className:"ul-task-page",children:[a&&e.u(Ze,{richTextBody:a}),e.u("div",{className:ue,children:[e.u(E.Button,{onClick:ke.bind(null,{pages:o}),children:r}),e.u(pe,{required:t,skipButtonText:i})]})]},"start-task")},hn=({content:n,pages:o,properties:t})=>{const{buttonText:r,skipButtonText:i}=n;return we(o),e.u("div",{className:"ul-task-page",children:[n.taskDetail&&e.u(Ze,{richTextBody:n.taskDetail}),e.u(E.MobileEmbedView,{properties:t,children:e.u("div",{className:ue,children:[e.u(E.Button,{className:"ul-complete-task-button",onClick:Ce.bind(null,{status:"completed"}),children:r}),e.u(E.Button,{className:e.cc("ul-button-inactive"),onClick:Ce.bind(null,{status:"given.up"}),children:i})]})})]},"complete-task")},bn=({content:n,pages:o,required:t})=>{const{buttonText:r,skipButtonText:i}=n,[a]=e.useConfig(s=>[s.tabTitle]),[d,u]=e.h(!1);return e.u("div",{children:[e.u("div",{className:Ge,children:[e.u("p",{style:{marginTop:"auto"},children:n.selectTabText}),e.u("div",{className:"ul-select-tab-container",children:e.u("p",{className:Qe,children:a})})]}),e.u("div",{className:t?"":ue,children:[e.u(E.Button,{disabled:d,onClick:ke.bind(null,{pages:o,setIsRequestingPermission:u}),children:r}),e.u(pe,{required:t,skipButtonText:i})]})]})},fn=({content:n})=>e.u(E.Html,{className:e.cc(ze,"ul_permission_svg_container","ul_recorded-task-inset-spacing","ul-center-horizontally"),html:n.svg},"ul-permission-request-graphic"),yn=({content:n,pages:o,required:t})=>{const{permissionDeniedHeadline:r,permissionDeniedBody:i,skipButtonText:a,tryAgainButtonText:d}=n,u=ce(o[0])?o[0]:null;return e.p(()=>{const s=setInterval(()=>{u!==null&&ye({currentPage:u,pages:o})},1e3);return()=>clearInterval(s)},[u,o]),u?e.u("div",{children:[e.u("div",{className:Ge,children:e.u("p",{className:"ul-av-permission-denied-paragraph",children:[e.u("span",{className:"ul-av-permission-denied-headline",children:r}),e.u("span",{className:Qe,children:i})]})}),e.u("div",{className:ue,children:[e.u(E.Button,{onClick:ye.bind(null,{currentPage:u,pages:o}),children:d}),e.u(pe,{required:t,skipButtonText:a})]})]}):null},Cn=({stream:n})=>e.u("video",{autoPlay:!0,className:e.cc("ul_recorded-task-inset-spacing"),id:"ul-record-task-video-preview",muted:!0,ref:o=>{o&&(o.srcObject=n||null)}}),xn=({content:n,pages:o,required:t})=>{const{skipButtonText:r}=n,{avStream:i}=ee.getState();return we(o),e.u("div",{children:[e.u(Cn,{stream:i}),e.u("div",{className:"ul-vertical-button-container-center",children:[e.u(E.Button,{onClick:ke.bind(null,{pages:o}),children:n.buttonText}),e.u(pe,{bottom:!0,required:t,skipButtonText:r})]})]})},kn=({properties:n})=>{const{pages:o,required:t}=n,{avStream:r,currentPage:i}=ee.getState();if(i===void 0)return null;switch(i==null?void 0:i.type){case"av_permission":{const a=Fe(r,i);return a===fe?e.u(fn,{content:i}):a===$e?e.u(yn,{content:i,pages:o,required:t}):e.u(xn,{content:i,pages:o,required:t})}case"screen_permission":return e.u(bn,{content:i,pages:o,required:t});case"start_task":return e.u(gn,{content:i,pages:o,required:t});case"complete_task":return e.u(hn,{content:i,pages:o,properties:n});default:return null}},wn=({className:n,properties:o,next:t,questionId:r})=>{const i=e.useConfig(),{surveyId:a,responseGroupUid:d,userId:u}=i,s=ee(),{screenPermissionRequested:p}=s,b=ee(m=>m.avStream);let c=ee(m=>m.currentPage);c||(c=function({pages:m,userId:h,responseGroupUid:D,surveyId:N,questionId:f,next:y}){const{updatePage:L}=ee.getState(),{eventEmitFn:S,recorderEventEmitter:k}=e.useConfig.getState(),w={questionId:f,surveyId:N,visitorId:h,responseGroupUid:D};let I=0;k.emit("recorded.task.permission.screen"),S("recorded.task.permission.screen"),k.emit("permission.status",{"permission.status.callback":(g,T,A,R)=>{const q=m[I],{type:Q}=q,H=["screen"];if(ce(q)){const{permissionDescriptors:U}=q,z=U==null?void 0:U.includes("microphone"),G=U==null?void 0:U.includes("camera");z&&H.push("audio"),G&&H.push("video"),(g!=null&&g.active&&!G||g!=null&&g.active&&T)&&I++}Se(m[I])&&A&&(I++,k.emit("begin.recording",{"recording.media.types":H,"start.recording.callback":U=>L({mediaRecordingUids:U})})),L({currentPage:m[I],avStream:g,screenPermissionRequested:A,nextQuestion:y,type:Q,passthroughData:w,recordingMediaTypes:H,captureStream:R})}});const l=m[I];return l.type==="av_permission"&&ye({currentPage:l,pages:m}),l}({questionId:r,surveyId:a,next:m=>{t(m,!0)},pages:o.pages,responseGroupUid:d,userId:u}));let v=c.headline,x=c.captionText;const C=Fe(b,c);return Se(c)&&p&&(v=c.permissionDeniedHeadline,x=c.permissionDeniedCaptionText),ce(c)&&C===Ve&&(v=c.permissionGrantedHeadline,x=c.permissionGrantedCaptionText),e.u("div",{className:e.cc(n,"ul-center-horizontally","fade-in-transition"),children:[e.u(E.Header,{isRequired:o==null?void 0:o.required,message:v,properties:{captionText:x}}),e.u(E.QuestionBodyWrapper,{children:e.u(kn,{properties:o})})]})},En=({className:n,next:o,properties:t,questionId:r,type:i})=>{const{visitorAttributes:a,isLongFormSurvey:d}=e.useConfig(b=>({visitorAttributes:b.visitorAttributes,isLongFormSurvey:W.isLongFormSurvey(b.studyType)})),u=(b,c=!1)=>{o({value:c?{skipped:!0}:void 0,questionId:r,type:i},!0)},s=E.getAttributedUrl(t&&t.buttonUrl,a),p=d&&t.promptActionType===E.PromptActionTypeEnum.NO_BUTTON;return e.u("div",{className:e.cc(n,"ul-card__text-url-prompt","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:t,children:!p&&e.u("div",{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:s,id:"ul-card-text__button",onClick:u,onKeyPress:b=>{b.key!=="Enter"&&b.key!==" "||o({value:void 0,questionId:r,type:i},!0)},rel:"noreferrer",role:s?"link":"button",tabIndex:0,target:"_blank",children:e.getButtonText(t)}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:b=>u(0,!0),children:e.getSkipButtonText(t)})]})})})},r)},jn=({className:n,questionId:o})=>{const{border:t,destroy:r,endCard:i,forceBrandedLogo:a}=e.useConfig(s=>({border:s.border,destroy:s.destroy,endCard:s.endCard,forceBrandedLogo:s.forceBrandedLogo}));e.p(()=>{setTimeout(()=>{r(W.APP_ID)},a?4e3:2e3)},[r,a]);const d=i&&i.subheader?e.u("p",{className:"ul-caption",children:i.subheader}):null,u=i&&i.headline?i.headline:"";return 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:t,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:t,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(E.Header,{message:u}),d]})})},o)},Tn=()=>e.u("div",{className:"thinking-dots-container",children:e.u("div",{className:"thinking-dot"})}),_n=({className:n})=>{const{uploadProgress:o}=e.useConfig(a=>({uploadProgress:a.uploadProgress}));let t,r;Object.values(o).filter(a=>a.isSubmitted).length>1?(t="Your responses are processing",r="Please keep this tab open until your responses are fully processed."):(t="Your response is processing",r="Please keep this tab open until your response is fully processed.");const i=Math.round(Math.min(99,...Object.values(o).filter(a=>a.isSubmitted).map(a=>a.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(E.Header,{message:`${t} (${i}% complete)`}),e.u("p",{className:"ul-caption",children:r})]})},Pe=0,Le=1,In=({className:n,next:o,properties:t,questionId:r,type:i})=>{const a=`ul-card-video__player_recorder-q${r}`,{apiURL:d,envId:u,handleUploadUpdate:s,headers:p,responseGroupUid:b,surveyId:c,viewDocument:v,visitorId:x}=e.useConfig(w=>({apiURL:w.apiURL,envId:w.envId,handleUploadUpdate:w.handleUploadUpdate,headers:w.headers,responseGroupUid:w.responseGroupUid,surveyId:w.surveyId,viewDocument:w.viewDocument,visitorId:w.userId})),[C,m]=e.h(!1),[h,D]=e.h(null),[N,f]=e.h(null),[y,L]=e.h(Pe),S=(w,I)=>{w===B.UPLOAD_STARTED?(D(I[B.UPLOAD_ID]),f(I[B.MEDIA_RECORDING_UID]),m(!0)):w===B.DELETE?(D(null),f(null),m(!1)):w===B.UPLOAD_PROGRESS?isNaN(I[B.UPLOAD_PROGRESS_PCT])?s({mediaRecordingUid:I[B.MEDIA_RECORDING_UID],isComplete:!0}):s({mediaRecordingUid:I[B.MEDIA_RECORDING_UID],progressPct:I[B.UPLOAD_PROGRESS_PCT]}):w===B.UPLOAD_FINISHED&&s({mediaRecordingUid:I[B.MEDIA_RECORDING_UID],isComplete:!0})},k=w=>{w.preventDefault(),w.stopPropagation(),document.getElementById(a)&&(I=>{const l=I+_e;if(_.document.getElementById(l)&&_.videojs){try{if(!_.videojs(l).record().stream)return}catch{return}_.videojs(l).record().stop(),_.videojs(l).record().stopDevice()}})(a),h&&N?(s({mediaRecordingUid:N,isSubmitted:!0}),o({value:{mediaRecordingUid:N},questionId:r,type:i},!0)):o({value:null,questionId:r,type:i},!0)};return e.u("form",{className:e.cc(n,"ul-card--video","fade-in-transition"),id:"ul-video-interview-form",children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{id:"ul-question-player-container",style:{display:y===Pe?"":"none"},children:e.u(E.MobileEmbedView,{properties:t,children:e.u("button",{className:"ul-video-btn ul-record-response-btn",onClick:w=>{w.preventDefault(),w.stopPropagation(),document.getElementById(a)&&(I=>{const l=de(I+Be);l==null||l.pause()})(a),L(Le)}})})}),e.u("div",{style:{display:y===Le?"block":"none"},children:e.u("div",{id:"ul-recorder-player-container",ref:w=>{if(w&&w.children.length===0){const I=((l,g={},T="https://api.userleap.com",A,R,q,Q=!1,H=document)=>{_.document=H;const U=l+_e,z=Ae(U);return _.document.addEventListener("securitypolicyviolation",G=>{ne(new Error(`Voice & Video feature violates ${G.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",T,q,g.visitorId,g.envId)}),Ne(Me.concat(Ye),()=>{be(U,z),_.document.getElementById(xe(U)).remove();try{Je(z,U,g,T,A,R,q,Q)}catch(G){return void ne(new Error(`Error when creating video recorder player object ${G}`),"recorderDeviceError",T,q,g.visitorId,g.envId)}}),z})(a,{surveyId:c,responseGroupUid:b,questionId:r,visitorId:x,envId:u},d,S,void 0,{...p,"x-ul-video-recorder-origin":"sdk"},t.mediaType===B.MEDIA_TYPE_AUDIO,v);w.appendChild(I)}}})})]}),e.u(E.QuestionBodyFooterContainer,{children:[e.u(oe,{isDisabled:!!t.required&&!C,onClick:k,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:k,style:{...t.required?{display:"none"}:{},...C?{display:"none"}:{}},children:e.getSkipButtonText(t)})]})]})},We=n=>n.type==="thanks"||n.type==="uploading",Dn=({card:n,avatars:o,isThinking:t,isCurrentQuestion:r,currentQuestionBubbleRef:i})=>{const a=(d=>"properties"in d.props&&d.props.properties&&"questionHtml"in d.props.properties&&d.props.properties.questionHtml?{content:d.props.properties.questionHtml,isHtml:!0}:"message"in d.props?{content:d.props.message,isHtml:!1}:{content:"Question",isHtml:!1})(n);return e.u(ae,{avatars:o,isLeft:!0,message:{id:`question-${n.name}`,type:"question",content:a.content},ref:r?i:null,children:t?e.u(Tn,{}):e.u(e.g,{children:[a.isHtml?e.u(E.Html,{className:"chat-message-text",html:a.content}):e.u("div",{className:"chat-message-text",children:a.content}),n.type==="videovoice"&&e.u(tn,{properties:n.props,questionId:n.name,surveyVideoUrl:n.props.properties.videoUrl})]})})},Sn=({card:n,avatars:o})=>{const t=(r=>{if(!("properties"in r.props)||!r.props.properties||typeof r.props.properties!="object")return null;const i=r.props.properties,a=[{key:"captionHtml",isHtml:!0},{key:"captionText",isHtml:!1},{key:"richTextBody",isHtml:!0},{key:"body",isHtml:!1}];for(const{key:d,isHtml:u}of a){const s=i[d];if(typeof s!="string")continue;const p=s.trim();if(p){if(u&&!p.replaceAll(/<[^>]*>/g,"").trim())continue;return{content:p,isHtml:u}}}return null})(n);return t?e.u(ae,{avatars:o,hideAvatar:!0,isLeft:!0,message:{id:`caption-${n.name}`,type:"question",content:t.content},children:t.isHtml?e.u(E.Html,{className:"chat-message-text",html:t.content}):e.u("div",{className:"chat-message-text",children:t.content})}):null},Rn=({card:n,userResponse:o,avatars:t})=>{const r=((i,a)=>{if(i.type==="open"&&a&&typeof a=="object"&&"value"in a)return a.value})(n,o);return e.u("div",{className:"chat-bubble-container chat-right",children:[e.u("div",{className:"chat-bubble chat-bubble-right chat-bubble-text-only",children:e.u("div",{className:"chat-message-text",children:r||e.u("div",{className:"chat-message-no-response",children:"No response"})})}),e.u("img",{alt:"User Avatar",className:"chat-avatar chat-avatar-right",srcSet:`${t.respondentAvatar["1x"]} 1x, ${t.respondentAvatar["2x"]} 2x`})]})},Pn=({card:n,avatars:o,isCurrentQuestion:t,currentQuestionBubbleRef:r})=>{const{endCard:i}=e.useConfig(a=>({endCard:a.endCard}));return e.u(e.g,{children:[e.u(ae,{avatars:o,isLeft:!0,message:{id:`thanks-${n.name}`,type:"question",content:(i==null?void 0:i.headline)??"Great! Thank you for your participation."},ref:t?r:null}),(i==null?void 0:i.subheader)&&e.u(ae,{avatars:o,hideAvatar:!0,isLeft:!0,message:{id:`caption-${n.name}`,type:"question",content:i.subheader}}),e.u(on,{})]})},Ln=({card:n,cardIndex:o,index:t,avatars:r,cardResponses:i,questionThinkingStates:a,startingQuestionIdx:d,currentQuestionBubbleRef:u,handleCardResponse:s})=>{const p=o===t,b=o<t,c=We(n);if(c)return e.u(Pn,{avatars:r,card:n,currentQuestionBubbleRef:u,isCurrentQuestion:p});const v=`${n.name}`,x=i.get(v),C=n.type==="open",m=a.get(v),h=o>(d??0)&&n.type!=="thanks"&&n.type!=="uploading"&&(m===!0||m===void 0);return e.u(e.wn.Fragment,{children:[e.u(Dn,{avatars:r,card:n,currentQuestionBubbleRef:u,isCurrentQuestion:p,isThinking:h}),!h&&e.u(Sn,{avatars:r,card:n}),b&&C?e.u(Rn,{avatars:r,card:n,userResponse:x}):(!b||!C)&&!h&&e.u(ae,{avatars:r,isLeft:!1,message:{id:`card-${n.name}`,type:"card",content:""},children:e.u("div",{className:"chat-card-container",children:e.u(Bn,{card:n,className:c?"chat-thanks-card":"chat-card",isAnswered:b,next:p?s:()=>{}})})})]},`question-card-${n.name}`)},ae=e.wn.forwardRef(({message:n,isLeft:o=!1,children:t,avatars:r,hideAvatar:i=!1},a)=>{const d=o?"chat-bubble-left":"chat-bubble-right";return e.u("div",{className:`chat-bubble-container ${o?"chat-left":"chat-right"}${o&&i?" chat-no-avatar":""}`,ref:a,children:[o&&!i&&e.u("img",{alt:"AI Avatar",className:"chat-avatar chat-avatar-left",srcSet:`${r.agentAvatar["1x"]} 1x, ${r.agentAvatar["2x"]} 2x`}),e.u("div",{className:`chat-bubble ${d}`,children:t||e.u("div",{className:"chat-message-text",children:n.content})}),!o&&!i&&e.u("img",{alt:"User Avatar",className:"chat-avatar chat-avatar-right",srcSet:`${r.respondentAvatar["1x"]} 1x, ${r.respondentAvatar["2x"]} 2x`})]})});ae.displayName="ChatBubble";const Mn=()=>{const n=e.useConfig(t=>t.close),o=e.F(()=>()=>n(W.APP_ID),[n]);return e.u("div",{"aria-label":"Close button",className:"conversational-close-btn",onClick:o,onKeyPress:t=>{t.key==="Enter"&&o()},role:"button",tabIndex:0,children:e.u("svg",{fill:"none",height:"16px",viewBox:"0 0 13 13",width:"16px",xmlns:"http://www.w3.org/2000/svg",children:e.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"})})})},Bn=({card:n,next:o,className:t="",isAnswered:r=!1})=>{const i={className:r?`${t} answered-card`:t,next:r?()=>{}:o,questionId:n.name,type:n.type,isAnswered:r};switch(n.type){case"consentlegal":return e.u(rn,{...i,...n.props});case"likert":return e.u(an,{...i,...n.props});case"matrix":return e.u(dn,{...i,...n.props});case"multiplechoice":return e.u(cn,{...i,...n.props});case"multipleselect":return e.u(un,{...i,...n.props});case"nps":return e.u(pn,{...i,...n.props});case"open":return e.u(vn,{...i,...n.props});case"rankorder":return e.u(mn,{...i,...n.props});case"recordedtask":return e.u(wn,{...i,...n.props});case"texturlprompt":return e.u(En,{...i,...n.props});case"thanks":return e.u(jn,{...i,...n.props});case"uploading":return e.u(_n,{...i,...n.props});case"videovoice":return e.u(In,{...i,...n.props});default:return null}};exports.default=({cards:n,next:o,previousResponses:t})=>{const{cardResponses:r,setCardResponse:i}=(()=>{const[f,y]=e.h(new Map);return{cardResponses:f,setCardResponse:e.T((L,S)=>{y(k=>new Map(k).set(L,S))},[])}})(),{index:a,isLongFormSurvey:d,avatars:u,startingQuestionIdx:s,viewDocument:p,update:b}=e.useConfig(f=>({index:f.index,isLongFormSurvey:W.isLongFormSurvey(f.studyType),avatars:f.avatars,startingQuestionIdx:f.startingQuestionIdx,viewDocument:f.viewDocument,update:f.update})),{currentQuestionBubbleRef:c,scrollToCurrentQuestion:v}=(({viewDocument:f})=>{const y=e._(null),L=e.T(()=>{const S=f.querySelector(".ul-card-main-content");if(y.current&&S&&S instanceof HTMLElement){const k=y.current.offsetTop-S.offsetTop-16;S.scrollTo({top:Math.max(0,k),behavior:"smooth"})}},[]);return{currentQuestionBubbleRef:y,scrollToCurrentQuestion:L}})({viewDocument:p}),x=((f,y,L)=>{const[S,k]=e.h(new Map);return e.p(()=>{if(f.length>0&&y<f.length){const w=f[y],I=`${w.name}`;if(y<=(L??0)||We(w))return void k(g=>new Map(g).set(I,!1));k(g=>new Map(g).set(I,!0));const l=setTimeout(()=>{k(g=>new Map(g).set(I,!1))},1e3);return()=>clearTimeout(l)}},[y,f,L]),S})(n,a,s),C=((f,y)=>{const[L,S]=e.h(new Set([0]));return e.p(()=>{S(k=>new Set(k).add(f))},[f]),e.p(()=>{const k=y??0;k>0&&S(w=>{const I=new Set(w);for(let l=0;l<=k;l++)I.add(l);return I})},[y]),L})(a,s),m=e.F(()=>({...t,...e.buildReadableResponseMap(n.map((f,y)=>{var L,S;return{...f,value:y<a?((L=r.get(`${f.name}`))==null?void 0:L.value)??null:null,secondaryValue:y<a?((S=r.get(`${f.name}`))==null?void 0:S.secondaryValue)??null:null}}))}),[t,r,n,a]),h=e.pipeReadableResponsesIntoCards(n,m);e.p(()=>{requestAnimationFrame(()=>{v()}),b()},[a,v,x,b]);const D=e.T((f,y)=>{if(!y)return;const L=h[a];if(!L)return;const S=`${L.name}`;i(S,f);const k={...f,questionText:e.getProcessedQuestionText(L)};o([k])},[h,a,o,i]),N=h.map((f,y)=>({card:f,cardIndex:y})).filter(({cardIndex:f})=>C.has(f));return e.u("div",{className:"conversational-ui ul-conversational-ui","data-testid":"ui-container",children:[!d&&e.u(Mn,{}),e.u("div",{className:"chat-container",children:e.u("div",{className:"chat-messages",children:N.map(({card:f,cardIndex:y})=>e.u(Ln,{avatars:u,card:f,cardIndex:y,cardResponses:r,currentQuestionBubbleRef:c,handleCardResponse:D,index:a,questionThinkingStates:x,startingQuestionIdx:s},`question-card-${f.name}`))})})]})};
658
+ `}],Me="-video-player",Te="-secondary-video-player",_e="-video-recorder";let X,Ie;const te=async({event:n,apiBase:o,headers:t,visitorId:r,envId:i,metadata:s})=>{const d=T.document.documentElement;if(!r||!i)return;const u={event:`SDK - ${n}`,visitorId:r,environmentId:i,metadata:{...s||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${o}/sdk/1/visitors/${r}/analytics`,{method:"POST",cache:"no-cache",headers:t,body:JSON.stringify(u)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",n)},ne=async(n,o,t,r,i,s)=>{te({event:`Video Error ${o}`,apiBase:t,headers:r,visitorId:i,envId:s,metadata:{errorMessage:n.message}});const d=T.document.documentElement,u={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:d.clientWidth,clientHeight:d.clientHeight,location:window.location.href,language:navigator.language},a={action:o,err:{message:n.message,stack:n.stack},meta:u,vid:i,envId:s};(await fetch(`${t}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...r,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(a)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",n)},Ne=(n,o)=>{if(n.length===0)return o&&o();Promise.all(n.reduce((t,r)=>(t.push(((i,{type:s,content:d})=>new Promise(function(u,a){let m;s==="script"?(m=T.document.createElement("script"),m.src=d):s==="link"?(m=T.document.createElement("link"),m.rel="stylesheet",m.href=d,m.type="text/css"):(m=T.document.createElement("style"),m.innerHTML=d),m.onload=function(){u(d)},m.onerror=function(){a(d)},m.async=!1,m.id=btoa(d),i.appendChild(m)}))(T.document.head,r)),t),[])).then(()=>{T.videojs=T.document.defaultView.videojs,o&&o()}).catch(function(t){console.log(t+" failed to load")})},De=(n,o,t)=>{if(o==="start"&&(n.style.visibility="visible"),o==="none")n.style.visibility=Z;else if(o==="success")n.style.visibility=Z,n.innerHTML="Upload succeeded!";else{const r=Math.round(parseFloat(t));n.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${r}%</span>`,n.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${r}%, #FCFCFD ${r}%, #FCFCFD 100%)`}},he=(n,o)=>{const t=T.videojs(n.id());return t==null?void 0:t.payload[o]},Oe=(n,o)=>{const t=new(T.videojs.getComponent("Component"))(n);return t.addClass("ul-buttons-panel"),o.map(r=>{t.addChild(r)}),Ke(t),t},Ke=n=>{n.children().forEach(o=>{if(K[o.name_]){const t=le(K[o.name_],`ul-${K[o.name_]}`);o.el_.appendChild(t)}})},le=(n,o="")=>{const t=T.document.createElement("span");return t.className="ul-button-text",t.innerHTML=n,t.id=o,t},qe=(n,o,t,r,i=!1,s)=>{n.addClass("ul-video-player");const d=new(T.videojs.getComponent("Component"))(n);d.addClass("ul-control-panel"),n.progressBar=d.addChild("ProgressControl"),t&&n.src(t),n.audioPlayerPlaceholder=new(T.videojs.getComponent("Component"))(n),n.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const u=t&&t.src?nn(t.src):null;!t||!i&&u?(n.audioPlayerPlaceholder.hide(),T.document.getElementById(`${n.id()}_html5_api`).style.height="100%",u&&n.poster(u)):(n.children()[0].classList.add("vjs-hidden"),T.document.getElementById(`${n.id()}_html5_api`).style.height="0px"),n.on("play",()=>{i||!t||u||Xe(n),s==null||s.play()}),n.on("pause",()=>{s==null||s.pause()}),n.on("seeked",()=>{s==null||s.currentTime(n.currentTime())}),n.on("ratechange",()=>{s==null||s.playbackRate(n.playbackRate())}),n.addChild(n.audioPlayerPlaceholder,{},1),d.addChild(o),n.addChild(d),r&&r(n)},Je=(n,o,t,r,i,s,d,u=!1)=>{Ie=Date.now();const a=de(o,{controls:!1,bigPlayButton:!1,fluid:!1,width:1280,height:720,playsinline:!0,plugins:{record:{audio:!0,video:{mandatory:{minWidth:1280,minHeight:720}},frameWidth:1280,frameHeight:720,maxLength:600,autoMuteDevice:!0}}});if(!a)return;a.payload=t;const{surveyId:m,questionId:y,responseGroupUid:c,visitorId:g,envId:k}=t;let C;const h=l=>{const p=ve,x=ve+"-audio-only";De(a.uploadProgressLabel,"none"),X&&X.startTime>=Ie&&X.abort();const B=T.document.getElementById("ul-camera-button");l?(a.children()[0].classList.add("vjs-hidden"),L.removeClass(p),L.addClass(x),B.innerHTML=K.TurnOnCamera,a.audioPlayerPlaceholder.removeClass("vjs-hidden"),C==null||C.getTracks().forEach(_=>{_.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(_=>{C=_,_.getVideoTracks().forEach(N=>{N.enabled=!1}),a.record().onDeviceReady(_)}).catch(a.record().onDeviceError.bind(a.record()))):(C==null||C.getVideoTracks().forEach(_=>{_.enabled=!0}),a.children()[0].classList.remove("vjs-hidden"),a.record().getDevice(),L.removeClass(x),L.addClass(p),B.innerHTML=K.TurnOffCamera,a.audioPlayerPlaceholder.addClass("vjs-hidden"))},f=new(T.videojs.getComponent("Button"))(a,{clickHandler:()=>{f.hasClass(Z)||(te({event:"Video Delete Button Clicked",apiBase:r,headers:d,visitorId:g,envId:k,metadata:{questionId:y,responseGroupUid:c,surveyId:m}}),h(a.cameraOff),i(P.DELETE,{}),L.removeClass(Z),f.addClass(Z))}});f.addClass("ul-video-recorder-delete-button"),f.el_.appendChild(le(K.DeleteButton,"ul-delete-button"));const D=T.document.getElementById(o),M=()=>{D.classList.contains("vjs-fullscreen")&&a.cameraOff?D.style.display="table":D.style.display="flex"};M();const L=new(T.videojs.getComponent("Button"))(a,{clickHandler:()=>{a.record().isRecording()||(a.cameraOff=!a.cameraOff,te({event:"Video Camera Button Clicked",apiBase:r,headers:d,visitorId:t.visitorId,envId:t.envId,metadata:{questionId:y,responseGroupUid:c,surveyId:m,cameraOff:a.cameraOff}}),h(a.cameraOff),!f.hasClass(Z)&&f.addClass(Z),i(P.DELETE,{}),M())}});L.addClass(ve),L.el_.appendChild(le(K.TurnOffCamera,"ul-camera-button"));const I=new(T.videojs.getComponent("Button"))(a,{clickHandler:()=>{const l=T.document.getElementById("ul-recorder-toggle");if(a.record().isRecording())a.record().stop(),l&&(l.innerHTML=K.RecordButton),I.removeClass(ge),f.removeClass(Z);else{const p=T.document.getElementById("ul-recording-countdown-screen");if(p)p.remove(),l&&(l.innerHTML=K.RecordButton),h(a.cameraOff),i(P.DELETE,{}),L.removeClass(Z),f.addClass(Z),I.removeClass(ge),v.show();else{I.addClass(ge),v.hide(),L.addClass(Z),f.addClass(Z),l&&(l.innerHTML=K.StopButton);const x=T.document.createElement("div");x.id="ul-recording-countdown-screen",D.insertBefore(x,D.children[1]),x.style.height=`${D.offsetHeight}px`,Ue(a,3)}}}});I.addClass("ul-video-recorder-toggle-button"),I.el_.appendChild(le(K.RecordButton,"ul-recorder-toggle"));const $=T.document.createElement("p");$.style.visibility="hidden",$.className="ul-upload-progress-label",n.appendChild($),a.uploadProgressLabel=$;const A=Oe(a,[f,L,"PlayToggle",I,"FullscreenToggle"]),v=A.children().find(l=>l.name_==="FullscreenToggle");v.hasClass("vjs-disabled")&&v.hide();const b=A.children().find(l=>l.name_==="PlayToggle");b.hide(),f.addClass(Z),qe(a,A,s,!1,u),a.on("stopRecord",()=>{I.hide(),b.show(),v.show(),f.removeClass(Z)}),a.on("deviceReady",()=>{I.show(),b.hide(),f.addClass(Z)}),((l,p,x,B,_)=>{const{surveyId:N,responseGroupUid:H,visitorId:U,envId:q}=l.payload;l.on("deviceError",function(){console.warn("device error: ",l.deviceErrorCode),l.deviceErrorCode.message==="Permission denied"?(l.deviceButton.addClass("permission-denied"),x&&x(P.ERROR,{type:P.PERMISSION_DENIED}),te({event:"Video Permission Denied",apiBase:p,headers:_,visitorId:U,envId:q,metadata:{questionId:he(l,me),responseGroupUid:H,surveyId:N}})):(x&&x(P.ERROR,{type:P.OTHER}),ne(new Error(l.deviceErrorCode.message),"recorderDeviceError",p,_,U,q))}),l.on("error",function(Q,G){ne(G||l.error(),"recorderError",p,_,U,q)}),l.on("startRecord",function(Q,G){B(l.uploadProgressLabel,"none"),te({event:"Video Record Start",apiBase:p,headers:_,visitorId:U,envId:q,metadata:{questionId:he(l,me),responseGroupUid:H,surveyId:N}})}),l.on("finishRecord",async function(){B(l.uploadProgressLabel,"start",0);const Q=he(l,me);if(!N){const S="internal error: missing fields in payload";return x&&x(P.ERROR,{type:P.OTHER}),ne(new Error(S),"finishRecord",p,_,U,q),null}l.record().stopDevice();const G=l.cameraOff?P.MEDIA_TYPE_AUDIO:P.MEDIA_TYPE_VIDEO,J=W.v4();te({event:"Video Record Finish",apiBase:p,headers:_,visitorId:U,envId:q,metadata:{mediaRecordingUid:J,questionId:Q,responseGroupUid:H,surveyId:N,mediaType:G}});const ie={surveyId:N,updatedAt:new Date().toISOString(),mediaType:G,mediaRecordingUid:J};Q&&(ie.questionId=Q),H&&(ie.responseGroupUid=H),U&&(ie.visitorId=U);const j=await(async()=>{const S=await fetch(`${p}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(ie)});if(S.ok){const O=await S.json();return x&&x(P.UPLOAD_STARTED,{[P.UPLOAD_ID]:O.upload.id,[P.MEDIA_TYPE]:G,[P.MEDIA_RECORDING_UID]:J}),O.upload.url}return x&&x(P.ERROR,{type:P.OTHER,response:S}),ne(new Error("failed to get upload response with url"),"finishRecord",p,_,U,q),null})();j&&(X=T.document.defaultView.UpChunk.createUpload({endpoint:j,file:new T.document.defaultView.File([l.recordedData],`recording ${G} ${Date.now()}`),chunkSize:5120}),X.startTime=Date.now(),te({event:"Video Upload Start",apiBase:p,headers:_,visitorId:U,envId:q,metadata:{mediaRecordingUid:J,questionId:Q,responseGroupUid:H,surveyId:N,mediaType:G,url:j}}),X.on("error",S=>{B(l.uploadProgressLabel,"none"),x&&x(P.UPLOAD_FINISHED,{[P.MEDIA_RECORDING_UID]:J}),ne(S,"finishRecord",p,_,U,q)}),X.on("progress",S=>{x&&x(P.UPLOAD_PROGRESS,{[P.MEDIA_RECORDING_UID]:J,[P.UPLOAD_PROGRESS_PCT]:S.detail}),B(l.uploadProgressLabel,"progress",S.detail)}),X.on("success",()=>{B(l.uploadProgressLabel,"success"),x&&x(P.UPLOAD_FINISHED,{[P.MEDIA_RECORDING_UID]:J}),te({event:"Video Upload Success",apiBase:p,headers:_,visitorId:U,envId:q,metadata:{mediaRecordingUid:J,questionId:Q,responseGroupUid:H,surveyId:N,mediaType:G,url:j,elapsedMs:X.startTime&&Date.now()-X.startTime}})}))})})(a,r,i,De,d);const w=[{name:"microphone"}];!a.cameraOff&&w.push({name:"camera"}),Promise.all(w.map(l=>{var p;return(p=navigator==null?void 0:navigator.permissions)==null?void 0:p.query(l)})).then(l=>{l.reduce((p,x)=>p&x.state==="granted",!0)&&a&&(a.deviceButton&&a.deviceButton.hide(),a.record().getDevice())}).catch(l=>{})},Ue=(n,o=3)=>{const t=T.document.getElementById("ul-recording-countdown-screen");t&&o===0?(t.remove(),n.record().start()):t&&(t.innerHTML=`<span class='ul-countdown-text'>Recording in... ${o}</span>`,setTimeout(()=>{Ue(n,o-1)},1e3))},Ae=n=>{const o=T.document.createElement("div");return o.className="ul-video-container",o.appendChild((t=>{const r=T.document.createElement("div");return r.className="ul-video-player-loading",r.id=xe(t),["first","second","third","fourth"].map(i=>{const s=T.document.createElement("div");s.className=i,r.appendChild(s)}),r})(n)),o},be=(n,o)=>{const t=T.document.createElement("video");t.id=n,t.className="video-js vjs-default-skin ul-video-player-video";const r=T.document.createElement("p");r.className="vjs-no-js",r.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const i=T.document.createElement("a");return i.href="https://videojs.com/html5-video-support/",i.target="_blank",i.innerHTML="supports HTML5 video",r.appendChild(i),t.appendChild(r),o.appendChild(t),o},Xe=(n,o)=>{n.children()[0].classList.remove("vjs-hidden"),n.audioPlayerPlaceholder.hide(),T.document.getElementById(`${n.id()}_html5_api`).style.height="100%"},de=(n,o)=>T.document.getElementById(n)?o?T.videojs(n,o):T.videojs(n):(console.error(`Error in finding player element with ID, ${n}`),null),en=(n,o,t,r=!1,i="https://api.sprig.com",s=document,d=null,u=null)=>{T.document=s;const a=n+Me,m=Ae(a);return T.document.addEventListener("securitypolicyviolation",y=>{ne(new Error(`Voice & Video feature violates ${y.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",i,{})}),Ne(Le,()=>{T.document.getElementById(xe(a)).remove(),be(a,m);const y={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const c=n+Te;be(c,m);const g=de(a,y),k=de(c,{muted:!0,...y});if(!g||!k)return;((f,D,M)=>{f.addClass(`ul${Te}`);const L=new(T.videojs.getComponent("Component"))(f);D&&f.src(D),f.addChild(L),M&&M(f)})(k,d,u),d||k.addClass(Z);const C=Oe(g,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),h=C.children().find(f=>f.name_==="FullscreenToggle");h.hasClass("vjs-disabled")&&h.hide(),qe(g,C,o,t,r,k)}catch(c){return void ne(new Error(`Error when creating video player object ${c}`),"playerDeviceError",i,{})}}),m},nn=n=>{if(!n)return null;const o=n.match(/https:\/\/stream.mux.com\/(.*)/);let t=o?o[1]:null;return t.includes(je)&&(t=t.replace(je,"")),t?`https://image.mux.com/${t}/thumbnail.jpg?time=0`:null},P={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"},K={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"},tn=({properties:n,surveyVideoUrl:o,questionId:t})=>{const r=`ul-card-video__question_player-q${t}`,{apiURL:i,viewDocument:s}=e.useConfig(d=>({apiURL:d.apiURL,viewDocument:d.viewDocument}));return e.u("div",{id:r,ref:d=>{if(d&&d.children.length===0&&!n.properties.hideRecordedPrompt){const u=en(r,{src:o,type:"application/x-mpegURL"},void 0,n.properties.mediaType===P.MEDIA_TYPE_AUDIO,i,s);d.appendChild(u)}}})},oe=({isDisabled:n,onClick:o,children:t})=>e.u(E.Button,{className:"ul-card__button-checkmark",disabled:n,onClick:o,type:"button",children:[e.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#ffffff",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),t||"Ok"]}),rn=({className:n,next:o,properties:t,questionId:r,type:i})=>{const{useMobileStyling:s,border:d}=e.useConfig(I=>({useMobileStyling:I.useMobileStyling,border:I.border})),[u,a]=e.h(!1),[m,y]=e.h(""),[c,g]=e.h(!1),k=t==null?void 0:t.collectName,C=(t==null?void 0:t.nameLabelText)||"Full Name",h=(t==null?void 0:t.consentText)||"I agree to the stated conditions",f=(t==null?void 0:t.submitButtonText)||"Submit",D=!!m.trim(),M=u&&(!k||D),L=(I,$=!1)=>{I.preventDefault(),I.stopPropagation();let A=null;if(!$){if(!M)return void g(!0);A={submitted:!0},k&&(A.name=m)}o({value:A,questionId:r,type:i},!!$||M)};return e.u("div",{className:e.cc(n,"ul-card__consent-legal","fade-in-transition"),children:e.u(E.MobileEmbedView,{embeddedType:"pdf",properties:t,children:e.u(E.QuestionBodyFooterContainer,{children:[e.u("div",{className:"sprig-stretch",children:[e.u(E.Option,{allowTextEntry:!1,border:d,error:c&&!u,id:"consent",isRadio:!1,isSelected:u,label:h,onUserInputChanged:({selected:I})=>{I!==u&&a(!u)},useMobileStyling:s}),k&&e.u("input",{"aria-label":C,"aria-placeholder":C,className:e.cc(e.getClasses("ul-consent-legal__name-input",s)),"data-gramm":"false",maxLength:250,name:"name",onBlur:I=>{I.currentTarget.style.borderColor=c&&!D?W.ERROR_BORDER_COLOR:W.DEFAULT_BORDER_COLOR},onFocus:I=>{I.currentTarget.style.borderColor=c&&!D?W.ERROR_BORDER_COLOR:d},onInput:I=>{I.preventDefault(),I.stopPropagation(),y(I.currentTarget.value)},placeholder:C,style:c&&!D?{borderColor:W.ERROR_BORDER_COLOR}:{},tabIndex:0,value:m})]}),e.u("div",{className:"ul-card__button-wrapper ul-card-vertical__button-wrapper",children:[e.u(oe,{isDisabled:!M,onClick:I=>L(new SubmitEvent(I.type)),children:e.getButtonText({buttonText:f})}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:I=>L(new SubmitEvent(I.type),!0),children:e.getSkipButtonText(t)})]})]})})},r)},on=()=>{const{destroy:n,forceBrandedLogo:o}=e.useConfig(t=>({destroy:t.destroy,forceBrandedLogo:t.forceBrandedLogo}));return e.p(()=>{setTimeout(()=>{n(W.APP_ID)},o?4e3:2e3)},[n,o]),e.u("div",{className:"end-of-survey-text",children:"End of survey"})},sn=({activeValue:n,border:o,icon:t,enableCspTrustedTypes:r,isPressed:i,range:s,scaleLabelType:d,selectedValue:u,setSelectedValue:a,setActiveValue:m,setIsPressed:y,useMobileStyling:c,value:g,viewDocument:k})=>{const C=`option-${g}`,h=d==="number",f=d==="star",D=d==="smiley",M=h&&g===n||g===u,[L,I]=(()=>{const v=f&&u!==null&&g<=u;return f&&g<=n||D&&g===n||v||g===n||g===u?[o,i||v||g===u?1:.3]:["",1]})(),$=e.F(()=>{const v={borderColor:M?L:"",fillOpacity:M?"":I,zIndex:M?3:"auto",color:u===g?"#fff":""};return h?{...v,backgroundColor:u===g?L:""}:{...v,color:f||D||u===g?L:""}},[M,L,I,u,g,h,f,D]),A=e.F(()=>W.getHtml((({icon:v,scaleLabelType:b,value:w,selectedValue:l})=>{if(b==="smiley"&&w===l){let p=0;return v.replace(/black/g,()=>++p==1?"black":"white")}return v})({icon:t,scaleLabelType:d,value:g,selectedValue:u}),r),[r,t,d,u,g]);return e.u("button",{"aria-label":h?void 0:String(g),className:(()=>{switch(d){case"star":return e.cc(e.getClasses("likert-star",c),e.getClasses(`likert-star-${g}`,c));case"smiley":return e.cc(e.getClasses("likert-smiley",c),e.getClasses(`likert-smiley-${g}`,c));default:return g===s?e.cc(e.getClasses("likert-number",c),e.getClasses(`likert-number-${g}`,c),e.getClasses("likert-last-option",c)):e.cc(e.getClasses("likert-number",c),e.getClasses(`likert-number-${g}`,c))}})(),dangerouslySetInnerHTML:{__html:A},id:C,onClick:v=>{v.preventDefault(),v.stopPropagation(),a(g)},onKeyDown:v=>{var l,p;const b=k.querySelectorAll(`.likert-${d??"number"}`),w=g-1;v.key==="ArrowRight"?(l=b[w+1])==null||l.focus():v.key==="ArrowLeft"?(p=b[w-1])==null||p.focus():v.key!=="Enter"&&v.key!==" "||(v.preventDefault(),v.stopPropagation(),a(g))},onPointerDown:()=>y(!0),onPointerEnter:()=>m(g),onPointerLeave:()=>{m(-1),y(!1)},style:$,tabIndex:0})},an=({className:n,labels:o,next:t,properties:r,questionId:i,type:s})=>{const{border:d,useMobileStyling:u,viewDocument:a,enableCspTrustedTypes:m}=e.useConfig(b=>({border:b.border,useMobileStyling:b.useMobileStyling,viewDocument:b.viewDocument,enableCspTrustedTypes:b.enableCspTrustedTypes})),[y,c]=e.h(-1),[g,k]=e.h(!1),[C,h]=e.h(null),f=o&&o.left,D=o&&o.right;let M;const{range:L,scaleLabelType:I,ratingIcons:$}=r;L&&(M=Number(L));const A=M||5,v=b=>{var w,l;switch(I){case"star":return(w=$[0])==null?void 0:w.svg;case"smiley":return(l=$[b])==null?void 0:l.svg;default:return String(b+1)}};return e.u("form",{className:e.cc(n,"ul-card--likert","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{"aria-label":`Rating (1 - ${A})`,className:"ul-card--likert__numbers",role:"radiogroup",children:[...Array(A)].map((b,w)=>{const l=w+1;return e.u(sn,{activeValue:y,border:d,enableCspTrustedTypes:m,icon:v(w),isPressed:g,range:A,scaleLabelType:I,selectedValue:C,setActiveValue:c,setIsPressed:k,setSelectedValue:h,useMobileStyling:u,value:l,viewDocument:a},w)})}),e.u("div",{className:"ul-card--likert__labels",children:[e.u("span",{children:f}),e.u("span",{children:D})]})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:C===null&&r.required,onClick:()=>t({value:C,questionId:i,type:s},!0),children:e.getButtonText(r)})})]})},i)},ln=({columns:n,onSelect:o,options:t,selectedOptions:r})=>{const i=e._([]),{border:s,useMobileStyling:d}=e.useConfig(g=>({border:g.border,useMobileStyling:g.useMobileStyling})),u=t.findIndex(g=>r[g.id]===null),[a,m]=e.h(u),y=e.T((g,k)=>{o(g,k);const C=a+1,h=t[C];h&&r[h.id]===null&&m(C)},[o,t,r,a]),c=e.T((g,k)=>{const C=a===g;return e.u(e.Accordion,{animate:!0,header:k.label,isOpen:C,onClick:()=>{var h;return m(C&&!((h=window.UserLeap)!=null&&h.isMobileSDK)?-1:g)},ref:h=>{h&&(i.current[g]=h)},showHeaderCheck:r[k.id]!==null,children:e.u("div",{style:{paddingTop:"12px"},children:n.map(h=>e.u(E.Option,{allowTextEntry:!1,ariaLabel:`${k.label}-${h.label}`,border:s,error:!1,id:`${k.id}-${h.value}`,isRadio:!0,isSelected:r[k.id]===h.value,label:h.label,onUserInputChanged:()=>y(k.id,h.value),useMobileStyling:d},h.label))})},k.id)},[s,n,a,y,r,d]);return e.u("div",{children:t.map((g,k)=>c(k,g))})},dn=({className:n,next:o,options:t,properties:r,questionId:i,type:s,onSubmitButtonClick:d})=>{const u=r.matrixColumn,a=r.required,m=C=>{C.preventDefault(),C.stopPropagation(),o({value:c,questionId:i,type:s},!0),d&&d()},y=t.reduce((C,h)=>(C[h.id]=null,C),{}),[c,g]=e.h(y);return e.u("form",{className:e.cc(n,"ul-card__matrix","fade-in-transition"),id:"text-form",onSubmit:m,children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:e.u(ln,{columns:u,onSelect:(C,h)=>{g(f=>({...f,[C]:h}))},options:t,selectedOptions:c})}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:(k=c,a&&Object.values(k).every(C=>C==null)),onClick:()=>m(new SubmitEvent("submit")),children:e.getButtonText(r)})})]})},i);var k},He=({className:n,onSubmit:o,options:t=[],properties:r,questionId:i,type:s,showIndividualSubmit:d=!1,onSubmitButtonClick:u})=>{const{border:a,useMobileStyling:m}=e.useConfig(l=>({border:l.border,useMobileStyling:l.useMobileStyling})),y=t.reduce((l,p)=>(l[p.id]={isSelected:!1},l),{}),[c,g]=e.h(y),k=s==="multiplechoice",C=r.required,h=t.find(l=>{var p;return(p=l.optionProperties)==null?void 0:p.noneOfTheAbove}),f=l=>Object.entries(l).some(([p,x])=>{var N;const B=t.find(H=>`${H.id}`===p),_=x.userText===void 0||x.userText.trim()==="";return((N=B==null?void 0:B.optionProperties)==null?void 0:N.allowsTextEntry)&&_&&x.isSelected}),D=l=>Object.values(l).filter(p=>p.isSelected).length,M=r.minSelect&&r.minSelect>0&&r.maxSelectMode===E.MaxSelectModes.Range&&D(c)<r.minSelect&&(C||D(c)>0),L=l=>f(l)||C&&!D(l)||!(p=>{const{minSelect:x=0,maxSelect:B=1/0,maxSelectMode:_}=r,N=D(p);switch(_){case E.MaxSelectModes.Maximum:return N<=B;case E.MaxSelectModes.Range:return N===0||N>=x;default:return!0}})(l),I=Object.entries(c).some(([l,p])=>{var x,B;return p.isSelected&&((B=(x=t.find(_=>`${_.id}`===l))==null?void 0:x.optionProperties)==null?void 0:B.allowsTextEntry)}),$=d&&(!k||I),A=l=>{w(l.id,l.selected,l.userText,l.noneOfTheAbove)},v=l=>{var p;return(r==null?void 0:r.maxSelectMode)!==E.MaxSelectModes.Unlimited&&D(c)===(r==null?void 0:r.maxSelect)&&!((p=c[l])!=null&&p.isSelected)},b=()=>{o(c,!0),u&&u()},w=(l,p,x,B)=>{const _=Object.assign({},c);if((k||B)&&p)for(const N of Object.values(_))N.isSelected=!1,delete N.userText;else h&&!B&&c[h.id].isSelected&&(_[h.id].isSelected=!1);_[l]={isSelected:p,userText:x},g(_)};return e.u("form",{className:e.cc(n,"ul-card--multiple","fade-in-transition"),id:"text-form",onSubmit:b,children:e.u(E.MobileEmbedView,{properties:r,children:[e.u(E.QuestionBodyWrapper,{children:[r.isDropdown?e.u(E.Select,{disabledOptions:t.filter(l=>v(l.id)),dropdownFooter:M?e.u("div",{className:"ul-card__min-select-counter",style:{marginLeft:"16px"},children:[D(c),"/",r.minSelect]}):void 0,isMultiSelect:!k,multiselectText:r.dropdownMultiselectedText??"choices selected",onChange:l=>{const p={...c};for(const x of t)l.includes(x)?p[x.id].isSelected=!0:p[x.id].isSelected=!1;g(p)},options:t,placeholderText:r.dropdownPlaceholderText??(k?"Select choice":"Select choice(s)"),value:t.filter(l=>c[l.id].isSelected)}):e.u("div",{className:e.cc(e.getClasses("ul-card__choices",m)),role:k?"radiogroup":"group",children:[t.map(({id:l,label:p,value:x,optionProperties:B})=>{var q,Q;const _=`${l}`,{allowsTextEntry:N,noneOfTheAbove:H}={allowsTextEntry:!1,noneOfTheAbove:!1,...B};return e.u(E.Option,{allowTextEntry:N,border:a,disabled:v(_),error:(U=c,f(U)),id:_,isRadio:k,isSelected:!!((q=c[_])!=null&&q.isSelected),label:p,noneOfTheAbove:H,onUserInputChanged:A,promptText:"Please specify",text:(Q=c[l])==null?void 0:Q.userText,useMobileStyling:m,value:x},_);var U}),!!M&&e.u("div",{className:"ul-card__min-select-counter",children:[D(c),"/",r.minSelect]})]}),$&&e.u(E.LongformSubmitButton,{handleSubmit:b,isSubmitDisabled:L(c)})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:L(c),onClick:b,children:e.getButtonText(r)})})]})},i)},cn=n=>{const{questionId:o,type:t,next:r,options:i}=n;return e.u(He,{...n,onSubmit:(s,d)=>{const u=Object.entries(s).find(([,g])=>g.isSelected)||[void 0,void 0],[a,m]=u,y=i.find(g=>`${g.id}`===a),c=m!=null&&m.userText?{[a]:{userText:m.userText}}:null;r({value:y&&a?{[a]:y.value}:{},secondaryValue:c,questionId:o,type:t},d)}})},un=n=>{const{questionId:o,type:t,next:r}=n;return e.u(He,{...n,onSubmit:(i,s)=>{const d=Object.entries(i).reduce((a,[m,y])=>(a[m]=y.isSelected,a),{}),u=Object.entries(i).reduce((a,[m,y])=>{if(!y.userText)return a;const c=a||{};return c[m]={userText:y.userText},c},null);r({value:d,secondaryValue:u,questionId:o,type:t},s)}})},pn=({className:n,labels:o,properties:t,next:r,questionId:i,type:s})=>{const[d,u]=e.h(null),{border:a,useMobileStyling:m,viewDocument:y}=e.useConfig(k=>({border:k.border,useMobileStyling:k.useMobileStyling,viewDocument:k.viewDocument})),c=o&&o.left,g=o&&o.right;return e.u("form",{className:e.cc(n,"ul-card--nps","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:t,children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--nps__numbers",children:[...Array(11)].map((k,C)=>e.u("button",{className:e.cc(e.getClasses("nps-number",m),e.getClasses(`nps-number-${C}`,m)),id:`option-${C}`,onClick:h=>{h.preventDefault(),h.stopPropagation(),u(C)},onKeyDown:h=>{var D,M;const f=y.querySelectorAll("button.nps-number");h.key==="ArrowRight"?(D=f[C+1])==null||D.focus():h.key==="ArrowLeft"?(M=f[C-1])==null||M.focus():h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),h.stopPropagation(),u(C))},onPointerDown:h=>{h.currentTarget.style.zIndex="2",h.currentTarget.style.borderColor=a},onPointerLeave:h=>{h.currentTarget.style.zIndex="auto",h.currentTarget.style.borderColor=W.DEFAULT_BORDER_COLOR},style:d===C?{backgroundColor:a,color:"#fff"}:void 0,tabIndex:0,children:C},C))}),e.u("div",{className:"ul-card--nps__labels",children:[e.u("span",{children:c}),e.u("span",{children:g})]})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:d===null&&t.required,onClick:()=>r({value:d,questionId:i,type:s},!0),children:e.getButtonText(t)})})]})},i)},mn=({className:n,next:o,properties:t,questionId:r,type:i,onSubmitButtonClick:s})=>{const{border:d,useMobileStyling:u,update:a}=e.useConfig(f=>({border:f.border,useMobileStyling:f.useMobileStyling,update:f.update})),[m,y]=e.h(""),c=e._(null),g=m.trim(),k=t.required===!0&&!g,C=E.useAutoSize(c,()=>a()),h=t&&t.openTextPlaceholder?t.openTextPlaceholder:"";return e.u("form",{className:e.cc(n,"ul-card-text","fade-in-transition"),id:"text-form",children:e.u(E.MobileEmbedView,{properties:t,children:e.u("div",{className:"ul-card-text",children:[e.u(E.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":h,className:e.cc(e.getClasses("ul-card-text__input",u)),"data-gramm":"false",maxLength:5e3,name:"text",onBlur:f=>{f.currentTarget.style.borderColor=W.DEFAULT_BORDER_COLOR},onChange:f=>{const{value:D}=f.currentTarget;C(),f.preventDefault(),f.stopPropagation(),y(D)},onFocus:f=>{f.currentTarget.style.borderColor=d},placeholder:h,ref:c,role:"textbox",tabIndex:0})}),t.footerHtml&&e.u(E.Html,{className:"footer",html:t.footerHtml})]}),e.u(E.QuestionBodyFooterContainer,{children:e.u(oe,{isDisabled:k,onClick:f=>{f.preventDefault(),f.stopPropagation();const D=t.required!==!0||g.length>0;o({value:m,questionId:r,type:i},D),s&&s()},children:e.getButtonText(t)})})]})})},r)},vn=({className:n,labels:o,next:t,properties:r,questionId:i,type:s,onSubmitButtonClick:d,options:u})=>{const a=e._(null),m=e._(0),y=e._(0),c=e._(null),g=e._(!1),k=e._([]),[C,h]=e.h(()=>(r==null?void 0:r.required)===!0),[f,D]=e.h(()=>u.map(j=>({...j,rank:null}))),M=e.F(()=>Array.from({length:u.length},(j,S)=>S+1),[u.length]),{useMobileStyling:L,isPreview:I,headers:$}=e.useConfig(j=>({useMobileStyling:j.useMobileStyling,isPreview:j.isPreview,headers:j.headers})),A=($==null?void 0:$["userleap-platform"])==="android",v=L&&!I&&!A,b=!v&&!A,w=(j,S)=>{D(O=>{const R=parseInt(S),F=O.map(V=>({...V}));F.some(V=>V.rank==null)&&F.forEach((V,se)=>V.rank=se+1);const Y=F.findIndex(V=>V.id===j);if(Y===-1)return O;const z=F[Y].rank;return R<z?F.forEach(V=>{V.id!==j&&V.rank>=R&&V.rank<z&&(V.rank=V.rank+1)}):R>z&&F.forEach(V=>{V.id!==j&&V.rank>z&&V.rank<=R&&(V.rank=V.rank-1)}),F[Y].rank=R,F.sort((V,se)=>V.rank-se.rank),H(),F})},l=(j,S)=>{for(let O=0;O<k.current.length;O++){const R=k.current[O];if(!R||R===c.current)continue;const F=R.getBoundingClientRect();if(j>=F.left&&j<=F.right&&S>=F.top&&S<=F.bottom)return{element:R,index:O}}return null},p=j=>S=>{if(!v)return;S.preventDefault(),S.stopPropagation(),g.current=!0,a.current=j;const O=S.touches[0];m.current=O.clientY,y.current=O.clientY;const R=S.currentTarget.closest(".ul-card-rank__option");R&&(c.current=R,R.classList.add("is-dragging"))},x=j=>{if(!v||!g.current||a.current===null)return;j.preventDefault(),j.stopPropagation();const S=j.touches[0];y.current=S.clientY;const O=y.current-m.current;c.current&&(c.current.style.transform=`translateY(${O}px)`,c.current.style.zIndex="1000"),k.current.forEach(F=>{F&&F!==c.current&&F.classList.remove("is-drop-target")});const R=l(S.clientX,S.clientY);R&&R.element.classList.add("is-drop-target")},B=j=>{if(!v||!g.current||a.current===null)return;j.preventDefault(),j.stopPropagation();const S=j.changedTouches[0],O=l(S.clientX,S.clientY);c.current&&(c.current.style.transform="",c.current.style.zIndex="",c.current.classList.remove("is-dragging")),k.current.forEach(R=>{R&&R.classList.remove("is-drop-target")}),O&&O.index!==a.current&&_(a.current,O.index),a.current=null,c.current=null,g.current=!1},_=(j,S)=>{D(O=>{const R=O.map(Y=>({...Y})),[F]=R.splice(j,1);return R.splice(S,0,F),R.forEach((Y,z)=>{Y.rank=z+1}),H(),R})},N=j=>{const S={};j.reduce((O,R)=>(O[R.id]=R.rank,O),S),t({value:S,questionId:i,type:s},!0)},H=()=>{h(!1)},{left:U,right:q}=o,Q=u.length,G=j=>{j.preventDefault(),j.currentTarget.classList.add("is-drop-target")},J=j=>{j.currentTarget.classList.remove("is-drop-target")},ie=j=>{a.current=null,j.currentTarget.classList.remove("is-dragging")};return e.u("form",{className:e.cc(n,"ul-card-rank","fade-in-transition"),onSubmit:j=>{j.preventDefault(),N(f),d&&d()},children:e.u(E.MobileEmbedView,{properties:r,children:A?e.u(e.g,{children:[e.u(E.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 - ",U]})}),e.u("ol",{className:"ul-card-rank__list",children:f.map(({id:j,label:S,rank:O})=>e.u("li",{className:"ul-card-rank__option",children:[e.u("select",{"aria-label":`Rank for ${S}`,className:e.cc("ul-card-rank__select",O==null&&"ul-card-rank__select--placeholder"),name:`rank[${j}]`,onChange:R=>w(j,R.currentTarget.value),value:O??"",children:[O==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),M.map(R=>e.u("option",{className:"ul-card-rank__select-option",value:R,children:R},`${R}-${i}`))]}),e.u("span",{children:S})]},j))}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[Q," - ",q]})})]})}),e.u(E.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(E.Button,{disabled:C,children:e.getButtonText(r)})})})]}):e.u(e.g,{children:[e.u(E.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 - ",U]})}),e.u("ol",{className:"ul-card-rank__list",onDragOver:A?void 0:j=>{j.preventDefault(),j.dataTransfer&&(j.dataTransfer.dropEffect="move")},children:f.map(({id:j,label:S,rank:O},R)=>{return e.u("li",{className:"ul-card-rank__option",draggable:!!b||void 0,onDragEnd:b?ie:void 0,onDragEnter:b?G:void 0,onDragLeave:b?J:void 0,onDragStart:b?(Y=R,z=>{a.current=Y,z.dataTransfer&&(z.dataTransfer.effectAllowed="move",z.dataTransfer.setData("text/plain",String(Y)),z.currentTarget.classList.add("is-dragging"))}):void 0,onDrop:b?(F=R,z=>{var se,Ee;z.preventDefault(),z.currentTarget.classList.remove("is-drop-target");const V=a.current;a.current=null,(Ee=(se=z.currentTarget.closest(".ul-card-rank__list"))==null?void 0:se.querySelector(".is-dragging"))==null||Ee.classList.remove("is-dragging"),V!=null&&V!==F&&_(V,F)}):void 0,ref:z=>k.current[R]=z,children:[e.u("select",{"aria-label":`Rank for ${S}`,className:e.cc("ul-card-rank__select",O==null&&"ul-card-rank__select--placeholder"),name:`rank[${j}]`,onChange:z=>w(j,z.currentTarget.value),value:O??"",children:[O==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),M.map(z=>e.u("option",{className:"ul-card-rank__select-option",value:z,children:z},z))]}),e.u("span",{children:S}),!A&&e.u("button",{"aria-label":`Drag ${S} to reorder`,className:"ul-card-rank__drag-btn",onTouchEnd:v?B:void 0,onTouchMove:v?x:void 0,onTouchStart:v?p(R):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"})})})]},j);var F,Y})}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[Q," - ",q]})})]})}),e.u(E.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(E.Button,{disabled:C,children:e.getButtonText(r)})})})]})})},i)},fe=1,$e=2,Ve=3,ce=n=>n.type==="av_permission",Se=n=>n.type==="screen_permission",Fe=(n,o)=>n===void 0?fe:n?((t,r)=>!(ce(r)?r.permissionDescriptors:[]).includes("camera")||t.getVideoTracks().length>0)(n,o)?Ve:fe:$e,Re={avStream:null,currentPage:null,mediaRecordingUids:null,nextQuestion:()=>{},passthroughData:void 0,recordingMediaTypes:void 0,screenPermissionRequested:!1,type:void 0},ee=e.create(n=>({...Re,reset:()=>{n(Re)},updatePage:o=>{n(o)}}));function ye({currentPage:n,pages:o}){const{avStream:t,recordingMediaTypes:r,updatePage:i}=ee.getState(),{recorderEventEmitter:s}=e.useConfig.getState();s.emit("av.permission",{"permission.descriptors":n.permissionDescriptors,"stream.ready":(d,u)=>{if(t===d)return;let a=n;if(d&&!n.permissionDescriptors.includes("camera")){const m=o.indexOf(n),y=u!=null&&u.active?m+2:m+1;u!=null&&u.active&&r&&s.emit("begin.recording",{"recording.media.types":r,"start.recording.callback":c=>i({mediaRecordingUids:c})}),a=o[y]}i({currentPage:a,avStream:d})}})}function Ce({status:n}){const{nextQuestion:o,passthroughData:t,mediaRecordingUids:r,reset:i}=ee.getState(),{recorderEventEmitter:s,handleUploadUpdate:d,index:u}=e.useConfig.getState(),a={value:{taskStatus:n},type:"recordedtask",questionId:(t==null?void 0:t.questionId)||1};t&&s.emit("finish.task",{"begin.callback":m=>{d({mediaRecordingUid:m,isSubmitted:!0,progressPct:0,isComplete:!1})},"progress.callback":(m,y)=>{d({mediaRecordingUid:m,progressPct:y.detail,isSubmitted:!1,isComplete:!1})},"upload.callback":m=>{m&&d({mediaRecordingUid:m,isComplete:!0,isSubmitted:!0,progressPct:100})},"passthrough.data":t,"current.index":u,"task.response":a,"task.complete.callback":m=>{a.value.taskDurationMillisecond=m,r&&(a.value.mediaRecordingUids=r),i(),o(a)}})}function ke({pages:n,setIsRequestingPermission:o}){const{recorderEventEmitter:t,eventEmitFn:r}=e.useConfig.getState(),{updatePage:i,currentPage:s,recordingMediaTypes:d,screenPermissionRequested:u}=ee.getState();if(!s)return;const a=n.indexOf(s);switch(s.type){case"av_permission":{const m=u?a+2:a+1;return u&&d&&t.emit("begin.recording",{"recording.media.types":d,"start.recording.callback":y=>{i({mediaRecordingUids:y})}}),void i({currentPage:n[m]})}case"screen_permission":return void t.emit("screen.permission",{"screen.permission.requested":o,"stream.ready.callback":(m,y)=>{const c=y?n[a+1]:s;y&&d&&t.emit("begin.recording",{"recording.media.types":d,"start.recording.callback":g=>{i({captureStream:y,mediaRecordingUids:g})}}),i({currentPage:c,screenPermissionRequested:!0,captureStream:y})}});case"start_task":return r("recorded.task.start"),t.emit("recorded.task.start"),t.emit("start.task"),void i({currentPage:n[a+1],screenPermissionRequested:!0});case"complete_task":return}}const ze="ul-permission-graphics-container",Qe="ul-permission-body",Ge=e.cc(ze,"ul_recorded-task-inset-spacing"),ue=e.cc("ul-horizontal-button-container","ul-horizontal-button-container-left"),Ze=({richTextBody:n})=>e.u(E.Html,{className:"ul-rich-text-body",html:n,id:"ul-task-detail-container"}),pe=({required:n,skipButtonText:o,bottom:t=!1})=>n?null:e.u(E.Button,{className:e.cc(t&&"ul-skip-button-below","ul-button-inactive"),onClick:Ce.bind(null,{status:"abandoned"}),children:o||"Skip"}),we=n=>{const{avStream:o,captureStream:t,recordingMediaTypes:r,updatePage:i}=ee.getState(),s=(r==null?void 0:r.includes("audio"))||(r==null?void 0:r.includes("video"));e.p(()=>{const d=setInterval(()=>{s&&o&&!o.active?i({avStream:null,currentPage:n[0]}):t&&t.active||i({captureStream:void 0,currentPage:n[s?1:0]})},1e3);return()=>clearInterval(d)},[o,t,s,n,r,i])},gn=({content:n,pages:o,required:t})=>{const{buttonText:r,skipButtonText:i,taskDetail:s}=n;return we(o),e.u("div",{className:"ul-task-page",children:[s&&e.u(Ze,{richTextBody:s}),e.u("div",{className:ue,children:[e.u(E.Button,{onClick:ke.bind(null,{pages:o}),children:r}),e.u(pe,{required:t,skipButtonText:i})]})]},"start-task")},hn=({content:n,pages:o,properties:t})=>{const{buttonText:r,skipButtonText:i}=n;return we(o),e.u("div",{className:"ul-task-page",children:[n.taskDetail&&e.u(Ze,{richTextBody:n.taskDetail}),e.u(E.MobileEmbedView,{properties:t,children:e.u("div",{className:ue,children:[e.u(E.Button,{className:"ul-complete-task-button",onClick:Ce.bind(null,{status:"completed"}),children:r}),e.u(E.Button,{className:e.cc("ul-button-inactive"),onClick:Ce.bind(null,{status:"given.up"}),children:i})]})})]},"complete-task")},bn=({content:n,pages:o,required:t})=>{const{buttonText:r,skipButtonText:i}=n,[s]=e.useConfig(a=>[a.tabTitle]),[d,u]=e.h(!1);return e.u("div",{children:[e.u("div",{className:Ge,children:[e.u("p",{style:{marginTop:"auto"},children:n.selectTabText}),e.u("div",{className:"ul-select-tab-container",children:e.u("p",{className:Qe,children:s})})]}),e.u("div",{className:t?"":ue,children:[e.u(E.Button,{disabled:d,onClick:ke.bind(null,{pages:o,setIsRequestingPermission:u}),children:r}),e.u(pe,{required:t,skipButtonText:i})]})]})},fn=({content:n})=>e.u(E.Html,{className:e.cc(ze,"ul_permission_svg_container","ul_recorded-task-inset-spacing","ul-center-horizontally"),html:n.svg},"ul-permission-request-graphic"),yn=({content:n,pages:o,required:t})=>{const{permissionDeniedHeadline:r,permissionDeniedBody:i,skipButtonText:s,tryAgainButtonText:d}=n,u=ce(o[0])?o[0]:null;return e.p(()=>{const a=setInterval(()=>{u!==null&&ye({currentPage:u,pages:o})},1e3);return()=>clearInterval(a)},[u,o]),u?e.u("div",{children:[e.u("div",{className:Ge,children:e.u("p",{className:"ul-av-permission-denied-paragraph",children:[e.u("span",{className:"ul-av-permission-denied-headline",children:r}),e.u("span",{className:Qe,children:i})]})}),e.u("div",{className:ue,children:[e.u(E.Button,{onClick:ye.bind(null,{currentPage:u,pages:o}),children:d}),e.u(pe,{required:t,skipButtonText:s})]})]}):null},Cn=({stream:n})=>e.u("video",{autoPlay:!0,className:e.cc("ul_recorded-task-inset-spacing"),id:"ul-record-task-video-preview",muted:!0,ref:o=>{o&&(o.srcObject=n||null)}}),xn=({content:n,pages:o,required:t})=>{const{skipButtonText:r}=n,{avStream:i}=ee.getState();return we(o),e.u("div",{children:[e.u(Cn,{stream:i}),e.u("div",{className:"ul-vertical-button-container-center",children:[e.u(E.Button,{onClick:ke.bind(null,{pages:o}),children:n.buttonText}),e.u(pe,{bottom:!0,required:t,skipButtonText:r})]})]})},kn=({properties:n})=>{const{pages:o,required:t}=n,{avStream:r,currentPage:i}=ee.getState();if(i===void 0)return null;switch(i==null?void 0:i.type){case"av_permission":{const s=Fe(r,i);return s===fe?e.u(fn,{content:i}):s===$e?e.u(yn,{content:i,pages:o,required:t}):e.u(xn,{content:i,pages:o,required:t})}case"screen_permission":return e.u(bn,{content:i,pages:o,required:t});case"start_task":return e.u(gn,{content:i,pages:o,required:t});case"complete_task":return e.u(hn,{content:i,pages:o,properties:n});default:return null}},wn=({className:n,properties:o,next:t,questionId:r})=>{const i=e.useConfig(),{surveyId:s,responseGroupUid:d,userId:u}=i,a=ee(),{screenPermissionRequested:m}=a,y=ee(h=>h.avStream);let c=ee(h=>h.currentPage);c||(c=function({pages:h,userId:f,responseGroupUid:D,surveyId:M,questionId:L,next:I}){const{updatePage:$}=ee.getState(),{eventEmitFn:A,recorderEventEmitter:v}=e.useConfig.getState(),b={questionId:L,surveyId:M,visitorId:f,responseGroupUid:D};let w=0;v.emit("recorded.task.permission.screen"),A("recorded.task.permission.screen"),v.emit("permission.status",{"permission.status.callback":(p,x,B,_)=>{const N=h[w],{type:H}=N,U=["screen"];if(ce(N)){const{permissionDescriptors:q}=N,Q=q==null?void 0:q.includes("microphone"),G=q==null?void 0:q.includes("camera");Q&&U.push("audio"),G&&U.push("video"),(p!=null&&p.active&&!G||p!=null&&p.active&&x)&&w++}Se(h[w])&&B&&(w++,v.emit("begin.recording",{"recording.media.types":U,"start.recording.callback":q=>$({mediaRecordingUids:q})})),$({currentPage:h[w],avStream:p,screenPermissionRequested:B,nextQuestion:I,type:H,passthroughData:b,recordingMediaTypes:U,captureStream:_})}});const l=h[w];return l.type==="av_permission"&&ye({currentPage:l,pages:h}),l}({questionId:r,surveyId:s,next:h=>{t(h,!0)},pages:o.pages,responseGroupUid:d,userId:u}));let g=c.headline,k=c.captionText;const C=Fe(y,c);return Se(c)&&m&&(g=c.permissionDeniedHeadline,k=c.permissionDeniedCaptionText),ce(c)&&C===Ve&&(g=c.permissionGrantedHeadline,k=c.permissionGrantedCaptionText),e.u("div",{className:e.cc(n,"ul-center-horizontally","fade-in-transition"),children:[e.u(E.Header,{isRequired:o==null?void 0:o.required,message:g,properties:{captionText:k}}),e.u(E.QuestionBodyWrapper,{children:e.u(kn,{properties:o})})]})},En=({className:n,next:o,properties:t,questionId:r,type:i})=>{const{visitorAttributes:s,isLongFormSurvey:d}=e.useConfig(y=>({visitorAttributes:y.visitorAttributes,isLongFormSurvey:W.isLongFormSurvey(y.studyType)})),u=(y,c=!1)=>{o({value:c?{skipped:!0}:void 0,questionId:r,type:i},!0)},a=E.getAttributedUrl(t&&t.buttonUrl,s),m=d&&t.promptActionType===E.PromptActionTypeEnum.NO_BUTTON;return e.u("div",{className:e.cc(n,"ul-card__text-url-prompt","fade-in-transition"),children:e.u(E.MobileEmbedView,{properties:t,children:!m&&e.u("div",{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:a,id:"ul-card-text__button",onClick:u,onKeyPress:y=>{y.key!=="Enter"&&y.key!==" "||o({value:void 0,questionId:r,type:i},!0)},rel:"noreferrer",role:a?"link":"button",tabIndex:0,target:"_blank",children:e.getButtonText(t)}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:y=>u(0,!0),children:e.getSkipButtonText(t)})]})})})},r)},jn=({className:n,questionId:o})=>{const{border:t,destroy:r,endCard:i,forceBrandedLogo:s}=e.useConfig(a=>({border:a.border,destroy:a.destroy,endCard:a.endCard,forceBrandedLogo:a.forceBrandedLogo}));e.p(()=>{setTimeout(()=>{r(W.APP_ID)},s?4e3:2e3)},[r,s]);const d=i&&i.subheader?e.u("p",{className:"ul-caption",children:i.subheader}):null,u=i&&i.headline?i.headline:"";return 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:t,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:t,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(E.Header,{message:u}),d]})})},o)},Tn=()=>e.u("div",{className:"thinking-dots-container",children:e.u("div",{className:"thinking-dot"})}),_n=({className:n})=>{const{uploadProgress:o}=e.useConfig(s=>({uploadProgress:s.uploadProgress}));let t,r;Object.values(o).filter(s=>s.isSubmitted).length>1?(t="Your responses are processing",r="Please keep this tab open until your responses are fully processed."):(t="Your response is processing",r="Please keep this tab open until your response is fully processed.");const i=Math.round(Math.min(99,...Object.values(o).filter(s=>s.isSubmitted).map(s=>s.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(E.Header,{message:`${t} (${i}% complete)`}),e.u("p",{className:"ul-caption",children:r})]})},Be=0,Pe=1,In=({className:n,next:o,properties:t,questionId:r,type:i})=>{const s=`ul-card-video__player_recorder-q${r}`,{apiURL:d,envId:u,handleUploadUpdate:a,headers:m,responseGroupUid:y,surveyId:c,viewDocument:g,visitorId:k}=e.useConfig(b=>({apiURL:b.apiURL,envId:b.envId,handleUploadUpdate:b.handleUploadUpdate,headers:b.headers,responseGroupUid:b.responseGroupUid,surveyId:b.surveyId,viewDocument:b.viewDocument,visitorId:b.userId})),[C,h]=e.h(!1),[f,D]=e.h(null),[M,L]=e.h(null),[I,$]=e.h(Be),A=(b,w)=>{b===P.UPLOAD_STARTED?(D(w[P.UPLOAD_ID]),L(w[P.MEDIA_RECORDING_UID]),h(!0)):b===P.DELETE?(D(null),L(null),h(!1)):b===P.UPLOAD_PROGRESS?isNaN(w[P.UPLOAD_PROGRESS_PCT])?a({mediaRecordingUid:w[P.MEDIA_RECORDING_UID],isComplete:!0}):a({mediaRecordingUid:w[P.MEDIA_RECORDING_UID],progressPct:w[P.UPLOAD_PROGRESS_PCT]}):b===P.UPLOAD_FINISHED&&a({mediaRecordingUid:w[P.MEDIA_RECORDING_UID],isComplete:!0})},v=b=>{b.preventDefault(),b.stopPropagation(),document.getElementById(s)&&(w=>{const l=w+_e;if(T.document.getElementById(l)&&T.videojs){try{if(!T.videojs(l).record().stream)return}catch{return}T.videojs(l).record().stop(),T.videojs(l).record().stopDevice()}})(s),f&&M?(a({mediaRecordingUid:M,isSubmitted:!0}),o({value:{mediaRecordingUid:M},questionId:r,type:i},!0)):o({value:null,questionId:r,type:i},!0)};return e.u("form",{className:e.cc(n,"ul-card--video","fade-in-transition"),id:"ul-video-interview-form",children:[e.u(E.QuestionBodyWrapper,{children:[e.u("div",{id:"ul-question-player-container",style:{display:I===Be?"":"none"},children:e.u(E.MobileEmbedView,{properties:t,children:e.u("button",{className:"ul-video-btn ul-record-response-btn",onClick:b=>{b.preventDefault(),b.stopPropagation(),document.getElementById(s)&&(w=>{const l=de(w+Me);l==null||l.pause()})(s),$(Pe)}})})}),e.u("div",{style:{display:I===Pe?"block":"none"},children:e.u("div",{id:"ul-recorder-player-container",ref:b=>{if(b&&b.children.length===0){const w=((l,p={},x="https://api.userleap.com",B,_,N,H=!1,U=document)=>{T.document=U;const q=l+_e,Q=Ae(q);return T.document.addEventListener("securitypolicyviolation",G=>{ne(new Error(`Voice & Video feature violates ${G.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",x,N,p.visitorId,p.envId)}),Ne(Le.concat(Ye),()=>{be(q,Q),T.document.getElementById(xe(q)).remove();try{Je(Q,q,p,x,B,_,N,H)}catch(G){return void ne(new Error(`Error when creating video recorder player object ${G}`),"recorderDeviceError",x,N,p.visitorId,p.envId)}}),Q})(s,{surveyId:c,responseGroupUid:y,questionId:r,visitorId:k,envId:u},d,A,void 0,{...m,"x-ul-video-recorder-origin":"sdk"},t.mediaType===P.MEDIA_TYPE_AUDIO,g);b.appendChild(w)}}})})]}),e.u(E.QuestionBodyFooterContainer,{children:[e.u(oe,{isDisabled:!!t.required&&!C,onClick:v,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:v,style:{...t.required?{display:"none"}:{},...C?{display:"none"}:{}},children:e.getSkipButtonText(t)})]})]})},We=n=>n.type==="thanks"||n.type==="uploading",Dn=({card:n,avatars:o,isThinking:t,isCurrentQuestion:r,currentQuestionBubbleRef:i})=>{const s=(d=>"properties"in d.props&&d.props.properties&&"questionHtml"in d.props.properties&&d.props.properties.questionHtml?{content:d.props.properties.questionHtml,isHtml:!0}:"message"in d.props?{content:d.props.message,isHtml:!1}:{content:"Question",isHtml:!1})(n);return e.u(ae,{avatars:o,isLeft:!0,message:{id:`question-${n.name}`,type:"question",content:s.content},ref:r?i:null,children:t?e.u(Tn,{}):e.u(e.g,{children:[s.isHtml?e.u(E.Html,{className:"chat-message-text",html:s.content}):e.u("div",{className:"chat-message-text",children:s.content}),n.type==="videovoice"&&e.u(tn,{properties:n.props,questionId:n.name,surveyVideoUrl:n.props.properties.videoUrl})]})})},Sn=({card:n,avatars:o})=>{const t=(r=>{if(!("properties"in r.props)||!r.props.properties||typeof r.props.properties!="object")return null;const i=r.props.properties,s=[{key:"captionHtml",isHtml:!0},{key:"captionText",isHtml:!1},{key:"richTextBody",isHtml:!0},{key:"body",isHtml:!1}];for(const{key:d,isHtml:u}of s){const a=i[d];if(typeof a!="string")continue;const m=a.trim();if(m){if(u&&!m.replaceAll(/<[^>]*>/g,"").trim())continue;return{content:m,isHtml:u}}}return null})(n);return t?e.u(ae,{avatars:o,hideAvatar:!0,isLeft:!0,message:{id:`caption-${n.name}`,type:"question",content:t.content},children:t.isHtml?e.u(E.Html,{className:"chat-message-text",html:t.content}):e.u("div",{className:"chat-message-text",children:t.content})}):null},Rn=({card:n,userResponse:o,avatars:t})=>{const r=((i,s)=>{if(i.type==="open"&&s&&typeof s=="object"&&"value"in s)return s.value})(n,o);return e.u("div",{className:"chat-bubble-container chat-right",children:[e.u("div",{className:"chat-bubble chat-bubble-right chat-bubble-text-only",children:e.u("div",{className:"chat-message-text",children:r||e.u("div",{className:"chat-message-no-response",children:"No response"})})}),e.u("img",{alt:"User Avatar",className:"chat-avatar chat-avatar-right",srcSet:`${t.respondentAvatar["1x"]} 1x, ${t.respondentAvatar["2x"]} 2x`})]})},Bn=({card:n,avatars:o,isCurrentQuestion:t,currentQuestionBubbleRef:r})=>{const{endCard:i}=e.useConfig(s=>({endCard:s.endCard}));return e.u(e.g,{children:[e.u(ae,{avatars:o,isLeft:!0,message:{id:`thanks-${n.name}`,type:"question",content:(i==null?void 0:i.headline)??"Great! Thank you for your participation."},ref:t?r:null}),(i==null?void 0:i.subheader)&&e.u(ae,{avatars:o,hideAvatar:!0,isLeft:!0,message:{id:`caption-${n.name}`,type:"question",content:i.subheader}}),e.u(on,{})]})},Pn=({card:n,cardIndex:o,index:t,avatars:r,cardResponses:i,questionThinkingStates:s,startingQuestionIdx:d,currentQuestionBubbleRef:u,handleCardResponse:a})=>{const m=o===t,y=o<t,c=We(n);if(c)return e.u(Bn,{avatars:r,card:n,currentQuestionBubbleRef:u,isCurrentQuestion:m});const g=`${n.name}`,k=i.get(g),C=n.type==="open",h=s.get(g),f=o>(d??0)&&n.type!=="thanks"&&n.type!=="uploading"&&(h===!0||h===void 0);return e.u(e.wn.Fragment,{children:[e.u(Dn,{avatars:r,card:n,currentQuestionBubbleRef:u,isCurrentQuestion:m,isThinking:f}),!f&&e.u(Sn,{avatars:r,card:n}),y&&C?e.u(Rn,{avatars:r,card:n,userResponse:k}):(!y||!C)&&!f&&e.u(ae,{avatars:r,isLeft:!1,message:{id:`card-${n.name}`,type:"card",content:""},children:e.u("div",{className:"chat-card-container",children:e.u(Mn,{card:n,className:c?"chat-thanks-card":"chat-card",isAnswered:y,next:m?a:()=>{}})})})]},`question-card-${n.name}`)},ae=e.wn.forwardRef(({message:n,isLeft:o=!1,children:t,avatars:r,hideAvatar:i=!1},s)=>{const d=o?"chat-bubble-left":"chat-bubble-right";return e.u("div",{className:`chat-bubble-container ${o?"chat-left":"chat-right"}${o&&i?" chat-no-avatar":""}`,ref:s,children:[o&&!i&&e.u("img",{alt:"AI Avatar",className:"chat-avatar chat-avatar-left",srcSet:`${r.agentAvatar["1x"]} 1x, ${r.agentAvatar["2x"]} 2x`}),e.u("div",{className:`chat-bubble ${d}`,children:t||e.u("div",{className:"chat-message-text",children:n.content})}),!o&&!i&&e.u("img",{alt:"User Avatar",className:"chat-avatar chat-avatar-right",srcSet:`${r.respondentAvatar["1x"]} 1x, ${r.respondentAvatar["2x"]} 2x`})]})});ae.displayName="ChatBubble";const Ln=()=>{const n=e.useConfig(t=>t.close),o=e.F(()=>()=>n(W.APP_ID),[n]);return e.u("div",{"aria-label":"Close button",className:"conversational-close-btn",onClick:o,onKeyPress:t=>{t.key==="Enter"&&o()},role:"button",tabIndex:0,children:e.u("svg",{fill:"none",height:"16px",viewBox:"0 0 13 13",width:"16px",xmlns:"http://www.w3.org/2000/svg",children:e.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"})})})},Mn=({card:n,next:o,className:t="",isAnswered:r=!1})=>{const i={className:r?`${t} answered-card`:t,next:r?()=>{}:o,questionId:n.name,type:n.type,isAnswered:r};switch(n.type){case"consentlegal":return e.u(rn,{...i,...n.props});case"likert":return e.u(an,{...i,...n.props});case"matrix":return e.u(dn,{...i,...n.props});case"multiplechoice":return e.u(cn,{...i,...n.props});case"multipleselect":return e.u(un,{...i,...n.props});case"nps":return e.u(pn,{...i,...n.props});case"aidynamicfollowup":case"open":return e.u(mn,{...i,type:n.type,...n.props});case"rankorder":return e.u(vn,{...i,...n.props});case"recordedtask":return e.u(wn,{...i,...n.props});case"texturlprompt":return e.u(En,{...i,...n.props});case"thanks":return e.u(jn,{...i,...n.props});case"uploading":return e.u(_n,{...i,...n.props});case"videovoice":return e.u(In,{...i,...n.props});default:return null}};exports.default=({cards:n,next:o,previousResponses:t})=>{const{cardResponses:r,setCardResponse:i}=(()=>{const[v,b]=e.h(new Map);return{cardResponses:v,setCardResponse:e.T((w,l)=>{b(p=>new Map(p).set(w,l))},[])}})(),{index:s,isLongFormSurvey:d,avatars:u,showSurveyBrand:a,forceBrandedLogo:m,marketingUrlLink:y,startingQuestionIdx:c,viewDocument:g,createDynamicQuestion:k,update:C}=e.useConfig(v=>({index:v.index,isLongFormSurvey:W.isLongFormSurvey(v.studyType),avatars:v.avatars,forceBrandedLogo:v.forceBrandedLogo,startingQuestionIdx:v.startingQuestionIdx,showSurveyBrand:v.showSurveyBrand,marketingUrlLink:e.buildMarketingUrl({marketingUrl:v.marketingUrl,slugName:v.slugName,surveyId:v.surveyId,forceBrandedLogo:v.forceBrandedLogo}),viewDocument:v.viewDocument,createDynamicQuestion:v.createDynamicQuestion,update:v.update})),{currentQuestionBubbleRef:h,scrollToCurrentQuestion:f}=(({viewDocument:v})=>{const b=e._(null),w=e.T(()=>{const l=v.querySelector(".ul-card-main-content");if(b.current&&l&&l instanceof HTMLElement){const p=b.current.offsetTop-l.offsetTop-16;l.scrollTo({top:Math.max(0,p),behavior:"smooth"})}},[]);return{currentQuestionBubbleRef:b,scrollToCurrentQuestion:w}})({viewDocument:g}),D=((v,b,w)=>{const[l,p]=e.h(new Map);return e.p(()=>{if(v.length>0&&b<v.length){const x=v[b],B=`${x.name}`;if(b<=(w??0)||We(x))return void p(H=>new Map(H).set(B,!1));const _=H=>H.type==="aidynamicfollowup";p(H=>{const U=!_(x)||!!x.props.loading;return new Map(H).set(B,U)});const N=setTimeout(()=>{p(H=>{const U=!!_(x)&&!!x.props.loading;return new Map(H).set(B,U)})},1e3);return()=>clearTimeout(N)}},[b,v,w]),l})(n,s,c),M=((v,b)=>{const[w,l]=e.h(()=>new Set([v]));return e.p(()=>{l(p=>new Set(p).add(v))},[v]),e.p(()=>{const p=b??0;p>0&&l(x=>{const B=new Set(x);for(let _=0;_<=p;_++)B.add(_);return B})},[b]),w})(s,c),L=e.F(()=>({...t,...e.buildReadableResponseMap(n.map((v,b)=>{var w,l;return{...v,value:b<s?((w=r.get(`${v.name}`))==null?void 0:w.value)??null:null,secondaryValue:b<s?((l=r.get(`${v.name}`))==null?void 0:l.secondaryValue)??null:null}}))}),[t,r,n,s]);e.useSetAllResponsesRaw(L);const I=e.pipeReadableResponsesIntoCards(n,L);e.p(()=>{requestAnimationFrame(()=>{f()}),C()},[s,f,D,C]);const $=e.T((v,b)=>{if(!b)return;const w=I[s];if(!w)return;const l=`${w.name}`;i(l,v);const p={...v,questionText:e.getProcessedQuestionText(w)};if(w.childId&&(p==null?void 0:p.value)!=null){const x=e.buildReadableResponseMap([w].map(B=>({...B,value:(p==null?void 0:p.value)??null,secondaryValue:(p==null?void 0:p.secondaryValue)??null})));k({parentQuestionId:w.name,parentResponseConfig:x})}o([p])},[I,s,o,i]),A=I.map((v,b)=>({card:v,cardIndex:b})).filter(({cardIndex:v})=>M.has(v));return e.u("div",{className:"conversational-ui ul-conversational-ui","data-testid":"ui-container",children:[!d&&e.u(Ln,{}),e.u("div",{className:"chat-container",children:e.u("div",{className:"chat-messages",children:A.map(({card:v,cardIndex:b})=>e.u(Pn,{avatars:u,card:v,cardIndex:b,cardResponses:r,currentQuestionBubbleRef:h,handleCardResponse:$,index:s,questionThinkingStates:D,startingQuestionIdx:c},`question-card-${v.name}`))})}),d&&e.u("div",{className:"long-form-question-footer-container-logo",children:a&&e.u(e.SprigBrandLogo,{forceBrandedLogo:m,marketingUrlLink:y})})]})};
@@ -0,0 +1,195 @@
1
+ import { a as r, c as y, u as C, F as W, h as U, p as O, _ as P, e as H, v as X, g as $, y as Z, x as Q } from "./view-BHOd3THT.js";
2
+ import { j as G, k as J, l as Y, m as ee, E as M } from "./index-YBebm7NT.js";
3
+ const te = (e) => r("button", { ...e, className: y("ul-card-text__button", e.className), id: "ul-card-text__button" }), oe = ({ html: e, ...t }) => {
4
+ const { enableCspTrustedTypes: s } = C((i) => ({ enableCspTrustedTypes: i.enableCspTrustedTypes })), o = W(() => G(e, s), [s, e]);
5
+ return r("div", { ...t, dangerouslySetInnerHTML: { __html: o } });
6
+ }, R = () => {
7
+ const { viewDocument: e } = C((o) => ({ viewDocument: o.viewDocument })), [t, s] = U(!1);
8
+ return O(() => {
9
+ const o = e.querySelector(".sprig-question-body"), i = new ResizeObserver(() => {
10
+ window.requestAnimationFrame(() => {
11
+ s(!!(o && J(o) && o.scrollHeight > o.offsetHeight));
12
+ });
13
+ });
14
+ return o && i.observe(o), () => {
15
+ o && i.disconnect();
16
+ };
17
+ }, [e]), t;
18
+ }, _ = ({ plainText: e, richText: t, id: s, className: o, isHeader: i, showAsterisk: l }) => t ? r(oe, { className: o, html: t, id: s }) : e ? i ? r("h1", { className: o, id: s, children: [e, l && "*"] }) : r("p", { className: o, id: s, children: e }) : null, me = ({ message: e, properties: t, isRequired: s }) => {
19
+ const o = P(null), i = t == null ? void 0 : t.captionText, l = R();
20
+ return r("div", { className: y("question-header-container", "sprig-header-container", l ? "sprig-border-bottom" : null), ref: o, children: [r("div", { className: "question-header-button-container", children: r(_, { className: "ul-question", id: "ul-question", isHeader: !0, plainText: e, richText: t == null ? void 0 : t.questionHtml, showAsterisk: s }) }), r(_, { className: "ul-caption", id: "ul-caption", plainText: i, richText: t == null ? void 0 : t.captionHtml })] });
21
+ }, ie = () => r("svg", { fill: "none", height: "10", viewBox: "0 0 13 10", width: "13", xmlns: "http://www.w3.org/2000/svg", children: r("path", { d: "M11.5 1.5L4.5 8.5L1 5", stroke: "#FFFFFF", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }) }), be = ({ isSubmitDisabled: e, handleSubmit: t }) => r("div", { className: "ul-card-longform__submit-button-container", children: r(te, { className: "ul-card-longform__submit-button", disabled: e, onClick: t, children: ["OK ", r(ie, {})] }) }), ne = (e, t) => {
22
+ const s = P(0);
23
+ return () => {
24
+ if (e.current) {
25
+ const o = e.current;
26
+ o.style.height = "1px";
27
+ const i = o.scrollHeight + (o.offsetHeight - o.clientHeight), l = parseInt(window.getComputedStyle(o).getPropertyValue("max-height")), a = i <= l ? i : l;
28
+ s.current !== a && requestAnimationFrame(() => {
29
+ t();
30
+ }), s.current = a, o.style.height = `${a}px`;
31
+ }
32
+ };
33
+ }, F = ({ buttonText: e = "View Prototype", handleClick: t }) => r("button", { className: "prototype-button", onClick: t, children: e }, "prototype-btn"), ve = ({ embeddedType: e = "prototype", properties: t, children: s }) => {
34
+ var T;
35
+ const { handleClickEmbedButton: o, hasViewedEmbed: i, headers: l, useDesktopPrototype: a } = C((d) => ({ handleClickEmbedButton: d.handleClickEmbedButton, hasViewedEmbed: d.hasViewedEmbed, headers: d.headers, useDesktopPrototype: d.useDesktopPrototype })), n = (t == null ? void 0 : t.conceptUrl) || ((T = t == null ? void 0 : t.consentDocument) == null ? void 0 : T.url), h = window.innerWidth < ee, p = l["userleap-platform"], u = (d, f) => {
36
+ d.preventDefault(), o(f);
37
+ };
38
+ if ((() => {
39
+ const { update: d, index: f, isConversationalUI: v, viewDocument: c } = C(({ update: b, index: m, isConversationalUI: x, viewDocument: k }) => ({ update: b, index: m, isConversationalUI: x, viewDocument: k })), g = Y(d, 100);
40
+ O(() => {
41
+ if (v) return;
42
+ const b = new ResizeObserver(g), m = c.querySelector(".ul-card__container");
43
+ return m && b.observe(m, { box: "border-box" }), () => {
44
+ b.disconnect();
45
+ };
46
+ }, [g, d, f, v, c]);
47
+ })(), !a && h && !i && n && ["email", "link"].includes(p)) {
48
+ if (e === "prototype") return r(F, { handleClick: (d) => {
49
+ u(d, "question.prototype.click");
50
+ } });
51
+ if (e === "pdf") return r(F, { buttonText: (t == null ? void 0 : t.viewDocumentText) || "View Document", handleClick: (d) => {
52
+ u(d, "question.agreement.click");
53
+ } });
54
+ }
55
+ return r(H, { children: s });
56
+ }, B = ({ isSelected: e, id: t, divId: s, themeColor: o, disabled: i = !1 }) => r("div", { "aria-checked": e, "aria-disabled": i, "aria-labelledby": `label-${t}`, className: "select-checkbox", id: s, role: "checkbox", style: { ...e ? { backgroundColor: o, borderColor: o, boxShadow: "none" } : {}, ...i ? { opacity: 0.5 } : {} }, tabIndex: i ? -1 : 0, children: e && r(X, {}) }), xe = ({ ariaLabel: e, border: t, choiceStyle: s = {}, label: o, isSelected: i, value: l, text: a, id: n, isRadio: h, useMobileStyling: p, error: u, allowTextEntry: T, noneOfTheAbove: d, promptText: f, disabled: v = !1, onUserInputChanged: c }) => {
57
+ const { styleNonce: g, viewDocument: b } = C((w) => ({ styleNonce: w.styleNonce, viewDocument: w.viewDocument })), [m, x] = U(!1);
58
+ re(b, t, g);
59
+ const k = ({ isSelected: w, userText: E }) => {
60
+ c && c({ id: n, selected: w, value: l, userText: E, noneOfTheAbove: d });
61
+ }, q = (w) => {
62
+ v || (w.stopPropagation(), k({ isSelected: h || !i, userText: a }), x(!1));
63
+ }, V = () => {
64
+ m || x(!0);
65
+ }, D = () => {
66
+ m && x(!1);
67
+ }, N = { onClick: (w) => q(w), onKeyPress: (w) => ((E) => {
68
+ v || E.key !== "Enter" && E.key !== " " || q(E);
69
+ })(w) };
70
+ "ontouchstart" in b.documentElement ? (N.onTouchStart = D, N.onTouchCancel = D, N.onTouchEnd = D) : (N.onMouseDown = V, N.onMouseLeave = D);
71
+ const S = h ? `radio-${n}` : `checkbox-${n}`, L = i || m ? [I] : [], z = [...u ? [j] : [], ...L, ...v ? ["ul-choice-disabled"] : []], K = o ? { "aria-labelledby": `label-${n}` } : { "aria-label": e };
72
+ return r("div", { className: y($("choice", p), ...z), id: `choice-div-${n}`, style: { ...s, ...u ? { borderColor: M } : {}, ...v ? { opacity: 0.5, cursor: "not-allowed" } : {} }, ...v ? {} : N, "aria-disabled": v, children: [r("div", { className: y("choice-label-container"), children: [h ? r("div", { ...K, className: y("select-radio", ...L), id: S, role: "radio", tabIndex: 0 }) : r(B, { disabled: v, divId: S, id: n, isSelected: i, themeColor: t }), o && r("label", { className: y($("select-label", p)), htmlFor: S, id: `label-${n}`, children: o })] }), T && i && r("div", { className: y("choice-text-entry-container", ...L), children: r(se, { onTextChange: (w) => k({ isSelected: i, userText: w }), promptText: f || "Please specify", textValue: a, useMobileStyling: p }) })] });
73
+ }, se = ({ promptText: e, textValue: t, onTextChange: s, useMobileStyling: o }) => {
74
+ const i = P(null), { update: l } = C((n) => ({ update: n.update })), a = ne(i, () => l());
75
+ return O(() => (a(), i.current && i.current.focus(), () => {
76
+ l();
77
+ }), []), r("textarea", { "aria-label": e, "aria-multiline": "true", "aria-placeholder": e, className: y($("choice-text-input", o)), "data-gramm": "false", maxLength: 5e3, name: "text", onChange: (n) => {
78
+ a(), n.stopPropagation(), s(n.currentTarget.value);
79
+ }, onClick: (n) => {
80
+ n.stopPropagation();
81
+ }, onKeyPress: (n) => {
82
+ n.stopPropagation();
83
+ }, placeholder: e, ref: i, role: "textbox", rows: 1, value: t });
84
+ }, A = "ul-select-style-element", I = "ul-select-active-dynamic-style", j = "ul-select-error-dynamic-style", re = (e, t, s) => {
85
+ let o = e.getElementById(A), i = !1;
86
+ o || (o = e.createElement("style"), i = !0), o.tagName.toLowerCase() === "style" && (o.id = A, s && (o.nonce = s), o.textContent = ae(t), i && e.head.appendChild(o));
87
+ }, ae = (e) => `
88
+ .${I} {
89
+ border-color: ${e};
90
+ }
91
+ .${I} .select-radio, .${I}.select-radio {
92
+ border: 6px solid ${e};
93
+ box-shadow: none;
94
+ }
95
+ .${j} {
96
+ border-color: ${M};
97
+ }
98
+ `, we = ({ children: e }) => r("div", { className: "sprig-question-body", children: e }), ge = ({ children: e }) => {
99
+ const t = R(), { isConversationalUI: s } = C((o) => ({ isConversationalUI: o.isConversationalUI }));
100
+ return r("div", { className: y("sprig-question-footer-container", t && !s ? "sprig-border-top" : null), children: e });
101
+ };
102
+ var le = ((e) => (e.CONTINUE = "CONTINUE", e.EXTERNAL = "EXTERNAL", e.NO_BUTTON = "NO_BUTTON", e))(le || {}), ce = ((e) => (e.Unlimited = "Unlimited", e.Maximum = "Maximum", e.Range = "Range", e))(ce || {});
103
+ function ye(e) {
104
+ const t = e.props;
105
+ if (t === null || typeof t != "object") return !1;
106
+ const s = Reflect.get(t, "properties");
107
+ return typeof s == "object" && s !== null && "required" in s;
108
+ }
109
+ const de = ({ options: e, selectItem: t, selectedOptions: s, showCheckbox: o, disabledOptions: i, dropdownFooter: l }) => {
110
+ const { themeColor: a } = C((n) => ({ doc: n.viewDocument, themeColor: n.border }));
111
+ return r("div", { className: "select-list", children: [e.map((n) => {
112
+ return r("div", { "aria-disabled": i == null ? void 0 : i.includes(n), className: y("select-option", i != null && i.includes(n) ? "ul-choice-disabled" : ""), onClick: (p) => {
113
+ i != null && i.includes(n) || (t(n), p.stopPropagation());
114
+ }, role: "option", style: { ...i != null && i.includes(n) ? { opacity: 0.5, cursor: "not-allowed" } : {} }, children: [o && r(B, { divId: (h = n.id, `checkbox-div-${h}`), id: n.id, isSelected: s.includes(n), themeColor: a }), n.label] }, n.id);
115
+ var h;
116
+ }), l] });
117
+ }, Te = ({ isMultiSelect: e = !1, multiselectText: t = "choices selected", onChange: s, options: o, placeholderText: i, value: l, disabledOptions: a = [], dropdownFooter: n }) => {
118
+ const [h, p] = U(!1), { viewDocument: u, update: T, isConversationalUI: d } = C((c) => ({ viewDocument: c.viewDocument, update: c.update, isConversationalUI: c.isConversationalUI })), f = () => {
119
+ p(!h);
120
+ };
121
+ Z(() => {
122
+ d || T();
123
+ }, [h, d, T]), O(() => {
124
+ var g;
125
+ const c = (b) => {
126
+ const m = b.target;
127
+ (m == null ? void 0 : m.closest(".select-option.ul-choice-disabled")) || p(!1);
128
+ };
129
+ u.addEventListener("click", c);
130
+ try {
131
+ (g = window.parent) == null || g.addEventListener("click", c);
132
+ } catch {
133
+ window.addEventListener("click", c);
134
+ }
135
+ return () => {
136
+ var b;
137
+ u.removeEventListener("click", c);
138
+ try {
139
+ (b = window.parent) == null || b.removeEventListener("click", c);
140
+ } catch {
141
+ window.removeEventListener("click", c);
142
+ }
143
+ };
144
+ }, [u]);
145
+ const v = l.length === 0 ? ["select-button-placeholder"] : [];
146
+ return r(H, { children: [r("button", { "aria-label": "choice dropdown button", className: y("select-button", ...v), onClick: (c) => {
147
+ c.stopPropagation(), f();
148
+ }, type: "button", children: [r("span", { children: l.length === 0 ? i : l.length === 1 ? l[0].label : `${l.length} ${t}` }), r(Q, {})] }), h && r(de, { disabledOptions: a, dropdownFooter: n, options: o, selectedOptions: l, selectItem: (c) => {
149
+ var m;
150
+ const g = l.some((x) => x.id === c.id), b = l.some((x) => {
151
+ var k;
152
+ return (k = x.optionProperties) == null ? void 0 : k.noneOfTheAbove;
153
+ });
154
+ (m = c.optionProperties) != null && m.noneOfTheAbove && !g ? s([c]) : e ? s(g ? l.filter((x) => x.id !== c.id) : b ? [c] : [...l, c]) : g || s([c]), e || f();
155
+ }, showCheckbox: e })] });
156
+ }, ue = { "{{user_id}}": "externalUserId", "{{email}}": "email" }, Ce = (e = void 0, t = {}) => {
157
+ if (!e) return e;
158
+ const s = ["http:", "https:", "itms-apps:", "market:"], o = ((a) => /^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(a) ? a : `http://${a}`)(e);
159
+ if (!o) return;
160
+ try {
161
+ const a = new URL(o);
162
+ if (!a.protocol || !s.includes(a.protocol)) return;
163
+ } catch {
164
+ return;
165
+ }
166
+ const i = [], l = ((a, n, h) => {
167
+ let p = a;
168
+ for (const [u, T] of Object.entries(ue)) if (p.toLowerCase().includes(u)) if (n[T]) {
169
+ const d = new RegExp(u, "gi");
170
+ p = p.replace(d, n[T]);
171
+ } else h.push(u);
172
+ return p;
173
+ })(o, t, i);
174
+ return i.length === 0 ? l : ((a, n) => {
175
+ if (!a.includes("?")) return a;
176
+ const h = a.slice(0, a.indexOf("?")), p = a.slice(a.indexOf("?") + 1).split("&").map((u) => u.split("=")).filter((u) => !n.includes(u[1]));
177
+ return p.length === 0 ? h : `${h}?${p.map((u) => u.join("=")).join("&")}`;
178
+ })(l, i);
179
+ };
180
+ export {
181
+ te as B,
182
+ oe as H,
183
+ be as L,
184
+ ve as M,
185
+ xe as O,
186
+ le as P,
187
+ ge as Q,
188
+ Te as S,
189
+ we as a,
190
+ ce as b,
191
+ me as c,
192
+ ye as d,
193
+ Ce as g,
194
+ ne as u
195
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";const e=require("./view-Btk1gSAI.cjs"),k=require("./index-DZZhe9UA.cjs"),_=t=>e.u("button",{...t,className:e.cc("ul-card-text__button",t.className),id:"ul-card-text__button"}),q=({html:t,...o})=>{const{enableCspTrustedTypes:s}=e.useConfig(i=>({enableCspTrustedTypes:i.enableCspTrustedTypes})),n=e.F(()=>k.getHtml(t,s),[s,t]);return e.u("div",{...o,dangerouslySetInnerHTML:{__html:n}})},L=()=>{const{viewDocument:t}=e.useConfig(n=>({viewDocument:n.viewDocument})),[o,s]=e.h(!1);return e.p(()=>{const n=t.querySelector(".sprig-question-body"),i=new ResizeObserver(()=>{window.requestAnimationFrame(()=>{s(!!(n&&k.isHTMLElement(n)&&n.scrollHeight>n.offsetHeight))})});return n&&i.observe(n),()=>{n&&i.disconnect()}},[t]),o},R=({plainText:t,richText:o,id:s,className:n,isHeader:i,showAsterisk:c})=>o?e.u(q,{className:n,html:o,id:s}):t?i?e.u("h1",{className:n,id:s,children:[t,c&&"*"]}):e.u("p",{className:n,id:s,children:t}):null,z=()=>e.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),P=(t,o)=>{const s=e._(0);return()=>{if(t.current){const n=t.current;n.style.height="1px";const i=n.scrollHeight+(n.offsetHeight-n.clientHeight),c=parseInt(window.getComputedStyle(n).getPropertyValue("max-height")),r=i<=c?i:c;s.current!==r&&requestAnimationFrame(()=>{o()}),s.current=r,n.style.height=`${r}px`}}},U=({buttonText:t="View Prototype",handleClick:o})=>e.u("button",{className:"prototype-button",onClick:o,children:t},"prototype-btn"),M=({isSelected:t,id:o,divId:s,themeColor:n,disabled:i=!1})=>e.u("div",{"aria-checked":t,"aria-disabled":i,"aria-labelledby":`label-${o}`,className:"select-checkbox",id:s,role:"checkbox",style:{...t?{backgroundColor:n,borderColor:n,boxShadow:"none"}:{},...i?{opacity:.5}:{}},tabIndex:i?-1:0,children:t&&e.u(e.SvgCheckmark,{})}),W=({promptText:t,textValue:o,onTextChange:s,useMobileStyling:n})=>{const i=e._(null),{update:c}=e.useConfig(l=>({update:l.update})),r=P(i,()=>c());return e.p(()=>(r(),i.current&&i.current.focus(),()=>{c()}),[]),e.u("textarea",{"aria-label":t,"aria-multiline":"true","aria-placeholder":t,className:e.cc(e.getClasses("choice-text-input",n)),"data-gramm":"false",maxLength:5e3,name:"text",onChange:l=>{r(),l.stopPropagation(),s(l.currentTarget.value)},onClick:l=>{l.stopPropagation()},onKeyPress:l=>{l.stopPropagation()},placeholder:t,ref:i,role:"textbox",rows:1,value:o})},$="ul-select-style-element",O="ul-select-active-dynamic-style",A="ul-select-error-dynamic-style",K=(t,o,s)=>{let n=t.getElementById($),i=!1;n||(n=t.createElement("style"),i=!0),n.tagName.toLowerCase()==="style"&&(n.id=$,s&&(n.nonce=s),n.textContent=X(o),i&&t.head.appendChild(n))},X=t=>`
2
+ .${O} {
3
+ border-color: ${t};
4
+ }
5
+ .${O} .select-radio, .${O}.select-radio {
6
+ border: 6px solid ${t};
7
+ box-shadow: none;
8
+ }
9
+ .${A} {
10
+ border-color: ${k.ERROR_BORDER_COLOR};
11
+ }
12
+ `;var H=(t=>(t.CONTINUE="CONTINUE",t.EXTERNAL="EXTERNAL",t.NO_BUTTON="NO_BUTTON",t))(H||{}),B=(t=>(t.Unlimited="Unlimited",t.Maximum="Maximum",t.Range="Range",t))(B||{});const Q=({options:t,selectItem:o,selectedOptions:s,showCheckbox:n,disabledOptions:i,dropdownFooter:c})=>{const{themeColor:r}=e.useConfig(l=>({doc:l.viewDocument,themeColor:l.border}));return e.u("div",{className:"select-list",children:[t.map(l=>{return e.u("div",{"aria-disabled":i==null?void 0:i.includes(l),className:e.cc("select-option",i!=null&&i.includes(l)?"ul-choice-disabled":""),onClick:p=>{i!=null&&i.includes(l)||(o(l),p.stopPropagation())},role:"option",style:{...i!=null&&i.includes(l)?{opacity:.5,cursor:"not-allowed"}:{}},children:[n&&e.u(M,{divId:(h=l.id,`checkbox-div-${h}`),id:l.id,isSelected:s.includes(l),themeColor:r}),l.label]},l.id);var h}),c]})},Z={"{{user_id}}":"externalUserId","{{email}}":"email"};exports.Button=_,exports.Header=({message:t,properties:o,isRequired:s})=>{const n=e._(null),i=o==null?void 0:o.captionText,c=L();return e.u("div",{className:e.cc("question-header-container","sprig-header-container",c?"sprig-border-bottom":null),ref:n,children:[e.u("div",{className:"question-header-button-container",children:e.u(R,{className:"ul-question",id:"ul-question",isHeader:!0,plainText:t,richText:o==null?void 0:o.questionHtml,showAsterisk:s})}),e.u(R,{className:"ul-caption",id:"ul-caption",plainText:i,richText:o==null?void 0:o.captionHtml})]})},exports.Html=q,exports.LongformSubmitButton=({isSubmitDisabled:t,handleSubmit:o})=>e.u("div",{className:"ul-card-longform__submit-button-container",children:e.u(_,{className:"ul-card-longform__submit-button",disabled:t,onClick:o,children:["OK ",e.u(z,{})]})}),exports.MaxSelectModes=B,exports.MobileEmbedView=({embeddedType:t="prototype",properties:o,children:s})=>{var w;const{handleClickEmbedButton:n,hasViewedEmbed:i,headers:c,useDesktopPrototype:r}=e.useConfig(d=>({handleClickEmbedButton:d.handleClickEmbedButton,hasViewedEmbed:d.hasViewedEmbed,headers:d.headers,useDesktopPrototype:d.useDesktopPrototype})),l=(o==null?void 0:o.conceptUrl)||((w=o==null?void 0:o.consentDocument)==null?void 0:w.url),h=window.innerWidth<k.EMBED_MOBILE_MAX_WIDTH,p=c["userleap-platform"],u=(d,y)=>{d.preventDefault(),n(y)};if((()=>{const{update:d,index:y,isConversationalUI:g,viewDocument:a}=e.useConfig(({update:b,index:m,isConversationalUI:v,viewDocument:f})=>({update:b,index:m,isConversationalUI:v,viewDocument:f})),x=k.debounce(d,100);e.p(()=>{if(g)return;const b=new ResizeObserver(x),m=a.querySelector(".ul-card__container");return m&&b.observe(m,{box:"border-box"}),()=>{b.disconnect()}},[x,d,y,g,a])})(),!r&&h&&!i&&l&&["email","link"].includes(p)){if(t==="prototype")return e.u(U,{handleClick:d=>{u(d,"question.prototype.click")}});if(t==="pdf")return e.u(U,{buttonText:(o==null?void 0:o.viewDocumentText)||"View Document",handleClick:d=>{u(d,"question.agreement.click")}})}return e.u(e.g,{children:s})},exports.Option=({ariaLabel:t,border:o,choiceStyle:s={},label:n,isSelected:i,value:c,text:r,id:l,isRadio:h,useMobileStyling:p,error:u,allowTextEntry:w,noneOfTheAbove:d,promptText:y,disabled:g=!1,onUserInputChanged:a})=>{const{styleNonce:x,viewDocument:b}=e.useConfig(C=>({styleNonce:C.styleNonce,viewDocument:C.viewDocument})),[m,v]=e.h(!1);K(b,o,x);const f=({isSelected:C,userText:N})=>{a&&a({id:l,selected:C,value:c,userText:N,noneOfTheAbove:d})},I=C=>{g||(C.stopPropagation(),f({isSelected:h||!i,userText:r}),v(!1))},F=()=>{m||v(!0)},E=()=>{m&&v(!1)},T={onClick:C=>I(C),onKeyPress:C=>(N=>{g||N.key!=="Enter"&&N.key!==" "||I(N)})(C)};"ontouchstart"in b.documentElement?(T.onTouchStart=E,T.onTouchCancel=E,T.onTouchEnd=E):(T.onMouseDown=F,T.onMouseLeave=E);const D=h?`radio-${l}`:`checkbox-${l}`,S=i||m?[O]:[],V=[...u?[A]:[],...S,...g?["ul-choice-disabled"]:[]],j=n?{"aria-labelledby":`label-${l}`}:{"aria-label":t};return e.u("div",{className:e.cc(e.getClasses("choice",p),...V),id:`choice-div-${l}`,style:{...s,...u?{borderColor:k.ERROR_BORDER_COLOR}:{},...g?{opacity:.5,cursor:"not-allowed"}:{}},...g?{}:T,"aria-disabled":g,children:[e.u("div",{className:e.cc("choice-label-container"),children:[h?e.u("div",{...j,className:e.cc("select-radio",...S),id:D,role:"radio",tabIndex:0}):e.u(M,{disabled:g,divId:D,id:l,isSelected:i,themeColor:o}),n&&e.u("label",{className:e.cc(e.getClasses("select-label",p)),htmlFor:D,id:`label-${l}`,children:n})]}),w&&i&&e.u("div",{className:e.cc("choice-text-entry-container",...S),children:e.u(W,{onTextChange:C=>f({isSelected:i,userText:C}),promptText:y||"Please specify",textValue:r,useMobileStyling:p})})]})},exports.PromptActionTypeEnum=H,exports.QuestionBodyFooterContainer=({children:t})=>{const o=L(),{isConversationalUI:s}=e.useConfig(n=>({isConversationalUI:n.isConversationalUI}));return e.u("div",{className:e.cc("sprig-question-footer-container",o&&!s?"sprig-border-top":null),children:t})},exports.QuestionBodyWrapper=({children:t})=>e.u("div",{className:"sprig-question-body",children:t}),exports.Select=({isMultiSelect:t=!1,multiselectText:o="choices selected",onChange:s,options:n,placeholderText:i,value:c,disabledOptions:r=[],dropdownFooter:l})=>{const[h,p]=e.h(!1),{viewDocument:u,update:w,isConversationalUI:d}=e.useConfig(a=>({viewDocument:a.viewDocument,update:a.update,isConversationalUI:a.isConversationalUI})),y=()=>{p(!h)};e.y(()=>{d||w()},[h,d,w]),e.p(()=>{var x;const a=b=>{const m=b.target;(m==null?void 0:m.closest(".select-option.ul-choice-disabled"))||p(!1)};u.addEventListener("click",a);try{(x=window.parent)==null||x.addEventListener("click",a)}catch{window.addEventListener("click",a)}return()=>{var b;u.removeEventListener("click",a);try{(b=window.parent)==null||b.removeEventListener("click",a)}catch{window.removeEventListener("click",a)}}},[u]);const g=c.length===0?["select-button-placeholder"]:[];return e.u(e.g,{children:[e.u("button",{"aria-label":"choice dropdown button",className:e.cc("select-button",...g),onClick:a=>{a.stopPropagation(),y()},type:"button",children:[e.u("span",{children:c.length===0?i:c.length===1?c[0].label:`${c.length} ${o}`}),e.u(e.SvgCaret,{})]}),h&&e.u(Q,{disabledOptions:r,dropdownFooter:l,options:n,selectedOptions:c,selectItem:a=>{var m;const x=c.some(v=>v.id===a.id),b=c.some(v=>{var f;return(f=v.optionProperties)==null?void 0:f.noneOfTheAbove});(m=a.optionProperties)!=null&&m.noneOfTheAbove&&!x?s([a]):t?s(x?c.filter(v=>v.id!==a.id):b?[a]:[...c,a]):x||s([a]),t||y()},showCheckbox:t})]})},exports.appCardHasPropertiesWithRequired=function(t){const o=t.props;if(o===null||typeof o!="object")return!1;const s=Reflect.get(o,"properties");return typeof s=="object"&&s!==null&&"required"in s},exports.getAttributedUrl=(t=void 0,o={})=>{if(!t)return t;const s=["http:","https:","itms-apps:","market:"],n=(r=>/^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(r)?r:`http://${r}`)(t);if(!n)return;try{const r=new URL(n);if(!r.protocol||!s.includes(r.protocol))return}catch{return}const i=[],c=((r,l,h)=>{let p=r;for(const[u,w]of Object.entries(Z))if(p.toLowerCase().includes(u))if(l[w]){const d=new RegExp(u,"gi");p=p.replace(d,l[w])}else h.push(u);return p})(n,o,i);return i.length===0?c:((r,l)=>{if(!r.includes("?"))return r;const h=r.slice(0,r.indexOf("?")),p=r.slice(r.indexOf("?")+1).split("&").map(u=>u.split("=")).filter(u=>!l.includes(u[1]));return p.length===0?h:`${h}?${p.map(u=>u.join("=")).join("&")}`})(c,i)},exports.useAutoSize=P;