@jetshop/core 5.10.0 → 5.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +16 -63
  3. package/ChannelHandler/ChannelHandler.js.map +1 -1
  4. package/ChannelHandler/channelUtils.d.ts +13 -0
  5. package/ChannelHandler/channelUtils.js +26 -15
  6. package/ChannelHandler/channelUtils.js.map +1 -1
  7. package/ChannelHandler/redirectUtils.d.ts +3 -0
  8. package/ChannelHandler/redirectUtils.js +48 -0
  9. package/ChannelHandler/redirectUtils.js.map +1 -0
  10. package/ChannelHandler/redirectUtils.test.js +8 -0
  11. package/analytics/AnalyticsProvider.d.ts +4 -0
  12. package/analytics/AnalyticsProvider.js +18 -2
  13. package/analytics/AnalyticsProvider.js.map +1 -1
  14. package/analytics/integrations/ga4.js +1 -1
  15. package/analytics/integrations/ga4.js.map +1 -1
  16. package/analytics/integrations/gtag/gtag.d.ts +0 -1
  17. package/analytics/integrations/gtag/gtag.js +39 -28
  18. package/analytics/integrations/gtag/gtag.js.map +1 -1
  19. package/analytics/integrations/gtm/index.d.ts +0 -1
  20. package/analytics/integrations/gtm/index.js +37 -24
  21. package/analytics/integrations/gtm/index.js.map +1 -1
  22. package/analytics/integrations/releware/index.js +1 -1
  23. package/analytics/integrations/releware/index.js.map +1 -1
  24. package/analytics/integrations/unslugify.d.ts +1 -0
  25. package/analytics/integrations/unslugify.js +18 -0
  26. package/analytics/integrations/unslugify.js.map +1 -0
  27. package/analytics/trackerRegistry.d.ts +8 -3
  28. package/analytics/trackerRegistry.js +31 -14
  29. package/analytics/trackerRegistry.js.map +1 -1
  30. package/analytics/utils/breadcrumbsWithoutProduct.d.ts +1 -0
  31. package/analytics/utils/breadcrumbsWithoutProduct.js +9 -0
  32. package/analytics/utils/breadcrumbsWithoutProduct.js.map +1 -0
  33. package/boot/PreviewHandler.js.map +1 -1
  34. package/boot/SharedTree.js +1 -1
  35. package/boot/SharedTree.js.map +1 -1
  36. package/boot/apollo.d.ts +5 -3
  37. package/boot/apollo.js +9 -13
  38. package/boot/apollo.js.map +1 -1
  39. package/boot/client/startClient.js +5 -10
  40. package/boot/client/startClient.js.map +1 -1
  41. package/boot/server/createRenderer.js +8 -7
  42. package/boot/server/createRenderer.js.map +1 -1
  43. package/boot/server/index.js +2 -2
  44. package/boot/server/index.js.map +1 -1
  45. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  46. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  47. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  48. package/cart/AddToCartFormik.d.ts +2 -2
  49. package/cart/AddToCartFormik.js +11 -11
  50. package/cart/AddToCartFormik.js.map +1 -1
  51. package/components/Auth/CustomerUpdateForm.js +7 -7
  52. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  53. package/components/ChannelContext/ChannelContext.d.ts +2 -0
  54. package/components/ChannelContext/ChannelContext.js.map +1 -1
  55. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  56. package/components/ChannelContext/ChannelProvider.js +16 -6
  57. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  58. package/components/ChannelContext/ChannelProvider.test.js +112 -0
  59. package/components/ConfigProvider.d.ts +2 -0
  60. package/components/ConfigProvider.js.map +1 -1
  61. package/components/DynamicRoute/CategoryRoute.js +9 -2
  62. package/components/DynamicRoute/CategoryRoute.js.map +1 -1
  63. package/components/DynamicRoute/ContentRoute.js +9 -1
  64. package/components/DynamicRoute/ContentRoute.js.map +1 -1
  65. package/components/DynamicRoute/PreviewRoute.js +12 -2
  66. package/components/DynamicRoute/PreviewRoute.js.map +1 -1
  67. package/components/DynamicRoute/ProductRoute.js +12 -4
  68. package/components/DynamicRoute/ProductRoute.js.map +1 -1
  69. package/components/Head.js +4 -4
  70. package/components/Head.js.map +1 -1
  71. package/components/Mutation/AddToCart/addToCartUtils.d.ts +1 -1
  72. package/components/Mutation/AddToCart/addToCartUtils.js +7 -1
  73. package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
  74. package/components/Mutation/RemoveFromCart.js +10 -1
  75. package/components/Mutation/RemoveFromCart.js.map +1 -1
  76. package/components/Mutation/cartMutationUtils.js +7 -6
  77. package/components/Mutation/cartMutationUtils.js.map +1 -1
  78. package/components/Mutation/useDecrementQuantity.js +8 -3
  79. package/components/Mutation/useDecrementQuantity.js.map +1 -1
  80. package/components/Mutation/useIncrementQuantity.js +8 -3
  81. package/components/Mutation/useIncrementQuantity.js.map +1 -1
  82. package/components/Mutation/useRemoveFromCart.js +10 -1
  83. package/components/Mutation/useRemoveFromCart.js.map +1 -1
  84. package/components/PreviewContext.js +3 -1
  85. package/components/PreviewContext.js.map +1 -1
  86. package/components/Query/CartProvider.js +31 -21
  87. package/components/Query/CartProvider.js.map +1 -1
  88. package/components/StructuredData/StructuredBreadcrumbData.d.ts +8 -3
  89. package/components/StructuredData/StructuredBreadcrumbData.js +42 -23
  90. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  91. package/components/StructuredData/StructuredCategoryData.d.ts +16 -0
  92. package/components/StructuredData/StructuredCategoryData.js +18 -0
  93. package/components/StructuredData/StructuredCategoryData.js.map +1 -0
  94. package/components/StructuredData/StructuredPageData.d.ts +16 -0
  95. package/components/StructuredData/StructuredPageData.js +17 -0
  96. package/components/StructuredData/StructuredPageData.js.map +1 -0
  97. package/components/StructuredData/StructuredProductData.js +2 -2
  98. package/components/StructuredData/StructuredProductData.js.map +1 -1
  99. package/components/StructuredData/index.d.ts +2 -0
  100. package/components/StructuredData/index.js +2 -0
  101. package/components/StructuredData/index.js.map +1 -1
  102. package/data/fragments/ChannelsFragment.gql +4 -0
  103. package/data/fragments/ProductListsFragments.gql +94 -0
  104. package/data/fragments/RouteMetaFragment.gql +18 -0
  105. package/data/mutations/productListMutations.gql +18 -0
  106. package/data/queries/ProductLists.gql +8 -0
  107. package/dependencies.d.ts +10 -1
  108. package/helpers/isRelativeUrl.d.ts +1 -0
  109. package/helpers/isRelativeUrl.js +4 -0
  110. package/helpers/isRelativeUrl.js.map +1 -0
  111. package/hooks/PackageProducts/usePackageProductItem.d.ts +3 -4
  112. package/hooks/ProductList/ProductListContext.js +49 -14
  113. package/hooks/ProductList/ProductListContext.js.map +1 -1
  114. package/hooks/ProductList/ProductLists.gql +0 -0
  115. package/hooks/ProductList/action-creators.d.ts +20 -7
  116. package/hooks/ProductList/action-creators.js +125 -31
  117. package/hooks/ProductList/action-creators.js.map +1 -1
  118. package/hooks/ProductList/index.d.ts +34 -8
  119. package/hooks/ProductList/index.js +19 -0
  120. package/hooks/ProductList/index.js.map +1 -1
  121. package/hooks/ProductList/list-transforms.d.ts +2 -2
  122. package/hooks/ProductList/list-transforms.js +22 -22
  123. package/hooks/ProductList/list-transforms.js.map +1 -1
  124. package/hooks/ProductList/list-transforms.test.js +103 -100
  125. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  126. package/hooks/ProductList/product-list-reducer.js +106 -43
  127. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  128. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  129. package/hooks/ProductList/useProductList.d.ts +2 -2
  130. package/hooks/ProductList/useProductList.js +12 -5
  131. package/hooks/ProductList/useProductList.js.map +1 -1
  132. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  133. package/hooks/ProductList/useProductListItems.js +8 -6
  134. package/hooks/ProductList/useProductListItems.js.map +1 -1
  135. package/hooks/useAddMultipleToCart.js +11 -5
  136. package/hooks/useAddMultipleToCart.js.map +1 -1
  137. package/hooks/useProductVariants/useProductVariants.d.ts +1 -2
  138. package/hooks/useProductVariants/useProductVariants.js +1 -1
  139. package/hooks/useProductVariants/useProductVariants.js.map +1 -1
  140. package/package.json +1 -1
  141. package/resolvers/index.d.ts +3 -0
  142. package/resolvers/index.js +3 -0
  143. package/resolvers/index.js.map +1 -1
  144. package/sentry/client.js +1 -1
  145. package/sentry/client.js.map +1 -1
  146. package/server/tracking/facebook.d.ts +1 -1
  147. package/server/tracking/facebook.js +4 -2
  148. package/server/tracking/facebook.js.map +1 -1
  149. package/server/tracking/types.d.ts +3 -1
  150. package/time.d.ts +1 -0
  151. package/time.js +6 -0
  152. package/time.js.map +1 -0
  153. package/types.d.ts +5 -2
