@moneylion/react-native-offer-carousel 1.0.1 → 1.0.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.
Files changed (79) hide show
  1. package/lib/commonjs/builder/builder.js +356 -0
  2. package/lib/commonjs/builder/builder.js.map +1 -0
  3. package/lib/commonjs/builder/config/types.js +2 -0
  4. package/lib/commonjs/builder/config/types.js.map +1 -0
  5. package/lib/commonjs/builder/index.js +28 -0
  6. package/lib/commonjs/builder/index.js.map +1 -0
  7. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js +0 -2
  8. package/lib/commonjs/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
  9. package/lib/commonjs/components/Cards/VideosCard/VideoContent.js +35 -37
  10. package/lib/commonjs/components/Cards/VideosCard/VideoContent.js.map +1 -1
  11. package/lib/commonjs/components/DynamicOffers/DynamicOffers.js +1 -1
  12. package/lib/commonjs/components/DynamicOffers/Render/DynamicOffersRender.js +1 -1
  13. package/lib/commonjs/components/Modal/OfferDetailsModal.js +9 -3
  14. package/lib/commonjs/components/Modal/OfferDetailsModal.js.map +1 -1
  15. package/lib/module/builder/builder.js +350 -0
  16. package/lib/module/builder/builder.js.map +1 -0
  17. package/lib/module/builder/config/types.js +2 -0
  18. package/lib/module/builder/config/types.js.map +1 -0
  19. package/lib/module/builder/index.js +3 -0
  20. package/lib/module/builder/index.js.map +1 -0
  21. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js +0 -1
  22. package/lib/module/capabilities/ui/elements/src/components/MarkdownText/components.js.map +1 -1
  23. package/lib/module/components/Cards/VideosCard/VideoContent.js +35 -30
  24. package/lib/module/components/Cards/VideosCard/VideoContent.js.map +1 -1
  25. package/lib/module/components/DynamicOffers/DynamicOffers.js +1 -1
  26. package/lib/module/components/DynamicOffers/DynamicOffers.js.map +1 -1
  27. package/lib/module/components/DynamicOffers/Render/DynamicOffersRender.js +1 -1
  28. package/lib/module/components/DynamicOffers/Render/DynamicOffersRender.js.map +1 -1
  29. package/lib/module/components/Modal/OfferDetailsModal.js +10 -4
  30. package/lib/module/components/Modal/OfferDetailsModal.js.map +1 -1
  31. package/lib/typescript/{builder → src/builder}/builder.d.ts +2 -2
  32. package/lib/typescript/src/builder/builder.d.ts.map +1 -0
  33. package/lib/typescript/src/builder/config/types.d.ts.map +1 -0
  34. package/lib/typescript/src/builder/index.d.ts.map +1 -0
  35. package/lib/typescript/src/capabilities/configuration/src/brands/createDerivedBrands.d.ts +1 -1
  36. package/lib/typescript/src/capabilities/configuration/src/brands/createDerivedBrands.d.ts.map +1 -1
  37. package/lib/typescript/src/capabilities/configuration/src/brands/types.d.ts +1 -1
  38. package/lib/typescript/src/capabilities/configuration/src/brands/types.d.ts.map +1 -1
  39. package/lib/typescript/src/capabilities/ui/elements/src/components/MarkdownText/components.d.ts.map +1 -1
  40. package/lib/typescript/src/components/Cards/VideosCard/VideoContent.d.ts +0 -8
  41. package/lib/typescript/src/components/Cards/VideosCard/VideoContent.d.ts.map +1 -1
  42. package/lib/typescript/src/components/DynamicOffers/Render/DynamicOffersRender.d.ts +1 -1
  43. package/lib/typescript/src/components/DynamicOffers/Render/DynamicOffersRender.d.ts.map +1 -1
  44. package/lib/typescript/src/components/DynamicOffers/Render/Offer.d.ts +1 -1
  45. package/lib/typescript/src/components/DynamicOffers/Render/Offer.d.ts.map +1 -1
  46. package/lib/typescript/src/components/Layouts/CreditCardOfferCard/index.d.ts +1 -1
  47. package/lib/typescript/src/components/Layouts/CreditCardOfferCard/index.d.ts.map +1 -1
  48. package/lib/typescript/src/components/Layouts/CreditCardOfferCard/statsBuilder.d.ts +1 -1
  49. package/lib/typescript/src/components/Layouts/CreditCardOfferCard/statsBuilder.d.ts.map +1 -1
  50. package/lib/typescript/src/components/Layouts/DefaultOfferCard/index.d.ts +1 -1
  51. package/lib/typescript/src/components/Layouts/DefaultOfferCard/index.d.ts.map +1 -1
  52. package/lib/typescript/src/components/Layouts/DefaultOfferCard/statsBuilder.d.ts +1 -1
  53. package/lib/typescript/src/components/Layouts/DefaultOfferCard/statsBuilder.d.ts.map +1 -1
  54. package/lib/typescript/src/components/Layouts/HeadlineWithDescriptionCard/index.d.ts +1 -1
  55. package/lib/typescript/src/components/Layouts/HeadlineWithDescriptionCard/index.d.ts.map +1 -1
  56. package/lib/typescript/src/components/Modal/OfferDetailsModal.d.ts.map +1 -1
  57. package/package.json +4 -9
  58. package/src/builder/builder.ts +500 -0
  59. package/src/builder/config/types.ts +107 -0
  60. package/src/builder/index.ts +2 -0
  61. package/src/capabilities/configuration/src/brands/createDerivedBrands.ts +1 -1
  62. package/src/capabilities/configuration/src/brands/types.ts +1 -1
  63. package/src/capabilities/offers/pipeline/src/sources/ratetables/withDeviceSignals.ts +1 -1
  64. package/src/capabilities/ui/elements/src/components/MarkdownText/components.tsx +0 -1
  65. package/src/components/Cards/VideosCard/VideoContent.tsx +32 -34
  66. package/src/components/DynamicOffers/DynamicOffers.tsx +1 -1
  67. package/src/components/DynamicOffers/Render/DynamicOffersRender.tsx +1 -1
  68. package/src/components/DynamicOffers/Render/Offer.tsx +1 -1
  69. package/src/components/Layouts/CreditCardOfferCard/index.tsx +1 -1
  70. package/src/components/Layouts/CreditCardOfferCard/statsBuilder.tsx +1 -1
  71. package/src/components/Layouts/DefaultOfferCard/index.tsx +1 -1
  72. package/src/components/Layouts/DefaultOfferCard/statsBuilder.tsx +1 -1
  73. package/src/components/Layouts/HeadlineWithDescriptionCard/index.tsx +1 -1
  74. package/src/components/Modal/OfferDetailsModal.tsx +11 -0
  75. package/lib/typescript/builder/builder.d.ts.map +0 -1
  76. package/lib/typescript/builder/config/types.d.ts.map +0 -1
  77. package/lib/typescript/builder/index.d.ts.map +0 -1
  78. /package/lib/typescript/{builder → src/builder}/config/types.d.ts +0 -0
  79. /package/lib/typescript/{builder → src/builder}/index.d.ts +0 -0
