@startlibs/utils 1.0.0-alpha-7m → 1.0.0-alpha-7o

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/.babelrc CHANGED
@@ -3,10 +3,9 @@
3
3
  "presets": [
4
4
  "@babel/preset-react",
5
5
  "@babel/preset-flow",
6
- [
7
- "@babel/preset-env",
8
- {
9
- "modules": false
6
+ ["@babel/preset-env", {
7
+ "exclude": ["@babel/plugin-proposal-unicode-property-regex", "@babel/plugin-transform-unicode-regex"],
8
+ "modules": false
10
9
  }
11
10
  ]
12
11
  ],
package/lib/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var React = require('react');
5
6
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
6
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
8
  var _awaitAsyncGenerator = require('@babel/runtime/helpers/awaitAsyncGenerator');
@@ -24,10 +25,10 @@ var _isFunction = require('lodash/fp/isFunction');
24
25
  var _get = require('lodash/fp/get');
25
26
  var _unset = require('lodash/fp/unset');
26
27
  var polished = require('polished');
27
- var react = require('react');
28
28
  var styled = require('styled-components');
29
29
  var createEmotion = require('create-emotion');
30
30
  var _flow = require('lodash/fp/flow');
31
+ var _without = require('lodash/fp/without');
31
32
  var _map = require('lodash/fp/map');
32
33
  var _filter = require('lodash/fp/filter');
33
34
  var _each = require('lodash/fp/each');
@@ -43,6 +44,7 @@ var _last = require('lodash/fp/last');
43
44
 
44
45
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
45
46
 
47
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
46
48
  var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
47
49
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
48
50
  var _awaitAsyncGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_awaitAsyncGenerator);
@@ -67,6 +69,7 @@ var _unset__default = /*#__PURE__*/_interopDefaultLegacy(_unset);
67
69
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
68
70
  var createEmotion__default = /*#__PURE__*/_interopDefaultLegacy(createEmotion);
69
71
  var _flow__default = /*#__PURE__*/_interopDefaultLegacy(_flow);
72
+ var _without__default = /*#__PURE__*/_interopDefaultLegacy(_without);
70
73
  var _map__default = /*#__PURE__*/_interopDefaultLegacy(_map);
71
74
  var _filter__default = /*#__PURE__*/_interopDefaultLegacy(_filter);
72
75
  var _each__default = /*#__PURE__*/_interopDefaultLegacy(_each);
@@ -80,6 +83,15 @@ var _pullAt__default = /*#__PURE__*/_interopDefaultLegacy(_pullAt);
80
83
  var _curry__default = /*#__PURE__*/_interopDefaultLegacy(_curry);
81
84
  var _last__default = /*#__PURE__*/_interopDefaultLegacy(_last);
82
85
 
86
+ var createPromiseResolverPair = function createPromiseResolverPair() {
87
+ var res, rej;
88
+ var promise = new Promise(function (res2, rej2) {
89
+ res = res2;
90
+ rej = rej2;
91
+ });
92
+ return [promise, [res, rej]];
93
+ };
94
+
83
95
  function createSinglePromiseQueue() {
84
96
  return _createSinglePromiseQueue.apply(this, arguments);
85
97
  }
@@ -581,12 +593,18 @@ function isMobile() {
581
593
 
582
594
  return check;
583
595
  }
596
+ var isPWA = function isPWA() {
597
+ return window.matchMedia && window.matchMedia("(display-mode: standalone)").matches;
598
+ };
584
599
  function isTouchDevice() {
585
600
  return window.document && 'ontouchstart' in window.document.documentElement;
586
601
  }
587
602
  var isIOS = function isIOS() {
588
603
  return /iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;
589
604
  };
605
+ var isIPad = function isIPad() {
606
+ return navigator.userAgent.match(/iPad/i) != null;
607
+ };
590
608
  var getNumberInputType2 = function getNumberInputType2() {
591
609
  var isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;
592
610
  return isMobile() ? isIOS ? "tel" : "number" : "text";
@@ -781,6 +799,13 @@ var scrollIntoViewWithOffset = function scrollIntoViewWithOffset(el, offset) {
781
799
  behavior: 'smooth'
782
800
  });
783
801
  };