@@ -1,14 +1,22 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import ChannelContext from './ChannelContext';
3
- const ChannelProvider = ({ client, channelHandler, children, config }) => {
3
+ import { useCookies } from 'react-cookie';
4
+ const ChannelProvider = ({ channelHandler, children, config }) => {
5
+ const [cookies] = useCookies(['culture']);
4
6
  const { channels, selectedChannel, recommendedChannel } = channelHandler;
5
7
  const value = useMemo(() => {
6
8
  const updateChannelSingleDomain = (newChannel) => {
7
- channelHandler.updateChannel({ config, client, newChannel });
9
+ channelHandler.updateChannel({ config, newChannel });
8
10
  };
11
+ function setCultureForPreview(culture) {
12
+ channelHandler.setSelectedChannel(Object.assign(Object.assign({}, selectedChannel), { language: Object.assign(Object.assign({}, selectedChannel.language), { culture }) }));
13
+ }
14
+ function restoreCultureForPreview() {
15
+ channelHandler.setSelectedChannel(Object.assign(Object.assign({}, selectedChannel), { language: Object.assign(Object.assign({}, selectedChannel.language), { culture: cookies.culture }) }));
16
+ }
9
17
  const channelsById = {};
10
- channelHandler.channels &&
11
- channelHandler.channels.forEach(channel => {
18
+ channels &&
19
+ channels.forEach((channel) => {
12
20
  channelsById[channel.id] = channel;
13
21
  });
14
22
  return {
@@ -17,13 +25,15 @@ const ChannelProvider = ({ client, channelHandler, children, config }) => {
17
25
  channels,
18
26
  selectedChannel,
19
27
  channelsById,
20
- basename: channelHandler.getChannelBasename()
28
+ setCultureForPreview,
29
+ restoreCultureForPreview,
30
+ basename: channelHandler.getChannelBasename() // TODO This isn't used anywhere?
21
31
  };
22
32
  }, [
23
33
  channelHandler,
24
34
  channels,
25
- client,
26
35
  config,
36
+ cookies.culture,
27
37
  recommendedChannel,
28
38
  selectedChannel
29
39
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelProvider.js","sourceRoot":"","sources":["ChannelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAmC,MAAM,kBAAkB,CAAC;AAanE,MAAM,eAAe,GAAG,CAAC,EACvB,MAAM,EACN,cAAc,EACd,QAAQ,EACR,MAAM,EACe,EAAE,EAAE;IACzB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,cAAc,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,yBAAyB,GAAG,CAAC,UAA2B,EAAE,EAAE;YAChE,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEF,MAAM,YAAY,GAA+B,EAAE,CAAC;QAEpD,cAAc,CAAC,QAAQ;YACrB,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACxC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,kBAAkB;YAClB,aAAa,EAAE,yBAAyB;YACxC,QAAQ;YACR,eAAe;YACf,YAAY;YACZ,QAAQ,EAAE,cAAc,CAAC,kBAAkB,EAAE;SAC9C,CAAC;IACJ,CAAC,EAAE;QACD,cAAc;QACd,QAAQ;QACR,MAAM;QACN,MAAM;QACN,kBAAkB;QAClB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAA2B,CAC5E,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ChannelProvider.js","sourceRoot":"","sources":["ChannelProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,cAAmC,MAAM,kBAAkB,CAAC;AAInE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,MAAM,eAAe,GAAG,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,MAAM,EACe,EAAE,EAAE;IACzB,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,cAAc,CAAC;IACzE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,yBAAyB,GAAG,CAAC,UAA2B,EAAE,EAAE;YAChE,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,SAAS,oBAAoB,CAAC,OAAe;YAC3C,cAAc,CAAC,kBAAkB,iCAC5B,eAAe,KAClB,QAAQ,kCACH,eAAe,CAAC,QAAQ,KAC3B,OAAO,OAET,CAAC;QACL,CAAC;QAED,SAAS,wBAAwB;YAC/B,cAAc,CAAC,kBAAkB,iCAC5B,eAAe,KAClB,QAAQ,kCACH,eAAe,CAAC,QAAQ,KAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,OAE1B,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAA+B,EAAE,CAAC;QAEpD,QAAQ;YACN,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YACrC,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,kBAAkB;YAClB,aAAa,EAAE,yBAAyB;YACxC,QAAQ;YACR,eAAe;YACf,YAAY;YACZ,oBAAoB;YACpB,wBAAwB;YACxB,QAAQ,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,iCAAiC;SAChF,CAAC;IACJ,CAAC,EAAE;QACD,cAAc;QACd,QAAQ;QACR,MAAM;QACN,OAAO,CAAC,OAAO;QACf,kBAAkB;QAClB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAA2B,CAC5E,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,112 @@
1
+ import React, { useContext } from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import ChannelContext, { ChannelProvider } from '../ChannelContext/';
4
+ import { ChannelHandler } from '../../ChannelHandler/ChannelHandler';
5
+ import { createSelectedChannel } from '../../ChannelHandler/channelUtils';
6
+ import { channels } from '@jetshop/core/test-utils/variables';
7
+
8
+ function SelectedChannel() {
9
+ const { selectedChannel } = useContext(ChannelContext);
10
+ return <div id="selected-channel">{selectedChannel.displayName}</div>;
11
+ }
12
+
13
+ describe('ChannelProvider', () => {
14
+ const selectedChannel = createSelectedChannel(channels[0]);
15
+
16
+ const oldWindowLocation = window.location;
17
+ let mockAssign = jest.fn();
18
+
19
+ beforeAll(() => {
20
+ // Mock the window.location object so we can test redirects
21
+ delete window.location;
22
+ window.location = Object.defineProperties(
23
+ {},
24
+ {
25
+ ...Object.getOwnPropertyDescriptors(oldWindowLocation),
26
+ assign: {
27
+ configurable: true,
28
+ value: mockAssign
29
+ }
30
+ }
31
+ );
32
+ });
33
+
34
+ beforeEach(() => {
35
+ window.location.assign.mockReset();
36
+ });
37
+
38
+ afterAll(() => {
39
+ window.location = oldWindowLocation;
40
+ });
41
+
42
+ test('Selected channel should be available', () => {
43
+ const channelHandler = new ChannelHandler({
44
+ selectedChannel,
45
+ channels
46
+ });
47
+
48
+ render(
49
+ <ChannelProvider channelHandler={channelHandler}>
50
+ <SelectedChannel />
51
+ </ChannelProvider>
52
+ );
53
+ const selectedChannelElement = document.getElementById('selected-channel');
54
+
55
+ expect(selectedChannelElement.textContent).toBe(
56
+ selectedChannel.displayName
57
+ );
58
+ });
59
+
60
+ function sleep(ms) {
61
+ return new Promise((resolve) => setTimeout(resolve, ms));
62
+ }
63
+
64
+ test('Updating a channel', async () => {
65
+ const newChannel = createSelectedChannel(channels[1]);
66
+ const newPath = '/foo/bar';
67
+
68
+ const channelHandler = new ChannelHandler({
69
+ selectedChannel,
70
+ channels,
71
+ getPrimaryRoutePath: () => Promise.resolve(newPath)
72
+ });
73
+
74
+ render(
75
+ <ChannelProvider
76
+ channelHandler={channelHandler}
77
+ config={{ preserveRedirect: true }}
78
+ >
79
+ <SelectedChannel />
80
+ </ChannelProvider>
81
+ );
82
+ channelHandler.updateChannel({
83
+ config: { preserveRedirect: true },
84
+ newChannel
85
+ });
86
+ const selectedChannelElement = document.getElementById('selected-channel');
87
+
88
+ expect(selectedChannelElement.textContent).not.toBe(newChannel.name);
89
+
90
+ expect(selectedChannelElement.textContent).toBe(
91
+ selectedChannel.displayName
92
+ );
93
+
94
+ // NOTE
95
+ // We need to sleep briefly here, otherwise the call to
96
+ // window.location.assign is not detected(!) in .toHaveBeenCalled()
97
+ await sleep(10);
98
+
99
+ // Updating a channel should trigger a redirect
100
+ expect(window.location.assign).toHaveBeenCalled();
101
+
102
+ const newUrl = new URL(window.location.assign.mock.calls[0][0]);
103
+ expect(newUrl.pathname).toBe(newPath);
104
+ expect(newUrl.searchParams.get('channel')).toBe(newChannel.name);
105
+ expect(newUrl.searchParams.get('channelCountry')).toBe(
106
+ newChannel.country.code
107
+ );
108
+ expect(newUrl.searchParams.get('culture')).toBe(
109
+ newChannel.language.culture
110
+ );
111
+ });
112
+ });
@@ -65,6 +65,8 @@ export interface BootOptions {
65
65
  preserveRedirect: boolean;
66
66
  structuredData: {
67
67
  disableDefaultProductData?: boolean;
68
+ disableDefaultCategoryData?: boolean;
69
+ disableDefaultPageData?: boolean;
68
70
  };
69
71
  openGraph: {
70
72
  disableDefaultProductData?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmG5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ConfigProvider.js","sourceRoot":"","sources":["ConfigProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAgB,MAAM,OAAO,CAAC;AAM3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqG5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAO9B;QAP8B,EAC7B,MAAM,EAAE,UAAU,EAClB,QAAQ,OAKT,EAJI,IAAI,cAHsB,sBAI9B,CADQ;IAKP,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,kBAAC,KAAK,EAAE,MAAM,IAAM,IAAI,GAChD,QAAQ,CACkB,CAC9B,CAAC;AACJ,CAAC"}
@@ -9,10 +9,12 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { Fragment, useEffect } from 'react';
12
+ import { useShopConfig } from '@jetshop/core/hooks/useShopConfig';
13
+ import React, { useEffect } from 'react';
13
14
  import { useApolloClient } from 'react-apollo';
14
15
  import { useHistory } from 'react-router';
15
16
  import { getActiveFiltersFromSearch } from '../../resolvers/filters/filterParams';
17
+ import { StructuredCategoryData } from '../StructuredData';
16
18
  function useFiltersOnHistoryPop() {
17
19
  const client = useApolloClient();
18
20
  useEffect(() => {
@@ -32,6 +34,10 @@ const CategoryRoute = (props) => {
32
34
  var _a, _b, _c;
33
35
  const { component: CategoryPage } = props, rest = __rest(props, ["component"]);
34
36
  const category = ((_b = (_a = props.result.data) === null || _a === void 0 ? void 0 : _a.route) === null || _b === void 0 ? void 0 : _b.object) || ((_c = props.result.data) === null || _c === void 0 ? void 0 : _c.category);
37
+ const { structuredData } = useShopConfig();
38
+ const disableDefaultCategoryData = structuredData
39
+ ? !!structuredData.disableDefaultCategoryData
40
+ : false;
35
41
  const history = useHistory();
36
42
  useFiltersOnHistoryPop();
37
43
  useEffect(() => {
@@ -42,7 +48,8 @@ const CategoryRoute = (props) => {
42
48
  history.location.hash, Object.assign({ list: category.name }, history.location.state));
43
49
  }
44
50
  }, [category, history]);
45
- return (React.createElement(Fragment, null,
51
+ return (React.createElement(React.Fragment, null,
52
+ category && (React.createElement(React.Fragment, null, !disableDefaultCategoryData && (React.createElement(StructuredCategoryData, { category: category })))),
46
53
  React.createElement(CategoryPage, Object.assign({}, rest, { category: category }))));
47
54
  };
48
55
  export default CategoryRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryRoute.js","sourceRoot":"","sources":["CategoryRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAe,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAWlF,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,gBAAgB;YACvB,uCAAuC;YACvC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE;oBACJ,aAAa,EAAE,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAClE;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;;IAClD,MAAM,EAAE,SAAS,EAAE,YAAY,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA5C,aAAoC,CAAQ,CAAC;IAEnD,MAAM,QAAQ,GACZ,CAAA,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,MAAI,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAA,CAAC;IAElE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,MAAM,IAAG,CAAC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,0CAAE,IAAI,CAAA,EAAE;YAC9D,OAAO,CAAC,OAAO,CACb,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAErB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAE5B,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,oBAAC,QAAQ;QACP,oBAAC,YAAY,oBAAK,IAAI,IAAE,QAAQ,EAAE,QAAQ,IAAI,CACrC,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CategoryRoute.js","sourceRoot":"","sources":["CategoryRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAe,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAW3D,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,gBAAgB;YACvB,uCAAuC;YACvC,MAAM,CAAC,SAAS,CAAC;gBACf,IAAI,EAAE;oBACJ,aAAa,EAAE,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAClE;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;;IAClD,MAAM,EAAE,SAAS,EAAE,YAAY,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA5C,aAAoC,CAAQ,CAAC;IAEnD,MAAM,QAAQ,GACZ,CAAA,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,MAAI,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,QAAQ,CAAA,CAAC;IAElE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3C,MAAM,0BAA0B,GAAG,cAAc;QAC/C,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,0BAA0B;QAC7C,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,MAAM,IAAG,CAAC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,0CAAE,IAAI,CAAA,EAAE;YAC9D,OAAO,CAAC,OAAO,CACb,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAErB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAChB,OAAO,CAAC,QAAQ,CAAC,KAAK,EAE5B,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,OAAO,CACL;QACG,QAAQ,IAAI,CACX,0CACG,CAAC,0BAA0B,IAAI,CAC9B,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAC/C,CACA,CACJ;QACD,oBAAC,YAAY,oBAAK,IAAI,IAAE,QAAQ,EAAE,QAAQ,IAAI,CAC7C,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -10,11 +10,19 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import React from 'react';
13
+ import { StructuredPageData } from '../StructuredData';
14
+ import { useShopConfig } from '@jetshop/core/hooks/useShopConfig';
13
15
  const ContentRoute = function ContentRoute(props) {
14
16
  var _a, _b, _c, _d;
15
17
  const { result, component: ContentPage } = props, rest = __rest(props, ["result", "component"]);
16
18
  const page = (_c = (_b = (_a = result.data) === null || _a === void 0 ? void 0 : _a.route) === null || _b === void 0 ? void 0 : _b.object) !== null && _c !== void 0 ? _c : (_d = result.data) === null || _d === void 0 ? void 0 : _d.page;
17
- return React.createElement(ContentPage, Object.assign({ result: result, page: page }, rest));
19
+ const { structuredData } = useShopConfig();
20
+ const disableDefaultPageData = structuredData
21
+ ? !!structuredData.disableDefaultPageData
22
+ : false;
23
+ return (React.createElement(React.Fragment, null,
24
+ page && !disableDefaultPageData && React.createElement(StructuredPageData, { page: page }),
25
+ React.createElement(ContentPage, Object.assign({ result: result, page: page }, rest))));
18
26
  };
19
27
  export default ContentRoute;
20
28
  //# sourceMappingURL=ContentRoute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRoute.js","sourceRoot":"","sources":["ContentRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAc7C,MAAM,YAAY,GAAgC,SAAS,YAAY,CAAC,KAAK;;IAC3E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAnD,uBAA2C,CAAQ,CAAC;IAE1D,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,mCAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;IAE7D,OAAO,oBAAC,WAAW,kBAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAM,IAAI,EAAI,CAAC;AAC/D,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ContentRoute.js","sourceRoot":"","sources":["ContentRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAYlE,MAAM,YAAY,GAAgC,SAAS,YAAY,CAAC,KAAK;;IAC3E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAnD,uBAA2C,CAAQ,CAAC;IAE1D,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM,mCAAI,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,CAAC;IAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3C,MAAM,sBAAsB,GAAG,cAAc;QAC3C,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,sBAAsB;QACzC,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO,CACL;QACG,IAAI,IAAI,CAAC,sBAAsB,IAAI,oBAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,GAAI;QACtE,oBAAC,WAAW,kBAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,IAAM,IAAI,EAAI,CACpD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -8,8 +8,10 @@ import ContentRoute from './ContentRoute';
8
8
  import PaginationContext from '../Pagination/PaginationContext';
9
9
  import throwErrorInDev from '../../helpers/throwErrorInDev';
10
10
  import { PreviewContext } from '../PreviewContext';
11
+ import ChannelContext from '../ChannelContext';
11
12
  const PreviewRoute = ({ productPage, categoryPage, contentPage, productQuery, categoryQuery, pageQuery, location, StartPage }) => {
12
13
  const { setPreview } = useContext(PreviewContext);
14
+ const { setCultureForPreview, restoreCultureForPreview } = useContext(ChannelContext);
13
15
  throwErrorInDev(!productQuery, `You forgot to pass 'productQuery' to PreviewRoute`);
14
16
  throwErrorInDev(!categoryQuery, `You forgot to pass 'categoryQuery' to PreviewRoute`);
15
17
  throwErrorInDev(!pageQuery, `You forgot to pass 'pageQuery' to PreviewRoute`);
@@ -17,10 +19,18 @@ const PreviewRoute = ({ productPage, categoryPage, contentPage, productQuery, ca
17
19
  const queryObject = qs.parse(search, {
18
20
  ignoreQueryPrefix: true
19
21
  });
20
- const { articlenumber, startpageid, categoryid, pageid } = queryObject;
22
+ const { articlenumber, startpageid, categoryid, pageid, culture } = queryObject;
21
23
  setPreview(true);
24
+ if (culture) {
25
+ setCultureForPreview(culture);
26
+ }
22
27
  if (articlenumber) {
23
- return (React.createElement(Query, { onCompleted: () => setPreview(false), query: productQuery, variables: {
28
+ return (React.createElement(Query, { onCompleted: () => {
29
+ setPreview(false);
30
+ if (culture) {
31
+ restoreCultureForPreview();
32
+ }
33
+ }, query: productQuery, variables: {
24
34
  articleNumber: articlenumber
25
35
  } }, (result) => (React.createElement(ProductRoute, { result: result, component: productPage }))));
26
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewRoute.js","sourceRoot":"","sources":["PreviewRoute.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,EAAiB,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,KAAK,EAAe,MAAM,cAAc,CAAC;AAClD,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,aAAgC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,YAA8B,MAAM,gBAAgB,CAAC;AAC5D,OAAO,YAA8B,MAAM,gBAAgB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,YAAY,GAAG,CAAC,EACpB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EAUV,EAAE,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAClD,eAAe,CACb,CAAC,YAAY,EACb,mDAAmD,CACpD,CAAC;IACF,eAAe,CACb,CAAC,aAAa,EACd,oDAAoD,CACrD,CAAC;IACF,eAAe,CAAC,CAAC,SAAS,EAAE,gDAAgD,CAAC,CAAC;IAE9E,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,MAAM,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE;QACnC,iBAAiB,EAAE,IAAI;KACxB,CAAC,CAAC;IACH,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IACvE,UAAU,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,aAAa,EAAE;QACjB,OAAO,CACL,oBAAC,KAAK,IACJ,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE;gBACT,aAAa,EAAE,aAAa;aAC7B,IAEA,CAAC,MAAmB,EAAE,EAAE,CAAC,CACxB,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAI,CACzD,CACK,CACT,CAAC;KACH;SAAM,IAAI,UAAU,EAAE;QACrB,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,QACxB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACxB,oBAAC,kBAAkB,QAChB,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC7B,oBAAC,KAAK,IACJ,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE;gBACT,EAAE,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC5B,OAAO,EAAE,SAAS;gBAClB,gBAAgB,EAAE,SAAS;gBAC3B,MAAM;gBACN,KAAK,EAAE,OAAO;aACf,IAEA,CAAC,MAAmB,EAAE,EAAE,CAAC,CACxB,oBAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAI,CAC3D,CACK,CACT,CACkB,CACtB,CAC0B,CAC9B,CAAC;KACH;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,CACL,oBAAC,KAAK,IACJ,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE;gBACT,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;aACzB,IAEA,CAAC,MAAmB,EAAE,EAAE,CAAC,CACxB,oBAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAI,CACzD,CACK,CACT,CAAC;KACH;SAAM,IAAI,WAAW,EAAE;QACtB,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC1E,CAAC;KACH;;QAAM,OAAO,IAAI,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"PreviewRoute.js","sourceRoot":"","sources":["PreviewRoute.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ import { useShopConfig } from '../../hooks/useShopConfig';
17
17
  import ProductConfigurationProvider from '../ProductConfigurationProvider/ProductConfigurationProvider';
18
18
  import { StructuredProductData } from '../StructuredData';
19
19
  import { OpenGraphProductData } from '../OpenGraph';
20
+ import { unSlugify } from '@jetshop/core/analytics/integrations/unslugify';
21
+ import { breadcrumbsWithoutProduct } from '@jetshop/core/analytics/utils/breadcrumbsWithoutProduct';
20
22
  const ProductRoute = (props) => {
21
23
  var _a, _b, _c;
22
24
  const { component: ProductPage, partialProduct } = props, rest = __rest(props, ["component", "partialProduct"]);
@@ -33,14 +35,20 @@ const ProductRoute = (props) => {
33
35
  ? !!openGraph.disableDefaultProductData
34
36
  : false;
35
37
  useEffect(() => {
36
- var _a;
37
- product &&
38
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
39
+ if (((_b = (_a = props.result.data) === null || _a === void 0 ? void 0 : _a.route) === null || _b === void 0 ? void 0 : _b.object) || ((_c = props.result.data) === null || _c === void 0 ? void 0 : _c.product)) {
40
+ const category = breadcrumbsWithoutProduct(((_e = (_d = props.result.data) === null || _d === void 0 ? void 0 : _d.route) === null || _e === void 0 ? void 0 : _e.breadcrumbs) ||
41
+ ((_h = (_g = (_f = props.result.data) === null || _f === void 0 ? void 0 : _f.product) === null || _g === void 0 ? void 0 : _g.primaryRoute) === null || _h === void 0 ? void 0 : _h.breadcrumbs)) ||
42
+ unSlugify((_k = (_j = product.canonicalCategory) === null || _j === void 0 ? void 0 : _j.primaryRoute) === null || _k === void 0 ? void 0 : _k.path) ||
43
+ '';
38
44
  track(trackProductEvent({
39
45
  action: 'view',
40
46
  product,
41
- list: (_a = location.state) === null || _a === void 0 ? void 0 : _a.list
47
+ list: (_l = location.state) === null || _l === void 0 ? void 0 : _l.list,
48
+ category
42
49
  }));
43
- }, [location.state, product, track]);
50
+ }
51
+ }, [location.state, product, track, props.result.data]);
44
52
  return (React.createElement(React.Fragment, null,
45
53
  product && (React.createElement(React.Fragment, null,
46
54
  !disableStructuredProductData && (React.createElement(StructuredProductData, { product: product })),
@@ -1 +1 @@
1
- {"version":3,"file":"ProductRoute.js","sourceRoot":"","sources":["ProductRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,4BAA4B,MAAM,8DAA8D,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAYpD,MAAM,YAAY,GAAG,CAAC,KAAwB,EAAE,EAAE;;IAChD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA3D,+BAAmD,CAAQ,CAAC;IAElE,MAAM,OAAO,GACX,CAAA,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,MAAM;SAChC,MAAA,KAAK,CAAC,MAAM,CAAC,IAAI,0CAAE,OAAO,CAAA;QAC1B,cAAc,CAAC;IAEjB,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,MAAM,4BAA4B,GAAG,cAAc;QACjD,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,yBAAyB;QAC5C,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,2BAA2B,GAAG,SAAS;QAC3C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB;QACvC,CAAC,CAAC,KAAK,CAAC;IAEV,SAAS,CAAC,GAAG,EAAE;;QACb,OAAO;YACL,KAAK,CACH,iBAAiB,CAAC;gBAChB,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI;aAC3B,CAAC,CACH,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErC,OAAO,CACL;QACG,OAAO,IAAI,CACV;YACG,CAAC,4BAA4B,IAAI,CAChC,oBAAC,qBAAqB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC5C;YACA,CAAC,2BAA2B,IAAI,CAC/B,oBAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC3C,CACA,CACJ;QACD,oBAAC,4BAA4B,IAAC,OAAO,EAAE,OAAO;YAC5C,oBAAC,WAAW,oBAAK,IAAI,IAAE,OAAO,EAAE,OAAO,IAAI,CACd,CAC9B,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ProductRoute.js","sourceRoot":"","sources":["ProductRoute.tsx"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ const Head = ({ data, route }) => {
28
28
  var _a;
29
29
  const { search } = useLocation();
30
30
  const queryStringObject = qs.parse(search, { ignoreQueryPrefix: true });
31
- Object.keys(queryStringObject).forEach(key => {
31
+ Object.keys(queryStringObject).forEach((key) => {
32
32
  !queryParamsWhitelist.includes(key) && delete queryStringObject[key];
33
33
  });
34
34
  const whiteListedSearch = qs.stringify(queryStringObject, {
@@ -39,7 +39,7 @@ const Head = ({ data, route }) => {
39
39
  const metaTags = ((_a = data === null || data === void 0 ? void 0 : data.head) === null || _a === void 0 ? void 0 : _a.metaTags) || [];
40
40
  const href = (route === null || route === void 0 ? void 0 : route.canonicalPath) &&
41
41
  `${selectedChannel.url}${route.canonicalPath}${whiteListedSearch}`;
42
- useWarningInDev(route && !route.alternateRoutes, `You must include the RouteCrumbFragment in your RouteQuery.gql
42
+ useWarningInDev(route && !route.alternateRoutes, `You must include the RouteMetaFragment in your RouteQuery.gql
43
43
  Please see https://gitlab.jetshop.se/jetshop/flight/blob/master/packages/template-trend/src/components/RouteQuery.gql for an example
44
44
  `);
45
45
  const { openGraph } = useShopConfig();
@@ -58,10 +58,10 @@ const Head = ({ data, route }) => {
58
58
  React.createElement(Helmet, null,
59
59
  React.createElement("html", { lang: lang }),
60
60
  (data === null || data === void 0 ? void 0 : data.head) && React.createElement("title", null, data.head.title),
61
- metaTags.map(tag => (React.createElement("meta", { name: tag.name, content: tag.content, key: tag.name }))),
61
+ metaTags.map((tag) => (React.createElement("meta", { name: tag.name, content: tag.content, key: tag.name }))),
62
62
  route &&
63
63
  route.alternateRoutes &&
64
- route.alternateRoutes.map(alternateRoute => renderAlternateRoutes(alternateRoute, channelsById)),
64
+ route.alternateRoutes.map((alternateRoute) => renderAlternateRoutes(alternateRoute, channelsById)),
65
65
  href && React.createElement("link", { rel: "canonical", href: href })),
66
66
  !disableOpenGraphGeneralData && (React.createElement(OpenGraphGeneralPageData, { route: route, data: data })),
67
67
  (route === null || route === void 0 ? void 0 : route.canonicalPath) === '/' && React.createElement(SiteLinksSearchStructuredData, null)));
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","sourceRoot":"","sources":["Head.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Head.js","sourceRoot":"","sources":["Head.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Product, ProductVariant } from '../../../types';
2
2
  import { AddToCartFormikValues, AddToCartFormProps, AddToCartCallbackOptions } from '../AddToCartFormik';
3
3
  export declare function getArticleNumber(product: Product, selectedVariation: ProductVariant): string;
4
- export declare function useTrackProductAdd(selectedVariation: ProductVariant): (product: any, quantity: any) => void;
4
+ export declare function useTrackProductAdd(selectedVariation: ProductVariant): (product: Product, quantity: number) => void;
5
5
  export declare function getCommentsFromFormikValues(values: AddToCartFormikValues): {
6
6
  name: string;
7
7
  value: string;
@@ -1,6 +1,8 @@
1
1
  import { useTracker } from '@jetshop/core/analytics/Analytics';
2
2
  import { useCallback } from 'react';
3
3
  import { trackProductEvent } from '@jetshop/core/analytics/tracking';
4
+ import { unSlugify } from '@jetshop/core/analytics/integrations/unslugify';
5
+ import { breadcrumbsWithoutProduct } from '@jetshop/core/analytics/utils/breadcrumbsWithoutProduct';
4
6
  export function getArticleNumber(product, selectedVariation) {
5
7
  var _a, _b;
6
8
  return ((_b = (_a = product === null || product === void 0 ? void 0 : product.variants) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b.length) > 0
@@ -10,11 +12,15 @@ export function getArticleNumber(product, selectedVariation) {
10
12
  export function useTrackProductAdd(selectedVariation) {
11
13
  const track = useTracker();
12
14
  return useCallback(function trackProductVariant(product, quantity) {
15
+ var _a, _b, _c;
13
16
  track(trackProductEvent({
14
17
  action: 'add',
15
18
  product,
16
19
  quantity,
17
- selectedVariation
20
+ selectedVariation,
21
+ category: breadcrumbsWithoutProduct((_a = product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
22
+ unSlugify((_c = (_b = product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
23
+ ''
18
24
  }));
19
25
  }, [selectedVariation, track]);
20
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"addToCartUtils.js","sourceRoot":"","sources":["addToCartUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAOrE,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,iBAAiC;;IAEjC,OAAO,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC;QAC1C,CAAC,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;QAClC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,iBAAiC;IAClE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,OAAO,WAAW,CAChB,SAAS,mBAAmB,CAAC,OAAO,EAAE,QAAQ;QAC5C,KAAK,CACH,iBAAiB,CAAC;YAChB,MAAM,EAAE,KAAK;YACb,OAAO;YACP,QAAQ;YACR,iBAAiB;SAClB,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EAMV;IACC,OAAO,CAAC,EAAE,IAAI,EAAO,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE;YAChD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;QACD,kBAAkB,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,gBAAgB,EAChB,eAAe,EAIhB;IACC,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,KAAK,CAAC;SACb;QACD,gBAAgB,iCAAM,eAAe,KAAE,KAAK,IAAG,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"addToCartUtils.js","sourceRoot":"","sources":["addToCartUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAMrE,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEpG,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,iBAAiC;;IAEjC,OAAO,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,0CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC;QAC1C,CAAC,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa;QAClC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,iBAAiC;IAClE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,OAAO,WAAW,CAChB,SAAS,mBAAmB,CAAC,OAAgB,EAAE,QAAgB;;QAC7D,KAAK,CACH,iBAAiB,CAAC;YAChB,MAAM,EAAE,KAAK;YACb,OAAO;YACP,QAAQ;YACR,iBAAiB;YACjB,QAAQ,EACN,yBAAyB,CAAC,MAAA,OAAO,CAAC,YAAY,0CAAE,WAAW,CAAC;gBAC5D,SAAS,CAAC,MAAA,MAAA,OAAO,CAAC,iBAAiB,0CAAE,YAAY,0CAAE,IAAI,CAAC;gBACxD,EAAE;SACL,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,OAAO;YACL,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,eAAe,EACf,MAAM,EACN,SAAS,EAMV;IACC,OAAO,CAAC,EAAE,IAAI,EAAO,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE;YAChD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;QACD,kBAAkB,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,gBAAgB,EAChB,eAAe,EAIhB;IACC,OAAO,CAAC,KAAU,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,KAAK,CAAC;SACb;QACD,gBAAgB,iCAAM,eAAe,KAAE,KAAK,IAAG,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
@@ -6,6 +6,8 @@ import { Mutation } from 'react-apollo';
6
6
  import { getRemoveFromCartOptimisticResponse } from './cartMutationUtils';
7
7
  import { CartIdContext } from '../Cart/CartIdContext';
8
8
  import throwErrorInDev from '../../helpers/throwErrorInDev';
9
+ import { unSlugify } from '@jetshop/core/analytics/integrations/unslugify';
10
+ import { breadcrumbsWithoutProduct } from '@jetshop/core/analytics/utils/breadcrumbsWithoutProduct';
9
11
  const RemoveFromCart = function RemoveFromCart({ cartQuery, children }) {
10
12
  throwErrorInDev(!cartQuery, `You forgot to pass 'cartQuery' to RemoveFromCart`);
11
13
  const { cartId, setCartId } = useContext(CartIdContext);
@@ -15,7 +17,14 @@ const RemoveFromCart = function RemoveFromCart({ cartQuery, children }) {
15
17
  }
16
18
  }, mutation: removeFromCart }, (mutate, { client }) => {
17
19
  return children((itemId, product) => {
18
- track(trackProductEvent({ action: 'remove', product }));
20
+ var _a, _b, _c;
21
+ track(trackProductEvent({
22
+ action: 'remove',
23
+ product,
24
+ category: breadcrumbsWithoutProduct((_a = product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
25
+ unSlugify((_c = (_b = product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
26
+ ''
27
+ }));
19
28
  return mutate({
20
29
  variables: {
21
30
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveFromCart.js","sourceRoot":"","sources":["RemoveFromCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAoC,MAAM,cAAc,CAAC;AAC1E,OAAO,EAEL,mCAAmC,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAI5D,MAAM,cAAc,GAAG,SAAS,cAAc,CAAC,EAC7C,SAAS,EACT,QAAQ,EACY;IACpB,eAAe,CACb,CAAC,SAAS,EACV,kDAAkD,CACnD,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,OAAO,CACL,oBAAC,QAAQ,IACP,WAAW,EAAE,CAAC,IAA6C,EAAE,EAAE;YAC7D,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;aAChD;QACH,CAAC,EACD,QAAQ,EAAE,cAAc,IAEvB,CAAC,MAAwB,EAAE,EAAE,MAAM,EAAkB,EAAE,EAAE;QACxD,OAAO,QAAQ,CAAC,CAAC,MAAc,EAAE,OAAgB,EAAE,EAAE;YACnD,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,MAAM;wBACN,MAAM;qBACP;iBACF;gBACD,kBAAkB,EAAE;oBAClB,cAAc,EAAE;wBACd,IAAI,EAAE,mCAAmC,CAAC;4BACxC,MAAM;4BACN,MAAM;4BACN,MAAM;4BACN,SAAS;4BACT,SAAS;yBACV,CAAC;wBACF,UAAU,EAAE,cAAc;qBAC3B;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RemoveFromCart.js","sourceRoot":"","sources":["RemoveFromCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAoC,MAAM,cAAc,CAAC;AAC1E,OAAO,EAEL,mCAAmC,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAIpG,MAAM,cAAc,GAAG,SAAS,cAAc,CAAC,EAC7C,SAAS,EACT,QAAQ,EACY;IACpB,eAAe,CACb,CAAC,SAAS,EACV,kDAAkD,CACnD,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,OAAO,CACL,oBAAC,QAAQ,IACP,WAAW,EAAE,CAAC,IAA6C,EAAE,EAAE;YAC7D,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;aAChD;QACH,CAAC,EACD,QAAQ,EAAE,cAAc,IAEvB,CAAC,MAAwB,EAAE,EAAE,MAAM,EAAkB,EAAE,EAAE;QACxD,OAAO,QAAQ,CAAC,CAAC,MAAc,EAAE,OAAgB,EAAE,EAAE;;YACnD,KAAK,CACH,iBAAiB,CAAC;gBAChB,MAAM,EAAE,QAAQ;gBAChB,OAAO;gBACP,QAAQ,EACN,yBAAyB,CAAC,MAAA,OAAO,CAAC,YAAY,0CAAE,WAAW,CAAC;oBAC5D,SAAS,CAAC,MAAA,MAAA,OAAO,CAAC,iBAAiB,0CAAE,YAAY,0CAAE,IAAI,CAAC;oBACxD,EAAE;aACL,CAAC,CACH,CAAC;YACF,OAAO,MAAM,CAAC;gBACZ,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,MAAM;wBACN,MAAM;qBACP;iBACF;gBACD,kBAAkB,EAAE;oBAClB,cAAc,EAAE;wBACd,IAAI,EAAE,mCAAmC,CAAC;4BACxC,MAAM;4BACN,MAAM;4BACN,MAAM;4BACN,SAAS;4BACT,SAAS;yBACV,CAAC;wBACF,UAAU,EAAE,cAAc;qBAC3B;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -2,6 +2,7 @@ import throwErrorInDev from '../../helpers/throwErrorInDev';
2
2
  export const TEMP_CART_ID = 'TEMP_CART_ID';
3
3
  export const getAddToCartOptimisticResponse = (product, quantity = 1, cartId, client, cartQuery) => {
4
4
  const defaultOptimisticCart = {
5
+ __optimistic: true,
5
6
  id: TEMP_CART_ID,
6
7
  totalQuantity: quantity,
7
8
  __typename: 'Cart',
@@ -38,7 +39,7 @@ export const getAddToCartOptimisticResponse = (product, quantity = 1, cartId, cl
38
39
  const newTotalQuantity = cart.totalQuantity + quantity;
39
40
  const newItemQuantity = cart.items[index].quantity + quantity;
40
41
  // Already in cart, increase/decrease quantity
41
- const optimisticCart = Object.assign(Object.assign({}, cart), { totalQuantity: newTotalQuantity, items: [
42
+ const optimisticCart = Object.assign(Object.assign({}, cart), { __optimistic: true, totalQuantity: newTotalQuantity, items: [
42
43
  ...cart.items.slice(0, index),
43
44
  ...(newItemQuantity > 0
44
45
  ? [
@@ -50,7 +51,7 @@ export const getAddToCartOptimisticResponse = (product, quantity = 1, cartId, cl
50
51
  return optimisticCart;
51
52
  }
52
53
  else {
53
- const optimisticCart = Object.assign(Object.assign({}, cart), { totalQuantity: cart.totalQuantity + quantity });
54
+ const optimisticCart = Object.assign(Object.assign({}, cart), { __optimistic: true, totalQuantity: cart.totalQuantity + quantity });
54
55
  return optimisticCart;
55
56
  }
56
57
  }
@@ -69,7 +70,7 @@ export const getDecrementQuantityOptimisticResponse = ({ itemId, client, cartId,
69
70
  variables: { cartId }
70
71
  });
71
72
  const items = cart.items.map((item) => item.id === itemId ? Object.assign(Object.assign({}, item), { quantity: item.quantity - 1 }) : item);
72
- const optimisticCart = Object.assign(Object.assign({}, cart), { items });
73
+ const optimisticCart = Object.assign(Object.assign({}, cart), { items, __optimistic: true });
73
74
  return optimisticCart;
74
75
  };
75
76
  export const getIncrementQuantityOptimisticResponse = ({ itemId, client, cartId, cartQuery }) => {
@@ -79,7 +80,7 @@ export const getIncrementQuantityOptimisticResponse = ({ itemId, client, cartId,
79
80
  variables: { cartId }
80
81
  });
81
82
  const items = cart.items.map((item) => item.id === itemId ? Object.assign(Object.assign({}, item), { quantity: item.quantity + 1 }) : item);
82
- const optimisticCart = Object.assign(Object.assign({}, cart), { items });
83
+ const optimisticCart = Object.assign(Object.assign({}, cart), { items, __optimistic: true });
83
84
  return optimisticCart;
84
85
  };
85
86
  export const getRemoveFromCartOptimisticResponse = ({ itemId, client, cartId, setCartId, cartQuery }) => {
@@ -92,7 +93,7 @@ export const getRemoveFromCartOptimisticResponse = ({ itemId, client, cartId, se
92
93
  if (items.length === 0) {
93
94
  setCartId(null);
94
95
  }
95
- const optimisticCart = Object.assign(Object.assign({}, cart), { items });
96
+ const optimisticCart = Object.assign(Object.assign({}, cart), { items, __optimistic: true });
96
97
  return optimisticCart;
97
98
  };
98
99
  export const getSetQuantityOptimisticResponse = ({ itemId, quantity, client, cartId, cartQuery }) => {
@@ -102,7 +103,7 @@ export const getSetQuantityOptimisticResponse = ({ itemId, quantity, client, car
102
103
  variables: { cartId }
103
104
  });
104
105
  const items = cart.items.map((item) => item.id === itemId ? Object.assign(Object.assign({}, item), { quantity }) : item);
105
- const optimisticCart = Object.assign(Object.assign({}, cart), { items });
106
+ const optimisticCart = Object.assign(Object.assign({}, cart), { items, __optimistic: true });
106
107
  return optimisticCart;
107
108
  };
108
109
  //# sourceMappingURL=cartMutationUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cartMutationUtils.js","sourceRoot":"","sources":["cartMutationUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cartMutationUtils.js","sourceRoot":"","sources":["cartMutationUtils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ import throwErrorInDev from '../../helpers/throwErrorInDev';
6
6
  import { useTracker } from '../../analytics/Analytics';
7
7
  import { trackProductEvent } from '../../analytics/tracking';
8
8
  import { useCart } from '../Query/CartProvider';
9
+ import { unSlugify } from '@jetshop/core/analytics/integrations/unslugify';
10
+ import { breadcrumbsWithoutProduct } from '@jetshop/core/analytics/utils/breadcrumbsWithoutProduct';
9
11
  export default function useDecrementQuantity({ decrementQuantityMutation, cartQuery }) {
10
12
  throwErrorInDev(!cartQuery, `You forgot to pass 'cartQuery' to useDecrementQuantity`);
11
13
  const track = useTracker();
@@ -16,13 +18,16 @@ export default function useDecrementQuantity({ decrementQuantityMutation, cartQu
16
18
  onCompleted: () => localStorage.setItem('cartChange', '1')
17
19
  });
18
20
  function decrementQuantity({ itemId }) {
19
- var _a;
20
- const { product, variant: selectedVariation } = (_a = cart === null || cart === void 0 ? void 0 : cart.items) === null || _a === void 0 ? void 0 : _a.find(item => item.id === itemId);
21
+ var _a, _b, _c, _d;
22
+ const { product, variant: selectedVariation } = (_a = cart === null || cart === void 0 ? void 0 : cart.items) === null || _a === void 0 ? void 0 : _a.find((item) => item.id === itemId);
21
23
  track(trackProductEvent({
22
24
  action: 'remove',
23
25
  product,
24
26
  quantity: 1,
25
- selectedVariation
27
+ selectedVariation,
28
+ category: breadcrumbsWithoutProduct((_b = product.primaryRoute) === null || _b === void 0 ? void 0 : _b.breadcrumbs) ||
29
+ unSlugify((_d = (_c = product.canonicalCategory) === null || _c === void 0 ? void 0 : _c.primaryRoute) === null || _d === void 0 ? void 0 : _d.path) ||
30
+ ''
26
31
  }));
27
32
  return decrementQuantityMutationFn({
28
33
  variables: {
@@ -1 +1 @@
1
- {"version":3,"file":"useDecrementQuantity.js","sourceRoot":"","sources":["useDecrementQuantity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sCAAsC,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAMhD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,yBAAyB,EACzB,SAAS,EACc;IACvB,eAAe,CACb,CAAC,SAAS,EACV,wDAAwD,CACzD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,2BAA2B,CAAC,GAAG,WAAW,CAAC,yBAAyB,EAAE;QAC3E,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;KAC3D,CAAC,CAAC;IACH,SAAS,iBAAiB,CAAC,EAAE,MAAM,EAAsB;;QACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAC/D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAC3B,CAAC;QACF,KAAK,CACH,iBAAiB,CAAC;YAChB,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,QAAQ,EAAE,CAAC;YACX,iBAAiB;SAClB,CAAC,CACH,CAAC;QACF,OAAO,2BAA2B,CAAC;YACjC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,MAAM;oBACN,MAAM;iBACP;aACF;YACD,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE;oBACrB,IAAI,EAAE,sCAAsC,CAAC;wBAC3C,MAAM;wBACN,MAAM;wBACN,MAAM;wBACN,SAAS;qBACV,CAAC;oBACF,UAAU,EAAE,cAAc;iBAC3B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"useDecrementQuantity.js","sourceRoot":"","sources":["useDecrementQuantity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sCAAsC,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAMpG,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,yBAAyB,EACzB,SAAS,EACc;IACvB,eAAe,CACb,CAAC,SAAS,EACV,wDAAwD,CACzD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,2BAA2B,CAAC,GAAG,WAAW,CAAC,yBAAyB,EAAE;QAC3E,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;KAC3D,CAAC,CAAC;IACH,SAAS,iBAAiB,CAAC,EAAE,MAAM,EAAsB;;QACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAC/D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAC7B,CAAC;QACF,KAAK,CACH,iBAAiB,CAAC;YAChB,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,QAAQ,EAAE,CAAC;YACX,iBAAiB;YACjB,QAAQ,EACN,yBAAyB,CAAC,MAAA,OAAO,CAAC,YAAY,0CAAE,WAAW,CAAC;gBAC5D,SAAS,CAAC,MAAA,MAAA,OAAO,CAAC,iBAAiB,0CAAE,YAAY,0CAAE,IAAI,CAAC;gBACxD,EAAE;SACL,CAAC,CACH,CAAC;QACF,OAAO,2BAA2B,CAAC;YACjC,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,MAAM;oBACN,MAAM;iBACP;aACF;YACD,kBAAkB,EAAE;gBAClB,qBAAqB,EAAE;oBACrB,IAAI,EAAE,sCAAsC,CAAC;wBAC3C,MAAM;wBACN,MAAM;wBACN,MAAM;wBACN,SAAS;qBACV,CAAC;oBACF,UAAU,EAAE,cAAc;iBAC3B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC"}