thm-p3-configurator 0.0.456 → 0.0.460

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.
Files changed (35) hide show
  1. package/dist/src/shared/__api__/queries.js +5 -7
  2. package/dist/src/shared/__components__/Header.js +3 -47
  3. package/dist/src/shared/__components__/Navbar.js +2 -5
  4. package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +1 -4
  5. package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +3 -8
  6. package/dist/src/shared/__constants__/__tests__/index.test.js +0 -15
  7. package/dist/src/shared/__constants__/index.js +7 -48
  8. package/dist/src/shared/__containers__/ProductCartSide.js +6 -3
  9. package/dist/src/shared/__containers__/ProductsCartOverview.js +6 -3
  10. package/dist/src/shared/__containers__/internal/InternalBranchSelectorModal.js +35 -118
  11. package/dist/src/shared/__containers__/internal/OrderTypeSelectorModal.js +0 -8
  12. package/dist/src/shared/__context__/OrderSessionContext.js +0 -2
  13. package/dist/src/shared/__helpers__/index.js +1 -30
  14. package/dist/src/shared/__helpers__/singleOrderArticles.js +15 -27
  15. package/dist/src/shared/__helpers__/singleOrderBranchSelector.js +2 -112
  16. package/dist/src/shared/__helpers__/singleOrderCustomerDetails.js +1 -1
  17. package/dist/src/shared/__hooks__/useBranchTheme.js +1 -12
  18. package/dist/src/shared/__pages__/internal/InternalLicensePlatePage.js +10 -26
  19. package/dist/src/shared/__pages__/internal/InternalManualSelectionPage.js +1 -8
  20. package/dist/src/shared/__pages__/internal/InternalSingleOrderPage.js +8 -21
  21. package/dist/src/shared/__style__/_variables-external.scss +0 -6
  22. package/dist/src/shared/__style__/_variables.scss +0 -6
  23. package/dist/src/shared/__style__/configurator/_configurator.scss +0 -100
  24. package/package.json +1 -1
  25. package/dist/public/assets/images/logo-th-icon.png +0 -0
  26. package/dist/public/assets/images/logo-th-primary.png +0 -0
  27. package/dist/public/assets/images/logo-thl-icon.png +0 -0
  28. package/dist/public/assets/images/logo-thl-primary.png +0 -0
  29. package/dist/public/assets/images/logo-wb-icon.png +0 -0
  30. package/dist/public/assets/images/logo-wb-primary.png +0 -0
  31. package/dist/src/shared/__helpers__/__tests__/resetConfiguratorOrderCache.test.js +0 -39
  32. package/dist/src/shared/__helpers__/__tests__/singleOrderBranchSelector.test.js +0 -126
  33. package/dist/src/shared/__helpers__/__tests__/singleOrderWebshop.test.js +0 -17
  34. package/dist/src/shared/__helpers__/resetConfiguratorOrderCache.js +0 -22
  35. package/dist/src/shared/__helpers__/singleOrderWebshop.js +0 -46
