@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.
- package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js +4 -2
- package/dist/cjs/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
- package/dist/cjs/analytics/Releva/hooks/useRelevaData.js +2 -2
- package/dist/cjs/analytics/Releva/hooks/useRelevaData.js.map +1 -1
- package/dist/cjs/analytics/Releva/useReleva.js +8 -1
- package/dist/cjs/analytics/Releva/useReleva.js.map +1 -1
- package/dist/cjs/cms/api/queries/index.js +16 -0
- package/dist/cjs/cms/api/queries/index.js.map +1 -1
- package/dist/cjs/cms/api/queries/keys.js +15 -1
- package/dist/cjs/cms/api/queries/keys.js.map +1 -1
- package/dist/cjs/cms/api/queries/useCMSContentListQuery.js +64 -0
- package/dist/cjs/cms/api/queries/useCMSContentListQuery.js.map +1 -0
- package/dist/cjs/cms/api/queries/useCMSContentQuery.js +54 -0
- package/dist/cjs/cms/api/queries/useCMSContentQuery.js.map +1 -0
- package/dist/cjs/cms/hooks/index.js +24 -0
- package/dist/cjs/cms/hooks/index.js.map +1 -1
- package/dist/cjs/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
- package/dist/cjs/cms/hooks/useCmsContent.js.map +1 -0
- package/dist/cjs/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
- package/dist/cjs/cms/hooks/useCmsContentList.js.map +1 -0
- package/dist/cjs/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
- package/dist/cjs/cms/hooks/useContentCategoriesMap.js.map +1 -0
- package/dist/cjs/cms/ssr/fetchPagePaths.js.map +1 -1
- package/dist/cjs/cms/ssr/index.js +16 -0
- package/dist/cjs/cms/ssr/index.js.map +1 -1
- package/dist/cjs/cms/ssr/prefetchCmsContent.js +78 -0
- package/dist/cjs/cms/ssr/prefetchCmsContent.js.map +1 -0
- package/dist/cjs/cms/ssr/prefetchCmsContentList.js +85 -0
- package/dist/cjs/cms/ssr/prefetchCmsContentList.js.map +1 -0
- package/dist/cjs/cms/utils/getCMSContentListFilter.js +16 -0
- package/dist/cjs/cms/utils/getCMSContentListFilter.js.map +1 -0
- package/dist/cjs/cms/utils/index.js +8 -0
- package/dist/cjs/cms/utils/index.js.map +1 -1
- package/dist/cjs/components/OverflowEllipsis/index.js +2 -2
- package/dist/cjs/components/OverflowEllipsis/index.js.map +1 -1
- package/dist/cjs/config/SentecaProvider.js.map +1 -1
- package/dist/cjs/hooks/useAggregateResult/index.js +0 -4
- package/dist/cjs/hooks/useAggregateResult/index.js.map +1 -1
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/seo/api/ssr/getCanonicalUrl.js +27 -0
- package/dist/cjs/seo/api/ssr/getCanonicalUrl.js.map +1 -0
- package/dist/cjs/seo/api/ssr/index.js +8 -0
- package/dist/cjs/seo/api/ssr/index.js.map +1 -1
- package/dist/cjs/user/api/index.js +8 -0
- package/dist/cjs/user/api/index.js.map +1 -1
- package/dist/cjs/user/api/utils/generateAnonymousToken.js +48 -0
- package/dist/cjs/user/api/utils/generateAnonymousToken.js.map +1 -0
- package/dist/cjs/user/api/utils/index.js +8 -0
- package/dist/cjs/user/api/utils/index.js.map +1 -1
- package/dist/cjs/user/index.js +8 -0
- package/dist/cjs/user/index.js.map +1 -1
- package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js +4 -2
- package/dist/esm/analytics/Releva/api/query/useRelevaQuery.js.map +1 -1
- package/dist/esm/analytics/Releva/hooks/useRelevaData.js +2 -2
- package/dist/esm/analytics/Releva/hooks/useRelevaData.js.map +1 -1
- package/dist/esm/analytics/Releva/useReleva.js +8 -2
- package/dist/esm/analytics/Releva/useReleva.js.map +1 -1
- package/dist/esm/cms/api/queries/index.js +2 -0
- package/dist/esm/cms/api/queries/index.js.map +1 -1
- package/dist/esm/cms/api/queries/keys.js +5 -0
- package/dist/esm/cms/api/queries/keys.js.map +1 -1
- package/dist/esm/cms/api/queries/useCMSContentListQuery.js +31 -0
- package/dist/esm/cms/api/queries/useCMSContentListQuery.js.map +1 -0
- package/dist/esm/cms/api/queries/useCMSContentQuery.js +17 -0
- package/dist/esm/cms/api/queries/useCMSContentQuery.js.map +1 -0
- package/dist/esm/cms/hooks/index.js +3 -0
- package/dist/esm/cms/hooks/index.js.map +1 -1
- package/dist/esm/{hooks/cms-content-hooks/useCmsContent/index.js → cms/hooks/useCmsContent.js} +6 -8
- package/dist/esm/cms/hooks/useCmsContent.js.map +1 -0
- package/dist/esm/{hooks/cms-content-hooks/useCmsContentList/index.js → cms/hooks/useCmsContentList.js} +5 -5
- package/dist/esm/cms/hooks/useCmsContentList.js.map +1 -0
- package/dist/esm/{hooks/cms-content-hooks/useContentCategoriesMap/index.js → cms/hooks/useContentCategoriesMap.js} +1 -1
- package/dist/esm/cms/hooks/useContentCategoriesMap.js.map +1 -0
- package/dist/esm/cms/ssr/fetchPagePaths.js.map +1 -1
- package/dist/esm/cms/ssr/index.js +2 -0
- package/dist/esm/cms/ssr/index.js.map +1 -1
- package/dist/esm/cms/ssr/prefetchCmsContent.js +30 -0
- package/dist/esm/cms/ssr/prefetchCmsContent.js.map +1 -0
- package/dist/esm/cms/ssr/prefetchCmsContentList.js +32 -0
- package/dist/esm/cms/ssr/prefetchCmsContentList.js.map +1 -0
- package/dist/esm/cms/utils/getCMSContentListFilter.js +9 -0
- package/dist/esm/cms/utils/getCMSContentListFilter.js.map +1 -0
- package/dist/esm/cms/utils/index.js +1 -0
- package/dist/esm/cms/utils/index.js.map +1 -1
- package/dist/esm/components/OverflowEllipsis/index.js +2 -2
- package/dist/esm/components/OverflowEllipsis/index.js.map +1 -1
- package/dist/esm/config/SentecaProvider.js.map +1 -1
- package/dist/esm/hooks/useAggregateResult/index.js +0 -2
- package/dist/esm/hooks/useAggregateResult/index.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/seo/api/ssr/getCanonicalUrl.js +18 -0
- package/dist/esm/seo/api/ssr/getCanonicalUrl.js.map +1 -0
- package/dist/esm/seo/api/ssr/index.js +1 -0
- package/dist/esm/seo/api/ssr/index.js.map +1 -1
- package/dist/esm/user/api/index.js +1 -0
- package/dist/esm/user/api/index.js.map +1 -1
- package/dist/esm/user/api/utils/generateAnonymousToken.js +23 -0
- package/dist/esm/user/api/utils/generateAnonymousToken.js.map +1 -0
- package/dist/esm/user/api/utils/index.js +1 -0
- package/dist/esm/user/api/utils/index.js.map +1 -1
- package/dist/esm/user/index.js +1 -0
- package/dist/esm/user/index.js.map +1 -1
- package/dist/types/analytics/Releva/api/query/useRelevaQuery.d.ts +1 -1
- package/dist/types/analytics/Releva/hooks/useRelevaData.d.ts +1 -1
- package/dist/types/cms/api/queries/index.d.ts +2 -0
- package/dist/types/cms/api/queries/keys.d.ts +5 -1
- package/dist/types/cms/api/queries/useCMSContentListQuery.d.ts +15 -0
- package/dist/types/cms/api/queries/useCMSContentQuery.d.ts +1 -0
- package/dist/types/cms/hooks/index.d.ts +3 -0
- package/dist/types/{hooks/cms-content-hooks/useCmsContent/index.d.ts → cms/hooks/useCmsContent.d.ts} +0 -0
- package/dist/types/{hooks/cms-content-hooks/useCmsContentList/index.d.ts → cms/hooks/useCmsContentList.d.ts} +1 -1
- package/dist/types/{hooks/cms-content-hooks/useContentCategoriesMap/index.d.ts → cms/hooks/useContentCategoriesMap.d.ts} +0 -0
- package/dist/types/cms/ssr/fetchPagePaths.d.ts +1 -1
- package/dist/types/cms/ssr/index.d.ts +2 -0
- package/dist/types/cms/ssr/prefetchCmsContent.d.ts +5 -0
- package/dist/types/cms/ssr/prefetchCmsContentList.d.ts +3 -0
- package/dist/types/cms/utils/getCMSContentListFilter.d.ts +1 -0
- package/dist/types/cms/utils/index.d.ts +1 -0
- package/dist/types/components/OverflowEllipsis/index.d.ts +1 -1
- package/dist/types/config/SentecaProvider.d.ts +1 -0
- package/dist/types/hooks/useAggregateResult/index.d.ts +2 -2
- package/dist/types/index.d.ts +0 -2
- package/dist/types/seo/api/ssr/getCanonicalUrl.d.ts +3 -0
- package/dist/types/seo/api/ssr/index.d.ts +1 -0
- package/dist/types/user/api/index.d.ts +1 -0
- package/dist/types/user/api/utils/generateAnonymousToken.d.ts +1 -0
- package/dist/types/user/api/utils/index.d.ts +1 -0
- package/dist/types/user/index.d.ts +1 -0
- package/package.json +3 -3
- package/dist/cjs/api/cmsContentApi/index.js +0 -325
- package/dist/cjs/api/cmsContentApi/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/index.js +0 -28
- package/dist/cjs/hooks/cms-content-hooks/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
- package/dist/cjs/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
- package/dist/esm/api/cmsContentApi/index.js +0 -161
- package/dist/esm/api/cmsContentApi/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/index.js +0 -4
- package/dist/esm/hooks/cms-content-hooks/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useCmsContent/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useCmsContentList/index.js.map +0 -1
- package/dist/esm/hooks/cms-content-hooks/useContentCategoriesMap/index.js.map +0 -1
- package/dist/types/api/cmsContentApi/index.d.ts +0 -37
- 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 +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 {};
|