@moneylion/react-native-offer-carousel 1.4.1 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Button/index.js +2 -1
- package/lib/commonjs/components/Button/index.js.map +1 -1
- package/lib/commonjs/components/Common/DynamicOfferCard/SeeMore.js +6 -3
- package/lib/commonjs/components/Common/DynamicOfferCard/SeeMore.js.map +1 -1
- package/lib/commonjs/components/Common/DynamicOfferCard/index.js +2 -1
- package/lib/commonjs/components/Common/DynamicOfferCard/index.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/DynamicOffers.js +0 -2
- package/lib/commonjs/components/DynamicOffers/DynamicOffers.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/DynamicOffersContainer.js +3 -22
- package/lib/commonjs/components/DynamicOffers/DynamicOffersContainer.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/Render/DynamicOffersRender.js +5 -15
- package/lib/commonjs/components/DynamicOffers/Render/DynamicOffersRender.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/Render/FallbackOfferTemplate.js +2 -0
- package/lib/commonjs/components/DynamicOffers/Render/FallbackOfferTemplate.js.map +1 -1
- package/lib/commonjs/components/DynamicOffers/SeeAllButton.js +2 -1
- package/lib/commonjs/components/DynamicOffers/SeeAllButton.js.map +1 -1
- package/lib/commonjs/components/Layouts/DefaultOfferCard/index.js +2 -1
- package/lib/commonjs/components/Layouts/DefaultOfferCard/index.js.map +1 -1
- package/lib/commonjs/components/Modal/AllOffersModal.js +7 -4
- package/lib/commonjs/components/Modal/AllOffersModal.js.map +1 -1
- package/lib/commonjs/components/Modal/DescriptionPoints.js +2 -1
- package/lib/commonjs/components/Modal/DescriptionPoints.js.map +1 -1
- package/lib/commonjs/components/Modal/Disclaimer.js +2 -1
- package/lib/commonjs/components/Modal/Disclaimer.js.map +1 -1
- package/lib/commonjs/components/Modal/OfferDetailsModal.js +6 -3
- package/lib/commonjs/components/Modal/OfferDetailsModal.js.map +1 -1
- package/lib/commonjs/components/MoneyLionOfferCarousel.js +2 -8
- package/lib/commonjs/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/commonjs/components/Text/index.js +3 -1
- package/lib/commonjs/components/Text/index.js.map +1 -1
- package/lib/commonjs/components/Touchable/TouchableOpacity.js +12 -0
- package/lib/commonjs/components/Touchable/TouchableOpacity.js.map +1 -0
- package/lib/commonjs/components/Touchable/index.js +29 -0
- package/lib/commonjs/components/Touchable/index.js.map +1 -0
- package/lib/commonjs/components/utils/withTestID.js +55 -0
- package/lib/commonjs/components/utils/withTestID.js.map +1 -0
- package/lib/commonjs/pageData.js +1 -5
- package/lib/commonjs/pageData.js.map +1 -1
- package/lib/commonjs/services/getDynamicOffers.js +1 -3
- package/lib/commonjs/services/getDynamicOffers.js.map +1 -1
- package/lib/commonjs/utils/index.js +0 -11
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/components/Button/index.js +2 -1
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Common/DynamicOfferCard/SeeMore.js +6 -3
- package/lib/module/components/Common/DynamicOfferCard/SeeMore.js.map +1 -1
- package/lib/module/components/Common/DynamicOfferCard/index.js +2 -1
- package/lib/module/components/Common/DynamicOfferCard/index.js.map +1 -1
- package/lib/module/components/DynamicOffers/DynamicOffers.js +0 -2
- package/lib/module/components/DynamicOffers/DynamicOffers.js.map +1 -1
- package/lib/module/components/DynamicOffers/DynamicOffersContainer.js +3 -22
- package/lib/module/components/DynamicOffers/DynamicOffersContainer.js.map +1 -1
- package/lib/module/components/DynamicOffers/Render/DynamicOffersRender.js +5 -15
- package/lib/module/components/DynamicOffers/Render/DynamicOffersRender.js.map +1 -1
- package/lib/module/components/DynamicOffers/Render/FallbackOfferTemplate.js +2 -0
- package/lib/module/components/DynamicOffers/Render/FallbackOfferTemplate.js.map +1 -1
- package/lib/module/components/DynamicOffers/SeeAllButton.js +2 -1
- package/lib/module/components/DynamicOffers/SeeAllButton.js.map +1 -1
- package/lib/module/components/Layouts/DefaultOfferCard/index.js +2 -1
- package/lib/module/components/Layouts/DefaultOfferCard/index.js.map +1 -1
- package/lib/module/components/Modal/AllOffersModal.js +6 -3
- package/lib/module/components/Modal/AllOffersModal.js.map +1 -1
- package/lib/module/components/Modal/DescriptionPoints.js +2 -1
- package/lib/module/components/Modal/DescriptionPoints.js.map +1 -1
- package/lib/module/components/Modal/Disclaimer.js +2 -1
- package/lib/module/components/Modal/Disclaimer.js.map +1 -1
- package/lib/module/components/Modal/OfferDetailsModal.js +6 -3
- package/lib/module/components/Modal/OfferDetailsModal.js.map +1 -1
- package/lib/module/components/MoneyLionOfferCarousel.js +2 -8
- package/lib/module/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/module/components/Text/index.js +3 -1
- package/lib/module/components/Text/index.js.map +1 -1
- package/lib/module/components/Touchable/TouchableOpacity.js +5 -0
- package/lib/module/components/Touchable/TouchableOpacity.js.map +1 -0
- package/lib/module/components/Touchable/index.js +3 -0
- package/lib/module/components/Touchable/index.js.map +1 -0
- package/lib/module/components/utils/withTestID.js +50 -0
- package/lib/module/components/utils/withTestID.js.map +1 -0
- package/lib/module/pageData.js +2 -6
- package/lib/module/pageData.js.map +1 -1
- package/lib/module/services/getDynamicOffers.js +1 -3
- package/lib/module/services/getDynamicOffers.js.map +1 -1
- package/lib/module/utils/index.js +0 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/components/Button/index.d.ts +3 -2
- package/lib/typescript/src/components/Button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Common/DynamicOfferCard/SeeMore.d.ts +2 -1
- package/lib/typescript/src/components/Common/DynamicOfferCard/SeeMore.d.ts.map +1 -1
- package/lib/typescript/src/components/Common/DynamicOfferCard/index.d.ts.map +1 -1
- package/lib/typescript/src/components/DynamicOffers/DynamicOffers.d.ts +1 -3
- package/lib/typescript/src/components/DynamicOffers/DynamicOffers.d.ts.map +1 -1
- package/lib/typescript/src/components/DynamicOffers/DynamicOffersContainer.d.ts +1 -4
- package/lib/typescript/src/components/DynamicOffers/DynamicOffersContainer.d.ts.map +1 -1
- package/lib/typescript/src/components/DynamicOffers/Render/DynamicOffersRender.d.ts +1 -3
- package/lib/typescript/src/components/DynamicOffers/Render/DynamicOffersRender.d.ts.map +1 -1
- package/lib/typescript/src/components/DynamicOffers/Render/FallbackOfferTemplate.d.ts +2 -1
- package/lib/typescript/src/components/DynamicOffers/Render/FallbackOfferTemplate.d.ts.map +1 -1
- package/lib/typescript/src/components/DynamicOffers/SeeAllButton.d.ts.map +1 -1
- package/lib/typescript/src/components/Layouts/DefaultOfferCard/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Modal/AllOffersModal.d.ts.map +1 -1
- package/lib/typescript/src/components/Modal/DescriptionPoints.d.ts.map +1 -1
- package/lib/typescript/src/components/Modal/Disclaimer.d.ts.map +1 -1
- package/lib/typescript/src/components/Modal/OfferDetailsModal.d.ts.map +1 -1
- package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts +0 -2
- package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts.map +1 -1
- package/lib/typescript/src/components/Text/index.d.ts +2 -1
- package/lib/typescript/src/components/Text/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Touchable/TouchableOpacity.d.ts +7 -0
- package/lib/typescript/src/components/Touchable/TouchableOpacity.d.ts.map +1 -0
- package/lib/typescript/src/components/Touchable/index.d.ts +3 -0
- package/lib/typescript/src/components/Touchable/index.d.ts.map +1 -0
- package/lib/typescript/src/components/utils/withTestID.d.ts +4 -0
- package/lib/typescript/src/components/utils/withTestID.d.ts.map +1 -0
- package/lib/typescript/src/pageData.d.ts +0 -1
- package/lib/typescript/src/pageData.d.ts.map +1 -1
- package/lib/typescript/src/services/getDynamicOffers.d.ts +1 -3
- package/lib/typescript/src/services/getDynamicOffers.d.ts.map +1 -1
- package/lib/typescript/src/utils/index.d.ts +0 -1
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Button/index.tsx +6 -3
- package/src/components/Common/DynamicOfferCard/SeeMore.tsx +9 -2
- package/src/components/Common/DynamicOfferCard/index.tsx +1 -0
- package/src/components/DynamicOffers/DynamicOffers.tsx +0 -4
- package/src/components/DynamicOffers/DynamicOffersContainer.tsx +2 -21
- package/src/components/DynamicOffers/Render/DynamicOffersRender.tsx +11 -27
- package/src/components/DynamicOffers/Render/FallbackOfferTemplate.tsx +3 -0
- package/src/components/DynamicOffers/SeeAllButton.tsx +1 -0
- package/src/components/Layouts/DefaultOfferCard/index.tsx +1 -0
- package/src/components/Modal/AllOffersModal.tsx +3 -1
- package/src/components/Modal/DescriptionPoints.tsx +6 -1
- package/src/components/Modal/Disclaimer.tsx +6 -1
- package/src/components/Modal/OfferDetailsModal.tsx +3 -1
- package/src/components/MoneyLionOfferCarousel.tsx +2 -6
- package/src/components/Text/index.tsx +7 -2
- package/src/components/Touchable/TouchableOpacity.tsx +15 -0
- package/src/components/Touchable/index.ts +2 -0
- package/src/components/utils/withTestID.tsx +56 -0
- package/src/pageData.ts +0 -6
- package/src/services/getDynamicOffers.ts +1 -5
- package/src/utils/index.ts +0 -1
- package/lib/commonjs/utils/getOffersBasedOnLayout.js +0 -48
- package/lib/commonjs/utils/getOffersBasedOnLayout.js.map +0 -1
- package/lib/commonjs/utils/layouts.js +0 -27
- package/lib/commonjs/utils/layouts.js.map +0 -1
- package/lib/module/utils/getOffersBasedOnLayout.js +0 -39
- package/lib/module/utils/getOffersBasedOnLayout.js.map +0 -1
- package/lib/module/utils/layouts.js +0 -20
- package/lib/module/utils/layouts.js.map +0 -1
- package/lib/typescript/src/utils/getOffersBasedOnLayout.d.ts +0 -26
- package/lib/typescript/src/utils/getOffersBasedOnLayout.d.ts.map +0 -1
- package/lib/typescript/src/utils/layouts.d.ts +0 -19
- package/lib/typescript/src/utils/layouts.d.ts.map +0 -1
- package/src/utils/getOffersBasedOnLayout.ts +0 -51
- package/src/utils/layouts.ts +0 -22
|
@@ -5,7 +5,6 @@ import React, {
|
|
|
5
5
|
useRef,
|
|
6
6
|
useState,
|
|
7
7
|
} from "react";
|
|
8
|
-
import type { Layout } from "../../../utils";
|
|
9
8
|
import { productTypeBuilder as builder } from "../../../builder/builder";
|
|
10
9
|
import { Offer } from "./Offer";
|
|
11
10
|
import {
|
|
@@ -29,7 +28,6 @@ export type DynamicOffersRenderProps = {
|
|
|
29
28
|
title?: string;
|
|
30
29
|
subtitle?: string;
|
|
31
30
|
offers: BaseOffer[];
|
|
32
|
-
displayLayout: Layout;
|
|
33
31
|
fallbackTemplate?: React.FC<{
|
|
34
32
|
offer: BaseOffer;
|
|
35
33
|
showProductTypeLabel?: boolean;
|
|
@@ -50,7 +48,6 @@ export const DynamicOffersRender = ({
|
|
|
50
48
|
title,
|
|
51
49
|
subtitle,
|
|
52
50
|
offers,
|
|
53
|
-
displayLayout,
|
|
54
51
|
productTypeBuilder = builder,
|
|
55
52
|
fallbackTemplate,
|
|
56
53
|
showCardBorder,
|
|
@@ -268,32 +265,18 @@ export const DynamicOffersRender = ({
|
|
|
268
265
|
const fullCardWidth = offers.length === 1 || !isHorizontalScroll;
|
|
269
266
|
|
|
270
267
|
// Create offer components
|
|
271
|
-
return
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
fullCardWidth,
|
|
281
|
-
isHorizontalScroll,
|
|
282
|
-
}),
|
|
283
|
-
]
|
|
284
|
-
: Offer({
|
|
285
|
-
productTypeBuilder,
|
|
286
|
-
offers,
|
|
287
|
-
showProductTypeLabel,
|
|
288
|
-
fallbackTemplate,
|
|
289
|
-
showCardBorder,
|
|
290
|
-
fullCardWidth,
|
|
291
|
-
isHorizontalScroll,
|
|
292
|
-
});
|
|
268
|
+
return Offer({
|
|
269
|
+
productTypeBuilder,
|
|
270
|
+
offers,
|
|
271
|
+
showProductTypeLabel,
|
|
272
|
+
fallbackTemplate,
|
|
273
|
+
showCardBorder,
|
|
274
|
+
fullCardWidth,
|
|
275
|
+
isHorizontalScroll,
|
|
276
|
+
});
|
|
293
277
|
}, [
|
|
294
278
|
offers,
|
|
295
279
|
isHorizontalScroll,
|
|
296
|
-
displayLayout,
|
|
297
280
|
productTypeBuilder,
|
|
298
281
|
showProductTypeLabel,
|
|
299
282
|
fallbackTemplate,
|
|
@@ -348,7 +331,6 @@ export const DynamicOffersRender = ({
|
|
|
348
331
|
const config = {
|
|
349
332
|
title,
|
|
350
333
|
subtitle,
|
|
351
|
-
displayLayout,
|
|
352
334
|
showCardBorder,
|
|
353
335
|
showProductTypeLabel,
|
|
354
336
|
shouldHideFooter: false,
|
|
@@ -373,6 +355,7 @@ export const DynamicOffersRender = ({
|
|
|
373
355
|
variant="featured-3"
|
|
374
356
|
weight="bold"
|
|
375
357
|
color="foregroundNeutral"
|
|
358
|
+
testID="offer_carousel.dynamic_offers.title"
|
|
376
359
|
>
|
|
377
360
|
{title}
|
|
378
361
|
</Text>
|
|
@@ -396,6 +379,7 @@ export const DynamicOffersRender = ({
|
|
|
396
379
|
)}
|
|
397
380
|
{isHorizontalScroll ? (
|
|
398
381
|
<ScrollView
|
|
382
|
+
scrollEnabled={wrappedOfferComponents?.length > 1}
|
|
399
383
|
horizontal={true}
|
|
400
384
|
showsHorizontalScrollIndicator={false}
|
|
401
385
|
contentContainerStyle={styles.contentContainer}
|
|
@@ -7,12 +7,14 @@ export function FallbackOfferTemplate({
|
|
|
7
7
|
offerIndex,
|
|
8
8
|
showCardBorder = true,
|
|
9
9
|
showProductTypeLabel = true,
|
|
10
|
+
fullCardWidth = false,
|
|
10
11
|
isHorizontalScroll = true,
|
|
11
12
|
}: {
|
|
12
13
|
offer: BaseOffer;
|
|
13
14
|
offerIndex: number;
|
|
14
15
|
showCardBorder?: boolean;
|
|
15
16
|
showProductTypeLabel?: boolean;
|
|
17
|
+
fullCardWidth?: boolean;
|
|
16
18
|
isHorizontalScroll?: boolean;
|
|
17
19
|
}) {
|
|
18
20
|
return (
|
|
@@ -26,6 +28,7 @@ export function FallbackOfferTemplate({
|
|
|
26
28
|
}}
|
|
27
29
|
showCardBorder={showCardBorder}
|
|
28
30
|
showProductTypeLabel={showProductTypeLabel}
|
|
31
|
+
fullCardWidth={fullCardWidth}
|
|
29
32
|
isHorizontalScroll={isHorizontalScroll}
|
|
30
33
|
/>
|
|
31
34
|
);
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
View,
|
|
5
5
|
SafeAreaView,
|
|
6
6
|
ScrollView,
|
|
7
|
-
TouchableOpacity,
|
|
8
7
|
StyleSheet,
|
|
9
8
|
Linking,
|
|
10
9
|
type LayoutChangeEvent,
|
|
@@ -15,6 +14,7 @@ import Text from "../Text";
|
|
|
15
14
|
import { DynamicOffersContainer } from "../DynamicOffers/DynamicOffersContainer";
|
|
16
15
|
import type { DynamicOfferProps } from "../DynamicOffers/DynamicOffers";
|
|
17
16
|
import { useTheme } from "../../context/ThemeProvider";
|
|
17
|
+
import { TouchableOpacity } from "../Touchable";
|
|
18
18
|
|
|
19
19
|
type AllOffersModalProps = {
|
|
20
20
|
visible: boolean;
|
|
@@ -114,6 +114,7 @@ export const AllOffersModal = ({
|
|
|
114
114
|
onPress={onClose}
|
|
115
115
|
style={styles.closeXButton}
|
|
116
116
|
hitSlop={{ top: 15, right: 15, bottom: 15, left: 15 }}
|
|
117
|
+
testID="offer_carousel.all_offers_modal.close_button"
|
|
117
118
|
>
|
|
118
119
|
<Text style={styles.closeXText} color={"foregroundNeutral"}>
|
|
119
120
|
✕
|
|
@@ -124,6 +125,7 @@ export const AllOffersModal = ({
|
|
|
124
125
|
weight="bold"
|
|
125
126
|
color={"foregroundNeutral"}
|
|
126
127
|
style={styles.headerTitle}
|
|
128
|
+
testID="offer_carousel.all_offers_modal.title"
|
|
127
129
|
>
|
|
128
130
|
{title}
|
|
129
131
|
</Text>
|
|
@@ -11,7 +11,12 @@ export function DescriptionPoints({
|
|
|
11
11
|
}) {
|
|
12
12
|
return (
|
|
13
13
|
<View gap={8}>
|
|
14
|
-
<Text
|
|
14
|
+
<Text
|
|
15
|
+
variant={"body-3"}
|
|
16
|
+
weight={"bold"}
|
|
17
|
+
color={"foregroundNeutral"}
|
|
18
|
+
testID="offer_carousel.offer_details_modal.offer_details_title"
|
|
19
|
+
>
|
|
15
20
|
Offer Details
|
|
16
21
|
</Text>
|
|
17
22
|
<MarkdownText
|
|
@@ -6,7 +6,12 @@ import { MarkdownText } from "../../capabilities/ui/elements/src/components/Mark
|
|
|
6
6
|
export function Disclaimer({ disclaimer }: { disclaimer: string }) {
|
|
7
7
|
return (
|
|
8
8
|
<View gap={16}>
|
|
9
|
-
<Text
|
|
9
|
+
<Text
|
|
10
|
+
variant={"body-3"}
|
|
11
|
+
weight={"bold"}
|
|
12
|
+
color={"foregroundNeutral"}
|
|
13
|
+
testID="offer_carousel.offer_details_modal.provider_disclaimer_title"
|
|
14
|
+
>
|
|
10
15
|
Provider Disclaimer
|
|
11
16
|
</Text>
|
|
12
17
|
<MarkdownText
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
View,
|
|
5
5
|
SafeAreaView,
|
|
6
6
|
ScrollView,
|
|
7
|
-
TouchableOpacity,
|
|
8
7
|
StyleSheet,
|
|
9
8
|
StatusBar,
|
|
10
9
|
Platform,
|
|
@@ -16,6 +15,7 @@ import { CallToAction } from "../Common/DynamicOfferCard/CallToAction";
|
|
|
16
15
|
import Divider from "../Divider";
|
|
17
16
|
import type { BaseOffer } from "../../capabilities/offer-catalog/src";
|
|
18
17
|
import { useTheme } from "../../context/ThemeProvider";
|
|
18
|
+
import { TouchableOpacity } from "../Touchable";
|
|
19
19
|
|
|
20
20
|
type OfferDetailsModalProps = {
|
|
21
21
|
visible: boolean;
|
|
@@ -68,6 +68,7 @@ export const OfferDetailsModal = ({
|
|
|
68
68
|
onPress={onClose}
|
|
69
69
|
style={styles.closeXButton}
|
|
70
70
|
hitSlop={{ top: 15, right: 15, bottom: 15, left: 15 }}
|
|
71
|
+
testID="offer_carousel.offer_details_modal.close_button"
|
|
71
72
|
>
|
|
72
73
|
<Text
|
|
73
74
|
style={[styles.closeXText, { color: theme.foregroundNeutral }]}
|
|
@@ -94,6 +95,7 @@ export const OfferDetailsModal = ({
|
|
|
94
95
|
overrideUrl={offer.overrideUrl}
|
|
95
96
|
style={styles.cta}
|
|
96
97
|
context={"offer_details"}
|
|
98
|
+
testID="offer_carousel.offer_details_modal.cta"
|
|
97
99
|
>
|
|
98
100
|
{CTA_LABEL}
|
|
99
101
|
</CallToAction>
|
|
@@ -2,7 +2,6 @@ import React, { useEffect, useMemo, useState } from "react";
|
|
|
2
2
|
import { localCnfContext } from "../config/mocks/cnfContext";
|
|
3
3
|
import { Text } from "react-native";
|
|
4
4
|
import { getPageData } from "../pageData";
|
|
5
|
-
import type { Layout } from "../utils";
|
|
6
5
|
import {
|
|
7
6
|
DynamicOffersContainer,
|
|
8
7
|
DynamicOfferSkeleton,
|
|
@@ -34,7 +33,6 @@ export type MoneyLionOfferCarouselProps = {
|
|
|
34
33
|
productType?: string;
|
|
35
34
|
query?: string;
|
|
36
35
|
tags?: string;
|
|
37
|
-
displayLayout?: Layout;
|
|
38
36
|
staticProductTypes?: string;
|
|
39
37
|
fontFamily?: Partial<FontFamily>;
|
|
40
38
|
showProductTypeLabel?: boolean;
|
|
@@ -247,7 +245,7 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
247
245
|
);
|
|
248
246
|
|
|
249
247
|
if (isLoading) {
|
|
250
|
-
return <DynamicOfferSkeleton
|
|
248
|
+
return <DynamicOfferSkeleton />;
|
|
251
249
|
}
|
|
252
250
|
|
|
253
251
|
if (error) {
|
|
@@ -259,12 +257,11 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
259
257
|
}
|
|
260
258
|
|
|
261
259
|
if (!pageData) {
|
|
262
|
-
return <DynamicOfferSkeleton
|
|
260
|
+
return <DynamicOfferSkeleton />;
|
|
263
261
|
}
|
|
264
262
|
|
|
265
263
|
const {
|
|
266
264
|
shouldHideFooter,
|
|
267
|
-
displayLayout,
|
|
268
265
|
showProductTypeLabel,
|
|
269
266
|
showCardBorder,
|
|
270
267
|
offers,
|
|
@@ -275,7 +272,6 @@ const InternalMoneyLionOfferCarousel = (
|
|
|
275
272
|
const config: DynamicOfferProps = {
|
|
276
273
|
offers,
|
|
277
274
|
shouldHideFooter,
|
|
278
|
-
displayLayout,
|
|
279
275
|
showProductTypeLabel,
|
|
280
276
|
showCardBorder,
|
|
281
277
|
title,
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
type TextProps as RNTextProps,
|
|
8
8
|
} from "react-native";
|
|
9
9
|
import { useTheme, type ThemeColors } from "../../context/ThemeProvider";
|
|
10
|
+
import withTestID from "../utils/withTestID";
|
|
10
11
|
|
|
11
12
|
// Define the variant types
|
|
12
13
|
export type Variant =
|
|
@@ -41,6 +42,10 @@ export interface TextProps extends Omit<RNTextProps, "style"> {
|
|
|
41
42
|
style?: StyleProp<TextStyle>;
|
|
42
43
|
}
|
|
43
44
|
|
|
45
|
+
export type TextRef = React.ElementRef<typeof RNText>;
|
|
46
|
+
|
|
47
|
+
const TextWithTestID = withTestID<TextProps, TextRef>(RNText);
|
|
48
|
+
|
|
44
49
|
const Text: React.FC<TextProps> = ({
|
|
45
50
|
variant,
|
|
46
51
|
weight,
|
|
@@ -85,9 +90,9 @@ const Text: React.FC<TextProps> = ({
|
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
return (
|
|
88
|
-
<
|
|
93
|
+
<TextWithTestID style={styleArray} ellipsizeMode={"tail"} {...restProps}>
|
|
89
94
|
{children}
|
|
90
|
-
</
|
|
95
|
+
</TextWithTestID>
|
|
91
96
|
);
|
|
92
97
|
};
|
|
93
98
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TouchableOpacity as RNTouchableOpacity } from "react-native";
|
|
2
|
+
|
|
3
|
+
import withTestID from "../utils/withTestID";
|
|
4
|
+
|
|
5
|
+
export type TouchableOpacityProps = React.ComponentProps<
|
|
6
|
+
typeof RNTouchableOpacity
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type TouchableOpacityRef = React.ElementRef<typeof RNTouchableOpacity>;
|
|
10
|
+
|
|
11
|
+
const TouchableOpacity = withTestID<TouchableOpacityProps, TouchableOpacityRef>(
|
|
12
|
+
RNTouchableOpacity
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
export default TouchableOpacity;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Platform } from "react-native";
|
|
3
|
+
|
|
4
|
+
//#region generateAccessibilityLabel
|
|
5
|
+
/**
|
|
6
|
+
* TestID would work on IOS, and accessibilityLabel would work on android
|
|
7
|
+
* However if both are available in the component, IOS won't work
|
|
8
|
+
* Workaround: https://stackoverflow.com/a/54844164
|
|
9
|
+
* There is a related fix on React native >0.65.x version https://github.com/facebook/react-native/commit/381fb395ad9d2d48717a5d082aaedbecdd804554
|
|
10
|
+
* Will revisit on new react native version if issue still persist
|
|
11
|
+
*/
|
|
12
|
+
const generateAccessibilityLabel = (accessibilityLabel?: string) => {
|
|
13
|
+
if (!accessibilityLabel) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
return Platform.select({
|
|
17
|
+
ios: undefined,
|
|
18
|
+
android: accessibilityLabel,
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
|
|
23
|
+
//#region testID prop types
|
|
24
|
+
type AccessibilityProps = import("react-native").AccessibilityProps;
|
|
25
|
+
type ViewProps = import("react-native").ViewProps;
|
|
26
|
+
type TestIDProps = Pick<AccessibilityProps, "accessibilityLabel"> &
|
|
27
|
+
Pick<ViewProps, "testID">;
|
|
28
|
+
//#endregion
|
|
29
|
+
|
|
30
|
+
//#region withTestID wrapper
|
|
31
|
+
function withTestID<P extends object, R = unknown>(
|
|
32
|
+
Component: React.ComponentType<P & React.RefAttributes<R>>
|
|
33
|
+
) {
|
|
34
|
+
const WrappedComponent = React.forwardRef<R, P & TestIDProps>(
|
|
35
|
+
(props, ref) => {
|
|
36
|
+
const { accessibilityLabel, testID, ...rest } = props;
|
|
37
|
+
// In development, use testID as accessibilityLabel if not provided
|
|
38
|
+
const label =
|
|
39
|
+
__DEV__ && !accessibilityLabel ? testID : accessibilityLabel;
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<Component
|
|
43
|
+
{...(rest as P)}
|
|
44
|
+
ref={ref}
|
|
45
|
+
testID={testID}
|
|
46
|
+
accessibilityLabel={generateAccessibilityLabel(label)}
|
|
47
|
+
/>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
WrappedComponent.displayName = `withTestID(${Component.displayName || Component.name || "Component"})`;
|
|
52
|
+
return WrappedComponent;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
|
|
56
|
+
export default withTestID;
|
package/src/pageData.ts
CHANGED
|
@@ -7,7 +7,6 @@ import { getDynamicOffers } from "./services/getDynamicOffers";
|
|
|
7
7
|
// import { getDynamicOffers } from "./services/getDynamicOffers";
|
|
8
8
|
import {
|
|
9
9
|
getDefaultProductType,
|
|
10
|
-
getLayout,
|
|
11
10
|
getProductTypesDefinition,
|
|
12
11
|
resolveProductTypes,
|
|
13
12
|
} from "./utils";
|
|
@@ -28,7 +27,6 @@ export async function getPageData({
|
|
|
28
27
|
productType,
|
|
29
28
|
query,
|
|
30
29
|
tags,
|
|
31
|
-
displayLayout,
|
|
32
30
|
searchAPIToken,
|
|
33
31
|
showProductTypeLabel,
|
|
34
32
|
showCardBorder,
|
|
@@ -53,8 +51,6 @@ export async function getPageData({
|
|
|
53
51
|
|
|
54
52
|
const safeTags = encodeURI(resolvedTags);
|
|
55
53
|
|
|
56
|
-
const safeDisplayLayout = getLayout(displayLayout);
|
|
57
|
-
|
|
58
54
|
// Get product types and result type
|
|
59
55
|
const { productTypes, resultType } = await resolveProductTypes({
|
|
60
56
|
defaultProductType,
|
|
@@ -75,7 +71,6 @@ export async function getPageData({
|
|
|
75
71
|
const { offers, isError, leadUuid, rateTableUuid, errorCode } =
|
|
76
72
|
await getDynamicOffers({
|
|
77
73
|
tags: safeTags,
|
|
78
|
-
displayLayout: safeDisplayLayout,
|
|
79
74
|
productTypes,
|
|
80
75
|
resultType,
|
|
81
76
|
isCachedOffersRequest,
|
|
@@ -97,6 +92,5 @@ export async function getPageData({
|
|
|
97
92
|
showCardBorder,
|
|
98
93
|
// shouldHideFooter,
|
|
99
94
|
showProductTypeLabel,
|
|
100
|
-
displayLayout: safeDisplayLayout,
|
|
101
95
|
};
|
|
102
96
|
}
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
addClientTagsToOfferLinks,
|
|
4
4
|
getOffersByProductTypes,
|
|
5
5
|
selectDynamicOffers,
|
|
6
|
-
type Layout,
|
|
7
6
|
} from "../utils";
|
|
8
7
|
import type {
|
|
9
8
|
GetProductTypesProps,
|
|
@@ -12,7 +11,6 @@ import type {
|
|
|
12
11
|
import { sortOffersByRecommendationScore } from "../utils/sortOffersByRecommendationScore";
|
|
13
12
|
import { pipe } from "effect";
|
|
14
13
|
import { formatOfferUrl } from "../utils/formatOfferUrl";
|
|
15
|
-
import { getOffersBasedOnLayout } from "../utils/getOffersBasedOnLayout";
|
|
16
14
|
import type {
|
|
17
15
|
PartnerOverride,
|
|
18
16
|
ProductTypeDefinition,
|
|
@@ -21,7 +19,6 @@ import type { CnfContext } from "../capabilities/core/src/system/cnfContext/CnfC
|
|
|
21
19
|
|
|
22
20
|
export type GetDynamicOffersProps = {
|
|
23
21
|
tags: string;
|
|
24
|
-
displayLayout: Layout;
|
|
25
22
|
productTypes: string[];
|
|
26
23
|
resultType: ProductTypesResult["resultType"];
|
|
27
24
|
isCachedOffersRequest: boolean;
|
|
@@ -46,7 +43,6 @@ export type GetDynamicOffersProps = {
|
|
|
46
43
|
*/
|
|
47
44
|
export const getDynamicOffers = async ({
|
|
48
45
|
tags,
|
|
49
|
-
displayLayout,
|
|
50
46
|
defaultProductType,
|
|
51
47
|
productTypes,
|
|
52
48
|
resultType,
|
|
@@ -92,7 +88,7 @@ export const getDynamicOffers = async ({
|
|
|
92
88
|
sortedOffers,
|
|
93
89
|
formatOfferUrl(productTypesDefinition, partnersOverrideDefinition),
|
|
94
90
|
addClientTagsToOfferLinks(isCachedOffersRequest, tags),
|
|
95
|
-
|
|
91
|
+
sortOffersByRecommendationScore
|
|
96
92
|
),
|
|
97
93
|
isError,
|
|
98
94
|
errorCode,
|
package/src/utils/index.ts
CHANGED
|
@@ -2,7 +2,6 @@ export * from "./addClientTagsToOfferLinks";
|
|
|
2
2
|
export * from "./getDefaultProductType";
|
|
3
3
|
export * from "./getOffersByProductTypes";
|
|
4
4
|
export * from "./getProductTypesDefinition";
|
|
5
|
-
export * from "./layouts";
|
|
6
5
|
export * from "./resolveProductTypes";
|
|
7
6
|
export * from "./selectDynamicOffers";
|
|
8
7
|
export * from "./sortOffersByRecommendationScore";
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sortFixedOffers = exports.getOffersByLayout = exports.getOffersBasedOnLayout = void 0;
|
|
7
|
-
var _effect = require("effect");
|
|
8
|
-
var _sortOffersByRecommendationScore = require("./sortOffersByRecommendationScore");
|
|
9
|
-
const MAX_OFFERS_TO_DISPLAY = 3;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Sorts the offers based on the layout.
|
|
13
|
-
*
|
|
14
|
-
* @param offers - The offers to sort.
|
|
15
|
-
* @returns The sorted offers.
|
|
16
|
-
*/
|
|
17
|
-
const sortFixedOffers = offers => {
|
|
18
|
-
const resultOffers = Array.from({
|
|
19
|
-
length: offers.length >= MAX_OFFERS_TO_DISPLAY ? MAX_OFFERS_TO_DISPLAY : offers.length
|
|
20
|
-
}, (_, index) => offers[index % offers.length]).filter(offer => offer !== undefined);
|
|
21
|
-
return resultOffers;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Gets the offers based on the layout.
|
|
26
|
-
*
|
|
27
|
-
* @param layout - The layout to get the offers for.
|
|
28
|
-
* @param offers - The offers to get.
|
|
29
|
-
* @returns The offers.
|
|
30
|
-
*/
|
|
31
|
-
exports.sortFixedOffers = sortFixedOffers;
|
|
32
|
-
const getOffersByLayout = layout => offers => {
|
|
33
|
-
return layout === "carousel" ? (0, _sortOffersByRecommendationScore.sortOffersByRecommendationScore)(offers) : sortFixedOffers(offers);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Gets the offers based on the layout.
|
|
38
|
-
*
|
|
39
|
-
* @param layout - The layout to get the offers for.
|
|
40
|
-
* @param offers - The offers to get.
|
|
41
|
-
* @returns The offers.
|
|
42
|
-
*/
|
|
43
|
-
exports.getOffersByLayout = getOffersByLayout;
|
|
44
|
-
const getOffersBasedOnLayout = layout => offers => {
|
|
45
|
-
return (0, _effect.pipe)(offers, getOffersByLayout(layout));
|
|
46
|
-
};
|
|
47
|
-
exports.getOffersBasedOnLayout = getOffersBasedOnLayout;
|
|
48
|
-
//# sourceMappingURL=getOffersBasedOnLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_effect","require","_sortOffersByRecommendationScore","MAX_OFFERS_TO_DISPLAY","sortFixedOffers","offers","resultOffers","Array","from","length","_","index","filter","offer","undefined","exports","getOffersByLayout","layout","sortOffersByRecommendationScore","getOffersBasedOnLayout","pipe"],"sourceRoot":"../../../src","sources":["utils/getOffersBasedOnLayout.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,gCAAA,GAAAD,OAAA;AAGA,MAAME,qBAAqB,GAAG,CAAC;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAAIC,MAAmB,IAAkB;EACpE,MAAMC,YAAY,GAAGC,KAAK,CAACC,IAAI,CAC9B;IACCC,MAAM,EACLJ,MAAM,CAACI,MAAM,IAAIN,qBAAqB,GACnCA,qBAAqB,GACrBE,MAAM,CAACI;EACZ,CAAC,EACD,CAACC,CAAC,EAAEC,KAAK,KAAKN,MAAM,CAACM,KAAK,GAAGN,MAAM,CAACI,MAAM,CAC3C,CAAC,CAACG,MAAM,CAAEC,KAAK,IAAyBA,KAAK,KAAKC,SAAS,CAAC;EAE5D,OAAOR,YAAY;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAS,OAAA,CAAAX,eAAA,GAAAA,eAAA;AAOO,MAAMY,iBAAiB,GAAIC,MAAc,IAAMZ,MAAmB,IAAK;EAC7E,OAAOY,MAAM,KAAK,UAAU,GACzB,IAAAC,gEAA+B,EAACb,MAAM,CAAC,GACvCD,eAAe,CAACC,MAAM,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAU,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAOO,MAAMG,sBAAsB,GACjCF,MAAc,IAAMZ,MAAmB,IAAK;EAC5C,OAAO,IAAAe,YAAI,EAACf,MAAM,EAAEW,iBAAiB,CAACC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAACF,OAAA,CAAAI,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.layouts = exports.getLayout = void 0;
|
|
7
|
-
const layouts = exports.layouts = {
|
|
8
|
-
carousel: "carousel",
|
|
9
|
-
fixed: "fixed"
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Get layout based on the provided layout
|
|
13
|
-
* @param layout {string | null} layout
|
|
14
|
-
* @returns {Layout} layout or default layout
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* getLayout('fixed') // 'fixed'
|
|
18
|
-
* getLayout('invalidLayout') // 'carousel'
|
|
19
|
-
* getLayout(null) // 'carousel'
|
|
20
|
-
* getLayout('') // 'carousel'
|
|
21
|
-
* getLayout('carousel') // 'carousel'
|
|
22
|
-
*/
|
|
23
|
-
const getLayout = layout => {
|
|
24
|
-
return layouts[layout] ?? layouts.carousel;
|
|
25
|
-
};
|
|
26
|
-
exports.getLayout = getLayout;
|
|
27
|
-
//# sourceMappingURL=layouts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["layouts","exports","carousel","fixed","getLayout","layout"],"sourceRoot":"../../../src","sources":["utils/layouts.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG;EACtBE,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACR,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,GAAIC,MAAe,IAAa;EACrD,OAAOL,OAAO,CAACK,MAAM,CAAW,IAAIL,OAAO,CAACE,QAAQ;AACrD,CAAC;AAACD,OAAA,CAAAG,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { pipe } from "effect";
|
|
2
|
-
import { sortOffersByRecommendationScore } from "./sortOffersByRecommendationScore";
|
|
3
|
-
const MAX_OFFERS_TO_DISPLAY = 3;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Sorts the offers based on the layout.
|
|
7
|
-
*
|
|
8
|
-
* @param offers - The offers to sort.
|
|
9
|
-
* @returns The sorted offers.
|
|
10
|
-
*/
|
|
11
|
-
export const sortFixedOffers = offers => {
|
|
12
|
-
const resultOffers = Array.from({
|
|
13
|
-
length: offers.length >= MAX_OFFERS_TO_DISPLAY ? MAX_OFFERS_TO_DISPLAY : offers.length
|
|
14
|
-
}, (_, index) => offers[index % offers.length]).filter(offer => offer !== undefined);
|
|
15
|
-
return resultOffers;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Gets the offers based on the layout.
|
|
20
|
-
*
|
|
21
|
-
* @param layout - The layout to get the offers for.
|
|
22
|
-
* @param offers - The offers to get.
|
|
23
|
-
* @returns The offers.
|
|
24
|
-
*/
|
|
25
|
-
export const getOffersByLayout = layout => offers => {
|
|
26
|
-
return layout === "carousel" ? sortOffersByRecommendationScore(offers) : sortFixedOffers(offers);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Gets the offers based on the layout.
|
|
31
|
-
*
|
|
32
|
-
* @param layout - The layout to get the offers for.
|
|
33
|
-
* @param offers - The offers to get.
|
|
34
|
-
* @returns The offers.
|
|
35
|
-
*/
|
|
36
|
-
export const getOffersBasedOnLayout = layout => offers => {
|
|
37
|
-
return pipe(offers, getOffersByLayout(layout));
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=getOffersBasedOnLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pipe","sortOffersByRecommendationScore","MAX_OFFERS_TO_DISPLAY","sortFixedOffers","offers","resultOffers","Array","from","length","_","index","filter","offer","undefined","getOffersByLayout","layout","getOffersBasedOnLayout"],"sourceRoot":"../../../src","sources":["utils/getOffersBasedOnLayout.ts"],"mappings":"AAAA,SAASA,IAAI,QAAQ,QAAQ;AAE7B,SAASC,+BAA+B,QAAQ,mCAAmC;AAGnF,MAAMC,qBAAqB,GAAG,CAAC;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAIC,MAAmB,IAAkB;EACpE,MAAMC,YAAY,GAAGC,KAAK,CAACC,IAAI,CAC9B;IACCC,MAAM,EACLJ,MAAM,CAACI,MAAM,IAAIN,qBAAqB,GACnCA,qBAAqB,GACrBE,MAAM,CAACI;EACZ,CAAC,EACD,CAACC,CAAC,EAAEC,KAAK,KAAKN,MAAM,CAACM,KAAK,GAAGN,MAAM,CAACI,MAAM,CAC3C,CAAC,CAACG,MAAM,CAAEC,KAAK,IAAyBA,KAAK,KAAKC,SAAS,CAAC;EAE5D,OAAOR,YAAY;AACpB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,iBAAiB,GAAIC,MAAc,IAAMX,MAAmB,IAAK;EAC7E,OAAOW,MAAM,KAAK,UAAU,GACzBd,+BAA+B,CAACG,MAAM,CAAC,GACvCD,eAAe,CAACC,MAAM,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,sBAAsB,GACjCD,MAAc,IAAMX,MAAmB,IAAK;EAC5C,OAAOJ,IAAI,CAACI,MAAM,EAAEU,iBAAiB,CAACC,MAAM,CAAC,CAAC;AAC/C,CAAC","ignoreList":[]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export const layouts = {
|
|
2
|
-
carousel: "carousel",
|
|
3
|
-
fixed: "fixed"
|
|
4
|
-
};
|
|
5
|
-
/**
|
|
6
|
-
* Get layout based on the provided layout
|
|
7
|
-
* @param layout {string | null} layout
|
|
8
|
-
* @returns {Layout} layout or default layout
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* getLayout('fixed') // 'fixed'
|
|
12
|
-
* getLayout('invalidLayout') // 'carousel'
|
|
13
|
-
* getLayout(null) // 'carousel'
|
|
14
|
-
* getLayout('') // 'carousel'
|
|
15
|
-
* getLayout('carousel') // 'carousel'
|
|
16
|
-
*/
|
|
17
|
-
export const getLayout = layout => {
|
|
18
|
-
return layouts[layout] ?? layouts.carousel;
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=layouts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["layouts","carousel","fixed","getLayout","layout"],"sourceRoot":"../../../src","sources":["utils/layouts.ts"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG;EACtBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACR,CAAU;AAIV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAIC,MAAe,IAAa;EACrD,OAAOJ,OAAO,CAACI,MAAM,CAAW,IAAIJ,OAAO,CAACC,QAAQ;AACrD,CAAC","ignoreList":[]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Layout } from "./layouts";
|
|
2
|
-
import type { BaseOffer } from "../capabilities/offer-catalog/src";
|
|
3
|
-
/**
|
|
4
|
-
* Sorts the offers based on the layout.
|
|
5
|
-
*
|
|
6
|
-
* @param offers - The offers to sort.
|
|
7
|
-
* @returns The sorted offers.
|
|
8
|
-
*/
|
|
9
|
-
export declare const sortFixedOffers: (offers: BaseOffer[]) => BaseOffer[];
|
|
10
|
-
/**
|
|
11
|
-
* Gets the offers based on the layout.
|
|
12
|
-
*
|
|
13
|
-
* @param layout - The layout to get the offers for.
|
|
14
|
-
* @param offers - The offers to get.
|
|
15
|
-
* @returns The offers.
|
|
16
|
-
*/
|
|
17
|
-
export declare const getOffersByLayout: (layout: Layout) => (offers: BaseOffer[]) => BaseOffer[];
|
|
18
|
-
/**
|
|
19
|
-
* Gets the offers based on the layout.
|
|
20
|
-
*
|
|
21
|
-
* @param layout - The layout to get the offers for.
|
|
22
|
-
* @param offers - The offers to get.
|
|
23
|
-
* @returns The offers.
|
|
24
|
-
*/
|
|
25
|
-
export declare const getOffersBasedOnLayout: (layout: Layout) => (offers: BaseOffer[]) => BaseOffer[];
|
|
26
|
-
//# sourceMappingURL=getOffersBasedOnLayout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getOffersBasedOnLayout.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersBasedOnLayout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAInE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,WAAY,SAAS,EAAE,KAAG,SAAS,EAY9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,WAAY,MAAM,cAAc,SAAS,EAAE,gBAIxE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,WACzB,MAAM,cAAc,SAAS,EAAE,gBAEvC,CAAC"}
|