@wf-financing/ui-assets 1.1.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ import { CopyBundle } from '../schemas';
2
+
3
+ export declare const PARTNER_COPY_MAP: Record<string, CopyBundle>;
4
+ export declare const getCopyBundleForPartner: (partnerId: string) => CopyBundle;
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var M=Object.defineProperty;var U=(r,t,e)=>t in r?M(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var h=(r,t,e)=>U(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("zod"),d=n.z.object({version:n.z.string().min(1),language:n.z.string().min(2),cohort:n.z.string().min(1),type:n.z.string().min(1)}),y=d.extend({partnerLogoUrl:n.z.string().trim().url()}),p=d.extend({mainText:n.z.string().min(1).max(150),bulletPoints:n.z.array(n.z.string().min(1)).length(3),buttonText:n.z.string().min(1).max(25)}),f=r=>t=>r.every(e=>t.includes(`{${e}}`)),E=r=>n.z.record(n.z.string(),r),m=r=>n.z.record(n.z.string(),E(r)),P=(r,t)=>{const e=(t==null?void 0:t.language)??"en",s="default",o=Object.keys(r);let i={};return o.forEach(u=>{const a=r[u];if(a){let l;const C=a[e]??a.en,I=C[s]??C.default;if(I?l=I:l=a.en.default,!l)throw new Error("Cohorted document doesn't exist");i={...i,[u]:l}}}),i};var j=Object.defineProperty,$=(r,t,e)=>t in r?j(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,g=(r,t,e)=>$(r,typeof t!="symbol"?t+"":t,e);const N="https://api.wayflyer.com",L="https://sandbox-api.wayflyer.com",k=r=>{try{return JSON.parse(atob(r.split(".")[1]))}catch{return null}},R={"Content-Type":"application/json"},A={event:"/financing/v1/company/event/",error:"/financing/v1/error/"},O="wf_session_v1",q=1800*1e3,G=1440*60*1e3;class V{getSessionId(){const t=Date.now();let e=this.loadSession();return(!e||this.isSessionExpired(e,t))&&(e=this.mintNewSession(t)),e.lastActivity=t,this.saveSession(e),e.sessionId}isSessionExpired(t,e){const s=e-t.lastActivity>q,o=e-t.createdAt>G;return s||o}mintNewSession(t){return{sessionId:crypto.randomUUID(),createdAt:t,lastActivity:t}}loadSession(){try{const t=sessionStorage.getItem(O);return t?JSON.parse(t):null}catch{return null}}saveSession(t){try{sessionStorage.setItem(O,JSON.stringify(t))}catch{console.warn("Failed to save session context")}}}const D=class c{constructor(t,e,s,o){g(this,"baseUrl",null),g(this,"sessionManager"),g(this,"headers"),g(this,"entryPointVersion"),g(this,"sdkVersion"),this.companyToken=t,this.baseUrl=o?L:N,this.sessionManager=new V,this.entryPointVersion=e,this.sdkVersion=s,this.headers={...R,...s?{"X-SDK-Version":s}:{}}}get requestHeaders(){const t=c.getInstance(),e=t.sessionManager.getSessionId();return{Authorization:`Bearer ${t.companyToken}`,"X-Session-ID":e,...t.headers}}static getGlobalInstance(){return window.WayflyerLogger||null}static setGlobalInstance(t){window.WayflyerLogger=t}static initialize(t,e,s,o){c.getGlobalInstance()&&console.warn("Logger re-initialized");const i=new c(t,e,s,o==null?void 0:o.isSandbox);c.setGlobalInstance(i)}static getMandatoryProperties(){const t=c.getInstance(),{sdkVersion:e,companyToken:s,entryPointVersion:o}=t,i=k(s),[u,a]=(i==null?void 0:i.sub.split("|"))||[],l=i==null?void 0:i.user_id;return{partner_id:u,company_id:a,user_id:l,entry_point_version:o,...e?{sdk_version:e}:{}}}static getInstance(){const t=c.getGlobalInstance();if(!t)throw new Error("Logger not initialized. Call initialize() first.");return t}static async logEvent(t,e){if(this.isDevEnvironment)return;const s=c.getInstance();try{const o={...c.getMandatoryProperties(),...e},i=await fetch(s.baseUrl+A.event,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),event_name:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.error("Failed to log event",o)}}static async logError(t,e){if(this.isDevEnvironment){console.error(t);return}const s=c.getInstance();try{const o={...c.getMandatoryProperties(),...e},i=await fetch(s.baseUrl+A.error,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),message:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.warn("Failed to log error",o)}}};g(D,"isDevEnvironment",!1);let _=D;const B="https://partner-assets.wayflyer.com",K="https://partner-assets-sandbox.wayflyer.com";class H extends Error{constructor(e,s){super(`Request to ${s} failed with status ${e.status} ${e.statusText}`);h(this,"status");h(this,"statusText");h(this,"url");this.name="HttpError",this.status=e.status,this.statusText=e.statusText,this.url=s}}const J=async r=>{const t=r.partnerId,e=r==null?void 0:r.version,s=r==null?void 0:r.options,u=`${(s==null?void 0:s.isSandbox)?K:B}/${t}/copy/${e}/copy.json`;try{const a=await fetch(u);if(!a.ok)throw new H(a,u);const l=await a.json();return P(l,s)}catch(a){const l=navigator.userAgent;throw _.logError(`Error in partner copy loading from ${u} by userAgent: ${l}: ${a}`),a}},S=d.extend({mainText:n.z.string().trim().min(1).max(160).refine(f(["amount"]),{message:"mainText must include {amount}"}),bulletPoints:n.z.array(n.z.string().min(1)).length(3),buttonText:n.z.string().min(1).max(25)}),x=d.extend({logoUrl:n.z.string().trim().url(),title:n.z.string().trim().min(1),bulletPoints:n.z.array(n.z.string().min(1)).length(3),button:n.z.string().trim().min(1),termsAndConditions:n.z.string().trim().min(1).refine(f(["termsUrl"]),{message:"termsUrl is required"})}),b=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),v=d.extend({mainText:n.z.string().trim().min(1).max(160).refine(f(["amount"]),{message:"mainText must include {amount}"}),buttonText:n.z.string().min(1).max(25)}),z=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),w=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),T=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),W=n.z.object({genericOffer:m(p),indicativeOffer:m(S),consentModal:m(x),completeApplication:m(b),completeKyc:m(z),signContract:m(w),selectOffer:m(v),provideAdditionalInfo:m(T),partnerTemplate:m(y).optional()}),F=n.z.object({genericOffer:p,indicativeOffer:S,consentModal:x,completeApplication:b,completeKyc:z,signContract:w,selectOffer:v,provideAdditionalInfo:T,partnerTemplate:y.optional()});exports.CohortMap=E;exports.CompleteApplicationSchema=b;exports.CompleteKycSchema=z;exports.ConsentModalSchema=x;exports.CopyBundleSchema=W;exports.CopySchema=F;exports.GenericOfferSchema=p;exports.IndicativeOfferSchema=S;exports.LanguageMap=m;exports.PartnerTemplateSchema=y;exports.ProvideAdditionalInfoSchema=T;exports.SelectOfferSchema=v;exports.SignContractSchema=w;exports.WayflyerDocumentSchema=d;exports.filterCopy=P;exports.loadAndConfigureCopy=J;exports.mustContainPlaceholders=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("zod"),w=require("@wf-financing/logger"),a=e.z.object({version:e.z.string().min(1),language:e.z.string().min(2),cohort:e.z.string().min(1),type:e.z.string().min(1)}),f=a.extend({partnerLogoUrl:e.z.string().trim().url()}),d=a.extend({mainText:e.z.string().min(1).max(150),bulletPoints:e.z.array(e.z.string().min(1)).length(3),buttonText:e.z.string().min(1).max(25)}),s=t=>o=>t.every(i=>o.includes(`{${i}}`)),W=t=>e.z.record(e.z.string(),t),n=t=>e.z.record(e.z.string(),W(t)),z=(t,o)=>{const i=(o==null?void 0:o.language)??"en",A="default",C=Object.keys(t);let u={};return C.forEach(b=>{const r=t[b];if(r){let l;const x=r[i]??r.en,T=x[A]??x.default;if(T?l=T:l=r.en.default,!l)throw new Error("Cohorted document doesn't exist");u={...u,[b]:l}}}),u},P={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Business financing made easy. Unlock your next stage of growth with Wayflyer today.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"genericOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"genericOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"genericOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Groei sneller. Zakelijke financiering in één dag met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"genericOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"genericOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"genericOffer"}}},O={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"indicativeOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"indicativeOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"indicativeOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"indicativeOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"indicativeOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"indicativeOffer"}}},S={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You've been approved for Wayflyer financing up to {amount}! Choose your offer.",buttonText:"View offer",type:"selectOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.",buttonText:"Angebot ansehen",type:"selectOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.",buttonText:"Voir l'offre",type:"selectOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.",buttonText:"Bekijk aanbod",type:"selectOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.",buttonText:"Ver oferta",type:"selectOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.",buttonText:"Visa erbjudande",type:"selectOffer"}}},F={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there. Wayflyer just needs a few more details to unlock your financing.",buttonText:"Continue application",type:"completeKyc"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.",buttonText:"Bewerbung fortsetzen",type:"completeKyc"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.",buttonText:"Reprendre la demande",type:"completeKyc"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.",buttonText:"Aanvraag afronden",type:"completeKyc"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.",buttonText:"Fortsätt ansökan",type:"completeKyc"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.",buttonText:"Continuar solicitud",type:"completeKyc"}}},j={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Review and sign your Wayflyer contract to receive funds.",buttonText:"View contract",type:"signContract"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Vertrag ansehen",type:"signContract"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Voir le contrat",type:"signContract"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Contract bekijken",type:"signContract"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Visa avtal",type:"signContract"}},es:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Ver contrato",type:"signContract"}}},M={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Your Wayflyer financing application needs additional information to proceed.",buttonText:"Continue application",type:"provideAdditionalInfo"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Weiter zum Antrag",type:"provideAdditionalInfo"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Continuer demande",type:"provideAdditionalInfo"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Aanvraag vervolg",type:"provideAdditionalInfo"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Fortsätt ansökan",type:"provideAdditionalInfo"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Seguir solicitud",type:"provideAdditionalInfo"}}},I={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Complete your application to access capital with Wayflyer.",buttonText:"Continue application",type:"completeApplication"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.",buttonText:"Bewerbung fortsetzen",type:"completeApplication"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.",buttonText:"Continuer la demande",type:"completeApplication"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.",buttonText:"Aanvraag vervolgen",type:"completeApplication"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.",buttonText:"Fortsätt ansökan",type:"completeApplication"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.",buttonText:"Continuar solicitud",type:"completeApplication"}}},q={en:{default:{version:"1.0",language:"en",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Fuel your growth with capital from Wayflyer",bulletPoints:["$5B deployed with 4.9 stars on Trustpilot","Apply in minutes and get capital in hours","Flexible offers designed to fit your business"],button:"Continue to Wayflyer",termsAndConditions:"By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).",type:"consentModal"}},de:{default:{version:"1.0",language:"de",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Wachsen Sie mit Kapital von Wayflyer",bulletPoints:["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)","In Minuten bewerben, Geld in Stunden","Flexible Angebote, maßgeschneidert für Sie"],button:"Weiter zu Wayflyer",termsAndConditions:"Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).",type:"consentModal"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Alimentez votre croissance avec Wayflyer",bulletPoints:["5 Mrds $ déployés, 4.9 étoiles Trustpilot","Postulez en minutes, capital en heures","Offres flexibles pour votre entreprise"],button:"Continuer vers Wayflyer",termsAndConditions:"En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).",type:"consentModal"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Geef groei een boost met Wayflyer kapitaal",bulletPoints:["$5B ingezet, 4.9 sterren op Trustpilot","Vraag in minuten aan, kapitaal binnen uren","Flexibele offers op maat van uw bedrijf"],button:"Verder naar Wayflyer",termsAndConditions:"Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).",type:"consentModal"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Driv din tillväxt med kapital från Wayflyer",bulletPoints:["$5B utbetalt, 4.9 stjärnor på Trustpilot","Ansök på minuter, få kapital inom timmar","Flexibla erbjudanden för ditt företag"],button:"Fortsätt till Wayflyer",termsAndConditions:"Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).",type:"consentModal"}},es:{default:{version:"1.0",language:"es",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Impulsa tu crecimiento con capital Wayflyer",bulletPoints:["5B $ financiados, 4.9 estrellas Trustpilot","Solicita ya, capital en horas","Ofertas flexibles a la medida de tu negocio"],button:"Continuar a Wayflyer",termsAndConditions:"Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).",type:"consentModal"}}},B={genericOffer:P,indicativeOffer:O,selectOffer:S,completeKyc:F,signContract:j,provideAdditionalInfo:M,completeApplication:I,consentModal:q},K={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Business financing made easy. Unlock your next stage of growth with Wayflyer today.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"genericOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"genericOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"genericOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Groei sneller. Zakelijke financiering in één dag met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"genericOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"genericOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"genericOffer"}}},V={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"indicativeOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"indicativeOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"indicativeOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"indicativeOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"indicativeOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"indicativeOffer"}}},U={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You've been approved for Wayflyer financing up to {amount}! Choose your offer.",buttonText:"View offer",type:"selectOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.",buttonText:"Angebot ansehen",type:"selectOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.",buttonText:"Voir l'offre",type:"selectOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.",buttonText:"Bekijk aanbod",type:"selectOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.",buttonText:"Ver oferta",type:"selectOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.",buttonText:"Visa erbjudande",type:"selectOffer"}}},G={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there. Wayflyer just needs a few more details to unlock your financing.",buttonText:"Continue application",type:"completeKyc"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.",buttonText:"Bewerbung fortsetzen",type:"completeKyc"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.",buttonText:"Reprendre la demande",type:"completeKyc"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.",buttonText:"Aanvraag afronden",type:"completeKyc"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.",buttonText:"Fortsätt ansökan",type:"completeKyc"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.",buttonText:"Continuar solicitud",type:"completeKyc"}}},$={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Review and sign your Wayflyer contract to receive funds.",buttonText:"View contract",type:"signContract"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Vertrag ansehen",type:"signContract"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Voir le contrat",type:"signContract"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Contract bekijken",type:"signContract"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Visa avtal",type:"signContract"}},es:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Ver contrato",type:"signContract"}}},D={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Your Wayflyer financing application needs additional information to proceed.",buttonText:"Continue application",type:"provideAdditionalInfo"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Weiter zum Antrag",type:"provideAdditionalInfo"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Continuer demande",type:"provideAdditionalInfo"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Aanvraag vervolg",type:"provideAdditionalInfo"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Fortsätt ansökan",type:"provideAdditionalInfo"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Seguir solicitud",type:"provideAdditionalInfo"}}},Y={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Complete your application to access capital with Wayflyer.",buttonText:"Continue application",type:"completeApplication"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.",buttonText:"Bewerbung fortsetzen",type:"completeApplication"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.",buttonText:"Continuer la demande",type:"completeApplication"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.",buttonText:"Aanvraag vervolgen",type:"completeApplication"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.",buttonText:"Fortsätt ansökan",type:"completeApplication"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.",buttonText:"Continuar solicitud",type:"completeApplication"}}},N={en:{default:{version:"1.0",language:"en",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Fuel your growth with capital from Wayflyer",bulletPoints:["$5B deployed with 4.9 stars on Trustpilot","Apply in minutes and get capital in hours","Flexible offers designed to fit your business"],button:"Continue to Wayflyer",termsAndConditions:"By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).",type:"consentModal"}},de:{default:{version:"1.0",language:"de",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Wachsen Sie mit Kapital von Wayflyer",bulletPoints:["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)","In Minuten bewerben, Geld in Stunden","Flexible Angebote, maßgeschneidert für Sie"],button:"Weiter zu Wayflyer",termsAndConditions:"Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).",type:"consentModal"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Alimentez votre croissance avec Wayflyer",bulletPoints:["5 Mrds $ déployés, 4.9 étoiles Trustpilot","Postulez en minutes, capital en heures","Offres flexibles pour votre entreprise"],button:"Continuer vers Wayflyer",termsAndConditions:"En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).",type:"consentModal"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Geef groei een boost met Wayflyer kapitaal",bulletPoints:["$5B ingezet, 4.9 sterren op Trustpilot","Vraag in minuten aan, kapitaal binnen uren","Flexibele offers op maat van uw bedrijf"],button:"Verder naar Wayflyer",termsAndConditions:"Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).",type:"consentModal"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Driv din tillväxt med kapital från Wayflyer",bulletPoints:["$5B utbetalt, 4.9 stjärnor på Trustpilot","Ansök på minuter, få kapital inom timmar","Flexibla erbjudanden för ditt företag"],button:"Fortsätt till Wayflyer",termsAndConditions:"Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).",type:"consentModal"}},es:{default:{version:"1.0",language:"es",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Impulsa tu crecimiento con capital Wayflyer",bulletPoints:["5B $ financiados, 4.9 estrellas Trustpilot","Solicita ya, capital en horas","Ofertas flexibles a la medida de tu negocio"],button:"Continuar a Wayflyer",termsAndConditions:"Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).",type:"consentModal"}}},R={genericOffer:K,indicativeOffer:V,selectOffer:U,completeKyc:G,signContract:$,provideAdditionalInfo:D,completeApplication:Y,consentModal:N},E={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Business financing made easy. Unlock your next stage of growth with Wayflyer today.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"genericOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"genericOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"genericOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Groei sneller. Zakelijke financiering in één dag met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"genericOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"genericOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"genericOffer"}}},L={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"indicativeOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"indicativeOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"indicativeOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"indicativeOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"indicativeOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"indicativeOffer"}}},J={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You've been approved for Wayflyer financing up to {amount}! Choose your offer.",buttonText:"View offer",type:"selectOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.",buttonText:"Angebot ansehen",type:"selectOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.",buttonText:"Voir l'offre",type:"selectOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.",buttonText:"Bekijk aanbod",type:"selectOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.",buttonText:"Ver oferta",type:"selectOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.",buttonText:"Visa erbjudande",type:"selectOffer"}}},Z={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there. Wayflyer just needs a few more details to unlock your financing.",buttonText:"Continue application",type:"completeKyc"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.",buttonText:"Bewerbung fortsetzen",type:"completeKyc"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.",buttonText:"Reprendre la demande",type:"completeKyc"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.",buttonText:"Aanvraag afronden",type:"completeKyc"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.",buttonText:"Fortsätt ansökan",type:"completeKyc"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.",buttonText:"Continuar solicitud",type:"completeKyc"}}},H={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Review and sign your Wayflyer contract to receive funds.",buttonText:"View contract",type:"signContract"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Vertrag ansehen",type:"signContract"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Voir le contrat",type:"signContract"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Contract bekijken",type:"signContract"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Visa avtal",type:"signContract"}},es:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Ver contrato",type:"signContract"}}},_={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Your Wayflyer financing application needs additional information to proceed.",buttonText:"Continue application",type:"provideAdditionalInfo"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Weiter zum Antrag",type:"provideAdditionalInfo"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Continuer demande",type:"provideAdditionalInfo"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Aanvraag vervolg",type:"provideAdditionalInfo"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Fortsätt ansökan",type:"provideAdditionalInfo"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Seguir solicitud",type:"provideAdditionalInfo"}}},Q={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Complete your application to access capital with Wayflyer.",buttonText:"Continue application",type:"completeApplication"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.",buttonText:"Bewerbung fortsetzen",type:"completeApplication"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.",buttonText:"Continuer la demande",type:"completeApplication"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.",buttonText:"Aanvraag vervolgen",type:"completeApplication"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.",buttonText:"Fortsätt ansökan",type:"completeApplication"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.",buttonText:"Continuar solicitud",type:"completeApplication"}}},X={en:{default:{version:"1.0",language:"en",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Fuel your growth with capital from Wayflyer",bulletPoints:["$5B deployed with 4.9 stars on Trustpilot","Apply in minutes and get capital in hours","Flexible offers designed to fit your business"],button:"Continue to Wayflyer",termsAndConditions:"By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).",type:"consentModal"}},de:{default:{version:"1.0",language:"de",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Wachsen Sie mit Kapital von Wayflyer",bulletPoints:["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)","In Minuten bewerben, Geld in Stunden","Flexible Angebote, maßgeschneidert für Sie"],button:"Weiter zu Wayflyer",termsAndConditions:"Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).",type:"consentModal"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Alimentez votre croissance avec Wayflyer",bulletPoints:["5 Mrds $ déployés, 4.9 étoiles Trustpilot","Postulez en minutes, capital en heures","Offres flexibles pour votre entreprise"],button:"Continuer vers Wayflyer",termsAndConditions:"En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).",type:"consentModal"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Geef groei een boost met Wayflyer kapitaal",bulletPoints:["$5B ingezet, 4.9 sterren op Trustpilot","Vraag in minuten aan, kapitaal binnen uren","Flexibele offers op maat van uw bedrijf"],button:"Verder naar Wayflyer",termsAndConditions:"Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).",type:"consentModal"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Driv din tillväxt med kapital från Wayflyer",bulletPoints:["$5B utbetalt, 4.9 stjärnor på Trustpilot","Ansök på minuter, få kapital inom timmar","Flexibla erbjudanden för ditt företag"],button:"Fortsätt till Wayflyer",termsAndConditions:"Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).",type:"consentModal"}},es:{default:{version:"1.0",language:"es",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Impulsa tu crecimiento con capital Wayflyer",bulletPoints:["5B $ financiados, 4.9 estrellas Trustpilot","Solicita ya, capital en horas","Ofertas flexibles a la medida de tu negocio"],button:"Continuar a Wayflyer",termsAndConditions:"Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).",type:"consentModal"}}},ee={en:{default:{version:"1.0",language:"es",cohort:"default",partnerLogoUrl:"https://cdn.sanity.io/images/1aendizt/redesign/1c5a972a260a9b9f24dcc294e0d0c238bacff384-44x32.svg",type:"partnerTemplate"}}},te={genericOffer:E,indicativeOffer:L,selectOffer:J,completeKyc:Z,signContract:H,provideAdditionalInfo:_,completeApplication:Q,consentModal:X,partnerTemplate:ee},ne={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Business financing made easy. Unlock your next stage of growth with Wayflyer today.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"genericOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"genericOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"genericOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Groei sneller. Zakelijke financiering in één dag met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"genericOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"genericOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"genericOffer"}}},ae={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.",bulletPoints:["Funds in 24 hours","No personal guarantees","$5B+ in funding delivered"],buttonText:"Get financing",type:"indicativeOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.",bulletPoints:["Kapital in 24 Stunden","Keine Privatgarantien","Ü5 Mrd. € ausbezahlt"],buttonText:"Finanzierung erhalten",type:"indicativeOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.",bulletPoints:["Fonds dispo sous 24h","Aucune garantie perso","+5 Mrd. € déployés"],buttonText:"Obtenir un financement",type:"indicativeOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.",bulletPoints:["Geld binnen 24 uur","Geen privéganties","€5 Mrd.+ funding geleverd"],buttonText:"Financiering aanvragen",type:"indicativeOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.",bulletPoints:["Kapital inom ett dygn","Inga personliga garantier","+47 Mrd. kr levererat"],buttonText:"Ansök",type:"indicativeOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.",bulletPoints:["Capital en 24 horas","Sin avales personales","Más de 5 b€ financiados"],buttonText:"Consigue financiación",type:"indicativeOffer"}}},oe={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"You've been approved for Wayflyer financing up to {amount}! Choose your offer.",buttonText:"View offer",type:"selectOffer"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.",buttonText:"Angebot ansehen",type:"selectOffer"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.",buttonText:"Voir l'offre",type:"selectOffer"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.",buttonText:"Bekijk aanbod",type:"selectOffer"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.",buttonText:"Ver oferta",type:"selectOffer"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.",buttonText:"Visa erbjudande",type:"selectOffer"}}},ie={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there. Wayflyer just needs a few more details to unlock your financing.",buttonText:"Continue application",type:"completeKyc"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.",buttonText:"Bewerbung fortsetzen",type:"completeKyc"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.",buttonText:"Reprendre la demande",type:"completeKyc"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.",buttonText:"Aanvraag afronden",type:"completeKyc"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.",buttonText:"Fortsätt ansökan",type:"completeKyc"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.",buttonText:"Continuar solicitud",type:"completeKyc"}}},re={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Review and sign your Wayflyer contract to receive funds.",buttonText:"View contract",type:"signContract"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Vertrag ansehen",type:"signContract"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Voir le contrat",type:"signContract"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Contract bekijken",type:"signContract"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Visa avtal",type:"signContract"}},es:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Ver contrato",type:"signContract"}}},le={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Your Wayflyer financing application needs additional information to proceed.",buttonText:"Continue application",type:"provideAdditionalInfo"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.",buttonText:"Weiter zum Antrag",type:"provideAdditionalInfo"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.",buttonText:"Continuer demande",type:"provideAdditionalInfo"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.",buttonText:"Aanvraag vervolg",type:"provideAdditionalInfo"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.",buttonText:"Fortsätt ansökan",type:"provideAdditionalInfo"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.",buttonText:"Seguir solicitud",type:"provideAdditionalInfo"}}},se={en:{default:{version:"1.0",language:"en",cohort:"default",mainText:"Almost there! Complete your application to access capital with Wayflyer.",buttonText:"Continue application",type:"completeApplication"}},de:{default:{version:"1.0",language:"de",cohort:"default",mainText:"Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.",buttonText:"Bewerbung fortsetzen",type:"completeApplication"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",mainText:"Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.",buttonText:"Continuer la demande",type:"completeApplication"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",mainText:"Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.",buttonText:"Aanvraag vervolgen",type:"completeApplication"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",mainText:"Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.",buttonText:"Fortsätt ansökan",type:"completeApplication"}},es:{default:{version:"1.0",language:"es",cohort:"default",mainText:"¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.",buttonText:"Continuar solicitud",type:"completeApplication"}}},ue={en:{default:{version:"1.0",language:"en",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Fuel your growth with capital from Wayflyer",bulletPoints:["$5B deployed with 4.9 stars on Trustpilot","Apply in minutes and get capital in hours","Flexible offers designed to fit your business"],button:"Continue to Wayflyer",termsAndConditions:"By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).",type:"consentModal"}},de:{default:{version:"1.0",language:"de",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Wachsen Sie mit Kapital von Wayflyer",bulletPoints:["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)","In Minuten bewerben, Geld in Stunden","Flexible Angebote, maßgeschneidert für Sie"],button:"Weiter zu Wayflyer",termsAndConditions:"Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).",type:"consentModal"}},fr:{default:{version:"1.0",language:"fr",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Alimentez votre croissance avec Wayflyer",bulletPoints:["5 Mrds $ déployés, 4.9 étoiles Trustpilot","Postulez en minutes, capital en heures","Offres flexibles pour votre entreprise"],button:"Continuer vers Wayflyer",termsAndConditions:"En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).",type:"consentModal"}},nl:{default:{version:"1.0",language:"nl",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Geef groei een boost met Wayflyer kapitaal",bulletPoints:["$5B ingezet, 4.9 sterren op Trustpilot","Vraag in minuten aan, kapitaal binnen uren","Flexibele offers op maat van uw bedrijf"],button:"Verder naar Wayflyer",termsAndConditions:"Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).",type:"consentModal"}},sv:{default:{version:"1.0",language:"sv",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Driv din tillväxt med kapital från Wayflyer",bulletPoints:["$5B utbetalt, 4.9 stjärnor på Trustpilot","Ansök på minuter, få kapital inom timmar","Flexibla erbjudanden för ditt företag"],button:"Fortsätt till Wayflyer",termsAndConditions:"Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).",type:"consentModal"}},es:{default:{version:"1.0",language:"es",cohort:"default",logoUrl:"https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg",title:"Impulsa tu crecimiento con capital Wayflyer",bulletPoints:["5B $ financiados, 4.9 estrellas Trustpilot","Solicita ya, capital en horas","Ofertas flexibles a la medida de tu negocio"],button:"Continuar a Wayflyer",termsAndConditions:"Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).",type:"consentModal"}}},fe={en:{default:{version:"1.0",language:"es",cohort:"default",partnerLogoUrl:"https://cdn.sanity.io/images/1aendizt/redesign/1c5a972a260a9b9f24dcc294e0d0c238bacff384-44x32.svg",type:"partnerTemplate"}}},de={genericOffer:ne,indicativeOffer:ae,selectOffer:oe,completeKyc:ie,signContract:re,provideAdditionalInfo:le,completeApplication:se,consentModal:ue,partnerTemplate:fe},k={"2416e2af-c9f7-40ac-a2f0-f37dcfe59674":R,"94f390bb-5d68-444f-b029-6069a0b33b0e":te,"ec45444c-143e-4f74-bcc6-f02f3de1f158":de},ce=B,ge=t=>{const o=k[t];if(!o){const i=`No custom copy bundle for partner="${t}", using generic copy`;w.Logger.logError(i)}return o??ce},c=a.extend({mainText:e.z.string().trim().min(1).max(160).refine(s(["amount"]),{message:"mainText must include {amount}"}),bulletPoints:e.z.array(e.z.string().min(1)).length(3),buttonText:e.z.string().min(1).max(25)}),g=a.extend({logoUrl:e.z.string().trim().url(),title:e.z.string().trim().min(1),bulletPoints:e.z.array(e.z.string().min(1)).length(3),button:e.z.string().trim().min(1),termsAndConditions:e.z.string().trim().min(1).refine(s(["termsUrl"]),{message:"termsUrl is required"})}),y=a.extend({mainText:e.z.string().min(1).max(150),buttonText:e.z.string().min(1).max(25)}),p=a.extend({mainText:e.z.string().trim().min(1).max(160).refine(s(["amount"]),{message:"mainText must include {amount}"}),buttonText:e.z.string().min(1).max(25)}),m=a.extend({mainText:e.z.string().min(1).max(150),buttonText:e.z.string().min(1).max(25)}),v=a.extend({mainText:e.z.string().min(1).max(150),buttonText:e.z.string().min(1).max(25)}),h=a.extend({mainText:e.z.string().min(1).max(150),buttonText:e.z.string().min(1).max(25)}),ye=e.z.object({genericOffer:n(d),indicativeOffer:n(c),consentModal:n(g),completeApplication:n(y),completeKyc:n(m),signContract:n(v),selectOffer:n(p),provideAdditionalInfo:n(h),partnerTemplate:n(f).optional()}),pe=e.z.object({genericOffer:d,indicativeOffer:c,consentModal:g,completeApplication:y,completeKyc:m,signContract:v,selectOffer:p,provideAdditionalInfo:h,partnerTemplate:f.optional()});exports.CohortMap=W;exports.CompleteApplicationSchema=y;exports.CompleteKycSchema=m;exports.ConsentModalSchema=g;exports.CopyBundleSchema=ye;exports.CopySchema=pe;exports.GenericOfferSchema=d;exports.IndicativeOfferSchema=c;exports.LanguageMap=n;exports.PARTNER_COPY_MAP=k;exports.PartnerTemplateSchema=f;exports.ProvideAdditionalInfoSchema=h;exports.SelectOfferSchema=p;exports.SignContractSchema=v;exports.WayflyerDocumentSchema=a;exports.filterCopy=z;exports.getCopyBundleForPartner=ge;exports.mustContainPlaceholders=s;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../../logger/dist/index.es.js","../src/config/urls.ts","../src/utils/loadCopy.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","var u = Object.defineProperty;\nvar h = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar a = (o, t, e) => h(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst I = \"https://api.wayflyer.com\", p = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, v = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass b {\n getSessionId() {\n const t = Date.now();\n let e = this.loadSession();\n return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;\n }\n isSessionExpired(t, e) {\n const n = e - t.lastActivity > f, s = e - t.createdAt > m;\n return n || s;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst i = class i {\n constructor(t, e, n, s) {\n a(this, \"baseUrl\", null);\n a(this, \"sessionManager\");\n a(this, \"headers\");\n a(this, \"entryPointVersion\");\n a(this, \"sdkVersion\");\n this.companyToken = t, this.baseUrl = s ? p : I, this.sessionManager = new b(), this.entryPointVersion = e, this.sdkVersion = n, this.headers = {\n ...v,\n ...n ? { \"X-SDK-Version\": n } : {}\n };\n }\n get requestHeaders() {\n const t = i.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, n, s) {\n i.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const r = new i(t, e, n, s == null ? void 0 : s.isSandbox);\n i.setGlobalInstance(r);\n }\n static getMandatoryProperties() {\n const t = i.getInstance(), { sdkVersion: e, companyToken: n, entryPointVersion: s } = t, r = w(n), [y, g] = (r == null ? void 0 : r.sub.split(\"|\")) || [], S = r == null ? void 0 : r.user_id;\n return {\n partner_id: y,\n company_id: g,\n user_id: S,\n entry_point_version: s,\n ...e ? { sdk_version: e } : {}\n };\n }\n static getInstance() {\n const t = i.getGlobalInstance();\n if (!t)\n throw new Error(\"Logger not initialized. Call initialize() first.\");\n return t;\n }\n static async logEvent(t, e) {\n if (this.isDevEnvironment) return;\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.event, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.error(\"Failed to log event\", s);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.error, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.warn(\"Failed to log error\", s);\n }\n }\n};\na(i, \"isDevEnvironment\", !1);\nlet d = i;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","u","h","o","a","I","p","w","v","c","l","f","m","b","n","s","i","r","y","g","S","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../src/copy/partnerCopyMap.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","import { Logger } from '@wf-financing/logger';\nimport type { CopyBundle } from '../schemas';\n\nimport genericCopy from './copy.json';\nimport partner2416e2af from './2416e2af-c9f7-40ac-a2f0-f37dcfe59674.json';\nimport partner94f390bb from './94f390bb-5d68-444f-b029-6069a0b33b0e.json';\nimport copyEc45444c from './ec45444c-143e-4f74-bcc6-f02f3de1f158.json';\n\nexport const PARTNER_COPY_MAP: Record<string, CopyBundle> = {\n '2416e2af-c9f7-40ac-a2f0-f37dcfe59674': partner2416e2af,\n '94f390bb-5d68-444f-b029-6069a0b33b0e': partner94f390bb,\n 'ec45444c-143e-4f74-bcc6-f02f3de1f158': copyEc45444c,\n};\n\nconst generic: CopyBundle = genericCopy;\n\nexport const getCopyBundleForPartner = (partnerId: string): CopyBundle => {\n const partnerCopy = PARTNER_COPY_MAP[partnerId];\n if (!partnerCopy) {\n const message = `No custom copy bundle for partner=\"${partnerId}\", using generic copy`;\n Logger.logError(message);\n }\n\n return partnerCopy ?? generic;\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","PARTNER_COPY_MAP","partner2416e2af","partner94f390bb","copyEc45444c","generic","genericCopy","getCopyBundleForPartner","partnerId","partnerCopy","message","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -1,264 +1,151 @@
1
- var U = Object.defineProperty;
2
- var D = (s, t, e) => t in s ? U(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var h = (s, t, e) => D(s, typeof t != "symbol" ? t + "" : t, e);
4
- import { z as n } from "zod";
5
- const d = n.object({
6
- version: n.string().min(1),
7
- language: n.string().min(2),
8
- cohort: n.string().min(1),
9
- type: n.string().min(1)
10
- }), b = d.extend({
11
- partnerLogoUrl: n.string().trim().url()
12
- }), v = d.extend({
13
- mainText: n.string().min(1).max(150),
14
- bulletPoints: n.array(n.string().min(1)).length(3),
15
- buttonText: n.string().min(1).max(25)
16
- }), y = (s) => (t) => s.every((e) => t.includes(`{${e}}`)), M = (s) => n.record(n.string(), s), m = (s) => n.record(n.string(), M(s)), $ = (s, t) => {
17
- const e = (t == null ? void 0 : t.language) ?? "en", r = "default", i = Object.keys(s);
18
- let o = {};
19
- return i.forEach((u) => {
20
- const a = s[u];
21
- if (a) {
1
+ import { z as e } from "zod";
2
+ import { Logger as A } from "@wf-financing/logger";
3
+ const a = e.object({
4
+ version: e.string().min(1),
5
+ language: e.string().min(2),
6
+ cohort: e.string().min(1),
7
+ type: e.string().min(1)
8
+ }), g = a.extend({
9
+ partnerLogoUrl: e.string().trim().url()
10
+ }), y = a.extend({
11
+ mainText: e.string().min(1).max(150),
12
+ bulletPoints: e.array(e.string().min(1)).length(3),
13
+ buttonText: e.string().min(1).max(25)
14
+ }), u = (t) => (o) => t.every((i) => o.includes(`{${i}}`)), w = (t) => e.record(e.string(), t), n = (t) => e.record(e.string(), w(t)), ye = (t, o) => {
15
+ const i = (o == null ? void 0 : o.language) ?? "en", W = "default", k = Object.keys(t);
16
+ let s = {};
17
+ return k.forEach((f) => {
18
+ const r = t[f];
19
+ if (r) {
22
20
  let l;
23
- const f = a[e] ?? a.en, p = f[r] ?? f.default;
24
- if (p ? l = p : l = a.en.default, !l)
21
+ const d = r[i] ?? r.en, c = d[W] ?? d.default;
22
+ if (c ? l = c : l = r.en.default, !l)
25
23
  throw new Error("Cohorted document doesn't exist");
26
- o = {
27
- ...o,
28
- [u]: l
24
+ s = {
25
+ ...s,
26
+ [f]: l
29
27
  };
30
28
  }
31
- }), o;
32
- };
33
- var j = Object.defineProperty, N = (s, t, e) => t in s ? j(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, g = (s, t, e) => N(s, typeof t != "symbol" ? t + "" : t, e);
34
- const k = "https://api.wayflyer.com", z = "https://sandbox-api.wayflyer.com", L = (s) => {
35
- try {
36
- return JSON.parse(atob(s.split(".")[1]));
37
- } catch {
38
- return null;
39
- }
40
- }, R = {
41
- "Content-Type": "application/json"
42
- }, x = {
43
- event: "/financing/v1/company/event/",
44
- error: "/financing/v1/error/"
45
- }, S = "wf_session_v1", V = 1800 * 1e3, _ = 1440 * 60 * 1e3;
46
- class q {
47
- getSessionId() {
48
- const t = Date.now();
49
- let e = this.loadSession();
50
- return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;
51
- }
52
- isSessionExpired(t, e) {
53
- const r = e - t.lastActivity > V, i = e - t.createdAt > _;
54
- return r || i;
55
- }
56
- mintNewSession(t) {
57
- return {
58
- sessionId: crypto.randomUUID(),
59
- createdAt: t,
60
- lastActivity: t
61
- };
62
- }
63
- loadSession() {
64
- try {
65
- const t = sessionStorage.getItem(S);
66
- return t ? JSON.parse(t) : null;
67
- } catch {
68
- return null;
69
- }
70
- }
71
- saveSession(t) {
72
- try {
73
- sessionStorage.setItem(S, JSON.stringify(t));
74
- } catch {
75
- console.warn("Failed to save session context");
76
- }
77
- }
78
- }
79
- const w = class c {
80
- constructor(t, e, r, i) {
81
- g(this, "baseUrl", null), g(this, "sessionManager"), g(this, "headers"), g(this, "entryPointVersion"), g(this, "sdkVersion"), this.companyToken = t, this.baseUrl = i ? z : k, this.sessionManager = new q(), this.entryPointVersion = e, this.sdkVersion = r, this.headers = {
82
- ...R,
83
- ...r ? { "X-SDK-Version": r } : {}
84
- };
85
- }
86
- get requestHeaders() {
87
- const t = c.getInstance(), e = t.sessionManager.getSessionId();
88
- return {
89
- Authorization: `Bearer ${t.companyToken}`,
90
- "X-Session-ID": e,
91
- ...t.headers
92
- };
93
- }
94
- static getGlobalInstance() {
95
- return window.WayflyerLogger || null;
96
- }
97
- static setGlobalInstance(t) {
98
- window.WayflyerLogger = t;
99
- }
100
- static initialize(t, e, r, i) {
101
- c.getGlobalInstance() && console.warn("Logger re-initialized");
102
- const o = new c(t, e, r, i == null ? void 0 : i.isSandbox);
103
- c.setGlobalInstance(o);
104
- }
105
- static getMandatoryProperties() {
106
- const t = c.getInstance(), { sdkVersion: e, companyToken: r, entryPointVersion: i } = t, o = L(r), [u, a] = (o == null ? void 0 : o.sub.split("|")) || [], l = o == null ? void 0 : o.user_id;
107
- return {
108
- partner_id: u,
109
- company_id: a,
110
- user_id: l,
111
- entry_point_version: i,
112
- ...e ? { sdk_version: e } : {}
113
- };
114
- }
115
- static getInstance() {
116
- const t = c.getGlobalInstance();
117
- if (!t)
118
- throw new Error("Logger not initialized. Call initialize() first.");
119
- return t;
120
- }
121
- static async logEvent(t, e) {
122
- if (this.isDevEnvironment) return;
123
- const r = c.getInstance();
124
- try {
125
- const i = {
126
- ...c.getMandatoryProperties(),
127
- ...e
128
- }, o = await fetch(r.baseUrl + x.event, {
129
- method: "POST",
130
- headers: r.requestHeaders,
131
- body: JSON.stringify({
132
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
133
- event_name: t,
134
- properties: i
135
- })
136
- });
137
- if (o.status === 200)
138
- return await o.json();
139
- } catch (i) {
140
- console.error("Failed to log event", i);
141
- }
142
- }
143
- static async logError(t, e) {
144
- if (this.isDevEnvironment) {
145
- console.error(t);
146
- return;
147
- }
148
- const r = c.getInstance();
149
- try {
150
- const i = {
151
- ...c.getMandatoryProperties(),
152
- ...e
153
- }, o = await fetch(r.baseUrl + x.error, {
154
- method: "POST",
155
- headers: r.requestHeaders,
156
- body: JSON.stringify({
157
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
158
- message: t,
159
- properties: i
160
- })
161
- });
162
- if (o.status === 200)
163
- return await o.json();
164
- } catch (i) {
165
- console.warn("Failed to log error", i);
166
- }
167
- }
168
- };
169
- g(w, "isDevEnvironment", !1);
170
- let G = w;
171
- const B = "https://partner-assets.wayflyer.com", H = "https://partner-assets-sandbox.wayflyer.com";
172
- class J extends Error {
173
- constructor(e, r) {
174
- super(`Request to ${r} failed with status ${e.status} ${e.statusText}`);
175
- h(this, "status");
176
- h(this, "statusText");
177
- h(this, "url");
178
- this.name = "HttpError", this.status = e.status, this.statusText = e.statusText, this.url = r;
179
- }
180
- }
181
- const W = async (s) => {
182
- const t = s.partnerId, e = s == null ? void 0 : s.version, r = s == null ? void 0 : s.options, u = `${(r == null ? void 0 : r.isSandbox) ? H : B}/${t}/copy/${e}/copy.json`;
183
- try {
184
- const a = await fetch(u);
185
- if (!a.ok)
186
- throw new J(a, u);
187
- const l = await a.json();
188
- return $(l, r);
189
- } catch (a) {
190
- const l = navigator.userAgent;
191
- throw G.logError(`Error in partner copy loading from ${u} by userAgent: ${l}: ${a}`), a;
192
- }
193
- }, T = d.extend({
194
- mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
29
+ }), s;
30
+ }, C = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Business financing made easy. Unlock your next stage of growth with Wayflyer today.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "genericOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "genericOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "genericOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Groei sneller. Zakelijke financiering in één dag met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "genericOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "genericOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "genericOffer" } } }, P = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "indicativeOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "indicativeOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "indicativeOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "indicativeOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "indicativeOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "indicativeOffer" } } }, O = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You've been approved for Wayflyer financing up to {amount}! Choose your offer.", buttonText: "View offer", type: "selectOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.", buttonText: "Angebot ansehen", type: "selectOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.", buttonText: "Voir l'offre", type: "selectOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.", buttonText: "Bekijk aanbod", type: "selectOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.", buttonText: "Ver oferta", type: "selectOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.", buttonText: "Visa erbjudande", type: "selectOffer" } } }, z = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there. Wayflyer just needs a few more details to unlock your financing.", buttonText: "Continue application", type: "completeKyc" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.", buttonText: "Bewerbung fortsetzen", type: "completeKyc" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.", buttonText: "Reprendre la demande", type: "completeKyc" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.", buttonText: "Aanvraag afronden", type: "completeKyc" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.", buttonText: "Fortsätt ansökan", type: "completeKyc" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.", buttonText: "Continuar solicitud", type: "completeKyc" } } }, S = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Review and sign your Wayflyer contract to receive funds.", buttonText: "View contract", type: "signContract" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Vertrag ansehen", type: "signContract" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Voir le contrat", type: "signContract" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Contract bekijken", type: "signContract" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Visa avtal", type: "signContract" } }, es: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Ver contrato", type: "signContract" } } }, F = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Your Wayflyer financing application needs additional information to proceed.", buttonText: "Continue application", type: "provideAdditionalInfo" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Weiter zum Antrag", type: "provideAdditionalInfo" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Continuer demande", type: "provideAdditionalInfo" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Aanvraag vervolg", type: "provideAdditionalInfo" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Fortsätt ansökan", type: "provideAdditionalInfo" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Seguir solicitud", type: "provideAdditionalInfo" } } }, j = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Complete your application to access capital with Wayflyer.", buttonText: "Continue application", type: "completeApplication" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.", buttonText: "Bewerbung fortsetzen", type: "completeApplication" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.", buttonText: "Continuer la demande", type: "completeApplication" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.", buttonText: "Aanvraag vervolgen", type: "completeApplication" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.", buttonText: "Fortsätt ansökan", type: "completeApplication" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.", buttonText: "Continuar solicitud", type: "completeApplication" } } }, M = { en: { default: { version: "1.0", language: "en", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Fuel your growth with capital from Wayflyer", bulletPoints: ["$5B deployed with 4.9 stars on Trustpilot", "Apply in minutes and get capital in hours", "Flexible offers designed to fit your business"], button: "Continue to Wayflyer", termsAndConditions: "By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).", type: "consentModal" } }, de: { default: { version: "1.0", language: "de", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Wachsen Sie mit Kapital von Wayflyer", bulletPoints: ["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)", "In Minuten bewerben, Geld in Stunden", "Flexible Angebote, maßgeschneidert für Sie"], button: "Weiter zu Wayflyer", termsAndConditions: "Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).", type: "consentModal" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Alimentez votre croissance avec Wayflyer", bulletPoints: ["5 Mrds $ déployés, 4.9 étoiles Trustpilot", "Postulez en minutes, capital en heures", "Offres flexibles pour votre entreprise"], button: "Continuer vers Wayflyer", termsAndConditions: "En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).", type: "consentModal" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Geef groei een boost met Wayflyer kapitaal", bulletPoints: ["$5B ingezet, 4.9 sterren op Trustpilot", "Vraag in minuten aan, kapitaal binnen uren", "Flexibele offers op maat van uw bedrijf"], button: "Verder naar Wayflyer", termsAndConditions: "Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).", type: "consentModal" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Driv din tillväxt med kapital från Wayflyer", bulletPoints: ["$5B utbetalt, 4.9 stjärnor på Trustpilot", "Ansök på minuter, få kapital inom timmar", "Flexibla erbjudanden för ditt företag"], button: "Fortsätt till Wayflyer", termsAndConditions: "Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).", type: "consentModal" } }, es: { default: { version: "1.0", language: "es", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Impulsa tu crecimiento con capital Wayflyer", bulletPoints: ["5B $ financiados, 4.9 estrellas Trustpilot", "Solicita ya, capital en horas", "Ofertas flexibles a la medida de tu negocio"], button: "Continuar a Wayflyer", termsAndConditions: "Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).", type: "consentModal" } } }, I = {
31
+ genericOffer: C,
32
+ indicativeOffer: P,
33
+ selectOffer: O,
34
+ completeKyc: z,
35
+ signContract: S,
36
+ provideAdditionalInfo: F,
37
+ completeApplication: j,
38
+ consentModal: M
39
+ }, q = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Business financing made easy. Unlock your next stage of growth with Wayflyer today.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "genericOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "genericOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "genericOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Groei sneller. Zakelijke financiering in één dag met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "genericOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "genericOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "genericOffer" } } }, K = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "indicativeOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "indicativeOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "indicativeOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "indicativeOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "indicativeOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "indicativeOffer" } } }, B = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You've been approved for Wayflyer financing up to {amount}! Choose your offer.", buttonText: "View offer", type: "selectOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.", buttonText: "Angebot ansehen", type: "selectOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.", buttonText: "Voir l'offre", type: "selectOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.", buttonText: "Bekijk aanbod", type: "selectOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.", buttonText: "Ver oferta", type: "selectOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.", buttonText: "Visa erbjudande", type: "selectOffer" } } }, V = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there. Wayflyer just needs a few more details to unlock your financing.", buttonText: "Continue application", type: "completeKyc" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.", buttonText: "Bewerbung fortsetzen", type: "completeKyc" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.", buttonText: "Reprendre la demande", type: "completeKyc" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.", buttonText: "Aanvraag afronden", type: "completeKyc" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.", buttonText: "Fortsätt ansökan", type: "completeKyc" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.", buttonText: "Continuar solicitud", type: "completeKyc" } } }, U = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Review and sign your Wayflyer contract to receive funds.", buttonText: "View contract", type: "signContract" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Vertrag ansehen", type: "signContract" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Voir le contrat", type: "signContract" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Contract bekijken", type: "signContract" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Visa avtal", type: "signContract" } }, es: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Ver contrato", type: "signContract" } } }, G = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Your Wayflyer financing application needs additional information to proceed.", buttonText: "Continue application", type: "provideAdditionalInfo" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Weiter zum Antrag", type: "provideAdditionalInfo" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Continuer demande", type: "provideAdditionalInfo" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Aanvraag vervolg", type: "provideAdditionalInfo" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Fortsätt ansökan", type: "provideAdditionalInfo" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Seguir solicitud", type: "provideAdditionalInfo" } } }, $ = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Complete your application to access capital with Wayflyer.", buttonText: "Continue application", type: "completeApplication" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.", buttonText: "Bewerbung fortsetzen", type: "completeApplication" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.", buttonText: "Continuer la demande", type: "completeApplication" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.", buttonText: "Aanvraag vervolgen", type: "completeApplication" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.", buttonText: "Fortsätt ansökan", type: "completeApplication" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.", buttonText: "Continuar solicitud", type: "completeApplication" } } }, D = { en: { default: { version: "1.0", language: "en", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Fuel your growth with capital from Wayflyer", bulletPoints: ["$5B deployed with 4.9 stars on Trustpilot", "Apply in minutes and get capital in hours", "Flexible offers designed to fit your business"], button: "Continue to Wayflyer", termsAndConditions: "By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).", type: "consentModal" } }, de: { default: { version: "1.0", language: "de", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Wachsen Sie mit Kapital von Wayflyer", bulletPoints: ["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)", "In Minuten bewerben, Geld in Stunden", "Flexible Angebote, maßgeschneidert für Sie"], button: "Weiter zu Wayflyer", termsAndConditions: "Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).", type: "consentModal" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Alimentez votre croissance avec Wayflyer", bulletPoints: ["5 Mrds $ déployés, 4.9 étoiles Trustpilot", "Postulez en minutes, capital en heures", "Offres flexibles pour votre entreprise"], button: "Continuer vers Wayflyer", termsAndConditions: "En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).", type: "consentModal" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Geef groei een boost met Wayflyer kapitaal", bulletPoints: ["$5B ingezet, 4.9 sterren op Trustpilot", "Vraag in minuten aan, kapitaal binnen uren", "Flexibele offers op maat van uw bedrijf"], button: "Verder naar Wayflyer", termsAndConditions: "Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).", type: "consentModal" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Driv din tillväxt med kapital från Wayflyer", bulletPoints: ["$5B utbetalt, 4.9 stjärnor på Trustpilot", "Ansök på minuter, få kapital inom timmar", "Flexibla erbjudanden för ditt företag"], button: "Fortsätt till Wayflyer", termsAndConditions: "Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).", type: "consentModal" } }, es: { default: { version: "1.0", language: "es", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Impulsa tu crecimiento con capital Wayflyer", bulletPoints: ["5B $ financiados, 4.9 estrellas Trustpilot", "Solicita ya, capital en horas", "Ofertas flexibles a la medida de tu negocio"], button: "Continuar a Wayflyer", termsAndConditions: "Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).", type: "consentModal" } } }, Y = {
40
+ genericOffer: q,
41
+ indicativeOffer: K,
42
+ selectOffer: B,
43
+ completeKyc: V,
44
+ signContract: U,
45
+ provideAdditionalInfo: G,
46
+ completeApplication: $,
47
+ consentModal: D
48
+ }, N = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Business financing made easy. Unlock your next stage of growth with Wayflyer today.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "genericOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "genericOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "genericOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Groei sneller. Zakelijke financiering in één dag met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "genericOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "genericOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "genericOffer" } } }, R = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "indicativeOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "indicativeOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "indicativeOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "indicativeOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "indicativeOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "indicativeOffer" } } }, E = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You've been approved for Wayflyer financing up to {amount}! Choose your offer.", buttonText: "View offer", type: "selectOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.", buttonText: "Angebot ansehen", type: "selectOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.", buttonText: "Voir l'offre", type: "selectOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.", buttonText: "Bekijk aanbod", type: "selectOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.", buttonText: "Ver oferta", type: "selectOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.", buttonText: "Visa erbjudande", type: "selectOffer" } } }, L = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there. Wayflyer just needs a few more details to unlock your financing.", buttonText: "Continue application", type: "completeKyc" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.", buttonText: "Bewerbung fortsetzen", type: "completeKyc" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.", buttonText: "Reprendre la demande", type: "completeKyc" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.", buttonText: "Aanvraag afronden", type: "completeKyc" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.", buttonText: "Fortsätt ansökan", type: "completeKyc" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.", buttonText: "Continuar solicitud", type: "completeKyc" } } }, J = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Review and sign your Wayflyer contract to receive funds.", buttonText: "View contract", type: "signContract" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Vertrag ansehen", type: "signContract" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Voir le contrat", type: "signContract" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Contract bekijken", type: "signContract" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Visa avtal", type: "signContract" } }, es: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Ver contrato", type: "signContract" } } }, Z = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Your Wayflyer financing application needs additional information to proceed.", buttonText: "Continue application", type: "provideAdditionalInfo" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Weiter zum Antrag", type: "provideAdditionalInfo" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Continuer demande", type: "provideAdditionalInfo" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Aanvraag vervolg", type: "provideAdditionalInfo" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Fortsätt ansökan", type: "provideAdditionalInfo" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Seguir solicitud", type: "provideAdditionalInfo" } } }, H = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Complete your application to access capital with Wayflyer.", buttonText: "Continue application", type: "completeApplication" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.", buttonText: "Bewerbung fortsetzen", type: "completeApplication" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.", buttonText: "Continuer la demande", type: "completeApplication" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.", buttonText: "Aanvraag vervolgen", type: "completeApplication" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.", buttonText: "Fortsätt ansökan", type: "completeApplication" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.", buttonText: "Continuar solicitud", type: "completeApplication" } } }, _ = { en: { default: { version: "1.0", language: "en", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Fuel your growth with capital from Wayflyer", bulletPoints: ["$5B deployed with 4.9 stars on Trustpilot", "Apply in minutes and get capital in hours", "Flexible offers designed to fit your business"], button: "Continue to Wayflyer", termsAndConditions: "By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).", type: "consentModal" } }, de: { default: { version: "1.0", language: "de", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Wachsen Sie mit Kapital von Wayflyer", bulletPoints: ["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)", "In Minuten bewerben, Geld in Stunden", "Flexible Angebote, maßgeschneidert für Sie"], button: "Weiter zu Wayflyer", termsAndConditions: "Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).", type: "consentModal" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Alimentez votre croissance avec Wayflyer", bulletPoints: ["5 Mrds $ déployés, 4.9 étoiles Trustpilot", "Postulez en minutes, capital en heures", "Offres flexibles pour votre entreprise"], button: "Continuer vers Wayflyer", termsAndConditions: "En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).", type: "consentModal" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Geef groei een boost met Wayflyer kapitaal", bulletPoints: ["$5B ingezet, 4.9 sterren op Trustpilot", "Vraag in minuten aan, kapitaal binnen uren", "Flexibele offers op maat van uw bedrijf"], button: "Verder naar Wayflyer", termsAndConditions: "Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).", type: "consentModal" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Driv din tillväxt med kapital från Wayflyer", bulletPoints: ["$5B utbetalt, 4.9 stjärnor på Trustpilot", "Ansök på minuter, få kapital inom timmar", "Flexibla erbjudanden för ditt företag"], button: "Fortsätt till Wayflyer", termsAndConditions: "Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).", type: "consentModal" } }, es: { default: { version: "1.0", language: "es", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Impulsa tu crecimiento con capital Wayflyer", bulletPoints: ["5B $ financiados, 4.9 estrellas Trustpilot", "Solicita ya, capital en horas", "Ofertas flexibles a la medida de tu negocio"], button: "Continuar a Wayflyer", termsAndConditions: "Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).", type: "consentModal" } } }, Q = { en: { default: { version: "1.0", language: "es", cohort: "default", partnerLogoUrl: "https://cdn.sanity.io/images/1aendizt/redesign/1c5a972a260a9b9f24dcc294e0d0c238bacff384-44x32.svg", type: "partnerTemplate" } } }, X = {
49
+ genericOffer: N,
50
+ indicativeOffer: R,
51
+ selectOffer: E,
52
+ completeKyc: L,
53
+ signContract: J,
54
+ provideAdditionalInfo: Z,
55
+ completeApplication: H,
56
+ consentModal: _,
57
+ partnerTemplate: Q
58
+ }, ee = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Business financing made easy. Unlock your next stage of growth with Wayflyer today.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "genericOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Unternehmensfinanzierung leicht gemacht. Schalten Sie Ihre nächste Wachstumsphase mit Wayflyer frei.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "genericOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Financement d'entreprise facile. Débloquez votre potentiel de croissance avec Wayflyer.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "genericOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Groei sneller. Zakelijke financiering in één dag met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "genericOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Smidig finansiering för företag. Lås upp nästa steget i din tillväxt med Wayflyer idag.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "genericOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Financiación sin complicaciones. Desbloquea tu próxima etapa de crecimiento con Wayflyer.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "genericOffer" } } }, te = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You’ve pre-qualified for up to {amount} in financing with Wayflyer. Unlock your growth.", bulletPoints: ["Funds in 24 hours", "No personal guarantees", "$5B+ in funding delivered"], buttonText: "Get financing", type: "indicativeOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie könnten bis zu {amount} in Kapital von Wayflyer erhalten. Wachsen Sie mit uns.", bulletPoints: ["Kapital in 24 Stunden", "Keine Privatgarantien", "Ü5 Mrd. € ausbezahlt"], buttonText: "Finanzierung erhalten", type: "indicativeOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Pré-qualifié pour un financement jusqu'à {amount} avec Wayflyer. Débloquez votre croissance.", bulletPoints: ["Fonds dispo sous 24h", "Aucune garantie perso", "+5 Mrd. € déployés"], buttonText: "Obtenir un financement", type: "indicativeOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Je bent geselecteerd voor financiering tot {amount}. Zet je volgende stap met Wayflyer.", bulletPoints: ["Geld binnen 24 uur", "Geen privéganties", "€5 Mrd.+ funding geleverd"], buttonText: "Financiering aanvragen", type: "indicativeOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du är förkvalificerad för upp till {amount} i finansiering med Wayflyer. Lås upp tillväxten.", bulletPoints: ["Kapital inom ett dygn", "Inga personliga garantier", "+47 Mrd. kr levererat"], buttonText: "Ansök", type: "indicativeOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Precalificaste para hasta {amount} con Wayflyer. Desbloquea tu crecimiento.", bulletPoints: ["Capital en 24 horas", "Sin avales personales", "Más de 5 b€ financiados"], buttonText: "Consigue financiación", type: "indicativeOffer" } } }, ne = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "You've been approved for Wayflyer financing up to {amount}! Choose your offer.", buttonText: "View offer", type: "selectOffer" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Sie wurden für eine Wayflyer-Finanzierung bis zu {amount} genehmigt! Wählen Sie Ihr Angebot.", buttonText: "Angebot ansehen", type: "selectOffer" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Votre financement Wayflyer jusqu'à {amount} a été approuvé! Choisissez votre offre.", buttonText: "Voir l'offre", type: "selectOffer" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Gefeliciteerd! Je bent goedgekeurd voor financiering tot {amount}. Kies je aanbod.", buttonText: "Bekijk aanbod", type: "selectOffer" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Has sido aprobado para financiación con Wayflyer de hasta {amount}! Elige tu oferta.", buttonText: "Ver oferta", type: "selectOffer" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Du har blivit godkänd för finansiering upp till {amount} genom Wayflyer! Välj ditt erbjudande.", buttonText: "Visa erbjudande", type: "selectOffer" } } }, ae = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there. Wayflyer just needs a few more details to unlock your financing.", buttonText: "Continue application", type: "completeKyc" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft. Wayflyer braucht nur noch ein paar Details für Ihre Finanzierung.", buttonText: "Bewerbung fortsetzen", type: "completeKyc" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé. Wayflyer a besoin de quelques détails pour débloquer votre financement.", buttonText: "Reprendre la demande", type: "completeKyc" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar. Wayflyer heeft nog wat details nodig om uw financiering vrij te geven.", buttonText: "Aanvraag afronden", type: "completeKyc" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart. Wayflyer behöver några detaljer till för att låsa upp din finansiering.", buttonText: "Fortsätt ansökan", type: "completeKyc" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "Ya casi está. Wayflyer solo necesita más detalles para desbloquear tu financiación.", buttonText: "Continuar solicitud", type: "completeKyc" } } }, oe = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Review and sign your Wayflyer contract to receive funds.", buttonText: "View contract", type: "signContract" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Vertrag ansehen", type: "signContract" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Voir le contrat", type: "signContract" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Contract bekijken", type: "signContract" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Visa avtal", type: "signContract" } }, es: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Ver contrato", type: "signContract" } } }, ie = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Your Wayflyer financing application needs additional information to proceed.", buttonText: "Continue application", type: "provideAdditionalInfo" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Überprüfen und unterschreiben Sie Ihren Wayflyer-Vertrag für die Gelder.", buttonText: "Weiter zum Antrag", type: "provideAdditionalInfo" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Presque terminé! Veuillez consulter et signer votre contrat Wayflyer pour les fonds.", buttonText: "Continuer demande", type: "provideAdditionalInfo" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Bekijk en onderteken uw Wayflyer-contract om geld te ontvangen.", buttonText: "Aanvraag vervolg", type: "provideAdditionalInfo" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klart! Granska och signera ditt Wayflyer-kontrakt för att få pengarna.", buttonText: "Fortsätt ansökan", type: "provideAdditionalInfo" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi! Revisa y firma tu contrato Wayflyer para recibir los fondos.", buttonText: "Seguir solicitud", type: "provideAdditionalInfo" } } }, re = { en: { default: { version: "1.0", language: "en", cohort: "default", mainText: "Almost there! Complete your application to access capital with Wayflyer.", buttonText: "Continue application", type: "completeApplication" } }, de: { default: { version: "1.0", language: "de", cohort: "default", mainText: "Fast geschafft! Schließen Sie Ihre Bewerbung ab, um Kapital über Wayflyer zu erhalten.", buttonText: "Bewerbung fortsetzen", type: "completeApplication" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", mainText: "Vous y êtes presque! Terminez votre demande pour accéder au capital avec Wayflyer.", buttonText: "Continuer la demande", type: "completeApplication" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", mainText: "Bijna klaar! Rond je aanvraag af om toegang te krijgen tot kapitaal via Wayflyer.", buttonText: "Aanvraag vervolgen", type: "completeApplication" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", mainText: "Nästan klar! Slutför din ansökan för att få tillgång till kapital via Wayflyer.", buttonText: "Fortsätt ansökan", type: "completeApplication" } }, es: { default: { version: "1.0", language: "es", cohort: "default", mainText: "¡Ya casi está! Completa tu solicitud para acceder a capital con Wayflyer.", buttonText: "Continuar solicitud", type: "completeApplication" } } }, le = { en: { default: { version: "1.0", language: "en", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Fuel your growth with capital from Wayflyer", bulletPoints: ["$5B deployed with 4.9 stars on Trustpilot", "Apply in minutes and get capital in hours", "Flexible offers designed to fit your business"], button: "Continue to Wayflyer", termsAndConditions: "By proceeding, you consent to us sharing your information with Wayflyer in accordance with Wayflyer’s [Privacy Policy]({termsUrl}).", type: "consentModal" } }, de: { default: { version: "1.0", language: "de", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Wachsen Sie mit Kapital von Wayflyer", bulletPoints: ["5 Mrd. $ vergeben, 4.9 Sterne (Trustpilot)", "In Minuten bewerben, Geld in Stunden", "Flexible Angebote, maßgeschneidert für Sie"], button: "Weiter zu Wayflyer", termsAndConditions: "Mit dem Fortfahren stimmen Sie zu, dass wir Ihre Daten gemäß der Wayflyer-Datenschutzerklärung an Wayflyer [weitergeben]({termsUrl}).", type: "consentModal" } }, fr: { default: { version: "1.0", language: "fr", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Alimentez votre croissance avec Wayflyer", bulletPoints: ["5 Mrds $ déployés, 4.9 étoiles Trustpilot", "Postulez en minutes, capital en heures", "Offres flexibles pour votre entreprise"], button: "Continuer vers Wayflyer", termsAndConditions: "En continuant, vous consentez à ce que nous partagions vos infos avec Wayflyer, selon leur [Politique de confidentialité]({termsUrl}).", type: "consentModal" } }, nl: { default: { version: "1.0", language: "nl", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Geef groei een boost met Wayflyer kapitaal", bulletPoints: ["$5B ingezet, 4.9 sterren op Trustpilot", "Vraag in minuten aan, kapitaal binnen uren", "Flexibele offers op maat van uw bedrijf"], button: "Verder naar Wayflyer", termsAndConditions: "Door verder te gaan, stemt u in met het delen van uw gegevens met Wayflyer, conform het [privacybeleid van Wayflyer]({termsUrl}).", type: "consentModal" } }, sv: { default: { version: "1.0", language: "sv", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Driv din tillväxt med kapital från Wayflyer", bulletPoints: ["$5B utbetalt, 4.9 stjärnor på Trustpilot", "Ansök på minuter, få kapital inom timmar", "Flexibla erbjudanden för ditt företag"], button: "Fortsätt till Wayflyer", termsAndConditions: "Genom att fortsätta godkänner du att vi delar dina uppgifter med Wayflyer i enlighet med deras [sekretesspolicy]({termsUrl}).", type: "consentModal" } }, es: { default: { version: "1.0", language: "es", cohort: "default", logoUrl: "https://static.wayflyer.com/flyui-assets/logos/wayflyer-icon-logo-v3.svg", title: "Impulsa tu crecimiento con capital Wayflyer", bulletPoints: ["5B $ financiados, 4.9 estrellas Trustpilot", "Solicita ya, capital en horas", "Ofertas flexibles a la medida de tu negocio"], button: "Continuar a Wayflyer", termsAndConditions: "Al continuar, consientes que compartamos tu información con Wayflyer, de acuerdo con su [Política de Privacidad]({termsUrl}).", type: "consentModal" } } }, se = { en: { default: { version: "1.0", language: "es", cohort: "default", partnerLogoUrl: "https://cdn.sanity.io/images/1aendizt/redesign/1c5a972a260a9b9f24dcc294e0d0c238bacff384-44x32.svg", type: "partnerTemplate" } } }, ue = {
59
+ genericOffer: ee,
60
+ indicativeOffer: te,
61
+ selectOffer: ne,
62
+ completeKyc: ae,
63
+ signContract: oe,
64
+ provideAdditionalInfo: ie,
65
+ completeApplication: re,
66
+ consentModal: le,
67
+ partnerTemplate: se
68
+ }, fe = {
69
+ "2416e2af-c9f7-40ac-a2f0-f37dcfe59674": Y,
70
+ "94f390bb-5d68-444f-b029-6069a0b33b0e": X,
71
+ "ec45444c-143e-4f74-bcc6-f02f3de1f158": ue
72
+ }, de = I, pe = (t) => {
73
+ const o = fe[t];
74
+ if (!o) {
75
+ const i = `No custom copy bundle for partner="${t}", using generic copy`;
76
+ A.logError(i);
77
+ }
78
+ return o ?? de;
79
+ }, p = a.extend({
80
+ mainText: e.string().trim().min(1).max(160).refine(u(["amount"]), {
195
81
  message: "mainText must include {amount}"
196
82
  }),
197
- bulletPoints: n.array(n.string().min(1)).length(3),
198
- buttonText: n.string().min(1).max(25)
199
- }), I = d.extend({
200
- logoUrl: n.string().trim().url(),
201
- title: n.string().trim().min(1),
202
- bulletPoints: n.array(n.string().min(1)).length(3),
203
- button: n.string().trim().min(1),
204
- termsAndConditions: n.string().trim().min(1).refine(y(["termsUrl"]), {
83
+ bulletPoints: e.array(e.string().min(1)).length(3),
84
+ buttonText: e.string().min(1).max(25)
85
+ }), m = a.extend({
86
+ logoUrl: e.string().trim().url(),
87
+ title: e.string().trim().min(1),
88
+ bulletPoints: e.array(e.string().min(1)).length(3),
89
+ button: e.string().trim().min(1),
90
+ termsAndConditions: e.string().trim().min(1).refine(u(["termsUrl"]), {
205
91
  message: "termsUrl is required"
206
92
  })
207
- }), A = d.extend({
208
- mainText: n.string().min(1).max(150),
209
- buttonText: n.string().min(1).max(25)
210
- }), E = d.extend({
211
- mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
93
+ }), v = a.extend({
94
+ mainText: e.string().min(1).max(150),
95
+ buttonText: e.string().min(1).max(25)
96
+ }), h = a.extend({
97
+ mainText: e.string().trim().min(1).max(160).refine(u(["amount"]), {
212
98
  message: "mainText must include {amount}"
213
99
  }),
214
- buttonText: n.string().min(1).max(25)
215
- }), O = d.extend({
216
- mainText: n.string().min(1).max(150),
217
- buttonText: n.string().min(1).max(25)
218
- }), C = d.extend({
219
- mainText: n.string().min(1).max(150),
220
- buttonText: n.string().min(1).max(25)
221
- }), P = d.extend({
222
- mainText: n.string().min(1).max(150),
223
- buttonText: n.string().min(1).max(25)
224
- }), X = n.object({
225
- genericOffer: m(v),
226
- indicativeOffer: m(T),
227
- consentModal: m(I),
228
- completeApplication: m(A),
229
- completeKyc: m(O),
230
- signContract: m(C),
231
- selectOffer: m(E),
232
- provideAdditionalInfo: m(P),
233
- partnerTemplate: m(b).optional()
234
- }), Q = n.object({
235
- genericOffer: v,
236
- indicativeOffer: T,
237
- consentModal: I,
238
- completeApplication: A,
239
- completeKyc: O,
240
- signContract: C,
241
- selectOffer: E,
242
- provideAdditionalInfo: P,
243
- partnerTemplate: b.optional()
100
+ buttonText: e.string().min(1).max(25)
101
+ }), b = a.extend({
102
+ mainText: e.string().min(1).max(150),
103
+ buttonText: e.string().min(1).max(25)
104
+ }), x = a.extend({
105
+ mainText: e.string().min(1).max(150),
106
+ buttonText: e.string().min(1).max(25)
107
+ }), T = a.extend({
108
+ mainText: e.string().min(1).max(150),
109
+ buttonText: e.string().min(1).max(25)
110
+ }), me = e.object({
111
+ genericOffer: n(y),
112
+ indicativeOffer: n(p),
113
+ consentModal: n(m),
114
+ completeApplication: n(v),
115
+ completeKyc: n(b),
116
+ signContract: n(x),
117
+ selectOffer: n(h),
118
+ provideAdditionalInfo: n(T),
119
+ partnerTemplate: n(g).optional()
120
+ }), ve = e.object({
121
+ genericOffer: y,
122
+ indicativeOffer: p,
123
+ consentModal: m,
124
+ completeApplication: v,
125
+ completeKyc: b,
126
+ signContract: x,
127
+ selectOffer: h,
128
+ provideAdditionalInfo: T,
129
+ partnerTemplate: g.optional()
244
130
  });
245
131
  export {
246
- M as CohortMap,
247
- A as CompleteApplicationSchema,
248
- O as CompleteKycSchema,
249
- I as ConsentModalSchema,
250
- X as CopyBundleSchema,
251
- Q as CopySchema,
252
- v as GenericOfferSchema,
253
- T as IndicativeOfferSchema,
254
- m as LanguageMap,
255
- b as PartnerTemplateSchema,
256
- P as ProvideAdditionalInfoSchema,
257
- E as SelectOfferSchema,
258
- C as SignContractSchema,
259
- d as WayflyerDocumentSchema,
260
- $ as filterCopy,
261
- W as loadAndConfigureCopy,
262
- y as mustContainPlaceholders
132
+ w as CohortMap,
133
+ v as CompleteApplicationSchema,
134
+ b as CompleteKycSchema,
135
+ m as ConsentModalSchema,
136
+ me as CopyBundleSchema,
137
+ ve as CopySchema,
138
+ y as GenericOfferSchema,
139
+ p as IndicativeOfferSchema,
140
+ n as LanguageMap,
141
+ fe as PARTNER_COPY_MAP,
142
+ g as PartnerTemplateSchema,
143
+ T as ProvideAdditionalInfoSchema,
144
+ h as SelectOfferSchema,
145
+ x as SignContractSchema,
146
+ a as WayflyerDocumentSchema,
147
+ ye as filterCopy,
148
+ pe as getCopyBundleForPartner,
149
+ u as mustContainPlaceholders
263
150
  };
264
151
  //# sourceMappingURL=index.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../../logger/dist/index.es.js","../src/config/urls.ts","../src/utils/loadCopy.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","var u = Object.defineProperty;\nvar h = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar a = (o, t, e) => h(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst I = \"https://api.wayflyer.com\", p = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, v = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass b {\n getSessionId() {\n const t = Date.now();\n let e = this.loadSession();\n return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;\n }\n isSessionExpired(t, e) {\n const n = e - t.lastActivity > f, s = e - t.createdAt > m;\n return n || s;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst i = class i {\n constructor(t, e, n, s) {\n a(this, \"baseUrl\", null);\n a(this, \"sessionManager\");\n a(this, \"headers\");\n a(this, \"entryPointVersion\");\n a(this, \"sdkVersion\");\n this.companyToken = t, this.baseUrl = s ? p : I, this.sessionManager = new b(), this.entryPointVersion = e, this.sdkVersion = n, this.headers = {\n ...v,\n ...n ? { \"X-SDK-Version\": n } : {}\n };\n }\n get requestHeaders() {\n const t = i.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, n, s) {\n i.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const r = new i(t, e, n, s == null ? void 0 : s.isSandbox);\n i.setGlobalInstance(r);\n }\n static getMandatoryProperties() {\n const t = i.getInstance(), { sdkVersion: e, companyToken: n, entryPointVersion: s } = t, r = w(n), [y, g] = (r == null ? void 0 : r.sub.split(\"|\")) || [], S = r == null ? void 0 : r.user_id;\n return {\n partner_id: y,\n company_id: g,\n user_id: S,\n entry_point_version: s,\n ...e ? { sdk_version: e } : {}\n };\n }\n static getInstance() {\n const t = i.getGlobalInstance();\n if (!t)\n throw new Error(\"Logger not initialized. Call initialize() first.\");\n return t;\n }\n static async logEvent(t, e) {\n if (this.isDevEnvironment) return;\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.event, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.error(\"Failed to log event\", s);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.error, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.warn(\"Failed to log error\", s);\n }\n }\n};\na(i, \"isDevEnvironment\", !1);\nlet d = i;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","u","h","o","a","I","p","w","v","c","l","f","m","b","n","s","i","r","y","g","S","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../src/copy/partnerCopyMap.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","import { Logger } from '@wf-financing/logger';\nimport type { CopyBundle } from '../schemas';\n\nimport genericCopy from './copy.json';\nimport partner2416e2af from './2416e2af-c9f7-40ac-a2f0-f37dcfe59674.json';\nimport partner94f390bb from './94f390bb-5d68-444f-b029-6069a0b33b0e.json';\nimport copyEc45444c from './ec45444c-143e-4f74-bcc6-f02f3de1f158.json';\n\nexport const PARTNER_COPY_MAP: Record<string, CopyBundle> = {\n '2416e2af-c9f7-40ac-a2f0-f37dcfe59674': partner2416e2af,\n '94f390bb-5d68-444f-b029-6069a0b33b0e': partner94f390bb,\n 'ec45444c-143e-4f74-bcc6-f02f3de1f158': copyEc45444c,\n};\n\nconst generic: CopyBundle = genericCopy;\n\nexport const getCopyBundleForPartner = (partnerId: string): CopyBundle => {\n const partnerCopy = PARTNER_COPY_MAP[partnerId];\n if (!partnerCopy) {\n const message = `No custom copy bundle for partner=\"${partnerId}\", using generic copy`;\n Logger.logError(message);\n }\n\n return partnerCopy ?? generic;\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","PARTNER_COPY_MAP","partner2416e2af","partner94f390bb","copyEc45444c","generic","genericCopy","getCopyBundleForPartner","partnerId","partnerCopy","message","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":";;AAEO,MAAMA,IAAyBC,EAAE,OAAO;AAAA,EAC7C,SAASA,EAAE,SAAS,IAAI,CAAC;AAAA,EACzB,UAAUA,EAAE,SAAS,IAAI,CAAC;AAAA,EAC1B,QAAQA,EAAE,SAAS,IAAI,CAAC;AAAA,EACxB,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC;AACxB,CAAC,GCHYC,IAAwBF,EAAuB,OAAO;AAAA,EACjE,gBAAgBC,EAAE,SAAS,KAAA,EAAO,IAAA;AACpC,CAAC,GCFYE,IAAqBH,EAAuB,OAAO;AAAA,EAC9D,UAAUC,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnC,cAAcA,EAAE,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;AAAA,EACjD,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCRYG,IAA0B,CAACC,MAC/B,CAACC,MAAkBD,EAAa,MAAM,CAACE,MAAgBD,EAAM,SAAS,IAAIC,CAAW,GAAG,CAAC,GCCrFC,IAAY,CAAyBC,MAAcR,EAAE,OAAOA,EAAE,OAAA,GAAUQ,CAAM,GAC9EC,IAAc,CAAyBD,MAAcR,EAAE,OAAOA,EAAE,OAAA,GAAUO,EAAUC,CAAM,CAAC,GCG3FE,KAAyB,CAACC,GAAMC,MAAY;AACvD,QAAMC,KAAWD,KAAA,gBAAAA,EAAS,aAAY,MAGhCE,IAAS,WACTC,IAAe,OAAO,KAAKJ,CAAI;AACrC,MAAIK,IAAiB,CAAA;AAErB,SAAAD,EAAa,QAAQ,CAACE,MAAQ;AAC5B,UAAMC,IAAWP,EAAKM,CAAG;AAEzB,QAAIC,GAAU;AACZ,UAAIC;AACJ,YAAMC,IAAoBF,EAASL,CAAQ,KAAKK,EAAS,IACnDG,IAAmBD,EAAkBN,CAAM,KAAKM,EAAkB;AAQxE,UANKC,IAGHF,IAAmBE,IAFnBF,IAAmBD,EAAS,GAAG,SAK7B,CAACC;AACH,cAAM,IAAI,MAAM,iCAAiC;AAGnD,MAAAH,IAAiB;AAAA,QACf,GAAGA;AAAA,QACH,CAACC,CAAG,GAAGE;AAAA,MAAA;AAAA,IAEX;AAAA,EACF,CAAC,GAEMH;AACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GChCaM,KAA+C;AAAA,EAC1D,wCAAwCC;AAAA,EACxC,wCAAwCC;AAAA,EACxC,wCAAwCC;AAC1C,GAEMC,KAAsBC,GAEfC,KAA0B,CAACC,MAAkC;AACxE,QAAMC,IAAcR,GAAiBO,CAAS;AAC9C,MAAI,CAACC,GAAa;AAChB,UAAMC,IAAU,sCAAsCF,CAAS;AAC/D,IAAAG,EAAO,SAASD,CAAO;AAAA,EACzB;AAEA,SAAOD,KAAeJ;AACxB,GCnBaO,IAAwBlC,EAAuB,OAAO;AAAA,EACjE,UAAUC,EACP,OAAA,EACA,KAAA,EACA,IAAI,CAAC,EACL,IAAI,GAAG,EACP,OAAOG,EAAwB,CAAC,QAAQ,CAAC,GAAG;AAAA,IAC3C,SAAS;AAAA,EAAA,CACV;AAAA,EACH,cAAcH,EAAE,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;AAAA,EACjD,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCXYkC,IAAqBnC,EAAuB,OAAO;AAAA,EAC9D,SAASC,EAAE,OAAA,EAAS,KAAA,EAAO,IAAA;AAAA,EAC3B,OAAOA,EAAE,OAAA,EAAS,KAAA,EAAO,IAAI,CAAC;AAAA,EAC9B,cAAcA,EAAE,MAAMA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;AAAA,EACjD,QAAQA,EAAE,OAAA,EAAS,KAAA,EAAO,IAAI,CAAC;AAAA,EAC/B,oBAAoBA,EACjB,OAAA,EACA,OACA,IAAI,CAAC,EACL,OAAOG,EAAwB,CAAC,UAAU,CAAC,GAAG;AAAA,IAC7C,SAAS;AAAA,EAAA,CACV;AACL,CAAC,GCbYgC,IAA4BpC,EAAuB,OAAO;AAAA,EACrE,UAAUC,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnC,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCFYoC,IAAoBrC,EAAuB,OAAO;AAAA,EAC7D,UAAUC,EACP,OAAA,EACA,KAAA,EACA,IAAI,CAAC,EACL,IAAI,GAAG,EACP,OAAOG,EAAwB,CAAC,QAAQ,CAAC,GAAG;AAAA,IAC3C,SAAS;AAAA,EAAA,CACV;AAAA,EACH,YAAYH,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCXYqC,IAAoBtC,EAAuB,OAAO;AAAA,EAC7D,UAAUC,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnC,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCHYsC,IAAqBvC,EAAuB,OAAO;AAAA,EAC9D,UAAUC,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnC,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCHYuC,IAA8BxC,EAAuB,OAAO;AAAA,EACvE,UAAUC,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnC,YAAYA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE;AACtC,CAAC,GCMYwC,KAAmBxC,EAAE,OAAO;AAAA,EACvC,cAAcS,EAAYP,CAAkB;AAAA,EAC5C,iBAAiBO,EAAYwB,CAAqB;AAAA,EAClD,cAAcxB,EAAYyB,CAAkB;AAAA,EAC5C,qBAAqBzB,EAAY0B,CAAyB;AAAA,EAC1D,aAAa1B,EAAY4B,CAAiB;AAAA,EAC1C,cAAc5B,EAAY6B,CAAkB;AAAA,EAC5C,aAAa7B,EAAY2B,CAAiB;AAAA,EAC1C,uBAAuB3B,EAAY8B,CAA2B;AAAA,EAC9D,iBAAiB9B,EAAYR,CAAqB,EAAE,SAAA;AACtD,CAAC,GACYwC,KAAazC,EAAE,OAAO;AAAA,EACjC,cAAcE;AAAA,EACd,iBAAiB+B;AAAA,EACjB,cAAcC;AAAA,EACd,qBAAqBC;AAAA,EACrB,aAAaE;AAAA,EACb,cAAcC;AAAA,EACd,aAAaF;AAAA,EACb,uBAAuBG;AAAA,EACvB,iBAAiBtC,EAAsB,SAAA;AACzC,CAAC;"}
@@ -1,4 +1,4 @@
1
1
  export { mustContainPlaceholders } from './validators';
2
2
  export { CohortMap, LanguageMap } from './normalizers';
3
3
  export { filterCopy } from './filterCopy';
4
- export { loadAndConfigureCopy } from './loadCopy';
4
+ export { getCopyBundleForPartner, PARTNER_COPY_MAP } from '../copy/partnerCopyMap';
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wf-financing/ui-assets",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "zod": "^3.23.8",
22
22
  "@wf-financing/embedded-types": "1.1.1",
23
- "@wf-financing/logger": "2.2.2"
23
+ "@wf-financing/logger": "2.2.3"
24
24
  },
25
25
  "devDependencies": {
26
26
  "dotenv": "^17.2.3"
@@ -1 +0,0 @@
1
- export { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from './urls';
@@ -1,2 +0,0 @@
1
- export declare const PARTNER_ASSETS_BASE_URL: any;
2
- export declare const SANDBOX_PARTNER_ASSETS_BASE_URL: any;
@@ -1,12 +0,0 @@
1
- import { UiSdkOptions } from '@wf-financing/embedded-types';
2
- import { Copy } from '../schemas';
3
-
4
- type LoadCopyParams = {
5
- partnerId: string;
6
- companyId?: string;
7
- version?: string;
8
- options?: UiSdkOptions;
9
- };
10
- type LoadCopy = (params: LoadCopyParams) => Promise<Copy>;
11
- export declare const loadAndConfigureCopy: LoadCopy;
12
- export {};