thm-p3-configurator 0.0.251 → 0.0.252
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/index.js +33 -13
- package/dist/src/shared/App.js +1 -1
- package/dist/src/shared/__containers__/StyleWrapper.js +10 -4
- package/dist/src/shared/__context__/ThemeContext.js +57 -0
- package/dist/src/shared/__hooks__/useBranchTheme.js +24 -4
- package/dist/src/shared/__style__/configurator/_configurator.scss +0 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "ActiveMarkerProvider", {
|
|
|
9
9
|
return _ActiveMarkerContext.ActiveMarkerProvider;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "BRANCH_THEME_BY_FORMULA", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _index.BRANCH_THEME_BY_FORMULA;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "CountryController", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function get() {
|
|
@@ -24,7 +30,7 @@ Object.defineProperty(exports, "FormulaController", {
|
|
|
24
30
|
Object.defineProperty(exports, "InternalAppointmentPage", {
|
|
25
31
|
enumerable: true,
|
|
26
32
|
get: function get() {
|
|
27
|
-
return
|
|
33
|
+
return _index2.InternalAppointmentPage;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
30
36
|
Object.defineProperty(exports, "InternalBranchSelectorModal", {
|
|
@@ -36,67 +42,67 @@ Object.defineProperty(exports, "InternalBranchSelectorModal", {
|
|
|
36
42
|
Object.defineProperty(exports, "InternalExtraProductsPage", {
|
|
37
43
|
enumerable: true,
|
|
38
44
|
get: function get() {
|
|
39
|
-
return
|
|
45
|
+
return _index2.InternalExtraProductsPage;
|
|
40
46
|
}
|
|
41
47
|
});
|
|
42
48
|
Object.defineProperty(exports, "InternalLicensePlatePage", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function get() {
|
|
45
|
-
return
|
|
51
|
+
return _index2.InternalLicensePlatePage;
|
|
46
52
|
}
|
|
47
53
|
});
|
|
48
54
|
Object.defineProperty(exports, "InternalLocationsPage", {
|
|
49
55
|
enumerable: true,
|
|
50
56
|
get: function get() {
|
|
51
|
-
return
|
|
57
|
+
return _index2.InternalLocationsPage;
|
|
52
58
|
}
|
|
53
59
|
});
|
|
54
60
|
Object.defineProperty(exports, "InternalManualSelectionPage", {
|
|
55
61
|
enumerable: true,
|
|
56
62
|
get: function get() {
|
|
57
|
-
return
|
|
63
|
+
return _index2.InternalManualSelectionPage;
|
|
58
64
|
}
|
|
59
65
|
});
|
|
60
66
|
Object.defineProperty(exports, "InternalNoDossierPage", {
|
|
61
67
|
enumerable: true,
|
|
62
68
|
get: function get() {
|
|
63
|
-
return
|
|
69
|
+
return _index2.InternalNoDossierPage;
|
|
64
70
|
}
|
|
65
71
|
});
|
|
66
72
|
Object.defineProperty(exports, "InternalNoProductsPage", {
|
|
67
73
|
enumerable: true,
|
|
68
74
|
get: function get() {
|
|
69
|
-
return
|
|
75
|
+
return _index2.InternalNoProductsPage;
|
|
70
76
|
}
|
|
71
77
|
});
|
|
72
78
|
Object.defineProperty(exports, "InternalOverviewPage", {
|
|
73
79
|
enumerable: true,
|
|
74
80
|
get: function get() {
|
|
75
|
-
return
|
|
81
|
+
return _index2.InternalOverviewPage;
|
|
76
82
|
}
|
|
77
83
|
});
|
|
78
84
|
Object.defineProperty(exports, "InternalProductsPage", {
|
|
79
85
|
enumerable: true,
|
|
80
86
|
get: function get() {
|
|
81
|
-
return
|
|
87
|
+
return _index2.InternalProductsPage;
|
|
82
88
|
}
|
|
83
89
|
});
|
|
84
90
|
Object.defineProperty(exports, "InternalQuotationPage", {
|
|
85
91
|
enumerable: true,
|
|
86
92
|
get: function get() {
|
|
87
|
-
return
|
|
93
|
+
return _index2.InternalQuotationPage;
|
|
88
94
|
}
|
|
89
95
|
});
|
|
90
96
|
Object.defineProperty(exports, "InternalSessionEditPage", {
|
|
91
97
|
enumerable: true,
|
|
92
98
|
get: function get() {
|
|
93
|
-
return
|
|
99
|
+
return _index2.InternalSessionEditPage;
|
|
94
100
|
}
|
|
95
101
|
});
|
|
96
102
|
Object.defineProperty(exports, "InternalSingleOrderPage", {
|
|
97
103
|
enumerable: true,
|
|
98
104
|
get: function get() {
|
|
99
|
-
return
|
|
105
|
+
return _index2.InternalSingleOrderPage;
|
|
100
106
|
}
|
|
101
107
|
});
|
|
102
108
|
Object.defineProperty(exports, "OrderSessionController", {
|
|
@@ -111,6 +117,12 @@ Object.defineProperty(exports, "StyleWrapper", {
|
|
|
111
117
|
return _StyleWrapper.default;
|
|
112
118
|
}
|
|
113
119
|
});
|
|
120
|
+
Object.defineProperty(exports, "ThemeProvider", {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function get() {
|
|
123
|
+
return _ThemeContext.ThemeProvider;
|
|
124
|
+
}
|
|
125
|
+
});
|
|
114
126
|
Object.defineProperty(exports, "orderSessionActions", {
|
|
115
127
|
enumerable: true,
|
|
116
128
|
get: function get() {
|
|
@@ -159,12 +171,20 @@ Object.defineProperty(exports, "useOrderSession", {
|
|
|
159
171
|
return _OrderSessionContext.useOrderSession;
|
|
160
172
|
}
|
|
161
173
|
});
|
|
174
|
+
Object.defineProperty(exports, "useThemeContext", {
|
|
175
|
+
enumerable: true,
|
|
176
|
+
get: function get() {
|
|
177
|
+
return _ThemeContext.useThemeContext;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
var _index = require("./src/shared/__constants__/index.js");
|
|
162
181
|
var _InternalBranchSelectorModal = _interopRequireDefault(require("./src/shared/__containers__/internal/InternalBranchSelectorModal.js"));
|
|
163
182
|
var _StyleWrapper = _interopRequireDefault(require("./src/shared/__containers__/StyleWrapper.js"));
|
|
164
183
|
var _ActiveMarkerContext = require("./src/shared/__context__/ActiveMarkerContext.js");
|
|
165
184
|
var _CountryContext = require("./src/shared/__context__/CountryContext.js");
|
|
166
185
|
var _FormulaContext = require("./src/shared/__context__/FormulaContext.js");
|
|
167
186
|
var _OrderSessionContext = require("./src/shared/__context__/OrderSessionContext.js");
|
|
168
|
-
var
|
|
187
|
+
var _ThemeContext = require("./src/shared/__context__/ThemeContext.js");
|
|
188
|
+
var _index2 = require("./src/shared/__pages__/internal/index.js");
|
|
169
189
|
var _mainModule = _interopRequireDefault(require("./src/shared/__style__/main.module.scss"));
|
|
170
190
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
package/dist/src/shared/App.js
CHANGED
|
@@ -70,7 +70,7 @@ const App = () => {
|
|
|
70
70
|
(0, _Experiments.default)();
|
|
71
71
|
});
|
|
72
72
|
return /*#__PURE__*/_react.default.createElement(_SentryWrapper.default, null, /*#__PURE__*/_react.default.createElement(_FormulaContext.FormulaController, {
|
|
73
|
-
defaultFormula: _constants__.CONFIGURATOR_FORMULAS.
|
|
73
|
+
defaultFormula: _constants__.CONFIGURATOR_FORMULAS.TMG
|
|
74
74
|
}, /*#__PURE__*/_react.default.createElement(_CountryContext.CountryController, {
|
|
75
75
|
defaultCountry: APP_CONFIG.country
|
|
76
76
|
}, /*#__PURE__*/_react.default.createElement(_OrderSessionContext.OrderSessionController, null, /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
|
|
@@ -11,6 +11,7 @@ require("core-js/modules/web.dom-collections.iterator.js");
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactRouter = require("react-router");
|
|
13
13
|
var _constants__ = require("../__constants__");
|
|
14
|
+
var _ThemeContext = require("../__context__/ThemeContext");
|
|
14
15
|
var _helpers__ = require("../__helpers__");
|
|
15
16
|
var _useBranchTheme = require("../__hooks__/useBranchTheme");
|
|
16
17
|
function _getRequireWildcardCache(e) {
|
|
@@ -40,10 +41,13 @@ function _interopRequireWildcard(e, r) {
|
|
|
40
41
|
}
|
|
41
42
|
const StyleWrapper = _ref => {
|
|
42
43
|
let {
|
|
43
|
-
children
|
|
44
|
+
children,
|
|
45
|
+
theme: themeProp
|
|
44
46
|
} = _ref;
|
|
45
47
|
const [height, setHeight] = _react.default.useState({});
|
|
46
|
-
const
|
|
48
|
+
const themeFromHook = (0, _useBranchTheme.useBranchTheme)();
|
|
49
|
+
// Allow parent to override theme via prop (needed when used as npm package)
|
|
50
|
+
const theme = themeProp || themeFromHook;
|
|
47
51
|
(0, _react.useLayoutEffect)(() => {
|
|
48
52
|
window.addEventListener('resize', handleResize);
|
|
49
53
|
handleResize();
|
|
@@ -67,9 +71,11 @@ const StyleWrapper = _ref => {
|
|
|
67
71
|
});
|
|
68
72
|
}
|
|
69
73
|
};
|
|
70
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
74
|
+
return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeProvider, {
|
|
75
|
+
theme: theme
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("main", {
|
|
71
77
|
className: (0, _helpers__.withStyle)("thm-configurator ".concat(APP_CONFIG.internal ? 'thm-configurator--offset' : '', " ").concat(theme === _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakcentrum ? 'thc' : theme === _constants__.BRANCH_THEME_BY_FORMULA.TowMotiveGroup ? 'tmg' : '')),
|
|
72
78
|
style: height
|
|
73
|
-
}, children);
|
|
79
|
+
}, children));
|
|
74
80
|
};
|
|
75
81
|
var _default = exports.default = StyleWrapper;
|
|
@@ -0,0 +1,57 @@
|
|
|
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.useThemeContext = exports.ThemeProvider = void 0;
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
function _getRequireWildcardCache(e) {
|
|
13
|
+
if ("function" != typeof WeakMap) return null;
|
|
14
|
+
var r = new WeakMap(),
|
|
15
|
+
t = new WeakMap();
|
|
16
|
+
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
17
|
+
return e ? t : r;
|
|
18
|
+
})(e);
|
|
19
|
+
}
|
|
20
|
+
function _interopRequireWildcard(e, r) {
|
|
21
|
+
if (!r && e && e.__esModule) return e;
|
|
22
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
23
|
+
default: e
|
|
24
|
+
};
|
|
25
|
+
var t = _getRequireWildcardCache(r);
|
|
26
|
+
if (t && t.has(e)) return t.get(e);
|
|
27
|
+
var n = {
|
|
28
|
+
__proto__: null
|
|
29
|
+
},
|
|
30
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
31
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
32
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
33
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
34
|
+
}
|
|
35
|
+
return n.default = e, t && t.set(e, n), n;
|
|
36
|
+
}
|
|
37
|
+
const ThemeContext = /*#__PURE__*/_react.default.createContext(null);
|
|
38
|
+
ThemeContext.displayName = 'ThemeContext';
|
|
39
|
+
const ThemeProvider = _ref => {
|
|
40
|
+
let {
|
|
41
|
+
children,
|
|
42
|
+
theme
|
|
43
|
+
} = _ref;
|
|
44
|
+
return /*#__PURE__*/_react.default.createElement(ThemeContext.Provider, {
|
|
45
|
+
value: theme
|
|
46
|
+
}, children);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @description Returns the theme from ThemeContext if available
|
|
51
|
+
* This allows parent applications to override the theme when using the configurator as an npm package
|
|
52
|
+
*/
|
|
53
|
+
exports.ThemeProvider = ThemeProvider;
|
|
54
|
+
const useThemeContext = () => {
|
|
55
|
+
return (0, _react.useContext)(ThemeContext);
|
|
56
|
+
};
|
|
57
|
+
exports.useThemeContext = useThemeContext;
|
|
@@ -6,18 +6,34 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useBranchTheme = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _constants__ = require("../__constants__");
|
|
9
|
-
var _LocalStorageWorker = require("../__services__/LocalStorageWorker");
|
|
10
9
|
var _FormulaContext = require("../__context__/FormulaContext");
|
|
10
|
+
var _ThemeContext = require("../__context__/ThemeContext");
|
|
11
|
+
const LAST_USED_THEME_KEY = '__lastUsedTheme';
|
|
12
|
+
|
|
11
13
|
/**
|
|
12
14
|
* @description Returns the theme of the partner portal based on the currently selected branch
|
|
15
|
+
* - First checks if a theme was provided via ThemeContext (from StyleWrapper prop)
|
|
13
16
|
* - If the branch type is TowMotive group: return tmg theme
|
|
14
17
|
* - Otherwise, check the branch formula and return the corresponding theme
|
|
15
18
|
* - Caches the last used theme in localstorage and updates it when the current branch theme changes (to persist themes even when the user is logged out)
|
|
16
19
|
*/
|
|
17
20
|
const useBranchTheme = () => {
|
|
21
|
+
// Check if theme was provided via ThemeContext (from StyleWrapper prop)
|
|
22
|
+
const themeFromContext = (0, _ThemeContext.useThemeContext)();
|
|
18
23
|
const formula = (0, _FormulaContext.useFormula)();
|
|
19
|
-
|
|
24
|
+
|
|
25
|
+
// Try to get cached theme from localStorage
|
|
26
|
+
let cachedTheme = null;
|
|
27
|
+
try {
|
|
28
|
+
cachedTheme = localStorage.getItem(LAST_USED_THEME_KEY);
|
|
29
|
+
} catch (e) {
|
|
30
|
+
// localStorage not available
|
|
31
|
+
}
|
|
20
32
|
const currentTheme = (0, _react.useMemo)(() => {
|
|
33
|
+
// If theme was provided via context (from parent app), use that
|
|
34
|
+
if (themeFromContext) {
|
|
35
|
+
return themeFromContext;
|
|
36
|
+
}
|
|
21
37
|
if (!formula) {
|
|
22
38
|
return cachedTheme || _constants__.BRANCH_THEME_BY_FORMULA.Trekhaakmontage;
|
|
23
39
|
}
|
|
@@ -44,14 +60,18 @@ const useBranchTheme = () => {
|
|
|
44
60
|
return cachedTheme;
|
|
45
61
|
}
|
|
46
62
|
}
|
|
47
|
-
}, [cachedTheme, formula]);
|
|
63
|
+
}, [themeFromContext, cachedTheme, formula]);
|
|
48
64
|
|
|
49
65
|
/**
|
|
50
66
|
* @description Updates the last used theme value in LS with the current theme
|
|
51
67
|
*/
|
|
52
68
|
(0, _react.useEffect)(() => {
|
|
53
69
|
if (currentTheme) {
|
|
54
|
-
|
|
70
|
+
try {
|
|
71
|
+
localStorage.setItem(LAST_USED_THEME_KEY, currentTheme);
|
|
72
|
+
} catch (e) {
|
|
73
|
+
// localStorage not available
|
|
74
|
+
}
|
|
55
75
|
}
|
|
56
76
|
}, [currentTheme]);
|
|
57
77
|
return currentTheme;
|