@sentecacommerce-theme/lib 0.12.66 → 0.12.70

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 (104) hide show
  1. package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js +1 -0
  2. package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
  3. package/dist/cjs/checkout/api/keys.js +7 -1
  4. package/dist/cjs/checkout/api/keys.js.map +1 -1
  5. package/dist/cjs/checkout/api/queries/index.js +8 -0
  6. package/dist/cjs/checkout/api/queries/index.js.map +1 -1
  7. package/dist/cjs/checkout/api/queries/useBnpCalculateForCartQuery.js +40 -0
  8. package/dist/cjs/checkout/api/queries/useBnpCalculateForCartQuery.js.map +1 -0
  9. package/dist/cjs/checkout/hooks/index.js +8 -0
  10. package/dist/cjs/checkout/hooks/index.js.map +1 -1
  11. package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +83 -0
  12. package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js.map +1 -0
  13. package/dist/cjs/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
  14. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js +8 -2
  15. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  16. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  17. package/dist/cjs/contexts/CheckoutForm/index.js +1 -0
  18. package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
  19. package/dist/cjs/hooks/useLineItem/index.js +4 -0
  20. package/dist/cjs/hooks/useLineItem/index.js.map +1 -1
  21. package/dist/cjs/hooks/user-hooks/useSubscribeToNewsletter/index.js +12 -4
  22. package/dist/cjs/hooks/user-hooks/useSubscribeToNewsletter/index.js.map +1 -1
  23. package/dist/cjs/order/api/index.js +8 -0
  24. package/dist/cjs/order/api/index.js.map +1 -1
  25. package/dist/cjs/order/api/utils/getOrderById.js +8 -0
  26. package/dist/cjs/order/api/utils/getOrderById.js.map +1 -0
  27. package/dist/cjs/order/api/utils/index.js +12 -0
  28. package/dist/cjs/order/api/utils/index.js.map +1 -0
  29. package/dist/cjs/product/api/keys.js +11 -0
  30. package/dist/cjs/product/api/keys.js.map +1 -0
  31. package/dist/cjs/product/api/queries/index.js +12 -0
  32. package/dist/cjs/product/api/queries/index.js.map +1 -0
  33. package/dist/cjs/product/api/queries/useBnpOffersQuery.js +48 -0
  34. package/dist/cjs/product/api/queries/useBnpOffersQuery.js.map +1 -0
  35. package/dist/cjs/product/hooks/index.js +12 -0
  36. package/dist/cjs/product/hooks/index.js.map +1 -0
  37. package/dist/cjs/product/hooks/useBnpOffers.js +72 -0
  38. package/dist/cjs/product/hooks/useBnpOffers.js.map +1 -0
  39. package/dist/cjs/product/index.js +8 -0
  40. package/dist/cjs/product/index.js.map +1 -1
  41. package/dist/cjs/ssr/emptyBasketGuard.js +2 -2
  42. package/dist/cjs/ssr/emptyBasketGuard.js.map +1 -1
  43. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js +1 -0
  44. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
  45. package/dist/esm/checkout/api/keys.js +3 -0
  46. package/dist/esm/checkout/api/keys.js.map +1 -1
  47. package/dist/esm/checkout/api/queries/index.js +1 -0
  48. package/dist/esm/checkout/api/queries/index.js.map +1 -1
  49. package/dist/esm/checkout/api/queries/useBnpCalculateForCartQuery.js +10 -0
  50. package/dist/esm/checkout/api/queries/useBnpCalculateForCartQuery.js.map +1 -0
  51. package/dist/esm/checkout/hooks/index.js +1 -0
  52. package/dist/esm/checkout/hooks/index.js.map +1 -1
  53. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +66 -0
  54. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js.map +1 -0
  55. package/dist/esm/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
  56. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js +5 -2
  57. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js.map +1 -1
  58. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  59. package/dist/esm/contexts/CheckoutForm/index.js +1 -0
  60. package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
  61. package/dist/esm/hooks/useLineItem/index.js +2 -0
  62. package/dist/esm/hooks/useLineItem/index.js.map +1 -1
  63. package/dist/esm/hooks/user-hooks/useSubscribeToNewsletter/index.js +9 -4
  64. package/dist/esm/hooks/user-hooks/useSubscribeToNewsletter/index.js.map +1 -1
  65. package/dist/esm/order/api/index.js +1 -0
  66. package/dist/esm/order/api/index.js.map +1 -1
  67. package/dist/esm/order/api/utils/getOrderById.js +3 -0
  68. package/dist/esm/order/api/utils/getOrderById.js.map +1 -0
  69. package/dist/esm/order/api/utils/index.js +2 -0
  70. package/dist/esm/order/api/utils/index.js.map +1 -0
  71. package/dist/esm/product/api/keys.js +4 -0
  72. package/dist/esm/product/api/keys.js.map +1 -0
  73. package/dist/esm/product/api/queries/index.js +2 -0
  74. package/dist/esm/product/api/queries/index.js.map +1 -0
  75. package/dist/esm/product/api/queries/useBnpOffersQuery.js +18 -0
  76. package/dist/esm/product/api/queries/useBnpOffersQuery.js.map +1 -0
  77. package/dist/esm/product/hooks/index.js +2 -0
  78. package/dist/esm/product/hooks/index.js.map +1 -0
  79. package/dist/esm/product/hooks/useBnpOffers.js +57 -0
  80. package/dist/esm/product/hooks/useBnpOffers.js.map +1 -0
  81. package/dist/esm/product/index.js +1 -0
  82. package/dist/esm/product/index.js.map +1 -1
  83. package/dist/esm/ssr/emptyBasketGuard.js +2 -2
  84. package/dist/esm/ssr/emptyBasketGuard.js.map +1 -1
  85. package/dist/types/checkout/api/keys.d.ts +2 -0
  86. package/dist/types/checkout/api/queries/index.d.ts +1 -0
  87. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +4 -0
  88. package/dist/types/checkout/hooks/index.d.ts +1 -0
  89. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +50 -0
  90. package/dist/types/contexts/CheckoutForm/hooks/useBilling/index.d.ts +1 -1
  91. package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -0
  92. package/dist/types/contexts/CheckoutForm/hooks/useShipping/index.d.ts +1 -1
  93. package/dist/types/contexts/CheckoutForm/index.d.ts +3 -2
  94. package/dist/types/hooks/useLineItem/index.d.ts +2 -2
  95. package/dist/types/order/api/index.d.ts +1 -0
  96. package/dist/types/order/api/utils/getOrderById.d.ts +2 -0
  97. package/dist/types/order/api/utils/index.d.ts +1 -0
  98. package/dist/types/product/api/keys.d.ts +1 -0
  99. package/dist/types/product/api/queries/index.d.ts +1 -0
  100. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +5 -0
  101. package/dist/types/product/hooks/index.d.ts +1 -0
  102. package/dist/types/product/hooks/useBnpOffers.d.ts +37 -0
  103. package/dist/types/product/index.d.ts +1 -0
  104. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/hooks/useLineItem/index.tsx"],"names":["useLineItem","props","slug","onMouseEnter","onMouseLeave","onMouseDown","data","React","useMemo","mappedAttributes","Object","keys","attributes","reduce","map","key","current","count","length","elements","attribute","_id","value","label","extra","customFields","custom","Boolean","field","name","brand","brands","collapseKey","variantId","offerId","offer","sku","images","ratings","reviewRatingStatistics","price","originalPrice","discountedPrice","variantOptions","variantsCount","categories","category","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","maxQuantity","labels","mapLabelData","getCustomFieldByKey","getAttributeByKey","callback","now","Date","getTime","currentLabels","filter","el","validFrom","validTo"],"mappings":"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","sourcesContent":["import React from 'react'\nimport {\n SearchResultDTO,\n ImageDTO,\n MoneyDTO,\n ReviewRatingStatisticsDTO,\n OfferDTO,\n ProductVariantLabelDTO,\n} from '@sentecacommerce/sdk'\n\nimport { getTranslatableField } from '../../utils'\nimport { usePrefetchProduct } from '../usePrefetchProduct'\n\nexport interface BaseProductType {\n name: string\n slug: string\n variantId: string\n offerId?: string\n offer?: OfferDTO\n collapseKey?: string\n sku: string\n images?: ImageDTO[]\n inventory: {\n hasAvailableQuantity: boolean\n availableQuantity: number\n maxQuantity?: number\n }\n onMouseEnter: (callback: () => void) => void\n onMouseLeave: () => void\n onMouseDown: (callback: () => void) => void\n}\n\nexport interface AttributeType {\n _id: string\n label: string\n extra?: any\n}\n\nexport interface AttributesType {\n count: number\n elements: AttributeType[]\n}\n\ninterface LineItemType extends BaseProductType {\n name: string\n brand?: {\n name: string\n slug: string\n }\n _id: string\n labels?: string[]\n price?: MoneyDTO\n discountedPrice?: MoneyDTO\n variantOptions: number\n variantsCount: number\n categories: {\n name: string\n slug: string\n }[]\n ratings: ReviewRatingStatisticsDTO\n getAttributeByKey: (key: string) => AttributesType\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useLineItem = (props: SearchResultDTO) => {\n const { onMouseEnter, onMouseLeave, onMouseDown } = usePrefetchProduct(\n getTranslatableField(props?.slug)\n )\n\n const data: LineItemType = React.useMemo(() => {\n const mappedAttributes = Object.keys(props?.attributes)?.reduce(\n (map, key) => {\n const current = props?.attributes[key]\n map[key] = {\n count: current?.length ?? 0,\n elements: current?.map((attribute: any) => {\n return {\n _id: attribute?.value,\n label: getTranslatableField(attribute?.label),\n extra: attribute?.extra,\n }\n }),\n }\n return map\n },\n {}\n )\n\n const customFields = props?.custom?.reduce(\n (map: { [key: string]: any }, current) => {\n if (Boolean(current.value) && current.value !== '0') {\n return { ...map, [current.field]: current.value }\n }\n return map\n },\n {}\n )\n\n return {\n _id: props?._id,\n name: getTranslatableField(props?.name),\n brand: {\n name: getTranslatableField(props?.brands?.[0]?.name),\n slug: getTranslatableField(props?.brands?.[0]?.slug),\n },\n slug: getTranslatableField(props?.slug),\n collapseKey: props?.collapseKey,\n variantId: props?.variantId,\n offerId: props?.offer?._id,\n offer: props?.offer,\n sku: props?.sku,\n images: props?.images || {},\n ratings: props?.reviewRatingStatistics,\n price: props?.offer?.originalPrice,\n discountedPrice: props?.offer?.discountedPrice,\n variantOptions: props?.variantOptions ?? 0,\n variantsCount: props?.variantsCount ?? 0,\n categories: props?.categories.map((category) => ({\n name: getTranslatableField(category.name),\n slug: getTranslatableField(category.slug),\n })),\n inventory: {\n hasAvailableQuantity: props?.inventorySnapshot?.canOrder ? true : false,\n availableQuantity: props?.inventorySnapshot?.canOrder\n ? props?.inventorySnapshot?.availableQuantity ?? 0\n : 0,\n maxQuantity: props?.offer?.maxQuantity,\n },\n labels: mapLabelData(props?.labels),\n getCustomFieldByKey: (key: string) => customFields?.[key],\n getAttributeByKey: (key: string) => mappedAttributes?.[key],\n onMouseEnter: (callback) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback) => () => onMouseDown(callback),\n }\n }, [props])\n\n return data\n}\n\nconst mapLabelData = (data?: ProductVariantLabelDTO[]) => {\n // Filter only labels that are currently active\n const now = new Date().getTime()\n const currentLabels = data?.filter((el) => {\n if (!el.validFrom || !el.validTo) {\n return el\n } else {\n return el.validFrom < now && el.validTo > now\n }\n })\n\n return currentLabels?.map((el) => el.key)\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/hooks/useLineItem/index.tsx"],"names":["useLineItem","props","slug","onMouseEnter","onMouseLeave","onMouseDown","data","React","useMemo","mappedAttributes","Object","keys","attributes","reduce","map","key","current","count","length","elements","attribute","_id","value","label","extra","customFields","custom","Boolean","field","name","brand","brands","collapseKey","variantId","offerId","offer","sku","images","ratings","reviewRatingStatistics","price","originalPrice","discountedPrice","variantOptions","variantsCount","categories","category","inventory","hasAvailableQuantity","inventorySnapshot","canOrder","availableQuantity","maxQuantity","labels","mapLabelData","getCustomFieldByKey","getAttributeByKey","callback","now","Date","getTime","currentLabels","filter","el","validFrom","validTo"],"mappings":"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","sourcesContent":["import React from 'react'\nimport {\n SearchResultDTO,\n ImageDTO,\n MoneyDTO,\n ReviewRatingStatisticsDTO,\n OfferDTO,\n OfferDTOStatusEnum,\n ProductVariantLabelDTO,\n} from '@sentecacommerce/sdk'\n\nimport { getTranslatableField } from '../../utils'\nimport { usePrefetchProduct } from '../usePrefetchProduct'\n\nexport { OfferDTOStatusEnum }\n\nexport interface BaseProductType {\n name: string\n slug: string\n variantId: string\n offerId?: string\n offer?: OfferDTO\n collapseKey?: string\n sku: string\n images?: ImageDTO[]\n inventory: {\n hasAvailableQuantity: boolean\n availableQuantity: number\n maxQuantity?: number\n }\n onMouseEnter: (callback: () => void) => void\n onMouseLeave: () => void\n onMouseDown: (callback: () => void) => void\n}\n\nexport interface AttributeType {\n _id: string\n label: string\n extra?: any\n}\n\nexport interface AttributesType {\n count: number\n elements: AttributeType[]\n}\n\ninterface LineItemType extends BaseProductType {\n name: string\n brand?: {\n name: string\n slug: string\n }\n _id: string\n labels?: string[]\n price?: MoneyDTO\n discountedPrice?: MoneyDTO\n variantOptions: number\n variantsCount: number\n categories: {\n name: string\n slug: string\n }[]\n ratings: ReviewRatingStatisticsDTO\n getAttributeByKey: (key: string) => AttributesType\n getCustomFieldByKey: (key: string) => any\n}\n\nexport const useLineItem = (props: SearchResultDTO) => {\n const { onMouseEnter, onMouseLeave, onMouseDown } = usePrefetchProduct(\n getTranslatableField(props?.slug)\n )\n\n const data: LineItemType = React.useMemo(() => {\n const mappedAttributes = Object.keys(props?.attributes)?.reduce(\n (map, key) => {\n const current = props?.attributes[key]\n map[key] = {\n count: current?.length ?? 0,\n elements: current?.map((attribute: any) => {\n return {\n _id: attribute?.value,\n label: getTranslatableField(attribute?.label),\n extra: attribute?.extra,\n }\n }),\n }\n return map\n },\n {}\n )\n\n const customFields = props?.custom?.reduce(\n (map: { [key: string]: any }, current) => {\n if (Boolean(current.value) && current.value !== '0') {\n return { ...map, [current.field]: current.value }\n }\n return map\n },\n {}\n )\n\n return {\n _id: props?._id,\n name: getTranslatableField(props?.name),\n brand: {\n name: getTranslatableField(props?.brands?.[0]?.name),\n slug: getTranslatableField(props?.brands?.[0]?.slug),\n },\n slug: getTranslatableField(props?.slug),\n collapseKey: props?.collapseKey,\n variantId: props?.variantId,\n offerId: props?.offer?._id,\n offer: props?.offer,\n sku: props?.sku,\n images: props?.images || {},\n ratings: props?.reviewRatingStatistics,\n price: props?.offer?.originalPrice,\n discountedPrice: props?.offer?.discountedPrice,\n variantOptions: props?.variantOptions ?? 0,\n variantsCount: props?.variantsCount ?? 0,\n categories: props?.categories.map((category) => ({\n name: getTranslatableField(category.name),\n slug: getTranslatableField(category.slug),\n })),\n inventory: {\n hasAvailableQuantity: props?.inventorySnapshot?.canOrder ? true : false,\n availableQuantity: props?.inventorySnapshot?.canOrder\n ? props?.inventorySnapshot?.availableQuantity ?? 0\n : 0,\n maxQuantity: props?.offer?.maxQuantity,\n },\n labels: mapLabelData(props?.labels),\n getCustomFieldByKey: (key: string) => customFields?.[key],\n getAttributeByKey: (key: string) => mappedAttributes?.[key],\n onMouseEnter: (callback) => onMouseEnter(callback),\n onMouseLeave: () => onMouseLeave(),\n onMouseDown: (callback) => () => onMouseDown(callback),\n }\n }, [props])\n\n return data\n}\n\nconst mapLabelData = (data?: ProductVariantLabelDTO[]) => {\n // Filter only labels that are currently active\n const now = new Date().getTime()\n const currentLabels = data?.filter((el) => {\n if (!el.validFrom || !el.validTo) {\n return el\n } else {\n return el.validFrom < now && el.validTo > now\n }\n })\n\n return currentLabels?.map((el) => el.key)\n}\n"],"file":"index.js"}
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.useSubscribeToNewsletter = void 0;
5
5
 
6
+ var _react = require("react");
7
+
6
8
  var _consentsApi = require("../../../api/consentsApi");
7
9
 
8
10
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } it = o[Symbol.iterator](); return it.next.bind(it); }
@@ -15,11 +17,17 @@ var useSubscribeToNewsletter = function useSubscribeToNewsletter(_ref) {
15
17
  var callback = _ref.callback;
16
18
  var keys = ['AGRPOLICY', 'AGRNEWSLETTER'];
17
19
 
18
- var _consentsApi$useAppro = _consentsApi.consentsApi.useApprove({
19
- onSuccess: callback
20
- }),
20
+ var _consentsApi$useAppro = _consentsApi.consentsApi.useApprove({}),
21
21
  sub = _consentsApi$useAppro[0],
22
- onError = _consentsApi$useAppro[1].error;
22
+ _consentsApi$useAppro2 = _consentsApi$useAppro[1],
23
+ onError = _consentsApi$useAppro2.error,
24
+ isSuccess = _consentsApi$useAppro2.isSuccess;
25
+
26
+ (0, _react.useEffect)(function () {
27
+ if (isSuccess) {
28
+ callback == null ? void 0 : callback();
29
+ }
30
+ }, [isSuccess]);
23
31
 
24
32
  var subscribe = function subscribe(email) {
25
33
  for (var _iterator = _createForOfIteratorHelperLoose(keys), _step; !(_step = _iterator()).done;) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/hooks/user-hooks/useSubscribeToNewsletter/index.ts"],"names":["useSubscribeToNewsletter","callback","keys","consentsApi","useApprove","onSuccess","sub","onError","error","subscribe","email","key","consentKey"],"mappings":";;;;;AAAA;;;;;;;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAIlC;AAAA,MAHJC,QAGI,QAHJA,QAGI;AACJ,MAAMC,IAAI,GAAG,CAAC,WAAD,EAAc,eAAd,CAAb;;AADI,8BAE8BC,yBAAYC,UAAZ,CAAuB;AACvDC,IAAAA,SAAS,EAAEJ;AAD4C,GAAvB,CAF9B;AAAA,MAEGK,GAFH;AAAA,MAEiBC,OAFjB,4BAEUC,KAFV;;AAMJ,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAmB;AACnC,yDAAkBR,IAAlB,wCAAwB;AAAA,UAAbS,GAAa;AACtBL,MAAAA,GAAG,CAAC;AAAEI,QAAAA,KAAK,EAALA,KAAF;AAASE,QAAAA,UAAU,EAAED;AAArB,OAAD,CAAH;AACD;AACF,GAJD;;AAMA,SAAO;AAAEF,IAAAA,SAAS,EAATA,SAAF;AAAaF,IAAAA,OAAO,EAAPA;AAAb,GAAP;AACD,CAjBM","sourcesContent":["import { consentsApi } from '../../../api/consentsApi'\n\nexport const useSubscribeToNewsletter = ({\n callback,\n}: {\n callback?: () => void\n}) => {\n const keys = ['AGRPOLICY', 'AGRNEWSLETTER']\n const [sub, { error: onError }] = consentsApi.useApprove({\n onSuccess: callback,\n })\n\n const subscribe = (email: string) => {\n for (const key of keys) {\n sub({ email, consentKey: key })\n }\n }\n\n return { subscribe, onError }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/hooks/user-hooks/useSubscribeToNewsletter/index.ts"],"names":["useSubscribeToNewsletter","callback","keys","consentsApi","useApprove","sub","onError","error","isSuccess","subscribe","email","key","consentKey"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAIlC;AAAA,MAHJC,QAGI,QAHJA,QAGI;AACJ,MAAMC,IAAI,GAAG,CAAC,WAAD,EAAc,eAAd,CAAb;;AADI,8BAEyCC,yBAAYC,UAAZ,CAAuB,EAAvB,CAFzC;AAAA,MAEGC,GAFH;AAAA;AAAA,MAEiBC,OAFjB,0BAEUC,KAFV;AAAA,MAE0BC,SAF1B,0BAE0BA,SAF1B;;AAIJ,wBAAU,YAAM;AACd,QAAIA,SAAJ,EAAe;AACbP,MAAAA,QAAQ,QAAR,YAAAA,QAAQ;AACT;AACF,GAJD,EAIG,CAACO,SAAD,CAJH;;AAMA,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAmB;AACnC,yDAAkBR,IAAlB,wCAAwB;AAAA,UAAbS,GAAa;AACtBN,MAAAA,GAAG,CAAC;AAAEK,QAAAA,KAAK,EAALA,KAAF;AAASE,QAAAA,UAAU,EAAED;AAArB,OAAD,CAAH;AACD;AACF,GAJD;;AAMA,SAAO;AAAEF,IAAAA,SAAS,EAATA,SAAF;AAAaH,IAAAA,OAAO,EAAPA;AAAb,GAAP;AACD,CArBM","sourcesContent":["import React, { useEffect } from 'react'\nimport { consentsApi } from '../../../api/consentsApi'\n\nexport const useSubscribeToNewsletter = ({\n callback,\n}: {\n callback?: () => void\n}) => {\n const keys = ['AGRPOLICY', 'AGRNEWSLETTER']\n const [sub, { error: onError, isSuccess }] = consentsApi.useApprove({})\n\n useEffect(() => {\n if (isSuccess) {\n callback?.()\n }\n }, [isSuccess])\n\n const subscribe = (email: string) => {\n for (const key of keys) {\n sub({ email, consentKey: key })\n }\n }\n\n return { subscribe, onError }\n}\n"],"file":"index.js"}
@@ -17,4 +17,12 @@ Object.keys(_mutations).forEach(function (key) {
17
17
  if (key in exports && exports[key] === _mutations[key]) return;
18
18
  exports[key] = _mutations[key];
19
19
  });
20
+
21
+ var _utils = require("./utils");
22
+
23
+ Object.keys(_utils).forEach(function (key) {
24
+ if (key === "default" || key === "__esModule") return;
25
+ if (key in exports && exports[key] === _utils[key]) return;
26
+ exports[key] = _utils[key];
27
+ });
20
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/order/api/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './queries'\nexport * from './mutations'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/order/api/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './queries'\nexport * from './mutations'\nexport * from './utils'\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _sdk = require("@sentecacommerce/sdk");
6
+
7
+ exports.getOrderById = _sdk.MyOrdersGetById;
8
+ //# sourceMappingURL=getOrderById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/order/api/utils/getOrderById.ts"],"names":[],"mappings":";;;;AAAA","sourcesContent":["import { MyOrdersGetById } from '@sentecacommerce/sdk'\nexport { MyOrdersGetById as getOrderById }\n"],"file":"getOrderById.js"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _getOrderById = require("./getOrderById");
6
+
7
+ Object.keys(_getOrderById).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _getOrderById[key]) return;
10
+ exports[key] = _getOrderById[key];
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/order/api/utils/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './getOrderById'\n"],"file":"index.js"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getBnpProductOffersKey = void 0;
5
+
6
+ var getBnpProductOffersKey = function getBnpProductOffersKey(sku) {
7
+ return ['product-bnp-offers', sku];
8
+ };
9
+
10
+ exports.getBnpProductOffersKey = getBnpProductOffersKey;
11
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/product/api/keys.ts"],"names":["getBnpProductOffersKey","sku"],"mappings":";;;;;AAAO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,GAAD,EAAiB;AACrD,SAAO,CAAC,oBAAD,EAAuBA,GAAvB,CAAP;AACD,CAFM","sourcesContent":["export const getBnpProductOffersKey = (sku: string) => {\n return ['product-bnp-offers', sku]\n}\n"],"file":"keys.js"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _useBnpOffersQuery = require("./useBnpOffersQuery");
6
+
7
+ Object.keys(_useBnpOffersQuery).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useBnpOffersQuery[key]) return;
10
+ exports[key] = _useBnpOffersQuery[key];
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/product/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffersQuery'\n"],"file":"index.js"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useBnpOffersQuery = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _reactQuery = require("react-query");
13
+
14
+ var _sdk = require("@sentecacommerce/sdk");
15
+
16
+ var _keys = require("../keys");
17
+
18
+ var useBnpOffersQuery = function useBnpOffersQuery(_ref) {
19
+ var sku = _ref.sku,
20
+ _ref$preferredInstall = _ref.preferredInstallmentCentAmount,
21
+ preferredInstallmentCentAmount = _ref$preferredInstall === void 0 ? 0 : _ref$preferredInstall,
22
+ _ref$downPaymentCentA = _ref.downPaymentCentAmount,
23
+ downPaymentCentAmount = _ref$downPaymentCentA === void 0 ? 0 : _ref$downPaymentCentA;
24
+ return (0, _reactQuery.useQuery)((0, _keys.getBnpProductOffersKey)(sku), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
25
+ return _regenerator["default"].wrap(function _callee$(_context) {
26
+ while (1) {
27
+ switch (_context.prev = _context.next) {
28
+ case 0:
29
+ _context.next = 2;
30
+ return (0, _sdk.MyPaymentsBnpCalculateForSKU)(sku, {
31
+ preferredInstallmentCentAmount: preferredInstallmentCentAmount,
32
+ downPaymentCentAmount: downPaymentCentAmount
33
+ });
34
+
35
+ case 2:
36
+ return _context.abrupt("return", _context.sent);
37
+
38
+ case 3:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }
43
+ }, _callee);
44
+ })));
45
+ };
46
+
47
+ exports.useBnpOffersQuery = useBnpOffersQuery;
48
+ //# sourceMappingURL=useBnpOffersQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/product/api/queries/useBnpOffersQuery.ts"],"names":["useBnpOffersQuery","sku","preferredInstallmentCentAmount","downPaymentCentAmount"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAQ3B;AAAA,MAPJC,GAOI,QAPJA,GAOI;AAAA,mCANJC,8BAMI;AAAA,MANJA,8BAMI,sCAN6B,CAM7B;AAAA,mCALJC,qBAKI;AAAA,MALJA,qBAKI,sCALoB,CAKpB;AACJ,SAAO,0BACL,kCAAuBF,GAAvB,CADK,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACQ,uCAA6BA,GAA7B,EAAkC;AACtCC,cAAAA,8BAA8B,EAA9BA,8BADsC;AAEtCC,cAAAA,qBAAqB,EAArBA;AAFsC,aAAlC,CADR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK,GAAP;AAQD,CAjBM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { MyPaymentsBnpCalculateForSKU } from '@sentecacommerce/sdk'\nimport { getBnpProductOffersKey } from '../keys'\n\nexport const useBnpOffersQuery = ({\n sku,\n preferredInstallmentCentAmount = 0,\n downPaymentCentAmount = 0,\n}: {\n sku: string\n preferredInstallmentCentAmount?: number\n downPaymentCentAmount?: number\n}) => {\n return useQuery(\n getBnpProductOffersKey(sku),\n async () =>\n await MyPaymentsBnpCalculateForSKU(sku, {\n preferredInstallmentCentAmount,\n downPaymentCentAmount,\n })\n )\n}\n"],"file":"useBnpOffersQuery.js"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _useBnpOffers = require("./useBnpOffers");
6
+
7
+ Object.keys(_useBnpOffers).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useBnpOffers[key]) return;
10
+ exports[key] = _useBnpOffers[key];
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/product/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useBnpOffers'\n"],"file":"index.js"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useBnpOffers = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ var _react = require("react");
11
+
12
+ var _queries = require("../api/queries");
13
+
14
+ var _index = require("../../index");
15
+
16
+ var useBnpOffers = function useBnpOffers(props) {
17
+ var _useConfigState, _useConfigState$price, _response$data2, _response$data2$;
18
+
19
+ var configLocale = (_useConfigState = (0, _index.useConfigState)()) == null ? void 0 : (_useConfigState$price = _useConfigState.price) == null ? void 0 : _useConfigState$price.locale;
20
+ var response = (0, _queries.useBnpOffersQuery)(props);
21
+ return (0, _react.useMemo)(function () {
22
+ var _response$data, _response$data$, _response$data$$offer;
23
+
24
+ return (0, _extends2["default"])({}, response, {
25
+ data: response == null ? void 0 : (_response$data = response.data) == null ? void 0 : (_response$data$ = _response$data[0]) == null ? void 0 : (_response$data$$offer = _response$data$.offers) == null ? void 0 : _response$data$$offer.map(function (offer) {
26
+ var _totalRepaymentAmount = (0, _index.decodePrice)(offer.totalRepaymentAmount);
27
+
28
+ var _correctDownPaymentAmount = (0, _index.decodePrice)(offer.correctDownPaymentAmount);
29
+
30
+ var _installmentAmount = (0, _index.decodePrice)(offer.installmentAmount);
31
+
32
+ var _processingFeeAmount = (0, _index.decodePrice)(offer.processingFeeAmount);
33
+
34
+ var totalRepaymentAmount = (0, _index.formatAsCurrency)({
35
+ price: _totalRepaymentAmount,
36
+ precision: offer.totalRepaymentAmount.fractionDigits,
37
+ currency: offer.totalRepaymentAmount.currencyCode,
38
+ locale: configLocale || 'en'
39
+ });
40
+ var correctDownPaymentAmount = (0, _index.formatAsCurrency)({
41
+ price: _correctDownPaymentAmount,
42
+ precision: offer.correctDownPaymentAmount.fractionDigits,
43
+ currency: offer.correctDownPaymentAmount.currencyCode,
44
+ locale: configLocale || 'en'
45
+ });
46
+ var installmentAmount = (0, _index.formatAsCurrency)({
47
+ price: _installmentAmount,
48
+ precision: offer.installmentAmount.fractionDigits,
49
+ currency: offer.installmentAmount.currencyCode,
50
+ locale: configLocale || 'en'
51
+ });
52
+ var processingFeeAmount = (0, _index.formatAsCurrency)({
53
+ price: _processingFeeAmount,
54
+ precision: offer.processingFeeAmount.fractionDigits,
55
+ currency: offer.processingFeeAmount.currencyCode,
56
+ locale: configLocale || 'en'
57
+ });
58
+ return (0, _extends2["default"])({}, offer, {
59
+ totalRepaymentAmount: totalRepaymentAmount,
60
+ correctDownPaymentAmount: correctDownPaymentAmount,
61
+ installmentAmount: installmentAmount,
62
+ processingFeeAmount: processingFeeAmount
63
+ });
64
+ }).sort(function (offer, offer2) {
65
+ return Number(offer.maturity) - Number(offer2.maturity);
66
+ })
67
+ });
68
+ }, [response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : (_response$data2$ = _response$data2[0]) == null ? void 0 : _response$data2$.offers]);
69
+ };
70
+
71
+ exports.useBnpOffers = useBnpOffers;
72
+ //# sourceMappingURL=useBnpOffers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/product/hooks/useBnpOffers.ts"],"names":["useBnpOffers","props","configLocale","price","locale","response","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","sort","offer2","Number","maturity"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAItB;AAAA;;AACJ,MAAMC,YAAoB,sBAAG,4BAAH,8CAAG,gBAAkBC,KAArB,qBAAG,sBAAyBC,MAAtD;AACA,MAAMC,QAAQ,GAAG,gCAAkBJ,KAAlB,CAAjB;AAEA,SAAO,oBACL;AAAA;;AAAA,yCACKI,QADL;AAEEC,MAAAA,IAAI,EAAED,QAAF,sCAAEA,QAAQ,CAAEC,IAAZ,wCAAE,eAAiB,CAAjB,CAAF,8CAAE,gBAAqBC,MAAvB,qBAAE,sBACFC,GADE,CACE,UAACC,KAAD,EAAW;AACf,YAAMC,qBAAqB,GAAG,wBAAYD,KAAK,CAACE,oBAAlB,CAA9B;;AACA,YAAMC,yBAAyB,GAAG,wBAChCH,KAAK,CAACI,wBAD0B,CAAlC;;AAGA,YAAMC,kBAAkB,GAAG,wBAAYL,KAAK,CAACM,iBAAlB,CAA3B;;AACA,YAAMC,oBAAoB,GAAG,wBAAYP,KAAK,CAACQ,mBAAlB,CAA7B;;AAEA,YAAMN,oBAAoB,GAAG,6BAAiB;AAC5CR,UAAAA,KAAK,EAAEO,qBADqC;AAE5CQ,UAAAA,SAAS,EAAET,KAAK,CAACE,oBAAN,CAA2BQ,cAFM;AAG5CC,UAAAA,QAAQ,EAAEX,KAAK,CAACE,oBAAN,CAA2BU,YAHO;AAI5CjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJoB,SAAjB,CAA7B;AAOA,YAAMW,wBAAwB,GAAG,6BAAiB;AAChDV,UAAAA,KAAK,EAAES,yBADyC;AAEhDM,UAAAA,SAAS,EAAET,KAAK,CAACI,wBAAN,CAA+BM,cAFM;AAGhDC,UAAAA,QAAQ,EAAEX,KAAK,CAACI,wBAAN,CAA+BQ,YAHO;AAIhDjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJwB,SAAjB,CAAjC;AAOA,YAAMa,iBAAiB,GAAG,6BAAiB;AACzCZ,UAAAA,KAAK,EAAEW,kBADkC;AAEzCI,UAAAA,SAAS,EAAET,KAAK,CAACM,iBAAN,CAAwBI,cAFM;AAGzCC,UAAAA,QAAQ,EAAEX,KAAK,CAACM,iBAAN,CAAwBM,YAHO;AAIzCjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJiB,SAAjB,CAA1B;AAOA,YAAMe,mBAAmB,GAAG,6BAAiB;AAC3Cd,UAAAA,KAAK,EAAEa,oBADoC;AAE3CE,UAAAA,SAAS,EAAET,KAAK,CAACQ,mBAAN,CAA0BE,cAFM;AAG3CC,UAAAA,QAAQ,EAAEX,KAAK,CAACQ,mBAAN,CAA0BI,YAHO;AAI3CjB,UAAAA,MAAM,EAAEF,YAAY,IAAI;AAJmB,SAAjB,CAA5B;AAOA,6CACKO,KADL;AAEEE,UAAAA,oBAAoB,EAApBA,oBAFF;AAGEE,UAAAA,wBAAwB,EAAxBA,wBAHF;AAIEE,UAAAA,iBAAiB,EAAjBA,iBAJF;AAKEE,UAAAA,mBAAmB,EAAnBA;AALF;AAOD,OA5CG,EA6CHK,IA7CG,CA8CF,UAACb,KAAD,EAAQc,MAAR;AAAA,eAAmBC,MAAM,CAACf,KAAK,CAACgB,QAAP,CAAN,GAAyBD,MAAM,CAACD,MAAM,CAACE,QAAR,CAAlD;AAAA,OA9CE;AAFR;AAAA,GADK,EAoDL,CAACpB,QAAD,uCAACA,QAAQ,CAAEC,IAAX,yCAAC,gBAAiB,CAAjB,CAAD,qBAAC,iBAAqBC,MAAtB,CApDK,CAAP;AAsDD,CA9DM","sourcesContent":["import React, { useMemo } from 'react'\nimport { useBnpOffersQuery } from '../api/queries'\nimport { decodePrice, formatAsCurrency, useConfigState } from '../../index'\n\nexport const useBnpOffers = (props: {\n sku: string\n preferredInstallmentCentAmount?: number\n downPaymentCentAmount?: number\n}) => {\n const configLocale: string = useConfigState()?.price?.locale\n const response = useBnpOffersQuery(props)\n\n return useMemo(\n () => ({\n ...response,\n data: response?.data?.[0]?.offers\n ?.map((offer) => {\n const _totalRepaymentAmount = decodePrice(offer.totalRepaymentAmount)\n const _correctDownPaymentAmount = decodePrice(\n offer.correctDownPaymentAmount\n )\n const _installmentAmount = decodePrice(offer.installmentAmount)\n const _processingFeeAmount = decodePrice(offer.processingFeeAmount)\n\n const totalRepaymentAmount = formatAsCurrency({\n price: _totalRepaymentAmount,\n precision: offer.totalRepaymentAmount.fractionDigits,\n currency: offer.totalRepaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const correctDownPaymentAmount = formatAsCurrency({\n price: _correctDownPaymentAmount,\n precision: offer.correctDownPaymentAmount.fractionDigits,\n currency: offer.correctDownPaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const installmentAmount = formatAsCurrency({\n price: _installmentAmount,\n precision: offer.installmentAmount.fractionDigits,\n currency: offer.installmentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const processingFeeAmount = formatAsCurrency({\n price: _processingFeeAmount,\n precision: offer.processingFeeAmount.fractionDigits,\n currency: offer.processingFeeAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n return {\n ...offer,\n totalRepaymentAmount,\n correctDownPaymentAmount,\n installmentAmount,\n processingFeeAmount,\n }\n })\n .sort(\n (offer, offer2) => Number(offer.maturity) - Number(offer2.maturity)\n ),\n }),\n [response?.data?.[0]?.offers]\n )\n}\n"],"file":"useBnpOffers.js"}
@@ -9,4 +9,12 @@ Object.keys(_api).forEach(function (key) {
9
9
  if (key in exports && exports[key] === _api[key]) return;
10
10
  exports[key] = _api[key];
11
11
  });
