@elliemae/ds-shared 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (75) hide show
  1. package/cjs/Animations/BaseAnimation.js +24 -20
  2. package/cjs/Animations/Grow.js +30 -26
  3. package/cjs/Animations/GrowRight.js +30 -26
  4. package/cjs/Animations/GrowVertical.js +1 -0
  5. package/cjs/CheckableGroup.js +35 -26
  6. package/cjs/DeferRenderAfterComputation.js +9 -7
  7. package/cjs/FocusGroup/FocusGrid.js +43 -36
  8. package/cjs/FocusGroup/FocusGroup.js +32 -14
  9. package/cjs/FocusGroup/FocusGroupContext.js +1 -1
  10. package/cjs/FocusGroup/FocusGroupManager.js +7 -12
  11. package/cjs/FocusGroup/focusGroupManagerHoc.js +9 -3
  12. package/cjs/FocusGroup/index.js +2 -2
  13. package/cjs/FocusGroup/useFocusGroupItem.js +11 -5
  14. package/cjs/FocusGroup/utils/getNextCellPosition.js +10 -9
  15. package/cjs/GroupContext/Group.js +12 -5
  16. package/cjs/GroupContext/GroupContext.js +1 -1
  17. package/cjs/GroupContext/GroupItem.js +6 -3
  18. package/cjs/ScrollSync/ScrollSync.js +26 -25
  19. package/cjs/ScrollSync/ScrollSyncPane.js +16 -8
  20. package/cjs/ScrollSync/ScrollSyncProvider.js +15 -9
  21. package/cjs/ScrollSync/index.js +1 -1
  22. package/cjs/createDataInstance/createInstancePlugin.js +7 -1
  23. package/cjs/createDataInstance/createInstanceRef.js +10 -2
  24. package/cjs/createDataInstance/utils.js +58 -26
  25. package/cjs/defer-render-hoc/index.js +13 -8
  26. package/cjs/index.js +1 -1
  27. package/cjs/react-spring/index.js +1 -3
  28. package/cjs/react-spring/renderprops.js +1 -3
  29. package/cjs/toolbar/ToolbarProvider.js +37 -27
  30. package/cjs/useDataGrid/VolatileRowsListener.js +6 -8
  31. package/cjs/useDataGrid/initColumnDefinition.js +30 -22
  32. package/cjs/useDataGrid/useDataGrid.js +47 -41
  33. package/cjs/useDataList/index.js +1 -1
  34. package/cjs/useDataList/recordIterator.js +4 -1
  35. package/cjs/useDataList/useDataList.js +21 -7
  36. package/cjs/utils.js +9 -2
  37. package/cjs/virtualization/AutoHeightList.js +12 -10
  38. package/cjs/virtualization/FluidHeightList.js +18 -10
  39. package/cjs/virtualization/index.js +7 -6
  40. package/esm/Animations/BaseAnimation.js +24 -20
  41. package/esm/Animations/Grow.js +30 -26
  42. package/esm/Animations/GrowRight.js +30 -26
  43. package/esm/Animations/GrowVertical.js +1 -0
  44. package/esm/CheckableGroup.js +29 -19
  45. package/esm/DeferRenderAfterComputation.js +8 -6
  46. package/esm/FocusGroup/FocusGrid.js +27 -19
  47. package/esm/FocusGroup/FocusGroup.js +26 -8
  48. package/esm/FocusGroup/FocusGroupManager.js +4 -8
  49. package/esm/FocusGroup/focusGroupManagerHoc.js +7 -1
  50. package/esm/FocusGroup/useFocusGroupItem.js +8 -2
  51. package/esm/FocusGroup/utils/getNextCellPosition.js +10 -9
  52. package/esm/GroupContext/Group.js +11 -4
  53. package/esm/GroupContext/GroupItem.js +6 -3
  54. package/esm/ScrollSync/ScrollSync.js +22 -20
  55. package/esm/ScrollSync/ScrollSyncPane.js +14 -6
  56. package/esm/ScrollSync/ScrollSyncProvider.js +12 -6
  57. package/esm/createDataInstance/createInstancePlugin.js +6 -0
  58. package/esm/createDataInstance/createInstanceRef.js +8 -0
  59. package/esm/createDataInstance/utils.js +57 -25
  60. package/esm/defer-render-hoc/index.js +10 -5
  61. package/esm/toolbar/ToolbarProvider.js +30 -20
  62. package/esm/useDataGrid/VolatileRowsListener.js +5 -3
  63. package/esm/useDataGrid/initColumnDefinition.js +12 -4
  64. package/esm/useDataGrid/useDataGrid.js +26 -16
  65. package/esm/useDataList/recordIterator.js +4 -1
  66. package/esm/useDataList/useDataList.js +17 -3
  67. package/esm/utils.js +8 -1
  68. package/esm/virtualization/AutoHeightList.js +6 -3
  69. package/esm/virtualization/FluidHeightList.js +14 -6
  70. package/esm/virtualization/index.js +7 -6
  71. package/package.json +8 -4
  72. package/types/toolbar/ToolbarProvider.d.ts +1 -1
  73. package/types/useDataGrid/initColumnDefinition.d.ts +4 -3
  74. package/cjs/package.json +0 -7
  75. package/esm/package.json +0 -7
