@sheinx/base 3.0.8 → 3.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.d.ts","sourceRoot":"","sources":["form-item.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;gCAE/B,aAAa;AAApC,wBAqDE"}
1
+ {"version":3,"file":"form-item.d.ts","sourceRoot":"","sources":["form-item.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;gCAE/B,aAAa;AAApC,wBAwDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,QAAA,MAAM,MAAM,uEA+WX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,QAAA,MAAM,MAAM,uEAkXX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -64,14 +64,18 @@ var Result = function Result(props) {
64
64
  getDataByValues = props.getDataByValues,
65
65
  checkUnMatched = props.checkUnMatched,
66
66
  onRemove = props.onRemove,
67
- onResultItemClick = props.onResultItemClick;
67
+ onResultItemClick = props.onResultItemClick,
68
+ data = props.data;
68
69
  var value = [null, undefined, ''].includes(valueProp) ? [] : multiple ? valueProp : [valueProp];
69
70
  var _useState = (0, _react.useState)(-1),
70
71
  _useState2 = _slicedToArray(_useState, 2),
71
72
  more = _useState2[0],
72
73
  setMore = _useState2[1];
74
+ var _useState3 = (0, _react.useState)(false),
75
+ _useState4 = _slicedToArray(_useState3, 2),
76
+ shouldResetMore = _useState4[0],
77
+ setShouldResetMore = _useState4[1];
73
78
  var resultRef = (0, _react.useRef)(null);
74
- var shouldResetMore = (0, _react.useRef)(false);
75
79
  var prevMore = (0, _react.useRef)(more);
76
80
  var showInput = allowOnFilter;
77
81
  var mounted = (0, _react.useRef)(false);
@@ -143,6 +147,7 @@ var Result = function Result(props) {
143
147
  if (isUnMatchedData(item)) {
144
148
  if (isFunc(keygen)) {
145
149
  key = keygen(item.value, index);
150
+ if (key === undefined) key = index;
146
151
  } else {
147
152
  key = item.value;
148
153
  }
@@ -286,7 +291,9 @@ var Result = function Result(props) {
286
291
  };
287
292
  var handleResetMore = function handleResetMore() {
288
293
  if (!compressed) return;
289
- shouldResetMore.current = true;
294
+ if (isCompressedBound()) return;
295
+ setMore(-1);
296
+ setShouldResetMore(true);
290
297
  };
291
298
  (0, _react.useEffect)(function () {
292
299
  if (!focus && mounted.current) {
@@ -298,34 +305,27 @@ var Result = function Result(props) {
298
305
  mounted.current = true;
299
306
  }, [focus]);
300
307
  (0, _react.useEffect)(function () {
301
- if (!resultRef.current) return;
302
- if (!compressed) return;
303
- if (isCompressedBound()) return;
304
308
  handleResetMore();
305
- }, [valueProp]);
309
+ }, [valueProp, data]);
306
310
  (0, _react.useEffect)(function () {
307
- if (!compressed) return;
308
- if (!resultRef.current) return;
309
- if (more === -1) {
311
+ if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || [].length)) {
310
312
  var tagClassName = ".".concat(styles.tag.split(' ')[0]);
311
- if (shouldResetMore.current && isArray(value) && (value || []).length) {
312
- shouldResetMore.current = false;
313
+ if (shouldResetMore && isArray(value) && (value || []).length) {
313
314
  var newMore = (0, _resultMore.getResetMore)(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
314
-
315
- // 下次触发折叠逻辑的时候,将多余的 tag 隐藏,避免视图闪断
316
- if (newMore !== prevMore.current && prevMore.current === -1 && newMore > prevMore.current) {
317
- var tags = resultRef.current.querySelectorAll(tagClassName);
318
- tags.forEach(function (tag, index) {
319
- if (index >= newMore) tag.setAttribute('style', 'opacity: 0');
320
- });
321
- }
322
315
  prevMore.current = newMore;
323
316
  setMore(newMore);
317
+ setShouldResetMore(false);
318
+ } else {
319
+ setShouldResetMore(false);
324
320
  }
321
+ } else {
322
+ setShouldResetMore(false);
325
323
  }
326
- }, [valueProp, more]);
324
+ }, [shouldResetMore]);
327
325
  (0, _react.useEffect)(function () {
328
326
  if (!resultRef.current) return;
327
+ if (!compressed) return;
328
+ if (isCompressedBound()) return;
329
329
  var cancelObserver = (0, _hooks.addResizeObserver)(resultRef.current, handleResetMore, {
330
330
  direction: 'x'
331
331
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA+tBxE;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA8tBxE;AAED,eAAe,MAAM,CAAC"}
@@ -126,7 +126,7 @@ function Select(props0) {
126
126
  filterSameChange = props.filterSameChange,
127
127
  noCache = props.noCache;
128
128
  var hasFilter = _hooks.util.isFunc(props.onAdvancedFilter || onFilterProp);
129
- var showInput = hasFilter || _hooks.util.isFunc(onCreateProp);
129
+ var showInput = hasFilter || _hooks.util.isFunc(onCreateProp) || onCreateProp === true;
130
130
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle);
131
131
  var rootStyle = Object.assign({
132
132
  width: width
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.d.ts","sourceRoot":"","sources":["form-item.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;gCAE/B,aAAa;AAApC,wBAqDE"}
1
+ {"version":3,"file":"form-item.d.ts","sourceRoot":"","sources":["form-item.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;gCAE/B,aAAa;AAApC,wBAwDE"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,QAAA,MAAM,MAAM,uEA+WX,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,QAAA,MAAM,MAAM,uEAkXX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -56,14 +56,18 @@ var Result = function Result(props) {
56
56
  getDataByValues = props.getDataByValues,
57
57
  checkUnMatched = props.checkUnMatched,
58
58
  onRemove = props.onRemove,
59
- onResultItemClick = props.onResultItemClick;
59
+ onResultItemClick = props.onResultItemClick,
60
+ data = props.data;
60
61
  var value = [null, undefined, ''].includes(valueProp) ? [] : multiple ? valueProp : [valueProp];
61
62
  var _useState = useState(-1),
62
63
  _useState2 = _slicedToArray(_useState, 2),
63
64
  more = _useState2[0],
64
65
  setMore = _useState2[1];
66
+ var _useState3 = useState(false),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ shouldResetMore = _useState4[0],
69
+ setShouldResetMore = _useState4[1];
65
70
  var resultRef = useRef(null);
66
- var shouldResetMore = useRef(false);
67
71
  var prevMore = useRef(more);
68
72
  var showInput = allowOnFilter;
69
73
  var mounted = useRef(false);
@@ -135,6 +139,7 @@ var Result = function Result(props) {
135
139
  if (isUnMatchedData(item)) {
136
140
  if (isFunc(keygen)) {
137
141
  key = keygen(item.value, index);
142
+ if (key === undefined) key = index;
138
143
  } else {
139
144
  key = item.value;
140
145
  }
@@ -278,7 +283,9 @@ var Result = function Result(props) {
278
283
  };
279
284
  var handleResetMore = function handleResetMore() {
280
285
  if (!compressed) return;
281
- shouldResetMore.current = true;
286
+ if (isCompressedBound()) return;
287
+ setMore(-1);
288
+ setShouldResetMore(true);
282
289
  };
283
290
  useEffect(function () {
284
291
  if (!focus && mounted.current) {
@@ -290,34 +297,27 @@ var Result = function Result(props) {
290
297
  mounted.current = true;
291
298
  }, [focus]);
292
299
  useEffect(function () {
293
- if (!resultRef.current) return;
294
- if (!compressed) return;
295
- if (isCompressedBound()) return;
296
300
  handleResetMore();
297
- }, [valueProp]);
301
+ }, [valueProp, data]);
298
302
  useEffect(function () {
299
- if (!compressed) return;
300
- if (!resultRef.current) return;
301
- if (more === -1) {
303
+ if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || [].length)) {
302
304
  var tagClassName = ".".concat(styles.tag.split(' ')[0]);
303
- if (shouldResetMore.current && isArray(value) && (value || []).length) {
304
- shouldResetMore.current = false;
305
+ if (shouldResetMore && isArray(value) && (value || []).length) {
305
306
  var newMore = getResetMore(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
306
-
307
- // 下次触发折叠逻辑的时候,将多余的 tag 隐藏,避免视图闪断
308
- if (newMore !== prevMore.current && prevMore.current === -1 && newMore > prevMore.current) {
309
- var tags = resultRef.current.querySelectorAll(tagClassName);
310
- tags.forEach(function (tag, index) {
311
- if (index >= newMore) tag.setAttribute('style', 'opacity: 0');
312
- });
313
- }
314
307
  prevMore.current = newMore;
315
308
  setMore(newMore);
309
+ setShouldResetMore(false);
310
+ } else {
311
+ setShouldResetMore(false);
316
312
  }
313
+ } else {
314
+ setShouldResetMore(false);
317
315
  }
318
- }, [valueProp, more]);
316
+ }, [shouldResetMore]);
319
317
  useEffect(function () {
320
318
  if (!resultRef.current) return;
319
+ if (!compressed) return;
320
+ if (isCompressedBound()) return;
321
321
  var cancelObserver = addResizeObserver(resultRef.current, handleResetMore, {
322
322
  direction: 'x'
323
323
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA+tBxE;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA8tBxE;AAED,eAAe,MAAM,CAAC"}
@@ -119,7 +119,7 @@ function Select(props0) {
119
119
  filterSameChange = props.filterSameChange,
120
120
  noCache = props.noCache;
121
121
  var hasFilter = util.isFunc(props.onAdvancedFilter || onFilterProp);
122
- var showInput = hasFilter || util.isFunc(onCreateProp);
122
+ var showInput = hasFilter || util.isFunc(onCreateProp) || onCreateProp === true;
123
123
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle);
124
124
  var rootStyle = Object.assign({
125
125
  width: width
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.0.8",
3
+ "version": "3.0.9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,7 +10,7 @@
10
10
  "module": "./esm/index.js",
11
11
  "typings": "./cjs/index.d.ts",
12
12
  "dependencies": {
13
- "@sheinx/hooks": "3.0.8",
13
+ "@sheinx/hooks": "3.0.9",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.2"