@elliemae/ds-utilities 2.2.0-next.3 → 2.3.0-alpha.1

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 (130) hide show
  1. package/cjs/capitalize.js +35 -7
  2. package/cjs/capitalize.js.map +7 -0
  3. package/cjs/compose.js +39 -32
  4. package/cjs/compose.js.map +7 -0
  5. package/cjs/getComponentFromProps.js +47 -29
  6. package/cjs/getComponentFromProps.js.map +7 -0
  7. package/cjs/hooks/index.js +68 -60
  8. package/cjs/hooks/index.js.map +7 -0
  9. package/cjs/hooks/useCancellableDelayedCallback.js +43 -18
  10. package/cjs/hooks/useCancellableDelayedCallback.js.map +7 -0
  11. package/cjs/hooks/useDerivedStateFromProps.js +47 -36
  12. package/cjs/hooks/useDerivedStateFromProps.js.map +7 -0
  13. package/cjs/hooks/useExecutionTimer.js +43 -24
  14. package/cjs/hooks/useExecutionTimer.js.map +7 -0
  15. package/cjs/hooks/useExpandState.js +69 -82
  16. package/cjs/hooks/useExpandState.js.map +7 -0
  17. package/cjs/hooks/useHotkeys.js +44 -24
  18. package/cjs/hooks/useHotkeys.js.map +7 -0
  19. package/cjs/hooks/useHoverHandlersDelay.js +48 -18
  20. package/cjs/hooks/useHoverHandlersDelay.js.map +7 -0
  21. package/cjs/hooks/useOnElementResize.js +44 -27
  22. package/cjs/hooks/useOnElementResize.js.map +7 -0
  23. package/cjs/hooks/useParentElement.js +40 -13
  24. package/cjs/hooks/useParentElement.js.map +7 -0
  25. package/cjs/hooks/usePrevious.js +41 -10
  26. package/cjs/hooks/usePrevious.js.map +7 -0
  27. package/cjs/hooks/useResizeObserver.js +52 -25
  28. package/cjs/hooks/useResizeObserver.js.map +7 -0
  29. package/cjs/hooks/useSetRef.js +38 -11
  30. package/cjs/hooks/useSetRef.js.map +7 -0
  31. package/cjs/hooks/useShouldRecalculate.js +41 -14
  32. package/cjs/hooks/useShouldRecalculate.js.map +7 -0
  33. package/cjs/hooks/useWindowScrollerList.js +51 -33
  34. package/cjs/hooks/useWindowScrollerList.js.map +7 -0
  35. package/cjs/hooks/useWindowSize.js +49 -19
  36. package/cjs/hooks/useWindowSize.js.map +7 -0
  37. package/cjs/index.js +145 -266
  38. package/cjs/index.js.map +7 -0
  39. package/cjs/onClickHandlerForNonInteractiveElements.js +46 -19
  40. package/cjs/onClickHandlerForNonInteractiveElements.js.map +7 -0
  41. package/cjs/operators.js +56 -51
  42. package/cjs/operators.js.map +7 -0
  43. package/cjs/platform.js +37 -9
  44. package/cjs/platform.js.map +7 -0
  45. package/cjs/reactTypesUtility.js +45 -22
  46. package/cjs/reactTypesUtility.js.map +7 -0
  47. package/cjs/scrollingTimer.js +37 -15
  48. package/cjs/scrollingTimer.js.map +7 -0
  49. package/cjs/system.js +47 -30
  50. package/cjs/system.js.map +7 -0
  51. package/cjs/timeUtils.js +42 -24
  52. package/cjs/timeUtils.js.map +7 -0
  53. package/cjs/utils.js +101 -237
  54. package/cjs/utils.js.map +7 -0
  55. package/cjs/validations.js +48 -35
  56. package/cjs/validations.js.map +7 -0
  57. package/esm/capitalize.js +6 -3
  58. package/esm/capitalize.js.map +7 -0
  59. package/esm/compose.js +11 -29
  60. package/esm/compose.js.map +7 -0
  61. package/esm/getComponentFromProps.js +18 -22
  62. package/esm/getComponentFromProps.js.map +7 -0
  63. package/esm/hooks/index.js +40 -18
  64. package/esm/hooks/index.js.map +7 -0
  65. package/esm/hooks/useCancellableDelayedCallback.js +12 -14
  66. package/esm/hooks/useCancellableDelayedCallback.js.map +7 -0
  67. package/esm/hooks/useDerivedStateFromProps.js +15 -31
  68. package/esm/hooks/useDerivedStateFromProps.js.map +7 -0
  69. package/esm/hooks/useExecutionTimer.js +12 -20
  70. package/esm/hooks/useExecutionTimer.js.map +7 -0
  71. package/esm/hooks/useExpandState.js +36 -72
  72. package/esm/hooks/useExpandState.js.map +7 -0
  73. package/esm/hooks/useHotkeys.js +11 -14
  74. package/esm/hooks/useHotkeys.js.map +7 -0
  75. package/esm/hooks/useHoverHandlersDelay.js +15 -12
  76. package/esm/hooks/useHoverHandlersDelay.js.map +7 -0
  77. package/esm/hooks/useOnElementResize.js +12 -20
  78. package/esm/hooks/useOnElementResize.js.map +7 -0
  79. package/esm/hooks/useParentElement.js +9 -7
  80. package/esm/hooks/useParentElement.js.map +7 -0
  81. package/esm/hooks/usePrevious.js +10 -6
  82. package/esm/hooks/usePrevious.js.map +7 -0
  83. package/esm/hooks/useResizeObserver.js +20 -15
  84. package/esm/hooks/useResizeObserver.js.map +7 -0
  85. package/esm/hooks/useSetRef.js +8 -6
  86. package/esm/hooks/useSetRef.js.map +7 -0
  87. package/esm/hooks/useShouldRecalculate.js +11 -11
  88. package/esm/hooks/useShouldRecalculate.js.map +7 -0
  89. package/esm/hooks/useWindowScrollerList.js +20 -29
  90. package/esm/hooks/useWindowScrollerList.js.map +7 -0
  91. package/esm/hooks/useWindowSize.js +18 -15
  92. package/esm/hooks/useWindowSize.js.map +7 -0
  93. package/esm/index.js +204 -31
  94. package/esm/index.js.map +7 -0
  95. package/esm/onClickHandlerForNonInteractiveElements.js +17 -17
  96. package/esm/onClickHandlerForNonInteractiveElements.js.map +7 -0
  97. package/esm/operators.js +27 -34
  98. package/esm/operators.js.map +7 -0
  99. package/esm/platform.js +8 -4
  100. package/esm/platform.js.map +7 -0
  101. package/esm/reactTypesUtility.js +16 -9
  102. package/esm/reactTypesUtility.js.map +7 -0
  103. package/esm/scrollingTimer.js +8 -11
  104. package/esm/scrollingTimer.js.map +7 -0
  105. package/esm/system.js +16 -22
  106. package/esm/system.js.map +7 -0
  107. package/esm/timeUtils.js +13 -19
  108. package/esm/timeUtils.js.map +7 -0
  109. package/esm/utils.js +109 -72
  110. package/esm/utils.js.map +7 -0
  111. package/esm/validations.js +18 -28
  112. package/esm/validations.js.map +7 -0
  113. package/package.json +1 -1
  114. package/types/compose.d.ts +2 -1
  115. package/types/getComponentFromProps.d.ts +2 -1
  116. package/types/hooks/index.d.ts +14 -14
  117. package/types/hooks/useCancellableDelayedCallback.d.ts +2 -1
  118. package/types/hooks/useDerivedStateFromProps.d.ts +2 -1
  119. package/types/hooks/useExecutionTimer.d.ts +2 -1
  120. package/types/hooks/useExpandState.d.ts +3 -2
  121. package/types/hooks/useHotkeys.d.ts +3 -2
  122. package/types/hooks/useHoverHandlersDelay.d.ts +3 -2
  123. package/types/hooks/usePrevious.d.ts +1 -1
  124. package/types/hooks/useResizeObserver.d.ts +2 -1
  125. package/types/hooks/useShouldRecalculate.d.ts +2 -1
  126. package/types/hooks/useWindowScrollerList.d.ts +3 -2
  127. package/types/hooks/useWindowSize.d.ts +2 -1
  128. package/types/index.d.ts +11 -11
  129. package/types/onClickHandlerForNonInteractiveElements.d.ts +7 -7
  130. package/types/scrollingTimer.d.ts +1 -1
