@micromag/core 0.3.767 → 0.3.769
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/es/components.js +2 -2
- package/lib/components.js +4500 -0
- package/lib/contexts.js +1802 -0
- package/lib/hooks.js +2474 -0
- package/lib/index.js +2436 -0
- package/lib/utils.js +1255 -0
- package/package.json +9 -4
package/lib/contexts.js
ADDED
|
@@ -0,0 +1,1802 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var isString = require('lodash/isString');
|
|
5
|
+
var PropTypes = require('prop-types');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var core = require('@micromag/core');
|
|
8
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
|
+
var JSCookie = require('js-cookie');
|
|
10
|
+
var reactIntl = require('react-intl');
|
|
11
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
12
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
13
|
+
var uniqBy = require('lodash/uniqBy');
|
|
14
|
+
var fetch = require('@folklore/fetch');
|
|
15
|
+
var isObject = require('lodash/isObject');
|
|
16
|
+
var services = require('@folklore/services');
|
|
17
|
+
var utils = require('@micromag/core/utils');
|
|
18
|
+
var routes = require('@folklore/routes');
|
|
19
|
+
var wouter = require('wouter');
|
|
20
|
+
var tracking = require('@folklore/tracking');
|
|
21
|
+
var EventEmitter = require('wolfy87-eventemitter');
|
|
22
|
+
|
|
23
|
+
var MODALS_NAMESPACE = 'modals';
|
|
24
|
+
var FIELDS_NAMESPACE = 'fields';
|
|
25
|
+
var FORMS_NAMESPACE = 'forms';
|
|
26
|
+
var SCREENS_NAMESPACE = 'screens';
|
|
27
|
+
var ELEMENTS_NAMESPACE = 'elements';
|
|
28
|
+
var ComponentsContext = /*#__PURE__*/React.createContext(null);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Hooks
|
|
32
|
+
*/
|
|
33
|
+
var useComponentsManager = function useComponentsManager() {
|
|
34
|
+
var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
35
|
+
var manager = React.useContext(ComponentsContext);
|
|
36
|
+
var finalManager = React.useMemo(function () {
|
|
37
|
+
return namespace !== null ? new core.ComponentsManager(manager.getComponents(namespace)) : manager;
|
|
38
|
+
}, [manager, namespace]);
|
|
39
|
+
return finalManager;
|
|
40
|
+
};
|
|
41
|
+
var useComponents = function useComponents() {
|
|
42
|
+
var namespace = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
43
|
+
var defaultComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
44
|
+
var manager = useComponentsManager();
|
|
45
|
+
return manager.getComponents(namespace) || defaultComponents;
|
|
46
|
+
};
|
|
47
|
+
var useComponent = function useComponent(name) {
|
|
48
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
49
|
+
var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
50
|
+
var manager = useComponentsManager(namespace);
|
|
51
|
+
return React.useMemo(function () {
|
|
52
|
+
if (!isString(name)) {
|
|
53
|
+
return name || defaultComponent;
|
|
54
|
+
}
|
|
55
|
+
return manager.getComponent(name) || defaultComponent;
|
|
56
|
+
}, [manager, name, defaultComponent]);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Fields hooks
|
|
61
|
+
*/
|
|
62
|
+
var useFieldsComponentsManager = function useFieldsComponentsManager() {
|
|
63
|
+
return useComponentsManager(FIELDS_NAMESPACE);
|
|
64
|
+
};
|
|
65
|
+
var useFieldsComponents = function useFieldsComponents() {
|
|
66
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
67
|
+
return useComponents(FIELDS_NAMESPACE, defaultComponents);
|
|
68
|
+
};
|
|
69
|
+
var useFieldComponent = function useFieldComponent(name) {
|
|
70
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
71
|
+
return useComponent(name, defaultComponent, FIELDS_NAMESPACE);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Screens hooks
|
|
76
|
+
*/
|
|
77
|
+
var useScreensComponentsManager = function useScreensComponentsManager() {
|
|
78
|
+
return useComponentsManager(SCREENS_NAMESPACE);
|
|
79
|
+
};
|
|
80
|
+
var useScreensComponents = function useScreensComponents() {
|
|
81
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
82
|
+
return useComponents(SCREENS_NAMESPACE, defaultComponents);
|
|
83
|
+
};
|
|
84
|
+
var useScreenComponent = function useScreenComponent(name) {
|
|
85
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
86
|
+
return useComponent(name, defaultComponent, SCREENS_NAMESPACE);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Forms hooks
|
|
91
|
+
*/
|
|
92
|
+
var useFormsComponentsManager = function useFormsComponentsManager() {
|
|
93
|
+
return useComponentsManager(FORMS_NAMESPACE);
|
|
94
|
+
};
|
|
95
|
+
var useFormsComponents = function useFormsComponents() {
|
|
96
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
97
|
+
return useComponents(FORMS_NAMESPACE, defaultComponents);
|
|
98
|
+
};
|
|
99
|
+
var useFormComponent = function useFormComponent(name) {
|
|
100
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
101
|
+
return useComponent(name, defaultComponent, FORMS_NAMESPACE);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Modals hooks
|
|
106
|
+
*/
|
|
107
|
+
var useModalsComponentsManager = function useModalsComponentsManager() {
|
|
108
|
+
return useComponentsManager(MODALS_NAMESPACE);
|
|
109
|
+
};
|
|
110
|
+
var useModalsComponents = function useModalsComponents() {
|
|
111
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
112
|
+
return useComponents(MODALS_NAMESPACE, defaultComponents);
|
|
113
|
+
};
|
|
114
|
+
var useModalComponent = function useModalComponent(name) {
|
|
115
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
116
|
+
return useComponent(name, defaultComponent, MODALS_NAMESPACE);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Elements hooks
|
|
121
|
+
*/
|
|
122
|
+
var useElementsComponentsManager = function useElementsComponentsManager() {
|
|
123
|
+
return useComponentsManager(ELEMENTS_NAMESPACE);
|
|
124
|
+
};
|
|
125
|
+
var useElementsComponents = function useElementsComponents() {
|
|
126
|
+
var defaultComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
127
|
+
return useComponents(ELEMENTS_NAMESPACE, defaultComponents);
|
|
128
|
+
};
|
|
129
|
+
var useElementComponent = function useElementComponent(name) {
|
|
130
|
+
var defaultComponent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
131
|
+
return useComponent(name, defaultComponent, ELEMENTS_NAMESPACE);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Provider
|
|
136
|
+
*/
|
|
137
|
+
var propTypes$j = {
|
|
138
|
+
children: PropTypes.node.isRequired,
|
|
139
|
+
namespace: PropTypes.string,
|
|
140
|
+
manager: PropTypes.instanceOf(core.ComponentsManager),
|
|
141
|
+
components: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))
|
|
142
|
+
};
|
|
143
|
+
var defaultProps$j = {
|
|
144
|
+
namespace: null,
|
|
145
|
+
components: {},
|
|
146
|
+
manager: null
|
|
147
|
+
};
|
|
148
|
+
var ComponentsProvider = function ComponentsProvider(_ref) {
|
|
149
|
+
var components = _ref.components,
|
|
150
|
+
manager = _ref.manager,
|
|
151
|
+
namespace = _ref.namespace,
|
|
152
|
+
children = _ref.children;
|
|
153
|
+
var previousManager = useComponentsManager() || null;
|
|
154
|
+
var finalManager = React.useMemo(function () {
|
|
155
|
+
return new core.ComponentsManager(_objectSpread(_objectSpread(_objectSpread({}, previousManager !== null ? previousManager.getComponents() : null), manager !== null ? manager.getComponents() : null), new core.ComponentsManager(components).addNamespace(namespace).getComponents()));
|
|
156
|
+
}, [previousManager, manager, components, namespace]);
|
|
157
|
+
return /*#__PURE__*/React.createElement(ComponentsContext.Provider, {
|
|
158
|
+
value: finalManager
|
|
159
|
+
}, children);
|
|
160
|
+
};
|
|
161
|
+
ComponentsProvider.propTypes = propTypes$j;
|
|
162
|
+
ComponentsProvider.defaultProps = defaultProps$j;
|
|
163
|
+
|
|
164
|
+
var messages = reactIntl.defineMessages({
|
|
165
|
+
functionality_title: {
|
|
166
|
+
id: "consent.functionality_title",
|
|
167
|
+
defaultMessage: [{
|
|
168
|
+
"type": 0,
|
|
169
|
+
"value": "Functionnal"
|
|
170
|
+
}]
|
|
171
|
+
},
|
|
172
|
+
functionality_description: {
|
|
173
|
+
id: "consent.functionality_description",
|
|
174
|
+
defaultMessage: [{
|
|
175
|
+
"type": 0,
|
|
176
|
+
"value": "Cookies required for the site to function properly."
|
|
177
|
+
}]
|
|
178
|
+
},
|
|
179
|
+
analytics_title: {
|
|
180
|
+
id: "consent.analytics_title",
|
|
181
|
+
defaultMessage: [{
|
|
182
|
+
"type": 0,
|
|
183
|
+
"value": "Analytics"
|
|
184
|
+
}]
|
|
185
|
+
},
|
|
186
|
+
analytics_description: {
|
|
187
|
+
id: "consent.analytics_description",
|
|
188
|
+
defaultMessage: [{
|
|
189
|
+
"type": 0,
|
|
190
|
+
"value": "Cookies used to measure user behavior."
|
|
191
|
+
}]
|
|
192
|
+
},
|
|
193
|
+
ad_storage_title: {
|
|
194
|
+
id: "consent.ad_storage_title",
|
|
195
|
+
defaultMessage: [{
|
|
196
|
+
"type": 0,
|
|
197
|
+
"value": "Ad Storage"
|
|
198
|
+
}]
|
|
199
|
+
},
|
|
200
|
+
ad_storage_description: {
|
|
201
|
+
id: "consent.ad_storage_description",
|
|
202
|
+
defaultMessage: [{
|
|
203
|
+
"type": 0,
|
|
204
|
+
"value": "Cookies used for advertising purposes."
|
|
205
|
+
}]
|
|
206
|
+
},
|
|
207
|
+
ad_personalization_title: {
|
|
208
|
+
id: "consent.ad_personalization_title",
|
|
209
|
+
defaultMessage: [{
|
|
210
|
+
"type": 0,
|
|
211
|
+
"value": "Ad Personalization"
|
|
212
|
+
}]
|
|
213
|
+
},
|
|
214
|
+
ad_personalization_description: {
|
|
215
|
+
id: "consent.ad_personalization_description",
|
|
216
|
+
defaultMessage: [{
|
|
217
|
+
"type": 0,
|
|
218
|
+
"value": "Cookies used for ad targeting."
|
|
219
|
+
}]
|
|
220
|
+
},
|
|
221
|
+
ad_user_data_title: {
|
|
222
|
+
id: "consent.ad_user_data_title",
|
|
223
|
+
defaultMessage: [{
|
|
224
|
+
"type": 0,
|
|
225
|
+
"value": "User Ad Data"
|
|
226
|
+
}]
|
|
227
|
+
},
|
|
228
|
+
ad_user_data_description: {
|
|
229
|
+
id: "consent.ad_user_data_description",
|
|
230
|
+
defaultMessage: [{
|
|
231
|
+
"type": 0,
|
|
232
|
+
"value": "Cookies used for user-specific ad data."
|
|
233
|
+
}]
|
|
234
|
+
},
|
|
235
|
+
personalization_storage_title: {
|
|
236
|
+
id: "consent.personalization_storage_title",
|
|
237
|
+
defaultMessage: [{
|
|
238
|
+
"type": 0,
|
|
239
|
+
"value": "Personalization Storage"
|
|
240
|
+
}]
|
|
241
|
+
},
|
|
242
|
+
personalization_storage_description: {
|
|
243
|
+
id: "consent.personalization_storage_description",
|
|
244
|
+
defaultMessage: [{
|
|
245
|
+
"type": 0,
|
|
246
|
+
"value": "Cookies used for personalizing user experience."
|
|
247
|
+
}]
|
|
248
|
+
},
|
|
249
|
+
security_storage_title: {
|
|
250
|
+
id: "consent.security_storage_title",
|
|
251
|
+
defaultMessage: [{
|
|
252
|
+
"type": 0,
|
|
253
|
+
"value": "Security Storage"
|
|
254
|
+
}]
|
|
255
|
+
},
|
|
256
|
+
security_storage_description: {
|
|
257
|
+
id: "consent.security_storage_description",
|
|
258
|
+
defaultMessage: [{
|
|
259
|
+
"type": 0,
|
|
260
|
+
"value": "Cookies used for security purposes."
|
|
261
|
+
}]
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
var consentStates = [{
|
|
265
|
+
id: 'functionality_storage',
|
|
266
|
+
label: messages.functionality_title,
|
|
267
|
+
description: messages.functionality_description,
|
|
268
|
+
value: true,
|
|
269
|
+
disabled: true
|
|
270
|
+
}, {
|
|
271
|
+
id: 'security_storage',
|
|
272
|
+
label: messages.security_storage_title,
|
|
273
|
+
description: messages.security_storage_description,
|
|
274
|
+
value: true
|
|
275
|
+
}, {
|
|
276
|
+
id: 'personalization_storage',
|
|
277
|
+
label: messages.personalization_storage_title,
|
|
278
|
+
description: messages.personalization_storage_description,
|
|
279
|
+
value: false
|
|
280
|
+
}, {
|
|
281
|
+
id: 'analytics_storage',
|
|
282
|
+
label: messages.analytics_title,
|
|
283
|
+
description: messages.analytics_description,
|
|
284
|
+
value: false
|
|
285
|
+
}, {
|
|
286
|
+
id: 'ad_storage',
|
|
287
|
+
label: messages.ad_storage_title,
|
|
288
|
+
description: messages.ad_storage_description,
|
|
289
|
+
value: false
|
|
290
|
+
}, {
|
|
291
|
+
id: 'ad_personalization',
|
|
292
|
+
label: messages.ad_personalization_title,
|
|
293
|
+
description: messages.ad_personalization_description,
|
|
294
|
+
value: false
|
|
295
|
+
}, {
|
|
296
|
+
id: 'ad_user_data',
|
|
297
|
+
label: messages.ad_user_data_title,
|
|
298
|
+
description: messages.ad_user_data_description,
|
|
299
|
+
value: false
|
|
300
|
+
}];
|
|
301
|
+
var ConsentContext = /*#__PURE__*/React.createContext({
|
|
302
|
+
consent: null,
|
|
303
|
+
setConsent: function setConsent() {}
|
|
304
|
+
});
|
|
305
|
+
var useConsent = function useConsent() {
|
|
306
|
+
return React.useContext(ConsentContext);
|
|
307
|
+
};
|
|
308
|
+
var propTypes$i = {
|
|
309
|
+
children: PropTypes.node.isRequired,
|
|
310
|
+
consent: PropTypes.arrayOf(PropTypes.shape({})),
|
|
311
|
+
consented: PropTypes.bool,
|
|
312
|
+
expiration: PropTypes.number
|
|
313
|
+
};
|
|
314
|
+
var defaultProps$i = {
|
|
315
|
+
consent: ['functionality_storage', 'analytics_storage', 'ad_storage', 'ad_personalization', 'ad_user_data'],
|
|
316
|
+
consented: null,
|
|
317
|
+
expiration: 182 // Default expiration in days
|
|
318
|
+
};
|
|
319
|
+
var ConsentProvider = function ConsentProvider(_ref) {
|
|
320
|
+
var providedConsent = _ref.consent,
|
|
321
|
+
initialConsented = _ref.consented,
|
|
322
|
+
expiration = _ref.expiration,
|
|
323
|
+
children = _ref.children;
|
|
324
|
+
// Has consented or not to cookies
|
|
325
|
+
var initialCookieConsented = JSCookie.get('has_consented') === 'true';
|
|
326
|
+
var baseConsented = initialConsented || initialCookieConsented;
|
|
327
|
+
var _useState = React.useState(baseConsented),
|
|
328
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
329
|
+
consented = _useState2[0],
|
|
330
|
+
setConsentedState = _useState2[1];
|
|
331
|
+
var setConsented = React.useCallback(function () {
|
|
332
|
+
var accept = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
333
|
+
var hasConsented = accept || false;
|
|
334
|
+
JSCookie.set('has_consented', hasConsented, {
|
|
335
|
+
secure: true,
|
|
336
|
+
expires: expiration
|
|
337
|
+
});
|
|
338
|
+
setConsentedState(hasConsented);
|
|
339
|
+
}, [expiration, setConsentedState]);
|
|
340
|
+
React.useEffect(function () {
|
|
341
|
+
if (initialConsented === true || initialConsented === false) {
|
|
342
|
+
setConsented(initialConsented);
|
|
343
|
+
}
|
|
344
|
+
}, [initialConsented, setConsented]);
|
|
345
|
+
|
|
346
|
+
// The consent state itself
|
|
347
|
+
var baseConsent = React.useMemo(function () {
|
|
348
|
+
return (providedConsent || consentStates || []).map(function (item) {
|
|
349
|
+
if (isString(item)) {
|
|
350
|
+
return (consentStates || []).find(function (it) {
|
|
351
|
+
return it.id === item;
|
|
352
|
+
}) || null;
|
|
353
|
+
}
|
|
354
|
+
return item || null;
|
|
355
|
+
}).filter(function (it) {
|
|
356
|
+
return it !== null;
|
|
357
|
+
}).map(function (it) {
|
|
358
|
+
return _objectSpread(_objectSpread({}, it), {}, {
|
|
359
|
+
value:
|
|
360
|
+
// eslint-disable-next-line no-nested-ternary
|
|
361
|
+
JSCookie.get(it.id) === 'granted' ? true : JSCookie.get(it.id) === 'denied' ? false : it.value
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
}, [providedConsent]);
|
|
365
|
+
var _useState3 = React.useState(null),
|
|
366
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
367
|
+
consent = _useState4[0],
|
|
368
|
+
setConsentState = _useState4[1];
|
|
369
|
+
var setConsent = React.useCallback(function () {
|
|
370
|
+
var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
371
|
+
var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
372
|
+
var tagManagerConsent = (values || []).reduce(function (acc, it) {
|
|
373
|
+
if (it.value === true) {
|
|
374
|
+
JSCookie.set(it.id, 'granted', {
|
|
375
|
+
secure: true,
|
|
376
|
+
expires: expiration
|
|
377
|
+
});
|
|
378
|
+
acc[it.id] = 'granted';
|
|
379
|
+
} else if (it.value === false) {
|
|
380
|
+
JSCookie.set(it.id, 'denied', {
|
|
381
|
+
secure: true,
|
|
382
|
+
expires: expiration
|
|
383
|
+
});
|
|
384
|
+
acc[it.id] = 'denied';
|
|
385
|
+
} else {
|
|
386
|
+
JSCookie.remove(it.id);
|
|
387
|
+
acc[it.id] = 'denied';
|
|
388
|
+
}
|
|
389
|
+
return acc;
|
|
390
|
+
}, {});
|
|
391
|
+
if (typeof window !== 'undefined' && typeof window.gtag === 'function') {
|
|
392
|
+
window.gtag('consent', initial === true ? 'default' : 'update', tagManagerConsent);
|
|
393
|
+
window.gtag('event', initial === true ? 'consent_default' : 'consent_update', tagManagerConsent);
|
|
394
|
+
console.log('consent', initial === true ? 'default' : 'update', tagManagerConsent);
|
|
395
|
+
}
|
|
396
|
+
setConsentState(values);
|
|
397
|
+
}, [setConsentState, expiration]);
|
|
398
|
+
React.useEffect(function () {
|
|
399
|
+
if (baseConsent !== null && baseConsent.length > 0) {
|
|
400
|
+
setConsent(baseConsent);
|
|
401
|
+
}
|
|
402
|
+
}, [baseConsent, setConsent]);
|
|
403
|
+
var value = React.useMemo(function () {
|
|
404
|
+
return {
|
|
405
|
+
consent: consent,
|
|
406
|
+
setConsent: setConsent,
|
|
407
|
+
consented: consented,
|
|
408
|
+
setConsented: setConsented
|
|
409
|
+
};
|
|
410
|
+
}, [consent, setConsent, consented, setConsented]);
|
|
411
|
+
return /*#__PURE__*/React.createElement(ConsentContext.Provider, {
|
|
412
|
+
value: value
|
|
413
|
+
}, children);
|
|
414
|
+
};
|
|
415
|
+
ConsentProvider.propTypes = propTypes$i;
|
|
416
|
+
ConsentProvider.defaultProps = defaultProps$i;
|
|
417
|
+
|
|
418
|
+
var FieldsContext = /*#__PURE__*/React.createContext(null);
|
|
419
|
+
var useFieldsManager = function useFieldsManager() {
|
|
420
|
+
return React.useContext(FieldsContext);
|
|
421
|
+
};
|
|
422
|
+
var useFieldDefinition = function useFieldDefinition(id) {
|
|
423
|
+
var manager = useFieldsManager();
|
|
424
|
+
return manager.getDefinition(id);
|
|
425
|
+
};
|
|
426
|
+
var propTypes$h = {
|
|
427
|
+
fields: core.PropTypes.fieldDefinitions,
|
|
428
|
+
manager: PropTypes.instanceOf(core.FieldsManager),
|
|
429
|
+
children: PropTypes.node.isRequired
|
|
430
|
+
};
|
|
431
|
+
var defaultProps$h = {
|
|
432
|
+
fields: null,
|
|
433
|
+
manager: null
|
|
434
|
+
};
|
|
435
|
+
var FieldsProvider = function FieldsProvider(_ref) {
|
|
436
|
+
var fields = _ref.fields,
|
|
437
|
+
manager = _ref.manager,
|
|
438
|
+
children = _ref.children;
|
|
439
|
+
var previousManager = useFieldsManager() || null;
|
|
440
|
+
var finalManager = React.useMemo(function () {
|
|
441
|
+
var newFields = uniqBy([].concat(_toConsumableArray(fields || []), _toConsumableArray(manager !== null ? manager.getDefinitions() : []), _toConsumableArray(previousManager !== null ? previousManager.getDefinitions() : [])), function (_ref2) {
|
|
442
|
+
var id = _ref2.id;
|
|
443
|
+
return id;
|
|
444
|
+
}).reverse();
|
|
445
|
+
return new core.FieldsManager(newFields);
|
|
446
|
+
}, [previousManager, manager, fields]);
|
|
447
|
+
var components = React.useMemo(function () {
|
|
448
|
+
var newComponents = finalManager.getComponents();
|
|
449
|
+
return Object.keys(newComponents).reduce(function (map, id) {
|
|
450
|
+
var component = newComponents[id];
|
|
451
|
+
return isString(component) ? map : _objectSpread(_objectSpread({}, map), {}, _defineProperty({}, id, component));
|
|
452
|
+
}, {});
|
|
453
|
+
}, [finalManager]);
|
|
454
|
+
return /*#__PURE__*/React.createElement(FieldsContext.Provider, {
|
|
455
|
+
value: finalManager
|
|
456
|
+
}, /*#__PURE__*/React.createElement(ComponentsProvider, {
|
|
457
|
+
namespace: FIELDS_NAMESPACE,
|
|
458
|
+
components: components
|
|
459
|
+
}, children));
|
|
460
|
+
};
|
|
461
|
+
FieldsProvider.propTypes = propTypes$h;
|
|
462
|
+
FieldsProvider.defaultProps = defaultProps$h;
|
|
463
|
+
|
|
464
|
+
var ScreensContext = /*#__PURE__*/React.createContext(new core.ScreensManager());
|
|
465
|
+
var useScreensManager = function useScreensManager() {
|
|
466
|
+
return React.useContext(ScreensContext);
|
|
467
|
+
};
|
|
468
|
+
var propTypes$g = {
|
|
469
|
+
screens: core.PropTypes.screenDefinitions,
|
|
470
|
+
namespaces: PropTypes.arrayOf(PropTypes.string),
|
|
471
|
+
filterNamespaces: PropTypes.bool,
|
|
472
|
+
manager: PropTypes.instanceOf(core.ScreensManager),
|
|
473
|
+
children: PropTypes.node.isRequired
|
|
474
|
+
};
|
|
475
|
+
var defaultProps$g = {
|
|
476
|
+
screens: null,
|
|
477
|
+
namespaces: null,
|
|
478
|
+
filterNamespaces: false,
|
|
479
|
+
manager: null
|
|
480
|
+
};
|
|
481
|
+
var ScreensProvider = function ScreensProvider(_ref) {
|
|
482
|
+
var screens = _ref.screens,
|
|
483
|
+
namespaces = _ref.namespaces,
|
|
484
|
+
filterNamespaces = _ref.filterNamespaces,
|
|
485
|
+
manager = _ref.manager,
|
|
486
|
+
children = _ref.children;
|
|
487
|
+
var previousManager = useScreensManager();
|
|
488
|
+
var finalManager = React.useMemo(function () {
|
|
489
|
+
var newManager = manager !== null ? manager : new core.ScreensManager(screens);
|
|
490
|
+
if ((previousManager || null) !== null) {
|
|
491
|
+
newManager = previousManager.merge(newManager);
|
|
492
|
+
}
|
|
493
|
+
if (filterNamespaces) {
|
|
494
|
+
newManager = previousManager.filter(function (_ref2) {
|
|
495
|
+
var _ref2$namespaces = _ref2.namespaces,
|
|
496
|
+
screenGroups = _ref2$namespaces === void 0 ? null : _ref2$namespaces;
|
|
497
|
+
return screenGroups === null || namespaces !== null && screenGroups.reduce(function (acc, id) {
|
|
498
|
+
return acc || namespaces.indexOf(id) !== -1;
|
|
499
|
+
}, false);
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
return newManager;
|
|
503
|
+
}, [manager, screens, namespaces, filterNamespaces, previousManager]);
|
|
504
|
+
var initialComponents = React.useMemo(function () {
|
|
505
|
+
return finalManager.getComponents();
|
|
506
|
+
}, [finalManager]);
|
|
507
|
+
var _useState = React.useState(initialComponents),
|
|
508
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
509
|
+
components = _useState2[0],
|
|
510
|
+
setComponents = _useState2[1];
|
|
511
|
+
React.useEffect(function () {
|
|
512
|
+
var onChange = function onChange() {
|
|
513
|
+
return setComponents(finalManager.getComponents());
|
|
514
|
+
};
|
|
515
|
+
finalManager.on('change', onChange);
|
|
516
|
+
return function () {
|
|
517
|
+
finalManager.off('change', onChange);
|
|
518
|
+
};
|
|
519
|
+
}, [finalManager, setComponents]);
|
|
520
|
+
return /*#__PURE__*/React.createElement(ScreensContext.Provider, {
|
|
521
|
+
value: finalManager
|
|
522
|
+
}, /*#__PURE__*/React.createElement(ComponentsProvider, {
|
|
523
|
+
namespace: SCREENS_NAMESPACE,
|
|
524
|
+
components: components
|
|
525
|
+
}, children));
|
|
526
|
+
};
|
|
527
|
+
ScreensProvider.propTypes = propTypes$g;
|
|
528
|
+
ScreensProvider.defaultProps = defaultProps$g;
|
|
529
|
+
|
|
530
|
+
var StoryContext = /*#__PURE__*/React.createContext(null);
|
|
531
|
+
var useStoryContext = function useStoryContext() {
|
|
532
|
+
return React.useContext(StoryContext);
|
|
533
|
+
};
|
|
534
|
+
var useStory = function useStory() {
|
|
535
|
+
var story = useStoryContext();
|
|
536
|
+
return story;
|
|
537
|
+
};
|
|
538
|
+
var propTypes$f = {
|
|
539
|
+
story: PropTypes.oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
540
|
+
children: PropTypes.node.isRequired
|
|
541
|
+
};
|
|
542
|
+
var defaultProps$f = {
|
|
543
|
+
story: null
|
|
544
|
+
};
|
|
545
|
+
var StoryProvider = function StoryProvider(_ref) {
|
|
546
|
+
var story = _ref.story,
|
|
547
|
+
children = _ref.children;
|
|
548
|
+
return /*#__PURE__*/React.createElement(StoryContext.Provider, {
|
|
549
|
+
value: story
|
|
550
|
+
}, children);
|
|
551
|
+
};
|
|
552
|
+
StoryProvider.propTypes = propTypes$f;
|
|
553
|
+
StoryProvider.defaultProps = defaultProps$f;
|
|
554
|
+
|
|
555
|
+
var EditorContext = /*#__PURE__*/React.createContext(null);
|
|
556
|
+
var useEditor = function useEditor() {
|
|
557
|
+
return React.useContext(EditorContext);
|
|
558
|
+
};
|
|
559
|
+
var useGetColors = function useGetColors() {
|
|
560
|
+
var _ref = useEditor() || {},
|
|
561
|
+
_ref$getColors = _ref.getColors,
|
|
562
|
+
getColors = _ref$getColors === void 0 ? function () {
|
|
563
|
+
return [];
|
|
564
|
+
} : _ref$getColors;
|
|
565
|
+
return getColors;
|
|
566
|
+
};
|
|
567
|
+
var propTypes$e = {
|
|
568
|
+
children: PropTypes.node.isRequired
|
|
569
|
+
};
|
|
570
|
+
var defaultProps$e = {};
|
|
571
|
+
var EditorProvider = function EditorProvider(_ref2) {
|
|
572
|
+
var children = _ref2.children;
|
|
573
|
+
var story = useStory();
|
|
574
|
+
var screensManager = useScreensManager();
|
|
575
|
+
var fieldsManager = useFieldsManager();
|
|
576
|
+
var parser = React.useMemo(function () {
|
|
577
|
+
return new core.ColorsParser({
|
|
578
|
+
screensManager: screensManager,
|
|
579
|
+
fieldsManager: fieldsManager
|
|
580
|
+
});
|
|
581
|
+
}, [screensManager, fieldsManager]);
|
|
582
|
+
var parse = React.useCallback(function (currentStory) {
|
|
583
|
+
return parser.parse(currentStory);
|
|
584
|
+
}, [parser]);
|
|
585
|
+
var getColors = React.useCallback(function () {
|
|
586
|
+
return parse(story);
|
|
587
|
+
}, [parse, story]);
|
|
588
|
+
|
|
589
|
+
// eslint-disable-next-line react/jsx-no-constructed-context-values
|
|
590
|
+
return /*#__PURE__*/React.createElement(EditorContext.Provider, {
|
|
591
|
+
value: {
|
|
592
|
+
getColors: getColors
|
|
593
|
+
}
|
|
594
|
+
}, children);
|
|
595
|
+
};
|
|
596
|
+
EditorProvider.propTypes = propTypes$e;
|
|
597
|
+
EditorProvider.defaultProps = defaultProps$e;
|
|
598
|
+
|
|
599
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
600
|
+
var FieldsValueContext = /*#__PURE__*/React.createContext(null);
|
|
601
|
+
var useFieldsValue = function useFieldsValue() {
|
|
602
|
+
return React.useContext(FieldsValueContext);
|
|
603
|
+
};
|
|
604
|
+
var propTypes$d = {
|
|
605
|
+
value: PropTypes.any,
|
|
606
|
+
// eslint-disable-line react/forbid-prop-types
|
|
607
|
+
children: PropTypes.node.isRequired
|
|
608
|
+
};
|
|
609
|
+
var defaultProps$d = {
|
|
610
|
+
value: null
|
|
611
|
+
};
|
|
612
|
+
var FieldsValueContextProvider = function FieldsValueContextProvider(_ref) {
|
|
613
|
+
var value = _ref.value,
|
|
614
|
+
children = _ref.children;
|
|
615
|
+
return /*#__PURE__*/React.createElement(FieldsValueContext.Provider, {
|
|
616
|
+
value: value
|
|
617
|
+
}, children);
|
|
618
|
+
};
|
|
619
|
+
FieldsValueContextProvider.propTypes = propTypes$d;
|
|
620
|
+
FieldsValueContextProvider.defaultProps = defaultProps$d;
|
|
621
|
+
|
|
622
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
623
|
+
var FieldContext = /*#__PURE__*/React.createContext(null);
|
|
624
|
+
var useFieldContext = function useFieldContext() {
|
|
625
|
+
return React.useContext(FieldContext);
|
|
626
|
+
};
|
|
627
|
+
var propTypes$c = {
|
|
628
|
+
context: PropTypes.any,
|
|
629
|
+
// eslint-disable-line react/forbid-prop-types
|
|
630
|
+
children: PropTypes.node.isRequired
|
|
631
|
+
};
|
|
632
|
+
var defaultProps$c = {
|
|
633
|
+
context: null
|
|
634
|
+
};
|
|
635
|
+
var FieldContextProvider = function FieldContextProvider(_ref) {
|
|
636
|
+
var context = _ref.context,
|
|
637
|
+
children = _ref.children;
|
|
638
|
+
return /*#__PURE__*/React.createElement(FieldContext.Provider, {
|
|
639
|
+
value: context
|
|
640
|
+
}, children);
|
|
641
|
+
};
|
|
642
|
+
FieldContextProvider.propTypes = propTypes$c;
|
|
643
|
+
FieldContextProvider.defaultProps = defaultProps$c;
|
|
644
|
+
|
|
645
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
646
|
+
var GoogleKeysContext = /*#__PURE__*/React.createContext({
|
|
647
|
+
apiKey: null
|
|
648
|
+
});
|
|
649
|
+
var useGoogleKeys = function useGoogleKeys() {
|
|
650
|
+
return React.useContext(GoogleKeysContext);
|
|
651
|
+
};
|
|
652
|
+
var propTypes$b = {
|
|
653
|
+
children: PropTypes.node.isRequired,
|
|
654
|
+
apiKey: PropTypes.string // .isRequired,
|
|
655
|
+
};
|
|
656
|
+
var defaultProps$b = {
|
|
657
|
+
apiKey: null
|
|
658
|
+
};
|
|
659
|
+
var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
|
|
660
|
+
var children = _ref.children,
|
|
661
|
+
apiKey = _ref.apiKey;
|
|
662
|
+
var _useGoogleKeys = useGoogleKeys(),
|
|
663
|
+
previousApiKey = _useGoogleKeys.apiKey;
|
|
664
|
+
var value = React.useMemo(function () {
|
|
665
|
+
return {
|
|
666
|
+
apiKey: apiKey || previousApiKey
|
|
667
|
+
};
|
|
668
|
+
}, [apiKey, previousApiKey]);
|
|
669
|
+
return /*#__PURE__*/React.createElement(GoogleKeysContext.Provider, {
|
|
670
|
+
value: value
|
|
671
|
+
}, children);
|
|
672
|
+
};
|
|
673
|
+
GoogleKeysProvider.propTypes = propTypes$b;
|
|
674
|
+
GoogleKeysProvider.defaultProps = defaultProps$b;
|
|
675
|
+
|
|
676
|
+
var FontsContext = /*#__PURE__*/React.createContext({
|
|
677
|
+
systemFonts: null,
|
|
678
|
+
googleFonts: null,
|
|
679
|
+
customFonts: null
|
|
680
|
+
});
|
|
681
|
+
var useGoogleFonts = function useGoogleFonts() {
|
|
682
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
683
|
+
_ref$disabled = _ref.disabled,
|
|
684
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
685
|
+
_ref$setFonts = _ref.setFonts,
|
|
686
|
+
setFonts = _ref$setFonts === void 0 ? null : _ref$setFonts;
|
|
687
|
+
var _useGoogleKeys = useGoogleKeys(),
|
|
688
|
+
apiKey = _useGoogleKeys.apiKey;
|
|
689
|
+
var _useState = React.useState(null),
|
|
690
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
691
|
+
googleFonts = _useState2[0],
|
|
692
|
+
setGoogleFonts = _useState2[1];
|
|
693
|
+
React.useEffect(function () {
|
|
694
|
+
var canceled = false;
|
|
695
|
+
if (apiKey !== null && !disabled) {
|
|
696
|
+
fetch.getJSON("https://www.googleapis.com/webfonts/v1/webfonts?key=".concat(apiKey, "&sort=popularity")).then(function (_ref2) {
|
|
697
|
+
var _ref2$items = _ref2.items,
|
|
698
|
+
items = _ref2$items === void 0 ? [] : _ref2$items;
|
|
699
|
+
if (!canceled) {
|
|
700
|
+
var newFonts = items.map(function (it) {
|
|
701
|
+
return {
|
|
702
|
+
type: 'google',
|
|
703
|
+
name: it.family,
|
|
704
|
+
variants: it.variants
|
|
705
|
+
};
|
|
706
|
+
});
|
|
707
|
+
if (setFonts !== null) {
|
|
708
|
+
setFonts(newFonts);
|
|
709
|
+
} else {
|
|
710
|
+
setGoogleFonts(newFonts);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
}
|
|
715
|
+
return function () {
|
|
716
|
+
canceled = true;
|
|
717
|
+
};
|
|
718
|
+
}, [apiKey, disabled, setFonts, setGoogleFonts]);
|
|
719
|
+
return googleFonts;
|
|
720
|
+
};
|
|
721
|
+
var useFonts = function useFonts() {
|
|
722
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
723
|
+
_ref3$withoutGoogleFo = _ref3.withoutGoogleFonts,
|
|
724
|
+
withoutGoogleFonts = _ref3$withoutGoogleFo === void 0 ? false : _ref3$withoutGoogleFo;
|
|
725
|
+
var _useContext = React.useContext(FontsContext),
|
|
726
|
+
_useContext$setGoogle = _useContext.setGoogleFonts,
|
|
727
|
+
setGoogleFonts = _useContext$setGoogle === void 0 ? null : _useContext$setGoogle,
|
|
728
|
+
_useContext$systemFon = _useContext.systemFonts,
|
|
729
|
+
systemFonts = _useContext$systemFon === void 0 ? null : _useContext$systemFon,
|
|
730
|
+
_useContext$googleFon = _useContext.googleFonts,
|
|
731
|
+
googleFonts = _useContext$googleFon === void 0 ? null : _useContext$googleFon,
|
|
732
|
+
_useContext$customFon = _useContext.customFonts,
|
|
733
|
+
customFonts = _useContext$customFon === void 0 ? null : _useContext$customFon;
|
|
734
|
+
useGoogleFonts({
|
|
735
|
+
disabled: withoutGoogleFonts || googleFonts !== null && googleFonts.length > 0,
|
|
736
|
+
setFonts: setGoogleFonts
|
|
737
|
+
});
|
|
738
|
+
var fonts = React.useMemo(function () {
|
|
739
|
+
return {
|
|
740
|
+
systemFonts: systemFonts,
|
|
741
|
+
googleFonts: googleFonts,
|
|
742
|
+
customFonts: customFonts
|
|
743
|
+
};
|
|
744
|
+
}, [systemFonts, googleFonts, customFonts]);
|
|
745
|
+
return fonts;
|
|
746
|
+
};
|
|
747
|
+
var propTypes$a = {
|
|
748
|
+
children: PropTypes.node.isRequired,
|
|
749
|
+
systemFonts: core.PropTypes.fonts,
|
|
750
|
+
customFonts: core.PropTypes.fonts
|
|
751
|
+
};
|
|
752
|
+
var defaultProps$a = {
|
|
753
|
+
systemFonts: ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Verdana'],
|
|
754
|
+
customFonts: null
|
|
755
|
+
};
|
|
756
|
+
var FontsProvider = function FontsProvider(_ref4) {
|
|
757
|
+
var systemFonts = _ref4.systemFonts,
|
|
758
|
+
customFonts = _ref4.customFonts,
|
|
759
|
+
children = _ref4.children;
|
|
760
|
+
var _useFonts = useFonts(),
|
|
761
|
+
_useFonts$systemFonts = _useFonts.systemFonts,
|
|
762
|
+
previousSystemFonts = _useFonts$systemFonts === void 0 ? null : _useFonts$systemFonts,
|
|
763
|
+
_useFonts$googleFonts = _useFonts.googleFonts,
|
|
764
|
+
previousGoogleFonts = _useFonts$googleFonts === void 0 ? null : _useFonts$googleFonts,
|
|
765
|
+
previousCustomFonts = _useFonts.customFonts;
|
|
766
|
+
var _useState3 = React.useState(null),
|
|
767
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
768
|
+
googleFonts = _useState4[0],
|
|
769
|
+
setGoogleFonts = _useState4[1];
|
|
770
|
+
var fonts = React.useMemo(function () {
|
|
771
|
+
return {
|
|
772
|
+
systemFonts: uniqBy([].concat(_toConsumableArray(previousSystemFonts || []), _toConsumableArray(systemFonts || [])), function (font) {
|
|
773
|
+
return isObject(font) ? font.name : font;
|
|
774
|
+
}),
|
|
775
|
+
googleFonts: uniqBy([].concat(_toConsumableArray(previousGoogleFonts || []), _toConsumableArray(googleFonts || [])), function (font) {
|
|
776
|
+
return isObject(font) ? font.name : font;
|
|
777
|
+
}),
|
|
778
|
+
customFonts: uniqBy([].concat(_toConsumableArray(previousCustomFonts || []), _toConsumableArray(customFonts || [])), function (font) {
|
|
779
|
+
return isObject(font) ? font.name : font;
|
|
780
|
+
}),
|
|
781
|
+
setGoogleFonts: setGoogleFonts
|
|
782
|
+
};
|
|
783
|
+
}, [previousSystemFonts, previousGoogleFonts, previousCustomFonts, customFonts, systemFonts, googleFonts, setGoogleFonts]);
|
|
784
|
+
return /*#__PURE__*/React.createElement(FontsContext.Provider, {
|
|
785
|
+
value: fonts
|
|
786
|
+
}, children);
|
|
787
|
+
};
|
|
788
|
+
FontsProvider.propTypes = propTypes$a;
|
|
789
|
+
FontsProvider.defaultProps = defaultProps$a;
|
|
790
|
+
|
|
791
|
+
var GoogleApiClientContext = /*#__PURE__*/React.createContext(null);
|
|
792
|
+
var useGoogleApiClient = function useGoogleApiClient() {
|
|
793
|
+
return React.useContext(GoogleApiClientContext);
|
|
794
|
+
};
|
|
795
|
+
var withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {
|
|
796
|
+
var getDisplayName = function getDisplayName(_ref) {
|
|
797
|
+
var _ref$displayName = _ref.displayName,
|
|
798
|
+
displayName = _ref$displayName === void 0 ? null : _ref$displayName,
|
|
799
|
+
_ref$name = _ref.name,
|
|
800
|
+
name = _ref$name === void 0 ? null : _ref$name;
|
|
801
|
+
return displayName || name || 'Component';
|
|
802
|
+
};
|
|
803
|
+
var WithGoogleApiClientComponent = function WithGoogleApiClientComponent(props) {
|
|
804
|
+
return /*#__PURE__*/React.createElement(GoogleApiClientContext.Consumer, null, function (client) {
|
|
805
|
+
return /*#__PURE__*/React.createElement(WrappedComponent, Object.assign({
|
|
806
|
+
googleApiClient: client
|
|
807
|
+
}, props));
|
|
808
|
+
});
|
|
809
|
+
};
|
|
810
|
+
WithGoogleApiClientComponent.displayName = "WithGoogleApiClient(".concat(getDisplayName(WrappedComponent), ")");
|
|
811
|
+
return WithGoogleApiClientComponent;
|
|
812
|
+
};
|
|
813
|
+
var propTypes$9 = {
|
|
814
|
+
children: PropTypes.node.isRequired
|
|
815
|
+
};
|
|
816
|
+
var defaultProps$9 = {};
|
|
817
|
+
var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
|
|
818
|
+
var children = _ref2.children;
|
|
819
|
+
var _useGoogleKeys = useGoogleKeys(),
|
|
820
|
+
apiKey = _useGoogleKeys.apiKey;
|
|
821
|
+
var _useState = React.useState(null),
|
|
822
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
823
|
+
client = _useState2[0],
|
|
824
|
+
setClient = _useState2[1];
|
|
825
|
+
React.useEffect(function () {
|
|
826
|
+
services.loadGoogleApi().then(function (gapi) {
|
|
827
|
+
return gapi.client.init({
|
|
828
|
+
apiKey: apiKey
|
|
829
|
+
}).then(function () {
|
|
830
|
+
return gapi;
|
|
831
|
+
});
|
|
832
|
+
}).then(function (gapi) {
|
|
833
|
+
return setClient(gapi);
|
|
834
|
+
});
|
|
835
|
+
}, [apiKey, setClient]);
|
|
836
|
+
return /*#__PURE__*/React.createElement(GoogleApiClientContext.Provider, {
|
|
837
|
+
value: client
|
|
838
|
+
}, children);
|
|
839
|
+
};
|
|
840
|
+
GoogleApiClientProvider.propTypes = propTypes$9;
|
|
841
|
+
GoogleApiClientProvider.defaultProps = defaultProps$9;
|
|
842
|
+
|
|
843
|
+
var GoogleMapsClientContext = /*#__PURE__*/React.createContext(null);
|
|
844
|
+
var useGoogleMapsClient = function useGoogleMapsClient() {
|
|
845
|
+
return React.useContext(GoogleMapsClientContext);
|
|
846
|
+
};
|
|
847
|
+
var withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {
|
|
848
|
+
var getDisplayName = function getDisplayName(_ref) {
|
|
849
|
+
var _ref$displayName = _ref.displayName,
|
|
850
|
+
displayName = _ref$displayName === void 0 ? null : _ref$displayName,
|
|
851
|
+
_ref$name = _ref.name,
|
|
852
|
+
name = _ref$name === void 0 ? null : _ref$name;
|
|
853
|
+
return displayName || name || 'Component';
|
|
854
|
+
};
|
|
855
|
+
var WithGoogleMapsClientComponent = function WithGoogleMapsClientComponent(props) {
|
|
856
|
+
return /*#__PURE__*/React.createElement(GoogleMapsClientContext.Consumer, null, function (client) {
|
|
857
|
+
return /*#__PURE__*/React.createElement(WrappedComponent, Object.assign({
|
|
858
|
+
googleApiClient: client
|
|
859
|
+
}, props));
|
|
860
|
+
});
|
|
861
|
+
};
|
|
862
|
+
WithGoogleMapsClientComponent.displayName = "WithGoogleMapsClient(".concat(getDisplayName(WrappedComponent), ")");
|
|
863
|
+
return WithGoogleMapsClientComponent;
|
|
864
|
+
};
|
|
865
|
+
var propTypes$8 = {
|
|
866
|
+
children: PropTypes.node.isRequired,
|
|
867
|
+
locale: PropTypes.string,
|
|
868
|
+
libraries: PropTypes.arrayOf(PropTypes.string)
|
|
869
|
+
};
|
|
870
|
+
var defaultProps$8 = {
|
|
871
|
+
locale: 'fr',
|
|
872
|
+
libraries: null
|
|
873
|
+
};
|
|
874
|
+
var GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {
|
|
875
|
+
var children = _ref2.children,
|
|
876
|
+
locale = _ref2.locale,
|
|
877
|
+
libraries = _ref2.libraries;
|
|
878
|
+
var _useGoogleKeys = useGoogleKeys(),
|
|
879
|
+
apiKey = _useGoogleKeys.apiKey;
|
|
880
|
+
var exisitingClient = useGoogleMapsClient();
|
|
881
|
+
var _useState = React.useState(exisitingClient),
|
|
882
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
883
|
+
client = _useState2[0],
|
|
884
|
+
setClient = _useState2[1];
|
|
885
|
+
React.useEffect(function () {
|
|
886
|
+
if (exisitingClient === null) {
|
|
887
|
+
services.loadGoogleMaps({
|
|
888
|
+
apiKey: apiKey,
|
|
889
|
+
locale: locale,
|
|
890
|
+
libraries: libraries
|
|
891
|
+
}).then(function (newClient) {
|
|
892
|
+
setClient(newClient);
|
|
893
|
+
});
|
|
894
|
+
}
|
|
895
|
+
}, [apiKey, locale, libraries, setClient, exisitingClient]);
|
|
896
|
+
return /*#__PURE__*/React.createElement(GoogleMapsClientContext.Provider, {
|
|
897
|
+
value: client
|
|
898
|
+
}, children);
|
|
899
|
+
};
|
|
900
|
+
GoogleMapsClientProvider.propTypes = propTypes$8;
|
|
901
|
+
GoogleMapsClientProvider.defaultProps = defaultProps$8;
|
|
902
|
+
|
|
903
|
+
var ModalsContext = /*#__PURE__*/React.createContext({
|
|
904
|
+
container: null
|
|
905
|
+
});
|
|
906
|
+
var useModals = function useModals() {
|
|
907
|
+
return React.useContext(ModalsContext) || {};
|
|
908
|
+
};
|
|
909
|
+
var withModals = function withModals(WrappedComponent) {
|
|
910
|
+
var WithModalsComponent = function WithModalsComponent(props) {
|
|
911
|
+
return /*#__PURE__*/React.createElement(ModalsContext.Consumer, null, function (_ref) {
|
|
912
|
+
var modals = _ref.modals,
|
|
913
|
+
container = _ref.container,
|
|
914
|
+
setContainer = _ref.setContainer,
|
|
915
|
+
register = _ref.register,
|
|
916
|
+
unregister = _ref.unregister;
|
|
917
|
+
return /*#__PURE__*/React.createElement(WrappedComponent, Object.assign({
|
|
918
|
+
modalsContainer: container,
|
|
919
|
+
setModalsContainer: setContainer,
|
|
920
|
+
modals: modals,
|
|
921
|
+
registerModal: register,
|
|
922
|
+
unregisterModal: unregister
|
|
923
|
+
}, props));
|
|
924
|
+
});
|
|
925
|
+
};
|
|
926
|
+
WithModalsComponent.displayName = "WithModals(".concat(utils.getDisplayName(WrappedComponent), ")");
|
|
927
|
+
return WithModalsComponent;
|
|
928
|
+
};
|
|
929
|
+
var propTypes$7 = {
|
|
930
|
+
children: PropTypes.node.isRequired,
|
|
931
|
+
container: PropTypes.object // eslint-disable-line
|
|
932
|
+
};
|
|
933
|
+
var defaultProps$7 = {
|
|
934
|
+
container: null
|
|
935
|
+
};
|
|
936
|
+
var ModalsProvider = function ModalsProvider(_ref2) {
|
|
937
|
+
var children = _ref2.children,
|
|
938
|
+
initialContainer = _ref2.container;
|
|
939
|
+
var _useState = React.useState(initialContainer),
|
|
940
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
941
|
+
container = _useState2[0],
|
|
942
|
+
setContainer = _useState2[1];
|
|
943
|
+
var _useState3 = React.useState([]),
|
|
944
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
945
|
+
modals = _useState4[0],
|
|
946
|
+
setModals = _useState4[1];
|
|
947
|
+
var modalsRef = React.useRef(modals);
|
|
948
|
+
var register = React.useCallback(function (id) {
|
|
949
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
950
|
+
var currentModals = modalsRef.current;
|
|
951
|
+
var newModals = [].concat(_toConsumableArray(currentModals), [_objectSpread({
|
|
952
|
+
id: id
|
|
953
|
+
}, data)]);
|
|
954
|
+
setModals(newModals);
|
|
955
|
+
modalsRef.current = newModals;
|
|
956
|
+
}, [modals, setModals]);
|
|
957
|
+
var unregister = React.useCallback(function (id) {
|
|
958
|
+
var currentModals = modalsRef.current;
|
|
959
|
+
var foundIndex = currentModals.findIndex(function (_ref3) {
|
|
960
|
+
var modalId = _ref3.id;
|
|
961
|
+
return modalId === id;
|
|
962
|
+
});
|
|
963
|
+
if (foundIndex !== -1) {
|
|
964
|
+
var newModals = currentModals.filter(function (_ref4) {
|
|
965
|
+
var modalId = _ref4.id;
|
|
966
|
+
return modalId !== id;
|
|
967
|
+
});
|
|
968
|
+
setModals(newModals);
|
|
969
|
+
modalsRef.current = newModals;
|
|
970
|
+
}
|
|
971
|
+
}, [modals, setModals]);
|
|
972
|
+
var value = React.useMemo(function () {
|
|
973
|
+
return {
|
|
974
|
+
modals: modals,
|
|
975
|
+
container: container,
|
|
976
|
+
setContainer: setContainer,
|
|
977
|
+
register: register,
|
|
978
|
+
unregister: unregister
|
|
979
|
+
};
|
|
980
|
+
}, [modals, container, setContainer, register, unregister]);
|
|
981
|
+
return /*#__PURE__*/React.createElement(ModalsContext.Provider, {
|
|
982
|
+
value: value
|
|
983
|
+
}, children);
|
|
984
|
+
};
|
|
985
|
+
ModalsProvider.propTypes = propTypes$7;
|
|
986
|
+
ModalsProvider.defaultProps = defaultProps$7;
|
|
987
|
+
|
|
988
|
+
var PanelsContext = /*#__PURE__*/React.createContext({
|
|
989
|
+
container: null
|
|
990
|
+
});
|
|
991
|
+
var usePanels = function usePanels() {
|
|
992
|
+
return React.useContext(PanelsContext) || {};
|
|
993
|
+
};
|
|
994
|
+
var withPanels = function withPanels(WrappedComponent) {
|
|
995
|
+
var WithPanelsComponent = function WithPanelsComponent(props) {
|
|
996
|
+
return /*#__PURE__*/React.createElement(PanelsContext.Consumer, null, function (_ref) {
|
|
997
|
+
var panels = _ref.panels,
|
|
998
|
+
setContainer = _ref.setContainer,
|
|
999
|
+
container = _ref.container,
|
|
1000
|
+
register = _ref.register,
|
|
1001
|
+
unregister = _ref.unregister;
|
|
1002
|
+
return /*#__PURE__*/React.createElement(WrappedComponent, Object.assign({
|
|
1003
|
+
panelsContainer: container,
|
|
1004
|
+
setPanelsContainer: setContainer,
|
|
1005
|
+
panels: panels,
|
|
1006
|
+
registerPanel: register,
|
|
1007
|
+
unregisterPanel: unregister
|
|
1008
|
+
}, props));
|
|
1009
|
+
});
|
|
1010
|
+
};
|
|
1011
|
+
WithPanelsComponent.displayName = "WithPanels(".concat(utils.getDisplayName(WrappedComponent), ")");
|
|
1012
|
+
return WithPanelsComponent;
|
|
1013
|
+
};
|
|
1014
|
+
var propTypes$6 = {
|
|
1015
|
+
children: PropTypes.node.isRequired,
|
|
1016
|
+
container: PropTypes.object // eslint-disable-line
|
|
1017
|
+
};
|
|
1018
|
+
var defaultProps$6 = {
|
|
1019
|
+
container: null
|
|
1020
|
+
};
|
|
1021
|
+
var PanelsProvider = function PanelsProvider(_ref2) {
|
|
1022
|
+
var children = _ref2.children,
|
|
1023
|
+
initialContainer = _ref2.container;
|
|
1024
|
+
var _useState = React.useState(initialContainer),
|
|
1025
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1026
|
+
container = _useState2[0],
|
|
1027
|
+
setContainer = _useState2[1];
|
|
1028
|
+
var _useState3 = React.useState([]),
|
|
1029
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1030
|
+
panels = _useState4[0],
|
|
1031
|
+
setPanels = _useState4[1];
|
|
1032
|
+
var panelsRef = React.useRef(panels);
|
|
1033
|
+
var register = React.useCallback(function (id) {
|
|
1034
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1035
|
+
var currentPanels = panelsRef.current;
|
|
1036
|
+
var newPanels = [].concat(_toConsumableArray(currentPanels), [_objectSpread({
|
|
1037
|
+
id: id
|
|
1038
|
+
}, data)]);
|
|
1039
|
+
setPanels(newPanels);
|
|
1040
|
+
panelsRef.current = newPanels;
|
|
1041
|
+
}, [panels, setPanels]);
|
|
1042
|
+
var unregister = React.useCallback(function (id) {
|
|
1043
|
+
var currentPanels = panelsRef.current;
|
|
1044
|
+
var foundIndex = currentPanels.findIndex(function (_ref3) {
|
|
1045
|
+
var modalId = _ref3.id;
|
|
1046
|
+
return modalId === id;
|
|
1047
|
+
});
|
|
1048
|
+
if (foundIndex !== -1) {
|
|
1049
|
+
var newPanels = currentPanels.filter(function (_ref4) {
|
|
1050
|
+
var modalId = _ref4.id;
|
|
1051
|
+
return modalId !== id;
|
|
1052
|
+
});
|
|
1053
|
+
setPanels(newPanels);
|
|
1054
|
+
panelsRef.current = newPanels;
|
|
1055
|
+
}
|
|
1056
|
+
}, [panels, setPanels]);
|
|
1057
|
+
var value = React.useMemo(function () {
|
|
1058
|
+
return {
|
|
1059
|
+
panels: panels,
|
|
1060
|
+
setContainer: setContainer,
|
|
1061
|
+
container: container,
|
|
1062
|
+
register: register,
|
|
1063
|
+
unregister: unregister
|
|
1064
|
+
};
|
|
1065
|
+
}, [panels, setContainer, container, register, unregister]);
|
|
1066
|
+
return /*#__PURE__*/React.createElement(PanelsContext.Provider, {
|
|
1067
|
+
value: value
|
|
1068
|
+
}, children);
|
|
1069
|
+
};
|
|
1070
|
+
PanelsProvider.propTypes = propTypes$6;
|
|
1071
|
+
PanelsProvider.defaultProps = defaultProps$6;
|
|
1072
|
+
|
|
1073
|
+
var defaultControlsThemeValue = {
|
|
1074
|
+
seekBarOnly: false,
|
|
1075
|
+
color: null,
|
|
1076
|
+
progressColor: null
|
|
1077
|
+
};
|
|
1078
|
+
var defaultValue$1 = {
|
|
1079
|
+
playing: false,
|
|
1080
|
+
paused: false,
|
|
1081
|
+
muted: true,
|
|
1082
|
+
controls: false,
|
|
1083
|
+
controlsSuggestPlay: false,
|
|
1084
|
+
controlsVisible: false,
|
|
1085
|
+
media: null,
|
|
1086
|
+
controlsTheme: defaultControlsThemeValue,
|
|
1087
|
+
currentQualityLevel: null
|
|
1088
|
+
};
|
|
1089
|
+
var PlaybackContext = /*#__PURE__*/React.createContext(_objectSpread(_objectSpread({}, defaultValue$1), {}, {
|
|
1090
|
+
setMuted: function setMuted() {},
|
|
1091
|
+
setPlaying: function setPlaying() {},
|
|
1092
|
+
setControls: function setControls() {},
|
|
1093
|
+
setControlsVisible: function setControlsVisible() {},
|
|
1094
|
+
setControlsTheme: function setControlsTheme() {},
|
|
1095
|
+
showControls: function showControls() {},
|
|
1096
|
+
hideControls: function hideControls() {},
|
|
1097
|
+
setMedia: function setMedia() {},
|
|
1098
|
+
setCurrentQualityLevel: function setCurrentQualityLevel() {}
|
|
1099
|
+
}));
|
|
1100
|
+
var usePlaybackContext = function usePlaybackContext() {
|
|
1101
|
+
return React.useContext(PlaybackContext);
|
|
1102
|
+
};
|
|
1103
|
+
var usePlaybackMediaRef = function usePlaybackMediaRef(active) {
|
|
1104
|
+
var _usePlaybackContext = usePlaybackContext(),
|
|
1105
|
+
setMedia = _usePlaybackContext.setMedia;
|
|
1106
|
+
var mediaRef = React.useRef(null);
|
|
1107
|
+
React.useEffect(function () {
|
|
1108
|
+
if (!active) {
|
|
1109
|
+
return function () {};
|
|
1110
|
+
}
|
|
1111
|
+
if (mediaRef.current !== null) {
|
|
1112
|
+
setMedia(mediaRef.current);
|
|
1113
|
+
}
|
|
1114
|
+
return function () {
|
|
1115
|
+
setMedia(null);
|
|
1116
|
+
};
|
|
1117
|
+
}, [setMedia, active]);
|
|
1118
|
+
return mediaRef;
|
|
1119
|
+
};
|
|
1120
|
+
var propTypes$5 = {
|
|
1121
|
+
children: PropTypes.node.isRequired,
|
|
1122
|
+
controls: PropTypes.bool,
|
|
1123
|
+
controlsSuggestPlay: PropTypes.bool,
|
|
1124
|
+
controlsVisible: PropTypes.bool,
|
|
1125
|
+
controlsTheme: PropTypes.shape({
|
|
1126
|
+
seekBarOnly: PropTypes.bool,
|
|
1127
|
+
color: PropTypes.any,
|
|
1128
|
+
progressColor: PropTypes.any
|
|
1129
|
+
}),
|
|
1130
|
+
muted: PropTypes.bool,
|
|
1131
|
+
playing: PropTypes.bool,
|
|
1132
|
+
paused: PropTypes.bool,
|
|
1133
|
+
currentQualityLevel: PropTypes.number
|
|
1134
|
+
};
|
|
1135
|
+
var defaultProps$5 = _objectSpread({}, defaultValue$1);
|
|
1136
|
+
var PlaybackProvider = function PlaybackProvider(_ref) {
|
|
1137
|
+
var initialMuted = _ref.muted,
|
|
1138
|
+
initialPlaying = _ref.playing,
|
|
1139
|
+
paused = _ref.paused,
|
|
1140
|
+
initialControls = _ref.controls,
|
|
1141
|
+
initialControlsSuggestPlay = _ref.controlsSuggestPlay,
|
|
1142
|
+
initialControlsVisible = _ref.controlsVisible,
|
|
1143
|
+
initialControlsTheme = _ref.controlsTheme,
|
|
1144
|
+
initialCurrentQualityLevel = _ref.currentQualityLevel,
|
|
1145
|
+
children = _ref.children;
|
|
1146
|
+
var _useState = React.useState(initialMuted),
|
|
1147
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1148
|
+
muted = _useState2[0],
|
|
1149
|
+
setMuted = _useState2[1];
|
|
1150
|
+
var _useState3 = React.useState(initialPlaying),
|
|
1151
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1152
|
+
playing = _useState4[0],
|
|
1153
|
+
setPlaying = _useState4[1];
|
|
1154
|
+
var _useState5 = React.useState(null),
|
|
1155
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
1156
|
+
media = _useState6[0],
|
|
1157
|
+
setMedia = _useState6[1];
|
|
1158
|
+
var _useState7 = React.useState(initialControls),
|
|
1159
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
1160
|
+
controls = _useState8[0],
|
|
1161
|
+
setControls = _useState8[1];
|
|
1162
|
+
var _useState9 = React.useState(initialControlsSuggestPlay),
|
|
1163
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
1164
|
+
controlsSuggestPlay = _useState0[0],
|
|
1165
|
+
setControlsSuggestPlay = _useState0[1];
|
|
1166
|
+
var _useState1 = React.useState(initialControlsVisible),
|
|
1167
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
1168
|
+
controlsVisible = _useState10[0],
|
|
1169
|
+
setControlsVisible = _useState10[1];
|
|
1170
|
+
var _useState11 = React.useState(initialControlsTheme),
|
|
1171
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
1172
|
+
controlsTheme = _useState12[0],
|
|
1173
|
+
setControlsTheme = _useState12[1];
|
|
1174
|
+
var _useState13 = React.useState(initialCurrentQualityLevel),
|
|
1175
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
1176
|
+
currentQualityLevel = _useState14[0],
|
|
1177
|
+
setCurrentQualityLevel = _useState14[1];
|
|
1178
|
+
var finalSetControls = React.useCallback(function (newControls) {
|
|
1179
|
+
if (newControls) {
|
|
1180
|
+
setControls(true);
|
|
1181
|
+
setControlsVisible(true);
|
|
1182
|
+
setControlsSuggestPlay(false);
|
|
1183
|
+
} else {
|
|
1184
|
+
setControls(false);
|
|
1185
|
+
setControlsVisible(false);
|
|
1186
|
+
setControlsSuggestPlay(false);
|
|
1187
|
+
}
|
|
1188
|
+
}, [setControls, setControlsVisible, setControlsSuggestPlay]);
|
|
1189
|
+
var finalSetControlsTheme = React.useCallback(function (newTheme) {
|
|
1190
|
+
setControlsTheme(_objectSpread(_objectSpread({}, defaultControlsThemeValue), newTheme));
|
|
1191
|
+
}, [setControlsTheme]);
|
|
1192
|
+
var finalSetPlaying = React.useCallback(function (value) {
|
|
1193
|
+
if (value) {
|
|
1194
|
+
setControlsSuggestPlay(false);
|
|
1195
|
+
}
|
|
1196
|
+
setPlaying(value);
|
|
1197
|
+
}, [setPlaying, setControlsSuggestPlay]);
|
|
1198
|
+
|
|
1199
|
+
// Reset on media change
|
|
1200
|
+
React.useEffect(function () {
|
|
1201
|
+
setControlsSuggestPlay(false);
|
|
1202
|
+
}, [media, setControlsSuggestPlay]);
|
|
1203
|
+
var showControls = React.useCallback(function () {
|
|
1204
|
+
return setControlsVisible(true);
|
|
1205
|
+
}, [setControlsVisible]);
|
|
1206
|
+
var hideControls = React.useCallback(function () {
|
|
1207
|
+
setControlsVisible(false);
|
|
1208
|
+
}, [setControlsVisible]);
|
|
1209
|
+
var hasAudio = React.useMemo(function () {
|
|
1210
|
+
if (media === null || media.tagName.toLowerCase() !== 'video') {
|
|
1211
|
+
return false;
|
|
1212
|
+
}
|
|
1213
|
+
if (media.tagName.toLowerCase() === 'audio') {
|
|
1214
|
+
return true;
|
|
1215
|
+
}
|
|
1216
|
+
if (typeof media.dataset.hasAudio === 'undefined') {
|
|
1217
|
+
return null;
|
|
1218
|
+
}
|
|
1219
|
+
return media.dataset.hasAudio === 'true' || media.dataset.hasAudio === true;
|
|
1220
|
+
}, [media]);
|
|
1221
|
+
var finalSetCurrentQualityLevel = React.useCallback(function (level) {
|
|
1222
|
+
var fromRef = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1223
|
+
if (fromRef === null || media === null || fromRef === media) {
|
|
1224
|
+
setCurrentQualityLevel(level);
|
|
1225
|
+
}
|
|
1226
|
+
}, [setCurrentQualityLevel]);
|
|
1227
|
+
var value = React.useMemo(function () {
|
|
1228
|
+
return {
|
|
1229
|
+
muted: muted,
|
|
1230
|
+
playing: playing && !paused,
|
|
1231
|
+
controls: controls,
|
|
1232
|
+
controlsSuggestPlay: controlsSuggestPlay,
|
|
1233
|
+
controlsVisible: controlsVisible,
|
|
1234
|
+
media: media,
|
|
1235
|
+
hasAudio: hasAudio,
|
|
1236
|
+
controlsTheme: controlsTheme,
|
|
1237
|
+
currentQualityLevel: currentQualityLevel,
|
|
1238
|
+
setMuted: setMuted,
|
|
1239
|
+
setPlaying: finalSetPlaying,
|
|
1240
|
+
setControls: finalSetControls,
|
|
1241
|
+
setControlsSuggestPlay: setControlsSuggestPlay,
|
|
1242
|
+
setControlsVisible: setControlsVisible,
|
|
1243
|
+
setControlsTheme: finalSetControlsTheme,
|
|
1244
|
+
showControls: showControls,
|
|
1245
|
+
hideControls: hideControls,
|
|
1246
|
+
setMedia: setMedia,
|
|
1247
|
+
setCurrentQualityLevel: finalSetCurrentQualityLevel
|
|
1248
|
+
};
|
|
1249
|
+
}, [muted, playing, paused, controls, controlsSuggestPlay, controlsVisible, controlsTheme, media, hasAudio, currentQualityLevel, setMuted, finalSetPlaying, finalSetControls, finalSetControlsTheme, setControlsSuggestPlay, setControlsVisible, setControlsTheme, showControls, hideControls, setMedia, setCurrentQualityLevel]);
|
|
1250
|
+
return /*#__PURE__*/React.createElement(PlaybackContext.Provider, {
|
|
1251
|
+
value: value
|
|
1252
|
+
}, children);
|
|
1253
|
+
};
|
|
1254
|
+
PlaybackProvider.propTypes = propTypes$5;
|
|
1255
|
+
PlaybackProvider.defaultProps = defaultProps$5;
|
|
1256
|
+
|
|
1257
|
+
var useRoutePush = function useRoutePush() {
|
|
1258
|
+
var url = routes.useUrlGenerator();
|
|
1259
|
+
var _useLocation = wouter.useLocation(),
|
|
1260
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
|
1261
|
+
navigate = _useLocation2[1];
|
|
1262
|
+
var push = React.useCallback(function (route, data) {
|
|
1263
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1264
|
+
args[_key - 2] = arguments[_key];
|
|
1265
|
+
}
|
|
1266
|
+
if (isString(route)) {
|
|
1267
|
+
navigate.apply(void 0, [url(route, data)].concat(args));
|
|
1268
|
+
} else {
|
|
1269
|
+
var _ref = route || {},
|
|
1270
|
+
_ref$pathname = _ref.pathname,
|
|
1271
|
+
pathname = _ref$pathname === void 0 ? null : _ref$pathname,
|
|
1272
|
+
_ref$search = _ref.search,
|
|
1273
|
+
search = _ref$search === void 0 ? null : _ref$search;
|
|
1274
|
+
navigate.apply(void 0, ["".concat(url(pathname, data)).concat(search !== null ? "?".concat(search) : '')].concat(args));
|
|
1275
|
+
}
|
|
1276
|
+
}, [navigate, url]);
|
|
1277
|
+
return push;
|
|
1278
|
+
};
|
|
1279
|
+
var useRouteBack = function useRouteBack() {
|
|
1280
|
+
var url = routes.useUrlGenerator();
|
|
1281
|
+
var _useLocation3 = wouter.useLocation(),
|
|
1282
|
+
_useLocation4 = _slicedToArray(_useLocation3, 2),
|
|
1283
|
+
navigate = _useLocation4[1];
|
|
1284
|
+
var back = React.useCallback(function () {
|
|
1285
|
+
return navigate(-1);
|
|
1286
|
+
}, [navigate, url]);
|
|
1287
|
+
return back;
|
|
1288
|
+
};
|
|
1289
|
+
|
|
1290
|
+
var ScreenContext = /*#__PURE__*/React.createContext({
|
|
1291
|
+
data: null,
|
|
1292
|
+
definition: null,
|
|
1293
|
+
renderContext: null
|
|
1294
|
+
});
|
|
1295
|
+
var useScreen = function useScreen() {
|
|
1296
|
+
return React.useContext(ScreenContext);
|
|
1297
|
+
};
|
|
1298
|
+
var useScreenDefinition = function useScreenDefinition() {
|
|
1299
|
+
var intl = reactIntl.useIntl();
|
|
1300
|
+
var _ref = useScreen() || {},
|
|
1301
|
+
_ref$definition = _ref.definition,
|
|
1302
|
+
definition = _ref$definition === void 0 ? null : _ref$definition;
|
|
1303
|
+
var _ref2 = definition || {},
|
|
1304
|
+
_ref2$fields = _ref2.fields,
|
|
1305
|
+
fields = _ref2$fields === void 0 ? null : _ref2$fields;
|
|
1306
|
+
var finalFields = React.useMemo(function () {
|
|
1307
|
+
return fields !== null ? [].concat(_toConsumableArray(fields), [utils.getScreenExtraField(intl)]) : null;
|
|
1308
|
+
}, [fields]);
|
|
1309
|
+
return _objectSpread(_objectSpread({}, definition), {}, {
|
|
1310
|
+
fields: finalFields
|
|
1311
|
+
});
|
|
1312
|
+
};
|
|
1313
|
+
var useScreenData = function useScreenData() {
|
|
1314
|
+
var _ref3 = useScreen() || {},
|
|
1315
|
+
data = _ref3.data;
|
|
1316
|
+
return data;
|
|
1317
|
+
};
|
|
1318
|
+
var useScreenRenderContext = function useScreenRenderContext() {
|
|
1319
|
+
var _ref4 = useScreen() || {},
|
|
1320
|
+
_ref4$renderContext = _ref4.renderContext,
|
|
1321
|
+
renderContext = _ref4$renderContext === void 0 ? 'view' : _ref4$renderContext;
|
|
1322
|
+
var isPlaceholder = renderContext === 'placeholder';
|
|
1323
|
+
var isPreview = renderContext === 'preview';
|
|
1324
|
+
var isEdit = renderContext === 'edit';
|
|
1325
|
+
var isView = renderContext === 'view';
|
|
1326
|
+
var isStatic = renderContext === 'static';
|
|
1327
|
+
var isCapture = renderContext === 'capture';
|
|
1328
|
+
return {
|
|
1329
|
+
renderContext: renderContext,
|
|
1330
|
+
isPlaceholder: isPlaceholder,
|
|
1331
|
+
isPreview: isPreview,
|
|
1332
|
+
isEdit: isEdit,
|
|
1333
|
+
isView: isView || isStatic || isCapture,
|
|
1334
|
+
isStatic: isStatic,
|
|
1335
|
+
isCapture: isCapture
|
|
1336
|
+
};
|
|
1337
|
+
};
|
|
1338
|
+
var useScreenState = function useScreenState() {
|
|
1339
|
+
var _ref5 = useScreen() || {},
|
|
1340
|
+
screenState = _ref5.screenState;
|
|
1341
|
+
return screenState;
|
|
1342
|
+
};
|
|
1343
|
+
var propTypes$4 = {
|
|
1344
|
+
children: PropTypes.node.isRequired,
|
|
1345
|
+
data: core.PropTypes.screen,
|
|
1346
|
+
definition: core.PropTypes.screenDefinition,
|
|
1347
|
+
renderContext: core.PropTypes.renderContext,
|
|
1348
|
+
screenState: PropTypes.string
|
|
1349
|
+
};
|
|
1350
|
+
var defaultProps$4 = {
|
|
1351
|
+
data: null,
|
|
1352
|
+
definition: null,
|
|
1353
|
+
renderContext: null,
|
|
1354
|
+
screenState: null
|
|
1355
|
+
};
|
|
1356
|
+
var ScreenProvider = function ScreenProvider(_ref6) {
|
|
1357
|
+
var data = _ref6.data,
|
|
1358
|
+
definition = _ref6.definition,
|
|
1359
|
+
renderContext = _ref6.renderContext,
|
|
1360
|
+
screenState = _ref6.screenState,
|
|
1361
|
+
children = _ref6.children;
|
|
1362
|
+
var _ref7 = useScreen() || {},
|
|
1363
|
+
_ref7$data = _ref7.data,
|
|
1364
|
+
previousData = _ref7$data === void 0 ? null : _ref7$data,
|
|
1365
|
+
_ref7$definition = _ref7.definition,
|
|
1366
|
+
previousDefinition = _ref7$definition === void 0 ? null : _ref7$definition,
|
|
1367
|
+
_ref7$renderContext = _ref7.renderContext,
|
|
1368
|
+
previousContext = _ref7$renderContext === void 0 ? null : _ref7$renderContext,
|
|
1369
|
+
_ref7$screenState = _ref7.screenState,
|
|
1370
|
+
previousScreenState = _ref7$screenState === void 0 ? null : _ref7$screenState;
|
|
1371
|
+
var finalData = data || previousData || null;
|
|
1372
|
+
var _ref8 = finalData || {},
|
|
1373
|
+
_ref8$type = _ref8.type,
|
|
1374
|
+
type = _ref8$type === void 0 ? null : _ref8$type;
|
|
1375
|
+
var screensManager = useScreensManager();
|
|
1376
|
+
var contextDefinition = screensManager !== null ? screensManager.getDefinition(type) : null;
|
|
1377
|
+
var finalDefinition = definition || contextDefinition || previousDefinition;
|
|
1378
|
+
var finalRenderContext = renderContext || previousContext || 'view';
|
|
1379
|
+
var finalScreenState = screenState || previousScreenState || null;
|
|
1380
|
+
var value = React.useMemo(function () {
|
|
1381
|
+
return {
|
|
1382
|
+
data: finalData,
|
|
1383
|
+
definition: finalDefinition,
|
|
1384
|
+
renderContext: finalRenderContext,
|
|
1385
|
+
screenState: finalScreenState
|
|
1386
|
+
};
|
|
1387
|
+
}, [finalData, finalDefinition, finalRenderContext, finalScreenState]);
|
|
1388
|
+
return /*#__PURE__*/React.createElement(ScreenContext.Provider, {
|
|
1389
|
+
value: value
|
|
1390
|
+
}, children);
|
|
1391
|
+
};
|
|
1392
|
+
ScreenProvider.propTypes = propTypes$4;
|
|
1393
|
+
ScreenProvider.defaultProps = defaultProps$4;
|
|
1394
|
+
|
|
1395
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
1396
|
+
var ScreenSizeContext = /*#__PURE__*/React.createContext({
|
|
1397
|
+
screen: null,
|
|
1398
|
+
screens: [],
|
|
1399
|
+
width: 0,
|
|
1400
|
+
height: 0,
|
|
1401
|
+
resolution: 1,
|
|
1402
|
+
landscape: false
|
|
1403
|
+
});
|
|
1404
|
+
var useScreenSize = function useScreenSize() {
|
|
1405
|
+
return React.useContext(ScreenSizeContext);
|
|
1406
|
+
};
|
|
1407
|
+
var propTypes$3 = {
|
|
1408
|
+
children: PropTypes.node.isRequired,
|
|
1409
|
+
size: core.PropTypes.screenSize
|
|
1410
|
+
};
|
|
1411
|
+
var defaultProps$3 = {
|
|
1412
|
+
size: {}
|
|
1413
|
+
};
|
|
1414
|
+
|
|
1415
|
+
// Note: this is done to avoid excessive renders on the screens that use the context
|
|
1416
|
+
|
|
1417
|
+
var ScreenSizeProvider = function ScreenSizeProvider(_ref) {
|
|
1418
|
+
var size = _ref.size,
|
|
1419
|
+
children = _ref.children;
|
|
1420
|
+
var nextScreen = size.screen,
|
|
1421
|
+
nextWidth = size.width,
|
|
1422
|
+
nextHeight = size.height,
|
|
1423
|
+
nextResolution = size.resolution;
|
|
1424
|
+
var currentSize = React.useMemo(function () {
|
|
1425
|
+
return size;
|
|
1426
|
+
}, [nextScreen, nextWidth, nextHeight, nextResolution]);
|
|
1427
|
+
return /*#__PURE__*/React.createElement(ScreenSizeContext.Provider, {
|
|
1428
|
+
value: currentSize
|
|
1429
|
+
}, children);
|
|
1430
|
+
};
|
|
1431
|
+
ScreenSizeProvider.propTypes = propTypes$3;
|
|
1432
|
+
ScreenSizeProvider.defaultProps = defaultProps$3;
|
|
1433
|
+
|
|
1434
|
+
var useTracking = function useTracking() {
|
|
1435
|
+
return React.useContext(tracking.TrackingContext);
|
|
1436
|
+
};
|
|
1437
|
+
var propTypes$2 = {
|
|
1438
|
+
children: PropTypes.node.isRequired,
|
|
1439
|
+
variables: core.PropTypes.trackingVariables,
|
|
1440
|
+
disabled: PropTypes.bool,
|
|
1441
|
+
paused: PropTypes.bool
|
|
1442
|
+
};
|
|
1443
|
+
var defaultProps$2 = {
|
|
1444
|
+
variables: null,
|
|
1445
|
+
disabled: false,
|
|
1446
|
+
paused: false
|
|
1447
|
+
};
|
|
1448
|
+
var TrackingProvider = function TrackingProvider(_ref) {
|
|
1449
|
+
var variables = _ref.variables,
|
|
1450
|
+
disabled = _ref.disabled,
|
|
1451
|
+
paused = _ref.paused,
|
|
1452
|
+
children = _ref.children;
|
|
1453
|
+
var contextTracking = useTracking() || null;
|
|
1454
|
+
var refTracking = React.useRef(null);
|
|
1455
|
+
var tracking$1 = React.useMemo(function () {
|
|
1456
|
+
if (refTracking.current === null) {
|
|
1457
|
+
refTracking.current = new core.Tracking({
|
|
1458
|
+
variables: _objectSpread(_objectSpread({}, contextTracking !== null ? contextTracking.getVariables() : null), variables),
|
|
1459
|
+
disabled: disabled,
|
|
1460
|
+
paused: paused
|
|
1461
|
+
});
|
|
1462
|
+
} else {
|
|
1463
|
+
refTracking.current.setVariables(_objectSpread(_objectSpread({}, refTracking.current.getVariables()), variables));
|
|
1464
|
+
refTracking.current.setDisabled(disabled);
|
|
1465
|
+
refTracking.current.setPaused(paused);
|
|
1466
|
+
}
|
|
1467
|
+
return refTracking.current;
|
|
1468
|
+
}, [contextTracking, variables, disabled, paused]);
|
|
1469
|
+
return /*#__PURE__*/React.createElement(tracking.TrackingContainer, {
|
|
1470
|
+
tracking: tracking$1
|
|
1471
|
+
}, children);
|
|
1472
|
+
};
|
|
1473
|
+
TrackingProvider.propTypes = propTypes$2;
|
|
1474
|
+
TrackingProvider.defaultProps = defaultProps$2;
|
|
1475
|
+
|
|
1476
|
+
var defaultValue = {
|
|
1477
|
+
events: new EventEmitter(),
|
|
1478
|
+
menuVisible: false,
|
|
1479
|
+
menuOverScreen: false,
|
|
1480
|
+
topHeight: 0,
|
|
1481
|
+
bottomHeight: 0,
|
|
1482
|
+
bottomSidesWidth: 0,
|
|
1483
|
+
gotoNextScreen: function gotoNextScreen() {},
|
|
1484
|
+
gotoPreviousScreen: function gotoPreviousScreen() {},
|
|
1485
|
+
disableInteraction: function disableInteraction() {},
|
|
1486
|
+
enableInteraction: function enableInteraction() {}
|
|
1487
|
+
};
|
|
1488
|
+
var ViewerContext = /*#__PURE__*/React.createContext(_objectSpread(_objectSpread({}, defaultValue), {}, {
|
|
1489
|
+
webView: null,
|
|
1490
|
+
setWebView: function setWebView() {}
|
|
1491
|
+
}));
|
|
1492
|
+
var useViewerContext = function useViewerContext() {
|
|
1493
|
+
return React.useContext(ViewerContext);
|
|
1494
|
+
};
|
|
1495
|
+
var useViewerSize = function useViewerSize() {
|
|
1496
|
+
var _useViewerContext = useViewerContext(),
|
|
1497
|
+
width = _useViewerContext.width,
|
|
1498
|
+
height = _useViewerContext.height;
|
|
1499
|
+
return {
|
|
1500
|
+
width: width,
|
|
1501
|
+
height: height
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
var useViewerNavigation = function useViewerNavigation() {
|
|
1505
|
+
var _useViewerContext2 = useViewerContext(),
|
|
1506
|
+
gotoNextScreen = _useViewerContext2.gotoNextScreen,
|
|
1507
|
+
gotoPreviousScreen = _useViewerContext2.gotoPreviousScreen;
|
|
1508
|
+
return {
|
|
1509
|
+
gotoNextScreen: gotoNextScreen,
|
|
1510
|
+
gotoPreviousScreen: gotoPreviousScreen
|
|
1511
|
+
};
|
|
1512
|
+
};
|
|
1513
|
+
var useViewerEvents = function useViewerEvents() {
|
|
1514
|
+
var _useViewerContext3 = useViewerContext(),
|
|
1515
|
+
events = _useViewerContext3.events;
|
|
1516
|
+
return events;
|
|
1517
|
+
};
|
|
1518
|
+
var useViewerContainer = function useViewerContainer() {
|
|
1519
|
+
var _useViewerContext4 = useViewerContext(),
|
|
1520
|
+
_useViewerContext4$co = _useViewerContext4.containerRef,
|
|
1521
|
+
containerRef = _useViewerContext4$co === void 0 ? null : _useViewerContext4$co;
|
|
1522
|
+
return containerRef !== null ? containerRef.current : null;
|
|
1523
|
+
};
|
|
1524
|
+
var useViewerInteraction = function useViewerInteraction() {
|
|
1525
|
+
var _useViewerContext5 = useViewerContext(),
|
|
1526
|
+
disableInteraction = _useViewerContext5.disableInteraction,
|
|
1527
|
+
enableInteraction = _useViewerContext5.enableInteraction;
|
|
1528
|
+
return {
|
|
1529
|
+
disableInteraction: disableInteraction,
|
|
1530
|
+
enableInteraction: enableInteraction
|
|
1531
|
+
};
|
|
1532
|
+
};
|
|
1533
|
+
var useViewerWebView = function useViewerWebView() {
|
|
1534
|
+
var _useViewerContext6 = useViewerContext(),
|
|
1535
|
+
webView = _useViewerContext6.webView,
|
|
1536
|
+
setWebView = _useViewerContext6.setWebView;
|
|
1537
|
+
var value = React.useMemo(function () {
|
|
1538
|
+
return _objectSpread(_objectSpread({}, webView), {}, {
|
|
1539
|
+
opened: webView !== null,
|
|
1540
|
+
open: function open(newWebView) {
|
|
1541
|
+
return setWebView(isString(newWebView) ? {
|
|
1542
|
+
url: newWebView
|
|
1543
|
+
} : newWebView);
|
|
1544
|
+
},
|
|
1545
|
+
close: function close() {
|
|
1546
|
+
return setWebView(null);
|
|
1547
|
+
},
|
|
1548
|
+
update: function update(newWebView) {
|
|
1549
|
+
return setWebView(_objectSpread(_objectSpread({}, webView), newWebView));
|
|
1550
|
+
}
|
|
1551
|
+
});
|
|
1552
|
+
}, [webView, setWebView]);
|
|
1553
|
+
return value;
|
|
1554
|
+
};
|
|
1555
|
+
var propTypes$1 = {
|
|
1556
|
+
children: PropTypes.node.isRequired,
|
|
1557
|
+
events: PropTypes.instanceOf(EventEmitter),
|
|
1558
|
+
containerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
1559
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
1560
|
+
current: PropTypes.any
|
|
1561
|
+
})]),
|
|
1562
|
+
menuVisible: PropTypes.bool,
|
|
1563
|
+
menuOverScreen: PropTypes.bool,
|
|
1564
|
+
width: PropTypes.number,
|
|
1565
|
+
height: PropTypes.number,
|
|
1566
|
+
topHeight: PropTypes.number,
|
|
1567
|
+
bottomHeight: PropTypes.number,
|
|
1568
|
+
bottomSidesWidth: PropTypes.number,
|
|
1569
|
+
gotoNextScreen: PropTypes.func,
|
|
1570
|
+
gotoPreviousScreen: PropTypes.func,
|
|
1571
|
+
disableInteraction: PropTypes.func,
|
|
1572
|
+
enableInteraction: PropTypes.func
|
|
1573
|
+
};
|
|
1574
|
+
var defaultProps$1 = _objectSpread({}, defaultValue);
|
|
1575
|
+
var ViewerProvider = function ViewerProvider(_ref) {
|
|
1576
|
+
var children = _ref.children,
|
|
1577
|
+
containerRef = _ref.containerRef,
|
|
1578
|
+
events = _ref.events,
|
|
1579
|
+
menuVisible = _ref.menuVisible,
|
|
1580
|
+
menuOverScreen = _ref.menuOverScreen,
|
|
1581
|
+
width = _ref.width,
|
|
1582
|
+
height = _ref.height,
|
|
1583
|
+
topHeight = _ref.topHeight,
|
|
1584
|
+
bottomHeight = _ref.bottomHeight,
|
|
1585
|
+
bottomSidesWidth = _ref.bottomSidesWidth,
|
|
1586
|
+
gotoNextScreen = _ref.gotoNextScreen,
|
|
1587
|
+
gotoPreviousScreen = _ref.gotoPreviousScreen,
|
|
1588
|
+
disableInteraction = _ref.disableInteraction,
|
|
1589
|
+
enableInteraction = _ref.enableInteraction;
|
|
1590
|
+
var _useState = React.useState(null),
|
|
1591
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1592
|
+
webView = _useState2[0],
|
|
1593
|
+
setWebView = _useState2[1];
|
|
1594
|
+
var value = React.useMemo(function () {
|
|
1595
|
+
return {
|
|
1596
|
+
containerRef: containerRef,
|
|
1597
|
+
events: events,
|
|
1598
|
+
menuVisible: menuVisible,
|
|
1599
|
+
menuOverScreen: menuOverScreen,
|
|
1600
|
+
width: width,
|
|
1601
|
+
height: height,
|
|
1602
|
+
topHeight: topHeight,
|
|
1603
|
+
bottomHeight: bottomHeight,
|
|
1604
|
+
bottomSidesWidth: bottomSidesWidth,
|
|
1605
|
+
gotoNextScreen: gotoNextScreen,
|
|
1606
|
+
gotoPreviousScreen: gotoPreviousScreen,
|
|
1607
|
+
disableInteraction: disableInteraction,
|
|
1608
|
+
enableInteraction: enableInteraction,
|
|
1609
|
+
webView: webView,
|
|
1610
|
+
setWebView: setWebView
|
|
1611
|
+
};
|
|
1612
|
+
}, [containerRef, events, menuVisible, menuOverScreen, width, height, topHeight, bottomHeight, bottomSidesWidth, gotoNextScreen, gotoPreviousScreen, disableInteraction, enableInteraction, webView, setWebView]);
|
|
1613
|
+
return /*#__PURE__*/React.createElement(ViewerContext.Provider, {
|
|
1614
|
+
value: value
|
|
1615
|
+
}, children);
|
|
1616
|
+
};
|
|
1617
|
+
ViewerProvider.propTypes = propTypes$1;
|
|
1618
|
+
ViewerProvider.defaultProps = defaultProps$1;
|
|
1619
|
+
|
|
1620
|
+
var VisitorContext = /*#__PURE__*/React.createContext({
|
|
1621
|
+
visitor: null,
|
|
1622
|
+
setVisitor: function setVisitor() {}
|
|
1623
|
+
});
|
|
1624
|
+
var useVisitorContext = function useVisitorContext() {
|
|
1625
|
+
var _useContext = React.useContext(VisitorContext),
|
|
1626
|
+
visitor = _useContext.visitor,
|
|
1627
|
+
setVisitor = _useContext.setVisitor;
|
|
1628
|
+
return {
|
|
1629
|
+
visitor: visitor,
|
|
1630
|
+
setVisitor: setVisitor
|
|
1631
|
+
};
|
|
1632
|
+
};
|
|
1633
|
+
var useVisitor = function useVisitor() {
|
|
1634
|
+
var _useContext2 = React.useContext(VisitorContext),
|
|
1635
|
+
visitor = _useContext2.visitor;
|
|
1636
|
+
return visitor;
|
|
1637
|
+
};
|
|
1638
|
+
var useSetVisitor = function useSetVisitor() {
|
|
1639
|
+
var _useContext3 = React.useContext(VisitorContext),
|
|
1640
|
+
setVisitor = _useContext3.setVisitor;
|
|
1641
|
+
return setVisitor;
|
|
1642
|
+
};
|
|
1643
|
+
var propTypes = {
|
|
1644
|
+
children: PropTypes.node.isRequired,
|
|
1645
|
+
visitor: core.PropTypes.visitor
|
|
1646
|
+
};
|
|
1647
|
+
var defaultProps = {
|
|
1648
|
+
visitor: null
|
|
1649
|
+
};
|
|
1650
|
+
var VisitorProvider = function VisitorProvider(_ref) {
|
|
1651
|
+
var providedVisitor = _ref.visitor,
|
|
1652
|
+
children = _ref.children;
|
|
1653
|
+
var _useState = React.useState(providedVisitor),
|
|
1654
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1655
|
+
visitor = _useState2[0],
|
|
1656
|
+
setVisitor = _useState2[1];
|
|
1657
|
+
React.useEffect(function () {
|
|
1658
|
+
if (providedVisitor !== visitor) {
|
|
1659
|
+
setVisitor(providedVisitor);
|
|
1660
|
+
}
|
|
1661
|
+
}, [providedVisitor, setVisitor]);
|
|
1662
|
+
var value = React.useMemo(function () {
|
|
1663
|
+
return {
|
|
1664
|
+
visitor: visitor,
|
|
1665
|
+
setVisitor: function setVisitor(newVisitor) {
|
|
1666
|
+
return isString(newVisitor) ? {
|
|
1667
|
+
id: newVisitor
|
|
1668
|
+
} : newVisitor;
|
|
1669
|
+
}
|
|
1670
|
+
};
|
|
1671
|
+
}, [visitor, setVisitor]);
|
|
1672
|
+
return /*#__PURE__*/React.createElement(VisitorContext.Provider, {
|
|
1673
|
+
value: value
|
|
1674
|
+
}, children);
|
|
1675
|
+
};
|
|
1676
|
+
VisitorProvider.propTypes = propTypes;
|
|
1677
|
+
VisitorProvider.defaultProps = defaultProps;
|
|
1678
|
+
|
|
1679
|
+
Object.defineProperty(exports, "RoutesContext", {
|
|
1680
|
+
enumerable: true,
|
|
1681
|
+
get: function () { return routes.RoutesContext; }
|
|
1682
|
+
});
|
|
1683
|
+
Object.defineProperty(exports, "RoutesProvider", {
|
|
1684
|
+
enumerable: true,
|
|
1685
|
+
get: function () { return routes.RoutesProvider; }
|
|
1686
|
+
});
|
|
1687
|
+
Object.defineProperty(exports, "useRoutes", {
|
|
1688
|
+
enumerable: true,
|
|
1689
|
+
get: function () { return routes.useRoutes; }
|
|
1690
|
+
});
|
|
1691
|
+
Object.defineProperty(exports, "useUrlGenerator", {
|
|
1692
|
+
enumerable: true,
|
|
1693
|
+
get: function () { return routes.useUrlGenerator; }
|
|
1694
|
+
});
|
|
1695
|
+
Object.defineProperty(exports, "TrackingContext", {
|
|
1696
|
+
enumerable: true,
|
|
1697
|
+
get: function () { return tracking.TrackingContext; }
|
|
1698
|
+
});
|
|
1699
|
+
exports.ComponentsContext = ComponentsContext;
|
|
1700
|
+
exports.ComponentsProvider = ComponentsProvider;
|
|
1701
|
+
exports.ConsentContext = ConsentContext;
|
|
1702
|
+
exports.ConsentProvider = ConsentProvider;
|
|
1703
|
+
exports.ELEMENTS_NAMESPACE = ELEMENTS_NAMESPACE;
|
|
1704
|
+
exports.EditorContext = EditorContext;
|
|
1705
|
+
exports.EditorProvider = EditorProvider;
|
|
1706
|
+
exports.FIELDS_NAMESPACE = FIELDS_NAMESPACE;
|
|
1707
|
+
exports.FORMS_NAMESPACE = FORMS_NAMESPACE;
|
|
1708
|
+
exports.FieldContext = FieldContext;
|
|
1709
|
+
exports.FieldContextProvider = FieldContextProvider;
|
|
1710
|
+
exports.FieldsContext = FieldsContext;
|
|
1711
|
+
exports.FieldsProvider = FieldsProvider;
|
|
1712
|
+
exports.FieldsValueContext = FieldsValueContext;
|
|
1713
|
+
exports.FieldsValueContextProvider = FieldsValueContextProvider;
|
|
1714
|
+
exports.FontsContext = FontsContext;
|
|
1715
|
+
exports.FontsProvider = FontsProvider;
|
|
1716
|
+
exports.GoogleApiClientContext = GoogleApiClientContext;
|
|
1717
|
+
exports.GoogleApiClientProvider = GoogleApiClientProvider;
|
|
1718
|
+
exports.GoogleKeysContext = GoogleKeysContext;
|
|
1719
|
+
exports.GoogleKeysProvider = GoogleKeysProvider;
|
|
1720
|
+
exports.GoogleMapsClientContext = GoogleMapsClientContext;
|
|
1721
|
+
exports.GoogleMapsClientProvider = GoogleMapsClientProvider;
|
|
1722
|
+
exports.MODALS_NAMESPACE = MODALS_NAMESPACE;
|
|
1723
|
+
exports.ModalsContext = ModalsContext;
|
|
1724
|
+
exports.ModalsProvider = ModalsProvider;
|
|
1725
|
+
exports.PanelsContext = PanelsContext;
|
|
1726
|
+
exports.PanelsProvider = PanelsProvider;
|
|
1727
|
+
exports.PlaybackContext = PlaybackContext;
|
|
1728
|
+
exports.PlaybackProvider = PlaybackProvider;
|
|
1729
|
+
exports.SCREENS_NAMESPACE = SCREENS_NAMESPACE;
|
|
1730
|
+
exports.ScreenContext = ScreenContext;
|
|
1731
|
+
exports.ScreenProvider = ScreenProvider;
|
|
1732
|
+
exports.ScreenSizeContext = ScreenSizeContext;
|
|
1733
|
+
exports.ScreenSizeProvider = ScreenSizeProvider;
|
|
1734
|
+
exports.ScreensContext = ScreensContext;
|
|
1735
|
+
exports.ScreensProvider = ScreensProvider;
|
|
1736
|
+
exports.StoryContext = StoryContext;
|
|
1737
|
+
exports.StoryProvider = StoryProvider;
|
|
1738
|
+
exports.TrackingProvider = TrackingProvider;
|
|
1739
|
+
exports.ViewerContext = ViewerContext;
|
|
1740
|
+
exports.ViewerProvider = ViewerProvider;
|
|
1741
|
+
exports.VisitorContext = VisitorContext;
|
|
1742
|
+
exports.VisitorProvider = VisitorProvider;
|
|
1743
|
+
exports.useComponent = useComponent;
|
|
1744
|
+
exports.useComponents = useComponents;
|
|
1745
|
+
exports.useComponentsManager = useComponentsManager;
|
|
1746
|
+
exports.useConsent = useConsent;
|
|
1747
|
+
exports.useEditor = useEditor;
|
|
1748
|
+
exports.useElementComponent = useElementComponent;
|
|
1749
|
+
exports.useElementsComponents = useElementsComponents;
|
|
1750
|
+
exports.useElementsComponentsManager = useElementsComponentsManager;
|
|
1751
|
+
exports.useFieldComponent = useFieldComponent;
|
|
1752
|
+
exports.useFieldContext = useFieldContext;
|
|
1753
|
+
exports.useFieldDefinition = useFieldDefinition;
|
|
1754
|
+
exports.useFieldsComponents = useFieldsComponents;
|
|
1755
|
+
exports.useFieldsComponentsManager = useFieldsComponentsManager;
|
|
1756
|
+
exports.useFieldsManager = useFieldsManager;
|
|
1757
|
+
exports.useFieldsValue = useFieldsValue;
|
|
1758
|
+
exports.useFonts = useFonts;
|
|
1759
|
+
exports.useFormComponent = useFormComponent;
|
|
1760
|
+
exports.useFormsComponents = useFormsComponents;
|
|
1761
|
+
exports.useFormsComponentsManager = useFormsComponentsManager;
|
|
1762
|
+
exports.useGetColors = useGetColors;
|
|
1763
|
+
exports.useGoogleApiClient = useGoogleApiClient;
|
|
1764
|
+
exports.useGoogleFonts = useGoogleFonts;
|
|
1765
|
+
exports.useGoogleKeys = useGoogleKeys;
|
|
1766
|
+
exports.useGoogleMapsClient = useGoogleMapsClient;
|
|
1767
|
+
exports.useModalComponent = useModalComponent;
|
|
1768
|
+
exports.useModals = useModals;
|
|
1769
|
+
exports.useModalsComponents = useModalsComponents;
|
|
1770
|
+
exports.useModalsComponentsManager = useModalsComponentsManager;
|
|
1771
|
+
exports.usePanels = usePanels;
|
|
1772
|
+
exports.usePlaybackContext = usePlaybackContext;
|
|
1773
|
+
exports.usePlaybackMediaRef = usePlaybackMediaRef;
|
|
1774
|
+
exports.useRouteBack = useRouteBack;
|
|
1775
|
+
exports.useRoutePush = useRoutePush;
|
|
1776
|
+
exports.useScreen = useScreen;
|
|
1777
|
+
exports.useScreenComponent = useScreenComponent;
|
|
1778
|
+
exports.useScreenData = useScreenData;
|
|
1779
|
+
exports.useScreenDefinition = useScreenDefinition;
|
|
1780
|
+
exports.useScreenRenderContext = useScreenRenderContext;
|
|
1781
|
+
exports.useScreenSize = useScreenSize;
|
|
1782
|
+
exports.useScreenState = useScreenState;
|
|
1783
|
+
exports.useScreensComponents = useScreensComponents;
|
|
1784
|
+
exports.useScreensComponentsManager = useScreensComponentsManager;
|
|
1785
|
+
exports.useScreensManager = useScreensManager;
|
|
1786
|
+
exports.useSetVisitor = useSetVisitor;
|
|
1787
|
+
exports.useStory = useStory;
|
|
1788
|
+
exports.useStoryContext = useStoryContext;
|
|
1789
|
+
exports.useTracking = useTracking;
|
|
1790
|
+
exports.useViewerContainer = useViewerContainer;
|
|
1791
|
+
exports.useViewerContext = useViewerContext;
|
|
1792
|
+
exports.useViewerEvents = useViewerEvents;
|
|
1793
|
+
exports.useViewerInteraction = useViewerInteraction;
|
|
1794
|
+
exports.useViewerNavigation = useViewerNavigation;
|
|
1795
|
+
exports.useViewerSize = useViewerSize;
|
|
1796
|
+
exports.useViewerWebView = useViewerWebView;
|
|
1797
|
+
exports.useVisitor = useVisitor;
|
|
1798
|
+
exports.useVisitorContext = useVisitorContext;
|
|
1799
|
+
exports.withGoogleApiClient = withGoogleApiClient;
|
|
1800
|
+
exports.withGoogleMapsClient = withGoogleMapsClient;
|
|
1801
|
+
exports.withModals = withModals;
|
|
1802
|
+
exports.withPanels = withPanels;
|