@sheinx/hooks 3.5.4-beta.3 → 3.5.4-beta.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA8CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CAuDhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CA4DhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -9,6 +9,7 @@ var _usePersistFn = require("../../common/use-persist-fn");
9
9
  var _render = require("../../utils/render");
10
10
  var _is = require("../../utils/is");
11
11
  var _useLatestObj = require("../../common/use-latest-obj");
12
+ var _ = require("../..");
12
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
@@ -119,6 +120,9 @@ var useTableTree = exports.useTableTree = function useTableTree(props) {
119
120
  var newExpandKeys = expandKeysState.filter(function (key) {
120
121
  return !unmatchExpandKeys.includes(key);
121
122
  });
123
+ if (_.util.shallowEqual(newExpandKeys, expandKeysState)) {
124
+ return;
125
+ }
122
126
  setExpandKeysState(newExpandKeys);
123
127
  }, [unmatchExpandKeys, expandKeysState]);
124
128
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAkMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA/FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA2JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA8LpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA1FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAsJnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -34,7 +34,6 @@ function getMaxRowSpanLength(input) {
34
34
  }
35
35
  return Math.max.apply(Math, _toConsumableArray(Array.from(map.values())));
36
36
  }
37
- var MAX_ROW_SPAN = 200;
38
37
  var useTableVirtual = function useTableVirtual(props) {
39
38
  var _useState = (0, _react.useState)(0),
40
39
  _useState2 = _slicedToArray(_useState, 2),
@@ -67,7 +66,7 @@ var useTableVirtual = function useTableVirtual(props) {
67
66
  var totalLength = props.data.length;
68
67
  var _loop = function _loop(i) {
69
68
  var startIndex = i;
70
- var rowSpanInfo = rowSpanColumns.map(function (col) {
69
+ var _rowSpanInfo = rowSpanColumns.map(function (col) {
71
70
  var rowSpan = col.rowSpan;
72
71
  function getRowSpanCount(index, _count) {
73
72
  var count = _count;
@@ -83,7 +82,7 @@ var useTableVirtual = function useTableVirtual(props) {
83
82
  var count = getRowSpanCount(i, 1);
84
83
  return [startIndex, startIndex + count - 1];
85
84
  });
86
- _rowSpanInfos.push(rowSpanInfo);
85
+ _rowSpanInfos.push(_rowSpanInfo);
87
86
  };
88
87
  for (var i = 0; i < totalLength; i++) {
89
88
  _loop(i);
@@ -109,10 +108,12 @@ var useTableVirtual = function useTableVirtual(props) {
109
108
  });
110
109
  return Math.min.apply(Math, _toConsumableArray(startIndexs));
111
110
  });
112
- var maxRowSpan = getMaxRowSpanLength(resultArr);
113
- return maxRowSpan > 1 ? {
111
+
112
+ // 根据data计算出实际需要的最大合并行数
113
+ var _maxRowSpan = getMaxRowSpanLength(resultArr);
114
+ return _maxRowSpan > 1 ? {
114
115
  rowSpanIndexArray: resultArr,
115
- maxRowSpan: maxRowSpan
116
+ maxRowSpan: _maxRowSpan
116
117
  } : null;
117
118
  }, [props.data, props.columns]);
118
119
  var _useRef = (0, _react.useRef)({
@@ -169,32 +170,31 @@ var useTableVirtual = function useTableVirtual(props) {
169
170
  }
170
171
  });
171
172
  var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop) {
173
+ var _props$scrollRef$curr;
172
174
  if (props.disabled) return;
173
175
  var sum = 0;
174
176
  var currentIndex = 0;
175
177
  var top = 0;
176
178
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
177
- var maxRowSpanLenth = 0;
178
- if (rowSpanInfo) {
179
- maxRowSpanLenth = Math.min(rowSpanInfo.rowSpanIndexArray.length,
180
- // 根据data计算出实际需要的最大合并行数(rowSpanInfo.maxRowSpan),当rowSpanInfo.maxRowSpan大于外部传的rowsInView时,使用rowSpanInfo.maxRowSpan
181
- Math.max(rowSpanInfo.maxRowSpan, props.rowsInView > MAX_ROW_SPAN ? props.rowsInView : props.rowsInView || MAX_ROW_SPAN));
182
- }
179
+ var scrollContainerHeight = Math.max(((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientHeight) || 0, 200);
183
180
  for (var i = 0; i <= maxIndex; i++) {
184
181
  context.rowSpanRows = 0;
185
182
  sum += context.cachedHeight[i] || props.rowHeight;
186
183
  var rowSpanHeight = 0;
187
184
  if (rowSpanInfo) {
188
185
  var siblingsIndexs = [];
189
- for (var k = i; k < maxRowSpanLenth + i; k++) {
186
+ for (var k = i; k < rowSpanInfo.maxRowSpan + i; k++) {
190
187
  if (rowSpanInfo.rowSpanIndexArray[k] <= i && k > i) {
191
188
  siblingsIndexs.push(k);
192
189
  }
193
190
  }
194
191
  for (var j = 0; j < siblingsIndexs.length; j++) {
195
- var index = siblingsIndexs[j];
196
- context.rowSpanRows += 1;
197
- rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
192
+ // 在当前滚动容器滚动一屏上方销毁tr,不在可见区域内销毁重建,避免引起可见的单元格(合并的)内容闪烁
193
+ if (rowSpanHeight < scrollContainerHeight) {
194
+ var index = siblingsIndexs[j];
195
+ context.rowSpanRows += 1;
196
+ rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
197
+ }
198
198
  }
199
199
  }
200
200
  if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA8CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CAuDhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"use-table-tree.d.ts","sourceRoot":"","sources":["use-table-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+CvD,MAAM,WAAW,iBACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EACvC,cAAc,GAAG,gBAAgB,GAAG,uBAAuB,GAAG,QAAQ,CACvE;IACD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,eAAO,MAAM,YAAY,UAAW,iBAAiB;;;;;;+BA6BR,GAAG,SAAS,MAAM;iCAjBhB,GAAG,SAAS,MAAM;;CA4DhE,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -13,6 +13,7 @@ import { usePersistFn } from "../../common/use-persist-fn";
13
13
  import { getKey } from "../../utils/render";
14
14
  import { isObject } from "../../utils/is";
15
15
  import { useLatestObj } from "../../common/use-latest-obj";
16
+ import { util } from "../..";
16
17
  var getExpandData = function getExpandData(_treeData, keys, keygen, treeColumnsName) {
17
18
  var expandKeys = keys;
18
19
  var expandSet = new Set(expandKeys);
@@ -113,6 +114,9 @@ export var useTableTree = function useTableTree(props) {
113
114
  var newExpandKeys = expandKeysState.filter(function (key) {
114
115
  return !unmatchExpandKeys.includes(key);
115
116
  });
117
+ if (util.shallowEqual(newExpandKeys, expandKeysState)) {
118
+ return;
119
+ }
116
120
  setExpandKeysState(newExpandKeys);
117
121
  }, [unmatchExpandKeys, expandKeysState]);
118
122
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAkMpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA/FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA2JnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC3C;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBA8LpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BA1FuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAsJnB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAWR,MAAM,GAAG,MAAM;CAyFnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -28,7 +28,6 @@ function getMaxRowSpanLength(input) {
28
28
  }
29
29
  return Math.max.apply(Math, _toConsumableArray(Array.from(map.values())));
30
30
  }
31
- var MAX_ROW_SPAN = 200;
32
31
  var useTableVirtual = function useTableVirtual(props) {
33
32
  var _useState = useState(0),
34
33
  _useState2 = _slicedToArray(_useState, 2),
@@ -61,7 +60,7 @@ var useTableVirtual = function useTableVirtual(props) {
61
60
  var totalLength = props.data.length;
62
61
  var _loop = function _loop(i) {
63
62
  var startIndex = i;
64
- var rowSpanInfo = rowSpanColumns.map(function (col) {
63
+ var _rowSpanInfo = rowSpanColumns.map(function (col) {
65
64
  var rowSpan = col.rowSpan;
66
65
  function getRowSpanCount(index, _count) {
67
66
  var count = _count;
@@ -77,7 +76,7 @@ var useTableVirtual = function useTableVirtual(props) {
77
76
  var count = getRowSpanCount(i, 1);
78
77
  return [startIndex, startIndex + count - 1];
79
78
  });
80
- _rowSpanInfos.push(rowSpanInfo);
79
+ _rowSpanInfos.push(_rowSpanInfo);
81
80
  };
82
81
  for (var i = 0; i < totalLength; i++) {
83
82
  _loop(i);
@@ -103,10 +102,12 @@ var useTableVirtual = function useTableVirtual(props) {
103
102
  });
104
103
  return Math.min.apply(Math, _toConsumableArray(startIndexs));
105
104
  });
106
- var maxRowSpan = getMaxRowSpanLength(resultArr);
107
- return maxRowSpan > 1 ? {
105
+
106
+ // 根据data计算出实际需要的最大合并行数
107
+ var _maxRowSpan = getMaxRowSpanLength(resultArr);
108
+ return _maxRowSpan > 1 ? {
108
109
  rowSpanIndexArray: resultArr,
109
- maxRowSpan: maxRowSpan
110
+ maxRowSpan: _maxRowSpan
110
111
  } : null;
111
112
  }, [props.data, props.columns]);
112
113
  var _useRef = useRef({
@@ -163,32 +164,31 @@ var useTableVirtual = function useTableVirtual(props) {
163
164
  }
164
165
  });
165
166
  var updateIndexAndTopFromTop = function updateIndexAndTopFromTop(scrollTop) {
167
+ var _props$scrollRef$curr;
166
168
  if (props.disabled) return;
167
169
  var sum = 0;
168
170
  var currentIndex = 0;
169
171
  var top = 0;
170
172
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
171
- var maxRowSpanLenth = 0;
172
- if (rowSpanInfo) {
173
- maxRowSpanLenth = Math.min(rowSpanInfo.rowSpanIndexArray.length,
174
- // 根据data计算出实际需要的最大合并行数(rowSpanInfo.maxRowSpan),当rowSpanInfo.maxRowSpan大于外部传的rowsInView时,使用rowSpanInfo.maxRowSpan
175
- Math.max(rowSpanInfo.maxRowSpan, props.rowsInView > MAX_ROW_SPAN ? props.rowsInView : props.rowsInView || MAX_ROW_SPAN));
176
- }
173
+ var scrollContainerHeight = Math.max(((_props$scrollRef$curr = props.scrollRef.current) === null || _props$scrollRef$curr === void 0 ? void 0 : _props$scrollRef$curr.clientHeight) || 0, 200);
177
174
  for (var i = 0; i <= maxIndex; i++) {
178
175
  context.rowSpanRows = 0;
179
176
  sum += context.cachedHeight[i] || props.rowHeight;
180
177
  var rowSpanHeight = 0;
181
178
  if (rowSpanInfo) {
182
179
  var siblingsIndexs = [];
183
- for (var k = i; k < maxRowSpanLenth + i; k++) {
180
+ for (var k = i; k < rowSpanInfo.maxRowSpan + i; k++) {
184
181
  if (rowSpanInfo.rowSpanIndexArray[k] <= i && k > i) {
185
182
  siblingsIndexs.push(k);
186
183
  }
187
184
  }
188
185
  for (var j = 0; j < siblingsIndexs.length; j++) {
189
- var index = siblingsIndexs[j];
190
- context.rowSpanRows += 1;
191
- rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
186
+ // 在当前滚动容器滚动一屏上方销毁tr,不在可见区域内销毁重建,避免引起可见的单元格(合并的)内容闪烁
187
+ if (rowSpanHeight < scrollContainerHeight) {
188
+ var index = siblingsIndexs[j];
189
+ context.rowSpanRows += 1;
190
+ rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
191
+ }
192
192
  }
193
193
  }
194
194
  if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.5.4-beta.3",
3
+ "version": "3.5.4-beta.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",