thm-p3-configurator 0.0.259 → 0.0.262

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.
@@ -18,6 +18,7 @@ var _Navbar = _interopRequireDefault(require("./__components__/Navbar"));
18
18
  var _constants__ = require("./__constants__");
19
19
  var _SentryWrapper = _interopRequireDefault(require("./__containers__/SentryWrapper"));
20
20
  var _pages__ = _interopRequireDefault(require("./__pages__"));
21
+ var _TEST_ONLY_INTERNAL_ROUTES = _interopRequireDefault(require("./__pages__/internal/__TEST_ONLY_INTERNAL_ROUTES"));
21
22
  var _StyleWrapper = _interopRequireDefault(require("./__containers__/StyleWrapper"));
22
23
  var _InternalBranchSelectorModal = _interopRequireDefault(require("./__containers__/internal/InternalBranchSelectorModal"));
23
24
  var _ActiveMarkerContext = require("./__context__/ActiveMarkerContext");
@@ -69,11 +70,11 @@ const App = () => {
69
70
  (0, _Experiments.default)();
70
71
  });
71
72
  return /*#__PURE__*/_react.default.createElement(_SentryWrapper.default, null, /*#__PURE__*/_react.default.createElement(_FormulaContext.FormulaController, {
72
- defaultFormula: _constants__.CONFIGURATOR_FORMULAS.THC
73
+ defaultFormula: _constants__.CONFIGURATOR_FORMULAS.TOW
73
74
  }, /*#__PURE__*/_react.default.createElement(_CountryContext.CountryController, {
74
75
  defaultCountry: APP_CONFIG.country
75
76
  }, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
76
77
  client: _queryClient.default
77
- }, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react.default.createElement(_ActiveMarkerContext.ActiveMarkerProvider, null, /*#__PURE__*/_react.default.createElement(_StyleWrapper.default, null, !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_Navbar.default, null), APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_InternalBranchSelectorModal.default, null), /*#__PURE__*/_react.default.createElement(_pages__.default, null))))))))));
78
+ }, /*#__PURE__*/_react.default.createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react.default.createElement(_ActiveMarkerContext.ActiveMarkerProvider, null, /*#__PURE__*/_react.default.createElement(_StyleWrapper.default, null, !APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_Navbar.default, null), APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_InternalBranchSelectorModal.default, null), APP_CONFIG.nodeEnv === 'development' && APP_CONFIG.internal === true && /*#__PURE__*/_react.default.createElement(_TEST_ONLY_INTERNAL_ROUTES.default, null))))))))));
78
79
  };
79
80
  var _default = exports.default = App;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VAT_RATE = exports.MARKET_CORRECTION_ARTICLE_NUMBER = exports.CART_TABLE_PRICE_CELL_CLASS = exports.CART_TABLE_DISPLAY_MODES = exports.CART_TABLE_BOLD_END_CLASS = void 0;