package/esm/platform.js CHANGED
@@ -1,4 +1,8 @@
1
- const DOCUMENT = typeof document !== 'undefined' ? document : null;
2
- const WINDOW = typeof window !== 'undefined' ? window : null;
3
-
4
- export { DOCUMENT, WINDOW };
1
+ import * as React from "react";
2
+ const DOCUMENT = typeof document !== "undefined" ? document : null;
3
+ const WINDOW = typeof window !== "undefined" ? window : null;
4
+ export {
5
+ DOCUMENT,
6
+ WINDOW
7
+ };
8
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/platform.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DOCUMENT = typeof document !== 'undefined' ? document : null;\nexport const WINDOW = typeof window !== 'undefined' ? window : null;\n"],
5
+ "mappings": "AAAA;ACAO,MAAM,WAAW,OAAO,aAAa,cAAc,WAAW;AAC9D,MAAM,SAAS,OAAO,WAAW,cAAc,SAAS;",
6
+ "names": []
7
+ }
@@ -1,22 +1,29 @@
1
- import React from 'react';
2
-
1
+ import * as React from "react";
2
+ import React2 from "react";
3
3
  function isClassComponent(component) {
4
- return !!(typeof component === 'function' && !!component.prototype.isReactComponent);
4
+ return !!(typeof component === "function" && !!component.prototype.isReactComponent);
5
5
  }
6
6
  function isFunctionComponent(component) {
7
- return typeof component === 'function' && String(component).includes('return React.createElement');
7
+ return typeof component === "function" && String(component).includes("return React.createElement");
8
8
  }
9
9
  function isReactComponent(component) {
10
10
  return !!(isClassComponent(component) || isFunctionComponent(component));
11
11
  }
12
12
  function isElement(element) {
13
- return /*#__PURE__*/React.isValidElement(element);
13
+ return React2.isValidElement(element);
14
14
  }
15
15
  function isDOMTypeElement(element) {
16
- return isElement(element) && typeof element.type === 'string';
16
+ return isElement(element) && typeof element.type === "string";
17
17
  }
18
18
  function isCompositeTypeElement(element) {
19
- return isElement(element) && typeof element.type === 'function';
19
+ return isElement(element) && typeof element.type === "function";
20
20
  }
