thm-p3-configurator 0.0.394 → 0.0.396
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.
- package/dist/src/shared/__api__/queries.js +1 -3
- package/dist/src/shared/__helpers__/image.js +28 -1
- package/dist/src/shared/__helpers__/product.js +2 -5
- package/dist/src/shared/__helpers__/singleOrderArticles.js +1 -3
- package/package.json +1 -1
- package/dist/src/shared/__components__/ProductCard/ProductCardDiscountAlert.js +0 -57
- package/dist/src/shared/__components__/ProductCard/ProductCardImage.js +0 -28
- package/dist/src/shared/__components__/ProductCard/ProductCardPrice.js +0 -37
- package/dist/src/shared/__components__/ProductCard/ProductCardRibbon.js +0 -28
- package/dist/src/shared/__components__/ProductCard/ProductCardSpecifications.js +0 -77
- package/dist/src/shared/__components__/ProductCard/ProductCardUsps.js +0 -82
- package/dist/src/shared/__components__/ProductCard/index.js +0 -228
- package/dist/src/shared/__components__/ProductTable/ProductTableEditableRow.js +0 -66
- package/dist/src/shared/__components__/ProductTable/ProductTableHead.js +0 -32
- package/dist/src/shared/__components__/ProductTable/ProductTableSection.js +0 -25
- package/dist/src/shared/__components__/ProductTable/ProductTableSectionTotal.js +0 -46
- package/dist/src/shared/__components__/ProductTable/ProductTableStaticRow.js +0 -47
- package/dist/src/shared/__components__/ProductTable/ProductTableTotal.js +0 -41
- package/dist/src/shared/__components__/ProductTable/index.js +0 -127
- package/dist/src/shared/__components__/SingleOrderCartCard.js +0 -79
- package/dist/src/shared/__components__/SingleOrderProductCard.js +0 -356
- package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +0 -73
- package/dist/src/shared/__components__/Spinners/InlineSpinner.js +0 -26
- package/dist/src/shared/__components__/Spinners/TextSpinner.js +0 -31
- package/dist/src/shared/__components__/UspsList.js +0 -27
- package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +0 -990
- package/dist/src/shared/__constants__/__tests__/index.test.js +0 -20
- package/dist/src/shared/__constants__/cartTable.js +0 -35
- package/dist/src/shared/__constants__/cookiebot.js +0 -7
- package/dist/src/shared/__constants__/index.js +0 -380
- package/dist/src/shared/__constants__/sentry.js +0 -20
- package/dist/src/shared/__containers__/ANWBMembershipInput.js +0 -170
- package/dist/src/shared/__containers__/AppointmentForm.js +0 -535
- package/dist/src/shared/__containers__/BoardComputerCard.js +0 -139
- package/dist/src/shared/__containers__/BottomNavigationBar.js +0 -182
- package/dist/src/shared/__containers__/DiscountProductsSelector.js +0 -151
- package/dist/src/shared/__containers__/ExitIntentModal.js +0 -403
- package/dist/src/shared/__containers__/ExtraProductsOverview.js +0 -202
- package/dist/src/shared/__containers__/LicensePlateForm.js +0 -169
- package/dist/src/shared/__containers__/ManualSelectionForm.js +0 -277
- package/dist/src/shared/__containers__/ProductCartSide.js +0 -362
- package/dist/src/shared/__containers__/ProductDiscountCard.js +0 -169
- package/dist/src/shared/__containers__/ProductsCartOverview.js +0 -914
- package/dist/src/shared/__containers__/ProductsOverview.js +0 -440
- package/dist/src/shared/__containers__/QuestionsForm.js +0 -494
- package/dist/src/shared/__containers__/QuotationForm.js +0 -520
- package/dist/src/shared/__containers__/QuotationSuccessModal.js +0 -34
- package/dist/src/shared/__containers__/SentryWrapper.js +0 -60
- package/dist/src/shared/__containers__/StyleWrapper.js +0 -81
- package/dist/src/shared/__containers__/VehicleData.js +0 -218
- package/dist/src/shared/__containers__/internal/DirectVehicleSelectorModal.js +0 -125
|
@@ -308,9 +308,7 @@ const useSingleOrderArticles = exports.useSingleOrderArticles = function useSing
|
|
|
308
308
|
totalArticles: 0
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
|
-
const currentArticles = await (0, _singleOrderArticles.enrichArticlesWithBrandsAndPrices)(articles, branchId || null, branchId ? singleOrderFormula : singleOrderFormula || 'THL'
|
|
312
|
-
useArticleNumberForPricing: true
|
|
313
|
-
});
|
|
311
|
+
const currentArticles = await (0, _singleOrderArticles.enrichArticlesWithBrandsAndPrices)(articles, branchId || null, branchId ? singleOrderFormula : singleOrderFormula || 'THL');
|
|
314
312
|
const pricedArticles = currentArticles.filter(article => {
|
|
315
313
|
const {
|
|
316
314
|
priceExclVat,
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.includes.js");
|
|
3
4
|
require("core-js/modules/es.json.stringify.js");
|
|
5
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
4
6
|
require("core-js/modules/es.regexp.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.includes.js");
|
|
8
|
+
require("core-js/modules/es.string.replace.js");
|
|
5
9
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
10
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
7
11
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
@@ -12,8 +16,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
12
16
|
value: true
|
|
13
17
|
});
|
|
14
18
|
exports.getImageFromHyper = void 0;
|
|
19
|
+
require("core-js/modules/es.array.includes.js");
|
|
15
20
|
require("core-js/modules/es.json.stringify.js");
|
|
21
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
16
22
|
require("core-js/modules/es.regexp.to-string.js");
|
|
23
|
+
require("core-js/modules/es.string.includes.js");
|
|
24
|
+
require("core-js/modules/es.string.replace.js");
|
|
17
25
|
var _buffer = require("buffer");
|
|
18
26
|
function ownKeys(e, r) {
|
|
19
27
|
var t = Object.keys(e);
|
|
@@ -58,6 +66,24 @@ function _toPrimitive(t, r) {
|
|
|
58
66
|
}
|
|
59
67
|
return ("string" === r ? String : Number)(t);
|
|
60
68
|
}
|
|
69
|
+
const HYPER_IMAGES_STAGING_ORIGIN = 'https://images.hyper1.net';
|
|
70
|
+
const HYPER_IMAGES_PRODUCTION_ORIGIN = 'https://images.hyperportal.org';
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Staging hosts use "stg-" in the hostname (see terraform); otherwise production CDN.
|
|
74
|
+
*/
|
|
75
|
+
const resolveHyperImagesOrigin = () => {
|
|
76
|
+
var _window$location;
|
|
77
|
+
if (typeof window !== 'undefined' && (_window$location = window.location) !== null && _window$location !== void 0 && _window$location.hostname) {
|
|
78
|
+
const host = window.location.hostname.toLowerCase();
|
|
79
|
+
if (host.includes('stg-') || host === 'localhost' || host === '127.0.0.1') {
|
|
80
|
+
return HYPER_IMAGES_STAGING_ORIGIN;
|
|
81
|
+
}
|
|
82
|
+
return HYPER_IMAGES_PRODUCTION_ORIGIN;
|
|
83
|
+
}
|
|
84
|
+
return HYPER_IMAGES_STAGING_ORIGIN;
|
|
85
|
+
};
|
|
86
|
+
|
|
61
87
|
/**
|
|
62
88
|
* @description Creates an image URL based with an imageId originating from Hyper API
|
|
63
89
|
*/
|
|
@@ -83,6 +109,7 @@ const getImageFromHyper = _ref => {
|
|
|
83
109
|
},
|
|
84
110
|
outputFormat: 'webp'
|
|
85
111
|
};
|
|
86
|
-
|
|
112
|
+
const base = resolveHyperImagesOrigin().replace(/\/$/, '');
|
|
113
|
+
return "".concat(base, "/").concat(_buffer.Buffer.from(JSON.stringify(request), 'utf-8').toString('base64'));
|
|
87
114
|
};
|
|
88
115
|
exports.getImageFromHyper = getImageFromHyper;
|
|
@@ -27,7 +27,6 @@ require("core-js/modules/esnext.iterator.map.js");
|
|
|
27
27
|
require("core-js/modules/esnext.iterator.some.js");
|
|
28
28
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
29
29
|
var _constants__ = require("../__constants__");
|
|
30
|
-
var _cartTable = require("../__constants__/cartTable");
|
|
31
30
|
function ownKeys(e, r) {
|
|
32
31
|
var t = Object.keys(e);
|
|
33
32
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -127,11 +126,9 @@ const firstFiniteNumber = function firstFiniteNumber() {
|
|
|
127
126
|
const resolveSingleOrderArticlePrices = exports.resolveSingleOrderArticlePrices = function resolveSingleOrderArticlePrices() {
|
|
128
127
|
var _article$locationPric, _article$consumerPric, _article$locationPric2, _article$consumerPric2;
|
|
129
128
|
let article = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
130
|
-
const fallbackInclVat = firstFiniteNumber(article === null || article === void 0 ? void 0 : article.price);
|
|
131
|
-
const fallbackExclVat = fallbackInclVat ? fallbackInclVat / _cartTable.VAT_RATE : 0;
|
|
132
129
|
return {
|
|
133
|
-
priceExclVat: firstFiniteNumber(article === null || article === void 0 || (_article$locationPric = article.locationPrices) === null || _article$locationPric === void 0 ? void 0 : _article$locationPric.priceExclVat, article === null || article === void 0 || (_article$consumerPric = article.consumerPrices) === null || _article$consumerPric === void 0 ? void 0 : _article$consumerPric.priceExclVat
|
|
134
|
-
priceInclVat: firstFiniteNumber(article === null || article === void 0 || (_article$locationPric2 = article.locationPrices) === null || _article$locationPric2 === void 0 ? void 0 : _article$locationPric2.priceInclVat, article === null || article === void 0 || (_article$consumerPric2 = article.consumerPrices) === null || _article$consumerPric2 === void 0 ? void 0 : _article$consumerPric2.priceInclVat
|
|
130
|
+
priceExclVat: firstFiniteNumber(article === null || article === void 0 || (_article$locationPric = article.locationPrices) === null || _article$locationPric === void 0 ? void 0 : _article$locationPric.priceExclVat, article === null || article === void 0 || (_article$consumerPric = article.consumerPrices) === null || _article$consumerPric === void 0 ? void 0 : _article$consumerPric.priceExclVat),
|
|
131
|
+
priceInclVat: firstFiniteNumber(article === null || article === void 0 || (_article$locationPric2 = article.locationPrices) === null || _article$locationPric2 === void 0 ? void 0 : _article$locationPric2.priceInclVat, article === null || article === void 0 || (_article$consumerPric2 = article.consumerPrices) === null || _article$consumerPric2 === void 0 ? void 0 : _article$consumerPric2.priceInclVat)
|
|
135
132
|
};
|
|
136
133
|
};
|
|
137
134
|
|
|
@@ -272,9 +272,7 @@ const fetchArticlesByLicensePlateAndModel = async (filters, formula, branchId) =
|
|
|
272
272
|
const articlesByArticleNumbers = await fetchArticlesByArticleNumbers(articleNumbers, null, false, null, formula);
|
|
273
273
|
const articlesWithParts = modelArticles.map(article => {
|
|
274
274
|
var _articlesByArticleNum;
|
|
275
|
-
return _objectSpread(_objectSpread({}, article), {}
|
|
276
|
-
parts: (_articlesByArticleNum = articlesByArticleNumbers.articles.find(a => a.articleNumber === article.articleNumber)) === null || _articlesByArticleNum === void 0 ? void 0 : _articlesByArticleNum.parts
|
|
277
|
-
});
|
|
275
|
+
return _objectSpread(_objectSpread({}, article), (_articlesByArticleNum = articlesByArticleNumbers.articles.find(a => a.articleNumber === article.articleNumber)) !== null && _articlesByArticleNum !== void 0 ? _articlesByArticleNum : {});
|
|
278
276
|
});
|
|
279
277
|
return {
|
|
280
278
|
articles: articlesWithParts,
|
package/package.json
CHANGED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.weak-map.js");
|
|
4
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
5
|
-
require("core-js/modules/es.weak-map.js");
|
|
6
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.default = void 0;
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _helpers__ = require("../../__helpers__");
|
|
13
|
-
function _getRequireWildcardCache(e) {
|
|
14
|
-
if ("function" != typeof WeakMap) return null;
|
|
15
|
-
var r = new WeakMap(),
|
|
16
|
-
t = new WeakMap();
|
|
17
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
18
|
-
return e ? t : r;
|
|
19
|
-
})(e);
|
|
20
|
-
}
|
|
21
|
-
function _interopRequireWildcard(e, r) {
|
|
22
|
-
if (!r && e && e.__esModule) return e;
|
|
23
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
24
|
-
default: e
|
|
25
|
-
};
|
|
26
|
-
var t = _getRequireWildcardCache(r);
|
|
27
|
-
if (t && t.has(e)) return t.get(e);
|
|
28
|
-
var n = {
|
|
29
|
-
__proto__: null
|
|
30
|
-
},
|
|
31
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
32
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
33
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
34
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
35
|
-
}
|
|
36
|
-
return n.default = e, t && t.set(e, n), n;
|
|
37
|
-
}
|
|
38
|
-
const ProductCardDiscountAlert = _ref => {
|
|
39
|
-
let {
|
|
40
|
-
label,
|
|
41
|
-
price,
|
|
42
|
-
discountedPrice
|
|
43
|
-
} = _ref;
|
|
44
|
-
if (!discountedPrice || !price || discountedPrice >= price) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
const discountLabel = (0, _react.useMemo)(() => {
|
|
48
|
-
if (label) {
|
|
49
|
-
return label;
|
|
50
|
-
}
|
|
51
|
-
return "\u20AC".concat((0, _helpers__.formatPrice)(price - discountedPrice), " Korting");
|
|
52
|
-
}, []);
|
|
53
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
-
className: (0, _helpers__.withStyle)('alert alert-danger card--discount-label')
|
|
55
|
-
}, discountLabel);
|
|
56
|
-
};
|
|
57
|
-
var _default = exports.default = ProductCardDiscountAlert;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _helpers__ = require("../../__helpers__");
|
|
9
|
-
function _interopRequireDefault(e) {
|
|
10
|
-
return e && e.__esModule ? e : {
|
|
11
|
-
default: e
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
const ProductCardImage = _ref => {
|
|
15
|
-
let {
|
|
16
|
-
image,
|
|
17
|
-
isBoardComputer
|
|
18
|
-
} = _ref;
|
|
19
|
-
if (!image) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return /*#__PURE__*/_react.default.createElement("img", {
|
|
23
|
-
src: image,
|
|
24
|
-
className: (0, _helpers__.withStyle)("card__image img-fluid ".concat(isBoardComputer ? 'mb-2' : '')),
|
|
25
|
-
alt: "product afbeelding"
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
var _default = exports.default = ProductCardImage;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _helpers__ = require("../../__helpers__");
|
|
9
|
-
function _interopRequireDefault(e) {
|
|
10
|
-
return e && e.__esModule ? e : {
|
|
11
|
-
default: e
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
const ProductCardPrice = _ref => {
|
|
15
|
-
let {
|
|
16
|
-
price,
|
|
17
|
-
discountedPrice
|
|
18
|
-
} = _ref;
|
|
19
|
-
if (!discountedPrice) {
|
|
20
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
21
|
-
className: (0, _helpers__.withStyle)('card__price')
|
|
22
|
-
}, (0, _helpers__.formatPrice)(price));
|
|
23
|
-
}
|
|
24
|
-
if (discountedPrice < price) {
|
|
25
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
26
|
-
className: (0, _helpers__.withStyle)('card__price')
|
|
27
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
28
|
-
className: (0, _helpers__.withStyle)('strikethrough card-price-label')
|
|
29
|
-
}, (0, _helpers__.formatPrice)(price))), /*#__PURE__*/_react.default.createElement("div", {
|
|
30
|
-
className: (0, _helpers__.withStyle)('card__price text-danger')
|
|
31
|
-
}, (0, _helpers__.formatPrice)(discountedPrice)));
|
|
32
|
-
}
|
|
33
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
-
className: (0, _helpers__.withStyle)('card__price')
|
|
35
|
-
}, (0, _helpers__.formatPrice)(price));
|
|
36
|
-
};
|
|
37
|
-
var _default = exports.default = ProductCardPrice;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _labelBesteKeuze = _interopRequireDefault(require("../../../../public/assets/images/label-beste-keuze.png"));
|
|
9
|
-
var _helpers__ = require("../../__helpers__");
|
|
10
|
-
function _interopRequireDefault(e) {
|
|
11
|
-
return e && e.__esModule ? e : {
|
|
12
|
-
default: e
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
const ProductCardRibbon = _ref => {
|
|
16
|
-
let {
|
|
17
|
-
isRecommended
|
|
18
|
-
} = _ref;
|
|
19
|
-
if (!isRecommended) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return /*#__PURE__*/_react.default.createElement("img", {
|
|
23
|
-
src: _labelBesteKeuze.default,
|
|
24
|
-
className: (0, _helpers__.withStyle)('card-img__best-choice position-absolute'),
|
|
25
|
-
alt: "Beste keuze"
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
var _default = exports.default = ProductCardRibbon;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.array.includes.js");
|
|
4
|
-
require("core-js/modules/es.string.includes.js");
|
|
5
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
Object.defineProperty(exports, "__esModule", {
|
|
10
|
-
value: true
|
|
11
|
-
});
|
|
12
|
-
exports.default = void 0;
|
|
13
|
-
require("core-js/modules/es.array.includes.js");
|
|
14
|
-
require("core-js/modules/es.string.includes.js");
|
|
15
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
16
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
17
|
-
require("core-js/modules/esnext.iterator.find.js");
|
|
18
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
19
|
-
var _react = _interopRequireDefault(require("react"));
|
|
20
|
-
var _constants__ = require("../../__constants__");
|
|
21
|
-
var _helpers__ = require("../../__helpers__");
|
|
22
|
-
function _interopRequireDefault(e) {
|
|
23
|
-
return e && e.__esModule ? e : {
|
|
24
|
-
default: e
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
const ProductCardSpecifications = _ref => {
|
|
28
|
-
let {
|
|
29
|
-
specifications = [],
|
|
30
|
-
className = '',
|
|
31
|
-
excludeKeys = []
|
|
32
|
-
} = _ref;
|
|
33
|
-
if (!specifications.length) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// convert the key to a human readable format
|
|
38
|
-
const convertedSpecifications = specifications.filter(_ref2 => {
|
|
39
|
-
let {
|
|
40
|
-
key
|
|
41
|
-
} = _ref2;
|
|
42
|
-
return key !== 'Weight';
|
|
43
|
-
}).map(_ref3 => {
|
|
44
|
-
let {
|
|
45
|
-
key,
|
|
46
|
-
value
|
|
47
|
-
} = _ref3;
|
|
48
|
-
const translation = _constants__.ARTICLE_SPECS_TRANSLATIONS.find(_ref4 => {
|
|
49
|
-
let {
|
|
50
|
-
key: translationKey
|
|
51
|
-
} = _ref4;
|
|
52
|
-
return translationKey === key;
|
|
53
|
-
});
|
|
54
|
-
return {
|
|
55
|
-
key: (translation === null || translation === void 0 ? void 0 : translation.value) || key,
|
|
56
|
-
value
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
60
|
-
className: (0, _helpers__.withStyle)("col-md-6 list-unstyled product-critera__text mb-2 ".concat(className))
|
|
61
|
-
}, convertedSpecifications.filter(_ref5 => {
|
|
62
|
-
let {
|
|
63
|
-
key
|
|
64
|
-
} = _ref5;
|
|
65
|
-
return !excludeKeys.includes(key);
|
|
66
|
-
}).map(_ref6 => {
|
|
67
|
-
let {
|
|
68
|
-
key,
|
|
69
|
-
value
|
|
70
|
-
} = _ref6;
|
|
71
|
-
return /*#__PURE__*/_react.default.createElement("li", {
|
|
72
|
-
key: key + value,
|
|
73
|
-
className: (0, _helpers__.withStyle)('d-flex justify-content-between card-text__criterea')
|
|
74
|
-
}, Number.isInteger(Number(key)) ? value : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("strong", null, key, ":"), " ", value));
|
|
75
|
-
}));
|
|
76
|
-
};
|
|
77
|
-
var _default = exports.default = ProductCardSpecifications;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _helpers__ = require("../../__helpers__");
|
|
11
|
-
function _interopRequireDefault(e) {
|
|
12
|
-
return e && e.__esModule ? e : {
|
|
13
|
-
default: e
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
const ProductCardUspInclude = _ref => {
|
|
17
|
-
let {
|
|
18
|
-
text
|
|
19
|
-
} = _ref;
|
|
20
|
-
return /*#__PURE__*/_react.default.createElement("li", null, "Geschikt voor ", text);
|
|
21
|
-
};
|
|
22
|
-
const ProductCardUspRemark = _ref2 => {
|
|
23
|
-
let {
|
|
24
|
-
text
|
|
25
|
-
} = _ref2;
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement("li", {
|
|
27
|
-
className: (0, _helpers__.withStyle)('info')
|
|
28
|
-
}, "Opmerking ", text);
|
|
29
|
-
};
|
|
30
|
-
const ProductCardUspExclude = _ref3 => {
|
|
31
|
-
let {
|
|
32
|
-
text
|
|
33
|
-
} = _ref3;
|
|
34
|
-
return /*#__PURE__*/_react.default.createElement("li", {
|
|
35
|
-
className: (0, _helpers__.withStyle)('x-mark')
|
|
36
|
-
}, "Niet geschikt voor ", text);
|
|
37
|
-
};
|
|
38
|
-
const ProductCardUSPS = _ref4 => {
|
|
39
|
-
let {
|
|
40
|
-
usps = [],
|
|
41
|
-
className = ''
|
|
42
|
-
} = _ref4;
|
|
43
|
-
if (!usps.length) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
47
|
-
className: (0, _helpers__.withStyle)("list-check mt-2 col-12 col-md-6 ".concat(className))
|
|
48
|
-
}, usps.map((usp, key) => {
|
|
49
|
-
const {
|
|
50
|
-
type,
|
|
51
|
-
text
|
|
52
|
-
} = usp;
|
|
53
|
-
if (!type || !text) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
switch (type) {
|
|
57
|
-
case 'incl':
|
|
58
|
-
{
|
|
59
|
-
return /*#__PURE__*/_react.default.createElement(ProductCardUspInclude, {
|
|
60
|
-
key: text,
|
|
61
|
-
text: text
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
case 'excl':
|
|
65
|
-
{
|
|
66
|
-
return /*#__PURE__*/_react.default.createElement(ProductCardUspExclude, {
|
|
67
|
-
key: text,
|
|
68
|
-
text: text
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
default:
|
|
72
|
-
case 'remark':
|
|
73
|
-
{
|
|
74
|
-
return /*#__PURE__*/_react.default.createElement(ProductCardUspRemark, {
|
|
75
|
-
key: text,
|
|
76
|
-
text: text
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}));
|
|
81
|
-
};
|
|
82
|
-
var _default = exports.default = ProductCardUSPS;
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.weak-map.js");
|
|
4
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
5
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
6
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
7
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
8
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
-
require("core-js/modules/es.weak-map.js");
|
|
10
|
-
require("core-js/modules/esnext.iterator.constructor.js");
|
|
11
|
-
require("core-js/modules/esnext.iterator.filter.js");
|
|
12
|
-
require("core-js/modules/esnext.iterator.for-each.js");
|
|
13
|
-
Object.defineProperty(exports, "__esModule", {
|
|
14
|
-
value: true
|
|
15
|
-
});
|
|
16
|
-
exports.default = void 0;
|
|
17
|
-
require("core-js/modules/esnext.iterator.map.js");
|
|
18
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
19
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
20
|
-
var _queries = require("../../__api__/queries");
|
|
21
|
-
var _constants__ = require("../../__constants__");
|
|
22
|
-
var _helpers__ = require("../../__helpers__");
|
|
23
|
-
var _singleOrderArticles = require("../../__helpers__/singleOrderArticles");
|
|
24
|
-
var _ProductCardCheckbox = _interopRequireDefault(require("./ProductCardCheckbox"));
|
|
25
|
-
var _ProductCardDescription = _interopRequireDefault(require("./ProductCardDescription"));
|
|
26
|
-
var _ProductCardDiscountAlert = _interopRequireDefault(require("./ProductCardDiscountAlert"));
|
|
27
|
-
var _ProductCardImage = _interopRequireDefault(require("./ProductCardImage"));
|
|
28
|
-
var _ProductCardPrice = _interopRequireDefault(require("./ProductCardPrice"));
|
|
29
|
-
var _ProductCardRibbon = _interopRequireDefault(require("./ProductCardRibbon"));
|
|
30
|
-
var _ProductCardSpecifications = _interopRequireDefault(require("./ProductCardSpecifications"));
|
|
31
|
-
var _ProductCardUsps = _interopRequireDefault(require("./ProductCardUsps"));
|
|
32
|
-
function _interopRequireDefault(e) {
|
|
33
|
-
return e && e.__esModule ? e : {
|
|
34
|
-
default: e
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function _getRequireWildcardCache(e) {
|
|
38
|
-
if ("function" != typeof WeakMap) return null;
|
|
39
|
-
var r = new WeakMap(),
|
|
40
|
-
t = new WeakMap();
|
|
41
|
-
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
42
|
-
return e ? t : r;
|
|
43
|
-
})(e);
|
|
44
|
-
}
|
|
45
|
-
function _interopRequireWildcard(e, r) {
|
|
46
|
-
if (!r && e && e.__esModule) return e;
|
|
47
|
-
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
48
|
-
default: e
|
|
49
|
-
};
|
|
50
|
-
var t = _getRequireWildcardCache(r);
|
|
51
|
-
if (t && t.has(e)) return t.get(e);
|
|
52
|
-
var n = {
|
|
53
|
-
__proto__: null
|
|
54
|
-
},
|
|
55
|
-
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
56
|
-
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
57
|
-
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
58
|
-
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
59
|
-
}
|
|
60
|
-
return n.default = e, t && t.set(e, n), n;
|
|
61
|
-
}
|
|
62
|
-
function ownKeys(e, r) {
|
|
63
|
-
var t = Object.keys(e);
|
|
64
|
-
if (Object.getOwnPropertySymbols) {
|
|
65
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
66
|
-
r && (o = o.filter(function (r) {
|
|
67
|
-
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
68
|
-
})), t.push.apply(t, o);
|
|
69
|
-
}
|
|
70
|
-
return t;
|
|
71
|
-
}
|
|
72
|
-
function _objectSpread(e) {
|
|
73
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
74
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
75
|
-
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
76
|
-
_defineProperty(e, r, t[r]);
|
|
77
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
78
|
-
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return e;
|
|
82
|
-
}
|
|
83
|
-
function _defineProperty(e, r, t) {
|
|
84
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
85
|
-
value: t,
|
|
86
|
-
enumerable: !0,
|
|
87
|
-
configurable: !0,
|
|
88
|
-
writable: !0
|
|
89
|
-
}) : e[r] = t, e;
|
|
90
|
-
}
|
|
91
|
-
function _toPropertyKey(t) {
|
|
92
|
-
var i = _toPrimitive(t, "string");
|
|
93
|
-
return "symbol" == typeof i ? i : i + "";
|
|
94
|
-
}
|
|
95
|
-
function _toPrimitive(t, r) {
|
|
96
|
-
if ("object" != typeof t || !t) return t;
|
|
97
|
-
var e = t[Symbol.toPrimitive];
|
|
98
|
-
if (void 0 !== e) {
|
|
99
|
-
var i = e.call(t, r || "default");
|
|
100
|
-
if ("object" != typeof i) return i;
|
|
101
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
102
|
-
}
|
|
103
|
-
return ("string" === r ? String : Number)(t);
|
|
104
|
-
}
|
|
105
|
-
const ProductCard = _ref => {
|
|
106
|
-
var _normalizedStock$quan, _normalizedStock$quan2;
|
|
107
|
-
let {
|
|
108
|
-
hasCheckbox = true,
|
|
109
|
-
isRecommended = false,
|
|
110
|
-
productId,
|
|
111
|
-
productTitle,
|
|
112
|
-
productDescription,
|
|
113
|
-
stock = null,
|
|
114
|
-
productUsps = [],
|
|
115
|
-
productImage = null,
|
|
116
|
-
isDisabled = false,
|
|
117
|
-
defaultSelected = false,
|
|
118
|
-
productPrice = null,
|
|
119
|
-
productDiscountedPrice = null,
|
|
120
|
-
productDiscountedLabel = null,
|
|
121
|
-
productSpecifications = [],
|
|
122
|
-
showPrice = false,
|
|
123
|
-
canUnselect = true,
|
|
124
|
-
onSelect = () => {},
|
|
125
|
-
onDescriptionToggle = () => {},
|
|
126
|
-
isOnlyProductInCategory = false,
|
|
127
|
-
isAnotherProductSelected = true,
|
|
128
|
-
isTmg = false,
|
|
129
|
-
isBoardComputer = false
|
|
130
|
-
} = _ref;
|
|
131
|
-
const [isSelected, setIsSelected] = (0, _react.useState)(defaultSelected);
|
|
132
|
-
const {
|
|
133
|
-
productFieldLabels
|
|
134
|
-
} = (0, _queries.useProductFieldLabels)();
|
|
135
|
-
const normalizedStock = stock && stock.status ? _objectSpread(_objectSpread({}, stock), {}, {
|
|
136
|
-
status: (0, _singleOrderArticles.mapApiStockStatusToStockStatus)(stock.status)
|
|
137
|
-
}) : stock;
|
|
138
|
-
const handleSelected = isSelected => {
|
|
139
|
-
if (!canUnselect && !isSelected) {
|
|
140
|
-
// Do not update local state, only call onSelect
|
|
141
|
-
onSelect({
|
|
142
|
-
isSelected: isSelected
|
|
143
|
-
});
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
setIsSelected(isSelected);
|
|
147
|
-
onSelect({
|
|
148
|
-
productId,
|
|
149
|
-
isSelected: isSelected
|
|
150
|
-
});
|
|
151
|
-
};
|
|
152
|
-
(0, _react.useEffect)(() => {
|
|
153
|
-
setIsSelected(defaultSelected);
|
|
154
|
-
}, [defaultSelected]);
|
|
155
|
-
(0, _react.useEffect)(() => {
|
|
156
|
-
if (isOnlyProductInCategory || !isAnotherProductSelected && isRecommended) {
|
|
157
|
-
handleSelected(true);
|
|
158
|
-
}
|
|
159
|
-
}, [isOnlyProductInCategory, isRecommended]);
|
|
160
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
-
key: productId,
|
|
162
|
-
className: (0, _helpers__.withStyle)("card card__horizontal card__link ".concat(isSelected ? 'active' : '', " container-fluid g-0")),
|
|
163
|
-
disabled: isDisabled,
|
|
164
|
-
onClick: () => handleSelected(!isSelected)
|
|
165
|
-
}, /*#__PURE__*/_react.default.createElement(_ProductCardRibbon.default, {
|
|
166
|
-
isRecommended: isRecommended
|
|
167
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
168
|
-
className: (0, _helpers__.withStyle)('row g-0')
|
|
169
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
170
|
-
className: (0, _helpers__.withStyle)('col-md-4 d-flex justify-content-center position-relative')
|
|
171
|
-
}, /*#__PURE__*/_react.default.createElement(_ProductCardImage.default, {
|
|
172
|
-
image: productImage,
|
|
173
|
-
isBoardComputer: isBoardComputer
|
|
174
|
-
}), /*#__PURE__*/_react.default.createElement(_ProductCardDiscountAlert.default, {
|
|
175
|
-
label: productDiscountedLabel,
|
|
176
|
-
price: productDiscountedPrice,
|
|
177
|
-
discountedPrice: productPrice
|
|
178
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
179
|
-
className: (0, _helpers__.withStyle)("".concat(productImage ? 'col-md-8' : 'col-12', " d-flex flex-wrap"))
|
|
180
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
181
|
-
className: (0, _helpers__.withStyle)('card-body')
|
|
182
|
-
}, /*#__PURE__*/_react.default.createElement("h5", {
|
|
183
|
-
className: (0, _helpers__.withStyle)('card-title')
|
|
184
|
-
}, productTitle, showPrice && /*#__PURE__*/_react.default.createElement("div", {
|
|
185
|
-
className: (0, _helpers__.withStyle)('col-12 col-md-auto d-flex flex-xxl-column my-2 my-xxl-0')
|
|
186
|
-
}, /*#__PURE__*/_react.default.createElement(_ProductCardPrice.default, {
|
|
187
|
-
price: productDiscountedPrice < productPrice ? productPrice : productDiscountedPrice,
|
|
188
|
-
discountedPrice: productDiscountedPrice < productPrice ? productDiscountedPrice : productPrice
|
|
189
|
-
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
190
|
-
className: (0, _helpers__.withStyle)('card-text row no-gutters flex-wrap align-items-bottom justify-content-start')
|
|
191
|
-
}, /*#__PURE__*/_react.default.createElement(_ProductCardUsps.default, {
|
|
192
|
-
usps: productUsps
|
|
193
|
-
}), /*#__PURE__*/_react.default.createElement(_ProductCardSpecifications.default, {
|
|
194
|
-
specifications: [...(productId ? [{
|
|
195
|
-
key: 'Artikel',
|
|
196
|
-
value: productId
|
|
197
|
-
}] : []), ...productSpecifications.map(_ref2 => {
|
|
198
|
-
let {
|
|
199
|
-
key,
|
|
200
|
-
value
|
|
201
|
-
} = _ref2;
|
|
202
|
-
return {
|
|
203
|
-
key: (productFieldLabels === null || productFieldLabels === void 0 ? void 0 : productFieldLabels[key]) || key,
|
|
204
|
-
value
|
|
205
|
-
};
|
|
206
|
-
})],
|
|
207
|
-
excludeKeys: ['brand', 'brandName']
|
|
208
|
-
}), /*#__PURE__*/_react.default.createElement(_ProductCardDescription.default, {
|
|
209
|
-
description: productDescription,
|
|
210
|
-
onDescriptionToggle: onDescriptionToggle
|
|
211
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
212
|
-
className: (0, _helpers__.withStyle)('card-footer pt-2 col-12 col-md-8 col-xxl-6 pb-0 justify-content-end')
|
|
213
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
214
|
-
className: (0, _helpers__.withStyle)('d-flex flex-column align-items-end')
|
|
215
|
-
}, showPrice && normalizedStock && /*#__PURE__*/_react.default.createElement("div", null, normalizedStock.status === _constants__.StockStatus.OutOfStock ? /*#__PURE__*/_react.default.createElement("div", {
|
|
216
|
-
className: (0, _helpers__.withStyle)('text-danger mb-1')
|
|
217
|
-
}, "Niet op voorraad") : normalizedStock.status === _constants__.StockStatus.InsufficientStock ? /*#__PURE__*/_react.default.createElement("div", {
|
|
218
|
-
className: (0, _helpers__.withStyle)('text-warning mb-1')
|
|
219
|
-
}, isTmg ? "".concat((_normalizedStock$quan = normalizedStock.quantity) !== null && _normalizedStock$quan !== void 0 ? _normalizedStock$quan : 0, " op voorraad") : 'Weinig op voorraad') : /*#__PURE__*/_react.default.createElement("div", {
|
|
220
|
-
className: (0, _helpers__.withStyle)('text-success mb-1')
|
|
221
|
-
}, isTmg ? "".concat((_normalizedStock$quan2 = normalizedStock.quantity) !== null && _normalizedStock$quan2 !== void 0 ? _normalizedStock$quan2 : 0, " op voorraad") : 'Op voorraad')), hasCheckbox && /*#__PURE__*/_react.default.createElement(_ProductCardCheckbox.default, {
|
|
222
|
-
id: productId,
|
|
223
|
-
isDisabled: isDisabled,
|
|
224
|
-
defaultChecked: isSelected,
|
|
225
|
-
isTmg: isTmg
|
|
226
|
-
})))))));
|
|
227
|
-
};
|
|
228
|
-
var _default = exports.default = ProductCard;
|