thm-p3-configurator 0.0.348 → 0.0.349
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/__components__/LocationsSelector/LocationList.js +180 -0
- package/dist/src/shared/__components__/LocationsSelector/LocationListItem.js +103 -0
- package/dist/src/shared/__components__/LocationsSelector/LocationTreeMarker.js +96 -0
- package/dist/src/shared/__components__/LocationsSelector/index.js +162 -0
- package/dist/src/shared/__components__/Modal.js +78 -0
- package/dist/src/shared/__components__/Navbar.js +58 -0
- package/dist/src/shared/__components__/NavigationSteps.js +115 -0
- package/dist/src/shared/__components__/Pagination.js +53 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardCheckbox.js +38 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardDescription.js +77 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardDiscountAlert.js +57 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardImage.js +28 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardPrice.js +37 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardRibbon.js +28 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardSpecifications.js +77 -0
- package/dist/src/shared/__components__/ProductCard/ProductCardUsps.js +82 -0
- package/dist/src/shared/__components__/ProductCard/index.js +173 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableEditableRow.js +66 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableHead.js +32 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableSection.js +25 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableSectionTotal.js +44 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableStaticRow.js +47 -0
- package/dist/src/shared/__components__/ProductTable/ProductTableTotal.js +41 -0
- package/dist/src/shared/__components__/ProductTable/index.js +127 -0
- package/dist/src/shared/__components__/SingleOrderCartCard.js +78 -0
- package/dist/src/shared/__components__/SingleOrderProductCard.js +269 -0
- package/dist/src/shared/__components__/Spinners/FullPageSpinner.js +73 -0
- package/dist/src/shared/__components__/Spinners/InlineSpinner.js +26 -0
- package/dist/src/shared/__components__/Spinners/TextSpinner.js +31 -0
- package/dist/src/shared/__components__/UspsList.js +27 -0
- package/dist/src/shared/__components__/internal/InternalCustomerDetailsForm.js +951 -0
- package/dist/src/shared/__constants__/cartTable.js +32 -0
- package/dist/src/shared/__constants__/cookiebot.js +7 -0
- package/dist/src/shared/__constants__/index.js +311 -0
- package/dist/src/shared/__constants__/sentry.js +20 -0
- package/dist/src/shared/__containers__/ANWBMembershipInput.js +170 -0
- package/dist/src/shared/__containers__/AppointmentForm.js +389 -0
- package/dist/src/shared/__containers__/BoardComputerCard.js +137 -0
- package/dist/src/shared/__containers__/BottomNavigationBar.js +162 -0
- package/dist/src/shared/__containers__/DiscountProductsSelector.js +149 -0
- package/dist/src/shared/__containers__/ExitIntentModal.js +278 -0
- package/dist/src/shared/__containers__/ExtraProductsOverview.js +227 -0
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.sort.js");
|
|
4
|
+
require("core-js/modules/es.number.to-fixed.js");
|
|
5
|
+
require("core-js/modules/es.parse-float.js");
|
|
6
|
+
require("core-js/modules/es.weak-map.js");
|
|
7
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
8
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
9
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
10
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
11
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
12
|
+
require("core-js/modules/es.weak-map.js");
|
|
13
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
14
|
+
Object.defineProperty(exports, "__esModule", {
|
|
15
|
+
value: true
|
|
16
|
+
});
|
|
17
|
+
exports.default = void 0;
|
|
18
|
+
require("core-js/modules/es.array.sort.js");
|
|
19
|
+
require("core-js/modules/es.number.to-fixed.js");
|
|
20
|
+
require("core-js/modules/es.parse-float.js");
|
|
21
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
22
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
23
|
+
require("core-js/modules/esnext.iterator.map.js");
|
|
24
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
25
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
26
|
+
var _ActiveMarkerContext = require("../../__context__/ActiveMarkerContext");
|
|
27
|
+
var _OrderSessionContext = require("../../__context__/OrderSessionContext");
|
|
28
|
+
var _helpers__ = require("../../__helpers__");
|
|
29
|
+
var _geolocation = require("../../__helpers__/geolocation");
|
|
30
|
+
var _LocationListItem = _interopRequireDefault(require("./LocationListItem"));
|
|
31
|
+
function _interopRequireDefault(e) {
|
|
32
|
+
return e && e.__esModule ? e : {
|
|
33
|
+
default: e
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function _getRequireWildcardCache(e) {
|
|
37
|
+
if ("function" != typeof WeakMap) return null;
|
|
38
|
+
var r = new WeakMap(),
|
|
39
|
+
t = new WeakMap();
|
|
40
|
+
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
41
|
+
return e ? t : r;
|
|
42
|
+
})(e);
|
|
43
|
+
}
|
|
44
|
+
function _interopRequireWildcard(e, r) {
|
|
45
|
+
if (!r && e && e.__esModule) return e;
|
|
46
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
47
|
+
default: e
|
|
48
|
+
};
|
|
49
|
+
var t = _getRequireWildcardCache(r);
|
|
50
|
+
if (t && t.has(e)) return t.get(e);
|
|
51
|
+
var n = {
|
|
52
|
+
__proto__: null
|
|
53
|
+
},
|
|
54
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
55
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
56
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
57
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
58
|
+
}
|
|
59
|
+
return n.default = e, t && t.set(e, n), n;
|
|
60
|
+
}
|
|
61
|
+
function ownKeys(e, r) {
|
|
62
|
+
var t = Object.keys(e);
|
|
63
|
+
if (Object.getOwnPropertySymbols) {
|
|
64
|
+
var o = Object.getOwnPropertySymbols(e);
|
|
65
|
+
r && (o = o.filter(function (r) {
|
|
66
|
+
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
67
|
+
})), t.push.apply(t, o);
|
|
68
|
+
}
|
|
69
|
+
return t;
|
|
70
|
+
}
|
|
71
|
+
function _objectSpread(e) {
|
|
72
|
+
for (var r = 1; r < arguments.length; r++) {
|
|
73
|
+
var t = null != arguments[r] ? arguments[r] : {};
|
|
74
|
+
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
75
|
+
_defineProperty(e, r, t[r]);
|
|
76
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
77
|
+
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return e;
|
|
81
|
+
}
|
|
82
|
+
function _defineProperty(e, r, t) {
|
|
83
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
84
|
+
value: t,
|
|
85
|
+
enumerable: !0,
|
|
86
|
+
configurable: !0,
|
|
87
|
+
writable: !0
|
|
88
|
+
}) : e[r] = t, e;
|
|
89
|
+
}
|
|
90
|
+
function _toPropertyKey(t) {
|
|
91
|
+
var i = _toPrimitive(t, "string");
|
|
92
|
+
return "symbol" == typeof i ? i : i + "";
|
|
93
|
+
}
|
|
94
|
+
function _toPrimitive(t, r) {
|
|
95
|
+
if ("object" != typeof t || !t) return t;
|
|
96
|
+
var e = t[Symbol.toPrimitive];
|
|
97
|
+
if (void 0 !== e) {
|
|
98
|
+
var i = e.call(t, r || "default");
|
|
99
|
+
if ("object" != typeof i) return i;
|
|
100
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
101
|
+
}
|
|
102
|
+
return ("string" === r ? String : Number)(t);
|
|
103
|
+
}
|
|
104
|
+
const LocationsLoading = () => {
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
106
|
+
className: (0, _helpers__.withStyle)('w-100 text-center')
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
108
|
+
className: (0, _helpers__.withStyle)('spinner-border text-primary mx-auto'),
|
|
109
|
+
role: "status"
|
|
110
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
111
|
+
className: "sr-only"
|
|
112
|
+
}, "Loading...")));
|
|
113
|
+
};
|
|
114
|
+
const NoLocationFound = () => {
|
|
115
|
+
return /*#__PURE__*/_react.default.createElement("h4", null, "Geen montagelocaties gevonden");
|
|
116
|
+
};
|
|
117
|
+
const LocationList = _ref => {
|
|
118
|
+
let {
|
|
119
|
+
locationsById,
|
|
120
|
+
locationIds,
|
|
121
|
+
userLocation,
|
|
122
|
+
isLocationSetViaSearch = false,
|
|
123
|
+
isLoading = false
|
|
124
|
+
} = _ref;
|
|
125
|
+
const {
|
|
126
|
+
activeMarkerId
|
|
127
|
+
} = (0, _ActiveMarkerContext.useActiveMarker)();
|
|
128
|
+
const [{
|
|
129
|
+
selectedBranch
|
|
130
|
+
}] = (0, _OrderSessionContext.useOrderSession)();
|
|
131
|
+
const listRef = (0, _react.useRef)(null);
|
|
132
|
+
const locationsWithDistance = locationIds.map((locationId, index) => {
|
|
133
|
+
const location = locationsById[locationId];
|
|
134
|
+
const coordinates = location.googleMapsLocation;
|
|
135
|
+
if (!coordinates) return null;
|
|
136
|
+
const [latStr, lngStr] = coordinates.split(',');
|
|
137
|
+
const lat = parseFloat(latStr);
|
|
138
|
+
const lng = parseFloat(lngStr);
|
|
139
|
+
const distance = userLocation ? (0, _geolocation.calculateDistance)({
|
|
140
|
+
lat1: userLocation.lat,
|
|
141
|
+
lng1: userLocation.lng,
|
|
142
|
+
lat2: lat,
|
|
143
|
+
lng2: lng
|
|
144
|
+
}).toFixed(2) : null;
|
|
145
|
+
return _objectSpread(_objectSpread({}, location), {}, {
|
|
146
|
+
distance: distance ? parseFloat(distance) : null
|
|
147
|
+
});
|
|
148
|
+
}).filter(location => location !== null);
|
|
149
|
+
const sortedLocations = locationsWithDistance.sort((a, b) => {
|
|
150
|
+
const aIsSelected = a.entityId === activeMarkerId || a.entityId === selectedBranch;
|
|
151
|
+
const bIsSelected = b.entityId === activeMarkerId || b.entityId === selectedBranch;
|
|
152
|
+
if (aIsSelected && !bIsSelected) return -1; // a goes to top
|
|
153
|
+
if (!aIsSelected && bIsSelected) return 1; // b goes to top
|
|
154
|
+
|
|
155
|
+
if (a.distance === null) return 1;
|
|
156
|
+
if (b.distance === null) return -1;
|
|
157
|
+
return a.distance - b.distance;
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Handle scrolling when location is set via search
|
|
161
|
+
(0, _react.useEffect)(() => {
|
|
162
|
+
if (isLocationSetViaSearch && listRef.current) {
|
|
163
|
+
listRef.current.scrollTop = 0;
|
|
164
|
+
}
|
|
165
|
+
}, [isLocationSetViaSearch, userLocation]);
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
+
ref: listRef,
|
|
168
|
+
className: (0, _helpers__.withStyle)('dealer-list')
|
|
169
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, userLocation ? 'Dichtsbijzijnde montagelocaties' : 'Montagelocaties'), isLoading && /*#__PURE__*/_react.default.createElement(LocationsLoading, null), !isLoading && !locationIds.length && /*#__PURE__*/_react.default.createElement(NoLocationFound, null), sortedLocations.map(location => /*#__PURE__*/_react.default.createElement(_LocationListItem.default, {
|
|
170
|
+
openingHours: location.openingstijden,
|
|
171
|
+
title: location.naamVestiging,
|
|
172
|
+
city: location.city,
|
|
173
|
+
distance: location.distance ? location.distance : null,
|
|
174
|
+
id: location.entityId,
|
|
175
|
+
key: location.entityId,
|
|
176
|
+
isSelected: location.entityId === activeMarkerId || location.entityId === selectedBranch,
|
|
177
|
+
userLocation: userLocation
|
|
178
|
+
})));
|
|
179
|
+
};
|
|
180
|
+
var _default = exports.default = LocationList;
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _ActiveMarkerContext = require("../../__context__/ActiveMarkerContext");
|
|
13
|
+
var _OrderSessionContext = require("../../__context__/OrderSessionContext");
|
|
14
|
+
var _helpers__ = require("../../__helpers__");
|
|
15
|
+
var _LocationDetails = _interopRequireDefault(require("./LocationDetails"));
|
|
16
|
+
function _interopRequireDefault(e) {
|
|
17
|
+
return e && e.__esModule ? e : {
|
|
18
|
+
default: e
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function _getRequireWildcardCache(e) {
|
|
22
|
+
if ("function" != typeof WeakMap) return null;
|
|
23
|
+
var r = new WeakMap(),
|
|
24
|
+
t = new WeakMap();
|
|
25
|
+
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
26
|
+
return e ? t : r;
|
|
27
|
+
})(e);
|
|
28
|
+
}
|
|
29
|
+
function _interopRequireWildcard(e, r) {
|
|
30
|
+
if (!r && e && e.__esModule) return e;
|
|
31
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
32
|
+
default: e
|
|
33
|
+
};
|
|
34
|
+
var t = _getRequireWildcardCache(r);
|
|
35
|
+
if (t && t.has(e)) return t.get(e);
|
|
36
|
+
var n = {
|
|
37
|
+
__proto__: null
|
|
38
|
+
},
|
|
39
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
40
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
41
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
42
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
43
|
+
}
|
|
44
|
+
return n.default = e, t && t.set(e, n), n;
|
|
45
|
+
}
|
|
46
|
+
const LocationListItem = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
47
|
+
let {
|
|
48
|
+
title,
|
|
49
|
+
city,
|
|
50
|
+
distance,
|
|
51
|
+
id,
|
|
52
|
+
isSelected,
|
|
53
|
+
userLocation
|
|
54
|
+
} = _ref;
|
|
55
|
+
const [{
|
|
56
|
+
selectedBranch
|
|
57
|
+
}, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
58
|
+
const {
|
|
59
|
+
setActiveMarkerId
|
|
60
|
+
} = (0, _ActiveMarkerContext.useActiveMarker)();
|
|
61
|
+
const handleClick = () => {
|
|
62
|
+
setActiveMarkerId(prevId => prevId === id ? null : id);
|
|
63
|
+
dispatch({
|
|
64
|
+
payload: {
|
|
65
|
+
branchId: selectedBranch === id ? null : id
|
|
66
|
+
},
|
|
67
|
+
type: _OrderSessionContext.orderSessionActions.SET_SELECTED_BRANCH
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
71
|
+
ref: ref,
|
|
72
|
+
className: (0, _helpers__.withStyle)("dealer-item ".concat(isSelected ? 'active' : '')),
|
|
73
|
+
onClick: handleClick
|
|
74
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
75
|
+
className: (0, _helpers__.withStyle)('row justify-content-between')
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
77
|
+
className: (0, _helpers__.withStyle)('col d-flex flex-column justify-content-between')
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement("h5", {
|
|
79
|
+
className: (0, _helpers__.withStyle)('fw-bold text-black')
|
|
80
|
+
}, city), /*#__PURE__*/_react.default.createElement("small", null, title)), /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
+
className: (0, _helpers__.withStyle)('col-auto d-flex flex-column align-items-end justify-content-between text-end')
|
|
82
|
+
}, userLocation && isNaN(distance) === false && /*#__PURE__*/_react.default.createElement("p", {
|
|
83
|
+
className: (0, _helpers__.withStyle)('dealer-item__distance')
|
|
84
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
85
|
+
className: "fas fa-map-marker-alt"
|
|
86
|
+
}), Math.round(distance), " km"), /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
+
className: (0, _helpers__.withStyle)('form-check mb-0')
|
|
88
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
89
|
+
type: "radio",
|
|
90
|
+
className: (0, _helpers__.withStyle)('form-check-input'),
|
|
91
|
+
name: "dealer-item-check",
|
|
92
|
+
id: "dealer-item-check-".concat(id),
|
|
93
|
+
autoComplete: "off",
|
|
94
|
+
readOnly: true,
|
|
95
|
+
checked: isSelected
|
|
96
|
+
}), /*#__PURE__*/_react.default.createElement("label", {
|
|
97
|
+
className: (0, _helpers__.withStyle)('form-check-label'),
|
|
98
|
+
htmlFor: "dealer-item-check-".concat(id)
|
|
99
|
+
}, isSelected ? 'Geselecteerd' : 'Selecteren')))), isSelected && APP_CONFIG.internal && /*#__PURE__*/_react.default.createElement(_LocationDetails.default, {
|
|
100
|
+
id: id
|
|
101
|
+
}));
|
|
102
|
+
});
|
|
103
|
+
var _default = exports.default = LocationListItem;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.parse-float.js");
|
|
4
|
+
require("core-js/modules/es.weak-map.js");
|
|
5
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
6
|
+
require("core-js/modules/es.weak-map.js");
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = void 0;
|
|
11
|
+
require("core-js/modules/es.parse-float.js");
|
|
12
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
13
|
+
var _reactGoogleMaps = require("@vis.gl/react-google-maps");
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _mapMarkerThc = _interopRequireDefault(require("../../../../public/assets/images/map-marker-thc.png"));
|
|
16
|
+
var _mapMarker = _interopRequireDefault(require("../../../../public/assets/images/map-marker.png"));
|
|
17
|
+
var _constants__ = require("../../__constants__");
|
|
18
|
+
var _FormulaContext = require("../../__context__/FormulaContext");
|
|
19
|
+
function _interopRequireDefault(e) {
|
|
20
|
+
return e && e.__esModule ? e : {
|
|
21
|
+
default: e
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function _getRequireWildcardCache(e) {
|
|
25
|
+
if ("function" != typeof WeakMap) return null;
|
|
26
|
+
var r = new WeakMap(),
|
|
27
|
+
t = new WeakMap();
|
|
28
|
+
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
29
|
+
return e ? t : r;
|
|
30
|
+
})(e);
|
|
31
|
+
}
|
|
32
|
+
function _interopRequireWildcard(e, r) {
|
|
33
|
+
if (!r && e && e.__esModule) return e;
|
|
34
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
35
|
+
default: e
|
|
36
|
+
};
|
|
37
|
+
var t = _getRequireWildcardCache(r);
|
|
38
|
+
if (t && t.has(e)) return t.get(e);
|
|
39
|
+
var n = {
|
|
40
|
+
__proto__: null
|
|
41
|
+
},
|
|
42
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
43
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
44
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
45
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
46
|
+
}
|
|
47
|
+
return n.default = e, t && t.set(e, n), n;
|
|
48
|
+
}
|
|
49
|
+
const LocationTreeMarker = /*#__PURE__*/_react.default.memo(_ref => {
|
|
50
|
+
let {
|
|
51
|
+
tree,
|
|
52
|
+
onClick,
|
|
53
|
+
setMarkerRef
|
|
54
|
+
} = _ref;
|
|
55
|
+
const core = (0, _reactGoogleMaps.useMapsLibrary)('core');
|
|
56
|
+
const formula = (0, _FormulaContext.useFormula)();
|
|
57
|
+
// Cache marker icon configuration
|
|
58
|
+
const markerIcon = (0, _react.useMemo)(() => {
|
|
59
|
+
if (!core) return {
|
|
60
|
+
url: formula == _constants__.CONFIGURATOR_FORMULAS.THC ? _mapMarkerThc.default : _mapMarker.default
|
|
61
|
+
};
|
|
62
|
+
return {
|
|
63
|
+
url: formula == _constants__.CONFIGURATOR_FORMULAS.THC ? _mapMarkerThc.default : _mapMarker.default,
|
|
64
|
+
size: new core.Size(32, 42),
|
|
65
|
+
anchor: new core.Point(16, 32),
|
|
66
|
+
scaledSize: new core.Size(32, 42)
|
|
67
|
+
};
|
|
68
|
+
}, [core]);
|
|
69
|
+
const handleClick = (0, _react.useCallback)(() => onClick(tree), [onClick, tree]);
|
|
70
|
+
const ref = (0, _react.useCallback)(marker => setMarkerRef(marker, tree === null || tree === void 0 ? void 0 : tree.entityId), [setMarkerRef, tree === null || tree === void 0 ? void 0 : tree.entityId]);
|
|
71
|
+
|
|
72
|
+
// Memoize position calculation
|
|
73
|
+
const position = (0, _react.useMemo)(() => {
|
|
74
|
+
const coordinates = tree === null || tree === void 0 ? void 0 : tree.googleMapsLocation;
|
|
75
|
+
if (!coordinates) return null;
|
|
76
|
+
const [latStr, lngStr] = coordinates.split(',');
|
|
77
|
+
const lat = parseFloat(latStr);
|
|
78
|
+
const lng = parseFloat(lngStr);
|
|
79
|
+
return isNaN(lat) || isNaN(lng) ? null : {
|
|
80
|
+
lat,
|
|
81
|
+
lng
|
|
82
|
+
};
|
|
83
|
+
}, [tree === null || tree === void 0 ? void 0 : tree.googleMapsLocation]);
|
|
84
|
+
if (!position) return null;
|
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_reactGoogleMaps.Marker, {
|
|
86
|
+
optimized: true,
|
|
87
|
+
position: position,
|
|
88
|
+
ref: ref,
|
|
89
|
+
onClick: handleClick,
|
|
90
|
+
icon: markerIcon,
|
|
91
|
+
clickable: true,
|
|
92
|
+
visible: true,
|
|
93
|
+
zIndex: 1
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
var _default = exports.default = LocationTreeMarker;
|
|
@@ -0,0 +1,162 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
+
var _reactGoogleMaps = require("@vis.gl/react-google-maps");
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _queries = require("../../__api__/queries");
|
|
14
|
+
var _constants__ = require("../../__constants__");
|
|
15
|
+
var _ActiveMarkerContext = require("../../__context__/ActiveMarkerContext");
|
|
16
|
+
var _AuthSessionContext = require("../../__context__/AuthSessionContext");
|
|
17
|
+
var _FormulaContext = require("../../__context__/FormulaContext");
|
|
18
|
+
var _OrderSessionContext = require("../../__context__/OrderSessionContext");
|
|
19
|
+
var _helpers__ = require("../../__helpers__");
|
|
20
|
+
var _useBreakpoint = _interopRequireDefault(require("../../__hooks__/useBreakpoint"));
|
|
21
|
+
var _useUserLocation = _interopRequireDefault(require("../../__hooks__/useUserLocation"));
|
|
22
|
+
var _LocationAutoComplete = _interopRequireDefault(require("./LocationAutoComplete"));
|
|
23
|
+
var _LocationClusteredMap = _interopRequireDefault(require("./LocationClusteredMap"));
|
|
24
|
+
var _LocationList = _interopRequireDefault(require("./LocationList"));
|
|
25
|
+
function _interopRequireDefault(e) {
|
|
26
|
+
return e && e.__esModule ? e : {
|
|
27
|
+
default: e
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function _getRequireWildcardCache(e) {
|
|
31
|
+
if ("function" != typeof WeakMap) return null;
|
|
32
|
+
var r = new WeakMap(),
|
|
33
|
+
t = new WeakMap();
|
|
34
|
+
return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {
|
|
35
|
+
return e ? t : r;
|
|
36
|
+
})(e);
|
|
37
|
+
}
|
|
38
|
+
function _interopRequireWildcard(e, r) {
|
|
39
|
+
if (!r && e && e.__esModule) return e;
|
|
40
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
|
41
|
+
default: e
|
|
42
|
+
};
|
|
43
|
+
var t = _getRequireWildcardCache(r);
|
|
44
|
+
if (t && t.has(e)) return t.get(e);
|
|
45
|
+
var n = {
|
|
46
|
+
__proto__: null
|
|
47
|
+
},
|
|
48
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
49
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
|
50
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
|
51
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
|
52
|
+
}
|
|
53
|
+
return n.default = e, t && t.set(e, n), n;
|
|
54
|
+
}
|
|
55
|
+
const Loaded = /*#__PURE__*/_react.default.memo(_ref => {
|
|
56
|
+
let {
|
|
57
|
+
children
|
|
58
|
+
} = _ref;
|
|
59
|
+
const markers = (0, _reactGoogleMaps.useMapsLibrary)('marker');
|
|
60
|
+
const isLoaded = (0, _reactGoogleMaps.useApiIsLoaded)();
|
|
61
|
+
return isLoaded && markers && children;
|
|
62
|
+
});
|
|
63
|
+
const LocationsSelector = /*#__PURE__*/_react.default.memo(() => {
|
|
64
|
+
const [userLocation, setUserLocation] = (0, _useUserLocation.default)();
|
|
65
|
+
const [isLocationSetViaSearch, setIsLocationSetViaSearch] = (0, _react.useState)(false);
|
|
66
|
+
const {
|
|
67
|
+
setActiveMarkerId
|
|
68
|
+
} = (0, _ActiveMarkerContext.useActiveMarker)();
|
|
69
|
+
const [, dispatch] = (0, _OrderSessionContext.useOrderSession)();
|
|
70
|
+
const screen = (0, _useBreakpoint.default)();
|
|
71
|
+
const isDesktop = screen.size >= 1200;
|
|
72
|
+
const formula = (0, _FormulaContext.useFormula)();
|
|
73
|
+
const [{
|
|
74
|
+
franchiseName
|
|
75
|
+
}] = (0, _OrderSessionContext.useOrderSession)();
|
|
76
|
+
const authSession = (0, _AuthSessionContext.useAuthSession)();
|
|
77
|
+
const {
|
|
78
|
+
branchTypes
|
|
79
|
+
} = (0, _queries.useBranchTypes)();
|
|
80
|
+
const isTMGOrganization = _react.default.useMemo(() => {
|
|
81
|
+
var _branchTypes$byId$aut, _authSession$branch;
|
|
82
|
+
return (branchTypes === null || branchTypes === void 0 || (_branchTypes$byId$aut = branchTypes.byId[authSession === null || authSession === void 0 || (_authSession$branch = authSession.branch) === null || _authSession$branch === void 0 || (_authSession$branch = _authSession$branch.organisatietype) === null || _authSession$branch === void 0 ? void 0 : _authSession$branch[0]]) === null || _branchTypes$byId$aut === void 0 ? void 0 : _branchTypes$byId$aut.title) === _constants__.TMG_ORGANIZATION_TYPE;
|
|
83
|
+
}, [branchTypes, authSession]);
|
|
84
|
+
const {
|
|
85
|
+
branches
|
|
86
|
+
} = (0, _queries.useBranchesQuery)({
|
|
87
|
+
offset: 0,
|
|
88
|
+
limit: 400,
|
|
89
|
+
formula,
|
|
90
|
+
franchiseName
|
|
91
|
+
});
|
|
92
|
+
const {
|
|
93
|
+
myBranches
|
|
94
|
+
} = (0, _queries.useMyBranches)(formula);
|
|
95
|
+
const locations = isTMGOrganization || !APP_CONFIG.internal ? (branches === null || branches === void 0 ? void 0 : branches.results) || [] : myBranches || [];
|
|
96
|
+
const {
|
|
97
|
+
byId,
|
|
98
|
+
allIds
|
|
99
|
+
} = (0, _react.useMemo)(() => (0, _helpers__.normalizeArray)({
|
|
100
|
+
array: locations || [],
|
|
101
|
+
key: 'entityId'
|
|
102
|
+
}), [locations]);
|
|
103
|
+
|
|
104
|
+
// Handle location updates from search
|
|
105
|
+
const handleLocationUpdate = function handleLocationUpdate(newLocation) {
|
|
106
|
+
let fromSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
107
|
+
setUserLocation(newLocation);
|
|
108
|
+
setIsLocationSetViaSearch(fromSearch);
|
|
109
|
+
|
|
110
|
+
// Close any open marker popups when searching for a new location
|
|
111
|
+
if (fromSearch) {
|
|
112
|
+
setActiveMarkerId(null);
|
|
113
|
+
|
|
114
|
+
// Also clear any selected branch to avoid confusion
|
|
115
|
+
dispatch({
|
|
116
|
+
payload: {
|
|
117
|
+
branchId: null
|
|
118
|
+
},
|
|
119
|
+
type: _OrderSessionContext.orderSessionActions.SET_SELECTED_BRANCH
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_reactGoogleMaps.APIProvider, {
|
|
124
|
+
apiKey: APP_CONFIG.googleMapsApiKey,
|
|
125
|
+
libraries: ['marker']
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(Loaded, null, APP_CONFIG.internal ? /*#__PURE__*/_react.default.createElement("div", {
|
|
127
|
+
className: (0, _helpers__.withStyle)('row gx-5 mt-3 mt-xl-5')
|
|
128
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
129
|
+
className: (0, _helpers__.withStyle)('content col-xl-8')
|
|
130
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
+
className: (0, _helpers__.withStyle)(isDesktop ? 'dealer-map__container' : 'dealer-map')
|
|
132
|
+
}, /*#__PURE__*/_react.default.createElement(_LocationClusteredMap.default, {
|
|
133
|
+
locationIds: allIds,
|
|
134
|
+
locationsById: byId,
|
|
135
|
+
userLocation: userLocation
|
|
136
|
+
}))), /*#__PURE__*/_react.default.createElement("aside", {
|
|
137
|
+
className: (0, _helpers__.withStyle)('dealer-sidebar col-xl-4 mt-3 mt-xl-0')
|
|
138
|
+
}, isDesktop && /*#__PURE__*/_react.default.createElement(_LocationAutoComplete.default, {
|
|
139
|
+
onLocationUpdate: handleLocationUpdate
|
|
140
|
+
}), franchiseName && /*#__PURE__*/_react.default.createElement("h6", {
|
|
141
|
+
className: (0, _helpers__.withStyle)('my-2')
|
|
142
|
+
}, "Keten: ", franchiseName), /*#__PURE__*/_react.default.createElement(_LocationList.default, {
|
|
143
|
+
locationIds: allIds,
|
|
144
|
+
locationsById: byId,
|
|
145
|
+
userLocation: userLocation,
|
|
146
|
+
isLocationSetViaSearch: isLocationSetViaSearch
|
|
147
|
+
}))) : /*#__PURE__*/_react.default.createElement("div", {
|
|
148
|
+
className: (0, _helpers__.withStyle)('row gx-5 mt-3 mt-xl-5 justify-content-center')
|
|
149
|
+
}, /*#__PURE__*/_react.default.createElement("aside", {
|
|
150
|
+
className: (0, _helpers__.withStyle)('dealer-sidebar col-xl-4 mt-3 mt-xl-0')
|
|
151
|
+
}, isDesktop && /*#__PURE__*/_react.default.createElement(_LocationAutoComplete.default, {
|
|
152
|
+
onLocationUpdate: handleLocationUpdate
|
|
153
|
+
}), franchiseName && /*#__PURE__*/_react.default.createElement("h6", {
|
|
154
|
+
className: (0, _helpers__.withStyle)('my-2')
|
|
155
|
+
}, "Keten: ", franchiseName), /*#__PURE__*/_react.default.createElement(_LocationList.default, {
|
|
156
|
+
locationIds: allIds,
|
|
157
|
+
locationsById: byId,
|
|
158
|
+
userLocation: userLocation,
|
|
159
|
+
isLocationSetViaSearch: isLocationSetViaSearch
|
|
160
|
+
})))));
|
|
161
|
+
});
|
|
162
|
+
var _default = exports.default = LocationsSelector;
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
var _LinkButton = _interopRequireDefault(require("./Buttons/LinkButton"));
|
|
10
|
+
var _PrimaryButton = _interopRequireDefault(require("./Buttons/PrimaryButton"));
|
|
11
|
+
function _interopRequireDefault(e) {
|
|
12
|
+
return e && e.__esModule ? e : {
|
|
13
|
+
default: e
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
const Modal = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
isOpen,
|
|
19
|
+
size,
|
|
20
|
+
title,
|
|
21
|
+
onPrimaryButtonClicked,
|
|
22
|
+
onSecondaryButtonClicked,
|
|
23
|
+
onClose,
|
|
24
|
+
primaryButtonText,
|
|
25
|
+
secondaryButtonText,
|
|
26
|
+
hasSecondaryButton = true,
|
|
27
|
+
hasPrimaryButton = true,
|
|
28
|
+
isPrimaryButtonDisabled = false,
|
|
29
|
+
children
|
|
30
|
+
} = _ref;
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
32
|
+
className: (0, _helpers__.withStyle)("modal fade modal--".concat(size, " ").concat(isOpen ? 'show' : '')),
|
|
33
|
+
"data-bs-backdrop": "static",
|
|
34
|
+
"data-bs-keyboard": "false",
|
|
35
|
+
tabIndex: "-1",
|
|
36
|
+
"aria-labelledby": "staticBackdropLabel",
|
|
37
|
+
"aria-hidden": "true"
|
|
38
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
+
className: (0, _helpers__.withStyle)('modal-dialog modal-dialog-centered modal-lg')
|
|
40
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
41
|
+
className: (0, _helpers__.withStyle)('modal-content page-content')
|
|
42
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
43
|
+
className: (0, _helpers__.withStyle)('modal-header position-relative')
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement("h5", {
|
|
45
|
+
className: (0, _helpers__.withStyle)('text-center w-100 mb-0')
|
|
46
|
+
}, title), onClose && /*#__PURE__*/_react.default.createElement("button", {
|
|
47
|
+
type: "button",
|
|
48
|
+
className: (0, _helpers__.withStyle)('btn-close position-absolute top-0 end-0 m-3'),
|
|
49
|
+
onClick: onClose,
|
|
50
|
+
"aria-label": "Close"
|
|
51
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
52
|
+
className: (0, _helpers__.withStyle)('modal-body')
|
|
53
|
+
}, children), /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
+
className: (0, _helpers__.withStyle)('modal-footer justify-content-center')
|
|
55
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
56
|
+
className: (0, _helpers__.withStyle)('row')
|
|
57
|
+
}, hasSecondaryButton && /*#__PURE__*/_react.default.createElement("div", {
|
|
58
|
+
className: (0, _helpers__.withStyle)('col col-lg-auto mt-1')
|
|
59
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
60
|
+
className: (0, _helpers__.withStyle)('d-grid gap-2')
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(_LinkButton.default, {
|
|
62
|
+
type: "button",
|
|
63
|
+
onClick: onSecondaryButtonClicked,
|
|
64
|
+
label: secondaryButtonText
|
|
65
|
+
}))), hasPrimaryButton && /*#__PURE__*/_react.default.createElement("div", {
|
|
66
|
+
className: (0, _helpers__.withStyle)('col col-lg-auto mt-1')
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
68
|
+
className: (0, _helpers__.withStyle)('d-grid gap-2')
|
|
69
|
+
}, /*#__PURE__*/_react.default.createElement(_PrimaryButton.default, {
|
|
70
|
+
type: "button",
|
|
71
|
+
onClick: onPrimaryButtonClicked,
|
|
72
|
+
isDisabled: isPrimaryButtonDisabled,
|
|
73
|
+
label: primaryButtonText
|
|
74
|
+
})))))))), isOpen && /*#__PURE__*/_react.default.createElement("div", {
|
|
75
|
+
className: (0, _helpers__.withStyle)('modal-backdrop fade show')
|
|
76
|
+
}));
|
|
77
|
+
};
|
|
78
|
+
var _default = exports.default = Modal;
|
|
@@ -0,0 +1,58 @@
|
|
|
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 _logoThcWhite = _interopRequireDefault(require("../../../public/assets/images/logo-thc-white.svg"));
|
|
9
|
+
var _logoTmgPrimary = _interopRequireDefault(require("../../../public/assets/images/logo-tmg-primary.png"));
|
|
10
|
+
var _logoWhite = _interopRequireDefault(require("../../../public/assets/images/logo-white.svg"));
|
|
11
|
+
var _tmLogo = _interopRequireDefault(require("../../../public/assets/images/tm-logo.png"));
|
|
12
|
+
var _constants__ = require("../__constants__");
|
|
13
|
+
var _helpers__ = require("../__helpers__");
|
|
14
|
+
var _useBranchTheme = require("../__hooks__/useBranchTheme");
|
|
15
|
+
function _interopRequireDefault(e) {
|
|
16
|
+
return e && e.__esModule ? e : {
|
|
17
|
+
default: e
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const Navbar = _ref => {
|
|
21
|
+
let {
|
|
22
|
+
onPhoneClicked
|
|
23
|
+
} = _ref;
|
|
24
|
+
const theme = (0, _useBranchTheme.useBranchTheme)();
|
|
25
|
+
const themeClass = (0, _helpers__.getConfiguratorThemeClass)(theme);
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement("nav", {
|
|
27
|
+
className: (0, _helpers__.withStyle)("navbar fixed-top ".concat(themeClass))
|
|
28
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
29
|
+
className: (0, _helpers__.withStyle)('container-fluid')
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
31
|
+
className: (0, _helpers__.withStyle)('navbar-brand'),
|
|
32
|
+
href: APP_CONFIG.websiteHost
|
|
33
|
+
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
34
|
+
className: (0, _helpers__.withStyle)('img-fluid'),
|
|
35
|
+
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,
|
|
36
|
+
alt: "Trekhaakmontage"
|
|
37
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
className: (0, _helpers__.withStyle)('navbar__phone ms-10 d-none d-sm-flex')
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
40
|
+
className: (0, _helpers__.withStyle)('mb-0 fw-bold')
|
|
41
|
+
}, "Heeft u advies nodig?"), /*#__PURE__*/_react.default.createElement("p", {
|
|
42
|
+
className: (0, _helpers__.withStyle)('mb-0')
|
|
43
|
+
}, "Bel ons via", ' ', /*#__PURE__*/_react.default.createElement("a", {
|
|
44
|
+
href: "tel:+31 85 - 000 4122",
|
|
45
|
+
onClick: onPhoneClicked
|
|
46
|
+
}, "+31 85 - 000 4122"))), /*#__PURE__*/_react.default.createElement("div", {
|
|
47
|
+
className: (0, _helpers__.withStyle)('navbar__phone text-end d-flex d-sm-none')
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement("p", {
|
|
49
|
+
className: (0, _helpers__.withStyle)('mb-0 fw-bold')
|
|
50
|
+
}, "Heeft u een vraag?"), /*#__PURE__*/_react.default.createElement("p", {
|
|
51
|
+
className: (0, _helpers__.withStyle)('mb-0')
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
53
|
+
className: (0, _helpers__.withStyle)('fas fa-phone-alt me-1')
|
|
54
|
+
}), /*#__PURE__*/_react.default.createElement("a", {
|
|
55
|
+
href: "tel:+3185000 4122"
|
|
56
|
+
}, "+31 85 - 000 4122")))));
|
|
57
|
+
};
|
|
58
|
+
var _default = exports.default = Navbar;
|