12
+
13
+ var _hooks = require("./hooks");
14
+
15
+ Object.keys(_hooks).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _hooks[key]) return;
18
+ exports[key] = _hooks[key];
19
+ });
12
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/product/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './api'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/product/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './api'\nexport * from './hooks'\n"],"file":"index.js"}
@@ -4,9 +4,9 @@ exports.__esModule = true;
4
4
  exports.emptyBasketGuard = emptyBasketGuard;
5
5
 
6
6
  function emptyBasketGuard(context, order) {
7
- var _order$lineItems;
7
+ var _order$lineItems, _order$customLineItem;
8
8
 
9
- if (!(order != null && (_order$lineItems = order.lineItems) != null && _order$lineItems.length) && !context.res.headersSent) {
9
+ if (!Boolean((order == null ? void 0 : (_order$lineItems = order.lineItems) == null ? void 0 : _order$lineItems.length) || (order == null ? void 0 : (_order$customLineItem = order.customLineItems) == null ? void 0 : _order$customLineItem.length)) && !context.res.headersSent) {
10
10
  return true;
11
11
  }
12
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","lineItems","length","res","headersSent"],"mappings":";;;;;AAGO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MAAI,EAACA,KAAD,gCAACA,KAAK,CAAEC,SAAR,aAAC,iBAAkBC,MAAnB,KAA6B,CAACH,OAAO,CAACI,GAAR,CAAYC,WAA9C,EAA2D;AACzD,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (!order?.lineItems?.length && !context.res.headersSent) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
1
+ {"version":3,"sources":["../../../src/ssr/emptyBasketGuard.ts"],"names":["emptyBasketGuard","context","order","Boolean","lineItems","length","customLineItems","res","headersSent"],"mappings":";;;;;AAGO,SAASA,gBAAT,CACLC,OADK,EAELC,KAFK,EAGL;AAAA;;AACA,MACE,CAACC,OAAO,CAAC,CAAAD,KAAK,QAAL,gCAAAA,KAAK,CAAEE,SAAP,sCAAkBC,MAAlB,MAA4BH,KAA5B,6CAA4BA,KAAK,CAAEI,eAAnC,qBAA4B,sBAAwBD,MAApD,CAAD,CAAR,IACA,CAACJ,OAAO,CAACM,GAAR,CAAYC,WAFf,EAGE;AACA,WAAO,IAAP;AACD;;AAED,SAAO,KAAP;AACD","sourcesContent":["import { OrderDTO } from '@sentecacommerce/sdk'\nimport { GetServerSidePropsContext } from 'next'\n\nexport function emptyBasketGuard(\n context: GetServerSidePropsContext,\n order: OrderDTO | null\n) {\n if (\n !Boolean(order?.lineItems?.length || order?.customLineItems?.length) &&\n !context.res.headersSent\n ) {\n return true\n }\n\n return false\n}\n"],"file":"emptyBasketGuard.js"}
@@ -15,6 +15,7 @@ export var useRelevaQuery = (payload, isReady, token, interfaceKey) => {
15
15
  }), {
16
16
  retry: false,
17
17
  cacheTime: 0,
18
+ refetchOnWindowFocus: false,
18
19
  enabled: isReady && !!(payload != null && payload.order.orderId)
19
20
  });