@@ -541,8 +541,7 @@ exports.useSingleOrderCart = useSingleOrderCart;
541
541
  const useOrderDataQuery = exports.useOrderDataQuery = function useOrderDataQuery() {
542
542
  let orderParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
543
543
  const [{
544
- existingDossierId,
545
- singleOrderFlowRevision
544
+ existingDossierId
546
545
  }] = (0, _OrderSessionContext.useOrderSession)();
547
546
  const pricingFormula = (0, _usePricingFormula.usePricingFormula)();
548
547
  const normalizedOrderParams = (0, _queryKeyFactory.normalizeOrderParams)(_objectSpread(_objectSpread({}, orderParameters), {}, {
@@ -559,7 +558,7 @@ const useOrderDataQuery = exports.useOrderDataQuery = function useOrderDataQuery
559
558
  initialized
560
559
  } = (0, _AuthSessionContext.useAuthSession)();
561
560
  const isSessionContextReady = (0, _useSessionContextReady.useSessionContextReady)();
562
- const orderQueryKey = APP_CONFIG.internal ? [...(0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams), initialized, authenticated, isSessionContextReady, singleOrderFlowRevision] : (0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams);
561
+ const orderQueryKey = APP_CONFIG.internal ? [...(0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams), initialized, authenticated, isSessionContextReady] : (0, _queryKeyFactory.getOrderQueryKey)(normalizedOrderParams);
563
562
  const serializedOrderParams = (0, _queryKeyFactory.serializeOrderParams)(normalizedOrderParams);
564
563
  const hasOrderInput = (licensePlate === null || licensePlate === void 0 ? void 0 : licensePlate.length) > 5 || !!(model !== null && model !== void 0 && model.length);
565
564
  const orderQuery = (0, _reactQuery.useQuery)(orderQueryKey, {
@@ -705,7 +704,6 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
705
704
  const {
706
705
  orderData,
707
706
  isFetchingOrder,
708
- isLoadingOrder,
709
707
  isOrderError,
710
708
  orderError
711
709
  } = useOrderDataQuery(normalizedQuestionParams);
@@ -721,7 +719,7 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
721
719
  }, [orderData === null || orderData === void 0 || (_orderData$executionA4 = orderData.executionAnswerOptions) === null || _orderData$executionA4 === void 0 ? void 0 : _orderData$executionA4.execution2AnswerOptions]);
722
720
  const durationQuestion = (0, _react.useMemo)(() => (0, _helpers__.parseArrayToInputOptions)(orderData === null || orderData === void 0 ? void 0 : orderData.durationAnswerOptions), [orderData === null || orderData === void 0 ? void 0 : orderData.durationAnswerOptions]);
723
721
  return {
724
- isLoadingQuestions: isFetchingOrder || isLoadingOrder,
722
+ isLoadingQuestions: isFetchingOrder,
725
723
  isQuestionsError: isOrderError,
726
724
  execution1Answer: orderData === null || orderData === void 0 || (_orderData$answers = orderData.answers) === null || _orderData$answers === void 0 ? void 0 : _orderData$answers.execution1,
727
725
  execution2Answer: orderData === null || orderData === void 0 || (_orderData$answers2 = orderData.answers) === null || _orderData$answers2 === void 0 ? void 0 : _orderData$answers2.execution2,
@@ -735,14 +733,14 @@ const useQuestionsQuery = exports.useQuestionsQuery = function useQuestionsQuery
735
733
  };
736
734
  };
737
735
  const useSingleOrderBranchesQuery = branchesParams => {
738
- var _branchesParams, _branchesParams2;
736
+ var _branchesParams;
739
737
  branchesParams = _objectSpread(_objectSpread({}, branchesParams), {}, {
740
738
  type: 'single-order'
741
739
  });
742
740
  const branchesParamsString = new URLSearchParams((0, _helpers__.removeNullishProps)(branchesParams)).toString();
743
741
  const branchesQuery = (0, _reactQuery.useQuery)(['single-order-branches', branchesParamsString], {
744
742
  queryFn: () => _authenticatedProxyApi.authenticatedProxyApi.getSingleOrderBranches(branchesParamsString).then(res => res.data),
745
- enabled: !!((_branchesParams = branchesParams) !== null && _branchesParams !== void 0 && _branchesParams.branchTypeId) || (0, _constants__.isLooseOrderOnlyFormula)((_branchesParams2 = branchesParams) === null || _branchesParams2 === void 0 ? void 0 : _branchesParams2.formula)
743
+ enabled: !!((_branchesParams = branchesParams) !== null && _branchesParams !== void 0 && _branchesParams.branchTypeId)
746
744
  });
747
745
  return {
748
746
  isLoadingSingleOrderBranches: branchesQuery.isLoading,
@@ -9,9 +9,6 @@ var _logoPrimaryIcon = _interopRequireDefault(require("../../../public/assets/im
9
9
  var _logoThcWhite = _interopRequireDefault(require("../../../public/assets/images/logo-thc-white.svg"));
10
10
  var _logoTmgPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-tmg-primary.png"));
11
11
  var _tmLogo = _interopRequireDefault(require("../../../public/assets/images/tm-logo.png"));
12
- var _logoWbPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-wb-primary.png"));
13
- var _logoThlPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-thl-primary.png"));
14
- var _logoThPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-th-primary.png"));
15
12
  var _constants__ = require("../__constants__");
16
13
  var _helpers__ = require("../__helpers__");
17
14
  var _useBranchTheme = require("../__hooks__/useBranchTheme");
@@ -20,53 +17,12 @@ function _interopRequireDefault(e) {
20
17
  default: e
21
18
  };
22
19
  }
23
- const getHeaderLogo = theme => {
24
- switch (theme) {
25
- case _constants__.BRANCH_THEME_BY_FORMULA.TowMotive:
26
- return {
27
- src: _tmLogo.default,
28
- alt: 'TowMotive'
29
- };
30
- case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum:
31
- return {
32
- src: _logoThcWhite.default,
33
- alt: 'Trekhaakcentrum'
34
- };
35
- case _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup:
36
- return {
37
- src: _logoTmgPrimary.default,
38
- alt: 'TowMotive Group'
39
- };
40
- case _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux:
41
- return {
42
- src: _logoWbPrimary.default,
43
- alt: 'Westfalia Benelux'
44
- };
45
- case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland:
46
- return {
47
- src: _logoThlPrimary.default,
48
- alt: 'Trekhaakland'
49
- };
50
- case _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken:
51
- return {
52
- src: _logoThPrimary.default,
53
- alt: 'Trekhaken.nl'
54
- };
55
- default:
56
- return {
57
- src: _logoPrimaryIcon.default,
58
- alt: 'Trekhaak Montage'
59
- };
60
- }
61
- };
62
20
  const Header = _ref => {
63
21
  let {
64
22
  title,
65
23
  subtitle = ''
66
24
  } = _ref;
67
25
  const theme = (0, _useBranchTheme.useBranchTheme)();
68
- const headerLogo = getHeaderLogo(theme);
69
- const isWebshopTheme = theme === _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux || theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland || theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken;
70
26
  return /*#__PURE__*/_react.default.createElement("div", {
71
27
  className: (0, _helpers__.withStyle)("hero hero--offset")
72
28
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -76,9 +32,9 @@ const Header = _ref => {
76
32
  }, /*#__PURE__*/_react.default.createElement("div", {
77
33
  className: (0, _helpers__.withStyle)('col hero__logo-container')
78
34
  }, /*#__PURE__*/_react.default.createElement("img", {
79
- className: (0, _helpers__.withStyle)("hero__logo ".concat(theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? 'hero__logo--tmg' : '', " ").concat(isWebshopTheme ? 'hero__logo--webshop' : '')),
80
- src: headerLogo.src,
81
- alt: headerLogo.alt
35
+ className: (0, _helpers__.withStyle)("hero__logo ".concat(theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? 'hero__logo--tmg' : '')),
36
+ src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoPrimaryIcon.default,
37
+ alt: "Trekhaak Montage"
82
38
  }), /*#__PURE__*/_react.default.createElement("div", {
83
39
  className: (0, _helpers__.withStyle)('hero__inner d-none d-lg-block')
84
40
  }, /*#__PURE__*/_react.default.createElement("h2", null, (title === null || title === void 0 ? void 0 : title.length) > 0 ? title : 'Trekhaak offerte opstellen'), (subtitle === null || subtitle === void 0 ? void 0 : subtitle.length) > 0 && /*#__PURE__*/_react.default.createElement("p", {
@@ -9,9 +9,6 @@ var _logoThcWhite = _interopRequireDefault(require("../../../public/assets/image
9
9
  var _logoTmgPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-tmg-primary.png"));
10
10
  var _logoWhite = _interopRequireDefault(require("../../../public/assets/images/logo-white.svg"));
11
11
  var _tmLogo = _interopRequireDefault(require("../../../public/assets/images/tm-logo.png"));
12
- var _logoWbPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-wb-primary.png"));
13
- var _logoThlPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-thl-primary.png"));
14
- var _logoThPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-th-primary.png"));
15
12
  var _constants__ = require("../__constants__");
16
13
  var _helpers__ = require("../__helpers__");
17
14
  var _Datalayer = require("../__services__/Datalayer");
@@ -43,8 +40,8 @@ const Navbar = _ref => {
43
40
  })
44
41
  }, /*#__PURE__*/_react.default.createElement("img", {
45
42
  className: (0, _helpers__.withStyle)('img-fluid'),
46
- src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux ? _logoWbPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland ? _logoThlPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken ? _logoThPrimary.default : _logoWhite.default,
47
- alt: "Logo"
43
+ src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoWhite.default,
44
+ alt: "Trekhaakmontage"
48
45
  })), /*#__PURE__*/_react.default.createElement("div", {
49
46
  className: (0, _helpers__.withStyle)('navbar__phone ms-10 d-none d-sm-flex')
50
47
  }, /*#__PURE__*/_react.default.createElement("p", {
@@ -13,9 +13,6 @@ var _logoThcWhite = _interopRequireDefault(require("../../../../public/assets/im
13
13
  var _logoTmgPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-tmg-primary.png"));
14
14
  var _tmLogo = _interopRequireDefault(require("../../../../public/assets/images/tm-logo.png"));
15
15
  var _logoWhite = _interopRequireDefault(require("../../../../public/assets/images/logo-white.png"));
16
- var _logoWbPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-wb-primary.png"));
17
- var _logoThlPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-thl-primary.png"));
18
- var _logoThPrimary = _interopRequireDefault(require("../../../../public/assets/images/logo-th-primary.png"));
19
16
  var _constants__ = require("../../__constants__");
20
17
  var _helpers__ = require("../../__helpers__");
21
18
  var _useBranchTheme = require("../../__hooks__/useBranchTheme");
@@ -69,7 +66,7 @@ const FullPageSpinner = _ref => {
69
66
  className: "fas fa-cog fa-spin"
70
67
  }), ' '), children ? children : /*#__PURE__*/_react.default.createElement("img", {
71
68
  className: (0, _helpers__.withStyle)('loader__logo'),
72
- src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.WestfaliaBenelux ? _logoWbPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakland ? _logoThlPrimary.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaken ? _logoThPrimary.default : _logoWhite.default,
69
+ src: theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotive ? _tmLogo.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? _logoThcWhite.default : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? _logoTmgPrimary.default : _logoWhite.default,
73
70
  alt: "Trekhaak Montage - Configurator"
74
71
  }));
75
72
  };
@@ -32,7 +32,6 @@ var _queries = require("../../__api__/queries");
32
32
  var _constants__ = require("../../__constants__");
33
33
  var _AuthSessionContext = require("../../__context__/AuthSessionContext");
34
34
  var _OrderSessionContext = require("../../__context__/OrderSessionContext");
35
- var _FormulaContext = require("../../__context__/FormulaContext");
36
35
  var _openingHours = require("../../__helpers__/openingHours");
37
36
  var _helpers__ = require("../../__helpers__");
38
37
  var _countryOptions = require("../../__helpers__/countryOptions");
@@ -163,7 +162,7 @@ const customerDetailsFormSchema = (0, _yup.object)({
163
162
  })
164
163
  });
165
164
  const InternalCustomerDetailsForm = (_ref, ref) => {
166
- var _appointment$time$get, _appointment$time, _appointment$time$get2, _appointment$date$get, _appointment$date, _appointment$date$get2, _customer$vatNumber, _customer$kvkNumber, _branchTypes$byId$aut, _authSession$branch, _ref5, _appointment$date$get3, _appointment$date2, _appointment$date2$ge;
165
+ var _appointment$time$get, _appointment$time, _appointment$time$get2, _appointment$date$get, _appointment$date, _appointment$date$get2, _customer$vatNumber, _customer$kvkNumber, _branchTypes$byId$aut, _authSession$branch, _authSession$branch2, _ref5, _appointment$date$get3, _appointment$date2, _appointment$date2$ge;
167
166
  let {
168
167
  errors = {},
169
168
  onValidationError,
@@ -177,7 +176,6 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
177
176
  internalNote,
178
177
  vehicle,
179
178
  webshop,
180
- singleOrderFormulaCode,
181
179
  isTowCenterBranch,
182
180
  anderAfleveradres
183
181
  }, dispatch] = (0, _OrderSessionContext.useOrderSession)();
@@ -248,9 +246,6 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
248
246
  }
249
247
  }, [openingstijden, appointment === null || appointment === void 0 ? void 0 : appointment.date, dispatch]);
250
248
  const authSession = (0, _AuthSessionContext.useAuthSession)();
251
- const orderFormula = (0, _FormulaContext.useFormula)();
252
- const activeOrderFormula = singleOrderFormulaCode || orderFormula;
253
- const isLooseOrderOnly = (0, _constants__.isLooseOrderOnlyFormula)(activeOrderFormula);
254
249
  const isTmg = (0, _useIsTmg.useIsTmg)();
255
250
  const [companySearchTerm, setCompanySearchTerm] = (0, _react.useState)('');
256
251
  const [isCompanyInputFocused, setIsCompanyInputFocused] = (0, _react.useState)(false);
@@ -397,7 +392,7 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
397
392
  isLoadingBusinessBranches
398
393
  } = (0, _queries.useBusinessBranches)({
399
394
  searchTerm: companySearchTerm,
400
- formula: activeOrderFormula,
395
+ formula: authSession === null || authSession === void 0 || (_authSession$branch2 = authSession.branch) === null || _authSession$branch2 === void 0 ? void 0 : _authSession$branch2.formule,
401
396
  enabled: isBusinessOwnership
402
397
  });
403
398
  (0, _react.useEffect)(() => {
@@ -1024,7 +1019,7 @@ const InternalCustomerDetailsForm = (_ref, ref) => {
1024
1019
  isRequired: false,
1025
1020
  form: form,
1026
1021
  label: "Contact e-mailadres:"
1027
- }))))))), !webshop && !isLooseOrderOnly && /*#__PURE__*/_react.default.createElement("div", {
1022
+ }))))))), !webshop && /*#__PURE__*/_react.default.createElement("div", {
1028
1023
  className: (0, _helpers__.withStyle)('col-12')
1029
1024
  }, /*#__PURE__*/_react.default.createElement(_CardWide.default, null, /*#__PURE__*/_react.default.createElement("div", {
1030
1025
  className: (0, _helpers__.withStyle)('row')
@@ -16,21 +16,6 @@ describe('__constants__/formula helpers', () => {
16
16
  expect((0, _index.getConfiguratorFormulaCode)('tbe')).toBe(_index.CONFIGURATOR_FORMULAS.TBE);
17
17
  expect((0, _index.getConfiguratorFormulaCode)('abc')).toBe('ABC');
18
18
  });
19
- it.each([['WB', _index.CONFIGURATOR_FORMULAS.WB], ['Westfalia Benelux', _index.CONFIGURATOR_FORMULAS.WB], ['AzVoLXTpISqiGtVvntWIO', _index.CONFIGURATOR_FORMULAS.WB], ['THL', _index.CONFIGURATOR_FORMULAS.THL], ['Trekhaakland', _index.CONFIGURATOR_FORMULAS.THL], ['FDvtPDAYzUM_kUtlPAhoH', _index.CONFIGURATOR_FORMULAS.THL], ['TH', _index.CONFIGURATOR_FORMULAS.TH], ['Trekhaken.nl', _index.CONFIGURATOR_FORMULAS.TH], ['dRnsTvJGhmmkTrkgmivap', _index.CONFIGURATOR_FORMULAS.TH]])('normalizes %s to %s', (formula, expectedCode) => {
20
- expect((0, _index.getConfiguratorFormulaCode)(formula)).toBe(expectedCode);
21
- expect((0, _index.getConfiguratorFormulaCode)({
22
- entityId: formula
23
- })).toBe(expectedCode);
24
- });
25
- it.each([[_index.CONFIGURATOR_FORMULAS.WB, 'Westfalia Benelux'], [_index.CONFIGURATOR_FORMULAS.THL, 'Trekhaakland'], [_index.CONFIGURATOR_FORMULAS.TH, 'Trekhaken.nl']])('normalizes the %s title and marks it loose-order-only', (formula, title) => {
26
- expect((0, _index.getConfiguratorFormulaTitle)(formula)).toBe(title);
27
- expect((0, _index.isLooseOrderOnlyFormula)(formula)).toBe(true);
28
- });
29
- it('does not change existing formula normalization', () => {
30
- expect((0, _index.getConfiguratorFormulaCode)('TM')).toBe(_index.CONFIGURATOR_FORMULAS.TOW);
31
- expect((0, _index.getConfiguratorFormulaCode)('TowMotive Group')).toBe(_index.CONFIGURATOR_FORMULAS.TMG);
32
- expect((0, _index.isLooseOrderOnlyFormula)(_index.CONFIGURATOR_FORMULAS.TMG)).toBe(false);
33
- });
34
19
  it('treats TBE as THC-family for theme decisions only', () => {
35
20
  expect((0, _index.isThcFamilyFormula)(_index.CONFIGURATOR_FORMULAS.THC)).toBe(true);
36
21
  expect((0, _index.isThcFamilyFormula)(_index.CONFIGURATOR_FORMULAS.TBE)).toBe(true);
@@ -6,7 +6,7 @@ require("core-js/modules/es.string.trim.js");
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.normalizeFormulaForOrderApi = exports.mapBranchFormulaToConfiguratorFormula = exports.isThcFamilyFormula = exports.isLooseOrderOnlyFormula = exports.isInvoicedOrFinishedXdmsStatus = exports.getThemeFormulaForConfiguratorFormula = exports.getConfiguratorFormulaTitle = exports.getConfiguratorFormulaCode = 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.LOOSE_ORDER_ONLY_FORMULAS = exports.LOCATION_TYPE = exports.LOCATION_CHANGE_BUTTON_LABEL = exports.LOCALE = exports.LEASE_TYPE_ID = exports.INVOICED_OR_FINISHED_XDMS_STATUS_IDS = exports.FORM_ERROR_MESSAGES = exports.EXECUTION_HELP_CONTACT_DETAILS_BY_FORMULA = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.COUNTRY_NAMES = exports.CONFIGURATOR_FORMULA_TITLES = exports.CONFIGURATOR_FORMULA_ENTITY_IDS = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.ApiStockStatus = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
9
+ exports.normalizeFormulaForOrderApi = exports.mapBranchFormulaToConfiguratorFormula = exports.isThcFamilyFormula = exports.isInvoicedOrFinishedXdmsStatus = exports.getThemeFormulaForConfiguratorFormula = exports.getConfiguratorFormulaCode = 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.INVOICED_OR_FINISHED_XDMS_STATUS_IDS = exports.FORM_ERROR_MESSAGES = exports.EXECUTION_HELP_CONTACT_DETAILS_BY_FORMULA = exports.DOSSIER_TYPES = exports.DISCOUNT_TYPES = exports.DEFAULT_MAP_LONGITUDE = exports.DEFAULT_MAP_LATITUDE = exports.DEFAULT_ARTICLE_BRAND = exports.DAY_NAMES = exports.COUNTRY_NAMES = exports.CONFIGURATOR_FORMULAS = exports.BRANCH_THEME_BY_FORMULA = exports.BRANCH_FORMULAS = exports.BOARD_COMPUTER_DISABLED_KEY = exports.ApiStockStatus = exports.AUTH_SESSION_KEY = exports.ARTICLE_SPECS_TRANSLATIONS = exports.ARTICLES_SYSTEM_FIELDS = exports.API_ERROR_CODES = exports.ALL_EXPERIMENTS = exports.ACTIVE_VARIANTS = void 0;
10
10
  require("core-js/modules/es.array.includes.js");
11
11
  require("core-js/modules/es.string.includes.js");
12
12
  require("core-js/modules/es.string.trim.js");
@@ -48,28 +48,19 @@ const BRANCH_FORMULAS = exports.BRANCH_FORMULAS = {
48
48
  Trekhaakcentrum: 'Trekhaakcentrum',
49
49
  TowMotiveGroup: 'TowMotive Group',
50
50
  TowMotive: 'TowMotive',
51
- Trekhaakmontage: 'Trekhaakmontage',
52
- WestfaliaBenelux: 'Westfalia Benelux',
53
- Trekhaakland: 'Trekhaakland',
54
- Trekhaken: 'Trekhaken.nl'
51
+ Trekhaakmontage: 'Trekhaakmontage'
55
52
  };
56
53
  const BRANCH_THEME_BY_FORMULA = exports.BRANCH_THEME_BY_FORMULA = {
57
54
  Trekhaakcentrum: 'thc',
58
55
  Trekhaakmontage: 'thm',
59
56
  TowMotiveGroup: 'tmg',
60
- TowMotive: 'tm',
61
- WestfaliaBenelux: 'wb',
62
- Trekhaakland: 'thl',
63
- Trekhaken: 'th'
57
+ TowMotive: 'tm'
64
58
  };
65
59
  const PARTNER_PORTAL_PAGE_TITLES_BY_THEME = exports.PARTNER_PORTAL_PAGE_TITLES_BY_THEME = {
66
60
  [BRANCH_THEME_BY_FORMULA.Trekhaakmontage]: 'Trekhaakmontage - Partner Portal',
67
61
  [BRANCH_THEME_BY_FORMULA.Trekhaakcentrum]: 'Trekhaakcentrum - Partner Portal',
68
62
  [BRANCH_THEME_BY_FORMULA.TowMotiveGroup]: 'TowMotive Group - Partner Portal',
69
- [BRANCH_THEME_BY_FORMULA.TowMotive]: 'TowMotive - Partner Portal',
70
- [BRANCH_THEME_BY_FORMULA.WestfaliaBenelux]: 'Westfalia Benelux - Partner Portal',
71
- [BRANCH_THEME_BY_FORMULA.Trekhaakland]: 'Trekhaakland - Partner Portal',
72
- [BRANCH_THEME_BY_FORMULA.Trekhaken]: 'Trekhaken.nl - Partner Portal'
63
+ [BRANCH_THEME_BY_FORMULA.TowMotive]: 'TowMotive - Partner Portal'
73
64
  };
74
65
  const DAY_NAMES = exports.DAY_NAMES = {
75
66
  monday: 'Maandag',
@@ -258,29 +249,17 @@ const CONFIGURATOR_FORMULAS = exports.CONFIGURATOR_FORMULAS = {
258
249
  TMG: 'TMG',
259
250
  TOW: 'TOW',
260
251
  TM: 'TOW',
261
- WB: 'WB',
262
252
  THL: 'THL',
263
253
  TH: 'TH',
264
254
  TowMotive: 'TowMotive'
265
255
  };
266
- const CONFIGURATOR_FORMULA_ENTITY_IDS = exports.CONFIGURATOR_FORMULA_ENTITY_IDS = {
267
- WB: 'AzVoLXTpISqiGtVvntWIO',
268
- THL: 'FDvtPDAYzUM_kUtlPAhoH',
269
- TH: 'dRnsTvJGhmmkTrkgmivap'
270
- };
271
- const CONFIGURATOR_FORMULA_TITLES = exports.CONFIGURATOR_FORMULA_TITLES = {
272
- [CONFIGURATOR_FORMULAS.WB]: 'Westfalia Benelux',
273
- [CONFIGURATOR_FORMULAS.THL]: 'Trekhaakland',
274
- [CONFIGURATOR_FORMULAS.TH]: 'Trekhaken.nl'
275
- };
276
- const LOOSE_ORDER_ONLY_FORMULAS = exports.LOOSE_ORDER_ONLY_FORMULAS = [CONFIGURATOR_FORMULAS.WB, CONFIGURATOR_FORMULAS.THL, CONFIGURATOR_FORMULAS.TH];
277
256
  const normalizeFormulaInput = formula => {
278
257
  if (formula == null) {
279
258
  return null;
280
259
  }
281
260
  if (typeof formula === 'object') {
282
- var _ref, _ref2, _ref3, _ref4, _formula$code;
283
- return normalizeFormulaInput((_ref = (_ref2 = (_ref3 = (_ref4 = (_formula$code = formula === null || formula === void 0 ? void 0 : formula.code) !== null && _formula$code !== void 0 ? _formula$code : formula === null || formula === void 0 ? void 0 : formula.title) !== null && _ref4 !== void 0 ? _ref4 : formula === null || formula === void 0 ? void 0 : formula.entityId) !== null && _ref3 !== void 0 ? _ref3 : formula === null || formula === void 0 ? void 0 : formula.formulaCode) !== null && _ref2 !== void 0 ? _ref2 : formula === null || formula === void 0 ? void 0 : formula.formule) !== null && _ref !== void 0 ? _ref : null);
261
+ var _ref, _ref2, _ref3, _formula$code;
262
+ return normalizeFormulaInput((_ref = (_ref2 = (_ref3 = (_formula$code = formula === null || formula === void 0 ? void 0 : formula.code) !== null && _formula$code !== void 0 ? _formula$code : formula === null || formula === void 0 ? void 0 : formula.title) !== null && _ref3 !== void 0 ? _ref3 : formula === null || formula === void 0 ? void 0 : formula.formulaCode) !== null && _ref2 !== void 0 ? _ref2 : formula === null || formula === void 0 ? void 0 : formula.formule) !== null && _ref !== void 0 ? _ref : null);
284
263
  }
285
264
  if (typeof formula !== 'string') {
286
265
  return null;
@@ -312,6 +291,7 @@ const getConfiguratorFormulaCode = formula => {
312
291
  switch (normalizedFormula.toLowerCase()) {
313
292
  case 'tow':
314
293
  case 'tm':
294
+ case 'th':
315
295
  case 'towmotive':
316
296
  return CONFIGURATOR_FORMULAS.TOW;
317
297
  case 'tmg':
@@ -327,32 +307,11 @@ const getConfiguratorFormulaCode = formula => {
327
307
  case 'thm':
328
308
  case 'trekhaakmontage':
329
309
  return CONFIGURATOR_FORMULAS.THM;
330
- case 'wb':
331
- case 'westfalia benelux':
332
- case 'azvolxtpisqigtvvntwio':
333
- return CONFIGURATOR_FORMULAS.WB;
334
- case 'thl':
335
- case 'trekhaakland':
336
- case 'fdvtpdayzum_kutlpahoh':
337
- return CONFIGURATOR_FORMULAS.THL;
338
- case 'th':
339
- case 'trekhaken':
340
- case 'trekhaken.nl':
341
- case 'drnstvjghmmktrkgmivap':
342
- return CONFIGURATOR_FORMULAS.TH;
343
310
  default:
344
311
  return normalizedFormula.includes(' ') ? normalizedFormula : normalizedFormula.toUpperCase();
345
312
  }
346
313
  };
347
314
  exports.getConfiguratorFormulaCode = getConfiguratorFormulaCode;
348
- const getConfiguratorFormulaTitle = formula => {
349
- var _CONFIGURATOR_FORMULA;
350
- const normalizedFormula = getConfiguratorFormulaCode(formula);
351
- return (_CONFIGURATOR_FORMULA = CONFIGURATOR_FORMULA_TITLES[normalizedFormula]) !== null && _CONFIGURATOR_FORMULA !== void 0 ? _CONFIGURATOR_FORMULA : normalizedFormula;
352
- };
353
- exports.getConfiguratorFormulaTitle = getConfiguratorFormulaTitle;
354
- const isLooseOrderOnlyFormula = formula => LOOSE_ORDER_ONLY_FORMULAS.includes(getConfiguratorFormulaCode(formula));
355
- exports.isLooseOrderOnlyFormula = isLooseOrderOnlyFormula;
356
315
  const isThcFamilyFormula = formula => {
357
316
  const normalizedFormula = getConfiguratorFormulaCode(formula);
358
317
  return normalizedFormula === CONFIGURATOR_FORMULAS.THC || normalizedFormula === CONFIGURATOR_FORMULAS.TBE;
@@ -129,9 +129,12 @@ const ProductCartSide = () => {
129
129
  consumerDiscounts,
130
130
  touchedConsumerDiscounts
131
131
  });
132
- // Use the session skipFilters so this query matches the product page's;
133
- // an unfiltered request can return a different catalogue than the page.
134
- const shouldRequestUnfilteredProducts = skipFilters || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
132
+ // A selected article must not flip skipFilters on by itself. The private order
133
+ // API treats skipFilters as a different catalogue and then drops that article
134
+ // from the cart (JGP37X / 11595148). Unfiltered lookup stays on the session
135
+ // flag, which ProductsOverview sets when the article is missing from the
136
+ // filtered list, plus saved dossier lines that were never classified.
137
+ const shouldRequestUnfilteredProducts = Boolean(skipFilters) || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
135
138
  const {
136
139
  cart,
137
140
  totals,
@@ -355,9 +355,12 @@ const ProductCartTable = () => {
355
355
  consumerDiscounts,
356
356
  touchedConsumerDiscounts
357
357
  });
358
- // Use the session skipFilters so this query matches the product page's;
359
- // an unfiltered request can return a different catalogue than the page.
360
- const shouldRequestUnfilteredProducts = skipFilters || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
358
+ // A selected article must not turn skipFilters on by itself. The private order
359
+ // API treats skipFilters as a different catalogue and then drops that article
360
+ // from the cart (JGP37X / 11595148). Unfiltered lookup stays on the session
361
+ // flag, which ProductsOverview sets when the article is missing from the
362
+ // filtered list, plus saved dossier lines that were never classified.
363
+ const shouldRequestUnfilteredProducts = Boolean(skipFilters) || Boolean(existingDossierId && (allArticleNumbers === null || allArticleNumbers === void 0 ? void 0 : allArticleNumbers.length) > 0);
361
364
  const durationAnswerForQuery = durationAnswerIsPrefilled ? undefined : durationAnswer;
362
365
  const {
363
366
  cart,