@elliemae/ds-shared 2.0.0-alpha.11 → 2.0.0-alpha.12

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 (63) hide show
  1. package/cjs/Animations/BaseAnimation.js +23 -20
  2. package/cjs/Animations/Grow.js +29 -26
  3. package/cjs/Animations/GrowRight.js +29 -26
  4. package/cjs/CheckableGroup.js +31 -23
  5. package/cjs/DeferRenderAfterComputation.js +7 -6
  6. package/cjs/FocusGroup/FocusGrid.js +38 -31
  7. package/cjs/FocusGroup/FocusGroup.js +28 -11
  8. package/cjs/FocusGroup/FocusGroupManager.js +6 -11
  9. package/cjs/FocusGroup/focusGroupManagerHoc.js +7 -1
  10. package/cjs/FocusGroup/useFocusGroupItem.js +8 -2
  11. package/cjs/FocusGroup/utils/getNextCellPosition.js +10 -9
  12. package/cjs/GroupContext/Group.js +10 -4
  13. package/cjs/GroupContext/GroupItem.js +6 -3
  14. package/cjs/ScrollSync/ScrollSync.js +22 -21
  15. package/cjs/ScrollSync/ScrollSyncPane.js +13 -6
  16. package/cjs/ScrollSync/ScrollSyncProvider.js +12 -6
  17. package/cjs/createDataInstance/createInstancePlugin.js +5 -0
  18. package/cjs/createDataInstance/createInstanceRef.js +7 -0
  19. package/cjs/createDataInstance/utils.js +56 -24
  20. package/cjs/defer-render-hoc/index.js +9 -5
  21. package/cjs/toolbar/ToolbarProvider.js +30 -21
  22. package/cjs/useDataGrid/VolatileRowsListener.js +6 -8
  23. package/cjs/useDataGrid/initColumnDefinition.js +24 -17
  24. package/cjs/useDataGrid/useDataGrid.js +41 -34
  25. package/cjs/useDataList/recordIterator.js +4 -1
  26. package/cjs/useDataList/useDataList.js +17 -4
  27. package/cjs/utils.js +7 -0
  28. package/cjs/virtualization/AutoHeightList.js +10 -8
  29. package/cjs/virtualization/FluidHeightList.js +15 -7
  30. package/cjs/virtualization/index.js +7 -6
  31. package/esm/Animations/BaseAnimation.js +23 -20
  32. package/esm/Animations/Grow.js +29 -26
  33. package/esm/Animations/GrowRight.js +29 -26
  34. package/esm/CheckableGroup.js +28 -19
  35. package/esm/DeferRenderAfterComputation.js +7 -6
  36. package/esm/FocusGroup/FocusGrid.js +27 -19
  37. package/esm/FocusGroup/FocusGroup.js +25 -8
  38. package/esm/FocusGroup/FocusGroupManager.js +4 -8
  39. package/esm/FocusGroup/focusGroupManagerHoc.js +7 -1
  40. package/esm/FocusGroup/useFocusGroupItem.js +8 -2
  41. package/esm/FocusGroup/utils/getNextCellPosition.js +10 -9
  42. package/esm/GroupContext/Group.js +10 -4
  43. package/esm/GroupContext/GroupItem.js +6 -3
  44. package/esm/ScrollSync/ScrollSync.js +22 -20
  45. package/esm/ScrollSync/ScrollSyncPane.js +13 -6
  46. package/esm/ScrollSync/ScrollSyncProvider.js +12 -6
  47. package/esm/createDataInstance/createInstancePlugin.js +5 -0
  48. package/esm/createDataInstance/createInstanceRef.js +7 -0
  49. package/esm/createDataInstance/utils.js +56 -24
  50. package/esm/defer-render-hoc/index.js +9 -5
  51. package/esm/toolbar/ToolbarProvider.js +29 -20
  52. package/esm/useDataGrid/VolatileRowsListener.js +5 -3
  53. package/esm/useDataGrid/initColumnDefinition.js +10 -3
  54. package/esm/useDataGrid/useDataGrid.js +25 -16
  55. package/esm/useDataList/recordIterator.js +4 -1
  56. package/esm/useDataList/useDataList.js +16 -3
  57. package/esm/utils.js +7 -0
  58. package/esm/virtualization/AutoHeightList.js +6 -3
  59. package/esm/virtualization/FluidHeightList.js +14 -6
  60. package/esm/virtualization/index.js +7 -6
  61. package/package.json +8 -4
  62. package/types/toolbar/ToolbarProvider.d.ts +1 -1
  63. package/types/useDataGrid/initColumnDefinition.d.ts +4 -3
