@lookiero/checkout 9.9.0-beta.2 → 9.9.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.
Files changed (149) hide show
  1. package/dist/fake-dependencies/@lookiero/payments-front/index.d.ts +6 -8
  2. package/dist/fake-dependencies/@lookiero/payments-front/index.js +4 -7
  3. package/dist/index.js +2 -2
  4. package/dist/src/ExpoRoot.js +12 -16
  5. package/dist/src/infrastructure/ui/Root.d.ts +2 -0
  6. package/dist/src/infrastructure/ui/Root.js +4 -2
  7. package/dist/src/infrastructure/ui/components/organisms/checkoutQuestions/components/textareaCheckoutQuestionItem/TextareaCheckoutQuestionItem.js +1 -1
  8. package/dist/src/infrastructure/ui/components/organisms/checkoutQuestions/components/textareaCheckoutQuestionItem/TextareaCheckoutQuestionItem.style.d.ts +0 -1
  9. package/dist/src/infrastructure/ui/components/organisms/checkoutQuestions/components/textareaCheckoutQuestionItem/TextareaCheckoutQuestionItem.style.js +0 -1
  10. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem.js +1 -1
  11. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem.style.d.ts +0 -1
  12. package/dist/src/infrastructure/ui/components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem.style.js +0 -1
  13. package/dist/src/infrastructure/ui/hooks/usePaymentInstrumentEvents.d.ts +2 -3
  14. package/dist/src/infrastructure/ui/hooks/usePaymentInstrumentEvents.js +26 -17
  15. package/dist/src/infrastructure/ui/hooks/useQueryBus.d.ts +9 -0
  16. package/dist/src/infrastructure/ui/hooks/useQueryBus.js +10 -0
  17. package/dist/src/infrastructure/ui/hooks/useSubmitCheckout.d.ts +1 -1
  18. package/dist/src/infrastructure/ui/hooks/useSubmitCheckout.js +55 -22
  19. package/dist/src/infrastructure/ui/i18n/i18n.d.ts +0 -1
  20. package/dist/src/infrastructure/ui/i18n/i18n.js +0 -1
  21. package/dist/src/infrastructure/ui/views/App.js +6 -5
  22. package/dist/src/infrastructure/ui/views/checkout/Checkout.js +2 -5
  23. package/dist/src/infrastructure/ui/views/checkout/Checkout.style.d.ts +0 -3
  24. package/dist/src/infrastructure/ui/views/checkout/Checkout.style.js +0 -3
  25. package/dist/src/infrastructure/ui/views/checkout/components/checkoutPaymentModal/CheckoutPaymentModal.js +2 -2
  26. package/dist/src/infrastructure/ui/views/checkout/components/paymentInstrument/PaymentInstrument.js +7 -7
  27. package/dist/src/projection/customer/customer.d.ts +0 -2
  28. package/dist/src/version.d.ts +1 -1
  29. package/dist/src/version.js +1 -1
  30. package/fake-dependencies/@lookiero/payments-front/index.tsx +9 -32
  31. package/index.ts +2 -2
  32. package/package.json +7 -7
  33. package/src/ExpoRoot.tsx +31 -36
  34. package/src/infrastructure/ui/Root.tsx +30 -17
  35. package/src/infrastructure/ui/components/organisms/checkoutQuestions/components/textareaCheckoutQuestionItem/TextareaCheckoutQuestionItem.style.ts +0 -1
  36. package/src/infrastructure/ui/components/organisms/checkoutQuestions/components/textareaCheckoutQuestionItem/TextareaCheckoutQuestionItem.tsx +1 -0
  37. package/src/infrastructure/ui/components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem.style.ts +0 -1
  38. package/src/infrastructure/ui/components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem.tsx +1 -0
  39. package/src/infrastructure/ui/hooks/usePaymentInstrumentEvents.ts +60 -18
  40. package/src/infrastructure/ui/hooks/useQueryBus.test.tsx +23 -0
  41. package/src/infrastructure/ui/hooks/useQueryBus.tsx +27 -0
  42. package/src/infrastructure/ui/hooks/useSubmitCheckout.test.ts +58 -0
  43. package/src/infrastructure/ui/hooks/useSubmitCheckout.ts +77 -33
  44. package/src/infrastructure/ui/i18n/i18n.ts +0 -1
  45. package/src/infrastructure/ui/views/App.tsx +13 -5
  46. package/src/infrastructure/ui/views/checkout/Checkout.style.ts +0 -3
  47. package/src/infrastructure/ui/views/checkout/Checkout.tsx +3 -12
  48. package/src/infrastructure/ui/views/checkout/components/checkoutPaymentModal/CheckoutPaymentModal.tsx +2 -2
  49. package/src/infrastructure/ui/views/checkout/components/paymentInstrument/PaymentInstrument.tsx +8 -8
  50. package/src/projection/customer/customer.ts +0 -2
  51. package/dist/pact.config.d.ts +0 -21
  52. package/dist/pact.config.js +0 -16
  53. package/dist/public/public/assets/adaptive-icon.png +0 -0
  54. package/dist/public/public/assets/favicon.png +0 -0
  55. package/dist/public/public/assets/icon.png +0 -0
  56. package/dist/public/public/assets/splash.png +0 -0
  57. package/dist/public/public/images/not-found.png +0 -0
  58. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.d.ts +0 -1
  59. package/dist/src/infrastructure/projection/bookedProductsVariants/httpBookedProductsVariantsForCheckoutItemView.pact.js +0 -55
  60. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.d.ts +0 -1
  61. package/dist/src/infrastructure/projection/checkout/httpCheckoutByIdView.pact.js +0 -116
  62. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.d.ts +0 -1
  63. package/dist/src/infrastructure/projection/checkout/httpFirstAvailableCheckoutByCustomerIdView.pact.js +0 -56
  64. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.d.ts +0 -1
  65. package/dist/src/infrastructure/projection/checkout/httpFiveItemsDiscountByCustomerIdView.pact.js +0 -51
  66. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.d.ts +0 -1
  67. package/dist/src/infrastructure/projection/checkout/httpIsCheckoutEnabledByCustomerIdView.pact.js +0 -51
  68. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.d.ts +0 -1
  69. package/dist/src/infrastructure/projection/checkout/httpIsSizeChangeEnabledByCheckoutIdView.pact.js +0 -51
  70. package/dist/src/infrastructure/projection/checkout/react/useViewIsCheckoutAccessibleByCustomerId.d.ts +0 -13
  71. package/dist/src/infrastructure/projection/checkout/react/useViewIsCheckoutAccessibleByCustomerId.js +0 -19
  72. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.d.ts +0 -1
  73. package/dist/src/infrastructure/projection/checkoutBooking/httpCheckoutBookingByIdView.pact.js +0 -56
  74. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.d.ts +0 -1
  75. package/dist/src/infrastructure/projection/checkoutItem/httpCheckoutItemByIdView.pact.js +0 -57
  76. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.d.ts +0 -1
  77. package/dist/src/infrastructure/projection/checkoutQuestion/httpCheckoutQuestionsByCheckoutIdView.pact.js +0 -55
  78. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.d.ts +0 -1
  79. package/dist/src/infrastructure/projection/payment/httpPaymentFlowPayloadByCheckoutIdView.pact.js +0 -120
  80. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.d.ts +0 -1
  81. package/dist/src/infrastructure/projection/pricing/httpPricingByCheckoutIdView.pact.js +0 -55
  82. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.d.ts +0 -1
  83. package/dist/src/infrastructure/projection/returnQuestion/httpReturnQuestionsByCheckoutItemIdView.pact.js +0 -55
  84. package/dist/src/infrastructure/ui/components/layouts/layout/Layout.d.ts +0 -22
  85. package/dist/src/infrastructure/ui/components/layouts/layout/Layout.js +0 -1
  86. package/dist/src/infrastructure/ui/components/layouts/layout/components/footer/Footer.d.ts +0 -7
  87. package/dist/src/infrastructure/ui/components/layouts/layout/components/footer/Footer.js +0 -5
  88. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.d.ts +0 -7
  89. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.js +0 -6
  90. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.style.d.ts +0 -4
  91. package/dist/src/infrastructure/ui/components/layouts/layout/components/header/Header.style.js +0 -20
  92. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.d.ts +0 -4
  93. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.js +0 -43
  94. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.style.d.ts +0 -12
  95. package/dist/src/infrastructure/ui/components/layouts/layout/dummyLayout/DummyLayout.style.js +0 -14
  96. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.d.ts +0 -7
  97. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.js +0 -21
  98. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.style.d.ts +0 -8
  99. package/dist/src/infrastructure/ui/components/templates/header/defaultHeader/DefaultHeader.style.js +0 -12
  100. package/dist/src/infrastructure/ui/hooks/useNewFeedbackExperiment.d.ts +0 -12
  101. package/dist/src/infrastructure/ui/hooks/useNewFeedbackExperiment.js +0 -64
  102. package/dist/src/infrastructure/ui/i18n/fetchTranslations.d.ts +0 -10
  103. package/dist/src/infrastructure/ui/i18n/fetchTranslations.js +0 -17
  104. package/dist/src/infrastructure/ui/i18n/translationEndpoint.d.ts +0 -20
  105. package/dist/src/infrastructure/ui/i18n/translationEndpoint.js +0 -27
  106. package/dist/src/infrastructure/ui/routing/CheckoutAccessibilityMiddleware.d.ts +0 -10
  107. package/dist/src/infrastructure/ui/routing/CheckoutAccessibilityMiddleware.js +0 -27
  108. package/dist/src/infrastructure/ui/views/App.style.d.ts +0 -6
  109. package/dist/src/infrastructure/ui/views/App.style.js +0 -8
  110. package/dist/src/infrastructure/ui/views/feedback/components/checkoutQuestionsForm/CheckoutQuestionsForm.style.d.ts +0 -7
  111. package/dist/src/infrastructure/ui/views/feedback/components/checkoutQuestionsForm/CheckoutQuestionsForm.style.js +0 -11
  112. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.d.ts +0 -12
  113. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.js +0 -64
  114. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.style.d.ts +0 -12
  115. package/dist/src/infrastructure/ui/views/item/components/returnQuestionsForm/ReturnQuestionsForm.style.js +0 -16
  116. package/dist/src/infrastructure/ui/views/return/Return.style.d.ts +0 -40
  117. package/dist/src/infrastructure/ui/views/return/Return.style.js +0 -44
  118. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.d.ts +0 -14
  119. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.js +0 -28
  120. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.style.d.ts +0 -7
  121. package/dist/src/infrastructure/ui/views/summary/components/stickyPricing/StickyPricing.style.js +0 -11
  122. package/dist/src/projection/checkout/viewIsCheckoutAccessibleByCustomerId.d.ts +0 -26
  123. package/dist/src/projection/checkout/viewIsCheckoutAccessibleByCustomerId.js +0 -21
  124. package/dist/src/projection/shared/country.d.ts +0 -14
  125. package/dist/src/projection/shared/country.js +0 -15
  126. package/dist/src/projection/shared/customer.d.ts +0 -9
  127. package/dist/src/projection/shared/customer.js +0 -1
  128. package/dist/src/projection/shared/locale.d.ts +0 -12
  129. package/dist/src/projection/shared/locale.js +0 -13
  130. package/dist/src/projection/shared/order.d.ts +0 -6
  131. package/dist/src/projection/shared/order.js +0 -1
  132. package/dist/src/projection/shared/price.d.ts +0 -11
  133. package/dist/src/projection/shared/price.js +0 -1
  134. package/dist/src/projection/shared/size.d.ts +0 -21
  135. package/dist/src/projection/shared/size.js +0 -4
  136. package/dist/src/projection/shared/subscription.d.ts +0 -2
  137. package/dist/src/projection/shared/subscription.js +0 -1
  138. package/dist/src/shared/ui/components/atoms/aspectRatioView/AspectRatioView.d.ts +0 -15
  139. package/dist/src/shared/ui/components/atoms/aspectRatioView/AspectRatioView.js +0 -16
  140. package/dist/src/shared/ui/components/atoms/error/Error.d.ts +0 -11
  141. package/dist/src/shared/ui/components/atoms/error/Error.js +0 -6
  142. package/dist/src/shared/ui/components/atoms/field/Field.d.ts +0 -14
  143. package/dist/src/shared/ui/components/atoms/field/Field.js +0 -29
  144. package/dist/src/shared/ui/components/atoms/field/Field.style.d.ts +0 -16
  145. package/dist/src/shared/ui/components/atoms/field/Field.style.js +0 -19
  146. package/dist/src/shared/ui/components/molecules/inputField/InputField.d.ts +0 -24
  147. package/dist/src/shared/ui/components/molecules/inputField/InputField.js +0 -28
  148. package/dist/src/shared/ui/components/molecules/inputField/InputField.style.d.ts +0 -29
  149. package/dist/src/shared/ui/components/molecules/inputField/InputField.style.js +0 -37
