@jetshop/template-trend 5.12.2 → 5.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ .preventBodyScrollStyle_p1chftlb{overflow:hidden;}
@@ -0,0 +1 @@
1
+ .PaginationWrapper_p1arddu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetshop/template-trend",
3
- "version": "5.12.2",
3
+ "version": "5.13.0",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "build": "react-scripts build",
@@ -45,11 +45,11 @@
45
45
  ]
46
46
  },
47
47
  "dependencies": {
48
- "@jetshop/core": "^5.12.2",
48
+ "@jetshop/core": "^5.13.0",
49
49
  "@jetshop/flight-shortcodes": "^2.0.10",
50
- "@jetshop/intl": "^5.12.2",
51
- "@jetshop/react-scripts": "^5.12.2",
52
- "@jetshop/ui": "^5.12.2",
50
+ "@jetshop/intl": "^5.13.0",
51
+ "@jetshop/react-scripts": "^5.13.0",
52
+ "@jetshop/ui": "^5.13.0",
53
53
  "@react-google-maps/api": "~1.7.0",
54
54
  "prop-types": "^15.6.2",
55
55
  "react": "^16.9.0",
package/schema.graphql CHANGED
@@ -624,6 +624,11 @@ input CustomerUpdateDeliveryAddressInput {
624
624
  addressName: String
625
625
  }
626
626
 
627
+ input CustomerUpdateExternalAttribute {
628
+ name: String
629
+ value: String
630
+ }
631
+
627
632
  input CustomerUpdateInput {
628
633
  pid: String
629
634
  organizationNumber: String
@@ -631,6 +636,7 @@ input CustomerUpdateInput {
631
636
  deliveryAddresses: [CustomerUpdateDeliveryAddressInput]
632
637
  preferences: CustomerUpdatePreferenceInput
633
638
  consents: [CustomerUpdateConsentInput]
639
+ externalAttributes: [CustomerUpdateExternalAttribute]
634
640
  dynamicContent: String
635
641
  }
636
642
 
@@ -890,6 +896,11 @@ type MultiListFilterList {
890
896
  items: [ListFilterItem]!
891
897
  }
892
898
 
899
+ type MultipleContent {
900
+ notFoundIds: [ID]!
901
+ content: [Content]!
902
+ }
903
+
893
904
  type Mutation {
894
905
  subscribeToStockNotifications(email: String!, articleNumber: String!): Boolean
895
906
 
@@ -1856,6 +1867,11 @@ type Query {
1856
1867
  """Get information on person by Key(personal id number or phone number)"""
1857
1868
  personLookup(key: String!): PersonLookup
1858
1869
 
1870
+ """
1871
+ Returns Content found by list of its IDs. Also not found Content IDs are listed.
1872
+ """
1873
+ content(ids: [String]!): MultipleContent
1874
+
1859
1875
  """get channel by id, null gets default channel"""
1860
1876
  channel(id: String): Channel
1861
1877
 
@@ -2051,6 +2067,11 @@ input SignUpDeliveryAddressInput {
2051
2067
  addressName: String
2052
2068
  }
2053
2069
 
2070
+ input SignUpExternalAttribute {
2071
+ name: String
2072
+ value: String
2073
+ }
2074
+
2054
2075
  input SignUpInput {
2055
2076
  type: CustomerType!
2056
2077
  pid: String
@@ -2064,6 +2085,7 @@ input SignUpInput {
2064
2085
  deliveryAddresses: [SignUpDeliveryAddressInput]
2065
2086
  preferences: SignUpPreferencesInput
2066
2087
  consents: [SignUpConsentInput]
2088
+ externalAttributes: [SignUpExternalAttribute]
2067
2089
  dynamicContent: String
2068
2090
  priceListAccessCode: String
2069
2091
  }
@@ -61,6 +61,7 @@ export function ProductGrid({
61
61
  category = '',
62
62
  loading,
63
63
  className,
64
+ categoryPath,
64
65
  ...rest
65
66
  }) {
66
67
  const track = useTracker();
@@ -86,6 +87,7 @@ export function ProductGrid({
86
87
  product={product}
87
88
  style={{ opacity: loading ? 0.5 : 1 }}
88
89
  list={listName}
90
+ categoryPath={categoryPath}
89
91
  loadImageEagerly={isAboveFold(index)}
90
92
  {...rest}
91
93
  >
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  export function Success({ children, className }) {
5
5
  return (
6
6
  <div className={cx(success, className)}>
7
- <div>{children}</div>
7
+ <div data-testid="success-message">{children}</div>
8
8
  </div>
9
9
  );
10
10
  }
@@ -54,6 +54,7 @@ function ChangePassword() {
54
54
  <PrimaryButton
55
55
  type="submit"
56
56
  disabled={isSubmitting || !isValid}
57
+ data-testid="save-password-button"
57
58
  >
58
59
  {t('Save')}
59
60
  </PrimaryButton>
@@ -120,7 +120,7 @@ const ProductContainer = styled('div')`
120
120
  }
121
121
  `;
122
122
 
123
- const Product = ({ result: { data, loading }, product }) => {
123
+ const Product = ({ result: { data, loading }, product, partialProduct }) => {
124
124
  const initialVariant = useVariantFromUrl();
125
125
  const t = useIntl();
126
126
 
@@ -132,13 +132,17 @@ const Product = ({ result: { data, loading }, product }) => {
132
132
  const { selectedVariant: selectedVariation, getMissingOptions } =
133
133
  variantHandler;
134
134
 
135
+ if (!product) {
136
+ product = partialProduct;
137
+ }
135
138
  // Return early if there is no product
136
- if (!product)
139
+ if (!product) {
137
140
  return (
138
141
  <ProductContainer>
139
142
  <ProductPageLoadingState />
140
143
  </ProductContainer>
141
144
  );
145
+ }
142
146
 
143
147
  const images = product.images ?? [];
144
148
  const parents = getParentOrCanonicalRoute(data?.route?.parents, product);
@@ -75,6 +75,7 @@ const config = {
75
75
  Category: [LoadableStandardCategoryPage, LoadableWindowedCategoryPage],
76
76
  Page: [ContentPage]
77
77
  }
78
- }
78
+ },
79
+ usePrimaryRouteForProducts: false
79
80
  };
80
81
  export default config;
@@ -1,7 +0,0 @@
1
- .ScrollWrapper_s140peh{margin:0 -1.5rem;padding:0 1.5rem 3rem;}@media (max-width:49.99rem){.ScrollWrapper_s140peh{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}}@media (max-width:39.99rem){.ScrollWrapper_s140peh{margin:0 0;padding:0 1rem 3rem;}}
2
- .CategoriesWrapper_c1o22ktz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-right:-0.5rem;margin-left:-0.5rem;}.CategoriesWrapper_c1o22ktz:hover > a > div{opacity:0.8;}@media (max-width:49.99rem){.CategoriesWrapper_c1o22ktz > a{-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:160px;}}
3
- .CategoryCard_c11pqhux{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:#ffffff;box-shadow:4px 8px 32px rgba(0,0,0,0.1);-webkit-transition:all 250ms ease-in-out;transition:all 250ms ease-in-out;width:100%;height:100%;position:relative;}
4
- .CardPaddingWrapper_c1l548id{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-ms-flex-pack:stretch;justify-content:stretch;width:50%;padding-left:0.5rem;padding-right:0.5rem;max-width:16rem;-webkit-text-decoration:none;text-decoration:none;}@media (min-width:50rem){.CardPaddingWrapper_c1l548id{width:33.33333333333333%;}}@media (min-width:64rem){.CardPaddingWrapper_c1l548id{width:20%;}}.CardPaddingWrapper_c1l548id:hover > div,.CardPaddingWrapper_c1l548id:focus > div,.CardPaddingWrapper_c1l548id:active > div{opacity:1 !important;box-shadow:4px 8px 32px rgba(0,0,0,0.1), 4px 8px 40px rgba(0,0,0,0.1);-webkit-transform:translate(0,-2px);-ms-transform:translate(0,-2px);transform:translate(0,-2px);-webkit-transition-duration:100ms;transition-duration:100ms;z-index:2;}
5
- .CategoryName_cmpnef6{text-align:center;font-weight:bold;font-size:16px;text-transform:uppercase;color:#000;-webkit-text-decoration:none;text-decoration:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;height:3rem;}@media (min-width:50rem){.CategoryName_cmpnef6{height:5rem;}}
6
- .CategoriesHeader_cmtbqnf{margin-bottom:1rem;font-size:24px;}@media (max-width:39.99rem){.CategoriesHeader_cmtbqnf{font-size:18px;margin-left:1rem;}}
7
-
@@ -1 +0,0 @@
1
- .preventBodyScrollStyle_p1lthaoa{overflow:hidden;}
@@ -1,11 +0,0 @@
1
- {
2
- "configurations": [
3
- {
4
- "type": "node-terminal",
5
- "name": "Run Script: start",
6
- "request": "launch",
7
- "command": "yarn run start",
8
- "cwd": "${workspaceFolder}"
9
- }
10
- ]
11
- }