@sentecacommerce-theme/lib 0.12.26 → 0.12.30

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 (182) hide show
  1. package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js +4 -2
  2. package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
  3. package/dist/cjs/analytics/Releva/hooks/useRelevaData.js +2 -2
  4. package/dist/cjs/analytics/Releva/hooks/useRelevaData.js.map +1 -1
  5. package/dist/cjs/analytics/Releva/useReleva.js +8 -1
  6. package/dist/cjs/analytics/Releva/useReleva.js.map +1 -1
  7. package/dist/cjs/cms/api/queries/index.js +16 -0
  8. package/dist/cjs/cms/api/queries/index.js.map +1 -1
  9. package/dist/cjs/cms/api/queries/keys.js +15 -1
  10. package/dist/cjs/cms/api/queries/keys.js.map +1 -1
  11. package/dist/cjs/cms/api/queries/useCMSContentListQuery.js +64 -0
  12. package/dist/cjs/cms/api/queries/useCMSContentListQuery.js.map +1 -0
  13. package/dist/cjs/cms/api/queries/useCMSContentQuery.js +54 -0
  14. package/dist/cjs/cms/api/queries/useCMSContentQuery.js.map +1 -0
  15. package/dist/cjs/cms/hooks/index.js +24 -0
  16. package/dist/cjs/cms/hooks/index.js.map +1 -1
  17. package/dist/cjs/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
  18. package/dist/cjs/cms/hooks/useCmsContent.js.map +1 -0
  19. package/dist/cjs/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
  20. package/dist/cjs/cms/hooks/useCmsContentList.js.map +1 -0
  21. package/dist/cjs/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
  22. package/dist/cjs/cms/hooks/useContentCategoriesMap.js.map +1 -0
  23. package/dist/cjs/cms/ssr/fetchPagePaths.js.map +1 -1
  24. package/dist/cjs/cms/ssr/index.js +16 -0
  25. package/dist/cjs/cms/ssr/index.js.map +1 -1
  26. package/dist/cjs/cms/ssr/prefetchCmsContent.js +78 -0
  27. package/dist/cjs/cms/ssr/prefetchCmsContent.js.map +1 -0
  28. package/dist/cjs/cms/ssr/prefetchCmsContentList.js +85 -0
  29. package/dist/cjs/cms/ssr/prefetchCmsContentList.js.map +1 -0
  30. package/dist/cjs/cms/utils/getCMSContentListFilter.js +16 -0
  31. package/dist/cjs/cms/utils/getCMSContentListFilter.js.map +1 -0
  32. package/dist/cjs/cms/utils/index.js +8 -0
  33. package/dist/cjs/cms/utils/index.js.map +1 -1
  34. package/dist/cjs/config/SentecaProvider.js.map +1 -1
  35. package/dist/cjs/contexts/CheckoutForm/hooks/useBilling/index.js +4 -2
  36. package/dist/cjs/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
  37. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js +8 -6
  38. package/dist/cjs/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  39. package/dist/cjs/contexts/CheckoutForm/index.js +16 -9
  40. package/dist/cjs/contexts/CheckoutForm/index.js.map +1 -1
  41. package/dist/cjs/contexts/CheckoutForm/utils/validateBillingAddress.js +1 -2
  42. package/dist/cjs/contexts/CheckoutForm/utils/validateBillingAddress.js.map +1 -1
  43. package/dist/cjs/contexts/CheckoutForm/utils/validateShipping.js +28 -21
  44. package/dist/cjs/contexts/CheckoutForm/utils/validateShipping.js.map +1 -1
  45. package/dist/cjs/hooks/addresses-hooks/useAddressForm/index.js +4 -2
  46. package/dist/cjs/hooks/addresses-hooks/useAddressForm/index.js.map +1 -1
  47. package/dist/cjs/hooks/order-hooks/useOrder/index.js +12 -1
  48. package/dist/cjs/hooks/order-hooks/useOrder/index.js.map +1 -1
  49. package/dist/cjs/hooks/useAggregateResult/index.js +0 -4
  50. package/dist/cjs/hooks/useAggregateResult/index.js.map +1 -1
  51. package/dist/cjs/hooks/useCheckoutShippingModule/index.js +6 -1
  52. package/dist/cjs/hooks/useCheckoutShippingModule/index.js.map +1 -1
  53. package/dist/cjs/index.js +0 -16
  54. package/dist/cjs/index.js.map +1 -1
  55. package/dist/cjs/seo/api/ssr/getCanonicalUrl.js +27 -0
  56. package/dist/cjs/seo/api/ssr/getCanonicalUrl.js.map +1 -0
  57. package/dist/cjs/seo/api/ssr/index.js +8 -0
  58. package/dist/cjs/seo/api/ssr/index.js.map +1 -1
  59. package/dist/cjs/user/api/index.js +8 -0
  60. package/dist/cjs/user/api/index.js.map +1 -1
  61. package/dist/cjs/user/api/utils/generateAnonymousToken.js +48 -0
  62. package/dist/cjs/user/api/utils/generateAnonymousToken.js.map +1 -0
  63. package/dist/cjs/user/api/utils/index.js +8 -0
  64. package/dist/cjs/user/api/utils/index.js.map +1 -1
  65. package/dist/cjs/user/index.js +8 -0
  66. package/dist/cjs/user/index.js.map +1 -1
  67. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js +4 -2
  68. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
  69. package/dist/esm/analytics/Releva/hooks/useRelevaData.js +2 -2
  70. package/dist/esm/analytics/Releva/hooks/useRelevaData.js.map +1 -1
  71. package/dist/esm/analytics/Releva/useReleva.js +8 -2
  72. package/dist/esm/analytics/Releva/useReleva.js.map +1 -1
  73. package/dist/esm/cms/api/queries/index.js +2 -0
  74. package/dist/esm/cms/api/queries/index.js.map +1 -1
  75. package/dist/esm/cms/api/queries/keys.js +5 -0
  76. package/dist/esm/cms/api/queries/keys.js.map +1 -1
  77. package/dist/esm/cms/api/queries/useCMSContentListQuery.js +31 -0
  78. package/dist/esm/cms/api/queries/useCMSContentListQuery.js.map +1 -0
  79. package/dist/esm/cms/api/queries/useCMSContentQuery.js +17 -0
  80. package/dist/esm/cms/api/queries/useCMSContentQuery.js.map +1 -0
  81. package/dist/esm/cms/hooks/index.js +3 -0
  82. package/dist/esm/cms/hooks/index.js.map +1 -1
  83. package/dist/esm/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
  84. package/dist/esm/cms/hooks/useCmsContent.js.map +1 -0
  85. package/dist/esm/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
  86. package/dist/esm/cms/hooks/useCmsContentList.js.map +1 -0
  87. package/dist/esm/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
  88. package/dist/esm/cms/hooks/useContentCategoriesMap.js.map +1 -0
  89. package/dist/esm/cms/ssr/fetchPagePaths.js.map +1 -1
  90. package/dist/esm/cms/ssr/index.js +2 -0
  91. package/dist/esm/cms/ssr/index.js.map +1 -1
  92. package/dist/esm/cms/ssr/prefetchCmsContent.js +30 -0
  93. package/dist/esm/cms/ssr/prefetchCmsContent.js.map +1 -0
  94. package/dist/esm/cms/ssr/prefetchCmsContentList.js +32 -0
  95. package/dist/esm/cms/ssr/prefetchCmsContentList.js.map +1 -0
  96. package/dist/esm/cms/utils/getCMSContentListFilter.js +9 -0
  97. package/dist/esm/cms/utils/getCMSContentListFilter.js.map +1 -0
  98. package/dist/esm/cms/utils/index.js +1 -0
  99. package/dist/esm/cms/utils/index.js.map +1 -1
  100. package/dist/esm/config/SentecaProvider.js.map +1 -1
  101. package/dist/esm/contexts/CheckoutForm/hooks/useBilling/index.js +4 -2
  102. package/dist/esm/contexts/CheckoutForm/hooks/useBilling/index.js.map +1 -1
  103. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js +8 -6
  104. package/dist/esm/contexts/CheckoutForm/hooks/useShipping/index.js.map +1 -1
  105. package/dist/esm/contexts/CheckoutForm/index.js +13 -9
  106. package/dist/esm/contexts/CheckoutForm/index.js.map +1 -1
  107. package/dist/esm/contexts/CheckoutForm/utils/validateBillingAddress.js +1 -2
  108. package/dist/esm/contexts/CheckoutForm/utils/validateBillingAddress.js.map +1 -1
  109. package/dist/esm/contexts/CheckoutForm/utils/validateShipping.js +25 -18
  110. package/dist/esm/contexts/CheckoutForm/utils/validateShipping.js.map +1 -1
  111. package/dist/esm/hooks/addresses-hooks/useAddressForm/index.js +3 -2
  112. package/dist/esm/hooks/addresses-hooks/useAddressForm/index.js.map +1 -1
  113. package/dist/esm/hooks/order-hooks/useOrder/index.js +10 -1
  114. package/dist/esm/hooks/order-hooks/useOrder/index.js.map +1 -1
  115. package/dist/esm/hooks/useAggregateResult/index.js +0 -2
  116. package/dist/esm/hooks/useAggregateResult/index.js.map +1 -1
  117. package/dist/esm/hooks/useCheckoutShippingModule/index.js +6 -1
  118. package/dist/esm/hooks/useCheckoutShippingModule/index.js.map +1 -1
  119. package/dist/esm/index.js +0 -2
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/esm/seo/api/ssr/getCanonicalUrl.js +18 -0
  122. package/dist/esm/seo/api/ssr/getCanonicalUrl.js.map +1 -0
  123. package/dist/esm/seo/api/ssr/index.js +1 -0
  124. package/dist/esm/seo/api/ssr/index.js.map +1 -1
  125. package/dist/esm/user/api/index.js +1 -0
  126. package/dist/esm/user/api/index.js.map +1 -1
  127. package/dist/esm/user/api/utils/generateAnonymousToken.js +23 -0
  128. package/dist/esm/user/api/utils/generateAnonymousToken.js.map +1 -0
  129. package/dist/esm/user/api/utils/index.js +1 -0
  130. package/dist/esm/user/api/utils/index.js.map +1 -1
  131. package/dist/esm/user/index.js +1 -0
  132. package/dist/esm/user/index.js.map +1 -1
  133. package/dist/types/analytics/Releva/api/query/useRelevaQuery.d.ts +1 -1
  134. package/dist/types/analytics/Releva/hooks/useRelevaData.d.ts +1 -1
  135. package/dist/types/cms/api/queries/index.d.ts +2 -0
  136. package/dist/types/cms/api/queries/keys.d.ts +5 -1
  137. package/dist/types/cms/api/queries/useCMSContentListQuery.d.ts +15 -0
  138. package/dist/types/cms/api/queries/useCMSContentQuery.d.ts +1 -0
  139. package/dist/types/cms/hooks/index.d.ts +3 -0
  140. package/dist/types/{hooks/cms-content-hooks/useCmsContent/index.d.ts → cms/hooks/useCmsContent.d.ts} +0 -0
  141. package/dist/types/{hooks/cms-content-hooks/useCmsContentList/index.d.ts → cms/hooks/useCmsContentList.d.ts} +1 -1
  142. package/dist/types/{hooks/cms-content-hooks/useContentCategoriesMap/index.d.ts → cms/hooks/useContentCategoriesMap.d.ts} +0 -0
  143. package/dist/types/cms/ssr/fetchPagePaths.d.ts +1 -1
  144. package/dist/types/cms/ssr/index.d.ts +2 -0
  145. package/dist/types/cms/ssr/prefetchCmsContent.d.ts +5 -0
  146. package/dist/types/cms/ssr/prefetchCmsContentList.d.ts +3 -0
  147. package/dist/types/cms/utils/getCMSContentListFilter.d.ts +1 -0
  148. package/dist/types/cms/utils/index.d.ts +1 -0
  149. package/dist/types/config/SentecaProvider.d.ts +1 -0
  150. package/dist/types/contexts/CheckoutForm/hooks/useBilling/index.d.ts +4 -2
  151. package/dist/types/contexts/CheckoutForm/hooks/useShipping/index.d.ts +3 -1
  152. package/dist/types/contexts/CheckoutForm/index.d.ts +4 -1
  153. package/dist/types/contexts/CheckoutForm/utils/validateBillingAddress.d.ts +2 -2
  154. package/dist/types/contexts/CheckoutForm/utils/validateShipping.d.ts +1 -1
  155. package/dist/types/hooks/addresses-hooks/useAddressForm/index.d.ts +2 -1
  156. package/dist/types/hooks/order-hooks/useOrder/index.d.ts +7 -1
  157. package/dist/types/hooks/useAggregateResult/index.d.ts +2 -2
  158. package/dist/types/hooks/useCheckoutShippingModule/index.d.ts +2 -2
  159. package/dist/types/index.d.ts +0 -2
  160. package/dist/types/seo/api/ssr/getCanonicalUrl.d.ts +3 -0
  161. package/dist/types/seo/api/ssr/index.d.ts +1 -0
  162. package/dist/types/user/api/index.d.ts +1 -0
  163. package/dist/types/user/api/utils/generateAnonymousToken.d.ts +1 -0
  164. package/dist/types/user/api/utils/index.d.ts +1 -0
  165. package/dist/types/user/index.d.ts +1 -0
  166. package/package.json +3 -3
  167. package/dist/cjs/api/cmsContentApi/index.js +0 -325
  168. package/dist/cjs/api/cmsContentApi/index.js.map +0 -1
  169. package/dist/cjs/hooks/cms-content-hooks/index.js +0 -28
  170. package/dist/cjs/hooks/cms-content-hooks/index.js.map +0 -1
  171. package/dist/cjs/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
  172. package/dist/cjs/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
  173. package/dist/cjs/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
  174. package/dist/esm/api/cmsContentApi/index.js +0 -161
  175. package/dist/esm/api/cmsContentApi/index.js.map +0 -1
  176. package/dist/esm/hooks/cms-content-hooks/index.js +0 -4
  177. package/dist/esm/hooks/cms-content-hooks/index.js.map +0 -1
  178. package/dist/esm/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
  179. package/dist/esm/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
  180. package/dist/esm/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
  181. package/dist/types/api/cmsContentApi/index.d.ts +0 -37
  182. package/dist/types/hooks/cms-content-hooks/index.d.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/user/api/utils/generateAnonymousToken.ts"],"names":["generateAnonymousToken","HttpClient","defaultConfig","interfaceKey","process","env","DEFAULT_INTERFACE_KEY","storeKey","STORE","grantType","TokenRequestDTOGrantTypeEnum","Implicit","anonymousId"],"mappings":";;;;;;;;;;;AAAA;;AAKA;;AAEO,IAAMA,sBAAsB;AAAA,2FAAG;AAAA;AAAA;AAAA;AAAA;AACpC,gBAAI,CAACC,gBAAWC,aAAhB,EAA+B;AAC7B,uCAAkB;AAChBC,gBAAAA,YAAY,EAAEC,OAAO,CAACC,GAAR,CAAYC,qBADV;AAEhBC,gBAAAA,QAAQ,EAAEH,OAAO,CAACC,GAAR,CAAYG;AAFN,eAAlB;AAID;;AANmC,6CAQ7B,mCACL,EADK,EAEL;AACEC,cAAAA,SAAS,EAAEC,kCAA6BC,QAD1C;AAEEC,cAAAA,WAAW,EAAE;AAFf,aAFK,CAR6B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAtBZ,sBAAsB;AAAA;AAAA;AAAA,GAA5B","sourcesContent":["import {\n AuthCreateAnonymousToken,\n TokenRequestDTOGrantTypeEnum,\n HttpClient,\n} from '@sentecacommerce/sdk'\nimport { generateGuid, prefetchSDKConfig } from '../../../'\n\nexport const generateAnonymousToken = async () => {\n if (!HttpClient.defaultConfig) {\n prefetchSDKConfig({\n interfaceKey: process.env.DEFAULT_INTERFACE_KEY as string,\n storeKey: process.env.STORE as string,\n })\n }\n\n return AuthCreateAnonymousToken(\n {},\n {\n grantType: TokenRequestDTOGrantTypeEnum.Implicit,\n anonymousId: generateGuid(),\n }\n )\n}\n"],"file":"generateAnonymousToken.js"}
