@startlibs/utils 1.0.0-alpha-6z → 1.0.0-alpha-7e

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.
Files changed (3) hide show
  1. package/lib/index.js +457 -694
  2. package/package.json +2 -2
  3. package/src/index.js +15 -0
package/lib/index.js CHANGED
@@ -2,23 +2,29 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
6
6
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
+ var _awaitAsyncGenerator = require('@babel/runtime/helpers/awaitAsyncGenerator');
8
+ var _wrapAsyncGenerator = require('@babel/runtime/helpers/wrapAsyncGenerator');
9
+ var _times = require('lodash/fp/times');
10
+ var _identity = require('lodash/fp/identity');
11
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
12
  var _objectSpread = require('@babel/runtime/helpers/objectSpread');
8
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
9
13
  var _isPlainObject = require('lodash/fp/isPlainObject');
10
14
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
15
  var _fromPairs = require('lodash/fp/fromPairs');
16
+ var _isFinite = require('lodash/fp/isFinite');
12
17
  var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
13
18
  var _typeof = require('@babel/runtime/helpers/typeof');
14
19
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
15
- var _isFunction = require('lodash/fp/isFunction');
16
20
  var _find = require('lodash/fp/find');
17
21
  var _reverse = require('lodash/fp/reverse');
22
+ var _isEqual = require('lodash/fp/isEqual');
23
+ var _isFunction = require('lodash/fp/isFunction');
18
24
  var _get = require('lodash/fp/get');
19
25
  var _unset = require('lodash/fp/unset');
20
26
  var polished = require('polished');
21
- var React = require('react');
27
+ var react = require('react');
22
28
  var styled = require('styled-components');
23
29
  var emotion = require('emotion');
24
30
  var _map = require('lodash/fp/map');
@@ -33,42 +39,30 @@ var _toPath = require('lodash/fp/toPath');
33
39
  var _pullAt = require('lodash/fp/pullAt');
34
40
  var _curry = require('lodash/fp/curry');
35
41
  var _last = require('lodash/fp/last');
36
- var _identity = require('lodash/fp/identity');
37
- var _isEqual = require('lodash/fp/isEqual');
38
- require('@babel/runtime/helpers/extends');
39
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
40
- var _createClass = require('@babel/runtime/helpers/createClass');
41
- var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
42
- var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
43
- var _inherits = require('@babel/runtime/helpers/inherits');
44
- var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
45
- var ReactDOM = require('react-dom');
46
- var _ = require('lodash/fp');
47
- var utils = require('@startlibs/utils');
48
- require('@babel/runtime/helpers/defineProperty');
49
- require('mitt');
50
- var _awaitAsyncGenerator = require('@babel/runtime/helpers/awaitAsyncGenerator');
51
- var _wrapAsyncGenerator = require('@babel/runtime/helpers/wrapAsyncGenerator');
52
- var _times = require('lodash/fp/times');
53
42
 
54
43
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
44
 
56
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
45
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
57
46
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
47
+ var _awaitAsyncGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_awaitAsyncGenerator);
48
+ var _wrapAsyncGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_wrapAsyncGenerator);
49
+ var _times__default = /*#__PURE__*/_interopDefaultLegacy(_times);
50
+ var _identity__default = /*#__PURE__*/_interopDefaultLegacy(_identity);
51
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
58
52
  var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
59
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
60
53
  var _isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(_isPlainObject);
61
54
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
62
55
  var _fromPairs__default = /*#__PURE__*/_interopDefaultLegacy(_fromPairs);
56
+ var _isFinite__default = /*#__PURE__*/_interopDefaultLegacy(_isFinite);
63
57
  var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
64
58
  var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
65
59
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
66
- var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
67
60
  var _find__default = /*#__PURE__*/_interopDefaultLegacy(_find);
68
61
  var _reverse__default = /*#__PURE__*/_interopDefaultLegacy(_reverse);
62
+ var _isEqual__default = /*#__PURE__*/_interopDefaultLegacy(_isEqual);
63
+ var _isFunction__default = /*#__PURE__*/_interopDefaultLegacy(_isFunction);
69
64
  var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
70
65
  var _unset__default = /*#__PURE__*/_interopDefaultLegacy(_unset);
71
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
72
66
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
73
67
  var _map__default = /*#__PURE__*/_interopDefaultLegacy(_map);
74
68
  var _filter__default = /*#__PURE__*/_interopDefaultLegacy(_filter);
@@ -82,19 +76,148 @@ var _toPath__default = /*#__PURE__*/_interopDefaultLegacy(_toPath);
82
76
  var _pullAt__default = /*#__PURE__*/_interopDefaultLegacy(_pullAt);
83
77
  var _curry__default = /*#__PURE__*/_interopDefaultLegacy(_curry);
84
78
  var _last__default = /*#__PURE__*/_interopDefaultLegacy(_last);
85
- var _identity__default = /*#__PURE__*/_interopDefaultLegacy(_identity);
86
- var _isEqual__default = /*#__PURE__*/_interopDefaultLegacy(_isEqual);
87
- var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
88
- var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
89
- var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
90
- var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
91
- var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
92
- var _objectDestructuringEmpty__default = /*#__PURE__*/_interopDefaultLegacy(_objectDestructuringEmpty);
93
- var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
94
- var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
95
- var _awaitAsyncGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_awaitAsyncGenerator);
96
- var _wrapAsyncGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_wrapAsyncGenerator);
97
- var _times__default = /*#__PURE__*/_interopDefaultLegacy(_times);
79
+
80
+ function createSinglePromiseQueue() {
81
+ return _createSinglePromiseQueue.apply(this, arguments);
82
+ }
83
+
84
+ function _createSinglePromiseQueue() {
85
+ _createSinglePromiseQueue = _wrapAsyncGenerator__default['default'](
86
+ /*#__PURE__*/
87
+ _regeneratorRuntime__default['default'].mark(function _callee() {
88
+ var lastPromise, resolve;
89
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
90
+ while (1) {
91
+ switch (_context.prev = _context.next) {
92
+ case 0:
93
+ lastPromise = Promise.resolve();
94
+ /* eslint-disable no-await-in-loop */
95
+
96
+ case 1:
97
+
98
+ _context.next = 4;
99
+ return _awaitAsyncGenerator__default['default'](lastPromise);
100
+
101
+ case 4:
102
+ resolve = _identity__default['default'];
103
+ lastPromise = new Promise(function (res) {
104
+ resolve = res;
105
+ });
106
+ _context.next = 8;
107
+ return resolve;
108
+
109
+ case 8:
110
+ _context.next = 1;
111
+ break;
112
+
113
+ case 10:
114
+ case "end":
115
+ return _context.stop();
116
+ }
117
+ }
118
+ }, _callee, this);
119
+ }));
120
+ return _createSinglePromiseQueue.apply(this, arguments);
121
+ }
122
+
123
+ function createPromiseQueue() {
124
+ return _createPromiseQueue.apply(this, arguments);
125
+ }
126
+
127
+ function _createPromiseQueue() {
128
+ _createPromiseQueue = _wrapAsyncGenerator__default['default'](
129
+ /*#__PURE__*/
130
+ _regeneratorRuntime__default['default'].mark(function _callee3() {
131
+ var parallel,
132
+ queues,
133
+ promises,
134
+ locks,
135
+ getNextAvailableLock,
136
+ lock,
137
+ _args3 = arguments;
138
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
139
+ while (1) {
140
+ switch (_context3.prev = _context3.next) {
141
+ case 0:
142
+ parallel = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : 1;
143
+ queues = _times__default['default'](createSinglePromiseQueue, parallel);
144
+ promises = queues.map(function (q) {
145
+ return q.next();
146
+ });
147
+ _context3.next = 5;
148
+ return _awaitAsyncGenerator__default['default'](Promise.all(promises));
149
+
150
+ case 5:
151
+ locks = _context3.sent;
152
+
153
+ getNextAvailableLock =
154
+ /*#__PURE__*/
155
+ function () {
156
+ var _ref = _asyncToGenerator__default['default'](
157
+ /*#__PURE__*/
158
+ _regeneratorRuntime__default['default'].mark(function _callee2() {
159
+ var index, lock;
160
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
161
+ while (1) {
162
+ switch (_context2.prev = _context2.next) {
163
+ case 0:
164
+ index = locks.findIndex(Boolean);
165
+
166
+ if (!(index >= 0)) {
167
+ _context2.next = 6;
168
+ break;
169
+ }
170
+
171
+ lock = locks[index];
172
+ locks[index] = null;
173
+ promises[index] = queues[index].next().then(function (result) {
174
+ locks[index] = result;
175
+ });
176
+ return _context2.abrupt("return", [lock.value, locks.filter(Boolean).length]);
177
+
178
+ case 6:
179
+ _context2.next = 8;
180
+ return Promise.race(promises);
181
+
182
+ case 8:
183
+ return _context2.abrupt("return", getNextAvailableLock());
184
+
185
+ case 9:
186
+ case "end":
187
+ return _context2.stop();
188
+ }
189
+ }
190
+ }, _callee2, this);
191
+ }));
192
+
193
+ return function getNextAvailableLock() {
194
+ return _ref.apply(this, arguments);
195
+ };
196
+ }();
197
+
198
+ case 7:
199
+
200
+ _context3.next = 10;
201
+ return _awaitAsyncGenerator__default['default'](getNextAvailableLock());
202
+
203
+ case 10:
204
+ lock = _context3.sent;
205
+ _context3.next = 13;
206
+ return lock;
207
+
208
+ case 13:
209
+ _context3.next = 7;
210
+ break;
211
+
212
+ case 15:
213
+ case "end":
214
+ return _context3.stop();
215
+ }
216
+ }
217
+ }, _callee3, this);
218
+ }));
219
+ return _createPromiseQueue.apply(this, arguments);
220
+ }
98
221
 