@@ -1,9 +1,11 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import { safeCall } from '@elliemae/ds-utilities/utils';
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 { safeCall } from '@elliemae/ds-utilities';
3
5
 
4
6
  class VolatileRowsListener {
5
7
  constructor() {
6
- _defineProperty(this, "observers", []);
8
+ this.observers = [];
7
9
  }
8
10
 
9
11
  observe(listener) {
@@ -1,10 +1,15 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
8
  import 'core-js/modules/web.dom-collections.iterator.js';
4
9
  import 'core-js/modules/es.string.replace.js';
5
10
  import 'react';
6
11
  import { v4 } from 'uuid';
7
- import { curry, get, cloneDeep, set, isFunction } from '@elliemae/ds-utilities/utils';
12
+ import { curry, get, cloneDeep, set, isFunction } from '@elliemae/ds-utilities';
8
13
 
9
14
  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; }
10
15
 
@@ -15,7 +20,8 @@ const appendHeaderFormatter = curry((formatter, column) => _objectSpread(_object
15
20
  formatters: [...get(column, 'header.formatters', []), formatter]
16
21
  })
17
22
  }));
18
- const appendCellFormatter = curry((formatter, column, path = 'formatters') => {
23
+ const appendCellFormatter = curry(function (formatter, column) {
24
+ let path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'formatters';
19
25
  const nextColumn = cloneDeep(column);
20
26
  const formatters = get(nextColumn, ['cell', path], []);
21
27
  const scrollingFormatters = get(nextColumn, 'cell.scrollingFormatters', []);
@@ -49,7 +55,8 @@ const mergeClassNameToColumnHeader = curry((className, column) => {
49
55
  })
50
56
  });
51
57
  });
52
- function initColumnDefinition(options = {}) {
58
+ function initColumnDefinition() {
59
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
60
  // eslint-disable-next-line complexity
54
61
  return column => {
55
62
  // todo: clean this
@@ -1,13 +1,19 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
3
  import 'core-js/modules/web.dom-collections.iterator.js';
4
- import { compose, cloneDeep, isObject, isEqual } from '@elliemae/ds-utilities/utils';
4
+ import 'core-js/modules/esnext.async-iterator.map.js';
5
+ import 'core-js/modules/esnext.iterator.map.js';
6
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
7
+ import 'core-js/modules/esnext.iterator.constructor.js';
8
+ import 'core-js/modules/esnext.iterator.for-each.js';
9
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
10
+ import 'core-js/modules/esnext.iterator.reduce.js';
11
+ import 'core-js/modules/esnext.async-iterator.filter.js';
12
+ import 'core-js/modules/esnext.iterator.filter.js';
13
+ import { useDerivedStateFromProps, compose, cloneDeep, usePrevious, isObject, isEqual, setRef } from '@elliemae/ds-utilities';
5
14
  import { useRef, useState, useMemo } from 'react';
6
15
  import { v4 } from 'uuid';
7
16
  import * as resolve from 'table-resolver';
8
- import useDerivedStateFromProps from '@elliemae/ds-utilities/hooks/useDerivedStateFromProps';
9
- import usePrevious from '@elliemae/ds-utilities/hooks/usePrevious';
10
- import { setRef } from '@elliemae/ds-utilities/system';
11
17
  import initColumnDefinition from './initColumnDefinition.js';
12
18
  import { applyDecorators, decorateColumns, reducePropsGetter } from '../createDataInstance/utils.js';
13
19
  import VolatileRowsListener from './VolatileRowsListener.js';
@@ -133,18 +139,21 @@ function useDataGrid(_ref) {
133
139
  });
134
140
  }, instance.current);
