@jetshop/core 5.9.0 → 5.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. package/ChannelHandler/ChannelHandler.d.ts +9 -13
  2. package/ChannelHandler/ChannelHandler.js +24 -66
  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.js +2 -1
  12. package/analytics/AnalyticsProvider.js.map +1 -1
  13. package/analytics/integrations/ga4.js +10 -1
  14. package/analytics/integrations/ga4.js.map +1 -1
  15. package/analytics/integrations/gtag/gtag.d.ts +0 -1
  16. package/analytics/integrations/gtag/gtag.js +48 -28
  17. package/analytics/integrations/gtag/gtag.js.map +1 -1
  18. package/analytics/integrations/gtm/index.d.ts +2 -2
  19. package/analytics/integrations/gtm/index.js +40 -27
  20. package/analytics/integrations/gtm/index.js.map +1 -1
  21. package/analytics/integrations/unslugify.d.ts +1 -0
  22. package/analytics/integrations/unslugify.js +16 -0
  23. package/analytics/integrations/unslugify.js.map +1 -0
  24. package/analytics/trackerRegistry.d.ts +2 -0
  25. package/analytics/trackerRegistry.js.map +1 -1
  26. package/analytics/utils/breadcrumbsWithoutProduct.d.ts +1 -0
  27. package/analytics/utils/breadcrumbsWithoutProduct.js +9 -0
  28. package/analytics/utils/breadcrumbsWithoutProduct.js.map +1 -0
  29. package/boot/SharedTree.js +1 -1
  30. package/boot/SharedTree.js.map +1 -1
  31. package/boot/apollo.d.ts +5 -4
  32. package/boot/apollo.js +18 -18
  33. package/boot/apollo.js.map +1 -1
  34. package/boot/client/startClient.js +7 -16
  35. package/boot/client/startClient.js.map +1 -1
  36. package/boot/server/createRenderer.js +8 -7
  37. package/boot/server/createRenderer.js.map +1 -1
  38. package/boot/server/index.js +2 -2
  39. package/boot/server/index.js.map +1 -1
  40. package/boot/server/persistedQueries/__tests__/getPersistedQueriesForRequest.test.js +53 -39
  41. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js +2 -2
  42. package/boot/server/persistedQueries/getPersistedQueriesForRequest.js.map +1 -1
  43. package/cart/AddToCartFormik.d.ts +2 -2
  44. package/cart/AddToCartFormik.js +11 -11
  45. package/cart/AddToCartFormik.js.map +1 -1
  46. package/cart/useAddToCart.d.ts +2 -2
  47. package/cart/useAddToCart.js +13 -12
  48. package/cart/useAddToCart.js.map +1 -1
  49. package/components/Auth/CustomerUpdateForm.js +7 -7
  50. package/components/Auth/CustomerUpdateForm.js.map +1 -1
  51. package/components/ChannelContext/ChannelProvider.d.ts +1 -3
  52. package/components/ChannelContext/ChannelProvider.js +6 -13
  53. package/components/ChannelContext/ChannelProvider.js.map +1 -1
  54. package/components/ChannelContext/ChannelProvider.test.js +112 -0
  55. package/components/DynamicRoute/ProductRoute.d.ts +1 -0
  56. package/components/DynamicRoute/ProductRoute.js +16 -6
  57. package/components/DynamicRoute/ProductRoute.js.map +1 -1
  58. package/components/DynamicRoute/RouteResolver.js +1 -1
  59. package/components/DynamicRoute/RouteResolver.js.map +1 -1
  60. package/components/Head.js +4 -4
  61. package/components/Head.js.map +1 -1
  62. package/components/Mutation/AddToCart/addToCartUtils.d.ts +1 -1
  63. package/components/Mutation/AddToCart/addToCartUtils.js +10 -3
  64. package/components/Mutation/AddToCart/addToCartUtils.js.map +1 -1
  65. package/components/Mutation/RemoveFromCart.d.ts +1 -1
  66. package/components/Mutation/RemoveFromCart.js +10 -1
  67. package/components/Mutation/RemoveFromCart.js.map +1 -1
  68. package/components/Mutation/cartMutationUtils.js +7 -6
  69. package/components/Mutation/cartMutationUtils.js.map +1 -1
  70. package/components/Mutation/useDecrementQuantity.js +8 -3
  71. package/components/Mutation/useDecrementQuantity.js.map +1 -1
  72. package/components/Mutation/useIncrementQuantity.js +8 -3
  73. package/components/Mutation/useIncrementQuantity.js.map +1 -1
  74. package/components/Mutation/useRemoveFromCart.js +10 -1
  75. package/components/Mutation/useRemoveFromCart.js.map +1 -1
  76. package/components/OpenGraph/OpenGraphProductData.js +3 -3
  77. package/components/OpenGraph/OpenGraphProductData.js.map +1 -1
  78. package/components/Query/CartProvider.js +32 -22
  79. package/components/Query/CartProvider.js.map +1 -1
  80. package/components/StructuredData/StructuredBreadcrumbData.d.ts +8 -3
  81. package/components/StructuredData/StructuredBreadcrumbData.js +42 -23
  82. package/components/StructuredData/StructuredBreadcrumbData.js.map +1 -1
  83. package/components/StructuredData/StructuredProductData.js +2 -2
  84. package/components/StructuredData/StructuredProductData.js.map +1 -1
  85. package/data/fragments/ProductListsFragments.gql +94 -0
  86. package/data/fragments/RouteMetaFragment.gql +18 -0
  87. package/data/mutations/productListMutations.gql +18 -0
  88. package/data/queries/ProductLists.gql +8 -0
  89. package/dependencies.d.ts +10 -1
  90. package/helpers/isRelativeUrl.d.ts +1 -0
  91. package/helpers/isRelativeUrl.js +5 -0
  92. package/helpers/isRelativeUrl.js.map +1 -0
  93. package/hooks/PackageProducts/usePackageProductItem.d.ts +2 -2
  94. package/hooks/ProductList/ProductListContext.js +49 -14
  95. package/hooks/ProductList/ProductListContext.js.map +1 -1
  96. package/hooks/ProductList/ProductLists.gql +0 -0
  97. package/hooks/ProductList/action-creators.d.ts +20 -7
  98. package/hooks/ProductList/action-creators.js +138 -44
  99. package/hooks/ProductList/action-creators.js.map +1 -1
  100. package/hooks/ProductList/index.d.ts +34 -8
  101. package/hooks/ProductList/index.js +19 -0
  102. package/hooks/ProductList/index.js.map +1 -1
  103. package/hooks/ProductList/list-transforms.d.ts +3 -2
  104. package/hooks/ProductList/list-transforms.js +22 -22
  105. package/hooks/ProductList/list-transforms.js.map +1 -1
  106. package/hooks/ProductList/list-transforms.test.js +103 -100
  107. package/hooks/ProductList/product-list-reducer.d.ts +37 -14
  108. package/hooks/ProductList/product-list-reducer.js +106 -43
  109. package/hooks/ProductList/product-list-reducer.js.map +1 -1
  110. package/hooks/ProductList/product-list-reducer.test.js +144 -82
  111. package/hooks/ProductList/useProductList.d.ts +2 -2
  112. package/hooks/ProductList/useProductList.js +12 -5
  113. package/hooks/ProductList/useProductList.js.map +1 -1
  114. package/hooks/ProductList/useProductListItems.d.ts +1 -1
  115. package/hooks/ProductList/useProductListItems.js +8 -6
  116. package/hooks/ProductList/useProductListItems.js.map +1 -1
  117. package/hooks/useAddMultipleToCart.js +11 -5
  118. package/hooks/useAddMultipleToCart.js.map +1 -1
  119. package/hooks/useProductVariants/useProductVariants.d.ts +1 -2
  120. package/hooks/useProductVariants/useProductVariants.js +1 -1
  121. package/hooks/useProductVariants/useProductVariants.js.map +1 -1
  122. package/hooks/useRoutePreload.js +2 -2
  123. package/hooks/useRoutePreload.js.map +1 -1
  124. package/package.json +5 -5
  125. package/resolvers/index.d.ts +3 -0
  126. package/resolvers/index.js +3 -0
  127. package/resolvers/index.js.map +1 -1
  128. package/sentry/client.js +9 -4
  129. package/sentry/client.js.map +1 -1
  130. package/sentry/common.d.ts +1 -0
  131. package/sentry/common.js +5 -0
  132. package/sentry/common.js.map +1 -0
  133. package/sentry/server.js +11 -2
  134. package/sentry/server.js.map +1 -1
  135. package/server/tracking/types.d.ts +1 -1
  136. package/time.d.ts +1 -0
  137. package/time.js +6 -0
  138. package/time.js.map +1 -0
  139. package/types.d.ts +1 -0
