@sprig-technologies/sprig-browser 2.40.3 → 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.
- package/dist/conversational-ui-BhbQgh6X.cjs +1 -0
- package/dist/conversational-ui-DlnwFL72.js +593 -0
- package/dist/{core-Bu7SvToK.js → core-CRJIQvxS.js} +3 -3
- package/dist/{core-C6T-kQJo.cjs → core-DY4ohxcP.cjs} +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +64 -5
- package/dist/core.js +2 -2
- package/dist/{getAttributedUrl-Czw_vkQN.js → getAttributedUrl-CVKJ3sRY.js} +14 -7
- package/dist/{getAttributedUrl-HU3np_BZ.cjs → getAttributedUrl-DxxH9aNE.cjs} +2 -2
- package/dist/index-CA0jioLg.cjs +1 -0
- package/dist/index-Dj3ZmhVC.js +749 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +64 -5
- package/dist/index.js +2 -2
- package/dist/{metricsReporter-0SKeVvnG.cjs → metricsReporter-Dq2lxT-9.cjs} +1 -1
- package/dist/{metricsReporter-MLC5Ejl7.js → metricsReporter-uLWRAnwI.js} +1 -1
- package/dist/replay.cjs +1 -1
- package/dist/replay.js +1 -1
- package/dist/view-Bt__MdRk.js +1722 -0
- package/dist/view-KypSYKm-.cjs +1 -0
- package/package.json +1 -1
- package/dist/conversational-ui-Cm0ADZ91.js +0 -579
- package/dist/conversational-ui-DWIDxaCY.cjs +0 -1
- package/dist/index-DKYCbzko.cjs +0 -1
- package/dist/index-H_s2z0Uz.js +0 -695
- package/dist/view-BkptC8BC.js +0 -1503
- package/dist/view-DSm0GsZ1.cjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const i=require("./view-
|
|
1
|
+
"use strict";const i=require("./view-KypSYKm-.cjs"),W=require("./core-DY4ohxcP.cjs"),Le=require("./debounce-DsC7462b.cjs"),_e=require("./metricsReporter-Dq2lxT-9.cjs"),le=e=>i.u("button",{...e,className:i.cc("ul-card-text__button",e.className),id:"ul-card-text__button"}),ye=({html:e,...n})=>{const{enableCspTrustedTypes:o}=i.useConfig(r=>({enableCspTrustedTypes:r.enableCspTrustedTypes})),t=i.F(()=>W.getHtml(e,o),[o,e]);return i.u("div",{...n,dangerouslySetInnerHTML:{__html:t}})},ae=()=>{const{viewDocument:e}=i.useConfig(t=>({viewDocument:t.viewDocument})),[n,o]=i.h(!1);return i.p(()=>{const t=e.querySelector(".sprig-question-body"),r=new ResizeObserver(()=>{window.requestAnimationFrame(()=>{o(!!(t&&W.isHTMLElement(t)&&t.scrollHeight>t.offsetHeight))})});return t&&r.observe(t),()=>{t&&r.disconnect()}},[e]),n},de=({plainText:e,richText:n,id:o,className:t,isHeader:r,showAsterisk:l})=>n?i.u(ye,{className:t,html:n,id:o}):e?r?i.u("h1",{className:t,id:o,children:[e,l&&"*"]}):i.u("p",{className:t,id:o,children:e}):null,Pe=()=>i.u("svg",{fill:"none",height:"10",viewBox:"0 0 13 10",width:"13",xmlns:"http://www.w3.org/2000/svg",children:i.u("path",{d:"M11.5 1.5L4.5 8.5L1 5",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})}),Ee=(e,n)=>{const o=i._(0);return()=>{if(e.current){const t=e.current;t.style.height="1px";const r=t.scrollHeight+(t.offsetHeight-t.clientHeight),l=parseInt(window.getComputedStyle(t).getPropertyValue("max-height")),a=r<=l?r:l;o.current!==a&&requestAnimationFrame(()=>{n()}),o.current=a,t.style.height=`${a}px`}}},ce=({buttonText:e="View Prototype",handleClick:n})=>i.u("button",{className:"prototype-button",onClick:n,children:e},"prototype-btn"),xe=({isSelected:e,id:n,divId:o,themeColor:t,disabled:r=!1})=>i.u("div",{"aria-checked":e,"aria-disabled":r,"aria-labelledby":`label-${n}`,className:"select-checkbox",id:o,role:"checkbox",style:{...e?{backgroundColor:t,borderColor:t,boxShadow:"none"}:{},...r?{opacity:.5}:{}},tabIndex:r?-1:0,children:e&&i.u(i.SvgCheckmark,{})}),Oe=({promptText:e,textValue:n,onTextChange:o,useMobileStyling:t})=>{const r=i._(null),{update:l}=i.useConfig(d=>({update:d.update})),a=Ee(r,()=>l());return i.p(()=>(a(),r.current&&r.current.focus(),()=>{l()}),[]),i.u("textarea",{"aria-label":e,"aria-multiline":"true","aria-placeholder":e,className:i.cc(i.getClasses("choice-text-input",t)),"data-gramm":"false",maxLength:5e3,name:"text",onChange:d=>{a(),d.stopPropagation(),o(d.currentTarget.value)},onClick:d=>{d.stopPropagation()},onKeyPress:d=>{d.stopPropagation()},placeholder:e,ref:r,role:"textbox",rows:1,value:n})},ue="ul-select-style-element",K="ul-select-active-dynamic-style",je="ul-select-error-dynamic-style",Me=(e,n,o)=>{let t=e.getElementById(ue),r=!1;t||(t=e.createElement("style"),r=!0),t.tagName.toLowerCase()==="style"&&(t.id=ue,o&&(t.nonce=o),t.textContent=Be(n),r&&e.head.appendChild(t))},Be=e=>`
|
|
2
2
|
.${K} {
|
|
3
3
|
border-color: ${e};
|
|
4
4
|
}
|
|
@@ -666,4 +666,4 @@ span.ul-button-text {
|
|
|
666
666
|
.vjs-poster {
|
|
667
667
|
background-size: cover;
|
|
668
668
|
}
|
|
669
|
-
`}],he="-video-player",me="-secondary-video-player",ge="-video-recorder";let H,be;const F=async({event:e,apiBase:n,headers:o,visitorId:t,envId:r,metadata:l})=>{const a=c.document.documentElement;if(!t||!r)return;const d={event:`SDK - ${e}`,visitorId:t,environmentId:r,metadata:{...l||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${n}/sdk/1/visitors/${t}/analytics`,{method:"POST",cache:"no-cache",headers:o,body:JSON.stringify(d)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},N=async(e,n,o,t,r,l)=>{F({event:`Video Error ${n}`,apiBase:o,headers:t,visitorId:r,envId:l,metadata:{errorMessage:e.message}});const a=c.document.documentElement,d={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language},s={action:n,err:{message:e.message,stack:e.stack},meta:d,vid:r,envId:l};(await fetch(`${o}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...t,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(s)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fe=(e,n)=>{if(e.length===0)return n&&n();Promise.all(e.reduce((o,t)=>(o.push(((r,{type:l,content:a})=>new Promise(function(d,s){let u;l==="script"?(u=c.document.createElement("script"),u.src=a):l==="link"?(u=c.document.createElement("link"),u.rel="stylesheet",u.href=a,u.type="text/css"):(u=c.document.createElement("style"),u.innerHTML=a),u.onload=function(){d(a)},u.onerror=function(){s(a)},u.async=!1,u.id=btoa(a),r.appendChild(u)}))(c.document.head,t)),o),[])).then(()=>{c.videojs=c.document.defaultView.videojs,n&&n()}).catch(function(o){console.log(o+" failed to load")})},Ce=(e,n,o)=>{if(n==="start"&&(e.style.visibility="visible"),n==="none")e.style.visibility=T;else if(n==="success")e.style.visibility=T,e.innerHTML="Upload succeeded!";else{const t=Math.round(parseFloat(o));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${t}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${t}%, #FCFCFD ${t}%, #FCFCFD 100%)`}},te=(e,n)=>{const o=c.videojs(e.id());return o==null?void 0:o.payload[n]},ke=(e,n)=>{const o=new(c.videojs.getComponent("Component"))(e);return o.addClass("ul-buttons-panel"),n.map(t=>{o.addChild(t)}),Se(o),o},Se=e=>{e.children().forEach(n=>{if(_[n.name_]){const o=Q(_[n.name_],`ul-${_[n.name_]}`);n.el_.appendChild(o)}})},Q=(e,n="")=>{const o=c.document.createElement("span");return o.className="ul-button-text",o.innerHTML=e,o.id=n,o},Ie=(e,n,o,t,r=!1,l)=>{e.addClass("ul-video-player");const a=new(c.videojs.getComponent("Component"))(e);a.addClass("ul-control-panel"),e.progressBar=a.addChild("ProgressControl"),o&&e.src(o),e.audioPlayerPlaceholder=new(c.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const d=o&&o.src?Ve(o.src):null;!o||!r&&d?(e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%",d&&e.poster(d)):(e.children()[0].classList.add("vjs-hidden"),c.document.getElementById(`${e.id()}_html5_api`).style.height="0px"),e.on("play",()=>{r||!o||d||Ne(e),l==null||l.play()}),e.on("pause",()=>{l==null||l.pause()}),e.on("seeked",()=>{l==null||l.currentTime(e.currentTime())}),e.on("ratechange",()=>{l==null||l.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),a.addChild(n),e.addChild(a),t&&t(e)},Ue=(e,n,o,t,r,l,a,d=!1)=>{be=Date.now();const s=X(n,{controls:!1,bigPlayButton:!1,fluid:!1,width:1280,height:720,playsinline:!0,plugins:{record:{audio:!0,video:{mandatory:{minWidth:1280,minHeight:720}},frameWidth:1280,frameHeight:720,maxLength:600,autoMuteDevice:!0}}});if(!s)return;s.payload=o;const{surveyId:u,questionId:m,responseGroupUid:I,visitorId:b,envId:R}=o;let x;const v=p=>{const y=ne,g=ne+"-audio-only";Ce(s.uploadProgressLabel,"none"),H&&H.startTime>=be&&H.abort();const k=c.document.getElementById("ul-camera-button");p?(s.children()[0].classList.add("vjs-hidden"),C.removeClass(y),C.addClass(g),k.innerHTML=_.TurnOnCamera,s.audioPlayerPlaceholder.removeClass("vjs-hidden"),x==null||x.getTracks().forEach(E=>{E.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(E=>{x=E,E.getVideoTracks().forEach(S=>{S.enabled=!1}),s.record().onDeviceReady(E)}).catch(s.record().onDeviceError.bind(s.record()))):(x==null||x.getVideoTracks().forEach(E=>{E.enabled=!0}),s.children()[0].classList.remove("vjs-hidden"),s.record().getDevice(),C.removeClass(g),C.addClass(y),k.innerHTML=_.TurnOffCamera,s.audioPlayerPlaceholder.addClass("vjs-hidden"))},h=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{h.hasClass(T)||(F({event:"Video Delete Button Clicked",apiBase:t,headers:a,visitorId:b,envId:R,metadata:{questionId:m,responseGroupUid:I,surveyId:u}}),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T))}});h.addClass("ul-video-recorder-delete-button"),h.el_.appendChild(Q(_.DeleteButton,"ul-delete-button"));const f=c.document.getElementById(n),j=()=>{f.classList.contains("vjs-fullscreen")&&s.cameraOff?f.style.display="table":f.style.display="flex"};j();const C=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{s.record().isRecording()||(s.cameraOff=!s.cameraOff,F({event:"Video Camera Button Clicked",apiBase:t,headers:a,visitorId:o.visitorId,envId:o.envId,metadata:{questionId:m,responseGroupUid:I,surveyId:u,cameraOff:s.cameraOff}}),v(s.cameraOff),!h.hasClass(T)&&h.addClass(T),r(w.DELETE,{}),j())}});C.addClass(ne),C.el_.appendChild(Q(_.TurnOffCamera,"ul-camera-button"));const D=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{const p=c.document.getElementById("ul-recorder-toggle");if(s.record().isRecording())s.record().stop(),p&&(p.innerHTML=_.RecordButton),D.removeClass(oe),h.removeClass(T);else{const y=c.document.getElementById("ul-recording-countdown-screen");if(y)y.remove(),p&&(p.innerHTML=_.RecordButton),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T),D.removeClass(oe),P.show();else{D.addClass(oe),P.hide(),C.addClass(T),h.addClass(T),p&&(p.innerHTML=_.StopButton);const g=c.document.createElement("div");g.id="ul-recording-countdown-screen",f.insertBefore(g,f.children[1]),g.style.height=`${f.offsetHeight}px`,De(s,3)}}}});D.addClass("ul-video-recorder-toggle-button"),D.el_.appendChild(Q(_.RecordButton,"ul-recorder-toggle"));const A=c.document.createElement("p");A.style.visibility="hidden",A.className="ul-upload-progress-label",e.appendChild(A),s.uploadProgressLabel=A;const G=ke(s,[h,C,"PlayToggle",D,"FullscreenToggle"]),P=G.children().find(p=>p.name_==="FullscreenToggle");P.hasClass("vjs-disabled")&&P.hide();const O=G.children().find(p=>p.name_==="PlayToggle");O.hide(),h.addClass(T),Ie(s,G,l,!1,d),s.on("stopRecord",()=>{D.hide(),O.show(),P.show(),h.removeClass(T)}),s.on("deviceReady",()=>{D.show(),O.hide(),h.addClass(T)}),((p,y,g,k,E)=>{const{surveyId:S,responseGroupUid:$,visitorId:L,envId:M}=p.payload;p.on("deviceError",function(){console.warn("device error: ",p.deviceErrorCode),p.deviceErrorCode.message==="Permission denied"?(p.deviceButton.addClass("permission-denied"),g&&g(w.ERROR,{type:w.PERMISSION_DENIED}),F({event:"Video Permission Denied",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})):(g&&g(w.ERROR,{type:w.OTHER}),N(new Error(p.deviceErrorCode.message),"recorderDeviceError",y,E,L,M))}),p.on("error",function(z,U){N(U||p.error(),"recorderError",y,E,L,M)}),p.on("startRecord",function(z,U){k(p.uploadProgressLabel,"none"),F({event:"Video Record Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})}),p.on("finishRecord",async function(){k(p.uploadProgressLabel,"start",0);const z=te(p,ee);if(!S){const B="internal error: missing fields in payload";return g&&g(w.ERROR,{type:w.OTHER}),N(new Error(B),"finishRecord",y,E,L,M),null}p.record().stopDevice();const U=p.cameraOff?w.MEDIA_TYPE_AUDIO:w.MEDIA_TYPE_VIDEO,V=_e.v4();F({event:"Video Record Finish",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U}});const Y={surveyId:S,updatedAt:new Date().toISOString(),mediaType:U,mediaRecordingUid:V};z&&(Y.questionId=z),$&&(Y.responseGroupUid=$),L&&(Y.visitorId=L);const J=await(async()=>{const B=await fetch(`${y}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(B.ok){const se=await B.json();return g&&g(w.UPLOAD_STARTED,{[w.UPLOAD_ID]:se.upload.id,[w.MEDIA_TYPE]:U,[w.MEDIA_RECORDING_UID]:V}),se.upload.url}return g&&g(w.ERROR,{type:w.OTHER,response:B}),N(new Error("failed to get upload response with url"),"finishRecord",y,E,L,M),null})();J&&(H=c.document.defaultView.UpChunk.createUpload({endpoint:J,file:new c.document.defaultView.File([p.recordedData],`recording ${U} ${Date.now()}`),chunkSize:5120}),H.startTime=Date.now(),F({event:"Video Upload Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J}}),H.on("error",B=>{k(p.uploadProgressLabel,"none"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),N(B,"finishRecord",y,E,L,M)}),H.on("progress",B=>{g&&g(w.UPLOAD_PROGRESS,{[w.MEDIA_RECORDING_UID]:V,[w.UPLOAD_PROGRESS_PCT]:B.detail}),k(p.uploadProgressLabel,"progress",B.detail)}),H.on("success",()=>{k(p.uploadProgressLabel,"success"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),F({event:"Video Upload Success",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J,elapsedMs:H.startTime&&Date.now()-H.startTime}})}))})})(s,t,r,Ce,a);const Z=[{name:"microphone"}];!s.cameraOff&&Z.push({name:"camera"}),Promise.all(Z.map(p=>{var y;return(y=navigator==null?void 0:navigator.permissions)==null?void 0:y.query(p)})).then(p=>{p.reduce((y,g)=>y&g.state==="granted",!0)&&s&&(s.deviceButton&&s.deviceButton.hide(),s.record().getDevice())}).catch(p=>{})},De=(e,n=3)=>{const o=c.document.getElementById("ul-recording-countdown-screen");o&&n===0?(o.remove(),e.record().start()):o&&(o.innerHTML=`<span class='ul-countdown-text'>Recording in... ${n}</span>`,setTimeout(()=>{De(e,n-1)},1e3))},we=e=>{const n=c.document.createElement("div");return n.className="ul-video-container",n.appendChild((o=>{const t=c.document.createElement("div");return t.className="ul-video-player-loading",t.id=ie(o),["first","second","third","fourth"].map(r=>{const l=c.document.createElement("div");l.className=r,t.appendChild(l)}),t})(e)),n},re=(e,n)=>{const o=c.document.createElement("video");o.id=e,o.className="video-js vjs-default-skin ul-video-player-video";const t=c.document.createElement("p");t.className="vjs-no-js",t.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const r=c.document.createElement("a");return r.href="https://videojs.com/html5-video-support/",r.target="_blank",r.innerHTML="supports HTML5 video",t.appendChild(r),o.appendChild(t),n.appendChild(o),n},Ne=(e,n)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},X=(e,n)=>c.document.getElementById(e)?n?c.videojs(e,n):c.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),Ve=e=>{if(!e)return null;const n=e.match(/https:\/\/stream.mux.com\/(.*)/);let o=n?n[1]:null;return o.includes(pe)&&(o=o.replace(pe,"")),o?`https://image.mux.com/${o}/thumbnail.jpg?time=0`:null},w={UPLOAD_STARTED:"upload.started",UPLOAD_PROGRESS:"upload.progress",UPLOAD_FINISHED:"upload.finished",DELETE:"delete",ERROR:"error",MEDIA_TYPE:"media.type",PERMISSION_DENIED:"permission_denied",OTHER:"other",UPLOAD_ID:"upload.id",UPLOAD_PROGRESS_PCT:"upload.progress.pct",MEDIA_RECORDING_UID:"media.recording.uid",MEDIA_TYPE_VIDEO:"video",MEDIA_TYPE_AUDIO:"audio"},_={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"};var Te=(e=>(e.CONTINUE="CONTINUE",e.EXTERNAL="EXTERNAL",e.NO_BUTTON="NO_BUTTON",e))(Te||{}),Re=(e=>(e.Unlimited="Unlimited",e.Maximum="Maximum",e.Range="Range",e))(Re||{});const Fe=({options:e,selectItem:n,selectedOptions:o,showCheckbox:t,disabledOptions:r,dropdownFooter:l})=>{const{themeColor:a}=i.useConfig(d=>({doc:d.viewDocument,themeColor:d.border}));return i.u("div",{className:"select-list",children:[e.map(d=>{return i.u("div",{"aria-disabled":r==null?void 0:r.includes(d),className:i.cc("select-option",r!=null&&r.includes(d)?"ul-choice-disabled":""),onClick:u=>{r!=null&&r.includes(d)||(n(d),u.stopPropagation())},role:"option",style:{...r!=null&&r.includes(d)?{opacity:.5,cursor:"not-allowed"}:{}},children:[t&&i.u(xe,{divId:(s=d.id,`checkbox-div-${s}`),id:d.id,isSelected:o.includes(d),themeColor:a}),d.label]},d.id);var s}),l]})},Ae={"{{user_id}}":"externalUserId","{{email}}":"email"};exports.Button=le,exports.Header=({message:e,properties:n,isRequired:o})=>{const t=i._(null),r=n==null?void 0:n.captionText,l=ae();return i.u("div",{className:i.cc("question-header-container","sprig-header-container",l?"sprig-border-bottom":null),ref:t,children:[i.u("div",{className:"question-header-button-container",children:i.u(de,{className:"ul-question",id:"ul-question",isHeader:!0,plainText:e,richText:n==null?void 0:n.questionHtml,showAsterisk:o})}),i.u(de,{className:"ul-caption",id:"ul-caption",plainText:r,richText:n==null?void 0:n.captionHtml})]})},exports.Html=ye,exports.LongformSubmitButton=({isSubmitDisabled:e,handleSubmit:n})=>i.u("div",{className:"ul-card-longform__submit-button-container",children:i.u(le,{className:"ul-card-longform__submit-button",disabled:e,onClick:n,children:["OK ",i.u(Pe,{})]})}),exports.MaxSelectModes=Re,exports.MobileEmbedView=({embeddedType:e="prototype",properties:n,children:o})=>{var I;const{handleClickEmbedButton:t,hasViewedEmbed:r,headers:l,useDesktopPrototype:a}=i.useConfig(b=>({handleClickEmbedButton:b.handleClickEmbedButton,hasViewedEmbed:b.hasViewedEmbed,headers:b.headers,useDesktopPrototype:b.useDesktopPrototype})),d=(n==null?void 0:n.conceptUrl)||((I=n==null?void 0:n.consentDocument)==null?void 0:I.url),s=window.innerWidth<W.EMBED_MOBILE_MAX_WIDTH,u=l["userleap-platform"],m=(b,R)=>{b.preventDefault(),t(R)};if((()=>{const{update:b,index:R,isConversationalUI:x,viewDocument:v}=i.useConfig(({update:f,index:j,isConversationalUI:C,viewDocument:D})=>({update:f,index:j,isConversationalUI:C,viewDocument:D})),h=Le.debounce(b,100);i.p(()=>{if(x)return;const f=new ResizeObserver(h),j=v.querySelector(".ul-card__container");return j&&f.observe(j,{box:"border-box"}),()=>{f.disconnect()}},[h,b,R,x,v])})(),!a&&s&&!r&&d&&["email","link"].includes(u)){if(e==="prototype")return i.u(ce,{handleClick:b=>{m(b,"question.prototype.click")}});if(e==="pdf")return i.u(ce,{buttonText:(n==null?void 0:n.viewDocumentText)||"View Document",handleClick:b=>{m(b,"question.agreement.click")}})}return i.u(i.g,{children:o})},exports.Option=({ariaLabel:e,border:n,choiceStyle:o={},label:t,isSelected:r,value:l,text:a,id:d,isRadio:s,useMobileStyling:u,error:m,allowTextEntry:I,noneOfTheAbove:b,promptText:R,disabled:x=!1,onUserInputChanged:v})=>{const{styleNonce:h,viewDocument:f}=i.useConfig(k=>({styleNonce:k.styleNonce,viewDocument:k.viewDocument})),[j,C]=i.h(!1);Me(f,n,h);const D=({isSelected:k,userText:E})=>{v&&v({id:d,selected:k,value:l,userText:E,noneOfTheAbove:b})},A=k=>{x||(k.stopPropagation(),D({isSelected:s||!r,userText:a}),C(!1))},G=()=>{j||C(!0)},P=()=>{j&&C(!1)},O={onClick:k=>A(k),onKeyPress:k=>(E=>{x||E.key!=="Enter"&&E.key!==" "||A(E)})(k)};"ontouchstart"in f.documentElement?(O.onTouchStart=P,O.onTouchCancel=P,O.onTouchEnd=P):(O.onMouseDown=G,O.onMouseLeave=P);const Z=s?`radio-${d}`:`checkbox-${d}`,p=r||j?[K]:[],y=[...m?[je]:[],...p,...x?["ul-choice-disabled"]:[]],g=t?{"aria-labelledby":`label-${d}`}:{"aria-label":e};return i.u("div",{className:i.cc(i.getClasses("choice",u),...y),id:`choice-div-${d}`,style:{...o,...m?{borderColor:W.ERROR_BORDER_COLOR}:{},...x?{opacity:.5,cursor:"not-allowed"}:{}},...x?{}:O,"aria-disabled":x,children:[i.u("div",{className:i.cc("choice-label-container"),children:[s?i.u("div",{...g,className:i.cc("select-radio",...p),id:Z,role:"radio",tabIndex:0}):i.u(xe,{disabled:x,divId:Z,id:d,isSelected:r,themeColor:n}),t&&i.u("label",{className:i.cc(i.getClasses("select-label",u)),htmlFor:Z,id:`label-${d}`,children:t})]}),I&&r&&i.u("div",{className:i.cc("choice-text-entry-container",...p),children:i.u(Oe,{onTextChange:k=>D({isSelected:r,userText:k}),promptText:R||"Please specify",textValue:a,useMobileStyling:u})})]})},exports.PromptActionTypeEnum=Te,exports.QuestionBodyFooterContainer=({children:e})=>{const n=ae(),{isConversationalUI:o}=i.useConfig(t=>({isConversationalUI:t.isConversationalUI}));return i.u("div",{className:i.cc("sprig-question-footer-container",n&&!o?"sprig-border-top":null),children:e})},exports.QuestionBodyWrapper=({children:e})=>i.u("div",{className:"sprig-question-body",children:e}),exports.RECORDER=w,exports.Select=({isMultiSelect:e=!1,multiselectText:n="choices selected",onChange:o,options:t,placeholderText:r,value:l,disabledOptions:a=[],dropdownFooter:d})=>{const[s,u]=i.h(!1),{viewDocument:m,update:I,isConversationalUI:b}=i.useConfig(v=>({viewDocument:v.viewDocument,update:v.update,isConversationalUI:v.isConversationalUI})),R=()=>{u(!s)};i.y(()=>{b||I()},[s,b,I]),i.p(()=>{var h;const v=f=>{const j=f.target;(j==null?void 0:j.closest(".select-option.ul-choice-disabled"))||u(!1)};m.addEventListener("click",v);try{(h=window.parent)==null||h.addEventListener("click",v)}catch{window.addEventListener("click",v)}return()=>{var f;m.removeEventListener("click",v);try{(f=window.parent)==null||f.removeEventListener("click",v)}catch{window.removeEventListener("click",v)}}},[m]);const x=l.length===0?["select-button-placeholder"]:[];return i.u(i.g,{children:[i.u("button",{"aria-label":"choice dropdown button",className:i.cc("select-button",...x),onClick:v=>{v.stopPropagation(),R()},type:"button",children:[i.u("span",{children:l.length===0?r:l.length===1?l[0].label:`${l.length} ${n}`}),i.u(i.SvgCaret,{})]}),s&&i.u(Fe,{disabledOptions:a,dropdownFooter:d,options:t,selectedOptions:l,selectItem:v=>{var j;const h=l.some(C=>C.id===v.id),f=l.some(C=>{var D;return(D=C.optionProperties)==null?void 0:D.noneOfTheAbove});(j=v.optionProperties)!=null&&j.noneOfTheAbove&&!h?o([v]):e?o(h?l.filter(C=>C.id!==v.id):f?[v]:[...l,v]):h||o([v]),e||R()},showCheckbox:e})]})},exports.getAttributedUrl=(e=void 0,n={})=>{if(!e)return e;const o=["http:","https:","itms-apps:","market:"],t=(a=>/^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(a)?a:`http://${a}`)(e);if(!t)return;try{const a=new URL(t);if(!a.protocol||!o.includes(a.protocol))return}catch{return}const r=[],l=((a,d,s)=>{let u=a;for(const[m,I]of Object.entries(Ae))if(u.toLowerCase().includes(m))if(d[I]){const b=new RegExp(m,"gi");u=u.replace(b,d[I])}else s.push(m);return u})(t,n,r);return r.length===0?l:((a,d)=>{if(!a.includes("?"))return a;const s=a.slice(0,a.indexOf("?")),u=a.slice(a.indexOf("?")+1).split("&").map(m=>m.split("=")).filter(m=>!d.includes(m[1]));return u.length===0?s:`${s}?${u.map(m=>m.join("=")).join("&")}`})(l,r)},exports.pauseQuestionPlayer=e=>{const n=X(e+he);n==null||n.pause()},exports.stopRecording=e=>{const n=e+ge;if(c.document.getElementById(n)&&c.videojs){try{if(!c.videojs(n).record().stream)return}catch{return}c.videojs(n).record().stop(),c.videojs(n).record().stopDevice()}},exports.useAutoSize=Ee,exports.videoPlayer=(e,n,o,t=!1,r="https://api.sprig.com",l=document,a=null,d=null)=>{c.document=l;const s=e+he,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",r,{})}),fe(ve,()=>{c.document.getElementById(ie(s)).remove(),re(s,u);const m={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const I=e+me;re(I,u);const b=X(s,m),R=X(I,{muted:!0,...m});if(!b||!R)return;((h,f,j)=>{h.addClass(`ul${me}`);const C=new(c.videojs.getComponent("Component"))(h);f&&h.src(f),h.addChild(C),j&&j(h)})(R,a,d),a||R.addClass(T);const x=ke(b,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),v=x.children().find(h=>h.name_==="FullscreenToggle");v.hasClass("vjs-disabled")&&v.hide(),Ie(b,x,n,o,t,R)}catch(I){return void N(new Error(`Error when creating video player object ${I}`),"playerDeviceError",r,{})}}),u},exports.videoRecorderPlayer=(e,n={},o="https://api.userleap.com",t,r,l,a=!1,d=document)=>{c.document=d;const s=e+ge,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",o,l,n.visitorId,n.envId)}),fe(ve.concat(He),()=>{re(s,u),c.document.getElementById(ie(s)).remove();try{Ue(u,s,n,o,t,r,l,a)}catch(m){return void N(new Error(`Error when creating video recorder player object ${m}`),"recorderDeviceError",o,l,n.visitorId,n.envId)}}),u};
|
|
669
|
+
`}],he="-video-player",me="-secondary-video-player",ge="-video-recorder";let H,be;const F=async({event:e,apiBase:n,headers:o,visitorId:t,envId:r,metadata:l})=>{const a=c.document.documentElement;if(!t||!r)return;const d={event:`SDK - ${e}`,visitorId:t,environmentId:r,metadata:{...l||{},screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language}};(await fetch(`${n}/sdk/1/visitors/${t}/analytics`,{method:"POST",cache:"no-cache",headers:o,body:JSON.stringify(d)})).ok||console.warn("[Sprig] (ERR-444) Failed to track analytics",e)},N=async(e,n,o,t,r,l)=>{F({event:`Video Error ${n}`,apiBase:o,headers:t,visitorId:r,envId:l,metadata:{errorMessage:e.message}});const a=c.document.documentElement,d={screenWidth:window.screen.width,screenHeight:window.screen.height,clientWidth:a.clientWidth,clientHeight:a.clientHeight,location:window.location.href,language:navigator.language},s={action:n,err:{message:e.message,stack:e.stack},meta:d,vid:r,envId:l};(await fetch(`${o}/sdk/1/errors`,{method:"POST",cache:"no-cache",headers:{...t,"userleap-platform":"video_recorder","x-ul-error":window.btoa(`userleap-${Date.now()}-error`)},body:JSON.stringify(s)})).ok||console.warn("[Sprig] (ERR-444) Failed to report error to API",e)},fe=(e,n)=>{if(e.length===0)return n&&n();Promise.all(e.reduce((o,t)=>(o.push(((r,{type:l,content:a})=>new Promise(function(d,s){let u;l==="script"?(u=c.document.createElement("script"),u.src=a):l==="link"?(u=c.document.createElement("link"),u.rel="stylesheet",u.href=a,u.type="text/css"):(u=c.document.createElement("style"),u.innerHTML=a),u.onload=function(){d(a)},u.onerror=function(){s(a)},u.async=!1,u.id=btoa(a),r.appendChild(u)}))(c.document.head,t)),o),[])).then(()=>{c.videojs=c.document.defaultView.videojs,n&&n()}).catch(function(o){console.log(o+" failed to load")})},Ce=(e,n,o)=>{if(n==="start"&&(e.style.visibility="visible"),n==="none")e.style.visibility=T;else if(n==="success")e.style.visibility=T,e.innerHTML="Upload succeeded!";else{const t=Math.round(parseFloat(o));e.innerHTML=`Uploading <span class="ul-upload-progress-label__time">${t}%</span>`,e.style.background=`linear-gradient(to right, #E0E0EB 0%, #E0E0EB ${t}%, #FCFCFD ${t}%, #FCFCFD 100%)`}},te=(e,n)=>{const o=c.videojs(e.id());return o==null?void 0:o.payload[n]},ke=(e,n)=>{const o=new(c.videojs.getComponent("Component"))(e);return o.addClass("ul-buttons-panel"),n.map(t=>{o.addChild(t)}),Se(o),o},Se=e=>{e.children().forEach(n=>{if(_[n.name_]){const o=Q(_[n.name_],`ul-${_[n.name_]}`);n.el_.appendChild(o)}})},Q=(e,n="")=>{const o=c.document.createElement("span");return o.className="ul-button-text",o.innerHTML=e,o.id=n,o},Ie=(e,n,o,t,r=!1,l)=>{e.addClass("ul-video-player");const a=new(c.videojs.getComponent("Component"))(e);a.addClass("ul-control-panel"),e.progressBar=a.addChild("ProgressControl"),o&&e.src(o),e.audioPlayerPlaceholder=new(c.videojs.getComponent("Component"))(e),e.audioPlayerPlaceholder.addClass("ul-audio-recorder-placeholder");const d=o&&o.src?Ve(o.src):null;!o||!r&&d?(e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%",d&&e.poster(d)):(e.children()[0].classList.add("vjs-hidden"),c.document.getElementById(`${e.id()}_html5_api`).style.height="0px"),e.on("play",()=>{r||!o||d||Ne(e),l==null||l.play()}),e.on("pause",()=>{l==null||l.pause()}),e.on("seeked",()=>{l==null||l.currentTime(e.currentTime())}),e.on("ratechange",()=>{l==null||l.playbackRate(e.playbackRate())}),e.addChild(e.audioPlayerPlaceholder,{},1),a.addChild(n),e.addChild(a),t&&t(e)},Ue=(e,n,o,t,r,l,a,d=!1)=>{be=Date.now();const s=X(n,{controls:!1,bigPlayButton:!1,fluid:!1,width:1280,height:720,playsinline:!0,plugins:{record:{audio:!0,video:{mandatory:{minWidth:1280,minHeight:720}},frameWidth:1280,frameHeight:720,maxLength:600,autoMuteDevice:!0}}});if(!s)return;s.payload=o;const{surveyId:u,questionId:m,responseGroupUid:I,visitorId:b,envId:R}=o;let x;const v=p=>{const y=ne,g=ne+"-audio-only";Ce(s.uploadProgressLabel,"none"),H&&H.startTime>=be&&H.abort();const k=c.document.getElementById("ul-camera-button");p?(s.children()[0].classList.add("vjs-hidden"),C.removeClass(y),C.addClass(g),k.innerHTML=_.TurnOnCamera,s.audioPlayerPlaceholder.removeClass("vjs-hidden"),x==null||x.getTracks().forEach(E=>{E.stop()}),window.navigator.mediaDevices.getUserMedia({video:!0,audio:!0}).then(E=>{x=E,E.getVideoTracks().forEach(S=>{S.enabled=!1}),s.record().onDeviceReady(E)}).catch(s.record().onDeviceError.bind(s.record()))):(x==null||x.getVideoTracks().forEach(E=>{E.enabled=!0}),s.children()[0].classList.remove("vjs-hidden"),s.record().getDevice(),C.removeClass(g),C.addClass(y),k.innerHTML=_.TurnOffCamera,s.audioPlayerPlaceholder.addClass("vjs-hidden"))},h=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{h.hasClass(T)||(F({event:"Video Delete Button Clicked",apiBase:t,headers:a,visitorId:b,envId:R,metadata:{questionId:m,responseGroupUid:I,surveyId:u}}),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T))}});h.addClass("ul-video-recorder-delete-button"),h.el_.appendChild(Q(_.DeleteButton,"ul-delete-button"));const f=c.document.getElementById(n),j=()=>{f.classList.contains("vjs-fullscreen")&&s.cameraOff?f.style.display="table":f.style.display="flex"};j();const C=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{s.record().isRecording()||(s.cameraOff=!s.cameraOff,F({event:"Video Camera Button Clicked",apiBase:t,headers:a,visitorId:o.visitorId,envId:o.envId,metadata:{questionId:m,responseGroupUid:I,surveyId:u,cameraOff:s.cameraOff}}),v(s.cameraOff),!h.hasClass(T)&&h.addClass(T),r(w.DELETE,{}),j())}});C.addClass(ne),C.el_.appendChild(Q(_.TurnOffCamera,"ul-camera-button"));const D=new(c.videojs.getComponent("Button"))(s,{clickHandler:()=>{const p=c.document.getElementById("ul-recorder-toggle");if(s.record().isRecording())s.record().stop(),p&&(p.innerHTML=_.RecordButton),D.removeClass(oe),h.removeClass(T);else{const y=c.document.getElementById("ul-recording-countdown-screen");if(y)y.remove(),p&&(p.innerHTML=_.RecordButton),v(s.cameraOff),r(w.DELETE,{}),C.removeClass(T),h.addClass(T),D.removeClass(oe),P.show();else{D.addClass(oe),P.hide(),C.addClass(T),h.addClass(T),p&&(p.innerHTML=_.StopButton);const g=c.document.createElement("div");g.id="ul-recording-countdown-screen",f.insertBefore(g,f.children[1]),g.style.height=`${f.offsetHeight}px`,De(s,3)}}}});D.addClass("ul-video-recorder-toggle-button"),D.el_.appendChild(Q(_.RecordButton,"ul-recorder-toggle"));const A=c.document.createElement("p");A.style.visibility="hidden",A.className="ul-upload-progress-label",e.appendChild(A),s.uploadProgressLabel=A;const G=ke(s,[h,C,"PlayToggle",D,"FullscreenToggle"]),P=G.children().find(p=>p.name_==="FullscreenToggle");P.hasClass("vjs-disabled")&&P.hide();const O=G.children().find(p=>p.name_==="PlayToggle");O.hide(),h.addClass(T),Ie(s,G,l,!1,d),s.on("stopRecord",()=>{D.hide(),O.show(),P.show(),h.removeClass(T)}),s.on("deviceReady",()=>{D.show(),O.hide(),h.addClass(T)}),((p,y,g,k,E)=>{const{surveyId:S,responseGroupUid:$,visitorId:L,envId:M}=p.payload;p.on("deviceError",function(){console.warn("device error: ",p.deviceErrorCode),p.deviceErrorCode.message==="Permission denied"?(p.deviceButton.addClass("permission-denied"),g&&g(w.ERROR,{type:w.PERMISSION_DENIED}),F({event:"Video Permission Denied",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})):(g&&g(w.ERROR,{type:w.OTHER}),N(new Error(p.deviceErrorCode.message),"recorderDeviceError",y,E,L,M))}),p.on("error",function(z,U){N(U||p.error(),"recorderError",y,E,L,M)}),p.on("startRecord",function(z,U){k(p.uploadProgressLabel,"none"),F({event:"Video Record Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{questionId:te(p,ee),responseGroupUid:$,surveyId:S}})}),p.on("finishRecord",async function(){k(p.uploadProgressLabel,"start",0);const z=te(p,ee);if(!S){const B="internal error: missing fields in payload";return g&&g(w.ERROR,{type:w.OTHER}),N(new Error(B),"finishRecord",y,E,L,M),null}p.record().stopDevice();const U=p.cameraOff?w.MEDIA_TYPE_AUDIO:w.MEDIA_TYPE_VIDEO,V=_e.v4();F({event:"Video Record Finish",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U}});const Y={surveyId:S,updatedAt:new Date().toISOString(),mediaType:U,mediaRecordingUid:V};z&&(Y.questionId=z),$&&(Y.responseGroupUid=$),L&&(Y.visitorId=L);const J=await(async()=>{const B=await fetch(`${y}/2/environments/integrations/upload`,{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(B.ok){const se=await B.json();return g&&g(w.UPLOAD_STARTED,{[w.UPLOAD_ID]:se.upload.id,[w.MEDIA_TYPE]:U,[w.MEDIA_RECORDING_UID]:V}),se.upload.url}return g&&g(w.ERROR,{type:w.OTHER,response:B}),N(new Error("failed to get upload response with url"),"finishRecord",y,E,L,M),null})();J&&(H=c.document.defaultView.UpChunk.createUpload({endpoint:J,file:new c.document.defaultView.File([p.recordedData],`recording ${U} ${Date.now()}`),chunkSize:5120}),H.startTime=Date.now(),F({event:"Video Upload Start",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J}}),H.on("error",B=>{k(p.uploadProgressLabel,"none"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),N(B,"finishRecord",y,E,L,M)}),H.on("progress",B=>{g&&g(w.UPLOAD_PROGRESS,{[w.MEDIA_RECORDING_UID]:V,[w.UPLOAD_PROGRESS_PCT]:B.detail}),k(p.uploadProgressLabel,"progress",B.detail)}),H.on("success",()=>{k(p.uploadProgressLabel,"success"),g&&g(w.UPLOAD_FINISHED,{[w.MEDIA_RECORDING_UID]:V}),F({event:"Video Upload Success",apiBase:y,headers:E,visitorId:L,envId:M,metadata:{mediaRecordingUid:V,questionId:z,responseGroupUid:$,surveyId:S,mediaType:U,url:J,elapsedMs:H.startTime&&Date.now()-H.startTime}})}))})})(s,t,r,Ce,a);const Z=[{name:"microphone"}];!s.cameraOff&&Z.push({name:"camera"}),Promise.all(Z.map(p=>{var y;return(y=navigator==null?void 0:navigator.permissions)==null?void 0:y.query(p)})).then(p=>{p.reduce((y,g)=>y&g.state==="granted",!0)&&s&&(s.deviceButton&&s.deviceButton.hide(),s.record().getDevice())}).catch(p=>{})},De=(e,n=3)=>{const o=c.document.getElementById("ul-recording-countdown-screen");o&&n===0?(o.remove(),e.record().start()):o&&(o.innerHTML=`<span class='ul-countdown-text'>Recording in... ${n}</span>`,setTimeout(()=>{De(e,n-1)},1e3))},we=e=>{const n=c.document.createElement("div");return n.className="ul-video-container",n.appendChild((o=>{const t=c.document.createElement("div");return t.className="ul-video-player-loading",t.id=ie(o),["first","second","third","fourth"].map(r=>{const l=c.document.createElement("div");l.className=r,t.appendChild(l)}),t})(e)),n},re=(e,n)=>{const o=c.document.createElement("video");o.id=e,o.className="video-js vjs-default-skin ul-video-player-video";const t=c.document.createElement("p");t.className="vjs-no-js",t.innerHTML="To view this video please enable JavaScript, and consider upgrading to a web browser that";const r=c.document.createElement("a");return r.href="https://videojs.com/html5-video-support/",r.target="_blank",r.innerHTML="supports HTML5 video",t.appendChild(r),o.appendChild(t),n.appendChild(o),n},Ne=(e,n)=>{e.children()[0].classList.remove("vjs-hidden"),e.audioPlayerPlaceholder.hide(),c.document.getElementById(`${e.id()}_html5_api`).style.height="100%"},X=(e,n)=>c.document.getElementById(e)?n?c.videojs(e,n):c.videojs(e):(console.error(`Error in finding player element with ID, ${e}`),null),Ve=e=>{if(!e)return null;const n=e.match(/https:\/\/stream.mux.com\/(.*)/);let o=n?n[1]:null;return o.includes(pe)&&(o=o.replace(pe,"")),o?`https://image.mux.com/${o}/thumbnail.jpg?time=0`:null},w={UPLOAD_STARTED:"upload.started",UPLOAD_PROGRESS:"upload.progress",UPLOAD_FINISHED:"upload.finished",DELETE:"delete",ERROR:"error",MEDIA_TYPE:"media.type",PERMISSION_DENIED:"permission_denied",OTHER:"other",UPLOAD_ID:"upload.id",UPLOAD_PROGRESS_PCT:"upload.progress.pct",MEDIA_RECORDING_UID:"media.recording.uid",MEDIA_TYPE_VIDEO:"video",MEDIA_TYPE_AUDIO:"audio"},_={PlaybackRateMenuButton:"Speed",PlayToggle:"Play",FullscreenToggle:"Expand",TurnOnCamera:"Turn on",TurnOffCamera:"Turn off",DeleteButton:"Delete",RecordButton:"Record",StopButton:"Stop",PauseButton:"Pause"};var Te=(e=>(e.CONTINUE="CONTINUE",e.EXTERNAL="EXTERNAL",e.NO_BUTTON="NO_BUTTON",e))(Te||{}),Re=(e=>(e.Unlimited="Unlimited",e.Maximum="Maximum",e.Range="Range",e))(Re||{});const Fe=({options:e,selectItem:n,selectedOptions:o,showCheckbox:t,disabledOptions:r,dropdownFooter:l})=>{const{themeColor:a}=i.useConfig(d=>({doc:d.viewDocument,themeColor:d.border}));return i.u("div",{className:"select-list",children:[e.map(d=>{return i.u("div",{"aria-disabled":r==null?void 0:r.includes(d),className:i.cc("select-option",r!=null&&r.includes(d)?"ul-choice-disabled":""),onClick:u=>{r!=null&&r.includes(d)||(n(d),u.stopPropagation())},role:"option",style:{...r!=null&&r.includes(d)?{opacity:.5,cursor:"not-allowed"}:{}},children:[t&&i.u(xe,{divId:(s=d.id,`checkbox-div-${s}`),id:d.id,isSelected:o.includes(d),themeColor:a}),d.label]},d.id);var s}),l]})},Ae={"{{user_id}}":"externalUserId","{{email}}":"email"};exports.Button=le,exports.Header=({message:e,properties:n,isRequired:o})=>{const t=i._(null),r=n==null?void 0:n.captionText,l=ae();return i.u("div",{className:i.cc("question-header-container","sprig-header-container",l?"sprig-border-bottom":null),ref:t,children:[i.u("div",{className:"question-header-button-container",children:i.u(de,{className:"ul-question",id:"ul-question",isHeader:!0,plainText:e,richText:n==null?void 0:n.questionHtml,showAsterisk:o})}),i.u(de,{className:"ul-caption",id:"ul-caption",plainText:r,richText:n==null?void 0:n.captionHtml})]})},exports.Html=ye,exports.LongformSubmitButton=({isSubmitDisabled:e,handleSubmit:n})=>i.u("div",{className:"ul-card-longform__submit-button-container",children:i.u(le,{className:"ul-card-longform__submit-button",disabled:e,onClick:n,children:["OK ",i.u(Pe,{})]})}),exports.MaxSelectModes=Re,exports.MobileEmbedView=({embeddedType:e="prototype",properties:n,children:o})=>{var I;const{handleClickEmbedButton:t,hasViewedEmbed:r,headers:l,useDesktopPrototype:a}=i.useConfig(b=>({handleClickEmbedButton:b.handleClickEmbedButton,hasViewedEmbed:b.hasViewedEmbed,headers:b.headers,useDesktopPrototype:b.useDesktopPrototype})),d=(n==null?void 0:n.conceptUrl)||((I=n==null?void 0:n.consentDocument)==null?void 0:I.url),s=window.innerWidth<W.EMBED_MOBILE_MAX_WIDTH,u=l["userleap-platform"],m=(b,R)=>{b.preventDefault(),t(R)};if((()=>{const{update:b,index:R,isConversationalUI:x,viewDocument:v}=i.useConfig(({update:f,index:j,isConversationalUI:C,viewDocument:D})=>({update:f,index:j,isConversationalUI:C,viewDocument:D})),h=Le.debounce(b,100);i.p(()=>{if(x)return;const f=new ResizeObserver(h),j=v.querySelector(".ul-card__container");return j&&f.observe(j,{box:"border-box"}),()=>{f.disconnect()}},[h,b,R,x,v])})(),!a&&s&&!r&&d&&["email","link"].includes(u)){if(e==="prototype")return i.u(ce,{handleClick:b=>{m(b,"question.prototype.click")}});if(e==="pdf")return i.u(ce,{buttonText:(n==null?void 0:n.viewDocumentText)||"View Document",handleClick:b=>{m(b,"question.agreement.click")}})}return i.u(i.g,{children:o})},exports.Option=({ariaLabel:e,border:n,choiceStyle:o={},label:t,isSelected:r,value:l,text:a,id:d,isRadio:s,useMobileStyling:u,error:m,allowTextEntry:I,noneOfTheAbove:b,promptText:R,disabled:x=!1,onUserInputChanged:v})=>{const{styleNonce:h,viewDocument:f}=i.useConfig(k=>({styleNonce:k.styleNonce,viewDocument:k.viewDocument})),[j,C]=i.h(!1);Me(f,n,h);const D=({isSelected:k,userText:E})=>{v&&v({id:d,selected:k,value:l,userText:E,noneOfTheAbove:b})},A=k=>{x||(k.stopPropagation(),D({isSelected:s||!r,userText:a}),C(!1))},G=()=>{j||C(!0)},P=()=>{j&&C(!1)},O={onClick:k=>A(k),onKeyPress:k=>(E=>{x||E.key!=="Enter"&&E.key!==" "||A(E)})(k)};"ontouchstart"in f.documentElement?(O.onTouchStart=P,O.onTouchCancel=P,O.onTouchEnd=P):(O.onMouseDown=G,O.onMouseLeave=P);const Z=s?`radio-${d}`:`checkbox-${d}`,p=r||j?[K]:[],y=[...m?[je]:[],...p,...x?["ul-choice-disabled"]:[]],g=t?{"aria-labelledby":`label-${d}`}:{"aria-label":e};return i.u("div",{className:i.cc(i.getClasses("choice",u),...y),id:`choice-div-${d}`,style:{...o,...m?{borderColor:W.ERROR_BORDER_COLOR}:{},...x?{opacity:.5,cursor:"not-allowed"}:{}},...x?{}:O,"aria-disabled":x,children:[i.u("div",{className:i.cc("choice-label-container"),children:[s?i.u("div",{...g,className:i.cc("select-radio",...p),id:Z,role:"radio",tabIndex:0}):i.u(xe,{disabled:x,divId:Z,id:d,isSelected:r,themeColor:n}),t&&i.u("label",{className:i.cc(i.getClasses("select-label",u)),htmlFor:Z,id:`label-${d}`,children:t})]}),I&&r&&i.u("div",{className:i.cc("choice-text-entry-container",...p),children:i.u(Oe,{onTextChange:k=>D({isSelected:r,userText:k}),promptText:R||"Please specify",textValue:a,useMobileStyling:u})})]})},exports.PromptActionTypeEnum=Te,exports.QuestionBodyFooterContainer=({children:e})=>{const n=ae(),{isConversationalUI:o}=i.useConfig(t=>({isConversationalUI:t.isConversationalUI}));return i.u("div",{className:i.cc("sprig-question-footer-container",n&&!o?"sprig-border-top":null),children:e})},exports.QuestionBodyWrapper=({children:e})=>i.u("div",{className:"sprig-question-body",children:e}),exports.RECORDER=w,exports.Select=({isMultiSelect:e=!1,multiselectText:n="choices selected",onChange:o,options:t,placeholderText:r,value:l,disabledOptions:a=[],dropdownFooter:d})=>{const[s,u]=i.h(!1),{viewDocument:m,update:I,isConversationalUI:b}=i.useConfig(v=>({viewDocument:v.viewDocument,update:v.update,isConversationalUI:v.isConversationalUI})),R=()=>{u(!s)};i.y(()=>{b||I()},[s,b,I]),i.p(()=>{var h;const v=f=>{const j=f.target;(j==null?void 0:j.closest(".select-option.ul-choice-disabled"))||u(!1)};m.addEventListener("click",v);try{(h=window.parent)==null||h.addEventListener("click",v)}catch{window.addEventListener("click",v)}return()=>{var f;m.removeEventListener("click",v);try{(f=window.parent)==null||f.removeEventListener("click",v)}catch{window.removeEventListener("click",v)}}},[m]);const x=l.length===0?["select-button-placeholder"]:[];return i.u(i.g,{children:[i.u("button",{"aria-label":"choice dropdown button",className:i.cc("select-button",...x),onClick:v=>{v.stopPropagation(),R()},type:"button",children:[i.u("span",{children:l.length===0?r:l.length===1?l[0].label:`${l.length} ${n}`}),i.u(i.SvgCaret,{})]}),s&&i.u(Fe,{disabledOptions:a,dropdownFooter:d,options:t,selectedOptions:l,selectItem:v=>{var j;const h=l.some(C=>C.id===v.id),f=l.some(C=>{var D;return(D=C.optionProperties)==null?void 0:D.noneOfTheAbove});(j=v.optionProperties)!=null&&j.noneOfTheAbove&&!h?o([v]):e?o(h?l.filter(C=>C.id!==v.id):f?[v]:[...l,v]):h||o([v]),e||R()},showCheckbox:e})]})},exports.appCardHasPropertiesWithRequired=function(e){const n=e.props;if(n===null||typeof n!="object")return!1;const o=Reflect.get(n,"properties");return typeof o=="object"&&o!==null&&"required"in o},exports.getAttributedUrl=(e=void 0,n={})=>{if(!e)return e;const o=["http:","https:","itms-apps:","market:"],t=(a=>/^[a-zA-Z][a-zA-Z0-9+\-.]*:\/\//.test(a)?a:`http://${a}`)(e);if(!t)return;try{const a=new URL(t);if(!a.protocol||!o.includes(a.protocol))return}catch{return}const r=[],l=((a,d,s)=>{let u=a;for(const[m,I]of Object.entries(Ae))if(u.toLowerCase().includes(m))if(d[I]){const b=new RegExp(m,"gi");u=u.replace(b,d[I])}else s.push(m);return u})(t,n,r);return r.length===0?l:((a,d)=>{if(!a.includes("?"))return a;const s=a.slice(0,a.indexOf("?")),u=a.slice(a.indexOf("?")+1).split("&").map(m=>m.split("=")).filter(m=>!d.includes(m[1]));return u.length===0?s:`${s}?${u.map(m=>m.join("=")).join("&")}`})(l,r)},exports.pauseQuestionPlayer=e=>{const n=X(e+he);n==null||n.pause()},exports.stopRecording=e=>{const n=e+ge;if(c.document.getElementById(n)&&c.videojs){try{if(!c.videojs(n).record().stream)return}catch{return}c.videojs(n).record().stop(),c.videojs(n).record().stopDevice()}},exports.useAutoSize=Ee,exports.videoPlayer=(e,n,o,t=!1,r="https://api.sprig.com",l=document,a=null,d=null)=>{c.document=l;const s=e+he,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the question player.`),"playerDeviceError",r,{})}),fe(ve,()=>{c.document.getElementById(ie(s)).remove(),re(s,u);const m={playsinline:!0,playbackRates:[.5,1,1.5,2],fill:!0};try{const I=e+me;re(I,u);const b=X(s,m),R=X(I,{muted:!0,...m});if(!b||!R)return;((h,f,j)=>{h.addClass(`ul${me}`);const C=new(c.videojs.getComponent("Component"))(h);f&&h.src(f),h.addChild(C),j&&j(h)})(R,a,d),a||R.addClass(T);const x=ke(b,["PlaybackRateMenuButton","PlayToggle","FullscreenToggle"]),v=x.children().find(h=>h.name_==="FullscreenToggle");v.hasClass("vjs-disabled")&&v.hide(),Ie(b,x,n,o,t,R)}catch(I){return void N(new Error(`Error when creating video player object ${I}`),"playerDeviceError",r,{})}}),u},exports.videoRecorderPlayer=(e,n={},o="https://api.userleap.com",t,r,l,a=!1,d=document)=>{c.document=d;const s=e+ge,u=we(s);return c.document.addEventListener("securitypolicyviolation",m=>{N(new Error(`Voice & Video feature violates ${m.violatedDirective} web page CSP policies for the recorder player.`),"recorderDeviceError",o,l,n.visitorId,n.envId)}),fe(ve.concat(He),()=>{re(s,u),c.document.getElementById(ie(s)).remove();try{Ue(u,s,n,o,t,r,l,a)}catch(m){return void N(new Error(`Error when creating video recorder player object ${m}`),"recorderDeviceError",o,l,n.visitorId,n.envId)}}),u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./view-KypSYKm-.cjs"),ee=require("./metricsReporter-Dq2lxT-9.cjs"),ne=require("./core-DY4ohxcP.cjs"),a=require("./getAttributedUrl-DxxH9aNE.cjs"),Be=({className:n,message:i,next:u,properties:t,questionId:r,type:o})=>{const{useMobileStyling:g,border:f,isLongFormSurvey:d,focusedQuestionId:h}=e.useConfig(v=>({useMobileStyling:v.useMobileStyling,border:v.border,isLongFormSurvey:ee.isLongFormSurvey(v.studyType),focusedQuestionId:v.focusedQuestionId})),[c,C]=e.h(!1),[s,x]=e.h(""),[m,y]=e.h(!1),b=d&&h===r,I=t==null?void 0:t.collectName,S=(t==null?void 0:t.nameLabelText)||"Full Name",_=(t==null?void 0:t.consentText)||"I agree to the stated conditions",B=(t==null?void 0:t.submitButtonText)||"Submit",E=!!s.trim(),M=c&&(!I||E),q=(v,w=!1)=>{v.preventDefault(),v.stopPropagation();let F=null;if(!w){if(!M)return void y(!0);F={submitted:!0},I&&(F.name=s)}u({value:F,questionId:r,type:o},M)};return e.u("div",{className:e.cc(n,d&&!b&&"ul-card--unfocused","ul-card__consent-legal","fade-in-transition"),children:[e.u(a.Header,{isRequired:d&&(t==null?void 0:t.required),message:i,properties:{questionHtml:t.questionHtml}}),t!=null&&t.richTextBody?e.u(a.QuestionBodyWrapper,{children:e.u(a.Html,{className:"ul-rich-text-body",html:t.richTextBody,id:"ul-card__consent-legal-body-container"})}):null,e.u(a.MobileEmbedView,{embeddedType:"pdf",properties:t,children:e.u(a.QuestionBodyFooterContainer,{children:[e.u("div",{className:"sprig-stretch",children:[e.u(a.Option,{allowTextEntry:!1,border:f,error:m&&!c,id:"consent",isRadio:!1,isSelected:c,label:_,onUserInputChanged:({selected:v})=>{v!==c&&C(!c)},useMobileStyling:g}),I&&e.u("input",{"aria-label":S,"aria-placeholder":S,className:e.cc(e.getClasses("ul-consent-legal__name-input",g)),"data-gramm":"false",maxLength:250,name:"name",onBlur:v=>{v.currentTarget.style.borderColor=m&&!E?ne.ERROR_BORDER_COLOR:ne.DEFAULT_BORDER_COLOR},onFocus:v=>{v.currentTarget.style.borderColor=m&&!E?ne.ERROR_BORDER_COLOR:f},onInput:v=>{v.preventDefault(),v.stopPropagation(),x(v.currentTarget.value)},placeholder:S,style:m&&!E?{borderColor:ne.ERROR_BORDER_COLOR}:{},tabIndex:0,value:s})]}),e.u("div",{className:"ul-card__button-wrapper ul-card-vertical__button-wrapper",children:[e.u(a.Button,{className:M?"":"sprig-button-disabled",onClick:q,children:B}),t.required===!1&&!d&&e.u("button",{className:"ul-card-skip__button",onClick:v=>q(v,!0),children:e.getSkipButtonText(t)})]})]})})]},r)},Ee=({activeValue:n,border:i,icon:u,isPressed:t,onSubmit:r,range:o,scaleLabelType:g,selectedValue:f,setSelectedValue:d,setActiveValue:h,setIsPressed:c,useMobileStyling:C,value:s,viewDocument:x})=>{const{isLongFormSurvey:m,enableCspTrustedTypes:y}=e.useConfig(w=>({isLongFormSurvey:ee.isLongFormSurvey(w.studyType),enableCspTrustedTypes:w.enableCspTrustedTypes})),b=`option-${s}`,I=g==="number",S=g==="star",_=g==="smiley",B=I&&s===n||s===f,[E,M]=(()=>{const w=S&&f!==null&&s<=f;return S&&s<=n||_&&s===n||w||s===n||s===f?[i,t||w||s===f?1:.3]:["",1]})(),q=e.F(()=>{const w={borderColor:B?E:"",fillOpacity:B?"":M,zIndex:B?3:"auto",color:f===s?"#fff":""};return I?{...w,backgroundColor:f===s?E:""}:{...w,color:S||_||f===s?E:""}},[B,E,M,f,s,I,S,_]),v=e.F(()=>ne.getHtml((({icon:w,scaleLabelType:F,value:T,selectedValue:L})=>{if(F==="smiley"&&T===L){let O=0;return w.replace(/black/g,()=>++O==1?"black":"white")}return w})({icon:u,scaleLabelType:g,value:s,selectedValue:f}),y),[y,u,g,f,s]);return e.u("button",{"aria-label":I?void 0:String(s),className:(()=>{switch(g){case"star":return e.cc(e.getClasses("likert-star",C),e.getClasses(`likert-star-${s}`,C));case"smiley":return e.cc(e.getClasses("likert-smiley",C),e.getClasses(`likert-smiley-${s}`,C));default:return s===o?e.cc(e.getClasses("likert-number",C),e.getClasses(`likert-number-${s}`,C),e.getClasses("likert-last-option",C)):e.cc(e.getClasses("likert-number",C),e.getClasses(`likert-number-${s}`,C))}})(),dangerouslySetInnerHTML:{__html:v},id:b,onClick:w=>{m&&(w.preventDefault(),w.stopPropagation(),d(s)),r()},onKeyDown:w=>{var L,O;const F=x.querySelectorAll(`.likert-${g??"number"}`),T=s-1;w.key==="ArrowRight"?(L=F[T+1])==null||L.focus():w.key==="ArrowLeft"?(O=F[T-1])==null||O.focus():w.key!=="Enter"&&w.key!==" "||(m&&(w.preventDefault(),w.stopPropagation(),d(s)),r())},onPointerDown:()=>c(!0),onPointerEnter:()=>h(s),onPointerLeave:()=>{h(-1),c(!1)},style:q,tabIndex:0})},Me=({className:n,labels:i,message:u,next:t,properties:r,questionId:o,type:g})=>{const{border:f,useMobileStyling:d,viewDocument:h,isLongFormSurvey:c,focusedQuestionId:C}=e.useConfig(T=>({border:T.border,useMobileStyling:T.useMobileStyling,viewDocument:T.viewDocument,isLongFormSurvey:ee.isLongFormSurvey(T.studyType),focusedQuestionId:T.focusedQuestionId})),[s,x]=e.h(-1),[m,y]=e.h(!1),[b,I]=e.h(null),S=c&&C===o,_=i&&i.left,B=i&&i.right;let E;const{range:M,scaleLabelType:q,ratingIcons:v}=r;M&&(E=Number(M));const w=E||5,F=T=>{var L,O;switch(q){case"star":return(L=v[0])==null?void 0:L.svg;case"smiley":return(O=v[T])==null?void 0:O.svg;default:return String(T+1)}};return e.u("form",{className:e.cc(n,"ul-card--likert","fade-in-transition",c&&!S&&"ul-card--unfocused"),children:[e.u(a.Header,{isRequired:c&&(r==null?void 0:r.required),message:u,properties:r}),e.u(a.MobileEmbedView,{properties:r,children:e.u(e.g,{children:[e.u(a.QuestionBodyWrapper,{children:[e.u("div",{"aria-label":`Rating (1 - ${w})`,className:"ul-card--likert__numbers",role:"radiogroup",children:[...Array(w)].map((T,L)=>{const O=L+1;return e.u(Ee,{activeValue:s,border:f,icon:F(L),isPressed:m,onSubmit:()=>t({value:O,questionId:o,type:g},!0),range:w,scaleLabelType:q,selectedValue:b,setActiveValue:x,setIsPressed:y,setSelectedValue:I,useMobileStyling:d,value:O,viewDocument:h},L)})}),e.u("div",{className:"ul-card--likert__labels",children:[e.u("span",{children:_}),e.u("span",{children:B})]})]}),!r.required&&!c&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-vertical-centered-container",children:e.u(a.Button,{onClick:T=>{T.preventDefault(),T.stopPropagation(),t({value:null,questionId:o,type:g},!0)},children:e.getButtonText(r)})})})]})})]},o)},_e=n=>n&&(n.scrollHeight>n.offsetHeight?n:_e(n.parentElement)),Pe=n=>{if(!n||!(u=>u instanceof HTMLElement)(n))return 0;const i=getComputedStyle(n);return parseFloat(i.marginTop)+parseFloat(i.marginBottom)+(parseFloat(i.borderTopWidth)+parseFloat(i.borderBottomWidth))},Fe=({columns:n,onSelect:i,options:u,selectedOptions:t})=>{const r=e._([]),{border:o,useMobileStyling:g}=e.useConfig(s=>({border:s.border,useMobileStyling:s.useMobileStyling})),f=u.findIndex(s=>t[s.id]===null),[d,h]=e.h(f),c=e.T((s,x)=>{i(s,x);const m=d+1,y=u[m];if(y&&t[y.id]===null){h(m);const b=r.current[d];if(b!=null&&b.firstElementChild){const I=_e(b),S=b.firstElementChild,_=Pe(b)+S.clientHeight;I==null||I.scrollTo(0,b.offsetTop+_)}}},[i,u,t,d]),C=e.T((s,x)=>{const m=d===s;return e.u(e.Accordion,{animate:!0,header:x.label,isOpen:m,onClick:()=>{var y;return h(m&&!((y=window.UserLeap)!=null&&y.isMobileSDK)?-1:s)},ref:y=>{y&&(r.current[s]=y)},showHeaderCheck:t[x.id]!==null,children:e.u("div",{style:{paddingTop:"12px"},children:n.map(y=>e.u(a.Option,{allowTextEntry:!1,ariaLabel:`${x.label}-${y.label}`,border:o,error:!1,id:`${x.id}-${y.value}`,isRadio:!0,isSelected:t[x.id]===y.value,label:y.label,onUserInputChanged:()=>c(x.id,y.value),useMobileStyling:g},y.label))})},x.id)},[o,n,d,c,t,g]);return e.u("div",{children:u.map((s,x)=>C(x,s))})},Oe=({columns:n,onSelect:i,options:u,selectedOptions:t})=>{const{border:r,useMobileStyling:o,isLongFormSurvey:g}=e.useConfig(m=>({border:m.border,useMobileStyling:m.useMobileStyling,isLongFormSurvey:ee.isLongFormSurvey(m.studyType)})),f=u.length,d=n.length,h=e._(null),[c,C]=e.h(!1),[s,x]=e.h(!1);return e.p(()=>{const m=h.current,y=new ResizeObserver(b=>{window.requestAnimationFrame(()=>{m&&(C(Math.round(b[0].contentRect.width)<m.scrollWidth),x(Math.round(b[0].contentRect.width)<m.scrollWidth))})});return m&&y.observe(m),()=>{m&&y.unobserve(m)}},[]),e.u("div",{className:"ul-card--matrix_question_container",children:[e.u("div",{className:e.cc("ul-card--matrix_container",c&&"ul-matrix-scroll-gradient"),onScroll:()=>{(()=>{const m=h.current;m&&C(m.clientWidth+Math.abs(m.scrollLeft)<m.scrollWidth)})()},ref:h,children:e.u("div",{className:e.cc(g&&"ul-card--matrix_grid_longform","ul-card--matrix_grid"),style:`--numColumns: ${d}; --numRows: ${f+1};`,children:[e.u("div",{})," ",n.map(m=>e.u("div",{className:"ul-matrix-column-label",children:m.label},m.label)),u.map(m=>e.u(e.g,{children:[e.u("div",{"aria-label":m.label,className:"ul-matrix-row-label",children:m.label},m.label),e.u("div",{className:"ul-matrix-row-options",role:"radiogroup",children:n.map((y,b)=>{const I=b===d-1;return e.u("div",{className:e.cc("ul-matrix-option-wrapper",I&&"ul-matrix-last-option"),children:e.u(a.Option,{allowTextEntry:!1,ariaLabel:`${m.label}-${y.label}`,border:r,choiceStyle:{background:"transparent",border:"none",marginBottom:"0",padding:"0"},error:!1,id:`${m.id}-${y.value}`,isRadio:!0,isSelected:t[m.id]===y.value,onUserInputChanged:()=>i(m.id,y.value),useMobileStyling:o})},y.value)})})]}))]})}),(c||s)&&e.u("button",{className:s&&!c?"ul-matrix-scroll-arrow left":"ul-matrix-scroll-arrow",onClick:s&&!c?m=>{m.preventDefault();const y=h.current;if(y){const b=getComputedStyle(y).direction==="rtl";y.scrollTo({left:b?y.scrollWidth-y.clientWidth:0,behavior:"smooth"})}}:m=>{m.preventDefault();const y=h.current;if(y){const b=getComputedStyle(y).direction==="rtl";y.scrollTo({left:b?y.clientWidth-y.scrollWidth:y.scrollWidth,behavior:"smooth"})}},children:s&&!c?e.u(Qe,{}):e.u(Ue,{})})]})},Qe=()=>e.u("svg",{fill:"currentColor",height:"32",transform:"matrix(-1,0,0,1,0,0)",version:"1.1",viewBox:"0 0 256 256",width:"32",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z"})}),Ue=()=>e.u("svg",{fill:"currentColor",height:"32",viewBox:"0 0 256 256",width:"32",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z"})}),Ae=({className:n,message:i,next:u,options:t,properties:r,questionId:o,type:g,showIndividualSubmit:f=!1,onSubmitButtonClick:d})=>{const{useMobileStyling:h,isLongFormSurvey:c,focusedQuestionId:C,setFocusedQuestionId:s}=e.useConfig(q=>({useMobileStyling:q.useMobileStyling,isLongFormSurvey:ee.isLongFormSurvey(q.studyType),focusedQuestionId:q.focusedQuestionId,setFocusedQuestionId:q.setFocusedQuestionId})),x=r.matrixColumn,m=r.required,y=c&&C===o,b=q=>{q.preventDefault(),q.stopPropagation(),u({value:S,questionId:o,type:g},!0),d&&d()},I=t.reduce((q,v)=>(q[v.id]=null,q),{}),[S,_]=e.h(I),B=q=>m&&Object.values(q).every(v=>v==null),E=(q,v)=>{c&&u({value:{...S,[q]:v},questionId:o,type:g},!B({...S,[q]:v})),_(w=>({...w,[q]:v}))},M=r.displayMatrixAsAccordion||h;return e.u("form",{className:e.cc(n,!c&&"ul-card__matrix","fade-in-transition",c&&!y&&"ul-card--unfocused"),id:"text-form",onClick:()=>{y&&s(o)},onSubmit:b,children:[e.u(a.Header,{isRequired:c&&(r==null?void 0:r.required),message:i,properties:r}),e.u(a.MobileEmbedView,{properties:r,children:[e.u(a.QuestionBodyWrapper,{children:[M?e.u(Fe,{columns:x,onSelect:E,options:t,selectedOptions:S}):e.u(Oe,{columns:x,onSelect:E,options:t,selectedOptions:S}),f&&e.u(a.LongformSubmitButton,{handleSubmit:b,isSubmitDisabled:B(S)})]}),!c&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(a.Button,{disabled:B(S),children:e.getButtonText(r)})})})]})]},o)},Te=({className:n,message:i,onSubmit:u,options:t=[],properties:r,questionId:o,type:g,showIndividualSubmit:f=!1,onSubmitButtonClick:d})=>{const{border:h,useMobileStyling:c,isLongFormSurvey:C,focusedQuestionId:s,setFocusedQuestionId:x}=e.useConfig(p=>({border:p.border,useMobileStyling:p.useMobileStyling,isLongFormSurvey:ee.isLongFormSurvey(p.studyType),focusedQuestionId:p.focusedQuestionId,setFocusedQuestionId:p.setFocusedQuestionId})),m=C&&s===o,y=t.reduce((p,R)=>(p[R.id]={isSelected:!1},p),{}),[b,I]=e.h(y),S=g==="multiplechoice",_=r.required,B=t.find(p=>{var R;return(R=p.optionProperties)==null?void 0:R.noneOfTheAbove}),E=p=>Object.entries(p).some(([R,W])=>{var X;const z=t.find(l=>`${l.id}`===R),$=W.userText===void 0||W.userText.trim()==="";return((X=z==null?void 0:z.optionProperties)==null?void 0:X.allowsTextEntry)&&$&&W.isSelected}),M=p=>Object.values(p).filter(R=>R.isSelected).length,q=r.minSelect&&r.minSelect>0&&r.maxSelectMode===a.MaxSelectModes.Range&&M(b)<r.minSelect&&(_||M(b)>0),v=p=>E(p)||_&&!M(p)||!(R=>{const{minSelect:W=0,maxSelect:z=1/0,maxSelectMode:$}=r,X=M(R);switch($){case a.MaxSelectModes.Maximum:return X<=z;case a.MaxSelectModes.Range:return X===0||X>=W;default:return!0}})(p),w=Object.entries(b).some(([p,R])=>{var W,z;return R.isSelected&&((z=(W=t.find($=>`${$.id}`===p))==null?void 0:W.optionProperties)==null?void 0:z.allowsTextEntry)}),F=f&&(!S||w),T=p=>{Y(p.id,p.selected,p.userText,p.noneOfTheAbove),p.selected&&C&&!S&&!m&&x(o)},L=p=>{var R;return(r==null?void 0:r.maxSelectMode)!==a.MaxSelectModes.Unlimited&&M(b)===(r==null?void 0:r.maxSelect)&&!((R=b[p])!=null&&R.isSelected)},O=p=>{p.preventDefault(),p.stopPropagation(),u(b,!0),d&&d()},Y=(p,R,W,z)=>{const $=Object.assign({},b);if((S||z)&&R)for(const k of Object.values($))k.isSelected=!1,delete k.userText;else B&&!z&&b[B.id].isSelected&&($[B.id].isSelected=!1);$[p]={isSelected:R,userText:W};const X=S&&Object.entries($).some(([k,D])=>{var Q,U;return D.isSelected&&((U=(Q=t.find(G=>`${G.id}`===k))==null?void 0:Q.optionProperties)==null?void 0:U.allowsTextEntry)}),l=!v($);C&&(u($,l),S&&!X&&l&&d&&d()),I($)};return e.u("form",{className:e.cc(n,"ul-card--multiple","fade-in-transition",C&&!m&&"ul-card--unfocused"),id:"text-form",onClick:g==="multipleselect"?()=>{C&&s!==o&&g==="multipleselect"&&x(o)}:void 0,onSubmit:O,children:[e.u(a.Header,{isRequired:C&&(r==null?void 0:r.required),message:i,properties:r}),e.u(a.MobileEmbedView,{properties:r,children:e.u(e.g,{children:[e.u(a.QuestionBodyWrapper,{children:[r.isDropdown?e.u(a.Select,{disabledOptions:t.filter(p=>L(p.id)),dropdownFooter:q?e.u("div",{className:"ul-card__min-select-counter",style:{marginLeft:"16px"},children:[M(b),"/",r.minSelect]}):void 0,isMultiSelect:!S,multiselectText:r.dropdownMultiselectedText??"choices selected",onChange:p=>{const R={...b};for(const W of t)p.includes(W)?R[W.id].isSelected=!0:R[W.id].isSelected=!1;C&&u(R,!v(R)),I(R)},options:t,placeholderText:r.dropdownPlaceholderText??(S?"Select choice":"Select choice(s)"),value:t.filter(p=>b[p.id].isSelected)}):e.u("div",{className:e.cc(e.getClasses("ul-card__choices",c)),role:S?"radiogroup":"group",children:[t.map(({id:p,label:R,value:W,optionProperties:z})=>{var D,Q;const $=`${p}`,{allowsTextEntry:X,noneOfTheAbove:l}={allowsTextEntry:!1,noneOfTheAbove:!1,...z};return e.u(a.Option,{allowTextEntry:X,border:h,disabled:L($),error:(k=b,E(k)),id:$,isRadio:S,isSelected:!!((D=b[$])!=null&&D.isSelected),label:R,noneOfTheAbove:l,onUserInputChanged:T,promptText:"Please specify",text:(Q=b[p])==null?void 0:Q.userText,useMobileStyling:c,value:W},$);var k}),!!q&&e.u("div",{className:"ul-card__min-select-counter",children:[M(b),"/",r.minSelect]})]}),F&&e.u(a.LongformSubmitButton,{handleSubmit:O,isSubmitDisabled:v(b)})]}),!C&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(a.Button,{disabled:v(b),onClick:O,children:e.getButtonText(r)})})})]})})]},o)},He=n=>{const{questionId:i,type:u,next:t,options:r}=n,{setFocusedQuestionId:o}=e.useConfig(g=>({setFocusedQuestionId:g.setFocusedQuestionId}));return e.u(Te,{...n,onSubmit:(g,f)=>{var x;const d=Object.entries(g).find(([,m])=>m.isSelected)||[void 0,void 0],[h,c]=d,C=r.find(m=>`${m.id}`===h);!((x=C==null?void 0:C.optionProperties)!=null&&x.allowsTextEntry)||c!=null&&c.userText&&c.userText.trim()!==""||o(i);const s=c!=null&&c.userText?{[h]:{userText:c.userText}}:null;t({value:C&&h?{[h]:C.value}:{},secondaryValue:s,questionId:i,type:u},f)}})},$e=n=>{const{questionId:i,type:u,next:t}=n;return e.u(Te,{...n,onSubmit:(r,o)=>{const g=Object.entries(r).reduce((d,[h,c])=>(d[h]=c.isSelected,d),{}),f=Object.entries(r).reduce((d,[h,c])=>{if(!c.userText)return d;const C=d||{};return C[h]={userText:c.userText},C},null);t({value:g,secondaryValue:f,questionId:i,type:u},o)}})},Ve=({className:n,labels:i,message:u,properties:t,next:r,questionId:o,type:g})=>{const[f,d]=e.h(null),{border:h,useMobileStyling:c,viewDocument:C,isLongFormSurvey:s,focusedQuestionId:x}=e.useConfig(I=>({border:I.border,useMobileStyling:I.useMobileStyling,viewDocument:I.viewDocument,isLongFormSurvey:ee.isLongFormSurvey(I.studyType),focusedQuestionId:I.focusedQuestionId})),m=s&&x===o,y=i&&i.left,b=i&&i.right;return e.u("form",{className:e.cc(n,"ul-card--nps","fade-in-transition",s&&!m&&"ul-card--unfocused"),children:[e.u(a.Header,{isRequired:s&&(t==null?void 0:t.required),message:u,properties:t}),e.u(a.MobileEmbedView,{properties:t,children:[e.u(a.QuestionBodyWrapper,{children:[e.u("div",{className:"ul-card--nps__numbers",children:[...Array(11)].map((I,S)=>e.u("button",{className:e.cc(e.getClasses("nps-number",c),e.getClasses(`nps-number-${S}`,c)),id:`option-${S}`,onClick:_=>{s&&(_.preventDefault(),_.stopPropagation(),d(S)),r({value:S,questionId:o,type:g},!0)},onKeyDown:_=>{var E,M;const B=C.querySelectorAll("button.nps-number");_.key==="ArrowRight"?(E=B[S+1])==null||E.focus():_.key==="ArrowLeft"?(M=B[S-1])==null||M.focus():_.key!=="Enter"&&_.key!==" "||(s&&(_.preventDefault(),_.stopPropagation(),d(S)),r({value:S,questionId:o,type:g},!0))},onPointerDown:_=>{_.currentTarget.style.zIndex="2",_.currentTarget.style.borderColor=h},onPointerLeave:_=>{_.currentTarget.style.zIndex="auto",_.currentTarget.style.borderColor=ne.DEFAULT_BORDER_COLOR},style:f===S?{backgroundColor:h,color:"#fff"}:void 0,tabIndex:0,children:S},S))}),e.u("div",{className:"ul-card--nps__labels",children:[e.u("span",{children:y}),e.u("span",{children:b})]})]}),!t.required&&!s&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-vertical-centered-container",children:e.u(a.Button,{onClick:I=>{I.preventDefault(),I.stopPropagation(),r({value:null,questionId:o,type:g},!0)},children:e.getButtonText(t)})})})]})]},o)},We=n=>{const{className:i,message:u,next:t,properties:r,questionId:o,type:g,showIndividualSubmit:f=!1,onSubmitButtonClick:d}=n,h=g==="aidynamicfollowup"?n.loading:void 0,{border:c,useMobileStyling:C,update:s,isLongFormSurvey:x,focusedQuestionId:m,setFocusedQuestionId:y,isPreview:b}=e.useConfig(T=>({border:T.border,useMobileStyling:T.useMobileStyling,update:T.update,isLongFormSurvey:ee.isLongFormSurvey(T.studyType),focusedQuestionId:T.focusedQuestionId,setFocusedQuestionId:T.setFocusedQuestionId,isPreview:T.isPreview})),[I,S]=e.h(""),_=e._(null),B=x&&m===o;e.p(()=>{var T,L;x&&!b&&(B?(T=_.current)==null||T.focus():(L=_.current)==null||L.blur())},[x,B,b]);const E=I.trim(),M=r.required===!0&&!E,q=a.useAutoSize(_,()=>s()),v=T=>{T.preventDefault(),T.stopPropagation();const L=E.length>0,O=!r.required||L;t({value:I,questionId:o,type:g},O),d&&d(L)},w=r&&r.openTextPlaceholder?r.openTextPlaceholder:"";if(h==null&&g==="aidynamicfollowup")return e.u(e.g,{});const F=h?"Preparing your next question":u;return e.u("form",{className:e.cc(i,"ul-card-text","fade-in-transition",x&&!B&&"ul-card--unfocused"),id:"text-form",onClick:()=>{x&&m!==o&&y(o)},children:[e.u(a.Header,{isRequired:x&&(r==null?void 0:r.required),message:F,properties:r}),e.u(a.MobileEmbedView,{properties:r,children:e.u("div",{className:"ul-card-text",children:e.u(a.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":w,className:e.cc(!!h&&"ul-card-text__input__loading",e.getClasses("ul-card-text__input",C)),"data-gramm":"false",disabled:!!h,maxLength:5e3,name:"text",onBlur:T=>{T.currentTarget.style.borderColor=ne.DEFAULT_BORDER_COLOR},onChange:T=>{const{value:L}=T.currentTarget;if(q(),T.preventDefault(),T.stopPropagation(),S(L),x){const O=L.trim().length>0;t({value:L,questionId:o,type:g},O)}},onFocus:T=>{T.currentTarget.style.borderColor=c,y(o)},placeholder:w,ref:_,role:"textbox",tabIndex:0})}),r.footerHtml&&e.u(a.Html,{className:"footer",html:r.footerHtml}),f&&e.u(a.LongformSubmitButton,{handleSubmit:v,isSubmitDisabled:M}),e.u(a.QuestionBodyFooterContainer,{children:!x&&e.u(a.Button,{disabled:M||!!h,onClick:v,children:e.getButtonText(r)})})]})})})]},o)},ce=1,ke=2,Ie=3,le=n=>n.type==="av_permission",ve=n=>n.type==="screen_permission",Re=(n,i)=>n===void 0?ce:n?((u,t)=>!(le(t)?t.permissionDescriptors:[]).includes("camera")||u.getVideoTracks().length>0)(n,i)?Ie:ce:ke,ye={avStream:null,currentPage:null,mediaRecordingUids:null,nextQuestion:()=>{},passthroughData:void 0,recordingMediaTypes:void 0,screenPermissionRequested:!1,type:void 0},te=e.create(n=>({...ye,reset:()=>{n(ye)},updatePage:i=>{n(i)}}));function pe({currentPage:n,pages:i}){const{avStream:u,recordingMediaTypes:t,updatePage:r}=te.getState(),{recorderEventEmitter:o}=e.useConfig.getState();o.emit("av.permission",{"permission.descriptors":n.permissionDescriptors,"stream.ready":(g,f)=>{if(u===g)return;let d=n;if(g&&!n.permissionDescriptors.includes("camera")){const h=i.indexOf(n),c=f!=null&&f.active?h+2:h+1;f!=null&&f.active&&t&&o.emit("begin.recording",{"recording.media.types":t,"start.recording.callback":C=>r({mediaRecordingUids:C})}),d=i[c]}r({currentPage:d,avStream:g})}})}function me({status:n}){const{nextQuestion:i,passthroughData:u,mediaRecordingUids:t,reset:r}=te.getState(),{recorderEventEmitter:o,handleUploadUpdate:g,index:f}=e.useConfig.getState(),d={value:{taskStatus:n},type:"recordedtask",questionId:(u==null?void 0:u.questionId)||1};u&&o.emit("finish.task",{"begin.callback":h=>{g({mediaRecordingUid:h,isSubmitted:!0,progressPct:0,isComplete:!1})},"progress.callback":(h,c)=>{g({mediaRecordingUid:h,progressPct:c.detail,isSubmitted:!1,isComplete:!1})},"upload.callback":h=>{h&&g({mediaRecordingUid:h,isComplete:!0,isSubmitted:!0,progressPct:100})},"passthrough.data":u,"current.index":f,"task.response":d,"task.complete.callback":h=>{d.value.taskDurationMillisecond=h,t&&(d.value.mediaRecordingUids=t),r(),i(d)}})}function ge({pages:n,setIsRequestingPermission:i}){const{recorderEventEmitter:u,eventEmitFn:t}=e.useConfig.getState(),{updatePage:r,currentPage:o,recordingMediaTypes:g,screenPermissionRequested:f}=te.getState();if(!o)return;const d=n.indexOf(o);switch(o.type){case"av_permission":{const h=f?d+2:d+1;return f&&g&&u.emit("begin.recording",{"recording.media.types":g,"start.recording.callback":c=>{r({mediaRecordingUids:c})}}),void r({currentPage:n[h]})}case"screen_permission":return void u.emit("screen.permission",{"screen.permission.requested":i,"stream.ready.callback":(h,c)=>{const C=c?n[d+1]:o;c&&g&&u.emit("begin.recording",{"recording.media.types":g,"start.recording.callback":s=>{r({captureStream:c,mediaRecordingUids:s})}}),r({currentPage:C,screenPermissionRequested:!0,captureStream:c})}});case"start_task":return t("recorded.task.start"),u.emit("recorded.task.start"),u.emit("start.task"),void r({currentPage:n[d+1],screenPermissionRequested:!0});case"complete_task":return}}const Ne="ul-permission-graphics-container",we="ul-permission-body",Le=e.cc(Ne,"ul_recorded-task-inset-spacing"),ae=e.cc("ul-horizontal-button-container","ul-horizontal-button-container-left"),De=({richTextBody:n})=>e.u(a.Html,{className:"ul-rich-text-body",html:n,id:"ul-task-detail-container"}),ue=({required:n,skipButtonText:i,bottom:u=!1})=>n?null:e.u(a.Button,{className:e.cc(u&&"ul-skip-button-below","ul-button-inactive"),onClick:me.bind(null,{status:"abandoned"}),children:i||"Skip"}),he=n=>{const{avStream:i,captureStream:u,recordingMediaTypes:t,updatePage:r}=te.getState(),o=(t==null?void 0:t.includes("audio"))||(t==null?void 0:t.includes("video"));e.p(()=>{const g=setInterval(()=>{o&&i&&!i.active?r({avStream:null,currentPage:n[0]}):u&&u.active||r({captureStream:void 0,currentPage:n[o?1:0]})},1e3);return()=>clearInterval(g)},[i,u,o,n,t,r])},Ge=({content:n,pages:i,required:u})=>{const{buttonText:t,skipButtonText:r,taskDetail:o}=n;return he(i),e.u("div",{className:"ul-task-page",children:[o&&e.u(De,{richTextBody:o}),e.u("div",{className:ae,children:[e.u(a.Button,{onClick:ge.bind(null,{pages:i}),children:t}),e.u(ue,{required:u,skipButtonText:r})]})]},"start-task")},je=({content:n,pages:i,properties:u})=>{const{buttonText:t,skipButtonText:r}=n;return he(i),e.u("div",{className:"ul-task-page",children:[n.taskDetail&&e.u(De,{richTextBody:n.taskDetail}),e.u(a.MobileEmbedView,{properties:u,children:e.u("div",{className:ae,children:[e.u(a.Button,{className:"ul-complete-task-button",onClick:me.bind(null,{status:"completed"}),children:t}),e.u(a.Button,{className:e.cc("ul-button-inactive"),onClick:me.bind(null,{status:"given.up"}),children:r})]})})]},"complete-task")},Ze=({content:n,pages:i,required:u})=>{const{buttonText:t,skipButtonText:r}=n,[o]=e.useConfig(d=>[d.tabTitle]),[g,f]=e.h(!1);return e.u("div",{children:[e.u("div",{className:Le,children:[e.u("p",{style:{marginTop:"auto"},children:n.selectTabText}),e.u("div",{className:"ul-select-tab-container",children:e.u("p",{className:we,children:o})})]}),e.u("div",{className:u?"":ae,children:[e.u(a.Button,{disabled:g,onClick:ge.bind(null,{pages:i,setIsRequestingPermission:f}),children:t}),e.u(ue,{required:u,skipButtonText:r})]})]})},ze=({content:n})=>e.u(a.Html,{className:e.cc(Ne,"ul_permission_svg_container","ul_recorded-task-inset-spacing","ul-center-horizontally"),html:n.svg},"ul-permission-request-graphic"),Ye=({content:n,pages:i,required:u})=>{const{permissionDeniedHeadline:t,permissionDeniedBody:r,skipButtonText:o,tryAgainButtonText:g}=n,f=le(i[0])?i[0]:null;return e.p(()=>{const d=setInterval(()=>{f!==null&&pe({currentPage:f,pages:i})},1e3);return()=>clearInterval(d)},[f,i]),f?e.u("div",{children:[e.u("div",{className:Le,children:e.u("p",{className:"ul-av-permission-denied-paragraph",children:[e.u("span",{className:"ul-av-permission-denied-headline",children:t}),e.u("span",{className:we,children:r})]})}),e.u("div",{className:ae,children:[e.u(a.Button,{onClick:pe.bind(null,{currentPage:f,pages:i}),children:g}),e.u(ue,{required:u,skipButtonText:o})]})]}):null},Ke=({stream:n})=>e.u("video",{autoPlay:!0,className:e.cc("ul_recorded-task-inset-spacing"),id:"ul-record-task-video-preview",muted:!0,ref:i=>{i&&(i.srcObject=n||null)}}),Xe=({content:n,pages:i,required:u})=>{const{skipButtonText:t}=n,{avStream:r}=te.getState();return he(i),e.u("div",{children:[e.u(Ke,{stream:r}),e.u("div",{className:"ul-vertical-button-container-center",children:[e.u(a.Button,{onClick:ge.bind(null,{pages:i}),children:n.buttonText}),e.u(ue,{bottom:!0,required:u,skipButtonText:t})]})]})},Je=({properties:n})=>{const{pages:i,required:u}=n,{avStream:t,currentPage:r}=te.getState();if(r===void 0)return null;switch(r==null?void 0:r.type){case"av_permission":{const o=Re(t,r);return o===ce?e.u(ze,{content:r}):o===ke?e.u(Ye,{content:r,pages:i,required:u}):e.u(Xe,{content:r,pages:i,required:u})}case"screen_permission":return e.u(Ze,{content:r,pages:i,required:u});case"start_task":return e.u(Ge,{content:r,pages:i,required:u});case"complete_task":return e.u(je,{content:r,pages:i,properties:n});default:return null}},et=({className:n,properties:i,next:u,questionId:t})=>{const r=e.useConfig(),{surveyId:o,responseGroupUid:g,userId:f,update:d}=r,h=te(),{screenPermissionRequested:c}=h,C=te(b=>b.avStream);let s=te(b=>b.currentPage);s||(s=function({pages:b,userId:I,responseGroupUid:S,surveyId:_,questionId:B,next:E}){const{updatePage:M}=te.getState(),{eventEmitFn:q,recorderEventEmitter:v}=e.useConfig.getState(),w={questionId:B,surveyId:_,visitorId:I,responseGroupUid:S};let F=0;v.emit("recorded.task.permission.screen"),q("recorded.task.permission.screen"),v.emit("permission.status",{"permission.status.callback":(L,O,Y,p)=>{const R=b[F],{type:W}=R,z=["screen"];if(le(R)){const{permissionDescriptors:$}=R,X=$==null?void 0:$.includes("microphone"),l=$==null?void 0:$.includes("camera");X&&z.push("audio"),l&&z.push("video"),(L!=null&&L.active&&!l||L!=null&&L.active&&O)&&F++}ve(b[F])&&Y&&(F++,v.emit("begin.recording",{"recording.media.types":z,"start.recording.callback":$=>M({mediaRecordingUids:$})})),M({currentPage:b[F],avStream:L,screenPermissionRequested:Y,nextQuestion:E,type:W,passthroughData:w,recordingMediaTypes:z,captureStream:p})}});const T=b[F];return T.type==="av_permission"&&pe({currentPage:T,pages:b}),T}({questionId:t,surveyId:o,next:b=>{u(b,!0)},pages:i.pages,responseGroupUid:g,userId:f}));let x=s.headline,m=s.captionText;const y=Re(C,s);return ve(s)&&c&&(x=s.permissionDeniedHeadline,m=s.permissionDeniedCaptionText),le(s)&&y===Ie&&(x=s.permissionGrantedHeadline,m=s.permissionGrantedCaptionText),e.p(()=>{d()},[d]),e.u("div",{className:e.cc(n,"ul-center-horizontally","fade-in-transition"),children:[e.u(a.Header,{isRequired:i==null?void 0:i.required,message:x,properties:{captionText:m}}),e.u(a.QuestionBodyWrapper,{children:e.u(Je,{properties:i})})]})},tt=({richTextBody:n,plaintextBody:i})=>n?e.u(a.Html,{className:"ul-rich-text-body",html:n,id:"ul-card__text-url-body-container"}):i?e.u("div",{className:"ul-rich-text-body",id:"ul-card__text-url-body-container",children:(i?i.split(/\n\s*\n/g):[]).map((u,t)=>e.u("p",{children:u},t))}):null,rt=({className:n,message:i,next:u,properties:t,questionId:r,type:o})=>{const{visitorAttributes:g,isLongFormSurvey:f}=e.useConfig(C=>({visitorAttributes:C.visitorAttributes,isLongFormSurvey:ee.isLongFormSurvey(C.studyType)})),d=(C,s=!1)=>{u({value:s?{skipped:!0}:void 0,questionId:r,type:o},!0)},h=a.getAttributedUrl(t&&t.buttonUrl,g),c=f&&t.promptActionType===a.PromptActionTypeEnum.NO_BUTTON;return e.u("div",{className:e.cc(n,"ul-card__text-url-prompt","fade-in-transition"),children:[e.u(a.Header,{isRequired:f&&(t==null?void 0:t.required),message:i,properties:{questionHtml:t.questionHtml}}),e.u(a.QuestionBodyWrapper,{children:e.u(tt,{plaintextBody:t==null?void 0:t.body,richTextBody:t==null?void 0:t.richTextBody})}),e.u(a.MobileEmbedView,{properties:t,children:!c&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card-button-group",children:[e.u("a",{className:"ul-card-text__button ul-card__text-url-prompt-button",href:h,id:"ul-card-text__button",onClick:d,onKeyPress:C=>{C.key!=="Enter"&&C.key!==" "||u({value:void 0,questionId:r,type:o},!0)},rel:"noreferrer",role:h?"link":"button",tabIndex:0,target:"_blank",children:e.getButtonText(t)}),t.required===!1&&e.u("button",{className:"ul-card-skip__button",onClick:C=>d(0,!0),children:e.getSkipButtonText(t)})]})})})]},r)},nt=({className:n,questionId:i})=>{const{border:u,destroy:t,endCard:r,forceBrandedLogo:o,update:g}=e.useConfig(h=>({border:h.border,destroy:h.destroy,endCard:h.endCard,forceBrandedLogo:h.forceBrandedLogo,update:h.update}));e.p(()=>{setTimeout(()=>{t(ne.APP_ID)},o?4e3:2e3)},[t,o]);const f=r&&r.subheader?e.u("p",{className:"ul-caption",children:r.subheader}):null,d=r&&r.headline?r.headline:"";return e.p(()=>{g()},[g]),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:u,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:u,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(a.Header,{message:d}),f]})})},i)},se="ul-card-video__player_recorder",fe="ul-video-btn",de=0,Ce=1,it=({className:n,message:i,next:u,properties:t,questionId:r,type:o})=>{const{apiURL:g,envId:f,handleUploadUpdate:d,headers:h,responseGroupUid:c,surveyId:C,update:s,viewDocument:x,visitorId:m}=e.useConfig(p=>({apiURL:p.apiURL,envId:p.envId,handleUploadUpdate:p.handleUploadUpdate,headers:p.headers,responseGroupUid:p.responseGroupUid,surveyId:p.surveyId,update:p.update,viewDocument:p.viewDocument,visitorId:p.userId})),[y,b]=e.h(!1),[I,S]=e.h(null),[_,B]=e.h(null),[E,M]=e.h(de),[q,v]=e.h(null),[w,F]=e.h(null),T=t&&t.videoUrl,L=e.T(p=>{p&&v(p)},[v]);e.p(()=>{const p=new ResizeObserver(()=>{setTimeout(s,0)});return w&&p.observe(w),q&&p.observe(q),()=>{p.disconnect()}},[s,w,q]);const O=(p,R)=>{p===a.RECORDER.UPLOAD_STARTED?(S(R[a.RECORDER.UPLOAD_ID]),B(R[a.RECORDER.MEDIA_RECORDING_UID]),b(!0)):p===a.RECORDER.DELETE?(S(null),B(null),b(!1)):p===a.RECORDER.UPLOAD_PROGRESS?isNaN(R[a.RECORDER.UPLOAD_PROGRESS_PCT])?d({mediaRecordingUid:R[a.RECORDER.MEDIA_RECORDING_UID],isComplete:!0}):d({mediaRecordingUid:R[a.RECORDER.MEDIA_RECORDING_UID],progressPct:R[a.RECORDER.UPLOAD_PROGRESS_PCT]}):p===a.RECORDER.UPLOAD_FINISHED&&d({mediaRecordingUid:R[a.RECORDER.MEDIA_RECORDING_UID],isComplete:!0})},Y=p=>{p.preventDefault(),p.stopPropagation(),document.getElementById(se)&&a.stopRecording(se),I&&_?(d({mediaRecordingUid:_,isSubmitted:!0}),u({value:{mediaRecordingUid:_},questionId:r,type:o},!0)):u({value:null,questionId:r,type:o},!0)};return e.u("form",{className:e.cc(n,"ul-card--video","fade-in-transition"),id:"ul-video-interview-form",children:[e.u(a.Header,{isRequired:t==null?void 0:t.required,message:i,properties:t}),e.u(a.QuestionBodyWrapper,{children:[e.u("div",{id:"ul-question-player-container",ref:L,style:{display:E===de?"":"none"},children:[e.u("div",{id:se,ref:p=>{if(p&&p.children.length===0&&!t.hideRecordedPrompt){F(p);const R=a.videoPlayer(se,{src:T,type:"application/x-mpegURL"},void 0,t.mediaType===a.RECORDER.MEDIA_TYPE_AUDIO,g,x);p.appendChild(R)}}}),e.u(a.MobileEmbedView,{properties:t,children:e.u("button",{className:`${fe} ul-record-response-btn`,onClick:p=>{p.preventDefault(),p.stopPropagation(),document.getElementById(se)&&a.pauseQuestionPlayer(se),M(Ce)}})})]}),e.u("div",{style:{display:E===Ce?"block":"none"},children:[e.u("button",{className:`${fe} ul-back-question-btn`,onClick:p=>{p.preventDefault(),p.stopPropagation(),M(de)},style:{display:t.hideRecordedPrompt?"none":"block"}}),e.u("div",{id:"ul-recorder-player-container",ref:p=>{if(p&&p.children.length===0){F(p);const R=a.videoRecorderPlayer(se,{surveyId:C,responseGroupUid:c,questionId:r,visitorId:m,envId:f},g,O,void 0,{...h,"x-ul-video-recorder-origin":"sdk"},t.mediaType===a.RECORDER.MEDIA_TYPE_AUDIO,x);p.appendChild(R)}}})]})]}),e.u(a.QuestionBodyFooterContainer,{children:[e.u(a.Button,{disabled:!y,onClick:Y,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:Y,style:{display:t.required?"none":"block",...y?{display:"none"}:{}},children:e.getSkipButtonText(t)})]})]})},st=({className:n})=>{const{uploadProgress:i}=e.useConfig(o=>({uploadProgress:o.uploadProgress}));let u,t;Object.values(i).filter(o=>o.isSubmitted).length>1?(u="Your responses are processing",t="Please keep this tab open until your responses are fully processed."):(u="Your response is processing",t="Please keep this tab open until your response is fully processed.");const r=Math.round(Math.min(99,...Object.values(i).filter(o=>o.isSubmitted).map(o=>o.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(a.Header,{message:`${u} (${r}% complete)`}),e.u("p",{className:"ul-caption",children:t})]})},qe=e.F$1(void 0),ot=({value:n,children:i})=>e.u(qe.Provider,{value:n,children:i}),lt=({isRightLabel:n,isLeftLabel:i})=>n?e.MaxDiffChoice.RIGHT:i?e.MaxDiffChoice.LEFT:null,at="Best",ut="Worst",dt=({className:n,labels:i,message:u,properties:t,options:r,questionId:o,type:g,next:f})=>{var B,E,M,q;const[d,h]=e.h(r.map((v,w)=>({...v,label:v.label===""?`Item ${w+1}`:v.label,isRightLabel:!1,isLeftLabel:!1}))),c=(()=>{const v=e.q(qe);if(v===void 0)throw new Error("usePreviousResponses must be used within a PreviousResponsesProvider");return v})(),C={padding:"24px",display:"flex",cursor:"pointer",width:"auto"},[s,x]=e.h(!1);e.p(()=>{const v=d.findIndex(R=>R.isRightLabel),w=d.findIndex(R=>R.isLeftLabel),F=v!==-1&&w!==-1;x(F);const T=!t.required||t.required&&F,L=d.map(R=>({id:R.id,option:R.label,selected:lt(R)})),O=Math.floor(o),Y=Object.keys(c).filter(R=>R.startsWith(O.toString())).map(Number).sort((R,W)=>R-W).at(-1),p=[];if(typeof Y=="number"){const R=c[Y],W=JSON.parse(R);p.push(...W)}p.push(L),setTimeout(()=>{f({value:p,questionId:o,type:g},T,F),x(!1)},F?500:0)},[d]);const{border:m,useMobileStyling:y,enableCspTrustedTypes:b}=e.useConfig(v=>({border:v.border,useMobileStyling:v.useMobileStyling,enableCspTrustedTypes:v.enableCspTrustedTypes})),I=(v,w)=>()=>{s||h(F=>((T,L,O)=>T.map(Y=>Y.id===L?{...Y,isRightLabel:O===e.MaxDiffChoice.RIGHT,isLeftLabel:O===e.MaxDiffChoice.LEFT}:O===e.MaxDiffChoice.RIGHT&&Y.isRightLabel||O===e.MaxDiffChoice.LEFT&&Y.isLeftLabel?{...Y,isRightLabel:!1,isLeftLabel:!1}:Y))(F,v,w))},S=(B=t.ratingIcons)==null?void 0:B[0].svg,_=(E=t.ratingIcons)==null?void 0:E[1].svg;return e.u("form",{className:e.cc(n,"ul-card-maxdiff","fade-in-transition"),children:[e.u(a.Header,{isRequired:t==null?void 0:t.required,message:u,properties:t}),e.u(a.QuestionBodyWrapper,{children:e.u("div",{className:"ul-card--maxdiff__question-inner-container",children:[e.u("div",{className:"ul-card-maxdiff__label",children:(i==null?void 0:i.left)||((M=t==null?void 0:t.labels)==null?void 0:M.left)||at}),e.u("div",{children:" "}),e.u("div",{className:"ul-card-maxdiff__label",children:(i==null?void 0:i.right)||((q=t==null?void 0:t.labels)==null?void 0:q.right)||ut}),d.map(({id:v,label:w,isLeftLabel:F,isRightLabel:T})=>e.u(e.g,{children:[e.u("div",{className:"ul-card-maxdiff__option-control "+(_?"smiley":""),children:_?e.u(xe,{ariaPressed:F,className:F?"ul-card-maxdiff__option-btn ul-card-maxdiff__option-selected good":"ul-card-maxdiff__option-btn",enableCspTrustedTypes:b,html:_,id:`smiley-good-${v}`,onClick:I(v,e.MaxDiffChoice.LEFT)}):e.u(a.Option,{allowTextEntry:!1,ariaLabel:`bestLabel-${w}`,border:m,choiceStyle:C,error:!1,id:`${v}`,isRadio:!0,isSelected:F,onUserInputChanged:I(v,e.MaxDiffChoice.LEFT),useMobileStyling:y})}),e.u("div",{className:"ul-card-maxdiff__option-label",children:w}),e.u("div",{className:"ul-card-maxdiff__option-control "+(S?"smiley":""),children:S?e.u(xe,{ariaPressed:T,className:T?"ul-card-maxdiff__option-btn ul-card-maxdiff__option-selected bad":"ul-card-maxdiff__option-btn",enableCspTrustedTypes:b,html:S,id:`smiley-bad-${v}`,onClick:I(v,e.MaxDiffChoice.RIGHT)}):e.u(a.Option,{allowTextEntry:!1,ariaLabel:`worstLabel-${w}`,border:m,choiceStyle:C,error:!1,id:`${v}`,isRadio:!0,isSelected:T,onUserInputChanged:I(v,e.MaxDiffChoice.RIGHT),useMobileStyling:y})})]}))]})})]},o)},xe=({enableCspTrustedTypes:n,ariaPressed:i,className:u,html:t,id:r,onClick:o})=>{const g=e.F(()=>ne.getHtml(t,n),[n,t]);return e.u("span",{"aria-pressed":i,className:u,dangerouslySetInnerHTML:{__html:g},id:r,onClick:o,tabIndex:0,type:"button"})},ct=({className:n,labels:i,message:u,next:t,properties:r,questionId:o,type:g,onSubmitButtonClick:f,options:d,showIndividualSubmit:h=!1})=>{const c=e._(null),C=e._(0),s=e._(0),x=e._(null),m=e._(!1),y=e._([]),[b,I]=e.h(()=>(r==null?void 0:r.required)===!0),[S,_]=e.h(()=>d.map(N=>({...N,rank:null}))),B=e.F(()=>Array.from({length:d.length},(N,H)=>H+1),[d.length]),{isLongFormSurvey:E,focusedQuestionId:M,setFocusedQuestionId:q,useMobileStyling:v,isPreview:w,headers:F}=e.useConfig(N=>({useMobileStyling:N.useMobileStyling,isLongFormSurvey:ee.isLongFormSurvey(N.studyType),focusedQuestionId:N.focusedQuestionId,setFocusedQuestionId:N.setFocusedQuestionId,isPreview:N.isPreview,headers:N.headers})),T=(F==null?void 0:F["userleap-platform"])==="android",L=v&&!w&&!T,O=!L&&!T,Y=E&&M===o,p=N=>{N.preventDefault(),k(S),f&&f()},R=(N,H)=>{_(A=>{const P=parseInt(H),V=A.map(j=>({...j}));V.some(j=>j.rank==null)&&V.forEach((j,oe)=>j.rank=oe+1);const J=V.findIndex(j=>j.id===N);if(J===-1)return A;const Z=V[J].rank;return P<Z?V.forEach(j=>{j.id!==N&&j.rank>=P&&j.rank<Z&&(j.rank=j.rank+1)}):P>Z&&V.forEach(j=>{j.id!==N&&j.rank>Z&&j.rank<=P&&(j.rank=j.rank-1)}),V[J].rank=P,V.sort((j,oe)=>j.rank-oe.rank),D(V),V})},W=(N,H)=>{for(let A=0;A<y.current.length;A++){const P=y.current[A];if(!P||P===x.current)continue;const V=P.getBoundingClientRect();if(N>=V.left&&N<=V.right&&H>=V.top&&H<=V.bottom)return{element:P,index:A}}return null},z=N=>H=>{if(!L)return;H.preventDefault(),H.stopPropagation(),m.current=!0,c.current=N;const A=H.touches[0];C.current=A.clientY,s.current=A.clientY;const P=H.currentTarget.closest(".ul-card-rank__option");P&&(x.current=P,P.classList.add("is-dragging"))},$=N=>{if(!L||!m.current||c.current===null)return;N.preventDefault(),N.stopPropagation();const H=N.touches[0];s.current=H.clientY;const A=s.current-C.current;x.current&&(x.current.style.transform=`translateY(${A}px)`,x.current.style.zIndex="1000"),y.current.forEach(V=>{V&&V!==x.current&&V.classList.remove("is-drop-target")});const P=W(H.clientX,H.clientY);P&&P.element.classList.add("is-drop-target")},X=N=>{if(!L||!m.current||c.current===null)return;N.preventDefault(),N.stopPropagation();const H=N.changedTouches[0],A=W(H.clientX,H.clientY);x.current&&(x.current.style.transform="",x.current.style.zIndex="",x.current.classList.remove("is-dragging")),y.current.forEach(P=>{P&&P.classList.remove("is-drop-target")}),A&&A.index!==c.current&&l(c.current,A.index),c.current=null,x.current=null,m.current=!1},l=(N,H)=>{_(A=>{const P=A.map(J=>({...J})),[V]=P.splice(N,1);return P.splice(H,0,V),P.forEach((J,Z)=>{J.rank=Z+1}),D(P),P})},k=N=>{const H={};N.reduce((A,P)=>(A[P.id]=P.rank,A),H),t({value:H,questionId:o,type:g},!0)},D=N=>{I(!1),E&&k(N)},{left:Q,right:U}=i,G=d.length,K=N=>{N.preventDefault(),N.currentTarget.classList.add("is-drop-target")},re=N=>{N.currentTarget.classList.remove("is-drop-target")},ie=N=>{c.current=null,N.currentTarget.classList.remove("is-dragging")};return e.u("form",{className:e.cc(n,"ul-card-rank","fade-in-transition",E&&!Y&&"ul-card--unfocused"),onClick:E?()=>{E&&M!==o&&q(o)}:void 0,onSubmit:p,children:[e.u(a.Header,{isRequired:r==null?void 0:r.required,message:u,properties:r}),e.u(a.MobileEmbedView,{properties:r,children:T?e.u(e.g,{children:[e.u(a.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 - ",Q]})}),e.u("ol",{className:"ul-card-rank__list",children:S.map(({id:N,label:H,rank:A})=>e.u("li",{className:"ul-card-rank__option",children:[e.u("select",{"aria-label":`Rank for ${H}`,className:e.cc("ul-card-rank__select",A==null&&"ul-card-rank__select--placeholder"),name:`rank[${N}]`,onChange:P=>R(N,P.currentTarget.value),value:A??"",children:[A==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),B.map(P=>e.u("option",{className:"ul-card-rank__select-option",value:P,children:P},`${P}-${o}`))]}),e.u("span",{children:H})]},N))}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[G," - ",U]})})]}),h&&e.u(a.LongformSubmitButton,{handleSubmit:p,isSubmitDisabled:b})]}),!E&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(a.Button,{disabled:b,children:e.getButtonText(r)})})})]}):e.u(e.g,{children:[e.u(a.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 - ",Q]})}),e.u("ol",{className:"ul-card-rank__list",onDragOver:T?void 0:N=>{N.preventDefault(),N.dataTransfer&&(N.dataTransfer.dropEffect="move")},children:S.map(({id:N,label:H,rank:A},P)=>{return e.u("li",{className:"ul-card-rank__option",draggable:!!O||void 0,onDragEnd:O?ie:void 0,onDragEnter:O?K:void 0,onDragLeave:O?re:void 0,onDragStart:O?(J=P,Z=>{c.current=J,Z.dataTransfer&&(Z.dataTransfer.effectAllowed="move",Z.dataTransfer.setData("text/plain",String(J)),Z.currentTarget.classList.add("is-dragging"))}):void 0,onDrop:O?(V=P,Z=>{var oe,be;Z.preventDefault(),Z.currentTarget.classList.remove("is-drop-target");const j=c.current;c.current=null,(be=(oe=Z.currentTarget.closest(".ul-card-rank__list"))==null?void 0:oe.querySelector(".is-dragging"))==null||be.classList.remove("is-dragging"),j!=null&&j!==V&&l(j,V)}):void 0,ref:Z=>y.current[P]=Z,children:[e.u("select",{"aria-label":`Rank for ${H}`,className:e.cc("ul-card-rank__select",A==null&&"ul-card-rank__select--placeholder"),name:`rank[${N}]`,onChange:Z=>R(N,Z.currentTarget.value),value:A??"",children:[A==null&&e.u("option",{className:"ul-card-rank__select-option",disabled:!0,value:"",children:"-"}),B.map(Z=>e.u("option",{className:"ul-card-rank__select-option",value:Z,children:Z},`${Z}-${o}`))]}),e.u("span",{children:H}),!T&&e.u("button",{"aria-label":`Drag ${H} to reorder`,className:"ul-card-rank__drag-btn",onTouchEnd:L?X:void 0,onTouchMove:L?$:void 0,onTouchStart:L?z(P):void 0,title:"Drag to reorder",type:"button",children:e.u("svg",{fill:"none",height:"17",viewBox:"0 0 16 17",width:"16",xmlns:"http://www.w3.org/2000/svg",children:e.u("path",{d:"M5.75 11.625C6.37132 11.625 6.875 12.1287 6.875 12.75C6.875 13.3713 6.37132 13.875 5.75 13.875C5.12868 13.875 4.625 13.3713 4.625 12.75C4.625 12.1287 5.12868 11.625 5.75 11.625ZM10.25 11.625C10.8713 11.625 11.375 12.1287 11.375 12.75C11.375 13.3713 10.8713 13.875 10.25 13.875C9.62868 13.875 9.125 13.3713 9.125 12.75C9.125 12.1287 9.62868 11.625 10.25 11.625ZM5.75 7.375C6.37132 7.375 6.875 7.87868 6.875 8.5C6.875 9.12132 6.37132 9.625 5.75 9.625C5.12868 9.625 4.625 9.12132 4.625 8.5C4.625 7.87868 5.12868 7.375 5.75 7.375ZM10.25 7.375C10.8713 7.375 11.375 7.87868 11.375 8.5C11.375 9.12132 10.8713 9.625 10.25 9.625C9.62868 9.625 9.125 9.12132 9.125 8.5C9.125 7.87868 9.62868 7.375 10.25 7.375ZM5.75 3.125C6.37132 3.125 6.875 3.62868 6.875 4.25C6.875 4.87132 6.37132 5.375 5.75 5.375C5.12868 5.375 4.625 4.87132 4.625 4.25C4.625 3.62868 5.12868 3.125 5.75 3.125ZM10.25 3.125C10.8713 3.125 11.375 3.62868 11.375 4.25C11.375 4.87132 10.8713 5.375 10.25 5.375C9.62868 5.375 9.125 4.87132 9.125 4.25C9.125 3.62868 9.62868 3.125 10.25 3.125Z",fill:"currentColor"})})})]},N);var V,J})}),e.u("div",{className:"ul-card-rank__labels",children:e.u("span",{children:[G," - ",U]})})]}),h&&e.u(a.LongformSubmitButton,{handleSubmit:p,isSubmitDisabled:b})]}),!E&&e.u(a.QuestionBodyFooterContainer,{children:e.u("div",{className:"ul-card__button-wrapper",children:e.u(a.Button,{disabled:b,children:e.getButtonText(r)})})})]})})]},o)},pt=new Set(["aidynamicfollowup","open","matrix","multipleselect","multiplechoice","rankorder"]),Se=({cardInstance:n,moveToNextQuestion:i,showIndividualSubmit:u,submitQuestion:t,updateCardValues:r,allResponsesArray:o})=>{const{isLongFormSurvey:g,createDynamicQuestion:f,cards:d,surveyVisitorAttributes:h}=e.useConfig(_=>({isLongFormSurvey:ee.isLongFormSurvey(_.studyType),createDynamicQuestion:_.createDynamicQuestion,cards:_.cards,surveyVisitorAttributes:_.surveyVisitorAttributes}));if(!n)return null;const{name:c,type:C,props:s,childId:x}=n,m=u&&pt.has(C),y=s==null?void 0:s.displayLogic,b=y==null?void 0:e.someDisplayLogicOptionMatches({displayLogic:y,allResponses:o,cards:d,surveyVisitorAttributes:h??{}});if(y&&y.length>0&&!b)return null;const I={className:"ul-card",next:(_,B,E=!0)=>t(_,B&&E),questionId:c,type:C,showIndividualSubmit:u,...m?{next:(_,B)=>{r(_.questionId,_,B??!0)},onSubmitButtonClick:(_=!1)=>{x?_?(i(c),f({parentQuestionId:c})):i(x):i(c)}}:{}},S=(()=>{switch(C){case"consentlegal":return e.u(Be,{...I,...s});case"likert":return e.u(Me,{...I,...s});case"matrix":return e.u(Ae,{...I,...s});case"maxdiff":return e.u(dt,{...I,...s});case"multiplechoice":return e.u(He,{...I,...s});case"multipleselect":return e.u($e,{...I,...s});case"nps":return e.u(Ve,{...I,...s});case"open":case"aidynamicfollowup":return e.u(We,{...I,type:n.type,...s});case"rankorder":return e.u(ct,{...I,...s});case"recordedtask":return e.u(et,{...I,...s});case"texturlprompt":return e.u(rt,{...I,...s});case"thanks":return e.u(nt,{...I,...s});case"uploading":return e.u(st,{...I,...s});case"videovoice":return e.u(it,{...I,...s});default:return null}})();return S?g?e.u("div",{className:"ul-card-scroll-wrapper",children:S},c):S:null},mt=({isSubmitDisabled:n=!1,onSubmit:i,buttonText:u})=>{var x;const{cards:t,forceBrandedLogo:r,index:o,marketingUrl:g,showSurveyBrand:f,slugName:d,surveyId:h,useMobileStyling:c}=e.useConfig(m=>({cards:m.cards,forceBrandedLogo:m.forceBrandedLogo,index:m.index,marketingUrl:m.marketingUrl,showSurveyBrand:m.showSurveyBrand,slugName:m.slugName,surveyId:m.surveyId,useMobileStyling:m.useMobileStyling})),C=((x=t[o])==null?void 0:x.type)==="thanks",s=e.buildMarketingUrl({marketingUrl:g,slugName:d,surveyId:h,forceBrandedLogo:r});return e.u("footer",{className:e.cc("long-form-question-footer-container",c&&"long-form-question-footer-container--mobile",C&&"long-form-question-footer-container-center"),children:[C&&r?e.u(e.ThankYouLink,{marketingUrlLink:s}):e.u("div",{className:"long-form-question-footer-container-logo",children:f?e.u(e.SprigBrandLogo,{forceBrandedLogo:r,marketingUrlLink:s}):null}),!C&&e.u("div",{className:e.cc("ul-card__button-wrapper","ul-card-vertical__button-wrapper","long-form-question-footer-container-actions"),children:e.u(a.Button,{className:e.cc("long-form-button",n&&"sprig-button-disabled"),disabled:n,onClick:i,children:e.u("span",{className:"long-form-button-text-container",children:u??e.u(e.Arrow,{stroke:"white"})})})})]})};exports.PageCard=({cards:n,next:i,previousResponses:u})=>{var X;const t=e._(null),[r,o]=e.h({}),[g,f]=e.h({}),{isLongFormSurvey:d,focusedQuestionId:h,setFocusedQuestionId:c,createDynamicQuestion:C,allResponses:s,cardIndexByName:x,surveyVisitorAttributes:m,cards:y,index:b}=e.useConfig(l=>({isLongFormSurvey:ee.isLongFormSurvey(l.studyType),focusedQuestionId:l.focusedQuestionId,setFocusedQuestionId:l.setFocusedQuestionId,createDynamicQuestion:l.createDynamicQuestion,allResponses:l.allResponses,cardIndexByName:l.cardIndexByName,surveyVisitorAttributes:l.surveyVisitorAttributes,cards:l.cards,index:l.index})),I=e.F(()=>({...u,...e.buildReadableResponseMap(n.map(l=>{var k,D;return{...l,value:((k=r[l.name])==null?void 0:k.value)??null,secondaryValue:((D=r[l.name])==null?void 0:D.secondaryValue)??null}}))}),[u,r,n]);e.useSetAllResponsesRaw(I);const S=e.pipeReadableResponsesIntoCards(n,I),_=e.F(()=>e.buildResponsesArrayForDisplayLogic({storeAllResponses:s,cards:n,cardValues:r,cardIndexByName:x}),[s,n,r,x]),B=e.F(()=>{const l=new Set;return n.forEach(k=>{var Q;const D=(Q=k.props)==null?void 0:Q.displayLogic;if(!D||D.length===0)return void l.add(k.name);e.someDisplayLogicOptionMatches({displayLogic:D,allResponses:_,cards:y,surveyVisitorAttributes:m??{}})&&l.add(k.name)}),l},[n,_,m,y]);e.p(()=>{if(!d||b<0||b>=n.length)return;const l=n[b];(l==null?void 0:l.name)!=null&&c(l.name)},[d,b,n,c]);const E=e._(null);e.p(()=>{const l=B,k=E.current;if(k!==null)for(const D of k)l.has(D)||(o(Q=>{const U={...Q};return delete U[D],U}),f(Q=>{const U={...Q};return delete U[D],U}));E.current=new Set(l)},[B]);const M=e._(null),q=e._(!1),v=e._(null),w=e.T(l=>{var U,G;q.current=!0;const k=n.findIndex(K=>K.name===l);if(!d||l===null||k===-1)return void(q.current=!1);const D=(U=M.current)==null?void 0:U.querySelectorAll(".ul-card-scroll-wrapper")[k],Q=(G=M.current)==null?void 0:G.closest(".ul-card-main-content");if(D&&Q){if(D&&Q){const K=D.getBoundingClientRect(),re=Q.getBoundingClientRect(),ie=K.top-re.top+Q.scrollTop,N=ie+K.height/2,H=window.innerHeight-157;let A;K.height>=H?A=ie:A=N-Q.clientHeight/2;const P=Q.clientHeight,V=Q.scrollHeight-P,J=Math.max(0,Math.min(A,V));Q.scrollTo({top:J,behavior:"smooth"}),setTimeout(()=>{q.current=!1},500)}}else q.current=!1},[d,n]);e.p(()=>{h!==null&&n.findIndex(l=>l.name===h)!==-1||c(n[0].name)},[n,h,c]);const F=({displayCard:l,response:k})=>{if(l&&((l==null?void 0:l.childId)??0)>0){const D=e.buildReadableResponseMap([l].map(Q=>({...Q,value:(k==null?void 0:k.value)??null,secondaryValue:(k==null?void 0:k.secondaryValue)??null})));C({parentQuestionId:l==null?void 0:l.name,parentResponseConfig:D})}};function T(l,k){return l.filter(D=>B.has(D.name)).map(D=>{const Q=k[D.name],U=S.find(G=>G.name===D.name);return{...Q,questionText:U?e.getProcessedQuestionText(U):void 0}})}const L=l=>{if(!d)return;let k=n.findIndex(D=>D.name===l)+1;for(;k<n.length&&!B.has(n[k].name);)k++;k<n.length?c(n[k].name):c(l)};e.p(()=>{d&&h!==null&&(v.current!==h?w(h):v.current=null)},[h,d,w]);const O=e.T(()=>{var re,ie;if(q.current)return;const l=(re=M.current)==null?void 0:re.closest(".ul-card-main-content");if(!l)return;const k=(ie=M.current)==null?void 0:ie.querySelectorAll(".ul-card-scroll-wrapper");if(!k||k.length===0)return;const D=l.getBoundingClientRect(),Q=D.top+D.height/2;let U=0,G=1/0;k.forEach((N,H)=>{const A=N.getBoundingClientRect(),P=A.top+A.height/2,V=Math.abs(Q-P);V<G&&(G=V,U=H)});const K=n[U];v.current=K.name,c(K.name)},[n,c]);e.p(()=>{var k;if(!d)return;const l=((k=M.current)==null?void 0:k.closest(".ul-card__container"))||null;return l&&l.addEventListener("scroll",O,{passive:!0}),()=>{l&&l.removeEventListener("scroll",O)}},[O,d]);const Y=e.F(()=>n.every(l=>{var k;return!B.has(l.name)||!(!(l!=null&&l.props)||!("properties"in l.props)||((k=l.props.properties)==null?void 0:k.required)!==!1)||g[l.name]}),[g,n,B]),p=async(l,k,D)=>{return f(U=>({...U,[l]:D})),await(Q=U=>({...U,[l]:k}),new Promise(U=>{o(G=>{const K=Q(G);return U(K),K})}));var Q};e.p(()=>{var Q;if(!d)return;const l=t.current,k=(Q=n==null?void 0:n[0])==null?void 0:Q.groupId;t.current=k;const D={};if(n.forEach(U=>{var G,K;a.appCardHasPropertiesWithRequired(U)&&(U.props.properties.required||(D[U.name]={value:((G=r[U.name])==null?void 0:G.value)??null,secondaryValue:((K=r[U.name])==null?void 0:K.secondaryValue)??null,questionId:U.name,type:U.type}))}),l==null||l!==k)o(D),f({});else{o(G=>({...G,...D}));const U=n.reduce((G,K)=>{var re;return K.type==="aidynamicfollowup"&&((re=K.props)==null?void 0:re.loading)===null&&(G[K.name]=!0),G},{});f(G=>({...G,...U}))}},[n,d]);const R=async(l,k)=>{if(d){const D=await p(l.questionId,l,k),Q=W(l.type),U=z(l.type);if(Q&&L(l.questionId),U&&k){const G=T(n,D);i(G)}}else{const D=S.find(U=>U.name===l.questionId),Q={...l,questionText:D?e.getProcessedQuestionText(D):void 0};F({displayCard:D,response:l}),i([Q])}},W=l=>new Set(["nps","likert","multiplechoice"]).has(l),z=l=>new Set(["videovoice","consentlegal","texturlprompt","maxdiff"]).has(l),$=((X=n[0])==null?void 0:X.type)==="thanks";return d?e.u("div",{className:"ul-card-list-container--longform","data-testid":"ui-container",ref:M,children:[e.u(ot,{value:u,children:S.map((l,k)=>e.u(Se,{allResponsesArray:_,cardInstance:l,moveToNextQuestion:L,showIndividualSubmit:d&&n.length>1&&k<n.length-1,submitQuestion:R,updateCardValues:p},(l==null?void 0:l.name)||k))}),!$&&e.u(mt,{isSubmitDisabled:!Y,onSubmit:function(){const l=T(n,r);if((S==null?void 0:S.length)===1&&(l==null?void 0:l.length)===1){const k=S[0],D=l[0];F({displayCard:k,response:D})}i(l)}})]}):e.u(e.g,{children:[e.u("div",{"data-testid":"ui-container",style:{display:"none"}}),S.map((l,k)=>e.u(Se,{allResponsesArray:_,cardInstance:l,moveToNextQuestion:L,showIndividualSubmit:d&&n.length>1&&k<n.length-1,submitQuestion:R,updateCardValues:p},(l==null?void 0:l.name)||k))]})};
|