@wf-financing/ui-assets 0.3.5 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var U=Object.defineProperty;var j=(r,t,e)=>t in r?U(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>j(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("zod"),m=n.z.object({version:n.z.string().min(1),language:n.z.string().min(2),cohort:n.z.string().min(1)}),y=m.extend({partnerName:n.z.string().trim(),termsOfServiceTitle:n.z.string().trim().max(120),termsAndServiceUrl:n.z.string().url()}),S=m.extend({mainText:n.z.string().min(1).max(150),bulletPoints:n.z.array(n.z.string().min(1)).max(3),buttonText:n.z.string().min(1).max(25)}),f=r=>t=>r.every(e=>t.includes(`{${e}}`)),P=r=>n.z.record(n.z.string(),r),l=r=>n.z.record(n.z.string(),P(r)),M=(r,t)=>{const e=(t==null?void 0:t.language)??"en",s=(t==null?void 0:t.cohort)??"default",a=Object.keys(r);let c={};return a.forEach(o=>{const i=r[o];if(i){let u;const I=i[e]??i.en,C=I[s]??I.default;if(C?u=C:u=i.en.default,!u)throw new Error("Cohorted document doesn't exist");c={...c,[o]:u}}}),c};var N=Object.defineProperty,$=(r,t,e)=>t in r?N(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,h=(r,t,e)=>$(r,typeof t!="symbol"?t+"":t,e);const L="https://api.wayflyer.com",R="https://sandbox-api.wayflyer.com",G=r=>{try{return JSON.parse(atob(r.split(".")[1]))}catch{return null}},A={"Content-Type":"application/json"},O={event:"/financing/v1/company/event/",error:"/financing/v1/error/"},E="wf_session_v1",B=1800*1e3,k=1440*60*1e3;class J{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>B,a=e-t.createdAt>k;return s||a}mintNewSession(t){return{sessionId:crypto.randomUUID(),createdAt:t,lastActivity:t}}loadSession(){try{const t=sessionStorage.getItem(E);return t?JSON.parse(t):null}catch{return null}}saveSession(t){try{sessionStorage.setItem(E,JSON.stringify(t))}catch{console.warn("Failed to save session context")}}}const D=class d{constructor(t,e){h(this,"baseUrl",null),h(this,"sessionManager"),this.companyToken=t,this.baseUrl=e?R:L,this.sessionManager=new J}static getGlobalInstance(){return window.WayflyerLogger||null}static setGlobalInstance(t){window.WayflyerLogger=t}static initialize(t,e){d.getGlobalInstance()&&console.warn("Logger re-initialized");const s=new d(t,e==null?void 0:e.isSandbox);d.setGlobalInstance(s)}static getMandatoryProperties(t){const e=G(t),[s,a]=(e==null?void 0:e.sub.split("|"))||[],c=e==null?void 0:e.user_id;return{partnerId:s,companyId:a,userId:c}}static getInstance(){const t=d.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=d.getInstance(),a=s.sessionManager.getSessionId(),c={...A,Authorization:`Bearer ${s.companyToken}`,"X-Session-ID":a};try{const o={...d.getMandatoryProperties(s.companyToken),...e},i=await fetch(s.baseUrl+O.event,{method:"POST",headers:c,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=d.getInstance(),a=s.sessionManager.getSessionId(),c={...A,"X-Session-ID":a};try{const o={...d.getMandatoryProperties(s.companyToken),...e},i=await fetch(s.baseUrl+O.error,{method:"POST",headers:c,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)}}};h(D,"isDevEnvironment",!1);let K=D;const q="https://partner-assets.wayflyer.com",W="https://partner-assets-sandbox.wayflyer.com";class F extends Error{constructor(e,s){super(`Request to ${s} failed with status ${e.status} ${e.statusText}`);g(this,"status");g(this,"statusText");g(this,"url");this.name="HttpError",this.status=e.status,this.statusText=e.statusText,this.url=s}}const X=async r=>{const t=r.partnerId,e=r==null?void 0:r.version,s=r==null?void 0:r.options,o=`${(s==null?void 0:s.isSandbox)?W:q}/${t}/copy/${e}/copy.json`;try{const i=await fetch(o);if(!i.ok)throw new F(i,o);const u=await i.json();return M(u,s)}catch(i){const u=navigator.userAgent;throw K.logError(`Error in partner copy loading from ${o} by userAgent: ${u}: ${i}`),i}},p=m.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)).max(3),buttonText:n.z.string().min(1).max(25)}),x=m.extend({imageUrl:n.z.string().trim().url(),title:n.z.string().trim().min(1),descriptions:n.z.array(n.z.object({title:n.z.string().trim().min(1),description:n.z.string().trim().min(1)})).length(3),buttons:n.z.object({accept:n.z.string().trim().min(1),close:n.z.string().trim().min(1)}),termsAndConditions:n.z.string().trim().min(1).refine(f(["termsUrl"]),{message:"termsUrl is required"})}),z=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),b=m.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)).max(3),buttonText:n.z.string().min(1).max(25)}),v=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),T=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),w=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),_=n.z.object({genericOffer:l(S),indicativeOffer:l(p),consentModal:l(x),completeApplication:l(z),completeKyc:l(v),signContract:l(T),selectOffer:l(b),provideAdditionalInfo:l(w),partnerTemplate:l(y).optional()}),H=n.z.object({genericOffer:S,indicativeOffer:p,consentModal:x,completeApplication:z,completeKyc:v,signContract:T,selectOffer:b,provideAdditionalInfo:w,partnerTemplate:y.optional()});exports.CohortMap=P;exports.CompleteApplicationSchema=z;exports.CompleteKycSchema=v;exports.ConsentModalSchema=x;exports.CopyBundleSchema=_;exports.CopySchema=H;exports.GenericOfferSchema=S;exports.IndicativeOfferSchema=p;exports.LanguageMap=l;exports.PartnerTemplateSchema=y;exports.ProvideAdditionalInfoSchema=w;exports.SelectOfferSchema=b;exports.SignContractSchema=T;exports.WayflyerDocumentSchema=m;exports.filterCopy=M;exports.loadAndConfigureCopy=X;exports.mustContainPlaceholders=f;
1
+ "use strict";var U=Object.defineProperty;var j=(r,t,e)=>t in r?U(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>j(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("zod"),m=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=m.extend({partnerLogoUrl:n.z.string().trim().url()}),p=m.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}}`)),P=r=>n.z.record(n.z.string(),r),l=r=>n.z.record(n.z.string(),P(r)),M=(r,t)=>{const e=(t==null?void 0:t.language)??"en",o="default",a=Object.keys(r);let c={};return a.forEach(i=>{const s=r[i];if(s){let u;const C=s[e]??s.en,I=C[o]??C.default;if(I?u=I:u=s.en.default,!u)throw new Error("Cohorted document doesn't exist");c={...c,[i]:u}}}),c};var $=Object.defineProperty,N=(r,t,e)=>t in r?$(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,h=(r,t,e)=>N(r,typeof t!="symbol"?t+"":t,e);const L="https://api.wayflyer.com",R="https://sandbox-api.wayflyer.com",G=r=>{try{return JSON.parse(atob(r.split(".")[1]))}catch{return null}},A={"Content-Type":"application/json"},O={event:"/financing/v1/company/event/",error:"/financing/v1/error/"},E="wf_session_v1",B=1800*1e3,_=1440*60*1e3;class k{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 o=e-t.lastActivity>B,a=e-t.createdAt>_;return o||a}mintNewSession(t){return{sessionId:crypto.randomUUID(),createdAt:t,lastActivity:t}}loadSession(){try{const t=sessionStorage.getItem(E);return t?JSON.parse(t):null}catch{return null}}saveSession(t){try{sessionStorage.setItem(E,JSON.stringify(t))}catch{console.warn("Failed to save session context")}}}const D=class d{constructor(t,e){h(this,"baseUrl",null),h(this,"sessionManager"),this.companyToken=t,this.baseUrl=e?R:L,this.sessionManager=new k}static getGlobalInstance(){return window.WayflyerLogger||null}static setGlobalInstance(t){window.WayflyerLogger=t}static initialize(t,e){d.getGlobalInstance()&&console.warn("Logger re-initialized");const o=new d(t,e==null?void 0:e.isSandbox);d.setGlobalInstance(o)}static getMandatoryProperties(t){const e=G(t),[o,a]=(e==null?void 0:e.sub.split("|"))||[],c=e==null?void 0:e.user_id;return{partner_id:o,company_id:a,user_id:c}}static getInstance(){const t=d.getGlobalInstance();if(!t)throw new Error("Logger not initialized. Call initialize() first.");return t}static async logEvent(t,e){if(this.isDevEnvironment)return;const o=d.getInstance(),a=o.sessionManager.getSessionId(),c={...A,Authorization:`Bearer ${o.companyToken}`,"X-Session-ID":a};try{const i={...d.getMandatoryProperties(o.companyToken),...e},s=await fetch(o.baseUrl+O.event,{method:"POST",headers:c,body:JSON.stringify({timestamp:new Date().toISOString(),event_name:t,properties:i})});if(s.status===200)return await s.json()}catch(i){console.error("Failed to log event",i)}}static async logError(t,e){if(this.isDevEnvironment){console.error(t);return}const o=d.getInstance(),a=o.sessionManager.getSessionId(),c={...A,"X-Session-ID":a};try{const i={...d.getMandatoryProperties(o.companyToken),...e},s=await fetch(o.baseUrl+O.error,{method:"POST",headers:c,body:JSON.stringify({timestamp:new Date().toISOString(),message:t,properties:i})});if(s.status===200)return await s.json()}catch(i){console.warn("Failed to log error",i)}}};h(D,"isDevEnvironment",!1);let J=D;const K="https://partner-assets.wayflyer.com",q="https://partner-assets-sandbox.wayflyer.com";class W extends Error{constructor(e,o){super(`Request to ${o} failed with status ${e.status} ${e.statusText}`);g(this,"status");g(this,"statusText");g(this,"url");this.name="HttpError",this.status=e.status,this.statusText=e.statusText,this.url=o}}const F=async r=>{const t=r.partnerId,e=r==null?void 0:r.version,o=r==null?void 0:r.options,i=`${(o==null?void 0:o.isSandbox)?q:K}/${t}/copy/${e}/copy.json`;try{const s=await fetch(i);if(!s.ok)throw new W(s,i);const u=await s.json();return M(u,o)}catch(s){const u=navigator.userAgent;throw J.logError(`Error in partner copy loading from ${i} by userAgent: ${u}: ${s}`),s}},S=m.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=m.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=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),z=m.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)}),v=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),T=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),w=m.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),X=n.z.object({genericOffer:l(p),indicativeOffer:l(S),consentModal:l(x),completeApplication:l(b),completeKyc:l(v),signContract:l(T),selectOffer:l(z),provideAdditionalInfo:l(w),partnerTemplate:l(y).optional()}),H=n.z.object({genericOffer:p,indicativeOffer:S,consentModal:x,completeApplication:b,completeKyc:v,signContract:T,selectOffer:z,provideAdditionalInfo:w,partnerTemplate:y.optional()});exports.CohortMap=P;exports.CompleteApplicationSchema=b;exports.CompleteKycSchema=v;exports.ConsentModalSchema=x;exports.CopyBundleSchema=X;exports.CopySchema=H;exports.GenericOfferSchema=p;exports.IndicativeOfferSchema=S;exports.LanguageMap=l;exports.PartnerTemplateSchema=y;exports.ProvideAdditionalInfoSchema=w;exports.SelectOfferSchema=z;exports.SignContractSchema=T;exports.WayflyerDocumentSchema=m;exports.filterCopy=M;exports.loadAndConfigureCopy=F;exports.mustContainPlaceholders=f;
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});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerName: z.string().trim(),\n termsOfServiceTitle: z.string().trim().max(120),\n termsAndServiceUrl: z.string().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)).max(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 { SdkOptionsType } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype Options = SdkOptionsType & {\n language?: string;\n cohort?: string;\n};\ntype FilterCopy = (copy: CopyBundle, options?: Options) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n const cohort = options?.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 y = Object.defineProperty;\nvar p = (o, t, e) => t in o ? y(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar l = (o, t, e) => p(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst u = \"https://api.wayflyer.com\", h = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, d = {\n \"Content-Type\": \"application/json\"\n}, g = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, I = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass v {\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 s = e - t.lastActivity > f, r = e - t.createdAt > m;\n return s || r;\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(I);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(I, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst n = class n {\n constructor(t, e) {\n l(this, \"baseUrl\", null);\n l(this, \"sessionManager\");\n this.companyToken = t, this.baseUrl = e ? h : u, this.sessionManager = new v();\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 n.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const s = new n(t, e == null ? void 0 : e.isSandbox);\n n.setGlobalInstance(s);\n }\n static getMandatoryProperties(t) {\n const e = w(t), [s, r] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partnerId: s, companyId: r, userId: a };\n }\n static getInstance() {\n const t = n.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 s = n.getInstance(), r = s.sessionManager.getSessionId(), a = {\n ...d,\n Authorization: `Bearer ${s.companyToken}`,\n \"X-Session-ID\": r\n };\n try {\n const i = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.event, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: i\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (i) {\n console.error(\"Failed to log event\", i);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = n.getInstance(), r = s.sessionManager.getSessionId(), a = {\n ...d,\n \"X-Session-ID\": r\n };\n try {\n const i = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.error, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: i\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (i) {\n console.warn(\"Failed to log error\", i);\n }\n }\n};\nl(n, \"isDevEnvironment\", !1);\nlet S = n;\nexport {\n S 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 { SdkOptionsType } 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 Options = SdkOptionsType & {\n language?: string;\n cohort?: string;\n};\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: Options;\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)).max(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 imageUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n descriptions: z\n .array(\n z.object({\n title: z.string().trim().min(1),\n description: z.string().trim().min(1),\n }),\n )\n .length(3),\n buttons: z.object({\n accept: z.string().trim().min(1),\n close: z.string().trim().min(1),\n }),\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 bulletPoints: z.array(z.string().min(1)).max(3),\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","y","p","o","l","u","h","w","d","g","I","f","m","v","r","n","a","i","c","S","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","../../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 I = Object.defineProperty;\nvar p = (o, t, e) => t in o ? I(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar l = (o, t, e) => p(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst u = \"https://api.wayflyer.com\", h = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, d = {\n \"Content-Type\": \"application/json\"\n}, g = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, S = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass v {\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 s = e - t.lastActivity > f, i = e - t.createdAt > m;\n return s || i;\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(S);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(S, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst n = class n {\n constructor(t, e) {\n l(this, \"baseUrl\", null);\n l(this, \"sessionManager\");\n this.companyToken = t, this.baseUrl = e ? h : u, this.sessionManager = new v();\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 n.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const s = new n(t, e == null ? void 0 : e.isSandbox);\n n.setGlobalInstance(s);\n }\n static getMandatoryProperties(t) {\n const e = w(t), [s, i] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partner_id: s, company_id: i, user_id: a };\n }\n static getInstance() {\n const t = n.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 s = n.getInstance(), i = s.sessionManager.getSessionId(), a = {\n ...d,\n Authorization: `Bearer ${s.companyToken}`,\n \"X-Session-ID\": i\n };\n try {\n const r = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.event, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: r\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (r) {\n console.error(\"Failed to log event\", r);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = n.getInstance(), i = s.sessionManager.getSessionId(), a = {\n ...d,\n \"X-Session-ID\": i\n };\n try {\n const r = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.error, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: r\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (r) {\n console.warn(\"Failed to log error\", r);\n }\n }\n};\nl(n, \"isDevEnvironment\", !1);\nlet y = n;\nexport {\n y 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","I","p","o","l","u","h","w","d","g","S","f","m","v","s","i","n","a","r","c","y","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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"}
package/dist/index.es.js CHANGED
@@ -1,58 +1,57 @@
1
1
  var P = Object.defineProperty;
2
- var j = (r, t, e) => t in r ? P(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
- var u = (r, t, e) => j(r, typeof t != "symbol" ? t + "" : t, e);
2
+ var M = (s, t, e) => t in s ? P(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var g = (s, t, e) => M(s, typeof t != "symbol" ? t + "" : t, e);
4
4
  import { z as n } from "zod";
5
5
  const d = n.object({
6
6
  version: n.string().min(1),
7
7
  language: n.string().min(2),
8
- cohort: n.string().min(1)
8
+ cohort: n.string().min(1),
9
+ type: n.string().min(1)
9
10
  }), v = d.extend({
10
- partnerName: n.string().trim(),
11
- termsOfServiceTitle: n.string().trim().max(120),
12
- termsAndServiceUrl: n.string().url()
11
+ partnerLogoUrl: n.string().trim().url()
13
12
  }), w = d.extend({
14
13
  mainText: n.string().min(1).max(150),
15
- bulletPoints: n.array(n.string().min(1)).max(3),
14
+ bulletPoints: n.array(n.string().min(1)).length(3),
16
15
  buttonText: n.string().min(1).max(25)
17
- }), y = (r) => (t) => r.every((e) => t.includes(`{${e}}`)), M = (r) => n.record(n.string(), r), l = (r) => n.record(n.string(), M(r)), N = (r, t) => {
18
- const e = (t == null ? void 0 : t.language) ?? "en", s = (t == null ? void 0 : t.cohort) ?? "default", a = Object.keys(r);
16
+ }), y = (s) => (t) => s.every((e) => t.includes(`{${e}}`)), $ = (s) => n.record(n.string(), s), l = (s) => n.record(n.string(), $(s)), j = (s, t) => {
17
+ const e = (t == null ? void 0 : t.language) ?? "en", r = "default", a = Object.keys(s);
19
18
  let c = {};
20
- return a.forEach((o) => {
21
- const i = r[o];
22
- if (i) {
23
- let g;
24
- const h = i[e] ?? i.en, x = h[s] ?? h.default;
25
- if (x ? g = x : g = i.en.default, !g)
19
+ return a.forEach((i) => {
20
+ const o = s[i];
21
+ if (o) {
22
+ let u;
23
+ const h = o[e] ?? o.en, p = h[r] ?? h.default;
24
+ if (p ? u = p : u = o.en.default, !u)
26
25
  throw new Error("Cohorted document doesn't exist");
27
26
  c = {
28
27
  ...c,
29
- [o]: g
28
+ [i]: u
30
29
  };
31
30
  }
32
31
  }), c;
33
32
  };
34
- var $ = Object.defineProperty, z = (r, t, e) => t in r ? $(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, f = (r, t, e) => z(r, typeof t != "symbol" ? t + "" : t, e);
35
- const R = "https://api.wayflyer.com", L = "https://sandbox-api.wayflyer.com", G = (r) => {
33
+ var N = Object.defineProperty, z = (s, t, e) => t in s ? N(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, f = (s, t, e) => z(s, typeof t != "symbol" ? t + "" : t, e);
34
+ const L = "https://api.wayflyer.com", R = "https://sandbox-api.wayflyer.com", G = (s) => {
36
35
  try {
37
- return JSON.parse(atob(r.split(".")[1]));
36
+ return JSON.parse(atob(s.split(".")[1]));
38
37
  } catch {
39
38
  return null;
40
39
  }
41
- }, p = {
40
+ }, x = {
42
41
  "Content-Type": "application/json"
43
42
  }, S = {
44
43
  event: "/financing/v1/company/event/",
45
44
  error: "/financing/v1/error/"
46
- }, b = "wf_session_v1", k = 1800 * 1e3, B = 1440 * 60 * 1e3;
47
- class J {
45
+ }, b = "wf_session_v1", _ = 1800 * 1e3, k = 1440 * 60 * 1e3;
46
+ class B {
48
47
  getSessionId() {
49
48
  const t = Date.now();
50
49
  let e = this.loadSession();
51
50
  return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;
52
51
  }
53
52
  isSessionExpired(t, e) {
54
- const s = e - t.lastActivity > k, a = e - t.createdAt > B;
55
- return s || a;
53
+ const r = e - t.lastActivity > _, a = e - t.createdAt > k;
54
+ return r || a;
56
55
  }
57
56
  mintNewSession(t) {
58
57
  return {
@@ -79,7 +78,7 @@ class J {
79
78
  }
80
79
  const T = class m {
81
80
  constructor(t, e) {
82
- f(this, "baseUrl", null), f(this, "sessionManager"), this.companyToken = t, this.baseUrl = e ? L : R, this.sessionManager = new J();
81
+ f(this, "baseUrl", null), f(this, "sessionManager"), this.companyToken = t, this.baseUrl = e ? R : L, this.sessionManager = new B();
83
82
  }
84
83
  static getGlobalInstance() {
85
84
  return window.WayflyerLogger || null;
@@ -89,12 +88,12 @@ const T = class m {
89
88
  }
90
89
  static initialize(t, e) {
91
90
  m.getGlobalInstance() && console.warn("Logger re-initialized");
92
- const s = new m(t, e == null ? void 0 : e.isSandbox);
93
- m.setGlobalInstance(s);
91
+ const r = new m(t, e == null ? void 0 : e.isSandbox);
92
+ m.setGlobalInstance(r);
94
93
  }
95
94
  static getMandatoryProperties(t) {
96
- const e = G(t), [s, a] = (e == null ? void 0 : e.sub.split("|")) || [], c = e == null ? void 0 : e.user_id;
97
- return { partnerId: s, companyId: a, userId: c };
95
+ const e = G(t), [r, a] = (e == null ? void 0 : e.sub.split("|")) || [], c = e == null ? void 0 : e.user_id;
96
+ return { partner_id: r, company_id: a, user_id: c };
98
97
  }
99
98
  static getInstance() {
100
99
  const t = m.getGlobalInstance();
@@ -104,28 +103,28 @@ const T = class m {
104
103
  }
105
104
  static async logEvent(t, e) {
106
105
  if (this.isDevEnvironment) return;
107
- const s = m.getInstance(), a = s.sessionManager.getSessionId(), c = {
108
- ...p,
109
- Authorization: `Bearer ${s.companyToken}`,
106
+ const r = m.getInstance(), a = r.sessionManager.getSessionId(), c = {
107
+ ...x,
108
+ Authorization: `Bearer ${r.companyToken}`,
110
109
  "X-Session-ID": a
111
110
  };
112
111
  try {
113
- const o = {
114
- ...m.getMandatoryProperties(s.companyToken),
112
+ const i = {
113
+ ...m.getMandatoryProperties(r.companyToken),
115
114
  ...e
116
- }, i = await fetch(s.baseUrl + S.event, {
115
+ }, o = await fetch(r.baseUrl + S.event, {
117
116
  method: "POST",
118
117
  headers: c,
119
118
  body: JSON.stringify({
120
119
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
121
120
  event_name: t,
122
- properties: o
121
+ properties: i
123
122
  })
124
123
  });
125
- if (i.status === 200)
126
- return await i.json();
127
- } catch (o) {
128
- console.error("Failed to log event", o);
124
+ if (o.status === 200)
125
+ return await o.json();
126
+ } catch (i) {
127
+ console.error("Failed to log event", i);
129
128
  }
130
129
  }
131
130
  static async logError(t, e) {
@@ -133,84 +132,75 @@ const T = class m {
133
132
  console.error(t);
134
133
  return;
135
134
  }
136
- const s = m.getInstance(), a = s.sessionManager.getSessionId(), c = {
137
- ...p,
135
+ const r = m.getInstance(), a = r.sessionManager.getSessionId(), c = {
136
+ ...x,
138
137
  "X-Session-ID": a
139
138
  };
140
139
  try {
141
- const o = {
142
- ...m.getMandatoryProperties(s.companyToken),
140
+ const i = {
141
+ ...m.getMandatoryProperties(r.companyToken),
143
142
  ...e
144
- }, i = await fetch(s.baseUrl + S.error, {
143
+ }, o = await fetch(r.baseUrl + S.error, {
145
144
  method: "POST",
146
145
  headers: c,
147
146
  body: JSON.stringify({
148
147
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
149
148
  message: t,
150
- properties: o
149
+ properties: i
151
150
  })
152
151
  });
153
- if (i.status === 200)
154
- return await i.json();
155
- } catch (o) {
156
- console.warn("Failed to log error", o);
152
+ if (o.status === 200)
153
+ return await o.json();
154
+ } catch (i) {
155
+ console.warn("Failed to log error", i);
157
156
  }
158
157
  }
159
158
  };
160
159
  f(T, "isDevEnvironment", !1);
161
- let K = T;
162
- const q = "https://partner-assets.wayflyer.com", F = "https://partner-assets-sandbox.wayflyer.com";
163
- class W extends Error {
164
- constructor(e, s) {
165
- super(`Request to ${s} failed with status ${e.status} ${e.statusText}`);
166
- u(this, "status");
167
- u(this, "statusText");
168
- u(this, "url");
169
- this.name = "HttpError", this.status = e.status, this.statusText = e.statusText, this.url = s;
160
+ let J = T;
161
+ const K = "https://partner-assets.wayflyer.com", q = "https://partner-assets-sandbox.wayflyer.com";
162
+ class F extends Error {
163
+ constructor(e, r) {
164
+ super(`Request to ${r} failed with status ${e.status} ${e.statusText}`);
165
+ g(this, "status");
166
+ g(this, "statusText");
167
+ g(this, "url");
168
+ this.name = "HttpError", this.status = e.status, this.statusText = e.statusText, this.url = r;
170
169
  }
171
170
  }
172
- const H = async (r) => {
173
- const t = r.partnerId, e = r == null ? void 0 : r.version, s = r == null ? void 0 : r.options, o = `${(s == null ? void 0 : s.isSandbox) ? F : q}/${t}/copy/${e}/copy.json`;
171
+ const H = async (s) => {
172
+ const t = s.partnerId, e = s == null ? void 0 : s.version, r = s == null ? void 0 : s.options, i = `${(r == null ? void 0 : r.isSandbox) ? q : K}/${t}/copy/${e}/copy.json`;
174
173
  try {
175
- const i = await fetch(o);
176
- if (!i.ok)
177
- throw new W(i, o);
178
- const g = await i.json();
179
- return N(g, s);
180
- } catch (i) {
181
- const g = navigator.userAgent;
182
- throw K.logError(`Error in partner copy loading from ${o} by userAgent: ${g}: ${i}`), i;
174
+ const o = await fetch(i);
175
+ if (!o.ok)
176
+ throw new F(o, i);
177
+ const u = await o.json();
178
+ return j(u, r);
179
+ } catch (o) {
180
+ const u = navigator.userAgent;
181
+ throw J.logError(`Error in partner copy loading from ${i} by userAgent: ${u}: ${o}`), o;
183
182
  }
184
183
  }, I = d.extend({
185
184
  mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
186
185
  message: "mainText must include {amount}"
187
186
  }),
188
- bulletPoints: n.array(n.string().min(1)).max(3),
187
+ bulletPoints: n.array(n.string().min(1)).length(3),
189
188
  buttonText: n.string().min(1).max(25)
190
189
  }), A = d.extend({
191
- imageUrl: n.string().trim().url(),
190
+ logoUrl: n.string().trim().url(),
192
191
  title: n.string().trim().min(1),
193
- descriptions: n.array(
194
- n.object({
195
- title: n.string().trim().min(1),
196
- description: n.string().trim().min(1)
197
- })
198
- ).length(3),
199
- buttons: n.object({
200
- accept: n.string().trim().min(1),
201
- close: n.string().trim().min(1)
202
- }),
192
+ bulletPoints: n.array(n.string().min(1)).length(3),
193
+ button: n.string().trim().min(1),
203
194
  termsAndConditions: n.string().trim().min(1).refine(y(["termsUrl"]), {
204
195
  message: "termsUrl is required"
205
196
  })
206
- }), O = d.extend({
197
+ }), E = d.extend({
207
198
  mainText: n.string().min(1).max(150),
208
199
  buttonText: n.string().min(1).max(25)
209
- }), E = d.extend({
200
+ }), O = d.extend({
210
201
  mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
211
202
  message: "mainText must include {amount}"
212
203
  }),
213
- bulletPoints: n.array(n.string().min(1)).max(3),
214
204
  buttonText: n.string().min(1).max(25)
215
205
  }), C = d.extend({
216
206
  mainText: n.string().min(1).max(150),
@@ -225,26 +215,26 @@ const H = async (r) => {
225
215
  genericOffer: l(w),
226
216
  indicativeOffer: l(I),
227
217
  consentModal: l(A),
228
- completeApplication: l(O),
218
+ completeApplication: l(E),
229
219
  completeKyc: l(C),
230
220
  signContract: l(U),
231
- selectOffer: l(E),
221
+ selectOffer: l(O),
232
222
  provideAdditionalInfo: l(D),
233
223
  partnerTemplate: l(v).optional()
234
224
  }), V = n.object({
235
225
  genericOffer: w,
236
226
  indicativeOffer: I,
237
227
  consentModal: A,
238
- completeApplication: O,
228
+ completeApplication: E,
239
229
  completeKyc: C,
240
230
  signContract: U,
241
- selectOffer: E,
231
+ selectOffer: O,
242
232
  provideAdditionalInfo: D,
243
233
  partnerTemplate: v.optional()
244
234
  });
245
235
  export {
246
- M as CohortMap,
247
- O as CompleteApplicationSchema,
236
+ $ as CohortMap,
237
+ E as CompleteApplicationSchema,
248
238
  C as CompleteKycSchema,
249
239
  A as ConsentModalSchema,
250
240
  Q as CopyBundleSchema,
@@ -254,10 +244,10 @@ export {
254
244
  l as LanguageMap,
255
245
  v as PartnerTemplateSchema,
256
246
  D as ProvideAdditionalInfoSchema,
257
- E as SelectOfferSchema,
247
+ O as SelectOfferSchema,
258
248
  U as SignContractSchema,
259
249
  d as WayflyerDocumentSchema,
260
- N as filterCopy,
250
+ j as filterCopy,
261
251
  H as loadAndConfigureCopy,
262
252
  y as mustContainPlaceholders
263
253
  };
@@ -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});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerName: z.string().trim(),\n termsOfServiceTitle: z.string().trim().max(120),\n termsAndServiceUrl: z.string().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)).max(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 { SdkOptionsType } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype Options = SdkOptionsType & {\n language?: string;\n cohort?: string;\n};\ntype FilterCopy = (copy: CopyBundle, options?: Options) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n const cohort = options?.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 y = Object.defineProperty;\nvar p = (o, t, e) => t in o ? y(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar l = (o, t, e) => p(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst u = \"https://api.wayflyer.com\", h = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, d = {\n \"Content-Type\": \"application/json\"\n}, g = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, I = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass v {\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 s = e - t.lastActivity > f, r = e - t.createdAt > m;\n return s || r;\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(I);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(I, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst n = class n {\n constructor(t, e) {\n l(this, \"baseUrl\", null);\n l(this, \"sessionManager\");\n this.companyToken = t, this.baseUrl = e ? h : u, this.sessionManager = new v();\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 n.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const s = new n(t, e == null ? void 0 : e.isSandbox);\n n.setGlobalInstance(s);\n }\n static getMandatoryProperties(t) {\n const e = w(t), [s, r] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partnerId: s, companyId: r, userId: a };\n }\n static getInstance() {\n const t = n.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 s = n.getInstance(), r = s.sessionManager.getSessionId(), a = {\n ...d,\n Authorization: `Bearer ${s.companyToken}`,\n \"X-Session-ID\": r\n };\n try {\n const i = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.event, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: i\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (i) {\n console.error(\"Failed to log event\", i);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = n.getInstance(), r = s.sessionManager.getSessionId(), a = {\n ...d,\n \"X-Session-ID\": r\n };\n try {\n const i = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.error, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: i\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (i) {\n console.warn(\"Failed to log error\", i);\n }\n }\n};\nl(n, \"isDevEnvironment\", !1);\nlet S = n;\nexport {\n S 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 { SdkOptionsType } 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 Options = SdkOptionsType & {\n language?: string;\n cohort?: string;\n};\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: Options;\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)).max(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 imageUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n descriptions: z\n .array(\n z.object({\n title: z.string().trim().min(1),\n description: z.string().trim().min(1),\n }),\n )\n .length(3),\n buttons: z.object({\n accept: z.string().trim().min(1),\n close: z.string().trim().min(1),\n }),\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 bulletPoints: z.array(z.string().min(1)).max(3),\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","y","p","o","l","u","h","w","d","g","I","f","m","v","r","n","a","i","c","S","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","../../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 I = Object.defineProperty;\nvar p = (o, t, e) => t in o ? I(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar l = (o, t, e) => p(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst u = \"https://api.wayflyer.com\", h = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, d = {\n \"Content-Type\": \"application/json\"\n}, g = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, S = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass v {\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 s = e - t.lastActivity > f, i = e - t.createdAt > m;\n return s || i;\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(S);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(S, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst n = class n {\n constructor(t, e) {\n l(this, \"baseUrl\", null);\n l(this, \"sessionManager\");\n this.companyToken = t, this.baseUrl = e ? h : u, this.sessionManager = new v();\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 n.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const s = new n(t, e == null ? void 0 : e.isSandbox);\n n.setGlobalInstance(s);\n }\n static getMandatoryProperties(t) {\n const e = w(t), [s, i] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partner_id: s, company_id: i, user_id: a };\n }\n static getInstance() {\n const t = n.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 s = n.getInstance(), i = s.sessionManager.getSessionId(), a = {\n ...d,\n Authorization: `Bearer ${s.companyToken}`,\n \"X-Session-ID\": i\n };\n try {\n const r = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.event, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: r\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (r) {\n console.error(\"Failed to log event\", r);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = n.getInstance(), i = s.sessionManager.getSessionId(), a = {\n ...d,\n \"X-Session-ID\": i\n };\n try {\n const r = {\n ...n.getMandatoryProperties(s.companyToken),\n ...e\n }, c = await fetch(s.baseUrl + g.error, {\n method: \"POST\",\n headers: a,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: r\n })\n });\n if (c.status === 200)\n return await c.json();\n } catch (r) {\n console.warn(\"Failed to log error\", r);\n }\n }\n};\nl(n, \"isDevEnvironment\", !1);\nlet y = n;\nexport {\n y 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","I","p","o","l","u","h","w","d","g","S","f","m","v","s","i","n","a","r","c","y","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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"}
@@ -4,6 +4,7 @@ export declare const CompleteApplicationSchema: z.ZodObject<{
4
4
  version: z.ZodString;
5
5
  language: z.ZodString;
6
6
  cohort: z.ZodString;
7
+ type: z.ZodString;
7
8
  } & {
8
9
  mainText: z.ZodString;
9
10
  buttonText: z.ZodString;
@@ -11,12 +12,14 @@ export declare const CompleteApplicationSchema: z.ZodObject<{
11
12
  version: string;
12
13
  language: string;
13
14
  cohort: string;
15
+ type: string;
14
16
  mainText: string;
15
17
  buttonText: string;
16
18
  }, {
17
19
  version: string;
18
20
  language: string;
19
21
  cohort: string;
22
+ type: string;
20
23
  mainText: string;
21
24
  buttonText: string;
22
25
  }>;
@@ -4,6 +4,7 @@ export declare const CompleteKycSchema: z.ZodObject<{
4
4
  version: z.ZodString;
5
5
  language: z.ZodString;
6
6
  cohort: z.ZodString;
7
+ type: z.ZodString;
7
8
  } & {
8
9
  mainText: z.ZodString;
9
10
  buttonText: z.ZodString;
@@ -11,12 +12,14 @@ export declare const CompleteKycSchema: z.ZodObject<{
11
12
  version: string;
12
13
  language: string;
13
14
  cohort: string;
15
+ type: string;
14
16
  mainText: string;
15
17
  buttonText: string;
16
18
  }, {
17
19
  version: string;
18
20
  language: string;
19
21
  cohort: string;
22
+ type: string;
20
23
  mainText: string;
21
24
  buttonText: string;
22
25
  }>;