@wf-financing/ui-assets 0.3.3 → 0.3.5

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