@@ -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"}
@@ -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 useIncrementQuantity({ incrementQuantityMutation, cartQuery }) {
10
12
  throwErrorInDev(!cartQuery, `You forgot to pass 'cartQuery' to useIncrementQuantity`);
11
13
  const track = useTracker();
@@ -16,13 +18,16 @@ export default function useIncrementQuantity({ incrementQuantityMutation, cartQu
16
18
  onCompleted: () => localStorage.setItem('cartChange', '1')
17
19
  });
18
20
  function incrementQuantity({ 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: 'add',
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 incrementQuantityMutationFn({
28
33
  variables: {
@@ -1 +1 @@
1
- {"version":3,"file":"useIncrementQuantity.js","sourceRoot":"","sources":["useIncrementQuantity.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;AAKhD,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;IAEpC,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,KAAK;YACb,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":"useIncrementQuantity.js","sourceRoot":"","sources":["useIncrementQuantity.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;AAKpG,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;IAEpC,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,KAAK;YACb,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"}
@@ -5,6 +5,8 @@ import { useContext } from 'react';
5
5
  import { useTracker } from '../../analytics/Analytics';
6
6
  import { trackProductEvent } from '../../analytics/tracking';
7
7
  import throwErrorInDev from '../../helpers/throwErrorInDev';
8
+ import { unSlugify } from '@jetshop/core/analytics/integrations/unslugify';
9
+ import { breadcrumbsWithoutProduct } from '@jetshop/core/analytics/utils/breadcrumbsWithoutProduct';
8
10
  export default function useRemoveFromCart({ removeFromCartMutation, cartQuery }) {
9
11
  throwErrorInDev(!cartQuery, `You forgot to pass 'cartQuery' to useRemoveFromCart`);
10
12
  const { cartId, setCartId } = useContext(CartIdContext);
@@ -14,7 +16,14 @@ export default function useRemoveFromCart({ removeFromCartMutation, cartQuery })
14
16
  onCompleted: () => localStorage.setItem('cartChange', '1')
15
17
  });
16
18
  function removeFromCart({ itemId, product }) {
17
- track(trackProductEvent({ action: 'remove', product }));
19
+ var _a, _b, _c;
20
+ track(trackProductEvent({
21
+ action: 'remove',
22
+ product,
23
+ category: breadcrumbsWithoutProduct((_a = product.primaryRoute) === null || _a === void 0 ? void 0 : _a.breadcrumbs) ||
24
+ unSlugify((_c = (_b = product.canonicalCategory) === null || _b === void 0 ? void 0 : _b.primaryRoute) === null || _c === void 0 ? void 0 : _c.path) ||
25
+ ''
26
+ }));
18
27
  return removeFromCartMutationFn({
19
28
  variables: {
20
29
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"useRemoveFromCart.js","sourceRoot":"","sources":["useRemoveFromCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAM5D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,sBAAsB,EACtB,SAAS,EACW;IACpB,eAAe,CACb,CAAC,SAAS,EACV,qDAAqD,CACtD,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,wBAAwB,CAAC,GAAG,WAAW,CAAC,sBAAsB,EAAE;QACrE,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;KAC3D,CAAC,CAAC;IACH,SAAS,cAAc,CAAC,EACtB,MAAM,EACN,OAAO,EAIR;QACC,KAAK,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,wBAAwB,CAAC;YAC9B,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,MAAM;oBACN,MAAM;iBACP;aACF;YACD,kBAAkB,EAAE;gBAClB,cAAc,EAAE;oBACd,IAAI,EAAE,mCAAmC,CAAC;wBACxC,MAAM;wBACN,MAAM;wBACN,MAAM;wBACN,SAAS;wBACT,SAAS;qBACV,CAAC;oBACF,UAAU,EAAE,cAAc;iBAC3B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"useRemoveFromCart.js","sourceRoot":"","sources":["useRemoveFromCart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAMpG,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,sBAAsB,EACtB,SAAS,EACW;IACpB,eAAe,CACb,CAAC,SAAS,EACV,qDAAqD,CACtD,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,wBAAwB,CAAC,GAAG,WAAW,CAAC,sBAAsB,EAAE;QACrE,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;KAC3D,CAAC,CAAC;IACH,SAAS,cAAc,CAAC,EACtB,MAAM,EACN,OAAO,EAIR;;QACC,KAAK,CACH,iBAAiB,CAAC;YAChB,MAAM,EAAE,QAAQ;YAChB,OAAO;YACP,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,wBAAwB,CAAC;YAC9B,SAAS,EAAE;gBACT,KAAK,EAAE;oBACL,MAAM;oBACN,MAAM;iBACP;aACF;YACD,kBAAkB,EAAE;gBAClB,cAAc,EAAE;oBACd,IAAI,EAAE,mCAAmC,CAAC;wBACxC,MAAM;wBACN,MAAM;wBACN,MAAM;wBACN,SAAS;wBACT,SAAS;qBACV,CAAC;oBACF,UAAU,EAAE,cAAc;iBAC3B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC"}
@@ -16,7 +16,7 @@ export function getBrand(product, brandField = 'brand') {
16
16
  }
17
17
  }
18
18
  export const OpenGraphProductData = ({ product, initialVariant, optionalFields = [] }) => {
19
- var _a, _b, _c;
19
+ var _a, _b, _c, _d;
20
20
  const { selectedVariant: variant } = useProductVariants(product, {
21
21
  initialVariant
22
22
  });
@@ -36,9 +36,9 @@ export const OpenGraphProductData = ({ product, initialVariant, optionalFields =
36
36
  property: 'og:price:currency',
37
37
  content: selectedChannel.currency.format.code
38
38
  },
39
- { property: 'product:availability', content: prod.stockStatus.buyable },
39
+ { property: 'product:availability', content: (_c = prod.stockStatus) === null || _c === void 0 ? void 0 : _c.buyable },
40
40
  { property: 'product:brand', content: brand },
41
- { property: 'product:category', content: (_c = product.canonicalCategory) === null || _c === void 0 ? void 0 : _c.name }
41
+ { property: 'product:category', content: (_d = product.canonicalCategory) === null || _d === void 0 ? void 0 : _d.name }
42
42
  ].filter((tag) => !overrides.includes(tag.property));
43
43
  return (React.createElement(Helmet, null,
44
44
  defaultTags.map((tag) => {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenGraphProductData.js","sourceRoot":"","sources":["OpenGraphProductData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenGraphProductData.js","sourceRoot":"","sources":["OpenGraphProductData.tsx"],"names":[],"mappings":"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"}
@@ -1,45 +1,55 @@
1
1
  import { useQuery } from '@apollo/react-hooks';
2
- import { useContext, useEffect } from 'react';
2
+ import { useContext, useEffect, useRef } from 'react';
3
3
  import throwErrorInDev from '../../helpers/throwErrorInDev';
4
4
  import { CartIdContext } from '../Cart/CartIdContext';
5
5
  import debounce from 'lodash.debounce';
6
6
  import { useTracker } from '../../analytics/Analytics';
7
7
  import { trackCartEvent } from '../../analytics/tracking';
8
- export function useCart(cartQuery) {
8
+ // We only want a single tracker to be attached even if we use `useCart` in multiple places in our app
9
+ let trackerAttached = false;
10
+ function useSingleCartTracker(result) {
9
11
  var _a;
12
+ const track = useTracker();
13
+ useEffect(() => {
14
+ var _a, _b;
15
+ if (!trackerAttached) {
16
+ trackerAttached = true;
17
+ if (result.loading) {
18
+ }
19
+ else if ((_a = result.data) === null || _a === void 0 ? void 0 : _a.cart) {
20
+ if (result.data.cart.__optimistic) {
21
+ }
22
+ else {
23
+ track(trackCartEvent({ cart: (_b = result.data) === null || _b === void 0 ? void 0 : _b.cart }));
24
+ }
25
+ }
26
+ return () => {
27
+ trackerAttached = false;
28
+ };
29
+ }
30
+ }, [result.loading, (_a = result.data) === null || _a === void 0 ? void 0 : _a.cart, track]);
31
+ }
32
+ export function useCart(cartQuery) {
10
33
  const { cartId } = useContext(CartIdContext);
11
34
  const result = useQuery(cartQuery, {
12
35
  variables: { cartId },
13
- skip: __IN_SERVER__,
36
+ skip: __IN_SERVER__
14
37
  });
15
- const track = useTracker();
16
- useEffect(() => {
17
- var _a;
18
- if (result.loading) {
19
- return;
20
- }
21
- else {
22
- track(trackCartEvent({
23
- cart: (_a = result.data) === null || _a === void 0 ? void 0 : _a.cart,
24
- }));
25
- }
26
- }, [(_a = result.data) === null || _a === void 0 ? void 0 : _a.cart, track]);
38
+ useSingleCartTracker(result);
27
39
  return { result, cart: result.data && result.data.cart };
28
40
  }
29
41
  const useLocalStorageCart = (refetch) => {
30
- let debounceRefetch = null;
42
+ const debounceRefetch = useRef(null);
31
43
  useEffect(() => {
32
44
  const listener = (e) => {
33
45
  const localStorageCart = localStorage.getItem('cartChange');
34
46
  if (e.storageArea === localStorage &&
35
47
  e.key === 'cartChange' &&
36
48
  localStorageCart) {
37
- if (debounceRefetch)
38
- debounceRefetch.cancel();
39
- debounceRefetch = debounce(() => {
40
- refetch();
41
- }, 1500);
42
- debounceRefetch();
49
+ if (debounceRefetch.current)
50
+ debounceRefetch.current.cancel();
51
+ debounceRefetch.current = debounce(() => refetch(), 1500);
52
+ debounceRefetch.current();
43
53
  localStorage.removeItem('cartChange');
44
54
  }
45
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CartProvider.js","sourceRoot":"","sources":["CartProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAiB1D,MAAM,UAAU,OAAO,CAAC,SAAuB;;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAkB,SAAS,EAAE;QAClD,SAAS,EAAE,EAAE,MAAM,EAAE;QACrB,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,OAAO;SACR;aAAM;YACL,KAAK,CACH,cAAc,CAAC;gBACb,IAAI,EAAE,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI;aACxB,CAAC,CACH,CAAC;SACH;IACH,CAAC,EAAE,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAE/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,OAAY,EAAE,EAAE;IAC3C,IAAI,eAAe,GAAQ,IAAI,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,CAAC,CAAe,EAAE,EAAE;YACnC,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5D,IACE,CAAC,CAAC,WAAW,KAAK,YAAY;gBAC9B,CAAC,CAAC,GAAG,KAAK,YAAY;gBACtB,gBAAgB,EAChB;gBACA,IAAI,eAAe;oBAAE,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC9C,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;oBAC9B,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,eAAe,EAAE,CAAC;gBAClB,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAqB;IACzE,eAAe,CAAC,CAAC,KAAK,EAAE,4CAA4C,CAAC,CAAC;IAEtE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"CartProvider.js","sourceRoot":"","sources":["CartProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  import { Route } from '../../types';
3
- declare function StructuredBreadcrumbData({ parents, breadcrumbText }: {
4
- parents: Route[];
5
- breadcrumbText: string;
3
+ interface Crumb {
4
+ text: string;
5
+ path: string | null;
6
+ }
7
+ declare function StructuredBreadcrumbData({ parents, breadcrumbText, breadcrumbs }: {
8
+ breadcrumbs?: Crumb[];
9
+ parents?: Route[];
10
+ breadcrumbText?: string;
6
11
  }): JSX.Element;
7
12
  export { StructuredBreadcrumbData };
@@ -1,36 +1,55 @@
1
1
  import React, { useContext } from 'react';
2
2
  import ChannelContext from '../ChannelContext';
3
3
  import { StructuredData } from './StructuredData';
4
- function StructuredBreadcrumbData({ parents, breadcrumbText }) {
4
+ function StructuredBreadcrumbData({ parents, breadcrumbText, breadcrumbs }) {
5
5
  const { selectedChannel } = useContext(ChannelContext);
6
- let mappedParents = [];
7
- if (parents && parents.length > 0) {
8
- mappedParents = parents.map((parent, index) => {
9
- var _a;
10
- return {
11
- '@type': 'ListItem',
12
- position: parents.length - index,
13
- name: (_a = parent.object) === null || _a === void 0 ? void 0 : _a.breadcrumbText.toString(),
14
- item: `${selectedChannel.url}${parent.path}`
15
- };
16
- });
17
- mappedParents.reverse();
6
+ if (breadcrumbs) {
18
7
  const data = {
19
8
  '@context': 'https://schema.org',
20
9
  '@type': 'BreadcrumbList',
21
- itemListElement: [
22
- ...mappedParents,
23
- {
24
- '@type': 'ListItem',
25
- position: parents.length + 1,
26
- name: breadcrumbText.toString()
27
- }
28
- ]
10
+ itemListElement: breadcrumbs
11
+ .filter((crumb) => crumb.text)
12
+ .map((crumb, index) => ({
13
+ '@type': 'ListItem',
14
+ position: index + 1,
15
+ name: crumb.text,
16
+ item: crumb.path ? `${selectedChannel.url}${crumb.path}` : undefined
17
+ }))
29
18
  };
30
19
  return React.createElement(StructuredData, { json: data });
31
20
  }
32
- else
33
- return null;
21
+ else {
22
+ // Deprecated, remove in next major
23
+ let mappedParents = [];
24
+ if (parents && parents.length > 0) {
25
+ mappedParents = parents
26
+ .filter((parent) => { var _a; return (_a = parent.object) === null || _a === void 0 ? void 0 : _a.breadcrumbText; })
27
+ .map((parent, index) => {
28
+ return {
29
+ '@type': 'ListItem',
30
+ position: parents.length - index,
31
+ name: parent.object.breadcrumbText.toString(),
32
+ item: `${selectedChannel.url}${parent.path}`
33
+ };
34
+ });
35
+ mappedParents.reverse();
36
+ const data = {
37
+ '@context': 'https://schema.org',
38
+ '@type': 'BreadcrumbList',
39
+ itemListElement: [
40
+ ...mappedParents,
41
+ {
42
+ '@type': 'ListItem',
43
+ position: parents.length + 1,
44
+ name: breadcrumbText.toString()
45
+ }
46
+ ]
47
+ };
48
+ return React.createElement(StructuredData, { json: data });
49
+ }
50
+ else
51
+ return null;
52
+ }
34
53
  }
35
54
  export { StructuredBreadcrumbData };
36
55
  //# sourceMappingURL=StructuredBreadcrumbData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StructuredBreadcrumbData.js","sourceRoot":"","sources":["StructuredBreadcrumbData.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,SAAS,wBAAwB,CAAC,EAChC,OAAO,EACP,cAAc,EAIf;IACC,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,aAAa,GAAe,EAAE,CAAC;IACnC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACjC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;YAC5C,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK;gBAChC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,0CAAE,cAAc,CAAC,QAAQ,EAAE;gBAC9C,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE;aAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,CAAC;QAExB,MAAM,IAAI,GAAgC;YACxC,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE;gBACf,GAAG,aAAa;gBAChB;oBACE,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;oBAC5B,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;iBAChC;aACF;SACF,CAAC;QACF,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;KACvC;;QAAM,OAAO,IAAI,CAAC;AACrB,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"StructuredBreadcrumbData.js","sourceRoot":"","sources":["StructuredBreadcrumbData.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,SAAS,wBAAwB,CAAC,EAChC,OAAO,EACP,cAAc,EACd,WAAW,EAKZ;IACC,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEvD,IAAI,WAAW,EAAE;QACf,MAAM,IAAI,GAAgC;YACxC,UAAU,EAAE,oBAAoB;YAChC,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,WAAW;iBACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBAC7B,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtB,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,KAAK,GAAG,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;aACrE,CAAC,CAAC;SACN,CAAC;QAEF,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;KACvC;SAAM;QACL,mCAAmC;QACnC,IAAI,aAAa,GAAe,EAAE,CAAC;QACnC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACjC,aAAa,GAAG,OAAO;iBACpB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,cAAc,CAAA,EAAA,CAAC;iBACjD,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACrB,OAAO;oBACL,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK;oBAChC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAC7C,IAAI,EAAE,GAAG,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE;iBAC7C,CAAC;YACJ,CAAC,CAAC,CAAC;YACL,aAAa,CAAC,OAAO,EAAE,CAAC;YAExB,MAAM,IAAI,GAAgC;gBACxC,UAAU,EAAE,oBAAoB;gBAChC,OAAO,EAAE,gBAAgB;gBACzB,eAAe,EAAE;oBACf,GAAG,aAAa;oBAChB;wBACE,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;wBAC5B,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;qBAChC;iBACF;aACF,CAAC;YACF,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;SACvC;;YAAM,OAAO,IAAI,CAAC;KACpB;AACH,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -14,7 +14,7 @@ const StructuredProductData = ({ product, initialVariant, extraFields = {} }) =>
14
14
  '@type': 'Product',
15
15
  name: product.name,
16
16
  description: (product === null || product === void 0 ? void 0 : product.description) || (product === null || product === void 0 ? void 0 : product.shortDescription),
17
- image: product.images.map(image => image.url),
17
+ image: (product.images || []).map((image) => image.url),
18
18
  mpn: (product === null || product === void 0 ? void 0 : product.barcode) || product.articleNumber,
19
19
  sku: product.articleNumber,
20
20
  productID: product.articleNumber,
@@ -31,7 +31,7 @@ const StructuredProductData = ({ product, initialVariant, extraFields = {} }) =>
31
31
  };
32
32
  if (variant) {
33
33
  baseProductData = Object.assign(Object.assign({}, baseProductData), { image: (variant === null || variant === void 0 ? void 0 : variant.images.length)
34
- ? variant.images.map(image => image.url)
34
+ ? variant.images.map((image) => image.url)
35
35
  : baseProductData.image, sku: (variant === null || variant === void 0 ? void 0 : variant.articleNumber) || baseProductData.sku, mpn: (variant === null || variant === void 0 ? void 0 : variant.barcode) || (variant === null || variant === void 0 ? void 0 : variant.articleNumber), offers: Object.assign(Object.assign({}, baseProductData.offers), { price: (_e = variant === null || variant === void 0 ? void 0 : variant.price) === null || _e === void 0 ? void 0 : _e.incVat, availability: (((_f = variant.stockStatus) === null || _f === void 0 ? void 0 : _f.buyable)
36
36
  ? 'http://schema.org/InStock'
37
37
  : 'http://schema.org/OutOfStock') }) });
@@ -1 +1 @@
1
- {"version":3,"file":"StructuredProductData.js","sourceRoot":"","sources":["StructuredProductData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StructuredProductData.js","sourceRoot":"","sources":["StructuredProductData.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ #import "@jetshop/core/data/fragments/BadgeFragment.gql"
2
+ #import "@jetshop/core/data/fragments/ProductPriceFragment.gql"
3
+
4
+ fragment MinimalProductListDetail on CustomerProductList {
5
+ id
6
+ name
7
+ # TODO
8
+ # typeId {...}
9
+ # description
10
+ items {
11
+ variant {
12
+ articleNumber
13
+ }
14
+ product {
15
+ articleNumber
16
+ }
17
+ }
18
+ }
19
+
20
+ fragment VariantDetail on ProductVariant {
21
+ id
22
+ articleNumber
23
+ values
24
+ stockStatus {
25
+ buyable
26
+ text
27
+ }
28
+ images {
29
+ modifiedDate
30
+ alt
31
+ title
32
+ url
33
+ }
34
+ }
35
+
36
+ fragment VariantsDetail on ProductVariants {
37
+ options {
38
+ name
39
+ values
40
+ }
41
+ values {
42
+ ...VariantDetail
43
+ }
44
+ }
45
+
46
+ fragment ProductDetail on Product {
47
+ id
48
+ articleNumber
49
+ name
50
+ subName
51
+ hasConfigurations
52
+ hasVariants
53
+ isPreOrder
54
+ isPackage
55
+ stockStatus {
56
+ buyable
57
+ text
58
+ }
59
+ primaryRoute {
60
+ id
61
+ path
62
+ slug
63
+ }
64
+ ...ProductPrice
65
+ badges {
66
+ ...Badge
67
+ }
68
+ images {
69
+ modifiedDate
70
+ alt
71
+ title
72
+ url
73
+ }
74
+ variants {
75
+ ...VariantsDetail
76
+ }
77
+ }
78
+
79
+ fragment ProductListFragment on CustomerProductList {
80
+ id
81
+ description
82
+ name
83
+ shareToken
84
+ items {
85
+ quantity
86
+ description
87
+ product {
88
+ ...ProductDetail
89
+ }
90
+ variant {
91
+ ...VariantDetail
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,18 @@
1
+ fragment RouteMeta on Route {
2
+ id
3
+ path
4
+ slug
5
+ parents {
6
+ id
7
+ path
8
+ slug
9
+ }
10
+ canonicalPath
11
+ alternateRoutes {
12
+ channelId
13
+ culture
14
+ route
15
+ alias
16
+ }
17
+ breadcrumbs
18
+ }
@@ -0,0 +1,18 @@
1
+ #import "@jetshop/core/data/fragments/ProductListsFragments.gql"
2
+
3
+ ## Create a product list
4
+ mutation CreateProductList($input: CreateCustomerProductListInput!) {
5
+ createCustomerProductList(input: $input) {
6
+ success
7
+ customerProductList {
8
+ ...MinimalProductListDetail
9
+ }
10
+ }
11
+ }
12
+
13
+ ## delete product list
14
+ mutation DeleteProductList($id: ID) {
15
+ deleteCustomerProductList(id: $id) {
16
+ success
17
+ }
18
+ }
@@ -0,0 +1,8 @@
1
+ #import "@jetshop/core/data/fragments/ProductListsFragments.gql"
2
+
3
+ ## query all lists
4
+ query ProductLists {
5
+ customerProductLists {
6
+ ...ProductListFragment
7
+ }
8
+ }
package/dependencies.d.ts CHANGED
@@ -11,7 +11,7 @@ declare module '@jetshop/intl/config';
11
11
  declare module 'store-css';
12
12
  declare module 'dnscache';
13
13
  declare module 'isbot' {
14
- export default function(userAgent: string): boolean;
14
+ export default function (userAgent: string): boolean;
15
15
  }
16
16
  declare module '*.gql' {
17
17
  import { DocumentNode } from 'graphql';
@@ -32,6 +32,15 @@ declare module '@jetshop/core/data/mutations/accountMutations.gql' {
32
32
  export const resetRequest: DocumentNode;
33
33
  }
34
34
 
35
+ declare module '@jetshop/core/data/mutations/productListMutations.gql' {
36
+ export const CreateProductList: DocumentNode;
37
+ export const DeleteProductList: DocumentNode;
38
+ }
39
+
40
+ declare module '@jetshop/core/data/queries/ProductLists.gql' {
41
+ export const ProductLists: DocumentNode;
42
+ }
43
+
35
44
  declare module '*.svg' {
36
45
  import React = require('react');
37
46
 
@@ -0,0 +1 @@
1
+ export declare function isRelativeUrl(url?: string): boolean;
@@ -0,0 +1,5 @@
1
+ export function isRelativeUrl(url) {
2
+ console.log(url);
3
+ return url && !url.startsWith('http://') && !url.startsWith('https://');
4
+ }
5
+ //# sourceMappingURL=isRelativeUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRelativeUrl.js","sourceRoot":"","sources":["isRelativeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC"}
@@ -6,10 +6,10 @@ export declare function usePackageProductItem(item: PackageItem, updateItem: Upd
6
6
  stockStatus: import("@jetshop/ui/Stock/StockStatusContainer").StockStatusContainerRender;
7
7
  variantHandler: {
8
8
  selectedVariant: import("../../types").ProductVariant;
9
- validation: "invalid" | "outOfStock" | "valid" | "incomplete";
9
+ validation: import("../useProductVariants/useProductVariants").VariantValidation;
10
10
  getSelectedValue: (option: import("../../types").ProductVariantOption) => string;
11
11
  selectValue: (value: string, option: import("../../types").ProductVariantOption) => void;
12
- validateSelection: (value: string, option: import("../../types").ProductVariantOption) => "invalid" | "outOfStock" | "valid" | "incomplete";
12
+ validateSelection: (value: string, option: import("../../types").ProductVariantOption) => import("../useProductVariants/useProductVariants").VariantValidation;
13
13
  getVariantForSelection: (value: string, option: import("../../types").ProductVariantOption) => import("../../types").ProductVariant;
14
14
  missingOptions: import("../../types").ProductVariantOption[];
15
15
  getMissingOptions: () => import("../../types").ProductVariantOption[];