20
21
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/analytics/Releva/api/query/useRelevaQuery.ts"],"names":["useQuery","useRelevaQuery","payload","isReady","token","interfaceKey","url","fetch","method","headers","Authorization","InterfaceKey","body","JSON","stringify","then","res","json","retry","cacheTime","enabled","order","orderId"],"mappings":";AAAA,SAASA,QAAT,QAAyB,aAAzB;AAGA,OAAO,IAAMC,cAAc,GAAG,CAC5BC,OAD4B,EAE5BC,OAF4B,EAG5BC,KAH4B,EAI5BC,YAJ4B,KAKzB;AACH,SAAOL,QAAQ,CACb,CAAC,CAACE,OAAF,IAAa,2BADA,iCAEb,aAAY;AACV,QAAMI,GAAG,GAAG,qBAAZ;AAEA,WAAOC,KAAK,CAACD,GAAD,EAAM;AAChBE,MAAAA,MAAM,EAAE,MADQ;AAEhBC,MAAAA,OAAO,EAAE;AACP,wBAAgB,kBADT;AAEPC,QAAAA,aAAa,cAAYN,KAFlB;AAGPO,QAAAA,YAAY,OAAKN;AAHV,OAFO;AAOhBO,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeZ,OAAf;AAPU,KAAN,CAAL,CAQJa,IARI,CAQEC,GAAD,IAASA,GAAG,CAACC,IAAJ,EARV,CAAP;AASD,GAdY,GAeb;AACEC,IAAAA,KAAK,EAAE,KADT;AAEEC,IAAAA,SAAS,EAAE,CAFb;AAGEC,IAAAA,OAAO,EAAEjB,OAAO,IAAI,CAAC,EAACD,OAAD,YAACA,OAAO,CAAEmB,KAAT,CAAeC,OAAhB;AAHvB,GAfa,CAAf;AAqBD,CA3BM","sourcesContent":["import { useQuery } from 'react-query'\nimport { PayloadDTO } from '../../types'\n\nexport const useRelevaQuery = (\n payload?: PayloadDTO,\n isReady?: boolean,\n token?: string,\n interfaceKey?: string\n) => {\n return useQuery(\n !!payload && 'releva-recommenders-query',\n async () => {\n const url = '/hub/releva/collect'\n\n return fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`,\n InterfaceKey: `${interfaceKey}`,\n },\n body: JSON.stringify(payload),\n }).then((res) => res.json())\n },\n {\n retry: false,\n cacheTime: 0,\n enabled: isReady && !!payload?.order.orderId,\n }\n )\n}\n"],"file":"useRelevaQuery.js"}
1
+ {"version":3,"sources":["../../../../../../src/analytics/Releva/api/query/useRelevaQuery.ts"],"names":["useQuery","useRelevaQuery","payload","isReady","token","interfaceKey","url","fetch","method","headers","Authorization","InterfaceKey","body","JSON","stringify","then","res","json","retry","cacheTime","refetchOnWindowFocus","enabled","order","orderId"],"mappings":";AAAA,SAASA,QAAT,QAAyB,aAAzB;AAGA,OAAO,IAAMC,cAAc,GAAG,CAC5BC,OAD4B,EAE5BC,OAF4B,EAG5BC,KAH4B,EAI5BC,YAJ4B,KAKzB;AACH,SAAOL,QAAQ,CACb,CAAC,CAACE,OAAF,IAAa,2BADA,iCAEb,aAAY;AACV,QAAMI,GAAG,GAAG,qBAAZ;AAEA,WAAOC,KAAK,CAACD,GAAD,EAAM;AAChBE,MAAAA,MAAM,EAAE,MADQ;AAEhBC,MAAAA,OAAO,EAAE;AACP,wBAAgB,kBADT;AAEPC,QAAAA,aAAa,cAAYN,KAFlB;AAGPO,QAAAA,YAAY,OAAKN;AAHV,OAFO;AAOhBO,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeZ,OAAf;AAPU,KAAN,CAAL,CAQJa,IARI,CAQEC,GAAD,IAASA,GAAG,CAACC,IAAJ,EARV,CAAP;AASD,GAdY,GAeb;AACEC,IAAAA,KAAK,EAAE,KADT;AAEEC,IAAAA,SAAS,EAAE,CAFb;AAGEC,IAAAA,oBAAoB,EAAE,KAHxB;AAIEC,IAAAA,OAAO,EAAElB,OAAO,IAAI,CAAC,EAACD,OAAD,YAACA,OAAO,CAAEoB,KAAT,CAAeC,OAAhB;AAJvB,GAfa,CAAf;AAsBD,CA5BM","sourcesContent":["import { useQuery } from 'react-query'\nimport { PayloadDTO } from '../../types'\n\nexport const useRelevaQuery = (\n payload?: PayloadDTO,\n isReady?: boolean,\n token?: string,\n interfaceKey?: string\n) => {\n return useQuery(\n !!payload && 'releva-recommenders-query',\n async () => {\n const url = '/hub/releva/collect'\n\n return fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${token}`,\n InterfaceKey: `${interfaceKey}`,\n },\n body: JSON.stringify(payload),\n }).then((res) => res.json())\n },\n {\n retry: false,\n cacheTime: 0,\n refetchOnWindowFocus: false,\n enabled: isReady && !!payload?.order.orderId,\n }\n )\n}\n"],"file":"useRelevaQuery.js"}
@@ -5,4 +5,7 @@ export var CheckoutQueryKeysEnum;
5
5
  export var getVerifyBoricaResponseKey = order => {
6
6
  return "Borica Response for Order: " + order;
7
7
  };
