@mui/x-virtualizer 0.2.9 → 0.2.11

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 (46) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/constants.d.ts +22 -0
  3. package/constants.js +26 -0
  4. package/esm/constants.d.ts +22 -0
  5. package/esm/constants.js +20 -0
  6. package/esm/features/colspan.d.ts +4 -4
  7. package/esm/features/dimensions.d.ts +14 -8
  8. package/esm/features/dimensions.js +26 -7
  9. package/esm/features/index.d.ts +1 -1
  10. package/esm/features/index.js +1 -1
  11. package/esm/features/keyboard.d.ts +3 -3
  12. package/esm/features/keyboard.js +1 -1
  13. package/esm/features/rowspan.d.ts +4 -4
  14. package/esm/features/virtualization/index.d.ts +2 -0
  15. package/esm/features/virtualization/index.js +2 -0
  16. package/esm/features/virtualization/layout.d.ts +129 -0
  17. package/esm/features/virtualization/layout.js +152 -0
  18. package/esm/features/{virtualization.d.ts → virtualization/virtualization.d.ts} +35 -58
  19. package/esm/features/{virtualization.js → virtualization/virtualization.js} +98 -136
  20. package/esm/index.d.ts +2 -1
  21. package/esm/index.js +3 -2
  22. package/esm/models/core.d.ts +7 -0
  23. package/esm/models/core.js +7 -0
  24. package/esm/models/dimensions.d.ts +8 -0
  25. package/esm/useVirtualizer.d.ts +25 -69
  26. package/esm/useVirtualizer.js +21 -4
  27. package/features/colspan.d.ts +4 -4
  28. package/features/dimensions.d.ts +14 -8
  29. package/features/dimensions.js +26 -7
  30. package/features/index.d.ts +1 -1
  31. package/features/keyboard.d.ts +3 -3
  32. package/features/rowspan.d.ts +4 -4
  33. package/features/virtualization/index.d.ts +2 -0
  34. package/features/virtualization/index.js +27 -0
  35. package/features/virtualization/layout.d.ts +129 -0
  36. package/features/virtualization/layout.js +163 -0
  37. package/features/{virtualization.d.ts → virtualization/virtualization.d.ts} +35 -58
  38. package/features/{virtualization.js → virtualization/virtualization.js} +98 -136
  39. package/index.d.ts +2 -1
  40. package/index.js +12 -1
  41. package/models/core.d.ts +7 -0
  42. package/models/core.js +8 -1
  43. package/models/dimensions.d.ts +8 -0
  44. package/package.json +2 -2
  45. package/useVirtualizer.d.ts +25 -69
  46. package/useVirtualizer.js +20 -3
package/useVirtualizer.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useVirtualizer = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
9
10
  var _store = require("@mui/x-internals/store");
10
11
  var _colspan = require("./features/colspan");
@@ -12,22 +13,38 @@ var _dimensions = require("./features/dimensions");
12
13
  var _keyboard = require("./features/keyboard");
13
14
  var _rowspan = require("./features/rowspan");
14
15
  var _virtualization = require("./features/virtualization");
16
+ var _constants = require("./constants");
15
17
  /* eslint-disable jsdoc/require-param-type */
16
18
  /* eslint-disable jsdoc/require-param-description */
17
19
  /* eslint-disable jsdoc/require-returns-type */
18
20
 
19
21
  const FEATURES = [_dimensions.Dimensions, _virtualization.Virtualization, _colspan.Colspan, _rowspan.Rowspan, _keyboard.Keyboard];
20
22
  const useVirtualizer = params => {
23
+ const paramsWithDefault = mergeDefaults(params, _constants.DEFAULT_PARAMS);
21
24
  const store = (0, _useLazyRef.default)(() => {
22
- return new _store.Store(FEATURES.map(f => f.initialize(params)).reduce((state, partial) => Object.assign(state, partial), {}));
25
+ return new _store.Store(FEATURES.map(f => f.initialize(paramsWithDefault)).reduce((state, partial) => Object.assign(state, partial), {}));
23
26
  }).current;
24
27
  const api = {};
25
28
  for (const feature of FEATURES) {
26
- Object.assign(api, feature.use(store, params, api));
29
+ Object.assign(api, feature.use(store, paramsWithDefault, api));
27
30
  }
28
31
  return {
29
32
  store,
30
33
  api
31
34
  };
32
35
  };
33
- exports.useVirtualizer = useVirtualizer;
36
+ exports.useVirtualizer = useVirtualizer;
37
+ function mergeDefaults(params, defaults) {
38
+ const result = (0, _extends2.default)({}, params);
39
+ for (const key in defaults) {
40
+ if (Object.hasOwn(defaults, key)) {
41
+ const value = defaults[key];
42
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
43
+ result[key] = mergeDefaults(params[key] ?? {}, value);
44
+ } else {
45
+ result[key] = params[key] ?? value;
46
+ }
47
+ }
48
+ }
49
+ return result;
50
+ }