135
141
 
136
- const reduceHotKey = (nextInstance, {
137
- key,
138
- handler,
139
- options
140
- }) => _objectSpread(_objectSpread({}, nextInstance), {}, {
141
- hotKeys: _objectSpread(_objectSpread({}, nextInstance.hotKeys), {}, {
142
- [key]: {
143
- handler,
144
- options
145
- }
146
- })
147
- });
142
+ const reduceHotKey = (nextInstance, _ref2) => {
143
+ let {
144
+ key,
145
+ handler,
146
+ options
147
+ } = _ref2;
148
+ return _objectSpread(_objectSpread({}, nextInstance), {}, {
149
+ hotKeys: _objectSpread(_objectSpread({}, nextInstance.hotKeys), {}, {
150
+ [key]: {
151
+ handler,
152
+ options
153
+ }
154
+ })
155
+ });
156
+ };
148
157
 
149
158
  instance.current = decorators.registerHotKeys.reduce((nextInstance, decorator) => {
150
159
  const hotKeys = decorator(nextInstance);
@@ -2,7 +2,10 @@ const defaultStrategy = () => {
2
2
  throw Error('Implement an iterator strategy for record iterator');
3
3
  };
4
4
 
5
- function recordIterator(records, strategy = defaultStrategy, decorators = [], instance) {
5
+ function recordIterator(records) {
6
+ let strategy = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultStrategy;
7
+ let decorators = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
8
+ let instance = arguments.length > 3 ? arguments[3] : undefined;
6
9
  const nextRows = [];
7
10
  strategy({
8
11
  data: records,
@@ -1,8 +1,15 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
3
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
4
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
5
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
6
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
7
  import 'core-js/modules/web.dom-collections.iterator.js';
8
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
9
+ import 'core-js/modules/esnext.iterator.constructor.js';
10
+ import 'core-js/modules/esnext.iterator.reduce.js';
4
11
  import { useRef, useMemo } from 'react';
5
- import { setRef } from '@elliemae/ds-utilities/system';
12
+ import { setRef } from '@elliemae/ds-utilities';
6
13
  import get from 'lodash/get';
7
14
  import { reducePropsGetter, composeFormatters } from '../createDataInstance/utils.js';
8
15
  import { recordIterator } from './recordIterator.js';
@@ -13,8 +20,14 @@ const _excluded = ["data", "plugins", "renderers", "itemRenderer", "customDecora
13
20
  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; }
14
21
 
15
22
  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(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; }
16
- const getItemLabel = (record, nameKey = 'name') => get(record, ['data', nameKey]);
17
- const getItemChildren = (record, childrenKey = 'children') => get(record, ['data', childrenKey]);
23
+ const getItemLabel = function (record) {
24
+ let nameKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'name';
25
+ return get(record, ['data', nameKey]);
26
+ };
27
+ const getItemChildren = function (record) {
28
+ let childrenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';
29
+ return get(record, ['data', childrenKey]);
30
+ };
18
31
  const listRenderers = {
19
32
  list: 'ul',
20
33
  item: 'li'
package/esm/utils.js CHANGED
@@ -1,4 +1,11 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
3
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
4
+ import 'core-js/modules/esnext.async-iterator.map.js';
5
+ import 'core-js/modules/esnext.iterator.map.js';
6
+ import 'core-js/modules/esnext.async-iterator.filter.js';
7
+ import 'core-js/modules/esnext.iterator.constructor.js';
8
+ import 'core-js/modules/esnext.iterator.filter.js';
2
9
 
3
10
  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; }
4
11
 
@@ -1,10 +1,13 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
8
  import { forwardRef, useRef } from 'react';
4
9
  import { FixedSizeList } from 'react-window';
5
- import { cx } from '@elliemae/ds-utilities/utils';
6
- import { mergeRefs } from '@elliemae/ds-utilities/system';
7
- import useWindowScrollerList from '@elliemae/ds-utilities/hooks/useWindowScrollerList';
10
+ import { useWindowScrollerList, mergeRefs, cx } from '@elliemae/ds-utilities';
8
11
  import { jsx } from 'react/jsx-runtime';
9
12
 
10
13
  const _excluded = ["itemCount", "className", "innerRef", "itemData", "itemKey", "itemSize", "outerRef", "component"];
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
8
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
@@ -18,13 +23,16 @@ const FluidHeightList = /*#__PURE__*/forwardRef((_ref, ref) => {
18
23
 
19
24
  return /*#__PURE__*/_jsx(AutoSizer, {
20
25
  disableWidth: true
21
- }, void 0, ({
22
- height: fluidHeight
23
- }) => /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
24
- ref: ref,
25
- height: fluidHeight - 32 // taking in count the margins of the list
26
+ }, void 0, _ref2 => {
27
+ let {
28
+ height: fluidHeight
29
+ } = _ref2;
30
+ return /*#__PURE__*/jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
31
+ ref: ref,
32
+ height: fluidHeight - 32 // taking in count the margins of the list
26
33
 
27
- })));
34
+ }));
35
+ });
28
36
  });
