@inploi/plugin-chatbot 13.0.1 → 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.
- package/cdn/index.js +3 -3
- package/cdn/style.css +1 -1
- package/dist/chatbot-body-02c464c0.js +4316 -0
- package/dist/chatbot-body-9dd967cb.cjs +1 -0
- package/dist/chatbot.state.d.ts +0 -1
- package/dist/components/chat-input/chat-input.address.test.d.ts +1 -0
- package/dist/components/chat-input/chat-input.file.test.d.ts +1 -0
- package/dist/components/status-bar.d.ts +1 -0
- package/dist/components/useChatService.d.ts +2 -4
- package/dist/i18n.d.ts +90 -6
- package/dist/index-a3ad2e04.cjs +5 -0
- package/dist/index-fc976df1.js +3176 -0
- package/dist/plugin-chatbot.cjs +1 -1
- package/dist/plugin-chatbot.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -2
- package/dist/chatbot-body-021bdaa2.cjs +0 -1
- package/dist/chatbot-body-8b03dd46.js +0 -4271
- package/dist/index-1b786e36.js +0 -3161
- package/dist/index-4331f24f.cjs +0 -5
|
@@ -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;
|
package/dist/chatbot.state.d.ts
CHANGED
|
@@ -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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
-
|
|
9
|
-
|
|
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,6 +2,8 @@ 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,6 +12,19 @@ export declare const TranslationProvider: (props: {
|
|
|
10
12
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
11
13
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
12
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.";
|
|
13
28
|
readonly maximize: "Maximise";
|
|
14
29
|
readonly minimize: "Minimise";
|
|
15
30
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -25,7 +40,6 @@ export declare const TranslationProvider: (props: {
|
|
|
25
40
|
};
|
|
26
41
|
readonly file_max_size: "max {{size}}";
|
|
27
42
|
readonly file_extensions: "Accepted file extensions";
|
|
28
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
29
43
|
readonly address_search: "Type and search for places\u2026";
|
|
30
44
|
readonly address_manual: "Fill in manually";
|
|
31
45
|
readonly back: "Back";
|
|
@@ -79,6 +93,8 @@ export declare const TranslationProvider: (props: {
|
|
|
79
93
|
}) => import("preact").JSX.Element, useTranslation: <T extends {
|
|
80
94
|
readonly error_heading: "Something unexpected happened";
|
|
81
95
|
readonly undo: "Undo";
|
|
96
|
+
readonly conversation_history: "Conversation history";
|
|
97
|
+
readonly jump_to_current: "Jump to current question";
|
|
82
98
|
readonly send: "Send";
|
|
83
99
|
readonly skip: "Skip";
|
|
84
100
|
readonly skipped: "Skipped";
|
|
@@ -87,6 +103,19 @@ export declare const TranslationProvider: (props: {
|
|
|
87
103
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
88
104
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
89
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.";
|
|
90
119
|
readonly maximize: "Maximise";
|
|
91
120
|
readonly minimize: "Minimise";
|
|
92
121
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -102,7 +131,6 @@ export declare const TranslationProvider: (props: {
|
|
|
102
131
|
};
|
|
103
132
|
readonly file_max_size: "max {{size}}";
|
|
104
133
|
readonly file_extensions: "Accepted file extensions";
|
|
105
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
106
134
|
readonly address_search: "Type and search for places\u2026";
|
|
107
135
|
readonly address_manual: "Fill in manually";
|
|
108
136
|
readonly back: "Back";
|
|
@@ -153,6 +181,8 @@ export declare const TranslationProvider: (props: {
|
|
|
153
181
|
} = {
|
|
154
182
|
readonly error_heading: "Something unexpected happened";
|
|
155
183
|
readonly undo: "Undo";
|
|
184
|
+
readonly conversation_history: "Conversation history";
|
|
185
|
+
readonly jump_to_current: "Jump to current question";
|
|
156
186
|
readonly send: "Send";
|
|
157
187
|
readonly skip: "Skip";
|
|
158
188
|
readonly skipped: "Skipped";
|
|
@@ -161,6 +191,19 @@ export declare const TranslationProvider: (props: {
|
|
|
161
191
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
162
192
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
163
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.";
|
|
164
207
|
readonly maximize: "Maximise";
|
|
165
208
|
readonly minimize: "Minimise";
|
|
166
209
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -176,7 +219,6 @@ export declare const TranslationProvider: (props: {
|
|
|
176
219
|
};
|
|
177
220
|
readonly file_max_size: "max {{size}}";
|
|
178
221
|
readonly file_extensions: "Accepted file extensions";
|
|
179
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
180
222
|
readonly address_search: "Type and search for places\u2026";
|
|
181
223
|
readonly address_manual: "Fill in manually";
|
|
182
224
|
readonly back: "Back";
|
|
@@ -230,6 +272,8 @@ export declare const TranslationProvider: (props: {
|
|
|
230
272
|
}, createTFunction: <T extends {
|
|
231
273
|
readonly error_heading: "Something unexpected happened";
|
|
232
274
|
readonly undo: "Undo";
|
|
275
|
+
readonly conversation_history: "Conversation history";
|
|
276
|
+
readonly jump_to_current: "Jump to current question";
|
|
233
277
|
readonly send: "Send";
|
|
234
278
|
readonly skip: "Skip";
|
|
235
279
|
readonly skipped: "Skipped";
|
|
@@ -238,6 +282,19 @@ export declare const TranslationProvider: (props: {
|
|
|
238
282
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
239
283
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
240
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.";
|
|
241
298
|
readonly maximize: "Maximise";
|
|
242
299
|
readonly minimize: "Minimise";
|
|
243
300
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -253,7 +310,6 @@ export declare const TranslationProvider: (props: {
|
|
|
253
310
|
};
|
|
254
311
|
readonly file_max_size: "max {{size}}";
|
|
255
312
|
readonly file_extensions: "Accepted file extensions";
|
|
256
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
257
313
|
readonly address_search: "Type and search for places\u2026";
|
|
258
314
|
readonly address_manual: "Fill in manually";
|
|
259
315
|
readonly back: "Back";
|
|
@@ -304,6 +360,8 @@ export declare const TranslationProvider: (props: {
|
|
|
304
360
|
} = {
|
|
305
361
|
readonly error_heading: "Something unexpected happened";
|
|
306
362
|
readonly undo: "Undo";
|
|
363
|
+
readonly conversation_history: "Conversation history";
|
|
364
|
+
readonly jump_to_current: "Jump to current question";
|
|
307
365
|
readonly send: "Send";
|
|
308
366
|
readonly skip: "Skip";
|
|
309
367
|
readonly skipped: "Skipped";
|
|
@@ -312,6 +370,19 @@ export declare const TranslationProvider: (props: {
|
|
|
312
370
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
313
371
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
314
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.";
|
|
315
386
|
readonly maximize: "Maximise";
|
|
316
387
|
readonly minimize: "Minimise";
|
|
317
388
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -327,7 +398,6 @@ export declare const TranslationProvider: (props: {
|
|
|
327
398
|
};
|
|
328
399
|
readonly file_max_size: "max {{size}}";
|
|
329
400
|
readonly file_extensions: "Accepted file extensions";
|
|
330
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
331
401
|
readonly address_search: "Type and search for places\u2026";
|
|
332
402
|
readonly address_manual: "Fill in manually";
|
|
333
403
|
readonly back: "Back";
|
|
@@ -379,6 +449,8 @@ export declare const TranslationProvider: (props: {
|
|
|
379
449
|
overrides: Partial<import('@inploi/i18n/translation').TranslationDict<{
|
|
380
450
|
readonly error_heading: "Something unexpected happened";
|
|
381
451
|
readonly undo: "Undo";
|
|
452
|
+
readonly conversation_history: "Conversation history";
|
|
453
|
+
readonly jump_to_current: "Jump to current question";
|
|
382
454
|
readonly send: "Send";
|
|
383
455
|
readonly skip: "Skip";
|
|
384
456
|
readonly skipped: "Skipped";
|
|
@@ -387,6 +459,19 @@ export declare const TranslationProvider: (props: {
|
|
|
387
459
|
readonly submission_retryable: "We couldn't submit your application. Please try again.";
|
|
388
460
|
readonly submission_unknown: "We couldn't confirm whether your application was submitted. Please check for confirmation before trying again.";
|
|
389
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.";
|
|
390
475
|
readonly maximize: "Maximise";
|
|
391
476
|
readonly minimize: "Minimise";
|
|
392
477
|
readonly submission_redirect_message: "Almost there! Please complete your submission here:";
|
|
@@ -402,7 +487,6 @@ export declare const TranslationProvider: (props: {
|
|
|
402
487
|
};
|
|
403
488
|
readonly file_max_size: "max {{size}}";
|
|
404
489
|
readonly file_extensions: "Accepted file extensions";
|
|
405
|
-
readonly address_error: "Something went wrong! Plase continue manually";
|
|
406
490
|
readonly address_search: "Type and search for places\u2026";
|
|
407
491
|
readonly address_manual: "Fill in manually";
|
|
408
492
|
readonly back: "Back";
|