@panneau/core 1.0.0-alpha.97 → 1.0.3-alpha.0

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/lib/hooks.js CHANGED
@@ -14,6 +14,8 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
14
14
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
15
15
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
16
16
  var fetch = require('@folklore/fetch');
17
+ var get = require('lodash/get');
18
+ var isArray = require('lodash/isArray');
17
19
  var isObject = require('lodash/isObject');
18
20
  var contexts = require('@panneau/core/contexts');
19
21
  var cssMediaquery = require('css-mediaquery');
@@ -29,14 +31,12 @@ function _interopNamespace(e) {
29
31
  var d = Object.getOwnPropertyDescriptor(e, k);
30
32
  Object.defineProperty(n, k, d.get ? d : {
31
33
  enumerable: true,
32
- get: function () {
33
- return e[k];
34
- }
34
+ get: function () { return e[k]; }
35
35
  });
36
36
  }
37
37
  });
38
38
  }
39
- n['default'] = e;
39
+ n["default"] = e;
40
40
  return Object.freeze(n);
41
41
  }
42
42
 
@@ -47,6 +47,8 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
47
47
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
48
48
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
49
49
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
50
+ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
51
+ var isArray__default = /*#__PURE__*/_interopDefaultLegacy(isArray);
50
52
  var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
51
53
 