@@ -25,4 +25,12 @@ Object.keys(_invalidateQueries).forEach(function (key) {
25
25
  if (key in exports && exports[key] === _invalidateQueries[key]) return;
26
26
  exports[key] = _invalidateQueries[key];
27
27
  });
28
+
29
+ var _generateAnonymousToken = require("./generateAnonymousToken");
30
+
31
+ Object.keys(_generateAnonymousToken).forEach(function (key) {
32
+ if (key === "default" || key === "__esModule") return;
33
+ if (key in exports && exports[key] === _generateAnonymousToken[key]) return;
34
+ exports[key] = _generateAnonymousToken[key];
35
+ });
28
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/user/api/utils/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 './processLogin'\nexport * from './processLoginPayload'\nexport * from './invalidateQueries'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/user/api/utils/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './processLogin'\nexport * from './processLoginPayload'\nexport * from './invalidateQueries'\nexport * from './generateAnonymousToken'\n"],"file":"index.js"}
@@ -17,4 +17,12 @@ Object.keys(_types).forEach(function (key) {
17
17
  if (key in exports && exports[key] === _types[key]) return;
18
18
  exports[key] = _types[key];
19
19
  });
20
+
21
+ var _utils = require("./api/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/user/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './hooks'\nexport * from './types'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/user/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 './hooks'\nexport * from './types'\nexport * from './api/utils'\n"],"file":"index.js"}
@@ -1,12 +1,14 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
2
  import { useQuery } from 'react-query';
3
- export var useRelevaQuery = (payload, isReady) => {
3
+ export var useRelevaQuery = (payload, isReady, token, interfaceKey) => {
4
4
  return useQuery(!!payload && 'releva-recommenders-query', /*#__PURE__*/_asyncToGenerator(function* () {
5
5
  var url = '/hub/releva/collect';
6
6
  return fetch(url, {
7
7
  method: 'POST',
8
8
  headers: {
9
- 'Content-Type': 'application/json'
9
+ 'Content-Type': 'application/json',
10
+ Authorization: "Bearer " + token,
11
+ InterfaceKey: "" + interfaceKey
10
12
  },
11
13
  body: JSON.stringify(payload)
12
14
  }).then(res => res.json());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/analytics/Releva/api/query/useRelevaQuery.ts"],"names":["useQuery","useRelevaQuery","payload","isReady","url","fetch","method","headers","body","JSON","stringify","then","res","json","retry","cacheTime","enabled"],"mappings":";AAAA,SAASA,QAAT,QAAyB,aAAzB;AAGA,OAAO,IAAMC,cAAc,GAAG,CAACC,OAAD,EAAuBC,OAAvB,KAA6C;AACzE,SAAOH,QAAQ,CACb,CAAC,CAACE,OAAF,IAAa,2BADA,iCAEb,aAAY;AACV,QAAME,GAAG,GAAG,qBAAZ;AAEA,WAAOC,KAAK,CAACD,GAAD,EAAM;AAChBE,MAAAA,MAAM,EAAE,MADQ;AAEhBC,MAAAA,OAAO,EAAE;AACP,wBAAgB;AADT,OAFO;AAKhBC,MAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeR,OAAf;AALU,KAAN,CAAL,CAMJS,IANI,CAMEC,GAAD,IAASA,GAAG,CAACC,IAAJ,EANV,CAAP;AAOD,GAZY,GAab;AACEC,IAAAA,KAAK,EAAE,KADT;AAEEC,IAAAA,SAAS,EAAE,CAFb;AAGEC,IAAAA,OAAO,EAAEb;AAHX,GAba,CAAf;AAmBD,CApBM","sourcesContent":["import { useQuery } from 'react-query'\nimport { PayloadDTO } from '../../types'\n\nexport const useRelevaQuery = (payload?: PayloadDTO, isReady?: boolean) => {\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 },\n body: JSON.stringify(payload),\n }).then((res) => res.json())\n },\n {\n retry: false,\n cacheTime: 0,\n enabled: isReady,\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","enabled"],"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;AAHX,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,\n }\n )\n}\n"],"file":"useRelevaQuery.js"}
