@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,3 +1,4 @@
1
1
  export * from './fetchSitemaps';
2
2
  export * from './fetchRedirectByFrom';
3
+ export * from './getCanonicalUrl';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/seo/api/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAd;AACA,cAAc,uBAAd","sourcesContent":["export * from './fetchSitemaps'\nexport * from './fetchRedirectByFrom'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/seo/api/ssr/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAd;AACA,cAAc,uBAAd;AACA,cAAc,mBAAd","sourcesContent":["export * from './fetchSitemaps'\nexport * from './fetchRedirectByFrom'\nexport * from './getCanonicalUrl'"],"file":"index.js"}
@@ -1,3 +1,4 @@
1
1
  export * from './mutations';
2
2
  export * from './queries';
3
+ export * from './utils';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/user/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,WAAd","sourcesContent":["export * from './mutations'\nexport * from './queries'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/user/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,WAAd;AACA,cAAc,SAAd","sourcesContent":["export * from './mutations'\nexport * from './queries'\nexport * from './utils'\n"],"file":"index.js"}
@@ -0,0 +1,23 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { AuthCreateAnonymousToken, TokenRequestDTOGrantTypeEnum, HttpClient } from '@sentecacommerce/sdk';
3
+ import { generateGuid, prefetchSDKConfig } from '../../../';
4
+ export var generateAnonymousToken = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(function* (interfaceKey, store) {
6
+ if (!HttpClient.defaultConfig) {
7
+ prefetchSDKConfig({
8
+ interfaceKey: interfaceKey || process.env.INTERFACE_KEY,
9
+ storeKey: store || process.env.STORE
10
+ });
11
+ }
12
+
13
+ return AuthCreateAnonymousToken({}, {
14
+ grantType: TokenRequestDTOGrantTypeEnum.Implicit,
15
+ anonymousId: generateGuid()
16
+ });
17
+ });
18
+
19
+ return function generateAnonymousToken(_x, _x2) {
20
+ return _ref.apply(this, arguments);
21
+ };
22
+ }();
23
+ //# sourceMappingURL=generateAnonymousToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/user/api/utils/generateAnonymousToken.ts"],"names":["AuthCreateAnonymousToken","TokenRequestDTOGrantTypeEnum","HttpClient","generateGuid","prefetchSDKConfig","generateAnonymousToken","interfaceKey","store","defaultConfig","process","env","INTERFACE_KEY","storeKey","STORE","grantType","Implicit","anonymousId"],"mappings":";AAAA,SACEA,wBADF,EAEEC,4BAFF,EAGEC,UAHF,QAIO,sBAJP;AAKA,SAASC,YAAT,EAAuBC,iBAAvB,QAAgD,WAAhD;AAEA,OAAO,IAAMC,sBAAsB;AAAA,+BAAG,WACpCC,YADoC,EAEpCC,KAFoC,EAGjC;AACH,QAAI,CAACL,UAAU,CAACM,aAAhB,EAA+B;AAC7BJ,MAAAA,iBAAiB,CAAC;AAChBE,QAAAA,YAAY,EAAEA,YAAY,IAAKG,OAAO,CAACC,GAAR,CAAYC,aAD3B;AAEhBC,QAAAA,QAAQ,EAAEL,KAAK,IAAKE,OAAO,CAACC,GAAR,CAAYG;AAFhB,OAAD,CAAjB;AAID;;AAED,WAAOb,wBAAwB,CAC7B,EAD6B,EAE7B;AACEc,MAAAA,SAAS,EAAEb,4BAA4B,CAACc,QAD1C;AAEEC,MAAAA,WAAW,EAAEb,YAAY;AAF3B,KAF6B,CAA/B;AAOD,GAlBkC;;AAAA,kBAAtBE,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 interfaceKey?: string,\n store?: string\n) => {\n if (!HttpClient.defaultConfig) {\n prefetchSDKConfig({\n interfaceKey: interfaceKey || (process.env.INTERFACE_KEY as string),\n storeKey: store || (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"}
@@ -1,4 +1,5 @@
1
1
  export * from './processLogin';
