@inploi/plugin-chatbot 14.5.0 → 14.7.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/cdn/index.js +5 -5
- package/dist/{chatbot-body-389badb2.js → chatbot-body-8d36637a.js} +1221 -1204
- package/dist/chatbot-body-95e99884.cjs +5 -0
- package/dist/chatbot.idb.d.ts +1 -0
- package/dist/chatbot.state.d.ts +11 -6
- package/dist/i18n.d.ts +12 -6
- package/dist/index-51cb9a4f.cjs +5 -0
- package/dist/{index-985be818.js → index-8090d2e3.js} +1101 -1086
- package/dist/interpreter.d.ts +6 -4
- package/dist/plugin-chatbot.cjs +1 -1
- package/dist/plugin-chatbot.js +1 -1
- package/package.json +5 -5
- package/dist/chatbot-body-1daebc9e.cjs +0 -5
- package/dist/index-94e88490.cjs +0 -5
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-51cb9a4f.cjs"),Ct=require("@inploi/sdk"),St=(e,r,t)=>{var s;return e.log({event:t,properties:{flow_id:r.id,flow_version:r.version,flow_session_id:r.data.flowSessionId,flow_build:r.build,flow_type:"CHATBOT_DRAWER",job:r.job},customProperties:(s=r.analytics)==null?void 0:s.customProperties})};var It=({condition:e,context:r,submissions:t,ifBlock:s})=>{let[a,...o]=e.compareKey.split(".");if(!a)return!1;let i=n.W({context:r,key:a,path:o,submissions:t});if(!i)return!1;switch(i.type){case"address":{let l=n.P(i.value,o);switch(e.compare){case"equals":return l===e.compareValue;case"contains":return typeof l!="string"?!1:l.includes(e.compareValue);case"notEquals":return l!==e.compareValue;case"notContains":return typeof l!="string"?!0:!l.includes(e.compareValue)}break}case"integration":{if(typeof i.value!="object"||Array.isArray(i.value))return!1;let l=n.P(i.value,o),c={...s,data:{compareKey:"_temp",compare:e.compare,compareValue:e.compareValue}};switch(typeof l){case"boolean":return De(c,{submissions:{_temp:{value:l,type:"boolean"}},context:r});case"string":return De(c,{submissions:{_temp:{value:l,type:"string"}},context:r});case"number":return De(c,{submissions:{_temp:{value:l,type:"number"}},context:r});case"object":return Array.isArray(l)&&l.every(h=>typeof h=="string")?De(c,{submissions:{_temp:{value:l,type:"enum"}},context:r}):!1}break}case"boolean":{let l=e.compareValue==="true";switch(e.compare){case"equals":return i.value===l;case"notEquals":return i.value!==l}break}case"phone":case"string":{let l=i.type==="phone"?n.Z(i.value):i.value;switch(e.compare){case"equals":return l===e.compareValue;case"contains":return l?l.includes(e.compareValue):!1;case"notEquals":return l!==e.compareValue;case"notContains":return l?!l.includes(e.compareValue):!0}break}case"number":{try{let l=Number(e.compareValue);switch(e.compare){case"equals":return i.value===l;case"notEquals":return i.value!==l;case"greaterThan":return i.value>l;case"greaterThanOrEqualTo":return i.value>=l;case"lessThan":return i.value<l;case"lessThanOrEqualTo":return i.value<=l}}catch{return console.error(`Failed to parse number in if-block ${s.id}`,i.value),!1}break}case"enum":switch(e.compare){case"equals":return i.value.length===1&&i.value[0]===e.compareValue;case"notEquals":return i.value.length===1&&i.value[0]!==e.compareValue;case"contains":return i.value.includes(e.compareValue);case"notContains":return!i.value.includes(e.compareValue)}break}},De=(e,{context:r,submissions:t})=>{let s="combinator"in e.data?e.data.conditions:[e.data];if(("combinator"in e.data?e.data.combinator:"and")==="or"){for(let a of s)if(It({condition:a,context:r,submissions:t,ifBlock:e}))return!0;return!1}else{for(let a of s)if(!It({condition:a,context:r,submissions:t,ifBlock:e}))return!1;return!0}},Nr=/{{\s*([^}]+?)\s*(?:\|\s*([^}]+?)\s*)?}}/g,Tr=(e,{context:r,submissions:t})=>e.replace(Nr,(s,a,o="")=>{let[i,...l]=a.trim().split("."),c=n.W({key:i,path:l,submissions:t,context:r});if(!c)return o;switch(c.type){case"boolean":return c.value===!0?"true":"false";case"file":return c.value.map(h=>`${h.name} (${n.Y(h.sizeKb)})`).join(", ");case"enum":return c.value.join(", ");case"address":return Object.values(c.value).filter(h=>h&&h.trim().length>0).join(", ");case"number":case"string":return c.value?c.value.toString():o;case"phone":return n.Z(c.value);case"integration":{if(typeof c.value!="object"||Array.isArray(c.value))break;let h=n.P(c.value,l);switch(typeof h){case"boolean":return h===!0?"true":"false";case"string":return h;case"number":return h.toString();case"object":if(Array.isArray(h)&&h.every(b=>typeof b=="string"))return h.join(", ")}break}}return o});const Xt=({context:e,submissions:r})=>({context:e,submissions:r??{}}),ue=(e,r)=>Tr(e,Xt(r)),Lr=(e,r)=>De(e,Xt(r)),Yt=({node:e,nodes:r,stopWhen:t})=>{if((t==null?void 0:t(e))===!0)return e;const s=e.nextId?r.find(a=>a.id===e.nextId):void 0;if(s)return Yt({node:s,nodes:r,stopWhen:t})},Dr=({childNode:e,nodes:r})=>{const s=r.filter(a=>a.type==="if-block").find(a=>{if(!a.branchId)return!1;const o=r.find(l=>l.id===a.branchId);if(!o)return!1;const i=Yt({node:o,nodes:r,stopWhen:l=>l.id===e.id});return!(!i||i.id!==e.id)});if(s!=null&&s.nextId)return r.find(a=>a.id===s.nextId)},Or=({flow:e,analytics:r,logger:t,talentBankClient:s,context:a,apiClient:o,getSubmissions:i,getApplicationRecovery:l,setApplicationRecovery:c,chatService:h,persistWriteBarrier:b,onFlowEnd:x,onInterpret:p,t:m})=>{var I;let C=new AbortController;(I=e.data).startedWriteNodeIds??(I.startedWriteNodeIds=e.nodes.flatMap(y=>{var M,O;if(y.type!=="integration-application-submit"||!e.data.nodeHistory.includes(y.id))return[];const _=y.data.key?(M=i())==null?void 0:M[y.data.key]:void 0;return(_==null?void 0:_.type)==="integration"&&((O=n.te(_.value))==null?void 0:O.verdict)==="not_submitted"?[]:[y.id]}));const E={...r.service,log:y=>r.service.log({...y,customProperties:{...y.customProperties,...r.customProperties}})},V=async(y,_)=>{const F=C.signal;if(F.aborted)return;const M=i(),O=l(),K=(O==null?void 0:O.submitNodeId)===y.id?e.nodes.find(T=>{var q;return T.id===O.fileQuestionNodeId&&T.type==="question-file"&&((q=M==null?void 0:M[T.data.key])==null?void 0:q.type)!=="file"}):void 0;if(K)return V(K,_);p==null||p(y,_);try{await Rr({flow:e,analytics:E,logger:t,talentBankClient:s,apiClient:o,context:a,node:y,submissions:M,applicationRecovery:O,setApplicationRecovery:async T=>{if(!F.aborted)try{await c(T)}catch(q){t.error("Failed to persist application recovery",q)}},forceSubmitConfirmation:(O==null?void 0:O.submitNodeId)===y.id,persistWriteBarrier:b,signal:F,t:m,chat:{sendMessage:async T=>h.send({groupId:y.id,message:T,signal:F}),userInput:async T=>h.input({input:T,signal:F}),setSubmission:(T,q)=>{F.aborted||h.setSubmission(T,q)}},next:T=>{if(F.aborted)return;const q=(O==null?void 0:O.fileQuestionNodeId)===y.id?O.submitNodeId:T,L=q?e.nodes.find(D=>D.id===q):Dr({childNode:y,nodes:e.nodes});return L?V(L,y):x==null?void 0:x(y)},end:()=>{F.aborted||x==null||x(y)}})}catch(T){if(T instanceof n.AbortedError)return;throw T}};return{interpret:async y=>{const _=e.nodes.find(F=>F.id===y)??n.getHeadOrThrow(e.nodes);return V(_)},undo:y=>{var q;if((q=e.data.startedWriteNodeIds)!=null&&q.length||e.data.isFinished)return{removed:0};const _=n.getCorrectionNodeId(e),F=_?y.lastIndexOf(_):-1,M=e.nodes.find(L=>L.id===_);if(F===-1||!M)return{removed:0};const O=e.nodes.find(L=>L.id===y[y.length-1]);C.abort();const K=y.splice(F);e.data.messages=e.data.messages.filter(L=>!L.groupId||!K.includes(L.groupId)),e.data.currentInput=null;const T=i();for(const L of K.slice(1)){const D=e.nodes.find(w=>w.id===L);if(!(!D||!T||D.id===_)&&("key"in D.data&&D.data.key&&delete T[D.data.key],"keys"in D.data))for(const w of Object.values(D.data.keys))typeof w=="string"&&delete T[w]}return C=new AbortController,V(M,O),{removed:K.length}},abort:()=>{C.abort()}}};async function Rr(e){const r=e.node;switch(r.type){case"flow-section":return await e.chat.sendMessage({type:"system",variant:"info",text:r.data.title}),e.next(r.nextId);case"pre-apply-result":return as({...e,node:r});case"text":return Zr({...e,node:r});case"image":return Xr({...e,node:r});case"question-text":return Yr({...e,node:r});case"question-enum":return ts({...e,node:r});case"question-number":return Qr({...e,node:r});case"question-phone":return es({...e,node:r});case"question-boolean":return rs({...e,node:r});case"question-file":return ns({...e,node:r});case"question-address":return ss({...e,node:r});case"end-flow":return is({...e,node:r});case"if-block":return Jr({...e,node:r});case"jump":return $r({...e,node:r});case"link":return Hr({...e,node:r});case"integration-application-submit":return Gr({...e,node:r});case"add-submission":return jr({...e,node:r});case"integration-workflow-get":throw Error("Workflow should be unreachable");case"check-duplicate":return Br({...e,node:r});case"feedback":return Pr({...e,node:r});default:throw new Error(`Unknown node: ${JSON.stringify(r)}`)}}async function Pr({next:e,node:r}){e(r.nextId)}async function Br({next:e,node:r,talentBankClient:t,submissions:s,flow:a,logger:o,chat:i}){var c;let l={isDuplicate:!1};if(s&&t){const h=r.data.scope==="job"?(c=a.job)==null?void 0:c.id:void 0;if(r.data.scope==="company"||h!=null)try{l=await t.checkDuplicate({email:n.Q({key:r.data.email,submissions:s}).toString(),jobId:h,scope:r.data.scope})}catch(b){o.error("[check-duplicate]",b)}}i.setSubmission(r.data.key,{type:"integration",value:l}),e(r.nextId)}async function $r({next:e,node:r}){e(r.data.targetId)}async function jr({next:e,node:r,logger:t,submissions:s,context:a}){if(!s){t.error("Submissions not found");return}s[r.data.key]={type:"string",value:ue(r.data.value,{submissions:s,context:a})},e(r.nextId)}const qr=5e3,Qt=3e4,Ur=2e4,Wr=6e4,er=12e4,zr=60*6e4,Kr=(e,r,t)=>{if(!((t==null?void 0:t.retryable)===!0&&(t.providerStatus===429||t.providerStatus!==void 0&&t.providerStatus>=500||t.phase==="workflow"&&t.verdict==="not_submitted")))return{key:e,until:Date.now()+Qt};const a=((r==null?void 0:r.throttles)??0)+1,o=Math.min(a*Ur,Wr),i=(t.retryAfterSeconds??0)*1e3;return{key:e,until:Date.now()+Math.min(Math.max(o,i),er),throttles:a}};async function Gr({chat:e,next:r,end:t,node:s,logger:a,apiClient:o,submissions:i,analytics:l,flow:c,applicationRecovery:h,setApplicationRecovery:b,forceSubmitConfirmation:x,persistWriteBarrier:p,signal:m,t:C}){var I;if((I=c.data.startedWriteNodeIds)!=null&&I.includes(s.id)&&(h==null?void 0:h.submitNodeId)!==s.id)return await e.sendMessage({type:"system",variant:"warning",text:C("submission_unknown")}),t();const E=c.job?`${s.id}@${c.job.id_type}:${c.job.id}`:s.id,V=async y=>{var Fe,Ve,qe,Me,Ue,Ee,We;const _=((Fe=c.data.submitCooldown)==null?void 0:Fe.key)===E?c.data.submitCooldown:void 0;_&&(_.until=Math.min(_.until,Date.now()+(_.throttles?er:Qt)));const F=_==null?void 0:_.until;(y!==!0||F!==void 0&&F>Date.now())&&await e.userInput({type:"submit",key:void 0,config:{label:s.data.submitLabel,...F!==void 0&&{availableAt:F}}}),await e.sendMessage({type:"loading",text:C("submitting")});const{anonymous_id:M,session_id:O}=l.getSessionInfo();if(m.aborted)return;const K=((Ve=c.data.startedWriteNodeIds)==null?void 0:Ve.includes(s.id))===!0;if((h==null?void 0:h.submitNodeId)===s.id&&await b(void 0),K||(c.data.startedWriteNodeIds=[...c.data.startedWriteNodeIds??[],s.id]),await p().catch(B=>a.error("Failed to persist application write barrier",B)),m.aborted)return;let T;const q=setTimeout(()=>{T=(async()=>{await e.sendMessage({type:"text",author:"bot",text:C("submission_still_working")}),await e.sendMessage({type:"loading",text:C("submitting")})})().catch(B=>a.error("Failed to send submission progress message",B))},qr);let L;const D=await o.fetch("/flow/submit",{method:"POST",body:JSON.stringify({log_submit:!1,integration_id:s.data.integrationId,anonymous_id:M,session_id:O,job:c.job,flow_build:c.build,submissions:n._(c.nodes,n.J(i||{},s.data.submitKeys)),pre_apply:n.j(c.nodes,i||{},c.data.flowSessionId)})}).catch(B=>(L=B,Ct.isApiErrorWithData(B)?B.data:B));if(clearTimeout(q),await T,m.aborted)return;s.data.key&&e.setSubmission(s.data.key,{type:"integration",value:D});const w=n.te(D,L instanceof Ct.ApiError?L.status:void 0),N=c.data.failedAttemptAt;let j=N==null?void 0:N[E];N&&j!==void 0&&j>Date.now()&&(j=N[E]=Date.now());const G=j!==void 0&&Date.now()-j<zr||((qe=c.data.unconfirmedAttemptKeys)==null?void 0:qe.includes(E))===!0,J=n.ne(D);if(J&&l.log({event:"FLOW_SUBMIT",properties:{flow_id:c.id,flow_version:c.version,flow_session_id:c.data.flowSessionId,flow_build:c.build,service:J.service,response:J.response,flow_type:"CHATBOT_DRAWER",job:c.job,...(w==null?void 0:w.outcome)==="duplicate"&&{outcome:G?"duplicate_after_own_attempt":"duplicate"},...J.outcome&&{outcome:J.outcome}}}),(n.C(D)||(D==null?void 0:D.success)===!0)&&((Me=c.data.submitCooldown)==null?void 0:Me.throttles)!==void 0&&(delete c.data.submitCooldown.throttles,await p().catch(B=>a.error("Failed to persist submit cooldown reset",B))),n.C(D)){const{redirect_url:B,message:ze,button_text:Ne}=D.integration_response.data;await e.sendMessage({type:"text",author:"bot",text:ze??C("submission_redirect_message")});try{const oe=new URL(B);M&&!oe.searchParams.has("anonymous_id")&&oe.searchParams.set("anonymous_id",M),await e.sendMessage({type:"link",href:oe.toString(),text:Ne??C("complete_submission"),onClick:()=>{if(!O){a.error("session_id not set, cannot log FLOW_REDIRECT event");return}l.log({event:"FLOW_REDIRECT",properties:{flow_build:c.build,flow_id:c.id,flow_session_id:O,flow_version:c.version,href:oe.toString(),job:c.job}})}})}catch(oe){a.error(`Invalid redirect URL: ${B}`,oe),e.sendMessage({type:"system",variant:"error",text:C("redirect_url_error")})}return r(s.nextId)}const ye=n.V(D);if(ye)return await e.sendMessage({type:"system",variant:"success",text:ye.message??C("submission_pending")}),r(s.nextId);if((D==null?void 0:D.success)===!0)return s.data.skipConfirmation!==!0&&await e.sendMessage({type:"system",variant:"success",text:C("submission_completed")}),r(s.nextId);const ie=(w==null?void 0:w.phase)==="submit"&&w.verdict==="confirmed"&&w.code==="unreadable_document"&&typeof w.field=="string"&&w.status!==void 0&&w.status>=400&&w.status<500&&((Ue=i==null?void 0:i[w.field])==null?void 0:Ue.type)==="file"?w.field:void 0,ae=ie===void 0?void 0:c.nodes.find(B=>B.type==="question-file"&&B.data.key===ie);return ae||(c.data.submitCooldown=Kr(E,_,w)),(w==null?void 0:w.outcome)!=="duplicate"&&(c.data.failedAttemptAt={...c.data.failedAttemptAt,[E]:Date.now()},(Ee=c.data.unconfirmedAttemptKeys)!=null&&Ee.includes(E)&&(c.data.unconfirmedAttemptKeys=c.data.unconfirmedAttemptKeys.filter(B=>B!==E))),(w==null?void 0:w.verdict)==="not_submitted"||(w==null?void 0:w.outcome)==="duplicate"||(w==null?void 0:w.outcome)==="closed"?(K||(c.data.startedWriteNodeIds=(We=c.data.startedWriteNodeIds)==null?void 0:We.filter(B=>B!==s.id)),(h==null?void 0:h.submitNodeId)===s.id&&await b(h),await p().catch(B=>a.error("Failed to persist application write barrier release",B))):await p().catch(B=>a.error("Failed to persist submit cooldown",B)),w?(a.error(L??w.message),ae&&ie!==void 0?(e.setSubmission(ie,null),await b({fileQuestionNodeId:ae.id,submitNodeId:s.id}),await e.sendMessage({type:"system",variant:"error",text:C("submission_unreadable_document")}),r(ae.id)):w.outcome==="duplicate"?(await e.sendMessage({type:"system",variant:"info",text:C(G?"submission_duplicate_earlier_attempt":"submission_duplicate")}),V(!1)):w.outcome==="closed"?(await e.sendMessage({type:"system",variant:"info",text:C("submission_closed")}),V(!1)):w.outcome==="unknown"?(await e.sendMessage({type:"system",variant:"warning",text:C("submission_unknown")}),V(!1)):(w.phase==="workflow"||w.phase==="authentication")&&w.retryable===!0&&w.verdict==="not_submitted"?(await e.sendMessage({type:"system",variant:"error",text:C("submission_retryable")}),V(!1)):(await e.sendMessage({type:"system",variant:"error",text:C("submission_failed")}),t())):(a.error(L??D),await e.sendMessage({type:"system",variant:"error",text:C("submission_failed")}),t())};await V(x===!0?!1:s.data.skipConfirmation)}async function Hr({chat:e,next:r,node:t,submissions:s,context:a}){await e.sendMessage({type:"link",href:ue(t.data.href,{submissions:s,context:a}),text:ue(t.data.cta,{submissions:s,context:a})}),r(t.nextId)}async function Jr({submissions:e,next:r,node:t,context:s}){r(Lr(t,{submissions:e,context:s})?t.branchId:t.nextId)}async function Zr({chat:e,next:r,node:t,submissions:s,context:a}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.text,{submissions:s,context:a})}),r(t.nextId)}async function Xr({chat:e,next:r,node:t}){await e.sendMessage({author:"bot",type:"image",url:t.data.url,height:t.data.height,width:t.data.width}),r(t.nextId)}async function Yr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.question,{submissions:s,context:a})});const i=t.data.format==="phone"?await e.userInput({key:t.data.key,type:"phone",config:{optional:t.data.optional,placeholder:t.data.placeholder,minChars:t.data.minChars,maxChars:t.data.maxChars,submissionFormat:"text",defaultValue:{}}}):await e.userInput({key:t.data.key,type:"text",config:{optional:t.data.optional,placeholder:t.data.placeholder,format:t.data.format,maxChars:t.data.maxChars,minChars:t.data.minChars}});i===null?await e.sendMessage({type:"system",variant:"info",text:o("skipped")}):await e.sendMessage({author:"user",type:"text",text:i.type==="phone"?n.Z(i.value):i.value}),r(t.nextId)}async function Qr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.question,{submissions:s,context:a})});const i=await e.userInput({key:t.data.key,type:"number",config:{max:t.data.max,min:t.data.min,optional:t.data.optional,placeholder:t.data.placeholder,decimalCases:t.data.decimalCases}});i===null?await e.sendMessage({type:"system",variant:"info",text:o("skipped")}):await e.sendMessage({author:"user",type:"text",text:i.value.toString()}),r(t.nextId)}async function es({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.question,{submissions:s,context:a})});const i=await e.userInput({key:t.data.key,type:"phone",config:{minChars:t.data.minChars,defaultValue:{countryCode:t.data.defaultCountryCode},placeholder:t.data.placeholder,submissionFormat:"phone",optional:t.data.optional}});i===null?await e.sendMessage({type:"system",variant:"info",text:o("skipped")}):await e.sendMessage({author:"user",type:"text",text:i.type==="phone"?n.Z(i.value):i.value}),r(t.nextId)}async function ts({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.question,{submissions:s,context:a})});const i=await e.userInput({key:t.data.key,type:"multiple-choice",config:t.data});i.value.length===0?await e.sendMessage({type:"system",variant:"info",text:o("skipped")}):await e.sendMessage({author:"user",type:"text",text:t.data.options.filter(l=>i.value.includes(l.value)).map(l=>l.label).join(", ")}),r(t.nextId)}async function rs({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ue(t.data.question,{submissions:s,context:a})});const i=await e.userInput({key:t.data.key,type:"boolean",config:{optional:t.data.optional,labels:{true:t.data.trueLabel,false:t.data.falseLabel}}});i===null?await e.sendMessage({type:"system",variant:"info",text:o("skipped")}):await e.sendMessage({author:"user",type:"text",text:i.value===!0?t.data.trueLabel:t.data.falseLabel}),r(t.nextId)}async function ss({chat:e,next:r,node:t,t:s}){await e.sendMessage({author:"bot",type:"text",text:t.data.question});const a=await e.userInput({type:"address",key:t.data.key,config:{optional:t.data.optional,keys:t.data.keys,line2Required:t.data.line2Required,placeholder:t.data.placeholder}});if(a===null)await e.sendMessage({type:"system",variant:"info",text:s("skipped")});else{const o=Object.values(a.value).filter(i=>i&&i.trim().length>0).join(", ");await e.sendMessage({author:"user",type:"text",text:o})}return r(t.nextId)}async function ns({node:e,chat:r,next:t,submissions:s,context:a,t:o}){await r.sendMessage({author:"bot",type:"text",text:ue(e.data.question,{submissions:s,context:a})});const i=await r.userInput({key:e.data.key,type:"file",config:{optional:e.data.optional,extensions:e.data.extensions,fileSizeLimitKib:e.data.maxSizeKb??10*1024,allowMultiple:e.data.multiple===!0}});if(i===null)await r.sendMessage({type:"system",variant:"info",text:o("skipped")});else for(const l of i.value)await r.sendMessage({author:"user",type:"file",fileName:l.name,fileSizeKb:l.sizeKb});return t(e.nextId)}async function is({chat:e,end:r,node:t}){await e.sendMessage({type:"system",variant:"info",text:t.data.systemMessage}),r()}async function as({node:e,flow:r,submissions:t,chat:s,next:a,apiClient:o,analytics:i}){const l=n.I(r.nodes,t||{}),{answers:c,...h}=l;s.setSubmission(e.data.key,{type:"integration",value:h});const b=new AbortController,x=setTimeout(()=>b.abort(),5e3);if(o.fetch("/flow/pre-apply",{method:"POST",signal:b.signal,body:JSON.stringify({...i.getSessionInfo(),job:r.job,flow_build:r.build,pre_apply:n.j(r.nodes,t||{},r.data.flowSessionId)})}).catch(()=>{}).finally(()=>clearTimeout(x)),l.status!=="skipped"){const m=[l.status==="unavailable"?"We could not prepare your pre-apply summary. You can still continue to your application.":l.hasHardConcerns?e.data.messages.hard:l.hasAdvisoryConcerns?e.data.messages.advisory:e.data.messages.matched];for(const C of["hard","advisory"]){const E=c.filter(V=>!V.matched&&V.severity===C);E.length&&m.push((C==="hard"?"Role requirements":"Other things to consider")+`
|
|
2
|
+
`+E.map(V=>`• ${V.message}`).join(`
|
|
3
|
+
`))}await s.sendMessage({type:"text",author:"bot",text:m.join(`
|
|
4
|
+
|
|
5
|
+
`)}),l.hasHardConcerns&&e.data.alternativeLink&&await s.sendMessage({type:"link",href:e.data.alternativeLink.href,text:e.data.alternativeLink.label}),await s.userInput({type:"submit",key:void 0,config:{label:e.data.continueLabel}})}return a(e.nextId)}const _e=({class:e,...r})=>{const{t}=n.useTranslation();return n.o("button",{class:n.clsx("bg-accent-9 active:bg-accent-10 pointer-coarse:touch-hitbox fr flex-shrink-0 rounded-full p-2 text-white transition-all disabled:cursor-not-allowed disabled:opacity-50",e),type:"submit",...r,children:n.o("svg",{class:"block",width:"16",height:"16",viewBox:"0 0 16 16",fill:"transparent",stroke:"currentColor","stroke-linecap":"round","stroke-width":"2",children:[n.o("title",{children:t("send")}),n.o("path",{d:"M3.5 7.5L8 3L12.5 7.5"}),n.o("path",{d:"M8 4V13"})]})})};var de;function Je(e){return{lang:(e==null?void 0:e.lang)??(de==null?void 0:de.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(de==null?void 0:de.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(de==null?void 0:de.abortPipeEarly)}}var rt;function os(e){return rt==null?void 0:rt.get(e)}var st;function ls(e){return st==null?void 0:st.get(e)}var nt;function us(e,r){var t;return(t=nt==null?void 0:nt.get(e))==null?void 0:t.get(r)}function Ie(e){var t,s;const r=typeof e;return r==="string"?`"${e}"`:r==="number"||r==="bigint"||r==="boolean"?`${e}`:r==="object"||r==="function"?(e&&((s=(t=Object.getPrototypeOf(e))==null?void 0:t.constructor)==null?void 0:s.name))??"null":r}function Z(e,r,t,s,a){const o=a&&"input"in a?a.input:t.value,i=(a==null?void 0:a.expected)??e.expects??null,l=(a==null?void 0:a.received)??Ie(o),c={kind:e.kind,type:e.type,input:o,expected:i,received:l,message:`Invalid ${r}: ${i?`Expected ${i} but r`:"R"}eceived ${l}`,requirement:e.requirement,path:a==null?void 0:a.path,issues:a==null?void 0:a.issues,lang:s.lang,abortEarly:s.abortEarly,abortPipeEarly:s.abortPipeEarly},h=e.kind==="schema",b=(a==null?void 0:a.message)??e.message??us(e.reference,c.lang)??(h?ls(c.lang):null)??s.message??os(c.lang);b!==void 0&&(c.message=typeof b=="function"?b(c):b),h&&(t.typed=!1),t.issues?t.issues.push(c):t.issues=[c]}function ce(e){return{version:1,vendor:"valibot",validate(r){return e["~run"]({value:r},Je())}}}function cs(e,r){return Object.hasOwn(e,r)&&r!=="__proto__"&&r!=="prototype"&&r!=="constructor"}function ds(e,r){const t=[...new Set(e)];return t.length>1?`(${t.join(` ${r} `)})`:t[0]??"never"}function fs(e){if(e.path){let r="";for(const t of e.path)if(typeof t.key=="string"||typeof t.key=="number")r?r+=`.${t.key}`:r+=t.key;else return null;return r}return null}var hs=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}},ps=/^[\w+-]+(?:\.[\w+-]+)*@[\da-z]+(?:[.-][\da-z]+)*\.[a-z]{2,}$/iu;function tr(e,r){return{kind:"validation",type:"check",reference:tr,async:!1,expects:null,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement(t.value)&&Z(this,"input",t,s),t}}}function rr(e){return{kind:"validation",type:"email",reference:rr,expects:null,async:!1,requirement:ps,message:e,"~run"(r,t){return r.typed&&!this.requirement.test(r.value)&&Z(this,"email",r,t),r}}}function Oe(e,r){return{kind:"validation",type:"max_length",reference:Oe,async:!1,expects:`<=${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&t.value.length>this.requirement&&Z(this,"length",t,s,{received:`${t.value.length}`}),t}}}function sr(e,r){return{kind:"validation",type:"max_value",reference:sr,async:!1,expects:`<=${e instanceof Date?e.toJSON():Ie(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value<=this.requirement)&&Z(this,"value",t,s,{received:t.value instanceof Date?t.value.toJSON():Ie(t.value)}),t}}}function Se(e,r){return{kind:"validation",type:"min_length",reference:Se,async:!1,expects:`>=${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&t.value.length<this.requirement&&Z(this,"length",t,s,{received:`${t.value.length}`}),t}}}function nr(e,r){return{kind:"validation",type:"min_value",reference:nr,async:!1,expects:`>=${e instanceof Date?e.toJSON():Ie(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value>=this.requirement)&&Z(this,"value",t,s,{received:t.value instanceof Date?t.value.toJSON():Ie(t.value)}),t}}}function ut(e,r){return{kind:"validation",type:"regex",reference:ut,async:!1,expects:`${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement.test(t.value)&&Z(this,"format",t,s),t}}}function ct(e){return{kind:"transformation",type:"transform",reference:ct,async:!1,operation:e,"~run"(r){return r.value=this.operation(r.value),r}}}function ir(e){return{kind:"validation",type:"url",reference:ir,async:!1,expects:null,requirement(r){try{return new URL(r),!0}catch{return!1}},message:e,"~run"(r,t){return r.typed&&!this.requirement(r.value)&&Z(this,"URL",r,t),r}}}function ys(e,r,t){return typeof e.fallback=="function"?e.fallback(r,t):e.fallback}function ar(e,r,t){return typeof e.default=="function"?e.default(r,t):e.default}function or(e,r){return{kind:"schema",type:"array",reference:or,expects:"Array",async:!1,item:e,message:r,get"~standard"(){return ce(this)},"~run"(t,s){var o;const a=t.value;if(Array.isArray(a)){t.typed=!0,t.value=[];for(let i=0;i<a.length;i++){const l=a[i],c=this.item["~run"]({value:l},s);if(c.issues){const h={type:"array",origin:"value",input:a,key:i,value:l};for(const b of c.issues)b.path?b.path.unshift(h):b.path=[h],(o=t.issues)==null||o.push(b);if(t.issues||(t.issues=c.issues),s.abortEarly){t.typed=!1;break}}c.typed||(t.typed=!1),t.value.push(c.value)}}else Z(this,"type",t,s);return t}}}function lr(e){return{kind:"schema",type:"boolean",reference:lr,expects:"boolean",async:!1,message:e,get"~standard"(){return ce(this)},"~run"(r,t){return typeof r.value=="boolean"?r.typed=!0:Z(this,"type",r,t),r}}}function ur(e){return{kind:"schema",type:"number",reference:ur,expects:"number",async:!1,message:e,get"~standard"(){return ce(this)},"~run"(r,t){return typeof r.value=="number"&&!isNaN(r.value)?r.typed=!0:Z(this,"type",r,t),r}}}function pe(e,r){return{kind:"schema",type:"object",reference:pe,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return ce(this)},"~run"(t,s){var o;const a=t.value;if(a&&typeof a=="object"){t.typed=!0,t.value={};for(const i in this.entries){const l=this.entries[i];if(i in a||(l.type==="exact_optional"||l.type==="optional"||l.type==="nullish")&&l.default!==void 0){const c=i in a?a[i]:ar(l),h=l["~run"]({value:c},s);if(h.issues){const b={type:"object",origin:"value",input:a,key:i,value:c};for(const x of h.issues)x.path?x.path.unshift(b):x.path=[b],(o=t.issues)==null||o.push(x);if(t.issues||(t.issues=h.issues),s.abortEarly){t.typed=!1;break}}h.typed||(t.typed=!1),t.value[i]=h.value}else if(l.fallback!==void 0)t.value[i]=ys(l);else if(l.type!=="exact_optional"&&l.type!=="optional"&&l.type!=="nullish"&&(Z(this,"key",t,s,{input:void 0,expected:`"${i}"`,path:[{type:"object",origin:"key",input:a,key:i,value:a[i]}]}),s.abortEarly))break}}else Z(this,"type",t,s);return t}}}function Re(e,r){return{kind:"schema",type:"optional",reference:Re,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:r,get"~standard"(){return ce(this)},"~run"(t,s){return t.value===void 0&&(this.default!==void 0&&(t.value=ar(this,t,s)),t.value===void 0)?(t.typed=!0,t):this.wrapped["~run"](t,s)}}}function cr(e,r){return{kind:"schema",type:"picklist",reference:cr,expects:ds(e.map(Ie),"|"),async:!1,options:e,message:r,get"~standard"(){return ce(this)},"~run"(t,s){return this.options.includes(t.value)?t.typed=!0:Z(this,"type",t,s),t}}}function dr(e,r,t){return{kind:"schema",type:"record",reference:dr,expects:"Object",async:!1,key:e,value:r,message:t,get"~standard"(){return ce(this)},"~run"(s,a){var i,l;const o=s.value;if(o&&typeof o=="object"){s.typed=!0,s.value={};for(const c in o)if(cs(o,c)){const h=o[c],b=this.key["~run"]({value:c},a);if(b.issues){const p={type:"object",origin:"key",input:o,key:c,value:h};for(const m of b.issues)m.path=[p],(i=s.issues)==null||i.push(m);if(s.issues||(s.issues=b.issues),a.abortEarly){s.typed=!1;break}}const x=this.value["~run"]({value:h},a);if(x.issues){const p={type:"object",origin:"value",input:o,key:c,value:h};for(const m of x.issues)m.path?m.path.unshift(p):m.path=[p],(l=s.issues)==null||l.push(m);if(s.issues||(s.issues=x.issues),a.abortEarly){s.typed=!1;break}}(!b.typed||!x.typed)&&(s.typed=!1),b.typed&&(s.value[b.value]=x.value)}}else Z(this,"type",s,a);return s}}}function re(e){return{kind:"schema",type:"string",reference:re,expects:"string",async:!1,message:e,get"~standard"(){return ce(this)},"~run"(r,t){return typeof r.value=="string"?r.typed=!0:Z(this,"type",r,t),r}}}function ms(e,r,t){const s=e["~run"]({value:r},Je(t));if(s.issues)throw new hs(s.issues);return s.value}function gs(e,r){const t={};for(const s in e.entries)t[s]=!r||r.includes(s)?Re(e.entries[s]):e.entries[s];return{...e,entries:t,get"~standard"(){return ce(this)}}}function be(...e){return{...e[0],pipe:e,get"~standard"(){return ce(this)},"~run"(r,t){for(const s of e)if(s.kind!=="metadata"){if(r.issues&&(s.kind==="schema"||s.kind==="transformation")){r.typed=!1;break}(!r.issues||!t.abortEarly&&!t.abortPipeEarly)&&(r=s["~run"](r,t))}return r}}}function bs(e,r,t){const s=e["~run"]({value:r},Je(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}async function vs(e,r,t){const s=await e["~run"]({value:r},Je(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}const Ae=({error:e})=>!e||!e.message?null:n.o("div",{role:"alert",class:"text-error-11 flex max-w-full items-start gap-1 overflow-hidden rounded-2xl px-2 py-2",children:[n.o("svg",{class:"text-error-9 mt-0.5 h-4 w-4 shrink-0",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.o("circle",{cx:"8",cy:"8",r:"6.3",stroke:"currentColor","stroke-width":"1.4"}),n.o("rect",{x:"7",y:"4",width:"2",height:"5",fill:"currentColor"}),n.o("rect",{x:"7",y:"10",width:"2",height:"2",fill:"currentColor"})]}),n.o("p",{class:"break-words pr-1 text-sm",children:e.message})]}),ve=({class:e,...r})=>{const{t}=n.useTranslation();return n.o("button",{type:"button",class:n.clsx("fr touch-hitbox text-neutral-10 bg-neutral-1 ring-divider hover:ring-divider active:ring-interactive-bg-hover hover:text-neutral-12 active:text-neutral-12 hover:bg-divider active:bg-interactive-bg-hover flex flex-shrink-0 items-center justify-center gap-1 self-center rounded-full py-1 pl-2 pr-2.5 text-sm ring-1 transition-all",e),...r,children:[n.o("svg",{"aria-hidden":!0,class:"block",width:"16",height:"16",viewBox:"0 0 16 16",fill:"transparent",stroke:"currentColor","stroke-linecap":"round","stroke-width":"1.5",children:[n.o("title",{children:t("skip")}),n.o("path",{d:"M3.25 11.25A5 5 0 0 1 12 7"}),n.o("path",{d:"M13.25 4.5V8.25H9.5"})]}),t("skip")]})};var dt={Afghanistan:"93",Albania:"355",Algeria:"213","American Samoa":"1 684",Andorra:"376",Angola:"244",Anguilla:"1 264",Antarctica:"672","Antigua and Barbuda":"1 268",Argentina:"54",Armenia:"374",Aruba:"297",Australia:"61",Austria:"43",Azerbaijan:"994",Bahrain:"973",Bangladesh:"880",Barbados:"1 246",Belarus:"375",Belgium:"32",Belize:"501",Benin:"229",Bermuda:"1 441",Bhutan:"975",Bolivia:"591","Bosnia and Herzegovina":"387",Botswana:"267","Bouvet Island":"47",Brazil:"55","British Indian Ocean Territory":"246","British Virgin Islands":"1 284",Brunei:"673",Bulgaria:"359","Burkina Faso":"226",Burundi:"257","Cabo Verde":"238",Cambodia:"855",Cameroon:"237",Canada:"1","Caribbean Netherlands":"599","Cayman Islands":"1 345","Central African Republic":"236",Chad:"235",Chile:"56",China:"86","Christmas Island":"61","Cocos (Keeling) Islands":"61",Colombia:"57",Comoros:"269","Cook Islands":"682","Costa Rica":"506",Croatia:"385",Cuba:"53",Curaçao:"599",Cyprus:"357",Czechia:"420","Côte d'Ivoire":"225","Democratic Republic of the Congo":"243",Denmark:"45",Djibouti:"253","Dominican Republic":"1 809",Ecuador:"593",Egypt:"20","El Salvador":"503","Equatorial Guinea":"240",Eritrea:"291",Estonia:"372",Eswatini:"268",Ethiopia:"251","Falkland Islands (Islas Malvinas)":"500","Faroe Islands":"298",Fiji:"679",Finland:"358",France:"33","French Guiana":"594","French Polynesia":"689","French Southern and Antarctic Lands":"262",Gabon:"241",Georgia:"995",Germany:"49",Ghana:"233",Gibraltar:"350",Greece:"30",Greenland:"299",Grenada:"1 473",Guadeloupe:"590",Guam:"1 671",Guatemala:"502",Guernsey:"44",Guinea:"224","Guinea-Bissau":"245",Guyana:"592",Haiti:"509",Honduras:"504","Hong Kong":"852",Hungary:"36",Iceland:"354",India:"91",Indonesia:"62",Iran:"98",Iraq:"964",Ireland:"353","Isle of Man":"44",Israel:"972",Italy:"39",Jamaica:"1 876",Japan:"81",Jersey:"44",Jordan:"962",Kazakhstan:"7",Kenya:"254",Kiribati:"686",Kosovo:"383",Kuwait:"965",Kyrgyzstan:"996",Laos:"856",Latvia:"371",Lebanon:"961",Lesotho:"266",Liberia:"231",Libya:"218",Liechtenstein:"423",Lithuania:"370",Luxembourg:"352",Macao:"853",Madagascar:"261",Malawi:"265",Malaysia:"60",Maldives:"960",Mali:"223",Malta:"356","Marshall Islands":"692",Martinique:"596",Mauritania:"222",Mauritius:"230",Mayotte:"262",Mexico:"52",Micronesia:"691",Moldova:"373",Monaco:"377",Mongolia:"976",Montenegro:"382",Montserrat:"1 664",Morocco:"212",Mozambique:"258","Myanmar (Burma)":"95",Namibia:"264",Nauru:"674",Nepal:"977",Netherlands:"31","New Caledonia":"687","New Zealand":"64",Nicaragua:"505",Niger:"227",Nigeria:"234",Niue:"683","Norfolk Island":"672","North Korea":"850","North Macedonia":"389","Northern Mariana Islands":"1 670",Norway:"47",Oman:"968",Pakistan:"92",Palau:"680",Palestine:"970",Panama:"507","Papua New Guinea":"675",Paraguay:"595",Peru:"51",Philippines:"63","Pitcairn Islands":"64",Poland:"48",Portugal:"351","Puerto Rico":"1 787",Qatar:"974",Romania:"40",Russia:"7",Rwanda:"250",Réunion:"262","Saint Barthélemy":"590","Saint Helena, Ascension and Tristan da Cunha":"290","Saint Kitts and Nevis":"1 869","Saint Lucia":"1 758","Saint Martin":"590","Saint Pierre and Miquelon":"508","Saint Vincent and the Grenadines":"1 784",Samoa:"685","San Marino":"378","Saudi Arabia":"966",Senegal:"221",Serbia:"381",Seychelles:"248","Sierra Leone":"232",Singapore:"65","Sint Maarten":"1 721",Slovakia:"421",Slovenia:"386","Solomon Islands":"677",Somalia:"252","South Africa":"27","South Georgia and the South Sandwich Islands":"500","South Korea":"82","South Sudan":"211",Spain:"34","Sri Lanka":"94",Sudan:"249",Suriname:"597","Svalbard and Jan Mayen":"47",Sweden:"46",Switzerland:"41",Syria:"963","São Tomé and Príncipe":"239",Taiwan:"886",Tajikistan:"992",Tanzania:"255",Thailand:"66","The Bahamas":"1 242","The Gambia":"220","Timor-Leste":"670",Togo:"228",Tokelau:"690",Tonga:"676","Trinidad and Tobago":"1 868",Tunisia:"216",Turkmenistan:"993","Turks and Caicos Islands":"1 649",Tuvalu:"688",Türkiye:"90","U.S. Virgin Islands":"1 340",Uganda:"256",Ukraine:"380","United Arab Emirates":"971","United Kingdom":"44","United States":"1","United States Minor Outlying Islands":"1",Uruguay:"598",Uzbekistan:"998",Vanuatu:"678","Vatican City":"379",Venezuela:"58",Vietnam:"84","Wallis and Futuna":"681","Western Sahara":"212",Yemen:"967",Zambia:"260",Zimbabwe:"263","Åland Islands":"358"};const $e=n.cva("outline-divider ease-expo-out placeholder:text-neutral-10 text-neutral-12 focus-visible:outline-accent-7 caret-accent-9 bg-lowest py-1 text-base outline outline-2 transition-all",{variants:{optional:{true:"pr-16 pl-3",false:"pl-3 pr-3"}},defaultVariants:{optional:!1}}),xs="https://api.mapbox.com/search/searchbox/v1/suggest",ws="ZzRDWFU0dTZ3SF9aWk9RNGl6QzZaWS5RZmlFak13a0hPbGxXZXlNSGN5RUhObUJ6TXpSV08yUW5OdE5tSTZJU1lpd2lJb1JYYXRObmJ2Tm5iaGhHZWx4V1lpb2pJMUp5ZS5rcA==",_s=e=>atob(e).split("").reverse().join(""),fe=pe({name:re()}),ks=pe({suggestions:or(pe({full_address:Re(re()),place_formatted:Re(re()),name:Re(re()),mapbox_id:re(),context:gs(pe({address:fe,street:fe,neighborhood:fe,locality:fe,district:fe,place:fe,region:fe,postcode:fe,country:fe}))}))}),Cs=({logger:e,t:r})=>n.F(()=>{var s;const t=(s=n.store.current$.peek().flow)==null?void 0:s.data.flowSessionId;return t?{enabled:!0,getPredictions:async a=>{var x;const o=new URL(xs);o.searchParams.set("q",a),o.searchParams.set("session_token",t);const i=(x=n.store.current$.peek().flow)==null?void 0:x.locationOrigin;i&&i.lat!==void 0&&i.lng!==void 0&&i.lat>=-90&&i.lat<=90&&i.lng>=-180&&i.lng<=180&&o.searchParams.set("proximity",`${i.lng},${i.lat}`),o.searchParams.set("access_token",_s(ws));const c=await fetch(o);if(!c.ok)return e.error("Failed to get address details",c),{ok:!1,error:r("address_error")};const h=bs(ks,await c.json());if(h.success===!1)return e.error("Failed to parse address details",h.issues),{ok:!1,error:r("address_error")};const{suggestions:b}=h.output;return{ok:!0,data:b.map(p=>{var m,C,E,V,I,y,_,F,M;return{label:p.full_address??p.place_formatted??p.name??p.mapbox_id,id:p.mapbox_id,address:{line1:((m=p.context.address)==null?void 0:m.name)??((C=p.context.street)==null?void 0:C.name),line2:void 0,line3:((E=p.context.neighborhood)==null?void 0:E.name)??((V=p.context.locality)==null?void 0:V.name),city:((I=p.context.place)==null?void 0:I.name)??((y=p.context.district)==null?void 0:y.name),state:(_=p.context.region)==null?void 0:_.name,postcode:(F=p.context.postcode)==null?void 0:F.name,country:(M=p.context.country)==null?void 0:M.name}}})}}}:{enabled:!1}},[e,r]),At=e=>{const{t:r}=n.useTranslation();return n.o("button",{type:"button",class:"touch-hitbox text-neutral-10 hover:bg-neutral-4 hover:text-neutral-12 hover:border-neutral-5 relative flex items-center gap-1 rounded-[18px] border border-solid border-transparent px-3 py-1 pl-1.5 text-sm transition-colors",...e,children:[n.o("svg",{width:"16",height:"16",viewBox:"0 0 16 16",stroke:"currentColor","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.o("path",{d:"M10 3L5 8L10 13"})}),n.o("span",{children:r("back")})]})},Ss=({input:e,onSubmitSuccess:r,logger:t})=>{const{t:s}=n.useTranslation(),[a,o]=n.h(),{enabled:i,getPredictions:l}=Cs({logger:t,t:s}),[c,h]=n.h(i?"query":"manual"),[b,x]=n.h(""),[p,m]=n.h(),C=n._$1(),E=n._$1(),V=y=>{var F;if(n.invariant(i,"Query state should not be enabled"),y=y.trim(),y===((F=C.current)==null?void 0:F.query)||y===(p==null?void 0:p.query)&&p.status==="done")return;if(x(y),y===""){C.current=void 0,m(void 0);return}const _=C.current={query:y};m({query:y,status:"pending"}),l(y).then(M=>{C.current===_&&(C.current=void 0,m(M.ok?{query:y,status:"done",items:M.data}:{query:y,status:"failed",error:M.error}))},M=>{C.current===_&&(C.current=void 0,t.error("Failed to get address details",M),m({query:y,status:"failed",error:s("address_error")}))})},I=(y,_)=>{o(F=>({...F,[y]:_}))};switch(c){case"query":return n.invariant(i,"Query state should not be enabled"),n.o(Is,{input:e,onSkip:()=>r(null),onAddressSelect:y=>{if(y===""){C.current&&(C.current=void 0,m(void 0)),h("manual");return}const _=(p==null?void 0:p.status)==="done"?p.items.find(F=>F.id===y):void 0;_&&(E.current!==y&&o(_.address),E.current=y,h("details"))},onAddressSearch:V,lookup:p,query:b});case"details":return n.invariant(a!==void 0),n.o(Ft,{input:e,logger:t,onSubmitSuccess:r,addressFields:a,onFieldChange:I,actions:n.o(At,{onClick:()=>{h("query")}})});case"manual":return n.o(Ft,{logger:t,input:e,onSubmitSuccess:r,addressFields:a??{},onFieldChange:I,actions:i?n.o(At,{onClick:()=>{h("query")}}):e.config.optional?n.o(ve,{onClick:()=>r(null)}):void 0})}},Is=({input:e,onSkip:r,lookup:t,onAddressSelect:s,query:a,onAddressSearch:o})=>{const{t:i}=n.useTranslation(),l=n._$1(null);return n.y(()=>{l.current&&(l.current.focus(),l.current.select())},[]),n.o(n.k,{children:[n.o("form",{noValidate:!0,onSubmit:c=>{c.preventDefault();const b=new FormData(c.currentTarget).get("address");typeof b=="string"&&o(b)},class:"flex gap-2 p-2.5",children:[n.o("div",{class:"group relative flex-1",children:[n.o("input",{ref:l,name:"address",id:"chat-address",autocomplete:"address-line1 country-name postal-code",autoFocus:!0,placeholder:e.config.placeholder||i("address_search"),defaultValue:a,class:$e({optional:!!e.config.optional,className:"w-full rounded-full"})}),n.o("button",{type:"submit",class:"touch-hitbox text-neutral-12 hover:bg-neutral-3 fr absolute bottom-0 right-0 top-0 flex cursor-pointer items-center gap-1 rounded-full px-3 transition-all",children:[n.o("svg",{"aria-hidden":"true",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.o("g",{id:"inploi",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round",strokeWidth:"1.5",children:[n.o("circle",{cx:"7",cy:"7",r:"4"}),n.o("path",{d:"M10 10L13 13"})]})}),n.o("span",{class:"sr-only",children:i("search")})]})]}),e.config.optional&&n.o(ve,{class:"relative",onClick:r})]}),(t==null?void 0:t.status)==="failed"?n.o(Ae,{error:{message:t.error}}):null,n.o("p",{role:"status",class:(t==null?void 0:t.status)==="pending"||(t==null?void 0:t.status)==="done"&&t.items.length===0?"text-neutral-10 flex items-center gap-2 px-4 py-2 text-sm":"sr-only",children:(t==null?void 0:t.status)==="pending"?n.o(n.k,{children:[n.o(n.LoadingIndicator,{"aria-hidden":"true",class:"h-4 w-4 shrink-0"}),i("address_searching")]}):(t==null?void 0:t.status)==="done"&&t.items.length===0?i("address_no_results"):null}),n.o("ul",{children:[((t==null?void 0:t.status)==="done"?t.items:[]).map(c=>n.o("li",{children:n.o("button",{class:"text-neutral-11 fr hover:bg-neutral-3 focus-visible:bg-neutral-3 hover:text-neutral-12 border-b-neutral-3 flex w-full items-center border border-b border-solid border-transparent px-4 py-3 text-sm transition-colors duration-100",onClick:()=>{s(c.id)},children:[n.o("span",{class:"flex-grow",children:c.label}),n.o("svg",{class:"flex-none",width:"16",height:"16",viewBox:"0 0 16 16",stroke:"currentColor","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.o("path",{d:"M6 3L11 8L6 13"})})]})},c.id)),n.o("li",{children:n.o("button",{class:"text-neutral-11 fr hover:bg-neutral-3 focus-visible:bg-neutral-3 hover:text-neutral-12 border-b-neutral-3 flex w-full items-center border border-b border-solid border-transparent px-4 py-3 text-sm transition-colors duration-100",onClick:()=>{s("")},children:n.o("span",{class:"flex-grow",children:i("address_manual")})})},"")]})]})},it=["line1","line2","line3","city","state","postcode","country"],Ft=({addressFields:e,onFieldChange:r,onSubmitSuccess:t,actions:s,input:a})=>{const o=n._$1(null);n.y(()=>{if(o.current){const c=o.current.querySelector("input");c&&(c.focus(),c.select())}},[]);const i=Object.keys(dt),{t:l}=n.useTranslation();return n.o("form",{class:"flex flex-col px-2 pt-2",onSubmit:c=>{const h=c.currentTarget,b=[...h.querySelectorAll("input")].filter(m=>m.value!==""&&!m.value.trim());for(const m of b){m.value="";const C=it.find(E=>a.config.keys[E]===m.name);C&&r(C,"")}if(b.length>0&&!h.checkValidity()){c.preventDefault(),h.reportValidity();return}const x=new FormData(h),p=Object.fromEntries(x.entries());t({type:"address",value:p})},children:[n.o("div",{class:"bg-neutral-3 border-neutral-5 grid items-center gap-1.5 rounded-2xl border pb-2 pl-4 pr-3 pt-3 [grid-template-columns:min-content_1fr]",ref:o,children:it.map((c,h)=>{const b=`isdk_${c}`,x=a.config.keys[c];return x?n.o(n.k,{children:[n.o("label",{for:b,class:"text-neutral-9 [&:has(+*>input:focus)]:text-neutral-11 w-24 pb-2 text-xs uppercase leading-3 tracking-widest transition-colors",children:l(c)}),n.o("div",{class:"flex flex-col items-stretch gap-1.5",children:[c==="country"?n.o("div",{class:"relative",children:[n.o("select",{class:"text-neutral-12 hover:bg-neutral-4 placeholder:text-neutral-8 focus:bg-neutral-5 w-full flex-1 appearance-none rounded-lg border-solid bg-transparent bg-none px-3 py-1.5 text-base transition-colors focus:outline-none",name:x,id:b,defaultValue:e[c],onChange:p=>r(c,p.currentTarget.value),required:!0,children:[e.country&&!i.includes(e.country)?n.o("option",{value:e[c],children:e[c]}):n.o("option",{value:"",children:l("select_country")}),i.map(p=>n.o("option",{value:p,children:p},p))]}),n.o("svg",{class:"text-neutral-12 absolute bottom-2.5 right-2 flex items-center justify-center",width:"16",height:"16",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.o("path",{d:"M4 6.5L8 10.5L12 6.5"})})]}):n.o("input",{autoFocus:h===0?!0:void 0,class:"text-neutral-12 hover:bg-neutral-4 placeholder:text-neutral-8 focus:bg-neutral-5 flex-1 rounded-lg border-solid bg-transparent px-3 py-1.5 text-base transition-colors autofill:shadow-[inset_0_0_0_1000px_hsl(210_16.7%_97.6%)] focus:outline-none",name:x,id:b,defaultValue:e[c],onInput:p=>r(c,p.currentTarget.value),required:c!=="line2"||a.config.line2Required===!0}),h===it.length-1?n.o("hr",{class:"m-0 w-full border-b border-b-transparent"}):n.o("hr",{class:"border-b-neutral-5 m-0 w-full border-b border-solid"})]})]}):null})}),n.o("div",{class:"bg-neutral-1 sticky bottom-0 flex items-center py-2",children:[s,n.o(_e,{class:"ml-auto"})]})]})},ft=()=>{const e=n._$1(null);return n.p(()=>{var r;(r=e.current)==null||r.focus()},[]),e},fr=["true","false"],As=cr(fr),Fs="answer",hr="flex items-center flex-wrap gap-2 p-2.5",pr="min-w-0 max-w-full flex-auto",yr=n.k$1(({label:e,...r},t)=>n.o("button",{class:"bg-lowest ease-expo-out ring-divider text-neutral-12 active:ring-accent-7 active:bg-accent-2 active:text-accent-11 fr block w-full overflow-hidden rounded-2xl px-2 py-2.5 ring-2 transition-all selection:bg-transparent",...r,ref:t,children:n.o("p",{class:"text-center text-base",children:e})})),Vs=({input:e,onSubmitSuccess:r})=>{const t=ft();return n.o("form",{noValidate:!0,class:"",onSubmit:s=>{s.preventDefault();const a=n.getFormSubmitter(s).value,o=ms(As,a);r({type:"boolean",value:o==="true"})},children:[n.o("ul",{class:hr,children:fr.map((s,a)=>n.o("li",{class:pr,children:n.o(yr,{ref:a===0?t:null,type:"submit",name:Fs,value:s,label:e.config.labels[s]},s)}))}),e.config.optional&&n.o("div",{class:"px-2 pb-2",children:n.o(ve,{class:"relative w-full",type:"button",onClick:()=>r(null)})})]})},Ms=e=>new Promise((r,t)=>{const s=new FileReader;s.onload=()=>{if(typeof s.result!="string"||!s.result)return t(new Error("Invalid file"));r(s.result)},s.onerror=t,s.readAsDataURL(e)}),Vt=e=>e.reduce((r,t)=>r+t.sizeKb,0),Es=n.isSubmissionOfType("file"),Mt=3,Ze=e=>{const r=e.lastIndexOf(".");return r===-1?[e,""]:[e.slice(0,r),e.slice(r)]},Ns=({file:e,class:r,...t})=>{const[s,a]=Ze(e.name);return n.o("div",{class:n.clsx("bg-accent-1 outline-accent-4 flex max-w-full gap-2 overflow-hidden rounded-lg px-3 py-2 text-sm outline",r),...t,children:[n.o("p",{"aria-label":"File name",class:"text-accent-12 flex flex-grow overflow-hidden",children:[n.o("span",{class:"block truncate",children:s}),n.o("span",{children:a})]}),n.o("p",{"aria-label":"File size",class:"text-accent-11",children:n.Y(e.sizeKb)})]})},Et=({class:e,...r})=>n.o("li",{class:n.clsx("outline-neutral-6 text-neutral-11 bg-neutral-1 block rounded-md px-1 py-0.5 text-xs outline outline-1",e),...r}),Ts=(e,r)=>{const[t,s]=Ze(e);return`${t.slice(0,r)}${s}`},Nt=e=>({name:Ts(e.name,42),sizeKb:e.size/1e3}),Ls=[".heic",".heif",".jpg",".jpeg",".png",".gif",".webp",".txt",".rtf",".odt",".pages",".zip"],Ds=(e,r,t)=>{const s=Ze(r.name)[1].toLowerCase(),a=[...t.map(i=>i.toLowerCase()),...Ls],o=s===""?"none":a.includes(s)?s:"other";return`chatbot-file-refused:${e}:${o}`},Os=({input:e,onSubmitSuccess:r,analytics:t})=>{var V;const s=(V=n.store.current$.value.flow)==null?void 0:V.data.submissions[e.key],[a,o]=n.h(Es(s)&&s.value.length?{status:"ready",files:s.value}:{status:"empty"}),i=n._$1(0),l=a.status==="ready"?a.files:[],c=a.status==="ready"||a.status==="pending"?a.files:[],h=a.status==="error"?a.error:void 0,b=c.length-Mt,x=Vt(c),p=ft(),{t:m}=n.useTranslation(),C=I=>{if(!I.length)return{reason:"required",error:{type:"required",message:m("validation_file")}};if(!n.X(I,e.config.extensions))return{reason:"type",file:I.find(y=>!n.X([y],e.config.extensions)),error:{type:"validate",message:m("validation_file_ext",{ext:e.config.extensions.join(", ")})}};if(e.config.fileSizeLimitKib&&Vt(I)>e.config.fileSizeLimitKib)return{reason:"size",error:{type:"max",message:m("validation_file_size",{size:n.Y(e.config.fileSizeLimitKib)})}};if(!e.config.allowMultiple&&I.length>1)return{reason:"count",error:{type:"invalid",message:m("validation_file_max",{count:1})}}},E=(I,y)=>{var _,F;return t.log({event:"INTERACTION",properties:{tag:Ds(I,y,e.config.extensions)},customProperties:(F=(_=n.store.current$.peek().flow)==null?void 0:_.analytics)==null?void 0:F.customProperties})};return n.o("form",{class:"flex flex-col gap-1 p-2.5",onSubmit:I=>{if(I.preventDefault(),a.status==="pending"||a.status==="error")return;const y=C(l);y?o({status:"error",error:y.error}):r({type:"file",value:l})},children:[n.o("div",{class:"flex items-center gap-2",children:[n.o("label",{ref:p,for:"dropzone-file",class:"border-neutral-8 bg-neutral-2 flex h-48 w-full cursor-pointer flex-col items-center justify-center overflow-hidden rounded-2xl border border-dashed p-4",children:[c.length>0?n.o("ul",{class:"flex max-w-full flex-wrap justify-center gap-1 overflow-hidden p-1",children:[c.slice(0,Mt).map(I=>{const[y,_]=Ze(I.name);return n.o(Et,{class:"flex overflow-hidden",children:[n.o("span",{class:"block truncate",children:y}),n.o("span",{children:_})]})}),b>0?n.o(Et,{children:["+",b," file",b!==1?"s":""]}):null]}):n.o("div",{class:"flex flex-col justify-center gap-4 pb-6 pt-5",children:[n.o("header",{class:"flex flex-col items-center gap-0",children:[n.o("svg",{class:"text-neutral-11 mb-1 h-8 w-8","aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 16",children:n.o("path",{stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M13 13h3a3 3 0 0 0 0-6h-.025A5.56 5.56 0 0 0 16 6.5 5.5 5.5 0 0 0 5.207 5.021C5.137 5.017 5.071 5 5 5a4 4 0 0 0 0 8h2.167M10 15V6m0 0L8 8m2-2 2 2"})}),n.o("p",{class:"text-neutral-12 tracking-[-0.01em]",children:m("upload_file",{count:e.config.allowMultiple?2:1})}),e.config.fileSizeLimitKib?n.o("p",{class:"text-neutral-10 text-xs",children:["(",m("file_max_size",{size:n.Y(e.config.fileSizeLimitKib)}),")"]}):null]}),n.o("aside",{class:"flex flex-col items-center gap-2",children:[n.o("p",{id:"accepted-filetypes",class:"sr-only",children:m("file_extensions")}),n.o("ul",{"aria-describedby":"accepted-filetypes",class:"flex flex-wrap justify-center gap-2",children:e.config.extensions.map(I=>n.o("li",{class:"ring-lowest outline-neutral-6 text-neutral-9 bg-neutral-1 rounded-md px-1 py-0.5 text-[11px] uppercase tracking-wide outline outline-1 ring-2",children:I.replace(".","")}))})]})]}),n.o("p",{role:"status",class:n.clsx("text-neutral-11 flex items-center gap-1.5 text-xs",c.length===0&&"sr-only"),children:a.status==="pending"?n.o(n.k,{children:[n.o(n.LoadingIndicator,{"aria-hidden":"true",class:"h-4 w-4"}),m("file_preparing",{count:c.length})]}):a.status==="ready"?n.o(n.k,{children:[n.Y(x)," ",l.length>1?"total":"",n.o("span",{class:"sr-only",children:[". ",m("file_ready",{count:l.length})]})]}):null}),n.o("input",{id:"dropzone-file",onInput:async I=>{n.invariant(I.target instanceof HTMLInputElement);const y=I.target.files?Array.from(I.target.files):[];I.target.value="";const[_]=y;if(!_)return;const F=++i.current,M=a.status==="ready",O=y.map(Nt),K=C(O);if(K)return E(K.reason,K.file??_),o({status:"error",error:K.error});o({status:"pending",files:O});let T;try{const q=await Promise.all(y.map(async L=>{try{return{...Nt(L),data:await Ms(L)}}catch(D){throw T??(T=L),D}}));i.current===F&&o({status:"ready",files:q})}catch{if(i.current!==F)return;E("unreadable",T??_),o({status:"error",error:{type:"invalid",message:m(M?"file_read_error_replacement":"file_read_error")}})}},multiple:e.config.allowMultiple,accept:e.config.extensions.join(","),type:"file",class:"sr-only"})]}),n.o("div",{class:"flex h-full flex-col items-center gap-2",children:[n.o(_e,{disabled:l.length===0}),e.config.optional&&n.o(ve,{class:"relative",onClick:()=>r(null)})]})]}),n.o(Ae,{error:h})]})};var je=e=>e.type==="checkbox",we=e=>e instanceof Date,ee=e=>e==null;const mr=e=>typeof e=="object";var z=e=>!ee(e)&&!Array.isArray(e)&&mr(e)&&!we(e),Rs=e=>z(e)&&e.target?je(e.target)?e.target.checked:e.target.value:e,Ps=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Bs=(e,r)=>e.has(Ps(r)),$s=e=>{const r=e.constructor&&e.constructor.prototype;return z(r)&&r.hasOwnProperty("isPrototypeOf")},ht=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(ht&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(z(e)&&$s(e)))return e;const s=t?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(s[a]=H(e[a]));return s}var Xe=e=>/^\w*$/.test(e),U=e=>e===void 0,pt=e=>Array.isArray(e)?e.filter(Boolean):[],yt=e=>pt(e.replace(/["|']|\]/g,"").split(/\.|\[/)),S=(e,r,t)=>{if(!r||!z(e))return t;const s=(Xe(r)?[r]:yt(r)).reduce((a,o)=>ee(a)?a:a[o],e);return U(s)||s===e?U(e[r])?t:e[r]:s},le=e=>typeof e=="boolean",se=e=>typeof e=="function",$=(e,r,t)=>{let s=-1;const a=Xe(r)?[r]:yt(r),o=a.length,i=o-1;for(;++s<o;){const l=a[s];let c=t;if(s!==i){const h=e[l];c=z(h)||Array.isArray(h)?h:isNaN(+a[s+1])?{}:[]}if(l==="__proto__"||l==="constructor"||l==="prototype")return;e[l]=c,e=e[l]}};const Tt={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ne={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},he={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},js=n.Cn.createContext(null);js.displayName="HookFormControlContext";var qs=(e,r,t,s=!0)=>{const a={defaultValues:r._defaultValues};for(const o in e)Object.defineProperty(a,o,{get:()=>{const i=o;return r._proxyFormState[i]!==ne.all&&(r._proxyFormState[i]=!s||ne.all),t&&(t[i]=!0),e[i]}});return a};const Us=typeof window<"u"?n.Cn.useLayoutEffect:n.Cn.useEffect;var te=e=>typeof e=="string",Ws=(e,r,t,s,a)=>te(e)?(s&&r.watch.add(e),S(t,e,a)):Array.isArray(e)?e.map(o=>(s&&r.watch.add(o),S(t,o))):(s&&(r.watchAll=!0),t),ot=e=>ee(e)||!mr(e);function ge(e,r,t=new WeakSet){if(ot(e)||ot(r))return Object.is(e,r);if(we(e)&&we(r))return Object.is(e.getTime(),r.getTime());const s=Object.keys(e),a=Object.keys(r);if(s.length!==a.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const o of s){const i=e[o];if(!a.includes(o))return!1;if(o!=="ref"){const l=r[o];if(we(i)&&we(l)||z(i)&&z(l)||Array.isArray(i)&&Array.isArray(l)?!ge(i,l,t):!Object.is(i,l))return!1}}return!0}const zs=n.Cn.createContext(null);zs.displayName="HookFormContext";var gr=(e,r,t,s,a)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:a||!0}}:{},Pe=e=>Array.isArray(e)?e:[e],Lt=()=>{let e=[];return{get observers(){return e},next:a=>{for(const o of e)o.next&&o.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(o=>o!==a)}}),unsubscribe:()=>{e=[]}}};function br(e,r){const t={};for(const s in e)if(e.hasOwnProperty(s)){const a=e[s],o=r[s];if(a&&z(a)&&o){const i=br(a,o);z(i)&&(t[s]=i)}else e[s]&&(t[s]=o)}return t}var Y=e=>z(e)&&!Object.keys(e).length,mt=e=>e.type==="file",Ge=e=>{if(!ht)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},vr=e=>e.type==="select-multiple",gt=e=>e.type==="radio",Ks=e=>gt(e)||je(e),at=e=>Ge(e)&&e.isConnected;function Gs(e,r){const t=r.slice(0,-1).length;let s=0;for(;s<t;)e=U(e)?s++:e[r[s++]];return e}function Hs(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function W(e,r){const t=Array.isArray(r)?r:Xe(r)?[r]:yt(r),s=t.length===1?e:Gs(e,t),a=t.length-1,o=t[a];return s&&delete s[o],a!==0&&(z(s)&&Y(s)||Array.isArray(s)&&Hs(s))&&W(e,t.slice(0,-1)),e}var Js=e=>{for(const r in e)if(se(e[r]))return!0;return!1};function xr(e){return Array.isArray(e)||z(e)&&!Js(e)}function lt(e,r={}){for(const t in e){const s=e[t];xr(s)?(r[t]=Array.isArray(s)?[]:{},lt(s,r[t])):U(s)||(r[t]=!0)}return r}function Ce(e,r,t){t||(t=lt(r));for(const s in e){const a=e[s];if(xr(a))U(r)||ot(t[s])?t[s]=lt(a,Array.isArray(a)?[]:{}):Ce(a,ee(r)?{}:r[s],t[s]);else{const o=r[s];t[s]=!ge(a,o)}}return t}const Dt={value:!1,isValid:!1},Ot={value:!0,isValid:!0};var wr=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?Ot:{value:e[0].value,isValid:!0}:Ot:Dt}return Dt},_r=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>U(e)?e:r?e===""?NaN:e&&+e:t&&te(e)?new Date(e):s?s(e):e;const Rt={isValid:!1,value:null};var kr=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,Rt):Rt;function Pt(e){const r=e.ref;return mt(r)?r.files:gt(r)?kr(e.refs).value:vr(r)?[...r.selectedOptions].map(({value:t})=>t):je(r)?wr(e.refs).value:_r(U(r.value)?e.ref.value:r.value,e)}var Zs=(e,r,t,s)=>{const a={};for(const o of e){const i=S(r,o);i&&$(a,o,i._f)}return{criteriaMode:t,names:[...e],fields:a,shouldUseNativeValidation:s}},He=e=>e instanceof RegExp,Te=e=>U(e)?e:He(e)?e.source:z(e)?He(e.value)?e.value.source:e.value:e,Bt=e=>({isOnSubmit:!e||e===ne.onSubmit,isOnBlur:e===ne.onBlur,isOnChange:e===ne.onChange,isOnAll:e===ne.all,isOnTouch:e===ne.onTouched});const $t="AsyncFunction";var Xs=e=>!!e&&!!e.validate&&!!(se(e.validate)&&e.validate.constructor.name===$t||z(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===$t)),Ys=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),jt=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length))));const Be=(e,r,t,s)=>{for(const a of t||Object.keys(e)){const o=S(e,a);if(o){const{_f:i,...l}=o;if(i){if(i.refs&&i.refs[0]&&r(i.refs[0],a)&&!s)return!0;if(i.ref&&r(i.ref,i.name)&&!s)return!0;if(Be(l,r))break}else if(z(l)&&Be(l,r))break}}};function qt(e,r,t){const s=S(e,t);if(s||Xe(t))return{error:s,name:t};const a=t.split(".");for(;a.length;){const o=a.join("."),i=S(r,o),l=S(e,o);if(i&&!Array.isArray(i)&&t!==o)return{name:t};if(l&&l.type)return{name:o,error:l};if(l&&l.root&&l.root.type)return{name:`${o}.root`,error:l.root};a.pop()}return{name:t}}var Qs=(e,r,t,s)=>{t(e);const{name:a,...o}=e;return Y(o)||Object.keys(o).length>=Object.keys(r).length||Object.keys(o).find(i=>r[i]===(!s||ne.all))},en=(e,r,t)=>!e||!r||e===r||Pe(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),tn=(e,r,t,s,a)=>a.isOnAll?!1:!t&&a.isOnTouch?!(r||e):(t?s.isOnBlur:a.isOnBlur)?!e:(t?s.isOnChange:a.isOnChange)?e:!0,rn=(e,r)=>!pt(S(e,r)).length&&W(e,r),sn=(e,r,t)=>{const s=Pe(S(e,t));return $(s,"root",r[t]),$(e,t,s),e};function Ut(e,r,t="validate"){if(te(e)||Array.isArray(e)&&e.every(te)||le(e)&&!e)return{type:t,message:te(e)?e:"",ref:r}}var ke=e=>z(e)&&!He(e)?e:{value:e,message:""},Wt=async(e,r,t,s,a,o)=>{const{ref:i,refs:l,required:c,maxLength:h,minLength:b,min:x,max:p,pattern:m,validate:C,name:E,valueAsNumber:V,mount:I}=e._f,y=S(t,E);if(!I||r.has(E))return{};const _=l?l[0]:i,F=w=>{a&&_.reportValidity&&(_.setCustomValidity(le(w)?"":w||""),_.reportValidity())},M={},O=gt(i),K=je(i),T=O||K,q=(V||mt(i))&&U(i.value)&&U(y)||Ge(i)&&i.value===""||y===""||Array.isArray(y)&&!y.length,L=gr.bind(null,E,s,M),D=(w,N,j,G=he.maxLength,J=he.minLength)=>{const Q=w?N:j;M[E]={type:w?G:J,message:Q,ref:i,...L(w?G:J,Q)}};if(o?!Array.isArray(y)||!y.length:c&&(!T&&(q||ee(y))||le(y)&&!y||K&&!wr(l).isValid||O&&!kr(l).isValid)){const{value:w,message:N}=te(c)?{value:!!c,message:c}:ke(c);if(w&&(M[E]={type:he.required,message:N,ref:_,...L(he.required,N)},!s))return F(N),M}if(!q&&(!ee(x)||!ee(p))){let w,N;const j=ke(p),G=ke(x);if(!ee(y)&&!isNaN(y)){const J=i.valueAsNumber||y&&+y;ee(j.value)||(w=J>j.value),ee(G.value)||(N=J<G.value)}else{const J=i.valueAsDate||new Date(y),Q=ae=>new Date(new Date().toDateString()+" "+ae),ye=i.type=="time",ie=i.type=="week";te(j.value)&&y&&(w=ye?Q(y)>Q(j.value):ie?y>j.value:J>new Date(j.value)),te(G.value)&&y&&(N=ye?Q(y)<Q(G.value):ie?y<G.value:J<new Date(G.value))}if((w||N)&&(D(!!w,j.message,G.message,he.max,he.min),!s))return F(M[E].message),M}if((h||b)&&!q&&(te(y)||o&&Array.isArray(y))){const w=ke(h),N=ke(b),j=!ee(w.value)&&y.length>+w.value,G=!ee(N.value)&&y.length<+N.value;if((j||G)&&(D(j,w.message,N.message),!s))return F(M[E].message),M}if(m&&!q&&te(y)){const{value:w,message:N}=ke(m);if(He(w)&&!y.match(w)&&(M[E]={type:he.pattern,message:N,ref:i,...L(he.pattern,N)},!s))return F(N),M}if(C){if(se(C)){const w=await C(y,t),N=Ut(w,_);if(N&&(M[E]={...N,...L(he.validate,N.message)},!s))return F(N.message),M}else if(z(C)){let w={};for(const N in C){if(!Y(w)&&!s)break;const j=Ut(await C[N](y,t),_,N);j&&(w={...j,...L(N,j.message)},F(j.message),s&&(M[E]=w))}if(!Y(w)&&(M[E]={ref:_,...w},!s))return M}}return F(!0),M};const nn={mode:ne.onSubmit,reValidateMode:ne.onChange,shouldFocusError:!0};function an(e={}){let r={...nn,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:se(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},a=z(r.defaultValues)||z(r.values)?H(r.defaultValues||r.values)||{}:{},o=r.shouldUnregister?{}:H(a),i={action:!1,mount:!1,watch:!1,keepIsValid:!1},l={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c,h=0;const b={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={...b};let p={...x};const m={array:Lt(),state:Lt()},C=r.criteriaMode===ne.all,E=u=>d=>{clearTimeout(h),h=setTimeout(u,d)},V=async u=>{if(!i.keepIsValid&&!r.disabled&&(x.isValid||p.isValid||u)){let d;r.resolver?(d=Y((await T()).errors),I()):d=await L(s,!0),d!==t.isValid&&m.state.next({isValid:d})}},I=(u,d)=>{!r.disabled&&(x.isValidating||x.validatingFields||p.isValidating||p.validatingFields)&&((u||Array.from(l.mount)).forEach(f=>{f&&(d?$(t.validatingFields,f,d):W(t.validatingFields,f))}),m.state.next({validatingFields:t.validatingFields,isValidating:!Y(t.validatingFields)}))},y=(u,d=[],f,k,v=!0,g=!0)=>{if(k&&f&&!r.disabled){if(i.action=!0,g&&Array.isArray(S(s,u))){const A=f(S(s,u),k.argA,k.argB);v&&$(s,u,A)}if(g&&Array.isArray(S(t.errors,u))){const A=f(S(t.errors,u),k.argA,k.argB);v&&$(t.errors,u,A),rn(t.errors,u)}if((x.touchedFields||p.touchedFields)&&g&&Array.isArray(S(t.touchedFields,u))){const A=f(S(t.touchedFields,u),k.argA,k.argB);v&&$(t.touchedFields,u,A)}(x.dirtyFields||p.dirtyFields)&&(t.dirtyFields=Ce(a,o)),m.state.next({name:u,isDirty:w(u,d),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else $(o,u,d)},_=(u,d)=>{$(t.errors,u,d),m.state.next({errors:t.errors})},F=u=>{t.errors=u,m.state.next({errors:t.errors,isValid:!1})},M=(u,d,f,k)=>{const v=S(s,u);if(v){const g=S(o,u,U(f)?S(a,u):f);U(g)||k&&k.defaultChecked||d?$(o,u,d?g:Pt(v._f)):G(u,g),i.mount&&!i.action&&V()}},O=(u,d,f,k,v)=>{let g=!1,A=!1;const R={name:u};if(!r.disabled){if(!f||k){(x.isDirty||p.isDirty)&&(A=t.isDirty,t.isDirty=R.isDirty=w(),g=A!==R.isDirty);const P=ge(S(a,u),d);A=!!S(t.dirtyFields,u),P?W(t.dirtyFields,u):$(t.dirtyFields,u,!0),R.dirtyFields=t.dirtyFields,g=g||(x.dirtyFields||p.dirtyFields)&&A!==!P}if(f){const P=S(t.touchedFields,u);P||($(t.touchedFields,u,f),R.touchedFields=t.touchedFields,g=g||(x.touchedFields||p.touchedFields)&&P!==f)}g&&v&&m.state.next(R)}return g?R:{}},K=(u,d,f,k)=>{const v=S(t.errors,u),g=(x.isValid||p.isValid)&&le(d)&&t.isValid!==d;if(r.delayError&&f?(c=E(()=>_(u,f)),c(r.delayError)):(clearTimeout(h),c=null,f?$(t.errors,u,f):W(t.errors,u)),(f?!ge(v,f):v)||!Y(k)||g){const A={...k,...g&&le(d)?{isValid:d}:{},errors:t.errors,name:u};t={...t,...A},m.state.next(A)}},T=async u=>(I(u,!0),await r.resolver(o,r.context,Zs(u||l.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),q=async u=>{const{errors:d}=await T(u);if(I(u),u)for(const f of u){const k=S(d,f);k?$(t.errors,f,k):W(t.errors,f)}else t.errors=d;return d},L=async(u,d,f={valid:!0})=>{for(const k in u){const v=u[k];if(v){const{_f:g,...A}=v;if(g){const R=l.array.has(g.name),P=v._f&&Xs(v._f);P&&x.validatingFields&&I([g.name],!0);const X=await Wt(v,l.disabled,o,C,r.shouldUseNativeValidation&&!d,R);if(P&&x.validatingFields&&I([g.name]),X[g.name]&&(f.valid=!1,d||e.shouldUseNativeValidation))break;!d&&(S(X,g.name)?R?sn(t.errors,X,g.name):$(t.errors,g.name,X[g.name]):W(t.errors,g.name))}!Y(A)&&await L(A,d,f)}}return f.valid},D=()=>{for(const u of l.unMount){const d=S(s,u);d&&(d._f.refs?d._f.refs.every(f=>!at(f)):!at(d._f.ref))&&B(u)}l.unMount=new Set},w=(u,d)=>!r.disabled&&(u&&d&&$(o,u,d),!ge(Fe(),a)),N=(u,d,f)=>Ws(u,l,{...i.mount?o:U(d)?a:te(u)?{[u]:d}:d},f,d),j=u=>pt(S(i.mount?o:a,u,r.shouldUnregister?S(a,u,[]):[])),G=(u,d,f={})=>{const k=S(s,u);let v=d;if(k){const g=k._f;g&&(!g.disabled&&$(o,u,_r(d,g)),v=Ge(g.ref)&&ee(d)?"":d,vr(g.ref)?[...g.ref.options].forEach(A=>A.selected=v.includes(A.value)):g.refs?je(g.ref)?g.refs.forEach(A=>{(!A.defaultChecked||!A.disabled)&&(Array.isArray(v)?A.checked=!!v.find(R=>R===A.value):A.checked=v===A.value||!!v)}):g.refs.forEach(A=>A.checked=A.value===v):mt(g.ref)?g.ref.value="":(g.ref.value=v,g.ref.type||m.state.next({name:u,values:H(o)})))}(f.shouldDirty||f.shouldTouch)&&O(u,v,f.shouldTouch,f.shouldDirty,!0),f.shouldValidate&&ae(u)},J=(u,d,f)=>{for(const k in d){if(!d.hasOwnProperty(k))return;const v=d[k],g=u+"."+k,A=S(s,g);(l.array.has(u)||z(v)||A&&!A._f)&&!we(v)?J(g,v,f):G(g,v,f)}},Q=(u,d,f={})=>{const k=S(s,u),v=l.array.has(u),g=H(d);$(o,u,g),v?(m.array.next({name:u,values:H(o)}),(x.isDirty||x.dirtyFields||p.isDirty||p.dirtyFields)&&f.shouldDirty&&m.state.next({name:u,dirtyFields:Ce(a,o),isDirty:w(u,g)})):k&&!k._f&&!ee(g)?J(u,g,f):G(u,g,f),jt(u,l)?m.state.next({...t,name:u,values:H(o)}):m.state.next({name:i.mount?u:void 0,values:H(o)})},ye=async u=>{i.mount=!0;const d=u.target;let f=d.name,k=!0;const v=S(s,f),g=P=>{k=Number.isNaN(P)||we(P)&&isNaN(P.getTime())||ge(P,S(o,f,P))},A=Bt(r.mode),R=Bt(r.reValidateMode);if(v){let P,X;const xe=d.type?Pt(v._f):Rs(u),me=u.type===Tt.BLUR||u.type===Tt.FOCUS_OUT,Vr=!Ys(v._f)&&!r.resolver&&!S(t.errors,f)&&!v._f.deps||tn(me,S(t.touchedFields,f),t.isSubmitted,R,A),et=jt(f,l,me);$(o,f,xe),me?(!d||!d.readOnly)&&(v._f.onBlur&&v._f.onBlur(u),c&&c(0)):v._f.onChange&&v._f.onChange(u);const tt=O(f,xe,me),Mr=!Y(tt)||et;if(!me&&m.state.next({name:f,type:u.type,values:H(o)}),Vr)return(x.isValid||p.isValid)&&(r.mode==="onBlur"?me&&V():me||V()),Mr&&m.state.next({name:f,...et?{}:tt});if(!me&&et&&m.state.next({...t}),r.resolver){const{errors:_t}=await T([f]);if(I([f]),g(xe),k){const Er=qt(t.errors,s,f),kt=qt(_t,s,Er.name||f);P=kt.error,f=kt.name,X=Y(_t)}}else I([f],!0),P=(await Wt(v,l.disabled,o,C,r.shouldUseNativeValidation))[f],I([f]),g(xe),k&&(P?X=!1:(x.isValid||p.isValid)&&(X=await L(s,!0)));k&&(v._f.deps&&(!Array.isArray(v._f.deps)||v._f.deps.length>0)&&ae(v._f.deps),K(f,X,P,tt))}},ie=(u,d)=>{if(S(t.errors,d)&&u.focus)return u.focus(),1},ae=async(u,d={})=>{let f,k;const v=Pe(u);if(r.resolver){const g=await q(U(u)?u:v);f=Y(g),k=u?!v.some(A=>S(g,A)):f}else u?(k=(await Promise.all(v.map(async g=>{const A=S(s,g);return await L(A&&A._f?{[g]:A}:A)}))).every(Boolean),!(!k&&!t.isValid)&&V()):k=f=await L(s);return m.state.next({...!te(u)||(x.isValid||p.isValid)&&f!==t.isValid?{}:{name:u},...r.resolver||!u?{isValid:f}:{},errors:t.errors}),d.shouldFocus&&!k&&Be(s,ie,u?v:l.mount),k},Fe=(u,d)=>{let f={...i.mount?o:a};return d&&(f=br(d.dirtyFields?t.dirtyFields:t.touchedFields,f)),U(u)?f:te(u)?S(f,u):u.map(k=>S(f,k))},Ve=(u,d)=>({invalid:!!S((d||t).errors,u),isDirty:!!S((d||t).dirtyFields,u),error:S((d||t).errors,u),isValidating:!!S(t.validatingFields,u),isTouched:!!S((d||t).touchedFields,u)}),qe=u=>{const d=u?Pe(u):void 0;d==null||d.forEach(f=>W(t.errors,f)),d?d.forEach(f=>{m.state.next({name:f,errors:t.errors})}):m.state.next({errors:{}})},Me=(u,d,f)=>{const k=(S(s,u,{_f:{}})._f||{}).ref,v=S(t.errors,u)||{},{ref:g,message:A,type:R,...P}=v;$(t.errors,u,{...P,...d,ref:k}),m.state.next({name:u,errors:t.errors,isValid:!1}),f&&f.shouldFocus&&k&&k.focus&&k.focus()},Ue=(u,d)=>se(u)?m.state.subscribe({next:f=>"values"in f&&u(N(void 0,d),f)}):N(u,d,!0),Ee=u=>m.state.subscribe({next:d=>{en(u.name,d.name,u.exact)&&Qs(d,u.formState||x,Fr,u.reRenderRoot)&&u.callback({values:{...o},...t,...d,defaultValues:a})}}).unsubscribe,We=u=>(i.mount=!0,p={...p,...u.formState},Ee({...u,formState:{...b,...u.formState}})),B=(u,d={})=>{for(const f of u?Pe(u):l.mount)l.mount.delete(f),l.array.delete(f),d.keepValue||(W(s,f),W(o,f)),!d.keepError&&W(t.errors,f),!d.keepDirty&&W(t.dirtyFields,f),!d.keepTouched&&W(t.touchedFields,f),!d.keepIsValidating&&W(t.validatingFields,f),!r.shouldUnregister&&!d.keepDefaultValue&&W(a,f);m.state.next({values:H(o)}),m.state.next({...t,...d.keepDirty?{isDirty:w()}:{}}),!d.keepIsValid&&V()},ze=({disabled:u,name:d})=>{if(le(u)&&i.mount||u||l.disabled.has(d)){const v=l.disabled.has(d)!==!!u;u?l.disabled.add(d):l.disabled.delete(d),v&&i.mount&&!i.action&&V()}},Ne=(u,d={})=>{let f=S(s,u);const k=le(d.disabled)||le(r.disabled);return $(s,u,{...f||{},_f:{...f&&f._f?f._f:{ref:{name:u}},name:u,mount:!0,...d}}),l.mount.add(u),f?ze({disabled:le(d.disabled)?d.disabled:r.disabled,name:u}):M(u,!0,d.value),{...k?{disabled:d.disabled||r.disabled}:{},...r.progressive?{required:!!d.required,min:Te(d.min),max:Te(d.max),minLength:Te(d.minLength),maxLength:Te(d.maxLength),pattern:Te(d.pattern)}:{},name:u,onChange:ye,onBlur:ye,ref:v=>{if(v){Ne(u,d),f=S(s,u);const g=U(v.value)&&v.querySelectorAll&&v.querySelectorAll("input,select,textarea")[0]||v,A=Ks(g),R=f._f.refs||[];if(A?R.find(P=>P===g):g===f._f.ref)return;$(s,u,{_f:{...f._f,...A?{refs:[...R.filter(at),g,...Array.isArray(S(a,u))?[{}]:[]],ref:{type:g.type,name:u}}:{ref:g}}}),M(u,!1,void 0,g)}else f=S(s,u,{}),f._f&&(f._f.mount=!1),(r.shouldUnregister||d.shouldUnregister)&&!(Bs(l.array,u)&&i.action)&&l.unMount.add(u)}}},oe=()=>r.shouldFocusError&&Be(s,ie,l.mount),Sr=u=>{le(u)&&(m.state.next({disabled:u}),Be(s,(d,f)=>{const k=S(s,f);k&&(d.disabled=k._f.disabled||u,Array.isArray(k._f.refs)&&k._f.refs.forEach(v=>{v.disabled=k._f.disabled||u}))},0,!1))},bt=(u,d)=>async f=>{let k;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let v=H(o);if(m.state.next({isSubmitting:!0}),r.resolver){const{errors:g,values:A}=await T();I(),t.errors=g,v=H(A)}else await L(s);if(l.disabled.size)for(const g of l.disabled)W(v,g);if(W(t.errors,"root"),Y(t.errors)){m.state.next({errors:{}});try{await u(v,f)}catch(g){k=g}}else d&&await d({...t.errors},f),oe(),setTimeout(oe);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Y(t.errors)&&!k,submitCount:t.submitCount+1,errors:t.errors}),k)throw k},Ir=(u,d={})=>{S(s,u)&&(U(d.defaultValue)?Q(u,H(S(a,u))):(Q(u,d.defaultValue),$(a,u,H(d.defaultValue))),d.keepTouched||W(t.touchedFields,u),d.keepDirty||(W(t.dirtyFields,u),t.isDirty=d.defaultValue?w(u,H(S(a,u))):w()),d.keepError||(W(t.errors,u),x.isValid&&V()),m.state.next({...t}))},vt=(u,d={})=>{const f=u?H(u):a,k=H(f),v=Y(u),g=v?a:k;if(d.keepDefaultValues||(a=f),!d.keepValues){if(d.keepDirtyValues){const A=new Set([...l.mount,...Object.keys(Ce(a,o))]);for(const R of Array.from(A)){const P=S(t.dirtyFields,R),X=S(o,R),xe=S(g,R);P&&!U(X)?$(g,R,X):!P&&!U(xe)&&Q(R,xe)}}else{if(ht&&U(u))for(const A of l.mount){const R=S(s,A);if(R&&R._f){const P=Array.isArray(R._f.refs)?R._f.refs[0]:R._f.ref;if(Ge(P)){const X=P.closest("form");if(X){X.reset();break}}}}if(d.keepFieldsRef)for(const A of l.mount)Q(A,S(g,A));else s={}}o=r.shouldUnregister?d.keepDefaultValues?H(a):{}:H(g),m.array.next({values:{...g}}),m.state.next({values:{...g}})}l={mount:d.keepDirtyValues?l.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!x.isValid||!!d.keepIsValid||!!d.keepDirtyValues||!r.shouldUnregister&&!Y(g),i.watch=!!r.shouldUnregister,i.keepIsValid=!!d.keepIsValid,i.action=!1,d.keepErrors||(t.errors={}),m.state.next({submitCount:d.keepSubmitCount?t.submitCount:0,isDirty:v?!1:d.keepDirty?t.isDirty:!!(d.keepDefaultValues&&!ge(u,a)),isSubmitted:d.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:v?{}:d.keepDirtyValues?d.keepDefaultValues&&o?Ce(a,o):t.dirtyFields:d.keepDefaultValues&&u?Ce(a,u):d.keepDirty?t.dirtyFields:{},touchedFields:d.keepTouched?t.touchedFields:{},errors:d.keepErrors?t.errors:{},isSubmitSuccessful:d.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},xt=(u,d)=>vt(se(u)?u(o):u,{...r.resetOptions,...d}),Ar=(u,d={})=>{const f=S(s,u),k=f&&f._f;if(k){const v=k.refs?k.refs[0]:k.ref;v.focus&&setTimeout(()=>{v.focus(),d.shouldSelect&&se(v.select)&&v.select()})}},Fr=u=>{t={...t,...u}},wt={control:{register:Ne,unregister:B,getFieldState:Ve,handleSubmit:bt,setError:Me,_subscribe:Ee,_runSchema:T,_updateIsValidating:I,_focusError:oe,_getWatch:N,_getDirty:w,_setValid:V,_setFieldArray:y,_setDisabledField:ze,_setErrors:F,_getFieldArray:j,_reset:vt,_resetDefaultValues:()=>se(r.defaultValues)&&r.defaultValues().then(u=>{xt(u,r.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:D,_disableForm:Sr,_subjects:m,_proxyFormState:x,get _fields(){return s},get _formValues(){return o},get _state(){return i},set _state(u){i=u},get _defaultValues(){return a},get _names(){return l},set _names(u){l=u},get _formState(){return t},get _options(){return r},set _options(u){r={...r,...u}}},subscribe:We,trigger:ae,register:Ne,handleSubmit:bt,watch:Ue,setValue:Q,getValues:Fe,reset:xt,resetField:Ir,clearErrors:qe,unregister:B,setError:Me,setFocus:Ar,getFieldState:Ve};return{...wt,formControl:wt}}function Ye(e={}){const r=n.Cn.useRef(void 0),t=n.Cn.useRef(void 0),[s,a]=n.Cn.useState({isDirty:!1,isValidating:!1,isLoading:se(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:se(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:s},e.defaultValues&&!se(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:i,...l}=an(e);r.current={...l,formState:s}}const o=r.current.control;return o._options=e,Us(()=>{const i=o._subscribe({formState:o._proxyFormState,callback:()=>a({...o._formState}),reRenderRoot:!0});return a(l=>({...l,isReady:!0})),o._formState.isReady=!0,i},[o]),n.Cn.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),n.Cn.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),n.Cn.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),n.Cn.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),n.Cn.useEffect(()=>{if(o._proxyFormState.isDirty){const i=o._getDirty();i!==s.isDirty&&o._subjects.state.next({isDirty:i})}},[o,s.isDirty]),n.Cn.useEffect(()=>{var i;e.values&&!ge(e.values,t.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),!((i=o._options.resetOptions)===null||i===void 0)&&i.keepIsValid||o._setValid(),t.current=e.values,a(l=>({...l}))):o._resetDefaultValues()},[o,e.values]),n.Cn.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),r.current.formState=n.Cn.useMemo(()=>qs(s,o),[o,s]),r.current}const zt=(e,r,t)=>{if(e&&"reportValidity"in e){const s=S(t,r);e.setCustomValidity(s&&s.message||""),e.reportValidity()}},on=(e,r)=>{for(const t in r.fields){const s=r.fields[t];s&&s.ref&&"reportValidity"in s.ref?zt(s.ref,t,e):s.refs&&s.refs.forEach(a=>zt(a,t,e))}},ln=(e,r)=>{r.shouldUseNativeValidation&&on(e,r);const t={};for(const s in e){const a=S(r.fields,s),o=Object.assign(e[s]||{},{ref:a&&a.ref});if(un(r.names||Object.keys(e),s)){const i=Object.assign({},S(t,s));$(i,"root",o),$(t,s,i)}else $(t,s,o)}return t},un=(e,r)=>e.some(t=>t.startsWith(r+"."));var Qe=function(e,r,t){return t===void 0&&(t={}),function(s,a,o){try{var i=!o.shouldUseNativeValidation&&o.criteriaMode==="all";return Promise.resolve(vs(e,s,Object.assign({},r,{abortPipeEarly:!i}))).then(function(l){if(l.issues){for(var c={};l.issues.length;){var h=l.issues[0],b=fs(h);if(b&&(c[b]||(c[b]={message:h.message,type:h.type}),i)){var x=c[b].types,p=x&&x[h.type];c[b]=gr(b,i,c,h.type,p?[].concat(p,h.message):h.message)}l.issues.shift()}return{values:{},errors:ln(c,o)}}return{values:t.raw?s:l.output,errors:{}}})}catch(l){return Promise.reject(l)}}};const Kt=27,Gt=12,Ht=10,cn=n.isSubmissionOfType("enum"),dn=(e,r)=>{const t={min:e.minSelected??0,max:e.maxSelected??e.options.length};return Qe(pe({checked:be(dr(re(),lr()),ct(s=>Object.entries(s).filter(([a,o])=>o).map(([a,o])=>a)),Oe(t.max,r("validation_multiple_choice_max",{count:t.max})),Se(t.min,r("validation_multiple_choice_min",{count:t.min})))}))},fn=n.k$1(({option:e,...r},t)=>n.o(n.k,{children:[n.o("input",{class:"peer sr-only h-full",type:"checkbox",...r,ref:t}),n.o("label",{class:"bg-lowest hover:bg-neutral-2 active:outline-neutral-8 ease-expo-out outline-divider text-neutral-11 peer-checked:outline-accent-7 peer-checked:bg-accent-2 peer-checked:text-accent-9 peer-focus-visible:ring-accent-9 peer-focus-visible:ring-offset-accent-7 block cursor-pointer select-none rounded-2xl px-3 py-1.5 outline outline-1 ring-0 ring-transparent transition-all selection:bg-transparent peer-focus-visible:ring-4",htmlFor:r.id,children:e.label})]})),Jt=n.cva("gutter-stable flex w-full flex-1 flex-wrap gap-2 overflow-y-auto rounded-xl p-2.5 pr-4",{variants:{variant:{singleOption:"justify-center",booleanLike:hr}}}),hn=({input:e,onSubmitSuccess:r})=>{var b,x;const t=e.key?(b=n.store.current$.value.flow)==null?void 0:b.data.submissions[e.key]:void 0,s=(e.config.minSelected===1||e.config.minSelected===void 0)&&e.config.maxSelected===1,a=s&&e.config.options.length===2,{t:o}=n.useTranslation(),{register:i,handleSubmit:l,formState:{errors:c}}=Ye({defaultValues:{checked:s?{}:cn(t)?Object.fromEntries(t.value.map(p=>[p,!0])):{}},resolver:dn(e.config,o)}),h=ft();return a?n.o("ul",{style:{maxHeight:6.5*Kt+5*Gt+2*Ht},class:Jt({variant:"booleanLike"}),children:e.config.options.map((p,m)=>n.o("li",{class:pr,children:n.o(yr,{type:"submit",ref:C=>{C&&m===0&&(h.current=C)},label:p.label,value:"true",onClick:()=>r({type:"enum",value:[p.value]})})},p.value))}):n.o("form",{noValidate:!0,onSubmit:p=>l(m=>{const C=m.checked;r({type:"enum",value:C})})(p),children:[n.o("div",{class:"flex items-center gap-1",children:[n.o("ul",{style:{maxHeight:6.5*Kt+5*Gt+2*Ht},class:Jt({variant:e.config.options.length===1?"singleOption":void 0}),children:e.config.options.map((p,m)=>{const C=`checked.${p.value}`,{ref:E,...V}=i(C);return n.o("li",{class:"relative",children:n.o(fn,{option:p,autoFocus:m===0,ref:I=>{I&&m===0&&(h.current=I),E(I)},id:C,...V,onClick:s?()=>r({type:"enum",value:[p.value]}):void 0})},p.value)})}),n.o("div",{class:"flex flex-col items-center gap-2 pr-2.5 pt-2.5",children:[s?null:n.o(_e,{}),e.config.minSelected===0&&n.o(ve,{class:"relative",type:"button",onClick:()=>r({type:"enum",value:[]})})]})]}),n.o("div",{class:"px-1",children:n.o(Ae,{error:(x=c.checked)==null?void 0:x.root})})]})},pn=n.isSubmissionOfType("number"),yn=(e,r)=>{const t=e.min??Number.MIN_SAFE_INTEGER,s=e.max??Number.MAX_SAFE_INTEGER,a=e.decimalCases??0;return Qe(pe({number:be(ur(r("validation_number")),nr(t,r("validation_number_min",{min:t})),sr(s,r("validation_number_max",{max:s})),tr(o=>o===Number(o.toFixed(a)),r("validation_number_decimal_cases",{count:a})))}))},mn=({input:e,onSubmitSuccess:r})=>{var x;const t=e.config.defaultValue,s=e.key?(x=n.store.current$.value.flow)==null?void 0:x.data.submissions[e.key]:void 0,{t:a}=n.useTranslation(),{register:o,handleSubmit:i,formState:{errors:l}}=Ye({defaultValues:{number:pn(s)?s.value:t?Number(t):void 0},resolver:yn(e.config,a)}),{ref:c,...h}=o("number",{required:!e.config.optional,valueAsNumber:!0}),b=n._$1();return n.y(()=>{b.current&&(b.current.focus(),b.current.select())},[]),n.o("form",{class:"flex flex-col gap-1 p-2.5",onSubmit:i(p=>{p.number!==void 0&&r({type:"number",value:p.number})}),children:[n.o("div",{class:"flex items-center gap-2",children:[n.o("div",{class:"relative min-w-0 flex-grow",children:[n.o("input",{...h,id:"chat-input",autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:p=>{p&&(b.current=p),c(p)},type:"text",min:e.config.min,max:e.config.max,class:$e({optional:e.config.optional,className:"[type=number:-webkit-inner-spin-button] w-full rounded-full [-webkit-outer-spin-button:none]"}),placeholder:e.config.placeholder}),e.config.optional&&n.o(ve,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(_e,{})]}),n.o(Ae,{error:l.number})]})},gn=e=>{if(e==="")return{countryCode:"",phoneNumber:""};const r=Object.entries(dt).find(a=>e.startsWith(a[1])),t=r?r[1]:"",s=e.replace(t,"");return/^\d+$/.test(s)?{countryCode:t,phoneNumber:s}:{countryCode:"",phoneNumber:""}},bn="44",vn=/^[0-9 ]+$/,xn=n.isSubmissionOfType("string"),wn=n.isSubmissionOfType("phone"),_n=e=>{const r=be(re(e("validation_country_code")),ut(vn,e("validation_country_code"))),t=be(re(e("validation_phone")),Se(1,e("validation_phone")),ct(s=>s.replace(/[^0-9]/g,"")));return Qe(pe({countryCode:r,phoneNumber:t}))},kn=({input:e,onSubmitSuccess:r})=>{var E;const t=e.key?(E=n.store.current$.value.flow)==null?void 0:E.data.submissions[e.key]:void 0,{t:s}=n.useTranslation(),[a,o]=n.h(),i=xn(t)?gn(t.value):wn(t)?t.value:void 0,{register:l,handleSubmit:c,formState:{errors:h},watch:b}=Ye({defaultValues:{countryCode:(i==null?void 0:i.countryCode)??e.config.defaultValue.countryCode??bn,phoneNumber:(i==null?void 0:i.phoneNumber)??e.config.defaultValue.phoneNumber??""},resolver:_n(s)}),{ref:x,...p}=l("phoneNumber",{required:!e.config.optional}),m=n._$1(),C=b("countryCode");return n.y(()=>{m.current&&(m.current.focus(),m.current.select())},[]),n.o("form",{noValidate:!0,class:"flex flex-col gap-1 p-2.5",onSubmit:c(V=>{const I=V.phoneNumber.replace(/[^0-9]/g,""),y=V.countryCode.replace(/[^0-9]/g,"");o(void 0);const _=e.config.minChars??7,F=I.length+y.length;if(F<_)return o(s("validation_phone_min_chars",{count:_}));const M=e.config.maxChars;if(M!=null&&F>M)return o(s("validation_max_chars",{count:M}));e.config.submissionFormat==="phone"?r({type:"phone",value:{countryCode:y,phoneNumber:I}}):r({type:"string",value:C+V.phoneNumber})}),children:[n.o("div",{class:"flex items-center gap-2",children:[n.o("div",{class:"relative flex min-w-0 flex-1 flex-grow gap-2",children:[n.o("label",{class:"text-neutral-12 bg-lowest hover:bg-neutral-5 placeholder:text-neutral-8 focus-visible:outline-accent-7 focus-within:bg-neutral-5 focus-within:outline-accent-7 outline-divider relative flex h-full cursor-pointer appearance-none items-center justify-center overflow-hidden text-ellipsis whitespace-nowrap rounded-l-full border-solid px-3 py-1.5 text-center text-base outline outline-2 transition-all focus-within:outline-none",htmlFor:`isdk_phone_${e.key}`,children:[n.o("span",{children:["+",C]}),n.o("select",{...l("countryCode",{}),id:`isdk_phone_${e.key}`,class:"absolute inset-0 opacity-0",children:Object.entries(dt).map(([V,I])=>n.o("option",{value:I,children:[V," (+",I,")"]},V))})]}),n.o("input",{...p,id:"chat-input",type:"tel",inputMode:"tel",autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:V=>{V&&(m.current=V),x(V)},class:$e({optional:e.config.optional,className:"min-w-0 flex-1 rounded-r-full"}),placeholder:e.config.placeholder}),e.config.optional&&n.o(ve,{class:"absolute bottom-0 right-1 top-0",onClick:()=>r(null)})]}),n.o(_e,{})]}),n.o(Ae,{error:h.countryCode||h.phoneNumber||{message:a}})]})},Ke=e=>e===void 0?0:Math.max(0,Math.ceil((e-Date.now())/1e3)),Cn=({input:e,onSubmitSuccess:r})=>{const{t}=n.useTranslation(),{availableAt:s}=e.config,[a,o]=n.h(()=>Ke(s)),[i,l]=n.h("");n.p(()=>{const h=Ke(s);if(o(h),h===0)return;l(t("submission_cooldown",{count:h}));const b=setInterval(()=>{const x=Ke(s);o(x),!(x>0)&&(clearInterval(b),l(t("submission_cooldown_ready")))},250);return()=>clearInterval(b)},[s,t]);const c=a>0;return n.o("div",{class:"flex flex-col items-center gap-2 py-3",children:[n.o("button",{class:"bg-accent-9 hover:bg-accent-10 active:bg-submit-bg-active hover:border-accent-10 active:border-submit-bg-active border-accent-9 ring-accent-6 focus-visible:outline-accent-8 ring-offset-neutral-1 aria-disabled:hover:bg-accent-9 aria-disabled:hover:border-accent-9 flex cursor-pointer rounded-full border border-solid px-5 py-3 pr-4 text-white outline-none ring-1 ring-offset-[1.5px] transition-all duration-300 focus-visible:outline-2 active:ring-2 active:ring-offset-2 aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:active:ring-1 aria-disabled:active:ring-offset-[1.5px]",name:e.key,"aria-disabled":c,"aria-describedby":c?"submit-cooldown":void 0,onClick:()=>{Ke(s)>0||r(null)},children:n.o("span",{class:"flex items-center gap-1.5",children:[n.o("span",{class:"inline-flex items-center text-sm font-medium",children:e.config.label||"Submit"}),n.o("svg",{stroke:"currentColor","stroke-width":"1.5",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.o("path",{d:"M4 8L8 4L12 8"}),n.o("path",{d:"M8 4V13"})]})]})}),c&&n.o("p",{id:"submit-cooldown","aria-hidden":"true",class:"text-neutral-11 text-xs",children:t("submission_cooldown",{count:a})}),n.o("p",{role:"status",class:"sr-only",children:i})]})},Sn={date:{type:"date",inputMode:"text"},email:{type:"email",inputMode:"email",formNoValidate:!0},text:{type:"text",inputMode:"text"},url:{type:"url",inputMode:"url",formNoValidate:!0}},In=n.isSubmissionOfType("string"),An=(e,r)=>{const t={maxLength:r("validation_max_chars",{count:e.maxChars??999}),minLength:r("validation_min_chars",{count:e.minChars??1})};return Qe(pe({text:{date:be(re(r("validation_date")),ut(/^\d{4}-\d{2}-\d{2}$/,r("validation_date"))),email:be(re(r("validation_email")),rr(r("validation_email")),Se(e.minChars??1,t.minLength),Oe(e.maxChars??1/0,t.maxLength)),text:be(re(),Se(e.minChars??1,t.minLength),Oe(e.maxChars??1/0,t.maxLength)),url:be(re(r("validation_url")),ir(r("validation_url")),Se(e.minChars??1,t.minLength),Oe(e.maxChars??1/0,t.maxLength))}[e.format]}))},Fn=({input:e,onSubmitSuccess:r})=>{var x;const{t}=n.useTranslation(),s=e.key?(x=n.store.current$.value.flow)==null?void 0:x.data.submissions[e.key]:void 0,a=e.config.defaultValue,{register:o,handleSubmit:i,formState:{errors:l}}=Ye({defaultValues:{text:In(s)?s.value:a??""},resolver:An(e.config,t)}),{ref:c,...h}=o("text",{required:!e.config.optional}),b=n._$1();return n.y(()=>{b.current&&(b.current.focus(),b.current.select())},[]),n.o("form",{noValidate:!0,class:"flex flex-col gap-1 p-2.5",onSubmit:i(p=>{r({type:"string",value:p.text})}),children:[n.o("div",{class:"flex items-center gap-2",children:[n.o("div",{class:"relative min-w-0 flex-1",children:[n.o("input",{id:"chat-input",...h,...Sn[e.config.format],autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:p=>{p&&(b.current=p),c(p)},placeholder:e.config.placeholder,class:$e({optional:!!e.config.optional,className:"w-full rounded-full"})}),e.config.optional&&n.o(ve,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(_e,{})]}),n.o(Ae,{error:l.text})]})},Vn={text:Fn,phone:kn,"multiple-choice":hn,boolean:Vs,file:Os,submit:Cn,address:Ss,number:mn},Mn=({logger:e,analytics:r})=>{var o;const t=(o=n.store.current$.value.flow)==null?void 0:o.data.currentInput,s=n._$1(null),a=()=>n.chatStore.onInteractionFn$.value();return n.y(()=>{var i;(i=s.current)==null||i.scrollTo({top:0})},[t]),n.o("div",{ref:s,class:"border-divider max-h-[calc(100%-var(--header-height)-4rem)] w-full shrink-0 scroll-pb-12 overflow-y-auto overscroll-contain border-t",children:n.o("div",{class:"flex flex-col",onPointerDownCapture:t?a:void 0,onKeyDownCapture:t?a:void 0,children:t?(()=>{const i=Vn[t.type];return n.o(i,{logger:e,analytics:r,onSubmitSuccess:n.chatStore.onSubmitSuccessFn$.value,input:t})})():n.o("div",{class:"flex items-center gap-2 p-2.5",children:[n.o("input",{"aria-hidden":"true",id:"chat-input",class:$e({optional:!1,className:"flex-grow rounded-full"}),disabled:!0}),n.o(_e,{disabled:!0,"aria-hidden":"true",tabIndex:-1})]})})})};function En(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Nn=function(e){return e instanceof RegExp},Tn=function(r){var t=/[\\^$.*+?()[\]{}|]/g,s=RegExp(t.source);return r&&s.test(r)?r.replace(t,"\\$&"):r},Cr=function(e){return typeof e=="string"},Ln=function(e){var r=[];return e.forEach(function(t){Array.isArray(t)?r=r.concat(t):r.push(t)}),r};function Dn(e,r,t){var s=0,a=0;if(e==="")return e;if(!e||!Cr(e))throw new TypeError("First argument to react-string-replace#replaceString must be a string");var o=r;Nn(o)||(o=new RegExp("("+Tn(o)+")","gi"));for(var i=e.split(o),l=1,c=i.length;l<c;l+=2){if(i[l]===void 0||i[l-1]===void 0){console.warn("reactStringReplace: Encountered undefined value during string replacement. Your RegExp may not be working the way you expect.");continue}a=i[l].length,s+=i[l-1].length,i[l]=t(i[l],l,s),s+=a}return i}var On=function(r,t,s){return Array.isArray(r)||(r=[r]),Ln(r.map(function(a){return Cr(a)?Dn(a,t,s):a}))};const Le=En(On),Rn=/(\[[^\]]+\]\([^)]+\))/g,Pn=/\[([^\]]+)\]\(([^)]+)\)/,Bn=/(https?:\/\/[^\s]+)/g,$n=/_(.*?)_/g,jn=/\*\*(.*?)\*\*/g,qn=/\\n|\n/g,Zt="text-accent-10 hover:text-accent-11 no-underline underline-offset-2 hover:underline",Un=e=>{const r=Le(e,Rn,(i,l)=>{const[,c,h]=i.match(Pn)??[];return h?n.o("a",{class:Zt,href:h,children:c??h},h+l):n.o("span",{children:"INVALID LINK"})}),t=Le(r,Bn,(i,l)=>n.o("a",{class:Zt,href:i,children:i},i+l)),s=Le(t,$n,(i,l)=>n.o("em",{children:i},i+l)),a=Le(s,jn,(i,l)=>n.o("strong",{children:i},i+l));return Le(a,qn,(i,l)=>n.o("br",{},`br-${l}`))},Wn=n.cva("select-text max-w-[min(100%,24rem)] [text-wrap:pretty] leading-snug flex-shrink min-w-[2rem] py-2 px-3 rounded-[18px] min-h-[36px] break-words relative",{variants:{side:{left:"bg-bubble-weak-bg text-neutral-12 shadow-surface-sm outline outline-1 outline-bubble-weak rounded-bl-md",right:"ml-auto bg-accent-9 text-white rounded-br-md shadow-surface-sm shadow-bubble-strong-shadow"},animate:{true:"animate-bubble-in",false:""}},defaultVariants:{side:"left"}}),zn=({children:e,className:r,animate:t,side:s,...a})=>n.o("p",{style:{transformOrigin:s==="left"?"0% 50%":"100% 50%"},class:Wn({className:r,side:s,animate:t}),...a,children:e}),Kn=({message:e})=>n.o("div",{class:"bg-accent-3 flex w-full items-center justify-center overflow-hidden rounded-xl px-2 py-2",children:n.o("a",{onClick:e.onClick,class:"bg-lowest shadow-surface-sm ring-accent-6 hover:ring-accent-8 active:bg-accent-2 active:text-accent-10 text-accent-9 focus-visible:ring-accent-7/50 text-wrap-balance flex items-center gap-1.5 rounded-full py-2 pl-4 pr-2.5 text-center no-underline ring-1 transition-all focus:outline-none focus-visible:ring-4 focus-visible:ring-offset-2",target:"_blank",href:e.href,children:[e.text,n.o("svg",{class:"flex-none",width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:n.o("path",{d:"M3.64645 11.3536C3.45118 11.1583 3.45118 10.8417 3.64645 10.6465L10.2929 4L6 4C5.72386 4 5.5 3.77614 5.5 3.5C5.5 3.22386 5.72386 3 6 3L11.5 3C11.6326 3 11.7598 3.05268 11.8536 3.14645C11.9473 3.24022 12 3.36739 12 3.5L12 9.00001C12 9.27615 11.7761 9.50001 11.5 9.50001C11.2239 9.50001 11 9.27615 11 9.00001V4.70711L4.35355 11.3536C4.15829 11.5488 3.84171 11.5488 3.64645 11.3536Z",fill:"currentColor","fill-rule":"evenodd","clip-rule":"evenodd"})})]})}),Gn=({className:e,...r})=>n.o("div",{"aria-hidden":!0,children:n.chatStore.isBotTyping$.value===!0?n.o("div",{"aria-label":"Typing…",class:n.clsx("flex gap-1 p-4",e),...r,children:Array.from({length:3},(t,s)=>n.o("div",{class:"bg-accent-9 h-1.5 w-1.5 animate-bounce rounded-full",style:{animationDelay:`${-s*200}ms`}}))}):void 0}),Hn={bot:"left",user:"right"},Jn=n.cva("w-full select-none py-2 text-wrap-balance text-center text-[10px] uppercase tracking-widest drop-shadow-[0_1.5px_var(--i-color-n-1)]",{variants:{variant:{info:"text-neutral-8",warning:"text-[#FFC107]",error:"text-error-9",success:"text-[#4CAF50]"}}}),Zn=({lastSentMessageFooter:e})=>{const r=n.store.current$.value.flow,t=(r==null?void 0:r.data.messages)??[],s=r?n.getCorrectionNodeId(r):void 0;return n.o("ol",{"aria-label":"Chat messages","aria-live":"polite",class:"mt-auto flex flex-col justify-end gap-2 p-2 pt-[calc(var(--header-height)+1rem)]",children:[t.map((a,o)=>n.o(n.k,{children:n.o("li",{class:"flex",tabIndex:o===t.length-1?-1:void 0,children:[s&&a.groupId===s&&!t.slice(o+1).some(i=>i.groupId===s)?e:null,n.M(a).with({type:"system"},i=>n.o("p",{class:Jn({variant:i.variant}),children:i.text})).with({type:"text",author:n.z.union("bot","user")},i=>{const l=o===t.length-1,c=i.author==="bot"?Un(i.text):i.text;return n.o(n.k,{children:n.o(zn,{animate:l,side:Hn[i.author],children:c},o)})}).with({type:"link"},i=>n.o(Kn,{message:i})).with({type:"image"},i=>n.o("img",{class:"shadow-surface-md w-full max-w-[min(100%,24rem)] rounded-2xl",src:i.url,style:{aspectRatio:i.width/i.height}})).with({type:"file"},i=>n.o(Ns,{class:i.author==="bot"?void 0:"ml-auto",file:{name:i.fileName,sizeKb:i.fileSizeKb}})).with({type:"loading"},i=>{const l=t[t.length-1];return!(i===l)||n.chatStore.isBotTyping$.value?null:n.o("div",{class:"flex flex-grow flex-col items-center justify-center gap-2",children:[n.o(n.LoadingIndicator,{"aria-hidden":i.text?"true":void 0,class:"text-neutral-6 h-8 w-8"}),i.text?n.o("p",{role:"status",class:"text-neutral-11 text-sm",children:i.text}):null]})}).exhaustive()]})},o)),n.o(Gn,{},"typing")]})},Xn=({logger:e,apiClient:r,analytics:t,talentBankClient:s})=>{const{flow:a}=n.store.current$.value;n.invariant(a,"Flow is required to exist to show chatbot body");const o=n.store.viewState$.value,{chatRef:i,chatService:l}=n.useChatService(),{t:c}=n.useTranslation(),[h,b]=n.h();return n.y(()=>{o==="maximised"&&n.chatStore.scrollToEnd()},[o]),n.y(()=>{var y;const{state:x,flow:p}=n.store.current$.peek();if(x!=="loaded")throw new Error(c("invalid_state"));let m=p.data.nodeHistory.at(-1);if(n.chatStore.scrollToEnd(),n.store.setInput(void 0),p.data.isFinished)return;const C=()=>{const _=n.store.current$.peek().flow;!_||_.data.hasInteracted||(n.store.markAsInteracted(),St(t,_,"FLOW_INTERACT"))};n.chatStore.onInteractionFn$.value=C,m===void 0?(m=n.getHeadOrThrow(a.nodes).id,n.store.setCurrentNodeId(m),St(t,p,"FLOW_START")):n.store.removeMessagesSentByNodeIds([m]);const{interpret:E,abort:V,undo:I}=Or({context:a.context,analytics:{service:t,customProperties:(y=a.analytics)==null?void 0:y.customProperties},apiClient:r,logger:e,talentBankClient:s,flow:a,chatService:l,t:c,getApplicationRecovery:()=>{var _;return(_=n.store.current$.peek().flow)==null?void 0:_.data.applicationRecovery},setApplicationRecovery:n.store.setApplicationRecovery,persistWriteBarrier:()=>n.store.persistWriteBarrier(p),getSubmissions:()=>{var _;return(_=n.store.current$.peek().flow)==null?void 0:_.data.submissions},onInterpret:_=>n.store.setCurrentNodeId(_.id),onFlowEnd:async()=>{var F;n.store.markAsFinished();const _=n.store.current$.peek().flow;n.invariant(_),t.log({event:"FLOW_END",properties:{flow_id:a.id,flow_version:a.version,flow_session_id:_.data.flowSessionId,flow_build:a.build,job:a.job},customProperties:(F=a.analytics)==null?void 0:F.customProperties})}});return b(()=>I),E(m),()=>{n.chatStore.onInteractionFn$.value===C&&(n.chatStore.onInteractionFn$.value=()=>{}),V()}},[t,r,l,e,a,s,c]),n.o(n.k,{children:[n.o("div",{class:"relative flex min-h-0 w-full max-w-full flex-grow flex-col",children:[n.o("div",{ref:i,role:"region","aria-label":c("conversation_history"),tabIndex:0,className:"hide-scrollbars fr flex min-h-0 w-full max-w-full flex-grow flex-col overflow-y-auto ring-inset",style:{WebkitOverflowScrolling:"touch"},children:n.o(Zn,{lastSentMessageFooter:!n.getCorrectionNodeId(a)||!h?null:n.o(Yn,{undoFn:h})})}),n.chatStore.isReadingHistory$.value&&!a.data.isFinished&&!n.chatStore.isBotTyping$.value&&n.o("div",{class:"absolute bottom-2 left-1/2 -translate-x-1/2",children:n.o(n.SvgIconButton,{class:"bg-neutral-1 ring-divider shadow-surface-md ring-1","aria-label":c("jump_to_current"),onClick:()=>{var p,m;n.chatStore.scrollToEnd(),(m=((p=i.current)==null?void 0:p.querySelector('li[tabindex="-1"]'))??i.current)==null||m.focus({preventScroll:!0})},children:n.o(n.ChevronDown,{})})})]}),n.o(Mn,{logger:e,analytics:t})]})},Yn=({undoFn:e})=>{const{t:r}=n.useTranslation();return n.o("div",{class:"flex flex-1 items-center justify-end px-1",children:n.o(n.SvgIconButton,{"aria-label":r("undo"),onClick:async()=>{const{flow:t}=n.store.current$.peek();n.invariant(t),e(t.data.nodeHistory)},children:n.o("path",{d:"M3 13h2.67l6.66-6.67a1.9 1.9 0 0 0 0-2.66 1.91 1.91 0 0 0-2.66 0L3 10.33V13Zm4.6-7.25 2.67 2.67"})})})};exports.ChatbotBody=Xn;
|
package/dist/chatbot.idb.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const idb: {
|
|
|
7
7
|
currentInput: ChatInput | null;
|
|
8
8
|
nodeHistory: string[];
|
|
9
9
|
startedWriteNodeIds?: string[];
|
|
10
|
+
failedAttemptAt?: Record<string, number>;
|
|
10
11
|
unconfirmedAttemptKeys?: string[];
|
|
11
12
|
submitCooldown?: SubmitCooldown;
|
|
12
13
|
applicationRecovery?: ApplicationRecovery;
|
package/dist/chatbot.state.d.ts
CHANGED
|
@@ -405,7 +405,7 @@ export type ApplicationRecovery = {
|
|
|
405
405
|
export type SubmitCooldown = {
|
|
406
406
|
key: string;
|
|
407
407
|
until: number;
|
|
408
|
-
/** Consecutive
|
|
408
|
+
/** Consecutive throttles or temporary outages behind this wait, when it follows one; it sets the next one (PROD-6636, PROD-7172). */
|
|
409
409
|
throttles?: number;
|
|
410
410
|
};
|
|
411
411
|
/** Dynamic part of a flow */
|
|
@@ -425,15 +425,20 @@ export type FlowStateData = {
|
|
|
425
425
|
*/
|
|
426
426
|
startedWriteNodeIds?: string[];
|
|
427
427
|
/**
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
|
|
428
|
+
* When the most recent unsuccessful submit of any kind, other than a duplicate, happened (epoch ms), by submit
|
|
429
|
+
* node (and job, when known) key. A duplicate within an hour of it is most likely that attempt having landed
|
|
430
|
+
* (PROD-7208). Kept across Restart, which is how a candidate retries after a failure; browser-local, like the barrier.
|
|
431
|
+
*/
|
|
432
|
+
failedAttemptAt?: Record<string, number>;
|
|
433
|
+
/**
|
|
434
|
+
* Legacy, read-only: keys of attempts with an unknown or missing verdict, written before failures carried a time
|
|
435
|
+
* (PROD-7055). Still in candidates' browser storage; with no time to compare, a key here counts as a recent
|
|
436
|
+
* failure until a new failure on that key replaces it with a time in `failedAttemptAt`. Never added to.
|
|
432
437
|
*/
|
|
433
438
|
unconfirmedAttemptKeys?: string[];
|
|
434
439
|
/**
|
|
435
440
|
* When submit becomes available again after an unsuccessful attempt, for the attempt key above (PROD-7112),
|
|
436
|
-
* and how many throttles in a row led to it (PROD-6636). Cleared by a success. Kept across Restart so neither
|
|
441
|
+
* and how many throttles or outages in a row led to it (PROD-6636, PROD-7172). Cleared by a success. Kept across Restart so neither
|
|
437
442
|
* Restart nor a reload skips the wait or resets the escalation; browser-local, like the barrier.
|
|
438
443
|
*/
|
|
439
444
|
submitCooldown?: SubmitCooldown;
|
package/dist/i18n.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare const TranslationProvider: (props: {
|
|
|
10
10
|
readonly skipped: "Skipped";
|
|
11
11
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
12
12
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
13
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
13
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
14
14
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
15
15
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
16
16
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -39,6 +39,7 @@ export declare const TranslationProvider: (props: {
|
|
|
39
39
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
40
40
|
readonly complete_submission: "Complete submission";
|
|
41
41
|
readonly submission_completed: "Submission completed!";
|
|
42
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
42
43
|
readonly close_application: "Close application";
|
|
43
44
|
readonly invalid_state: "Invalid application state";
|
|
44
45
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|
|
@@ -109,7 +110,7 @@ export declare const TranslationProvider: (props: {
|
|
|
109
110
|
readonly skipped: "Skipped";
|
|
110
111
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
111
112
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
112
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
113
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
113
114
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
114
115
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
115
116
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -138,6 +139,7 @@ export declare const TranslationProvider: (props: {
|
|
|
138
139
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
139
140
|
readonly complete_submission: "Complete submission";
|
|
140
141
|
readonly submission_completed: "Submission completed!";
|
|
142
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
141
143
|
readonly close_application: "Close application";
|
|
142
144
|
readonly invalid_state: "Invalid application state";
|
|
143
145
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|
|
@@ -205,7 +207,7 @@ export declare const TranslationProvider: (props: {
|
|
|
205
207
|
readonly skipped: "Skipped";
|
|
206
208
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
207
209
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
208
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
210
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
209
211
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
210
212
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
211
213
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -234,6 +236,7 @@ export declare const TranslationProvider: (props: {
|
|
|
234
236
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
235
237
|
readonly complete_submission: "Complete submission";
|
|
236
238
|
readonly submission_completed: "Submission completed!";
|
|
239
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
237
240
|
readonly close_application: "Close application";
|
|
238
241
|
readonly invalid_state: "Invalid application state";
|
|
239
242
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|
|
@@ -304,7 +307,7 @@ export declare const TranslationProvider: (props: {
|
|
|
304
307
|
readonly skipped: "Skipped";
|
|
305
308
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
306
309
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
307
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
310
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
308
311
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
309
312
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
310
313
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -333,6 +336,7 @@ export declare const TranslationProvider: (props: {
|
|
|
333
336
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
334
337
|
readonly complete_submission: "Complete submission";
|
|
335
338
|
readonly submission_completed: "Submission completed!";
|
|
339
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
336
340
|
readonly close_application: "Close application";
|
|
337
341
|
readonly invalid_state: "Invalid application state";
|
|
338
342
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|
|
@@ -400,7 +404,7 @@ export declare const TranslationProvider: (props: {
|
|
|
400
404
|
readonly skipped: "Skipped";
|
|
401
405
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
402
406
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
403
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
407
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
404
408
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
405
409
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
406
410
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -429,6 +433,7 @@ export declare const TranslationProvider: (props: {
|
|
|
429
433
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
430
434
|
readonly complete_submission: "Complete submission";
|
|
431
435
|
readonly submission_completed: "Submission completed!";
|
|
436
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
432
437
|
readonly close_application: "Close application";
|
|
433
438
|
readonly invalid_state: "Invalid application state";
|
|
434
439
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|
|
@@ -497,7 +502,7 @@ export declare const TranslationProvider: (props: {
|
|
|
497
502
|
readonly skipped: "Skipped";
|
|
498
503
|
readonly submission_closed: "This role is no longer accepting applications.";
|
|
499
504
|
readonly submission_duplicate: "You've already applied for this role, so we haven't submitted a second application. If that doesn't sound right, check your email for a confirmation or try again in a few minutes.";
|
|
500
|
-
readonly submission_duplicate_earlier_attempt: "
|
|
505
|
+
readonly submission_duplicate_earlier_attempt: "You've already applied for this role. If that doesn't sound right, it's most likely a hiccup from your earlier attempt — don't worry, we have your application.";
|
|
501
506
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
502
507
|
readonly submission_failed: "We couldn't submit your application. Choose Restart to try again.";
|
|
503
508
|
readonly submission_unknown: "We couldn't confirm whether your application was sent. Please check your email for a confirmation. If nothing arrives, choose Restart to apply again.";
|
|
@@ -526,6 +531,7 @@ export declare const TranslationProvider: (props: {
|
|
|
526
531
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
527
532
|
readonly complete_submission: "Complete submission";
|
|
528
533
|
readonly submission_completed: "Submission completed!";
|
|
534
|
+
readonly submission_pending: "Thanks, we've received your application and are processing it.";
|
|
529
535
|
readonly close_application: "Close application";
|
|
530
536
|
readonly invalid_state: "Invalid application state";
|
|
531
537
|
readonly redirect_url_error: "Couldn\u2019t get the redirect URL.";
|