@panneau/core 1.0.3-alpha.1 → 1.0.3
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/contexts.js +302 -358
- package/es/hooks.js +201 -319
- package/es/index.js +114 -215
- package/es/utils.js +75 -77
- package/lib/contexts.js +303 -358
- package/lib/hooks.js +200 -318
- package/lib/index.js +114 -215
- package/lib/utils.js +76 -76
- package/package.json +2 -2
package/lib/hooks.js
CHANGED
|
@@ -53,27 +53,22 @@ var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
|
|
|
53
53
|
|
|
54
54
|
var useAnimationFrame = function useAnimationFrame(onFrame) {
|
|
55
55
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
_ref$disabled = _ref.disabled,
|
|
57
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
59
58
|
var requestRef = react.useRef(null);
|
|
60
59
|
var startTimeRef = react.useRef(null);
|
|
61
|
-
|
|
62
60
|
var callback = function callback(time) {
|
|
63
61
|
if (!startTimeRef.current) {
|
|
64
62
|
startTimeRef.current = time;
|
|
65
63
|
}
|
|
66
|
-
|
|
67
64
|
var progress = time - startTimeRef.current;
|
|
68
65
|
onFrame(progress);
|
|
69
66
|
requestRef.current = requestAnimationFrame(callback);
|
|
70
67
|
};
|
|
71
|
-
|
|
72
68
|
react.useEffect(function () {
|
|
73
69
|
if (!disabled) {
|
|
74
70
|
requestRef.current = requestAnimationFrame(callback);
|
|
75
71
|
}
|
|
76
|
-
|
|
77
72
|
return function () {
|
|
78
73
|
if (requestRef.current !== null) {
|
|
79
74
|
cancelAnimationFrame(requestRef.current);
|
|
@@ -84,16 +79,14 @@ var useAnimationFrame = function useAnimationFrame(onFrame) {
|
|
|
84
79
|
|
|
85
80
|
var useFormattedDate = function useFormattedDate() {
|
|
86
81
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
_ref$format = _ref.format,
|
|
83
|
+
format = _ref$format === void 0 ? null : _ref$format,
|
|
84
|
+
_ref$showToday = _ref.showToday,
|
|
85
|
+
showToday = _ref$showToday === void 0 ? true : _ref$showToday;
|
|
92
86
|
var intl = reactIntl.useIntl();
|
|
93
87
|
var today = dayjs__default["default"]();
|
|
94
88
|
return react.useCallback(function (date) {
|
|
95
89
|
var dateToFormat = isString__default["default"](date) ? dayjs__default["default"](date) : date;
|
|
96
|
-
|
|
97
90
|
if (showToday && dateToFormat.format('YYYY-MM-DD') === today.format('YYYY-MM-DD')) {
|
|
98
91
|
return intl.formatMessage({
|
|
99
92
|
"id": "v4Qtl9",
|
|
@@ -103,7 +96,6 @@ var useFormattedDate = function useFormattedDate() {
|
|
|
103
96
|
}]
|
|
104
97
|
});
|
|
105
98
|
}
|
|
106
|
-
|
|
107
99
|
return intl.formatDate(dayjs__default["default"](date).toDate(), _objectSpread__default["default"]({
|
|
108
100
|
year: 'numeric',
|
|
109
101
|
month: 'long',
|
|
@@ -113,18 +105,16 @@ var useFormattedDate = function useFormattedDate() {
|
|
|
113
105
|
};
|
|
114
106
|
var useFormattedTime = function useFormattedTime() {
|
|
115
107
|
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
108
|
+
_ref2$format = _ref2.format,
|
|
109
|
+
format = _ref2$format === void 0 ? null : _ref2$format,
|
|
110
|
+
_ref2$showNow = _ref2.showNow,
|
|
111
|
+
showNow = _ref2$showNow === void 0 ? true : _ref2$showNow,
|
|
112
|
+
_ref2$timeGap = _ref2.timeGap,
|
|
113
|
+
timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;
|
|
123
114
|
var intl = reactIntl.useIntl();
|
|
124
115
|
var now = dayjs__default["default"]();
|
|
125
116
|
return react.useCallback(function (date) {
|
|
126
117
|
var dateToFormat = isString__default["default"](date) ? dayjs__default["default"](date) : date;
|
|
127
|
-
|
|
128
118
|
if (showNow && dateToFormat.format('YYYY-MM-DD') === now.format('YYYY-MM-DD') && dateToFormat.hour() === now.hour() && dateToFormat.minute() > now.minute() - timeGap && dateToFormat.minute() < now.minute() + timeGap) {
|
|
129
119
|
return intl.formatMessage({
|
|
130
120
|
"id": "3na7F8",
|
|
@@ -134,7 +124,6 @@ var useFormattedTime = function useFormattedTime() {
|
|
|
134
124
|
}]
|
|
135
125
|
});
|
|
136
126
|
}
|
|
137
|
-
|
|
138
127
|
return intl.formatTime(dateToFormat.toDate(), _objectSpread__default["default"]({
|
|
139
128
|
hour: 'numeric',
|
|
140
129
|
minute: 'numeric'
|
|
@@ -147,20 +136,19 @@ var useDocumentEvent = utils.createUseEvent(eventsManager$1);
|
|
|
147
136
|
|
|
148
137
|
var _excluded$1 = ["value", "errors", "onChange"];
|
|
149
138
|
|
|
139
|
+
// prettier-ignore
|
|
150
140
|
var getFieldsPropsFromFields = function getFieldsPropsFromFields(fields, _ref) {
|
|
151
141
|
var value = _ref.value,
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
142
|
+
errors = _ref.errors,
|
|
143
|
+
_onChange = _ref.onChange,
|
|
144
|
+
props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
156
145
|
var locales = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
157
146
|
return fields.reduce(function (allFields, field) {
|
|
158
147
|
var _ref2 = isObject__default["default"](field) ? field : {},
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
148
|
+
_ref2$name = _ref2.name,
|
|
149
|
+
name = _ref2$name === void 0 ? isString__default["default"](field) ? field : null : _ref2$name,
|
|
150
|
+
_ref2$component = _ref2.component,
|
|
151
|
+
component = _ref2$component === void 0 ? null : _ref2$component;
|
|
164
152
|
var fieldErrors = errors !== null ? errors[name] || [] : [];
|
|
165
153
|
var localizedErrors = component === 'localized' ? (locales || []).reduce(function (previousErrors, locale) {
|
|
166
154
|
var items = errors !== null ? get__default["default"](errors, "".concat(name, ".").concat(locale), []) || [] : [];
|
|
@@ -179,67 +167,60 @@ var getFieldsPropsFromFields = function getFieldsPropsFromFields(fields, _ref) {
|
|
|
179
167
|
}, props)]);
|
|
180
168
|
}, []);
|
|
181
169
|
};
|
|
182
|
-
|
|
183
170
|
var useForm = function useForm() {
|
|
184
171
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
185
172
|
var _opts$fields = opts.fields,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
173
|
+
fields = _opts$fields === void 0 ? [] : _opts$fields,
|
|
174
|
+
_opts$action = opts.action,
|
|
175
|
+
action = _opts$action === void 0 ? null : _opts$action,
|
|
176
|
+
_opts$postForm = opts.postForm,
|
|
177
|
+
postForm = _opts$postForm === void 0 ? null : _opts$postForm,
|
|
178
|
+
_opts$initialErrors = opts.initialErrors,
|
|
179
|
+
initialErrors = _opts$initialErrors === void 0 ? null : _opts$initialErrors,
|
|
180
|
+
_opts$errors = opts.errors,
|
|
181
|
+
providedErrors = _opts$errors === void 0 ? null : _opts$errors,
|
|
182
|
+
_opts$setErrors = opts.setErrors,
|
|
183
|
+
setProvidedErrors = _opts$setErrors === void 0 ? null : _opts$setErrors,
|
|
184
|
+
_opts$initialGeneralE = opts.initialGeneralError,
|
|
185
|
+
initialGeneralError = _opts$initialGeneralE === void 0 ? null : _opts$initialGeneralE,
|
|
186
|
+
_opts$generalError = opts.generalError,
|
|
187
|
+
providedGeneralError = _opts$generalError === void 0 ? null : _opts$generalError,
|
|
188
|
+
_opts$setGeneralError = opts.setGeneralError,
|
|
189
|
+
setProvidedGeneralError = _opts$setGeneralError === void 0 ? null : _opts$setGeneralError,
|
|
190
|
+
_opts$initialValue = opts.initialValue,
|
|
191
|
+
initialValue = _opts$initialValue === void 0 ? null : _opts$initialValue,
|
|
192
|
+
_opts$value = opts.value,
|
|
193
|
+
providedValue = _opts$value === void 0 ? null : _opts$value,
|
|
194
|
+
_opts$setValue = opts.setValue,
|
|
195
|
+
setProvidedValue = _opts$setValue === void 0 ? null : _opts$setValue,
|
|
196
|
+
_opts$onComplete = opts.onComplete,
|
|
197
|
+
onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete,
|
|
198
|
+
_opts$locales = opts.locales,
|
|
199
|
+
locales = _opts$locales === void 0 ? [] : _opts$locales;
|
|
214
200
|
var _useState = react.useState(initialValue || providedValue),
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
201
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
202
|
+
stateValue = _useState2[0],
|
|
203
|
+
setStateValue = _useState2[1];
|
|
219
204
|
var _useState3 = react.useState(initialErrors || providedErrors),
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
205
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
206
|
+
stateErrors = _useState4[0],
|
|
207
|
+
setStateErrors = _useState4[1];
|
|
224
208
|
var _useState5 = react.useState(initialGeneralError || providedGeneralError),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
209
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
210
|
+
stateGeneralError = _useState6[0],
|
|
211
|
+
setStateGeneralError = _useState6[1];
|
|
229
212
|
var _useState7 = react.useState({
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
213
|
+
success: false,
|
|
214
|
+
loading: false,
|
|
215
|
+
error: false
|
|
216
|
+
}),
|
|
217
|
+
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
218
|
+
requestState = _useState8[0],
|
|
219
|
+
setRequestState = _useState8[1];
|
|
238
220
|
var _useState9 = react.useState(null),
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
221
|
+
_useState10 = _slicedToArray__default["default"](_useState9, 2),
|
|
222
|
+
response = _useState10[0],
|
|
223
|
+
setResponse = _useState10[1];
|
|
243
224
|
var hasProvidedValue = setProvidedValue !== null;
|
|
244
225
|
var value = hasProvidedValue ? providedValue : stateValue;
|
|
245
226
|
var setValue = hasProvidedValue ? setProvidedValue : setStateValue;
|
|
@@ -252,11 +233,9 @@ var useForm = function useForm() {
|
|
|
252
233
|
var fieldsKey = [value, errors, locales].concat(fields);
|
|
253
234
|
var onFieldChange = react.useCallback(function (fieldName, fieldValue) {
|
|
254
235
|
var fieldErrors = errors !== null ? errors[fieldName] || null : null;
|
|
255
|
-
|
|
256
236
|
if (fieldErrors !== null) {
|
|
257
237
|
setErrors(_objectSpread__default["default"](_objectSpread__default["default"]({}, errors), {}, _defineProperty__default["default"]({}, fieldName, null)));
|
|
258
238
|
}
|
|
259
|
-
|
|
260
239
|
setValue(_objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, fieldName, fieldValue)));
|
|
261
240
|
}, fieldsKey);
|
|
262
241
|
var fieldsProps = react.useMemo(function () {
|
|
@@ -269,25 +248,21 @@ var useForm = function useForm() {
|
|
|
269
248
|
var csrfToken = react.useMemo(function () {
|
|
270
249
|
return fetch.getCsrfToken();
|
|
271
250
|
}, []);
|
|
272
|
-
|
|
273
251
|
var onSubmitError = function onSubmitError(error) {
|
|
274
252
|
setRequestState({
|
|
275
253
|
success: false,
|
|
276
254
|
loading: false,
|
|
277
255
|
error: true
|
|
278
256
|
});
|
|
279
|
-
|
|
280
257
|
if (error.name === 'ValidationError') {
|
|
281
258
|
var _error$getResponseDat = error.getResponseData(),
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
259
|
+
_error$getResponseDat2 = _error$getResponseDat.errors,
|
|
260
|
+
validationErrors = _error$getResponseDat2 === void 0 ? null : _error$getResponseDat2;
|
|
285
261
|
setErrors(validationErrors);
|
|
286
262
|
} else {
|
|
287
263
|
setGeneralError(error.message);
|
|
288
264
|
}
|
|
289
265
|
};
|
|
290
|
-
|
|
291
266
|
var onSubmitSuccess = function onSubmitSuccess(resp) {
|
|
292
267
|
setRequestState({
|
|
293
268
|
success: true,
|
|
@@ -295,12 +270,10 @@ var useForm = function useForm() {
|
|
|
295
270
|
error: false
|
|
296
271
|
});
|
|
297
272
|
setResponse(resp);
|
|
298
|
-
|
|
299
273
|
if (onComplete !== null) {
|
|
300
274
|
onComplete(resp);
|
|
301
275
|
}
|
|
302
276
|
};
|
|
303
|
-
|
|
304
277
|
var finalPostForm = react.useCallback(function (postAction, postData) {
|
|
305
278
|
return postForm !== null ? postForm(postAction, postData) : fetch.postJSON(postAction, postData, {
|
|
306
279
|
credentials: 'include',
|
|
@@ -325,7 +298,6 @@ var useForm = function useForm() {
|
|
|
325
298
|
submit();
|
|
326
299
|
}, [submit]);
|
|
327
300
|
var status = null;
|
|
328
|
-
|
|
329
301
|
if (requestState.loading) {
|
|
330
302
|
status = 'loading';
|
|
331
303
|
} else if (requestState.success) {
|
|
@@ -333,7 +305,6 @@ var useForm = function useForm() {
|
|
|
333
305
|
} else if (requestState.error) {
|
|
334
306
|
status = 'error';
|
|
335
307
|
}
|
|
336
|
-
|
|
337
308
|
return _objectSpread__default["default"](_objectSpread__default["default"]({
|
|
338
309
|
value: value,
|
|
339
310
|
setValue: setValue,
|
|
@@ -352,27 +323,22 @@ var useForm = function useForm() {
|
|
|
352
323
|
var buildThresholdArray = function buildThresholdArray() {
|
|
353
324
|
return [0, 1.0];
|
|
354
325
|
};
|
|
355
|
-
|
|
356
326
|
var observersCache = new Map();
|
|
357
|
-
|
|
358
327
|
var getOptionsKey = function getOptionsKey(_ref) {
|
|
359
328
|
var _ref$root = _ref.root,
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
329
|
+
root = _ref$root === void 0 ? null : _ref$root,
|
|
330
|
+
rootMargin = _ref.rootMargin,
|
|
331
|
+
_ref$threshold = _ref.threshold,
|
|
332
|
+
threshold = _ref$threshold === void 0 ? null : _ref$threshold;
|
|
364
333
|
return "root_".concat(root, "_rootMargin_").concat(rootMargin || null, "_threshold_").concat(threshold);
|
|
365
334
|
};
|
|
366
|
-
|
|
367
335
|
var createObserver = function createObserver(Observer) {
|
|
368
336
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
369
337
|
var subscribers = [];
|
|
370
|
-
|
|
371
338
|
var addSubscriber = function addSubscriber(element, callback) {
|
|
372
339
|
var currentSubscriber = subscribers.find(function (it) {
|
|
373
340
|
return it.element === element;
|
|
374
341
|
}) || null;
|
|
375
|
-
|
|
376
342
|
if (currentSubscriber !== null) {
|
|
377
343
|
return subscribers.map(function (it) {
|
|
378
344
|
return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
|
|
@@ -382,13 +348,11 @@ var createObserver = function createObserver(Observer) {
|
|
|
382
348
|
return it.callbacks.length > 0;
|
|
383
349
|
});
|
|
384
350
|
}
|
|
385
|
-
|
|
386
351
|
return [].concat(_toConsumableArray__default["default"](subscribers), [{
|
|
387
352
|
element: element,
|
|
388
353
|
callbacks: [callback]
|
|
389
354
|
}]);
|
|
390
355
|
};
|
|
391
|
-
|
|
392
356
|
var removeSubscriber = function removeSubscriber(element, callback) {
|
|
393
357
|
return subscribers.map(function (it) {
|
|
394
358
|
return it.element === element ? _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
|
|
@@ -400,13 +364,11 @@ var createObserver = function createObserver(Observer) {
|
|
|
400
364
|
return it.callbacks.length > 0;
|
|
401
365
|
});
|
|
402
366
|
};
|
|
403
|
-
|
|
404
367
|
var onUpdate = function onUpdate(entries) {
|
|
405
368
|
entries.forEach(function (entry) {
|
|
406
369
|
subscribers.forEach(function (_ref2) {
|
|
407
370
|
var element = _ref2.element,
|
|
408
|
-
|
|
409
|
-
|
|
371
|
+
callbacks = _ref2.callbacks;
|
|
410
372
|
if (element === entry.target) {
|
|
411
373
|
callbacks.forEach(function (callback) {
|
|
412
374
|
callback(entry);
|
|
@@ -415,13 +377,10 @@ var createObserver = function createObserver(Observer) {
|
|
|
415
377
|
});
|
|
416
378
|
});
|
|
417
379
|
};
|
|
418
|
-
|
|
419
380
|
var observer = new Observer(onUpdate, options);
|
|
420
|
-
|
|
421
381
|
var unsubscribe = function unsubscribe(element) {
|
|
422
382
|
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
423
383
|
subscribers = removeSubscriber(element, callback);
|
|
424
|
-
|
|
425
384
|
if (typeof observer.unobserve === 'undefined') {
|
|
426
385
|
observer.disconnect();
|
|
427
386
|
subscribers.forEach(function (subscriber) {
|
|
@@ -429,103 +388,82 @@ var createObserver = function createObserver(Observer) {
|
|
|
429
388
|
});
|
|
430
389
|
return;
|
|
431
390
|
}
|
|
432
|
-
|
|
433
391
|
var currentSubscriber = subscribers.find(function (it) {
|
|
434
392
|
return it.element === element;
|
|
435
393
|
}) || null;
|
|
436
|
-
|
|
437
394
|
if (currentSubscriber === null) {
|
|
438
395
|
observer.unobserve(element);
|
|
439
396
|
}
|
|
440
397
|
};
|
|
441
|
-
|
|
442
398
|
var subscribe = function subscribe(element, callback) {
|
|
443
399
|
var currentSubscriber = subscribers.find(function (it) {
|
|
444
400
|
return it.element === element;
|
|
445
401
|
}) || null;
|
|
446
402
|
subscribers = addSubscriber(element, callback);
|
|
447
|
-
|
|
448
403
|
if (currentSubscriber === null) {
|
|
449
404
|
observer.observe(element);
|
|
450
405
|
}
|
|
451
406
|
};
|
|
452
|
-
|
|
453
407
|
return {
|
|
454
408
|
subscribe: subscribe,
|
|
455
409
|
unsubscribe: unsubscribe,
|
|
456
410
|
observer: observer
|
|
457
411
|
};
|
|
458
412
|
};
|
|
459
|
-
|
|
460
413
|
var getObserver = function getObserver(Observer) {
|
|
461
414
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
462
415
|
var observerKey = getOptionsKey(options);
|
|
463
|
-
|
|
464
416
|
if (!observersCache.has(Observer)) {
|
|
465
417
|
observersCache.set(Observer, {});
|
|
466
418
|
}
|
|
467
|
-
|
|
468
419
|
var observers = observersCache.get(Observer);
|
|
469
|
-
|
|
470
420
|
if (typeof observers[observerKey] === 'undefined') {
|
|
471
421
|
observers[observerKey] = createObserver(Observer, options);
|
|
472
422
|
observersCache.set(Observer, observers);
|
|
473
423
|
}
|
|
474
|
-
|
|
475
424
|
return observers[observerKey];
|
|
476
425
|
};
|
|
477
426
|
var useObserver = function useObserver(Observer) {
|
|
478
427
|
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
479
428
|
var initialEntry = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
480
429
|
var _opts$root = opts.root,
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
430
|
+
root = _opts$root === void 0 ? null : _opts$root,
|
|
431
|
+
_opts$rootMargin = opts.rootMargin,
|
|
432
|
+
rootMargin = _opts$rootMargin === void 0 ? null : _opts$rootMargin,
|
|
433
|
+
_opts$threshold = opts.threshold,
|
|
434
|
+
threshold = _opts$threshold === void 0 ? null : _opts$threshold,
|
|
435
|
+
_opts$disabled = opts.disabled,
|
|
436
|
+
disabled = _opts$disabled === void 0 ? false : _opts$disabled;
|
|
489
437
|
var _useState = react.useState(initialEntry),
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
438
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
439
|
+
entry = _useState2[0],
|
|
440
|
+
setEntry = _useState2[1];
|
|
494
441
|
var nodeRef = react.useRef(null);
|
|
495
442
|
var currentElement = react.useRef(null);
|
|
496
443
|
var elementChanged = nodeRef.current !== currentElement.current;
|
|
497
444
|
react.useEffect(function () {
|
|
498
445
|
var nodeElement = nodeRef.current;
|
|
499
|
-
|
|
500
446
|
var callback = function callback(newEntry) {
|
|
501
447
|
return setEntry(newEntry);
|
|
502
448
|
};
|
|
503
|
-
|
|
504
449
|
var unsubscribe = null;
|
|
505
|
-
|
|
506
450
|
if (nodeElement !== null) {
|
|
507
451
|
var newOpts = {};
|
|
508
|
-
|
|
509
452
|
if (root !== null) {
|
|
510
453
|
newOpts.root = root;
|
|
511
454
|
}
|
|
512
|
-
|
|
513
455
|
if (rootMargin !== null) {
|
|
514
456
|
newOpts.rootMargin = rootMargin;
|
|
515
457
|
}
|
|
516
|
-
|
|
517
458
|
if (threshold !== null) {
|
|
518
459
|
newOpts.threshold = threshold;
|
|
519
460
|
}
|
|
520
|
-
|
|
521
461
|
var _getObserver = getObserver(Observer, newOpts),
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
462
|
+
subscribe = _getObserver.subscribe,
|
|
463
|
+
localUnsubscribe = _getObserver.unsubscribe;
|
|
525
464
|
unsubscribe = localUnsubscribe;
|
|
526
465
|
subscribe(nodeElement, callback);
|
|
527
466
|
}
|
|
528
|
-
|
|
529
467
|
currentElement.current = nodeElement;
|
|
530
468
|
return function () {
|
|
531
469
|
if (unsubscribe !== null) {
|
|
@@ -538,10 +476,10 @@ var useObserver = function useObserver(Observer) {
|
|
|
538
476
|
entry: entry
|
|
539
477
|
};
|
|
540
478
|
};
|
|
479
|
+
|
|
541
480
|
/**
|
|
542
481
|
* Intersection Observer
|
|
543
482
|
*/
|
|
544
|
-
|
|
545
483
|
var thresholdArray = buildThresholdArray();
|
|
546
484
|
var intersectionObserverInitialEntry = {
|
|
547
485
|
target: null,
|
|
@@ -555,15 +493,14 @@ var intersectionObserverInitialEntry = {
|
|
|
555
493
|
};
|
|
556
494
|
var useIntersectionObserver = function useIntersectionObserver() {
|
|
557
495
|
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
496
|
+
_ref3$root = _ref3.root,
|
|
497
|
+
root = _ref3$root === void 0 ? null : _ref3$root,
|
|
498
|
+
_ref3$rootMargin = _ref3.rootMargin,
|
|
499
|
+
rootMargin = _ref3$rootMargin === void 0 ? '0px' : _ref3$rootMargin,
|
|
500
|
+
_ref3$threshold = _ref3.threshold,
|
|
501
|
+
threshold = _ref3$threshold === void 0 ? thresholdArray : _ref3$threshold,
|
|
502
|
+
_ref3$disabled = _ref3.disabled,
|
|
503
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
|
|
567
504
|
return useObserver(typeof window !== 'undefined' ? IntersectionObserver : null, {
|
|
568
505
|
root: root,
|
|
569
506
|
rootMargin: rootMargin,
|
|
@@ -571,10 +508,10 @@ var useIntersectionObserver = function useIntersectionObserver() {
|
|
|
571
508
|
disabled: disabled
|
|
572
509
|
}, intersectionObserverInitialEntry);
|
|
573
510
|
};
|
|
511
|
+
|
|
574
512
|
/**
|
|
575
513
|
* Resize Observer
|
|
576
514
|
*/
|
|
577
|
-
|
|
578
515
|
var resizeObserverInitialEntry = {
|
|
579
516
|
target: null,
|
|
580
517
|
contentRect: null,
|
|
@@ -583,9 +520,8 @@ var resizeObserverInitialEntry = {
|
|
|
583
520
|
};
|
|
584
521
|
var useResizeObserver = function useResizeObserver() {
|
|
585
522
|
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
523
|
+
_ref4$disabled = _ref4.disabled,
|
|
524
|
+
disabled = _ref4$disabled === void 0 ? false : _ref4$disabled;
|
|
589
525
|
return useObserver(typeof window !== 'undefined' ? ResizeObserver : null, {
|
|
590
526
|
disabled: disabled
|
|
591
527
|
}, resizeObserverInitialEntry);
|
|
@@ -593,25 +529,21 @@ var useResizeObserver = function useResizeObserver() {
|
|
|
593
529
|
|
|
594
530
|
var useIsVisible = function useIsVisible() {
|
|
595
531
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
532
|
+
rootMargin = _ref.rootMargin,
|
|
533
|
+
_ref$threshold = _ref.threshold,
|
|
534
|
+
threshold = _ref$threshold === void 0 ? 1 : _ref$threshold,
|
|
535
|
+
_ref$persist = _ref.persist,
|
|
536
|
+
persist = _ref$persist === void 0 ? false : _ref$persist;
|
|
602
537
|
var _useIntersectionObser = useIntersectionObserver({
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
538
|
+
rootMargin: rootMargin,
|
|
539
|
+
threshold: threshold
|
|
540
|
+
}),
|
|
541
|
+
ref = _useIntersectionObser.ref,
|
|
542
|
+
isIntersecting = _useIntersectionObser.entry.isIntersecting;
|
|
609
543
|
var wasIntersecting = react.useRef(isIntersecting);
|
|
610
|
-
|
|
611
544
|
if (isIntersecting && !wasIntersecting.current) {
|
|
612
545
|
wasIntersecting.current = isIntersecting;
|
|
613
546
|
}
|
|
614
|
-
|
|
615
547
|
var isVisible = !persist && isIntersecting || persist && wasIntersecting.current;
|
|
616
548
|
return {
|
|
617
549
|
ref: ref,
|
|
@@ -623,62 +555,54 @@ var fontsMap = {
|
|
|
623
555
|
loading: [],
|
|
624
556
|
active: []
|
|
625
557
|
};
|
|
626
|
-
|
|
627
558
|
var isFontLoading = function isFontLoading(name) {
|
|
628
559
|
return fontsMap.loading.indexOf(name) !== -1;
|
|
629
560
|
};
|
|
630
|
-
|
|
631
561
|
var isFontActive = function isFontActive(name) {
|
|
632
562
|
return fontsMap.active.indexOf(name) !== -1;
|
|
633
563
|
};
|
|
634
|
-
|
|
635
564
|
var addFontLoading = function addFontLoading(name) {
|
|
636
565
|
fontsMap.active = fontsMap.active.filter(function (it) {
|
|
637
566
|
return it !== name;
|
|
638
567
|
});
|
|
639
568
|
fontsMap.loading = [].concat(_toConsumableArray__default["default"](fontsMap.loading), [name]);
|
|
640
569
|
};
|
|
641
|
-
|
|
642
570
|
var removeFontLoading = function removeFontLoading(name) {
|
|
643
571
|
fontsMap.loading = fontsMap.loading.filter(function (it) {
|
|
644
572
|
return it !== name;
|
|
645
573
|
});
|
|
646
574
|
};
|
|
647
|
-
|
|
648
575
|
var addFontActive = function addFontActive(name) {
|
|
649
576
|
fontsMap.loading = fontsMap.loading.filter(function (it) {
|
|
650
577
|
return it !== name;
|
|
651
578
|
});
|
|
652
579
|
fontsMap.active = [].concat(_toConsumableArray__default["default"](fontsMap.active), [name]);
|
|
653
580
|
};
|
|
654
|
-
|
|
655
581
|
var useLoadedFonts = function useLoadedFonts(fonts) {
|
|
656
582
|
var _useState = react.useState(false),
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
583
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
584
|
+
loaded = _useState2[0],
|
|
585
|
+
setLoaded = _useState2[1];
|
|
661
586
|
react.useEffect(function () {
|
|
662
587
|
var config = fonts.reduce(function (newConfig, font) {
|
|
663
588
|
var _ref = isObject__default["default"](font) ? font : {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
589
|
+
type: 'system',
|
|
590
|
+
name: font
|
|
591
|
+
},
|
|
592
|
+
type = _ref.type,
|
|
593
|
+
name = _ref.name;
|
|
670
594
|
if ((type === 'google' || type === 'custom') && !isFontLoading(name) && !isFontActive(name)) {
|
|
671
595
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, newConfig), {}, _defineProperty__default["default"]({}, type, {
|
|
672
596
|
families: [].concat(_toConsumableArray__default["default"](newConfig !== null ? (newConfig[type] || {}).families || [] : []), [name])
|
|
673
597
|
}));
|
|
674
598
|
}
|
|
675
|
-
|
|
676
599
|
return newConfig;
|
|
677
600
|
}, null);
|
|
678
601
|
var hasConfig = config !== null;
|
|
679
|
-
|
|
680
602
|
if (hasConfig && typeof window !== 'undefined') {
|
|
681
|
-
|
|
603
|
+
utils.loadPackage('webfontloader', function () {
|
|
604
|
+
return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('webfontloader')); });
|
|
605
|
+
}).then(function (_ref2) {
|
|
682
606
|
var WebFont = _ref2["default"];
|
|
683
607
|
return WebFont.load(_objectSpread__default["default"](_objectSpread__default["default"]({}, config), {}, {
|
|
684
608
|
timeout: 3000,
|
|
@@ -706,86 +630,76 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
|
|
|
706
630
|
};
|
|
707
631
|
|
|
708
632
|
var progressSteps = [0.1, 0.25, 0.5, 0.75, 0.9];
|
|
709
|
-
|
|
710
633
|
var useMediaApi = function useMediaApi() {
|
|
711
634
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
635
|
+
_ref$url = _ref.url,
|
|
636
|
+
url = _ref$url === void 0 ? null : _ref$url,
|
|
637
|
+
_ref$initialMuted = _ref.initialMuted,
|
|
638
|
+
initialMuted = _ref$initialMuted === void 0 ? false : _ref$initialMuted,
|
|
639
|
+
_ref$onTimeUpdate = _ref.onTimeUpdate,
|
|
640
|
+
onTimeUpdate = _ref$onTimeUpdate === void 0 ? null : _ref$onTimeUpdate,
|
|
641
|
+
_ref$onProgressStep = _ref.onProgressStep,
|
|
642
|
+
onProgressStep = _ref$onProgressStep === void 0 ? null : _ref$onProgressStep,
|
|
643
|
+
_ref$onDurationChange = _ref.onDurationChanged,
|
|
644
|
+
onDurationChanged = _ref$onDurationChange === void 0 ? null : _ref$onDurationChange,
|
|
645
|
+
_ref$onVolumeChanged = _ref.onVolumeChanged,
|
|
646
|
+
onVolumeChanged = _ref$onVolumeChanged === void 0 ? null : _ref$onVolumeChanged,
|
|
647
|
+
_ref$onPlay = _ref.onPlay,
|
|
648
|
+
onPlay = _ref$onPlay === void 0 ? null : _ref$onPlay,
|
|
649
|
+
_ref$onPause = _ref.onPause,
|
|
650
|
+
onPause = _ref$onPause === void 0 ? null : _ref$onPause,
|
|
651
|
+
_ref$onEnded = _ref.onEnded,
|
|
652
|
+
onEnded = _ref$onEnded === void 0 ? null : _ref$onEnded,
|
|
653
|
+
_ref$onSeeked = _ref.onSeeked,
|
|
654
|
+
onSeeked = _ref$onSeeked === void 0 ? null : _ref$onSeeked,
|
|
655
|
+
_ref$onLoadStart = _ref.onLoadStart,
|
|
656
|
+
onLoadStart = _ref$onLoadStart === void 0 ? null : _ref$onLoadStart,
|
|
657
|
+
_ref$onCanPlayThough = _ref.onCanPlayThough,
|
|
658
|
+
onCanPlayThough = _ref$onCanPlayThough === void 0 ? null : _ref$onCanPlayThough;
|
|
737
659
|
var ref = react.useRef(null);
|
|
738
|
-
|
|
739
660
|
var _useState = react.useState(initialMuted),
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
661
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
662
|
+
muted = _useState2[0],
|
|
663
|
+
setMuted = _useState2[1];
|
|
744
664
|
var _useState3 = react.useState(null),
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
665
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
666
|
+
currentTime = _useState4[0],
|
|
667
|
+
setCurrentTime = _useState4[1];
|
|
749
668
|
var _useState5 = react.useState(null),
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
669
|
+
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
670
|
+
duration = _useState6[0],
|
|
671
|
+
setDuration = _useState6[1];
|
|
754
672
|
var _useState7 = react.useState(false),
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
673
|
+
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
674
|
+
playing = _useState8[0],
|
|
675
|
+
setPlaying = _useState8[1];
|
|
759
676
|
var _useState9 = react.useState(false),
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
677
|
+
_useState10 = _slicedToArray__default["default"](_useState9, 2),
|
|
678
|
+
ready = _useState10[0],
|
|
679
|
+
setReady = _useState10[1];
|
|
764
680
|
var _useState11 = react.useState(true),
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
681
|
+
_useState12 = _slicedToArray__default["default"](_useState11, 2),
|
|
682
|
+
initialPlay = _useState12[0],
|
|
683
|
+
setInitialPlay = _useState12[1];
|
|
769
684
|
var progressStepsReached = react.useRef({});
|
|
770
|
-
var paused = !playing;
|
|
685
|
+
var paused = !playing;
|
|
686
|
+
|
|
687
|
+
// Exposed methods
|
|
771
688
|
|
|
772
689
|
var play = react.useCallback(function () {
|
|
773
690
|
var media = ref.current;
|
|
774
|
-
|
|
775
691
|
if (media !== null) {
|
|
776
692
|
media.play();
|
|
777
693
|
}
|
|
778
694
|
}, []);
|
|
779
695
|
var pause = react.useCallback(function () {
|
|
780
696
|
var media = ref.current;
|
|
781
|
-
|
|
782
697
|
if (media !== null) {
|
|
783
698
|
media.pause();
|
|
784
699
|
}
|
|
785
700
|
}, []);
|
|
786
701
|
var togglePlay = react.useCallback(function () {
|
|
787
702
|
var media = ref.current;
|
|
788
|
-
|
|
789
703
|
if (media !== null) {
|
|
790
704
|
if (playing) {
|
|
791
705
|
media.pause();
|
|
@@ -796,7 +710,6 @@ var useMediaApi = function useMediaApi() {
|
|
|
796
710
|
}, [playing]);
|
|
797
711
|
var stop = react.useCallback(function () {
|
|
798
712
|
var media = ref.current;
|
|
799
|
-
|
|
800
713
|
if (media !== null) {
|
|
801
714
|
media.pause();
|
|
802
715
|
media.currentTime = 0;
|
|
@@ -804,32 +717,30 @@ var useMediaApi = function useMediaApi() {
|
|
|
804
717
|
}, []);
|
|
805
718
|
var seek = react.useCallback(function (time) {
|
|
806
719
|
var media = ref.current;
|
|
807
|
-
|
|
808
720
|
if (media !== null) {
|
|
809
721
|
media.currentTime = time;
|
|
810
722
|
}
|
|
811
723
|
}, []);
|
|
812
724
|
var mute = react.useCallback(function () {
|
|
813
725
|
var media = ref.current;
|
|
814
|
-
|
|
815
726
|
if (media !== null) {
|
|
816
727
|
media.muted = true;
|
|
817
728
|
}
|
|
818
729
|
}, []);
|
|
819
730
|
var unMute = react.useCallback(function () {
|
|
820
731
|
var media = ref.current;
|
|
821
|
-
|
|
822
732
|
if (media !== null) {
|
|
823
733
|
media.muted = false;
|
|
824
734
|
}
|
|
825
735
|
}, []);
|
|
826
736
|
var toggleMute = react.useCallback(function () {
|
|
827
737
|
var media = ref.current;
|
|
828
|
-
|
|
829
738
|
if (media !== null) {
|
|
830
739
|
media.muted = !muted;
|
|
831
740
|
}
|
|
832
|
-
}, [muted]);
|
|
741
|
+
}, [muted]);
|
|
742
|
+
|
|
743
|
+
// Media events callbacks
|
|
833
744
|
|
|
834
745
|
var onCustomPlay = react.useCallback(function () {
|
|
835
746
|
if (onPlay !== null) {
|
|
@@ -837,17 +748,14 @@ var useMediaApi = function useMediaApi() {
|
|
|
837
748
|
initial: initialPlay
|
|
838
749
|
});
|
|
839
750
|
}
|
|
840
|
-
|
|
841
751
|
if (initialPlay) {
|
|
842
752
|
setInitialPlay(false);
|
|
843
753
|
}
|
|
844
|
-
|
|
845
754
|
setPlaying(true);
|
|
846
755
|
}, [initialPlay, setPlaying, onPlay]);
|
|
847
756
|
var onCustomPause = react.useCallback(function () {
|
|
848
757
|
var media = ref.current;
|
|
849
758
|
setPlaying(false);
|
|
850
|
-
|
|
851
759
|
if (onPause !== null) {
|
|
852
760
|
onPause({
|
|
853
761
|
midway: media.currentTime > 0 && media.currentTime < media.duration
|
|
@@ -857,21 +765,17 @@ var useMediaApi = function useMediaApi() {
|
|
|
857
765
|
var onCustomEnded = react.useCallback(function () {
|
|
858
766
|
var media = ref.current;
|
|
859
767
|
media.currentTime = 0;
|
|
860
|
-
|
|
861
768
|
if (onEnded !== null) {
|
|
862
769
|
onEnded();
|
|
863
770
|
}
|
|
864
|
-
|
|
865
771
|
setInitialPlay(true);
|
|
866
772
|
}, [setInitialPlay, onEnded]);
|
|
867
773
|
var onCustomTimeUpdate = react.useCallback(function () {
|
|
868
774
|
var media = ref.current;
|
|
869
775
|
setCurrentTime(media.currentTime);
|
|
870
|
-
|
|
871
776
|
if (onTimeUpdate !== null) {
|
|
872
777
|
onTimeUpdate(media.currentTime);
|
|
873
778
|
}
|
|
874
|
-
|
|
875
779
|
var progress = media.currentTime / media.duration;
|
|
876
780
|
var currentSteps = progressStepsReached.current;
|
|
877
781
|
var stepsToTrack = progressSteps.filter(function (step) {
|
|
@@ -881,21 +785,18 @@ var useMediaApi = function useMediaApi() {
|
|
|
881
785
|
if (onProgressStep !== null) {
|
|
882
786
|
onProgressStep(step);
|
|
883
787
|
}
|
|
884
|
-
|
|
885
788
|
currentSteps[step] = true;
|
|
886
789
|
});
|
|
887
790
|
}, [setCurrentTime, onTimeUpdate, onProgressStep]);
|
|
888
791
|
var onCustomDurationChange = react.useCallback(function () {
|
|
889
792
|
var media = ref.current;
|
|
890
793
|
setDuration(media.duration);
|
|
891
|
-
|
|
892
794
|
if (onDurationChanged !== null) {
|
|
893
795
|
onDurationChanged(media.duration);
|
|
894
796
|
}
|
|
895
797
|
}, [setDuration, onDurationChanged]);
|
|
896
798
|
var onCustomSeeked = react.useCallback(function () {
|
|
897
799
|
var media = ref.current;
|
|
898
|
-
|
|
899
800
|
if (onSeeked !== null) {
|
|
900
801
|
onSeeked(media.currentTime);
|
|
901
802
|
}
|
|
@@ -903,28 +804,24 @@ var useMediaApi = function useMediaApi() {
|
|
|
903
804
|
var onCustomVolumeChange = react.useCallback(function () {
|
|
904
805
|
var media = ref.current;
|
|
905
806
|
setMuted(media.muted);
|
|
906
|
-
|
|
907
807
|
if (onVolumeChanged !== null) {
|
|
908
808
|
onVolumeChanged(media.muted, media.volume);
|
|
909
809
|
}
|
|
910
810
|
}, [setMuted, onVolumeChanged]);
|
|
911
811
|
var onCustomLoadStart = react.useCallback(function () {
|
|
912
812
|
setReady(false);
|
|
913
|
-
|
|
914
813
|
if (onLoadStart !== null) {
|
|
915
814
|
onLoadStart();
|
|
916
815
|
}
|
|
917
816
|
}, [setReady, onLoadStart]);
|
|
918
817
|
var onCustomCanPlayThrough = react.useCallback(function () {
|
|
919
818
|
setReady(true);
|
|
920
|
-
|
|
921
819
|
if (onCanPlayThough !== null) {
|
|
922
820
|
onCanPlayThough();
|
|
923
821
|
}
|
|
924
822
|
}, [setReady, onCanPlayThough]);
|
|
925
823
|
react.useEffect(function () {
|
|
926
824
|
var media = ref.current;
|
|
927
|
-
|
|
928
825
|
if (media !== null) {
|
|
929
826
|
media.addEventListener('timeupdate', onCustomTimeUpdate);
|
|
930
827
|
media.addEventListener('durationchange', onCustomDurationChange);
|
|
@@ -936,7 +833,6 @@ var useMediaApi = function useMediaApi() {
|
|
|
936
833
|
media.addEventListener('loadstart', onCustomLoadStart);
|
|
937
834
|
media.addEventListener('canplaythrough', onCustomCanPlayThrough);
|
|
938
835
|
}
|
|
939
|
-
|
|
940
836
|
return function () {
|
|
941
837
|
if (media !== null) {
|
|
942
838
|
media.removeEventListener('timeupdate', onCustomTimeUpdate);
|
|
@@ -972,8 +868,9 @@ var useMediaApi = function useMediaApi() {
|
|
|
972
868
|
|
|
973
869
|
var useMediasParser = function useMediasParser() {
|
|
974
870
|
// const screensManager = useScreensManager();
|
|
975
|
-
var fieldsManager = contexts.useFieldsManager();
|
|
871
|
+
var fieldsManager = contexts.useFieldsManager();
|
|
976
872
|
|
|
873
|
+
// Convert medias object to path
|
|
977
874
|
var parser = react.useMemo(function () {
|
|
978
875
|
return new core.MediasParser({
|
|
979
876
|
// screensManager,
|
|
@@ -998,7 +895,6 @@ var getResource = function getResource(resources, resourceId) {
|
|
|
998
895
|
return it.id === resourceId;
|
|
999
896
|
}) || null : resourceId;
|
|
1000
897
|
};
|
|
1001
|
-
|
|
1002
898
|
var useResourceUrlGenerator = function useResourceUrlGenerator() {
|
|
1003
899
|
var resourceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
1004
900
|
var resources = contexts.usePanneauResources();
|
|
@@ -1011,15 +907,13 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
|
|
|
1011
907
|
var finalRouteName = resourceId !== null ? routeResourceId : routeName;
|
|
1012
908
|
var finalParams = resourceId !== null ? routeName : params;
|
|
1013
909
|
var finalResource = getResource(resources, routeResourceId) || resource;
|
|
1014
|
-
|
|
1015
910
|
var _ref = finalResource || {},
|
|
1016
|
-
|
|
1017
|
-
|
|
911
|
+
_ref$id = _ref.id,
|
|
912
|
+
id = _ref$id === void 0 ? null : _ref$id;
|
|
913
|
+
// console.log('gen', finalRouteName, route(`resources.${finalRouteName}`, {
|
|
1018
914
|
// ...finalParams,
|
|
1019
915
|
// resource: id,
|
|
1020
916
|
// }));
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
917
|
return id !== null ? route("resources.".concat(finalRouteName), _objectSpread__default["default"](_objectSpread__default["default"]({}, finalParams), {}, {
|
|
1024
918
|
resource: id
|
|
1025
919
|
})) : null;
|
|
@@ -1027,20 +921,19 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
|
|
|
1027
921
|
};
|
|
1028
922
|
|
|
1029
923
|
var _excluded = ["width", "height"];
|
|
1030
|
-
|
|
1031
924
|
var useScreenSize = function useScreenSize(_ref) {
|
|
1032
925
|
var _ref$width = _ref.width,
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
926
|
+
width = _ref$width === void 0 ? null : _ref$width,
|
|
927
|
+
_ref$height = _ref.height,
|
|
928
|
+
height = _ref$height === void 0 ? null : _ref$height,
|
|
929
|
+
_ref$landscape = _ref.landscape,
|
|
930
|
+
landscape = _ref$landscape === void 0 ? false : _ref$landscape,
|
|
931
|
+
_ref$screens = _ref.screens,
|
|
932
|
+
screens = _ref$screens === void 0 ? [] : _ref$screens,
|
|
933
|
+
_ref$mediaType = _ref.mediaType,
|
|
934
|
+
mediaType = _ref$mediaType === void 0 ? 'screen' : _ref$mediaType,
|
|
935
|
+
_ref$media = _ref.media,
|
|
936
|
+
providedMedia = _ref$media === void 0 ? null : _ref$media;
|
|
1044
937
|
// Get media
|
|
1045
938
|
var media = react.useMemo(function () {
|
|
1046
939
|
return providedMedia !== null ? providedMedia : {
|
|
@@ -1048,12 +941,13 @@ var useScreenSize = function useScreenSize(_ref) {
|
|
|
1048
941
|
width: "".concat(width, "px"),
|
|
1049
942
|
height: "".concat(height, "px")
|
|
1050
943
|
};
|
|
1051
|
-
}, [providedMedia, mediaType, width, height]);
|
|
944
|
+
}, [providedMedia, mediaType, width, height]);
|
|
1052
945
|
|
|
946
|
+
// Get matching screens
|
|
1053
947
|
var matchingScreens = react.useMemo(function () {
|
|
1054
948
|
return _toConsumableArray__default["default"](screens).reverse().filter(function (_ref2) {
|
|
1055
949
|
var _ref2$mediaQuery = _ref2.mediaQuery,
|
|
1056
|
-
|
|
950
|
+
mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;
|
|
1057
951
|
return mediaQuery === null || cssMediaquery.match(mediaQuery, media);
|
|
1058
952
|
});
|
|
1059
953
|
}, [screens, media]);
|
|
@@ -1068,41 +962,34 @@ var useScreenSize = function useScreenSize(_ref) {
|
|
|
1068
962
|
landscape: landscape
|
|
1069
963
|
};
|
|
1070
964
|
};
|
|
1071
|
-
|
|
1072
965
|
var useScreenSizeFromElement = function useScreenSizeFromElement() {
|
|
1073
966
|
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
967
|
+
_ref4$width = _ref4.width,
|
|
968
|
+
width = _ref4$width === void 0 ? null : _ref4$width,
|
|
969
|
+
_ref4$height = _ref4.height,
|
|
970
|
+
height = _ref4$height === void 0 ? null : _ref4$height,
|
|
971
|
+
opts = _objectWithoutProperties__default["default"](_ref4, _excluded);
|
|
1080
972
|
var _useResizeObserver = useResizeObserver(),
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
973
|
+
ref = _useResizeObserver.ref,
|
|
974
|
+
contentRect = _useResizeObserver.entry.contentRect;
|
|
1084
975
|
var _ref5 = contentRect || {},
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
976
|
+
_ref5$width = _ref5.width,
|
|
977
|
+
calculatedWidth = _ref5$width === void 0 ? 0 : _ref5$width,
|
|
978
|
+
_ref5$height = _ref5.height,
|
|
979
|
+
calculatedHeight = _ref5$height === void 0 ? 0 : _ref5$height;
|
|
1090
980
|
var semiFinalWidth = width !== null ? width : calculatedWidth;
|
|
1091
981
|
var semiFinalHeight = height !== null ? height : calculatedHeight;
|
|
1092
982
|
var landscape = semiFinalHeight > 0 && semiFinalWidth > semiFinalHeight;
|
|
1093
983
|
var _opts$withoutMaxSize = opts.withoutMaxSize,
|
|
1094
|
-
|
|
984
|
+
withoutMaxSize = _opts$withoutMaxSize === void 0 ? false : _opts$withoutMaxSize;
|
|
1095
985
|
var finalWidth = landscape && !withoutMaxSize ? Math.round(Math.max(320, 0.45 * semiFinalHeight)) : semiFinalWidth;
|
|
1096
986
|
var finalHeight = landscape && !withoutMaxSize ? Math.round(Math.max(533, 0.75 * semiFinalHeight)) : semiFinalHeight;
|
|
1097
|
-
|
|
1098
987
|
if (finalWidth % 2 === 1) {
|
|
1099
988
|
finalWidth -= 1;
|
|
1100
989
|
}
|
|
1101
|
-
|
|
1102
990
|
if (finalHeight % 2 === 1) {
|
|
1103
991
|
finalHeight -= 1;
|
|
1104
992
|
}
|
|
1105
|
-
|
|
1106
993
|
var screenSize = useScreenSize(_objectSpread__default["default"]({
|
|
1107
994
|
width: finalWidth,
|
|
1108
995
|
height: finalHeight,
|
|
@@ -1113,29 +1000,24 @@ var useScreenSizeFromElement = function useScreenSizeFromElement() {
|
|
|
1113
1000
|
screenSize: screenSize
|
|
1114
1001
|
};
|
|
1115
1002
|
};
|
|
1116
|
-
|
|
1117
1003
|
var getWindowSize = function getWindowSize() {
|
|
1118
1004
|
return {
|
|
1119
1005
|
width: typeof window !== 'undefined' ? window.innerWidth : null,
|
|
1120
1006
|
height: typeof window !== 'undefined' ? window.innerHæeight : null
|
|
1121
1007
|
};
|
|
1122
1008
|
};
|
|
1123
|
-
|
|
1124
1009
|
var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
|
|
1125
1010
|
var _useState = react.useState(getWindowSize()),
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1011
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
1012
|
+
windowSize = _useState2[0],
|
|
1013
|
+
setWindowSize = _useState2[1];
|
|
1130
1014
|
react.useEffect(function () {
|
|
1131
1015
|
var onResize = function onResize() {
|
|
1132
1016
|
return setWindowSize(getWindowSize());
|
|
1133
1017
|
};
|
|
1134
|
-
|
|
1135
1018
|
if (typeof window !== 'undefined') {
|
|
1136
1019
|
window.addEventListener('resize', onResize);
|
|
1137
1020
|
}
|
|
1138
|
-
|
|
1139
1021
|
return function () {
|
|
1140
1022
|
if (typeof window !== 'undefined') {
|
|
1141
1023
|
window.removeEventListener('resize', onResize);
|