52
54
  var useAnimationFrame = function useAnimationFrame(onFrame) {
@@ -88,9 +90,9 @@ var useFormattedDate = function useFormattedDate() {
88
90
  showToday = _ref$showToday === void 0 ? true : _ref$showToday;
89
91
 
90
92
  var intl = reactIntl.useIntl();
91
- var today = dayjs__default['default']();
93
+ var today = dayjs__default["default"]();
92
94
  return react.useCallback(function (date) {
93
- var dateToFormat = isString__default['default'](date) ? dayjs__default['default'](date) : date;
95
+ var dateToFormat = isString__default["default"](date) ? dayjs__default["default"](date) : date;
94
96
 
95
97
  if (showToday && dateToFormat.format('YYYY-MM-DD') === today.format('YYYY-MM-DD')) {
96
98
  return intl.formatMessage({
@@ -102,7 +104,7 @@ var useFormattedDate = function useFormattedDate() {
102
104
  });
103
105
  }
104
106
 
105
- return intl.formatDate(dayjs__default['default'](date).toDate(), _objectSpread__default['default']({
107
+ return intl.formatDate(dayjs__default["default"](date).toDate(), _objectSpread__default["default"]({
106
108
  year: 'numeric',
107
109
  month: 'long',
108
110
  day: '2-digit'
@@ -119,9 +121,9 @@ var useFormattedTime = function useFormattedTime() {
119
121
  timeGap = _ref2$timeGap === void 0 ? 2 : _ref2$timeGap;
120
122
 
121
123
  var intl = reactIntl.useIntl();
122
- var now = dayjs__default['default']();
124
+ var now = dayjs__default["default"]();
123
125
  return react.useCallback(function (date) {
124
- var dateToFormat = isString__default['default'](date) ? dayjs__default['default'](date) : date;
126
+ var dateToFormat = isString__default["default"](date) ? dayjs__default["default"](date) : date;
125
127
 
126
128
  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) {
127
129
  return intl.formatMessage({
@@ -133,7 +135,7 @@ var useFormattedTime = function useFormattedTime() {
133
135
  });
134
136
  }
135
137
 
136
- return intl.formatTime(dateToFormat.toDate(), _objectSpread__default['default']({
138
+ return intl.formatTime(dateToFormat.toDate(), _objectSpread__default["default"]({
137
139
  hour: 'numeric',
138
140
  minute: 'numeric'
139
141
  }, format));
@@ -143,24 +145,34 @@ var useFormattedTime = function useFormattedTime() {
143
145
  var eventsManager$1 = typeof document !== 'undefined' ? new core.EventsManager(document) : null;
144
146
  var useDocumentEvent = utils.createUseEvent(eventsManager$1);
145
147
 
148
+ var _excluded$1 = ["value", "errors", "onChange"];
149
+
146
150
  var getFieldsPropsFromFields = function getFieldsPropsFromFields(fields, _ref) {
147
151
  var value = _ref.value,
148
152
  errors = _ref.errors,
149
153
  _onChange = _ref.onChange,
150
- props = _objectWithoutProperties__default['default'](_ref, ["value", "errors", "onChange"]);
154
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
151
155
 
156
+ var locales = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
152
157
  return fields.reduce(function (allFields, field) {
153
- var _ref2 = isObject__default['default'](field) ? field : {},
158
+ var _ref2 = isObject__default["default"](field) ? field : {},
154
159
  _ref2$name = _ref2.name,
155
- name = _ref2$name === void 0 ? isString__default['default'](field) ? field : null : _ref2$name,
160
+ name = _ref2$name === void 0 ? isString__default["default"](field) ? field : null : _ref2$name,
156
161
  _ref2$component = _ref2.component,
157
162
  component = _ref2$component === void 0 ? null : _ref2$component;
158
163
 
159
- return [].concat(_toConsumableArray__default['default'](allFields), [_objectSpread__default['default'](_objectSpread__default['default']({}, isObject__default['default'](field) ? field : null), {}, {
164
+ var fieldErrors = errors !== null ? errors[name] || [] : [];
165
+ var localizedErrors = component === 'localized' ? (locales || []).reduce(function (previousErrors, locale) {
166
+ var items = errors !== null ? get__default["default"](errors, "".concat(name, ".").concat(locale), []) || [] : [];
167
+ var finalItems = isArray__default["default"](items) ? items : [items];
168
+ var finalPrevious = isArray__default["default"](previousErrors) ? previousErrors : [];
169
+ return [].concat(_toConsumableArray__default["default"](finalPrevious), _toConsumableArray__default["default"](finalItems));
170
+ }, fieldErrors) : fieldErrors;
171
+ return [].concat(_toConsumableArray__default["default"](allFields), [_objectSpread__default["default"](_objectSpread__default["default"]({}, isObject__default["default"](field) ? field : null), {}, {
160
172
  name: name,
161
173
  component: component,
162
174
  value: value !== null ? value[name] || null : null,
163
- errors: errors !== null ? errors[name] || null : null,
175
+ errors: localizedErrors.length > 0 ? localizedErrors : null,
164
176
  onChange: function onChange(fieldValue) {
165
177
  return _onChange(name, fieldValue);
166
178
  }
@@ -195,20 +207,22 @@ var useForm = function useForm() {
195
207
  _opts$setValue = opts.setValue,
196
208
  setProvidedValue = _opts$setValue === void 0 ? null : _opts$setValue,
197
209
  _opts$onComplete = opts.onComplete,
198
- onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete;
210
+ onComplete = _opts$onComplete === void 0 ? null : _opts$onComplete,
211
+ _opts$locales = opts.locales,
212
+ locales = _opts$locales === void 0 ? [] : _opts$locales;
199
213
 
200
214
  var _useState = react.useState(initialValue || providedValue),
201
- _useState2 = _slicedToArray__default['default'](_useState, 2),
215
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
202
216
  stateValue = _useState2[0],
203
217
  setStateValue = _useState2[1];
204
218
 
205
219
  var _useState3 = react.useState(initialErrors || providedErrors),
206
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
220
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
207
221
  stateErrors = _useState4[0],
208
222
  setStateErrors = _useState4[1];
209
223
 
210
224
  var _useState5 = react.useState(initialGeneralError || providedGeneralError),
211
- _useState6 = _slicedToArray__default['default'](_useState5, 2),
225
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
212
226
  stateGeneralError = _useState6[0],
213
227
  setStateGeneralError = _useState6[1];
214
228
 
@@ -217,12 +231,12 @@ var useForm = function useForm() {
217
231
  loading: false,
218
232
  error: false
219
233
  }),
220
- _useState8 = _slicedToArray__default['default'](_useState7, 2),
234
+ _useState8 = _slicedToArray__default["default"](_useState7, 2),
221
235
  requestState = _useState8[0],
222
236
  setRequestState = _useState8[1];
223
237
 
224
238
  var _useState9 = react.useState(null),
225
- _useState10 = _slicedToArray__default['default'](_useState9, 2),
239
+ _useState10 = _slicedToArray__default["default"](_useState9, 2),
226
240
  response = _useState10[0],
227
241
  setResponse = _useState10[1];
228
242
 
@@ -235,22 +249,22 @@ var useForm = function useForm() {
235
249
  var hasProvidedGeneralError = setProvidedGeneralError !== null;
236
250
  var generalError = hasProvidedGeneralError ? providedGeneralError : stateGeneralError;
237
251
  var setGeneralError = hasProvidedGeneralError ? setProvidedGeneralError : setStateGeneralError;
238
- var fieldsKey = [value, errors].concat(fields);
252
+ var fieldsKey = [value, errors, locales].concat(fields);
239
253
  var onFieldChange = react.useCallback(function (fieldName, fieldValue) {
240
254
  var fieldErrors = errors !== null ? errors[fieldName] || null : null;
241
255
 
242
256
  if (fieldErrors !== null) {
243
- setErrors(_objectSpread__default['default'](_objectSpread__default['default']({}, errors), {}, _defineProperty__default['default']({}, fieldName, null)));
257
+ setErrors(_objectSpread__default["default"](_objectSpread__default["default"]({}, errors), {}, _defineProperty__default["default"]({}, fieldName, null)));
244
258
  }
245
259
 
246
- setValue(_objectSpread__default['default'](_objectSpread__default['default']({}, value), {}, _defineProperty__default['default']({}, fieldName, fieldValue)));
260
+ setValue(_objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, _defineProperty__default["default"]({}, fieldName, fieldValue)));
247
261
  }, fieldsKey);
248
262
  var fieldsProps = react.useMemo(function () {
249
263
  return getFieldsPropsFromFields(fields, {
250
264
  value: value,
251
265
  errors: errors,
252
266
  onChange: onFieldChange
253
- });
267
+ }, locales);
254
268
  }, fieldsKey);
255
269
  var csrfToken = react.useMemo(function () {
256
270
  return fetch.getCsrfToken();
@@ -281,7 +295,10 @@ var useForm = function useForm() {
281
295
  error: false
282
296
  });
283
297
  setResponse(resp);
284
- onComplete(resp);
298
+
299
+ if (onComplete !== null) {
300
+ onComplete(resp);
301
+ }
285
302
  };
286
303
 
287
304
  var finalPostForm = react.useCallback(function (postAction, postData) {
@@ -299,7 +316,7 @@ var useForm = function useForm() {
299
316
  });
300
317
  setGeneralError(null);
301
318
  setErrors(null);
302
- finalPostForm(action, _objectSpread__default['default'](_objectSpread__default['default']({}, submitValue), {}, {
319
+ finalPostForm(action, _objectSpread__default["default"](_objectSpread__default["default"]({}, submitValue), {}, {
303
320
  _token: csrfToken
304
321
  })).then(onSubmitSuccess)["catch"](onSubmitError);
305
322
  }, [finalPostForm, action, value]);
@@ -317,7 +334,7 @@ var useForm = function useForm() {
317
334
  status = 'error';
318
335
  }
319
336
 
320
- return _objectSpread__default['default'](_objectSpread__default['default']({
337
+ return _objectSpread__default["default"](_objectSpread__default["default"]({
321
338
  value: value,
322
339
  setValue: setValue,
323
340
  csrfToken: csrfToken,
@@ -358,15 +375,15 @@ var createObserver = function createObserver(Observer) {
358
375
 
359
376
  if (currentSubscriber !== null) {
360
377
  return subscribers.map(function (it) {
361
- return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread__default['default'](_objectSpread__default['default']({}, it), {}, {
362
- callbacks: [].concat(_toConsumableArray__default['default'](it.callbacks), [callback])
378
+ return it.element === element && it.callbacks.indexOf(callback) === -1 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
379
+ callbacks: [].concat(_toConsumableArray__default["default"](it.callbacks), [callback])
363
380
  }) : it;
364
381
  }).filter(function (it) {
365
382
  return it.callbacks.length > 0;
366
383
  });
367
384
  }
368
385
 
369
- return [].concat(_toConsumableArray__default['default'](subscribers), [{
386
+ return [].concat(_toConsumableArray__default["default"](subscribers), [{
370
387
  element: element,
371
388
  callbacks: [callback]
372
389
  }]);
@@ -374,7 +391,7 @@ var createObserver = function createObserver(Observer) {
374
391
 
375
392
  var removeSubscriber = function removeSubscriber(element, callback) {
376
393
  return subscribers.map(function (it) {
377
- return it.element === element ? _objectSpread__default['default'](_objectSpread__default['default']({}, it), {}, {
394
+ return it.element === element ? _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
378
395
  callbacks: it.callbacks.filter(function (subCallback) {
379
396
  return subCallback !== callback;
380
397
  })
@@ -470,7 +487,7 @@ var useObserver = function useObserver(Observer) {
470
487
  disabled = _opts$disabled === void 0 ? false : _opts$disabled;
471
488
 
472
489
  var _useState = react.useState(initialEntry),
473
- _useState2 = _slicedToArray__default['default'](_useState, 2),
490
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
474
491
  entry = _useState2[0],
475
492
  setEntry = _useState2[1];
476
493
 
@@ -619,7 +636,7 @@ var addFontLoading = function addFontLoading(name) {
619
636
  fontsMap.active = fontsMap.active.filter(function (it) {
620
637
  return it !== name;
621
638
  });
622
- fontsMap.loading = [].concat(_toConsumableArray__default['default'](fontsMap.loading), [name]);
639
+ fontsMap.loading = [].concat(_toConsumableArray__default["default"](fontsMap.loading), [name]);
623
640
  };
624
641
 
625
642
  var removeFontLoading = function removeFontLoading(name) {
@@ -632,18 +649,18 @@ var addFontActive = function addFontActive(name) {
632
649
  fontsMap.loading = fontsMap.loading.filter(function (it) {
633
650
  return it !== name;
634
651
  });
635
- fontsMap.active = [].concat(_toConsumableArray__default['default'](fontsMap.active), [name]);
652
+ fontsMap.active = [].concat(_toConsumableArray__default["default"](fontsMap.active), [name]);
636
653
  };
637
654
 
638
655
  var useLoadedFonts = function useLoadedFonts(fonts) {
639
656
  var _useState = react.useState(false),
640
- _useState2 = _slicedToArray__default['default'](_useState, 2),
657
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
641
658
  loaded = _useState2[0],
642
659
  setLoaded = _useState2[1];
643
660
 
644
661
  react.useEffect(function () {
645
662
  var config = fonts.reduce(function (newConfig, font) {
646
- var _ref = isObject__default['default'](font) ? font : {
663
+ var _ref = isObject__default["default"](font) ? font : {
647
664
  type: 'system',
648
665
  name: font
649
666
  },
@@ -651,8 +668,8 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
651
668
  name = _ref.name;
652
669
 
653
670
  if ((type === 'google' || type === 'custom') && !isFontLoading(name) && !isFontActive(name)) {
654
- return _objectSpread__default['default'](_objectSpread__default['default']({}, newConfig), {}, _defineProperty__default['default']({}, type, {
655
- families: [].concat(_toConsumableArray__default['default'](newConfig !== null ? (newConfig[type] || {}).families || [] : []), [name])
671
+ return _objectSpread__default["default"](_objectSpread__default["default"]({}, newConfig), {}, _defineProperty__default["default"]({}, type, {
672
+ families: [].concat(_toConsumableArray__default["default"](newConfig !== null ? (newConfig[type] || {}).families || [] : []), [name])
656
673
  }));
657
674
  }
658
675
 
@@ -663,7 +680,7 @@ var useLoadedFonts = function useLoadedFonts(fonts) {
663
680
  if (hasConfig && typeof window !== 'undefined') {
664
681
  Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('webfontloader')); }).then(function (_ref2) {
665
682
  var WebFont = _ref2["default"];
666
- return WebFont.load(_objectSpread__default['default'](_objectSpread__default['default']({}, config), {}, {
683
+ return WebFont.load(_objectSpread__default["default"](_objectSpread__default["default"]({}, config), {}, {
667
684
  timeout: 3000,
668
685
  active: function active() {
669
686
  return setLoaded(true);
@@ -720,32 +737,32 @@ var useMediaApi = function useMediaApi() {
720
737
  var ref = react.useRef(null);
721
738
 
722
739
  var _useState = react.useState(initialMuted),
723
- _useState2 = _slicedToArray__default['default'](_useState, 2),
740
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
724
741
  muted = _useState2[0],
725
742
  setMuted = _useState2[1];
726
743
 
727
744
  var _useState3 = react.useState(null),
728
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
745
+ _useState4 = _slicedToArray__default["default"](_useState3, 2),
729
746
  currentTime = _useState4[0],
730
747
  setCurrentTime = _useState4[1];
731
748
 
732
749
  var _useState5 = react.useState(null),
733
- _useState6 = _slicedToArray__default['default'](_useState5, 2),
750
+ _useState6 = _slicedToArray__default["default"](_useState5, 2),
734
751
  duration = _useState6[0],
735
752
  setDuration = _useState6[1];
736
753
 
737
754
  var _useState7 = react.useState(false),
738
- _useState8 = _slicedToArray__default['default'](_useState7, 2),
755
+ _useState8 = _slicedToArray__default["default"](_useState7, 2),
739
756
  playing = _useState8[0],
740
757
  setPlaying = _useState8[1];
741
758
 
742
759
  var _useState9 = react.useState(false),
743
- _useState10 = _slicedToArray__default['default'](_useState9, 2),
760
+ _useState10 = _slicedToArray__default["default"](_useState9, 2),
744
761
  ready = _useState10[0],
745
762
  setReady = _useState10[1];
746
763
 
747
764
  var _useState11 = react.useState(true),
748
- _useState12 = _slicedToArray__default['default'](_useState11, 2),
765
+ _useState12 = _slicedToArray__default["default"](_useState11, 2),
749
766
  initialPlay = _useState12[0],
750
767
  setInitialPlay = _useState12[1];
751
768
 
@@ -977,7 +994,7 @@ var useMediasParser = function useMediasParser() {
977
994
  };
978
995
 
979
996
  var getResource = function getResource(resources, resourceId) {
980
- return resourceId !== null && !isObject__default['default'](resourceId) ? resources.find(function (it) {
997
+ return resourceId !== null && !isObject__default["default"](resourceId) ? resources.find(function (it) {
981
998
  return it.id === resourceId;
982
999
  }) || null : resourceId;
983
1000
  };
@@ -1003,12 +1020,14 @@ var useResourceUrlGenerator = function useResourceUrlGenerator() {
1003
1020
  // }));
1004
1021
 
1005
1022
 
1006
- return id !== null ? route("resources.".concat(finalRouteName), _objectSpread__default['default'](_objectSpread__default['default']({}, finalParams), {}, {
1023
+ return id !== null ? route("resources.".concat(finalRouteName), _objectSpread__default["default"](_objectSpread__default["default"]({}, finalParams), {}, {
1007
1024
  resource: id
1008
1025
  })) : null;
1009
1026
  };
1010
1027
  };
1011
1028
 
1029
+ var _excluded = ["width", "height"];
1030
+
1012
1031
  var useScreenSize = function useScreenSize(_ref) {
1013
1032
  var _ref$width = _ref.width,
1014
1033
  width = _ref$width === void 0 ? null : _ref$width,
@@ -1032,7 +1051,7 @@ var useScreenSize = function useScreenSize(_ref) {
1032
1051
  }, [providedMedia, mediaType, width, height]); // Get matching screens
1033
1052
 
1034
1053
  var matchingScreens = react.useMemo(function () {
1035
- return _toConsumableArray__default['default'](screens).reverse().filter(function (_ref2) {
1054
+ return _toConsumableArray__default["default"](screens).reverse().filter(function (_ref2) {
1036
1055
  var _ref2$mediaQuery = _ref2.mediaQuery,
1037
1056
  mediaQuery = _ref2$mediaQuery === void 0 ? null : _ref2$mediaQuery;
1038
1057
  return mediaQuery === null || cssMediaquery.match(mediaQuery, media);
@@ -1040,7 +1059,7 @@ var useScreenSize = function useScreenSize(_ref) {
1040
1059
  }, [screens, media]);
1041
1060
  return {
1042
1061
  screen: matchingScreens.length > 0 ? matchingScreens[0].name : null,
1043
- screens: _toConsumableArray__default['default'](matchingScreens).reverse().map(function (_ref3) {
1062
+ screens: _toConsumableArray__default["default"](matchingScreens).reverse().map(function (_ref3) {
1044
1063
  var name = _ref3.name;
1045
1064
  return name;
1046
1065
  }),
@@ -1056,7 +1075,7 @@ var useScreenSizeFromElement = function useScreenSizeFromElement() {
1056
1075
  width = _ref4$width === void 0 ? null : _ref4$width,
1057
1076
  _ref4$height = _ref4.height,
1058
1077
  height = _ref4$height === void 0 ? null : _ref4$height,
1059
- opts = _objectWithoutProperties__default['default'](_ref4, ["width", "height"]);
1078
+ opts = _objectWithoutProperties__default["default"](_ref4, _excluded);
1060
1079
 
1061
1080
  var _useResizeObserver = useResizeObserver(),
1062
1081
  ref = _useResizeObserver.ref,
@@ -1084,7 +1103,7 @@ var useScreenSizeFromElement = function useScreenSizeFromElement() {
1084
1103
  finalHeight -= 1;
1085
1104
  }
1086
1105
 
1087
- var screenSize = useScreenSize(_objectSpread__default['default']({
1106
+ var screenSize = useScreenSize(_objectSpread__default["default"]({
1088
1107
  width: finalWidth,
1089
1108
  height: finalHeight,
1090
1109
  landscape: landscape
@@ -1104,7 +1123,7 @@ var getWindowSize = function getWindowSize() {
1104
1123
 
1105
1124
  var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
1106
1125
  var _useState = react.useState(getWindowSize()),
1107
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1126
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1108
1127
  windowSize = _useState2[0],
1109
1128
  setWindowSize = _useState2[1];
1110
1129
 
@@ -1123,7 +1142,7 @@ var useScreenSizeFromWindow = function useScreenSizeFromWindow(opts) {
1123
1142
  }
1124
1143
  };
1125
1144
  }, [setWindowSize]);
1126
- return useScreenSize(_objectSpread__default['default'](_objectSpread__default['default']({}, opts), windowSize));
1145
+ return useScreenSize(_objectSpread__default["default"](_objectSpread__default["default"]({}, opts), windowSize));
1127
1146
  };
1128
1147
 
1129
1148
  var eventsManager = typeof window !== 'undefined' ? new core.EventsManager(window) : null;