@@ -3,6 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.for-each.js');
9
+ require('core-js/modules/esnext.async-iterator.reduce.js');
10
+ require('core-js/modules/esnext.iterator.reduce.js');
11
+ require('core-js/modules/web.dom-collections.iterator.js');
12
+ require('core-js/modules/esnext.async-iterator.map.js');
13
+ require('core-js/modules/esnext.iterator.map.js');
14
+ require('core-js/modules/esnext.async-iterator.filter.js');
15
+ require('core-js/modules/esnext.iterator.filter.js');
6
16
 
7
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
18
 
@@ -10,18 +20,26 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
10
20
 
11
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
12
22
 
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
-
15
- const reducePropsGetter = (decorators = [], grid) => (props = {}, extraParams) => {
16
- let nextProps = props;
17
- decorators.forEach(decorator => {
18
- nextProps = decorator(nextProps, grid, extraParams);
19
- });
20
- return nextProps;
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ const reducePropsGetter = function () {
25
+ let decorators = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26
+ let grid = arguments.length > 1 ? arguments[1] : undefined;
27
+ return function () {
28
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
+ let extraParams = arguments.length > 1 ? arguments[1] : undefined;
30
+ let nextProps = props;
31
+ decorators.forEach(decorator => {
32
+ nextProps = decorator(nextProps, grid, extraParams);
33
+ });
34
+ return nextProps;
35
+ };
21
36
  };
22
37
  /* eslint-disable-next-line max-params */
23
38
 
24
- function evaluateTransforms(transforms, value, extraParams = {}, props = {}, grid) {
39
+ function evaluateTransforms(transforms, value) {
40
+ let extraParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
41
+ let props = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
42
+ let grid = arguments.length > 4 ? arguments[4] : undefined;
25
43
  let nextProps = props;
26
44
  transforms.forEach(transform => {
27
45
  nextProps = transform(value, extraParams, nextProps, grid);
@@ -30,15 +48,26 @@ function evaluateTransforms(transforms, value, extraParams = {}, props = {}, gri
30
48
  }
31
49
  /* eslint-disable-next-line max-params */
32
50
 
33
- function evaluateFormatters(formatters, value, extraParams = {}, grid) {
51
+ function evaluateFormatters(formatters, value) {
52
+ let extraParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
53
+ let grid = arguments.length > 3 ? arguments[3] : undefined;
34
54
  return formatters.reduce((result, formatter) => formatter(result, extraParams, grid), value);
35
55
  }
36
- function composeFormatters(formatters, instance, getItemValue = record => record.data.name) {
56
+ function composeFormatters(formatters, instance) {
57
+ let getItemValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : record => record.data.name;
37
58
  // todo: make the formatters subscribe to the item props instead of getting the whole instance
38
59
  // todo: addd should formatter update to memoize specific ones
39
60
  return props => formatters.reduce((result, formatter) => formatter(result, props, instance), getItemValue(props.record));
40
61
  }
41
- const applyDecorators = (subject, decorators = [], ...args) => decorators.reduce((nextSubject, decorator) => decorator(nextSubject, ...args), subject);
62
+ const applyDecorators = function (subject) {
63
+ let decorators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
64
+
65
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
66
+ args[_key - 2] = arguments[_key];
67
+ }
68
+
69
+ return decorators.reduce((nextSubject, decorator) => decorator(nextSubject, ...args), subject);
70
+ };
42
71
  const decorateColumns = (columns, decorators, grid) => {
43
72
  const nextColumns = applyDecorators(columns, decorators.decorateColumns, grid);
44
73
  return nextColumns.map((column, index) => applyDecorators(column, decorators.decorateColumn, grid, index));
@@ -55,20 +84,23 @@ const registerStateHookToInstance = (instance, stateHook) => {
55
84
  });
56
85
  };
57
86
 
58
- const reduceHotKey = (instance, {
59
- key,
60
- handler,
61
- options,
62
- allowDocumentHandler
63
- }) => _objectSpread(_objectSpread({}, instance), {}, {
64
- hotKeys: _objectSpread(_objectSpread({}, instance.hotKeys), {}, {
65
- [key]: {
66
- handler,
67
- options,
68
- allowDocumentHandler
69
- }
70
- })
71
- });
87
+ const reduceHotKey = (instance, _ref) => {
88
+ let {
89
+ key,
90
+ handler,
91
+ options,
92
+ allowDocumentHandler
93
+ } = _ref;
94
+ return _objectSpread(_objectSpread({}, instance), {}, {
95
+ hotKeys: _objectSpread(_objectSpread({}, instance.hotKeys), {}, {
96
+ [key]: {
97
+ handler,
98
+ options,
99
+ allowDocumentHandler
100
+ }
101
+ })
102
+ });
103
+ };
72
104
 
73
105
  const registerHotKeysHookToInstance = (instance, hotKeysHook) => {
74
106
  const hotKeys = hotKeysHook(instance);
@@ -1,6 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ require('core-js/modules/web.dom-collections.iterator.js');
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
4
10
  var React = require('react');
5
11
  var raf = require('raf');
6
12
  var hoistNonReactStatic = require('hoist-non-react-statics');
@@ -14,19 +20,18 @@ var hoistNonReactStatic__default = /*#__PURE__*/_interopDefaultLegacy(hoistNonRe
14
20
 
15
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
16
22
 
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
24
  function deferComponentRender(WrappedComponent, fallback) {
19
25
  class DeferredRenderWrapper extends React.PureComponent {
20
- constructor(...args) {
21
- super(...args);
22
-
23
- _defineProperty__default['default'](this, "state", {
26
+ constructor() {
27
+ super(...arguments);
28
+ this.state = {
24
29
  shouldRender: false
25
- });
30
+ };
26
31
  }
27
32
 
28
33
  componentDidMount() {
29
- raf__default['default'](() => raf__default['default'](() => this.setState({
34
+ raf__default["default"](() => raf__default["default"](() => this.setState({
30
35
  shouldRender: true
31
36
  })));
32
37
  }
@@ -38,7 +43,7 @@ function deferComponentRender(WrappedComponent, fallback) {
38
43
 
39
44
  }
40
45
 
41
- return hoistNonReactStatic__default['default'](DeferredRenderWrapper, WrappedComponent);
46
+ return hoistNonReactStatic__default["default"](DeferredRenderWrapper, WrappedComponent);
42
47
  }
43
48
 
44
49
  module.exports = deferComponentRender;
package/cjs/index.js CHANGED
@@ -10,7 +10,7 @@ var GroupItem = require('./GroupContext/GroupItem.js');
10
10
 
11
11
 
12
12
 
13
- exports.ScrollSync = ScrollSync['default'];
13
+ exports.ScrollSync = ScrollSync["default"];
14
14
  exports.ScrollSyncPane = ScrollSyncPane;
15
15
  exports.Group = Group;
16
16
  exports.GroupContext = GroupContext.GroupContext;
@@ -9,8 +9,6 @@ var web = require('react-spring/web');
9
9
  Object.keys(web).forEach(function (k) {
10
10
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
11
11
  enumerable: true,
12
- get: function () {
13
- return web[k];
14
- }
12
+ get: function () { return web[k]; }
15
13
  });
16
14
  });
@@ -9,8 +9,6 @@ var renderprops = require('react-spring/renderprops');
9
9
  Object.keys(renderprops).forEach(function (k) {
10
10
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
11
11
  enumerable: true,
12
- get: function () {
13
- return renderprops[k];
14
- }
12
+ get: function () { return renderprops[k]; }
15
13
  });
16
14
  });
@@ -4,9 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
7
13
  var React = require('react');
8
- var DSPopover = require('@elliemae/ds-basic/Popover');
9
- var hooks = require('@elliemae/ds-utilities/hooks');
14
+ var DSPopover = require('@elliemae/ds-popper');
15
+ var dsUtilities = require('@elliemae/ds-utilities');
10
16
  var jsxRuntime = require('react/jsx-runtime');
11
17
 
12
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -18,8 +24,8 @@ var DSPopover__default = /*#__PURE__*/_interopDefaultLegacy(DSPopover);
18
24
 
19
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
20
26
 
21
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
- const ToolbarContext = /*#__PURE__*/React__default['default'].createContext();
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ const ToolbarContext = /*#__PURE__*/React__default["default"].createContext();
23
29
  const {
24
30
  Provider
25
31
  } = ToolbarContext;
@@ -35,12 +41,13 @@ const useScrollListener = (callback, dependencies) => {
35
41
 
36
42
  const noop = () => null;
37
43
 
38
- function ToolbarProvider({
39
- delay = 200,
40
- children,
41
- onHide = noop,
42
- onShow = noop
43
- }) {
44
+ function ToolbarProvider(_ref) {
45
+ let {
46
+ delay = 200,
47
+ children,
48
+ onHide = noop,
49
+ onShow = noop
50
+ } = _ref;
44
51
  const showTimer = React.useRef();
45
52
  const hideTimer = React.useRef();
46
53
  const toolbarRef = React.useRef();
@@ -63,7 +70,7 @@ function ToolbarProvider({
63
70
  };
64
71
 
65
72
  useScrollListener(e => hide(e, true), tooltipState.visible);
66
- hooks.useOnClickOutside(toolbarRef, () => hide());
73
+ dsUtilities.useOnClickOutside(toolbarRef, () => hide());
67
74
 
68
75
  const keyDownHandler = e => {
69
76
  if (e.key === 'Escape') {
@@ -82,32 +89,35 @@ function ToolbarProvider({
82
89
  show,
83
90
  hide
84
91
  }), [tooltipState.reference]);
85
- return /*#__PURE__*/_jsx__default['default'](Provider, {
92
+ return /*#__PURE__*/_jsx__default["default"](Provider, {
86
93
  value: value
87
- }, void 0, children, /*#__PURE__*/jsxRuntime.jsx(DSPopover__default['default'], _objectSpread(_objectSpread({
94
+ }, void 0, children, /*#__PURE__*/jsxRuntime.jsx(DSPopover__default["default"], _objectSpread(_objectSpread({
88
95
  boundaries: "scrollParent"
89
96
  }, tooltipState.options || {}), {}, {
90
97
  content: tooltipState.renderer,
91
98
  placement: "left",
92
99
  referenceEl: tooltipState.reference,
93
- renderer: ({
94
- as: Component,
95
- style,
96
- children: Content
97
- }) => /*#__PURE__*/jsxRuntime.jsx("div", {
98
- ref: toolbarRef,
99
- onMouseEnter: e => show(tooltipState),
100
- onMouseLeave: hide,
101
- children: /*#__PURE__*/_jsx__default['default'](Component, {
102
- style: style
103
- }, void 0, Content)
104
- }),
100
+ renderer: _ref2 => {
101
+ let {
102
+ as: Component,
103
+ style,
104
+ children: Content
105
+ } = _ref2;
106
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
107
+ ref: toolbarRef,
108
+ onMouseEnter: e => show(tooltipState),
109
+ onMouseLeave: hide,
110
+ children: /*#__PURE__*/_jsx__default["default"](Component, {
111
+ style: style
112
+ }, void 0, Content)
113
+ });
114
+ },
105
115
  style: tooltipState.style,
106
116
  visible: tooltipState.visible
107
117
  })));
108
118
  }
109
119
 
110
- var ToolbarProvider$1 = /*#__PURE__*/React__default['default'].memo(ToolbarProvider);
120
+ var ToolbarProvider$1 = /*#__PURE__*/React__default["default"].memo(ToolbarProvider);
111
121
 
112
122
  exports.ToolbarContext = ToolbarContext;
113
- exports['default'] = ToolbarProvider$1;
123
+ exports["default"] = ToolbarProvider$1;
@@ -1,15 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- var utils = require('@elliemae/ds-utilities/utils');
5
-
6
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
-
8
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
3
+ require('core-js/modules/esnext.async-iterator.for-each.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.for-each.js');
6
+ var dsUtilities = require('@elliemae/ds-utilities');
9
7
 
10
8
  class VolatileRowsListener {
11
9
  constructor() {
12
- _defineProperty__default['default'](this, "observers", []);
10
+ this.observers = [];
13
11
  }
14
12
 
15
13
  observe(listener) {
@@ -17,7 +15,7 @@ class VolatileRowsListener {
17
15
  }
18
16
 
19
17
  notify(nextRows) {
20
- this.observers.forEach(observer => utils.safeCall(observer, nextRows));
18
+ this.observers.forEach(observer => dsUtilities.safeCall(observer, nextRows));
21
19
  this.observers = [];
22
20
  }
23
21
 
@@ -4,10 +4,16 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
7
8
  require('core-js/modules/es.string.replace.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
8
14
  require('react');
9
15
  var uuid = require('uuid');
10
- var utils = require('@elliemae/ds-utilities/utils');
16
+ var dsUtilities = require('@elliemae/ds-utilities');
11
17
 
12
18
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
19
 
@@ -16,17 +22,18 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
16
22
 
17
23
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
24
 
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
26
 
21
- const appendHeaderFormatter = utils.curry((formatter, column) => _objectSpread(_objectSpread({}, column), {}, {
27
+ const appendHeaderFormatter = dsUtilities.curry((formatter, column) => _objectSpread(_objectSpread({}, column), {}, {
22
28
  header: _objectSpread(_objectSpread({}, column.header), {}, {
23
- formatters: [...utils.get(column, 'header.formatters', []), formatter]
29
+ formatters: [...dsUtilities.get(column, 'header.formatters', []), formatter]
24
30
  })
25
31
  }));
26
- const appendCellFormatter = utils.curry((formatter, column, path = 'formatters') => {
27
- const nextColumn = utils.cloneDeep(column);
28
- const formatters = utils.get(nextColumn, ['cell', path], []);
29
- const scrollingFormatters = utils.get(nextColumn, 'cell.scrollingFormatters', []);
32
+ const appendCellFormatter = dsUtilities.curry(function (formatter, column) {
33
+ let path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'formatters';
34
+ const nextColumn = dsUtilities.cloneDeep(column);
35
+ const formatters = dsUtilities.get(nextColumn, ['cell', path], []);
36
+ const scrollingFormatters = dsUtilities.get(nextColumn, 'cell.scrollingFormatters', []);
30
37
 
31
38
  if (Array.isArray(formatter)) {
32
39
  if (formatter[1]) scrollingFormatters.push(formatter[1]);
@@ -36,8 +43,8 @@ const appendCellFormatter = utils.curry((formatter, column, path = 'formatters')
36
43
  scrollingFormatters.push(formatter);
37
44
  }
38
45
 
39
- utils.set(nextColumn, ['cell', path], formatters);
40
- utils.set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);
46
+ dsUtilities.set(nextColumn, ['cell', path], formatters);
47
+ dsUtilities.set(nextColumn, 'cell.scrollingFormatters', scrollingFormatters);
41
48
  return nextColumn;
42
49
  });
43
50
  const defaultColumnDefinitionOptions = {
@@ -46,18 +53,19 @@ const defaultColumnDefinitionOptions = {
46
53
  isUserColumn: true,
47
54
  visible: true
48
55
  };
49
- const mergeClassNameToColumnHeader = utils.curry((className, column) => {
50
- const headerProps = utils.get(column, ['header', 'props'], {});
56
+ const mergeClassNameToColumnHeader = dsUtilities.curry((className, column) => {
57
+ const headerProps = dsUtilities.get(column, ['header', 'props'], {});
51
58
  const headerClassName = headerProps.className || '';
52
59
  return _objectSpread(_objectSpread({}, column), {}, {
53
60
  header: _objectSpread(_objectSpread({}, column.header), {}, {
54
61
  props: _objectSpread(_objectSpread({}, headerProps), {}, {
55
- className: `${headerClassName} ${className}`
62
+ className: "".concat(headerClassName, " ").concat(className)
56
63
  })
57
64
  })
58
65
  });
59
66
  });
60
- function initColumnDefinition(options = {}) {
67
+ function initColumnDefinition() {
68
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
69
  // eslint-disable-next-line complexity
62
70
  return column => {
63
71
  // todo: clean this
@@ -89,14 +97,14 @@ function initColumnDefinition(options = {}) {
89
97
 
90
98
  column.header = _objectSpread(_objectSpread({}, column.header), {}, {
91
99
  label: column.label,
92
- formatters: [...utils.get(column, ['header', 'formatters'], [])],
100
+ formatters: [...dsUtilities.get(column, ['header', 'formatters'], [])],
93
101
  props: {
94
102
  style: column.headerStyle || {}
95
103
  }
96
104
  });
97
105
 
98
- if (useTextTruncation && !(utils.isFunction(column.customHeaderRenderer) || column.header.formatters.length)) {
99
- column.header.formatters.push(value => /*#__PURE__*/_jsx__default['default']("span", {
106
+ if (useTextTruncation && !(dsUtilities.isFunction(column.customHeaderRenderer) || column.header.formatters.length)) {
107
+ column.header.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
100
108
  className: "cell-value"
101
109
  }, void 0, value));
102
110
  } // eslint-disable-next-line no-param-reassign
@@ -104,15 +112,15 @@ function initColumnDefinition(options = {}) {
104
112
 
105
113
  column.cell = _objectSpread(_objectSpread({}, column.cell), {}, {
106
114
  transforms: [],
107
- formatters: [...utils.get(column, ['cell', 'formatters'], [])],
108
- scrollingFormatters: [...utils.get(column, ['cell', 'formatters'], [])],
115
+ formatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
116
+ scrollingFormatters: [...dsUtilities.get(column, ['cell', 'formatters'], [])],
109
117
  props: {
110
118
  style: column.cellStyle || {}
111
119
  }
112
120
  });
113
121
 
114
- if (useTextTruncation && !(utils.isFunction(column.customRenderer) || column.cell.formatters.length)) {
115
- column.cell.formatters.push(value => /*#__PURE__*/_jsx__default['default']("span", {
122
+ if (useTextTruncation && !(dsUtilities.isFunction(column.customRenderer) || column.cell.formatters.length)) {
123
+ column.cell.formatters.push(value => /*#__PURE__*/_jsx__default["default"]("span", {
116
124
  className: "cell-value",
117
125
  style: {
118
126
  justifyContent: column.type === 'number' ? 'flex-end' : 'flex-start'
@@ -134,5 +142,5 @@ function initColumnDefinition(options = {}) {
134
142
 
135
143
  exports.appendCellFormatter = appendCellFormatter;
136
144
  exports.appendHeaderFormatter = appendHeaderFormatter;
137
- exports['default'] = initColumnDefinition;
145
+ exports["default"] = initColumnDefinition;
138
146
  exports.mergeClassNameToColumnHeader = mergeClassNameToColumnHeader;
@@ -2,15 +2,22 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- var utils$1 = require('@elliemae/ds-utilities/utils');
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ require('core-js/modules/esnext.async-iterator.map.js');
7
+ require('core-js/modules/esnext.iterator.map.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.for-each.js');
11
+ require('core-js/modules/esnext.async-iterator.reduce.js');
12
+ require('core-js/modules/esnext.iterator.reduce.js');
13
+ require('core-js/modules/esnext.async-iterator.filter.js');
14
+ require('core-js/modules/esnext.iterator.filter.js');
15
+ var dsUtilities = require('@elliemae/ds-utilities');
6
16
  var React = require('react');
7
17
  var uuid = require('uuid');
8
18
  var resolve = require('table-resolver');
9
- var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
10
- var usePrevious = require('@elliemae/ds-utilities/hooks/usePrevious');
11
- var system = require('@elliemae/ds-utilities/system');
12
19
  var initColumnDefinition = require('./initColumnDefinition.js');
13
- var utils$2 = require('../createDataInstance/utils.js');
20
+ var utils$1 = require('../createDataInstance/utils.js');
14
21
  var VolatileRowsListener = require('./VolatileRowsListener.js');
15
22
  var utils = require('../utils.js');
16
23
 
@@ -25,28 +32,24 @@ function _interopNamespace(e) {
25
32
  var d = Object.getOwnPropertyDescriptor(e, k);
26
33
  Object.defineProperty(n, k, d.get ? d : {
27
34
  enumerable: true,
28
- get: function () {
29
- return e[k];
30
- }
35
+ get: function () { return e[k]; }
31
36
  });
32
37
  }
33
38
  });
34
39
  }
35
- n['default'] = e;
40
+ n["default"] = e;
36
41
  return Object.freeze(n);
37
42
  }
38
43
 
39
44
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
40
45
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
41
46
  var resolve__namespace = /*#__PURE__*/_interopNamespace(resolve);
42
- var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
43
- var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
44
47
 
45
48
  const _excluded = ["uuid", "plugins", "rows", "columns", "renderers"];
46
49
 
47
50
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
48
51
 
49
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
52
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
50
53
  const IS_INTERNET_EXPLORER = utils.isInternetExplorer(); // TODO: Reuse createDataInstance for the grid the same
51
54
  // way as the list does ex: packages/ds-shared/src/useDataList/useDataList.js
52
55
  // eslint-disable-next-line max-statements
@@ -59,7 +62,7 @@ function useDataGrid(_ref) {
59
62
  columns,
60
63
  renderers = {}
61
64
  } = _ref,
62
- props = _objectWithoutProperties__default['default'](_ref, _excluded);
65
+ props = _objectWithoutProperties__default["default"](_ref, _excluded);
63
66
 
64
67
  const plugins = pluginsFromProps;
65
68
  const instance = React.useRef();
@@ -75,15 +78,15 @@ function useDataGrid(_ref) {
75
78
 
76
79
  const [RowsObserver] = React.useState(() => new VolatileRowsListener()); // todo move this with rows composition
77
80
 
78
- const [originalRows, updateRows] = useDerivedStateFromProps__default['default'](rows, {
81
+ const [originalRows, updateRows] = dsUtilities.useDerivedStateFromProps(rows, {
79
82
  onUpdate: resolve__namespace.resolve({
80
83
  columns,
81
- method: extra => utils$1.compose(resolve__namespace.byFunction('valueTransformation')(extra), resolve__namespace.nested(extra))
84
+ method: extra => dsUtilities.compose(resolve__namespace.byFunction('valueTransformation')(extra), resolve__namespace.nested(extra))
82
85
  }),
83
86
  updateOnStateChange: true
84
87
  });
85
88
  instance.current = {
86
- decoratedRenderers: utils$1.cloneDeep(renderers),
89
+ decoratedRenderers: dsUtilities.cloneDeep(renderers),
87
90
  decoratedColumns: columns,
88
91
  columns,
89
92
  rows,
@@ -131,7 +134,7 @@ function useDataGrid(_ref) {
131
134
  registerStateHook: [],
132
135
  registerHotKeys: [],
133
136
  decorateColumn: [],
134
- decorateColumns: [cols => cols.map(col => initColumnDefinition['default']({
137
+ decorateColumns: [cols => cols.map(col => initColumnDefinition["default"]({
135
138
  useTextTruncation: col.useTextTruncation,
136
139
  wrapText: props.wrapText,
137
140
  normalize: props.normalizeDataKeys
@@ -162,18 +165,21 @@ function useDataGrid(_ref) {
162
165
  });
163
166
  }, instance.current);
164
167
 
165
- const reduceHotKey = (nextInstance, {
166
- key,
167
- handler,
168
- options
169
- }) => _objectSpread(_objectSpread({}, nextInstance), {}, {
170
- hotKeys: _objectSpread(_objectSpread({}, nextInstance.hotKeys), {}, {
171
- [key]: {
172
- handler,
173
- options
174
- }
175
- })
176
- });
168
+ const reduceHotKey = (nextInstance, _ref2) => {
169
+ let {
170
+ key,
171
+ handler,
172
+ options
173
+ } = _ref2;
174
+ return _objectSpread(_objectSpread({}, nextInstance), {}, {
175
+ hotKeys: _objectSpread(_objectSpread({}, nextInstance.hotKeys), {}, {
176
+ [key]: {
177
+ handler,
178
+ options
179
+ }
180
+ })
181
+ });
182
+ };
177
183
 
178
184
  instance.current = decorators.registerHotKeys.reduce((nextInstance, decorator) => {
179
185
  const hotKeys = decorator(nextInstance);
@@ -184,28 +190,28 @@ function useDataGrid(_ref) {
184
190
 
185
191
  return reduceHotKey(nextInstance, hotKeys);
186
192
  }, instance.current);
187
- instance.current.decoratedRenderers = utils$2.applyDecorators(instance.current.decoratedRenderers, decorators.decorateRenderers, instance.current);
193
+ instance.current.decoratedRenderers = utils$1.applyDecorators(instance.current.decoratedRenderers, decorators.decorateRenderers, instance.current);
188
194
  instance.current.decoratedColumns = React.useMemo(() => {
189
- const visibleColumns = utils$1.cloneDeep(columns).filter(column => typeof column.visible === 'undefined' || column.visible);
190
- return visibleColumns.length ? utils$2.decorateColumns(visibleColumns, decorators, instance.current) : [];
195
+ const visibleColumns = dsUtilities.cloneDeep(columns).filter(column => typeof column.visible === 'undefined' || column.visible);
196
+ return visibleColumns.length ? utils$1.decorateColumns(visibleColumns, decorators, instance.current) : [];
191
197
  }, [columns]);
192
- instance.current.getBodyProps = utils$2.reducePropsGetter(decorators.getBodyProps, instance.current);
193
- instance.current.getHeaderProps = utils$2.reducePropsGetter(decorators.getHeaderProps, instance.current);
194
- instance.current.getRowProps = utils$2.reducePropsGetter(decorators.getRowProps, instance.current);
195
- instance.current.getHeaderRowProps = utils$2.reducePropsGetter(decorators.getHeaderRowProps, instance.current);
196
- instance.current.getTableProps = utils$2.reducePropsGetter(decorators.getTableProps, instance.current);
198
+ instance.current.getBodyProps = utils$1.reducePropsGetter(decorators.getBodyProps, instance.current);
199
+ instance.current.getHeaderProps = utils$1.reducePropsGetter(decorators.getHeaderProps, instance.current);
200
+ instance.current.getRowProps = utils$1.reducePropsGetter(decorators.getRowProps, instance.current);
201
+ instance.current.getHeaderRowProps = utils$1.reducePropsGetter(decorators.getHeaderRowProps, instance.current);
202
+ instance.current.getTableProps = utils$1.reducePropsGetter(decorators.getTableProps, instance.current);
197
203
  instance.current.composedRows = decorators.composeRows.reduce((nextRows, getter) => getter(nextRows, instance.current), instance.current.composedRows);
198
204
  RowsObserver.notify(instance.current.composedRows);
199
205
  const currentShouldRefocus = instance.current.shouldRefocus.current;
200
- const prevState = usePrevious__default['default'](instance.current.state);
206
+ const prevState = dsUtilities.usePrevious(instance.current.state);
201
207
 
202
- if (utils$1.isObject(currentShouldRefocus) && currentShouldRefocus.forced) {
208
+ if (dsUtilities.isObject(currentShouldRefocus) && currentShouldRefocus.forced) {
203
209
  instance.current.shouldRefocus.current = currentShouldRefocus.value;
204
210
  } else {
205
- instance.current.shouldRefocus.current = !utils$1.isEqual(prevState, instance.current.state);
211
+ instance.current.shouldRefocus.current = !dsUtilities.isEqual(prevState, instance.current.state);
206
212
  }
207
213
 
208
- if (props.instanceRef) system.setRef(props.instanceRef, instance.current);
214
+ if (props.instanceRef) dsUtilities.setRef(props.instanceRef, instance.current);
209
215
  return _objectSpread(_objectSpread({}, instance.current), {}, {
210
216
  decorators
211
217
  });