@inploi/plugin-chatbot 13.0.0 → 13.1.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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-a3ad2e04.cjs"),Gt=require("@inploi/sdk"),vt=(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 xt=({condition:e,context:r,submissions:t,ifBlock:s})=>{let[i,...a]=e.compareKey.split(".");if(!i)return!1;let o=n.C({context:r,key:i,path:a,submissions:t});if(!o)return!1;switch(o.type){case"address":{let u=n.w(o.value,a);switch(e.compare){case"equals":return u===e.compareValue;case"contains":return typeof u!="string"?!1:u.includes(e.compareValue);case"notEquals":return u!==e.compareValue;case"notContains":return typeof u!="string"?!0:!u.includes(e.compareValue)}break}case"integration":{if(typeof o.value!="object"||Array.isArray(o.value))return!1;let u=n.w(o.value,a),d={...s,data:{compareKey:"_temp",compare:e.compare,compareValue:e.compareValue}};switch(typeof u){case"boolean":return Ie(d,{submissions:{_temp:{value:u,type:"boolean"}},context:r});case"string":return Ie(d,{submissions:{_temp:{value:u,type:"string"}},context:r});case"number":return Ie(d,{submissions:{_temp:{value:u,type:"number"}},context:r});case"object":return Array.isArray(u)&&u.every(p=>typeof p=="string")?Ie(d,{submissions:{_temp:{value:u,type:"enum"}},context:r}):!1}break}case"boolean":{let u=e.compareValue==="true";switch(e.compare){case"equals":return o.value===u;case"notEquals":return o.value!==u}break}case"phone":case"string":{let u=o.type==="phone"?n.$(o.value):o.value;switch(e.compare){case"equals":return u===e.compareValue;case"contains":return u?u.includes(e.compareValue):!1;case"notEquals":return u!==e.compareValue;case"notContains":return u?!u.includes(e.compareValue):!0}break}case"number":{try{let u=Number(e.compareValue);switch(e.compare){case"equals":return o.value===u;case"notEquals":return o.value!==u;case"greaterThan":return o.value>u;case"greaterThanOrEqualTo":return o.value>=u;case"lessThan":return o.value<u;case"lessThanOrEqualTo":return o.value<=u}}catch{return console.error(`Failed to parse number in if-block ${s.id}`,o.value),!1}break}case"enum":switch(e.compare){case"equals":return o.value.length===1&&o.value[0]===e.compareValue;case"notEquals":return o.value.length===1&&o.value[0]!==e.compareValue;case"contains":return o.value.includes(e.compareValue);case"notContains":return!o.value.includes(e.compareValue)}break}},Ie=(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 i of s)if(xt({condition:i,context:r,submissions:t,ifBlock:e}))return!0;return!1}else{for(let i of s)if(!xt({condition:i,context:r,submissions:t,ifBlock:e}))return!1;return!0}},Ar=/{{\s*([^}]+?)\s*(?:\|\s*([^}]+?)\s*)?}}/g,Er=(e,{context:r,submissions:t})=>e.replace(Ar,(s,i,a="")=>{let[o,...u]=i.trim().split("."),d=n.C({key:o,path:u,submissions:t,context:r});if(!d)return a;switch(d.type){case"boolean":return d.value===!0?"true":"false";case"file":return d.value.map(p=>`${p.name} (${n._(p.sizeKb)})`).join(", ");case"enum":return d.value.join(", ");case"address":return Object.values(d.value).filter(p=>p&&p.trim().length>0).join(", ");case"number":case"string":return d.value?d.value.toString():a;case"phone":return n.$(d.value);case"integration":{if(typeof d.value!="object"||Array.isArray(d.value))break;let p=n.w(d.value,u);switch(typeof p){case"boolean":return p===!0?"true":"false";case"string":return p;case"number":return p.toString();case"object":if(Array.isArray(p)&&p.every(b=>typeof b=="string"))return p.join(", ")}break}}return a});const Wt=({context:e,submissions:r})=>({context:e,submissions:r??{}}),ie=(e,r)=>Er(e,Wt(r)),Mr=(e,r)=>Ie(e,Wt(r)),Ht=({node:e,nodes:r,stopWhen:t})=>{if((t==null?void 0:t(e))===!0)return e;const s=e.nextId?r.find(i=>i.id===e.nextId):void 0;if(s)return Ht({node:s,nodes:r,stopWhen:t})},Nr=({childNode:e,nodes:r})=>{const s=r.filter(i=>i.type==="if-block").find(i=>{if(!i.branchId)return!1;const a=r.find(u=>u.id===i.branchId);if(!a)return!1;const o=Ht({node:a,nodes:r,stopWhen:u=>u.id===e.id});return!(!o||o.id!==e.id)});if(s!=null&&s.nextId)return r.find(i=>i.id===s.nextId)},Lr=({flow:e,analytics:r,logger:t,talentBankClient:s,context:i,apiClient:a,getSubmissions:o,getApplicationRecovery:u,setApplicationRecovery:d,chatService:p,onFlowEnd:b,onInterpret:w,t:h})=>{let y=new AbortController;const A={...r.service,log:_=>r.service.log({..._,customProperties:{..._.customProperties,...r.customProperties}})},F=async(_,I)=>{if(y.signal.aborted)return;const v=o(),C=u(),E=(C==null?void 0:C.submitNodeId)===_.id?e.nodes.find(S=>{var M;return S.id===C.fileQuestionNodeId&&S.type==="question-file"&&((M=v==null?void 0:v[S.data.key])==null?void 0:M.type)!=="file"}):void 0;if(E)return F(E,I);w==null||w(_,I);try{await Tr({flow:e,analytics:A,logger:t,talentBankClient:s,apiClient:a,context:i,node:_,submissions:v,applicationRecovery:C,setApplicationRecovery:async S=>{if(!y.signal.aborted)try{await d(S)}catch(M){t.error("Failed to persist application recovery",M)}},forceSubmitConfirmation:(C==null?void 0:C.submitNodeId)===_.id,t:h,chat:{sendMessage:async S=>p.send({groupId:_.id,message:S,signal:y.signal}),userInput:async S=>p.input({input:S,signal:y.signal}),setSubmission:(S,M)=>{y.signal.aborted||p.setSubmission(S,M)}},next:S=>{const M=(C==null?void 0:C.fileQuestionNodeId)===_.id?C.submitNodeId:S,Q=M?e.nodes.find(B=>B.id===M):Nr({childNode:_,nodes:e.nodes});return Q?F(Q,_):b==null?void 0:b(_)},end:()=>b==null?void 0:b(_)})}catch(S){if(S instanceof n.AbortedError)return;throw S}};return{interpret:async _=>{const I=e.nodes.find(v=>v.id===_)??n.getHeadOrThrow(e.nodes);return F(I)},undo:_=>{let I=1;const v=e.nodes.find(E=>E.id===_[_.length-1]);for(let E=_.length-2;E>0;E--){const S=_[E],M=e.nodes.find(Q=>Q.id===S);if(!M||(I++,M.type.startsWith("question-")))break}y.abort(),y=new AbortController;const C=e.nodes.find(E=>E.id===_[_.length-I]);return n.invariant(C,"Undo failed: new start node not found"),F(C,v),{removed:I}},abort:()=>{y.abort()}}};async function Tr(e){const r=e.node;switch(r.type){case"text":return Ur({...e,node:r});case"image":return zr({...e,node:r});case"question-text":return Kr({...e,node:r});case"question-enum":return Hr({...e,node:r});case"question-number":return Gr({...e,node:r});case"question-phone":return Wr({...e,node:r});case"question-boolean":return Jr({...e,node:r});case"question-file":return Xr({...e,node:r});case"question-address":return Zr({...e,node:r});case"end-flow":return Qr({...e,node:r});case"if-block":return qr({...e,node:r});case"jump":return Rr({...e,node:r});case"link":return jr({...e,node:r});case"integration-application-submit":return $r({...e,node:r});case"add-submission":return Br({...e,node:r});case"integration-workflow-get":throw Error("Workflow should be unreachable");case"check-duplicate":return Or({...e,node:r});case"feedback":return Dr({...e,node:r});default:throw new Error(`Unknown node: ${JSON.stringify(r)}`)}}async function Dr({next:e,node:r}){e(r.nextId)}async function Or({next:e,node:r,talentBankClient:t,submissions:s,flow:i,logger:a,chat:o}){var d;let u={isDuplicate:!1};if(s&&t){const p=r.data.scope==="job"?(d=i.job)==null?void 0:d.id:void 0;if(r.data.scope==="company"||p!=null)try{u=await t.checkDuplicate({email:n.O({key:r.data.email,submissions:s}).toString(),jobId:p,scope:r.data.scope})}catch(b){a.error("[check-duplicate]",b)}}o.setSubmission(r.data.key,{type:"integration",value:u}),e(r.nextId)}async function Rr({next:e,node:r}){e(r.data.targetId)}async function Br({next:e,node:r,logger:t,submissions:s,context:i}){if(!s){t.error("Submissions not found");return}s[r.data.key]={type:"string",value:ie(r.data.value,{submissions:s,context:i})},e(r.nextId)}async function $r({chat:e,next:r,end:t,node:s,logger:i,apiClient:a,submissions:o,analytics:u,flow:d,applicationRecovery:p,setApplicationRecovery:b,forceSubmitConfirmation:w,t:h}){const y=async()=>{(p==null?void 0:p.submitNodeId)===s.id&&await b(void 0)},A=async _=>{const I=_();return await y(),I},F=async _=>{var Q;_!==!0&&await e.userInput({type:"submit",key:void 0,config:{label:s.data.submitLabel}}),await e.sendMessage({type:"loading"});const{anonymous_id:I,session_id:v}=u.getSessionInfo();let C;const E=await a.fetch("/flow/submit",{method:"POST",body:JSON.stringify({log_submit:!1,integration_id:s.data.integrationId,anonymous_id:I,session_id:v,job:d.job,flow_build:d.build,submissions:n.A(o||{},s.data.submitKeys)})}).catch(B=>(C=B,Gt.isApiErrorWithData(B)?B.data:B));s.data.key&&e.setSubmission(s.data.key,{type:"integration",value:E});const S=n.U(E);if(S&&u.log({event:"FLOW_SUBMIT",properties:{flow_id:d.id,flow_version:d.version,flow_session_id:d.data.flowSessionId,flow_build:d.build,service:S.service,response:S.response,flow_type:"CHATBOT_DRAWER",job:d.job}}),n.P(E)){const{redirect_url:B,message:Y,button_text:U}=E.integration_response.data;await e.sendMessage({type:"text",author:"bot",text:Y??h("submission_redirect_message")});try{const ee=new URL(B);I&&!ee.searchParams.has("anonymous_id")&&ee.searchParams.set("anonymous_id",I),await e.sendMessage({type:"link",href:ee.toString(),text:U??h("complete_submission"),onClick:()=>{if(!v){i.error("session_id not set, cannot log FLOW_REDIRECT event");return}u.log({event:"FLOW_REDIRECT",properties:{flow_build:d.build,flow_id:d.id,flow_session_id:v,flow_version:d.version,href:ee.toString(),job:d.job}})}})}catch(ee){i.error(`Invalid redirect URL: ${B}`,ee),e.sendMessage({type:"system",variant:"error",text:h("redirect_url_error")})}return A(()=>r(s.nextId))}if((E==null?void 0:E.success)===!0)return s.data.skipConfirmation!==!0&&await e.sendMessage({type:"system",variant:"success",text:h("submission_completed")}),A(()=>r(s.nextId));const M=Pr(E,C);if(M){i.error(C??M.message);const B=M.phase==="submit"&&M.verdict==="confirmed"&&M.code==="unreadable_document"&&typeof M.field=="string"&&M.status!==void 0&&M.status>=400&&M.status<500&&((Q=o==null?void 0:o[M.field])==null?void 0:Q.type)==="file"?M.field:void 0,Y=B===void 0?void 0:d.nodes.find(U=>U.type==="question-file"&&U.data.key===B);return Y&&B!==void 0?(e.setSubmission(B,null),await b({fileQuestionNodeId:Y.id,submitNodeId:s.id}),await e.sendMessage({type:"system",variant:"error",text:h("submission_unreadable_document")}),r(Y.id)):M.status===409&&M.phase==="submit"&&M.verdict==="confirmed"?(await e.sendMessage({type:"system",variant:"info",text:h("submission_duplicate")}),A(t)):M.status===410&&M.phase==="submit"&&M.verdict==="confirmed"&&M.code==="job_closed"?(await e.sendMessage({type:"system",variant:"info",text:h("submission_closed")}),A(t)):M.phase==="submit"&&M.verdict==="unknown"?(await e.sendMessage({type:"system",variant:"warning",text:h("submission_unknown")}),A(t)):M.phase==="workflow"&&M.retryable===!0&&M.verdict==="not_submitted"?(await e.sendMessage({type:"system",variant:"error",text:h("submission_retryable")}),F(!1)):(await e.sendMessage({type:"system",variant:"error",text:h("submission_failed")}),A(t))}return i.error(C??E),await e.sendMessage({type:"system",variant:"error",text:h("submission_failed")}),A(t)};await F(w===!0?!1:s.data.skipConfirmation)}const Pr=(e,r)=>{if(!n.D(e))return;const t=e.integration_response;if(typeof t!="object"||t===null)return;const s=t.error;if(typeof s!="object"||s===null)return;const i=s.data,a=typeof i=="object"&&i!==null?i:{},o=p=>typeof a[p]=="string"?a[p]:void 0,u=p=>typeof a[p]=="boolean"?a[p]:void 0,d=t.status;return{message:e.integration_response.error.message,status:typeof d=="number"?d:r instanceof Gt.ApiError?r.status:void 0,phase:o("phase"),retryable:u("retryable"),verdict:o("verdict"),code:o("code"),field:o("field")}};async function jr({chat:e,next:r,node:t,submissions:s,context:i}){await e.sendMessage({type:"link",href:ie(t.data.href,{submissions:s,context:i}),text:ie(t.data.cta,{submissions:s,context:i})}),r(t.nextId)}async function qr({submissions:e,next:r,node:t,context:s}){r(Mr(t,{submissions:e,context:s})?t.branchId:t.nextId)}async function Ur({chat:e,next:r,node:t,submissions:s,context:i}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.text,{submissions:s,context:i})}),r(t.nextId)}async function zr({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 Kr({chat:e,next:r,node:t,submissions:s,context:i,t:a}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.question,{submissions:s,context:i})});const o=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}});o===null?await e.sendMessage({type:"system",variant:"info",text:a("skipped")}):await e.sendMessage({author:"user",type:"text",text:o.type==="phone"?n.$(o.value):o.value}),r(t.nextId)}async function Gr({chat:e,next:r,node:t,submissions:s,context:i,t:a}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.question,{submissions:s,context:i})});const o=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}});o===null?await e.sendMessage({type:"system",variant:"info",text:a("skipped")}):await e.sendMessage({author:"user",type:"text",text:o.value.toString()}),r(t.nextId)}async function Wr({chat:e,next:r,node:t,submissions:s,context:i}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.question,{submissions:s,context:i})});const a=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}});a===null?await e.sendMessage({type:"system",variant:"info",text:"Skipped"}):await e.sendMessage({author:"user",type:"text",text:a.type==="phone"?n.$(a.value):a.value}),r(t.nextId)}async function Hr({chat:e,next:r,node:t,submissions:s,context:i,t:a}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.question,{submissions:s,context:i})});const o=await e.userInput({key:t.data.key,type:"multiple-choice",config:t.data});o.value.length===0?await e.sendMessage({type:"system",variant:"info",text:a("skipped")}):await e.sendMessage({author:"user",type:"text",text:t.data.options.filter(u=>o.value.includes(u.value)).map(u=>u.label).join(", ")}),r(t.nextId)}async function Jr({chat:e,next:r,node:t,submissions:s,context:i,t:a}){await e.sendMessage({author:"bot",type:"text",text:ie(t.data.question,{submissions:s,context:i})});const o=await e.userInput({key:t.data.key,type:"boolean",config:{optional:t.data.optional,labels:{true:t.data.trueLabel,false:t.data.falseLabel}}});o===null?await e.sendMessage({type:"system",variant:"info",text:a("skipped")}):await e.sendMessage({author:"user",type:"text",text:o.value===!0?t.data.trueLabel:t.data.falseLabel}),r(t.nextId)}async function Zr({chat:e,next:r,node:t,t:s}){await e.sendMessage({author:"bot",type:"text",text:t.data.question});const i=await e.userInput({type:"address",key:t.data.key,config:{optional:t.data.optional,keys:t.data.keys,placeholder:t.data.placeholder}});if(i===null)await e.sendMessage({type:"system",variant:"info",text:s("skipped")});else{const a=Object.values(i.value).filter(o=>o&&o.trim().length>0).join(", ");await e.sendMessage({author:"user",type:"text",text:a})}return r(t.nextId)}async function Xr({node:e,chat:r,next:t,submissions:s,context:i,t:a}){await r.sendMessage({author:"bot",type:"text",text:ie(e.data.question,{submissions:s,context:i})});const o=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(o===null)await r.sendMessage({type:"system",variant:"info",text:a("skipped")});else for(const u of o.value)await r.sendMessage({author:"user",type:"file",fileName:u.name,fileSizeKb:u.sizeKb});return t(e.nextId)}async function Qr({chat:e,end:r,node:t}){await e.sendMessage({type:"system",variant:"info",text:t.data.systemMessage}),r()}const me=({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 oe;function Re(e){return{lang:(e==null?void 0:e.lang)??(oe==null?void 0:oe.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(oe==null?void 0:oe.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(oe==null?void 0:oe.abortPipeEarly)}}var Ge;function Yr(e){return Ge==null?void 0:Ge.get(e)}var We;function es(e){return We==null?void 0:We.get(e)}var He;function ts(e,r){var t;return(t=He==null?void 0:He.get(e))==null?void 0:t.get(r)}function we(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 K(e,r,t,s,i){const a=i&&"input"in i?i.input:t.value,o=(i==null?void 0:i.expected)??e.expects??null,u=(i==null?void 0:i.received)??we(a),d={kind:e.kind,type:e.type,input:a,expected:o,received:u,message:`Invalid ${r}: ${o?`Expected ${o} but r`:"R"}eceived ${u}`,requirement:e.requirement,path:i==null?void 0:i.path,issues:i==null?void 0:i.issues,lang:s.lang,abortEarly:s.abortEarly,abortPipeEarly:s.abortPipeEarly},p=e.kind==="schema",b=(i==null?void 0:i.message)??e.message??ts(e.reference,d.lang)??(p?es(d.lang):null)??s.message??Yr(d.lang);b!==void 0&&(d.message=typeof b=="function"?b(d):b),p&&(t.typed=!1),t.issues?t.issues.push(d):t.issues=[d]}function ae(e){return{version:1,vendor:"valibot",validate(r){return e["~run"]({value:r},Re())}}}function rs(e,r){return Object.hasOwn(e,r)&&r!=="__proto__"&&r!=="prototype"&&r!=="constructor"}function ss(e,r){const t=[...new Set(e)];return t.length>1?`(${t.join(` ${r} `)})`:t[0]??"never"}function ns(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 is=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}},as=/^[\w+-]+(?:\.[\w+-]+)*@[\da-z]+(?:[.-][\da-z]+)*\.[a-z]{2,}$/iu;function Jt(e,r){return{kind:"validation",type:"check",reference:Jt,async:!1,expects:null,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement(t.value)&&K(this,"input",t,s),t}}}function Zt(e){return{kind:"validation",type:"email",reference:Zt,expects:null,async:!1,requirement:as,message:e,"~run"(r,t){return r.typed&&!this.requirement.test(r.value)&&K(this,"email",r,t),r}}}function Ae(e,r){return{kind:"validation",type:"max_length",reference:Ae,async:!1,expects:`<=${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&t.value.length>this.requirement&&K(this,"length",t,s,{received:`${t.value.length}`}),t}}}function Xt(e,r){return{kind:"validation",type:"max_value",reference:Xt,async:!1,expects:`<=${e instanceof Date?e.toJSON():we(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value<=this.requirement)&&K(this,"value",t,s,{received:t.value instanceof Date?t.value.toJSON():we(t.value)}),t}}}function xe(e,r){return{kind:"validation",type:"min_length",reference:xe,async:!1,expects:`>=${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&t.value.length<this.requirement&&K(this,"length",t,s,{received:`${t.value.length}`}),t}}}function Qt(e,r){return{kind:"validation",type:"min_value",reference:Qt,async:!1,expects:`>=${e instanceof Date?e.toJSON():we(e)}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!(t.value>=this.requirement)&&K(this,"value",t,s,{received:t.value instanceof Date?t.value.toJSON():we(t.value)}),t}}}function Qe(e,r){return{kind:"validation",type:"regex",reference:Qe,async:!1,expects:`${e}`,requirement:e,message:r,"~run"(t,s){return t.typed&&!this.requirement.test(t.value)&&K(this,"format",t,s),t}}}function Ye(e){return{kind:"transformation",type:"transform",reference:Ye,async:!1,operation:e,"~run"(r){return r.value=this.operation(r.value),r}}}function Yt(e){return{kind:"validation",type:"url",reference:Yt,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)&&K(this,"URL",r,t),r}}}function os(e,r,t){return typeof e.fallback=="function"?e.fallback(r,t):e.fallback}function er(e,r,t){return typeof e.default=="function"?e.default(r,t):e.default}function tr(e,r){return{kind:"schema",type:"array",reference:tr,expects:"Array",async:!1,item:e,message:r,get"~standard"(){return ae(this)},"~run"(t,s){var a;const i=t.value;if(Array.isArray(i)){t.typed=!0,t.value=[];for(let o=0;o<i.length;o++){const u=i[o],d=this.item["~run"]({value:u},s);if(d.issues){const p={type:"array",origin:"value",input:i,key:o,value:u};for(const b of d.issues)b.path?b.path.unshift(p):b.path=[p],(a=t.issues)==null||a.push(b);if(t.issues||(t.issues=d.issues),s.abortEarly){t.typed=!1;break}}d.typed||(t.typed=!1),t.value.push(d.value)}}else K(this,"type",t,s);return t}}}function rr(e){return{kind:"schema",type:"boolean",reference:rr,expects:"boolean",async:!1,message:e,get"~standard"(){return ae(this)},"~run"(r,t){return typeof r.value=="boolean"?r.typed=!0:K(this,"type",r,t),r}}}function sr(e){return{kind:"schema",type:"number",reference:sr,expects:"number",async:!1,message:e,get"~standard"(){return ae(this)},"~run"(r,t){return typeof r.value=="number"&&!isNaN(r.value)?r.typed=!0:K(this,"type",r,t),r}}}function ce(e,r){return{kind:"schema",type:"object",reference:ce,expects:"Object",async:!1,entries:e,message:r,get"~standard"(){return ae(this)},"~run"(t,s){var a;const i=t.value;if(i&&typeof i=="object"){t.typed=!0,t.value={};for(const o in this.entries){const u=this.entries[o];if(o in i||(u.type==="exact_optional"||u.type==="optional"||u.type==="nullish")&&u.default!==void 0){const d=o in i?i[o]:er(u),p=u["~run"]({value:d},s);if(p.issues){const b={type:"object",origin:"value",input:i,key:o,value:d};for(const w of p.issues)w.path?w.path.unshift(b):w.path=[b],(a=t.issues)==null||a.push(w);if(t.issues||(t.issues=p.issues),s.abortEarly){t.typed=!1;break}}p.typed||(t.typed=!1),t.value[o]=p.value}else if(u.fallback!==void 0)t.value[o]=os(u);else if(u.type!=="exact_optional"&&u.type!=="optional"&&u.type!=="nullish"&&(K(this,"key",t,s,{input:void 0,expected:`"${o}"`,path:[{type:"object",origin:"key",input:i,key:o,value:i[o]}]}),s.abortEarly))break}}else K(this,"type",t,s);return t}}}function Ee(e,r){return{kind:"schema",type:"optional",reference:Ee,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:r,get"~standard"(){return ae(this)},"~run"(t,s){return t.value===void 0&&(this.default!==void 0&&(t.value=er(this,t,s)),t.value===void 0)?(t.typed=!0,t):this.wrapped["~run"](t,s)}}}function nr(e,r){return{kind:"schema",type:"picklist",reference:nr,expects:ss(e.map(we),"|"),async:!1,options:e,message:r,get"~standard"(){return ae(this)},"~run"(t,s){return this.options.includes(t.value)?t.typed=!0:K(this,"type",t,s),t}}}function ir(e,r,t){return{kind:"schema",type:"record",reference:ir,expects:"Object",async:!1,key:e,value:r,message:t,get"~standard"(){return ae(this)},"~run"(s,i){var o,u;const a=s.value;if(a&&typeof a=="object"){s.typed=!0,s.value={};for(const d in a)if(rs(a,d)){const p=a[d],b=this.key["~run"]({value:d},i);if(b.issues){const h={type:"object",origin:"key",input:a,key:d,value:p};for(const y of b.issues)y.path=[h],(o=s.issues)==null||o.push(y);if(s.issues||(s.issues=b.issues),i.abortEarly){s.typed=!1;break}}const w=this.value["~run"]({value:p},i);if(w.issues){const h={type:"object",origin:"value",input:a,key:d,value:p};for(const y of w.issues)y.path?y.path.unshift(h):y.path=[h],(u=s.issues)==null||u.push(y);if(s.issues||(s.issues=w.issues),i.abortEarly){s.typed=!1;break}}(!b.typed||!w.typed)&&(s.typed=!1),b.typed&&(s.value[b.value]=w.value)}}else K(this,"type",s,i);return s}}}function X(e){return{kind:"schema",type:"string",reference:X,expects:"string",async:!1,message:e,get"~standard"(){return ae(this)},"~run"(r,t){return typeof r.value=="string"?r.typed=!0:K(this,"type",r,t),r}}}function ls(e,r,t){const s=e["~run"]({value:r},Re(t));if(s.issues)throw new is(s.issues);return s.value}function us(e,r){const t={};for(const s in e.entries)t[s]=!r||r.includes(s)?Ee(e.entries[s]):e.entries[s];return{...e,entries:t,get"~standard"(){return ae(this)}}}function he(...e){return{...e[0],pipe:e,get"~standard"(){return ae(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 cs(e,r,t){const s=e["~run"]({value:r},Re(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}async function ds(e,r,t){const s=await e["~run"]({value:r},Re(t));return{typed:s.typed,success:!s.issues,output:s.value,issues:s.issues}}const _e=({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})]}),ge=({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 et={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 Le=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}}),fs="https://api.mapbox.com/search/searchbox/v1/suggest",hs="ZzRDWFU0dTZ3SF9aWk9RNGl6QzZaWS5RZmlFak13a0hPbGxXZXlNSGN5RUhObUJ6TXpSV08yUW5OdE5tSTZJU1lpd2lJb1JYYXRObmJ2Tm5iaGhHZWx4V1lpb2pJMUp5ZS5rcA==",ps=e=>atob(e).split("").reverse().join(""),le=ce({name:X()}),ys=ce({suggestions:tr(ce({full_address:Ee(X()),place_formatted:Ee(X()),name:Ee(X()),mapbox_id:X(),context:us(ce({address:le,street:le,neighborhood:le,locality:le,district:le,place:le,region:le,postcode:le,country:le}))}))}),ms=({logger:e,t:r})=>n.F(()=>{var s;const t=(s=n.store.current$.peek().flow)==null?void 0:s.data.flowSessionId;return t?{enabled:!0,getPredictions:async i=>{var w;const a=new URL(fs);a.searchParams.set("q",i),a.searchParams.set("session_token",t);const o=(w=n.store.current$.peek().flow)==null?void 0:w.locationOrigin;o&&o.lat!==void 0&&o.lng!==void 0&&o.lat>=-90&&o.lat<=90&&o.lng>=-180&&o.lng<=180&&a.searchParams.set("proximity",`${o.lng},${o.lat}`),a.searchParams.set("access_token",ps(hs));const d=await fetch(a);if(!d.ok)return e.error("Failed to get address details",d),{ok:!1,error:r("address_error")};const p=cs(ys,await d.json());if(p.success===!1)return e.error("Failed to parse address details",p.issues),{ok:!1,error:r("address_error")};const{suggestions:b}=p.output;return{ok:!0,data:b.map(h=>{var y,A,F,_,I,v,C,E,S;return{label:h.full_address??h.place_formatted??h.name??h.mapbox_id,id:h.mapbox_id,address:{line1:((y=h.context.address)==null?void 0:y.name)??((A=h.context.street)==null?void 0:A.name),line2:void 0,line3:((F=h.context.neighborhood)==null?void 0:F.name)??((_=h.context.locality)==null?void 0:_.name),city:((I=h.context.place)==null?void 0:I.name)??((v=h.context.district)==null?void 0:v.name),state:(C=h.context.region)==null?void 0:C.name,postcode:(E=h.context.postcode)==null?void 0:E.name,country:(S=h.context.country)==null?void 0:S.name}}})}}}:{enabled:!1}},[e,r]),wt=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")})]})},gs=({input:e,onSubmitSuccess:r,logger:t})=>{const{t:s}=n.useTranslation(),[i,a]=n.h(),{enabled:o,getPredictions:u}=ms({logger:t,t:s}),[d,p]=n.h(o?"query":"manual"),[b,w]=n.h(""),[h,y]=n.h(),A=n._$1(),F=n._$1(),_=v=>{var E;if(n.invariant(o,"Query state should not be enabled"),v=v.trim(),v===((E=A.current)==null?void 0:E.query)||v===(h==null?void 0:h.query)&&h.status==="done")return;if(w(v),v===""){A.current=void 0,y(void 0);return}const C=A.current={query:v};y({query:v,status:"pending"}),u(v).then(S=>{A.current===C&&(A.current=void 0,y(S.ok?{query:v,status:"done",items:S.data}:{query:v,status:"failed",error:S.error}))},S=>{A.current===C&&(A.current=void 0,t.error("Failed to get address details",S),y({query:v,status:"failed",error:s("address_error")}))})},I=(v,C)=>{a(E=>({...E,[v]:C}))};switch(d){case"query":return n.invariant(o,"Query state should not be enabled"),n.o(bs,{input:e,onSkip:()=>r(null),onAddressSelect:v=>{if(v===""){A.current&&(A.current=void 0,y(void 0)),p("manual");return}const C=(h==null?void 0:h.status)==="done"?h.items.find(E=>E.id===v):void 0;C&&(F.current!==v&&a(C.address),F.current=v,p("details"))},onAddressSearch:_,lookup:h,query:b});case"details":return n.invariant(i!==void 0),n.o(kt,{input:e,logger:t,onSubmitSuccess:r,addressFields:i,onFieldChange:I,actions:n.o(wt,{onClick:()=>{p("query")}})});case"manual":return n.o(kt,{logger:t,input:e,onSubmitSuccess:r,addressFields:i??{},onFieldChange:I,actions:o?n.o(wt,{onClick:()=>{p("query")}}):void 0})}},bs=({input:e,onSkip:r,lookup:t,onAddressSelect:s,query:i,onAddressSearch:a})=>{const{t:o}=n.useTranslation(),u=n._$1(null);return n.y(()=>{u.current&&(u.current.focus(),u.current.select())},[]),n.o(n.k,{children:[n.o("form",{noValidate:!0,onSubmit:d=>{d.preventDefault();const b=new FormData(d.currentTarget).get("address");typeof b=="string"&&a(b)},class:"flex gap-2 p-2.5",children:[n.o("div",{class:"group relative flex-1",children:[n.o("input",{ref:u,name:"address",id:"chat-address",autocomplete:"address-line1 country-name postal-code",autoFocus:!0,placeholder:e.config.placeholder||o("address_search"),defaultValue:i,class:Le({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:o("search")})]})]}),e.config.optional&&n.o(ge,{class:"relative",onClick:r})]}),(t==null?void 0:t.status)==="failed"?n.o(_e,{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"}),o("address_searching")]}):(t==null?void 0:t.status)==="done"&&t.items.length===0?o("address_no_results"):null}),n.o("ul",{children:[((t==null?void 0:t.status)==="done"?t.items:[]).map(d=>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(d.id)},children:[n.o("span",{class:"flex-grow",children:d.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"})})]})},d.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:o("address_manual")})})},"")]})]})},_t=["line1","line2","line3","city","state","postcode","country"],kt=({addressFields:e,onFieldChange:r,onSubmitSuccess:t,actions:s,input:i})=>{const a=n._$1(null);n.y(()=>{if(a.current){const d=a.current.querySelector("input");d&&(d.focus(),d.select())}},[]);const o=Object.keys(et),{t:u}=n.useTranslation();return n.o("form",{class:"flex flex-col px-2 pt-2",onSubmit:d=>{const p=new FormData(d.currentTarget),b=Object.fromEntries(p.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:a,children:_t.map((d,p)=>{const b=`isdk_${d}`,w=i.config.keys[d];return w?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:u(d)}),n.o("div",{class:"flex flex-col items-stretch gap-1.5",children:[d==="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:w,id:b,defaultValue:e[d],onChange:h=>r(d,h.currentTarget.value),required:!0,children:[e.country&&!o.includes(e.country)?n.o("option",{value:e[d],children:e[d]}):n.o("option",{value:"",children:u("select_country")}),o.map(h=>n.o("option",{value:h,children:h},h))]}),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:p===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:w,id:b,defaultValue:e[d],onInput:h=>r(d,h.currentTarget.value),required:!0}),p===_t.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(me,{class:"ml-auto"})]})]})},tt=()=>{const e=n._$1(null);return n.p(()=>{var r;(r=e.current)==null||r.focus()},[]),e},ar=["true","false"],vs=nr(ar),xs="answer",or="flex items-center flex-wrap gap-2 p-2.5",lr="min-w-0 max-w-full flex-auto",ur=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})})),ws=({input:e,onSubmitSuccess:r})=>{const t=tt();return n.o("form",{noValidate:!0,class:"",onSubmit:s=>{s.preventDefault();const i=n.getFormSubmitter(s).value,a=ls(vs,i);r({type:"boolean",value:a==="true"})},children:[n.o("ul",{class:or,children:ar.map((s,i)=>n.o("li",{class:lr,children:n.o(ur,{ref:i===0?t:null,type:"submit",name:xs,value:s,label:e.config.labels[s]},s)}))}),e.config.optional&&n.o("div",{class:"px-2 pb-2",children:n.o(ge,{class:"relative w-full",type:"button",onClick:()=>r(null)})})]})},_s=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)}),Ct=e=>e.reduce((r,t)=>r+t.sizeKb,0),ks=n.isSubmissionOfType("file"),St=3,rt=e=>{const r=e.lastIndexOf(".");return r===-1?[e,""]:[e.slice(0,r),e.slice(r)]},Cs=({file:e,class:r,...t})=>{const[s,i]=rt(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:i})]}),n.o("p",{"aria-label":"File size",class:"text-accent-11",children:n._(e.sizeKb)})]})},Vt=({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}),Ss=(e,r)=>{const[t,s]=rt(e);return`${t.slice(0,r)}${s}`},Ft=e=>({name:Ss(e.name,42),sizeKb:e.size/1e3}),Vs=({input:e,onSubmitSuccess:r})=>{var A;const t=(A=n.store.current$.value.flow)==null?void 0:A.data.submissions[e.key],[s,i]=n.h(ks(t)&&t.value.length?{status:"ready",files:t.value}:{status:"empty"}),a=n._$1(0),o=s.status==="ready"?s.files:[],u=s.status==="ready"||s.status==="pending"?s.files:[],d=s.status==="error"?s.error:void 0,p=u.length-St,b=Ct(u),w=tt(),{t:h}=n.useTranslation(),y=F=>{if(!F.length)return{type:"required",message:h("validation_file")};if(!n.L(F,e.config.extensions))return{type:"validate",message:h("validation_file_ext",{ext:e.config.extensions.join(", ")})};if(e.config.fileSizeLimitKib&&Ct(F)>e.config.fileSizeLimitKib)return{type:"max",message:h("validation_file_size",{size:n._(e.config.fileSizeLimitKib)})};if(!e.config.allowMultiple&&F.length>1)return{type:"invalid",message:h("validation_file_max",{count:1})}};return n.o("form",{class:"flex flex-col gap-1 p-2.5",onSubmit:F=>{if(F.preventDefault(),s.status==="pending"||s.status==="error")return;const _=y(o);_?i({status:"error",error:_}):r({type:"file",value:o})},children:[n.o("div",{class:"flex items-center gap-2",children:[n.o("label",{ref:w,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:[u.length>0?n.o("ul",{class:"flex max-w-full flex-wrap justify-center gap-1 overflow-hidden p-1",children:[u.slice(0,St).map(F=>{const[_,I]=rt(F.name);return n.o(Vt,{class:"flex overflow-hidden",children:[n.o("span",{class:"block truncate",children:_}),n.o("span",{children:I})]})}),p>0?n.o(Vt,{children:["+",p," file",p!==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:h("upload_file",{count:e.config.allowMultiple?2:1})}),e.config.fileSizeLimitKib?n.o("p",{class:"text-neutral-10 text-xs",children:["(",h("file_max_size",{size:n._(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:h("file_extensions")}),n.o("ul",{"aria-describedby":"accepted-filetypes",class:"flex flex-wrap justify-center gap-2",children:e.config.extensions.map(F=>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:F.replace(".","")}))})]})]}),n.o("p",{role:"status",class:n.clsx("text-neutral-11 flex items-center gap-1.5 text-xs",u.length===0&&"sr-only"),children:s.status==="pending"?n.o(n.k,{children:[n.o(n.LoadingIndicator,{"aria-hidden":"true",class:"h-4 w-4"}),h("file_preparing",{count:u.length})]}):s.status==="ready"?n.o(n.k,{children:[n._(b)," ",o.length>1?"total":"",n.o("span",{class:"sr-only",children:[". ",h("file_ready",{count:o.length})]})]}):null}),n.o("input",{id:"dropzone-file",onInput:async F=>{n.invariant(F.target instanceof HTMLInputElement);const _=F.target.files?Array.from(F.target.files):[];if(F.target.value="",!_.length)return;const I=++a.current,v=s.status==="ready",C=_.map(Ft),E=y(C);if(E)return i({status:"error",error:E});i({status:"pending",files:C});try{const S=await Promise.all(_.map(async M=>({...Ft(M),data:await _s(M)})));a.current===I&&i({status:"ready",files:S})}catch{a.current===I&&i({status:"error",error:{type:"invalid",message:h(v?"file_read_error_replacement":"file_read_error")}})}},multiple:e.config.allowMultiple,type:"file",class:"sr-only"})]}),n.o("div",{class:"flex h-full flex-col items-center gap-2",children:[n.o(me,{disabled:o.length===0}),e.config.optional&&n.o(ge,{class:"relative",onClick:()=>r(null)})]})]}),n.o(_e,{error:d})]})};var Te=e=>e.type==="checkbox",ye=e=>e instanceof Date,H=e=>e==null;const cr=e=>typeof e=="object";var P=e=>!H(e)&&!Array.isArray(e)&&cr(e)&&!ye(e),Fs=e=>P(e)&&e.target?Te(e.target)?e.target.checked:e.target.value:e,Is=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,As=(e,r)=>e.has(Is(r)),Es=e=>{const r=e.constructor&&e.constructor.prototype;return P(r)&&r.hasOwnProperty("isPrototypeOf")},st=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function q(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(st&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(P(e)&&Es(e)))return e;const s=t?[]:Object.create(Object.getPrototypeOf(e));for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(s[i]=q(e[i]));return s}var Be=e=>/^\w*$/.test(e),R=e=>e===void 0,nt=e=>Array.isArray(e)?e.filter(Boolean):[],it=e=>nt(e.replace(/["|']|\]/g,"").split(/\.|\[/)),k=(e,r,t)=>{if(!r||!P(e))return t;const s=(Be(r)?[r]:it(r)).reduce((i,a)=>H(i)?i:i[a],e);return R(s)||s===e?R(e[r])?t:e[r]:s},ne=e=>typeof e=="boolean",re=e=>typeof e=="function",O=(e,r,t)=>{let s=-1;const i=Be(r)?[r]:it(r),a=i.length,o=a-1;for(;++s<a;){const u=i[s];let d=t;if(s!==o){const p=e[u];d=P(p)||Array.isArray(p)?p:isNaN(+i[s+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;e[u]=d,e=e[u]}};const It={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},se={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ue={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Ms=n.Cn.createContext(null);Ms.displayName="HookFormControlContext";var Ns=(e,r,t,s=!0)=>{const i={defaultValues:r._defaultValues};for(const a in e)Object.defineProperty(i,a,{get:()=>{const o=a;return r._proxyFormState[o]!==se.all&&(r._proxyFormState[o]=!s||se.all),t&&(t[o]=!0),e[o]}});return i};const Ls=typeof window<"u"?n.Cn.useLayoutEffect:n.Cn.useEffect;var Z=e=>typeof e=="string",Ts=(e,r,t,s,i)=>Z(e)?(s&&r.watch.add(e),k(t,e,i)):Array.isArray(e)?e.map(a=>(s&&r.watch.add(a),k(t,a))):(s&&(r.watchAll=!0),t),Ze=e=>H(e)||!cr(e);function fe(e,r,t=new WeakSet){if(Ze(e)||Ze(r))return Object.is(e,r);if(ye(e)&&ye(r))return Object.is(e.getTime(),r.getTime());const s=Object.keys(e),i=Object.keys(r);if(s.length!==i.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const a of s){const o=e[a];if(!i.includes(a))return!1;if(a!=="ref"){const u=r[a];if(ye(o)&&ye(u)||P(o)&&P(u)||Array.isArray(o)&&Array.isArray(u)?!fe(o,u,t):!Object.is(o,u))return!1}}return!0}const Ds=n.Cn.createContext(null);Ds.displayName="HookFormContext";var dr=(e,r,t,s,i)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:i||!0}}:{},Me=e=>Array.isArray(e)?e:[e],At=()=>{let e=[];return{get observers(){return e},next:i=>{for(const a of e)a.next&&a.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(a=>a!==i)}}),unsubscribe:()=>{e=[]}}};function fr(e,r){const t={};for(const s in e)if(e.hasOwnProperty(s)){const i=e[s],a=r[s];if(i&&P(i)&&a){const o=fr(i,a);P(o)&&(t[s]=o)}else e[s]&&(t[s]=a)}return t}var W=e=>P(e)&&!Object.keys(e).length,at=e=>e.type==="file",De=e=>{if(!st)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},hr=e=>e.type==="select-multiple",ot=e=>e.type==="radio",Os=e=>ot(e)||Te(e),Je=e=>De(e)&&e.isConnected;function Rs(e,r){const t=r.slice(0,-1).length;let s=0;for(;s<t;)e=R(e)?s++:e[r[s++]];return e}function Bs(e){for(const r in e)if(e.hasOwnProperty(r)&&!R(e[r]))return!1;return!0}function $(e,r){const t=Array.isArray(r)?r:Be(r)?[r]:it(r),s=t.length===1?e:Rs(e,t),i=t.length-1,a=t[i];return s&&delete s[a],i!==0&&(P(s)&&W(s)||Array.isArray(s)&&Bs(s))&&$(e,t.slice(0,-1)),e}var $s=e=>{for(const r in e)if(re(e[r]))return!0;return!1};function pr(e){return Array.isArray(e)||P(e)&&!$s(e)}function Xe(e,r={}){for(const t in e){const s=e[t];pr(s)?(r[t]=Array.isArray(s)?[]:{},Xe(s,r[t])):R(s)||(r[t]=!0)}return r}function ve(e,r,t){t||(t=Xe(r));for(const s in e){const i=e[s];if(pr(i))R(r)||Ze(t[s])?t[s]=Xe(i,Array.isArray(i)?[]:{}):ve(i,H(r)?{}:r[s],t[s]);else{const a=r[s];t[s]=!fe(i,a)}}return t}const Et={value:!1,isValid:!1},Mt={value:!0,isValid:!0};var yr=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&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?Mt:{value:e[0].value,isValid:!0}:Mt:Et}return Et},mr=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>R(e)?e:r?e===""?NaN:e&&+e:t&&Z(e)?new Date(e):s?s(e):e;const Nt={isValid:!1,value:null};var gr=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,Nt):Nt;function Lt(e){const r=e.ref;return at(r)?r.files:ot(r)?gr(e.refs).value:hr(r)?[...r.selectedOptions].map(({value:t})=>t):Te(r)?yr(e.refs).value:mr(R(r.value)?e.ref.value:r.value,e)}var Ps=(e,r,t,s)=>{const i={};for(const a of e){const o=k(r,a);o&&O(i,a,o._f)}return{criteriaMode:t,names:[...e],fields:i,shouldUseNativeValidation:s}},Oe=e=>e instanceof RegExp,Ve=e=>R(e)?e:Oe(e)?e.source:P(e)?Oe(e.value)?e.value.source:e.value:e,Tt=e=>({isOnSubmit:!e||e===se.onSubmit,isOnBlur:e===se.onBlur,isOnChange:e===se.onChange,isOnAll:e===se.all,isOnTouch:e===se.onTouched});const Dt="AsyncFunction";var js=e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===Dt||P(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===Dt)),qs=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ot=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length))));const Ne=(e,r,t,s)=>{for(const i of t||Object.keys(e)){const a=k(e,i);if(a){const{_f:o,...u}=a;if(o){if(o.refs&&o.refs[0]&&r(o.refs[0],i)&&!s)return!0;if(o.ref&&r(o.ref,o.name)&&!s)return!0;if(Ne(u,r))break}else if(P(u)&&Ne(u,r))break}}};function Rt(e,r,t){const s=k(e,t);if(s||Be(t))return{error:s,name:t};const i=t.split(".");for(;i.length;){const a=i.join("."),o=k(r,a),u=k(e,a);if(o&&!Array.isArray(o)&&t!==a)return{name:t};if(u&&u.type)return{name:a,error:u};if(u&&u.root&&u.root.type)return{name:`${a}.root`,error:u.root};i.pop()}return{name:t}}var Us=(e,r,t,s)=>{t(e);const{name:i,...a}=e;return W(a)||Object.keys(a).length>=Object.keys(r).length||Object.keys(a).find(o=>r[o]===(!s||se.all))},zs=(e,r,t)=>!e||!r||e===r||Me(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),Ks=(e,r,t,s,i)=>i.isOnAll?!1:!t&&i.isOnTouch?!(r||e):(t?s.isOnBlur:i.isOnBlur)?!e:(t?s.isOnChange:i.isOnChange)?e:!0,Gs=(e,r)=>!nt(k(e,r)).length&&$(e,r),Ws=(e,r,t)=>{const s=Me(k(e,t));return O(s,"root",r[t]),O(e,t,s),e};function Bt(e,r,t="validate"){if(Z(e)||Array.isArray(e)&&e.every(Z)||ne(e)&&!e)return{type:t,message:Z(e)?e:"",ref:r}}var be=e=>P(e)&&!Oe(e)?e:{value:e,message:""},$t=async(e,r,t,s,i,a)=>{const{ref:o,refs:u,required:d,maxLength:p,minLength:b,min:w,max:h,pattern:y,validate:A,name:F,valueAsNumber:_,mount:I}=e._f,v=k(t,F);if(!I||r.has(F))return{};const C=u?u[0]:o,E=N=>{i&&C.reportValidity&&(C.setCustomValidity(ne(N)?"":N||""),C.reportValidity())},S={},M=ot(o),Q=Te(o),B=M||Q,Y=(_||at(o))&&R(o.value)&&R(v)||De(o)&&o.value===""||v===""||Array.isArray(v)&&!v.length,U=dr.bind(null,F,s,S),ee=(N,L,j,z=ue.maxLength,te=ue.minLength)=>{const J=N?L:j;S[F]={type:N?z:te,message:J,ref:o,...U(N?z:te,J)}};if(a?!Array.isArray(v)||!v.length:d&&(!B&&(Y||H(v))||ne(v)&&!v||Q&&!yr(u).isValid||M&&!gr(u).isValid)){const{value:N,message:L}=Z(d)?{value:!!d,message:d}:be(d);if(N&&(S[F]={type:ue.required,message:L,ref:C,...U(ue.required,L)},!s))return E(L),S}if(!Y&&(!H(w)||!H(h))){let N,L;const j=be(h),z=be(w);if(!H(v)&&!isNaN(v)){const te=o.valueAsNumber||v&&+v;H(j.value)||(N=te>j.value),H(z.value)||(L=te<z.value)}else{const te=o.valueAsDate||new Date(v),J=Se=>new Date(new Date().toDateString()+" "+Se),ke=o.type=="time",Ce=o.type=="week";Z(j.value)&&v&&(N=ke?J(v)>J(j.value):Ce?v>j.value:te>new Date(j.value)),Z(z.value)&&v&&(L=ke?J(v)<J(z.value):Ce?v<z.value:te<new Date(z.value))}if((N||L)&&(ee(!!N,j.message,z.message,ue.max,ue.min),!s))return E(S[F].message),S}if((p||b)&&!Y&&(Z(v)||a&&Array.isArray(v))){const N=be(p),L=be(b),j=!H(N.value)&&v.length>+N.value,z=!H(L.value)&&v.length<+L.value;if((j||z)&&(ee(j,N.message,L.message),!s))return E(S[F].message),S}if(y&&!Y&&Z(v)){const{value:N,message:L}=be(y);if(Oe(N)&&!v.match(N)&&(S[F]={type:ue.pattern,message:L,ref:o,...U(ue.pattern,L)},!s))return E(L),S}if(A){if(re(A)){const N=await A(v,t),L=Bt(N,C);if(L&&(S[F]={...L,...U(ue.validate,L.message)},!s))return E(L.message),S}else if(P(A)){let N={};for(const L in A){if(!W(N)&&!s)break;const j=Bt(await A[L](v,t),C,L);j&&(N={...j,...U(L,j.message)},E(j.message),s&&(S[F]=N))}if(!W(N)&&(S[F]={ref:C,...N},!s))return S}}return E(!0),S};const Hs={mode:se.onSubmit,reValidateMode:se.onChange,shouldFocusError:!0};function Js(e={}){let r={...Hs,...e},t={submitCount:0,isDirty:!1,isReady:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},i=P(r.defaultValues)||P(r.values)?q(r.defaultValues||r.values)||{}:{},a=r.shouldUnregister?{}:q(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},d,p=0;const b={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},w={...b};let h={...w};const y={array:At(),state:At()},A=r.criteriaMode===se.all,F=l=>c=>{clearTimeout(p),p=setTimeout(l,c)},_=async l=>{if(!o.keepIsValid&&!r.disabled&&(w.isValid||h.isValid||l)){let c;r.resolver?(c=W((await B()).errors),I()):c=await U(s,!0),c!==t.isValid&&y.state.next({isValid:c})}},I=(l,c)=>{!r.disabled&&(w.isValidating||w.validatingFields||h.isValidating||h.validatingFields)&&((l||Array.from(u.mount)).forEach(f=>{f&&(c?O(t.validatingFields,f,c):$(t.validatingFields,f))}),y.state.next({validatingFields:t.validatingFields,isValidating:!W(t.validatingFields)}))},v=(l,c=[],f,x,g=!0,m=!0)=>{if(x&&f&&!r.disabled){if(o.action=!0,m&&Array.isArray(k(s,l))){const V=f(k(s,l),x.argA,x.argB);g&&O(s,l,V)}if(m&&Array.isArray(k(t.errors,l))){const V=f(k(t.errors,l),x.argA,x.argB);g&&O(t.errors,l,V),Gs(t.errors,l)}if((w.touchedFields||h.touchedFields)&&m&&Array.isArray(k(t.touchedFields,l))){const V=f(k(t.touchedFields,l),x.argA,x.argB);g&&O(t.touchedFields,l,V)}(w.dirtyFields||h.dirtyFields)&&(t.dirtyFields=ve(i,a)),y.state.next({name:l,isDirty:N(l,c),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else O(a,l,c)},C=(l,c)=>{O(t.errors,l,c),y.state.next({errors:t.errors})},E=l=>{t.errors=l,y.state.next({errors:t.errors,isValid:!1})},S=(l,c,f,x)=>{const g=k(s,l);if(g){const m=k(a,l,R(f)?k(i,l):f);R(m)||x&&x.defaultChecked||c?O(a,l,c?m:Lt(g._f)):z(l,m),o.mount&&!o.action&&_()}},M=(l,c,f,x,g)=>{let m=!1,V=!1;const T={name:l};if(!r.disabled){if(!f||x){(w.isDirty||h.isDirty)&&(V=t.isDirty,t.isDirty=T.isDirty=N(),m=V!==T.isDirty);const D=fe(k(i,l),c);V=!!k(t.dirtyFields,l),D?$(t.dirtyFields,l):O(t.dirtyFields,l,!0),T.dirtyFields=t.dirtyFields,m=m||(w.dirtyFields||h.dirtyFields)&&V!==!D}if(f){const D=k(t.touchedFields,l);D||(O(t.touchedFields,l,f),T.touchedFields=t.touchedFields,m=m||(w.touchedFields||h.touchedFields)&&D!==f)}m&&g&&y.state.next(T)}return m?T:{}},Q=(l,c,f,x)=>{const g=k(t.errors,l),m=(w.isValid||h.isValid)&&ne(c)&&t.isValid!==c;if(r.delayError&&f?(d=F(()=>C(l,f)),d(r.delayError)):(clearTimeout(p),d=null,f?O(t.errors,l,f):$(t.errors,l)),(f?!fe(g,f):g)||!W(x)||m){const V={...x,...m&&ne(c)?{isValid:c}:{},errors:t.errors,name:l};t={...t,...V},y.state.next(V)}},B=async l=>(I(l,!0),await r.resolver(a,r.context,Ps(l||u.mount,s,r.criteriaMode,r.shouldUseNativeValidation))),Y=async l=>{const{errors:c}=await B(l);if(I(l),l)for(const f of l){const x=k(c,f);x?O(t.errors,f,x):$(t.errors,f)}else t.errors=c;return c},U=async(l,c,f={valid:!0})=>{for(const x in l){const g=l[x];if(g){const{_f:m,...V}=g;if(m){const T=u.array.has(m.name),D=g._f&&js(g._f);D&&w.validatingFields&&I([m.name],!0);const G=await $t(g,u.disabled,a,A,r.shouldUseNativeValidation&&!c,T);if(D&&w.validatingFields&&I([m.name]),G[m.name]&&(f.valid=!1,c||e.shouldUseNativeValidation))break;!c&&(k(G,m.name)?T?Ws(t.errors,G,m.name):O(t.errors,m.name,G[m.name]):$(t.errors,m.name))}!W(V)&&await U(V,c,f)}}return f.valid},ee=()=>{for(const l of u.unMount){const c=k(s,l);c&&(c._f.refs?c._f.refs.every(f=>!Je(f)):!Je(c._f.ref))&&je(l)}u.unMount=new Set},N=(l,c)=>!r.disabled&&(l&&c&&O(a,l,c),!fe(lt(),i)),L=(l,c,f)=>Ts(l,u,{...o.mount?a:R(c)?i:Z(l)?{[l]:c}:c},f,c),j=l=>nt(k(o.mount?a:i,l,r.shouldUnregister?k(i,l,[]):[])),z=(l,c,f={})=>{const x=k(s,l);let g=c;if(x){const m=x._f;m&&(!m.disabled&&O(a,l,mr(c,m)),g=De(m.ref)&&H(c)?"":c,hr(m.ref)?[...m.ref.options].forEach(V=>V.selected=g.includes(V.value)):m.refs?Te(m.ref)?m.refs.forEach(V=>{(!V.defaultChecked||!V.disabled)&&(Array.isArray(g)?V.checked=!!g.find(T=>T===V.value):V.checked=g===V.value||!!g)}):m.refs.forEach(V=>V.checked=V.value===g):at(m.ref)?m.ref.value="":(m.ref.value=g,m.ref.type||y.state.next({name:l,values:q(a)})))}(f.shouldDirty||f.shouldTouch)&&M(l,g,f.shouldTouch,f.shouldDirty,!0),f.shouldValidate&&Se(l)},te=(l,c,f)=>{for(const x in c){if(!c.hasOwnProperty(x))return;const g=c[x],m=l+"."+x,V=k(s,m);(u.array.has(l)||P(g)||V&&!V._f)&&!ye(g)?te(m,g,f):z(m,g,f)}},J=(l,c,f={})=>{const x=k(s,l),g=u.array.has(l),m=q(c);O(a,l,m),g?(y.array.next({name:l,values:q(a)}),(w.isDirty||w.dirtyFields||h.isDirty||h.dirtyFields)&&f.shouldDirty&&y.state.next({name:l,dirtyFields:ve(i,a),isDirty:N(l,m)})):x&&!x._f&&!H(m)?te(l,m,f):z(l,m,f),Ot(l,u)?y.state.next({...t,name:l,values:q(a)}):y.state.next({name:o.mount?l:void 0,values:q(a)})},ke=async l=>{o.mount=!0;const c=l.target;let f=c.name,x=!0;const g=k(s,f),m=D=>{x=Number.isNaN(D)||ye(D)&&isNaN(D.getTime())||fe(D,k(a,f,D))},V=Tt(r.mode),T=Tt(r.reValidateMode);if(g){let D,G;const pe=c.type?Lt(g._f):Fs(l),de=l.type===It.BLUR||l.type===It.FOCUS_OUT,Vr=!qs(g._f)&&!r.resolver&&!k(t.errors,f)&&!g._f.deps||Ks(de,k(t.touchedFields,f),t.isSubmitted,T,V),ze=Ot(f,u,de);O(a,f,pe),de?(!c||!c.readOnly)&&(g._f.onBlur&&g._f.onBlur(l),d&&d(0)):g._f.onChange&&g._f.onChange(l);const Ke=M(f,pe,de),Fr=!W(Ke)||ze;if(!de&&y.state.next({name:f,type:l.type,values:q(a)}),Vr)return(w.isValid||h.isValid)&&(r.mode==="onBlur"?de&&_():de||_()),Fr&&y.state.next({name:f,...ze?{}:Ke});if(!de&&ze&&y.state.next({...t}),r.resolver){const{errors:gt}=await B([f]);if(I([f]),m(pe),x){const Ir=Rt(t.errors,s,f),bt=Rt(gt,s,Ir.name||f);D=bt.error,f=bt.name,G=W(gt)}}else I([f],!0),D=(await $t(g,u.disabled,a,A,r.shouldUseNativeValidation))[f],I([f]),m(pe),x&&(D?G=!1:(w.isValid||h.isValid)&&(G=await U(s,!0)));x&&(g._f.deps&&(!Array.isArray(g._f.deps)||g._f.deps.length>0)&&Se(g._f.deps),Q(f,G,D,Ke))}},Ce=(l,c)=>{if(k(t.errors,c)&&l.focus)return l.focus(),1},Se=async(l,c={})=>{let f,x;const g=Me(l);if(r.resolver){const m=await Y(R(l)?l:g);f=W(m),x=l?!g.some(V=>k(m,V)):f}else l?(x=(await Promise.all(g.map(async m=>{const V=k(s,m);return await U(V&&V._f?{[m]:V}:V)}))).every(Boolean),!(!x&&!t.isValid)&&_()):x=f=await U(s);return y.state.next({...!Z(l)||(w.isValid||h.isValid)&&f!==t.isValid?{}:{name:l},...r.resolver||!l?{isValid:f}:{},errors:t.errors}),c.shouldFocus&&!x&&Ne(s,Ce,l?g:u.mount),x},lt=(l,c)=>{let f={...o.mount?a:i};return c&&(f=fr(c.dirtyFields?t.dirtyFields:t.touchedFields,f)),R(l)?f:Z(l)?k(f,l):l.map(x=>k(f,x))},ut=(l,c)=>({invalid:!!k((c||t).errors,l),isDirty:!!k((c||t).dirtyFields,l),error:k((c||t).errors,l),isValidating:!!k(t.validatingFields,l),isTouched:!!k((c||t).touchedFields,l)}),vr=l=>{const c=l?Me(l):void 0;c==null||c.forEach(f=>$(t.errors,f)),c?c.forEach(f=>{y.state.next({name:f,errors:t.errors})}):y.state.next({errors:{}})},ct=(l,c,f)=>{const x=(k(s,l,{_f:{}})._f||{}).ref,g=k(t.errors,l)||{},{ref:m,message:V,type:T,...D}=g;O(t.errors,l,{...D,...c,ref:x}),y.state.next({name:l,errors:t.errors,isValid:!1}),f&&f.shouldFocus&&x&&x.focus&&x.focus()},xr=(l,c)=>re(l)?y.state.subscribe({next:f=>"values"in f&&l(L(void 0,c),f)}):L(l,c,!0),dt=l=>y.state.subscribe({next:c=>{zs(l.name,c.name,l.exact)&&Us(c,l.formState||w,Sr,l.reRenderRoot)&&l.callback({values:{...a},...t,...c,defaultValues:i})}}).unsubscribe,wr=l=>(o.mount=!0,h={...h,...l.formState},dt({...l,formState:{...b,...l.formState}})),je=(l,c={})=>{for(const f of l?Me(l):u.mount)u.mount.delete(f),u.array.delete(f),c.keepValue||($(s,f),$(a,f)),!c.keepError&&$(t.errors,f),!c.keepDirty&&$(t.dirtyFields,f),!c.keepTouched&&$(t.touchedFields,f),!c.keepIsValidating&&$(t.validatingFields,f),!r.shouldUnregister&&!c.keepDefaultValue&&$(i,f);y.state.next({values:q(a)}),y.state.next({...t,...c.keepDirty?{isDirty:N()}:{}}),!c.keepIsValid&&_()},ft=({disabled:l,name:c})=>{if(ne(l)&&o.mount||l||u.disabled.has(c)){const g=u.disabled.has(c)!==!!l;l?u.disabled.add(c):u.disabled.delete(c),g&&o.mount&&!o.action&&_()}},qe=(l,c={})=>{let f=k(s,l);const x=ne(c.disabled)||ne(r.disabled);return O(s,l,{...f||{},_f:{...f&&f._f?f._f:{ref:{name:l}},name:l,mount:!0,...c}}),u.mount.add(l),f?ft({disabled:ne(c.disabled)?c.disabled:r.disabled,name:l}):S(l,!0,c.value),{...x?{disabled:c.disabled||r.disabled}:{},...r.progressive?{required:!!c.required,min:Ve(c.min),max:Ve(c.max),minLength:Ve(c.minLength),maxLength:Ve(c.maxLength),pattern:Ve(c.pattern)}:{},name:l,onChange:ke,onBlur:ke,ref:g=>{if(g){qe(l,c),f=k(s,l);const m=R(g.value)&&g.querySelectorAll&&g.querySelectorAll("input,select,textarea")[0]||g,V=Os(m),T=f._f.refs||[];if(V?T.find(D=>D===m):m===f._f.ref)return;O(s,l,{_f:{...f._f,...V?{refs:[...T.filter(Je),m,...Array.isArray(k(i,l))?[{}]:[]],ref:{type:m.type,name:l}}:{ref:m}}}),S(l,!1,void 0,m)}else f=k(s,l,{}),f._f&&(f._f.mount=!1),(r.shouldUnregister||c.shouldUnregister)&&!(As(u.array,l)&&o.action)&&u.unMount.add(l)}}},Ue=()=>r.shouldFocusError&&Ne(s,Ce,u.mount),_r=l=>{ne(l)&&(y.state.next({disabled:l}),Ne(s,(c,f)=>{const x=k(s,f);x&&(c.disabled=x._f.disabled||l,Array.isArray(x._f.refs)&&x._f.refs.forEach(g=>{g.disabled=x._f.disabled||l}))},0,!1))},ht=(l,c)=>async f=>{let x;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let g=q(a);if(y.state.next({isSubmitting:!0}),r.resolver){const{errors:m,values:V}=await B();I(),t.errors=m,g=q(V)}else await U(s);if(u.disabled.size)for(const m of u.disabled)$(g,m);if($(t.errors,"root"),W(t.errors)){y.state.next({errors:{}});try{await l(g,f)}catch(m){x=m}}else c&&await c({...t.errors},f),Ue(),setTimeout(Ue);if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:W(t.errors)&&!x,submitCount:t.submitCount+1,errors:t.errors}),x)throw x},kr=(l,c={})=>{k(s,l)&&(R(c.defaultValue)?J(l,q(k(i,l))):(J(l,c.defaultValue),O(i,l,q(c.defaultValue))),c.keepTouched||$(t.touchedFields,l),c.keepDirty||($(t.dirtyFields,l),t.isDirty=c.defaultValue?N(l,q(k(i,l))):N()),c.keepError||($(t.errors,l),w.isValid&&_()),y.state.next({...t}))},pt=(l,c={})=>{const f=l?q(l):i,x=q(f),g=W(l),m=g?i:x;if(c.keepDefaultValues||(i=f),!c.keepValues){if(c.keepDirtyValues){const V=new Set([...u.mount,...Object.keys(ve(i,a))]);for(const T of Array.from(V)){const D=k(t.dirtyFields,T),G=k(a,T),pe=k(m,T);D&&!R(G)?O(m,T,G):!D&&!R(pe)&&J(T,pe)}}else{if(st&&R(l))for(const V of u.mount){const T=k(s,V);if(T&&T._f){const D=Array.isArray(T._f.refs)?T._f.refs[0]:T._f.ref;if(De(D)){const G=D.closest("form");if(G){G.reset();break}}}}if(c.keepFieldsRef)for(const V of u.mount)J(V,k(m,V));else s={}}a=r.shouldUnregister?c.keepDefaultValues?q(i):{}:q(m),y.array.next({values:{...m}}),y.state.next({values:{...m}})}u={mount:c.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!w.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!r.shouldUnregister&&!W(m),o.watch=!!r.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,c.keepErrors||(t.errors={}),y.state.next({submitCount:c.keepSubmitCount?t.submitCount:0,isDirty:g?!1:c.keepDirty?t.isDirty:!!(c.keepDefaultValues&&!fe(l,i)),isSubmitted:c.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:g?{}:c.keepDirtyValues?c.keepDefaultValues&&a?ve(i,a):t.dirtyFields:c.keepDefaultValues&&l?ve(i,l):c.keepDirty?t.dirtyFields:{},touchedFields:c.keepTouched?t.touchedFields:{},errors:c.keepErrors?t.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},yt=(l,c)=>pt(re(l)?l(a):l,{...r.resetOptions,...c}),Cr=(l,c={})=>{const f=k(s,l),x=f&&f._f;if(x){const g=x.refs?x.refs[0]:x.ref;g.focus&&setTimeout(()=>{g.focus(),c.shouldSelect&&re(g.select)&&g.select()})}},Sr=l=>{t={...t,...l}},mt={control:{register:qe,unregister:je,getFieldState:ut,handleSubmit:ht,setError:ct,_subscribe:dt,_runSchema:B,_updateIsValidating:I,_focusError:Ue,_getWatch:L,_getDirty:N,_setValid:_,_setFieldArray:v,_setDisabledField:ft,_setErrors:E,_getFieldArray:j,_reset:pt,_resetDefaultValues:()=>re(r.defaultValues)&&r.defaultValues().then(l=>{yt(l,r.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:ee,_disableForm:_r,_subjects:y,_proxyFormState:w,get _fields(){return s},get _formValues(){return a},get _state(){return o},set _state(l){o=l},get _defaultValues(){return i},get _names(){return u},set _names(l){u=l},get _formState(){return t},get _options(){return r},set _options(l){r={...r,...l}}},subscribe:wr,trigger:Se,register:qe,handleSubmit:ht,watch:xr,setValue:J,getValues:lt,reset:yt,resetField:kr,clearErrors:vr,unregister:je,setError:ct,setFocus:Cr,getFieldState:ut};return{...mt,formControl:mt}}function $e(e={}){const r=n.Cn.useRef(void 0),t=n.Cn.useRef(void 0),[s,i]=n.Cn.useState({isDirty:!1,isValidating:!1,isLoading:re(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:re(e.defaultValues)?void 0:e.defaultValues});if(!r.current)if(e.formControl)r.current={...e.formControl,formState:s},e.defaultValues&&!re(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...u}=Js(e);r.current={...u,formState:s}}const a=r.current.control;return a._options=e,Ls(()=>{const o=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(u=>({...u,isReady:!0})),a._formState.isReady=!0,o},[a]),n.Cn.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),n.Cn.useEffect(()=>{e.mode&&(a._options.mode=e.mode),e.reValidateMode&&(a._options.reValidateMode=e.reValidateMode)},[a,e.mode,e.reValidateMode]),n.Cn.useEffect(()=>{e.errors&&(a._setErrors(e.errors),a._focusError())},[a,e.errors]),n.Cn.useEffect(()=>{e.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,e.shouldUnregister]),n.Cn.useEffect(()=>{if(a._proxyFormState.isDirty){const o=a._getDirty();o!==s.isDirty&&a._subjects.state.next({isDirty:o})}},[a,s.isDirty]),n.Cn.useEffect(()=>{var o;e.values&&!fe(e.values,t.current)?(a._reset(e.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((o=a._options.resetOptions)===null||o===void 0)&&o.keepIsValid||a._setValid(),t.current=e.values,i(u=>({...u}))):a._resetDefaultValues()},[a,e.values]),n.Cn.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),r.current.formState=n.Cn.useMemo(()=>Ns(s,a),[a,s]),r.current}const Pt=(e,r,t)=>{if(e&&"reportValidity"in e){const s=k(t,r);e.setCustomValidity(s&&s.message||""),e.reportValidity()}},Zs=(e,r)=>{for(const t in r.fields){const s=r.fields[t];s&&s.ref&&"reportValidity"in s.ref?Pt(s.ref,t,e):s.refs&&s.refs.forEach(i=>Pt(i,t,e))}},Xs=(e,r)=>{r.shouldUseNativeValidation&&Zs(e,r);const t={};for(const s in e){const i=k(r.fields,s),a=Object.assign(e[s]||{},{ref:i&&i.ref});if(Qs(r.names||Object.keys(e),s)){const o=Object.assign({},k(t,s));O(o,"root",a),O(t,s,o)}else O(t,s,a)}return t},Qs=(e,r)=>e.some(t=>t.startsWith(r+"."));var Pe=function(e,r,t){return t===void 0&&(t={}),function(s,i,a){try{var o=!a.shouldUseNativeValidation&&a.criteriaMode==="all";return Promise.resolve(ds(e,s,Object.assign({},r,{abortPipeEarly:!o}))).then(function(u){if(u.issues){for(var d={};u.issues.length;){var p=u.issues[0],b=ns(p);if(b&&(d[b]||(d[b]={message:p.message,type:p.type}),o)){var w=d[b].types,h=w&&w[p.type];d[b]=dr(b,o,d,p.type,h?[].concat(h,p.message):p.message)}u.issues.shift()}return{values:{},errors:Xs(d,a)}}return{values:t.raw?s:u.output,errors:{}}})}catch(u){return Promise.reject(u)}}};const jt=27,qt=12,Ut=10,Ys=n.isSubmissionOfType("enum"),en=(e,r)=>{const t={min:e.minSelected??0,max:e.maxSelected??e.options.length};return Pe(ce({checked:he(ir(X(),rr()),Ye(s=>Object.entries(s).filter(([i,a])=>a).map(([i,a])=>i)),Ae(t.max,r("validation_multiple_choice_max",{count:t.max})),xe(t.min,r("validation_multiple_choice_min",{count:t.min})))}))},tn=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})]})),zt=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:or}}}),rn=({input:e,onSubmitSuccess:r})=>{var b,w;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,i=s&&e.config.options.length===2,{t:a}=n.useTranslation(),{register:o,handleSubmit:u,formState:{errors:d}}=$e({defaultValues:{checked:s?{}:Ys(t)?Object.fromEntries(t.value.map(h=>[h,!0])):{}},resolver:en(e.config,a)}),p=tt();return i?n.o("ul",{style:{maxHeight:6.5*jt+5*qt+2*Ut},class:zt({variant:"booleanLike"}),children:e.config.options.map((h,y)=>n.o("li",{class:lr,children:n.o(ur,{type:"submit",ref:A=>{A&&y===0&&(p.current=A)},label:h.label,value:"true",onClick:()=>r({type:"enum",value:[h.value]})})},h.value))}):n.o("form",{noValidate:!0,onSubmit:h=>u(y=>{const A=y.checked;r({type:"enum",value:A})})(h),children:[n.o("div",{class:"flex items-center gap-1",children:[n.o("ul",{style:{maxHeight:6.5*jt+5*qt+2*Ut},class:zt({variant:e.config.options.length===1?"singleOption":void 0}),children:e.config.options.map((h,y)=>{const A=`checked.${h.value}`,{ref:F,..._}=o(A);return n.o("li",{class:"relative",children:n.o(tn,{option:h,autoFocus:y===0,ref:I=>{I&&y===0&&(p.current=I),F(I)},id:A,..._,onClick:s?()=>r({type:"enum",value:[h.value]}):void 0})},h.value)})}),n.o("div",{class:"flex flex-col items-center gap-2 pr-2.5 pt-2.5",children:[s?null:n.o(me,{}),e.config.minSelected===0&&n.o(ge,{class:"relative",type:"button",onClick:()=>r({type:"enum",value:[]})})]})]}),n.o("div",{class:"px-1",children:n.o(_e,{error:(w=d.checked)==null?void 0:w.root})})]})},sn=n.isSubmissionOfType("number"),nn=(e,r)=>{const t=e.min??Number.MIN_SAFE_INTEGER,s=e.max??Number.MAX_SAFE_INTEGER,i=e.decimalCases??0;return Pe(ce({number:he(sr(r("validation_number")),Qt(t,r("validation_number_min",{min:t})),Xt(s,r("validation_number_max",{max:s})),Jt(a=>a===Number(a.toFixed(i)),r("validation_number_decimal_cases",{count:i})))}))},an=({input:e,onSubmitSuccess:r})=>{var w;const t=e.config.defaultValue,s=e.key?(w=n.store.current$.value.flow)==null?void 0:w.data.submissions[e.key]:void 0,{t:i}=n.useTranslation(),{register:a,handleSubmit:o,formState:{errors:u}}=$e({defaultValues:{number:t?Number(t):sn(s)?s.value:void 0},resolver:nn(e.config,i)}),{ref:d,...p}=a("number",{required:!e.config.optional,valueAsNumber:!0}),b=n._$1();return n.y(()=>{b.current&&(b.current.focus(),b.current.select())},[]),n.o("form",{class:"flex flex-col gap-1 p-2.5",onSubmit:o(h=>{h.number!==void 0&&r({type:"number",value:h.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",{...p,id:"chat-input",autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:h=>{h&&(b.current=h),d(h)},type:"text",min:e.config.min,max:e.config.max,class:Le({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(ge,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(me,{})]}),n.o(_e,{error:u.number})]})},on=e=>{if(e==="")return{countryCode:"",phoneNumber:""};const r=Object.entries(et).find(i=>e.startsWith(i[1])),t=r?r[1]:"",s=e.replace(t,"");return/^\d+$/.test(s)?{countryCode:t,phoneNumber:s}:{countryCode:"",phoneNumber:""}},ln="44",un=/^[0-9 ]+$/,cn=n.isSubmissionOfType("string"),dn=n.isSubmissionOfType("phone"),fn=e=>{const r=he(X(e("validation_country_code")),Qe(un,e("validation_country_code"))),t=he(X(e("validation_phone")),xe(1,e("validation_phone")),Ye(s=>s.replace(/[^0-9]/g,"")));return Pe(ce({countryCode:r,phoneNumber:t}))},hn=({input:e,onSubmitSuccess:r})=>{var F;const t=e.key?(F=n.store.current$.value.flow)==null?void 0:F.data.submissions[e.key]:void 0,{t:s}=n.useTranslation(),[i,a]=n.h(),o=cn(t)?on(t.value):dn(t)?t.value:void 0,{register:u,handleSubmit:d,formState:{errors:p},watch:b}=$e({defaultValues:{countryCode:(o==null?void 0:o.countryCode)??e.config.defaultValue.countryCode??ln,phoneNumber:(o==null?void 0:o.phoneNumber)??e.config.defaultValue.phoneNumber??""},resolver:fn(s)}),{ref:w,...h}=u("phoneNumber",{required:!e.config.optional}),y=n._$1(),A=b("countryCode");return n.y(()=>{y.current&&(y.current.focus(),y.current.select())},[]),n.o("form",{noValidate:!0,class:"flex flex-col gap-1 p-2.5",onSubmit:d(_=>{const I=_.phoneNumber.replace(/[^0-9]/g,""),v=_.countryCode.replace(/[^0-9]/g,"");a(void 0);const C=e.config.minChars??7,E=I.length+v.length;if(E<C)return a(s("validation_phone_min_chars",{count:C}));const S=e.config.maxChars;if(S!=null&&E>S)return a(s("validation_max_chars",{count:S}));e.config.submissionFormat==="phone"?r({type:"phone",value:{countryCode:v,phoneNumber:I}}):r({type:"string",value: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:["+",A]}),n.o("select",{...u("countryCode",{}),id:`isdk_phone_${e.key}`,class:"absolute inset-0 opacity-0",children:Object.entries(et).map(([_,I])=>n.o("option",{value:I,children:[_," (+",I,")"]},_))})]}),n.o("input",{...h,id:"chat-input",type:"tel",inputMode:"tel",autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:_=>{_&&(y.current=_),w(_)},class:Le({optional:e.config.optional,className:"min-w-0 flex-1 rounded-r-full"}),placeholder:e.config.placeholder}),e.config.optional&&n.o(ge,{class:"absolute bottom-0 right-1 top-0",onClick:()=>r(null)})]}),n.o(me,{})]}),n.o(_e,{error:p.countryCode||p.phoneNumber||{message:i}})]})},pn=({input:e,onSubmitSuccess:r})=>n.o("div",{class:"flex flex-col items-center 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 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",name:e.key,onClick:()=>{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"})]})]})})}),yn={date:{type:"date",inputMode:"text"},email:{type:"email",inputMode:"email",formNoValidate:!0},text:{type:"text",inputMode:"text"},url:{type:"url",inputMode:"url",formNoValidate:!0}},mn=n.isSubmissionOfType("string"),gn=(e,r)=>{const t={maxLength:r("validation_max_chars",{count:e.maxChars??999}),minLength:r("validation_min_chars",{count:e.minChars??1})};return Pe(ce({text:{date:he(X(r("validation_date")),Qe(/^\d{4}-\d{2}-\d{2}$/,r("validation_date"))),email:he(X(r("validation_email")),Zt(r("validation_email")),xe(e.minChars??1,t.minLength),Ae(e.maxChars??1/0,t.maxLength)),text:he(X(),xe(e.minChars??1,t.minLength),Ae(e.maxChars??1/0,t.maxLength)),url:he(X(r("validation_url")),Yt(r("validation_url")),xe(e.minChars??1,t.minLength),Ae(e.maxChars??1/0,t.maxLength))}[e.format]}))},bn=({input:e,onSubmitSuccess:r})=>{var w;const{t}=n.useTranslation(),s=e.key?(w=n.store.current$.value.flow)==null?void 0:w.data.submissions[e.key]:void 0,i=e.config.defaultValue,{register:a,handleSubmit:o,formState:{errors:u}}=$e({defaultValues:{text:i||(mn(s)?s.value:"")},resolver:gn(e.config,t)}),{ref:d,...p}=a("text",{required:!e.config.optional}),b=n._$1();return n.y(()=>{b.current&&(b.current.focus(),b.current.select())},[]),n.o("form",{noValidate:!0,class:"flex flex-col gap-1 p-2.5",onSubmit:o(h=>{r({type:"string",value:h.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",...p,...yn[e.config.format],autocomplete:"off",autoCapitalize:"off",autoCorrect:"off",autoFocus:!0,ref:h=>{h&&(b.current=h),d(h)},placeholder:e.config.placeholder,class:Le({optional:!!e.config.optional,className:"w-full rounded-full"})}),e.config.optional&&n.o(ge,{class:"absolute bottom-0 right-0.5 top-0",onClick:()=>r(null)})]}),n.o(me,{})]}),n.o(_e,{error:u.text})]})},vn={text:bn,phone:hn,"multiple-choice":rn,boolean:ws,file:Vs,submit:pn,address:gs,number:an},xn=({logger:e})=>{var i;const r=(i=n.store.current$.value.flow)==null?void 0:i.data.currentInput,t=n._$1(null),s=()=>n.chatStore.onInteractionFn$.value();return n.y(()=>{var a;(a=t.current)==null||a.scrollTo({top:0})},[r]),n.o("div",{ref:t,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:r?s:void 0,onKeyDownCapture:r?s:void 0,children:r?(()=>{const a=vn[r.type];return n.o(a,{logger:e,onSubmitSuccess:n.chatStore.onSubmitSuccessFn$.value,input:r})})():n.o("div",{class:"flex items-center gap-2 p-2.5",children:[n.o("input",{"aria-hidden":"true",id:"chat-input",class:Le({optional:!1,className:"flex-grow rounded-full"}),disabled:!0}),n.o(me,{disabled:!0,"aria-hidden":"true",tabIndex:-1})]})})})};function wn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _n=function(e){return e instanceof RegExp},kn=function(r){var t=/[\\^$.*+?()[\]{}|]/g,s=RegExp(t.source);return r&&s.test(r)?r.replace(t,"\\$&"):r},br=function(e){return typeof e=="string"},Cn=function(e){var r=[];return e.forEach(function(t){Array.isArray(t)?r=r.concat(t):r.push(t)}),r};function Sn(e,r,t){var s=0,i=0;if(e==="")return e;if(!e||!br(e))throw new TypeError("First argument to react-string-replace#replaceString must be a string");var a=r;_n(a)||(a=new RegExp("("+kn(a)+")","gi"));for(var o=e.split(a),u=1,d=o.length;u<d;u+=2){if(o[u]===void 0||o[u-1]===void 0){console.warn("reactStringReplace: Encountered undefined value during string replacement. Your RegExp may not be working the way you expect.");continue}i=o[u].length,s+=o[u-1].length,o[u]=t(o[u],u,s),s+=i}return o}var Vn=function(r,t,s){return Array.isArray(r)||(r=[r]),Cn(r.map(function(i){return br(i)?Sn(i,t,s):i}))};const Fe=wn(Vn),Fn=/(\[[^\]]+\]\([^)]+\))/g,In=/\[([^\]]+)\]\(([^)]+)\)/,An=/(https?:\/\/[^\s]+)/g,En=/_(.*?)_/g,Mn=/\*\*(.*?)\*\*/g,Nn=/\\n|\n/g,Kt="text-accent-10 hover:text-accent-11 no-underline underline-offset-2 hover:underline",Ln=e=>{const r=Fe(e,Fn,(o,u)=>{const[,d,p]=o.match(In)??[];return p?n.o("a",{class:Kt,href:p,children:d??p},p+u):n.o("span",{children:"INVALID LINK"})}),t=Fe(r,An,(o,u)=>n.o("a",{class:Kt,href:o,children:o},o+u)),s=Fe(t,En,(o,u)=>n.o("em",{children:o},o+u)),i=Fe(s,Mn,(o,u)=>n.o("strong",{children:o},o+u));return Fe(i,Nn,(o,u)=>n.o("br",{},`br-${u}`))},Tn=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"}}),Dn=({children:e,className:r,animate:t,side:s,...i})=>n.o("p",{style:{transformOrigin:s==="left"?"0% 50%":"100% 50%"},class:Tn({className:r,side:s,animate:t}),...i,children:e}),On=({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"})})]})}),Rn=({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}),Bn={bot:"left",user:"right"},$n=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]"}}}),Pn=({lastSentMessageFooter:e})=>{var t;const r=((t=n.store.current$.value.flow)==null?void 0:t.data.messages)??[];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:[r.map((s,i)=>n.o(n.k,{children:n.o("li",{class:"flex",tabIndex:i===r.length-1?-1:void 0,children:n.M(s).with({type:"system"},a=>n.o("p",{class:$n({variant:a.variant}),children:a.text})).with({type:"text",author:n.z.union("bot","user")},a=>{const o=a.author==="user"&&!r.slice(i+1).some(p=>p.type==="text"&&p.author==="user"),u=i===r.length-1,d=a.author==="bot"?Ln(a.text):a.text;return n.o(n.k,{children:[o?e:null,n.o(Dn,{animate:u,side:Bn[a.author],children:d},i)]})}).with({type:"link"},a=>n.o(On,{message:a})).with({type:"image"},a=>n.o("img",{class:"shadow-surface-md w-full max-w-[min(100%,24rem)] rounded-2xl",src:a.url,style:{aspectRatio:a.width/a.height}})).with({type:"file"},a=>n.o(Cs,{class:a.author==="bot"?void 0:"ml-auto",file:{name:a.fileName,sizeKb:a.fileSizeKb}})).with({type:"loading"},a=>{const o=r[r.length-1];return!(a===o)||n.chatStore.isBotTyping$.value?null:n.o("div",{class:"flex flex-grow flex-col items-center justify-center",children:n.o(n.LoadingIndicator,{class:"text-neutral-6 h-8 w-8"})})}).exhaustive()})},i)),n.o(Rn,{},"typing")]})},jn=({logger:e,apiClient:r,analytics:t,talentBankClient:s})=>{const{flow:i}=n.store.current$.value;n.invariant(i,"Flow is required to exist to show chatbot body");const a=n.store.viewState$.value,{chatRef:o,chatService:u}=n.useChatService(),{t:d}=n.useTranslation(),[p,b]=n.h();return n.y(()=>{a==="maximised"&&n.chatStore.scrollToEnd()},[a]),n.y(()=>{var v;const{state:w,flow:h}=n.store.current$.peek();if(w!=="loaded")throw new Error(d("invalid_state"));let y=h.data.nodeHistory.at(-1);if(n.chatStore.scrollToEnd(),n.store.setInput(void 0),h.data.isFinished)return;const A=()=>{const C=n.store.current$.peek().flow;!C||C.data.hasInteracted||(n.store.markAsInteracted(),vt(t,C,"FLOW_INTERACT"))};n.chatStore.onInteractionFn$.value=A,y===void 0?(y=n.getHeadOrThrow(i.nodes).id,n.store.setCurrentNodeId(y),vt(t,h,"FLOW_START")):n.store.removeMessagesSentByNodeIds([y]);const{interpret:F,abort:_,undo:I}=Lr({context:i.context,analytics:{service:t,customProperties:(v=i.analytics)==null?void 0:v.customProperties},apiClient:r,logger:e,talentBankClient:s,flow:i,chatService:u,t:d,getApplicationRecovery:()=>{var C;return(C=n.store.current$.peek().flow)==null?void 0:C.data.applicationRecovery},setApplicationRecovery:n.store.setApplicationRecovery,getSubmissions:()=>{var C;return(C=n.store.current$.peek().flow)==null?void 0:C.data.submissions},onInterpret:C=>n.store.setCurrentNodeId(C.id),onFlowEnd:async()=>{var E;n.store.markAsFinished();const C=n.store.current$.peek().flow;n.invariant(C),t.log({event:"FLOW_END",properties:{flow_id:i.id,flow_version:i.version,flow_session_id:C.data.flowSessionId,flow_build:i.build,job:i.job},customProperties:(E=i.analytics)==null?void 0:E.customProperties})}});return b(()=>I),F(y),()=>{n.chatStore.onInteractionFn$.value===A&&(n.chatStore.onInteractionFn$.value=()=>{}),_()}},[t,r,u,e,i,s,d]),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:o,role:"region","aria-label":d("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(Pn,{lastSentMessageFooter:i.data.isFinished||!p?null:n.o(Un,{undoFn:p})})}),n.chatStore.isReadingHistory$.value&&!i.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":d("jump_to_current"),onClick:()=>{var h,y;n.chatStore.scrollToEnd(),(y=((h=o.current)==null?void 0:h.querySelector('li[tabindex="-1"]'))??o.current)==null||y.focus({preventScroll:!0})},children:n.o(n.ChevronDown,{})})})]}),n.o(xn,{logger:e})]})},qn=e=>"key"in e.data&&e.data.key?[e.data.key]:"keys"in e.data?Object.values(e.data.keys).filter(r=>typeof r=="string"):[],Un=({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);const{removed:s}=e(t.data.nodeHistory),i=t.data.nodeHistory.splice(-s);i.length!==0&&(n.store.removeMessagesSentByNodeIds(i),n.store.setInput(void 0),i.pop(),i.map(a=>t.nodes.find(o=>o.id===a)).filter(Boolean).flatMap(qn).forEach(a=>delete t.data.submissions[a]),n.store.current$.value={...n.store.current$.value})},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=jn;
@@ -1,11 +1,12 @@
1
1
  import { Flow } from './chatbot.api';