8
+ export var getBnpLoanCalculatorKey = preferredInstallmentCentAmount => {
9
+ return ['bnp-loan-calculator', preferredInstallmentCentAmount];
10
+ };
8
11
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/checkout/api/keys.ts"],"names":["CheckoutQueryKeysEnum","getVerifyBoricaResponseKey","order"],"mappings":"AAAA,WAAYA,qBAAZ;;WAAYA,qB,MAAAA,qB,KAAAA,qB;;AAGZ,OAAO,IAAMC,0BAA0B,GAAIC,KAAD,IAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM","sourcesContent":["export enum CheckoutQueryKeysEnum {\n}\n\nexport const getVerifyBoricaResponseKey = (order: string) => {\n return `Borica Response for Order: ${order}`\n}"],"file":"keys.js"}
1
+ {"version":3,"sources":["../../../../src/checkout/api/keys.ts"],"names":["CheckoutQueryKeysEnum","getVerifyBoricaResponseKey","order","getBnpLoanCalculatorKey","preferredInstallmentCentAmount"],"mappings":"AAAA,WAAYA,qBAAZ;;WAAYA,qB,MAAAA,qB,KAAAA,qB;;AAEZ,OAAO,IAAMC,0BAA0B,GAAIC,KAAD,IAAmB;AAC3D,yCAAqCA,KAArC;AACD,CAFM;AAIP,OAAO,IAAMC,uBAAuB,GAClCC,8BADqC,IAElC;AACH,SAAO,CAAC,qBAAD,EAAwBA,8BAAxB,CAAP;AACD,CAJM","sourcesContent":["export enum CheckoutQueryKeysEnum {}\n\nexport const getVerifyBoricaResponseKey = (order: string) => {\n return `Borica Response for Order: ${order}`\n}\n\nexport const getBnpLoanCalculatorKey = (\n preferredInstallmentCentAmount: number\n) => {\n return ['bnp-loan-calculator', preferredInstallmentCentAmount]\n}\n"],"file":"keys.js"}
@@ -1,2 +1,3 @@
1
1
  export * from './useVerifyBoricaResponseQuery';