21
-
22
- export { isClassComponent, isCompositeTypeElement, isDOMTypeElement, isElement, isFunctionComponent, isReactComponent };
21
+ export {
22
+ isClassComponent,
23
+ isCompositeTypeElement,
24
+ isDOMTypeElement,
25
+ isElement,
26
+ isFunctionComponent,
27
+ isReactComponent
28
+ };
29
+ //# sourceMappingURL=reactTypesUtility.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/reactTypesUtility.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nexport function isClassComponent(component) {\n return !!(typeof component === 'function' && !!component.prototype.isReactComponent);\n}\n\nexport function isFunctionComponent(component) {\n return typeof component === 'function' && String(component).includes('return React.createElement');\n}\n\nexport function isReactComponent(component) {\n return !!(isClassComponent(component) || isFunctionComponent(component));\n}\n\nexport function isElement(element) {\n return React.isValidElement(element);\n}\n\nexport function isDOMTypeElement(element) {\n return isElement(element) && typeof element.type === 'string';\n}\n\nexport function isCompositeTypeElement(element) {\n return isElement(element) && typeof element.type === 'function';\n}\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,0BAA0B,WAAW;AAC1C,SAAO,CAAC,CAAE,QAAO,cAAc,cAAc,CAAC,CAAC,UAAU,UAAU;AAAA;AAG9D,6BAA6B,WAAW;AAC7C,SAAO,OAAO,cAAc,cAAc,OAAO,WAAW,SAAS;AAAA;AAGhE,0BAA0B,WAAW;AAC1C,SAAO,CAAC,CAAE,kBAAiB,cAAc,oBAAoB;AAAA;AAGxD,mBAAmB,SAAS;AACjC,SAAO,OAAM,eAAe;AAAA;AAGvB,0BAA0B,SAAS;AACxC,SAAO,UAAU,YAAY,OAAO,QAAQ,SAAS;AAAA;AAGhD,gCAAgC,SAAS;AAC9C,SAAO,UAAU,YAAY,OAAO,QAAQ,SAAS;AAAA;",
6
+ "names": []
7
+ }
@@ -1,20 +1,17 @@
1
- function resetTimer(func) {
1
+ import * as React from "react";
2
+ const resetTimer = (func) => {
2
3
  let timeout;
3
- return function () {
4
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5
- args[_key] = arguments[_key];
6
- }
7
-
4
+ return function(...args) {
8
5
  const context = this;
9
-
10
6
  const lastCall = () => {
11
7
  timeout = null;
12
8
  func.apply(context, args);
13
9
  };
14
-
15
10
  clearTimeout(timeout);
16
11
  timeout = setTimeout(lastCall, 300);
17
12
  };
18
- }
19
-
20
- export { resetTimer };
13
+ };
14
+ export {
15
+ resetTimer
16
+ };
17
+ //# sourceMappingURL=scrollingTimer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/scrollingTimer.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const resetTimer = (func) => {\n let timeout;\n return function(...args) {\n const context = this;\n\n const lastCall = () => {\n timeout = null;\n func.apply(context, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(lastCall, 300);\n };\n};\n"],
5
+ "mappings": "AAAA;ACAO,MAAM,aAAa,CAAC,SAAS;AAClC,MAAI;AACJ,SAAO,YAAY,MAAM;AACvB,UAAM,UAAU;AAEhB,UAAM,WAAW,MAAM;AACrB,gBAAU;AACV,WAAK,MAAM,SAAS;AAAA;AAGtB,iBAAa;AACb,cAAU,WAAW,UAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
package/esm/system.js CHANGED
@@ -1,14 +1,5 @@
1
- import 'core-js/modules/esnext.async-iterator.for-each.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.for-each.js';
4
- import 'core-js/modules/esnext.async-iterator.filter.js';
5
- import 'core-js/modules/esnext.iterator.filter.js';
6
- import '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/esnext.async-iterator.reduce.js';
8
- import 'core-js/modules/esnext.iterator.reduce.js';
9
- import 'core-js/modules/web.dom-collections.iterator.js';
10
- import { isFunction } from 'lodash';
11
-
1
+ import * as React from "react";
2
+ import { isFunction } from "./utils";
12
3
  const setRef = (ref, value) => {
13
4
  if (isFunction(ref)) {
14
5
  ref(value);
@@ -16,14 +7,11 @@ const setRef = (ref, value) => {
16
7
  ref.current = value;
17
8
  }
18
9
  };
19
- function mergeRefs() {
20
- for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
21
- refs[_key] = arguments[_key];
22
- }
23
-
24
- return node => {
25
- if (!node) return;
26
- refs.forEach(ref => {
10
+ function mergeRefs(...refs) {
11
+ return (node) => {
12
+ if (!node)
13
+ return;
14
+ refs.forEach((ref) => {
27
15
  if (isFunction(ref)) {
28
16
  ref(node);
29
17
  } else if (ref) {
@@ -32,6 +20,12 @@ function mergeRefs() {
32
20
  });
33
21
  };
34
22
  }
35
- function logger() {}
36
-
37
- export { logger, mergeRefs, setRef };
23
+ function logger(...args) {
24
+ console.log(...args);
25
+ }
26
+ export {
27
+ logger,
28
+ mergeRefs,
29
+ setRef
30
+ };
31
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/system.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { isFunction } from './utils';\n\nexport const setRef = (ref, value) => {\n if (isFunction(ref)) {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n};\n\nexport function mergeRefs(...refs) {\n return (node) => {\n if (!node) return;\n refs.forEach((ref) => {\n if (isFunction(ref)) {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n });\n };\n}\n\nexport function logger(...args) {\n // eslint-disable-next-line no-console\n console.log(...args);\n}\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,SAAS,CAAC,KAAK,UAAU;AACpC,MAAI,WAAW,MAAM;AACnB,QAAI;AAAA,aACK,KAAK;AACd,QAAI,UAAU;AAAA;AAAA;AAIX,sBAAsB,MAAM;AACjC,SAAO,CAAC,SAAS;AACf,QAAI,CAAC;AAAM;AACX,SAAK,QAAQ,CAAC,QAAQ;AACpB,UAAI,WAAW,MAAM;AACnB,YAAI;AAAA,iBACK,KAAK;AACd,YAAI,UAAU;AAAA;AAAA;AAAA;AAAA;AAMf,mBAAmB,MAAM;AAE9B,UAAQ,IAAI,GAAG;AAAA;",
6
+ "names": []
7
+ }
package/esm/timeUtils.js CHANGED
@@ -1,20 +1,14 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
- import '@babel/runtime/helpers/esm/defineProperty';
4
- import 'core-js/modules/esnext.async-iterator.reduce.js';
5
- import 'core-js/modules/esnext.iterator.constructor.js';
6
- import 'core-js/modules/esnext.iterator.reduce.js';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
- import 'core-js/modules/esnext.async-iterator.for-each.js';
9
- import 'core-js/modules/esnext.iterator.for-each.js';
10
- import { padStart } from 'lodash';
11
-
12
- const getVisibleTimeByFormat = format => ({
13
- showHours: format.indexOf('H') > -1 || format.indexOf('h') > -1 || format.indexOf('k') > -1,
14
- showMinutes: format.indexOf('m') > -1,
15
- showSeconds: format.indexOf('s') > -1,
16
- use12Hours: format.indexOf('A') > -1 || format.indexOf('h') > -1 || format.indexOf('a') > -1
1
+ import * as React from "react";
2
+ import { padStart } from "./utils";
3
+ const getVisibleTimeByFormat = (format) => ({
4
+ showHours: format.indexOf("H") > -1 || format.indexOf("h") > -1 || format.indexOf("k") > -1,
5
+ showMinutes: format.indexOf("m") > -1,
6
+ showSeconds: format.indexOf("s") > -1,
7
+ use12Hours: format.indexOf("A") > -1 || format.indexOf("h") > -1 || format.indexOf("a") > -1
17
8
  });
18
- const addLeadingZeros = count => number => padStart(String(number), count, '0');
19
-
20
- export { addLeadingZeros, getVisibleTimeByFormat };
9
+ const addLeadingZeros = (count) => (number) => padStart(String(number), count, "0");
10
+ export {
11
+ addLeadingZeros,
12
+ getVisibleTimeByFormat
13
+ };
14
+ //# sourceMappingURL=timeUtils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/timeUtils.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { padStart } from './utils';\n\nexport const getVisibleTimeByFormat = format => ({\n showHours:\n format.indexOf('H') > -1 ||\n format.indexOf('h') > -1 ||\n format.indexOf('k') > -1,\n showMinutes: format.indexOf('m') > -1,\n showSeconds: format.indexOf('s') > -1,\n use12Hours:\n format.indexOf('A') > -1 ||\n format.indexOf('h') > -1 ||\n format.indexOf('a') > -1,\n});\n\nexport const addLeadingZeros = count => number =>\n padStart(String(number), count, '0');\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,yBAAyB,YAAW;AAAA,EAC/C,WACE,OAAO,QAAQ,OAAO,MACtB,OAAO,QAAQ,OAAO,MACtB,OAAO,QAAQ,OAAO;AAAA,EACxB,aAAa,OAAO,QAAQ,OAAO;AAAA,EACnC,aAAa,OAAO,QAAQ,OAAO;AAAA,EACnC,YACE,OAAO,QAAQ,OAAO,MACtB,OAAO,QAAQ,OAAO,MACtB,OAAO,QAAQ,OAAO;AAAA;AAGnB,MAAM,kBAAkB,WAAS,YACtC,SAAS,OAAO,SAAS,OAAO;",
6
+ "names": []
7
+ }
package/esm/utils.js CHANGED
@@ -1,99 +1,136 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.filter.js';
3
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
- import 'core-js/modules/esnext.async-iterator.reduce.js';
5
- import 'core-js/modules/esnext.iterator.constructor.js';
6
- import 'core-js/modules/esnext.iterator.reduce.js';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
- import 'core-js/modules/esnext.async-iterator.for-each.js';
9
- import 'core-js/modules/esnext.iterator.for-each.js';
10
- import { omit, cloneDeep, isFunction } from 'lodash';
11
- export { cloneDeep, curry, debounce, differenceBy, differenceWith, filter, findIndex, get, groupBy, isBoolean, isEmpty, isEqual, isEqualWith, isFunction, isNaN, isObject, isString, maxBy, meanBy, noop, omit, orderBy, padStart, parseInt, pick, pickBy, property, pull, range, set, sortBy, sumBy, throttle, transform, uniq, uniqBy, values } from 'lodash';
12
-
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- /**
17
- * Concatenates classNames from arguments
18
- *
19
- * @param {...any} classnames
20
- */
21
-
22
- const cx = function () {
23
- for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {
24
- classnames[_key] = arguments[_key];
25
- }
26
-
27
- return classnames.reduce((result, cn) => "".concat(result, " ").concat(cn || ''), '');
28
- }; // if entry exists, remove it, if not, add it
29
-
30
- const toggleInObject = (obj, key, value) => obj[key] !== undefined ? omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, {
31
- [key]: value
32
- });
33
-
1
+ import * as React from "react";
2
+ import {
3
+ cloneDeep,
4
+ filter,
5
+ debounce,
6
+ findIndex,
7
+ isEmpty,
8
+ isString,
9
+ isEqual,
10
+ noop,
11
+ omit,
12
+ orderBy,
13
+ pull,
14
+ sumBy,
15
+ maxBy,
16
+ meanBy,
17
+ sortBy,
18
+ transform,
19
+ isFunction,
20
+ uniq,
21
+ uniqBy,
22
+ groupBy,
23
+ property,
24
+ get,
25
+ set,
26
+ range,
27
+ parseInt,
28
+ padStart,
29
+ isNaN,
30
+ values,
31
+ throttle,
32
+ pick,
33
+ pickBy,
34
+ differenceBy,
35
+ differenceWith,
36
+ isEqualWith,
37
+ curry,
38
+ isObject,
39
+ isBoolean
40
+ } from "lodash";
41
+ const cx = (...classnames) => classnames.reduce((result, cn) => `${result} ${cn || ""}`, "");
42
+ const toggleInObject = (obj, key, value) => obj[key] !== void 0 ? omit(obj, [key]) : { ...obj, [key]: value };
34
43
  const toggleInArray = (array, value) => array.indexOf(value) === -1 ? [value] : [];
35
-
36
44
  const arrayMoveMutate = (array, from, to) => {
37
45
  array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);
38
46
  };
39
-
40
47
  const arrayMove = (array, from, to) => {
41
48
  array = array.slice();
42
49
  arrayMoveMutate(array, from, to);
43
50
  return array;
44
51
  };
45
-
46
- const accessorDefault = item => item;
47
-
48
- const addOrRemove = function (array, item) {
49
- let accessor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : accessorDefault;
50
- const index = array.findIndex(iItem => accessor(iItem) === accessor(item));
51
-
52
+ const accessorDefault = (item) => item;
53
+ const addOrRemove = (array, item, accessor = accessorDefault) => {
54
+ const index = array.findIndex((iItem) => accessor(iItem) === accessor(item));
52
55
  if (index !== -1) {
53
56
  const nextArray = cloneDeep(array);
54
57
  nextArray.splice(index, 1);
55
58
  return nextArray;
56
59
  }
57
-
58
60
  return [...array, item];
59
61
  };
60
-
61
- function runAll() {
62
- for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
63
- fns[_key2] = arguments[_key2];
64
- }
65
-
66
- return function () {
67
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
68
- args[_key3] = arguments[_key3];
69
- }
70
-
71
- return fns.forEach(fn => {
72
- if (Array.isArray(fn)) runAll(fn);
73
- if (isFunction(fn)) fn(...args);
74
- });
75
- };
62
+ function runAll(...fns) {
63
+ return (...args) => fns.forEach((fn) => {
64
+ if (Array.isArray(fn))
65
+ runAll(fn);
66
+ if (isFunction(fn))
67
+ fn(...args);
68
+ });
76
69
  }
77
70
  function hashArray(arr, fieldName) {
78
- return arr.reduce((result, item) => _objectSpread(_objectSpread({}, result), {}, {
71
+ return arr.reduce((result, item) => ({
72
+ ...result,
79
73
  [fieldName ? item[fieldName] : item]: true
80
74
  }), {});
81
75
  }
82
- function safeCall(fun) {
76
+ function safeCall(fun, ...args) {
83
77
  if (isFunction(fun)) {
84
- for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
85
- args[_key4 - 1] = arguments[_key4];
86
- }
87
-
88
78
  fun(...args);
89
79
  }
90
80
  }
91
- const removeUndefinedProperties = obj => {
92
- const cleanObject = _objectSpread({}, obj);
93
-
94
- Object.keys(obj).forEach(key => cleanObject[key] === undefined && delete cleanObject[key]);
81
+ const removeUndefinedProperties = (obj) => {
82
+ const cleanObject = { ...obj };
83
+ Object.keys(obj).forEach((key) => cleanObject[key] === void 0 && delete cleanObject[key]);
95
84
  return cleanObject;
96
85
  };
97
- var utils = {};
98
-
99
- export { addOrRemove, arrayMove, cx, utils as default, hashArray, removeUndefinedProperties, runAll, safeCall, toggleInArray, toggleInObject };
86
+ var utils_default = {};
87
+ export {
88
+ addOrRemove,
89
+ arrayMove,
90
+ cloneDeep,
91
+ curry,
92
+ cx,
93
+ debounce,
94
+ utils_default as default,
95
+ differenceBy,
96
+ differenceWith,
97
+ filter,
98
+ findIndex,
99
+ get,
100
+ groupBy,
101
+ hashArray,
102
+ isBoolean,
103
+ isEmpty,
104
+ isEqual,
105
+ isEqualWith,
106
+ isFunction,
107
+ isNaN,
108
+ isObject,
109
+ isString,
110
+ maxBy,
111
+ meanBy,
112
+ noop,
113
+ omit,
114
+ orderBy,
115
+ padStart,
116
+ parseInt,
117
+ pick,
118
+ pickBy,
119
+ property,
120
+ pull,
121
+ range,
122
+ removeUndefinedProperties,
123
+ runAll,
124
+ safeCall,
125
+ set,
126
+ sortBy,
127
+ sumBy,
128
+ throttle,
129
+ toggleInArray,
130
+ toggleInObject,
131
+ transform,
132
+ uniq,
133
+ uniqBy,
134
+ values
135
+ };
136
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/utils.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\n/* eslint-disable max-lines */\n/**\n * commonly used functions\n * Add a level of indirection to lodash so we can replace\n * it if desired, while keeping function names the same\n */\n// TODO: Import individual packages vs referencing all of lodash\nimport {\n cloneDeep,\n filter,\n debounce,\n findIndex,\n isEmpty,\n isString,\n isEqual,\n noop,\n omit,\n orderBy,\n pull,\n sumBy,\n maxBy,\n meanBy,\n sortBy,\n transform,\n isFunction,\n uniq,\n uniqBy,\n groupBy,\n property,\n get,\n set,\n range,\n parseInt,\n padStart,\n isNaN,\n values,\n throttle,\n pick,\n pickBy,\n differenceBy,\n differenceWith,\n isEqualWith,\n curry,\n isObject,\n isBoolean,\n} from 'lodash';\n\n/**\n * Concatenates classNames from arguments\n *\n * @param {...any} classnames\n */\nexport const cx = (...classnames) => classnames.reduce((result, cn) => `${result} ${cn || ''}`, '');\n\n// if entry exists, remove it, if not, add it\nconst toggleInObject = (obj, key, value) => (obj[key] !== undefined ? omit(obj, [key]) : { ...obj, [key]: value });\nconst toggleInArray = (array, value) => (array.indexOf(value) === -1 ? [value] : []);\n\nconst arrayMoveMutate = (array, from, to) => {\n array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);\n};\n\nconst arrayMove = (array, from, to) => {\n array = array.slice();\n arrayMoveMutate(array, from, to);\n return array;\n};\n\nconst accessorDefault = (item) => item;\nconst addOrRemove = (array, item, accessor = accessorDefault) => {\n const index = array.findIndex((iItem) => accessor(iItem) === accessor(item));\n\n if (index !== -1) {\n const nextArray = cloneDeep(array);\n nextArray.splice(index, 1);\n return nextArray;\n }\n\n return [...array, item];\n};\n\nexport function runAll(...fns) {\n return (...args) =>\n fns.forEach((fn) => {\n if (Array.isArray(fn)) runAll(fn);\n if (isFunction(fn)) fn(...args);\n });\n}\n\nexport function hashArray(arr, fieldName) {\n return arr.reduce(\n (result, item) => ({\n ...result,\n [fieldName ? item[fieldName] : item]: true,\n }),\n {},\n );\n}\n\nexport function safeCall(fun, ...args) {\n if (isFunction(fun)) {\n fun(...args);\n }\n}\n\nexport const removeUndefinedProperties = (obj) => {\n const cleanObject = { ...obj };\n Object.keys(obj).forEach((key) => cleanObject[key] === undefined && delete cleanObject[key]);\n return cleanObject;\n};\n\nexport default {};\nexport {\n isObject,\n curry,\n arrayMove,\n uniq,\n filter,\n uniqBy,\n groupBy,\n property,\n get,\n set,\n cloneDeep,\n debounce,\n findIndex,\n isEmpty,\n isString,\n isEqual,\n maxBy,\n meanBy,\n noop,\n omit,\n orderBy,\n pull,\n sortBy,\n sumBy,\n transform,\n isFunction,\n range,\n parseInt,\n padStart,\n isNaN,\n values,\n throttle,\n toggleInObject,\n toggleInArray,\n pick,\n pickBy,\n differenceBy,\n differenceWith,\n addOrRemove,\n isEqualWith,\n isBoolean,\n};\n"],
5
+ "mappings": "AAAA;ACQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CO,MAAM,KAAK,IAAI,eAAe,WAAW,OAAO,CAAC,QAAQ,OAAO,GAAG,UAAU,MAAM,MAAM;AAGhG,MAAM,iBAAiB,CAAC,KAAK,KAAK,UAAW,IAAI,SAAS,SAAY,KAAK,KAAK,CAAC,QAAQ,KAAK,MAAM,MAAM;AAC1G,MAAM,gBAAgB,CAAC,OAAO,UAAW,MAAM,QAAQ,WAAW,KAAK,CAAC,SAAS;AAEjF,MAAM,kBAAkB,CAAC,OAAO,MAAM,OAAO;AAC3C,QAAM,OAAO,KAAK,IAAI,MAAM,SAAS,KAAK,IAAI,GAAG,MAAM,OAAO,MAAM,GAAG;AAAA;AAGzE,MAAM,YAAY,CAAC,OAAO,MAAM,OAAO;AACrC,UAAQ,MAAM;AACd,kBAAgB,OAAO,MAAM;AAC7B,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,SAAS;AAClC,MAAM,cAAc,CAAC,OAAO,MAAM,WAAW,oBAAoB;AAC/D,QAAM,QAAQ,MAAM,UAAU,CAAC,UAAU,SAAS,WAAW,SAAS;AAEtE,MAAI,UAAU,IAAI;AAChB,UAAM,YAAY,UAAU;AAC5B,cAAU,OAAO,OAAO;AACxB,WAAO;AAAA;AAGT,SAAO,CAAC,GAAG,OAAO;AAAA;AAGb,mBAAmB,KAAK;AAC7B,SAAO,IAAI,SACT,IAAI,QAAQ,CAAC,OAAO;AAClB,QAAI,MAAM,QAAQ;AAAK,aAAO;AAC9B,QAAI,WAAW;AAAK,SAAG,GAAG;AAAA;AAAA;AAIzB,mBAAmB,KAAK,WAAW;AACxC,SAAO,IAAI,OACT,CAAC,QAAQ,SAAU;AAAA,OACd;AAAA,KACF,YAAY,KAAK,aAAa,OAAO;AAAA,MAExC;AAAA;AAIG,kBAAkB,QAAQ,MAAM;AACrC,MAAI,WAAW,MAAM;AACnB,QAAI,GAAG;AAAA;AAAA;AAIJ,MAAM,4BAA4B,CAAC,QAAQ;AAChD,QAAM,cAAc,KAAK;AACzB,SAAO,KAAK,KAAK,QAAQ,CAAC,QAAQ,YAAY,SAAS,UAAa,OAAO,YAAY;AACvF,SAAO;AAAA;AAGT,IAAO,gBAAQ;",
6
+ "names": []
7
+ }
@@ -1,38 +1,28 @@
1
- import { checkNotEmpty, greaterThan, validDate } from './operators.js';
2
-
3
- const isRequired = _ref => {
4
- let {
5
- value,
6
- help = 'Field is Required'
7
- } = _ref;
8
- return {
9
- payload: help,
10
- error: checkNotEmpty(value)
11
- };
12
- };
13
- const isGreaterThan = _ref2 => {
14
- let {
15
- value,
16
- help,
17
- comparator = 0
18
- } = _ref2;
19
- if (!help) help = "Max value ".concat(comparator);
1
+ import * as React from "react";
2
+ import { checkNotEmpty, greaterThan, validDate } from "./operators";
3
+ const isRequired = ({ value, help = "Field is Required" }) => ({
4
+ payload: help,
5
+ error: checkNotEmpty(value)
6
+ });
7
+ const isGreaterThan = ({ value, help, comparator = 0 }) => {
8
+ if (!help)
9
+ help = `Max value ${comparator}`;
20
10
  return {
21
11
  payload: help,
22
12
  error: greaterThan(value, comparator)
23
13
  };
24
14
  };
25
- const isValidDate = _ref3 => {
26
- let {
27
- value,
28
- help,
29
- format = 'MM/DD/AAA'
30
- } = _ref3;
31
- if (!help) help = "Valid Date is required ".concat(format);
15
+ const isValidDate = ({ value, help, format = "MM/DD/AAA" }) => {
16
+ if (!help)
17
+ help = `Valid Date is required ${format}`;
32
18
  return {
33
19
  payload: help,
34
20
  error: !validDate(value)
35
21
  };
36
22
  };
37
-
38
- export { isGreaterThan, isRequired, isValidDate };
23
+ export {
24
+ isGreaterThan,
25
+ isRequired,
26
+ isValidDate
27
+ };
28
+ //# sourceMappingURL=validations.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/validations.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { checkNotEmpty, greaterThan, validDate } from './operators';\n\nexport const isRequired = ({ value, help = 'Field is Required' }) => ({\n payload: help,\n error: checkNotEmpty(value),\n});\n\nexport const isGreaterThan = ({ value, help, comparator = 0 }) => {\n if (!help) help = `Max value ${comparator}`;\n return {\n payload: help,\n error: greaterThan(value, comparator),\n };\n};\n\nexport const isValidDate = ({ value, help, format = 'MM/DD/AAA' }) => {\n if (!help) help = `Valid Date is required ${format}`;\n return {\n payload: help,\n error: !validDate(value),\n };\n};\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,aAAa,CAAC,EAAE,OAAO,OAAO,0BAA2B;AAAA,EACpE,SAAS;AAAA,EACT,OAAO,cAAc;AAAA;AAGhB,MAAM,gBAAgB,CAAC,EAAE,OAAO,MAAM,aAAa,QAAQ;AAChE,MAAI,CAAC;AAAM,WAAO,aAAa;AAC/B,SAAO;AAAA,IACL,SAAS;AAAA,IACT,OAAO,YAAY,OAAO;AAAA;AAAA;AAIvB,MAAM,cAAc,CAAC,EAAE,OAAO,MAAM,SAAS,kBAAkB;AACpE,MAAI,CAAC;AAAM,WAAO,0BAA0B;AAC5C,SAAO;AAAA,IACL,SAAS;AAAA,IACT,OAAO,CAAC,UAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-utilities",
3
- "version": "2.2.0-next.3",
3
+ "version": "2.3.0-alpha.1",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Utilities",
6
6
  "module": "./esm/index.js",
@@ -8,4 +8,5 @@
8
8
  * from right to left. For example, compose(f, g, h) is identical to doing
9
9
  * (...args) => f(g(h(...args))).
10
10
  */
11
- export declare function compose(...funcs: any[]): any;
11
+ export declare const compose: (...funcs: any[]) => any;
12
+ export default compose;
@@ -1,2 +1,3 @@
1
1
  /// <reference types="react" />
2
- export default function getComponentFromProps(Component: any, props: any, children?: never[]): JSX.Element | null;
2
+ export declare const getComponentFromProps: (Component: any, props: any, children?: never[]) => JSX.Element | null;
3
+ export default getComponentFromProps;
@@ -1,18 +1,18 @@
1
1
  export { default as useMeasure } from 'use-measure';
2
- export { default as useExecutionTimer } from './useExecutionTimer';
3
- export { default as useExpandState } from './useExpandState';
4
- export { default as useHotkeys } from './useHotkeys';
5
- export { default as useHoverHandlersDelay } from './useHoverHandlersDelay';
6
- export { default as useResizeObserver } from './useResizeObserver';
7
- export { default as useShouldRecalculate } from './useShouldRecalculate';
8
- export { default as useWindowScrollerList } from './useWindowScrollerList';
9
- export { default as useWindowSize } from './useWindowSize';
10
2
  export { default as useForceUpdate } from 'use-force-update';
11
3
  export { default as useOnClickOutside } from 'use-onclickoutside';
12
4
  export { useUncontrolled } from 'uncontrollable';
13
- export { default as usePrevious } from './usePrevious';
14
- export { default as useCancellableDelayedCallback } from './useCancellableDelayedCallback';
15
- export { default as useDerivedStateFromProps } from './useDerivedStateFromProps';
16
- export * from './useSetRef';
17
- export * from './useParentElement';
18
- export * from './useOnElementResize';
5
+ export { useExecutionTimer } from './useExecutionTimer';
6
+ export { useExpandState } from './useExpandState';
7
+ export { useHotkeys } from './useHotkeys';
8
+ export { useHoverHandlersDelay } from './useHoverHandlersDelay';
9
+ export { useResizeObserver } from './useResizeObserver';
10
+ export { useShouldRecalculate } from './useShouldRecalculate';
11
+ export { useWindowScrollerList } from './useWindowScrollerList';
12
+ export { useWindowSize } from './useWindowSize';
13
+ export { usePrevious } from './usePrevious';
14
+ export { useCancellableDelayedCallback } from './useCancellableDelayedCallback';
15
+ export { useDerivedStateFromProps } from './useDerivedStateFromProps';
16
+ export { useSetRef } from './useSetRef';
17
+ export { useParentElement } from './useParentElement';
18
+ export { useOnElementResize } from './useOnElementResize';
@@ -1 +1,2 @@
1
- export default function useCancellableDelayedCallback(cb: any, delay: any): ((...args: any[]) => void)[];
1
+ export declare const useCancellableDelayedCallback: (cb: any, delay: any) => ((...args: any[]) => void)[];
2
+ export default useCancellableDelayedCallback;
@@ -1 +1,2 @@
1
- export default function useDerivedStateFromProp(prop: any, options?: {}): any[];
1
+ export declare const useDerivedStateFromProps: (prop: any, options?: {}) => any[];
2
+ export default useDerivedStateFromProps;
@@ -1 +1,2 @@
1
- export default function useExecutionDelay(startFn: any, cleanFn: any, delayTime: any): ((...args: any[]) => void)[];
1
+ export declare const useExecutionTimer: (startFn: any, cleanFn: any, delayTime: any) => ((...args: any[]) => void)[];
2
+ export default useExecutionTimer;
@@ -1,4 +1,4 @@
1
- export default function useExpandState({ items, itemKey, expanded: expandedProp, onExpand, onExpandChange, onExpandAll, onToggleExpand, onCollapse, }: {
1
+ export declare const useExpandState: ({ items, itemKey, expanded: expandedProp, onExpand, onExpandChange, onExpandAll, onToggleExpand, onCollapse, }: {
2
2
  items?: never[] | undefined;
3
3
  itemKey?: string | undefined;
4
4
  expanded?: {} | undefined;
@@ -7,7 +7,7 @@ export default function useExpandState({ items, itemKey, expanded: expandedProp,
7
7
  onExpandAll?: (() => null) | undefined;
8
8
  onToggleExpand: any;
9
9
  onCollapse: any;
10
- }): {
10
+ }) => {
11
11
  state: {
12
12
  expanded: any;
13
13
  isExpandedAll: boolean;
@@ -20,3 +20,4 @@ export default function useExpandState({ items, itemKey, expanded: expandedProp,
20
20
  };
21
21
  setExpanded: any;
22
22
  };
23
+ export default useExpandState;
@@ -1,5 +1,6 @@
1
- export default function useHotkeys({ keys, handler, options }: {
1
+ export declare const useHotkeys: ({ keys, handler, options }: {
2
2
  keys: any;
3
3
  handler: any;
4
4
  options?: {} | undefined;
5
- }, deps?: never[]): void;
5
+ }, deps?: never[]) => void;
6
+ export default useHotkeys;
@@ -1,9 +1,10 @@
1
- export default function useHoverHandlersDelay({ onMouseOver, onMouseLeave, hideDelay, showDelay, }: {
1
+ export declare const useHoverHandlersDelay: ({ onMouseOver, onMouseLeave, hideDelay, showDelay, }: {
2
2
  onMouseOver: any;
3
3
  onMouseLeave: any;
4
4
  hideDelay?: number | undefined;
5
5
  showDelay?: number | undefined;
6
- }): {
6
+ }) => {
7
7
  onMouseOver: () => void;
8
8
  onMouseLeave: () => void;
9
9
  };
10
+ export default useHoverHandlersDelay;
@@ -1,2 +1,2 @@
1
- declare function usePrevious(value: any): undefined;
1
+ export declare const usePrevious: (value: any) => undefined;
2
2
  export default usePrevious;
@@ -1,2 +1,3 @@
1
1
  /// <reference types="react" />
2
- export default function useResizeObserver(handler: any, el: any): import("react").Dispatch<any>[];
2
+ export declare const useResizeObserver: (handler: any, el: any) => import("react").Dispatch<any>[];
3
+ export default useResizeObserver;