7
+ /**
8
+ * Display modes for the cart table:
9
+ * - DEFAULT: No purchase prices shown (7 columns)
10
+ * - TOGGLED_TMG: TMG with purchase prices (8 columns)
11
+ * - TOGGLED_STANDARD: Standard with purchase prices (9 columns)
12
+ */
13
+ const CART_TABLE_DISPLAY_MODES = exports.CART_TABLE_DISPLAY_MODES = {
14
+ DEFAULT: 'default',
15
+ TOGGLED_TMG: 'toggled_tmg',
16
+ TOGGLED_STANDARD: 'toggled_standard'
17
+ };
18
+
19
+ /** CSS class for price cells in cart table */
20
+ const CART_TABLE_PRICE_CELL_CLASS = exports.CART_TABLE_PRICE_CELL_CLASS = 'cart__table-price text-end';
21
+
22
+ /** CSS class for bold end-aligned cells */
23
+ const CART_TABLE_BOLD_END_CLASS = exports.CART_TABLE_BOLD_END_CLASS = 'fw-bold text-end';
24
+
25
+ /** VAT rate for price calculations */
26
+ const VAT_RATE = exports.VAT_RATE = 1.21;
27
+
28
+ /** Market correction article number */
29
+ const MARKET_CORRECTION_ARTICLE_NUMBER = exports.MARKET_CORRECTION_ARTICLE_NUMBER = 'MC';
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mapBranchFormulaToConfiguratorFormula = exports.VESTIGING_TYPE_ID = exports.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE = exports.VEHICLE_OWNERSHIP_TYPE = exports.VEHICLE_CODING_SUBGROUP_NAME = exports.USER_GEOLOCATION_KEY = exports.TMG_ORGANIZATION_TYPE = exports.StockStatus = exports.STATUS_ASSESSMENT = exports.PRODUCT_CATEGORIES = exports.PRIVATE_SINGLE_ORDER_SESSION_KEY = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_CHANNEL_TITLE = exports.ORDER_SESSION_KEY = exports.NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NAVIGATION_STEPS_INTERNAL = exports.NAVIGATION_STEPS_EXTERNAL = exports.NAVIGATION_BUTTONS = exports.MOUSE_EXIT_INTENT_THROTTLE = exports.MOUSE_EXIT_INTENT_OFFSET = exports.LOCATION_TYPE = exports.LOCATION_CHANGE_BUTTON_LABEL = exports.LOCALE = exports.LEASE_TYPE_ID = exports.FORM_ERROR_MESSAGES = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ANWB_DISCOUNT_CODE = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
6
+ exports.mapBranchFormulaToConfiguratorFormula = exports.VESTIGING_TYPE_ID = exports.VEHICLE_SINGLE_ORDER_OWNERSHIP_TYPE = exports.VEHICLE_OWNERSHIP_TYPE = exports.VEHICLE_CODING_SUBGROUP_NAME = exports.USER_GEOLOCATION_KEY = exports.TOWMOTIVE_ORGANIZATION_TYPE = exports.TMG_ORGANIZATION_TYPE = exports.StockStatus = exports.STATUS_ASSESSMENT = exports.PRODUCT_CATEGORIES = exports.PRIVATE_SINGLE_ORDER_SESSION_KEY = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_CHANNEL_TITLE = exports.ORDER_SESSION_KEY = exports.NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NAVIGATION_STEPS_INTERNAL = exports.NAVIGATION_STEPS_EXTERNAL = exports.NAVIGATION_BUTTONS = exports.MOUSE_EXIT_INTENT_THROTTLE = exports.MOUSE_EXIT_INTENT_OFFSET = exports.LOCATION_TYPE = exports.LOCATION_CHANGE_BUTTON_LABEL = exports.LOCALE = exports.LEASE_TYPE_ID = exports.FORM_ERROR_MESSAGES = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ANWB_DISCOUNT_CODE = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
7
7
  const DOSSIER_TYPES = exports.DOSSIER_TYPES = {
8
8
  Quotation: 'quotation',
9
9
  AppointmentRequest: 'appointment-request',
@@ -259,6 +259,7 @@ const NO_PRODUCTS_CONTACT_DETAILS_BY_FORMULA = exports.NO_PRODUCTS_CONTACT_DETAI
259
259
  };
260
260
  const LOCATION_CHANGE_BUTTON_LABEL = exports.LOCATION_CHANGE_BUTTON_LABEL = 'Wijzig de locatie';
261
261
  const TMG_ORGANIZATION_TYPE = exports.TMG_ORGANIZATION_TYPE = 'TowMotive Group';
262
+ const TOWMOTIVE_ORGANIZATION_TYPE = exports.TOWMOTIVE_ORGANIZATION_TYPE = 'TowMotive';
262
263
 