2
+ export * from './useBnpCalculateForCartQuery';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAd","sourcesContent":["export * from './useVerifyBoricaResponseQuery'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/checkout/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAd;AACA,cAAc,+BAAd","sourcesContent":["export * from './useVerifyBoricaResponseQuery'\nexport * from './useBnpCalculateForCartQuery'\n"],"file":"index.js"}
@@ -0,0 +1,10 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useQuery } from 'react-query';
3
+ import { MyPaymentsBnpCalculateLoanOrder } from '@sentecacommerce/sdk';
4
+ import { getBnpLoanCalculatorKey } from '../keys';
5
+ export var useBnpCalculateForCartQuery = props => {
6
+ return useQuery(getBnpLoanCalculatorKey(props.preferredInstallmentCentAmount), /*#__PURE__*/_asyncToGenerator(function* () {
7
+ return yield MyPaymentsBnpCalculateLoanOrder(props);
8
+ }));
9
+ };
10
+ //# sourceMappingURL=useBnpCalculateForCartQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/checkout/api/queries/useBnpCalculateForCartQuery.ts"],"names":["useQuery","MyPaymentsBnpCalculateLoanOrder","getBnpLoanCalculatorKey","useBnpCalculateForCartQuery","props","preferredInstallmentCentAmount"],"mappings":";AACA,SAASA,QAAT,QAAyB,aAAzB;AACA,SAASC,+BAAT,QAAgD,sBAAhD;AACA,SAASC,uBAAT,QAAwC,SAAxC;AAEA,OAAO,IAAMC,2BAA2B,GAAIC,KAAD,IAGrC;AACJ,SAAOJ,QAAQ,CACbE,uBAAuB,CAACE,KAAK,CAACC,8BAAP,CADV,iCAEb;AAAA,iBAAkBJ,+BAA+B,CAACG,KAAD,CAAjD;AAAA,GAFa,EAAf;AAID,CARM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { MyPaymentsBnpCalculateLoanOrder } from '@sentecacommerce/sdk'\nimport { getBnpLoanCalculatorKey } from '../keys'\n\nexport const useBnpCalculateForCartQuery = (props: {\n preferredInstallmentCentAmount: number\n downPaymentCentAmount: number\n}) => {\n return useQuery(\n getBnpLoanCalculatorKey(props.preferredInstallmentCentAmount),\n async () => await MyPaymentsBnpCalculateLoanOrder(props)\n )\n}\n"],"file":"useBnpCalculateForCartQuery.js"}
@@ -1,2 +1,3 @@
1
1
  export * from './useVerifyBoricaResponse';
