@sentecacommerce-theme/lib 0.12.25 → 0.12.29

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 (147) 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/components/OverflowEllipsis/index.js +2 -2
  35. package/dist/cjs/components/OverflowEllipsis/index.js.map +1 -1
  36. package/dist/cjs/config/SentecaProvider.js.map +1 -1
  37. package/dist/cjs/hooks/useAggregateResult/index.js +0 -4
  38. package/dist/cjs/hooks/useAggregateResult/index.js.map +1 -1
  39. package/dist/cjs/index.js +0 -16
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/seo/api/ssr/getCanonicalUrl.js +27 -0
  42. package/dist/cjs/seo/api/ssr/getCanonicalUrl.js.map +1 -0
  43. package/dist/cjs/seo/api/ssr/index.js +8 -0
  44. package/dist/cjs/seo/api/ssr/index.js.map +1 -1
  45. package/dist/cjs/user/api/index.js +8 -0
  46. package/dist/cjs/user/api/index.js.map +1 -1
  47. package/dist/cjs/user/api/utils/generateAnonymousToken.js +48 -0
  48. package/dist/cjs/user/api/utils/generateAnonymousToken.js.map +1 -0
  49. package/dist/cjs/user/api/utils/index.js +8 -0
  50. package/dist/cjs/user/api/utils/index.js.map +1 -1
  51. package/dist/cjs/user/index.js +8 -0
  52. package/dist/cjs/user/index.js.map +1 -1
  53. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js +4 -2
  54. package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
  55. package/dist/esm/analytics/Releva/hooks/useRelevaData.js +2 -2
  56. package/dist/esm/analytics/Releva/hooks/useRelevaData.js.map +1 -1
  57. package/dist/esm/analytics/Releva/useReleva.js +8 -2
  58. package/dist/esm/analytics/Releva/useReleva.js.map +1 -1
  59. package/dist/esm/cms/api/queries/index.js +2 -0
  60. package/dist/esm/cms/api/queries/index.js.map +1 -1
  61. package/dist/esm/cms/api/queries/keys.js +5 -0
  62. package/dist/esm/cms/api/queries/keys.js.map +1 -1
  63. package/dist/esm/cms/api/queries/useCMSContentListQuery.js +31 -0
  64. package/dist/esm/cms/api/queries/useCMSContentListQuery.js.map +1 -0
  65. package/dist/esm/cms/api/queries/useCMSContentQuery.js +17 -0
  66. package/dist/esm/cms/api/queries/useCMSContentQuery.js.map +1 -0
  67. package/dist/esm/cms/hooks/index.js +3 -0
  68. package/dist/esm/cms/hooks/index.js.map +1 -1
  69. package/dist/esm/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
  70. package/dist/esm/cms/hooks/useCmsContent.js.map +1 -0
  71. package/dist/esm/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
  72. package/dist/esm/cms/hooks/useCmsContentList.js.map +1 -0
  73. package/dist/esm/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
  74. package/dist/esm/cms/hooks/useContentCategoriesMap.js.map +1 -0
  75. package/dist/esm/cms/ssr/fetchPagePaths.js.map +1 -1
  76. package/dist/esm/cms/ssr/index.js +2 -0
  77. package/dist/esm/cms/ssr/index.js.map +1 -1
  78. package/dist/esm/cms/ssr/prefetchCmsContent.js +30 -0
  79. package/dist/esm/cms/ssr/prefetchCmsContent.js.map +1 -0
  80. package/dist/esm/cms/ssr/prefetchCmsContentList.js +32 -0
  81. package/dist/esm/cms/ssr/prefetchCmsContentList.js.map +1 -0
  82. package/dist/esm/cms/utils/getCMSContentListFilter.js +9 -0
  83. package/dist/esm/cms/utils/getCMSContentListFilter.js.map +1 -0
  84. package/dist/esm/cms/utils/index.js +1 -0
  85. package/dist/esm/cms/utils/index.js.map +1 -1
  86. package/dist/esm/components/OverflowEllipsis/index.js +2 -2
  87. package/dist/esm/components/OverflowEllipsis/index.js.map +1 -1
  88. package/dist/esm/config/SentecaProvider.js.map +1 -1
  89. package/dist/esm/hooks/useAggregateResult/index.js +0 -2
  90. package/dist/esm/hooks/useAggregateResult/index.js.map +1 -1
  91. package/dist/esm/index.js +0 -2
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/seo/api/ssr/getCanonicalUrl.js +18 -0
  94. package/dist/esm/seo/api/ssr/getCanonicalUrl.js.map +1 -0
  95. package/dist/esm/seo/api/ssr/index.js +1 -0
  96. package/dist/esm/seo/api/ssr/index.js.map +1 -1
  97. package/dist/esm/user/api/index.js +1 -0
  98. package/dist/esm/user/api/index.js.map +1 -1
  99. package/dist/esm/user/api/utils/generateAnonymousToken.js +23 -0
  100. package/dist/esm/user/api/utils/generateAnonymousToken.js.map +1 -0
  101. package/dist/esm/user/api/utils/index.js +1 -0
  102. package/dist/esm/user/api/utils/index.js.map +1 -1
  103. package/dist/esm/user/index.js +1 -0
  104. package/dist/esm/user/index.js.map +1 -1
  105. package/dist/types/analytics/Releva/api/query/useRelevaQuery.d.ts +1 -1
  106. package/dist/types/analytics/Releva/hooks/useRelevaData.d.ts +1 -1
  107. package/dist/types/cms/api/queries/index.d.ts +2 -0
  108. package/dist/types/cms/api/queries/keys.d.ts +5 -1
  109. package/dist/types/cms/api/queries/useCMSContentListQuery.d.ts +15 -0
  110. package/dist/types/cms/api/queries/useCMSContentQuery.d.ts +1 -0
  111. package/dist/types/cms/hooks/index.d.ts +3 -0
  112. package/dist/types/{hooks/cms-content-hooks/useCmsContent/index.d.ts → cms/hooks/useCmsContent.d.ts} +0 -0
  113. package/dist/types/{hooks/cms-content-hooks/useCmsContentList/index.d.ts → cms/hooks/useCmsContentList.d.ts} +1 -1
  114. package/dist/types/{hooks/cms-content-hooks/useContentCategoriesMap/index.d.ts → cms/hooks/useContentCategoriesMap.d.ts} +0 -0
  115. package/dist/types/cms/ssr/fetchPagePaths.d.ts +1 -1
  116. package/dist/types/cms/ssr/index.d.ts +2 -0
  117. package/dist/types/cms/ssr/prefetchCmsContent.d.ts +5 -0
  118. package/dist/types/cms/ssr/prefetchCmsContentList.d.ts +3 -0
  119. package/dist/types/cms/utils/getCMSContentListFilter.d.ts +1 -0
  120. package/dist/types/cms/utils/index.d.ts +1 -0
  121. package/dist/types/components/OverflowEllipsis/index.d.ts +1 -1
  122. package/dist/types/config/SentecaProvider.d.ts +1 -0
  123. package/dist/types/hooks/useAggregateResult/index.d.ts +2 -2
  124. package/dist/types/index.d.ts +0 -2
  125. package/dist/types/seo/api/ssr/getCanonicalUrl.d.ts +3 -0
  126. package/dist/types/seo/api/ssr/index.d.ts +1 -0
  127. package/dist/types/user/api/index.d.ts +1 -0
  128. package/dist/types/user/api/utils/generateAnonymousToken.d.ts +1 -0
  129. package/dist/types/user/api/utils/index.d.ts +1 -0
  130. package/dist/types/user/index.d.ts +1 -0
  131. package/package.json +3 -3
  132. package/dist/cjs/api/cmsContentApi/index.js +0 -325
  133. package/dist/cjs/api/cmsContentApi/index.js.map +0 -1
  134. package/dist/cjs/hooks/cms-content-hooks/index.js +0 -28
  135. package/dist/cjs/hooks/cms-content-hooks/index.js.map +0 -1
  136. package/dist/cjs/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
  137. package/dist/cjs/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
  138. package/dist/cjs/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
  139. package/dist/esm/api/cmsContentApi/index.js +0 -161
  140. package/dist/esm/api/cmsContentApi/index.js.map +0 -1
  141. package/dist/esm/hooks/cms-content-hooks/index.js +0 -4
  142. package/dist/esm/hooks/cms-content-hooks/index.js.map +0 -1
  143. package/dist/esm/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
  144. package/dist/esm/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
  145. package/dist/esm/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
  146. package/dist/types/api/cmsContentApi/index.d.ts +0 -37
  147. package/dist/types/hooks/cms-content-hooks/index.d.ts +0 -3
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
-
5
- var _useCmsContentList = require("./useCmsContentList");
6
-
7
- Object.keys(_useCmsContentList).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _useCmsContentList[key]) return;
10
- exports[key] = _useCmsContentList[key];
11
- });
12
-
13
- var _useCmsContent = require("./useCmsContent");
14
-
15
- Object.keys(_useCmsContent).forEach(function (key) {
16
- if (key === "default" || key === "__esModule") return;
17
- if (key in exports && exports[key] === _useCmsContent[key]) return;
18
- exports[key] = _useCmsContent[key];
19
- });
20
-
21
- var _useContentCategoriesMap = require("./useContentCategoriesMap");
22
-
23
- Object.keys(_useContentCategoriesMap).forEach(function (key) {
24
- if (key === "default" || key === "__esModule") return;
25
- if (key in exports && exports[key] === _useContentCategoriesMap[key]) return;
26
- exports[key] = _useContentCategoriesMap[key];
27
- });
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/hooks/cms-content-hooks/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 './useCmsContentList'\nexport * from './useCmsContent'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContent/index.ts"],"names":["useCmsContent","data","key","cmsContentApi","useContent","queryData","rest","content","contentData","typeName","tags","id","_id"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAEO,SAASA,aAAT,OAMJ;AAAA,MALDC,IAKC,QALDA,IAKC;AAAA,MAJDC,GAIC,QAJDA,GAIC;;AAAA,8BACoCC,6BAAcC,UAAd,CAAyB;AAAEF,IAAAA,GAAG,EAAHA;AAAF,GAAzB,CADpC;AAAA,MACaG,SADb,yBACOJ,IADP;AAAA,MAC2BK,IAD3B;;AAGD,MAAMC,OAAO,GAAGN,IAAI,IAAII,SAAxB;AAEA,MAAMG,WAAW,GAAG,iCAAqBD,OAArB,oBAAqBA,OAAO,CAAEN,IAA9B,CAApB;AAEA;AACEA,IAAAA,IAAI,EAAEM,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 { cmsContentApi } from '../../../api/cmsContentApi'\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 } = cmsContentApi.useContent({ 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":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContentList/index.ts"],"names":["useCmsContentList","config","enabled","cmsContentApi","useContentList","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;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,MAD+B,EAE/BC,OAF+B,EAG5B;AAAA,MADHA,OACG;AADHA,IAAAA,OACG,GADO,IACP;AAAA;;AAAA,8BACuBC,6BAAcC,cAAd,CAA6BH,MAA7B,EAAqCC,OAArC,CADvB;AAAA,MACKG,IADL,yBACKA,IADL;AAAA,MACcC,IADd;;AAEH,MAAMC,MAAM,GAAG,wBAAf;AAEA,SAAO,oBAAQ,YAAM;AACnB,QAAI,CAACF,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,GAAG,SAAXA,QAAW,CAACC,IAAD,EAAkB;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,gCACAb,MAAM,CAACa,KADP;AAEHJ,UAAAA,IAAI,EAAJA;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,QAAQ,EAARA,QAFI;AAGJK,QAAAA,WAAW,EAAXA,WAHI;AAIJE,QAAAA,QAAQ,EAARA,QAJI;AAKJS,QAAAA,eAAe,EAAEX,WAAW,GAAGL,QAL3B;AAMJiB,QAAAA,eAAe,EAAEZ,WAAW,GAAG;AAN3B;AADR,OASKP,IATL;AAWD,GA1CM,EA0CJ,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,CA1CI,CAAP;AAoDD,CA3DM","sourcesContent":["import { useRouter } from 'next/router'\nimport { useMemo } from 'react'\nimport { cmsContentApi, CmsListConfigType } from '../../../api/cmsContentApi'\n\nexport const useCmsContentList = (\n config: CmsListConfigType,\n enabled = true\n) => {\n const { data, ...rest } = cmsContentApi.useContentList(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":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useContentCategoriesMap/index.ts"],"names":["useContentCategoriesMap","categories","categoriesMap","reduce","map","slug","data"],"mappings":";;;;;;;;;;;AACA;;AADA;AAQO,SAASA,uBAAT,CAAoCC,UAApC,EAAuE;AAC5E,SAAO,oBAAQ,YAAM;AACnB,QAAMC,aAAa,GAAGD,UAAU,CAACE,MAAX,CAAkB,UAACC,GAAD,QAA4B;AAAA;;AAAA,UAApBC,IAAoB,QAApBA,IAAoB;AAAA,UAAXC,IAAW;AAClE,2CACKF,GADL,6BAEGC,IAFH,IAEUC,IAFV;AAID,KALqB,EAKnB,EALmB,CAAtB;AAMA,WAAOJ,aAAP;AACD,GARM,EAQJ,CAACD,UAAD,CARI,CAAP;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":"index.js"}
@@ -1,161 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
-
4
- /* eslint-disable react-hooks/rules-of-hooks */
5
- import { ContentsAPI } from '@sentecacommerce/sdk';
6
- import { useRouter } from 'next/router';
7
- import { useQuery } from 'react-query';
8
- import { getSDKConfig } from '../getSDKConfig';
9
-
10
- var getListFilter = (type, tags) => {
11
- var tagsFilter = tags == null ? void 0 : tags.reduce((filter, tag, index) => {
12
- if (!index && !type) return filter + ("tags;in;\"" + tag + "\"");
13
- return filter + ("&tags;in;\"" + tag + "\"");
14
- }, '');
15
- var typeFilter = type ? "type;in;\"" + type + "\"" : '';
16
- return "" + typeFilter + (tagsFilter || '');
17
- };
18
-
19
- var cacheKeys = {
20
- useContent: key => ['content-api-use-post', key],
21
- useContentList: (page, type, tags, enabled) => ['content-api-use-post-list', page, type, enabled, ...(tags || [])]
22
- };
23
- export var CmsContentApiFactory = function () {
24
- // Instance stores a reference to the Singleton
25
- var instance;
26
-
27
- function initialize() {
28
- // Singleton
29
- // Private methods and variables
30
- var contentsApi = new ContentsAPI(getSDKConfig());
31
- return Object.freeze({
32
- cacheKeys,
33
- useContentList: function useContentList(config, enabled) {
34
- var _router$query;
35
-
36
- if (enabled === void 0) {
37
- enabled = true;
38
- }
39
-
40
- var router = useRouter();
41
- var page = +((router == null ? void 0 : (_router$query = router.query) == null ? void 0 : _router$query.page) || '1');
42
- return useQuery(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/_asyncToGenerator(function* () {
43
- var filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
44
- return yield contentsApi.filter(_extends({}, config || {}, {
45
- filter,
46
- offset: page * config.limit - config.limit
47
- }));
48
- }), {
49
- refetchOnMount: false,
50
- refetchOnWindowFocus: false,
51
- staleTime: 30000,
52
- retry: false,
53
- enabled
54
- });
55
- },
56
- useContent: (_ref2) => {
57
- var {
58
- key
59
- } = _ref2;
60
- return useQuery(cacheKeys.useContent(key), /*#__PURE__*/_asyncToGenerator(function* () {
61
- if (!key) return;
62
- return yield contentsApi.getByKey(key);
63
- }), {
64
- refetchOnMount: false,
65
- refetchOnWindowFocus: false,
66
- staleTime: 30000,
67
- enabled: Boolean(key),
68
- retry: false
69
- });
70
- },
71
- prefetchContent: function () {
72
- var _prefetchContent = _asyncToGenerator(function* (_ref4) {
73
- var {
74
- key,
75
- queryCache
76
- } = _ref4;
77
- var isFound = true;
78
- yield queryCache.prefetchQuery(cacheKeys.useContent(key), /*#__PURE__*/_asyncToGenerator(function* () {
79
- var data = yield contentsApi.getByKey(key).catch(() => null);
80
-
81
- if (!data) {
82
- isFound = false;
83
- return null;
84
- }
85
-
86
- return data;
87
- }), {
88
- staleTime: 30000
89
- });
90
- return isFound;
91
- });
92
-
93
- function prefetchContent(_x) {
94
- return _prefetchContent.apply(this, arguments);
95
- }
96
-
97
- return prefetchContent;
98
- }(),
99
- prefetchContentList: function () {
100
- var _prefetchContentList = _asyncToGenerator(function* (queryCache, config, page) {
101
- var filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
102
- var isFound = true;
103
- yield queryCache.prefetchQuery(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/_asyncToGenerator(function* () {
104
- var data = yield contentsApi.filter(_extends({}, config || {}, {
105
- filter,
106
- offset: page * config.limit - config.limit
107
- })).catch(() => null);
108
-
109
- if (!(data != null && data.results.length)) {
110
- isFound = false;
111
- return null;
112
- }
113
-
114
- return data;
115
- }), {
116
- staleTime: 30000
117
- });
118
- return isFound;
119
- });
120
-
121
- function prefetchContentList(_x2, _x3, _x4) {
122
- return _prefetchContentList.apply(this, arguments);
123
- }
124
-
125
- return prefetchContentList;
126
- }()
127
- });
128
- }
129
-
130
- return {
131
- // Get the Singleton instance if one exists
132
- // or create one if it doesn't
133
- getInstance: function getInstance() {
134
- if (!instance) {
135
- instance = initialize();
136
- }
137
-
138
- return instance;
139
- }
140
- };
141
- }();
142
- export var cmsContentApi = CmsContentApiFactory.getInstance();
143
- export var prefetchCmsContent = /*#__PURE__*/function () {
144
- var _ref7 = _asyncToGenerator(function* (data) {
145
- return yield cmsContentApi.prefetchContent(data);
146
- });
147
-
148
- return function prefetchCmsContent(_x5) {
149
- return _ref7.apply(this, arguments);
150
- };
151
- }();
152
- export var prefetchCmsContentList = /*#__PURE__*/function () {
153
- var _ref8 = _asyncToGenerator(function* (queryCache, config, page) {
154
- return yield cmsContentApi.prefetchContentList(queryCache, config, page);
155
- });
156
-
157
- return function prefetchCmsContentList(_x6, _x7, _x8) {
158
- return _ref8.apply(this, arguments);
159
- };
160
- }();
161
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/api/cmsContentApi/index.ts"],"names":["ContentsAPI","useRouter","useQuery","getSDKConfig","getListFilter","type","tags","tagsFilter","reduce","filter","tag","index","typeFilter","cacheKeys","useContent","key","useContentList","page","enabled","CmsContentApiFactory","instance","initialize","contentsApi","Object","freeze","config","router","query","offset","limit","refetchOnMount","refetchOnWindowFocus","staleTime","retry","getByKey","Boolean","prefetchContent","queryCache","isFound","prefetchQuery","data","catch","prefetchContentList","results","length","getInstance","cmsContentApi","prefetchCmsContent","prefetchCmsContentList"],"mappings":"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","sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n CmsContentFilterResultDTO,\n ContentsAPI,\n CmsContentDTO,\n} from '@sentecacommerce/sdk'\nimport { useRouter } from 'next/router'\nimport { useQuery, QueryResult, QueryCache } from 'react-query'\n\nimport { getSDKConfig } from '../getSDKConfig'\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\ntype CmsContentApiType = {\n useContent: ({\n key,\n }: {\n key?: string\n }) => QueryResult<CmsContentDTO | undefined, unknown>\n useContentList: (\n config: CmsListConfigType,\n enabled?: boolean\n ) => QueryResult<CmsContentFilterResultDTO, unknown>\n readonly prefetchContent: ({\n queryCache,\n key,\n }: {\n queryCache: QueryCache\n key: string\n }) => Promise<boolean>\n prefetchContentList: (\n queryCache: QueryCache,\n config: CmsListConfigType,\n page: number\n ) => Promise<boolean>\n}\n\nconst getListFilter = (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\nconst cacheKeys = {\n useContent: (key?: string) => ['content-api-use-post', key],\n useContentList: (\n page: number,\n type?: string,\n tags?: string[],\n enabled?: boolean\n ) => ['content-api-use-post-list', page, type, enabled, ...(tags || [])],\n}\n\nexport const CmsContentApiFactory = (function () {\n // Instance stores a reference to the Singleton\n let instance: CmsContentApiType\n\n function initialize(): Readonly<CmsContentApiType> {\n // Singleton\n\n // Private methods and variables\n const contentsApi = new ContentsAPI(getSDKConfig())\n\n return Object.freeze({\n cacheKeys,\n useContentList: (config, enabled = true) => {\n const router = useRouter()\n\n const page = +((router?.query?.page as string) || '1')\n\n return useQuery(\n cacheKeys.useContentList(page, config?.type, config?.tags),\n async () => {\n const filter = getListFilter(config?.type, config?.tags)\n\n return await contentsApi.filter({\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 useContent: ({ key }) => {\n return useQuery(\n cacheKeys.useContent(key),\n async () => {\n if (!key) return\n\n return await contentsApi.getByKey(key)\n },\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n staleTime: 30000, \n enabled: Boolean(key),\n retry: false,\n }\n )\n },\n prefetchContent: async ({ key, queryCache }) => {\n let isFound = true\n\n await queryCache.prefetchQuery(\n cacheKeys.useContent(key),\n async () => {\n const data = await contentsApi.getByKey(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 prefetchContentList: async (queryCache, config, page: number) => {\n const filter = getListFilter(config?.type, config?.tags)\n let isFound = true\n\n await queryCache.prefetchQuery(\n cacheKeys.useContentList(page, config?.type, config?.tags),\n async () => {\n const data = await contentsApi\n .filter({\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 })\n }\n\n return {\n // Get the Singleton instance if one exists\n // or create one if it doesn't\n getInstance: function () {\n if (!instance) {\n instance = initialize()\n }\n\n return instance\n },\n }\n})()\n\nexport const cmsContentApi = CmsContentApiFactory.getInstance()\n\nexport const prefetchCmsContent = async (data: {\n queryCache: QueryCache\n key: string\n}) => {\n return await cmsContentApi.prefetchContent(data)\n}\n\nexport const prefetchCmsContentList = async (\n queryCache: QueryCache,\n config: CmsListConfigType,\n page: number\n) => {\n return await cmsContentApi.prefetchContentList(queryCache, config, page)\n}\n"],"file":"index.js"}
@@ -1,4 +0,0 @@
1
- export * from './useCmsContentList';
2
- export * from './useCmsContent';
3
- export * from './useContentCategoriesMap';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/hooks/cms-content-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAd;AACA,cAAc,iBAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './useCmsContentList'\nexport * from './useCmsContent'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContent/index.ts"],"names":["cmsContentApi","getTranslatableField","useCmsContent","data","key","useContent","queryData","rest","content","contentData","typeName","tags","id","_id"],"mappings":";;AACA,SAASA,aAAT,QAA8B,4BAA9B;AACA,SAASC,oBAAT,QAAqC,gBAArC;AAEA,OAAO,SAASC,aAAT,OAMJ;AAAA,MAN8B;AAC/BC,IAAAA,IAD+B;AAE/BC,IAAAA;AAF+B,GAM9B;;AACD,8BAAqCJ,aAAa,CAACK,UAAd,CAAyB;AAAED,IAAAA;AAAF,GAAzB,CAArC;AAAA,MAAM;AAAED,IAAAA,IAAI,EAAEG;AAAR,GAAN;AAAA,MAA4BC,IAA5B;;AAEA,MAAMC,OAAO,GAAGL,IAAI,IAAIG,SAAxB;AAEA,MAAMG,WAAW,GAAGR,oBAAoB,CAACO,OAAD,oBAACA,OAAO,CAAEL,IAAV,CAAxC;AAEA;AACEA,IAAAA,IAAI,EAAEK,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 { cmsContentApi } from '../../../api/cmsContentApi'\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 } = cmsContentApi.useContent({ 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":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useCmsContentList/index.ts"],"names":["useRouter","useMemo","cmsContentApi","useCmsContentList","config","enabled","useContentList","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,aAAT,QAAiD,4BAAjD;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,aAAa,CAACI,cAAd,CAA6BF,MAA7B,EAAqCC,OAArC,CAA1B;AAAA,MAAM;AAAEE,IAAAA;AAAF,GAAN;AAAA,MAAiBC,IAAjB;;AACA,MAAMC,MAAM,GAAGT,SAAS,EAAxB;AAEA,SAAOC,OAAO,CAAC,MAAM;AACnB,QAAI,CAACM,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 { cmsContentApi, CmsListConfigType } from '../../../api/cmsContentApi'\n\nexport const useCmsContentList = (\n config: CmsListConfigType,\n enabled = true\n) => {\n const { data, ...rest } = cmsContentApi.useContentList(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":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/hooks/cms-content-hooks/useContentCategoriesMap/index.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":"index.js"}
@@ -1,37 +0,0 @@
1
- import { CmsContentFilterResultDTO, CmsContentDTO } from '@sentecacommerce/sdk';
2
- import { QueryResult, QueryCache } from 'react-query';
3
- export declare type CmsListConfigType = {
4
- storeKey?: string;
5
- currencyCode?: string;
6
- languageCode?: string;
7
- priceListKey?: string;
8
- time?: number;
9
- merchantKey?: string;
10
- expand?: string;
11
- project?: string;
12
- sort?: string;
13
- limit: number;
14
- tags?: string[];
15
- type?: string;
16
- };
17
- declare type CmsContentApiType = {
18
- useContent: ({ key, }: {
19
- key?: string;
20
- }) => QueryResult<CmsContentDTO | undefined, unknown>;
21
- useContentList: (config: CmsListConfigType, enabled?: boolean) => QueryResult<CmsContentFilterResultDTO, unknown>;
22
- readonly prefetchContent: ({ queryCache, key, }: {
23
- queryCache: QueryCache;
24
- key: string;
25
- }) => Promise<boolean>;
26
- prefetchContentList: (queryCache: QueryCache, config: CmsListConfigType, page: number) => Promise<boolean>;
27
- };
28
- export declare const CmsContentApiFactory: {
29
- getInstance: () => CmsContentApiType;
30
- };
31
- export declare const cmsContentApi: CmsContentApiType;
32
- export declare const prefetchCmsContent: (data: {
33
- queryCache: QueryCache;
34
- key: string;
35
- }) => Promise<boolean>;
36
- export declare const prefetchCmsContentList: (queryCache: QueryCache, config: CmsListConfigType, page: number) => Promise<boolean>;
37
- export {};
@@ -1,3 +0,0 @@
1
- export * from './useCmsContentList';
2
- export * from './useCmsContent';
3
- export * from './useContentCategoriesMap';