263
264
  /**
264
265
  * Maps branch formula values to CONFIGURATOR_FORMULAS
@@ -21,6 +21,7 @@ var _FormulaContext = require("../__context__/FormulaContext");
21
21
  var _OrderSessionContext = require("../__context__/OrderSessionContext");
22
22
  var _helpers__ = require("../__helpers__");
23
23
  var _product = require("../__helpers__/product");
24
+ var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
24
25
  var _ANWBValidator = require("../__services__/ANWBValidator");
25
26
  function _interopRequireDefault(e) {
26
27
  return e && e.__esModule ? e : {
@@ -67,20 +68,23 @@ const ANWBMembershipValidator = () => {
67
68
  discountCode,
68
69
  executionAnswer1,
69
70
  executionAnswer2,
70
- priceCalculationDate
71
+ priceCalculationDate,
72
+ selectedExtras,
73
+ vehicleCodingDiscountPercentage
71
74
  }, dispatch] = (0, _OrderSessionContext.useOrderSession)();
72
75
  const [isNumberValid, setIsNumberValid] = (0, _react.useState)();
73
76
  const formula = (0, _FormulaContext.useFormula)();
74
- const cartInput = (0, _product.validateCartInput)([{
75
- articleNumber: selectedCableset,
76
- quantity: 1
77
- }, {
78
- articleNumber: selectedCombiset,
79
- quantity: 1
80
- }, {
81
- articleNumber: selectedTowbar,
82
- quantity: 1
83
- }, ...selectedDiscountedProducts]);
77
+ const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
78
+ const cartInput = (0, _product.buildCartInput)({
79
+ selectedCableset,
80
+ selectedCombiset,
81
+ selectedTowbar,
82
+ selectedBoardComputer,
83
+ selectedExtras,
84
+ selectedDiscountedProducts,
85
+ isTowmotiveFormula: isTowmotive,
86
+ vehicleCodingDiscountPercentage
87
+ });
84
88
  const {
85
89
  discountProducts
86
90
  } = (0, _queries.useProductsQuery)({
@@ -7,7 +7,6 @@ require("core-js/modules/es.weak-map.js");
7
7
  require("core-js/modules/esnext.iterator.constructor.js");
8
8
  require("core-js/modules/esnext.iterator.filter.js");
9
9
  require("core-js/modules/esnext.iterator.for-each.js");
10
- require("core-js/modules/esnext.iterator.map.js");
11
10
  require("core-js/modules/web.dom-collections.iterator.js");
12
11
  require("core-js/modules/es.weak-map.js");
13
12
  require("core-js/modules/esnext.iterator.constructor.js");
@@ -20,7 +19,6 @@ exports.default = void 0;
20
19
  require("core-js/modules/es.promise.js");
21
20
  require("core-js/modules/es.regexp.exec.js");
22
21
  require("core-js/modules/es.string.replace.js");
23
- require("core-js/modules/esnext.iterator.map.js");
24
22
  require("core-js/modules/web.dom-collections.iterator.js");
25
23
  var _react = _interopRequireWildcard(require("react"));
26
24
  var _reactRouter = require("react-router");
@@ -39,6 +37,7 @@ var _FormulaContext = require("../__context__/FormulaContext");
39
37
  var _OrderSessionContext = require("../__context__/OrderSessionContext");
40
38
  var _helpers__ = require("../__helpers__");
41
39
  var _product = require("../__helpers__/product");
40
+ var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
42
41
  function _interopRequireDefault(e) {
43
42
  return e && e.__esModule ? e : {
44
43
  default: e
@@ -143,7 +142,8 @@ const AppointmentForm = () => {
143
142
  executionAnswer2,
144
143
  priceCalculationDate,
145
144
  selectedDiscountedProducts = [],
146
- selectedExtras
145
+ selectedExtras,
146
+ vehicleCodingDiscountPercentage
147
147
  }, dispatch] = (0, _OrderSessionContext.useOrderSession)();
148
148
  const [errors, setErrors] = (0, _react.useState)({});
149
149
  const [isTermsAccepted, setIsTermsAccepted] = (0, _react.useState)(false);
@@ -154,6 +154,7 @@ const AppointmentForm = () => {
154
154
  createAppointmentRequest
155
155
  } = (0, _mutations.useCreateAppointmentRequestMutation)();
156
156
  const formula = (0, _FormulaContext.useFormula)();
157
+ const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
157
158
  const history = (0, _reactRouter.useHistory)();
158
159
  const handleSubmit = async () => {
159
160
  try {
@@ -187,22 +188,16 @@ const AppointmentForm = () => {
187
188
  discount: discountCode !== null && discountCode !== void 0 && discountCode.length ? {
188
189
  code: discountCode
189
190
  } : null,
190
- cart: (0, _product.validateCartInput)([{
191
- articleNumber: selectedCableset,
192
- quantity: 1
193
- }, {
194
- articleNumber: selectedCombiset,
195
- quantity: 1
196
- }, {
197
- articleNumber: selectedTowbar,
198
- quantity: 1
199
- }, ...Object.entries(selectedExtras).map(_ref => {
200
- let [extraArticleNumber, extraQuantity] = _ref;
201
- return {
202
- articleNumber: extraArticleNumber,
203
- quantity: extraQuantity
204
- };
205
- }), ...selectedDiscountedProducts])
191
+ cart: (0, _product.buildCartInput)({
192
+ selectedCableset,
193
+ selectedCombiset,
194
+ selectedTowbar,
195
+ selectedBoardComputer,
196
+ selectedExtras,
197
+ selectedDiscountedProducts,
198
+ isTowmotiveFormula: isTowmotive,
199
+ vehicleCodingDiscountPercentage
200
+ })
206
201
  }));
207
202
  } catch (ex) {
208
203
  console.error("handleSubmit(): ".concat(ex));
@@ -7,7 +7,6 @@ require("core-js/modules/es.weak-map.js");
7
7
  require("core-js/modules/esnext.iterator.constructor.js");
8
8
  require("core-js/modules/esnext.iterator.filter.js");
9
9
  require("core-js/modules/esnext.iterator.for-each.js");
10
- require("core-js/modules/esnext.iterator.map.js");
11
10
  require("core-js/modules/web.dom-collections.iterator.js");
12
11
  require("core-js/modules/es.weak-map.js");
13
12
  require("core-js/modules/esnext.iterator.constructor.js");
@@ -20,7 +19,6 @@ exports.default = void 0;
20
19
  require("core-js/modules/es.array.includes.js");
21
20
  require("core-js/modules/es.promise.js");
22
21
  require("core-js/modules/es.string.includes.js");
23
- require("core-js/modules/esnext.iterator.map.js");
24
22
  require("core-js/modules/web.dom-collections.iterator.js");
25
23
  var _lodash = require("lodash");
26
24
  var _react = _interopRequireWildcard(require("react"));
@@ -37,6 +35,7 @@ var _OrderSessionContext = require("../__context__/OrderSessionContext");
37
35
  var _helpers__ = require("../__helpers__");
38
36
  var _product = require("../__helpers__/product");
39
37
  var _ui = require("../__helpers__/ui");
38
+ var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
40
39
  function _interopRequireDefault(e) {
41
40
  return e && e.__esModule ? e : {
42
41
  default: e
@@ -137,9 +136,11 @@ const ExitIntentModal = () => {
137
136
  executionAnswer2,
138
137
  priceCalculationDate,
139
138
  selectedDiscountedProducts = [],
140
- selectedExtras
139
+ selectedExtras,
140
+ vehicleCodingDiscountPercentage
141
141
  }, dispatch] = (0, _OrderSessionContext.useOrderSession)();
142
142
  const formula = (0, _FormulaContext.useFormula)();
143
+ const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
143
144
  (0, _react.useEffect)(() => {
144
145
  (0, _ui.scrollToFirstErrorMessage)();
145
146
  }, [errors]);
@@ -191,22 +192,16 @@ const ExitIntentModal = () => {
191
192
  })),
192
193
  branchId: selectedBranch,
193
194
  selectBoardComputerUpdate: selectedBoardComputer != null,
194
- cart: (0, _product.validateCartInput)([{
195
- articleNumber: selectedCableset,
196
- quantity: 1
197
- }, {
198
- articleNumber: selectedCombiset,
199
- quantity: 1
200
- }, {
201
- articleNumber: selectedTowbar,
202
- quantity: 1
203
- }, ...Object.entries(selectedExtras).map(_ref => {
204
- let [extraArticleNumber, extraQuantity] = _ref;
205
- return {
206
- articleNumber: extraArticleNumber,
207
- quantity: extraQuantity
208
- };
209
- }), ...selectedDiscountedProducts])
195
+ cart: (0, _product.buildCartInput)({
196
+ selectedCableset,
197
+ selectedCombiset,
198
+ selectedTowbar,
199
+ selectedBoardComputer,
200
+ selectedExtras,
201
+ selectedDiscountedProducts,
202
+ isTowmotiveFormula: isTowmotive,
203
+ vehicleCodingDiscountPercentage
204
+ })
210
205
  }));
211
206
  } catch (ex) {
212
207
  console.error("handleSubmit(): ".concat(ex));
@@ -27,7 +27,7 @@ var _helpers__ = require("../__helpers__");
27
27
  var _image = require("../__helpers__/image");
28
28
  var _product = require("../__helpers__/product");
29
29
  var _useIsTmg = require("../__hooks__/useIsTmg");
30
- var _CheckboxInput = _interopRequireDefault(require("../__components__/Form/CheckboxInput"));
30
+ var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
31
31
  function _interopRequireDefault(e) {
32
32
  return e && e.__esModule ? e : {
33
33
  default: e
@@ -75,24 +75,19 @@ const ExtraProductsOverview = () => {
75
75
  discountCode,
76
76
  executionAnswer1,
77
77
  executionAnswer2,
78
- durationAnswer
78
+ durationAnswer,
79
+ vehicleCodingDiscountPercentage
79
80
  }, dispatch] = (0, _OrderSessionContext.useOrderSession)();
80
- const cartInput = (0, _product.validateCartInput)([{
81
- articleNumber: selectedCableset,
82
- quantity: 1
83
- }, {
84
- articleNumber: selectedCombiset,
85
- quantity: 1
86
- }, {
87
- articleNumber: selectedTowbar,
88
- quantity: 1
89
- }, ...Object.entries(selectedExtras).map(_ref => {
90
- let [extraArticleNumber, extraQuantity] = _ref;
91
- return {
92
- articleNumber: extraArticleNumber,
93
- quantity: extraQuantity
94
- };
95
- })]);
81
+ const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
82
+ const cartInput = (0, _product.buildCartInput)({
83
+ selectedCableset,
84
+ selectedCombiset,
85
+ selectedTowbar,
86
+ selectedBoardComputer,
87
+ selectedExtras,
88
+ isTowmotiveFormula: isTowmotive,
89
+ vehicleCodingDiscountPercentage
90
+ });
96
91
  const {
97
92
  products,
98
93
  isLoadingProducts,
@@ -118,12 +113,12 @@ const ExtraProductsOverview = () => {
118
113
  to: "/configurator/geen-producten"
119
114
  });
120
115
  }
121
- const handleProductSelected = _ref2 => {
116
+ const handleProductSelected = _ref => {
122
117
  let {
123
118
  productId,
124
119
  isSelected,
125
120
  productCategory
126
- } = _ref2;
121
+ } = _ref;
127
122
  switch (productCategory) {
128
123
  case _constants__.PRODUCT_CATEGORIES.EXTRAS:
129
124
  {
@@ -147,8 +142,8 @@ const ExtraProductsOverview = () => {
147
142
  delete products[_constants__.PRODUCT_CATEGORIES.CABLESET];
148
143
  delete products[_constants__.PRODUCT_CATEGORIES.COMBISET];
149
144
  delete products[_constants__.PRODUCT_CATEGORIES.BOARD_COMPUTER];
150
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(products).map((_ref3, index) => {
151
- let [productCategory, productsPerCategory] = _ref3;
145
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, Object.entries(products).map((_ref2, index) => {
146
+ let [productCategory, productsPerCategory] = _ref2;
152
147
  if (!productsPerCategory.length || productCategory !== _constants__.PRODUCT_CATEGORIES.EXTRAS) {
153
148
  return null;
154
149
  }
@@ -158,8 +153,8 @@ const ExtraProductsOverview = () => {
158
153
  items: productsPerCategory,
159
154
  key: 'categoryName'
160
155
  });
161
- const groupedProductsArray = Object.entries(groupedProducts).map(_ref4 => {
162
- let [categoryName, products] = _ref4;
156
+ const groupedProductsArray = Object.entries(groupedProducts).map(_ref3 => {
157
+ let [categoryName, products] = _ref3;
163
158
  return {
164
159
  categoryName,
165
160
  products
@@ -187,11 +182,11 @@ const ExtraProductsOverview = () => {
187
182
  }) : _logoPrimary.default,
188
183
  isDisabled: false,
189
184
  defaultSelected: selectedExtras.hasOwnProperty(product.articleNumber),
190
- onSelect: _ref5 => {
185
+ onSelect: _ref4 => {
191
186
  let {
192
187
  productId,
193
188
  isSelected
194
- } = _ref5;
189
+ } = _ref4;
195
190
  return handleProductSelected({
196
191
  productId,
197
192
  isSelected,
@@ -43,6 +43,7 @@ var _OrderSessionContext = require("../__context__/OrderSessionContext");
43
43
  var _helpers__ = require("../__helpers__");
44
44
  var _image = require("../__helpers__/image");
45
45
  var _product = require("../__helpers__/product");
46
+ var _useIsTowmotive = require("../__hooks__/useIsTowmotive");
46
47
  function _interopRequireDefault(e) {
47
48
  return e && e.__esModule ? e : {
48
49
  default: e
@@ -90,24 +91,19 @@ const ProductCartSide = () => {
90
91
  allArticleNumbers,
91
92
  selectedExtras,
92
93
  canAlterQuantity,
93
- selectedBranch
94
+ selectedBranch,
95
+ vehicleCodingDiscountPercentage
94
96
  } = order;
95
- const cartInput = (0, _product.validateCartInput)([{
96
- articleNumber: selectedCableset,
97
- quantity: 1
98
- }, {
99
- articleNumber: selectedCombiset,
100
- quantity: 1
101
- }, {
102
- articleNumber: selectedTowbar,
103
- quantity: 1
104
- }, ...Object.entries(selectedExtras).map(_ref => {
105
- let [extraArticleNumber, extraQuantity] = _ref;
106
- return {
107
- articleNumber: extraArticleNumber,
108
- quantity: extraQuantity
109
- };
110
- })]);
97
+ const isTowmotive = (0, _useIsTowmotive.useIsTowmotive)();
98
+ const cartInput = (0, _product.buildCartInput)({
99
+ selectedCableset,
100
+ selectedCombiset,
101
+ selectedTowbar,
102
+ selectedBoardComputer,
103
+ selectedExtras,
104
+ isTowmotiveFormula: isTowmotive,
105
+ vehicleCodingDiscountPercentage
106
+ });
111
107
  const {
112
108
  cart,
113
109
  totals,