29
37
 
30
38
  export { FluidHeightList };
@@ -3,12 +3,13 @@ export { FluidHeightList } from './FluidHeightList.js';
3
3
  import { AutoHeightList } from './AutoHeightList.js';
4
4
  export { AutoHeightList } from './AutoHeightList.js';
5
5
 
6
- function getVirtualListComponent({
7
- component: Component,
8
- fluid,
9
- height,
10
- autoHeight
11
- }) {
6
+ function getVirtualListComponent(_ref) {
7
+ let {
8
+ component: Component,
9
+ fluid,
10
+ height,
11
+ autoHeight
12
+ } = _ref;
12
13
  if (autoHeight) return AutoHeightList;
13
14
  if (fluid) return FluidHeightList;
14
15
  return Component;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-shared",
3
- "version": "2.0.0-alpha.11",
3
+ "version": "2.0.0-alpha.12",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Shared components and utilities",
6
6
  "module": "./esm/index.js",
@@ -213,12 +213,16 @@
213
213
  "generateSubmodules": true
214
214
  },
215
215
  "dependencies": {
216
- "@elliemae/ds-basic": "2.0.0-alpha.11",
217
- "@elliemae/ds-utilities": "2.0.0-alpha.11",
216
+ "@elliemae/ds-popper": "2.0.0-alpha.12",
217
+ "@elliemae/ds-utilities": "2.0.0-alpha.12",
218
218
  "hoist-non-react-statics": "~3.3.2",
219
+ "hotkeys-js": "~3.8.2",
220
+ "prop-types": "~15.7.2",
219
221
  "raf": "~3.4.1",
220
222
  "react-spring": "~8.0.27",
221
- "react-virtualized-auto-sizer": "~1.0.6",
223
+ "react-virtualized-auto-sizer": "~1.0.4",
224
+ "react-window": "~1.8.6",
225
+ "table-resolver": "~4.1.1",
222
226
  "uuid": "~8.3.2"
223
227
  },
224
228
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export declare const ToolbarContext: React.Context<unknown>;
3
- declare function ToolbarProvider({ delay, children, onHide, onShow, }: {
3
+ declare function ToolbarProvider({ delay, children, onHide, onShow }: {
4
4
  delay?: number | undefined;
5
5
  children: any;
6
6
  onHide?: (() => null) | undefined;
@@ -1,4 +1,5 @@
1
- export declare const appendHeaderFormatter: any;
2
- export declare const appendCellFormatter: any;
3
- export declare const mergeClassNameToColumnHeader: any;
1
+ /// <reference types="lodash" />
2
+ export declare const appendHeaderFormatter: import("lodash").CurriedFunction2<any, any, any>;
3
+ export declare const appendCellFormatter: import("lodash").CurriedFunction2<any, any, any>;
4
+ export declare const mergeClassNameToColumnHeader: import("lodash").CurriedFunction2<any, any, any>;
4
5
  export default function initColumnDefinition(options?: {}): (column: any) => any;