@inploi/plugin-chatbot 14.3.0 → 14.5.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.
@@ -58,4 +58,13 @@ export declare const createFlowInterpreter: ({ flow, analytics, logger, talentBa
58
58
  export declare const SUBMIT_STILL_WORKING_MS = 5000;
59
59
  /** How long submit stays unavailable after an unsuccessful attempt (PROD-7112). */
60
60
  export declare const SUBMIT_COOLDOWN_MS = 30000;
61
+ /**
62
+ * The wait after a throttled outcome grows by this much with each consecutive throttle on one application —
63
+ * 20 s, 40 s, then 60 s for every one after — unless the provider's own Retry-After is longer (PROD-6636). The
64
+ * API cannot wait this long itself: the submit runs inside a web request that already spends up to 20 s
65
+ * honouring Retry-After.
66
+ */
67
+ export declare const THROTTLE_COOLDOWN_STEP_MS = 20000;
68
+ /** The longest cooldown of any kind, matching the API's bound on the Retry-After it passes on. */
69
+ export declare const MAX_SUBMIT_COOLDOWN_MS = 120000;
61
70
  export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-af5b0510.cjs");require("@inploi/sdk");exports.chatbotPlugin=e.chatbotPlugin;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-94e88490.cjs");require("@inploi/sdk");exports.chatbotPlugin=e.chatbotPlugin;
@@ -1,4 +1,4 @@
1
- import { v as a } from "./index-616a7727.js";
1
+ import { v as a } from "./index-985be818.js";
2
2
  import "@inploi/sdk";
3
3
  export {
4
4
  a as chatbotPlugin
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inploi/plugin-chatbot",
3
- "version": "14.3.0",
3
+ "version": "14.5.0",
4
4
  "type": "module",
5
5
  "main": "dist/plugin-chatbot.js",
6
6
  "types": "dist/index.d.ts",
@@ -60,9 +60,9 @@
60
60
  "vite": "^4.4.5",
61
61
  "vite-plugin-dts": "^3.7.0",
62
62
  "vite-tsconfig-paths": "^4.2.1",
63
- "@inploi/flows": "9.1.0",
63
+ "@inploi/flows": "9.3.0",
64
64
  "@inploi/i18n": "0.1.5",
65
- "@inploi/core": "1.18.0",
65
+ "@inploi/core": "1.19.0",
66
66
  "@inploi/design-tokens": "0.2.1",
67
67
  "@inploi/plugin-feedback": "6.0.0",
68
68
  "@inploi/sdk": "2.2.0",
@@ -1,5 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-af5b0510.cjs"),_t=require("@inploi/sdk"),kt=(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 Ct=({condition:e,context:r,submissions:t,ifBlock:s})=>{let[a,...o]=e.compareKey.split(".");if(!a)return!1;let i=n.K({context:r,key:a,path:o,submissions:t});if(!i)return!1;switch(i.type){case"address":{let l=n.j(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.j(i.value,o),c={...s,data:{compareKey:"_temp",compare:e.compare,compareValue:e.compareValue}};switch(typeof l){case"boolean":return Me(c,{submissions:{_temp:{value:l,type:"boolean"}},context:r});case"string":return Me(c,{submissions:{_temp:{value:l,type:"string"}},context:r});case"number":return Me(c,{submissions:{_temp:{value:l,type:"number"}},context:r});case"object":return Array.isArray(l)&&l.every(h=>typeof h=="string")?Me(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.H(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}},Me=(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(Ct({condition:a,context:r,submissions:t,ifBlock:e}))return!0;return!1}else{for(let a of s)if(!Ct({condition:a,context:r,submissions:t,ifBlock:e}))return!1;return!0}},Mr=/{{\s*([^}]+?)\s*(?:\|\s*([^}]+?)\s*)?}}/g,Nr=(e,{context:r,submissions:t})=>e.replace(Mr,(s,a,o="")=>{let[i,...l]=a.trim().split("."),c=n.K({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.G(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.H(c.value);case"integration":{if(typeof c.value!="object"||Array.isArray(c.value))break;let h=n.j(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??{}}),ae=(e,r)=>Nr(e,Xt(r)),Tr=(e,r)=>Me(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})},Lr=({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)},Dr=({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 S=new AbortController;(I=e.data).startedWriteNodeIds??(I.startedWriteNodeIds=e.nodes.flatMap(y=>{var E,D;if(y.type!=="integration-application-submit"||!e.data.nodeHistory.includes(y.id))return[];const k=y.data.key?(E=i())==null?void 0:E[y.data.key]:void 0;return(k==null?void 0:k.type)==="integration"&&((D=n.W(k.value))==null?void 0:D.verdict)==="not_submitted"?[]:[y.id]}));const M={...r.service,log:y=>r.service.log({...y,customProperties:{...y.customProperties,...r.customProperties}})},A=async(y,k)=>{const V=S.signal;if(V.aborted)return;const E=i(),D=l(),G=(D==null?void 0:D.submitNodeId)===y.id?e.nodes.find(N=>{var $;return N.id===D.fileQuestionNodeId&&N.type==="question-file"&&(($=E==null?void 0:E[N.data.key])==null?void 0:$.type)!=="file"}):void 0;if(G)return A(G,k);p==null||p(y,k);try{await Or({flow:e,analytics:M,logger:t,talentBankClient:s,apiClient:o,context:a,node:y,submissions:E,applicationRecovery:D,setApplicationRecovery:async N=>{if(!V.aborted)try{await c(N)}catch($){t.error("Failed to persist application recovery",$)}},forceSubmitConfirmation:(D==null?void 0:D.submitNodeId)===y.id,persistWriteBarrier:b,signal:V,t:m,chat:{sendMessage:async N=>h.send({groupId:y.id,message:N,signal:V}),userInput:async N=>h.input({input:N,signal:V}),setSubmission:(N,$)=>{V.aborted||h.setSubmission(N,$)}},next:N=>{if(V.aborted)return;const $=(D==null?void 0:D.fileQuestionNodeId)===y.id?D.submitNodeId:N,T=$?e.nodes.find(j=>j.id===$):Lr({childNode:y,nodes:e.nodes});return T?A(T,y):x==null?void 0:x(y)},end:()=>{V.aborted||x==null||x(y)}})}catch(N){if(N instanceof n.AbortedError)return;throw N}};return{interpret:async y=>{const k=e.nodes.find(V=>V.id===y)??n.getHeadOrThrow(e.nodes);return A(k)},undo:y=>{var $;if(($=e.data.startedWriteNodeIds)!=null&&$.length||e.data.isFinished)return{removed:0};const k=n.getCorrectionNodeId(e),V=k?y.lastIndexOf(k):-1,E=e.nodes.find(T=>T.id===k);if(V===-1||!E)return{removed:0};const D=e.nodes.find(T=>T.id===y[y.length-1]);S.abort();const G=y.splice(V);e.data.messages=e.data.messages.filter(T=>!T.groupId||!G.includes(T.groupId)),e.data.currentInput=null;const N=i();for(const T of G.slice(1)){const j=e.nodes.find(w=>w.id===T);if(!(!j||!N||j.id===k)&&("key"in j.data&&j.data.key&&delete N[j.data.key],"keys"in j.data))for(const w of Object.values(j.data.keys))typeof w=="string"&&delete N[w]}return S=new AbortController,A(E,D),{removed:G.length}},abort:()=>{S.abort()}}};async function Or(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 ts({...e,node:r});case"text":return Kr({...e,node:r});case"image":return Wr({...e,node:r});case"question-text":return Gr({...e,node:r});case"question-enum":return Zr({...e,node:r});case"question-number":return Hr({...e,node:r});case"question-phone":return Jr({...e,node:r});case"question-boolean":return Xr({...e,node:r});case"question-file":return Qr({...e,node:r});case"question-address":return Yr({...e,node:r});case"end-flow":return es({...e,node:r});case"if-block":return zr({...e,node:r});case"jump":return jr({...e,node:r});case"link":return Ur({...e,node:r});case"integration-application-submit":return qr({...e,node:r});case"add-submission":return Pr({...e,node:r});case"integration-workflow-get":throw Error("Workflow should be unreachable");case"check-duplicate":return Br({...e,node:r});case"feedback":return Rr({...e,node:r});default:throw new Error(`Unknown node: ${JSON.stringify(r)}`)}}async function Rr({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.B({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 jr({next:e,node:r}){e(r.data.targetId)}async function Pr({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:ae(r.data.value,{submissions:s,context:a})},e(r.nextId)}const $r=5e3,St=3e4;async function qr({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:S}){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:S("submission_unknown")}),t();const M=c.job?`${s.id}@${c.job.id_type}:${c.job.id}`:s.id,A=async y=>{var Z,fe,he,pe,Ve;const k=((Z=c.data.submitCooldown)==null?void 0:Z.key)===M?c.data.submitCooldown:void 0;k&&(k.until=Math.min(k.until,Date.now()+St));const V=k==null?void 0:k.until;(y!==!0||V!==void 0&&V>Date.now())&&await e.userInput({type:"submit",key:void 0,config:{label:s.data.submitLabel,...V!==void 0&&{availableAt:V}}}),await e.sendMessage({type:"loading",text:S("submitting")});const{anonymous_id:E,session_id:D}=l.getSessionInfo();if(m.aborted)return;const G=((fe=c.data.startedWriteNodeIds)==null?void 0:fe.includes(s.id))===!0;if((h==null?void 0:h.submitNodeId)===s.id&&await b(void 0),G||(c.data.startedWriteNodeIds=[...c.data.startedWriteNodeIds??[],s.id]),await p().catch(P=>a.error("Failed to persist application write barrier",P)),m.aborted)return;let N;const $=setTimeout(()=>{N=(async()=>{await e.sendMessage({type:"text",author:"bot",text:S("submission_still_working")}),await e.sendMessage({type:"loading",text:S("submitting")})})().catch(P=>a.error("Failed to send submission progress message",P))},$r);let T;const j=await o.fetch("/flow/submit",{method:"POST",body:JSON.stringify({log_submit:!1,integration_id:s.data.integrationId,anonymous_id:E,session_id:D,job:c.job,flow_build:c.build,submissions:n.A(c.nodes,n.U(i||{},s.data.submitKeys)),pre_apply:n.E(c.nodes,i||{},c.data.flowSessionId)})}).catch(P=>(T=P,_t.isApiErrorWithData(P)?P.data:P));if(clearTimeout($),await N,m.aborted)return;s.data.key&&e.setSubmission(s.data.key,{type:"integration",value:j});const w=n.W(j,T instanceof _t.ApiError?T.status:void 0),L=((he=c.data.unconfirmedAttemptKeys)==null?void 0:he.includes(M))===!0,q=n.X(j);if(q&&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:q.service,response:q.response,flow_type:"CHATBOT_DRAWER",job:c.job,...(w==null?void 0:w.outcome)==="duplicate"&&{outcome:L?"duplicate_after_own_attempt":"duplicate"}}}),n.J(j)){const{redirect_url:P,message:Ge,button_text:Be}=j.integration_response.data;await e.sendMessage({type:"text",author:"bot",text:Ge??S("submission_redirect_message")});try{const ye=new URL(P);E&&!ye.searchParams.has("anonymous_id")&&ye.searchParams.set("anonymous_id",E),await e.sendMessage({type:"link",href:ye.toString(),text:Be??S("complete_submission"),onClick:()=>{if(!D){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:D,flow_version:c.version,href:ye.toString(),job:c.job}})}})}catch(ye){a.error(`Invalid redirect URL: ${P}`,ye),e.sendMessage({type:"system",variant:"error",text:S("redirect_url_error")})}return r(s.nextId)}if((j==null?void 0:j.success)===!0)return s.data.skipConfirmation!==!0&&await e.sendMessage({type:"system",variant:"success",text:S("submission_completed")}),r(s.nextId);const z=(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&&((pe=i==null?void 0:i[w.field])==null?void 0:pe.type)==="file"?w.field:void 0,J=z===void 0?void 0:c.nodes.find(P=>P.type==="question-file"&&P.data.key===z);return J||(c.data.submitCooldown={key:M,until:Date.now()+St}),(w==null?void 0:w.verdict)==="not_submitted"||(w==null?void 0:w.outcome)==="duplicate"||(w==null?void 0:w.outcome)==="closed"?(G||(c.data.startedWriteNodeIds=(Ve=c.data.startedWriteNodeIds)==null?void 0:Ve.filter(P=>P!==s.id)),(h==null?void 0:h.submitNodeId)===s.id&&await b(h),await p().catch(P=>a.error("Failed to persist application write barrier release",P))):(w==null?void 0:w.verdict)!=="confirmed"&&!L?(c.data.unconfirmedAttemptKeys=[...c.data.unconfirmedAttemptKeys??[],M],await p().catch(P=>a.error("Failed to persist unconfirmed attempt",P))):await p().catch(P=>a.error("Failed to persist submit cooldown",P)),w?(a.error(T??w.message),J&&z!==void 0?(e.setSubmission(z,null),await b({fileQuestionNodeId:J.id,submitNodeId:s.id}),await e.sendMessage({type:"system",variant:"error",text:S("submission_unreadable_document")}),r(J.id)):w.outcome==="duplicate"?(await e.sendMessage({type:"system",variant:"info",text:S(L?"submission_duplicate_earlier_attempt":"submission_duplicate")}),A(!1)):w.outcome==="closed"?(await e.sendMessage({type:"system",variant:"info",text:S("submission_closed")}),A(!1)):w.outcome==="unknown"?(await e.sendMessage({type:"system",variant:"warning",text:S("submission_unknown")}),A(!1)):(w.phase==="workflow"||w.phase==="authentication")&&w.retryable===!0&&w.verdict==="not_submitted"?(await e.sendMessage({type:"system",variant:"error",text:S("submission_retryable")}),A(!1)):(await e.sendMessage({type:"system",variant:"error",text:S("submission_failed")}),t())):(a.error(T??j),await e.sendMessage({type:"system",variant:"error",text:S("submission_failed")}),t())};await A(x===!0?!1:s.data.skipConfirmation)}async function Ur({chat:e,next:r,node:t,submissions:s,context:a}){await e.sendMessage({type:"link",href:ae(t.data.href,{submissions:s,context:a}),text:ae(t.data.cta,{submissions:s,context:a})}),r(t.nextId)}async function zr({submissions:e,next:r,node:t,context:s}){r(Tr(t,{submissions:e,context:s})?t.branchId:t.nextId)}async function Kr({chat:e,next:r,node:t,submissions:s,context:a}){await e.sendMessage({author:"bot",type:"text",text:ae(t.data.text,{submissions:s,context:a})}),r(t.nextId)}async function Wr({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 Gr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ae(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.H(i.value):i.value}),r(t.nextId)}async function Hr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ae(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 Jr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ae(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.H(i.value):i.value}),r(t.nextId)}async function Zr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ae(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 Xr({chat:e,next:r,node:t,submissions:s,context:a,t:o}){await e.sendMessage({author:"bot",type:"text",text:ae(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 Yr({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,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 Qr({node:e,chat:r,next:t,submissions:s,context:a,t:o}){await r.sendMessage({author:"bot",type:"text",text:ae(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 es({chat:e,end:r,node:t}){await e.sendMessage({type:"system",variant:"info",text:t.data.systemMessage}),r()}async function ts({node:e,flow:r,submissions:t,chat:s,next:a,apiClient:o,analytics:i}){const l=n.F(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.E(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 S of["hard","advisory"]){const M=c.filter(A=>!A.matched&&A.severity===S);M.length&&m.push((S==="hard"?"Role requirements":"Other things to consider")+`
2
- `+M.map(A=>`• ${A.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 we=({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 le;function qe(e){return{lang:(e==null?void 0:e.lang)??(le==null?void 0:le.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(le==null?void 0:le.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(le==null?void 0:le.abortPipeEarly)}}var Qe;function rs(e){return Qe==null?void 0:Qe.get(e)}var et;function ss(e){return et==null?void 0:et.get(e)}var tt;function ns(e,r){var t;return(t=tt==null?void 0:tt.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 X(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??ns(e.reference,c.lang)??(h?ss(c.lang):null)??s.message??rs(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 oe(e){return{version:1,vendor:"valibot",validate(r){return e["~run"]({value:r},qe())}}}function is(e,r){return Object.hasOwn(e,r)&&r!=="__proto__"&&r!=="prototype"&&r!=="constructor"}function as(e,r){const t=[...new Set(e)];return t.length>1?`(${t.join(` ${r} `)})`:t[0]??"never"}function os(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 ls=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}},us=/^[\w+-]+(?:\.[\w+-]+)*@[\da-z]+(?:[.-][\da-z]+)*\.[a-z]{2,}$/iu;function Qt(e,r){return{kind:"validation",type:"check",reference:Qt,async:!1,expects:null,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement(t.value)&&X(this,"input",t,s),t}}}function er(e){return{kind:"validation",type:"email",reference:er,expects:null,async:!1,requirement:us,message:e,"~run"(r,t){return r.typed&&!this.requirement.test(r.value)&&X(this,"email",r,t),r}}}function Ne(e,r){return{kind:"validation",type:"max_length",reference:Ne,async:!1,expects:`<=${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&t.value.length>this.requirement&&X(this,"length",t,s,{received:`${t.value.length}`}),t}}}function tr(e,r){return{kind:"validation",type:"max_value",reference:tr,async:!1,expects:`<=${e instanceof Date?e.toJSON():Ie(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value<=this.requirement)&&X(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&&X(this,"length",t,s,{received:`${t.value.length}`}),t}}}function rr(e,r){return{kind:"validation",type:"min_value",reference:rr,async:!1,expects:`>=${e instanceof Date?e.toJSON():Ie(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value>=this.requirement)&&X(this,"value",t,s,{received:t.value instanceof Date?t.value.toJSON():Ie(t.value)}),t}}}function it(e,r){return{kind:"validation",type:"regex",reference:it,async:!1,expects:`${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement.test(t.value)&&X(this,"format",t,s),t}}}function at(e){return{kind:"transformation",type:"transform",reference:at,async:!1,operation:e,"~run"(r){return r.value=this.operation(r.value),r}}}function sr(e){return{kind:"validation",type:"url",reference:sr,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)&&X(this,"URL",r,t),r}}}function cs(e,r,t){return typeof e.fallback=="function"?e.fallback(r,t):e.fallback}function nr(e,r,t){return typeof e.default=="function"?e.default(r,t):e.default}function ir(e,r){return{kind:"schema",type:"array",reference:ir,expects:"Array",async:!1,item:e,message:r,get"~standard"(){return oe(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 X(this,"type",t,s);return t}}}function ar(e){return{kind:"schema",type:"boolean",reference:ar,expects:"boolean",async:!1,message:e,get"~standard"(){return oe(this)},"~run"(r,t){return typeof r.value=="boolean"?r.typed=!0:X(this,"type",r,t),r}}}function or(e){return{kind:"schema",type:"number",reference:or,expects:"number",async:!1,message:e,get"~standard"(){return oe(this)},"~run"(r,t){return typeof r.value=="number"&&!isNaN(r.value)?r.typed=!0:X(this,"type",r,t),r}}}function de(e,r){return{kind:"schema",type:"object",reference:de,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return oe(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]:nr(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]=cs(l);else if(l.type!=="exact_optional"&&l.type!=="optional"&&l.type!=="nullish"&&(X(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 X(this,"type",t,s);return t}}}function Te(e,r){return{kind:"schema",type:"optional",reference:Te,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:r,get"~standard"(){return oe(this)},"~run"(t,s){return t.value===void 0&&(this.default!==void 0&&(t.value=nr(this,t,s)),t.value===void 0)?(t.typed=!0,t):this.wrapped["~run"](t,s)}}}function lr(e,r){return{kind:"schema",type:"picklist",reference:lr,expects:as(e.map(Ie),"|"),async:!1,options:e,message:r,get"~standard"(){return oe(this)},"~run"(t,s){return this.options.includes(t.value)?t.typed=!0:X(this,"type",t,s),t}}}function ur(e,r,t){return{kind:"schema",type:"record",reference:ur,expects:"Object",async:!1,key:e,value:r,message:t,get"~standard"(){return oe(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(is(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 X(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 oe(this)},"~run"(r,t){return typeof r.value=="string"?r.typed=!0:X(this,"type",r,t),r}}}function ds(e,r,t){const s=e["~run"]({value:r},qe(t));if(s.issues)throw new ls(s.issues);return s.value}function fs(e,r){const t={};for(const s in e.entries)t[s]=!r||r.includes(s)?Te(e.entries[s]):e.entries[s];return{...e,entries:t,get"~standard"(){return oe(this)}}}function be(...e){return{...e[0],pipe:e,get"~standard"(){return oe(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 hs(e,r,t){const s=e["~run"]({value:r},qe(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}async function ps(e,r,t){const s=await e["~run"]({value:r},qe(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}const Fe=({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})]}),_e=({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 ot={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 Oe=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}}),ys="https://api.mapbox.com/search/searchbox/v1/suggest",ms="ZzRDWFU0dTZ3SF9aWk9RNGl6QzZaWS5RZmlFak13a0hPbGxXZXlNSGN5RUhObUJ6TXpSV08yUW5OdE5tSTZJU1lpd2lJb1JYYXRObmJ2Tm5iaGhHZWx4V1lpb2pJMUp5ZS5rcA==",gs=e=>atob(e).split("").reverse().join(""),ue=de({name:re()}),bs=de({suggestions:ir(de({full_address:Te(re()),place_formatted:Te(re()),name:Te(re()),mapbox_id:re(),context:fs(de({address:ue,street:ue,neighborhood:ue,locality:ue,district:ue,place:ue,region:ue,postcode:ue,country:ue}))}))}),vs=({logger:e,t:r})=>n.F$1(()=>{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(ys);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",gs(ms));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=hs(bs,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,S,M,A,I,y,k,V,E;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)??((S=p.context.street)==null?void 0:S.name),line2:void 0,line3:((M=p.context.neighborhood)==null?void 0:M.name)??((A=p.context.locality)==null?void 0:A.name),city:((I=p.context.place)==null?void 0:I.name)??((y=p.context.district)==null?void 0:y.name),state:(k=p.context.region)==null?void 0:k.name,postcode:(V=p.context.postcode)==null?void 0:V.name,country:(E=p.context.country)==null?void 0:E.name}}})}}}:{enabled:!1}},[e,r]),It=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")})]})},xs=({input:e,onSubmitSuccess:r,logger:t})=>{const{t:s}=n.useTranslation(),[a,o]=n.h(),{enabled:i,getPredictions:l}=vs({logger:t,t:s}),[c,h]=n.h(i?"query":"manual"),[b,x]=n.h(""),[p,m]=n.h(),S=n._(),M=n._(),A=y=>{var V;if(n.invariant(i,"Query state should not be enabled"),y=y.trim(),y===((V=S.current)==null?void 0:V.query)||y===(p==null?void 0:p.query)&&p.status==="done")return;if(x(y),y===""){S.current=void 0,m(void 0);return}const k=S.current={query:y};m({query:y,status:"pending"}),l(y).then(E=>{S.current===k&&(S.current=void 0,m(E.ok?{query:y,status:"done",items:E.data}:{query:y,status:"failed",error:E.error}))},E=>{S.current===k&&(S.current=void 0,t.error("Failed to get address details",E),m({query:y,status:"failed",error:s("address_error")}))})},I=(y,k)=>{o(V=>({...V,[y]:k}))};switch(c){case"query":return n.invariant(i,"Query state should not be enabled"),n.o(ws,{input:e,onSkip:()=>r(null),onAddressSelect:y=>{if(y===""){S.current&&(S.current=void 0,m(void 0)),h("manual");return}const k=(p==null?void 0:p.status)==="done"?p.items.find(V=>V.id===y):void 0;k&&(M.current!==y&&o(k.address),M.current=y,h("details"))},onAddressSearch:A,lookup:p,query:b});case"details":return n.invariant(a!==void 0),n.o(Vt,{input:e,logger:t,onSubmitSuccess:r,addressFields:a,onFieldChange:I,actions:n.o(It,{onClick:()=>{h("query")}})});case"manual":return n.o(Vt,{logger:t,input:e,onSubmitSuccess:r,addressFields:a??{},onFieldChange:I,actions:i?n.o(It,{onClick:()=>{h("query")}}):void 0})}},ws=({input:e,onSkip:r,lookup:t,onAddressSelect:s,query:a,onAddressSearch:o})=>{const{t:i}=n.useTranslation(),l=n._(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:Oe({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(_e,{class:"relative",onClick:r})]}),(t==null?void 0:t.status)==="failed"?n.o(Fe,{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")})})},"")]})]})},Ft=["line1","line2","line3","city","state","postcode","country"],Vt=({addressFields:e,onFieldChange:r,onSubmitSuccess:t,actions:s,input:a})=>{const o=n._(null);n.y(()=>{if(o.current){const c=o.current.querySelector("input");c&&(c.focus(),c.select())}},[]);const i=Object.keys(ot),{t:l}=n.useTranslation();return n.o("form",{class:"flex flex-col px-2 pt-2",onSubmit:c=>{const h=new FormData(c.currentTarget),b=Object.fromEntries(h.entries());t({type:"address",value:b})},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:Ft.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:!0}),h===Ft.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(we,{class:"ml-auto"})]})]})},lt=()=>{const e=n._(null);return n.p(()=>{var r;(r=e.current)==null||r.focus()},[]),e},cr=["true","false"],_s=lr(cr),ks="answer",dr="flex items-center flex-wrap gap-2 p-2.5",fr="min-w-0 max-w-full flex-auto",hr=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})})),Cs=({input:e,onSubmitSuccess:r})=>{const t=lt();return n.o("form",{noValidate:!0,class:"",onSubmit:s=>{s.preventDefault();const a=n.getFormSubmitter(s).value,o=ds(_s,a);r({type:"boolean",value:o==="true"})},children:[n.o("ul",{class:dr,children:cr.map((s,a)=>n.o("li",{class:fr,children:n.o(hr,{ref:a===0?t:null,type:"submit",name:ks,value:s,label:e.config.labels[s]},s)}))}),e.config.optional&&n.o("div",{class:"px-2 pb-2",children:n.o(_e,{class:"relative w-full",type:"button",onClick:()=>r(null)})})]})},Ss=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)}),At=e=>e.reduce((r,t)=>r+t.sizeKb,0),Is=n.isSubmissionOfType("file"),Et=3,Ue=e=>{const r=e.lastIndexOf(".");return r===-1?[e,""]:[e.slice(0,r),e.slice(r)]},Fs=({file:e,class:r,...t})=>{const[s,a]=Ue(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.G(e.sizeKb)})]})},Mt=({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}),Vs=(e,r)=>{const[t,s]=Ue(e);return`${t.slice(0,r)}${s}`},Nt=e=>({name:Vs(e.name,42),sizeKb:e.size/1e3}),As=[".heic",".heif",".jpg",".jpeg",".png",".gif",".webp",".txt",".rtf",".odt",".pages",".zip"],Es=(e,r,t)=>{const s=Ue(r.name)[1].toLowerCase(),a=[...t.map(i=>i.toLowerCase()),...As],o=s===""?"none":a.includes(s)?s:"other";return`chatbot-file-refused:${e}:${o}`},Ms=({input:e,onSubmitSuccess:r,analytics:t})=>{var A;const s=(A=n.store.current$.value.flow)==null?void 0:A.data.submissions[e.key],[a,o]=n.h(Is(s)&&s.value.length?{status:"ready",files:s.value}:{status:"empty"}),i=n._(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-Et,x=At(c),p=lt(),{t:m}=n.useTranslation(),S=I=>{if(!I.length)return{reason:"required",error:{type:"required",message:m("validation_file")}};if(!n.z(I,e.config.extensions))return{reason:"type",file:I.find(y=>!n.z([y],e.config.extensions)),error:{type:"validate",message:m("validation_file_ext",{ext:e.config.extensions.join(", ")})}};if(e.config.fileSizeLimitKib&&At(I)>e.config.fileSizeLimitKib)return{reason:"size",error:{type:"max",message:m("validation_file_size",{size:n.G(e.config.fileSizeLimitKib)})}};if(!e.config.allowMultiple&&I.length>1)return{reason:"count",error:{type:"invalid",message:m("validation_file_max",{count:1})}}},M=(I,y)=>{var k,V;return t.log({event:"INTERACTION",properties:{tag:Es(I,y,e.config.extensions)},customProperties:(V=(k=n.store.current$.peek().flow)==null?void 0:k.analytics)==null?void 0:V.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=S(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,Et).map(I=>{const[y,k]=Ue(I.name);return n.o(Mt,{class:"flex overflow-hidden",children:[n.o("span",{class:"block truncate",children:y}),n.o("span",{children:k})]})}),b>0?n.o(Mt,{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.G(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.G(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[k]=y;if(!k)return;const V=++i.current,E=a.status==="ready",D=y.map(Nt),G=S(D);if(G)return M(G.reason,G.file??k),o({status:"error",error:G.error});o({status:"pending",files:D});let N;try{const $=await Promise.all(y.map(async T=>{try{return{...Nt(T),data:await Ss(T)}}catch(j){throw N??(N=T),j}}));i.current===V&&o({status:"ready",files:$})}catch{if(i.current!==V)return;M("unreadable",N??k),o({status:"error",error:{type:"invalid",message:m(E?"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(we,{disabled:l.length===0}),e.config.optional&&n.o(_e,{class:"relative",onClick:()=>r(null)})]})]}),n.o(Fe,{error:h})]})};var Re=e=>e.type==="checkbox",xe=e=>e instanceof Date,ee=e=>e==null;const pr=e=>typeof e=="object";var W=e=>!ee(e)&&!Array.isArray(e)&&pr(e)&&!xe(e),Ns=e=>W(e)&&e.target?Re(e.target)?e.target.checked:e.target.value:e,Ts=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Ls=(e,r)=>e.has(Ts(r)),Ds=e=>{const r=e.constructor&&e.constructor.prototype;return W(r)&&r.hasOwnProperty("isPrototypeOf")},ut=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(ut&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(W(e)&&Ds(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 ze=e=>/^\w*$/.test(e),U=e=>e===void 0,ct=e=>Array.isArray(e)?e.filter(Boolean):[],dt=e=>ct(e.replace(/["|']|\]/g,"").split(/\.|\[/)),C=(e,r,t)=>{if(!r||!W(e))return t;const s=(ze(r)?[r]:dt(r)).reduce((a,o)=>ee(a)?a:a[o],e);return U(s)||s===e?U(e[r])?t:e[r]:s},ie=e=>typeof e=="boolean",se=e=>typeof e=="function",B=(e,r,t)=>{let s=-1;const a=ze(r)?[r]:dt(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=W(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"},ce={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Os=n.Cn.createContext(null);Os.displayName="HookFormControlContext";var Rs=(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 Bs=typeof window<"u"?n.Cn.useLayoutEffect:n.Cn.useEffect;var te=e=>typeof e=="string",js=(e,r,t,s,a)=>te(e)?(s&&r.watch.add(e),C(t,e,a)):Array.isArray(e)?e.map(o=>(s&&r.watch.add(o),C(t,o))):(s&&(r.watchAll=!0),t),st=e=>ee(e)||!pr(e);function ge(e,r,t=new WeakSet){if(st(e)||st(r))return Object.is(e,r);if(xe(e)&&xe(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(xe(i)&&xe(l)||W(i)&&W(l)||Array.isArray(i)&&Array.isArray(l)?!ge(i,l,t):!Object.is(i,l))return!1}}return!0}const Ps=n.Cn.createContext(null);Ps.displayName="HookFormContext";var yr=(e,r,t,s,a)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:a||!0}}:{},Le=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 mr(e,r){const t={};for(const s in e)if(e.hasOwnProperty(s)){const a=e[s],o=r[s];if(a&&W(a)&&o){const i=mr(a,o);W(i)&&(t[s]=i)}else e[s]&&(t[s]=o)}return t}var Q=e=>W(e)&&!Object.keys(e).length,ft=e=>e.type==="file",Pe=e=>{if(!ut)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},gr=e=>e.type==="select-multiple",ht=e=>e.type==="radio",$s=e=>ht(e)||Re(e),rt=e=>Pe(e)&&e.isConnected;function qs(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 Us(e){for(const r in e)if(e.hasOwnProperty(r)&&!U(e[r]))return!1;return!0}function K(e,r){const t=Array.isArray(r)?r:ze(r)?[r]:dt(r),s=t.length===1?e:qs(e,t),a=t.length-1,o=t[a];return s&&delete s[o],a!==0&&(W(s)&&Q(s)||Array.isArray(s)&&Us(s))&&K(e,t.slice(0,-1)),e}var zs=e=>{for(const r in e)if(se(e[r]))return!0;return!1};function br(e){return Array.isArray(e)||W(e)&&!zs(e)}function nt(e,r={}){for(const t in e){const s=e[t];br(s)?(r[t]=Array.isArray(s)?[]:{},nt(s,r[t])):U(s)||(r[t]=!0)}return r}function Ce(e,r,t){t||(t=nt(r));for(const s in e){const a=e[s];if(br(a))U(r)||st(t[s])?t[s]=nt(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 vr=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},xr=(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 wr=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,Rt):Rt;function Bt(e){const r=e.ref;return ft(r)?r.files:ht(r)?wr(e.refs).value:gr(r)?[...r.selectedOptions].map(({value:t})=>t):Re(r)?vr(e.refs).value:xr(U(r.value)?e.ref.value:r.value,e)}var Ks=(e,r,t,s)=>{const a={};for(const o of e){const i=C(r,o);i&&B(a,o,i._f)}return{criteriaMode:t,names:[...e],fields:a,shouldUseNativeValidation:s}},$e=e=>e instanceof RegExp,Ae=e=>U(e)?e:$e(e)?e.source:W(e)?$e(e.value)?e.value.source:e.value:e,jt=e=>({isOnSubmit:!e||e===ne.onSubmit,isOnBlur:e===ne.onBlur,isOnChange:e===ne.onChange,isOnAll:e===ne.all,isOnTouch:e===ne.onTouched});const Pt="AsyncFunction";var Ws=e=>!!e&&!!e.validate&&!!(se(e.validate)&&e.validate.constructor.name===Pt||W(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===Pt)),Gs=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),$t=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length))));const De=(e,r,t,s)=>{for(const a of t||Object.keys(e)){const o=C(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(De(l,r))break}else if(W(l)&&De(l,r))break}}};function qt(e,r,t){const s=C(e,t);if(s||ze(t))return{error:s,name:t};const a=t.split(".");for(;a.length;){const o=a.join("."),i=C(r,o),l=C(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 Hs=(e,r,t,s)=>{t(e);const{name:a,...o}=e;return Q(o)||Object.keys(o).length>=Object.keys(r).length||Object.keys(o).find(i=>r[i]===(!s||ne.all))},Js=(e,r,t)=>!e||!r||e===r||Le(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),Zs=(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,Xs=(e,r)=>!ct(C(e,r)).length&&K(e,r),Ys=(e,r,t)=>{const s=Le(C(e,t));return B(s,"root",r[t]),B(e,t,s),e};function Ut(e,r,t="validate"){if(te(e)||Array.isArray(e)&&e.every(te)||ie(e)&&!e)return{type:t,message:te(e)?e:"",ref:r}}var ke=e=>W(e)&&!$e(e)?e:{value:e,message:""},zt=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:S,name:M,valueAsNumber:A,mount:I}=e._f,y=C(t,M);if(!I||r.has(M))return{};const k=l?l[0]:i,V=w=>{a&&k.reportValidity&&(k.setCustomValidity(ie(w)?"":w||""),k.reportValidity())},E={},D=ht(i),G=Re(i),N=D||G,$=(A||ft(i))&&U(i.value)&&U(y)||Pe(i)&&i.value===""||y===""||Array.isArray(y)&&!y.length,T=yr.bind(null,M,s,E),j=(w,L,q,z=ce.maxLength,J=ce.minLength)=>{const Z=w?L:q;E[M]={type:w?z:J,message:Z,ref:i,...T(w?z:J,Z)}};if(o?!Array.isArray(y)||!y.length:c&&(!N&&($||ee(y))||ie(y)&&!y||G&&!vr(l).isValid||D&&!wr(l).isValid)){const{value:w,message:L}=te(c)?{value:!!c,message:c}:ke(c);if(w&&(E[M]={type:ce.required,message:L,ref:k,...T(ce.required,L)},!s))return V(L),E}if(!$&&(!ee(x)||!ee(p))){let w,L;const q=ke(p),z=ke(x);if(!ee(y)&&!isNaN(y)){const J=i.valueAsNumber||y&&+y;ee(q.value)||(w=J>q.value),ee(z.value)||(L=J<z.value)}else{const J=i.valueAsDate||new Date(y),Z=pe=>new Date(new Date().toDateString()+" "+pe),fe=i.type=="time",he=i.type=="week";te(q.value)&&y&&(w=fe?Z(y)>Z(q.value):he?y>q.value:J>new Date(q.value)),te(z.value)&&y&&(L=fe?Z(y)<Z(z.value):he?y<z.value:J<new Date(z.value))}if((w||L)&&(j(!!w,q.message,z.message,ce.max,ce.min),!s))return V(E[M].message),E}if((h||b)&&!$&&(te(y)||o&&Array.isArray(y))){const w=ke(h),L=ke(b),q=!ee(w.value)&&y.length>+w.value,z=!ee(L.value)&&y.length<+L.value;if((q||z)&&(j(q,w.message,L.message),!s))return V(E[M].message),E}if(m&&!$&&te(y)){const{value:w,message:L}=ke(m);if($e(w)&&!y.match(w)&&(E[M]={type:ce.pattern,message:L,ref:i,...T(ce.pattern,L)},!s))return V(L),E}if(S){if(se(S)){const w=await S(y,t),L=Ut(w,k);if(L&&(E[M]={...L,...T(ce.validate,L.message)},!s))return V(L.message),E}else if(W(S)){let w={};for(const L in S){if(!Q(w)&&!s)break;const q=Ut(await S[L](y,t),k,L);q&&(w={...q,...T(L,q.message)},V(q.message),s&&(E[M]=w))}if(!Q(w)&&(E[M]={ref:k,...w},!s))return E}}return V(!0),E};const Qs={mode:ne.onSubmit,reValidateMode:ne.onChange,shouldFocusError:!0};function en(e={}){let r={...Qs,...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=W(r.defaultValues)||W(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()},S=r.criteriaMode===ne.all,M=u=>d=>{clearTimeout(h),h=setTimeout(u,d)},A=async u=>{if(!i.keepIsValid&&!r.disabled&&(x.isValid||p.isValid||u)){let d;r.resolver?(d=Q((await N()).errors),I()):d=await T(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?B(t.validatingFields,f,d):K(t.validatingFields,f))}),m.state.next({validatingFields:t.validatingFields,isValidating:!Q(t.validatingFields)}))},y=(u,d=[],f,_,v=!0,g=!0)=>{if(_&&f&&!r.disabled){if(i.action=!0,g&&Array.isArray(C(s,u))){const F=f(C(s,u),_.argA,_.argB);v&&B(s,u,F)}if(g&&Array.isArray(C(t.errors,u))){const F=f(C(t.errors,u),_.argA,_.argB);v&&B(t.errors,u,F),Xs(t.errors,u)}if((x.touchedFields||p.touchedFields)&&g&&Array.isArray(C(t.touchedFields,u))){const F=f(C(t.touchedFields,u),_.argA,_.argB);v&&B(t.touchedFields,u,F)}(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 B(o,u,d)},k=(u,d)=>{B(t.errors,u,d),m.state.next({errors:t.errors})},V=u=>{t.errors=u,m.state.next({errors:t.errors,isValid:!1})},E=(u,d,f,_)=>{const v=C(s,u);if(v){const g=C(o,u,U(f)?C(a,u):f);U(g)||_&&_.defaultChecked||d?B(o,u,d?g:Bt(v._f)):z(u,g),i.mount&&!i.action&&A()}},D=(u,d,f,_,v)=>{let g=!1,F=!1;const O={name:u};if(!r.disabled){if(!f||_){(x.isDirty||p.isDirty)&&(F=t.isDirty,t.isDirty=O.isDirty=w(),g=F!==O.isDirty);const R=ge(C(a,u),d);F=!!C(t.dirtyFields,u),R?K(t.dirtyFields,u):B(t.dirtyFields,u,!0),O.dirtyFields=t.dirtyFields,g=g||(x.dirtyFields||p.dirtyFields)&&F!==!R}if(f){const R=C(t.touchedFields,u);R||(B(t.touchedFields,u,f),O.touchedFields=t.touchedFields,g=g||(x.touchedFields||p.touchedFields)&&R!==f)}g&&v&&m.state.next(O)}return g?O:{}},G=(u,d,f,_)=>{const v=C(t.errors,u),g=(x.isValid||p.isValid)&&ie(d)&&t.isValid!==d;if(r.delayError&&f?(c=M(()=>k(u,f)),c(r.delayError)):(clearTimeout(h),c=null,f?B(t.errors,u,f):K(t.errors,u)),(f?!ge(v,f):v)||!Q(_)||g){const F={..._,...g&&ie(d)?{isValid:d}:{},errors:t.errors,name:u};t={...t,...F},m.state.next(F)}},N=async u=>(I(u,!0),await r.resolver(o,r.context,Ks(u||l.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),$=async u=>{const{errors:d}=await N(u);if(I(u),u)for(const f of u){const _=C(d,f);_?B(t.errors,f,_):K(t.errors,f)}else t.errors=d;return d},T=async(u,d,f={valid:!0})=>{for(const _ in u){const v=u[_];if(v){const{_f:g,...F}=v;if(g){const O=l.array.has(g.name),R=v._f&&Ws(v._f);R&&x.validatingFields&&I([g.name],!0);const Y=await zt(v,l.disabled,o,S,r.shouldUseNativeValidation&&!d,O);if(R&&x.validatingFields&&I([g.name]),Y[g.name]&&(f.valid=!1,d||e.shouldUseNativeValidation))break;!d&&(C(Y,g.name)?O?Ys(t.errors,Y,g.name):B(t.errors,g.name,Y[g.name]):K(t.errors,g.name))}!Q(F)&&await T(F,d,f)}}return f.valid},j=()=>{for(const u of l.unMount){const d=C(s,u);d&&(d._f.refs?d._f.refs.every(f=>!rt(f)):!rt(d._f.ref))&&He(u)}l.unMount=new Set},w=(u,d)=>!r.disabled&&(u&&d&&B(o,u,d),!ge(Ve(),a)),L=(u,d,f)=>js(u,l,{...i.mount?o:U(d)?a:te(u)?{[u]:d}:d},f,d),q=u=>ct(C(i.mount?o:a,u,r.shouldUnregister?C(a,u,[]):[])),z=(u,d,f={})=>{const _=C(s,u);let v=d;if(_){const g=_._f;g&&(!g.disabled&&B(o,u,xr(d,g)),v=Pe(g.ref)&&ee(d)?"":d,gr(g.ref)?[...g.ref.options].forEach(F=>F.selected=v.includes(F.value)):g.refs?Re(g.ref)?g.refs.forEach(F=>{(!F.defaultChecked||!F.disabled)&&(Array.isArray(v)?F.checked=!!v.find(O=>O===F.value):F.checked=v===F.value||!!v)}):g.refs.forEach(F=>F.checked=F.value===v):ft(g.ref)?g.ref.value="":(g.ref.value=v,g.ref.type||m.state.next({name:u,values:H(o)})))}(f.shouldDirty||f.shouldTouch)&&D(u,v,f.shouldTouch,f.shouldDirty,!0),f.shouldValidate&&pe(u)},J=(u,d,f)=>{for(const _ in d){if(!d.hasOwnProperty(_))return;const v=d[_],g=u+"."+_,F=C(s,g);(l.array.has(u)||W(v)||F&&!F._f)&&!xe(v)?J(g,v,f):z(g,v,f)}},Z=(u,d,f={})=>{const _=C(s,u),v=l.array.has(u),g=H(d);B(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)})):_&&!_._f&&!ee(g)?J(u,g,f):z(u,g,f),$t(u,l)?m.state.next({...t,name:u,values:H(o)}):m.state.next({name:i.mount?u:void 0,values:H(o)})},fe=async u=>{i.mount=!0;const d=u.target;let f=d.name,_=!0;const v=C(s,f),g=R=>{_=Number.isNaN(R)||xe(R)&&isNaN(R.getTime())||ge(R,C(o,f,R))},F=jt(r.mode),O=jt(r.reValidateMode);if(v){let R,Y;const ve=d.type?Bt(v._f):Ns(u),me=u.type===Tt.BLUR||u.type===Tt.FOCUS_OUT,Vr=!Gs(v._f)&&!r.resolver&&!C(t.errors,f)&&!v._f.deps||Zs(me,C(t.touchedFields,f),t.isSubmitted,O,F),Xe=$t(f,l,me);B(o,f,ve),me?(!d||!d.readOnly)&&(v._f.onBlur&&v._f.onBlur(u),c&&c(0)):v._f.onChange&&v._f.onChange(u);const Ye=D(f,ve,me),Ar=!Q(Ye)||Xe;if(!me&&m.state.next({name:f,type:u.type,values:H(o)}),Vr)return(x.isValid||p.isValid)&&(r.mode==="onBlur"?me&&A():me||A()),Ar&&m.state.next({name:f,...Xe?{}:Ye});if(!me&&Xe&&m.state.next({...t}),r.resolver){const{errors:xt}=await N([f]);if(I([f]),g(ve),_){const Er=qt(t.errors,s,f),wt=qt(xt,s,Er.name||f);R=wt.error,f=wt.name,Y=Q(xt)}}else I([f],!0),R=(await zt(v,l.disabled,o,S,r.shouldUseNativeValidation))[f],I([f]),g(ve),_&&(R?Y=!1:(x.isValid||p.isValid)&&(Y=await T(s,!0)));_&&(v._f.deps&&(!Array.isArray(v._f.deps)||v._f.deps.length>0)&&pe(v._f.deps),G(f,Y,R,Ye))}},he=(u,d)=>{if(C(t.errors,d)&&u.focus)return u.focus(),1},pe=async(u,d={})=>{let f,_;const v=Le(u);if(r.resolver){const g=await $(U(u)?u:v);f=Q(g),_=u?!v.some(F=>C(g,F)):f}else u?(_=(await Promise.all(v.map(async g=>{const F=C(s,g);return await T(F&&F._f?{[g]:F}:F)}))).every(Boolean),!(!_&&!t.isValid)&&A()):_=f=await T(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&&!_&&De(s,he,u?v:l.mount),_},Ve=(u,d)=>{let f={...i.mount?o:a};return d&&(f=mr(d.dirtyFields?t.dirtyFields:t.touchedFields,f)),U(u)?f:te(u)?C(f,u):u.map(_=>C(f,_))},P=(u,d)=>({invalid:!!C((d||t).errors,u),isDirty:!!C((d||t).dirtyFields,u),error:C((d||t).errors,u),isValidating:!!C(t.validatingFields,u),isTouched:!!C((d||t).touchedFields,u)}),Ge=u=>{const d=u?Le(u):void 0;d==null||d.forEach(f=>K(t.errors,f)),d?d.forEach(f=>{m.state.next({name:f,errors:t.errors})}):m.state.next({errors:{}})},Be=(u,d,f)=>{const _=(C(s,u,{_f:{}})._f||{}).ref,v=C(t.errors,u)||{},{ref:g,message:F,type:O,...R}=v;B(t.errors,u,{...R,...d,ref:_}),m.state.next({name:u,errors:t.errors,isValid:!1}),f&&f.shouldFocus&&_&&_.focus&&_.focus()},ye=(u,d)=>se(u)?m.state.subscribe({next:f=>"values"in f&&u(L(void 0,d),f)}):L(u,d,!0),pt=u=>m.state.subscribe({next:d=>{Js(u.name,d.name,u.exact)&&Hs(d,u.formState||x,Fr,u.reRenderRoot)&&u.callback({values:{...o},...t,...d,defaultValues:a})}}).unsubscribe,kr=u=>(i.mount=!0,p={...p,...u.formState},pt({...u,formState:{...b,...u.formState}})),He=(u,d={})=>{for(const f of u?Le(u):l.mount)l.mount.delete(f),l.array.delete(f),d.keepValue||(K(s,f),K(o,f)),!d.keepError&&K(t.errors,f),!d.keepDirty&&K(t.dirtyFields,f),!d.keepTouched&&K(t.touchedFields,f),!d.keepIsValidating&&K(t.validatingFields,f),!r.shouldUnregister&&!d.keepDefaultValue&&K(a,f);m.state.next({values:H(o)}),m.state.next({...t,...d.keepDirty?{isDirty:w()}:{}}),!d.keepIsValid&&A()},yt=({disabled:u,name:d})=>{if(ie(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&&A()}},Je=(u,d={})=>{let f=C(s,u);const _=ie(d.disabled)||ie(r.disabled);return B(s,u,{...f||{},_f:{...f&&f._f?f._f:{ref:{name:u}},name:u,mount:!0,...d}}),l.mount.add(u),f?yt({disabled:ie(d.disabled)?d.disabled:r.disabled,name:u}):E(u,!0,d.value),{..._?{disabled:d.disabled||r.disabled}:{},...r.progressive?{required:!!d.required,min:Ae(d.min),max:Ae(d.max),minLength:Ae(d.minLength),maxLength:Ae(d.maxLength),pattern:Ae(d.pattern)}:{},name:u,onChange:fe,onBlur:fe,ref:v=>{if(v){Je(u,d),f=C(s,u);const g=U(v.value)&&v.querySelectorAll&&v.querySelectorAll("input,select,textarea")[0]||v,F=$s(g),O=f._f.refs||[];if(F?O.find(R=>R===g):g===f._f.ref)return;B(s,u,{_f:{...f._f,...F?{refs:[...O.filter(rt),g,...Array.isArray(C(a,u))?[{}]:[]],ref:{type:g.type,name:u}}:{ref:g}}}),E(u,!1,void 0,g)}else f=C(s,u,{}),f._f&&(f._f.mount=!1),(r.shouldUnregister||d.shouldUnregister)&&!(Ls(l.array,u)&&i.action)&&l.unMount.add(u)}}},Ze=()=>r.shouldFocusError&&De(s,he,l.mount),Cr=u=>{ie(u)&&(m.state.next({disabled:u}),De(s,(d,f)=>{const _=C(s,f);_&&(d.disabled=_._f.disabled||u,Array.isArray(_._f.refs)&&_._f.refs.forEach(v=>{v.disabled=_._f.disabled||u}))},0,!1))},mt=(u,d)=>async f=>{let _;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:F}=await N();I(),t.errors=g,v=H(F)}else await T(s);if(l.disabled.size)for(const g of l.disabled)K(v,g);if(K(t.errors,"root"),Q(t.errors)){m.state.next({errors:{}});try{await u(v,f)}catch(g){_=g}}else d&&await d({...t.errors},f),Ze(),setTimeout(Ze);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Q(t.errors)&&!_,submitCount:t.submitCount+1,errors:t.errors}),_)throw _},Sr=(u,d={})=>{C(s,u)&&(U(d.defaultValue)?Z(u,H(C(a,u))):(Z(u,d.defaultValue),B(a,u,H(d.defaultValue))),d.keepTouched||K(t.touchedFields,u),d.keepDirty||(K(t.dirtyFields,u),t.isDirty=d.defaultValue?w(u,H(C(a,u))):w()),d.keepError||(K(t.errors,u),x.isValid&&A()),m.state.next({...t}))},gt=(u,d={})=>{const f=u?H(u):a,_=H(f),v=Q(u),g=v?a:_;if(d.keepDefaultValues||(a=f),!d.keepValues){if(d.keepDirtyValues){const F=new Set([...l.mount,...Object.keys(Ce(a,o))]);for(const O of Array.from(F)){const R=C(t.dirtyFields,O),Y=C(o,O),ve=C(g,O);R&&!U(Y)?B(g,O,Y):!R&&!U(ve)&&Z(O,ve)}}else{if(ut&&U(u))for(const F of l.mount){const O=C(s,F);if(O&&O._f){const R=Array.isArray(O._f.refs)?O._f.refs[0]:O._f.ref;if(Pe(R)){const Y=R.closest("form");if(Y){Y.reset();break}}}}if(d.keepFieldsRef)for(const F of l.mount)Z(F,C(g,F));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&&!Q(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})},bt=(u,d)=>gt(se(u)?u(o):u,{...r.resetOptions,...d}),Ir=(u,d={})=>{const f=C(s,u),_=f&&f._f;if(_){const v=_.refs?_.refs[0]:_.ref;v.focus&&setTimeout(()=>{v.focus(),d.shouldSelect&&se(v.select)&&v.select()})}},Fr=u=>{t={...t,...u}},vt={control:{register:Je,unregister:He,getFieldState:P,handleSubmit:mt,setError:Be,_subscribe:pt,_runSchema:N,_updateIsValidating:I,_focusError:Ze,_getWatch:L,_getDirty:w,_setValid:A,_setFieldArray:y,_setDisabledField:yt,_setErrors:V,_getFieldArray:q,_reset:gt,_resetDefaultValues:()=>se(r.defaultValues)&&r.defaultValues().then(u=>{bt(u,r.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:j,_disableForm:Cr,_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:kr,trigger:pe,register:Je,handleSubmit:mt,watch:ye,setValue:Z,getValues:Ve,reset:bt,resetField:Sr,clearErrors:Ge,unregister:He,setError:Be,setFocus:Ir,getFieldState:P};return{...vt,formControl:vt}}function Ke(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}=en(e);r.current={...l,formState:s}}const o=r.current.control;return o._options=e,Bs(()=>{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(()=>Rs(s,o),[o,s]),r.current}const Kt=(e,r,t)=>{if(e&&"reportValidity"in e){const s=C(t,r);e.setCustomValidity(s&&s.message||""),e.reportValidity()}},tn=(e,r)=>{for(const t in r.fields){const s=r.fields[t];s&&s.ref&&"reportValidity"in s.ref?Kt(s.ref,t,e):s.refs&&s.refs.forEach(a=>Kt(a,t,e))}},rn=(e,r)=>{r.shouldUseNativeValidation&&tn(e,r);const t={};for(const s in e){const a=C(r.fields,s),o=Object.assign(e[s]||{},{ref:a&&a.ref});if(sn(r.names||Object.keys(e),s)){const i=Object.assign({},C(t,s));B(i,"root",o),B(t,s,i)}else B(t,s,o)}return t},sn=(e,r)=>e.some(t=>t.startsWith(r+"."));var We=function(e,r,t){return t===void 0&&(t={}),function(s,a,o){try{var i=!o.shouldUseNativeValidation&&o.criteriaMode==="all";return Promise.resolve(ps(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=os(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]=yr(b,i,c,h.type,p?[].concat(p,h.message):h.message)}l.issues.shift()}return{values:{},errors:rn(c,o)}}return{values:t.raw?s:l.output,errors:{}}})}catch(l){return Promise.reject(l)}}};const Wt=27,Gt=12,Ht=10,nn=n.isSubmissionOfType("enum"),an=(e,r)=>{const t={min:e.minSelected??0,max:e.maxSelected??e.options.length};return We(de({checked:be(ur(re(),ar()),at(s=>Object.entries(s).filter(([a,o])=>o).map(([a,o])=>a)),Ne(t.max,r("validation_multiple_choice_max",{count:t.max})),Se(t.min,r("validation_multiple_choice_min",{count:t.min})))}))},on=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:dr}}}),ln=({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}}=Ke({defaultValues:{checked:s?{}:nn(t)?Object.fromEntries(t.value.map(p=>[p,!0])):{}},resolver:an(e.config,o)}),h=lt();return a?n.o("ul",{style:{maxHeight:6.5*Wt+5*Gt+2*Ht},class:Jt({variant:"booleanLike"}),children:e.config.options.map((p,m)=>n.o("li",{class:fr,children:n.o(hr,{type:"submit",ref:S=>{S&&m===0&&(h.current=S)},label:p.label,value:"true",onClick:()=>r({type:"enum",value:[p.value]})})},p.value))}):n.o("form",{noValidate:!0,onSubmit:p=>l(m=>{const S=m.checked;r({type:"enum",value:S})})(p),children:[n.o("div",{class:"flex items-center gap-1",children:[n.o("ul",{style:{maxHeight:6.5*Wt+5*Gt+2*Ht},class:Jt({variant:e.config.options.length===1?"singleOption":void 0}),children:e.config.options.map((p,m)=>{const S=`checked.${p.value}`,{ref:M,...A}=i(S);return n.o("li",{class:"relative",children:n.o(on,{option:p,autoFocus:m===0,ref:I=>{I&&m===0&&(h.current=I),M(I)},id:S,...A,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(we,{}),e.config.minSelected===0&&n.o(_e,{class:"relative",type:"button",onClick:()=>r({type:"enum",value:[]})})]})]}),n.o("div",{class:"px-1",children:n.o(Fe,{error:(x=c.checked)==null?void 0:x.root})})]})},un=n.isSubmissionOfType("number"),cn=(e,r)=>{const t=e.min??Number.MIN_SAFE_INTEGER,s=e.max??Number.MAX_SAFE_INTEGER,a=e.decimalCases??0;return We(de({number:be(or(r("validation_number")),rr(t,r("validation_number_min",{min:t})),tr(s,r("validation_number_max",{max:s})),Qt(o=>o===Number(o.toFixed(a)),r("validation_number_decimal_cases",{count:a})))}))},dn=({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}}=Ke({defaultValues:{number:un(s)?s.value:t?Number(t):void 0},resolver:cn(e.config,a)}),{ref:c,...h}=o("number",{required:!e.config.optional,valueAsNumber:!0}),b=n._();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:Oe({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(_e,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(we,{})]}),n.o(Fe,{error:l.number})]})},fn=e=>{if(e==="")return{countryCode:"",phoneNumber:""};const r=Object.entries(ot).find(a=>e.startsWith(a[1])),t=r?r[1]:"",s=e.replace(t,"");return/^\d+$/.test(s)?{countryCode:t,phoneNumber:s}:{countryCode:"",phoneNumber:""}},hn="44",pn=/^[0-9 ]+$/,yn=n.isSubmissionOfType("string"),mn=n.isSubmissionOfType("phone"),gn=e=>{const r=be(re(e("validation_country_code")),it(pn,e("validation_country_code"))),t=be(re(e("validation_phone")),Se(1,e("validation_phone")),at(s=>s.replace(/[^0-9]/g,"")));return We(de({countryCode:r,phoneNumber:t}))},bn=({input:e,onSubmitSuccess:r})=>{var M;const t=e.key?(M=n.store.current$.value.flow)==null?void 0:M.data.submissions[e.key]:void 0,{t:s}=n.useTranslation(),[a,o]=n.h(),i=yn(t)?fn(t.value):mn(t)?t.value:void 0,{register:l,handleSubmit:c,formState:{errors:h},watch:b}=Ke({defaultValues:{countryCode:(i==null?void 0:i.countryCode)??e.config.defaultValue.countryCode??hn,phoneNumber:(i==null?void 0:i.phoneNumber)??e.config.defaultValue.phoneNumber??""},resolver:gn(s)}),{ref:x,...p}=l("phoneNumber",{required:!e.config.optional}),m=n._(),S=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(A=>{const I=A.phoneNumber.replace(/[^0-9]/g,""),y=A.countryCode.replace(/[^0-9]/g,"");o(void 0);const k=e.config.minChars??7,V=I.length+y.length;if(V<k)return o(s("validation_phone_min_chars",{count:k}));const E=e.config.maxChars;if(E!=null&&V>E)return o(s("validation_max_chars",{count:E}));e.config.submissionFormat==="phone"?r({type:"phone",value:{countryCode:y,phoneNumber:I}}):r({type:"string",value:S+A.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:["+",S]}),n.o("select",{...l("countryCode",{}),id:`isdk_phone_${e.key}`,class:"absolute inset-0 opacity-0",children:Object.entries(ot).map(([A,I])=>n.o("option",{value:I,children:[A," (+",I,")"]},A))})]}),n.o("input",{...p,id:"chat-input",type:"tel",inputMode:"tel",autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:A=>{A&&(m.current=A),x(A)},class:Oe({optional:e.config.optional,className:"min-w-0 flex-1 rounded-r-full"}),placeholder:e.config.placeholder}),e.config.optional&&n.o(_e,{class:"absolute bottom-0 right-1 top-0",onClick:()=>r(null)})]}),n.o(we,{})]}),n.o(Fe,{error:h.countryCode||h.phoneNumber||{message:a}})]})},je=e=>e===void 0?0:Math.max(0,Math.ceil((e-Date.now())/1e3)),vn=({input:e,onSubmitSuccess:r})=>{const{t}=n.useTranslation(),{availableAt:s}=e.config,[a,o]=n.h(()=>je(s)),[i,l]=n.h("");n.p(()=>{const h=je(s);if(o(h),h===0)return;l(t("submission_cooldown",{count:h}));const b=setInterval(()=>{const x=je(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:()=>{je(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})]})},xn={date:{type:"date",inputMode:"text"},email:{type:"email",inputMode:"email",formNoValidate:!0},text:{type:"text",inputMode:"text"},url:{type:"url",inputMode:"url",formNoValidate:!0}},wn=n.isSubmissionOfType("string"),_n=(e,r)=>{const t={maxLength:r("validation_max_chars",{count:e.maxChars??999}),minLength:r("validation_min_chars",{count:e.minChars??1})};return We(de({text:{date:be(re(r("validation_date")),it(/^\d{4}-\d{2}-\d{2}$/,r("validation_date"))),email:be(re(r("validation_email")),er(r("validation_email")),Se(e.minChars??1,t.minLength),Ne(e.maxChars??1/0,t.maxLength)),text:be(re(),Se(e.minChars??1,t.minLength),Ne(e.maxChars??1/0,t.maxLength)),url:be(re(r("validation_url")),sr(r("validation_url")),Se(e.minChars??1,t.minLength),Ne(e.maxChars??1/0,t.maxLength))}[e.format]}))},kn=({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}}=Ke({defaultValues:{text:wn(s)?s.value:a??""},resolver:_n(e.config,t)}),{ref:c,...h}=o("text",{required:!e.config.optional}),b=n._();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,...xn[e.config.format],autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:p=>{p&&(b.current=p),c(p)},placeholder:e.config.placeholder,class:Oe({optional:!!e.config.optional,className:"w-full rounded-full"})}),e.config.optional&&n.o(_e,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(we,{})]}),n.o(Fe,{error:l.text})]})},Cn={text:kn,phone:bn,"multiple-choice":ln,boolean:Cs,file:Ms,submit:vn,address:xs,number:dn},Sn=({logger:e,analytics:r})=>{var o;const t=(o=n.store.current$.value.flow)==null?void 0:o.data.currentInput,s=n._(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=Cn[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:Oe({optional:!1,className:"flex-grow rounded-full"}),disabled:!0}),n.o(we,{disabled:!0,"aria-hidden":"true",tabIndex:-1})]})})})};function In(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Fn=function(e){return e instanceof RegExp},Vn=function(r){var t=/[\\^$.*+?()[\]{}|]/g,s=RegExp(t.source);return r&&s.test(r)?r.replace(t,"\\$&"):r},_r=function(e){return typeof e=="string"},An=function(e){var r=[];return e.forEach(function(t){Array.isArray(t)?r=r.concat(t):r.push(t)}),r};function En(e,r,t){var s=0,a=0;if(e==="")return e;if(!e||!_r(e))throw new TypeError("First argument to react-string-replace#replaceString must be a string");var o=r;Fn(o)||(o=new RegExp("("+Vn(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 Mn=function(r,t,s){return Array.isArray(r)||(r=[r]),An(r.map(function(a){return _r(a)?En(a,t,s):a}))};const Ee=In(Mn),Nn=/(\[[^\]]+\]\([^)]+\))/g,Tn=/\[([^\]]+)\]\(([^)]+)\)/,Ln=/(https?:\/\/[^\s]+)/g,Dn=/_(.*?)_/g,On=/\*\*(.*?)\*\*/g,Rn=/\\n|\n/g,Zt="text-accent-10 hover:text-accent-11 no-underline underline-offset-2 hover:underline",Bn=e=>{const r=Ee(e,Nn,(i,l)=>{const[,c,h]=i.match(Tn)??[];return h?n.o("a",{class:Zt,href:h,children:c??h},h+l):n.o("span",{children:"INVALID LINK"})}),t=Ee(r,Ln,(i,l)=>n.o("a",{class:Zt,href:i,children:i},i+l)),s=Ee(t,Dn,(i,l)=>n.o("em",{children:i},i+l)),a=Ee(s,On,(i,l)=>n.o("strong",{children:i},i+l));return Ee(a,Rn,(i,l)=>n.o("br",{},`br-${l}`))},jn=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"}}),Pn=({children:e,className:r,animate:t,side:s,...a})=>n.o("p",{style:{transformOrigin:s==="left"?"0% 50%":"100% 50%"},class:jn({className:r,side:s,animate:t}),...a,children:e}),$n=({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"})})]})}),qn=({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}),Un={bot:"left",user:"right"},zn=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]"}}}),Kn=({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:zn({variant:i.variant}),children:i.text})).with({type:"text",author:n.z$1.union("bot","user")},i=>{const l=o===t.length-1,c=i.author==="bot"?Bn(i.text):i.text;return n.o(n.k,{children:n.o(Pn,{animate:l,side:Un[i.author],children:c},o)})}).with({type:"link"},i=>n.o($n,{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(Fs,{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(qn,{},"typing")]})},Wn=({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 S=()=>{const k=n.store.current$.peek().flow;!k||k.data.hasInteracted||(n.store.markAsInteracted(),kt(t,k,"FLOW_INTERACT"))};n.chatStore.onInteractionFn$.value=S,m===void 0?(m=n.getHeadOrThrow(a.nodes).id,n.store.setCurrentNodeId(m),kt(t,p,"FLOW_START")):n.store.removeMessagesSentByNodeIds([m]);const{interpret:M,abort:A,undo:I}=Dr({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 k;return(k=n.store.current$.peek().flow)==null?void 0:k.data.applicationRecovery},setApplicationRecovery:n.store.setApplicationRecovery,persistWriteBarrier:()=>n.store.persistWriteBarrier(p),getSubmissions:()=>{var k;return(k=n.store.current$.peek().flow)==null?void 0:k.data.submissions},onInterpret:k=>n.store.setCurrentNodeId(k.id),onFlowEnd:async()=>{var V;n.store.markAsFinished();const k=n.store.current$.peek().flow;n.invariant(k),t.log({event:"FLOW_END",properties:{flow_id:a.id,flow_version:a.version,flow_session_id:k.data.flowSessionId,flow_build:a.build,job:a.job},customProperties:(V=a.analytics)==null?void 0:V.customProperties})}});return b(()=>I),M(m),()=>{n.chatStore.onInteractionFn$.value===S&&(n.chatStore.onInteractionFn$.value=()=>{}),A()}},[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(Kn,{lastSentMessageFooter:!n.getCorrectionNodeId(a)||!h?null:n.o(Gn,{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(Sn,{logger:e,analytics:t})]})},Gn=({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=Wn;