99
222
  var getClosestOffsetScroll = function getClosestOffsetScroll(node) {
100
223
  if (!node) {
@@ -375,14 +498,35 @@ var intToHour = function intToHour(hour) {
375
498
 
376
499
  if (hour === 0) {
377
500
  return "00:00";
378
- }
501
+ } //const [h,m] = ('000' + hour.toString().replace(":","")).slice(-4).replace(/(\d\d)(\d\d)/, '$1:$2').split(":")
502
+
379
503
 
380
- if (autoFill) return ('000' + hour.toString().replace(":", "")).slice(-4).replace(/(\d\d)(\d\d)/, '$1:$2');
381
504
  var h = hour.toString().replace(":", "").slice(-4, -2);
382
505
  var m = hour.toString().replace(":", "").slice(-2);
506
+
507
+ if (callIfFunction(autoFill, hour)) {
508
+ return ('000' + (h ? parseInt(h, 10) % 24 : '') + m).slice(-4).replace(/(\d\d)(\d\d)/, '$1:$2');
509
+ }
510
+
383
511
  if (h) return (parseInt(h, 10) > 23 ? h.slice(1) : h) + ':' + m;
384
512
  return m;
385
513
  };
514
+ var formatHour = function formatHour() {
515
+ var hour = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
516
+
517
+ if (!hour) {
518
+ return "";
519
+ }
520
+
521
+ var h = hour.toString().replace(":", "").slice(-4, -2);
522
+ var m = hour.toString().replace(":", "").slice(-2);
523
+
524
+ if (!h && parseInt(m) < 24 && !_isFinite__default['default'](hour)) {
525
+ return m + ":00";
526
+ }
527
+
528
+ return ('000' + hour.toString().replace(":", "")).slice(-4).replace(/(\d\d)(\d\d)/, '$1:$2');
529
+ };
386
530
  var willRafThrottle = function willRafThrottle() {
387
531
  var ticking = false;
388
532
  return function (fn) {
@@ -528,16 +672,76 @@ var normalizeTouch = function normalizeTouch(fn, endFn) {
528
672
  return function (e) {
529
673
  var touch = e.touches[0];
530
674
 
531
- if (e.touches.length > 1) {
532
- endFn();
675
+ if (e.touches.length > 1 && e.type !== 'touchend') {
676
+ callIfFunction(endFn, e, touch);
677
+ } else {
678
+ callIfFunction(fn, e, touch);
679
+ }
680
+ };
681
+ };
682
+ var normalizeMouse = function normalizeMouse(fn, endFn) {
683
+ return function (e) {
684
+ if (e.buttons > 1 && e.type !== 'mouseup') {
685
+ callIfFunction(endFn, e, e);
686
+ } else {
687
+ callIfFunction(fn, e, e);
688
+ }
689
+ };
690
+ };
691
+ var normalizePress = function normalizePress(fn, endFn) {
692
+ return function (e) {
693
+ if (e.touches) {
694
+ normalizeTouch(fn, endFn)(e);
533
695
  } else {
534
- fn(e.currentTarget, touch.pageX, touch.pageY, touch.clientX, touch.clientY, e);
696
+ normalizeMouse(fn, endFn)(e);
535
697
  }
536
698
  };
537
699
  };
538
- var normalizeMouse = function normalizeMouse(fn) {
700
+ var touchClick = function touchClick(cb) {
701
+ var sensibility = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
539
702
  return function (e) {
540
- fn(e.currentTarget, e.pageX, e.pageY, e.clientX, e.clientY, e);
703
+ var _e$touches;
704
+
705
+ if (((_e$touches = e.touches) === null || _e$touches === void 0 ? void 0 : _e$touches.length) !== 1) {
706
+ return;
707
+ }
708
+
709
+ var target = e.target;
710
+ var originalX = e.touches[0].screenX;
711
+ var originalY = e.touches[0].screenY;
712
+
713
+ var isInsideBounds = function isInsideBounds(touch) {
714
+ return Math.sqrt(Math.pow(originalX - touch.screenX, 2) + Math.pow(originalY - touch.screenY, 2)) < sensibility;
715
+ };
716
+
717
+ var checkBounds = function checkBounds(e) {
718
+ if (e.touches.length !== 1) {
719
+ return;
720
+ }
721
+
722
+ if (!isInsideBounds(e.changedTouches[0])) {
723
+ maybeClick();
724
+ }
725
+ };
726
+
727
+ var maybeClick = function maybeClick(e) {
728
+ var _e$changedTouches;
729
+
730
+ target.removeEventListener('touchend', maybeClick);
731
+ target.removeEventListener('touchmove', checkBounds);
732
+
733
+ if ((e === null || e === void 0 ? void 0 : (_e$changedTouches = e.changedTouches) === null || _e$changedTouches === void 0 ? void 0 : _e$changedTouches.length) !== 1) {
734
+ return;
735
+ }
736
+
737
+ if (isInsideBounds(e.changedTouches[0])) {
738
+ e.preventDefault();
739
+ cb(e);
740
+ }
741
+ };
742
+
743
+ target.addEventListener('touchend', maybeClick);
744
+ target.addEventListener('touchmove', checkBounds);
541
745
  };
542
746
  };
543
747
  var isEmptyHtml = function isEmptyHtml() {
@@ -707,6 +911,11 @@ var addQueryString = function addQueryString() {
707
911
 
708
912
  return onlyUrl + '?' + paramsStr;
709
913
  };
914
+
915
+ var cleanNulls = function cleanNulls(str) {
916
+ return str.replace(/\0/g, '');
917
+ };
918
+
710
919
  var postFetcherWithResponse =
711
920
  /*#__PURE__*/
712
921
  function () {
@@ -722,7 +931,7 @@ function () {
722
931
  fetchOptions = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
723
932
  return _context3.abrupt("return", innerFetcher(url, _objectSpread__default['default']({
724
933
  method: 'POST',
725
- body: typeof jsonOrForm === 'string' ? jsonOrForm : !jsonOrForm || jsonOrForm.constructor === window.FormData ? jsonOrForm : JSON.stringify(jsonOrForm)
934
+ body: typeof jsonOrForm === 'string' ? jsonOrForm : !jsonOrForm || jsonOrForm.constructor === window.FormData ? jsonOrForm : cleanNulls(JSON.stringify(jsonOrForm))
726
935
  }, fetchOptions, {
727
936
  headers: _isPlainObject__default['default'](fetchOptions.headers) || !fetchOptions.headers ? _objectSpread__default['default']({}, jsonOrForm && (typeof jsonOrForm === 'string' || jsonOrForm.constructor === window.FormData) ? {} : {
728
937
  'Content-Type': 'application/json; charset=UTF-8'
@@ -1010,10 +1219,10 @@ var getMargin = function getMargin(enumeratedMargins) {
1010
1219
  * `
1011
1220
  */
1012
1221
 
1013
- var getProp = function getProp(path, defaultValue) {
1222
+ var prop = function prop(path, defaultValue) {
1014
1223
  return function () {
1015
1224
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1016
- return get([].concat(path), props) || defaultValue;
1225
+ return _get__default['default'](path.trim(), props) || defaultValue;
1017
1226
  };
1018
1227
  };
1019
1228
  var customTheme = function customTheme(type) {
@@ -1038,36 +1247,71 @@ var customTheme = function customTheme(type) {
1038
1247
  */
1039
1248
 
1040
1249
  var ifProp = function ifProp(path, pass, fail) {
1041
- return function () {
1042
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1043
- var result = false;
1250
+ if (pass && !_isFunction__default['default'](pass)) {
1251
+ // old version
1252
+ return function () {
1253
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1254
+ var result = false;
1044
1255
 
1045
- if (Array.isArray(path)) {
1046
- result = path.every(function (p) {
1047
- return testSinglePath(props, p);
1048
- });
1049
- } else if (_typeof__default['default'](path) === 'object') {
1050
- result = !Object.entries(path).find(function (_ref2) {
1051
- var _ref3 = _slicedToArray__default['default'](_ref2, 2),
1052
- k = _ref3[0],
1053
- v = _ref3[1];
1256
+ if (Array.isArray(path)) {
1257
+ result = path.every(function (p) {
1258
+ return testSinglePath(props, p);
1259
+ });
1260
+ } else if (_typeof__default['default'](path) === 'object') {
1261
+ result = !Object.entries(path).find(function (_ref2) {
1262
+ var _ref3 = _slicedToArray__default['default'](_ref2, 2),
1263
+ k = _ref3[0],
1264
+ v = _ref3[1];
1054
1265
 
1055
- return props[k] !== v;
1056
- });
1057
- } else {
1058
- result = testSinglePath(props, path);
1059
- }
1266
+ return props[k] !== v;
1267
+ });
1268
+ } else {
1269
+ result = testSinglePath(props, path);
1270
+ }
1060
1271
 
1061
- return result ? pass : fail;
1062
- };
1272
+ return result ? pass : fail;
1273
+ };
1274
+ } else {
1275
+ return function () {
1276
+ for (var _len = arguments.length, argsTrue = new Array(_len), _key = 0; _key < _len; _key++) {
1277
+ argsTrue[_key] = arguments[_key];
1278
+ }
1279
+
1280
+ var check = pass || _identity__default['default'];
1281
+
1282
+ var fn = function fn(props) {
1283
+ return check(_get__default['default'](path, props)) ? styled.css.apply(void 0, argsTrue) : '';
1284
+ };
1285
+
1286
+ fn.orElse = function () {
1287
+ for (var _len2 = arguments.length, argsFalse = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1288
+ argsFalse[_key2] = arguments[_key2];
1289
+ }
1290
+
1291
+ return function (props) {
1292
+ return check(_get__default['default'](path, props)) ? styled.css.apply(void 0, argsTrue) : styled.css.apply(void 0, argsFalse);
1293
+ };
1294
+ };
1295
+
1296
+ return fn;
1297
+ };
1298
+ }
1299
+ };
1300
+ var ifPropEquals = function ifPropEquals(path, str) {
1301
+ return ifProp(path, _isEqual__default['default'](str));
1302
+ };
1303
+ var ifNotProp = function ifNotProp(path) {
1304
+ return ifProp(path, function (v) {
1305
+ return !v;
1306
+ });
1063
1307
  };
1064
1308
  var media = function media() {
1065
- for (var _len = arguments.length, sizePairs = new Array(_len), _key = 0; _key < _len; _key++) {
1066
- sizePairs[_key] = arguments[_key];
1309
+ for (var _len3 = arguments.length, sizePairs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1310
+ sizePairs[_key3] = arguments[_key3];
1067
1311
  }
1068
1312
 
1069
1313
  return function () {
1070
- return styled.css(["@media screen and ", "{", "}"], sizePairs.map(function (_ref4) {
1314
+ return styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref4) {
1071
1315
  var _ref5 = _slicedToArray__default['default'](_ref4, 2),
1072
1316
  size = _ref5[0],
1073
1317
  type = _ref5[1];
@@ -1091,6 +1335,11 @@ media.min = function (n) {
1091
1335
  };
1092
1336
 
1093
1337
  media.desktop = media([601, 'min-width']);
1338
+ var vheight = function vheight(strings, size) {
1339
+ var propType = strings[0];
1340
+ var calc = (strings[1] || "").replace(";", "").trim();
1341
+ return "\n ".concat(propType, " ").concat(calc ? "calc(".concat(size, "vh ").concat(calc, ")") : "".concat(size, "vh"), ";\n ").concat(propType, " ").concat(calc ? "calc(calc(var(--vh, 1vh) * ".concat(size, ") ").concat(calc, ")") : "calc(var(--vh, 1vh) * ".concat(size, ")"), ";\n ");
1342
+ };
1094
1343
 
1095
1344
  function testSinglePath(props, path) {
1096
1345
  if (typeof path === 'string') {
@@ -1107,8 +1356,8 @@ var getFrameOffset = function getFrameOffset(i, total) {
1107
1356
  };
1108
1357
 
1109
1358
  var oneWayAnimation = function oneWayAnimation() {
1110
- for (var _len2 = arguments.length, frames = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1111
- frames[_key2] = arguments[_key2];
1359
+ for (var _len4 = arguments.length, frames = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1360
+ frames[_key4] = arguments[_key4];
1112
1361
  }
1113
1362
 
1114
1363
  return emotion.keyframes(_templateObject(), frames.map(function (frame, i) {
@@ -1116,8 +1365,8 @@ var oneWayAnimation = function oneWayAnimation() {
1116
1365
  }));
1117
1366
  };
1118
1367
  var twoWayAnimation = function twoWayAnimation() {
1119
- for (var _len3 = arguments.length, frames = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1120
- frames[_key3] = arguments[_key3];
1368
+ for (var _len5 = arguments.length, frames = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
1369
+ frames[_key5] = arguments[_key5];
1121
1370
  }
1122
1371
 
1123
1372
  return [frames, _reverse__default['default'](frames)].map(function (frames) {
@@ -1126,8 +1375,8 @@ var twoWayAnimation = function twoWayAnimation() {
1126
1375
  };
1127
1376
  var animationTiming = function animationTiming(props) {
1128
1377
  return function () {
1129
- for (var _len4 = arguments.length, animations = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1130
- animations[_key4] = arguments[_key4];
1378
+ for (var _len6 = arguments.length, animations = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
1379
+ animations[_key6] = arguments[_key6];
1131
1380
  }
1132
1381
 
1133
1382
  return animations.filter(function (_) {
@@ -1151,7 +1400,7 @@ var styledExtend = function styledExtend(_ref6) {
1151
1400
  };
1152
1401
 
1153
1402
  var escapedValidParts = /(^|[^\\])(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)?)/g;
1154
- var validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy))$/;
1403
+ var validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy)$/;
1155
1404
 
1156
1405
  var addZero = function addZero(v) {
1157
1406
  return (v < 10 ? '0' : '') + v;
@@ -1167,29 +1416,30 @@ var getSet = function getSet(index, ttype) {
1167
1416
  };
1168
1417
  return [function (date, _, noUTC) {
1169
1418
  return format((typeof date === 'number' ? new Date(date) : date)['get' + (noUTC ? '' : 'UTC') + ttype]() + plus);
1170
- }, function (unformatedStr, date, _, failOnFormat) {
1419
+ }, function (unformatedStr, date, _, failOnFormat, noUTC) {
1171
1420
  var str = parse(unformatedStr, date, failOnFormat);
1172
1421
  if (str === '' || isNaN(date.getTime())) return date;
1173
1422
  if (str === '\0') return date.setTime(NaN);
1423
+ var utcSTR = noUTC ? '' : 'UTC';
1174
1424
  var v = parseInt(str, 10) - plus;
1175
- var prevDay = date.getUTCDate();
1425
+ var prevDay = date['get' + utcSTR + 'Date']();
1176
1426
 
1177
1427
  if (ttype !== 'Date') {
1178
- date.setUTCDate(1);
1428
+ date['set' + utcSTR + 'Date'](1);
1179
1429
  }
1180
1430
 
1181
- date['setUTC' + ttype](v);
1431
+ date['set' + utcSTR + ttype](v);
1182
1432
 
1183
- if (date['getUTC' + ttype]() !== v) {
1184
- date['setUTC' + ttype](NaN);
1433
+ if (date['get' + utcSTR + ttype]() !== v) {
1434
+ date['set' + utcSTR + ttype](NaN);
1185
1435
  return date;
1186
1436
  }
1187
1437
 
1188
1438
  if (ttype !== 'Date') {
1189
- date.setUTCDate(prevDay);
1439
+ date['set' + utcSTR + 'Date'](prevDay);
1190
1440
 
1191
- if (date['getUTC' + ttype]() !== v) {
1192
- date.setUTCDate(0);
1441
+ if (date['get' + utcSTR + ttype]() !== v) {
1442
+ date['set' + utcSTR + 'Date'](0);
1193
1443
  return date;
1194
1444
  }
1195
1445
  }
@@ -1205,23 +1455,28 @@ var getText = function getText(type, total) {
1205
1455
  }];
1206
1456
  };
1207
1457
 
1208
- var val = {
1209
- yyyy: getSet(0, 'FullYear', 0, function (v) {
1210
- return v;
1211
- }, function (y, date, failOnFormat) {
1212
- var formattedY = y.length === 2 && y !== '20' ? '20' + y : y.length === 4 ? y : '';
1458
+ var yearParse = function yearParse(y, date, failOnFormat) {
1459
+ var formattedY = y.length === 2 && y !== '20' ? '20' + y : y.length === 4 ? y : '';
1213
1460
 
1214
- if (formattedY === '') {
1215
- if (failOnFormat) {
1216
- var found = date.getUTCFullYear().toString().indexOf(y);
1217
- return found === 0 || found === 2 ? date.getUTCFullYear() : '\0';
1218
- } else {
1219
- return date.getUTCFullYear();
1220
- }
1461
+ if (formattedY === '') {
1462
+ if (failOnFormat) {
1463
+ var found = date.getUTCFullYear().toString().indexOf(y);
1464
+ return found === 0 || found === 2 ? date.getUTCFullYear() : '\0';
1221
1465
  } else {
1222
- return formattedY;
1466
+ return date.getUTCFullYear();
1223
1467
  }
1224
- }),
1468
+ } else {
1469
+ return formattedY;
1470
+ }
1471
+ };
1472
+
1473
+ var val = {
1474
+ yyyy: getSet(0, 'FullYear', 0, function (v) {
1475
+ return v;
1476
+ }, yearParse),
1477
+ yy: getSet(0, 'FullYear', 0, function (v) {
1478
+ return (v + "").slice(2, 4);
1479
+ }, yearParse),
1225
1480
  M: getSet(1, 'Month', 1),
1226
1481
  MM: getSet(1, 'Month', 1, addZero),
1227
1482
  L: getText('Month', 12, 3),
@@ -1254,7 +1509,7 @@ var now = function now() {
1254
1509
  return new Date();
1255
1510
  };
1256
1511
 
1257
- function parseDate(str, possibleDate, format, messages, failOnFormat) {
1512
+ function parseDate(str, possibleDate, format, messages, failOnFormat, noUTC) {
1258
1513
  if (!str) return possibleDate;
1259
1514
  var separators = format.replace(escapedValidParts, '\0').split('\0');
1260
1515
  var parts = format.match(escapedValidParts);
@@ -1279,7 +1534,7 @@ function parseDate(str, possibleDate, format, messages, failOnFormat) {
1279
1534
  setter = _ref2[0],
1280
1535
  text = _ref2[1];
1281
1536
 
1282
- return setter(text, date, messages, failOnFormat);
1537
+ return setter(text, date, messages, failOnFormat, noUTC);
1283
1538
  });
1284
1539
  return date;
1285
1540
  }
@@ -1324,7 +1579,7 @@ var selectPath = function selectPath(useState) {
1324
1579
  paths[_key2 - 1] = arguments[_key2];
1325
1580
  }
1326
1581
 
1327
- var _useMemo = React.useMemo(function () {
1582
+ var _useMemo = react.useMemo(function () {
1328
1583
  return concatSelectors.apply(void 0, paths);
1329
1584
  }, paths),
1330
1585
  _useMemo2 = _slicedToArray__default['default'](_useMemo, 1),
@@ -1451,7 +1706,7 @@ var toHighest = function toHighest() {
1451
1706
 
1452
1707
  var useEventListener = function useEventListener(eventName, callback) {
1453
1708
  var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
1454
- React.useEffect(function () {
1709
+ react.useEffect(function () {
1455
1710
  window.addEventListener(eventName, callback);
1456
1711
  return function () {
1457
1712
  return window.removeEventListener(eventName, callback);
@@ -1460,7 +1715,7 @@ var useEventListener = function useEventListener(eventName, callback) {
1460
1715
  };
1461
1716
  var useEventListenerFor = function useEventListenerFor(element, eventName, callback) {
1462
1717
  var deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
1463
- React.useEffect(function () {
1718
+ react.useEffect(function () {
1464
1719
  element.addEventListener(eventName, callback);
1465
1720
  return function () {
1466
1721
  return element.removeEventListener(eventName, callback);
@@ -1468,460 +1723,91 @@ var useEventListenerFor = function useEventListenerFor(element, eventName, callb
1468
1723
  }, deps.concat(element));
1469
1724
  };
1470
1725
 
1471
- var callList = function callList(list, firstArg) {
1472
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
1473
- args[_key - 2] = arguments[_key];
1474
- }
1475
-
1476
- return list.map(function (_ref) {
1477
- var current = _ref.current;
1478
- return typeof firstArg === 'function' ? firstArg(current) : current.apply(void 0, [firstArg].concat(args));
1479
- });
1726
+ var disableSelect = function disableSelect(e) {
1727
+ e.preventDefault();
1480
1728
  };
1481
1729
 
1482
- var willUseSharedCallback = function willUseSharedCallback() {
1483
- var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React__default['default'].useEffect;
1484
- var mountedCallbacks = [];
1485
- var listenerCallbacks = [];
1486
-
1487
- var remove = function remove(ref) {
1488
- return mountedCallbacks = mountedCallbacks.filter(function (_) {
1489
- return _ !== ref;
1490
- });
1491
- };
1492
-
1493
- var add = function add(ref) {
1494
- return mountedCallbacks = mountedCallbacks.concat([ref]);
1495
- };
1496
-
1497
- var get = function get() {
1498
- return mountedCallbacks;
1499
- };
1500
-
1501
- var removeListener = function removeListener(ref) {
1502
- return listenerCallbacks = listenerCallbacks.filter(function (_) {
1503
- return _ !== ref;
1730
+ var createPressEvent = function createPressEvent(onStart) {
1731
+ return normalizePress(function (startEvent, info) {
1732
+ var onEnd = onStart(startEvent, info);
1733
+ var finish = normalizePress(function (e, info) {
1734
+ callIfFunction(onEnd, e, info);
1735
+ window.removeEventListener('selectstart', disableSelect);
1736
+ window.removeEventListener('touchend', finish);
1737
+ window.removeEventListener('mouseup', finish);
1504
1738
  });
1505
- };
1739
+ window.addEventListener('selectstart', disableSelect);
1506
1740
 
1507
- var addListener = function addListener(ref) {
1508
- return listenerCallbacks = listenerCallbacks.concat([ref]);
1509
- };
1510
-
1511
- var getListeners = function getListeners(ref) {
1512
- return listenerCallbacks;
1513
- };
1514
-
1515
- var call = function call() {
1516
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1517
- args[_key2] = arguments[_key2];
1518
- }
1519
-
1520
- var resp = callList.apply(void 0, [get()].concat(args));
1521
- callList.apply(void 0, [getListeners()].concat(args));
1522
- return resp;
1523
- };
1524
-
1525
- var getSize = function getSize() {
1526
- return get().length;
1527
- };
1528
-
1529
- var useRegister = function useRegister(callback) {
1530
- var listener = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1531
- var ref = React.useRef(callback);
1532
-
1533
- if (ref.current !== callback) {
1534
- ref.current = callback;
1741
+ if (startEvent.touches) {
1742
+ window.addEventListener('touchend', finish);
1743
+ } else {
1744
+ window.addEventListener("mouseup", finish);
1535
1745
  }
1536
-
1537
- useEffect(function () {
1538
- if (!ref.current) {
1539
- return;
1540
- }
1541
-
1542
- if (listener) {
1543
- addListener(ref);
1544
- } else {
1545
- add(ref);
1546
- }
1547
-
1548
- return function () {
1549
- if (listener) {
1550
- removeListener(ref);
1551
- } else {
1552
- remove(ref);
1553
- }
1554
- };
1555
- }, []);
1556
- return function () {
1557
- return get().indexOf(ref);
1558
- };
1559
- };
1560
-
1561
- return [useRegister, call, getSize];
1746
+ });
1562
1747
  };
1563
-
1564
- var notDefined = {};
1565
- var willUseSharedState = function willUseSharedState(initialValue) {
1566
- var _willUseSharedCallbac = willUseSharedCallback(),
1567
- _willUseSharedCallbac2 = _slicedToArray__default['default'](_willUseSharedCallbac, 3),
1568
- useRegisterGroupCallback = _willUseSharedCallbac2[0],
1569
- callGroup = _willUseSharedCallbac2[1],
1570
- getSize = _willUseSharedCallbac2[2];
1571
-
1572
- var sharedValue = utils.ifUndefined(initialValue, notDefined);
1573
-
1574
- var setGroupState = function setGroupState(newValue) {
1575
- sharedValue = utils.callIfFunction(newValue, sharedValue);
1576
- callGroup(sharedValue);
1577
- };
1578
-
1579
- var refState = function refState() {
1580
- useRegisterGroupCallback();
1581
- return [function () {
1582
- return sharedValue;
1583
- }, setGroupState];
1584
- };
1585
-
1586
- var valueState = function valueState(defaultValue) {
1587
- var prevValue = sharedValue !== notDefined ? sharedValue : defaultValue;
1588
-
1589
- if (prevValue === defaultValue) {
1590
- sharedValue = defaultValue;
1591
- }
1592
-
1593
- var _useState = React.useState(prevValue),
1594
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1595
- value = _useState2[0],
1596
- setValue = _useState2[1];
1597
-
1598
- useRegisterGroupCallback(setValue);
1599
- return [value, setGroupState];
1600
- };
1601
-
1602
- var clear = function clear() {
1603
- sharedValue = notDefined;
1604
- };
1605
-
1606
- return [valueState, refState, setGroupState, function () {
1607
- return sharedValue;
1608
- }, clear];
1609
- };
1610
-
1611
- var SlotContext = React__default['default'].createContext(new Map());
1612
-
1613
- var _willUseSharedState = willUseSharedState(),
1614
- _willUseSharedState2 = _slicedToArray__default['default'](_willUseSharedState, 2),
1615
- useFillHookState = _willUseSharedState2[0],
1616
- useFillHookStateRef = _willUseSharedState2[1];
1617
-
1618
- var _willUseSharedState3 = willUseSharedState(),
1619
- _willUseSharedState4 = _slicedToArray__default['default'](_willUseSharedState3, 2),
1620
- useHiddenFillHookState = _willUseSharedState4[0],
1621
- useHiddenFillHookStateRef = _willUseSharedState4[1];
1622
-
1623
- var DEFAULT_CONTEXT = new Map();
1624
- var SlotProvider = function SlotProvider(_ref) {
1625
- var children = _ref.children;
1626
- return React__default['default'].createElement(SlotContext.Provider, {
1627
- value: DEFAULT_CONTEXT
1628
- }, children, React__default['default'].createElement(React__default['default'].Suspense, {
1629
- fallback: null
1630
- }, React__default['default'].createElement(FillHooks, null)), React__default['default'].createElement(HiddenFillHooks, null));
1631
- };
1632
- var Invisible = styled__default['default'].div.withConfig({
1633
- displayName: "SlotFill__Invisible",
1634
- componentId: "h3oh7r-0"
1635
- })(["display:none"]);
1636
-
1637
- var FillBeforeFlip = function FillBeforeFlip(_ref3) {
1638
- var name = _ref3.name,
1639
- children = _ref3.children,
1640
- slot = _ref3.slot;
1641
- var slots = React.useContext(SlotContext);
1642
- var ref = React.useRef();
1643
- React.useLayoutEffect(function () {
1644
- var _slots$get;
1645
-
1646
- var slotRefs = ((_slots$get = slots.get(name)) === null || _slots$get === void 0 ? void 0 : _slots$get.refs) || [];
1647
-
1648
- var mounted = ___default['default'].flatMap(function (_ref4) {
1649
- var current = _ref4.current;
1650
- return current;
1651
- }, slotRefs);
1652
-
1653
- var clones = [];
1654
-
1655
- var getClone = function getClone() {
1656
- var cloned = ref.current.cloneNode(true);
1657
- cloned.className = 'JS-fill-flip';
1658
- clones.push(cloned);
1659
- return cloned;
1660
- };
1661
-
1662
- mounted.map(function (_) {
1663
- return _.appendChild(getClone());
1664
- });
1665
- return function () {
1666
- clones.forEach(function (el) {
1667
- return el.remove();
1748
+ var createPressAndHoldEvent = function createPressAndHoldEvent(onStart, interval) {
1749
+ return createPressEvent(function (startEvent, info) {
1750
+ var _concat = [].concat(onStart(startEvent, info)),
1751
+ _concat2 = _slicedToArray__default['default'](_concat, 2),
1752
+ onInterval = _concat2[0],
1753
+ onEnd = _concat2[1];
1754
+
1755
+ var i = 0;
1756
+
1757
+ if (interval) {
1758
+ var intervalId = setInterval(function () {
1759
+ onInterval(i++);
1760
+ }, interval);
1761
+ return normalizePress(function (e, info) {
1762
+ callIfFunction(onEnd, e, info);
1763
+ clearInterval(intervalId);
1668
1764
  });
1669
- };
1670
- }, []);
1671
- return React__default['default'].createElement(Invisible, {
1672
- ref: ref
1673
- }, children);
1674
- };
1675
-
1676
- var Fill = function Fill(_ref5) {
1677
- var name = _ref5.name,
1678
- children = _ref5.children,
1679
- withFlip = _ref5.withFlip;
1680
- var slots = React.useContext(SlotContext);
1681
- var forceUpdate = React__default['default'].useState({})[1];
1682
- var slot = slots.get(name);
1683
-
1684
- if (slot === null || slot === void 0 ? void 0 : slot.refs) {
1685
- return slot === null || slot === void 0 ? void 0 : slot.refs.map(function (ref) {
1686
- return (ref === null || ref === void 0 ? void 0 : ref.current) && ReactDOM__default['default'].createPortal(children, ref.current);
1687
- });
1688
- } else if (withFlip) {
1689
- return React__default['default'].createElement(FillBeforeFlip, {
1690
- name: name,
1691
- slot: slot
1692
- }, children);
1693
- } else {
1694
- slots.set(name, {
1695
- children: children,
1696
- update: function update() {
1697
- return forceUpdate({});
1698
- }
1699
- });
1700
- return null;
1701
- }
1702
- };
1703
-
1704
- var FillHooks = function FillHooks(_ref6) {
1705
- _objectDestructuringEmpty__default['default'](_ref6);
1706
-
1707
- var _useFillHookState = useFillHookState({}),
1708
- _useFillHookState2 = _slicedToArray__default['default'](_useFillHookState, 1),
1709
- hooked = _useFillHookState2[0];
1765
+ } else {
1766
+ var running = true;
1710
1767
 
1711
- return Object.entries(hooked).map(function (_ref7) {
1712
- var _ref8 = _slicedToArray__default['default'](_ref7, 2),
1713
- name = _ref8[0],
1714
- childs = _ref8[1];
1768
+ var run = function run() {
1769
+ return window.requestAnimationFrame(function () {
1770
+ if (running) {
1771
+ onInterval(i++);
1772
+ run();
1773
+ }
1774
+ });
1775
+ };
1715
1776
 
1716
- return childs.map(function (_ref9, i) {
1717
- var children = _ref9.children;
1718
- return React__default['default'].createElement(Fill, {
1719
- key: name + i,
1720
- name: name
1721
- }, children);
1722
- });
1777
+ run();
1778
+ return normalizePress(function (e, info) {
1779
+ callIfFunction(onEnd, e, info);
1780
+ running = false;
1781
+ });
1782
+ }
1723
1783
  });
1724
1784
  };
1785
+ var createPressAndMoveEvent = function createPressAndMoveEvent(onStart) {
1786
+ return createPressEvent(function (startEvent, info) {
1787
+ var _concat3 = [].concat(onStart(startEvent, info)),
1788
+ _concat4 = _slicedToArray__default['default'](_concat3, 2),
1789
+ onMove = _concat4[0],
1790
+ onEnd = _concat4[1];
1791
+
1792
+ var finish = normalizePress(function (e, info) {
1793
+ callIfFunction(onEnd, e, info);
1794
+ window.removeEventListener('touchmove', move);
1795
+ window.removeEventListener('mousemove', move);
1796
+ });
1797
+ var move = normalizePress(onMove, finish);
1725
1798
 
1726
- var HiddenFillHooks = function HiddenFillHooks(_ref10) {
1727
- _objectDestructuringEmpty__default['default'](_ref10);
1728
-
1729
- var _useHiddenFillHookSta = useHiddenFillHookState({}),
1730
- _useHiddenFillHookSta2 = _slicedToArray__default['default'](_useHiddenFillHookSta, 1),
1731
- hookedChildren = _useHiddenFillHookSta2[0];
1732
-
1733
- return React__default['default'].createElement("div", null, Object.values(hookedChildren));
1734
- };
1735
-
1736
- var prevOpenToggleClose = function prevOpenToggleClose() {};
1737
- var clearPopups = function clearPopups() {
1738
- {
1739
- prevOpenToggleClose();
1740
-
1741
- prevOpenToggleClose = function prevOpenToggleClose() {};
1742
- }
1743
- };
1744
-
1745
- var StartlibsContext = React__default['default'].createContext({});
1746
- var PopupContext = React__default['default'].createContext({});
1747
- var StartlibsMetacontext = React__default['default'].createContext(function () {});
1748
- var StartlibsConsumer = StartlibsContext.Consumer;
1749
- var wrappeStyle = {
1750
- height: '100%'
1751
- };
1752
- var StartlibsProvider =
1753
- /*#__PURE__*/
1754
- function (_React$Component) {
1755
- _inherits__default['default'](StartlibsProvider, _React$Component);
1756
-
1757
- function StartlibsProvider() {
1758
- var _getPrototypeOf2;
1759
-
1760
- var _this;
1761
-
1762
- _classCallCheck__default['default'](this, StartlibsProvider);
1763
-
1764
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1765
- args[_key] = arguments[_key];
1766
- }
1767
-
1768
- _this = _possibleConstructorReturn__default['default'](this, (_getPrototypeOf2 = _getPrototypeOf__default['default'](StartlibsProvider)).call.apply(_getPrototypeOf2, [this].concat(args)));
1769
- _this.openToggles = new Map();
1770
-
1771
- _this.popupToggleRender = function (_ref, ref) {
1772
- var isOpen = _ref.isOpen,
1773
- close = _ref.close;
1774
-
1775
- if (isOpen && !_this.openToggles.has(ref)) {
1776
- _this.closePopup();
1777
-
1778
- _this.openToggles.set(ref, close);
1779
- }
1780
- };
1781
-
1782
- _this.closePopup = function () {
1783
- clearPopups();
1784
- };
1785
-
1786
- _this.startlibsMeta = new Map();
1787
-
1788
- _this.getMeta = function (key, initValue) {
1789
- var exists = _this.startlibsMeta.get(key);
1790
-
1791
- if (exists) return exists;
1792
-
1793
- _this.startlibsMeta.set(key, utils.callIfFunction(initValue));
1794
-
1795
- return initValue;
1796
- };
1797
-
1798
- return _this;
1799
- }
1800
-
1801
- _createClass__default['default'](StartlibsProvider, [{
1802
- key: "componentDidMount",
1803
- value: function componentDidMount() {
1804
- utils.fixMediaQuery();
1805
- }
1806
- }, {
1807
- key: "render",
1808
- value: function render() {
1809
- return React__default['default'].createElement(StartlibsContext.Provider, {
1810
- value: this.props.value
1811
- }, React__default['default'].createElement(StartlibsMetacontext.Provider, {
1812
- value: this.getMeta
1813
- }, React__default['default'].createElement(PopupContext.Provider, {
1814
- value: this.popupToggleRender
1815
- }, React__default['default'].createElement(SlotProvider, null, React__default['default'].createElement("div", {
1816
- style: wrappeStyle,
1817
- onClick: this.closePopup
1818
- }, this.props.children)))));
1819
- }
1820
- }]);
1821
-
1822
- return StartlibsProvider;
1823
- }(React__default['default'].Component);
1824
-
1825
- var WithRef =
1826
- /*#__PURE__*/
1827
- function (_React$Component) {
1828
- _inherits__default['default'](WithRef, _React$Component);
1829
-
1830
- function WithRef(props) {
1831
- var _this;
1832
-
1833
- _classCallCheck__default['default'](this, WithRef);
1834
-
1835
- _this = _possibleConstructorReturn__default['default'](this, _getPrototypeOf__default['default'](WithRef).call(this, props));
1836
- var total = props.length || props.children.length;
1837
- var refs = new Array(total);
1838
-
1839
- for (var i = 0; i < total; i++) {
1840
- refs[i] = React__default['default'].createRef();
1841
- }
1842
-
1843
- _this.createdRefs = refs;
1844
- return _this;
1845
- }
1846
-
1847
- _createClass__default['default'](WithRef, [{
1848
- key: "render",
1849
- value: function render() {
1850
- var children = this.props.children;
1851
- return children.apply(void 0, _toConsumableArray__default['default'](this.createdRefs));
1799
+ if (startEvent.touches) {
1800
+ window.addEventListener('touchmove', move, {
1801
+ passive: false
1802
+ });
1803
+ } else {
1804
+ window.addEventListener("mousemove", move);
1852
1805
  }
1853
- }]);
1854
-
1855
- return WithRef;
1856
- }(React__default['default'].Component);
1857
1806
 
1858
- var willUseLayers = function willUseLayers() {
1859
- var useEffect = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : React__default['default'].useEffect;
1860
-
1861
- var _willUseSharedCallbac = willUseSharedCallback(useEffect),
1862
- _willUseSharedCallbac2 = _slicedToArray__default['default'](_willUseSharedCallbac, 3),
1863
- useRegisterSharedCallback = _willUseSharedCallbac2[0],
1864
- callGroup = _willUseSharedCallbac2[1],
1865
- _getSize = _willUseSharedCallbac2[2];
1866
-
1867
- var useLayer = function useLayer() {
1868
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1869
- onFirst = _ref.onFirst,
1870
- onEmpty = _ref.onEmpty,
1871
- onTop = _ref.onTop;
1872
-
1873
- var listener = arguments.length > 1 ? arguments[1] : undefined;
1874
- var resetIndex = React.useCallback(function () {
1875
- setIndex(getIndex());
1876
-
1877
- if (getIndex() + 1 === _getSize()) {
1878
- utils.callIfFunction(onTop, getIndex);
1879
- }
1880
- }, []);
1881
- var getIndex = useRegisterSharedCallback(resetIndex, listener);
1882
-
1883
- var _useState = React.useState(getIndex()),
1884
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1885
- index = _useState2[0],
1886
- setIndex = _useState2[1];
1887
-
1888
- useEffect(function () {
1889
- if (getIndex() === 0) {
1890
- utils.callIfFunction(onFirst);
1891
- }
1892
-
1893
- resetIndex();
1894
- return function () {
1895
- if (_getSize() === 0) {
1896
- utils.callIfFunction(onEmpty);
1897
- }
1898
-
1899
- callGroup();
1900
- };
1901
- }, []);
1902
- return [index, {
1903
- isFirst: function isFirst() {
1904
- return getIndex() === 1;
1905
- },
1906
- isTop: function isTop() {
1907
- return getIndex() === _getSize() - 1;
1908
- },
1909
- isEmpty: function isEmpty() {
1910
- return _getSize() === 0;
1911
- },
1912
- getSize: function getSize() {
1913
- return _getSize();
1914
- }
1915
- }];
1916
- };
1917
-
1918
- return [useLayer, _getSize];
1807
+ return finish;
1808
+ });
1919
1809
  };
1920
1810
 
1921
- var _willUseLayers = willUseLayers(),
1922
- _willUseLayers2 = _slicedToArray__default['default'](_willUseLayers, 1),
1923
- useTitleLayers = _willUseLayers2[0];
1924
-
1925
1811
  // a contract like this to integrate with React.
1926
1812
  // Real implementations can be significantly more complex.
1927
1813
  // Don't copy-paste this into your project!
@@ -1938,6 +1824,7 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1938
1824
  var status;
1939
1825
  var lazyResolver;
1940
1826
  var lazyPromise;
1827
+ var checker = _isEqual__default['default'];
1941
1828
  var lazyArgs = EMPTY_ARGS;
1942
1829
 
1943
1830
  var _uid = Math.random().toString() + Date.now();
@@ -1966,12 +1853,13 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1966
1853
  result = r;
1967
1854
  return r;
1968
1855
  }, function (e) {
1969
- if (returnedPromise === suspender) {
1856
+ if (returnedPromise !== suspender) {
1970
1857
  return suspender;
1971
1858
  }
1972
1859
 
1973
1860
  status = "error";
1974
1861
  result = e;
1862
+ return Promise.reject(e);
1975
1863
  });
1976
1864
  });
1977
1865
  return returnedPromise;
@@ -1987,7 +1875,7 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1987
1875
  } else if (status === "error") {
1988
1876
  throw result;
1989
1877
  } else if (status === "success") {
1990
- return result;
1878
+ return currentValue;
1991
1879
  }
1992
1880
  },
1993
1881
  promise: function promise() {
@@ -2005,14 +1893,14 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
2005
1893
  args[_key3] = arguments[_key3];
2006
1894
  }
2007
1895
 
2008
- return wrapLazy.apply(void 0, [promise].concat(rootArgs, args));
1896
+ return wrapLazy.apply(void 0, [promise].concat(rootArgs, args)).checkWith(checker);
2009
1897
  },
2010
1898
  use: function use() {
2011
1899
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
2012
1900
  args[_key4] = arguments[_key4];
2013
1901
  }
2014
1902
 
2015
- if (!_isEqual__default['default'](args, lazyArgs)) {
1903
+ if (!checker(args, lazyArgs)) {
2016
1904
  if (lazyArgs !== EMPTY_ARGS) {
2017
1905
  _uid = Math.random().toString() + Date.now();
2018
1906
  }
@@ -2027,6 +1915,14 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
2027
1915
  return currentValue;
2028
1916
  },
2029
1917
  and: function and(lazy) {},
1918
+ checkWith: function checkWith(isEqual) {
1919
+ checker = isEqual;
1920
+ return this;
1921
+ },
1922
+ localUpdate: function localUpdate(updater) {
1923
+ currentValue = callIfFunction(updater, currentValue);
1924
+ return this;
1925
+ },
2030
1926
  uid: function uid() {
2031
1927
  return _uid;
2032
1928
  }
@@ -2049,8 +1945,8 @@ var willUseLazy = function willUseLazy() {
2049
1945
  var useLazyEffect = function useLazyEffect(callback) {
2050
1946
  var value = lazy._getCurrentValue();
2051
1947
 
2052
- var componentState = React.useRef(value);
2053
- React.useEffect(function () {
1948
+ var componentState = react.useRef(value);
1949
+ react.useEffect(function () {
2054
1950
  var callbackCaller = function callbackCaller(result) {
2055
1951
  if (componentState.current !== UNMOUNTED) {
2056
1952
  componentState.current = result;
@@ -2064,7 +1960,7 @@ var willUseLazy = function willUseLazy() {
2064
1960
  return componentState.current = UNMOUNTED;
2065
1961
  };
2066
1962
  }, []);
2067
- React.useEffect(function () {
1963
+ react.useEffect(function () {
2068
1964
  if (value !== componentState.current) {
2069
1965
  callback(value);
2070
1966
  }
@@ -2089,7 +1985,7 @@ var willUseAutoLazy = function willUseAutoLazy() {
2089
1985
  useLazyEffect = _willUseLazy2[1];
2090
1986
 
2091
1987
  var useAutoLazyEffect = function useAutoLazyEffect(extraEffect) {
2092
- var _useState = React.useState(1),
1988
+ var _useState = react.useState(1),
2093
1989
  _useState2 = _slicedToArray__default['default'](_useState, 2),
2094
1990
  update = _useState2[1];
2095
1991
 
@@ -2103,148 +1999,6 @@ var willUseAutoLazy = function willUseAutoLazy() {
2103
1999
  return [lazy, useAutoLazyEffect];
2104
2000
  };
2105
2001
 
2106
- function createSinglePromiseQueue() {
2107
- return _createSinglePromiseQueue.apply(this, arguments);
2108
- }
2109
-
2110
- function _createSinglePromiseQueue() {
2111
- _createSinglePromiseQueue = _wrapAsyncGenerator__default['default'](
2112
- /*#__PURE__*/
2113
- _regeneratorRuntime__default['default'].mark(function _callee() {
2114
- var lastPromise, resolve;
2115
- return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
2116
- while (1) {
2117
- switch (_context.prev = _context.next) {
2118
- case 0:
2119
- lastPromise = Promise.resolve();
2120
- /* eslint-disable no-await-in-loop */
2121
-
2122
- case 1:
2123
-
2124
- _context.next = 4;
2125
- return _awaitAsyncGenerator__default['default'](lastPromise);
2126
-
2127
- case 4:
2128
- resolve = _identity__default['default'];
2129
- lastPromise = new Promise(function (res) {
2130
- resolve = res;
2131
- });
2132
- _context.next = 8;
2133
- return resolve;
2134
-
2135
- case 8:
2136
- _context.next = 1;
2137
- break;
2138
-
2139
- case 10:
2140
- case "end":
2141
- return _context.stop();
2142
- }
2143
- }
2144
- }, _callee, this);
2145
- }));
2146
- return _createSinglePromiseQueue.apply(this, arguments);
2147
- }
2148
-
2149
- function createPromiseQueue() {
2150
- return _createPromiseQueue.apply(this, arguments);
2151
- }
2152
-
2153
- function _createPromiseQueue() {
2154
- _createPromiseQueue = _wrapAsyncGenerator__default['default'](
2155
- /*#__PURE__*/
2156
- _regeneratorRuntime__default['default'].mark(function _callee3() {
2157
- var parallel,
2158
- queues,
2159
- promises,
2160
- locks,
2161
- getNextAvailableLock,
2162
- lock,
2163
- _args3 = arguments;
2164
- return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
2165
- while (1) {
2166
- switch (_context3.prev = _context3.next) {
2167
- case 0:
2168
- parallel = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : 1;
2169
- queues = _times__default['default'](createSinglePromiseQueue, parallel);
2170
- promises = queues.map(function (q) {
2171
- return q.next();
2172
- });
2173
- _context3.next = 5;
2174
- return _awaitAsyncGenerator__default['default'](Promise.all(promises));
2175
-
2176
- case 5:
2177
- locks = _context3.sent;
2178
-
2179
- getNextAvailableLock =
2180
- /*#__PURE__*/
2181
- function () {
2182
- var _ref = _asyncToGenerator__default['default'](
2183
- /*#__PURE__*/
2184
- _regeneratorRuntime__default['default'].mark(function _callee2() {
2185
- var index, lock;
2186
- return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
2187
- while (1) {
2188
- switch (_context2.prev = _context2.next) {
2189
- case 0:
2190
- index = locks.findIndex(Boolean);
2191
-
2192
- if (!(index >= 0)) {
2193
- _context2.next = 6;
2194
- break;
2195
- }
2196
-
2197
- lock = locks[index];
2198
- locks[index] = null;
2199
- promises[index] = queues[index].next().then(function (result) {
2200
- locks[index] = result;
2201
- });
2202
- return _context2.abrupt("return", [lock.value, locks.filter(Boolean).length]);
2203
-
2204
- case 6:
2205
- _context2.next = 8;
2206
- return Promise.race(promises);
2207
-
2208
- case 8:
2209
- return _context2.abrupt("return", getNextAvailableLock());
2210
-
2211
- case 9:
2212
- case "end":
2213
- return _context2.stop();
2214
- }
2215
- }
2216
- }, _callee2, this);
2217
- }));
2218
-
2219
- return function getNextAvailableLock() {
2220
- return _ref.apply(this, arguments);
2221
- };
2222
- }();
2223
-
2224
- case 7:
2225
-
2226
- _context3.next = 10;
2227
- return _awaitAsyncGenerator__default['default'](getNextAvailableLock());
2228
-
2229
- case 10:
2230
- lock = _context3.sent;
2231
- _context3.next = 13;
2232
- return lock;
2233
-
2234
- case 13:
2235
- _context3.next = 7;
2236
- break;
2237
-
2238
- case 15:
2239
- case "end":
2240
- return _context3.stop();
2241
- }
2242
- }
2243
- }, _callee3, this);
2244
- }));
2245
- return _createPromiseQueue.apply(this, arguments);
2246
- }
2247
-
2248
2002
  exports.Action = Action;
2249
2003
  exports.COMPLETE_ACTION = COMPLETE_ACTION;
2250
2004
  exports.FETCH = FETCH;
@@ -2264,6 +2018,9 @@ exports.callMany = callMany;
2264
2018
  exports.compareBest = compareBest;
2265
2019
  exports.concatSelectors = concatSelectors;
2266
2020
  exports.constrainEvent = constrainEvent;
2021
+ exports.createPressAndHoldEvent = createPressAndHoldEvent;
2022
+ exports.createPressAndMoveEvent = createPressAndMoveEvent;
2023
+ exports.createPressEvent = createPressEvent;
2267
2024
  exports.createPromiseQueue = createPromiseQueue;
2268
2025
  exports.customTheme = customTheme;
2269
2026
  exports.digitsToPattern = digitsToPattern;
@@ -2273,6 +2030,7 @@ exports.formFetch = formFetch;
2273
2030
  exports.formFetchWithResponse = formFetchWithResponse;
2274
2031
  exports.formatDate = formatDate;
2275
2032
  exports.formatDateToPattern = formatDateToPattern;
2033
+ exports.formatHour = formatHour;
2276
2034
  exports.formatPath = formatPath;
2277
2035
  exports.getClosestOffsetScroll = getClosestOffsetScroll;
2278
2036
  exports.getColor = getColor;
@@ -2281,14 +2039,15 @@ exports.getFetcherWithResponse = getFetcherWithResponse;
2281
2039
  exports.getMargin = getMargin;
2282
2040
  exports.getNumberInputType = getNumberInputType;
2283
2041
  exports.getNumberInputType2 = getNumberInputType2;
2284
- exports.getProp = getProp;
2285
2042
  exports.getScrollParent = getScrollParent;
2286
2043
  exports.getUID = getUID;
2287
2044
  exports.getUrlParams = getUrlParams;
2288
2045
  exports.identityFn = identityFn;
2289
2046
  exports.identityOpacityFrames = identityOpacityFrames;
2290
2047
  exports.identityTranslateFrames = identityTranslateFrames;
2048
+ exports.ifNotProp = ifNotProp;
2291
2049
  exports.ifProp = ifProp;
2050
+ exports.ifPropEquals = ifPropEquals;
2292
2051
  exports.ifUndefined = ifUndefined;
2293
2052
  exports.intToHour = intToHour;
2294
2053
  exports.intsToHour = intsToHour;
@@ -2305,12 +2064,14 @@ exports.linkRegex = linkRegex;
2305
2064
  exports.mapGetOrSet = mapGetOrSet;
2306
2065
  exports.media = media;
2307
2066
  exports.normalizeMouse = normalizeMouse;
2067
+ exports.normalizePress = normalizePress;
2308
2068
  exports.normalizeTouch = normalizeTouch;
2309
2069
  exports.oneWayAnimation = oneWayAnimation;
2310
2070
  exports.parseDate = parseDate;
2311
2071
  exports.postFetcher = postFetcher;
2312
2072
  exports.postFetcherWithResponse = postFetcherWithResponse;
2313
2073
  exports.preventDefault = preventDefault;
2074
+ exports.prop = prop;
2314
2075
  exports.rafThrottle = rafThrottle;
2315
2076
  exports.safeNewLineToBr = safeNewLineToBr;
2316
2077
  exports.scrollIntoViewWithOffset = scrollIntoViewWithOffset;
@@ -2322,11 +2083,13 @@ exports.styledExtend = styledExtend;
2322
2083
  exports.timerPromise = timerPromise;
2323
2084
  exports.toHighest = toHighest;
2324
2085
  exports.toLowest = toLowest;
2086
+ exports.touchClick = touchClick;
2325
2087
  exports.twoWayAnimation = twoWayAnimation;
2326
2088
  exports.unWill = unWill;
2327
2089
  exports.useEventListener = useEventListener;
2328
2090
  exports.useEventListenerFor = useEventListenerFor;
2329
2091
  exports.using = using;
2092
+ exports.vheight = vheight;
2330
2093
  exports.will = will;
2331
2094
  exports.willRafThrottle = willRafThrottle;
2332
2095
  exports.willUseAutoLazy = willUseAutoLazy;