@@ -1,43 +0,0 @@
1
- /* eslint-disable react/prop-types */
2
- import React from "react";
3
- import { View } from "react-native";
4
- import { GestureHandlerRootView, ScrollView as RNGHScrollView } from "react-native-gesture-handler";
5
- import { SafeAreaView } from "react-native-safe-area-context";
6
- import { Footer as DefaultFooter } from "../../../templates/footer/Footer";
7
- import { DefaultHeader } from "../../../templates/header/defaultHeader/DefaultHeader";
8
- import { Footer } from "../components/footer/Footer";
9
- import { Header } from "../components/header/Header";
10
- import { style } from "./DummyLayout.style";
11
-
12
- const DummyLayout = ({
13
- children,
14
- header = React.createElement(DefaultHeader, null),
15
- footer = React.createElement(DefaultFooter, null),
16
- panel,
17
- style: customStyle,
18
- scrollEnabled,
19
- onLayout,
20
- }) =>
21
- React.createElement(
22
- SafeAreaView,
23
- { style: [style.safeAreaView, customStyle?.safeAreaView] },
24
- React.createElement(
25
- GestureHandlerRootView,
26
- { style: { flex: 1 } },
27
- React.createElement(
28
- RNGHScrollView,
29
- {
30
- contentContainerStyle: [style.scrollView, customStyle?.scrollView],
31
- scrollEnabled: scrollEnabled,
32
- scrollEventThrottle: 16,
33
- showsVerticalScrollIndicator: false,
34
- stickyHeaderIndices: [0],
35
- },
36
- React.createElement(Header, null, header),
37
- panel,
38
- React.createElement(View, { style: style.children, onLayout: onLayout }, children),
39
- ),
40
- ),
41
- React.createElement(Footer, null, footer),
42
- );
43
- export { DummyLayout };
@@ -1,12 +0,0 @@
1
- declare const style: {
2
- children: {
3
- flex: number;
4
- };
5
- safeAreaView: {
6
- flex: number;
7
- };
8
- scrollView: {
9
- flexGrow: number;
10
- };
11
- };
12
- export { style };
@@ -1,14 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
-
3
- const style = StyleSheet.create({
4
- children: {
5
- flex: 1,
6
- },
7
- safeAreaView: {
8
- flex: 1,
9
- },
10
- scrollView: {
11
- flexGrow: 1,
12
- },
13
- });
14
- export { style };
@@ -1,7 +0,0 @@
1
- import { FC } from "react";
2
-
3
- interface DefaultHeaderProps {
4
- readonly onPressMenu?: () => void;
5
- }
6
- declare const DefaultHeader: FC<DefaultHeaderProps>;
7
- export { DefaultHeader };
@@ -1,21 +0,0 @@
1
- import React from "react";
2
- import { ButtonIcon } from "@lookiero/aurora";
3
- import { Header } from "../Header";
4
- import { ButtonIconPlaceholder } from "../buttonIconPlaceholder/ButtonIconPlaceholder";
5
- import { Logo } from "../logo/Logo";
6
- import { style } from "./DefaultHeader.style";
7
-
8
- const DefaultHeader = ({ onPressMenu }) =>
9
- React.createElement(
10
- Header,
11
- { testID: "default-header" },
12
- React.createElement(Logo, null),
13
- React.createElement(ButtonIconPlaceholder, null),
14
- React.createElement(ButtonIcon, {
15
- name: "menu",
16
- style: style.button,
17
- testID: "menu-button-icon",
18
- onPress: onPressMenu,
19
- }),
20
- );
21
- export { DefaultHeader };
@@ -1,8 +0,0 @@
1
- declare const style: {
2
- button: {
3
- alignSelf: "auto";
4
- height: number;
5
- width: number;
6
- };
7
- };
8
- export { style };
@@ -1,12 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { space10 } = theme();
5
- const style = StyleSheet.create({
6
- button: {
7
- alignSelf: "auto",
8
- height: space10,
9
- width: space10,
10
- },
11
- });
12
- export { style };
@@ -1,12 +0,0 @@
1
- import { FC, ReactNode } from "react";
2
-
3
- declare enum NewFeedbackExperimentVariation {
4
- CONTROL = "control",
5
- RETURN_PAGE = "return_page",
6
- }
7
- interface NewFeedbackExperimentProviderProps {
8
- readonly children: ReactNode;
9
- }
10
- declare const NewFeedbackExperimentProvider: FC<NewFeedbackExperimentProviderProps>;
11
- declare const useNewFeedbackExperiment: () => NewFeedbackExperimentVariation;
12
- export { useNewFeedbackExperiment, NewFeedbackExperimentProvider, NewFeedbackExperimentVariation };
@@ -1,64 +0,0 @@
1
- import React, { createContext, useContext, useEffect, useMemo, useRef } from "react";
2
- import invariant from "tiny-invariant";
3
- import { Spinner } from "@lookiero/aurora";
4
- import { useAssignedVariationByExperimentId } from "@lookiero/sty-psp-ab-testing";
5
- import { useViewFirstAvailableCheckoutByCustomerId } from "../../projection/checkout/react/useViewFirstAvailableCheckoutByCustomerId";
6
- import { useTrackAssignedVariationByExperiment } from "../../tracking/useTrackAssignedVariationByExperiment";
7
- import { useStaticInfo } from "./useStaticInfo";
8
-
9
- var NewFeedbackExperimentVariation;
10
- (function (NewFeedbackExperimentVariation) {
11
- NewFeedbackExperimentVariation["CONTROL"] = "control";
12
- NewFeedbackExperimentVariation["RETURN_PAGE"] = "return_page";
13
- })(NewFeedbackExperimentVariation || (NewFeedbackExperimentVariation = {}));
14
- const NewFeedbackExperimentContext = createContext(null);
15
- const NewFeedbackExperimentProvider = ({ children }) => {
16
- const {
17
- kameleoon: {
18
- experiments: {
19
- newFeedback: { id: newFeedbackId, variations },
20
- },
21
- },
22
- customer: { customerId, country, segment },
23
- } = useStaticInfo();
24
- const [checkout] = useViewFirstAvailableCheckoutByCustomerId({ customerId });
25
- const { assignedVariation: newFeedbackVariation } = useAssignedVariationByExperimentId({
26
- experimentId: newFeedbackId,
27
- });
28
- const trackAssignedVariation = useTrackAssignedVariationByExperiment({
29
- checkoutId: checkout?.id,
30
- country,
31
- segment,
32
- experimentId: newFeedbackId,
33
- });
34
- const value = useMemo(
35
- () => ({
36
- variation:
37
- newFeedbackVariation?.id === Number(variations.v1)
38
- ? NewFeedbackExperimentVariation.RETURN_PAGE
39
- : NewFeedbackExperimentVariation.CONTROL,
40
- }),
41
- [newFeedbackVariation?.id, variations.v1],
42
- );
43
- const assignedVariantTracked = useRef(false);
44
- useEffect(() => {
45
- if (assignedVariantTracked.current || !newFeedbackVariation || !checkout?.id) {
46
- return;
47
- }
48
- trackAssignedVariation({ assignedVariation: newFeedbackVariation });
49
- assignedVariantTracked.current = true;
50
- }, [checkout?.id, newFeedbackVariation, trackAssignedVariation]);
51
- if (!checkout) {
52
- return React.createElement(Spinner, null);
53
- }
54
- return React.createElement(NewFeedbackExperimentContext.Provider, { value: value }, children);
55
- };
56
- const useNewFeedbackExperiment = () => {
57
- const newFeedbackExperiment = useContext(NewFeedbackExperimentContext);
58
- invariant(
59
- newFeedbackExperiment,
60
- "Your are trying to use the useNewFeedbackExperiment hook without wrapping your app with the <NewFeedbackExperimentProvider>.",
61
- );
62
- return newFeedbackExperiment.variation;
63
- };
64
- export { useNewFeedbackExperiment, NewFeedbackExperimentProvider, NewFeedbackExperimentVariation };
@@ -1,10 +0,0 @@
1
- import { EndpointFunction, FetchTranslationFuction } from "@lookiero/i18n";
2
-
3
- interface FetchTranslationsFuntionArgs {
4
- readonly translations: EndpointFunction[];
5
- }
6
- interface FetchTranslationsFuntion {
7
- (args: FetchTranslationsFuntionArgs): FetchTranslationFuction;
8
- }
9
- declare const fetchTranslations: FetchTranslationsFuntion;
10
- export { fetchTranslations };
@@ -1,17 +0,0 @@
1
- import { fetchFetchTranslation } from "@lookiero/i18n";
2
-
3
- const fetchTranslations =
4
- ({ translations }) =>
5
- async ({ locale }) => {
6
- const translationsMessages = await Promise.all(
7
- translations.map((endpoint) => fetchFetchTranslation({ endpoint })({ locale })),
8
- );
9
- return translationsMessages.reduce(
10
- (acc, translationMessages) => ({
11
- ...acc,
12
- ...translationMessages,
13
- }),
14
- {},
15
- );
16
- };
17
- export { fetchTranslations };
@@ -1,20 +0,0 @@
1
- import { EndpointFunction } from "@lookiero/i18n";
2
-
3
- interface TranslationEndpointFunctionArgs {
4
- readonly translationsUrl: string;
5
- readonly translationsApiKey: string;
6
- }
7
- interface TranslationEndpointFunction {
8
- (args: TranslationEndpointFunctionArgs): EndpointFunction;
9
- }
10
- declare const translationEndpoint: TranslationEndpointFunction;
11
- type Project = "user-area-front" | "inventory-catalog" | "checkout";
12
- interface TranslationExternalEndpointFunctionArgs {
13
- readonly translationsUrl: string;
14
- readonly projects: [project: Project, filter?: string][];
15
- }
16
- interface TranslationExternalEndpointFunction {
17
- (args: TranslationExternalEndpointFunctionArgs): EndpointFunction;
18
- }
19
- declare const translationExternalEndpoint: TranslationExternalEndpointFunction;
20
- export { translationEndpoint, translationExternalEndpoint };
@@ -1,27 +0,0 @@
1
- import { Country } from "../../../projection/shared/country";
2
- import { Locale } from "../../../projection/shared/locale";
3
-
4
- const translationEndpoint =
5
- ({ translationsUrl, translationsApiKey }) =>
6
- (locale) =>
7
- `${translationsUrl}/${locale}?key=${translationsApiKey}&no-folding=true`;
8
- const COUNTRY = {
9
- [Locale.ES]: Country.ES,
10
- [Locale.FR]: Country.FR,
11
- [Locale.EN]: Country.GB,
12
- [Locale.IT]: Country.IT,
13
- [Locale.PT]: Country.PT,
14
- [Locale.DE]: Country.DE,
15
- [Locale.AT]: Country.AT,
16
- [Locale.NL]: Country.NL,
17
- [Locale.SE]: Country.SE,
18
- };
19
- const translationExternalEndpoint =
20
- ({ translationsUrl, projects }) =>
21
- (locale) => {
22
- const projectsQueryParam = projects
23
- .map(([project, filter]) => `projectFilter=${project}${filter ? `:${filter}` : ""}`)
24
- .join("&");
25
- return `${translationsUrl}/${locale}/${COUNTRY[locale]}?${projectsQueryParam}`;
26
- };
27
- export { translationEndpoint, translationExternalEndpoint };
@@ -1,10 +0,0 @@
1
- import { FC } from "react";
2
-
3
- interface CheckoutAccessibilityMiddlewareProps {
4
- readonly customerId: string | undefined;
5
- readonly onNotAccessible: () => void;
6
- readonly loader?: JSX.Element;
7
- readonly children: JSX.Element;
8
- }
9
- declare const CheckoutAccessibilityMiddleware: FC<CheckoutAccessibilityMiddlewareProps>;
10
- export { CheckoutAccessibilityMiddleware };
@@ -1,27 +0,0 @@
1
- import React, { useEffect, useRef } from "react";
2
- import { Spinner } from "@lookiero/aurora";
3
- import { QueryStatus } from "@lookiero/messaging-react";
4
- import { useViewIsCheckoutAccessibleByCustomerId } from "../../projection/checkout/react/useViewIsCheckoutAccessibleByCustomerId";
5
-
6
- const CheckoutAccessibilityMiddleware = ({
7
- customerId,
8
- onNotAccessible,
9
- loader = React.createElement(Spinner, null),
10
- children,
11
- }) => {
12
- const [accessible, status] = useViewIsCheckoutAccessibleByCustomerId({ customerId });
13
- const onNotAccessibleRef = useRef(onNotAccessible);
14
- onNotAccessibleRef.current = onNotAccessible;
15
- const notAccessible = accessible === false || status === QueryStatus.ERROR;
16
- useEffect(() => {
17
- if (notAccessible) {
18
- onNotAccessibleRef.current();
19
- }
20
- }, [notAccessible]);
21
- return accessible === undefined && [QueryStatus.IDLE, QueryStatus.LOADING].includes(status)
22
- ? loader
23
- : accessible
24
- ? children
25
- : null;
26
- };
27
- export { CheckoutAccessibilityMiddleware };
@@ -1,6 +0,0 @@
1
- declare const style: {
2
- container: {
3
- flex: number;
4
- };
5
- };
6
- export { style };
@@ -1,8 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
-
3
- const style = StyleSheet.create({
4
- container: {
5
- flex: 1,
6
- },
7
- });
8
- export { style };
@@ -1,7 +0,0 @@
1
- declare const style: {
2
- buttonContainer: {
3
- paddingHorizontal: number;
4
- paddingVertical: number;
5
- };
6
- };
7
- export { style };
@@ -1,11 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { space6, space8 } = theme();
5
- const style = StyleSheet.create({
6
- buttonContainer: {
7
- paddingHorizontal: space6,
8
- paddingVertical: space8,
9
- },
10
- });
11
- export { style };
@@ -1,12 +0,0 @@
1
- import { FC } from "react";
2
- import { FeedbackProjection } from "../../../../../../projection/feedback/feedback";
3
- import { ReturnQuestionProjection } from "../../../../../../projection/returnQuestion/returnQuestion";
4
-
5
- interface ReturnQuestionsFormProps {
6
- readonly visible: boolean;
7
- readonly returnQuestions: ReturnQuestionProjection[];
8
- readonly onSubmit: (feedback: FeedbackProjection) => void;
9
- readonly onClose: () => void;
10
- }
11
- declare const ReturnQuestionsForm: FC<ReturnQuestionsFormProps>;
12
- export { ReturnQuestionsForm };
@@ -1,64 +0,0 @@
1
- import { PortalHost } from "@gorhom/portal";
2
- import React, { useCallback } from "react";
3
- import { View } from "react-native";
4
- import { Button, Text } from "@lookiero/aurora";
5
- import { useI18nMessage } from "@lookiero/i18n-react";
6
- import { Modal } from "@lookiero/sty-psp-ui";
7
- import { ReturnQuestionType } from "../../../../../../projection/returnQuestion/returnQuestion";
8
- import { ReturnQuestions } from "../../../../components/organisms/returnQuestions/ReturnQuestions";
9
- import { useReturnQuestionFeedback } from "../../../../components/organisms/returnQuestions/behaviors/useReturnQuestionFeedback";
10
- import { ReturnQuestionItemProvider } from "../../../../components/organisms/returnQuestions/behaviors/useReturnQuestionItem";
11
- import { HostDefaultReturnQuestionItem } from "../../../../components/organisms/returnQuestions/components/hostDefaultReturnQuestionItem/HostDefaultReturnQuestionItem";
12
- import { HostSelectReturnQuestionItem } from "../../../../components/organisms/returnQuestions/components/hostSelectReturnQuestionItem/HostSelectReturnQuestionItem";
13
- import { HostStackReturnQuestionItem } from "../../../../components/organisms/returnQuestions/components/hostStackReturnQuestionItem/modal/HostStackReturnQuestionItem";
14
- import { OptionReturnQuestionItem } from "../../../../components/organisms/returnQuestions/components/optionReturnQuestionItem/OptionReturnQuestionItem";
15
- import { TextareaReturnQuestionItem } from "../../../../components/organisms/returnQuestions/components/textareaReturnQuestionItem/TextareaReturnQuestionItem";
16
- import { I18nMessages } from "../../../../i18n/i18n";
17
- import { style } from "./ReturnQuestionsForm.style";
18
-
19
- const RETURN_QUESTION_FORM_PORTAL_HOST_NAME = "return-question-form-portal";
20
- const returnQuestionItems = {
21
- [ReturnQuestionType.HOST_DEFAULT]: HostDefaultReturnQuestionItem,
22
- [ReturnQuestionType.HOST_TEXTAREA]: HostDefaultReturnQuestionItem,
23
- [ReturnQuestionType.HOST_SELECT]: HostSelectReturnQuestionItem,
24
- [ReturnQuestionType.HOST_STACK]: HostStackReturnQuestionItem,
25
- [ReturnQuestionType.TEXTAREA]: TextareaReturnQuestionItem,
26
- [ReturnQuestionType.OPTION]: OptionReturnQuestionItem,
27
- };
28
- const ReturnQuestionsForm = ({ returnQuestions, visible, onSubmit, onClose }) => {
29
- const titleText = useI18nMessage({ id: I18nMessages.RETURN_QUESTIONS_TITLE });
30
- const submitButtonText = useI18nMessage({ id: I18nMessages.RETURN_QUESTIONS_SUBMIT_BUTTON });
31
- const feedback = useReturnQuestionFeedback();
32
- const handleOnSubmit = useCallback(() => onSubmit(feedback), [feedback, onSubmit]);
33
- return React.createElement(
34
- ReturnQuestionItemProvider,
35
- { returnQuestionItems: returnQuestionItems },
36
- React.createElement(PortalHost, { name: RETURN_QUESTION_FORM_PORTAL_HOST_NAME }),
37
- React.createElement(
38
- Modal,
39
- {
40
- portalHostName: RETURN_QUESTION_FORM_PORTAL_HOST_NAME,
41
- testID: "return-questions-form-modal",
42
- visible: visible,
43
- scroll: true,
44
- showCloseButton: true,
45
- onClose: onClose,
46
- },
47
- React.createElement(
48
- View,
49
- { style: style.modalContent },
50
- React.createElement(Text, { level: 3, style: style.title, heading: true }, titleText),
51
- React.createElement(ReturnQuestions, {
52
- portalHostName: RETURN_QUESTION_FORM_PORTAL_HOST_NAME,
53
- returnQuestions: returnQuestions,
54
- }),
55
- React.createElement(
56
- Button,
57
- { style: style.submit, testID: "return-questions-button", onPress: handleOnSubmit },
58
- submitButtonText,
59
- ),
60
- ),
61
- ),
62
- );
63
- };
64
- export { ReturnQuestionsForm };
@@ -1,12 +0,0 @@
1
- declare const style: {
2
- modalContent: {
3
- paddingHorizontal: number;
4
- };
5
- submit: {
6
- marginTop: number;
7
- };
8
- title: {
9
- marginBottom: number;
10
- };
11
- };
12
- export { style };
@@ -1,16 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { space6, space8 } = theme();
5
- const style = StyleSheet.create({
6
- modalContent: {
7
- paddingHorizontal: space6,
8
- },
9
- submit: {
10
- marginTop: space8,
11
- },
12
- title: {
13
- marginBottom: space6,
14
- },
15
- });
16
- export { style };
@@ -1,40 +0,0 @@
1
- declare const style: {
2
- description: {
3
- color: string;
4
- };
5
- desktopInfo: {
6
- borderTopLeftRadius: number;
7
- borderTopRightRadius: number;
8
- };
9
- desktopLayoutSpacing: {
10
- paddingVertical: number;
11
- };
12
- headerWrapper: {
13
- display: "flex";
14
- flexDirection: "column";
15
- };
16
- info: {
17
- backgroundColor: string;
18
- paddingBottom: number;
19
- paddingHorizontal: number;
20
- paddingTop: number;
21
- };
22
- layout: {
23
- flex: number;
24
- justifyContent: "center";
25
- };
26
- safeAreaView: {
27
- backgroundColor: string;
28
- flex: number;
29
- };
30
- scrollView: {
31
- flex: number;
32
- };
33
- submit: {
34
- backgroundColor: string;
35
- borderBottomLeftRadius: number;
36
- borderBottomRightRadius: number;
37
- padding: number;
38
- };
39
- };
40
- export { style };
@@ -1,44 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { borderRadius5, colorBgPrimaryLight, colorBgBase, colorTextMedium, space4, space6, space8 } = theme();
5
- const style = StyleSheet.create({
6
- description: {
7
- color: colorTextMedium,
8
- },
9
- desktopInfo: {
10
- borderTopLeftRadius: borderRadius5,
11
- borderTopRightRadius: borderRadius5,
12
- },
13
- desktopLayoutSpacing: {
14
- paddingVertical: space8,
15
- },
16
- headerWrapper: {
17
- display: "flex",
18
- flexDirection: "column",
19
- },
20
- info: {
21
- backgroundColor: colorBgBase,
22
- paddingBottom: space4,
23
- paddingHorizontal: space6,
24
- paddingTop: space8,
25
- },
26
- layout: {
27
- flex: 1,
28
- justifyContent: "center",
29
- },
30
- safeAreaView: {
31
- backgroundColor: colorBgPrimaryLight,
32
- flex: 1,
33
- },
34
- scrollView: {
35
- flex: 1,
36
- },
37
- submit: {
38
- backgroundColor: colorBgBase,
39
- borderBottomLeftRadius: borderRadius5,
40
- borderBottomRightRadius: borderRadius5,
41
- padding: space6,
42
- },
43
- });
44
- export { style };
@@ -1,14 +0,0 @@
1
- import { FC } from "react";
2
- import { LayoutRectangle } from "react-native";
3
- import { PricingProjection } from "../../../../../../projection/pricing/pricing";
4
-
5
- interface StickyPricingProps {
6
- readonly pricing: PricingProjection;
7
- readonly totalCheckoutItemsKept: number;
8
- readonly collapsed: boolean;
9
- readonly onPress: () => void;
10
- readonly onSubmit: () => void;
11
- readonly onLayout?: ({ width, height }: LayoutRectangle) => void;
12
- }
13
- declare const StickyPricing: FC<StickyPricingProps>;
14
- export { StickyPricing };
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import { Sticky } from "@lookiero/sty-psp-ui";
3
- import { Body } from "../../../../components/layouts/body/Body";
4
- import { Pricing } from "../pricing/Pricing";
5
- import { style } from "./StickyPricing.style";
6
-
7
- const StickyPricing = ({ pricing, totalCheckoutItemsKept, collapsed, onPress, onSubmit, onLayout }) =>
8
- React.createElement(
9
- Sticky,
10
- { style: style.sticky, onLayout: onLayout },
11
- React.createElement(
12
- Body,
13
- null,
14
- React.createElement(Pricing, {
15
- balanceDiscount: pricing.balanceDiscount,
16
- collapsed: collapsed,
17
- discount: pricing.discount,
18
- discountPercentage: pricing.discountPercentage,
19
- pendingToPay: pricing.pendingToPay,
20
- service: pricing.service,
21
- subtotal: pricing.subtotal,
22
- totalCheckoutItemsKept: totalCheckoutItemsKept,
23
- onPress: onPress,
24
- onSubmit: onSubmit,
25
- }),
26
- ),
27
- );
28
- export { StickyPricing };
@@ -1,7 +0,0 @@
1
- declare const style: {
2
- sticky: {
3
- paddingBottom: number;
4
- paddingTop: number;
5
- };
6
- };
7
- export { style };
@@ -1,11 +0,0 @@
1
- import { StyleSheet } from "react-native";
2
- import { theme } from "@lookiero/sty-psp-ui";
3
-
4
- const { space3, space4 } = theme();
5
- const style = StyleSheet.create({
6
- sticky: {
7
- paddingBottom: space4,
8
- paddingTop: space3,
9
- },
10
- });
11
- export { style };
@@ -1,26 +0,0 @@
1
- import { Query, QueryHandlerFunction, QueryHandlerFunctionArgs } from "@lookiero/messaging";
2
-
3
- type IsCheckoutAccessibleByCustomerIdProjection = boolean;
4
- declare const VIEW_IS_CHECKOUT_ACCESSIBLE_BY_CUSTOMER_ID = "view_is_checkout_accessible_by_customer_id";
5
- interface ViewIsCheckoutAccessibleByCustomerIdPayload {
6
- readonly customerId: string | undefined;
7
- }
8
- interface ViewIsCheckoutAccessibleByCustomerId
9
- extends Query<typeof VIEW_IS_CHECKOUT_ACCESSIBLE_BY_CUSTOMER_ID>,
10
- ViewIsCheckoutAccessibleByCustomerIdPayload {}
11
- interface ViewIsCheckoutAccessibleByCustomerIdFunction {
12
- (payload: ViewIsCheckoutAccessibleByCustomerIdPayload): ViewIsCheckoutAccessibleByCustomerId;
13
- }
14
- declare const viewIsCheckoutAccessibleByCustomerId: ViewIsCheckoutAccessibleByCustomerIdFunction;
15
- interface ViewIsCheckoutAccessibleByCustomerIdHandlerFunctionArgs extends QueryHandlerFunctionArgs {}
16
- declare const viewIsCheckoutAccessibleByCustomerIdHandler: QueryHandlerFunction<
17
- ViewIsCheckoutAccessibleByCustomerId,
18
- IsCheckoutAccessibleByCustomerIdProjection,
19
- ViewIsCheckoutAccessibleByCustomerIdHandlerFunctionArgs
20
- >;
21
- export type { IsCheckoutAccessibleByCustomerIdProjection };
22
- export {
23
- VIEW_IS_CHECKOUT_ACCESSIBLE_BY_CUSTOMER_ID,
24
- viewIsCheckoutAccessibleByCustomerId,
25
- viewIsCheckoutAccessibleByCustomerIdHandler,
26
- };