802
+ var isElementInView = function isElementInView(element) {
803
+ if (!element) return false;
804
+ if (1 !== element.nodeType) return false;
805
+ var html = document.documentElement;
806
+ var rect = element.getBoundingClientRect();
807
+ return !!rect && rect.bottom >= 0 && rect.right >= 0 && rect.left <= html.clientWidth && rect.top <= html.clientHeight;
808
+ };
784
809
  var timerPromise = function timerPromise(time) {
785
810
  return new Promise(function (res) {
786
811
  return setTimeout(res, time);
@@ -905,7 +930,13 @@ var addQueryString = function addQueryString() {
905
930
  var params = new URLSearchParams(otherQueryString);
906
931
 
907
932
  for (var key in obj) {
908
- params.set(key, obj[key]);
933
+ var value = obj[key];
934
+
935
+ if (value === undefined || value === null) {
936
+ params.delete(key);
937
+ } else {
938
+ params.set(key, obj[key]);
939
+ }
909
940
  }
910
941
 
911
942
  var paramsStr = params.toString();
@@ -1149,9 +1180,14 @@ var map = _map__default['default'].convert({
1149
1180
  var insertAt = _curry__default['default'](function (pos, newElements, value) {
1150
1181
  return _toConsumableArray__default['default'](value.slice(0, pos).concat(newElements)).concat(_toConsumableArray__default['default'](value.slice(pos)));
1151
1182
  });
1152
- var select = function select(selector) {
1153
- return _isFunction__default['default'](selector) ? selector : selector ? _get__default['default'](selector) : _identity__default['default'];
1154
- };
1183
+ var select = _curry__default['default'](function (selector, value) {
1184
+ return (_isFunction__default['default'](selector) ? selector : selector ? _get__default['default'](selector) : _identity__default['default'])(value);
1185
+ });
1186
+
1187
+ var itemToggle = _curry__default['default'](function (item, list) {
1188
+ return (list || []).indexOf(item) >= 0 ? _without__default['default']([item], list) : _toConsumableArray__default['default'](list || []).concat([item]);
1189
+ });
1190
+
1155
1191
  var _s = {
1156
1192
  moveElement: moveElement,
1157
1193
  unsetOrRemoveAt: unsetOrRemoveAt,
@@ -1164,6 +1200,7 @@ var _s = {
1164
1200
  unset: unset,
1165
1201
  removeNAt: removeNAt,
1166
1202
  removeAt: removeAt,
1203
+ itemToggle: itemToggle,
1167
1204
  when: when,
1168
1205
  assign: assign,
1169
1206
  concat: concat,
@@ -1191,9 +1228,16 @@ function _templateObject() {
1191
1228
  return data;
1192
1229
  }
1193
1230
  var getColor = function getColor(propsOrColor, hover) {
1194
- if (typeof propsOrColor === 'string') {
1231
+ if (propsOrColor === undefined) {
1195
1232
  return function (_ref) {
1196
1233
  var theme = _ref.theme;
1234
+ return theme.colors.gray150;
1235
+ };
1236
+ }
1237
+
1238
+ if (typeof propsOrColor === 'string') {
1239
+ return function (_ref2) {
1240
+ var theme = _ref2.theme;
1197
1241
  return theme.colors[propsOrColor];
1198
1242
  };
1199
1243
  }
@@ -1274,10 +1318,10 @@ var ifProp = function ifProp(path, pass, fail) {
1274
1318
  return testSinglePath(props, p);
1275
1319
  });
1276
1320
  } else if (_typeof__default['default'](path) === 'object') {
1277
- result = !Object.entries(path).find(function (_ref2) {
1278
- var _ref3 = _slicedToArray__default['default'](_ref2, 2),
1279
- k = _ref3[0],
1280
- v = _ref3[1];
1321
+ result = !Object.entries(path).find(function (_ref3) {
1322
+ var _ref4 = _slicedToArray__default['default'](_ref3, 2),
1323
+ k = _ref4[0],
1324
+ v = _ref4[1];
1281
1325
 
1282
1326
  return props[k] !== v;
1283
1327
  });
@@ -1324,10 +1368,10 @@ var ifNotProp = function ifNotProp(path) {
1324
1368
 
1325
1369
  var checkCustomScreenWidth = function checkCustomScreenWidth(sizeParis, customWidth) {
1326
1370
  var currentWidth = callIfFunction(customWidth);
1327
- return !sizeParis.find(function (_ref4) {
1328
- var _ref5 = _slicedToArray__default['default'](_ref4, 2),
1329
- size = _ref5[0],
1330
- type = _ref5[1];
1371
+ return !sizeParis.find(function (_ref5) {
1372
+ var _ref6 = _slicedToArray__default['default'](_ref5, 2),
1373
+ size = _ref6[0],
1374
+ type = _ref6[1];
1331
1375
 
1332
1376
  if (type === "min-width") {
1333
1377
  return currentWidth < size;
@@ -1352,10 +1396,10 @@ var media = function media() {
1352
1396
  return styled.css(["", ""], function (props) {
1353
1397
  var _props$theme, _props$theme2;
1354
1398
 
1355
- return ((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.overrideMediaWidth) ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? styled.css.apply(void 0, args) : "" : styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref6) {
1356
- var _ref7 = _slicedToArray__default['default'](_ref6, 2),
1357
- size = _ref7[0],
1358
- type = _ref7[1];
1399
+ return ((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.overrideMediaWidth) ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? styled.css.apply(void 0, args) : "" : styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref7) {
1400
+ var _ref8 = _slicedToArray__default['default'](_ref7, 2),
1401
+ size = _ref8[0],
1402
+ type = _ref8[1];
1359
1403
 
1360
1404
  return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
1361
1405
  }).join(' and '), styled.css.apply(void 0, args));
@@ -1433,9 +1477,9 @@ var animationTiming = function animationTiming(props) {
1433
1477
  };
1434
1478
  var identityTranslateFrames = oneWayAnimation('transform: translateY(0);', 'transform: translateY(0);');
1435
1479
  var identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
1436
- var styledExtend = function styledExtend(_ref8) {
1437
- var target = _ref8.target,
1438
- componentStyle = _ref8.componentStyle;
1480
+ var styledExtend = function styledExtend(_ref9) {
1481
+ var target = _ref9.target,
1482
+ componentStyle = _ref9.componentStyle;
1439
1483
  return function () {
1440
1484
  var wasStatic = !_find__default['default'](_isFunction__default['default'], componentStyle.rules);
1441
1485
 
@@ -1450,10 +1494,27 @@ var styledExtend = function styledExtend(_ref8) {
1450
1494
  return v;
1451
1495
  };
1452
1496
  };
1497
+ var printerMedia = function printerMedia() {
1498
+ for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
1499
+ args[_key9] = arguments[_key9];
1500
+ }
1453
1501
 
1454
- var escapedValidParts = /(^|[^\\])(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)?)/g;
1455
- var validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy)$/;
1502
+ return function (props) {
1503
+ return props.theme.printMode ? styled.css.apply(void 0, args) : styled.css(["@media print{", "}"], styled.css.apply(void 0, args));
1504
+ };
1505
+ };
1506
+ var notPrinterMedia = function notPrinterMedia() {
1507
+ for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
1508
+ args[_key10] = arguments[_key10];
1509
+ }
1510
+
1511
+ return function (props) {
1512
+ return props.theme.printMode ? '' : styled.css(["@media screen{", "}"], styled.css.apply(void 0, args));
1513
+ };
1514
+ };
1456
1515
 
1516
+ var escapedValidParts = /(^|[^\\])(dd?|DD?|mm?|LL?|hh?|MM?|ss|SSS|yy(?:yy)?)/g;
1517
+ var validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy|ss|SSS)$/;
1457
1518
  var addZero = function addZero(v) {
1458
1519
  return (v < 10 ? '0' : '') + v;
1459
1520
  };
@@ -1540,7 +1601,9 @@ var val = {
1540
1601
  m: getSet(4, 'Minutes'),
1541
1602
  mm: getSet(4, 'Minutes', 0, addZero),
1542
1603
  h: getSet(5, 'Hours'),
1543
- hh: getSet(5, 'Hours', 0, addZero)
1604
+ hh: getSet(5, 'Hours', 0, addZero),
1605
+ ss: getSet(6, 'Seconds', 0, addZero),
1606
+ SSS: getSet(7, 'Milliseconds', 0, addZero)
1544
1607
  };
1545
1608
  function formatDateToPattern(format) {
1546
1609
  return format.replace(escapedValidParts, function (_, _1, _2) {
@@ -1631,7 +1694,7 @@ var selectPath = function selectPath(useState) {
1631
1694
  paths[_key2 - 1] = arguments[_key2];
1632
1695
  }
1633
1696
 
1634
- var _useMemo = react.useMemo(function () {
1697
+ var _useMemo = React.useMemo(function () {
1635
1698
  return concatSelectors.apply(void 0, paths);
1636
1699
  }, paths),
1637
1700
  _useMemo2 = _slicedToArray__default['default'](_useMemo, 1),
@@ -1756,9 +1819,14 @@ var toHighest = function toHighest() {
1756
1819
  });
1757
1820
  };
1758
1821
 
1822
+ var addExtraProp = function addExtraProp(element, extra) {
1823
+ var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
1824
+ return React__default['default'].cloneElement(element, override ? _objectSpread__default['default']({}, element.props, extra) : _objectSpread__default['default']({}, extra, element.props), element.props.children);
1825
+ };
1826
+
1759
1827
  var useEventListener = function useEventListener(eventName, callback) {
1760
1828
  var deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
1761
- react.useEffect(function () {
1829
+ React.useEffect(function () {
1762
1830
  window.addEventListener(eventName, callback);
1763
1831
  return function () {
1764
1832
  return window.removeEventListener(eventName, callback);
@@ -1767,7 +1835,7 @@ var useEventListener = function useEventListener(eventName, callback) {
1767
1835
  };
1768
1836
  var useEventListenerFor = function useEventListenerFor(element, eventName, callback) {
1769
1837
  var deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
1770
- react.useEffect(function () {
1838
+ React.useEffect(function () {
1771
1839
  element.addEventListener(eventName, callback);
1772
1840
  return function () {
1773
1841
  return element.removeEventListener(eventName, callback);
@@ -1868,7 +1936,7 @@ var EMPTY_ARGS = [];
1868
1936
  var UNDEFINED_CURRENT_VALUE = {};
1869
1937
 
1870
1938
  var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1871
- return function (promise) {
1939
+ return function (maybePromise) {
1872
1940
  for (var _len = arguments.length, rootArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1873
1941
  rootArgs[_key - 1] = arguments[_key];
1874
1942
  }
@@ -1884,10 +1952,10 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1884
1952
  var result;
1885
1953
  var currentValue = UNDEFINED_CURRENT_VALUE;
1886
1954
 
1887
- var suspend = function suspend(promise) {
1955
+ var suspend = function suspend(maybePromise) {
1888
1956
  status = "pending";
1889
1957
  lazyResolver = _identity__default['default'];
1890
- lazyPromise = _isFunction__default['default'](promise) ? new Promise(function (res) {
1958
+ lazyPromise = _isFunction__default['default'](maybePromise) ? new Promise(function (res) {
1891
1959
  return lazyResolver = res;
1892
1960
  }) : Promise.resolve();
1893
1961
  var returnedPromise = lazyPromise.then(function () {
@@ -1895,29 +1963,29 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1895
1963
  args[_key2] = arguments[_key2];
1896
1964
  }
1897
1965
 
1898
- return callIfFunction.apply(void 0, [promise].concat(rootArgs, _toConsumableArray__default['default'](lazyArgs), args)).then(function (r) {
1899
- if (returnedPromise !== suspender) {
1900
- return suspender;
1901
- }
1966
+ return callIfFunction.apply(void 0, [maybePromise].concat(rootArgs, _toConsumableArray__default['default'](lazyArgs), args));
1967
+ }).then(function (r) {
1968
+ if (returnedPromise !== suspender) {
1969
+ return suspender;
1970
+ }
1902
1971
 
1903
- status = "success";
1904
- currentValue = r;
1905
- result = r;
1906
- return r;
1907
- }, function (e) {
1908
- if (returnedPromise !== suspender) {
1909
- return suspender;
1910
- }
1972
+ status = "success";
1973
+ currentValue = r;
1974
+ result = r;
1975
+ return r;
1976
+ }, function (e) {
1977
+ if (returnedPromise !== suspender) {
1978
+ return suspender;
1979
+ }
1911
1980
 
1912
- status = "error";
1913
- result = e;
1914
- return Promise.reject(e);
1915
- });
1981
+ status = "error";
1982
+ result = e;
1983
+ return Promise.reject(e);
1916
1984
  });
1917
1985
  return returnedPromise;
1918
1986
  };
1919
1987
 
1920
- var suspender = suspend(promise);
1988
+ var suspender = suspend(maybePromise);
1921
1989
  return {
1922
1990
  read: function read() {
1923
1991
  lazyResolver();
@@ -1934,10 +2002,13 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1934
2002
  lazyResolver();
1935
2003
  return suspender;
1936
2004
  },
1937
- refresh: function refresh() {
1938
- suspender = suspend(promise);
1939
- _uid = Math.random().toString() + Date.now();
1940
- callIfFunction(refreshCallback, this);
2005
+ refresh: function refresh(force) {
2006
+ if (status !== "pending" || force) {
2007
+ suspender = suspend(maybePromise);
2008
+ _uid = Math.random().toString() + Date.now();
2009
+ callIfFunction(refreshCallback, this);
2010
+ }
2011
+
1941
2012
  return this;
1942
2013
  },
1943
2014
  next: function next() {
@@ -1945,7 +2016,7 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1945
2016
  args[_key3] = arguments[_key3];
1946
2017
  }
1947
2018
 
1948
- return wrapLazy.apply(void 0, [promise].concat(rootArgs, args)).checkWith(checker);
2019
+ return wrapLazy.apply(void 0, [maybePromise].concat(rootArgs, args)).checkWith(checker);
1949
2020
  },
1950
2021
  use: function use() {
1951
2022
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
@@ -1958,7 +2029,7 @@ var innerWrapLazy = function innerWrapLazy(refreshCallback) {
1958
2029
  }
1959
2030
 
1960
2031
  lazyArgs = args;
1961
- suspender = suspend(promise);
2032
+ suspender = suspend(maybePromise);
1962
2033
  }
1963
2034
 
1964
2035
  return this;
@@ -1997,8 +2068,8 @@ var willUseLazy = function willUseLazy() {
1997
2068
  var useLazyEffect = function useLazyEffect(callback) {
1998
2069
  var value = lazy._getCurrentValue();
1999
2070
 
2000
- var componentState = react.useRef(value);
2001
- react.useEffect(function () {
2071
+ var componentState = React.useRef(value);
2072
+ React.useEffect(function () {
2002
2073
  var callbackCaller = function callbackCaller(result) {
2003
2074
  if (componentState.current !== UNMOUNTED) {
2004
2075
  componentState.current = result;
@@ -2012,7 +2083,7 @@ var willUseLazy = function willUseLazy() {
2012
2083
  return componentState.current = UNMOUNTED;
2013
2084
  };
2014
2085
  }, []);
2015
- react.useEffect(function () {
2086
+ React.useEffect(function () {
2016
2087
  if (value !== componentState.current) {
2017
2088
  callback(value);
2018
2089
  }
@@ -2037,7 +2108,7 @@ var willUseAutoLazy = function willUseAutoLazy() {
2037
2108
  useLazyEffect = _willUseLazy2[1];
2038
2109
 
2039
2110
  var useAutoLazyEffect = function useAutoLazyEffect(extraEffect) {
2040
- var _useState = react.useState(1),
2111
+ var _useState = React.useState(1),
2041
2112
  _useState2 = _slicedToArray__default['default'](_useState, 2),
2042
2113
  update = _useState2[1];
2043
2114
 
@@ -2085,6 +2156,17 @@ var intervalsIntersect = function intervalsIntersect(_ref, _ref2) {
2085
2156
 
2086
2157
  return b2 >= a1 && b1 <= a2;
2087
2158
  };
2159
+ var intervalsIntersectExclusive = function intervalsIntersectExclusive(_ref5, _ref6) {
2160
+ var _ref7 = _slicedToArray__default['default'](_ref5, 2),
2161
+ a1 = _ref7[0],
2162
+ a2 = _ref7[1];
2163
+
2164
+ var _ref8 = _slicedToArray__default['default'](_ref6, 2),
2165
+ b1 = _ref8[0],
2166
+ b2 = _ref8[1];
2167
+
2168
+ return b2 > a1 && b1 < a2;
2169
+ };
2088
2170
  var intervalsIntersection = function intervalsIntersection(a, b) {
2089
2171
  if (!intervalsIntersect(a, b)) {
2090
2172
  return [];
@@ -2092,14 +2174,14 @@ var intervalsIntersection = function intervalsIntersection(a, b) {
2092
2174
 
2093
2175
  return [[Math.max(a[0], b[0]), Math.min(a[1], b[1])]];
2094
2176
  };
2095
- var diffIntervals = function diffIntervals(_ref5, _ref6) {
2096
- var _ref7 = _slicedToArray__default['default'](_ref5, 2),
2097
- a1 = _ref7[0],
2098
- a2 = _ref7[1];
2177
+ var diffIntervals = function diffIntervals(_ref9, _ref10) {
2178
+ var _ref11 = _slicedToArray__default['default'](_ref9, 2),
2179
+ a1 = _ref11[0],
2180
+ a2 = _ref11[1];
2099
2181
 
2100
- var _ref8 = _slicedToArray__default['default'](_ref6, 2),
2101
- b1 = _ref8[0],
2102
- b2 = _ref8[1];
2182
+ var _ref12 = _slicedToArray__default['default'](_ref10, 2),
2183
+ b1 = _ref12[0],
2184
+ b2 = _ref12[1];
2103
2185
 
2104
2186
  if (a1 >= b2 || // a after b
2105
2187
  b1 >= a2 // a before b
@@ -2127,7 +2209,7 @@ var blockDiffIntervals = function blockDiffIntervals(a, b) {
2127
2209
  return intervalsIntersect(a, b) ? [] : [a];
2128
2210
  };
2129
2211
  var startBlockDiffIntervals = function startBlockDiffIntervals(a, b) {
2130
- return intervalsIntersect(a, b) && a[0] > b[0] ? [] : [a];
2212
+ return intervalsIntersectExclusive(a, b) && a[0] > b[0] ? [] : [a];
2131
2213
  };
2132
2214
 
2133
2215
  var formatJoin = function formatJoin(arr) {
@@ -2140,6 +2222,9 @@ var formatJoinArr = function formatJoinArr(arr, separator, lastSeparator) {
2140
2222
  return i < arr.length - 2 ? [v, separator] : i < arr.length - 1 ? [v, lastSeparator] : [v];
2141
2223
  });
2142
2224
  };
2225
+ var normalizeText = function normalizeText(str) {
2226
+ return (str || "").normalize('NFD').replace(/[0-9A-Za-z\xC0-\xD6\xD9-\xF6\xF9-\u017E\u1E00-\u1EFF]/g, "").toLowerCase();
2227
+ };
2143
2228
 
2144
2229
  exports.Action = Action;
2145
2230
  exports.COMPLETE_ACTION = COMPLETE_ACTION;
@@ -2158,8 +2243,10 @@ exports.WEEK = WEEK;
2158
2243
  exports.YEAR = YEAR;
2159
2244
  exports._s = _s;
2160
2245
  exports.activateActions = activateActions;
2246
+ exports.addExtraProp = addExtraProp;
2161
2247
  exports.addHttp = addHttp;
2162
2248
  exports.addQueryString = addQueryString;
2249
+ exports.addZero = addZero;
2163
2250
  exports.animationTiming = animationTiming;
2164
2251
  exports.blockDiffIntervals = blockDiffIntervals;
2165
2252
  exports.callIfFunction = callIfFunction;
@@ -2172,6 +2259,7 @@ exports.createPressAndHoldEvent = createPressAndHoldEvent;
2172
2259
  exports.createPressAndMoveEvent = createPressAndMoveEvent;
2173
2260
  exports.createPressEvent = createPressEvent;
2174
2261
  exports.createPromiseQueue = createPromiseQueue;
2262
+ exports.createPromiseResolverPair = createPromiseResolverPair;
2175
2263
  exports.customTheme = customTheme;
2176
2264
  exports.diffIntervals = diffIntervals;
2177
2265
  exports.digitsToPattern = digitsToPattern;
@@ -2205,12 +2293,16 @@ exports.ifPropEquals = ifPropEquals;
2205
2293
  exports.ifUndefined = ifUndefined;
2206
2294
  exports.intToHour = intToHour;
2207
2295
  exports.intervalsIntersect = intervalsIntersect;
2296
+ exports.intervalsIntersectExclusive = intervalsIntersectExclusive;
2208
2297
  exports.intervalsIntersection = intervalsIntersection;
2209
2298
  exports.intsToHour = intsToHour;
2299
+ exports.isElementInView = isElementInView;
2210
2300
  exports.isEmptyHtml = isEmptyHtml;
2211
2301
  exports.isHighDensity = isHighDensity;
2212
2302
  exports.isIOS = isIOS;
2303
+ exports.isIPad = isIPad;
2213
2304
  exports.isMobile = isMobile;
2305
+ exports.isPWA = isPWA;
2214
2306
  exports.isRetina = isRetina;
2215
2307
  exports.isSameDay = isSameDay;
2216
2308
  exports.isSmallDevice = isSmallDevice;
@@ -2222,12 +2314,15 @@ exports.mapGetOrSet = mapGetOrSet;
2222
2314
  exports.media = media;
2223
2315
  exports.normalizeMouse = normalizeMouse;
2224
2316
  exports.normalizePress = normalizePress;
2317
+ exports.normalizeText = normalizeText;
2225
2318
  exports.normalizeTouch = normalizeTouch;
2319
+ exports.notPrinterMedia = notPrinterMedia;
2226
2320
  exports.oneWayAnimation = oneWayAnimation;
2227
2321
  exports.parseDate = parseDate;
2228
2322
  exports.postFetcher = postFetcher;
2229
2323
  exports.postFetcherWithResponse = postFetcherWithResponse;
2230
2324
  exports.preventDefault = preventDefault;
2325
+ exports.printerMedia = printerMedia;
2231
2326
  exports.prop = prop;
2232
2327
  exports.rafThrottle = rafThrottle;
2233
2328
  exports.safeNewLineToBr = safeNewLineToBr;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@startlibs/utils",
3
- "version": "1.0.0-alpha-7m",
3
+ "version": "1.0.0-alpha-7o",
4
4
  "description": "Startlibs Utils",
5
- "main": "lib/index.js",
5
+ "main": "src/index.js",
6
6
  "sideEffects": false,
7
7
  "source": true,
8
8
  "peerDependencies": {
package/src/index.js ADDED
@@ -0,0 +1,20 @@
1
+ export * from './createPromiseResolverPair'
2
+ export * from './createPromiseQueue'
3
+ export * from './getClosestOffsetScroll'
4
+ export * from './smoothScroll'
5
+ export * from './fixMediaQuery'
6
+ export * from './FetchUtils'
7
+ export * from './styled'
8
+ export * from './formatDate'
9
+ export {_s} from './lodashUtils'
10
+ export * from './ActionUtils'
11
+ export * from './reduceUtils'
12
+ export * from './reactUtils'
13
+ export * from './hooks/useEventListener'
14
+ export * from './utils'
15
+ export * from './createPressEvent'
16
+ export * from './wrapLazy'
17
+ export * from './timeUtils'
18
+ export * from './timeUtils'
19
+ export * from './formatUtils'
20
+