@@ -1,13 +1,13 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { useRelevaQuery } from '../api';
3
- export var useRelevaData = (payload, isReady) => {
3
+ export var useRelevaData = (payload, isReady, token, interfaceKey) => {
4
4
  var [recommenders, setRecommenders] = useState([]);
5
5
  var [banners, setBanners] = useState([]);
6
6
  var [pixelData, setPixelData] = useState([]);
7
7
  var {
8
8
  data,
9
9
  isLoading
10
- } = useRelevaQuery(payload, isReady);
10
+ } = useRelevaQuery(payload, isReady, token, interfaceKey);
11
11
  useEffect(() => {
12
12
  if (!isLoading) {
13
13
  var _data$recommenders;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/analytics/Releva/hooks/useRelevaData.ts"],"names":["useState","useEffect","useRelevaQuery","useRelevaData","payload","isReady","recommenders","setRecommenders","banners","setBanners","pixelData","setPixelData","data","isLoading","recs","pixel","forEach","rec","arr","pixelProducts","mappedData","products","reduce","tot","el","push","sku","id","releva","name","skus","listName"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,cAAT,QAA+B,QAA/B;AAGA,OAAO,IAAMC,aAAa,GAAG,CAACC,OAAD,EAAuBC,OAAvB,KAA6C;AACxE,MAAM,CAACC,YAAD,EAAeC,eAAf,IAAkCP,QAAQ,CAAqB,EAArB,CAAhD;AACA,MAAM,CAACQ,OAAD,EAAUC,UAAV,IAAwBT,QAAQ,CAAe,EAAf,CAAtC;AACA,MAAM,CAACU,SAAD,EAAYC,YAAZ,IAA4BX,QAAQ,CAAY,EAAZ,CAA1C;AAEA,MAAM;AAAEY,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAsBX,cAAc,CAACE,OAAD,EAAUC,OAAV,CAA1C;AAEAJ,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACY,SAAL,EAAgB;AAAA;;AACd,UAAMC,IAAwB,GAAG,EAAjC;AACA,UAAMC,KAAgB,GAAG,EAAzB;AACAH,MAAAA,IAAI,QAAJ,kCAAAA,IAAI,CAAEN,YAAN,wCAAoBU,OAApB,CAA6BC,GAAD,IAAc;AACxC,YAAMC,GAAa,GAAG,EAAtB;AACA,YAAMC,aAA4C,GAAG,EAArD;AACA,YAAMC,UAAU,GAAGH,GAAG,CAACI,QAAJ,CAAaC,MAAb,CACjB,CAACC,GAAD,EAA4CC,EAA5C,KAAwD;AACtDN,UAAAA,GAAG,CAACO,IAAJ,CAASD,EAAE,CAACE,GAAZ;AACAP,UAAAA,aAAa,CAACM,IAAd,CAAmB;AACjBE,YAAAA,EAAE,EAAEH,EAAE,CAACG,EADU;AAEjBD,YAAAA,GAAG,EAAEF,EAAE,CAACE;AAFS,WAAnB;AAIA,iBAAO;AACLE,YAAAA,MAAM,EAAE;AACNC,cAAAA,IAAI,EAAEZ,GAAG,CAACY,IADJ;AAENC,cAAAA,IAAI,EAAEZ;AAFA,aADH;AAKLH,YAAAA,KAAK,EAAE;AACLgB,cAAAA,QAAQ,EAAEd,GAAG,CAACY,IADT;AAELR,cAAAA,QAAQ,EAAEF;AAFL;AALF,WAAP;AAUD,SAjBgB,EAkBjB,EAlBiB,CAAnB;AAoBAL,QAAAA,IAAI,CAACW,IAAL,CAAUL,UAAU,CAACQ,MAArB;AACAb,QAAAA,KAAK,CAACU,IAAN,CAAWL,UAAU,CAACL,KAAtB;AACD,OAzBD;AA0BAR,MAAAA,eAAe,CAACO,IAAD,CAAf;AACAL,MAAAA,UAAU,CAACG,IAAD,oBAACA,IAAI,CAAEJ,OAAP,CAAV;AACAG,MAAAA,YAAY,CAACI,KAAD,CAAZ;AACD;AACF,GAlCQ,EAkCN,CAACH,IAAD,EAAOC,SAAP,CAlCM,CAAT;AAoCA,SAAO;AAAEP,IAAAA,YAAF;AAAgBE,IAAAA,OAAhB;AAAyBE,IAAAA;AAAzB,GAAP;AACD,CA5CM","sourcesContent":["import { useState, useEffect } from 'react'\nimport { useRelevaQuery } from '../api'\nimport { RecommendersType, BannerType, PayloadDTO, PixelType } from '../types'\n\nexport const useRelevaData = (payload?: PayloadDTO, isReady?: boolean) => {\n const [recommenders, setRecommenders] = useState<RecommendersType[]>([])\n const [banners, setBanners] = useState<BannerType[]>([])\n const [pixelData, setPixelData] = useState<PixelType>([])\n\n const { data, isLoading } = useRelevaQuery(payload, isReady)\n\n useEffect(() => {\n if (!isLoading) {\n const recs: RecommendersType[] = []\n const pixel: PixelType = []\n data?.recommenders?.forEach((rec: any) => {\n const arr: string[] = []\n const pixelProducts: { id: string; sku: string }[] = []\n const mappedData = rec.products.reduce(\n (tot: { name: string; products: string[] }, el: any) => {\n arr.push(el.sku)\n pixelProducts.push({\n id: el.id,\n sku: el.sku,\n })\n return {\n releva: {\n name: rec.name,\n skus: arr,\n },\n pixel: {\n listName: rec.name,\n products: pixelProducts,\n },\n }\n },\n {}\n )\n recs.push(mappedData.releva)\n pixel.push(mappedData.pixel)\n })\n setRecommenders(recs)\n setBanners(data?.banners)\n setPixelData(pixel)\n }\n }, [data, isLoading])\n\n return { recommenders, banners, pixelData }\n}\n"],"file":"useRelevaData.js"}
1
+ {"version":3,"sources":["../../../../../src/analytics/Releva/hooks/useRelevaData.ts"],"names":["useState","useEffect","useRelevaQuery","useRelevaData","payload","isReady","token","interfaceKey","recommenders","setRecommenders","banners","setBanners","pixelData","setPixelData","data","isLoading","recs","pixel","forEach","rec","arr","pixelProducts","mappedData","products","reduce","tot","el","push","sku","id","releva","name","skus","listName"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,cAAT,QAA+B,QAA/B;AAGA,OAAO,IAAMC,aAAa,GAAG,CAC3BC,OAD2B,EAE3BC,OAF2B,EAG3BC,KAH2B,EAI3BC,YAJ2B,KAKxB;AACH,MAAM,CAACC,YAAD,EAAeC,eAAf,IAAkCT,QAAQ,CAAqB,EAArB,CAAhD;AACA,MAAM,CAACU,OAAD,EAAUC,UAAV,IAAwBX,QAAQ,CAAe,EAAf,CAAtC;AACA,MAAM,CAACY,SAAD,EAAYC,YAAZ,IAA4Bb,QAAQ,CAAY,EAAZ,CAA1C;AAEA,MAAM;AAAEc,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAsBb,cAAc,CACxCE,OADwC,EAExCC,OAFwC,EAGxCC,KAHwC,EAIxCC,YAJwC,CAA1C;AAOAN,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI,CAACc,SAAL,EAAgB;AAAA;;AACd,UAAMC,IAAwB,GAAG,EAAjC;AACA,UAAMC,KAAgB,GAAG,EAAzB;AACAH,MAAAA,IAAI,QAAJ,kCAAAA,IAAI,CAAEN,YAAN,wCAAoBU,OAApB,CAA6BC,GAAD,IAAc;AACxC,YAAMC,GAAa,GAAG,EAAtB;AACA,YAAMC,aAA4C,GAAG,EAArD;AACA,YAAMC,UAAU,GAAGH,GAAG,CAACI,QAAJ,CAAaC,MAAb,CACjB,CAACC,GAAD,EAA4CC,EAA5C,KAAwD;AACtDN,UAAAA,GAAG,CAACO,IAAJ,CAASD,EAAE,CAACE,GAAZ;AACAP,UAAAA,aAAa,CAACM,IAAd,CAAmB;AACjBE,YAAAA,EAAE,EAAEH,EAAE,CAACG,EADU;AAEjBD,YAAAA,GAAG,EAAEF,EAAE,CAACE;AAFS,WAAnB;AAIA,iBAAO;AACLE,YAAAA,MAAM,EAAE;AACNC,cAAAA,IAAI,EAAEZ,GAAG,CAACY,IADJ;AAENC,cAAAA,IAAI,EAAEZ;AAFA,aADH;AAKLH,YAAAA,KAAK,EAAE;AACLgB,cAAAA,QAAQ,EAAEd,GAAG,CAACY,IADT;AAELR,cAAAA,QAAQ,EAAEF;AAFL;AALF,WAAP;AAUD,SAjBgB,EAkBjB,EAlBiB,CAAnB;AAoBAL,QAAAA,IAAI,CAACW,IAAL,CAAUL,UAAU,CAACQ,MAArB;AACAb,QAAAA,KAAK,CAACU,IAAN,CAAWL,UAAU,CAACL,KAAtB;AACD,OAzBD;AA0BAR,MAAAA,eAAe,CAACO,IAAD,CAAf;AACAL,MAAAA,UAAU,CAACG,IAAD,oBAACA,IAAI,CAAEJ,OAAP,CAAV;AACAG,MAAAA,YAAY,CAACI,KAAD,CAAZ;AACD;AACF,GAlCQ,EAkCN,CAACH,IAAD,EAAOC,SAAP,CAlCM,CAAT;AAoCA,SAAO;AAAEP,IAAAA,YAAF;AAAgBE,IAAAA,OAAhB;AAAyBE,IAAAA;AAAzB,GAAP;AACD,CAtDM","sourcesContent":["import { useState, useEffect } from 'react'\nimport { useRelevaQuery } from '../api'\nimport { RecommendersType, BannerType, PayloadDTO, PixelType } from '../types'\n\nexport const useRelevaData = (\n payload?: PayloadDTO,\n isReady?: boolean,\n token?: string,\n interfaceKey?: string\n) => {\n const [recommenders, setRecommenders] = useState<RecommendersType[]>([])\n const [banners, setBanners] = useState<BannerType[]>([])\n const [pixelData, setPixelData] = useState<PixelType>([])\n\n const { data, isLoading } = useRelevaQuery(\n payload,\n isReady,\n token,\n interfaceKey\n )\n\n useEffect(() => {\n if (!isLoading) {\n const recs: RecommendersType[] = []\n const pixel: PixelType = []\n data?.recommenders?.forEach((rec: any) => {\n const arr: string[] = []\n const pixelProducts: { id: string; sku: string }[] = []\n const mappedData = rec.products.reduce(\n (tot: { name: string; products: string[] }, el: any) => {\n arr.push(el.sku)\n pixelProducts.push({\n id: el.id,\n sku: el.sku,\n })\n return {\n releva: {\n name: rec.name,\n skus: arr,\n },\n pixel: {\n listName: rec.name,\n products: pixelProducts,\n },\n }\n },\n {}\n )\n recs.push(mappedData.releva)\n pixel.push(mappedData.pixel)\n })\n setRecommenders(recs)\n setBanners(data?.banners)\n setPixelData(pixel)\n }\n }, [data, isLoading])\n\n return { recommenders, banners, pixelData }\n}\n"],"file":"useRelevaData.js"}
@@ -2,12 +2,14 @@ import React from 'react';
2
2
  import { useRouter } from 'next/router';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
4
  import Cookies from 'js-cookie';
5
- import { useProfile, useBoolean } from '../../index';
5
+ import { useProfile, useBoolean, useConfigState } from '../../index';
6
6
  import { relevaCookie } from './types';
7
7
  import { useRelevaData } from './hooks';
8
8
  import { createMappedPageData, createMappedProfileData, createMappedOrder, payloadReducer } from './utils';
9
9
  var RelevaContext = /*#__PURE__*/React.createContext(undefined);
10
10
  export var RelevaProvider = (_ref) => {
11
+ var _ref3, _Cookies$get;
12
+
11
13
  var {
12
14
  children
13
15
  } = _ref;
@@ -115,11 +117,15 @@ export var RelevaProvider = (_ref) => {
115
117
  setTimeout(() => setIsReady.on(), 1000);
116
118
  };
117
119
 
120
+ var token = (_ref3 = (_Cookies$get = Cookies.get('token')) != null ? _Cookies$get : Cookies.get('anonymousToken')) != null ? _ref3 : process.env.API_KEY;
121
+ var {
122
+ interfaceKey
123
+ } = useConfigState();
118
124
  var {
119
125
  recommenders,
120
126
  banners,
121
127
  pixelData
122
- } = useRelevaData(payload, isReady);
128
+ } = useRelevaData(payload, isReady, token, interfaceKey);
123
129
  var values = {
124
130
  onProductPage,
125
131
  changeProfileData,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/analytics/Releva/useReleva.tsx"],"names":["React","useRouter","v4","uuidv4","Cookies","useProfile","useBoolean","relevaCookie","useRelevaData","createMappedPageData","createMappedProfileData","createMappedOrder","payloadReducer","RelevaContext","createContext","undefined","RelevaProvider","children","router","data","profileData","get","set","initialState","profile","profileIdChanged","sessionId","isFirstSession","profileChanged","page","route","pageType","order","orderId","products","payload","reducePayload","useReducer","isReady","setIsReady","useEffect","off","resetState","type","asPath","delay","setTimeout","on","updateOnListing","items","cat","activePage","activeFilters","clearTimeout","filters","category","onProductPage","item","product","categories","changeProfileData","firstSession","changeBasket","recommenders","banners","pixelData","values","useReleva","context","useContext","Error"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { useRouter } from 'next/router'\nimport { v4 as uuidv4 } from 'uuid'\nimport Cookies from 'js-cookie'\nimport { useProfile, useBoolean } from '../../index'\nimport {\n BodyProductDTO,\n BannerType,\n RecommendersType,\n relevaCookie,\n ListingDataType,\n PayloadDTO,\n PixelType,\n} from './types'\n\nimport { useRelevaData } from './hooks'\nimport {\n createMappedPageData,\n createMappedProfileData,\n createMappedOrder,\n payloadReducer,\n} from './utils'\n\ntype RelevaResponse = {\n onProductPage: (item?: BodyProductDTO, category?: string[]) => void\n changeProfileData: () => void\n firstSession: () => void\n changeBasket: () => void\n recommenders: RecommendersType[]\n banners: BannerType[]\n updateOnListing: (props: ListingDataType) => void\n pixelData: PixelType\n}\n\nconst RelevaContext = React.createContext<RelevaResponse | undefined>(undefined)\n\nexport const RelevaProvider = ({ children }: { children: React.ReactNode }) => {\n const router = useRouter()\n const { data: profileData } = useProfile()\n\n if (!Cookies.get(relevaCookie)) {\n Cookies.set(relevaCookie, uuidv4())\n }\n\n const initialState: PayloadDTO = {\n profile: {\n profileIdChanged: false,\n sessionId: '',\n isFirstSession: false,\n profileChanged: false,\n },\n page: {\n route: '',\n pageType: '',\n },\n\n order: {\n orderId: '',\n },\n products: [],\n }\n\n const [payload, reducePayload] = React.useReducer(\n payloadReducer,\n initialState\n )\n\n const [isReady, setIsReady] = useBoolean()\n\n React.useEffect(() => {\n // Reset products on page change\n setIsReady.off()\n\n const resetState: PayloadDTO = {\n profile: createMappedProfileData({\n profileData,\n relevaCookie,\n }),\n page: createMappedPageData({\n router,\n }),\n order: createMappedOrder({}),\n products: [],\n }\n\n reducePayload({ type: 'reset', initialState: resetState })\n }, [router.asPath])\n\n const delay = setTimeout(() => setIsReady.on(), 2000)\n\n const updateOnListing = ({\n items,\n cat,\n activePage,\n activeFilters,\n }: ListingDataType) => {\n clearTimeout(delay)\n\n reducePayload({\n type: 'listing',\n products: items,\n filters: activeFilters,\n activePage,\n category: cat,\n })\n setTimeout(() => setIsReady.on(), 2000)\n }\n\n // Set the product on Product page\n const onProductPage = (item?: BodyProductDTO, category?: string[]) => {\n clearTimeout(delay)\n\n reducePayload({ type: 'product', product: item, categories: category })\n setTimeout(() => setIsReady.on(), 1500)\n }\n\n // On profile data change\n const changeProfileData = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'changeProfileData' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n // On register\n const firstSession = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'isFirstSession' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n // On Log In\n const changeBasket = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'changeBasket' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n const { recommenders, banners, pixelData } = useRelevaData(payload, isReady)\n\n const values = {\n onProductPage,\n changeProfileData,\n firstSession,\n changeBasket,\n recommenders,\n banners,\n updateOnListing,\n pixelData,\n }\n return (\n <RelevaContext.Provider value={values}>{children}</RelevaContext.Provider>\n )\n}\n\nexport function useReleva() {\n const context = React.useContext(RelevaContext)\n\n if (context === undefined) {\n throw new Error('useReleva must be used within RelevaProvider')\n }\n\n return context\n}\n"],"file":"useReleva.js"}
1
+ {"version":3,"sources":["../../../../src/analytics/Releva/useReleva.tsx"],"names":["React","useRouter","v4","uuidv4","Cookies","useProfile","useBoolean","useConfigState","relevaCookie","useRelevaData","createMappedPageData","createMappedProfileData","createMappedOrder","payloadReducer","RelevaContext","createContext","undefined","RelevaProvider","children","router","data","profileData","get","set","initialState","profile","profileIdChanged","sessionId","isFirstSession","profileChanged","page","route","pageType","order","orderId","products","payload","reducePayload","useReducer","isReady","setIsReady","useEffect","off","resetState","type","asPath","delay","setTimeout","on","updateOnListing","items","cat","activePage","activeFilters","clearTimeout","filters","category","onProductPage","item","product","categories","changeProfileData","firstSession","changeBasket","token","process","env","API_KEY","interfaceKey","recommenders","banners","pixelData","values","useReleva","context","useContext","Error"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { useRouter } from 'next/router'\nimport { v4 as uuidv4 } from 'uuid'\nimport Cookies from 'js-cookie'\nimport { useProfile, useBoolean, useConfigState } from '../../index'\nimport {\n BodyProductDTO,\n BannerType,\n RecommendersType,\n relevaCookie,\n ListingDataType,\n PayloadDTO,\n PixelType,\n} from './types'\n\nimport { useRelevaData } from './hooks'\nimport {\n createMappedPageData,\n createMappedProfileData,\n createMappedOrder,\n payloadReducer,\n} from './utils'\n\ntype RelevaResponse = {\n onProductPage: (item?: BodyProductDTO, category?: string[]) => void\n changeProfileData: () => void\n firstSession: () => void\n changeBasket: () => void\n recommenders: RecommendersType[]\n banners: BannerType[]\n updateOnListing: (props: ListingDataType) => void\n pixelData: PixelType\n}\n\nconst RelevaContext = React.createContext<RelevaResponse | undefined>(undefined)\n\nexport const RelevaProvider = ({ children }: { children: React.ReactNode }) => {\n const router = useRouter()\n const { data: profileData } = useProfile()\n\n if (!Cookies.get(relevaCookie)) {\n Cookies.set(relevaCookie, uuidv4())\n }\n\n const initialState: PayloadDTO = {\n profile: {\n profileIdChanged: false,\n sessionId: '',\n isFirstSession: false,\n profileChanged: false,\n },\n page: {\n route: '',\n pageType: '',\n },\n\n order: {\n orderId: '',\n },\n products: [],\n }\n\n const [payload, reducePayload] = React.useReducer(\n payloadReducer,\n initialState\n )\n\n const [isReady, setIsReady] = useBoolean()\n\n React.useEffect(() => {\n // Reset products on page change\n setIsReady.off()\n\n const resetState: PayloadDTO = {\n profile: createMappedProfileData({\n profileData,\n relevaCookie,\n }),\n page: createMappedPageData({\n router,\n }),\n order: createMappedOrder({}),\n products: [],\n }\n\n reducePayload({ type: 'reset', initialState: resetState })\n }, [router.asPath])\n\n const delay = setTimeout(() => setIsReady.on(), 2000)\n\n const updateOnListing = ({\n items,\n cat,\n activePage,\n activeFilters,\n }: ListingDataType) => {\n clearTimeout(delay)\n\n reducePayload({\n type: 'listing',\n products: items,\n filters: activeFilters,\n activePage,\n category: cat,\n })\n setTimeout(() => setIsReady.on(), 2000)\n }\n\n // Set the product on Product page\n const onProductPage = (item?: BodyProductDTO, category?: string[]) => {\n clearTimeout(delay)\n\n reducePayload({ type: 'product', product: item, categories: category })\n setTimeout(() => setIsReady.on(), 1500)\n }\n\n // On profile data change\n const changeProfileData = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'changeProfileData' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n // On register\n const firstSession = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'isFirstSession' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n // On Log In\n const changeBasket = () => {\n clearTimeout(delay)\n\n reducePayload({ type: 'changeBasket' })\n setTimeout(() => setIsReady.on(), 1000)\n }\n\n const token =\n Cookies.get('token') ?? Cookies.get('anonymousToken') ?? process.env.API_KEY\n\n const { interfaceKey } = useConfigState()\n\n const { recommenders, banners, pixelData } = useRelevaData(\n payload,\n isReady,\n token,\n interfaceKey\n )\n\n const values = {\n onProductPage,\n changeProfileData,\n firstSession,\n changeBasket,\n recommenders,\n banners,\n updateOnListing,\n pixelData,\n }\n return (\n <RelevaContext.Provider value={values}>{children}</RelevaContext.Provider>\n )\n}\n\nexport function useReleva() {\n const context = React.useContext(RelevaContext)\n\n if (context === undefined) {\n throw new Error('useReleva must be used within RelevaProvider')\n }\n\n return context\n}\n"],"file":"useReleva.js"}
@@ -1,3 +1,5 @@
1
1
  export * from './useInjectedContentQuery';
2
2
  export * from './keys';
3
+ export * from './useCMSContentListQuery';
4
+ export * from './useCMSContentQuery';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,QAAd","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,QAAd;AACA,cAAc,0BAAd;AACA,cAAc,sBAAd","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'\nexport * from './useCMSContentListQuery'\nexport * from './useCMSContentQuery'"],"file":"index.js"}
@@ -2,5 +2,10 @@ export var cmsQueriesEnum;
2
2
 
3
3
  (function (cmsQueriesEnum) {
4
4
  cmsQueriesEnum["useInjectedContentQueryKey"] = "injected-content";
5
+ cmsQueriesEnum["useContent"] = "cms-content";
6
+ cmsQueriesEnum["useContentList"] = "cms-content-list";
5
7
  })(cmsQueriesEnum || (cmsQueriesEnum = {}));
8
+
9
+ export var getContentKey = key => "[" + cmsQueriesEnum.useContent + "]: " + key;
10
+ export var getContentListKey = (page, type, tags, enabled) => ['[cms-content-list]: ', page, type, enabled, ...(tags || [])];
6
11
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cms/api/queries/keys.ts"],"names":["cmsQueriesEnum"],"mappings":"AAAA,WAAYA,cAAZ;;WAAYA,c;AAAAA,EAAAA,c;GAAAA,c,KAAAA,c","sourcesContent":["export enum cmsQueriesEnum {\n useInjectedContentQueryKey = 'injected-content',\n}"],"file":"keys.js"}
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/keys.ts"],"names":["cmsQueriesEnum","getContentKey","key","useContent","getContentListKey","page","type","tags","enabled"],"mappings":"AAAA,WAAYA,cAAZ;;WAAYA,c;AAAAA,EAAAA,c;AAAAA,EAAAA,c;AAAAA,EAAAA,c;GAAAA,c,KAAAA,c;;AAMZ,OAAO,IAAMC,aAAa,GAAIC,GAAD,UACvBF,cAAc,CAACG,UADQ,WACQD,GAD9B;AAGP,OAAO,IAAME,iBAAiB,GAAG,CAC/BC,IAD+B,EAE/BC,IAF+B,EAG/BC,IAH+B,EAI/BC,OAJ+B,KAK5B,CAAC,sBAAD,EAAyBH,IAAzB,EAA+BC,IAA/B,EAAqCE,OAArC,EAA8C,IAAID,IAAI,IAAI,EAAZ,CAA9C,CALE","sourcesContent":["export enum cmsQueriesEnum {\n useInjectedContentQueryKey = 'injected-content',\n useContent = 'cms-content',\n useContentList = 'cms-content-list',\n}\n\nexport const getContentKey = (key?: string) =>\n `[${cmsQueriesEnum.useContent}]: ${key}`\n\nexport const getContentListKey = (\n page: number,\n type?: string,\n tags?: string[],\n enabled?: boolean\n) => ['[cms-content-list]: ', page, type, enabled, ...(tags || [])]\n"],"file":"keys.js"}
@@ -0,0 +1,31 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { ContentsFilter } from '@sentecacommerce/sdk';
4
+ import { useRouter } from 'next/router';
5
+ import { useQuery } from 'react-query';
6
+ import { getCMSContentListFilter } from '../../utils/getCMSContentListFilter';
7
+ import { getContentListKey } from './keys';
8
+ export var useCMSContentListQuery = function useCMSContentListQuery(config, enabled) {
9
+ var _router$query;
10
+
11
+ if (enabled === void 0) {
12
+ enabled = true;
13
+ }
14
+
15
+ var filter = getCMSContentListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
16
+ var router = useRouter();
17
+ var page = +((router == null ? void 0 : (_router$query = router.query) == null ? void 0 : _router$query.page) || '1');
18
+ return useQuery(getContentListKey(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/_asyncToGenerator(function* () {
19
+ return yield ContentsFilter(_extends({}, config || {}, {
20
+ filter,
21
+ offset: page * config.limit - config.limit
22
+ }));
23
+ }), {
24
+ refetchOnMount: false,
25
+ refetchOnWindowFocus: false,
26
+ staleTime: 30000,
27
+ retry: false,
28
+ enabled
29
+ });
30
+ };
31
+ //# sourceMappingURL=useCMSContentListQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSContentListQuery.ts"],"names":["ContentsFilter","useRouter","useQuery","getCMSContentListFilter","getContentListKey","useCMSContentListQuery","config","enabled","filter","type","tags","router","page","query","offset","limit","refetchOnMount","refetchOnWindowFocus","staleTime","retry"],"mappings":";;AAAA,SAASA,cAAT,QAA+B,sBAA/B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,uBAAT,QAAwC,qCAAxC;AACA,SAASC,iBAAT,QAAkC,QAAlC;AAkBA,OAAO,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CACpCC,MADoC,EAEpCC,OAFoC,EAGjC;AAAA;;AAAA,MADHA,OACG;AADHA,IAAAA,OACG,GADO,IACP;AAAA;;AACH,MAAMC,MAAM,GAAGL,uBAAuB,CAACG,MAAD,oBAACA,MAAM,CAAEG,IAAT,EAAeH,MAAf,oBAAeA,MAAM,CAAEI,IAAvB,CAAtC;AACA,MAAMC,MAAM,GAAGV,SAAS,EAAxB;AAEA,MAAMW,IAAI,GAAG,EAAE,CAACD,MAAD,qCAACA,MAAM,CAAEE,KAAT,qBAAC,cAAeD,IAAhB,KAAmC,GAArC,CAAb;AAEA,SAAOV,QAAQ,CACbE,iBAAiB,CAACQ,IAAD,EAAON,MAAP,oBAAOA,MAAM,CAAEG,IAAf,EAAqBH,MAArB,oBAAqBA,MAAM,CAAEI,IAA7B,CADJ,iCAEb,aAAY;AACV,iBAAaV,cAAc,cACrBM,MAAM,IAAI,EADW;AAEzBE,MAAAA,MAFyB;AAGzBM,MAAAA,MAAM,EAAEF,IAAI,GAAGN,MAAM,CAACS,KAAd,GAAsBT,MAAM,CAACS;AAHZ,OAA3B;AAKD,GARY,GASb;AACEC,IAAAA,cAAc,EAAE,KADlB;AAEEC,IAAAA,oBAAoB,EAAE,KAFxB;AAGEC,IAAAA,SAAS,EAAE,KAHb;AAIEC,IAAAA,KAAK,EAAE,KAJT;AAKEZ,IAAAA;AALF,GATa,CAAf;AAiBD,CA1BM","sourcesContent":["import { ContentsFilter } from '@sentecacommerce/sdk'\nimport { useRouter } from 'next/router'\nimport { useQuery } from 'react-query'\nimport { getCMSContentListFilter } from '../../utils/getCMSContentListFilter'\nimport { getContentListKey } from './keys'\n\nexport type CmsListConfigType = {\n storeKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n sort?: string\n limit: number\n\n tags?: string[]\n type?: string\n}\n\nexport const useCMSContentListQuery = (\n config: CmsListConfigType,\n enabled = true\n) => {\n const filter = getCMSContentListFilter(config?.type, config?.tags)\n const router = useRouter()\n\n const page = +((router?.query?.page as string) || '1')\n\n return useQuery(\n getContentListKey(page, config?.type, config?.tags),\n async () => {\n return await ContentsFilter({\n ...(config || {}),\n filter,\n offset: page * config.limit - config.limit,\n })\n },\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n staleTime: 30000,\n retry: false,\n enabled,\n }\n )\n}\n\n"],"file":"useCMSContentListQuery.js"}
@@ -0,0 +1,17 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { ContentsGetByKey } from '@sentecacommerce/sdk';
3
+ import { useQuery } from 'react-query';
4
+ import { getContentKey } from './keys';
5
+ export var useCMSContentQuery = key => {
6
+ return useQuery(getContentKey(key), /*#__PURE__*/_asyncToGenerator(function* () {
7
+ if (!key) return;
8
+ return yield ContentsGetByKey(key);
9
+ }), {
10
+ refetchOnMount: false,
11
+ refetchOnWindowFocus: false,
12
+ staleTime: 30000,
13
+ enabled: Boolean(key),
14
+ retry: false
15
+ });
16
+ };
17
+ //# sourceMappingURL=useCMSContentQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSContentQuery.ts"],"names":["ContentsGetByKey","useQuery","getContentKey","useCMSContentQuery","key","refetchOnMount","refetchOnWindowFocus","staleTime","enabled","Boolean","retry"],"mappings":";AAAA,SAASA,gBAAT,QAAiC,sBAAjC;AACA,SAASC,QAAT,QAAyB,aAAzB;AACA,SAASC,aAAT,QAA8B,QAA9B;AAEA,OAAO,IAAMC,kBAAkB,GAAIC,GAAD,IAAkB;AAClD,SAAOH,QAAQ,CACbC,aAAa,CAACE,GAAD,CADA,iCAEb,aAAY;AACV,QAAI,CAACA,GAAL,EAAU;AAEV,iBAAaJ,gBAAgB,CAACI,GAAD,CAA7B;AACD,GANY,GAOb;AACEC,IAAAA,cAAc,EAAE,KADlB;AAEEC,IAAAA,oBAAoB,EAAE,KAFxB;AAGEC,IAAAA,SAAS,EAAE,KAHb;AAIEC,IAAAA,OAAO,EAAEC,OAAO,CAACL,GAAD,CAJlB;AAKEM,IAAAA,KAAK,EAAE;AALT,GAPa,CAAf;AAeD,CAhBM","sourcesContent":["import { ContentsGetByKey } from '@sentecacommerce/sdk'\nimport { useQuery } from 'react-query'\nimport { getContentKey } from './keys'\n\nexport const useCMSContentQuery = (key?: string) => {\n return useQuery(\n getContentKey(key),\n async () => {\n if (!key) return\n\n return await ContentsGetByKey(key)\n },\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n staleTime: 30000,\n enabled: Boolean(key),\n retry: false,\n }\n )\n}\n"],"file":"useCMSContentQuery.js"}
@@ -1,4 +1,7 @@
1
1
  export * from './useProductInjectedContent';
2
2
  export * from './useListingInjectedContent';
3
3
  export * from './useInjectedContentContext';
4
+ export * from './useCmsContent';
5
+ export * from './useCmsContentList';
6
+ export * from './useContentCategoriesMap';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,6BAAd","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,iBAAd;AACA,cAAc,qBAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\nexport * from './useCmsContent'\nexport * from './useCmsContentList'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
@@ -1,20 +1,18 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
- import { cmsContentApi } from '../../../api/cmsContentApi';
4
- import { getTranslatableField } from '../../../utils';
3
+ import { useCMSContentQuery } from '../api';
4
+ import { getTranslatableField } from '../../utils';
5
5
  export function useCmsContent(_ref) {
6
6
  var {
7
7
  data,
8
8
  key
9
9
  } = _ref;
10
10
 
11
- var _cmsContentApi$useCon = cmsContentApi.useContent({
12
- key
13
- }),
11
+ var _useCMSContentQuery = useCMSContentQuery(key),
14
12
  {
15
13
  data: queryData
16
- } = _cmsContentApi$useCon,
17
- rest = _objectWithoutPropertiesLoose(_cmsContentApi$useCon, ["data"]);
14
+ } = _useCMSContentQuery,
15
+ rest = _objectWithoutPropertiesLoose(_useCMSContentQuery, ["data"]);
18
16
 
19
17
  var content = data || queryData;
20
18
  var contentData = getTranslatableField(content == null ? void 0 : content.data);
@@ -27,4 +25,4 @@ export function useCmsContent(_ref) {
27
25
  }
28
26
  }, rest);
29
27
  }
30
- //# sourceMappingURL=index.js.map
28
+ //# sourceMappingURL=useCmsContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsContent.ts"],"names":["useCMSContentQuery","getTranslatableField","useCmsContent","data","key","queryData","rest","content","contentData","typeName","tags","id","_id"],"mappings":";;AACA,SAASA,kBAAT,QAAmC,QAAnC;AACA,SAASC,oBAAT,QAAqC,aAArC;AAEA,OAAO,SAASC,aAAT,OAMJ;AAAA,MAN8B;AAC/BC,IAAAA,IAD+B;AAE/BC,IAAAA;AAF+B,GAM9B;;AACD,4BAAqCJ,kBAAkB,CAACI,GAAD,CAAvD;AAAA,MAAM;AAAED,IAAAA,IAAI,EAAEE;AAAR,GAAN;AAAA,MAA4BC,IAA5B;;AAEA,MAAMC,OAAO,GAAGJ,IAAI,IAAIE,SAAxB;AAEA,MAAMG,WAAW,GAAGP,oBAAoB,CAACM,OAAD,oBAACA,OAAO,CAAEJ,IAAV,CAAxC;AAEA;AACEA,IAAAA,IAAI,EAAEI,OAAO,IAAI;AACfE,MAAAA,QAAQ,EAAEF,OAAO,CAACE,QADH;AAEfC,MAAAA,IAAI,EAAEH,OAAO,CAACG,IAFC;AAGfC,MAAAA,EAAE,EAAEJ,OAAO,CAACK,GAHG;AAIfL,MAAAA,OAAO,EAAEC;AAJM;AADnB,KAOKF,IAPL;AASD","sourcesContent":["import { CmsContentDTO } from '@sentecacommerce/sdk'\nimport { useCMSContentQuery } from '../api'\nimport { getTranslatableField } from '../../utils'\n\nexport function useCmsContent<T>({\n data,\n key,\n}: {\n key?: string\n data?: CmsContentDTO\n}) {\n const { data: queryData, ...rest } = useCMSContentQuery(key)\n\n const content = data || queryData\n\n const contentData = getTranslatableField(content?.data) as unknown\n\n return {\n data: content && {\n typeName: content.typeName,\n tags: content.tags,\n id: content._id,\n content: contentData as T,\n },\n ...rest,\n }\n}\n"],"file":"useCmsContent.js"}
@@ -2,17 +2,17 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
3
  import { useRouter } from 'next/router';
4
4
  import { useMemo } from 'react';
5
- import { cmsContentApi } from '../../../api/cmsContentApi';
5
+ import { useCMSContentListQuery } from '../api';
6
6
  export var useCmsContentList = function useCmsContentList(config, enabled) {
7
7
  if (enabled === void 0) {
8
8
  enabled = true;
9
9
  }
10
10
 
11
- var _cmsContentApi$useCon = cmsContentApi.useContentList(config, enabled),
11
+ var _useCMSContentListQue = useCMSContentListQuery(config, enabled),
12
12
  {
13
13
  data
14
- } = _cmsContentApi$useCon,
15
- rest = _objectWithoutPropertiesLoose(_cmsContentApi$useCon, ["data"]);
14
+ } = _useCMSContentListQue,
15
+ rest = _objectWithoutPropertiesLoose(_useCMSContentListQue, ["data"]);
16
16
 
17
17
  var router = useRouter();
18
18
  return useMemo(() => {
@@ -50,4 +50,4 @@ export var useCmsContentList = function useCmsContentList(config, enabled) {
50
50
  }, rest);
51
51
  }, [data, rest.isError, rest.isLoading, rest.isFetching, rest.isStale, rest.isSuccess, rest.isInitialData, rest.isIdle]);
52
52
  };
53
- //# sourceMappingURL=index.js.map
53
+ //# sourceMappingURL=useCmsContentList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsContentList.ts"],"names":["useRouter","useMemo","useCMSContentListQuery","useCmsContentList","config","enabled","data","rest","router","lastPage","Math","ceil","total","limit","currentPage","offset","goToPage","page","Error","push","pathname","query","undefined","shallow","results","canGoToNextPage","canGoToPrevPage","isError","isLoading","isFetching","isStale","isSuccess","isInitialData","isIdle"],"mappings":";;AAAA,SAASA,SAAT,QAA0B,aAA1B;AACA,SAASC,OAAT,QAAwB,OAAxB;AACA,SAASC,sBAAT,QAA0D,QAA1D;AAEA,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,MAD+B,EAE/BC,OAF+B,EAG5B;AAAA,MADHA,OACG;AADHA,IAAAA,OACG,GADO,IACP;AAAA;;AACH,8BAA0BH,sBAAsB,CAACE,MAAD,EAASC,OAAT,CAAhD;AAAA,MAAM;AAAEC,IAAAA;AAAF,GAAN;AAAA,MAAiBC,IAAjB;;AACA,MAAMC,MAAM,GAAGR,SAAS,EAAxB;AAEA,SAAOC,OAAO,CAAC,MAAM;AACnB,QAAI,CAACK,IAAL,EAAW;AACT;AACEA,QAAAA,IAAI,EAAE;AADR,SAEKC,IAFL;AAID;;AAED,QAAME,QAAQ,GAAGC,IAAI,CAACC,IAAL,CAAUL,IAAI,CAACM,KAAL,GAAaN,IAAI,CAACO,KAA5B,CAAjB;AACA,QAAMC,WAAW,GAAGJ,IAAI,CAACC,IAAL,CAAUL,IAAI,CAACS,MAAL,GAAcT,IAAI,CAACO,KAA7B,IAAsC,CAA1D;;AAEA,QAAMG,QAAQ,GAAIC,IAAD,IAAkB;AACjC,UAAIA,IAAI,GAAGR,QAAX,EACE,MAAM,IAAIS,KAAJ,YACKD,IADL,uCAC2CR,QAD3C,CAAN;AAIF,UAAIQ,IAAI,GAAG,CAAX,EAAc,MAAM,IAAIC,KAAJ,YAAmBD,IAAnB,mBAAN;AAEdT,MAAAA,MAAM,CAACW,IAAP,CACE;AACEC,QAAAA,QAAQ,EAAEZ,MAAM,CAACY,QADnB;AAEEC,QAAAA,KAAK,eACAb,MAAM,CAACa,KADP;AAEHJ,UAAAA;AAFG;AAFP,OADF,EAQEK,SARF,EASE;AAAEC,QAAAA,OAAO,EAAE;AAAX,OATF;AAWD,KAnBD;;AAoBA;AACEjB,MAAAA,IAAI,EAAE;AACJkB,QAAAA,OAAO,EAAElB,IAAI,CAACkB,OADV;AAEJf,QAAAA,QAFI;AAGJK,QAAAA,WAHI;AAIJE,QAAAA,QAJI;AAKJS,QAAAA,eAAe,EAAEX,WAAW,GAAGL,QAL3B;AAMJiB,QAAAA,eAAe,EAAEZ,WAAW,GAAG;AAN3B;AADR,OASKP,IATL;AAWD,GA1Ca,EA0CX,CACDD,IADC,EAEDC,IAAI,CAACoB,OAFJ,EAGDpB,IAAI,CAACqB,SAHJ,EAIDrB,IAAI,CAACsB,UAJJ,EAKDtB,IAAI,CAACuB,OALJ,EAMDvB,IAAI,CAACwB,SANJ,EAODxB,IAAI,CAACyB,aAPJ,EAQDzB,IAAI,CAAC0B,MARJ,CA1CW,CAAd;AAoDD,CA3DM","sourcesContent":["import { useRouter } from 'next/router'\nimport { useMemo } from 'react'\nimport { useCMSContentListQuery, CmsListConfigType } from '../api'\n\nexport const useCmsContentList = (\n config: CmsListConfigType,\n enabled = true\n) => {\n const { data, ...rest } = useCMSContentListQuery(config, enabled)\n const router = useRouter()\n\n return useMemo(() => {\n if (!data) {\n return {\n data: null,\n ...rest,\n }\n }\n\n const lastPage = Math.ceil(data.total / data.limit)\n const currentPage = Math.ceil(data.offset / data.limit) + 1\n\n const goToPage = (page: number) => {\n if (page > lastPage)\n throw new Error(\n `Page (${page}) is invalid. The last page is ${lastPage}`\n )\n\n if (page < 1) throw new Error(`Page (${page}) is invalid.`)\n\n router.push(\n {\n pathname: router.pathname,\n query: {\n ...router.query,\n page,\n },\n },\n undefined,\n { shallow: true }\n )\n }\n return {\n data: {\n results: data.results,\n lastPage,\n currentPage,\n goToPage,\n canGoToNextPage: currentPage < lastPage,\n canGoToPrevPage: currentPage > 1,\n },\n ...rest,\n }\n }, [\n data,\n rest.isError,\n rest.isLoading,\n rest.isFetching,\n rest.isStale,\n rest.isSuccess,\n rest.isInitialData,\n rest.isIdle,\n ])\n}\n"],"file":"useCmsContentList.js"}
@@ -18,4 +18,4 @@ export function useContentCategoriesMap(categories) {
18
18
  return categoriesMap;
19
19
  }, [categories]);
20
20
  }
21
- //# sourceMappingURL=index.js.map
21
+ //# sourceMappingURL=useContentCategoriesMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useContentCategoriesMap.ts"],"names":["useMemo","useContentCategoriesMap","categories","categoriesMap","reduce","map","slug","data"],"mappings":";;;AAAA;AACA,SAASA,OAAT,QAAwB,OAAxB;AAOA,OAAO,SAASC,uBAAT,CAAoCC,UAApC,EAAuE;AAC5E,SAAOF,OAAO,CAAC,MAAM;AACnB,QAAMG,aAAa,GAAGD,UAAU,CAACE,MAAX,CAAkB,CAACC,GAAD,WAA4B;AAAA,UAAtB;AAAEC,QAAAA;AAAF,OAAsB;AAAA,UAAXC,IAAW;;AAClE,0BACKF,GADL;AAEE,SAACC,IAAD,GAAQC;AAFV;AAID,KALqB,EAKnB,EALmB,CAAtB;AAMA,WAAOJ,aAAP;AACD,GARa,EAQX,CAACD,UAAD,CARW,CAAd;AASD","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { useMemo } from 'react'\n\nexport type BlogCategoryType<T> = {\n tag: string\n slug: string\n} & T\n\nexport function useContentCategoriesMap<T>(categories: BlogCategoryType<T>[]) {\n return useMemo(() => {\n const categoriesMap = categories.reduce((map, { slug, ...data }) => {\n return {\n ...map,\n [slug]: data,\n }\n }, {})\n return categoriesMap\n }, [categories])\n}\n"],"file":"useContentCategoriesMap.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/ssr/fetchPagePaths.ts"],"names":["ThemeGetVersion","fetchPagePaths","themeKey","version","exceptions","excludePagesWithoutSlash","excludeSlugPath","data","catch","e","console","error","message","pages","pagePaths","filter","page","name","includes","map"],"mappings":";AAAA,SAASA,eAAT,QAAgC,sBAAhC;AAEA,gBAAsBC,cAAtB;AAAA;AAAA;;;sCAAO,WACLC,QADK,EAELC,OAFK,EAGLC,UAHK,EAILC,wBAJK,EAKLC,eALK,EAML;AAAA,QAFAD,wBAEA;AAFAA,MAAAA,wBAEA,GAF2B,KAE3B;AAAA;;AAAA,QADAC,eACA;AADAA,MAAAA,eACA,GADkB,IAClB;AAAA;;AACA,QAAMC,IAAI,SAASP,eAAe,CAACE,QAAD,EAAWC,OAAX,CAAf,CAAmCK,KAAnC,CAA0CC,CAAD,IAAO;AACjEC,MAAAA,OAAO,CAACC,KAAR,CAAc,wBAAd,EAAwCF,CAAxC,oBAAwCA,CAAC,CAAEG,OAA3C;AACA,aAAO,IAAP;AACD,KAHkB,CAAnB;AAKA,QAAI,CAACL,IAAD,IAAS,CAACA,IAAI,CAACM,KAAnB,EAA0B,OAAO,EAAP;AAE1B,QAAMC,SAAS,GAAGP,IAAI,CAACM,KAAL,CACfE,MADe,CACPC,IAAD,IAAU;AAChB,UAAIV,eAAe,IAAIU,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmB,QAAnB,CAAvB,EAAqD,OAAO,KAAP;AAErD,UAAIb,wBAAwB,IAAIW,IAAI,CAACC,IAAL,CAAU,CAAV,MAAiB,GAAjD,EAAsD,OAAO,KAAP;AAEtD,aAAO,EAACb,UAAD,YAACA,UAAU,CAAGY,IAAI,CAACC,IAAR,CAAX,CAAP;AACD,KAPe,EAQfE,GARe,CAQVH,IAAD,IAAUA,IAAI,CAACC,IARJ,CAAlB;AAUA,WAAOH,SAAP;AACD,G","sourcesContent":["import { ThemeGetVersion } from '@sentecacommerce/sdk'\n\nexport async function fetchPagePaths(\n themeKey: string,\n version: string,\n exceptions?: { [key: string]: true },\n excludePagesWithoutSlash = false,\n excludeSlugPath = true\n) {\n const data = await ThemeGetVersion(themeKey, version).catch((e) => {\n console.error('Error Fetching Theme: ', e?.message)\n return null\n })\n\n if (!data || !data.pages) return []\n\n const pagePaths = data.pages\n .filter((page) => {\n if (excludeSlugPath && page.name.includes('[slug]')) return false\n\n if (excludePagesWithoutSlash && page.name[0] !== '/') return false\n\n return !exceptions?.[page.name]\n })\n .map((page) => page.name)\n\n return pagePaths\n}\n"],"file":"fetchPagePaths.js"}
1
+ {"version":3,"sources":["../../../../src/cms/ssr/fetchPagePaths.ts"],"names":["ThemeGetVersion","fetchPagePaths","themeKey","version","exceptions","excludePagesWithoutSlash","excludeSlugPath","data","catch","e","console","error","message","pages","pagePaths","filter","page","name","includes","map"],"mappings":";AAAA,SAASA,eAAT,QAAgC,sBAAhC;AAEA,gBAAsBC,cAAtB;AAAA;AAAA;;;sCAAO,WACLC,QADK,EAELC,OAFK,EAGLC,UAHK,EAILC,wBAJK,EAKLC,eALK,EAML;AAAA,QAFAD,wBAEA;AAFAA,MAAAA,wBAEA,GAF2B,KAE3B;AAAA;;AAAA,QADAC,eACA;AADAA,MAAAA,eACA,GADkB,IAClB;AAAA;;AACA,QAAMC,IAAI,SAASP,eAAe,CAACE,QAAD,EAAWC,OAAX,CAAf,CAAmCK,KAAnC,CAA0CC,CAAD,IAAO;AACjEC,MAAAA,OAAO,CAACC,KAAR,CAAc,wBAAd,EAAwCF,CAAxC,oBAAwCA,CAAC,CAAEG,OAA3C;AACA,aAAO,IAAP;AACD,KAHkB,CAAnB;AAKA,QAAI,CAACL,IAAD,IAAS,CAACA,IAAI,CAACM,KAAnB,EAA0B,OAAO,EAAP;AAE1B,QAAMC,SAAS,GAAGP,IAAI,CAACM,KAAL,CACfE,MADe,CACPC,IAAD,IAAU;AAChB,UAAIV,eAAe,IAAIU,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmB,QAAnB,CAAvB,EAAqD,OAAO,KAAP;AAErD,UAAIb,wBAAwB,IAAIW,IAAI,CAACC,IAAL,CAAU,CAAV,MAAiB,GAAjD,EAAsD,OAAO,KAAP;AAEtD,aAAO,EAACb,UAAD,YAACA,UAAU,CAAGY,IAAI,CAACC,IAAR,CAAX,CAAP;AACD,KAPe,EAQfE,GARe,CAQVH,IAAD,IAAUA,IAAI,CAACC,IARJ,CAAlB;AAUA,WAAOH,SAAP;AACD,G","sourcesContent":["import { ThemeGetVersion } from '@sentecacommerce/sdk'\n\nexport async function fetchPagePaths(\n themeKey: string,\n version: string,\n exceptions?: { [key: string]: true },\n excludePagesWithoutSlash = false,\n excludeSlugPath = true\n) {\n const data = await ThemeGetVersion(themeKey, version).catch((e) => {\n console.error('Error Fetching Theme: ', e?.message)\n return null\n })\n\n if (!data || !data.pages) return []\n\n const pagePaths = data.pages\n .filter((page) => {\n if (excludeSlugPath && page.name.includes('[slug]')) return false\n\n if (excludePagesWithoutSlash && page.name[0] !== '/') return false\n\n return !exceptions?.[page.name]\n })\n .map((page) => page.name)\n\n return pagePaths as string[]\n}\n"],"file":"fetchPagePaths.js"}
@@ -1,4 +1,6 @@
1
1
  export * from './prefetchInjectedContent';
2
2
  export * from './prefetchCMSPage';
3
3
  export * from './fetchPagePaths';
4
+ export * from './prefetchCmsContentList';
5
+ export * from './prefetchCmsContent';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,mBAAd;AACA,cAAc,kBAAd","sourcesContent":["export * from './prefetchInjectedContent'\nexport * from './prefetchCMSPage'\nexport * from './fetchPagePaths'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,mBAAd;AACA,cAAc,kBAAd;AACA,cAAc,0BAAd;AACA,cAAc,sBAAd","sourcesContent":["export * from './prefetchInjectedContent'\nexport * from './prefetchCMSPage'\nexport * from './fetchPagePaths'\nexport * from './prefetchCmsContentList'\nexport * from './prefetchCmsContent'"],"file":"index.js"}
@@ -0,0 +1,30 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { ContentsGetByKey } from '@sentecacommerce/sdk';
3
+ import { getContentKey } from '../api';
4
+ export var prefetchCmsContent = /*#__PURE__*/function () {
5
+ var _ref2 = _asyncToGenerator(function* (_ref) {
6
+ var {
7
+ queryCache,
8
+ key
9
+ } = _ref;
10
+ var isFound = true;
11
+ yield queryCache.prefetchQuery(getContentKey(key), /*#__PURE__*/_asyncToGenerator(function* () {
12
+ var data = yield ContentsGetByKey(key).catch(() => null);
13
+
14
+ if (!data) {
15
+ isFound = false;
16
+ return null;
17
+ }
18
+
19
+ return data;
20
+ }), {
21
+ staleTime: 30000
22
+ });
23
+ return isFound;
24
+ });
25
+
26
+ return function prefetchCmsContent(_x) {
27
+ return _ref2.apply(this, arguments);
28
+ };
29
+ }();
30
+ //# sourceMappingURL=prefetchCmsContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/ssr/prefetchCmsContent.ts"],"names":["ContentsGetByKey","getContentKey","prefetchCmsContent","queryCache","key","isFound","prefetchQuery","data","catch","staleTime"],"mappings":";AAAA,SAASA,gBAAT,QAAiC,sBAAjC;AAEA,SAASC,aAAT,QAA8B,QAA9B;AAEA,OAAO,IAAMC,kBAAkB;AAAA,gCAAG,iBAM5B;AAAA,QANmC;AACvCC,MAAAA,UADuC;AAEvCC,MAAAA;AAFuC,KAMnC;AACJ,QAAIC,OAAO,GAAG,IAAd;AAEA,UAAMF,UAAU,CAACG,aAAX,CACJL,aAAa,CAACG,GAAD,CADT,iCAEJ,aAAY;AACV,UAAMG,IAAI,SAASP,gBAAgB,CAACI,GAAD,CAAhB,CAAsBI,KAAtB,CAA4B,MAAM,IAAlC,CAAnB;;AAEA,UAAI,CAACD,IAAL,EAAW;AACTF,QAAAA,OAAO,GAAG,KAAV;AACA,eAAO,IAAP;AACD;;AAED,aAAOE,IAAP;AACD,KAXG,GAYJ;AAAEE,MAAAA,SAAS,EAAE;AAAb,KAZI,CAAN;AAeA,WAAOJ,OAAP;AACD,GAzB8B;;AAAA,kBAAlBH,kBAAkB;AAAA;AAAA;AAAA,GAAxB","sourcesContent":["import { ContentsGetByKey } from '@sentecacommerce/sdk'\nimport type { QueryCache } from 'react-query'\nimport { getContentKey } from '../api'\n\nexport const prefetchCmsContent = async ({\n queryCache,\n key,\n}: {\n queryCache: QueryCache\n key: string\n}) => {\n let isFound = true\n\n await queryCache.prefetchQuery(\n getContentKey(key),\n async () => {\n const data = await ContentsGetByKey(key).catch(() => null)\n\n if (!data) {\n isFound = false\n return null\n }\n\n return data\n },\n { staleTime: 30000 }\n )\n\n return isFound\n}\n"],"file":"prefetchCmsContent.js"}
@@ -0,0 +1,32 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { ContentsFilter } from '@sentecacommerce/sdk';
4
+ import { getCMSContentListFilter } from '../utils';
5
+ import { getContentListKey } from '../api';
6
+ export var prefetchCmsContentList = /*#__PURE__*/function () {
7
+ var _ref = _asyncToGenerator(function* (queryCache, config, page) {
8
+ var filter = getCMSContentListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
9
+ var isFound = true;
10
+ yield queryCache.prefetchQuery(getContentListKey(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/_asyncToGenerator(function* () {
11
+ var data = yield ContentsFilter(_extends({}, config || {}, {
12
+ filter,
13
+ offset: page * config.limit - config.limit
14
+ })).catch(() => null);
15
+
16
+ if (!(data != null && data.results.length)) {
17
+ isFound = false;
18
+ return null;
19
+ }
20
+
21
+ return data;
22
+ }), {
23
+ staleTime: 30000
24
+ });
25
+ return isFound;
26
+ });
27
+
28
+ return function prefetchCmsContentList(_x, _x2, _x3) {
29
+ return _ref.apply(this, arguments);
30
+ };
31
+ }();
32
+ //# sourceMappingURL=prefetchCmsContentList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/ssr/prefetchCmsContentList.ts"],"names":["ContentsFilter","getCMSContentListFilter","getContentListKey","prefetchCmsContentList","queryCache","config","page","filter","type","tags","isFound","prefetchQuery","data","offset","limit","catch","results","length","staleTime"],"mappings":";;AAAA,SAASA,cAAT,QAA+B,sBAA/B;AACA,SAASC,uBAAT,QAAwC,UAAxC;AACA,SAASC,iBAAT,QAAqD,QAArD;AAGA,OAAO,IAAMC,sBAAsB;AAAA,+BAAG,WACpCC,UADoC,EAEpCC,MAFoC,EAGpCC,IAHoC,EAIjC;AACH,QAAMC,MAAM,GAAGN,uBAAuB,CAACI,MAAD,oBAACA,MAAM,CAAEG,IAAT,EAAeH,MAAf,oBAAeA,MAAM,CAAEI,IAAvB,CAAtC;AACA,QAAIC,OAAO,GAAG,IAAd;AAEA,UAAMN,UAAU,CAACO,aAAX,CACJT,iBAAiB,CAACI,IAAD,EAAOD,MAAP,oBAAOA,MAAM,CAAEG,IAAf,EAAqBH,MAArB,oBAAqBA,MAAM,CAAEI,IAA7B,CADb,iCAEJ,aAAY;AACV,UAAMG,IAAI,SAASZ,cAAc,cACzBK,MAAM,IAAI,EADe;AAE7BE,QAAAA,MAF6B;AAG7BM,QAAAA,MAAM,EAAEP,IAAI,GAAGD,MAAM,CAACS,KAAd,GAAsBT,MAAM,CAACS;AAHR,SAAd,CAKhBC,KALgB,CAKV,MAAM,IALI,CAAnB;;AAOA,UAAI,EAACH,IAAD,YAACA,IAAI,CAAEI,OAAN,CAAcC,MAAf,CAAJ,EAA2B;AACzBP,QAAAA,OAAO,GAAG,KAAV;AACA,eAAO,IAAP;AACD;;AAED,aAAOE,IAAP;AACD,KAhBG,GAiBJ;AAAEM,MAAAA,SAAS,EAAE;AAAb,KAjBI,CAAN;AAoBA,WAAOR,OAAP;AACD,GA7BkC;;AAAA,kBAAtBP,sBAAsB;AAAA;AAAA;AAAA,GAA5B","sourcesContent":["import { ContentsFilter } from '@sentecacommerce/sdk'\nimport { getCMSContentListFilter } from '../utils'\nimport { getContentListKey, CmsListConfigType } from '../api'\nimport type { QueryCache } from 'react-query'\n\nexport const prefetchCmsContentList = async (\n queryCache: QueryCache,\n config: CmsListConfigType,\n page: number\n) => {\n const filter = getCMSContentListFilter(config?.type, config?.tags)\n let isFound = true\n\n await queryCache.prefetchQuery(\n getContentListKey(page, config?.type, config?.tags),\n async () => {\n const data = await ContentsFilter({\n ...(config || {}),\n filter, \n offset: page * config.limit - config.limit,\n })\n .catch(() => null)\n\n if (!data?.results.length) {\n isFound = false\n return null\n }\n\n return data\n },\n { staleTime: 30000 }\n )\n\n return isFound\n}\n"],"file":"prefetchCmsContentList.js"}
@@ -0,0 +1,9 @@
1
+ export var getCMSContentListFilter = (type, tags) => {
2
+ var tagsFilter = tags == null ? void 0 : tags.reduce((filter, tag, index) => {
3
+ if (!index && !type) return filter + ("tags;in;\"" + tag + "\"");
4
+ return filter + ("&tags;in;\"" + tag + "\"");
5
+ }, '');
6
+ var typeFilter = type ? "type;in;\"" + type + "\"" : '';
7
+ return "" + typeFilter + (tagsFilter || '');
8
+ };
9
+ //# sourceMappingURL=getCMSContentListFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/utils/getCMSContentListFilter.ts"],"names":["getCMSContentListFilter","type","tags","tagsFilter","reduce","filter","tag","index","typeFilter"],"mappings":"AAAA,OAAO,IAAMA,uBAAuB,GAAG,CAACC,IAAD,EAAgBC,IAAhB,KAAoC;AACzE,MAAMC,UAAU,GAAGD,IAAH,oBAAGA,IAAI,CAAEE,MAAN,CAAa,CAACC,MAAD,EAASC,GAAT,EAAcC,KAAd,KAAwB;AACtD,QAAI,CAACA,KAAD,IAAU,CAACN,IAAf,EAAqB,OAAOI,MAAM,mBAAeC,GAAf,QAAb;AAErB,WAAOD,MAAM,oBAAgBC,GAAhB,QAAb;AACD,GAJkB,EAIhB,EAJgB,CAAnB;AAMA,MAAME,UAAU,GAAGP,IAAI,kBAAeA,IAAf,UAAyB,EAAhD;AAEA,cAAUO,UAAV,IAAuBL,UAAU,IAAI,EAArC;AACD,CAVM","sourcesContent":["export const getCMSContentListFilter = (type?: string, tags?: string[]) => {\n const tagsFilter = tags?.reduce((filter, tag, index) => {\n if (!index && !type) return filter + `tags;in;\"${tag}\"`\n\n return filter + `&tags;in;\"${tag}\"`\n }, '')\n\n const typeFilter = type ? `type;in;\"${type}\"` : ''\n\n return `${typeFilter}${tagsFilter || ''}`\n}\n"],"file":"getCMSContentListFilter.js"}
@@ -1,2 +1,3 @@
1
1
  export * from './getFirstNodeByComponentName';
2
+ export * from './getCMSContentListFilter';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAAd","sourcesContent":["export * from './getFirstNodeByComponentName'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './getFirstNodeByComponentName'\nexport * from './getCMSContentListFilter'"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/config/SentecaProvider.tsx"],"names":["React","HttpClient","Configuration","fetch","getOptions","ReactQueryConfigProvider","useQueryCache","removeAnonToken","removeAuthToken","ConfigStateContext","createContext","undefined","SentecaProvider","defaultConfig","transientConfig","localeData","children","queryCache","options","headers","InterfaceKey","interfaceKey","StoreKey","storeKey","Error","fetchApi","window","queries","onError","e","statusCode","clear"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAoCC,aAApC,QAAyD,sBAAzD;AACA,OAAOC,KAAP,MAAkB,YAAlB;AACA,SAASC,UAAT,QAA2B,qBAA3B;AACA,SAASC,wBAAT,EAAmCC,aAAnC,QAAwD,aAAxD;AACA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,iBAAjD;AAqBA,IAAMC,kBAAkB,gBAAGT,KAAK,CAACU,aAAN,CACzBC,SADyB,CAA3B;AAIA,OAAO,SAASC,eAAT,OAUJ;AAAA,MAV6B;AAC9BC,IAAAA,aAD8B;AAE9BC,IAAAA,eAF8B;AAG9BC,IAAAA,UAH8B;AAI9BC,IAAAA;AAJ8B,GAU7B;AACD,MAAMC,UAAU,GAAGX,aAAa,EAAhC;AAEA,MAAMY,OAAO,GAAGd,UAAU,CAACS,aAAD,CAA1B,CAHC,CAKD;;AACA,MAAIE,UAAJ,EAAgB;AACdG,IAAAA,OAAO,CAACC,OAAR,gBACMD,OAAO,CAACC,OAAR,IAAmB,EADzB;AAEEC,MAAAA,YAAY,EAAEL,UAAU,CAACM,YAF3B;AAGEC,MAAAA,QAAQ,EAAEP,UAAU,CAACQ;AAHvB;AAKD;;AAEDtB,EAAAA,UAAU,CAACY,aAAX,GAA2B,IAAIX,aAAJ,CAAkBgB,OAAlB,CAA3B;;AAEA,MAAIJ,eAAJ,EAAqB;AACnBb,IAAAA,UAAU,CAACa,eAAX,GAA6B,IAAIZ,aAAJ,cACxBgB,OADwB,EAEvBJ,eAFuB;AAG3BK,MAAAA,OAAO,eACDD,OAAO,CAACC,OAAR,IAAmB,EADlB,EAEDL,eAAe,CAACK,OAAhB,IAA2B,EAF1B;AAHoB,OAA7B;AAQD;;AAED,MAAI,CAACN,aAAL,EAAoB;AAClB,UAAM,IAAIW,KAAJ,CAAU,gDAAV,CAAN;AACD;;AAEDX,EAAAA,aAAa,CAACY,QAAd,GACE,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAM,CAACvB,KAAvC,GAAgDA,KADlD;AAGA,sBACE,oBAAC,wBAAD;AACE,IAAA,MAAM,EAAE;AACNwB,MAAAA,OAAO,EAAE;AACPC,QAAAA,OAAO,EAAGC,CAAD,IAAY;AACnB,cAAI,CAAAA,CAAC,QAAD,YAAAA,CAAC,CAAEC,UAAH,MAAkB,GAAtB,EAA2B;AACzBtB,YAAAA,eAAe;AACfD,YAAAA,eAAe;AAEfU,YAAAA,UAAU,CAACc,KAAX;AACD;AACF;AARM;AADH;AADV,kBAcE,oBAAC,kBAAD,CAAoB,QAApB;AAA6B,IAAA,KAAK,EAAE;AAAElB,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB;AAApC,KACGE,QADH,CAdF,CADF;AAoBD","sourcesContent":["import React from 'react'\nimport { HttpClient, ConfigOptions, Configuration } from '@sentecacommerce/sdk'\nimport fetch from 'node-fetch'\nimport { getOptions } from '../api/getSDKConfig'\nimport { ReactQueryConfigProvider, useQueryCache } from 'react-query'\nimport { removeAnonToken, removeAuthToken } from '../utils/tokens'\n\nexport type SentecaProps = {\n children?: React.ReactNode\n}\n\nexport interface ConfigProps {\n defaultConfig: ConfigOptions\n transientConfig?: ConfigOptions\n}\n\nexport interface LocaleData {\n interfaceKey: string\n storeKey: string\n locale: string\n theme: {\n themeKey: string\n themeVersion: string\n }\n}\n\nconst ConfigStateContext = React.createContext<ConfigProps | undefined>(\n undefined\n)\n\nexport function SentecaProvider({\n defaultConfig,\n transientConfig,\n localeData,\n children,\n}: {\n defaultConfig: ConfigOptions\n transientConfig?: ConfigOptions\n children: React.ReactNode\n localeData?: LocaleData\n}) {\n const queryCache = useQueryCache()\n\n const options = getOptions(defaultConfig)\n\n // add interfaceKey and storeKey in the headers\n if (localeData) {\n options.headers = {\n ...(options.headers || {}),\n InterfaceKey: localeData.interfaceKey,\n StoreKey: localeData.storeKey,\n }\n }\n\n HttpClient.defaultConfig = new Configuration(options)\n\n if (transientConfig) {\n HttpClient.transientConfig = new Configuration({\n ...options,\n ...(transientConfig as any),\n headers: {\n ...(options.headers || {}),\n ...(transientConfig.headers || {}),\n },\n })\n }\n\n if (!defaultConfig) {\n throw new Error('SentecaProvider requires a valid config object')\n }\n\n defaultConfig.fetchApi =\n typeof window !== 'undefined' ? window.fetch : (fetch as any)\n\n return (\n <ReactQueryConfigProvider\n config={{\n queries: {\n onError: (e: any) => {\n if (e?.statusCode === 401) {\n removeAuthToken()\n removeAnonToken()\n\n queryCache.clear()\n }\n },\n },\n }}\n >\n <ConfigStateContext.Provider value={{ defaultConfig, transientConfig }}>\n {children}\n </ConfigStateContext.Provider>\n </ReactQueryConfigProvider>\n )\n}\n"],"file":"SentecaProvider.js"}
1
+ {"version":3,"sources":["../../../src/config/SentecaProvider.tsx"],"names":["React","HttpClient","Configuration","fetch","getOptions","ReactQueryConfigProvider","useQueryCache","removeAnonToken","removeAuthToken","ConfigStateContext","createContext","undefined","SentecaProvider","defaultConfig","transientConfig","localeData","children","queryCache","options","headers","InterfaceKey","interfaceKey","StoreKey","storeKey","Error","fetchApi","window","queries","onError","e","statusCode","clear"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,EAAoCC,aAApC,QAAyD,sBAAzD;AACA,OAAOC,KAAP,MAAkB,YAAlB;AACA,SAASC,UAAT,QAA2B,qBAA3B;AACA,SAASC,wBAAT,EAAmCC,aAAnC,QAAwD,aAAxD;AACA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,iBAAjD;AAsBA,IAAMC,kBAAkB,gBAAGT,KAAK,CAACU,aAAN,CACzBC,SADyB,CAA3B;AAIA,OAAO,SAASC,eAAT,OAUJ;AAAA,MAV6B;AAC9BC,IAAAA,aAD8B;AAE9BC,IAAAA,eAF8B;AAG9BC,IAAAA,UAH8B;AAI9BC,IAAAA;AAJ8B,GAU7B;AACD,MAAMC,UAAU,GAAGX,aAAa,EAAhC;AAEA,MAAMY,OAAO,GAAGd,UAAU,CAACS,aAAD,CAA1B,CAHC,CAKD;;AACA,MAAIE,UAAJ,EAAgB;AACdG,IAAAA,OAAO,CAACC,OAAR,gBACMD,OAAO,CAACC,OAAR,IAAmB,EADzB;AAEEC,MAAAA,YAAY,EAAEL,UAAU,CAACM,YAF3B;AAGEC,MAAAA,QAAQ,EAAEP,UAAU,CAACQ;AAHvB;AAKD;;AAEDtB,EAAAA,UAAU,CAACY,aAAX,GAA2B,IAAIX,aAAJ,CAAkBgB,OAAlB,CAA3B;;AAEA,MAAIJ,eAAJ,EAAqB;AACnBb,IAAAA,UAAU,CAACa,eAAX,GAA6B,IAAIZ,aAAJ,cACxBgB,OADwB,EAEvBJ,eAFuB;AAG3BK,MAAAA,OAAO,eACDD,OAAO,CAACC,OAAR,IAAmB,EADlB,EAEDL,eAAe,CAACK,OAAhB,IAA2B,EAF1B;AAHoB,OAA7B;AAQD;;AAED,MAAI,CAACN,aAAL,EAAoB;AAClB,UAAM,IAAIW,KAAJ,CAAU,gDAAV,CAAN;AACD;;AAEDX,EAAAA,aAAa,CAACY,QAAd,GACE,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAM,CAACvB,KAAvC,GAAgDA,KADlD;AAGA,sBACE,oBAAC,wBAAD;AACE,IAAA,MAAM,EAAE;AACNwB,MAAAA,OAAO,EAAE;AACPC,QAAAA,OAAO,EAAGC,CAAD,IAAY;AACnB,cAAI,CAAAA,CAAC,QAAD,YAAAA,CAAC,CAAEC,UAAH,MAAkB,GAAtB,EAA2B;AACzBtB,YAAAA,eAAe;AACfD,YAAAA,eAAe;AAEfU,YAAAA,UAAU,CAACc,KAAX;AACD;AACF;AARM;AADH;AADV,kBAcE,oBAAC,kBAAD,CAAoB,QAApB;AAA6B,IAAA,KAAK,EAAE;AAAElB,MAAAA,aAAF;AAAiBC,MAAAA;AAAjB;AAApC,KACGE,QADH,CAdF,CADF;AAoBD","sourcesContent":["import React from 'react'\nimport { HttpClient, ConfigOptions, Configuration } from '@sentecacommerce/sdk'\nimport fetch from 'node-fetch'\nimport { getOptions } from '../api/getSDKConfig'\nimport { ReactQueryConfigProvider, useQueryCache } from 'react-query'\nimport { removeAnonToken, removeAuthToken } from '../utils/tokens'\n\nexport type SentecaProps = {\n children?: React.ReactNode\n}\n\nexport interface ConfigProps {\n defaultConfig: ConfigOptions\n transientConfig?: ConfigOptions\n}\n\nexport interface LocaleData {\n interfaceKey: string\n storeKey: string\n locale: string\n domain: string\n theme: {\n themeKey: string\n themeVersion: string\n }\n}\n\nconst ConfigStateContext = React.createContext<ConfigProps | undefined>(\n undefined\n)\n\nexport function SentecaProvider({\n defaultConfig,\n transientConfig,\n localeData,\n children,\n}: {\n defaultConfig: ConfigOptions\n transientConfig?: ConfigOptions\n children: React.ReactNode\n localeData?: LocaleData\n}) {\n const queryCache = useQueryCache()\n\n const options = getOptions(defaultConfig)\n\n // add interfaceKey and storeKey in the headers\n if (localeData) {\n options.headers = {\n ...(options.headers || {}),\n InterfaceKey: localeData.interfaceKey,\n StoreKey: localeData.storeKey,\n }\n }\n\n HttpClient.defaultConfig = new Configuration(options)\n\n if (transientConfig) {\n HttpClient.transientConfig = new Configuration({\n ...options,\n ...(transientConfig as any),\n headers: {\n ...(options.headers || {}),\n ...(transientConfig.headers || {}),\n },\n })\n }\n\n if (!defaultConfig) {\n throw new Error('SentecaProvider requires a valid config object')\n }\n\n defaultConfig.fetchApi =\n typeof window !== 'undefined' ? window.fetch : (fetch as any)\n\n return (\n <ReactQueryConfigProvider\n config={{\n queries: {\n onError: (e: any) => {\n if (e?.statusCode === 401) {\n removeAuthToken()\n removeAnonToken()\n\n queryCache.clear()\n }\n },\n },\n }}\n >\n <ConfigStateContext.Provider value={{ defaultConfig, transientConfig }}>\n {children}\n </ConfigStateContext.Provider>\n </ReactQueryConfigProvider>\n )\n}\n"],"file":"SentecaProvider.js"}
@@ -16,7 +16,9 @@ export var useBilling = (_ref) => {
16
16
  withPersistBeforePageLeave,
17
17
  countryCode,
18
18
  validateBillingAddress,
19
- enabled
19
+ enabled,
20
+ requiredFields,
21
+ requiredFieldsOnShipping
20
22
  } = _ref;
21
23
  var emptyBillingAddress = useMemo(() => {
22
24
  return {
@@ -45,7 +47,7 @@ export var useBilling = (_ref) => {
45
47
  handleBillingAddressChange
46
48
  });
47
49
  var billingAddressErrors = useMemo(() => {
48
- return billingAddress && validateBillingAddress(billingAddress, errorLabels);
50
+ return billingAddress && validateBillingAddress(billingAddress, errorLabels, requiredFields, requiredFieldsOnShipping);
49
51
  }, [billingAddress, errorLabels, validateBillingAddress]);
50
52
  /**
51
53
  * On input change with nested fields support