@anker-in/campaign-ui 0.2.10-beta.21 → 0.2.10-beta.22
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/components/chat/action.d.ts +25 -0
- package/dist/components/chat/button.d.ts +3 -0
- package/dist/components/chat/chatContext.d.ts +101 -0
- package/dist/components/chat/index.d.ts +71 -0
- package/dist/components/chat/markdown.d.ts +5 -0
- package/dist/components/chat/messages.d.ts +3 -0
- package/dist/components/chat/props.d.ts +43 -0
- package/dist/components/chat/response.d.ts +4 -0
- package/dist/components/chat/suggestions.d.ts +3 -0
- package/dist/components/chat/utils.d.ts +3 -0
- package/dist/components/credits/context/const.d.ts +81 -0
- package/dist/components/credits/context/hooks/useActivities.d.ts +12 -0
- package/dist/components/credits/context/hooks/useAddressValidate.d.ts +34 -0
- package/dist/components/credits/context/hooks/useAlpcFetch.d.ts +23 -0
- package/dist/components/credits/context/hooks/useClickOutside.d.ts +3 -0
- package/dist/components/credits/context/hooks/useCopy.d.ts +5 -0
- package/dist/components/credits/context/hooks/useCountries.d.ts +8 -0
- package/dist/components/credits/context/hooks/useFirstPurchaseFinished.d.ts +1 -0
- package/dist/components/credits/context/hooks/useMyRewards.d.ts +14 -0
- package/dist/components/credits/context/hooks/useReceiptUploaded.d.ts +2 -0
- package/dist/components/credits/context/hooks/useRedeemAndBuy.d.ts +9 -0
- package/dist/components/credits/context/hooks/useRedeemCoupon.d.ts +17 -0
- package/dist/components/credits/context/hooks/useRedeemProduct.d.ts +16 -0
- package/dist/components/credits/context/hooks/useRedeemableList.d.ts +7 -0
- package/dist/components/credits/context/hooks/useSendEmailValidation.d.ts +1 -0
- package/dist/components/credits/context/hooks/useSubscribed.d.ts +1 -0
- package/dist/components/credits/context/hooks/useSubscriptions.d.ts +5 -0
- package/dist/components/credits/context/hooks/useUploadReceipt.d.ts +14 -0
- package/dist/components/credits/context/provider.d.ts +49 -0
- package/dist/components/credits/context/response.d.ts +63 -0
- package/dist/components/credits/context/utils.d.ts +25 -0
- package/dist/components/credits/creditsBanner/index.d.ts +23 -0
- package/dist/components/credits/creditsBenefits/benefitItem.d.ts +19 -0
- package/dist/components/credits/creditsBenefits/iconInfo.d.ts +2 -0
- package/dist/components/credits/creditsBenefits/index.d.ts +12 -0
- package/dist/components/credits/creditsCash/RedeemableItem.d.ts +15 -0
- package/dist/components/credits/creditsCash/index.d.ts +13 -0
- package/dist/components/credits/creditsCash/type.d.ts +47 -0
- package/dist/components/credits/creditsFaq/faqItem/FaqItem.d.ts +13 -0
- package/dist/components/credits/creditsFaq/index.d.ts +16 -0
- package/dist/components/credits/creditsInfoCard/index.d.ts +20 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/CountrySelect.d.ts +14 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/FormItem.d.ts +6 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/Input.d.ts +13 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/StateSelect.d.ts +15 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/index.d.ts +2 -0
- package/dist/components/credits/creditsRedeemList/AddressForm/type.d.ts +26 -0
- package/dist/components/credits/creditsRedeemList/RedeemCouponModal.d.ts +9 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/Address.d.ts +20 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/Error.d.ts +8 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/Init.d.ts +11 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.d.ts +8 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/Success.d.ts +13 -0
- package/dist/components/credits/creditsRedeemList/RedeemProductModal/index.d.ts +11 -0
- package/dist/components/credits/creditsRedeemList/RedeemableItem.d.ts +9 -0
- package/dist/components/credits/creditsRedeemList/index.d.ts +13 -0
- package/dist/components/credits/creditsRedeemList/type.d.ts +77 -0
- package/dist/components/credits/creditsWaysToGetCredits/index.d.ts +2 -0
- package/dist/components/credits/creditsWaysToGetCredits/type.d.ts +60 -0
- package/dist/components/credits/creditsWaysToGetCredits/useActions.d.ts +96 -0
- package/dist/components/credits/index.d.ts +10 -0
- package/dist/components/credits/modal/MyRewardsModal.d.ts +32 -0
- package/dist/components/credits/modal/activitiesModal.d.ts +32 -0
- package/dist/components/credits/modal/creditsUploadReceiptModal.d.ts +24 -0
- package/dist/components/credits/modal/loadingDots.d.ts +6 -0
- package/dist/components/credits/modal/modalContainer.d.ts +15 -0
- package/dist/components/credits/modal/rulesModal.d.ts +7 -0
- package/dist/components/credits/modal/tip.d.ts +5 -0
- package/dist/components/credits/type.d.ts +55 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/debug-env.d.ts +7 -0
- package/dist/helpers/fetchResponse.d.ts +14 -0
- package/dist/helpers/fetcher.d.ts +2 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/track.d.ts +19 -0
- package/dist/helpers/utils.d.ts +3 -0
- package/dist/index.d.ts +1 -493
- package/dist/index.js +1245 -4292
- package/dist/index.mjs +1130 -4154
- package/dist/stories/chat.stories.d.ts +7 -0
- package/package.json +8 -3
- package/src/styles/global.css +15 -0
- package/style.css +1 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare function getAlpcPath(locale?: string): "/api/multipass/alpc-eu" | "/api/multipass/alpc";
|
|
2
|
+
export declare function numberFormat(num?: number): string | number;
|
|
3
|
+
export declare const emailValidate: (email: any) => boolean;
|
|
4
|
+
export declare const languageTerritory: (locale: string) => string;
|
|
5
|
+
export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
|
|
6
|
+
amount: number;
|
|
7
|
+
currencyCode: string;
|
|
8
|
+
locale: string;
|
|
9
|
+
maximumFractionDigits?: number;
|
|
10
|
+
minimumFractionDigits?: number;
|
|
11
|
+
removeTrailingZeros?: boolean;
|
|
12
|
+
}): string;
|
|
13
|
+
export declare function formatVariantPrice({ amount, baseAmount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
|
|
14
|
+
baseAmount: number;
|
|
15
|
+
amount: number;
|
|
16
|
+
currencyCode: string;
|
|
17
|
+
locale: string;
|
|
18
|
+
maximumFractionDigits?: number;
|
|
19
|
+
minimumFractionDigits?: number;
|
|
20
|
+
removeTrailingZeros?: boolean;
|
|
21
|
+
}): {
|
|
22
|
+
price: string;
|
|
23
|
+
basePrice: string | undefined;
|
|
24
|
+
discount: string | null;
|
|
25
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type Img = {
|
|
2
|
+
url: string;
|
|
3
|
+
alt: string;
|
|
4
|
+
};
|
|
5
|
+
type BannerProps = {
|
|
6
|
+
copy: {
|
|
7
|
+
pcImg: Img;
|
|
8
|
+
laptopImg: Img;
|
|
9
|
+
mobileImg: Img;
|
|
10
|
+
joinNow: string;
|
|
11
|
+
loginIn: string;
|
|
12
|
+
login: {
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
};
|
|
16
|
+
unLogin: {
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function CreditsBanner({ copy }: BannerProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface BenefitItemCopy {
|
|
2
|
+
icon: {
|
|
3
|
+
alt: string;
|
|
4
|
+
url: string;
|
|
5
|
+
};
|
|
6
|
+
text: string;
|
|
7
|
+
note?: string;
|
|
8
|
+
tag?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const BenefitItem: ({ item, handleClick, isNoteActive, index, }: {
|
|
11
|
+
item: BenefitItemCopy;
|
|
12
|
+
handleClick: ({ item, index }: {
|
|
13
|
+
item: BenefitItemCopy;
|
|
14
|
+
index: number;
|
|
15
|
+
}) => void;
|
|
16
|
+
isNoteActive: boolean;
|
|
17
|
+
index: number;
|
|
18
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default BenefitItem;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'swiper/css';
|
|
2
|
+
import 'swiper/css/grid';
|
|
3
|
+
import 'swiper/css/pagination';
|
|
4
|
+
import { type BenefitItemCopy } from './benefitItem';
|
|
5
|
+
interface CreditsBenefitsProps {
|
|
6
|
+
copy: {
|
|
7
|
+
title: string;
|
|
8
|
+
benefits: BenefitItemCopy[];
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare const CreditsBenefits: ({ copy }: CreditsBenefitsProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CreditsCashCopy, RedeemItem } from './type';
|
|
2
|
+
declare function RedeemableItem({ copy, itemData, setRules, className, authCodeActivate, }: {
|
|
3
|
+
copy: CreditsCashCopy;
|
|
4
|
+
itemData: RedeemItem;
|
|
5
|
+
className?: string;
|
|
6
|
+
setRules: (rules: string[]) => void;
|
|
7
|
+
currencyCode: string;
|
|
8
|
+
authCodeActivate: {
|
|
9
|
+
openAuthCodePopup: Function;
|
|
10
|
+
isSuccess: boolean;
|
|
11
|
+
setOnSuccess: (arg: Function) => void;
|
|
12
|
+
isSendingActivateEmail: boolean;
|
|
13
|
+
};
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default RedeemableItem;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CreditsCashCopy } from './type';
|
|
2
|
+
export declare const CreditsCash: ({ copy, className, hideTitle, cardClassName, authCodeActivate, }: {
|
|
3
|
+
copy: CreditsCashCopy;
|
|
4
|
+
className?: string;
|
|
5
|
+
hideTitle?: boolean;
|
|
6
|
+
cardClassName?: string;
|
|
7
|
+
authCodeActivate: {
|
|
8
|
+
openAuthCodePopup: Function;
|
|
9
|
+
isSuccess: boolean;
|
|
10
|
+
setOnSuccess: (arg: Function) => void;
|
|
11
|
+
isSendingActivateEmail: boolean;
|
|
12
|
+
};
|
|
13
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ProductVariant, Product } from '@anker-in/lib';
|
|
2
|
+
import { AlpcConsumeType } from '../context/const';
|
|
3
|
+
type RedeemableItemConfig = {
|
|
4
|
+
title: string;
|
|
5
|
+
desc: string;
|
|
6
|
+
price: string;
|
|
7
|
+
credit: string;
|
|
8
|
+
rules: string;
|
|
9
|
+
image: {
|
|
10
|
+
url: string;
|
|
11
|
+
};
|
|
12
|
+
mobileImage: {
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
redeemId: number;
|
|
16
|
+
};
|
|
17
|
+
export type CreditsCashCopy = {
|
|
18
|
+
title: string;
|
|
19
|
+
list: (RedeemableItemConfig & {
|
|
20
|
+
products: {
|
|
21
|
+
handle: string;
|
|
22
|
+
sku: string;
|
|
23
|
+
}[];
|
|
24
|
+
})[];
|
|
25
|
+
soldOut: string;
|
|
26
|
+
ruleLabel: string;
|
|
27
|
+
unlockRewards: string;
|
|
28
|
+
btnRedeem: string;
|
|
29
|
+
off: string;
|
|
30
|
+
insufficientCredits: string;
|
|
31
|
+
};
|
|
32
|
+
export type RedeemItem = {
|
|
33
|
+
product: Product;
|
|
34
|
+
productVariant: ProductVariant;
|
|
35
|
+
alpcData: {
|
|
36
|
+
id: number;
|
|
37
|
+
consumeCredits: number;
|
|
38
|
+
remainingInventory: number;
|
|
39
|
+
isLimited: boolean;
|
|
40
|
+
consumeType: AlpcConsumeType.Product;
|
|
41
|
+
showCredit: boolean;
|
|
42
|
+
title: string;
|
|
43
|
+
desc: string;
|
|
44
|
+
};
|
|
45
|
+
config: RedeemableItemConfig;
|
|
46
|
+
};
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
type FaqItemProps = {
|
|
3
|
+
index: number;
|
|
4
|
+
question?: string;
|
|
5
|
+
answer?: string | number;
|
|
6
|
+
showDots: boolean;
|
|
7
|
+
itemRightIconRender?: ({ expanded }: {
|
|
8
|
+
expanded: boolean;
|
|
9
|
+
}) => ReactNode;
|
|
10
|
+
defaultExpended?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export declare const FaqItem: ({ index, question, answer, showDots, itemRightIconRender, defaultExpended, }: FaqItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type FaqCopy = {
|
|
2
|
+
title: string;
|
|
3
|
+
subTitle: string;
|
|
4
|
+
learnMore: {
|
|
5
|
+
link: string;
|
|
6
|
+
label: string;
|
|
7
|
+
};
|
|
8
|
+
items: {
|
|
9
|
+
category_name: string;
|
|
10
|
+
question: string;
|
|
11
|
+
answer: string;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare const CreditsFaq: ({ copy }: {
|
|
15
|
+
copy: FaqCopy;
|
|
16
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type MyRewardsMetafields } from '../modal/MyRewardsModal';
|
|
2
|
+
import { type MyActivitiesMetafields } from '../modal/activitiesModal';
|
|
3
|
+
type ButtonConfig = {
|
|
4
|
+
text: string;
|
|
5
|
+
type: 'activities' | 'rewards';
|
|
6
|
+
};
|
|
7
|
+
export interface InfoCardProps {
|
|
8
|
+
data: {
|
|
9
|
+
balanceLabel: string;
|
|
10
|
+
comingSoonLabel: string;
|
|
11
|
+
comingSoonTips: string;
|
|
12
|
+
buttons: ButtonConfig[];
|
|
13
|
+
pointUnit: string;
|
|
14
|
+
infoIcon: string;
|
|
15
|
+
myActivities: MyActivitiesMetafields;
|
|
16
|
+
myRewards: MyRewardsMetafields;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function CreditsInfoCard({ data }: InfoCardProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface Country {
|
|
2
|
+
id: string;
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
interface CountrySelectProps {
|
|
7
|
+
countries: Country[];
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
value?: string;
|
|
11
|
+
onChange: (code: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function CountrySelect({ countries, loading, className, value, onChange }: CountrySelectProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface InputProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
value: string;
|
|
5
|
+
error?: string | boolean;
|
|
6
|
+
placeholder: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
10
|
+
onBlur?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function Input({ className, error, value, placeholder, disabled, onChange, onBlur }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface StateSelectProps {
|
|
2
|
+
states: {
|
|
3
|
+
code: string;
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}[];
|
|
7
|
+
className?: string;
|
|
8
|
+
countryId?: string;
|
|
9
|
+
defaultCode?: string;
|
|
10
|
+
stateName?: string;
|
|
11
|
+
stateCode?: string;
|
|
12
|
+
onChange: (code: string, name: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function StateSelect({ states, stateName, stateCode, className, onChange }: StateSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
2
|
+
type ShippingCountry = {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
code: string;
|
|
6
|
+
provinces: {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
code: string;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
export interface AddressFormProps {
|
|
13
|
+
form: CreditsRedeemListCopy['redeemModal']['product']['addressForm'];
|
|
14
|
+
onChange: (address: any) => void;
|
|
15
|
+
validate: (args: {
|
|
16
|
+
force?: boolean;
|
|
17
|
+
ignoreKeys?: string[];
|
|
18
|
+
}) => boolean;
|
|
19
|
+
errors: {
|
|
20
|
+
key: string;
|
|
21
|
+
message: string;
|
|
22
|
+
}[];
|
|
23
|
+
countries: ShippingCountry[];
|
|
24
|
+
countriesLoading: boolean;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ModalContainerProps } from '../modal/modalContainer';
|
|
2
|
+
import type { RedeemableItem as RedeemableItemType } from '../type';
|
|
3
|
+
import { CreditsRedeemListCopy } from './type';
|
|
4
|
+
declare function RedeemCouponModal({ item, copy, onError, ...props }: ModalContainerProps & {
|
|
5
|
+
item: RedeemableItemType;
|
|
6
|
+
copy: CreditsRedeemListCopy;
|
|
7
|
+
onError: (code: number) => void;
|
|
8
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default RedeemCouponModal;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RedeemableItem as RedeemableItemType } from '../../type';
|
|
2
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
3
|
+
type AddressProps = {
|
|
4
|
+
copy: CreditsRedeemListCopy;
|
|
5
|
+
shippingAddress: string;
|
|
6
|
+
setAddress: (address: Record<string, any>) => void;
|
|
7
|
+
validateAddress: (address: Record<string, any>) => boolean;
|
|
8
|
+
validateErrors: {
|
|
9
|
+
key: string;
|
|
10
|
+
message: string;
|
|
11
|
+
}[];
|
|
12
|
+
item: RedeemableItemType;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
address: Record<string, any> | undefined;
|
|
15
|
+
disabled: boolean;
|
|
16
|
+
handlePayment: () => void;
|
|
17
|
+
shippingProduct: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const Address: ({ copy, shippingAddress, setAddress, validateAddress, validateErrors, shippingProduct, loading, address, disabled, handlePayment, item, }: AddressProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RedeemableItem as RedeemableItemType } from '../../type';
|
|
2
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
3
|
+
type InitProps = {
|
|
4
|
+
copy: CreditsRedeemListCopy;
|
|
5
|
+
item: RedeemableItemType;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
setStatus: (status: 'address' | 'init' | 'success' | 'error') => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const Init: ({ copy, item, loading, disabled, setStatus }: InitProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { RedeemableItem as RedeemableItemType } from '../../type';
|
|
2
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
3
|
+
type ProductInfoProps = {
|
|
4
|
+
item: RedeemableItemType;
|
|
5
|
+
copy: CreditsRedeemListCopy;
|
|
6
|
+
};
|
|
7
|
+
export declare const ProductInfo: ({ item, copy }: ProductInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RedeemableItem as RedeemableItemType } from '../../type';
|
|
2
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
3
|
+
type SuccessProps = {
|
|
4
|
+
copy: CreditsRedeemListCopy;
|
|
5
|
+
shippingProduct: string;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
address: Record<string, any> | undefined;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
item: RedeemableItemType;
|
|
11
|
+
};
|
|
12
|
+
export declare const Success: ({ copy, shippingProduct, loading, address, disabled, onClose, item }: SuccessProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AlpcErrorCode } from '../../context/const';
|
|
2
|
+
import type { ModalContainerProps } from '../../modal/modalContainer';
|
|
3
|
+
import type { RedeemableItem as RedeemableItemType } from '../../type';
|
|
4
|
+
import { CreditsRedeemListCopy } from '../type';
|
|
5
|
+
type RedeemProductModalProps = ModalContainerProps & {
|
|
6
|
+
item: RedeemableItemType;
|
|
7
|
+
copy: CreditsRedeemListCopy;
|
|
8
|
+
onError: (code: AlpcErrorCode) => void;
|
|
9
|
+
};
|
|
10
|
+
declare function RedeemProductModal({ item, copy, onError, ...props }: RedeemProductModalProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default RedeemProductModal;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RedeemableItem as RedeemableItemType } from '../type';
|
|
2
|
+
import type { CreditsRedeemListCopy } from './type';
|
|
3
|
+
export declare function RedeemableItem({ copy, className, item, onRulesOpen, onRedeem, }: {
|
|
4
|
+
copy: CreditsRedeemListCopy;
|
|
5
|
+
className?: string;
|
|
6
|
+
item: RedeemableItemType;
|
|
7
|
+
onRulesOpen: (rules: string[]) => void;
|
|
8
|
+
onRedeem: (item: RedeemableItemType) => void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CreditsRedeemListCopy } from './type';
|
|
2
|
+
export declare function CreditsRedeemList({ copy, className, tabClassName, hideTitle, cardClassName, activate, }: {
|
|
3
|
+
copy: CreditsRedeemListCopy;
|
|
4
|
+
className?: string;
|
|
5
|
+
tabClassName?: string;
|
|
6
|
+
hideTitle?: boolean;
|
|
7
|
+
cardClassName?: string;
|
|
8
|
+
activate: {
|
|
9
|
+
openAuthCodePopup: () => void;
|
|
10
|
+
isSuccess: boolean;
|
|
11
|
+
setOnSuccess: (callback: Function) => void;
|
|
12
|
+
};
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CreditsPageCommon } from '../type';
|
|
2
|
+
export type CreditsRedeemListCopy = {
|
|
3
|
+
title: string;
|
|
4
|
+
giftCardLabel: string;
|
|
5
|
+
unlockRewards: string;
|
|
6
|
+
btnRedeem: string;
|
|
7
|
+
list: {
|
|
8
|
+
label: string;
|
|
9
|
+
list: {
|
|
10
|
+
id: string;
|
|
11
|
+
type: string;
|
|
12
|
+
value: string;
|
|
13
|
+
rules: string[];
|
|
14
|
+
}[];
|
|
15
|
+
}[];
|
|
16
|
+
validatorInfo: {
|
|
17
|
+
addressInfo: {
|
|
18
|
+
name: string;
|
|
19
|
+
country: string;
|
|
20
|
+
province: string;
|
|
21
|
+
city: string;
|
|
22
|
+
address: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
redeemModal: {
|
|
26
|
+
confirmTitle: string;
|
|
27
|
+
confirmButton: string;
|
|
28
|
+
commonError: string;
|
|
29
|
+
redeemLimitError: string;
|
|
30
|
+
inventoryNotEnough: string;
|
|
31
|
+
creditsNotEnough: string;
|
|
32
|
+
crossSiteError: string;
|
|
33
|
+
errorImageUrl: string;
|
|
34
|
+
coupon: {
|
|
35
|
+
successDesc: string;
|
|
36
|
+
successTitle: string;
|
|
37
|
+
successButton: string;
|
|
38
|
+
successButtonUrl: string;
|
|
39
|
+
};
|
|
40
|
+
product: {
|
|
41
|
+
required: string;
|
|
42
|
+
invalidEmail: string;
|
|
43
|
+
shippingAddress: string;
|
|
44
|
+
shippingProduct: string;
|
|
45
|
+
addressForm: {
|
|
46
|
+
key: string;
|
|
47
|
+
type: string;
|
|
48
|
+
label: string;
|
|
49
|
+
isSelect: boolean;
|
|
50
|
+
required: boolean;
|
|
51
|
+
placeholder: string;
|
|
52
|
+
}[][];
|
|
53
|
+
form: {
|
|
54
|
+
key: string;
|
|
55
|
+
type: string;
|
|
56
|
+
isSelect: boolean;
|
|
57
|
+
required: boolean;
|
|
58
|
+
placeholder: string;
|
|
59
|
+
}[][];
|
|
60
|
+
successDesc: string[];
|
|
61
|
+
rules: string[];
|
|
62
|
+
steps: {
|
|
63
|
+
imageUrl: string;
|
|
64
|
+
title: string;
|
|
65
|
+
}[];
|
|
66
|
+
quantityLabel: string;
|
|
67
|
+
totalPriceLabel: string;
|
|
68
|
+
variantLabel: string;
|
|
69
|
+
shippingFeeLabel: string;
|
|
70
|
+
paymentButton: string;
|
|
71
|
+
stepTitle: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
copied: string;
|
|
75
|
+
off: string;
|
|
76
|
+
copy: string;
|
|
77
|
+
} & CreditsPageCommon;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ReceiptCopy } from '../modal/creditsUploadReceiptModal';
|
|
2
|
+
export type BenefitItem = {
|
|
3
|
+
title: string;
|
|
4
|
+
credits: string;
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
export type WaysToGetCreditsCopy = {
|
|
8
|
+
title: string;
|
|
9
|
+
subtitle: string;
|
|
10
|
+
equalCredits: string;
|
|
11
|
+
musicIcon: string;
|
|
12
|
+
list: BenefitItem[];
|
|
13
|
+
mainImage: {
|
|
14
|
+
url: string;
|
|
15
|
+
alt: string;
|
|
16
|
+
};
|
|
17
|
+
joinNow: string;
|
|
18
|
+
activate: string;
|
|
19
|
+
completed: string;
|
|
20
|
+
completeProfile: string;
|
|
21
|
+
makeFirstPurchase: string;
|
|
22
|
+
goShopLink: string;
|
|
23
|
+
uploadReceipt: string;
|
|
24
|
+
shopNow: string;
|
|
25
|
+
subscribe: string;
|
|
26
|
+
sendEmailSuccess: string;
|
|
27
|
+
creditsIcon: {
|
|
28
|
+
url: string;
|
|
29
|
+
alt: string;
|
|
30
|
+
};
|
|
31
|
+
receipt: ReceiptCopy;
|
|
32
|
+
};
|
|
33
|
+
export declare enum TaskType {
|
|
34
|
+
Activate = "activate",
|
|
35
|
+
Subscribe = "subscribe",
|
|
36
|
+
CompleteProfile = "completeProfile",
|
|
37
|
+
FirstPurchase = "firstPurchase",
|
|
38
|
+
UploadReceipt = "uploadReceipt",
|
|
39
|
+
Shop = "shop"
|
|
40
|
+
}
|
|
41
|
+
export type CreditsWaysToGetCreditsProps = {
|
|
42
|
+
copy: WaysToGetCreditsCopy;
|
|
43
|
+
classNames?: {
|
|
44
|
+
equalCreditsText?: string;
|
|
45
|
+
subtitle?: string;
|
|
46
|
+
};
|
|
47
|
+
activate: {
|
|
48
|
+
openAuthCodePopup: () => void;
|
|
49
|
+
isSuccess: boolean;
|
|
50
|
+
isSendingActivateEmail: boolean;
|
|
51
|
+
};
|
|
52
|
+
subscribe: {
|
|
53
|
+
openSubscribePopup: () => void;
|
|
54
|
+
isSuccess: boolean;
|
|
55
|
+
};
|
|
56
|
+
uploadReceipt: {
|
|
57
|
+
openUploadReceiptPopup: () => void;
|
|
58
|
+
isSuccess: boolean;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { CreditsWaysToGetCreditsProps } from './type';
|
|
2
|
+
export declare const useActions: ({ copy, subscribe, uploadReceipt, activate, gaParameters, }: CreditsWaysToGetCreditsProps & {
|
|
3
|
+
gaParameters?: {
|
|
4
|
+
position: string;
|
|
5
|
+
};
|
|
6
|
+
}) => {
|
|
7
|
+
actions: {
|
|
8
|
+
activate: {
|
|
9
|
+
finished: any;
|
|
10
|
+
notLogin: {
|
|
11
|
+
buttonLabel: string;
|
|
12
|
+
handleClick: () => void;
|
|
13
|
+
};
|
|
14
|
+
notFinished: {
|
|
15
|
+
buttonLabel: string;
|
|
16
|
+
handleClick: () => void;
|
|
17
|
+
};
|
|
18
|
+
completed: {
|
|
19
|
+
buttonLabel: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
subscribe: {
|
|
23
|
+
finished: boolean;
|
|
24
|
+
notLogin: {
|
|
25
|
+
buttonLabel: string;
|
|
26
|
+
handleClick: () => void;
|
|
27
|
+
};
|
|
28
|
+
notFinished: {
|
|
29
|
+
buttonLabel: string;
|
|
30
|
+
handleClick: () => void;
|
|
31
|
+
};
|
|
32
|
+
completed: {
|
|
33
|
+
buttonLabel: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
completeProfile: {
|
|
37
|
+
finished: any;
|
|
38
|
+
notLogin: {
|
|
39
|
+
buttonLabel: string;
|
|
40
|
+
handleClick: () => void;
|
|
41
|
+
};
|
|
42
|
+
notFinished: {
|
|
43
|
+
buttonLabel: string;
|
|
44
|
+
link: string;
|
|
45
|
+
handleClick: () => void;
|
|
46
|
+
};
|
|
47
|
+
completed: {
|
|
48
|
+
buttonLabel: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
firstPurchase: {
|
|
52
|
+
finished: boolean;
|
|
53
|
+
notLogin: {
|
|
54
|
+
buttonLabel: string;
|
|
55
|
+
handleClick: () => void;
|
|
56
|
+
};
|
|
57
|
+
notFinished: {
|
|
58
|
+
buttonLabel: string;
|
|
59
|
+
link: string;
|
|
60
|
+
handleClick: () => void;
|
|
61
|
+
};
|
|
62
|
+
completed: {
|
|
63
|
+
buttonLabel: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
uploadReceipt: {
|
|
67
|
+
finished: boolean;
|
|
68
|
+
notLogin: {
|
|
69
|
+
buttonLabel: string;
|
|
70
|
+
handleClick: () => void;
|
|
71
|
+
};
|
|
72
|
+
notFinished: {
|
|
73
|
+
buttonLabel: string;
|
|
74
|
+
handleClick: () => void;
|
|
75
|
+
};
|
|
76
|
+
completed: {
|
|
77
|
+
buttonLabel: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
shop: {
|
|
81
|
+
finished: boolean;
|
|
82
|
+
notLogin: {
|
|
83
|
+
buttonLabel: string;
|
|
84
|
+
handleClick: () => void;
|
|
85
|
+
};
|
|
86
|
+
notFinished: {
|
|
87
|
+
buttonLabel: string;
|
|
88
|
+
link: string;
|
|
89
|
+
handleClick: () => void;
|
|
90
|
+
};
|
|
91
|
+
completed: {
|
|
92
|
+
buttonLabel: string;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
};
|