2
- import { ChatMessage, KeyToSubmissionMap, StartedFlow } from './chatbot.state';
2
+ import { ApplicationRecovery, ChatMessage, KeyToSubmissionMap, StartedFlow } from './chatbot.state';
3
3
  import { ChatInput } from './components/chat-input/chat-input';
4
4
 
5
5
  export declare const idb: {
6
6
  getStateData: (flow: Flow, flowKeys: string[], context: Record<string, unknown>) => Promise<{
7
7
  currentInput: ChatInput | null;
8
8
  nodeHistory: string[];
9
+ applicationRecovery?: ApplicationRecovery;
9
10
  flowSessionId: string;
10
11
  isFinished: boolean;
11
12
  hasInteracted?: boolean;
@@ -35,7 +35,6 @@ type CurrentFlow = {
35
35
  export declare const store: {
36
36
  current$: import('@preact/signals').Signal<CurrentFlow>;
37
37
  viewState$: import('@preact/signals').Signal<"maximised" | "minimised" | "closed">;
38
- inputHeight$: import('@preact/signals').Signal<number>;
39
38
  prepareFlow: ({ flow, context, flowKeys, title, analytics, job, locationOrigin }: OpenChatbotParams) => Promise<{
40
39
  data: FlowStateData;
41
40
  startedAt: Date;
@@ -272,6 +271,7 @@ export declare const store: {
272
271
  markAsFinished: () => void;
273
272
  markAsInteracted: () => void;
274
273
  setCurrentNodeId: (currentNodeId: string) => void;
274
+ setApplicationRecovery: (applicationRecovery?: ApplicationRecovery) => Promise<void>;
275
275
  restart: () => void;
276
276
  addMessage: (message: ChatMessage, groupId?: string) => void;
277
277
  /** Removes messages from nodeId, all the messages that have the groupId passed, until it reaches one that doesn't */
@@ -357,6 +357,10 @@ export type FlowSubmission = FlowSubmissionString | FlowSubmissionBoolean | Flow
357
357
  export type KeyToSubmissionMap = {
358
358
  [key: string]: FlowSubmission;
359
359
  };
360
+ export type ApplicationRecovery = {
361
+ fileQuestionNodeId: string;
362
+ submitNodeId: string;
363
+ };
360
364
  /** Dynamic part of a flow */
361
365
  export type FlowStateData = {
362
366
  /** History of messages left in the chat */
@@ -365,6 +369,7 @@ export type FlowStateData = {
365
369
  })[];
366
370
  submissions: KeyToSubmissionMap;
367
371
  nodeHistory: string[];
372
+ applicationRecovery?: ApplicationRecovery;
368
373
  /** Needs to be separate because a node can have many inputs */
369
374
  currentInput: ChatInput | null;
370
375
  isFinished: boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -8,6 +8,7 @@ declare const svgButtonClass: (props?: ({
8
8
  export declare const SvgIconButton: ({ class: className, children, variant, ...props }: ComponentProps<"button"> & {
9
9
  variant?: VariantProps<typeof svgButtonClass>["variant"];
10
10
  }) => import("preact").JSX.Element;
11
+ export declare const ChevronDown: () => import("preact").JSX.Element;
11
12
  export declare const StatusBar: ({ children, params }: {
12
13
  children?: ComponentChildren;
13
14
  params: ChatbotPluginParams;
@@ -5,10 +5,8 @@ export declare const chatStore: {
5
5
  onSubmitSuccessFn$: import('@preact/signals').Signal<SubmitSuccessFn>;
6
6
  onInteractionFn$: import('@preact/signals').Signal<() => void>;
7
7
  isBotTyping$: import('@preact/signals').Signal<boolean>;
8
- scrollToEnd: {
9
- instant: () => void;
10
- smooth: () => void;
11
- };
8
+ isReadingHistory$: import('@preact/signals').Signal<boolean>;
9
+ scrollToEnd: () => void;
12
10
  };
13
11
  export declare const useChatService: () => {
14
12
  chatRef: import('preact/hooks').Ref<HTMLDivElement>;
package/dist/i18n.d.ts CHANGED
@@ -2,9 +2,29 @@ export declare const TranslationProvider: (props: {
2
2
  terms?: Partial<import('@inploi/i18n/translation').TranslationDict<{
3
3
  readonly error_heading: "Something unexpected happened";
4
4
  readonly undo: "Undo";
5
+ readonly conversation_history: "Conversation history";
6
+ readonly jump_to_current: "Jump to current question";
5
7
  readonly send: "Send";
6
8
  readonly skip: "Skip";
7
9
  readonly skipped: "Skipped";
10
+ readonly submission_closed: "This role is no longer accepting applications.";
11
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
12
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
13
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
14
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
15
+ readonly file_preparing: {
16
+ readonly one: "Preparing your file…";
17
+ readonly other: "Preparing your files…";
18
+ };
19
+ readonly file_ready: {
20
+ readonly one: "Your file is ready to send";
21
+ readonly other: "Your files are ready to send";
22
+ };
23
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
24
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
25
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
26
+ readonly address_searching: "Searching addresses…";
27
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
8
28
  readonly maximize: "Maximise";
9
29
  readonly minimize: "Minimise";
10
30
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -20,7 +40,6 @@ export declare const TranslationProvider: (props: {
20
40
  };
21
41
  readonly file_max_size: "max {{size}}";
22
42
  readonly file_extensions: "Accepted file extensions";
23
- readonly address_error: "Something went wrong! Plase continue manually";
24
43
  readonly address_search: "Type and search for places\u2026";
25
44
  readonly address_manual: "Fill in manually";
26
45
  readonly back: "Back";
@@ -74,9 +93,29 @@ export declare const TranslationProvider: (props: {
74
93
  }) => import("preact").JSX.Element, useTranslation: <T extends {
75
94
  readonly error_heading: "Something unexpected happened";
76
95
  readonly undo: "Undo";
96
+ readonly conversation_history: "Conversation history";
97
+ readonly jump_to_current: "Jump to current question";
77
98
  readonly send: "Send";
78
99
  readonly skip: "Skip";
79
100
  readonly skipped: "Skipped";
101
+ readonly submission_closed: "This role is no longer accepting applications.";
102
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
103
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
104
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
105
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
106
+ readonly file_preparing: {
107
+ readonly one: "Preparing your file…";
108
+ readonly other: "Preparing your files…";
109
+ };
110
+ readonly file_ready: {
111
+ readonly one: "Your file is ready to send";
112
+ readonly other: "Your files are ready to send";
113
+ };
114
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
115
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
116
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
117
+ readonly address_searching: "Searching addresses…";
118
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
80
119
  readonly maximize: "Maximise";
81
120
  readonly minimize: "Minimise";
82
121
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -92,7 +131,6 @@ export declare const TranslationProvider: (props: {
92
131
  };
93
132
  readonly file_max_size: "max {{size}}";
94
133
  readonly file_extensions: "Accepted file extensions";
95
- readonly address_error: "Something went wrong! Plase continue manually";
96
134
  readonly address_search: "Type and search for places\u2026";
97
135
  readonly address_manual: "Fill in manually";
98
136
  readonly back: "Back";
@@ -143,9 +181,29 @@ export declare const TranslationProvider: (props: {
143
181
  } = {
144
182
  readonly error_heading: "Something unexpected happened";
145
183
  readonly undo: "Undo";
184
+ readonly conversation_history: "Conversation history";
185
+ readonly jump_to_current: "Jump to current question";
146
186
  readonly send: "Send";
147
187
  readonly skip: "Skip";
148
188
  readonly skipped: "Skipped";
189
+ readonly submission_closed: "This role is no longer accepting applications.";
190
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
191
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
192
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
193
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
194
+ readonly file_preparing: {
195
+ readonly one: "Preparing your file…";
196
+ readonly other: "Preparing your files…";
197
+ };
198
+ readonly file_ready: {
199
+ readonly one: "Your file is ready to send";
200
+ readonly other: "Your files are ready to send";
201
+ };
202
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
203
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
204
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
205
+ readonly address_searching: "Searching addresses…";
206
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
149
207
  readonly maximize: "Maximise";
150
208
  readonly minimize: "Minimise";
151
209
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -161,7 +219,6 @@ export declare const TranslationProvider: (props: {
161
219
  };
162
220
  readonly file_max_size: "max {{size}}";
163
221
  readonly file_extensions: "Accepted file extensions";
164
- readonly address_error: "Something went wrong! Plase continue manually";
165
222
  readonly address_search: "Type and search for places\u2026";
166
223
  readonly address_manual: "Fill in manually";
167
224
  readonly back: "Back";
@@ -215,9 +272,29 @@ export declare const TranslationProvider: (props: {
215
272
  }, createTFunction: <T extends {
216
273
  readonly error_heading: "Something unexpected happened";
217
274
  readonly undo: "Undo";
275
+ readonly conversation_history: "Conversation history";
276
+ readonly jump_to_current: "Jump to current question";
218
277
  readonly send: "Send";
219
278
  readonly skip: "Skip";
220
279
  readonly skipped: "Skipped";
280
+ readonly submission_closed: "This role is no longer accepting applications.";
281
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
282
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
283
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
284
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
285
+ readonly file_preparing: {
286
+ readonly one: "Preparing your file…";
287
+ readonly other: "Preparing your files…";
288
+ };
289
+ readonly file_ready: {
290
+ readonly one: "Your file is ready to send";
291
+ readonly other: "Your files are ready to send";
292
+ };
293
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
294
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
295
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
296
+ readonly address_searching: "Searching addresses…";
297
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
221
298
  readonly maximize: "Maximise";
222
299
  readonly minimize: "Minimise";
223
300
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -233,7 +310,6 @@ export declare const TranslationProvider: (props: {
233
310
  };
234
311
  readonly file_max_size: "max {{size}}";
235
312
  readonly file_extensions: "Accepted file extensions";
236
- readonly address_error: "Something went wrong! Plase continue manually";
237
313
  readonly address_search: "Type and search for places\u2026";
238
314
  readonly address_manual: "Fill in manually";
239
315
  readonly back: "Back";
@@ -284,9 +360,29 @@ export declare const TranslationProvider: (props: {
284
360
  } = {
285
361
  readonly error_heading: "Something unexpected happened";
286
362
  readonly undo: "Undo";
363
+ readonly conversation_history: "Conversation history";
364
+ readonly jump_to_current: "Jump to current question";
287
365
  readonly send: "Send";
288
366
  readonly skip: "Skip";
289
367
  readonly skipped: "Skipped";
368
+ readonly submission_closed: "This role is no longer accepting applications.";
369
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
370
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
371
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
372
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
373
+ readonly file_preparing: {
374
+ readonly one: "Preparing your file…";
375
+ readonly other: "Preparing your files…";
376
+ };
377
+ readonly file_ready: {
378
+ readonly one: "Your file is ready to send";
379
+ readonly other: "Your files are ready to send";
380
+ };
381
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
382
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
383
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
384
+ readonly address_searching: "Searching addresses…";
385
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
290
386
  readonly maximize: "Maximise";
291
387
  readonly minimize: "Minimise";
292
388
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -302,7 +398,6 @@ export declare const TranslationProvider: (props: {
302
398
  };
303
399
  readonly file_max_size: "max {{size}}";
304
400
  readonly file_extensions: "Accepted file extensions";
305
- readonly address_error: "Something went wrong! Plase continue manually";
306
401
  readonly address_search: "Type and search for places\u2026";
307
402
  readonly address_manual: "Fill in manually";
308
403
  readonly back: "Back";
@@ -354,9 +449,29 @@ export declare const TranslationProvider: (props: {
354
449
  overrides: Partial<import('@inploi/i18n/translation').TranslationDict<{
355
450
  readonly error_heading: "Something unexpected happened";
356
451
  readonly undo: "Undo";
452
+ readonly conversation_history: "Conversation history";
453
+ readonly jump_to_current: "Jump to current question";
357
454
  readonly send: "Send";
358
455
  readonly skip: "Skip";
359
456
  readonly skipped: "Skipped";
457
+ readonly submission_closed: "This role is no longer accepting applications.";
458
+ readonly submission_duplicate: "It looks like you've already applied for this role.";
459
+ readonly submission_retryable: "We couldn't submit your application. Please try again.";
460
+ readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
461
+ readonly submission_unreadable_document: "We couldn't read that file. Please upload a different one.";
462
+ readonly file_preparing: {
463
+ readonly one: "Preparing your file…";
464
+ readonly other: "Preparing your files…";
465
+ };
466
+ readonly file_ready: {
467
+ readonly one: "Your file is ready to send";
468
+ readonly other: "Your files are ready to send";
469
+ };
470
+ readonly file_read_error: "We couldn't read this file. Select it again or choose another file.";
471
+ readonly file_read_error_replacement: "We couldn't read this file, so your previous file is no longer selected. Select it again or choose another file.";
472
+ readonly address_error: "We couldn't search for that address. Try again, or fill it in manually.";
473
+ readonly address_searching: "Searching addresses…";
474
+ readonly address_no_results: "We couldn't find that address. Check the spelling or postcode, or fill it in manually.";
360
475
  readonly maximize: "Maximise";
361
476
  readonly minimize: "Minimise";
362
477
  readonly submission_redirect_message: "Almost there! Please complete your submission here:";
@@ -372,7 +487,6 @@ export declare const TranslationProvider: (props: {
372
487
  };
373
488
  readonly file_max_size: "max {{size}}";
374
489
  readonly file_extensions: "Accepted file extensions";
375
- readonly address_error: "Something went wrong! Plase continue manually";
376
490
  readonly address_search: "Type and search for places\u2026";
377
491
  readonly address_manual: "Fill in manually";
378
492
  readonly back: "Back";