@sentecacommerce-theme/lib 0.13.5-alpha.7 → 0.13.7-alpha.6

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 (233) hide show
  1. package/dist/cjs/analytics/Pixel/hooks/usePixelProductClick.js +1 -1
  2. package/dist/cjs/analytics/Pixel/hooks/usePixelProductDetails.js +1 -1
  3. package/dist/cjs/analytics/Pixel/hooks/usePixelProductsImpression.js +1 -1
  4. package/dist/cjs/analytics/Pixel/usePixel.js +1 -1
  5. package/dist/cjs/analytics/Releva/useReleva.js +1 -1
  6. package/dist/cjs/analytics/addToCart.js +0 -1
  7. package/dist/cjs/analytics/initiateCheckout.js +0 -1
  8. package/dist/cjs/analytics/viewContent.js +0 -1
  9. package/dist/cjs/api/myCartApi/index.js +2 -1
  10. package/dist/cjs/api.v2/core/checkout/payments/useSetMerchantPaymentMethod.js +1 -1
  11. package/dist/cjs/basket/api/index.js +37 -0
  12. package/dist/cjs/basket/api/mutations/index.js +37 -0
  13. package/dist/cjs/basket/api/mutations/useReplaceBasketMutation.js +58 -0
  14. package/dist/cjs/basket/hooks/index.js +52 -0
  15. package/dist/cjs/basket/hooks/useBasketCrossSaleItems.js +99 -0
  16. package/dist/cjs/basket/hooks/useReplaceBasket.js +10 -0
  17. package/dist/cjs/basket/index.js +37 -0
  18. package/dist/cjs/checkout/api/keys.js +8 -1
  19. package/dist/cjs/checkout/api/queries/index.js +15 -0
  20. package/dist/cjs/checkout/api/queries/useBnpCalculateForCartQuery.js +60 -0
  21. package/dist/cjs/checkout/hooks/index.js +15 -0
  22. package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +120 -0
  23. package/dist/cjs/components/Html/index.js +1 -1
  24. package/dist/cjs/components/Portal/index.js +1 -1
  25. package/dist/cjs/contexts/CheckoutForm/hooks/usePayment/index.js +7 -2
  26. package/dist/cjs/contexts/CheckoutForm/index.js +5 -3
  27. package/dist/cjs/hooks/ui-hooks/useIsDesktop/index.js +2 -2
  28. package/dist/cjs/hooks/useAllSelectedFilters/index.js +3 -3
  29. package/dist/cjs/hooks/useLineItem/index.js +7 -0
  30. package/dist/cjs/hooks/usePrice/index.js +1 -1
  31. package/dist/cjs/hooks/useProduct/index.js +26 -5
  32. package/dist/cjs/hooks/useProduct/utils/index.js +14 -1
  33. package/dist/cjs/hooks/useProgressBar/hooks/useGetSetState.js +1 -24
  34. package/dist/cjs/hooks/useSelectedFilters/index.js +3 -3
  35. package/dist/cjs/hooks/useVouchers/index.js +1 -2
  36. package/dist/cjs/index.js +24 -0
  37. package/dist/cjs/listing/api/queries/useAggregateQuery.js +47 -12
  38. package/dist/cjs/listing/api/queries/useInfiniteListing.js +4 -4
  39. package/dist/cjs/listing/api/queries/useListingQuery.js +37 -22
  40. package/dist/cjs/listing/api/queries/usePredicate.js +4 -4
  41. package/dist/cjs/listing/components/BasicListingSEO.js +1 -1
  42. package/dist/cjs/listing/hooks/useListingAlias.js +2 -4
  43. package/dist/cjs/listing/hooks/useListingBreadcrumbs.js +4 -4
  44. package/dist/cjs/listing/hooks/useListingCategories.js +7 -8
  45. package/dist/cjs/listing/hooks/useListingConfig.js +4 -5
  46. package/dist/cjs/listing/hooks/useListingFilters.js +19 -20
  47. package/dist/cjs/listing/hooks/useListingItems.js +2 -2
  48. package/dist/cjs/listing/hooks/useListingMeta.js +5 -4
  49. package/dist/cjs/listing/hooks/useListingPagination.js +4 -4
  50. package/dist/cjs/listing/hooks/useListingSlug.js +3 -1
  51. package/dist/cjs/listing/hooks/useSlideFilter.js +4 -3
  52. package/dist/cjs/listing/hooks/utils.js +2 -1
  53. package/dist/cjs/listing/ssr/prefetchListing.js +4 -4
  54. package/dist/cjs/listing/types.js +8 -1
  55. package/dist/cjs/listing/utils/buildCategoryQuery.js +16 -12
  56. package/dist/cjs/listing/utils/buildFilterQuery.js +5 -7
  57. package/dist/cjs/listing/utils/getListingAlias.js +5 -6
  58. package/dist/cjs/listing/utils/getListingPageType.js +4 -3
  59. package/dist/cjs/navigation/components/SearchBox/Components/Container/index.js +1 -1
  60. package/dist/cjs/navigation/components/SearchBox/Components/EmptyBox/index.js +19 -18
  61. package/dist/cjs/navigation/components/SearchBox/Components/PopularSearches/index.js +1 -1
  62. package/dist/cjs/navigation/components/SearchBox/Components/Products/Components/ProductCard/index.js +1 -1
  63. package/dist/cjs/navigation/components/SearchBox/Components/Products/index.js +2 -2
  64. package/dist/cjs/navigation/components/SearchBox/Components/RecentSearches/index.js +1 -1
  65. package/dist/cjs/navigation/components/SearchBox/index.js +11 -11
  66. package/dist/cjs/order/api/mutations/index.js +15 -0
  67. package/dist/cjs/order/api/mutations/useUpdateOrderCustomFieldMutation.js +15 -0
  68. package/dist/cjs/order/hooks/index.js +15 -0
  69. package/dist/cjs/order/hooks/useUpdateOrderCustomField.js +9 -0
  70. package/dist/cjs/product/api/keys.js +11 -0
  71. package/dist/cjs/product/api/queries/index.js +37 -0
  72. package/dist/cjs/product/api/queries/useBnpOffersQuery.js +64 -0
  73. package/dist/cjs/product/hooks/index.js +37 -0
  74. package/dist/cjs/product/hooks/useBnpOffers.js +89 -0
  75. package/dist/cjs/product/index.js +15 -0
  76. package/dist/cjs/seo/components/GlobalSEO/index.js +3 -3
  77. package/dist/cjs/user/api/queries/index.js +15 -0
  78. package/dist/cjs/user/api/queries/useGetMyLoyaltyCardQuery.js +21 -0
  79. package/dist/cjs/user/api/utils/getUserToken.js +16 -0
  80. package/dist/cjs/user/api/utils/index.js +12 -0
  81. package/dist/cjs/user/hooks/index.js +24 -0
  82. package/dist/cjs/user/hooks/useGetMyLoyaltyCard.js +9 -0
  83. package/dist/cjs/user/hooks/useGetUserToken.js +15 -0
  84. package/dist/esm/analytics/Pixel/hooks/usePixelProductClick.js +1 -1
  85. package/dist/esm/analytics/Pixel/hooks/usePixelProductDetails.js +1 -1
  86. package/dist/esm/analytics/Pixel/hooks/usePixelProductsImpression.js +1 -1
  87. package/dist/esm/analytics/Pixel/mainScript.js +0 -1
  88. package/dist/esm/analytics/Pixel/usePixel.js +1 -1
  89. package/dist/esm/analytics/Releva/useReleva.js +1 -1
  90. package/dist/esm/analytics/addToCart.js +0 -1
  91. package/dist/esm/analytics/initiateCheckout.js +0 -1
  92. package/dist/esm/analytics/pageView.js +1 -1
  93. package/dist/esm/analytics/viewContent.js +0 -1
  94. package/dist/esm/api/myCartApi/index.js +2 -1
  95. package/dist/esm/api.v2/core/checkout/payments/useSetMerchantPaymentMethod.js +1 -1
  96. package/dist/esm/basket/api/index.js +1 -0
  97. package/dist/esm/basket/api/mutations/index.js +1 -0
  98. package/dist/esm/basket/api/mutations/useReplaceBasketMutation.js +48 -0
  99. package/dist/esm/basket/hooks/index.js +2 -0
  100. package/dist/esm/basket/hooks/useBasketCrossSaleItems.js +67 -0
  101. package/dist/esm/basket/hooks/useReplaceBasket.js +2 -0
  102. package/dist/esm/basket/index.js +1 -0
  103. package/dist/esm/checkout/api/keys.js +6 -0
  104. package/dist/esm/checkout/api/queries/index.js +1 -0
  105. package/dist/esm/checkout/api/queries/useBnpCalculateForCartQuery.js +50 -0
  106. package/dist/esm/checkout/hooks/index.js +1 -0
  107. package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +92 -0
  108. package/dist/esm/components/GoogleOneTap/index.js +1 -1
  109. package/dist/esm/components/Html/index.js +1 -1
  110. package/dist/esm/components/Portal/index.js +1 -1
  111. package/dist/esm/contexts/CheckoutForm/hooks/usePayment/index.js +7 -2
  112. package/dist/esm/contexts/CheckoutForm/index.js +5 -3
  113. package/dist/esm/hooks/ui-hooks/useIsDesktop/index.js +2 -2
  114. package/dist/esm/hooks/useAllSelectedFilters/index.js +4 -4
  115. package/dist/esm/hooks/useLineItem/index.js +2 -0
  116. package/dist/esm/hooks/usePrice/index.js +1 -1
  117. package/dist/esm/hooks/useProduct/index.js +27 -6
  118. package/dist/esm/hooks/useProduct/utils/index.js +13 -0
  119. package/dist/esm/hooks/useProgressBar/hooks/useGetSetState.js +1 -1
  120. package/dist/esm/hooks/useSelectedFilters/index.js +4 -4
  121. package/dist/esm/hooks/useVouchers/index.js +1 -2
  122. package/dist/esm/index.js +4 -0
  123. package/dist/esm/listing/api/queries/useAggregateQuery.js +47 -12
  124. package/dist/esm/listing/api/queries/useInfiniteListing.js +4 -4
  125. package/dist/esm/listing/api/queries/useListingQuery.js +37 -22
  126. package/dist/esm/listing/api/queries/usePredicate.js +4 -4
  127. package/dist/esm/listing/components/BasicListingSEO.js +1 -1
  128. package/dist/esm/listing/hooks/useListingAlias.js +2 -4
  129. package/dist/esm/listing/hooks/useListingBreadcrumbs.js +5 -5
  130. package/dist/esm/listing/hooks/useListingCategories.js +8 -9
  131. package/dist/esm/listing/hooks/useListingConfig.js +5 -6
  132. package/dist/esm/listing/hooks/useListingFilters.js +19 -20
  133. package/dist/esm/listing/hooks/useListingItems.js +2 -2
  134. package/dist/esm/listing/hooks/useListingMeta.js +6 -5
  135. package/dist/esm/listing/hooks/useListingPagination.js +4 -4
  136. package/dist/esm/listing/hooks/useListingSlug.js +3 -1
  137. package/dist/esm/listing/hooks/useSlideFilter.js +5 -4
  138. package/dist/esm/listing/hooks/utils.js +2 -1
  139. package/dist/esm/listing/ssr/prefetchListing.js +4 -4
  140. package/dist/esm/listing/types.js +7 -0
  141. package/dist/esm/listing/utils/buildCategoryQuery.js +16 -12
  142. package/dist/esm/listing/utils/buildFilterQuery.js +5 -7
  143. package/dist/esm/listing/utils/getListingAlias.js +5 -6
  144. package/dist/esm/listing/utils/getListingPageType.js +4 -3
  145. package/dist/esm/navigation/components/SearchBox/Components/Container/index.js +1 -1
  146. package/dist/esm/navigation/components/SearchBox/Components/EmptyBox/index.js +19 -18
  147. package/dist/esm/navigation/components/SearchBox/Components/PopularSearches/index.js +1 -1
  148. package/dist/esm/navigation/components/SearchBox/Components/Products/Components/ProductCard/index.js +1 -1
  149. package/dist/esm/navigation/components/SearchBox/Components/Products/index.js +2 -2
  150. package/dist/esm/navigation/components/SearchBox/Components/RecentSearches/index.js +1 -1
  151. package/dist/esm/navigation/components/SearchBox/index.js +11 -11
  152. package/dist/esm/order/api/mutations/index.js +1 -0
  153. package/dist/esm/order/api/mutations/useUpdateOrderCustomFieldMutation.js +10 -0
  154. package/dist/esm/order/hooks/index.js +1 -0
  155. package/dist/esm/order/hooks/useUpdateOrderCustomField.js +4 -0
  156. package/dist/esm/product/api/keys.js +6 -0
  157. package/dist/esm/product/api/queries/index.js +1 -0
  158. package/dist/esm/product/api/queries/useBnpOffersQuery.js +54 -0
  159. package/dist/esm/product/hooks/index.js +1 -0
  160. package/dist/esm/product/hooks/useBnpOffers.js +84 -0
  161. package/dist/esm/product/index.js +1 -0
  162. package/dist/esm/seo/components/GlobalSEO/index.js +3 -3
  163. package/dist/esm/user/api/queries/index.js +1 -0
  164. package/dist/esm/user/api/queries/useGetMyLoyaltyCardQuery.js +16 -0
  165. package/dist/esm/user/api/utils/getUserToken.js +6 -0
  166. package/dist/esm/user/api/utils/index.js +1 -0
  167. package/dist/esm/user/hooks/index.js +2 -0
  168. package/dist/esm/user/hooks/useGetMyLoyaltyCard.js +4 -0
  169. package/dist/esm/user/hooks/useGetUserToken.js +5 -0
  170. package/dist/types/api/myCartApi/index.d.ts +1 -0
  171. package/dist/types/basket/api/index.d.ts +1 -0
  172. package/dist/types/basket/api/mutations/index.d.ts +1 -0
  173. package/dist/types/basket/api/mutations/useReplaceBasketMutation.d.ts +2 -0
  174. package/dist/types/basket/hooks/index.d.ts +2 -0
  175. package/dist/types/basket/hooks/useBasketCrossSaleItems.d.ts +9 -0
  176. package/dist/types/basket/hooks/useReplaceBasket.d.ts +2 -0
  177. package/dist/types/basket/index.d.ts +1 -0
  178. package/dist/types/checkout/api/keys.d.ts +1 -0
  179. package/dist/types/checkout/api/queries/index.d.ts +1 -0
  180. package/dist/types/checkout/api/queries/useBnpCalculateForCartQuery.d.ts +4 -0
  181. package/dist/types/checkout/hooks/index.d.ts +1 -0
  182. package/dist/types/checkout/hooks/useBnpCalculateForCart.d.ts +39 -0
  183. package/dist/types/contexts/CheckoutForm/hooks/usePayment/index.d.ts +2 -0
  184. package/dist/types/contexts/CheckoutForm/index.d.ts +2 -1
  185. package/dist/types/hooks/order-hooks/useReferralOrders/index.d.ts +1 -0
  186. package/dist/types/hooks/useLineItem/index.d.ts +2 -2
  187. package/dist/types/hooks/useProduct/index.d.ts +1 -0
  188. package/dist/types/hooks/useProduct/utils/index.d.ts +1 -0
  189. package/dist/types/index.d.ts +3 -0
  190. package/dist/types/listing/api/queries/useAggregateQuery.d.ts +6 -4
  191. package/dist/types/listing/api/queries/useListingQuery.d.ts +4 -2
  192. package/dist/types/listing/api/queries/usePredicate.d.ts +2 -1
  193. package/dist/types/listing/hooks/useListingAlias.d.ts +2 -1
  194. package/dist/types/listing/hooks/useListingFilters.d.ts +0 -1
  195. package/dist/types/listing/hooks/useListingItems.d.ts +3 -2
  196. package/dist/types/listing/hooks/useListingSEOCategories.d.ts +6 -4
  197. package/dist/types/listing/hooks/utils.d.ts +3 -2
  198. package/dist/types/listing/ssr/prefetchCategories.d.ts +2 -2
  199. package/dist/types/listing/ssr/prefetchListing.d.ts +4 -4
  200. package/dist/types/listing/ssr/prefetchPredicate.d.ts +2 -1
  201. package/dist/types/listing/types.d.ts +32 -16
  202. package/dist/types/listing/utils/buildCategoryQuery.d.ts +2 -1
  203. package/dist/types/listing/utils/buildFilterQuery.d.ts +2 -1
  204. package/dist/types/listing/utils/extendFilter.d.ts +3 -2
  205. package/dist/types/listing/utils/getListingAlias.d.ts +2 -1
  206. package/dist/types/listing/utils/getListingPageType.d.ts +2 -2
  207. package/dist/types/navigation/components/SearchBox/Components/Container/index.d.ts +10 -9
  208. package/dist/types/navigation/components/SearchBox/Components/EmptyBox/index.d.ts +22 -21
  209. package/dist/types/navigation/components/SearchBox/Components/Products/Components/ProductCard/index.d.ts +8 -7
  210. package/dist/types/navigation/components/SearchBox/Components/Products/index.d.ts +9 -8
  211. package/dist/types/navigation/components/SearchBox/index.d.ts +31 -30
  212. package/dist/types/order/api/mutations/index.d.ts +1 -0
  213. package/dist/types/order/api/mutations/useUpdateCustomLineItemMutation.d.ts +2 -5
  214. package/dist/types/order/api/mutations/useUpdateOrderCustomFieldMutation.d.ts +9 -0
  215. package/dist/types/order/hooks/index.d.ts +1 -0
  216. package/dist/types/order/hooks/useUpdateCustomLineItem.d.ts +2 -2
  217. package/dist/types/order/hooks/useUpdateOrderCustomField.d.ts +2 -0
  218. package/dist/types/product/api/keys.d.ts +1 -0
  219. package/dist/types/product/api/queries/index.d.ts +1 -0
  220. package/dist/types/product/api/queries/useBnpOffersQuery.d.ts +5 -0
  221. package/dist/types/product/hooks/index.d.ts +1 -0
  222. package/dist/types/product/hooks/useBnpOffers.d.ts +37 -0
  223. package/dist/types/product/index.d.ts +1 -0
  224. package/dist/types/types/index.d.ts +38 -40
  225. package/dist/types/user/api/queries/index.d.ts +1 -0
  226. package/dist/types/user/api/queries/useGetMyLoyaltyCardQuery.d.ts +5 -0
  227. package/dist/types/user/api/utils/getUserToken.d.ts +1 -0
  228. package/dist/types/user/api/utils/index.d.ts +1 -0
  229. package/dist/types/user/hooks/index.d.ts +2 -0
  230. package/dist/types/user/hooks/useGetMyLoyaltyCard.d.ts +2 -0
  231. package/dist/types/user/hooks/useGetUserToken.d.ts +1 -0
  232. package/dist/types/utils/getSelectedFilters.d.ts +2 -1
  233. package/package.json +19 -13