2
2
  export * from './processLoginPayload';
3
3
  export * from './invalidateQueries';
4
+ export * from './generateAnonymousToken';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/user/api/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAd;AACA,cAAc,uBAAd;AACA,cAAc,qBAAd","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,cAAc,gBAAd;AACA,cAAc,uBAAd;AACA,cAAc,qBAAd;AACA,cAAc,0BAAd","sourcesContent":["export * from './processLogin'\nexport * from './processLoginPayload'\nexport * from './invalidateQueries'\nexport * from './generateAnonymousToken'\n"],"file":"index.js"}
@@ -1,3 +1,4 @@
1
1
  export * from './hooks';
2
2
  export * from './types';
3
+ export * from './api/utils';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,SAAd","sourcesContent":["export * from './hooks'\nexport * from './types'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/user/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,aAAd","sourcesContent":["export * from './hooks'\nexport * from './types'\nexport * from './api/utils'\n"],"file":"index.js"}
@@ -1,2 +1,2 @@
1
1
  import { PayloadDTO } from '../../types';
2
- export declare const useRelevaQuery: (payload?: PayloadDTO | undefined, isReady?: boolean | undefined) => import("react-query").QueryResult<any, unknown>;
2
+ export declare const useRelevaQuery: (payload?: PayloadDTO | undefined, isReady?: boolean | undefined, token?: string | undefined, interfaceKey?: string | undefined) => import("react-query").QueryResult<any, unknown>;
@@ -1,5 +1,5 @@
1
1
  import { RecommendersType, BannerType, PayloadDTO, PixelType } from '../types';
