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