@@ -1,4 +1,4 @@
1
- import { BooleanField, TextField, NumberField } from '@sentecacommerce-theme/base';
1
+ import { BooleanField, StringField, NumberField, EnumField, ListField, GroupField } from '@sentecacommerce-theme/cms';
2
2
  export declare type FiltersQuery = {
3
3
  storeKey?: string;
4
4
  currencyCode?: string;
@@ -16,6 +16,10 @@ export declare type FiltersQuery = {
16
16
  offset?: number;
17
17
  sort?: string;
18
18
  };
19
+ export declare enum AggregateSortEnum {
20
+ Index = "index",
21
+ Alphabetically = "alphabetically"
22
+ }
19
23
  export declare enum ListingTypesEnum {
20
24
  Category = "category",
21
25
  Brand = "brand",
@@ -46,25 +50,37 @@ export declare enum ComponentTypeEnum {
46
50
  RangeSlider = "range-slider"
47
51
  }
48
52
  export declare type Aggregate = {
49
- label: TextField;
50
- aggregationType: AggregationTypeEnum;
51
- aggregationDefinition: TextField;
52
- filterDefinition: TextField;
53
- order: NumberField;
54
- collapsed?: BooleanField;
55
- component: ComponentTypeEnum;
53
+ label: StringField;
54
+ aggregationType: EnumField<AggregationTypeEnum>;
55
+ aggregationDefinition: EnumField<StringField>;
56
+ filterDefinition: StringField;
57
+ order?: NumberField;
58
+ collapsed: BooleanField;
59
+ hideOn?: ListField<ListingTypesEnum>;
60
+ component: EnumField<ComponentTypeEnum>;
56
61
  };
57
62
  export declare type ListingPageSortOption = {
58
- key: TextField;
59
- label: TextField;
63
+ key: StringField;
64
+ label: StringField;
60
65
  };
61
66
  export interface DefaultListingPageProps {
62
67
  type: ListingTypesEnum;
63
- seoAggregates?: Aggregate;
64
- aggregates?: Aggregate[];
65
- defaultSortKey: TextField;
68
+ seoAggregates?: GroupField<Aggregate>;
69
+ aggregates?: ListField<Aggregate>;
70
+ defaultSortKey?: StringField;
66
71
  categoryTreeConfig?: Aggregate;
67
- sortOptions: ListingPageSortOption[];
68
- productsPerPage?: NumberField;
69
- filterExtension?: TextField;
72
+ sortOptions?: ListField<ListingPageSortOption>;
73
+ attributeSortType?: AggregateSortEnum;
74
+ meta: ListingPageMeta;
75
+ }
76
+ export interface ListingPageMeta {
77
+ slugAliases: {
78
+ [key: string]: string;
79
+ };
80
+ titleAliases: {
81
+ [key: string]: string;
82
+ };
83
+ filterExtension: StringField;
84
+ collapseMode: StringField;
85
+ limit: NumberField;
70
86
  }
@@ -1,5 +1,6 @@
1
1
  import { NextRouter } from 'next/router';
2
2
  import { ListingTypesEnum, Aggregate, PredicateType } from '../index';
3
+ import { ListingPageMeta } from '../types';
3
4
  export declare const buildCategoryQuery: ({ aggregates, predicate, postFilter, pageType, config, router, slug, }: {
4
5
  pageType: ListingTypesEnum;
5
6
  aggregates: Aggregate[];
@@ -7,7 +8,7 @@ export declare const buildCategoryQuery: ({ aggregates, predicate, postFilter, p
7
8
  postFilter?: string | undefined;
8
9
  predicate?: PredicateType | undefined;
9
10
  slug: string;
10
- config?: any;
11
+ config?: ListingPageMeta | undefined;
11
12
  }) => {
12
13
  [x: string]: string;
13
14
  filter: string;
@@ -1,5 +1,6 @@
1
1
  import { NextRouter } from 'next/router';
2
2
  import { Aggregate, ListingTypesEnum, PredicateType } from '../index';
3
+ import { ListingPageMeta } from '../types';
3
4
  export declare const buildFilterQuery: ({ predicate, slug, pageType, router, aggregates, config, postFilter, }: {
4
5
  aggregates: Aggregate[];
5
6
  router: NextRouter;
@@ -7,5 +8,5 @@ export declare const buildFilterQuery: ({ predicate, slug, pageType, router, agg
7
8
  predicate?: PredicateType | undefined;
8
9
  slug: string;
9
10
  pageType: ListingTypesEnum;
10
- config: any;
11
+ config?: ListingPageMeta | undefined;
11
12
  }) => any;
@@ -1,5 +1,6 @@
1
+ import { StringField, BooleanField } from "@sentecacommerce-theme/cms";
1
2
  export declare const extendFilter: ({ slug, filterExtension, noSplit, }: {
2
3
  slug: string;
3
- filterExtension?: string | undefined;
4
- noSplit?: boolean | undefined;
4
+ filterExtension?: StringField;
5
+ noSplit?: BooleanField;
5
6
  }) => string;
@@ -1,5 +1,6 @@
1
1
  import { NextRouter } from 'next/router';
2
+ import { ListingPageMeta } from '..';
2
3
  export declare const getListingAlias: ({ router, config, }: {
3
4
  router: NextRouter;
4
- config: any;
5
+ config: ListingPageMeta;
5
6
  }) => string;
@@ -1,3 +1,3 @@
1
1
  import { NextRouter } from 'next/router';
2
- import { ListingTypesEnum } from '..';
3
- export declare const getListingPageType: (router: NextRouter, slug?: string | undefined, config?: any) => ListingTypesEnum;
2
+ import { ListingPageMeta, ListingTypesEnum } from '..';
3
+ export declare const getListingPageType: (router: NextRouter, slug?: string | undefined, meta?: ListingPageMeta | undefined) => ListingTypesEnum;
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
+ import { BooleanField, StringField } from '@sentecacommerce-theme/cms';
2
3
  interface ContainerProps {
3
- title?: string;
4
- labelsColor: string;
4
+ title?: StringField;
5
+ labelsColor: StringField;
5
6
  children: React.ReactNode;
6
- isBottom?: boolean;
7
- noData?: boolean;
8
- backgroundColor?: string;
9
- products?: boolean;
10
- onlyMobile?: boolean;
11
- onlyDesktop?: boolean;
12
- offers?: boolean;
7
+ isBottom?: BooleanField;
8
+ noData?: BooleanField;
9
+ backgroundColor?: StringField;
10
+ products?: BooleanField;
11
+ onlyMobile?: BooleanField;
12
+ onlyDesktop?: BooleanField;
13
+ offers?: BooleanField;
13
14
  }
14
15
  export declare const Container: ({ title, labelsColor, children, backgroundColor, onlyMobile, onlyDesktop, }: ContainerProps) => JSX.Element;
15
16
  export {};
@@ -1,28 +1,29 @@
1
+ import type { BooleanField, GroupField, StringField } from '@sentecacommerce-theme/cms';
1
2
  interface EmptyBoxProps {
2
- backgroundColor?: string;
3
+ backgroundColor?: StringField;
3
4
  searchHistory?: any[];
4
- labels: {
5
- promoOffersLabel: string;
6
- productsLabel: string;
7
- recentSearchesLabel: string;
8
- popularSearchesLabel: string;
9
- blogLabel: string;
10
- blog: {
11
- blogTitle: string;
12
- image: string;
13
- url: string;
14
- description: string;
15
- };
16
- };
17
- labelsColor: string;
18
- textColor: string;
5
+ labels: GroupField<{
6
+ promoOffersLabel: StringField;
7
+ productsLabel: StringField;
8
+ recentSearchesLabel: StringField;
9
+ popularSearchesLabel: StringField;
10
+ blogLabel: StringField;
11
+ blog: GroupField<{
12
+ blogTitle: StringField;
13
+ image: StringField;
14
+ url: StringField;
15
+ description: StringField;
16
+ }>;
17
+ }>;
18
+ labelsColor: StringField;
19
+ textColor: StringField;
19
20
  onClose?: () => void;
20
- canDisplayPopular: boolean;
21
- withRecent?: boolean;
22
- canDisplayRecent?: boolean;
21
+ canDisplayPopular: BooleanField;
22
+ withRecent?: BooleanField;
23
+ canDisplayRecent?: BooleanField;
23
24
  promoOffers?: any[];
24
- searchValue?: string;
25
- isLoading?: boolean;
25
+ searchValue?: StringField;
26
+ isLoading?: BooleanField;
26
27
  }
27
28
  export declare const EmptyBox: ({ backgroundColor, searchHistory, labels, labelsColor, textColor, onClose, canDisplayPopular, canDisplayRecent, withRecent, promoOffers, searchValue, isLoading, }: EmptyBoxProps) => JSX.Element;
28
29
  export {};
@@ -1,12 +1,13 @@
1
1
  import { SearchResultDTO } from '@sentecacommerce/sdk';
2
+ import { BooleanField, NumberField, StringField } from '@sentecacommerce-theme/cms';
2
3
  export declare const ProductCard: ({ item, bottomMenu, priceColor, textColor, labelsColor, onClose, isLast, offers, productSpacing, }: {
3
4
  item: SearchResultDTO;
4
- bottomMenu?: string | undefined;
5
- priceColor?: string | undefined;
6
- textColor: string;
7
- labelsColor: string;
5
+ bottomMenu?: StringField;
6
+ priceColor?: StringField;
7
+ textColor: StringField;
8
+ labelsColor: StringField;
8
9
  onClose?: (() => void) | undefined;
9
- isLast: boolean;
10
- offers?: boolean | undefined;
11
- productSpacing?: number | undefined;
10
+ isLast: BooleanField;
11
+ offers?: BooleanField;
12
+ productSpacing?: NumberField;
12
13
  }) => JSX.Element;
@@ -1,12 +1,13 @@
1
+ import { BooleanField, NumberField, StringField } from '@sentecacommerce-theme/cms';
1
2
  export declare const Products: ({ data, bottomMenu, priceColor, textColor, labelsColor, onClose, backgroundColor, title, offers, productSpacing, }: {
2
3
  data?: any[] | undefined;
3
- bottomMenu?: string | undefined;
4
- priceColor?: string | undefined;
5
- textColor: string;
6
- labelsColor: string;
4
+ bottomMenu?: StringField;
5
+ priceColor?: StringField;
6
+ textColor: StringField;
7
+ labelsColor: StringField;
7
8
  onClose?: (() => void) | undefined;
8
- backgroundColor?: string | undefined;
9
- title?: string | undefined;
10
- offers?: boolean | undefined;
11
- productSpacing?: number | undefined;
9
+ backgroundColor?: StringField;
10
+ title?: StringField;
11
+ offers?: BooleanField;
12
+ productSpacing?: NumberField;
12
13
  }) => JSX.Element;
@@ -1,45 +1,46 @@
1
+ import { StringField, GroupField, BooleanField, NumberField } from '@sentecacommerce-theme/cms';
1
2
  interface SearchLabels {
2
- recentSearchesLabel: string;
3
- popularSearchesLabel: string;
4
- suggestedBrandsLabel: string;
5
- suggestedCategoriesLabel: string;
6
- promoOffersLabel: string;
7
- productsLabel: string;
8
- blogLabel: string;
9
- blog: {
10
- blogTitle: string;
11
- image: string;
12
- description: string;
13
- url: string;
14
- };
3
+ recentSearchesLabel: StringField;
4
+ popularSearchesLabel: StringField;
5
+ suggestedBrandsLabel: StringField;
6
+ suggestedCategoriesLabel: StringField;
7
+ promoOffersLabel: StringField;
8
+ productsLabel: StringField;
9
+ blogLabel: StringField;
10
+ blog: GroupField<{
11
+ blogTitle: StringField;
12
+ image: StringField;
13
+ description: StringField;
14
+ url: StringField;
15
+ }>;
15
16
  }
16
17
  export declare type TopStyleType = {
17
- desktop: string;
18
- mobile: string;
18
+ desktop: StringField;
19
+ mobile: StringField;
19
20
  };
20
21
  export interface SearchBoxProps {
21
- isLoading: boolean;
22
+ isLoading: BooleanField;
22
23
  children?: any;
23
24
  onClose?: () => void;
24
25
  suggestedBrands: any[];
25
26
  suggestedCategories: any[];
26
27
  suggestions: any[];
27
- searchValue: string;
28
+ searchValue: StringField;
28
29
  labels: SearchLabels;
29
- labelsColor: string;
30
- textColor: string;
31
- priceColor: string;
32
- delay?: string;
33
- top?: TopStyleType;
34
- withRecent?: boolean;
35
- bottomMenu?: string;
36
- backgroundColor?: string;
30
+ labelsColor: StringField;
31
+ textColor: StringField;
32
+ priceColor: StringField;
33
+ delay: StringField;
34
+ top: TopStyleType;
35
+ withRecent: BooleanField;
36
+ bottomMenu: StringField;
37
+ backgroundColor: StringField;
37
38
  onSearchSubmit?: (e: any) => void;
38
- isContainer?: boolean;
39
- noCloseButton?: boolean;
40
- productSpacing?: number;
41
- closeButtonOnTop?: boolean;
42
- hasPopularSearches?: boolean;
39
+ isContainer?: BooleanField;
40
+ noCloseButton?: BooleanField;
41
+ productSpacing?: NumberField;
42
+ closeButtonOnTop?: BooleanField;
43
+ hasPopularSearches?: BooleanField;
43
44
  }
44
45
  export declare const SearchBox: ({ isLoading, onClose, suggestedBrands, suggestedCategories, suggestions, searchValue, withRecent, labels, bottomMenu, labelsColor, textColor, priceColor, backgroundColor, onSearchSubmit, top, delay, isContainer, noCloseButton, productSpacing, closeButtonOnTop, hasPopularSearches, }: SearchBoxProps) => JSX.Element;
45
46
  export {};
@@ -1 +1,2 @@
1
1
  export * from './useUpdateCustomLineItemMutation';
2
+ export * from './useUpdateOrderCustomFieldMutation';
@@ -1,11 +1,8 @@
1
1
  import { CustomLineItemDraftDTO } from '@sentecacommerce/sdk';
2
- export interface UpdateCustomLineItemMutationProps {
3
- onSuccess?: () => void;
4
- onError?: () => void;
5
- }
2
+ import { CallbackProps } from '../index';
6
3
  export interface UpdateCustomLineItemProps {
7
4
  id: string;
8
5
  customLineItemId: string;
9
6
  dto: CustomLineItemDraftDTO;
10
7
  }
11
- export declare const useUpdateCustomLineItemMutation: ({ onSuccess, onError, }: UpdateCustomLineItemMutationProps) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, UpdateCustomLineItemProps, unknown>;
8
+ export declare const useUpdateCustomLineItemMutation: ({ onSuccess, onError, }: CallbackProps) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, UpdateCustomLineItemProps, unknown>;
@@ -0,0 +1,9 @@
1
+ import { SetCustomFieldDTO } from '@sentecacommerce/sdk';
2
+ export interface CallbackProps {
3
+ onSuccess?: () => void;
4
+ onError?: () => void;
5
+ }
6
+ export interface SetCustomFieldProps {
7
+ customFields: SetCustomFieldDTO[];
8
+ }
9
+ export declare const useUpdateOrderCustomFieldMutation: (callback?: CallbackProps | undefined) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, SetCustomFieldProps, unknown>;
@@ -1 +1,2 @@
1
1
  export * from './useUpdateCustomLineItem';
2
+ export * from './useUpdateOrderCustomField';
@@ -1,2 +1,2 @@
1
- import { UpdateCustomLineItemMutationProps } from '../api';
2
- export declare const useUpdateCustomLineItem: (props: UpdateCustomLineItemMutationProps) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, import("../api").UpdateCustomLineItemProps, unknown>;
1
+ import { CallbackProps } from '../api';
2
+ export declare const useUpdateCustomLineItem: (props: CallbackProps) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, import("../api").UpdateCustomLineItemProps, unknown>;
@@ -0,0 +1,2 @@
1
+ import { CallbackProps } from '../api';
2
+ export declare const useUpdateOrderCustomField: (props: CallbackProps) => import("react-query").MutationResultPair<import("@sentecacommerce/sdk").OrderDTO, unknown, import("../api").SetCustomFieldProps, unknown>;
@@ -0,0 +1 @@
1
+ export declare const getBnpProductOffersKey: (sku: string) => string[];
@@ -0,0 +1 @@
1
+ export * from './useBnpOffersQuery';
@@ -0,0 +1,5 @@
1
+ export declare const useBnpOffersQuery: ({ sku, preferredInstallmentCentAmount, downPaymentCentAmount, }: {
2
+ sku: string;
3
+ preferredInstallmentCentAmount?: number | undefined;
4
+ downPaymentCentAmount?: number | undefined;
5
+ }) => import("react-query").QueryResult<import("@sentecacommerce/sdk").BNPLoanOfferDTO[], unknown>;
@@ -0,0 +1 @@
1
+ export * from './useBnpOffers';
@@ -0,0 +1,37 @@
1
+ export declare const useBnpOffers: (props: {
2
+ sku: string;
3
+ preferredInstallmentCentAmount?: number;
4
+ downPaymentCentAmount?: number;
5
+ }) => {
6
+ data: {
7
+ totalRepaymentAmount: import("../../index").FormattedPriceType;
8
+ correctDownPaymentAmount: import("../../index").FormattedPriceType;
9
+ installmentAmount: import("../../index").FormattedPriceType;
10
+ processingFeeAmount: import("../../index").FormattedPriceType;
11
+ apr: string;
12
+ maturity: string;
13
+ nir: string;
14
+ variantId: string;
15
+ }[] | undefined;
16
+ canFetchMore: boolean | undefined;
17
+ clear: () => void;
18
+ error: unknown;
19
+ failureCount: number;
20
+ fetchMore: (fetchMoreVariable?: unknown, options?: import("react-query/types/core/query").FetchMoreOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
21
+ isError: boolean;
22
+ isFetched: boolean;
23
+ isFetchedAfterMount: boolean;
24
+ isFetching: boolean;
25
+ isFetchingMore?: import("react-query").IsFetchingMoreValue | undefined;
26
+ isIdle: boolean;
27
+ isInitialData: boolean;
28
+ isLoading: boolean;
29
+ isPreviousData: boolean;
30
+ isPlaceholderData: boolean;
31
+ isStale: boolean;
32
+ isSuccess: boolean;
33
+ refetch: (options?: import("react-query/types/core/query").RefetchOptions | undefined) => Promise<import("@sentecacommerce/sdk").BNPLoanOfferDTO[] | undefined>;
34
+ remove: () => void;
35
+ status: import("react-query").QueryStatus;
36
+ updatedAt: number;
37
+ };
@@ -1 +1,2 @@
1
1
  export * from './api';
2
+ export * from './hooks';
@@ -1,46 +1,44 @@
1
+ import { GroupField, NumberField, StringField } from "@sentecacommerce-theme/cms";
1
2
  export interface DefaultConfig {
2
- domain: string;
3
- apiUrl: string;
4
- organizationPhone: string;
5
- interfaceKey?: string;
6
- favicon?: {
7
- default?: string;
8
- medium?: string;
9
- svg?: string;
10
- };
11
- imagesConfig: {
12
- fallbackImage: string;
13
- placeholderColor?: string;
14
- ratio: {
15
- width: number;
16
- height: number;
17
- };
18
- };
19
- facebook?: {
20
- appId?: string;
21
- pixelId?: string;
22
- };
23
- apple?: {
24
- appId?: string;
25
- redirectURI?: string;
26
- };
27
- google?: {
28
- id?: string;
29
- analytics?: string;
30
- reMarketing?: {
31
- id?: string;
32
- label?: string;
33
- };
34
- apiKey?: string;
35
- };
36
- defaultMerchant: string;
37
- price: {
38
- locale: string;
39
- };
3
+ organizationPhone: StringField;
4
+ domain: StringField;
5
+ interfaceKey: StringField;
6
+ favicon: GroupField<{
7
+ default: StringField;
8
+ medium: StringField;
9
+ svg: StringField;
10
+ }>;
11
+ imagesConfig: GroupField<{
12
+ fallbackImage: StringField;
13
+ placeholderColor: StringField;
14
+ ratio: GroupField<{
15
+ width: NumberField;
16
+ height: NumberField;
17
+ }>;
18
+ }>;
19
+ facebook: GroupField<{
20
+ appId: StringField;
21
+ pixelId: StringField;
22
+ }>;
23
+ apple: GroupField<{
24
+ appId: StringField;
25
+ redirectURI: StringField;
26
+ }>;
27
+ google: GroupField<{
28
+ id: StringField;
29
+ analytics: StringField;
30
+ reMarketing: GroupField<{
31
+ id: StringField;
32
+ label: StringField;
33
+ }>;
34
+ apiKey: StringField;
35
+ }>;
36
+ defaultMerchant: StringField;
37
+ price: GroupField<{
38
+ locale: StringField;
39
+ }>;
40
40
  }
41
41
  export interface DefaultLabels {
42
42
  }
43
43
  export interface DefaultCustomUI {
44
44
  }
45
- export interface DefaultConfig {
46
- }
@@ -1 +1,2 @@
1
1
  export * from './useIsAuthenticatedQuery';
2
+ export * from './useGetMyLoyaltyCardQuery';
@@ -0,0 +1,5 @@
1
+ export declare type CallbackType = {
2
+ onSuccess?: () => void;
3
+ onError?: (err: unknown) => void;
4
+ };
5
+ export declare const useGetMyLoyaltyCardQuery: (callback?: CallbackType | undefined) => import("react-query").QueryResult<import("@sentecacommerce/sdk").WalletDTO, unknown>;
@@ -0,0 +1 @@
1
+ export declare const getUserToken: () => string | undefined;
@@ -2,3 +2,4 @@ export * from './processLogin';
2
2
  export * from './processLoginPayload';
3
3
  export * from './invalidateQueries';
4
4
  export * from './generateAnonymousToken';
5
+ export * from './getUserToken';
@@ -13,3 +13,5 @@ export * from './useResetPassword';
13
13
  export * from './useVerifyChangeEmail';
14
14
  export * from './useChangeEmail';
15
15
  export * from './useRequestEmailConfirmation';
16
+ export * from './useGetUserToken';
17
+ export * from './useGetMyLoyaltyCard';
@@ -0,0 +1,2 @@
1
+ import { CallbackType } from '../api';
2
+ export declare const useGetMyLoyaltyCard: (callback?: CallbackType | undefined) => import("react-query").QueryResult<import("@sentecacommerce/sdk").WalletDTO, unknown>;
@@ -0,0 +1 @@
1
+ export declare const useGetUserToken: () => string | undefined;
@@ -1,3 +1,4 @@
1
1
  import { NextRouter } from 'next/router';
2
2
  import { AggregateResultType, FormattedAggregationResultType } from '../hooks/useAggregateResult';
3
- export declare const getSelectedFilters: (router: NextRouter, slug: string, data?: AggregateResultType | undefined, config?: any) => FormattedAggregationResultType[];
3
+ import { ListingPageMeta } from '../listing/types';
4
+ export declare const getSelectedFilters: (router: NextRouter, slug: string, data?: AggregateResultType | undefined, config?: ListingPageMeta | undefined) => FormattedAggregationResultType[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.13.5-alpha.7",
4
+ "version": "0.13.7-alpha.6",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -21,20 +21,21 @@
21
21
  },
22
22
  "url": "https://github.com/senteca/theme.git",
23
23
  "scripts": {
24
- "prebuild": "rimraf dist",
24
+ "prebuild": "rimraf ../../../district/node_modules/@sentecacommerce-theme/lib/dist",
25
25
  "build": "concurrently yarn:build:*",
26
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
27
- "build:cjs": "swc src --out-dir dist/cjs",
28
- "build:esm": "swc src --out-dir dist/esm --no-swcrc",
26
+ "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/types",
27
+ "build:cjs": "swc src --out-dir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/cjs",
28
+ "build:esm": "swc src --out-dir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/esm --no-swcrc",
29
29
  "watch": "concurrently yarn:watch:*",
30
- "watch:types": "tsc --emitDeclarationOnly --declaration -w --declarationDir dist/types",
31
- "watch:cjs": "swc src --out-dir dist/cjs -w",
32
- "watch:esm": "swc src --out-dir dist/esm --no-swcrc -w"
30
+ "watch:types": "tsc --emitDeclarationOnly --declaration -w --declarationDir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/types",
31
+ "watch:cjs": "swc src --out-dir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/cjs -w",
32
+ "watch:esm": "swc src --out-dir ../../../district/node_modules/@sentecacommerce-theme/lib/dist/esm --no-swcrc -w"
33
33
  },
34
- "gitHead": "6ef4e8d1421b4ff3c1c0934ce41e1dcd8ea9ea05",
34
+ "gitHead": "cf94e18e4b1843926172d5722c667a88533157cd",
35
35
  "dependencies": {
36
36
  "@sentecacommerce-theme/base": "^0.13.5-alpha.0",
37
- "@sentecacommerce/sdk": "2.0.143",
37
+ "@sentecacommerce-theme/cms": "^0.13.7-alpha.4",
38
+ "@sentecacommerce/sdk": "2.0.142",
38
39
  "body-scroll-lock": "^3.1.5",
39
40
  "copy-to-clipboard": "^3.3.1",
40
41
  "embla-carousel": "^4.5.1",
@@ -45,19 +46,24 @@
45
46
  "react-dom": "^17.0.2",
46
47
  "react-query": "^2.26.2",
47
48
  "styled-components": "^5.2.1",
48
- "tabbable": "^5.1.5"
49
+ "tabbable": "^5.1.5",
50
+ "uuid": "^8.3.2"
49
51
  },
50
52
  "devDependencies": {
51
53
  "@swc/cli": "^0.1.51",
52
- "@swc/core": "^1.2.109",
54
+ "@swc/core": "^1.2.126",
55
+ "@swc/jest": "^0.2.15",
53
56
  "@types/body-scroll-lock": "^2.6.1",
54
57
  "@types/facebook-pixel": "^0.0.23",
55
58
  "@types/gtag.js": "^0.0.5",
59
+ "@types/jest": "27.4.0",
56
60
  "@types/js-cookie": "^2.2.7",
57
61
  "@types/node-fetch": "^2.5.10",
58
62
  "@types/react-dom": "^17.0.11",
59
63
  "@types/resize-observer-browser": "^0.1.5",
60
64
  "@types/styled-components": "^5.1.16",
61
- "@types/uuid": "^8.3.3"
65
+ "@types/uuid": "^8.3.3",
66
+ "enzyme": "^3.11.0",
67
+ "jest": "^27.4.5"
62
68
  }
63
69
  }