2
- export declare const useRelevaData: (payload?: PayloadDTO | undefined, isReady?: boolean | undefined) => {
2
+ export declare const useRelevaData: (payload?: PayloadDTO | undefined, isReady?: boolean | undefined, token?: string | undefined, interfaceKey?: string | undefined) => {
3
3
  recommenders: RecommendersType[];
4
4
  banners: BannerType[];
5
5
  pixelData: PixelType;
@@ -1,2 +1,4 @@
1
1
  export * from './useInjectedContentQuery';
2
2
  export * from './keys';
3
+ export * from './useCMSContentListQuery';
4
+ export * from './useCMSContentQuery';
@@ -1,3 +1,7 @@
1
1
  export declare enum cmsQueriesEnum {
2
- useInjectedContentQueryKey = "injected-content"
2
+ useInjectedContentQueryKey = "injected-content",
3
+ useContent = "cms-content",
4
+ useContentList = "cms-content-list"
3
5
  }
6
+ export declare const getContentKey: (key?: string | undefined) => string;
7
+ export declare const getContentListKey: (page: number, type?: string | undefined, tags?: string[] | undefined, enabled?: boolean | undefined) => (string | number | boolean | undefined)[];
@@ -0,0 +1,15 @@
1
+ export declare type CmsListConfigType = {
2
+ storeKey?: string;
3
+ currencyCode?: string;
4
+ languageCode?: string;
5
+ priceListKey?: string;
6
+ time?: number;
7
+ merchantKey?: string;
8
+ expand?: string;
9
+ project?: string;
10
+ sort?: string;
11
+ limit: number;
12
+ tags?: string[];
13
+ type?: string;
14
+ };
15
+ export declare const useCMSContentListQuery: (config: CmsListConfigType, enabled?: boolean) => import("react-query").QueryResult<import("@sentecacommerce/sdk").CmsContentFilterResultDTO, unknown>;
@@ -0,0 +1 @@
1
+ export declare const useCMSContentQuery: (key?: string | undefined) => import("react-query").QueryResult<import("@sentecacommerce/sdk").CmsContentDTO | undefined, unknown>;
@@ -1,3 +1,6 @@
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';
@@ -1,4 +1,4 @@
1
- import { CmsListConfigType } from '../../../api/cmsContentApi';
1
+ import { CmsListConfigType } from '../api';
2
2
  export declare const useCmsContentList: (config: CmsListConfigType, enabled?: boolean) => {
3
3
  canFetchMore: boolean | undefined;
4
4
  clear: () => void;
@@ -1,3 +1,3 @@
1
1
  export declare function fetchPagePaths(themeKey: string, version: string, exceptions?: {
2
2
  [key: string]: true;
3
- }, excludePagesWithoutSlash?: boolean, excludeSlugPath?: boolean): Promise<any[]>;
3
+ }, excludePagesWithoutSlash?: boolean, excludeSlugPath?: boolean): Promise<string[]>;
@@ -1,3 +1,5 @@
1
1
  export * from './prefetchInjectedContent';
2
2
  export * from './prefetchCMSPage';
3
3
  export * from './fetchPagePaths';
4
+ export * from './prefetchCmsContentList';
5
+ export * from './prefetchCmsContent';
@@ -0,0 +1,5 @@
1
+ import type { QueryCache } from 'react-query';
2
+ export declare const prefetchCmsContent: ({ queryCache, key, }: {
3
+ queryCache: QueryCache;
4
+ key: string;
5
+ }) => Promise<boolean>;
@@ -0,0 +1,3 @@
1
+ import { CmsListConfigType } from '../api';
2
+ import type { QueryCache } from 'react-query';
3
+ export declare const prefetchCmsContentList: (queryCache: QueryCache, config: CmsListConfigType, page: number) => Promise<boolean>;
@@ -0,0 +1 @@
1
+ export declare const getCMSContentListFilter: (type?: string | undefined, tags?: string[] | undefined) => string;
@@ -1 +1,2 @@
1
1
  export * from './getFirstNodeByComponentName';
2
+ export * from './getCMSContentListFilter';
@@ -3,5 +3,5 @@
3
3
  */
4
4
  export declare const OverflowEllipsis: import("styled-components").StyledComponent<"span", any, {
5
5
  lines: number;
6
- lineHeight: number;
6
+ lineHeight?: number | undefined;
7
7
  }, never>;
@@ -11,6 +11,7 @@ export interface LocaleData {
11
11
  interfaceKey: string;
12
12
  storeKey: string;
13
13
  locale: string;
14
+ domain: string;
14
15
  theme: {
15
16
  themeKey: string;
16
17
  themeVersion: string;
@@ -1,8 +1,8 @@
1
- import { TermAggregationResult, StatAggregationResult, RangeAggregationResult } from '@sentecacommerce/sdk';
1
+ import type { TermAggregationResult, StatAggregationResult, RangeAggregationResult } from '@sentecacommerce/sdk';
2
2
  import { FiltersQuery } from '../../listing/types';
3
3
  export declare type AggregationTypes = 'ranges' | 'terms' | 'stats';
4
4
  declare type AggregationDTO = TermAggregationResult | StatAggregationResult | RangeAggregationResult;
5
- export { TermAggregationResult };
5
+ export type { TermAggregationResult };
6
6
  export declare type FormattedAggregationResultType = {
7
7
  onClick: () => void;
8
8
  selected: boolean;
@@ -18,7 +18,6 @@ export * from './api/myShippingsSpeedyApi';
18
18
  export * from './api/myOrdersApi';
19
19
  export * from './api/myShippingsEcontApi';
20
20
  export * from './api/myShippingsEvropatApi';
21
- export * from './api/cmsContentApi';
22
21
  export * from './api/citiesApi';
23
22
  export * from './api/searchHistoryApi';
24
23
  export * from './api/walletApi';
@@ -46,7 +45,6 @@ export * from './hooks/wishlist-hooks/useWishlist';
46
45
  export * from './hooks/useCheckoutSummary';
47
46
  export * from './hooks/usePrice';
48
47
  export * from './hooks/wishlist-hooks';
49
- export * from './hooks/cms-content-hooks';
50
48
  export * from './hooks/labels';
51
49
  export * from './hooks/checkout-hooks';
52
50
  export * from './hooks/basket-hooks/useBasketTotalCount';
@@ -0,0 +1,3 @@
1
+ import { GetServerSidePropsContext } from 'next';
2
+ import { LocaleData } from '../../..';
3
+ export declare const getCanonicalUrl: (context: GetServerSidePropsContext, localeData: LocaleData, redirectTo?: string | undefined) => string | undefined;
@@ -1,2 +1,3 @@
1
1
  export * from './fetchSitemaps';
2
2
  export * from './fetchRedirectByFrom';
3
+ export * from './getCanonicalUrl';
@@ -1,2 +1,3 @@
1
1
  export * from './mutations';
2
2
  export * from './queries';
3
+ export * from './utils';
@@ -0,0 +1 @@
1
+ export declare const generateAnonymousToken: (interfaceKey?: string | undefined, store?: string | undefined) => Promise<import("@sentecacommerce/sdk").TokenResponseDTO>;
@@ -1,3 +1,4 @@
1
1
  export * from './processLogin';
2
2
  export * from './processLoginPayload';
3
3
  export * from './invalidateQueries';
4
+ export * from './generateAnonymousToken';
@@ -1,2 +1,3 @@
1
1
  export * from './hooks';
2
2
  export * from './types';
3
+ export * from './api/utils';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.12.25",
4
+ "version": "0.12.29",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -28,9 +28,9 @@
28
28
  "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
29
29
  "dev": "yarn build:esm --watch"
30
30
  },
31
- "gitHead": "b9166fefa22660c655c8771037f49557ca9005d1",
31
+ "gitHead": "9ddb284b65983b8cd58cf6ecb58651fbebed22fc",
32
32
  "dependencies": {
33
- "@sentecacommerce-theme/base": "^0.12.25",
33
+ "@sentecacommerce-theme/base": "^0.12.29",
34
34
  "@sentecacommerce/sdk": "^2.0.104",
35
35
  "body-scroll-lock": "^3.1.5",
36
36
  "copy-to-clipboard": "^3.3.1",
@@ -1,325 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.prefetchCmsContentList = exports.prefetchCmsContent = exports.cmsContentApi = exports.CmsContentApiFactory = void 0;
7
-
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _sdk = require("@sentecacommerce/sdk");
15
-
16
- var _router = require("next/router");
17
-
18
- var _reactQuery = require("react-query");
19
-
20
- var _getSDKConfig = require("../getSDKConfig");
21
-
22
- /* eslint-disable react-hooks/rules-of-hooks */
23
- var getListFilter = function getListFilter(type, tags) {
24
- var tagsFilter = tags == null ? void 0 : tags.reduce(function (filter, tag, index) {
25
- if (!index && !type) return filter + ("tags;in;\"" + tag + "\"");
26
- return filter + ("&tags;in;\"" + tag + "\"");
27
- }, '');
28
- var typeFilter = type ? "type;in;\"" + type + "\"" : '';
29
- return "" + typeFilter + (tagsFilter || '');
30
- };
31
-
32
- var cacheKeys = {
33
- useContent: function useContent(key) {
34
- return ['content-api-use-post', key];
35
- },
36
- useContentList: function useContentList(page, type, tags, enabled) {
37
- return ['content-api-use-post-list', page, type, enabled].concat(tags || []);
38
- }
39
- };
40
-
41
- var CmsContentApiFactory = function () {
42
- // Instance stores a reference to the Singleton
43
- var instance;
44
-
45
- function initialize() {
46
- // Singleton
47
- // Private methods and variables
48
- var contentsApi = new _sdk.ContentsAPI((0, _getSDKConfig.getSDKConfig)());
49
- return Object.freeze({
50
- cacheKeys: cacheKeys,
51
- useContentList: function useContentList(config, enabled) {
52
- var _router$query;
53
-
54
- if (enabled === void 0) {
55
- enabled = true;
56
- }
57
-
58
- var router = (0, _router.useRouter)();
59
- var page = +((router == null ? void 0 : (_router$query = router.query) == null ? void 0 : _router$query.page) || '1');
60
- return (0, _reactQuery.useQuery)(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
61
- var filter;
62
- return _regenerator["default"].wrap(function _callee$(_context) {
63
- while (1) {
64
- switch (_context.prev = _context.next) {
65
- case 0:
66
- filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
67
- _context.next = 3;
68
- return contentsApi.filter((0, _extends2["default"])({}, config || {}, {
69
- filter: filter,
70
- offset: page * config.limit - config.limit
71
- }));
72
-
73
- case 3:
74
- return _context.abrupt("return", _context.sent);
75
-
76
- case 4:
77
- case "end":
78
- return _context.stop();
79
- }
80
- }
81
- }, _callee);
82
- })), {
83
- refetchOnMount: false,
84
- refetchOnWindowFocus: false,
85
- staleTime: 30000,
86
- retry: false,
87
- enabled: enabled
88
- });
89
- },
90
- useContent: function useContent(_ref2) {
91
- var key = _ref2.key;
92
- return (0, _reactQuery.useQuery)(cacheKeys.useContent(key), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
93
- return _regenerator["default"].wrap(function _callee2$(_context2) {
94
- while (1) {
95
- switch (_context2.prev = _context2.next) {
96
- case 0:
97
- if (key) {
98
- _context2.next = 2;
99
- break;
100
- }
101
-
102
- return _context2.abrupt("return");
103
-
104
- case 2:
105
- _context2.next = 4;
106
- return contentsApi.getByKey(key);
107
-
108
- case 4:
109
- return _context2.abrupt("return", _context2.sent);
110
-
111
- case 5:
112
- case "end":
113
- return _context2.stop();
114
- }
115
- }
116
- }, _callee2);
117
- })), {
118
- refetchOnMount: false,
119
- refetchOnWindowFocus: false,
120
- staleTime: 30000,
121
- enabled: Boolean(key),
122
- retry: false
123
- });
124
- },
125
- prefetchContent: function () {
126
- var _prefetchContent = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref4) {
127
- var key, queryCache, isFound;
128
- return _regenerator["default"].wrap(function _callee4$(_context4) {
129
- while (1) {
130
- switch (_context4.prev = _context4.next) {
131
- case 0:
132
- key = _ref4.key, queryCache = _ref4.queryCache;
133
- isFound = true;
134
- _context4.next = 4;
135
- return queryCache.prefetchQuery(cacheKeys.useContent(key), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
136
- var data;
137
- return _regenerator["default"].wrap(function _callee3$(_context3) {
138
- while (1) {
139
- switch (_context3.prev = _context3.next) {
140
- case 0:
141
- _context3.next = 2;
142
- return contentsApi.getByKey(key)["catch"](function () {
143
- return null;
144
- });
145
-
146
- case 2:
147
- data = _context3.sent;
148
-
149
- if (data) {
150
- _context3.next = 6;
151
- break;
152
- }
153
-
154
- isFound = false;
155
- return _context3.abrupt("return", null);
156
-
157
- case 6:
158
- return _context3.abrupt("return", data);
159
-
160
- case 7:
161
- case "end":
162
- return _context3.stop();
163
- }
164
- }
165
- }, _callee3);
166
- })), {
167
- staleTime: 30000
168
- });
169
-
170
- case 4:
171
- return _context4.abrupt("return", isFound);
172
-
173
- case 5:
174
- case "end":
175
- return _context4.stop();
176
- }
177
- }
178
- }, _callee4);
179
- }));
180
-
181
- function prefetchContent(_x) {
182
- return _prefetchContent.apply(this, arguments);
183
- }
184
-
185
- return prefetchContent;
186
- }(),
187
- prefetchContentList: function () {
188
- var _prefetchContentList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(queryCache, config, page) {
189
- var filter, isFound;
190
- return _regenerator["default"].wrap(function _callee6$(_context6) {
191
- while (1) {
192
- switch (_context6.prev = _context6.next) {
193
- case 0:
194
- filter = getListFilter(config == null ? void 0 : config.type, config == null ? void 0 : config.tags);
195
- isFound = true;
196
- _context6.next = 4;
197
- return queryCache.prefetchQuery(cacheKeys.useContentList(page, config == null ? void 0 : config.type, config == null ? void 0 : config.tags), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
198
- var data;
199
- return _regenerator["default"].wrap(function _callee5$(_context5) {
200
- while (1) {
201
- switch (_context5.prev = _context5.next) {
202
- case 0:
203
- _context5.next = 2;
204
- return contentsApi.filter((0, _extends2["default"])({}, config || {}, {
205
- filter: filter,
206
- offset: page * config.limit - config.limit
207
- }))["catch"](function () {
208
- return null;
209
- });
210
-
211
- case 2:
212
- data = _context5.sent;
213
-
214
- if (data != null && data.results.length) {
215
- _context5.next = 6;
216
- break;
217
- }
218
-
219
- isFound = false;
220
- return _context5.abrupt("return", null);
221
-
222
- case 6:
223
- return _context5.abrupt("return", data);
224
-
225
- case 7:
226
- case "end":
227
- return _context5.stop();
228
- }
229
- }
230
- }, _callee5);
231
- })), {
232
- staleTime: 30000
233
- });
234
-
235
- case 4:
236
- return _context6.abrupt("return", isFound);
237
-
238
- case 5:
239
- case "end":
240
- return _context6.stop();
241
- }
242
- }
243
- }, _callee6);
244
- }));
245
-
246
- function prefetchContentList(_x2, _x3, _x4) {
247
- return _prefetchContentList.apply(this, arguments);
248
- }
249
-
250
- return prefetchContentList;
251
- }()
252
- });
253
- }
254
-
255
- return {
256
- // Get the Singleton instance if one exists
257
- // or create one if it doesn't
258
- getInstance: function getInstance() {
259
- if (!instance) {
260
- instance = initialize();
261
- }
262
-
263
- return instance;
264
- }
265
- };
266
- }();
267
-
268
- exports.CmsContentApiFactory = CmsContentApiFactory;
269
- var cmsContentApi = CmsContentApiFactory.getInstance();
270
- exports.cmsContentApi = cmsContentApi;
271
-
272
- var prefetchCmsContent = /*#__PURE__*/function () {
273
- var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(data) {
274
- return _regenerator["default"].wrap(function _callee7$(_context7) {
275
- while (1) {
276
- switch (_context7.prev = _context7.next) {
277
- case 0:
278
- _context7.next = 2;
279
- return cmsContentApi.prefetchContent(data);
280
-
281
- case 2:
282
- return _context7.abrupt("return", _context7.sent);
283
-
284
- case 3:
285
- case "end":
286
- return _context7.stop();
287
- }
288
- }
289
- }, _callee7);
290
- }));
291
-
292
- return function prefetchCmsContent(_x5) {
293
- return _ref7.apply(this, arguments);
294
- };
295
- }();
296
-
297
- exports.prefetchCmsContent = prefetchCmsContent;
298
-
299
- var prefetchCmsContentList = /*#__PURE__*/function () {
300
- var _ref8 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(queryCache, config, page) {
301
- return _regenerator["default"].wrap(function _callee8$(_context8) {
302
- while (1) {
303
- switch (_context8.prev = _context8.next) {
304
- case 0:
305
- _context8.next = 2;
306
- return cmsContentApi.prefetchContentList(queryCache, config, page);
307
-
308
- case 2:
309
- return _context8.abrupt("return", _context8.sent);
310
-
311
- case 3:
312
- case "end":
313
- return _context8.stop();
314
- }
315
- }
316
- }, _callee8);
317
- }));
318
-
319
- return function prefetchCmsContentList(_x6, _x7, _x8) {
320
- return _ref8.apply(this, arguments);
321
- };
322
- }();
323
-
324
- exports.prefetchCmsContentList = prefetchCmsContentList;
325
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/api/cmsContentApi/index.ts"],"names":["getListFilter","type","tags","tagsFilter","reduce","filter","tag","index","typeFilter","cacheKeys","useContent","key","useContentList","page","enabled","CmsContentApiFactory","instance","initialize","contentsApi","ContentsAPI","Object","freeze","config","router","query","offset","limit","refetchOnMount","refetchOnWindowFocus","staleTime","retry","getByKey","Boolean","prefetchContent","queryCache","isFound","prefetchQuery","data","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"}