@@ -0,0 +1,500 @@
1
+ import type { ProductTypes } from "../capabilities/offer-catalog/src";
2
+ import type { Stat } from "../capabilities/offer-catalog/src/utils/stats";
3
+
4
+ type BaseLayout = {
5
+ productTypes: ProductTypes[];
6
+ };
7
+
8
+ export type DefaultOfferCard = BaseLayout & {
9
+ layout: "defaultOfferCard";
10
+ topStats: Stat[];
11
+ stats: Stat[];
12
+ };
13
+
14
+ export type CreditCardOfferCard = BaseLayout & {
15
+ layout: "creditCardOfferCard";
16
+ stats: Stat[];
17
+ };
18
+
19
+ export type HeadlineWithDescriptionCard = BaseLayout & {
20
+ layout: "headlineWithDescriptionCard";
21
+ headlineField?: string;
22
+ descriptionField?: string;
23
+ descriptionPointsField?: string;
24
+ };
25
+
26
+ export type ProductTypeBuilder = Array<
27
+ DefaultOfferCard | CreditCardOfferCard | HeadlineWithDescriptionCard
28
+ >;
29
+
30
+ export const productTypeBuilder: ProductTypeBuilder = [
31
+ {
32
+ layout: "defaultOfferCard",
33
+ productTypes: ["HomeEquityLoan", "HomeEquityLineOfCredit"],
34
+ topStats: [
35
+ {
36
+ format: "rangeCurrency",
37
+ label: "Loan Amount",
38
+ initialFieldName: "amountCentsMin",
39
+ endFieldName: "amountCentsMax",
40
+ },
41
+ ],
42
+ stats: [
43
+ {
44
+ format: "common",
45
+ label: "Min. Credit Score",
46
+ fieldName: "minCreditScore",
47
+ defaultValue: "No minimum",
48
+ },
49
+ {
50
+ format: "rangeMonths",
51
+ label: "Term Length",
52
+ initialFieldName: "termLengthMonthsMin",
53
+ endFieldName: "termLengthMonthsMax",
54
+ },
55
+ ],
56
+ },
57
+ {
58
+ layout: "defaultOfferCard",
59
+ productTypes: ["AutomobileRefinance", "AutomobileLoan"],
60
+ topStats: [
61
+ {
62
+ format: "rangeCurrency",
63
+ label: "Loan Amount",
64
+ initialFieldName: "amountCentsMin",
65
+ endFieldName: "amountCentsMax",
66
+ },
67
+ ],
68
+ stats: [
69
+ {
70
+ format: "rangePercent",
71
+ label:
72
+ '${dynamicLabelValue} <abbr title="Annual Percentage Rate">APR</abbr>',
73
+ initialFieldName: "annualPercentageRateBasisPointsMin",
74
+ endFieldName: "annualPercentageRateBasisPointsMax",
75
+ dynamicLabelValue: "annualPercentageRateType",
76
+ },
77
+ {
78
+ format: "rangeMonths",
79
+ label: "Term Length",
80
+ initialFieldName: "termLengthMonthsMin",
81
+ endFieldName: "termLengthMonthsMax",
82
+ },
83
+ ],
84
+ },
85
+ {
86
+ layout: "defaultOfferCard",
87
+ productTypes: ["StudentLoan", "StudentLoanRefinance"],
88
+ topStats: [
89
+ {
90
+ format: "rangeCurrency",
91
+ label: "Loan Amount",
92
+ initialFieldName: "amountCentsMin",
93
+ endFieldName: "amountCentsMax",
94
+ },
95
+ ],
96
+ stats: [
97
+ {
98
+ format: "rangePercent",
99
+ label:
100
+ '${dynamicLabelValue} <abbr title="Annual Percentage Rate">APR</abbr>',
101
+ initialFieldName: "annualPercentageRateBasisPointsMin",
102
+ endFieldName: "annualPercentageRateBasisPointsMax",
103
+ dynamicLabelValue: "annualPercentageRateType",
104
+ },
105
+ {
106
+ format: "rangeMonths",
107
+ label: "Term Length",
108
+ initialFieldName: "termLengthMonthsMin",
109
+ endFieldName: "termLengthMonthsMax",
110
+ },
111
+ ],
112
+ },
113
+ {
114
+ layout: "defaultOfferCard",
115
+ productTypes: ["BudgetingTools"],
116
+ topStats: [
117
+ {
118
+ label: "Monthly Fee",
119
+ format: "rangeCurrency",
120
+ initialFieldName: "monthlyFeeCentsMin",
121
+ endFieldName: "monthlyFeeCentsMax",
122
+ },
123
+ ],
124
+ stats: [
125
+ {
126
+ format: "boolean",
127
+ label: "Free Version",
128
+ fieldName: "freeVersion",
129
+ trueValue: "Yes",
130
+ falseValue: "No",
131
+ },
132
+ {
133
+ format: "freeTrial",
134
+ label: "Free Trial Days",
135
+ },
136
+ ],
137
+ },
138
+ {
139
+ layout: "headlineWithDescriptionCard",
140
+ productTypes: ["IncomeOpportunities"],
141
+ },
142
+ {
143
+ layout: "defaultOfferCard",
144
+ productTypes: [
145
+ "BusinessLineOfCredit",
146
+ "BusinessLendingMarketplace",
147
+ "RevenueBasedFinancing",
148
+ ],
149
+ topStats: [
150
+ {
151
+ format: "rangeCurrency",
152
+ label: "Amount",
153
+ initialFieldName: "amountCentsMin",
154
+ endFieldName: "amountCentsMax",
155
+ },
156
+ ],
157
+ stats: [
158
+ {
159
+ format: "monthlyOrAnnualCurrency",
160
+ label: "Min. Monthly Revenue",
161
+ monthlyFieldName: "minMonthlyRevenueCents",
162
+ annualFieldName: "minMonthlyRevenueCents",
163
+ },
164
+ {
165
+ format: "common",
166
+ label: "Min. Credit Score",
167
+ fieldName: "minCreditScore",
168
+ defaultValue: "No minimum",
169
+ },
170
+ ],
171
+ },
172
+ {
173
+ layout: "defaultOfferCard",
174
+ productTypes: ["TaxFiling"],
175
+ topStats: [
176
+ {
177
+ format: "rangeCurrency",
178
+ label: "Federal Filing Fee ",
179
+ initialFieldName: "federalFilingFeeCentsMin",
180
+ endFieldName: "federalFilingFeeCentsMax",
181
+ },
182
+ ],
183
+ stats: [
184
+ {
185
+ format: "rangeCurrency",
186
+ label: "State Filing Fee",
187
+ initialFieldName: "stateFilingFeeCentsMin",
188
+ endFieldName: "stateFilingFeeCentsMax",
189
+ },
190
+ {
191
+ format: "listStringWithAnd",
192
+ label: "Free Filing",
193
+ fieldName: "freeTier",
194
+ },
195
+ ],
196
+ },
197
+ {
198
+ layout: "defaultOfferCard",
199
+ productTypes: [
200
+ "CreditBuilderLoan",
201
+ "CreditBuilderSecuredCreditCard",
202
+ "CreditBuilderDebitCard",
203
+ "RentUtilityBillReporting",
204
+ ],
205
+ topStats: [
206
+ {
207
+ label: "Monthly Payments",
208
+ format: "rangeCurrency",
209
+ initialFieldName: "monthlyPaymentCentsMin",
210
+ endFieldName: "monthlyPaymentCentsMax",
211
+ },
212
+ ],
213
+ stats: [
214
+ {
215
+ format: "BureausStat",
216
+ label: "Credit Bureau Reporting",
217
+ fieldName: "creditBureauReporting",
218
+ },
219
+ ],
220
+ },
221
+ {
222
+ layout: "defaultOfferCard",
223
+ productTypes: ["CashAdvance", "EarnedWageAccess", "OverdraftProtection"],
224
+ topStats: [
225
+ {
226
+ label: "Amount",
227
+ format: "rangeCurrencyUnabbreviated",
228
+ initialFieldName: "amountCentsMin",
229
+ endFieldName: "amountCentsMax",
230
+ },
231
+ ],
232
+ stats: [
233
+ {
234
+ label: "Monthly Payment",
235
+ format: "rangeCurrency",
236
+ initialFieldName: "monthlyFeeCentsMin",
237
+ endFieldName: "monthlyFeeCentsMax",
238
+ },
239
+ {
240
+ label: "Fast Transfer Fee",
241
+ format: "rangeCurrencyOrBasis",
242
+ initialFieldNameCurrency: "fastTransferFeeCentsMin",
243
+ endFieldNameCurrency: "fastTransferFeeCentsMax",
244
+ initialFieldNameBasisPoints: "fastTransferFeeBasisPointsMin",
245
+ endFieldNameBasisPoints: "fastTransferFeeBasisPointsMax",
246
+ },
247
+ ],
248
+ },
249
+ {
250
+ layout: "defaultOfferCard",
251
+ productTypes: ["CreditMonitoring"],
252
+ topStats: [
253
+ {
254
+ label: "Monthly Payments",
255
+ format: "rangeCurrency",
256
+ initialFieldName: "monthlyPaymentCentsMin",
257
+ endFieldName: "monthlyPaymentCentsMax",
258
+ },
259
+ ],
260
+ stats: [
261
+ {
262
+ label: "Supported Credit Bureaus",
263
+ format: "BureausStat",
264
+ fieldName: "supportedCreditBureaus",
265
+ },
266
+ ],
267
+ },
268
+ {
269
+ layout: "defaultOfferCard",
270
+ productTypes: ["RoboInvesting"],
271
+ topStats: [
272
+ {
273
+ label: "Fees",
274
+ format: "rangeCurrencyByTime",
275
+ initialFieldNameByMonths: "monthlyFeeCentsMin",
276
+ endFieldNameByMonths: "monthlyFeeCentsMax",
277
+ initialFieldNameByYears: "annualAdvisoryFeeBasisPointsMin",
278
+ endFieldNameByYears: "annualAdvisoryFeeBasisPointsMax",
279
+ },
280
+ ],
281
+ stats: [
282
+ {
283
+ label: "Min Amount to Open",
284
+ format: "currency",
285
+ fieldName: "minAmountToOpenCents",
286
+ raw: true,
287
+ },
288
+ ],
289
+ },
290
+ {
291
+ layout: "defaultOfferCard",
292
+ productTypes: ["BankingAccount", "CheckingAccount"],
293
+ topStats: [
294
+ {
295
+ label: "Monthly Fee",
296
+ format: "rangeCurrency",
297
+ initialFieldName: "monthlyFeeCentsMin",
298
+ endFieldName: "monthlyFeeCentsMax",
299
+ },
300
+ ],
301
+ stats: [
302
+ {
303
+ label: "Out of Network ATM Fee",
304
+ format: "currency",
305
+ fieldName: "outOfNetworkAtmUsageFeeCents",
306
+ },
307
+ {
308
+ label: '<abbr title="Annual Percentage Yield">APY</abbr>',
309
+ format: "percentage",
310
+ fieldName: "annualPercentageYieldBasisPoints",
311
+ },
312
+ ],
313
+ },
314
+ {
315
+ layout: "defaultOfferCard",
316
+ productTypes: ["CancellationServices"],
317
+ topStats: [
318
+ {
319
+ format: "rangeCurrency",
320
+ label: "Monthly Payment",
321
+ initialFieldName: "monthlyPaymentCentsMin",
322
+ endFieldName: "monthlyPaymentCentsMax",
323
+ },
324
+ ],
325
+ stats: [
326
+ {
327
+ format: "freeTrial",
328
+ label: "Free Trial Days",
329
+ },
330
+ {
331
+ format: "listStringWithAnd",
332
+ label: "Supported Platforms",
333
+ fieldName: "supportedPlatforms",
334
+ },
335
+ ],
336
+ },
337
+ {
338
+ layout: "defaultOfferCard",
339
+ productTypes: ["BrokerageAccount"],
340
+ topStats: [
341
+ {
342
+ format: "currency",
343
+ label: "Min Opening Amount",
344
+ fieldName: "minAmountToOpenCents",
345
+ raw: true,
346
+ },
347
+ ],
348
+ stats: [
349
+ {
350
+ format: "currency",
351
+ label: "Stock Trading Fee",
352
+ fieldName: "domesticOnlineStockTradingFeeCents",
353
+ },
354
+ ],
355
+ },
356
+ {
357
+ layout: "defaultOfferCard",
358
+ productTypes: ["CreditRepair"],
359
+ topStats: [
360
+ {
361
+ format: "rangeCurrency",
362
+ label: "Setup Fee",
363
+ initialFieldName: "setupFeeCentsMin",
364
+ endFieldName: "setupFeeCentsMax",
365
+ },
366
+ ],
367
+ stats: [
368
+ {
369
+ label: "Monthly Fee",
370
+ format: "rangeCurrency",
371
+ initialFieldName: "monthlyFeeCentsMin",
372
+ endFieldName: "monthlyFeeCentsMax",
373
+ },
374
+ {
375
+ format: "boolean",
376
+ label: "Unlimited Disputes",
377
+ fieldName: "unlimitedDisputes",
378
+ trueValue: "Yes",
379
+ falseValue: "No",
380
+ },
381
+ ],
382
+ },
383
+ {
384
+ layout: "defaultOfferCard",
385
+ productTypes: ["CashRewards"],
386
+ topStats: [
387
+ {
388
+ format: "rangeCurrency",
389
+ initialFieldName: "monthlyFeeCentsMin",
390
+ endFieldName: "monthlyFeeCentsMax",
391
+ label: "Monthly Fee",
392
+ },
393
+ ],
394
+ stats: [
395
+ {
396
+ format: "listStringWithAnd",
397
+ label: "Categories",
398
+ fieldName: "categories",
399
+ },
400
+ {
401
+ format: "listStringWithAnd",
402
+ label: "Payout Method",
403
+ fieldName: "payoutMethod",
404
+ },
405
+ ],
406
+ },
407
+ {
408
+ layout: "defaultOfferCard",
409
+ productTypes: ["DebtSettlement"],
410
+ topStats: [
411
+ {
412
+ format: "rangePercent",
413
+ label: "Debt Enrollment Fee",
414
+ initialFieldName: "enrollmentFeeBasisPointsMin",
415
+ endFieldName: "enrollmentFeeBasisPointsMax",
416
+ },
417
+ ],
418
+ stats: [
419
+ {
420
+ format: "currency",
421
+ label: "Minimum Debt Amount",
422
+ fieldName: "debtAmountCentsMin",
423
+ },
424
+ {
425
+ format: "listStringWithAnd",
426
+ label: "State Exclusions",
427
+ fieldName: "stateExclusions",
428
+ },
429
+ ],
430
+ },
431
+ {
432
+ productTypes: [
433
+ "UnsecuredPersonalLoan",
434
+ "SecuredPersonalLoan",
435
+ "UnsecuredLineOfCredit",
436
+ ],
437
+ layout: "defaultOfferCard",
438
+ topStats: [
439
+ {
440
+ format: "rangeCurrency",
441
+ label: "Loan Amount",
442
+ initialFieldName: "amountCentsMin",
443
+ endFieldName: "amountCentsMax",
444
+ },
445
+ ],
446
+ stats: [
447
+ {
448
+ format: "rangePercent",
449
+ label: " APR Range:",
450
+ initialFieldName: "annualPercentageRateBasisPointsMin",
451
+ endFieldName: "annualPercentageRateBasisPointsMax",
452
+ },
453
+ {
454
+ format: "common",
455
+ label: "Rate Type:",
456
+ capitalized: true,
457
+ fieldName: "annualPercentageRateType",
458
+ },
459
+ {
460
+ format: "rangeMonths",
461
+ label: "Term Length:",
462
+ initialFieldName: "termLengthMonthsMin",
463
+ endFieldName: "termLengthMonthsMax",
464
+ },
465
+ ],
466
+ },
467
+ {
468
+ layout: "creditCardOfferCard",
469
+ productTypes: ["UnsecuredCreditCard", "SecuredCreditCard"],
470
+ stats: [
471
+ {
472
+ format: "annualFee",
473
+ label: "Annual Fee:",
474
+ minAnnualFeeField: "annualFeeCentsMin",
475
+ maxAnnualFeeField: "annualFeeCentsMax",
476
+ annualIntroFeeField: "annualIntroFee",
477
+ annualIntroFeeTermField: "annualFeeIntroTerm",
478
+ raw: true,
479
+ },
480
+ {
481
+ format: "purchaseApr",
482
+ label: "APR:",
483
+ purchaseAprTextField: "purchaseAnnualPercentageRateDescription",
484
+ minPurchaseAprField: "purchaseAnnualPercentageRateBasisPointsMin",
485
+ maxPurchaseAprField: "purchaseAnnualPercentageRateBasisPointsMax",
486
+ aprTypeField: "annualPercentageRateType",
487
+ },
488
+ {
489
+ format: "rewardsDisplay",
490
+ label: "Bonus:",
491
+ fieldName: "rewardsDescription",
492
+ },
493
+ {
494
+ format: "recommendedCredit",
495
+ label: "Recommended Credit:",
496
+ fieldName: "recommendedCreditRatings",
497
+ },
498
+ ],
499
+ },
500
+ ];
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Copied from : https://github.com/EVENFinancial/cnf-services/blob/main/packages/app-utils/src/payload/payload-types.generated.ts
3
+ * This interface was referenced by `Config`'s JSON-Schema
4
+ * via the `definition` "media".
5
+ */
6
+ export interface Media {
7
+ id: string;
8
+ autoCrop?: boolean | null;
9
+ alt?: string | null;
10
+ aiInference?:
11
+ | {
12
+ [k: string]: unknown;
13
+ }
14
+ | unknown[]
15
+ | string
16
+ | number
17
+ | boolean
18
+ | null;
19
+ updatedAt: string;
20
+ createdAt: string;
21
+ url?: string | null;
22
+ filename?: string | null;
23
+ mimeType?: string | null;
24
+ filesize?: number | null;
25
+ width?: number | null;
26
+ height?: number | null;
27
+ }
28
+
29
+ /**
30
+ * Copied from : https://github.com/EVENFinancial/cnf-services/blob/main/packages/app-utils/src/payload/payload-types.generated.ts
31
+ * This interface was referenced by `Config`'s JSON-Schema
32
+ * via the `definition` "brands".
33
+ */
34
+ export interface Brand {
35
+ id: string;
36
+ displayName: string;
37
+ domain: string;
38
+ type: "business" | "product" | "individual";
39
+ logos?: {
40
+ horizontal?: string | Media | null;
41
+ icon?: string | Media | null;
42
+ };
43
+ palette?: {
44
+ promotional?: string | null;
45
+ generation?: ("generate" | "provided") | null;
46
+ colorScheme?: ("balanced" | "light" | "dark") | null;
47
+ positive?: string | null;
48
+ critical?: string | null;
49
+ highlight?: string | null;
50
+ neutral?: string | null;
51
+ };
52
+ isLicensed?: boolean | null;
53
+ licensedBrand?: (string | null) | Brand;
54
+ allowedMarks: {
55
+ logo: boolean;
56
+ name: boolean;
57
+ };
58
+ hideLicensedLogo?: boolean | null;
59
+ font?: {
60
+ family?:
61
+ | (
62
+ | "nunito"
63
+ | "lato"
64
+ | "sourceSans3"
65
+ | "openSans"
66
+ | "roboto"
67
+ | "arimo"
68
+ | "montserrat"
69
+ )
70
+ | null;
71
+ };
72
+ links?: {
73
+ home?: string | null;
74
+ terms?: string | null;
75
+ support?: string | null;
76
+ privacy?: string | null;
77
+ };
78
+ ctaRoundness?: {
79
+ small?: number | null;
80
+ medium?: number | null;
81
+ large?: number | null;
82
+ };
83
+ updatedAt: string;
84
+ createdAt: string;
85
+ }
86
+
87
+ export type OverridePartnerPage = {
88
+ productTypeSlug?: string;
89
+ partnerPageUrl?: string;
90
+ };
91
+
92
+ export type Config = {
93
+ dynamicOffer?: {
94
+ title?: string;
95
+ hostURL?: string;
96
+ defaultProductType?: string;
97
+ overridePartnerPage?: OverridePartnerPage[];
98
+ subAccountToken?: string;
99
+ isDev: boolean;
100
+ cnfAppBaseUrl: string;
101
+ cnfBaseUrl: string;
102
+ tags: string;
103
+ };
104
+ brand?: {
105
+ palette: Brand["palette"];
106
+ };
107
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./builder";
2
+ export * from "./config/types";
@@ -1,5 +1,5 @@
1
1
  import { isObject, sift } from "radash";
2
- import type { Brand } from "../../../../../builder";
2
+ import type { Brand } from "../../../../builder";
3
3
  import { P, match } from "ts-pattern";
4
4
  import { enhanceType } from "./types";
5
5
  import { checkVisualBrandEligibility } from "./checkVisualEligibility";
@@ -1,5 +1,5 @@
1
1
  import { isObject } from "radash";
2
- import type { Brand } from "../../../../../builder";
2
+ import type { Brand } from "../../../../builder";
3
3
 
4
4
  export const enhanceType = (brand: Brand) => {
5
5
  if (isObject(brand)) return brand?.isLicensed ? "licensed" : brand.type;
@@ -5,7 +5,7 @@ import type { CnfContext } from "../../../../../core/src/system/cnfContext/CnfCo
5
5
 
6
6
  import type { LeadCreateData } from "./types";
7
7
  import type { LeadRequestOfferCatalog } from "./offer-catalog/types";
8
- import type { Brand } from "../../../../../../../builder";
8
+ import type { Brand } from "../../../../../../builder";
9
9
 
10
10
  const UUID_V4_REGEX =
11
11
  /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
@@ -1,7 +1,6 @@
1
1
  // components.tsx
2
2
  import React from "react";
3
3
  import { StyleSheet } from "react-native";
4
- // import { Text, Link } from "reshaped/native"; // Assuming you have Reshaped for React Native
5
4
  import { Abbreviation } from "./Abbreviation";
6
5
  import {
7
6
  openUrl,