2
+ export * from './useBnpCalculateForCart';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd","sourcesContent":["export * from './useVerifyBoricaResponse'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/checkout/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,0BAAd","sourcesContent":["export * from './useVerifyBoricaResponse'\nexport * from './useBnpCalculateForCart'\n"],"file":"index.js"}
@@ -0,0 +1,66 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import { useMemo } from 'react';
3
+ import { useBnpCalculateForCartQuery } from '../api';
4
+ import { decodePrice, formatAsCurrency, useConfigState } from '../../index';
5
+ export var useBnpCalculateForCart = props => {
6
+ var _useConfigState, _useConfigState$price, _response$data3, _response$data3$;
7
+
8
+ var {
9
+ preferredInstallmentCentAmount = 0,
10
+ downPaymentCentAmount = 0
11
+ } = props != null ? props : {};
12
+ var response = useBnpCalculateForCartQuery({
13
+ preferredInstallmentCentAmount,
14
+ downPaymentCentAmount
15
+ });
16
+ var configLocale = (_useConfigState = useConfigState()) == null ? void 0 : (_useConfigState$price = _useConfigState.price) == null ? void 0 : _useConfigState$price.locale;
17
+ return useMemo(() => {
18
+ var _response$data, _response$data2, _response$data2$, _response$data2$$offe;
19
+
20
+ return _extends({}, response, {
21
+ data: _extends({}, response == null ? void 0 : (_response$data = response.data) == null ? void 0 : _response$data[0], {
22
+ offers: response == null ? void 0 : (_response$data2 = response.data) == null ? void 0 : (_response$data2$ = _response$data2[0]) == null ? void 0 : (_response$data2$$offe = _response$data2$.offers) == null ? void 0 : _response$data2$$offe.map(offer => {
23
+ var _totalRepaymentAmount = decodePrice(offer.totalRepaymentAmount);
24
+
25
+ var _correctDownPaymentAmount = decodePrice(offer.correctDownPaymentAmount);
26
+
27
+ var _installmentAmount = decodePrice(offer.installmentAmount);
28
+
29
+ var _processingFeeAmount = decodePrice(offer.processingFeeAmount);
30
+
31
+ var totalRepaymentAmount = formatAsCurrency({
32
+ price: _totalRepaymentAmount,
33
+ precision: offer.totalRepaymentAmount.fractionDigits,
34
+ currency: offer.totalRepaymentAmount.currencyCode,
35
+ locale: configLocale || 'en'
36
+ });
37
+ var correctDownPaymentAmount = formatAsCurrency({
38
+ price: _correctDownPaymentAmount,
39
+ precision: offer.correctDownPaymentAmount.fractionDigits,
40
+ currency: offer.correctDownPaymentAmount.currencyCode,
41
+ locale: configLocale || 'en'
42
+ });
43
+ var installmentAmount = formatAsCurrency({
44
+ price: _installmentAmount,
45
+ precision: offer.installmentAmount.fractionDigits,
46
+ currency: offer.installmentAmount.currencyCode,
47
+ locale: configLocale || 'en'
48
+ });
49
+ var processingFeeAmount = formatAsCurrency({
50
+ price: _processingFeeAmount,
51
+ precision: offer.processingFeeAmount.fractionDigits,
52
+ currency: offer.processingFeeAmount.currencyCode,
53
+ locale: configLocale || 'en'
54
+ });
55
+ return _extends({}, offer, {
56
+ totalRepaymentAmount,
57
+ correctDownPaymentAmount,
58
+ installmentAmount,
59
+ processingFeeAmount
60
+ });
61
+ }).sort((offer, offer2) => Number(offer.maturity) - Number(offer2.maturity))
62
+ })
63
+ });
64
+ }, [response == null ? void 0 : (_response$data3 = response.data) == null ? void 0 : (_response$data3$ = _response$data3[0]) == null ? void 0 : _response$data3$.offers]);
65
+ };
66
+ //# sourceMappingURL=useBnpCalculateForCart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/checkout/hooks/useBnpCalculateForCart.ts"],"names":["useMemo","useBnpCalculateForCartQuery","decodePrice","formatAsCurrency","useConfigState","useBnpCalculateForCart","props","preferredInstallmentCentAmount","downPaymentCentAmount","response","configLocale","price","locale","data","offers","map","offer","_totalRepaymentAmount","totalRepaymentAmount","_correctDownPaymentAmount","correctDownPaymentAmount","_installmentAmount","installmentAmount","_processingFeeAmount","processingFeeAmount","precision","fractionDigits","currency","currencyCode","sort","offer2","Number","maturity"],"mappings":"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","sourcesContent":["import React, { useMemo } from 'react'\nimport { useBnpCalculateForCartQuery } from '../api'\nimport { decodePrice, formatAsCurrency, useConfigState } from '../../index'\n\nexport const useBnpCalculateForCart = (props?: {\n preferredInstallmentCentAmount?: number\n downPaymentCentAmount?: number\n}) => {\n const { preferredInstallmentCentAmount = 0, downPaymentCentAmount = 0 } =\n props ?? {}\n\n const response = useBnpCalculateForCartQuery({\n preferredInstallmentCentAmount,\n downPaymentCentAmount,\n })\n const configLocale: string = useConfigState()?.price?.locale\n\n return useMemo(\n () => ({\n ...response,\n data: {\n ...response?.data?.[0],\n offers: response?.data?.[0]?.offers\n ?.map((offer) => {\n const _totalRepaymentAmount = decodePrice(\n offer.totalRepaymentAmount\n )\n const _correctDownPaymentAmount = decodePrice(\n offer.correctDownPaymentAmount\n )\n const _installmentAmount = decodePrice(offer.installmentAmount)\n const _processingFeeAmount = decodePrice(offer.processingFeeAmount)\n\n const totalRepaymentAmount = formatAsCurrency({\n price: _totalRepaymentAmount,\n precision: offer.totalRepaymentAmount.fractionDigits,\n currency: offer.totalRepaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const correctDownPaymentAmount = formatAsCurrency({\n price: _correctDownPaymentAmount,\n precision: offer.correctDownPaymentAmount.fractionDigits,\n currency: offer.correctDownPaymentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const installmentAmount = formatAsCurrency({\n price: _installmentAmount,\n precision: offer.installmentAmount.fractionDigits,\n currency: offer.installmentAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n const processingFeeAmount = formatAsCurrency({\n price: _processingFeeAmount,\n precision: offer.processingFeeAmount.fractionDigits,\n currency: offer.processingFeeAmount.currencyCode,\n locale: configLocale || 'en',\n })\n\n return {\n ...offer,\n totalRepaymentAmount,\n correctDownPaymentAmount,\n installmentAmount,\n processingFeeAmount,\n }\n })\n .sort(\n (offer, offer2) => Number(offer.maturity) - Number(offer2.maturity)\n ),\n },\n }),\n [response?.data?.[0]?.offers]\n )\n}\n"],"file":"useBnpCalculateForCart.js"}