@wf-financing/ui-assets 1.1.2 → 1.1.3

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 M=Object.defineProperty;var U=(r,t,e)=>t in r?M(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>U(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}}`)),E=r=>n.z.record(n.z.string(),r),c=r=>n.z.record(n.z.string(),E(r)),P=(r,t)=>{const e=(t==null?void 0:t.language)??"en",s="default",o=Object.keys(r);let i={};return o.forEach(u=>{const a=r[u];if(a){let d;const C=a[e]??a.en,I=C[s]??C.default;if(I?d=I:d=a.en.default,!d)throw new Error("Cohorted document doesn't exist");i={...i,[u]:d}}}),i};var j=Object.defineProperty,$=(r,t,e)=>t in r?j(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,h=(r,t,e)=>$(r,typeof t!="symbol"?t+"":t,e);const N="https://api.wayflyer.com",L="https://sandbox-api.wayflyer.com",R=r=>{try{return JSON.parse(atob(r.split(".")[1]))}catch{return null}},q={"Content-Type":"application/json"},A={event:"/financing/v1/company/event/",error:"/financing/v1/error/"},O="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 s=e-t.lastActivity>G,o=e-t.createdAt>B;return s||o}mintNewSession(t){return{sessionId:crypto.randomUUID(),createdAt:t,lastActivity:t}}loadSession(){try{const t=sessionStorage.getItem(O);return t?JSON.parse(t):null}catch{return null}}saveSession(t){try{sessionStorage.setItem(O,JSON.stringify(t))}catch{console.warn("Failed to save session context")}}}const D=class l{constructor(t,e,s){h(this,"baseUrl",null),h(this,"sessionManager"),h(this,"headers"),this.companyToken=t,this.baseUrl=s?L:N,this.sessionManager=new K,this.headers={...q,...e?{"X-SDK-Version":e}:{}}}get requestHeaders(){const t=l.getInstance(),e=t.sessionManager.getSessionId();return{Authorization:`Bearer ${t.companyToken}`,"X-Session-ID":e,...t.headers}}static getGlobalInstance(){return window.WayflyerLogger||null}static setGlobalInstance(t){window.WayflyerLogger=t}static initialize(t,e,s){l.getGlobalInstance()&&console.warn("Logger re-initialized");const o=new l(t,e,s==null?void 0:s.isSandbox);l.setGlobalInstance(o)}static getMandatoryProperties(t){const e=R(t),[s,o]=(e==null?void 0:e.sub.split("|"))||[],i=e==null?void 0:e.user_id;return{partner_id:s,company_id:o,user_id:i}}static getInstance(){const t=l.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=l.getInstance();try{const o={...l.getMandatoryProperties(s.companyToken),...e},i=await fetch(s.baseUrl+A.event,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),event_name:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.error("Failed to log event",o)}}static async logError(t,e){if(this.isDevEnvironment){console.error(t);return}const s=l.getInstance();try{const o={...l.getMandatoryProperties(s.companyToken),...e},i=await fetch(s.baseUrl+A.error,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),message:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.warn("Failed to log error",o)}}};h(D,"isDevEnvironment",!1);let k=D;const H="https://partner-assets.wayflyer.com",J="https://partner-assets-sandbox.wayflyer.com";class _ 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 W=async r=>{const t=r.partnerId,e=r==null?void 0:r.version,s=r==null?void 0:r.options,u=`${(s==null?void 0:s.isSandbox)?J:H}/${t}/copy/${e}/copy.json`;try{const a=await fetch(u);if(!a.ok)throw new _(a,u);const d=await a.json();return P(d,s)}catch(a){const d=navigator.userAgent;throw k.logError(`Error in partner copy loading from ${u} by userAgent: ${d}: ${a}`),a}},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)}),F=n.z.object({genericOffer:c(p),indicativeOffer:c(S),consentModal:c(x),completeApplication:c(b),completeKyc:c(v),signContract:c(T),selectOffer:c(z),provideAdditionalInfo:c(w),partnerTemplate:c(y).optional()}),X=n.z.object({genericOffer:p,indicativeOffer:S,consentModal:x,completeApplication:b,completeKyc:v,signContract:T,selectOffer:z,provideAdditionalInfo:w,partnerTemplate:y.optional()});exports.CohortMap=E;exports.CompleteApplicationSchema=b;exports.CompleteKycSchema=v;exports.ConsentModalSchema=x;exports.CopyBundleSchema=F;exports.CopySchema=X;exports.GenericOfferSchema=p;exports.IndicativeOfferSchema=S;exports.LanguageMap=c;exports.PartnerTemplateSchema=y;exports.ProvideAdditionalInfoSchema=w;exports.SelectOfferSchema=z;exports.SignContractSchema=T;exports.WayflyerDocumentSchema=m;exports.filterCopy=P;exports.loadAndConfigureCopy=W;exports.mustContainPlaceholders=f;
1
+ "use strict";var M=Object.defineProperty;var U=(r,t,e)=>t in r?M(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var h=(r,t,e)=>U(r,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("zod"),d=n.z.object({version:n.z.string().min(1),language:n.z.string().min(2),cohort:n.z.string().min(1),type:n.z.string().min(1)}),y=d.extend({partnerLogoUrl:n.z.string().trim().url()}),p=d.extend({mainText:n.z.string().min(1).max(150),bulletPoints:n.z.array(n.z.string().min(1)).length(3),buttonText:n.z.string().min(1).max(25)}),f=r=>t=>r.every(e=>t.includes(`{${e}}`)),E=r=>n.z.record(n.z.string(),r),m=r=>n.z.record(n.z.string(),E(r)),P=(r,t)=>{const e=(t==null?void 0:t.language)??"en",s="default",o=Object.keys(r);let i={};return o.forEach(u=>{const a=r[u];if(a){let l;const C=a[e]??a.en,I=C[s]??C.default;if(I?l=I:l=a.en.default,!l)throw new Error("Cohorted document doesn't exist");i={...i,[u]:l}}}),i};var j=Object.defineProperty,$=(r,t,e)=>t in r?j(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e,g=(r,t,e)=>$(r,typeof t!="symbol"?t+"":t,e);const N="https://api.wayflyer.com",L="https://sandbox-api.wayflyer.com",k=r=>{try{return JSON.parse(atob(r.split(".")[1]))}catch{return null}},R={"Content-Type":"application/json"},A={event:"/financing/v1/company/event/",error:"/financing/v1/error/"},O="wf_session_v1",q=1800*1e3,G=1440*60*1e3;class V{getSessionId(){const t=Date.now();let e=this.loadSession();return(!e||this.isSessionExpired(e,t))&&(e=this.mintNewSession(t)),e.lastActivity=t,this.saveSession(e),e.sessionId}isSessionExpired(t,e){const s=e-t.lastActivity>q,o=e-t.createdAt>G;return s||o}mintNewSession(t){return{sessionId:crypto.randomUUID(),createdAt:t,lastActivity:t}}loadSession(){try{const t=sessionStorage.getItem(O);return t?JSON.parse(t):null}catch{return null}}saveSession(t){try{sessionStorage.setItem(O,JSON.stringify(t))}catch{console.warn("Failed to save session context")}}}const D=class c{constructor(t,e,s,o){g(this,"baseUrl",null),g(this,"sessionManager"),g(this,"headers"),g(this,"entryPointVersion"),g(this,"sdkVersion"),this.companyToken=t,this.baseUrl=o?L:N,this.sessionManager=new V,this.entryPointVersion=e,this.sdkVersion=s,this.headers={...R,...s?{"X-SDK-Version":s}:{}}}get requestHeaders(){const t=c.getInstance(),e=t.sessionManager.getSessionId();return{Authorization:`Bearer ${t.companyToken}`,"X-Session-ID":e,...t.headers}}static getGlobalInstance(){return window.WayflyerLogger||null}static setGlobalInstance(t){window.WayflyerLogger=t}static initialize(t,e,s,o){c.getGlobalInstance()&&console.warn("Logger re-initialized");const i=new c(t,e,s,o==null?void 0:o.isSandbox);c.setGlobalInstance(i)}static getMandatoryProperties(){const t=c.getInstance(),{sdkVersion:e,companyToken:s,entryPointVersion:o}=t,i=k(s),[u,a]=(i==null?void 0:i.sub.split("|"))||[],l=i==null?void 0:i.user_id;return{partner_id:u,company_id:a,user_id:l,entry_point_version:o,...e?{sdk_version:e}:{}}}static getInstance(){const t=c.getGlobalInstance();if(!t)throw new Error("Logger not initialized. Call initialize() first.");return t}static async logEvent(t,e){if(this.isDevEnvironment)return;const s=c.getInstance();try{const o={...c.getMandatoryProperties(),...e},i=await fetch(s.baseUrl+A.event,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),event_name:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.error("Failed to log event",o)}}static async logError(t,e){if(this.isDevEnvironment){console.error(t);return}const s=c.getInstance();try{const o={...c.getMandatoryProperties(),...e},i=await fetch(s.baseUrl+A.error,{method:"POST",headers:s.requestHeaders,body:JSON.stringify({timestamp:new Date().toISOString(),message:t,properties:o})});if(i.status===200)return await i.json()}catch(o){console.warn("Failed to log error",o)}}};g(D,"isDevEnvironment",!1);let _=D;const B="https://partner-assets.wayflyer.com",K="https://partner-assets-sandbox.wayflyer.com";class H extends Error{constructor(e,s){super(`Request to ${s} failed with status ${e.status} ${e.statusText}`);h(this,"status");h(this,"statusText");h(this,"url");this.name="HttpError",this.status=e.status,this.statusText=e.statusText,this.url=s}}const J=async r=>{const t=r.partnerId,e=r==null?void 0:r.version,s=r==null?void 0:r.options,u=`${(s==null?void 0:s.isSandbox)?K:B}/${t}/copy/${e}/copy.json`;try{const a=await fetch(u);if(!a.ok)throw new H(a,u);const l=await a.json();return P(l,s)}catch(a){const l=navigator.userAgent;throw _.logError(`Error in partner copy loading from ${u} by userAgent: ${l}: ${a}`),a}},S=d.extend({mainText:n.z.string().trim().min(1).max(160).refine(f(["amount"]),{message:"mainText must include {amount}"}),bulletPoints:n.z.array(n.z.string().min(1)).length(3),buttonText:n.z.string().min(1).max(25)}),x=d.extend({logoUrl:n.z.string().trim().url(),title:n.z.string().trim().min(1),bulletPoints:n.z.array(n.z.string().min(1)).length(3),button:n.z.string().trim().min(1),termsAndConditions:n.z.string().trim().min(1).refine(f(["termsUrl"]),{message:"termsUrl is required"})}),b=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),v=d.extend({mainText:n.z.string().trim().min(1).max(160).refine(f(["amount"]),{message:"mainText must include {amount}"}),buttonText:n.z.string().min(1).max(25)}),z=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),w=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),T=d.extend({mainText:n.z.string().min(1).max(150),buttonText:n.z.string().min(1).max(25)}),W=n.z.object({genericOffer:m(p),indicativeOffer:m(S),consentModal:m(x),completeApplication:m(b),completeKyc:m(z),signContract:m(w),selectOffer:m(v),provideAdditionalInfo:m(T),partnerTemplate:m(y).optional()}),F=n.z.object({genericOffer:p,indicativeOffer:S,consentModal:x,completeApplication:b,completeKyc:z,signContract:w,selectOffer:v,provideAdditionalInfo:T,partnerTemplate:y.optional()});exports.CohortMap=E;exports.CompleteApplicationSchema=b;exports.CompleteKycSchema=z;exports.ConsentModalSchema=x;exports.CopyBundleSchema=W;exports.CopySchema=F;exports.GenericOfferSchema=p;exports.IndicativeOfferSchema=S;exports.LanguageMap=m;exports.PartnerTemplateSchema=y;exports.ProvideAdditionalInfoSchema=T;exports.SelectOfferSchema=v;exports.SignContractSchema=w;exports.WayflyerDocumentSchema=d;exports.filterCopy=P;exports.loadAndConfigureCopy=J;exports.mustContainPlaceholders=f;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../../logger/dist/index.es.js","../src/config/urls.ts","../src/utils/loadCopy.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","var g = Object.defineProperty;\nvar y = (o, t, e) => t in o ? g(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar i = (o, t, e) => y(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst S = \"https://api.wayflyer.com\", u = \"https://sandbox-api.wayflyer.com\", h = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, I = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", p = 1800 * 1e3, w = 1440 * 60 * 1e3;\nclass f {\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 > p, n = e - t.createdAt > w;\n return s || n;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst r = class r {\n constructor(t, e, s) {\n i(this, \"baseUrl\", null);\n i(this, \"sessionManager\");\n i(this, \"headers\");\n this.companyToken = t, this.baseUrl = s ? u : S, this.sessionManager = new f(), this.headers = {\n ...I,\n ...e ? { \"X-SDK-Version\": e } : {}\n };\n }\n get requestHeaders() {\n const t = r.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, s) {\n r.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const n = new r(t, e, s == null ? void 0 : s.isSandbox);\n r.setGlobalInstance(n);\n }\n static getMandatoryProperties(t) {\n const e = h(t), [s, n] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partner_id: s, company_id: n, user_id: a };\n }\n static getInstance() {\n const t = r.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 = r.getInstance();\n try {\n const n = {\n ...r.getMandatoryProperties(s.companyToken),\n ...e\n }, a = await fetch(s.baseUrl + c.event, {\n method: \"POST\",\n headers: s.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: n\n })\n });\n if (a.status === 200)\n return await a.json();\n } catch (n) {\n console.error(\"Failed to log event\", n);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = r.getInstance();\n try {\n const n = {\n ...r.getMandatoryProperties(s.companyToken),\n ...e\n }, a = await fetch(s.baseUrl + c.error, {\n method: \"POST\",\n headers: s.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: n\n })\n });\n if (a.status === 200)\n return await a.json();\n } catch (n) {\n console.warn(\"Failed to log error\", n);\n }\n }\n};\ni(r, \"isDevEnvironment\", !1);\nlet d = r;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","g","y","o","i","S","u","h","I","c","l","p","w","f","n","r","a","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"2QAEaA,EAAyBC,EAAAA,EAAE,OAAO,CAC7C,QAASA,EAAAA,EAAE,SAAS,IAAI,CAAC,EACzB,SAAUA,EAAAA,EAAE,SAAS,IAAI,CAAC,EAC1B,OAAQA,EAAAA,EAAE,SAAS,IAAI,CAAC,EACxB,KAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,CACxB,CAAC,ECHYC,EAAwBF,EAAuB,OAAO,CACjE,eAAgBC,EAAAA,EAAE,SAAS,KAAA,EAAO,IAAA,CACpC,CAAC,ECFYE,EAAqBH,EAAuB,OAAO,CAC9D,SAAUC,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EACnC,aAAcA,EAAAA,EAAE,MAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EACjD,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECRYG,EAA2BC,GAC9BC,GAAkBD,EAAa,MAAOE,GAAgBD,EAAM,SAAS,IAAIC,CAAW,GAAG,CAAC,ECCrFC,EAAqCC,GAAcR,EAAAA,EAAE,OAAOA,EAAAA,EAAE,OAAA,EAAUQ,CAAM,EAC9EC,EAAuCD,GAAcR,IAAE,OAAOA,EAAAA,EAAE,OAAA,EAAUO,EAAUC,CAAM,CAAC,ECG3FE,EAAyB,CAACC,EAAMC,IAAY,CACvD,MAAMC,GAAWD,GAAA,YAAAA,EAAS,WAAY,KAGhCE,EAAS,UACTC,EAAe,OAAO,KAAKJ,CAAI,EACrC,IAAIK,EAAiB,CAAA,EAErB,OAAAD,EAAa,QAASE,GAAQ,CAC5B,MAAMC,EAAWP,EAAKM,CAAG,EAEzB,GAAIC,EAAU,CACZ,IAAIC,EACJ,MAAMC,EAAoBF,EAASL,CAAQ,GAAKK,EAAS,GACnDG,EAAmBD,EAAkBN,CAAM,GAAKM,EAAkB,QAQxE,GANKC,EAGHF,EAAmBE,EAFnBF,EAAmBD,EAAS,GAAG,QAK7B,CAACC,EACH,MAAM,IAAI,MAAM,iCAAiC,EAGnDH,EAAiB,CACf,GAAGA,EACH,CAACC,CAAG,EAAGE,CAAA,CAEX,CACF,CAAC,EAEMH,CACT,ECxCA,IAAIM,EAAI,OAAO,eACXC,EAAI,CAACC,EAAG,EAAG,IAAM,KAAKA,EAAIF,EAAEE,EAAG,EAAG,CAAE,WAAY,GAAI,aAAc,GAAI,SAAU,GAAI,MAAO,CAAC,CAAE,EAAIA,EAAE,CAAC,EAAI,EACzGC,EAAI,CAACD,EAAG,EAAG,IAAMD,EAAEC,EAAG,OAAO,GAAK,SAAW,EAAI,GAAK,EAAG,CAAC,EAC9D,MAAME,EAAI,2BAA4BC,EAAI,mCAAoCC,EAAKJ,GAAM,CACvF,GAAI,CACF,OAAO,KAAK,MAAM,KAAKA,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CACzC,MAAQ,CACN,OAAO,IACT,CACF,EAAGK,EAAI,CACL,eAAgB,kBAClB,EAAGC,EAAI,CACL,MAAO,+BACP,MAAO,sBACT,EAAGC,EAAI,gBAAiBC,EAAI,KAAO,IAAKC,EAAI,KAAO,GAAK,IACxD,MAAMC,CAAE,CACN,cAAe,CACb,MAAM,EAAI,KAAK,IAAG,EAClB,IAAI,EAAI,KAAK,YAAW,EACxB,OAAQ,CAAC,GAAK,KAAK,iBAAiB,EAAG,CAAC,KAAO,EAAI,KAAK,eAAe,CAAC,GAAI,EAAE,aAAe,EAAG,KAAK,YAAY,CAAC,EAAG,EAAE,SACzH,CACA,iBAAiB,EAAG,EAAG,CACrB,MAAM,EAAI,EAAI,EAAE,aAAeF,EAAGG,EAAI,EAAI,EAAE,UAAYF,EACxD,OAAO,GAAKE,CACd,CACA,eAAe,EAAG,CAChB,MAAO,CACL,UAAW,OAAO,WAAU,EAC5B,UAAW,EACX,aAAc,CACpB,CACE,CACA,aAAc,CACZ,GAAI,CACF,MAAM,EAAI,eAAe,QAAQJ,CAAC,EAClC,OAAO,EAAI,KAAK,MAAM,CAAC,EAAI,IAC7B,MAAQ,CACN,OAAO,IACT,CACF,CACA,YAAY,EAAG,CACb,GAAI,CACF,eAAe,QAAQA,EAAG,KAAK,UAAU,CAAC,CAAC,CAC7C,MAAQ,CACN,QAAQ,KAAK,gCAAgC,CAC/C,CACF,CACF,CACA,MAAMK,EAAI,MAAMA,CAAE,CAChB,YAAY,EAAG,EAAG,EAAG,CACnBX,EAAE,KAAM,UAAW,IAAI,EACvBA,EAAE,KAAM,gBAAgB,EACxBA,EAAE,KAAM,SAAS,EACjB,KAAK,aAAe,EAAG,KAAK,QAAU,EAAIE,EAAID,EAAG,KAAK,eAAiB,IAAIQ,EAAK,KAAK,QAAU,CAC7F,GAAGL,EACH,GAAG,EAAI,CAAE,gBAAiB,GAAM,CAAA,CACtC,CACE,CACA,IAAI,gBAAiB,CACnB,MAAM,EAAIO,EAAE,YAAW,EAAI,EAAI,EAAE,eAAe,aAAY,EAC5D,MAAO,CACL,cAAe,UAAU,EAAE,YAAY,GACvC,eAAgB,EAChB,GAAG,EAAE,OACX,CACE,CACA,OAAO,mBAAoB,CACzB,OAAO,OAAO,gBAAkB,IAClC,CACA,OAAO,kBAAkB,EAAG,CAC1B,OAAO,eAAiB,CAC1B,CACA,OAAO,WAAW,EAAG,EAAG,EAAG,CACzBA,EAAE,kBAAiB,GAAM,QAAQ,KAAK,uBAAuB,EAC7D,MAAMD,EAAI,IAAIC,EAAE,EAAG,EAAG,GAAK,KAAO,OAAS,EAAE,SAAS,EACtDA,EAAE,kBAAkBD,CAAC,CACvB,CACA,OAAO,uBAAuB,EAAG,CAC/B,MAAM,EAAIP,EAAE,CAAC,EAAG,CAAC,EAAGO,CAAC,GAAK,GAAK,KAAO,OAAS,EAAE,IAAI,MAAM,GAAG,IAAM,CAAA,EAAIE,EAAI,GAAK,KAAO,OAAS,EAAE,QACnG,MAAO,CAAE,WAAY,EAAG,WAAYF,EAAG,QAASE,CAAC,CACnD,CACA,OAAO,aAAc,CACnB,MAAM,EAAID,EAAE,kBAAiB,EAC7B,GAAI,CAAC,EACH,MAAM,IAAI,MAAM,kDAAkD,EACpE,OAAO,CACT,CACA,aAAa,SAAS,EAAG,EAAG,CAC1B,GAAI,KAAK,iBAAkB,OAC3B,MAAM,EAAIA,EAAE,YAAW,EACvB,GAAI,CACF,MAAMD,EAAI,CACR,GAAGC,EAAE,uBAAuB,EAAE,YAAY,EAC1C,GAAG,CACX,EAASC,EAAI,MAAM,MAAM,EAAE,QAAUP,EAAE,MAAO,CACtC,OAAQ,OACR,QAAS,EAAE,eACX,KAAM,KAAK,UAAU,CACnB,UAA4B,IAAI,KAAI,EAAI,YAAW,EACnD,WAAY,EACZ,WAAYK,CACtB,CAAS,CACT,CAAO,EACD,GAAIE,EAAE,SAAW,IACf,OAAO,MAAMA,EAAE,KAAI,CACvB,OAASF,EAAG,CACV,QAAQ,MAAM,sBAAuBA,CAAC,CACxC,CACF,CACA,aAAa,SAAS,EAAG,EAAG,CAC1B,GAAI,KAAK,iBAAkB,CACzB,QAAQ,MAAM,CAAC,EACf,MACF,CACA,MAAM,EAAIC,EAAE,YAAW,EACvB,GAAI,CACF,MAAMD,EAAI,CACR,GAAGC,EAAE,uBAAuB,EAAE,YAAY,EAC1C,GAAG,CACX,EAASC,EAAI,MAAM,MAAM,EAAE,QAAUP,EAAE,MAAO,CACtC,OAAQ,OACR,QAAS,EAAE,eACX,KAAM,KAAK,UAAU,CACnB,UAA4B,IAAI,KAAI,EAAI,YAAW,EACnD,QAAS,EACT,WAAYK,CACtB,CAAS,CACT,CAAO,EACD,GAAIE,EAAE,SAAW,IACf,OAAO,MAAMA,EAAE,KAAI,CACvB,OAASF,EAAG,CACV,QAAQ,KAAK,sBAAuBA,CAAC,CACvC,CACF,CACF,EACAV,EAAEW,EAAG,mBAAoB,EAAE,EAC3B,IAAIE,EAAIF,ECxID,MAAMG,EACX,sCACWC,EACX,8CCYF,MAAMC,UAAkB,KAAM,CAK5B,YAAYC,EAAoBC,EAAa,CAC3C,MAAM,cAAcA,CAAG,uBAAuBD,EAAS,MAAM,IAAIA,EAAS,UAAU,EAAE,EALxFE,EAAA,eACAA,EAAA,mBACAA,EAAA,YAKE,KAAK,KAAO,YACZ,KAAK,OAASF,EAAS,OACvB,KAAK,WAAaA,EAAS,WAC3B,KAAK,IAAMC,CACb,CACF,CAEO,MAAME,EAAiC,MAAOC,GAAW,CAC9D,MAAMC,EAAYD,EAAO,UACnBE,EAAUF,GAAA,YAAAA,EAAQ,QAClBlC,EAAUkC,GAAA,YAAAA,EAAQ,QAIlBG,EAAa,IAHDrC,GAAA,YAAAA,EAAS,WACC4B,EAAkCD,CAEjC,IAAIQ,CAAS,SAASC,CAAO,aAE1D,GAAI,CACF,MAAME,EAAmB,MAAM,MAAMD,CAAU,EAE/C,GAAI,CAACC,EAAiB,GACpB,MAAM,IAAIT,EAAUS,EAAkBD,CAAU,EAGlD,MAAM/B,EAAW,MAAMgC,EAAiB,KAAA,EAExC,OAAOxC,EAAWQ,EAAUN,CAAO,CACrC,OAASuC,EAAO,CACd,MAAMC,EAAY,UAAU,UAE5BC,MAAAA,EAAO,SAAS,sCAAsCJ,CAAU,kBAAkBG,CAAS,KAAKD,CAAK,EAAE,EACjGA,CACR,CACF,EClDaG,EAAwBvD,EAAuB,OAAO,CACjE,SAAUC,EAAAA,EACP,OAAA,EACA,KAAA,EACA,IAAI,CAAC,EACL,IAAI,GAAG,EACP,OAAOG,EAAwB,CAAC,QAAQ,CAAC,EAAG,CAC3C,QAAS,gCAAA,CACV,EACH,aAAcH,EAAAA,EAAE,MAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EACjD,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECXYuD,EAAqBxD,EAAuB,OAAO,CAC9D,QAASC,EAAAA,EAAE,OAAA,EAAS,KAAA,EAAO,IAAA,EAC3B,MAAOA,EAAAA,EAAE,OAAA,EAAS,KAAA,EAAO,IAAI,CAAC,EAC9B,aAAcA,EAAAA,EAAE,MAAMA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EACjD,OAAQA,EAAAA,EAAE,OAAA,EAAS,KAAA,EAAO,IAAI,CAAC,EAC/B,mBAAoBA,EAAAA,EACjB,OAAA,EACA,OACA,IAAI,CAAC,EACL,OAAOG,EAAwB,CAAC,UAAU,CAAC,EAAG,CAC7C,QAAS,sBAAA,CACV,CACL,CAAC,ECbYqD,EAA4BzD,EAAuB,OAAO,CACrE,SAAUC,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EACnC,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECFYyD,EAAoB1D,EAAuB,OAAO,CAC7D,SAAUC,EAAAA,EACP,OAAA,EACA,KAAA,EACA,IAAI,CAAC,EACL,IAAI,GAAG,EACP,OAAOG,EAAwB,CAAC,QAAQ,CAAC,EAAG,CAC3C,QAAS,gCAAA,CACV,EACH,WAAYH,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECXY0D,EAAoB3D,EAAuB,OAAO,CAC7D,SAAUC,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EACnC,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECHY2D,EAAqB5D,EAAuB,OAAO,CAC9D,SAAUC,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EACnC,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECHY4D,EAA8B7D,EAAuB,OAAO,CACvE,SAAUC,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,GAAG,EACnC,WAAYA,EAAAA,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAI,EAAE,CACtC,CAAC,ECMY6D,EAAmB7D,EAAAA,EAAE,OAAO,CACvC,aAAcS,EAAYP,CAAkB,EAC5C,gBAAiBO,EAAY6C,CAAqB,EAClD,aAAc7C,EAAY8C,CAAkB,EAC5C,oBAAqB9C,EAAY+C,CAAyB,EAC1D,YAAa/C,EAAYiD,CAAiB,EAC1C,aAAcjD,EAAYkD,CAAkB,EAC5C,YAAalD,EAAYgD,CAAiB,EAC1C,sBAAuBhD,EAAYmD,CAA2B,EAC9D,gBAAiBnD,EAAYR,CAAqB,EAAE,SAAA,CACtD,CAAC,EACY6D,EAAa9D,EAAAA,EAAE,OAAO,CACjC,aAAcE,EACd,gBAAiBoD,EACjB,aAAcC,EACd,oBAAqBC,EACrB,YAAaE,EACb,aAAcC,EACd,YAAaF,EACb,sBAAuBG,EACvB,gBAAiB3D,EAAsB,SAAA,CACzC,CAAC"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../../logger/dist/index.es.js","../src/config/urls.ts","../src/utils/loadCopy.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","var u = Object.defineProperty;\nvar h = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar a = (o, t, e) => h(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst I = \"https://api.wayflyer.com\", p = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, v = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass b {\n getSessionId() {\n const t = Date.now();\n let e = this.loadSession();\n return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;\n }\n isSessionExpired(t, e) {\n const n = e - t.lastActivity > f, s = e - t.createdAt > m;\n return n || s;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst i = class i {\n constructor(t, e, n, s) {\n a(this, \"baseUrl\", null);\n a(this, \"sessionManager\");\n a(this, \"headers\");\n a(this, \"entryPointVersion\");\n a(this, \"sdkVersion\");\n this.companyToken = t, this.baseUrl = s ? p : I, this.sessionManager = new b(), this.entryPointVersion = e, this.sdkVersion = n, this.headers = {\n ...v,\n ...n ? { \"X-SDK-Version\": n } : {}\n };\n }\n get requestHeaders() {\n const t = i.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, n, s) {\n i.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const r = new i(t, e, n, s == null ? void 0 : s.isSandbox);\n i.setGlobalInstance(r);\n }\n static getMandatoryProperties() {\n const t = i.getInstance(), { sdkVersion: e, companyToken: n, entryPointVersion: s } = t, r = w(n), [y, g] = (r == null ? void 0 : r.sub.split(\"|\")) || [], S = r == null ? void 0 : r.user_id;\n return {\n partner_id: y,\n company_id: g,\n user_id: S,\n entry_point_version: s,\n ...e ? { sdk_version: e } : {}\n };\n }\n static getInstance() {\n const t = i.getGlobalInstance();\n if (!t)\n throw new Error(\"Logger not initialized. Call initialize() first.\");\n return t;\n }\n static async logEvent(t, e) {\n if (this.isDevEnvironment) return;\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.event, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.error(\"Failed to log event\", s);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.error, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.warn(\"Failed to log error\", s);\n }\n }\n};\na(i, \"isDevEnvironment\", !1);\nlet d = i;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","u","h","o","a","I","p","w","v","c","l","f","m","b","n","s","i","r","y","g","S","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -1,57 +1,57 @@
1
- var D = Object.defineProperty;
2
- var P = (s, t, e) => t in s ? D(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var g = (s, t, e) => P(s, typeof t != "symbol" ? t + "" : t, e);
1
+ var U = Object.defineProperty;
2
+ var D = (s, t, e) => t in s ? U(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var h = (s, t, e) => D(s, typeof t != "symbol" ? t + "" : t, e);
4
4
  import { z as n } from "zod";
5
- const m = n.object({
5
+ 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
9
  type: n.string().min(1)
10
- }), b = m.extend({
10
+ }), b = d.extend({
11
11
  partnerLogoUrl: n.string().trim().url()
12
- }), v = m.extend({
12
+ }), v = d.extend({
13
13
  mainText: n.string().min(1).max(150),
14
14
  bulletPoints: n.array(n.string().min(1)).length(3),
15
15
  buttonText: n.string().min(1).max(25)
16
- }), f = (s) => (t) => s.every((e) => t.includes(`{${e}}`)), M = (s) => n.record(n.string(), s), l = (s) => n.record(n.string(), M(s)), $ = (s, t) => {
17
- const e = (t == null ? void 0 : t.language) ?? "en", r = "default", o = Object.keys(s);
18
- let i = {};
19
- return o.forEach((u) => {
16
+ }), y = (s) => (t) => s.every((e) => t.includes(`{${e}}`)), M = (s) => n.record(n.string(), s), m = (s) => n.record(n.string(), M(s)), $ = (s, t) => {
17
+ const e = (t == null ? void 0 : t.language) ?? "en", r = "default", i = Object.keys(s);
18
+ let o = {};
19
+ return i.forEach((u) => {
20
20
  const a = s[u];
21
21
  if (a) {
22
- let d;
23
- const y = a[e] ?? a.en, p = y[r] ?? y.default;
24
- if (p ? d = p : d = a.en.default, !d)
22
+ let l;
23
+ const f = a[e] ?? a.en, p = f[r] ?? f.default;
24
+ if (p ? l = p : l = a.en.default, !l)
25
25
  throw new Error("Cohorted document doesn't exist");
26
- i = {
27
- ...i,
28
- [u]: d
26
+ o = {
27
+ ...o,
28
+ [u]: l
29
29
  };
30
30
  }
31
- }), i;
31
+ }), o;
32
32
  };
33
- var j = Object.defineProperty, N = (s, t, e) => t in s ? j(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, h = (s, t, e) => N(s, typeof t != "symbol" ? t + "" : t, e);
34
- const z = "https://api.wayflyer.com", L = "https://sandbox-api.wayflyer.com", R = (s) => {
33
+ var j = Object.defineProperty, N = (s, t, e) => t in s ? j(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e, g = (s, t, e) => N(s, typeof t != "symbol" ? t + "" : t, e);
34
+ const k = "https://api.wayflyer.com", z = "https://sandbox-api.wayflyer.com", L = (s) => {
35
35
  try {
36
36
  return JSON.parse(atob(s.split(".")[1]));
37
37
  } catch {
38
38
  return null;
39
39
  }
40
- }, q = {
40
+ }, R = {
41
41
  "Content-Type": "application/json"
42
42
  }, x = {
43
43
  event: "/financing/v1/company/event/",
44
44
  error: "/financing/v1/error/"
45
- }, S = "wf_session_v1", G = 1800 * 1e3, k = 1440 * 60 * 1e3;
46
- class B {
45
+ }, S = "wf_session_v1", V = 1800 * 1e3, _ = 1440 * 60 * 1e3;
46
+ class q {
47
47
  getSessionId() {
48
48
  const t = Date.now();
49
49
  let e = this.loadSession();
50
50
  return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;
51
51
  }
52
52
  isSessionExpired(t, e) {
53
- const r = e - t.lastActivity > G, o = e - t.createdAt > k;
54
- return r || o;
53
+ const r = e - t.lastActivity > V, i = e - t.createdAt > _;
54
+ return r || i;
55
55
  }
56
56
  mintNewSession(t) {
57
57
  return {
@@ -77,10 +77,10 @@ class B {
77
77
  }
78
78
  }
79
79
  const w = class c {
80
- constructor(t, e, r) {
81
- h(this, "baseUrl", null), h(this, "sessionManager"), h(this, "headers"), this.companyToken = t, this.baseUrl = r ? L : z, this.sessionManager = new B(), this.headers = {
82
- ...q,
83
- ...e ? { "X-SDK-Version": e } : {}
80
+ constructor(t, e, r, i) {
81
+ g(this, "baseUrl", null), g(this, "sessionManager"), g(this, "headers"), g(this, "entryPointVersion"), g(this, "sdkVersion"), this.companyToken = t, this.baseUrl = i ? z : k, this.sessionManager = new q(), this.entryPointVersion = e, this.sdkVersion = r, this.headers = {
82
+ ...R,
83
+ ...r ? { "X-SDK-Version": r } : {}
84
84
  };
85
85
  }
86
86
  get requestHeaders() {
@@ -97,14 +97,20 @@ const w = class c {
97
97
  static setGlobalInstance(t) {
98
98
  window.WayflyerLogger = t;
99
99
  }
100
- static initialize(t, e, r) {
100
+ static initialize(t, e, r, i) {
101
101
  c.getGlobalInstance() && console.warn("Logger re-initialized");
102
- const o = new c(t, e, r == null ? void 0 : r.isSandbox);
102
+ const o = new c(t, e, r, i == null ? void 0 : i.isSandbox);
103
103
  c.setGlobalInstance(o);
104
104
  }
105
- static getMandatoryProperties(t) {
106
- const e = R(t), [r, o] = (e == null ? void 0 : e.sub.split("|")) || [], i = e == null ? void 0 : e.user_id;
107
- return { partner_id: r, company_id: o, user_id: i };
105
+ static getMandatoryProperties() {
106
+ const t = c.getInstance(), { sdkVersion: e, companyToken: r, entryPointVersion: i } = t, o = L(r), [u, a] = (o == null ? void 0 : o.sub.split("|")) || [], l = o == null ? void 0 : o.user_id;
107
+ return {
108
+ partner_id: u,
109
+ company_id: a,
110
+ user_id: l,
111
+ entry_point_version: i,
112
+ ...e ? { sdk_version: e } : {}
113
+ };
108
114
  }
109
115
  static getInstance() {
110
116
  const t = c.getGlobalInstance();
@@ -116,22 +122,22 @@ const w = class c {
116
122
  if (this.isDevEnvironment) return;
117
123
  const r = c.getInstance();
118
124
  try {
119
- const o = {
120
- ...c.getMandatoryProperties(r.companyToken),
125
+ const i = {
126
+ ...c.getMandatoryProperties(),
121
127
  ...e
122
- }, i = await fetch(r.baseUrl + x.event, {
128
+ }, o = await fetch(r.baseUrl + x.event, {
123
129
  method: "POST",
124
130
  headers: r.requestHeaders,
125
131
  body: JSON.stringify({
126
132
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
127
133
  event_name: t,
128
- properties: o
134
+ properties: i
129
135
  })
130
136
  });
131
- if (i.status === 200)
132
- return await i.json();
133
- } catch (o) {
134
- console.error("Failed to log event", o);
137
+ if (o.status === 200)
138
+ return await o.json();
139
+ } catch (i) {
140
+ console.error("Failed to log event", i);
135
141
  }
136
142
  }
137
143
  static async logError(t, e) {
@@ -141,90 +147,90 @@ const w = class c {
141
147
  }
142
148
  const r = c.getInstance();
143
149
  try {
144
- const o = {
145
- ...c.getMandatoryProperties(r.companyToken),
150
+ const i = {
151
+ ...c.getMandatoryProperties(),
146
152
  ...e
147
- }, i = await fetch(r.baseUrl + x.error, {
153
+ }, o = await fetch(r.baseUrl + x.error, {
148
154
  method: "POST",
149
155
  headers: r.requestHeaders,
150
156
  body: JSON.stringify({
151
157
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
152
158
  message: t,
153
- properties: o
159
+ properties: i
154
160
  })
155
161
  });
156
- if (i.status === 200)
157
- return await i.json();
158
- } catch (o) {
159
- console.warn("Failed to log error", o);
162
+ if (o.status === 200)
163
+ return await o.json();
164
+ } catch (i) {
165
+ console.warn("Failed to log error", i);
160
166
  }
161
167
  }
162
168
  };
163
- h(w, "isDevEnvironment", !1);
164
- let H = w;
165
- const J = "https://partner-assets.wayflyer.com", K = "https://partner-assets-sandbox.wayflyer.com";
166
- class _ extends Error {
169
+ g(w, "isDevEnvironment", !1);
170
+ let G = w;
171
+ const B = "https://partner-assets.wayflyer.com", H = "https://partner-assets-sandbox.wayflyer.com";
172
+ class J extends Error {
167
173
  constructor(e, r) {
168
174
  super(`Request to ${r} failed with status ${e.status} ${e.statusText}`);
169
- g(this, "status");
170
- g(this, "statusText");
171
- g(this, "url");
175
+ h(this, "status");
176
+ h(this, "statusText");
177
+ h(this, "url");
172
178
  this.name = "HttpError", this.status = e.status, this.statusText = e.statusText, this.url = r;
173
179
  }
174
180
  }
175
- const X = async (s) => {
176
- const t = s.partnerId, e = s == null ? void 0 : s.version, r = s == null ? void 0 : s.options, u = `${(r == null ? void 0 : r.isSandbox) ? K : J}/${t}/copy/${e}/copy.json`;
181
+ const W = async (s) => {
182
+ const t = s.partnerId, e = s == null ? void 0 : s.version, r = s == null ? void 0 : s.options, u = `${(r == null ? void 0 : r.isSandbox) ? H : B}/${t}/copy/${e}/copy.json`;
177
183
  try {
178
184
  const a = await fetch(u);
179
185
  if (!a.ok)
180
- throw new _(a, u);
181
- const d = await a.json();
182
- return $(d, r);
186
+ throw new J(a, u);
187
+ const l = await a.json();
188
+ return $(l, r);
183
189
  } catch (a) {
184
- const d = navigator.userAgent;
185
- throw H.logError(`Error in partner copy loading from ${u} by userAgent: ${d}: ${a}`), a;
190
+ const l = navigator.userAgent;
191
+ throw G.logError(`Error in partner copy loading from ${u} by userAgent: ${l}: ${a}`), a;
186
192
  }
187
- }, T = m.extend({
188
- mainText: n.string().trim().min(1).max(160).refine(f(["amount"]), {
193
+ }, T = d.extend({
194
+ mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
189
195
  message: "mainText must include {amount}"
190
196
  }),
191
197
  bulletPoints: n.array(n.string().min(1)).length(3),
192
198
  buttonText: n.string().min(1).max(25)
193
- }), I = m.extend({
199
+ }), I = d.extend({
194
200
  logoUrl: n.string().trim().url(),
195
201
  title: n.string().trim().min(1),
196
202
  bulletPoints: n.array(n.string().min(1)).length(3),
197
203
  button: n.string().trim().min(1),
198
- termsAndConditions: n.string().trim().min(1).refine(f(["termsUrl"]), {
204
+ termsAndConditions: n.string().trim().min(1).refine(y(["termsUrl"]), {
199
205
  message: "termsUrl is required"
200
206
  })
201
- }), A = m.extend({
207
+ }), A = d.extend({
202
208
  mainText: n.string().min(1).max(150),
203
209
  buttonText: n.string().min(1).max(25)
204
- }), E = m.extend({
205
- mainText: n.string().trim().min(1).max(160).refine(f(["amount"]), {
210
+ }), E = d.extend({
211
+ mainText: n.string().trim().min(1).max(160).refine(y(["amount"]), {
206
212
  message: "mainText must include {amount}"
207
213
  }),
208
214
  buttonText: n.string().min(1).max(25)
209
- }), O = m.extend({
215
+ }), O = d.extend({
210
216
  mainText: n.string().min(1).max(150),
211
217
  buttonText: n.string().min(1).max(25)
212
- }), C = m.extend({
218
+ }), C = d.extend({
213
219
  mainText: n.string().min(1).max(150),
214
220
  buttonText: n.string().min(1).max(25)
215
- }), U = m.extend({
221
+ }), P = d.extend({
216
222
  mainText: n.string().min(1).max(150),
217
223
  buttonText: n.string().min(1).max(25)
218
- }), V = n.object({
219
- genericOffer: l(v),
220
- indicativeOffer: l(T),
221
- consentModal: l(I),
222
- completeApplication: l(A),
223
- completeKyc: l(O),
224
- signContract: l(C),
225
- selectOffer: l(E),
226
- provideAdditionalInfo: l(U),
227
- partnerTemplate: l(b).optional()
224
+ }), X = n.object({
225
+ genericOffer: m(v),
226
+ indicativeOffer: m(T),
227
+ consentModal: m(I),
228
+ completeApplication: m(A),
229
+ completeKyc: m(O),
230
+ signContract: m(C),
231
+ selectOffer: m(E),
232
+ provideAdditionalInfo: m(P),
233
+ partnerTemplate: m(b).optional()
228
234
  }), Q = n.object({
229
235
  genericOffer: v,
230
236
  indicativeOffer: T,
@@ -233,7 +239,7 @@ const X = async (s) => {
233
239
  completeKyc: O,
234
240
  signContract: C,
235
241
  selectOffer: E,
236
- provideAdditionalInfo: U,
242
+ provideAdditionalInfo: P,
237
243
  partnerTemplate: b.optional()
238
244
  });
239
245
  export {
@@ -241,18 +247,18 @@ export {
241
247
  A as CompleteApplicationSchema,
242
248
  O as CompleteKycSchema,
243
249
  I as ConsentModalSchema,
244
- V as CopyBundleSchema,
250
+ X as CopyBundleSchema,
245
251
  Q as CopySchema,
246
252
  v as GenericOfferSchema,
247
253
  T as IndicativeOfferSchema,
248
- l as LanguageMap,
254
+ m as LanguageMap,
249
255
  b as PartnerTemplateSchema,
250
- U as ProvideAdditionalInfoSchema,
256
+ P as ProvideAdditionalInfoSchema,
251
257
  E as SelectOfferSchema,
252
258
  C as SignContractSchema,
253
- m as WayflyerDocumentSchema,
259
+ d as WayflyerDocumentSchema,
254
260
  $ as filterCopy,
255
- X as loadAndConfigureCopy,
256
- f as mustContainPlaceholders
261
+ W as loadAndConfigureCopy,
262
+ y as mustContainPlaceholders
257
263
  };
258
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 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 g = Object.defineProperty;\nvar y = (o, t, e) => t in o ? g(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar i = (o, t, e) => y(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst S = \"https://api.wayflyer.com\", u = \"https://sandbox-api.wayflyer.com\", h = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, I = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", p = 1800 * 1e3, w = 1440 * 60 * 1e3;\nclass f {\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 > p, n = e - t.createdAt > w;\n return s || n;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst r = class r {\n constructor(t, e, s) {\n i(this, \"baseUrl\", null);\n i(this, \"sessionManager\");\n i(this, \"headers\");\n this.companyToken = t, this.baseUrl = s ? u : S, this.sessionManager = new f(), this.headers = {\n ...I,\n ...e ? { \"X-SDK-Version\": e } : {}\n };\n }\n get requestHeaders() {\n const t = r.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, s) {\n r.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const n = new r(t, e, s == null ? void 0 : s.isSandbox);\n r.setGlobalInstance(n);\n }\n static getMandatoryProperties(t) {\n const e = h(t), [s, n] = (e == null ? void 0 : e.sub.split(\"|\")) || [], a = e == null ? void 0 : e.user_id;\n return { partner_id: s, company_id: n, user_id: a };\n }\n static getInstance() {\n const t = r.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 = r.getInstance();\n try {\n const n = {\n ...r.getMandatoryProperties(s.companyToken),\n ...e\n }, a = await fetch(s.baseUrl + c.event, {\n method: \"POST\",\n headers: s.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: n\n })\n });\n if (a.status === 200)\n return await a.json();\n } catch (n) {\n console.error(\"Failed to log event\", n);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const s = r.getInstance();\n try {\n const n = {\n ...r.getMandatoryProperties(s.companyToken),\n ...e\n }, a = await fetch(s.baseUrl + c.error, {\n method: \"POST\",\n headers: s.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: n\n })\n });\n if (a.status === 200)\n return await a.json();\n } catch (n) {\n console.warn(\"Failed to log error\", n);\n }\n }\n};\ni(r, \"isDevEnvironment\", !1);\nlet d = r;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","g","y","o","i","S","u","h","I","c","l","p","w","f","s","n","r","a","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/schemas/wayflyerDocument.ts","../src/schemas/partnerTemplate.ts","../src/schemas/genericOffer.ts","../src/utils/validators.ts","../src/utils/normalizers.ts","../src/utils/filterCopy.ts","../../logger/dist/index.es.js","../src/config/urls.ts","../src/utils/loadCopy.ts","../src/schemas/indicativeOffer.ts","../src/schemas/consentModal.ts","../src/schemas/completeApplication.ts","../src/schemas/selectOffer.ts","../src/schemas/completeKyc.ts","../src/schemas/signContract.ts","../src/schemas/provideAdditionalInfo.ts","../src/schemas/copyBundle.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const WayflyerDocumentSchema = z.object({\n version: z.string().min(1),\n language: z.string().min(2),\n cohort: z.string().min(1),\n type: z.string().min(1),\n});\nexport type WayflyerDocument = z.infer<typeof WayflyerDocumentSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const PartnerTemplateSchema = WayflyerDocumentSchema.extend({\n partnerLogoUrl: z.string().trim().url(),\n});\nexport type PartnerTemplate = z.infer<typeof PartnerTemplateSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const GenericOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type GenericOffer = z.infer<typeof GenericOfferSchema>;\n","export const mustContainPlaceholders = (placeholders: string[]) => {\n return (value: string) => placeholders.every((placeholder) => value.includes(`{${placeholder}}`));\n};\n","import { z } from 'zod';\n\nexport const CohortMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), schema);\nexport const LanguageMap = <T extends z.ZodTypeAny>(schema: T) => z.record(z.string(), CohortMap(schema));\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\n\nimport type { CopyBundle, Copy } from '../schemas';\n\ntype FilterCopy = (copy: CopyBundle, options?: UiSdkOptions) => Copy;\n\nexport const filterCopy: FilterCopy = (copy, options) => {\n const language = options?.language ?? 'en';\n // TODO: Unblock after cohort selection becomes available for SDK users\n // const cohort = options?.cohort ?? 'default';\n const cohort = 'default';\n const documentKeys = Object.keys(copy) as Array<keyof typeof copy>;\n let normalizedCopy = {};\n\n documentKeys.forEach((key) => {\n const document = copy[key];\n\n if (document) {\n let filteredDocument;\n const localizedDocument = document[language] ?? document.en;\n const cohortedDocument = localizedDocument[cohort] ?? localizedDocument.default;\n\n if (!cohortedDocument) {\n filteredDocument = document.en.default;\n } else {\n filteredDocument = cohortedDocument;\n }\n\n if (!filteredDocument) {\n throw new Error(\"Cohorted document doesn't exist\");\n }\n\n normalizedCopy = {\n ...normalizedCopy,\n [key]: filteredDocument,\n };\n }\n });\n\n return normalizedCopy as Copy;\n};\n","var u = Object.defineProperty;\nvar h = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;\nvar a = (o, t, e) => h(o, typeof t != \"symbol\" ? t + \"\" : t, e);\nconst I = \"https://api.wayflyer.com\", p = \"https://sandbox-api.wayflyer.com\", w = (o) => {\n try {\n return JSON.parse(atob(o.split(\".\")[1]));\n } catch {\n return null;\n }\n}, v = {\n \"Content-Type\": \"application/json\"\n}, c = {\n event: \"/financing/v1/company/event/\",\n error: \"/financing/v1/error/\"\n}, l = \"wf_session_v1\", f = 1800 * 1e3, m = 1440 * 60 * 1e3;\nclass b {\n getSessionId() {\n const t = Date.now();\n let e = this.loadSession();\n return (!e || this.isSessionExpired(e, t)) && (e = this.mintNewSession(t)), e.lastActivity = t, this.saveSession(e), e.sessionId;\n }\n isSessionExpired(t, e) {\n const n = e - t.lastActivity > f, s = e - t.createdAt > m;\n return n || s;\n }\n mintNewSession(t) {\n return {\n sessionId: crypto.randomUUID(),\n createdAt: t,\n lastActivity: t\n };\n }\n loadSession() {\n try {\n const t = sessionStorage.getItem(l);\n return t ? JSON.parse(t) : null;\n } catch {\n return null;\n }\n }\n saveSession(t) {\n try {\n sessionStorage.setItem(l, JSON.stringify(t));\n } catch {\n console.warn(\"Failed to save session context\");\n }\n }\n}\nconst i = class i {\n constructor(t, e, n, s) {\n a(this, \"baseUrl\", null);\n a(this, \"sessionManager\");\n a(this, \"headers\");\n a(this, \"entryPointVersion\");\n a(this, \"sdkVersion\");\n this.companyToken = t, this.baseUrl = s ? p : I, this.sessionManager = new b(), this.entryPointVersion = e, this.sdkVersion = n, this.headers = {\n ...v,\n ...n ? { \"X-SDK-Version\": n } : {}\n };\n }\n get requestHeaders() {\n const t = i.getInstance(), e = t.sessionManager.getSessionId();\n return {\n Authorization: `Bearer ${t.companyToken}`,\n \"X-Session-ID\": e,\n ...t.headers\n };\n }\n static getGlobalInstance() {\n return window.WayflyerLogger || null;\n }\n static setGlobalInstance(t) {\n window.WayflyerLogger = t;\n }\n static initialize(t, e, n, s) {\n i.getGlobalInstance() && console.warn(\"Logger re-initialized\");\n const r = new i(t, e, n, s == null ? void 0 : s.isSandbox);\n i.setGlobalInstance(r);\n }\n static getMandatoryProperties() {\n const t = i.getInstance(), { sdkVersion: e, companyToken: n, entryPointVersion: s } = t, r = w(n), [y, g] = (r == null ? void 0 : r.sub.split(\"|\")) || [], S = r == null ? void 0 : r.user_id;\n return {\n partner_id: y,\n company_id: g,\n user_id: S,\n entry_point_version: s,\n ...e ? { sdk_version: e } : {}\n };\n }\n static getInstance() {\n const t = i.getGlobalInstance();\n if (!t)\n throw new Error(\"Logger not initialized. Call initialize() first.\");\n return t;\n }\n static async logEvent(t, e) {\n if (this.isDevEnvironment) return;\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.event, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n event_name: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.error(\"Failed to log event\", s);\n }\n }\n static async logError(t, e) {\n if (this.isDevEnvironment) {\n console.error(t);\n return;\n }\n const n = i.getInstance();\n try {\n const s = {\n ...i.getMandatoryProperties(),\n ...e\n }, r = await fetch(n.baseUrl + c.error, {\n method: \"POST\",\n headers: n.requestHeaders,\n body: JSON.stringify({\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n message: t,\n properties: s\n })\n });\n if (r.status === 200)\n return await r.json();\n } catch (s) {\n console.warn(\"Failed to log error\", s);\n }\n }\n};\na(i, \"isDevEnvironment\", !1);\nlet d = i;\nexport {\n d as Logger\n};\n","export const PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_PARTNER_ASSETS_BASE_URL;\nexport const SANDBOX_PARTNER_ASSETS_BASE_URL =\n import.meta.env?.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL ?? process.env.VITE_SANDBOX_PARTNER_ASSETS_BASE_URL;\n","import { UiSdkOptions } from '@wf-financing/embedded-types';\nimport { Logger } from '@wf-financing/logger';\n\nimport { PARTNER_ASSETS_BASE_URL, SANDBOX_PARTNER_ASSETS_BASE_URL } from '../config';\nimport type { Copy } from '../schemas';\nimport { filterCopy } from './filterCopy';\n\ntype LoadCopyParams = {\n partnerId: string;\n companyId?: string;\n version?: string;\n options?: UiSdkOptions;\n};\ntype LoadCopy = (params: LoadCopyParams) => Promise<Copy>;\n\nclass HttpError extends Error {\n status: number;\n statusText: string;\n url: string;\n\n constructor(response: Response, url: string) {\n super(`Request to ${url} failed with status ${response.status} ${response.statusText}`);\n\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.url = url;\n }\n}\n\nexport const loadAndConfigureCopy: LoadCopy = async (params) => {\n const partnerId = params.partnerId;\n const version = params?.version;\n const options = params?.options;\n const isSandbox = options?.isSandbox;\n const baseUrl = isSandbox ? SANDBOX_PARTNER_ASSETS_BASE_URL : PARTNER_ASSETS_BASE_URL;\n\n const requestUrl = `${baseUrl}/${partnerId}/copy/${version}/copy.json`;\n\n try {\n const documentResponse = await fetch(requestUrl);\n\n if (!documentResponse.ok) {\n throw new HttpError(documentResponse, requestUrl);\n }\n\n const document = await documentResponse.json();\n\n return filterCopy(document, options);\n } catch (error) {\n const userAgent = navigator.userAgent;\n\n Logger.logError(`Error in partner copy loading from ${requestUrl} by userAgent: ${userAgent}: ${error}`);\n throw error;\n }\n};\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const IndicativeOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n bulletPoints: z.array(z.string().min(1)).length(3),\n buttonText: z.string().min(1).max(25),\n});\nexport type IndicativeOffer = z.infer<typeof IndicativeOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const ConsentModalSchema = WayflyerDocumentSchema.extend({\n logoUrl: z.string().trim().url(),\n title: z.string().trim().min(1),\n bulletPoints: z.array(z.string().min(1)).length(3),\n button: z.string().trim().min(1),\n termsAndConditions: z\n .string()\n .trim()\n .min(1)\n .refine(mustContainPlaceholders(['termsUrl']), {\n message: 'termsUrl is required',\n }),\n});\nexport type ConsentModal = z.infer<typeof ConsentModalSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteApplicationSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteApplication = z.infer<typeof CompleteApplicationSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\nimport { mustContainPlaceholders } from '../utils';\n\nexport const SelectOfferSchema = WayflyerDocumentSchema.extend({\n mainText: z\n .string()\n .trim()\n .min(1)\n .max(160)\n .refine(mustContainPlaceholders(['amount']), {\n message: 'mainText must include {amount}',\n }),\n buttonText: z.string().min(1).max(25),\n});\nexport type SelectOffer = z.infer<typeof SelectOfferSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const CompleteKycSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type CompleteKyc = z.infer<typeof CompleteKycSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const SignContractSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type SignContract = z.infer<typeof SignContractSchema>;\n","import { z } from 'zod';\n\nimport { WayflyerDocumentSchema } from './wayflyerDocument';\n\nexport const ProvideAdditionalInfoSchema = WayflyerDocumentSchema.extend({\n mainText: z.string().min(1).max(150),\n buttonText: z.string().min(1).max(25),\n});\nexport type ProvideAdditionalInfo = z.infer<typeof ProvideAdditionalInfoSchema>;\n","import { z } from 'zod';\n\nimport { LanguageMap } from '../utils';\nimport { GenericOfferSchema } from './genericOffer';\nimport { IndicativeOfferSchema } from './indicativeOffer';\nimport { CompleteApplicationSchema } from './completeApplication.ts';\nimport { CompleteKycSchema } from './completeKyc.ts';\nimport { SelectOfferSchema } from './selectOffer.ts';\nimport { SignContractSchema } from './signContract';\nimport { ConsentModalSchema } from './consentModal';\nimport { PartnerTemplateSchema } from './partnerTemplate';\nimport { ProvideAdditionalInfoSchema } from './provideAdditionalInfo';\n\nexport const CopyBundleSchema = z.object({\n genericOffer: LanguageMap(GenericOfferSchema),\n indicativeOffer: LanguageMap(IndicativeOfferSchema),\n consentModal: LanguageMap(ConsentModalSchema),\n completeApplication: LanguageMap(CompleteApplicationSchema),\n completeKyc: LanguageMap(CompleteKycSchema),\n signContract: LanguageMap(SignContractSchema),\n selectOffer: LanguageMap(SelectOfferSchema),\n provideAdditionalInfo: LanguageMap(ProvideAdditionalInfoSchema),\n partnerTemplate: LanguageMap(PartnerTemplateSchema).optional(),\n});\nexport const CopySchema = z.object({\n genericOffer: GenericOfferSchema,\n indicativeOffer: IndicativeOfferSchema,\n consentModal: ConsentModalSchema,\n completeApplication: CompleteApplicationSchema,\n completeKyc: CompleteKycSchema,\n signContract: SignContractSchema,\n selectOffer: SelectOfferSchema,\n provideAdditionalInfo: ProvideAdditionalInfoSchema,\n partnerTemplate: PartnerTemplateSchema.optional(),\n});\nexport type Copy = z.infer<typeof CopySchema>;\nexport type CopyBundle = z.infer<typeof CopyBundleSchema>;\n"],"names":["WayflyerDocumentSchema","z","PartnerTemplateSchema","GenericOfferSchema","mustContainPlaceholders","placeholders","value","placeholder","CohortMap","schema","LanguageMap","filterCopy","copy","options","language","cohort","documentKeys","normalizedCopy","key","document","filteredDocument","localizedDocument","cohortedDocument","u","h","o","a","I","p","w","v","c","l","f","m","b","n","s","i","r","y","g","S","d","PARTNER_ASSETS_BASE_URL","SANDBOX_PARTNER_ASSETS_BASE_URL","HttpError","response","url","__publicField","loadAndConfigureCopy","params","partnerId","version","requestUrl","documentResponse","error","userAgent","Logger","IndicativeOfferSchema","ConsentModalSchema","CompleteApplicationSchema","SelectOfferSchema","CompleteKycSchema","SignContractSchema","ProvideAdditionalInfoSchema","CopyBundleSchema","CopySchema"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wf-financing/ui-assets",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "zod": "^3.23.8",
22
22
  "@wf-financing/embedded-types": "1.1.1",
23
- "@wf-financing/logger": "2.2.1"
23
+ "@wf-financing/logger": "2.2.2"
24
24
  },
25
25
  "devDependencies": {
26
26
  "dotenv": "^17.2.3"