@sheinx/base 3.6.0-beta.1 → 3.6.0-beta.3

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 (79) hide show
  1. package/cjs/cascader/cascader.d.ts.map +1 -1
  2. package/cjs/cascader/cascader.js +6 -5
  3. package/cjs/cascader/filter-node.js +4 -4
  4. package/cjs/cascader/filter-node.type.d.ts +1 -1
  5. package/cjs/cascader/filter-node.type.d.ts.map +1 -1
  6. package/cjs/checkbox/checkbox.d.ts.map +1 -1
  7. package/cjs/checkbox/checkbox.js +7 -1
  8. package/cjs/checkbox/checkbox.type.d.ts +5 -0
  9. package/cjs/checkbox/checkbox.type.d.ts.map +1 -1
  10. package/cjs/date-picker/date-picker.d.ts.map +1 -1
  11. package/cjs/date-picker/date-picker.js +12 -0
  12. package/cjs/form/form-fieldset.js +18 -18
  13. package/cjs/form/form-fieldset.type.d.ts +5 -1
  14. package/cjs/form/form-fieldset.type.d.ts.map +1 -1
  15. package/cjs/form/form-footer-context.d.ts +2 -1
  16. package/cjs/form/form-footer-context.d.ts.map +1 -1
  17. package/cjs/form/form-footer-context.js +7 -0
  18. package/cjs/form/form.d.ts.map +1 -1
  19. package/cjs/form/form.js +11 -1
  20. package/cjs/radio/radio-group.d.ts.map +1 -1
  21. package/cjs/radio/radio-group.js +1 -0
  22. package/cjs/select/result.d.ts.map +1 -1
  23. package/cjs/select/result.js +7 -0
  24. package/cjs/select/select.d.ts.map +1 -1
  25. package/cjs/select/select.js +3 -2
  26. package/cjs/table/table.d.ts.map +1 -1
  27. package/cjs/table/table.js +3 -1
  28. package/cjs/table/table.type.d.ts +6 -0
  29. package/cjs/table/table.type.d.ts.map +1 -1
  30. package/cjs/tabs/tabs-header.d.ts.map +1 -1
  31. package/cjs/tabs/tabs-header.js +14 -24
  32. package/cjs/tabs/tabs-panel.d.ts.map +1 -1
  33. package/cjs/tabs/tabs-panel.js +11 -4
  34. package/cjs/tabs/tabs-panel.type.d.ts +6 -0
  35. package/cjs/tabs/tabs-panel.type.d.ts.map +1 -1
  36. package/cjs/tabs/tabs.d.ts.map +1 -1
  37. package/cjs/tabs/tabs.js +2 -1
  38. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  39. package/cjs/tree-select/tree-select.js +13 -2
  40. package/esm/cascader/cascader.d.ts.map +1 -1
  41. package/esm/cascader/cascader.js +6 -5
  42. package/esm/cascader/filter-node.js +4 -4
  43. package/esm/cascader/filter-node.type.d.ts +1 -1
  44. package/esm/cascader/filter-node.type.d.ts.map +1 -1
  45. package/esm/checkbox/checkbox.d.ts.map +1 -1
  46. package/esm/checkbox/checkbox.js +7 -1
  47. package/esm/checkbox/checkbox.type.d.ts +5 -0
  48. package/esm/checkbox/checkbox.type.d.ts.map +1 -1
  49. package/esm/date-picker/date-picker.d.ts.map +1 -1
  50. package/esm/date-picker/date-picker.js +12 -0
  51. package/esm/form/form-fieldset.js +18 -18
  52. package/esm/form/form-fieldset.type.d.ts +5 -1
  53. package/esm/form/form-fieldset.type.d.ts.map +1 -1
  54. package/esm/form/form-footer-context.d.ts +2 -1
  55. package/esm/form/form-footer-context.d.ts.map +1 -1
  56. package/esm/form/form-footer-context.js +7 -0
  57. package/esm/form/form.d.ts.map +1 -1
  58. package/esm/form/form.js +11 -1
  59. package/esm/radio/radio-group.d.ts.map +1 -1
  60. package/esm/radio/radio-group.js +3 -2
  61. package/esm/select/result.d.ts.map +1 -1
  62. package/esm/select/result.js +7 -0
  63. package/esm/select/select.d.ts.map +1 -1
  64. package/esm/select/select.js +3 -2
  65. package/esm/table/table.d.ts.map +1 -1
  66. package/esm/table/table.js +3 -1
  67. package/esm/table/table.type.d.ts +6 -0
  68. package/esm/table/table.type.d.ts.map +1 -1
  69. package/esm/tabs/tabs-header.d.ts.map +1 -1
  70. package/esm/tabs/tabs-header.js +13 -23
  71. package/esm/tabs/tabs-panel.d.ts.map +1 -1
  72. package/esm/tabs/tabs-panel.js +11 -4
  73. package/esm/tabs/tabs-panel.type.d.ts +6 -0
  74. package/esm/tabs/tabs-panel.type.d.ts.map +1 -1
  75. package/esm/tabs/tabs.d.ts.map +1 -1
  76. package/esm/tabs/tabs.js +2 -1
  77. package/esm/tree-select/tree-select.d.ts.map +1 -1
  78. package/esm/tree-select/tree-select.js +13 -2
  79. package/package.json +2 -2
@@ -25,6 +25,7 @@ var TabsPanel = function TabsPanel(props) {
25
25
  var _jssStyle$tabs;
26
26
  var children = props.children,
27
27
  id = props.id,
28
+ indexInTabs = props.index,
28
29
  tab = props.tab,
29
30
  className = props.className,
30
31
  style = props.style,
@@ -46,16 +47,22 @@ var TabsPanel = function TabsPanel(props) {
46
47
  color: props.color || (active === id ? color : undefined)
47
48
  };
48
49
  setTabs(function (prev) {
49
- var prevTab = prev.find(function (item) {
50
+ var oldTab = prev.find(function (item) {
50
51
  return item.id === id;
51
52
  });
52
- if (prevTab) {
53
+ if (oldTab) {
53
54
  return prev.map(function (item) {
54
55
  if (item.id !== id) return item;
55
56
  return _objectSpread(_objectSpread({}, item), tabData);
56
57
  });
57
58
  }
58
- return [].concat(_toConsumableArray(prev), [tabData]);
59
+ if (indexInTabs === undefined) {
60
+ return [].concat(_toConsumableArray(prev), [tabData]);
61
+ }
62
+
63
+ // 向indexInTabs位置插入tabData
64
+ var newTabs = [].concat(_toConsumableArray(prev.slice(0, indexInTabs)), [tabData], _toConsumableArray(prev.slice(indexInTabs)));
65
+ return newTabs;
59
66
  });
60
67
  return function () {
61
68
  // Panel卸载了通知父组件,去销毁相应的TabsHeader
@@ -65,7 +72,7 @@ var TabsPanel = function TabsPanel(props) {
65
72
  });
66
73
  });
67
74
  };
68
- }, [id, tab, color].concat(_toConsumableArray(color ? [active] : []), [props.disabled, props.jssStyle]));
75
+ }, [id, tab, color, active, props.disabled, props.jssStyle]);
69
76
  if (!isActive && lazy && !keekAlive.current) {
70
77
  return null;
71
78
  }
@@ -44,5 +44,11 @@ export interface TabsPanelProps extends Omit<TabsContextProps, 'tabs' | 'setTabs
44
44
  * @cn 标签页文字颜色,仅当 shape 为 "card" 时生效
45
45
  */
46
46
  color?: string;
47
+ /**
48
+ * @en The index of the panel
49
+ * @cn 面板的索引
50
+ * @private
51
+ */
52
+ index?: number;
47
53
  }
48
54
  //# sourceMappingURL=tabs-panel.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"tabs-panel.type.d.ts","sourceRoot":"","sources":["tabs-panel.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC,EAChD,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,WAAW,CAAC;QACxB,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA2Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["tabs.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,QAAA,MAAM,IAAI;YAAW,SAAS;;CA4Q7B,CAAC;AAIF,eAAe,IAAI,CAAC"}
package/cjs/tabs/tabs.js CHANGED
@@ -185,7 +185,8 @@ var Tabs = function Tabs(props) {
185
185
  var Child = child;
186
186
  if (isNamedComponent(Child.type) && Child.type.displayName === 'ShineoutTabsPanel') {
187
187
  return /*#__PURE__*/(0, _react.cloneElement)(Child, {
188
- id: Child.props.id !== undefined ? Child.props.id : index
188
+ id: Child.props.id !== undefined ? Child.props.id : index,
189
+ index: index
189
190
  });
190
191
  }
191
192
  if (allowNonPanel) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-select.d.ts","sourceRoot":"","sources":["tree-select.tsx"],"names":[],"mappings":";AACA,OAAO,EAQL,YAAY,EAEb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAcjE,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;AAEhE,QAAA,MAAM,UAAU,wGAmpBf,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"tree-select.d.ts","sourceRoot":"","sources":["tree-select.tsx"],"names":[],"mappings":";AACA,OAAO,EAQL,YAAY,EAEb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAc,MAAM,oBAAoB,CAAC;AAcjE,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,YAAY,EAAE,CAAC;AAEhE,QAAA,MAAM,UAAU,wGA6pBf,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -192,7 +192,8 @@ var TreeSelect = function TreeSelect(props0) {
192
192
  childrenKey: childrenKey,
193
193
  expanded: expanded,
194
194
  rawData: rawData,
195
- onFilter: onFilter
195
+ onFilter: onFilter,
196
+ rawDatum: datum
196
197
  }),
197
198
  tiledData = _useTiled.data,
198
199
  onTiledFilter = _useTiled.onFilter,
@@ -219,6 +220,15 @@ var TreeSelect = function TreeSelect(props0) {
219
220
  closePop = _usePopup.closePop,
220
221
  PopupProvider = _usePopup.Provider,
221
222
  popupProviderValue = _usePopup.providerValue;
223
+ var _useState3 = (0, _react.useState)(false),
224
+ _useState4 = _slicedToArray(_useState3, 2),
225
+ hadOpened = _useState4[0],
226
+ setHadOpened = _useState4[1];
227
+ (0, _react.useEffect)(function () {
228
+ if (open) {
229
+ setHadOpened(true);
230
+ }
231
+ }, [open]);
222
232
  var tipNode = (0, _useTip.default)({
223
233
  popover: props.popover,
224
234
  popoverProps: props.popoverProps,
@@ -474,6 +484,7 @@ var TreeSelect = function TreeSelect(props0) {
474
484
  filterText: filterText,
475
485
  onFilter: handleFilter,
476
486
  onRef: inputRef,
487
+ inputRef: inputRef,
477
488
  checkUnMatched: checkUnMatched,
478
489
  onClearCreatedData: onClearCreatedData,
479
490
  getDataByValues: getResultByValue,
@@ -593,7 +604,7 @@ var TreeSelect = function TreeSelect(props0) {
593
604
  onBlur: handleBlur,
594
605
  onFocus: handleFocus,
595
606
  onKeyDown: handleKeyDown,
596
- children: [tipNode, renderResult(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_absoluteList.AbsoluteList, {
607
+ children: [tipNode, renderResult(), hadOpened && /*#__PURE__*/(0, _jsxRuntime.jsx)(_absoluteList.AbsoluteList, {
597
608
  adjust: adjust,
598
609
  focus: open,
599
610
  fixedWidth: "min",
@@ -1 +1 @@
1
- {"version":3,"file":"cascader.d.ts","sourceRoot":"","sources":["cascader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAML,YAAY,EAIb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAahD,QAAA,MAAM,QAAQ,iGAmtBb,CAAC;AACF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"cascader.d.ts","sourceRoot":"","sources":["cascader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAML,YAAY,EAIb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAahD,QAAA,MAAM,QAAQ,iGAytBb,CAAC;AACF,eAAe,QAAQ,CAAC"}
@@ -372,12 +372,13 @@ var Cascader = function Cascader(props0) {
372
372
  onClick: handleResultClick,
373
373
  children: defaultIcon
374
374
  });
375
+ var close = /*#__PURE__*/_jsx("span", {
376
+ className: styles.clearIcon,
377
+ onClick: handleClear,
378
+ children: Icons.cascader.Close
379
+ });
375
380
  return /*#__PURE__*/_jsxs(_Fragment, {
376
- children: [/*#__PURE__*/_jsx("span", {
377
- className: styles.clearIcon,
378
- onClick: handleClear,
379
- children: Icons.cascader.Close
380
- }), !open && !isEmpty && arrow]
381
+ children: [close, !open && !isEmpty && !focused && arrow]
381
382
  });
382
383
  };
383
384
  var renderIcon = function renderIcon() {
@@ -12,7 +12,7 @@ var FilterNode = function FilterNode(props) {
12
12
  onChange = props.onChange,
13
13
  onPathChange = props.onPathChange;
14
14
  var styles = jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle);
15
- var handleSelectItem = function handleSelectItem(index, e) {
15
+ var handleSelectItem = function handleSelectItem(index, d, e) {
16
16
  var isFinal = data && index === data.length - 1;
17
17
  if (shouldFinal && !isFinal) return;
18
18
  if (e) e.stopPropagation();
@@ -22,13 +22,13 @@ var FilterNode = function FilterNode(props) {
22
22
  var keys = data.slice(0, index + 1).map(function (i) {
23
23
  return datum.getKey(i);
24
24
  });
25
- if (onChange) onChange(keys);
25
+ if (onChange) onChange(keys, d);
26
26
  onPathChange(datum.getKey(item), item, keys.slice(0, keys.length - 1), true);
27
27
  setInputText('');
28
28
  setFilterText('');
29
29
  };
30
30
  var handleSelect = function handleSelect() {
31
- handleSelectItem(data.length - 1);
31
+ handleSelectItem(data.length - 1, data === null || data === void 0 ? void 0 : data[data.length - 1]);
32
32
  };
33
33
  return /*#__PURE__*/_jsx("div", {
34
34
  className: classNames(styles.option, styles.filterOption),
@@ -37,7 +37,7 @@ var FilterNode = function FilterNode(props) {
37
37
  className: classNames(styles.optionInner),
38
38
  children: data.map(function (item, index) {
39
39
  var handleClick = function handleClick(e) {
40
- handleSelectItem(index, e);
40
+ handleSelectItem(index, item, e);
41
41
  };
42
42
  var isDisabled = datum.isDisabled(datum.getKey(item));
43
43
  var content = /*#__PURE__*/_jsx("div", {
@@ -10,7 +10,7 @@ export interface FilterNodeProps<DataItem, Value extends KeygenResult[]> {
10
10
  renderItem: (data: DataItem, active?: boolean, id?: Value[0] | undefined) => React.ReactNode;
11
11
  setInputText: (text: string) => void;
12
12
  setFilterText: (text: string) => void;
13
- onChange: (item: Value) => void;
13
+ onChange: (item: Value, selected?: DataItem) => void;
14
14
  onPathChange: (id: KeygenResult, item: DataItem | null, nextPath: Value, fromClick?: boolean) => void;
15
15
  }
16
16
  //# sourceMappingURL=filter-node.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-node.type.d.ts","sourceRoot":"","sources":["filter-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY,EAAE;IACrE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7F,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,YAAY,EAAE,CACZ,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,QAAQ,EAAE,KAAK,EACf,SAAS,CAAC,EAAE,OAAO,KAChB,IAAI,CAAC;CACX"}
1
+ {"version":3,"file":"filter-node.type.d.ts","sourceRoot":"","sources":["filter-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY,EAAE;IACrE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7F,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,YAAY,EAAE,CACZ,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,QAAQ,GAAG,IAAI,EACrB,QAAQ,EAAE,KAAK,EACf,SAAS,CAAC,EAAE,OAAO,KAChB,IAAI,CAAC;CACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["checkbox.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAsGhD,QAAA,MAAM,mBAAmB,6CAIxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["checkbox.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0GhD,QAAA,MAAM,mBAAmB,6CAaxB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -66,6 +66,9 @@ var Checkbox = function Checkbox(props) {
66
66
  if ('value' in props && props.checked === undefined) {
67
67
  onInputableCheckboxChange(checked);
68
68
  }
69
+ if (props.onRawChange) {
70
+ props.onRawChange(checked ? htmlValue : undefined, checked, htmlValue);
71
+ }
69
72
  onChange === null || onChange === void 0 || onChange(checked ? htmlValue : undefined, checked, htmlValue);
70
73
  });
71
74
  var getChecked = function getChecked() {
@@ -106,7 +109,10 @@ var Checkbox = function Checkbox(props) {
106
109
  var CheckboxWithContext = function CheckboxWithContext(props) {
107
110
  return /*#__PURE__*/_jsx(GroupContext.Consumer, {
108
111
  children: function children(value) {
109
- return /*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({}, props), value));
112
+ return /*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread(_objectSpread({}, props), value), {}, {
113
+ onRawChange: props.onChange,
114
+ checked: 'checked' in props ? props.checked : value.checked
115
+ }));
110
116
  }
111
117
  });
112
118
  };
@@ -63,6 +63,11 @@ export interface CheckboxProps<T> extends CommonChangeType<T>, Omit<SimpleCheckb
63
63
  * @cn 值改变回调函数
64
64
  */
65
65
  onChange?: (value: T | undefined, checked: boolean, raw: T) => void;
66
+ /**
67
+ * @en Value chane callback
68
+ * @cn 值改变回调函数
69
+ */
70
+ onRawChange?: (value: T | undefined, checked: boolean, raw: T) => void;
66
71
  /**
67
72
  * @en If not set, use (value === htmlValue)
68
73
  * @cn checked 传入时为受控组件
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.type.d.ts","sourceRoot":"","sources":["checkbox.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,gBAAgB,CAAC,EACxD,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAC9B,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;IAC9E;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,eAAe,CAAC,CAAC;IAC5E;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IACV;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"checkbox.type.d.ts","sourceRoot":"","sources":["checkbox.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,gBAAgB,CAAC,EACxD,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACpC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAC9B,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;IAC9E;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACvE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,eAAe,CAAC,CAAC;IAC5E;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IACV;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["date-picker.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmB1E,QAAA,MAAM,UAAU,oFAmUf,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["date-picker.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmB1E,QAAA,MAAM,UAAU,oFA8Uf,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -139,11 +139,23 @@ var DatePicker = function DatePicker(props0) {
139
139
  }
140
140
  } else {
141
141
  func.finishEdit();
142
+
143
+ // 如果是通过 props.open 控制的,那么需要在关闭时,将组件再次进入编辑状态
144
+ if (props.open === true) {
145
+ func.startEdit();
146
+ }
142
147
  }
143
148
  setIsCloseFromConfirm(false);
144
149
  }
145
150
  (_props$onCollapse = props.onCollapse) === null || _props$onCollapse === void 0 || _props$onCollapse.call(props, isOpen);
146
151
  });
152
+
153
+ // 如果一开始就打开了板子,那么需要初始化让组件进入编辑状态
154
+ useEffect(function () {
155
+ if (props.open) {
156
+ func.startEdit();
157
+ }
158
+ }, []);
147
159
  var _usePopup = usePopup({
148
160
  open: props.open,
149
161
  onCollapse: onCollapse,
@@ -11,13 +11,13 @@ var produce = util.produce;
11
11
  var FormFieldSet = function FormFieldSet(props) {
12
12
  var children = props.children,
13
13
  empty = props.empty;
14
- var _React$useRef = React.useRef({
15
- ids: []
16
- }),
17
- context = _React$useRef.current;
14
+ // const { current: context } = React.useRef<{ ids: string[] }>({ ids: [] });
15
+
18
16
  var formFunc = useFormFunc();
19
17
  var validateFieldSet = function validateFieldSet() {
20
- formFunc === null || formFunc === void 0 || formFunc.validateFields(props.name).catch(function (e) {
18
+ formFunc === null || formFunc === void 0 || formFunc.validateFields(props.name, {
19
+ ignoreChildren: true
20
+ }).catch(function (e) {
21
21
  return e;
22
22
  });
23
23
  };
@@ -54,19 +54,17 @@ var FormFieldSet = function FormFieldSet(props) {
54
54
  draft.push(val);
55
55
  });
56
56
  _onChange(newValue);
57
- context.ids.push(util.generateUUID());
57
+ // context.ids.push(util.generateUUID());
58
58
  formFunc === null || formFunc === void 0 || formFunc.insertError(name, 0);
59
59
  })
60
60
  }, 'empty');
61
61
  }
62
62
  var errorList = (Array.isArray(error) ? error : [error]).filter(Boolean);
63
- if (context.ids.length !== valueArr.length) {
64
- context.ids = valueArr.map(function () {
65
- return util.generateUUID();
66
- });
67
- }
63
+ // if (context.ids.length !== valueArr.length) {
64
+ // context.ids = valueArr.map(() => util.generateUUID());
65
+ // }
66
+
68
67
  return valueArr.map(function (v, i) {
69
- var _context$ids$i;
70
68
  return /*#__PURE__*/_jsx(Provider, {
71
69
  value: {
72
70
  path: "".concat(ProviderValue.path, "[").concat(i, "]"),
@@ -77,13 +75,15 @@ var FormFieldSet = function FormFieldSet(props) {
77
75
  value: v,
78
76
  index: i,
79
77
  error: errorList,
80
- onChange: function onChange(val) {
78
+ onChange: function onChange(val, options) {
81
79
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
82
80
  var newValue = produce(oldValue, function (draft) {
83
81
  draft[i] = val;
84
82
  });
85
83
  _onChange(newValue);
86
- formFunc === null || formFunc === void 0 || formFunc.validateFieldset("".concat(name, "[").concat(i, "]"));
84
+ formFunc === null || formFunc === void 0 || formFunc.validateFieldset("".concat(name, "[").concat(i, "]"), {
85
+ ignoreChildren: (options === null || options === void 0 ? void 0 : options.validate) === false
86
+ });
87
87
  },
88
88
  onInsert: function onInsert(val) {
89
89
  var oldValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
@@ -91,7 +91,7 @@ var FormFieldSet = function FormFieldSet(props) {
91
91
  draft.splice(i, 0, val);
92
92
  });
93
93
  _onChange(newValue);
94
- context.ids.splice(i, 0, util.generateUUID());
94
+ // context.ids.splice(i, 0, util.generateUUID());
95
95
  formFunc === null || formFunc === void 0 || formFunc.insertError(name, i);
96
96
  },
97
97
  onAppend: function onAppend(val) {
@@ -100,7 +100,7 @@ var FormFieldSet = function FormFieldSet(props) {
100
100
  draft.splice(i + 1, 0, val);
101
101
  });
102
102
  _onChange(newValue);
103
- context.ids.splice(i + 1, 0, util.generateUUID());
103
+ // context.ids.splice(i + 1, 0, util.generateUUID());
104
104
  formFunc === null || formFunc === void 0 || formFunc.insertError(name, i + 1);
105
105
  },
106
106
  onRemove: function onRemove() {
@@ -109,11 +109,11 @@ var FormFieldSet = function FormFieldSet(props) {
109
109
  draft.splice(i, 1);
110
110
  });
111
111
  _onChange(newValue);
112
- context.ids.splice(i, 1);
112
+ // context.ids.splice(i, 1);
113
113
  formFunc === null || formFunc === void 0 || formFunc.spliceError(name, i);
114
114
  }
115
115
  })
116
- }, (_context$ids$i = context.ids[i]) !== null && _context$ids$i !== void 0 ? _context$ids$i : i);
116
+ }, i);
117
117
  });
118
118
  };
119
119
  export default FormFieldSet;
@@ -1,10 +1,13 @@
1
1
  import { BaseFormFieldSetProps } from '@sheinx/hooks';
2
2
  import React from 'react';
3
+ interface FormFieldSetChildrenOnChangeOptions {
4
+ validate?: boolean;
5
+ }
3
6
  export interface FormFieldSetChildrenFunc<ValueItem = any> {
4
7
  (params: {
5
8
  list: ValueItem[];
6
9
  value: ValueItem;
7
- onChange: (value: ValueItem) => void;
10
+ onChange: (value: ValueItem, options?: FormFieldSetChildrenOnChangeOptions) => void;
8
11
  onRemove: () => void;
9
12
  index: number;
10
13
  onInsert: (value: ValueItem) => void;
@@ -48,4 +51,5 @@ export interface FormFieldSetProps<T> extends Partial<BaseFormFieldSetProps<T>>
48
51
  */
49
52
  empty?: (insert: (val: any) => void) => React.ReactNode;
50
53
  }
54
+ export {};
51
55
  //# sourceMappingURL=form-fieldset.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-fieldset.type.d.ts","sourceRoot":"","sources":["form-fieldset.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,wBAAwB,CAAC,SAAS,GAAG,GAAG;IACvD,CAAC,MAAM,EAAE;QACP,IAAI,EAAE,SAAS,EAAE,CAAC;QAClB,KAAK,EAAE,SAAS,CAAC;QACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QACrC,KAAK,EAAE,KAAK,EAAE,CAAC;KAChB,GAAG,KAAK,CAAC,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7E;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EACJ,KAAK,CAAC,SAAS,GACf,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IAChF;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CACzD"}
1
+ {"version":3,"file":"form-fieldset.type.d.ts","sourceRoot":"","sources":["form-fieldset.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,mCAAmC;IAE3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,wBAAwB,CAAC,SAAS,GAAG,GAAG;IACvD,CAAC,MAAM,EAAE;QACP,IAAI,EAAE,SAAS,EAAE,CAAC;QAClB,KAAK,EAAE,SAAS,CAAC;QACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,mCAAmC,KAAK,IAAI,CAAC;QACpF,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;QACrC,KAAK,EAAE,KAAK,EAAE,CAAC;KAChB,GAAG,KAAK,CAAC,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7E;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EACJ,KAAK,CAAC,SAAS,GACf,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IAChF;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CACzD"}
@@ -3,7 +3,8 @@ export interface FormFooterContextValue {
3
3
  setFormStats: (disabled?: 'disabled' | 'pending') => void;
4
4
  setFormInfo: (info: {
5
5
  submit: () => void;
6
- }) => void;
6
+ }) => boolean;
7
+ deleteFormInfo: () => void;
7
8
  formStats: 'disabled' | 'pending' | undefined;
8
9
  func: {
9
10
  submit: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"form-footer-context.d.ts","sourceRoot":"","sources":["form-footer-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,eAAO,MAAM,kBAAkB,UAAW;IAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;CAAE,gBAqBtE,CAAC;AAEF,eAAO,MAAM,aAAa,qCAGzB,CAAC"}
1
+ {"version":3,"file":"form-footer-context.d.ts","sourceRoot":"","sources":["form-footer-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+D,MAAM,OAAO,CAAC;AAEpF,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC;IACvD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,8CAAqD,CAAC;AAEpF,eAAO,MAAM,kBAAkB,UAAW;IAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;CAAE,gBA6BtE,CAAC;AAEF,eAAO,MAAM,aAAa,qCAGzB,CAAC"}
@@ -24,7 +24,13 @@ export var FormFooterProvider = function FormFooterProvider(props) {
24
24
  if (!context.hasSubmit) {
25
25
  context.submit = info.submit;
26
26
  context.hasSubmit = true;
27
+ return true;
27
28
  }
29
+ return false;
30
+ });
31
+ var deleteFormInfo = usePersistFn(function () {
32
+ context.hasSubmit = false;
33
+ context.submit = function () {};
28
34
  });
29
35
  var setFormStats = usePersistFn(function (disabled) {
30
36
  if (disabled !== formStats) {
@@ -35,6 +41,7 @@ export var FormFooterProvider = function FormFooterProvider(props) {
35
41
  return {
36
42
  setFormStats: setFormStats,
37
43
  setFormInfo: setFormInfo,
44
+ deleteFormInfo: deleteFormInfo,
38
45
  formStats: formStats,
39
46
  func: context
40
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,4DAgHT,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,4DA0HT,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/esm/form/form.js CHANGED
@@ -76,6 +76,10 @@ var Form = function Form(props) {
76
76
  props.setForm(formRefObj);
77
77
  }
78
78
  }, [formRefObj]);
79
+ var _React$useRef = React.useRef({
80
+ bindindModalFormContextSuccess: false
81
+ }),
82
+ context = _React$useRef.current;
79
83
  var handleFormModalInfo = function handleFormModalInfo() {
80
84
  var status = undefined;
81
85
  if (props.disabled) {
@@ -88,11 +92,17 @@ var Form = function Form(props) {
88
92
  modalFormContext === null || modalFormContext === void 0 || modalFormContext.setFormStats(status);
89
93
  }
90
94
  if (props.onSubmit) {
91
- modalFormContext === null || modalFormContext === void 0 || modalFormContext.setFormInfo(formRefObj);
95
+ var ok = modalFormContext === null || modalFormContext === void 0 ? void 0 : modalFormContext.setFormInfo(formRefObj);
96
+ context.bindindModalFormContextSuccess = !!ok;
92
97
  }
93
98
  };
94
99
  useEffect(function () {
95
100
  handleFormModalInfo();
101
+ return function () {
102
+ if (context.bindindModalFormContextSuccess) {
103
+ modalFormContext === null || modalFormContext === void 0 || modalFormContext.deleteFormInfo();
104
+ }
105
+ };
96
106
  }, [props.disabled, props.pending]);
97
107
  var rootClass = classNames([formClasses === null || formClasses === void 0 ? void 0 : formClasses.rootClass, formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapper, className, props.inline && (formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapperInline)]);
98
108
  var formProps = getFormProps({
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,4EA8HV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,4EA+HV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -5,7 +5,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  import { useInputAble, useListSelectSingle, usePersistFn, util } from '@sheinx/hooks';
8
- import groupContext from "./group-context";
8
+ import GroupContext from "./group-context";
9
9
  import Radio from "./radio";
10
10
  import React, { useContext } from 'react';
11
11
  import classNames from 'classnames';
@@ -113,7 +113,7 @@ var Group = function Group(props0) {
113
113
  disabled: disabled
114
114
  });
115
115
  var groupClass = classNames(className, radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.group, !!block && (radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.groupBlock), !!button && (radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.groupButton));
116
- var Radios = props.data === undefined ? /*#__PURE__*/_jsx(groupContext.Provider, {
116
+ var Radios = props.data === undefined ? /*#__PURE__*/_jsx(GroupContext.Provider, {
117
117
  value: providerValue,
118
118
  children: children
119
119
  }) : /*#__PURE__*/_jsxs(_Fragment, {
@@ -123,6 +123,7 @@ var Group = function Group(props0) {
123
123
  checked: datum.check(d),
124
124
  disabled: datum.disabledCheck(d),
125
125
  htmlValue: i,
126
+ size: size,
126
127
  onChange: handleIndexChange,
127
128
  renderRadio: renderRadio,
128
129
  children: getContent(d, i)
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["result.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,QAAA,MAAM,MAAM,uEAqaX,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;AAY5C,QAAA,MAAM,MAAM,uEA4aX,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -352,6 +352,13 @@ var Result = function Result(props) {
352
352
  }
353
353
  mounted.current = true;
354
354
  }, [focus, placeholder, multiple]);
355
+
356
+ // Select多选模式下,且开启了onFilter,自动聚焦
357
+ useLayoutEffect(function () {
358
+ if (multiple && focus && inputRef !== null && inputRef !== void 0 && inputRef.current) {
359
+ inputRef.current.focus();
360
+ }
361
+ }, [focus, multiple]);
355
362
  useLayoutEffect(function () {
356
363
  handleResetMore();
357
364
  }, [valueProp, data]);
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAenE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA2vBxE;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAenE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA4vBxE;AAED,eAAe,MAAM,CAAC"}
@@ -309,7 +309,7 @@ function Select(props0) {
309
309
  });
310
310
  var rootClass = classNames(className, styles === null || styles === void 0 ? void 0 : styles.rootClass, styles === null || styles === void 0 ? void 0 : styles.wrapper, isEmpty && styles.wrapperEmpty, open && (styles === null || styles === void 0 ? void 0 : styles.wrapperOpen), open && trigger === 'hover' && (styles === null || styles === void 0 ? void 0 : styles.triggerHover), disabled === true && (styles === null || styles === void 0 ? void 0 : styles.wrapperDisabled), disabled !== true && focused && (styles === null || styles === void 0 ? void 0 : styles.wrapperFocus), innerTitle && (styles === null || styles === void 0 ? void 0 : styles.wrapperInnerTitle), size === 'small' && (styles === null || styles === void 0 ? void 0 : styles.wrapperSmall), size === 'large' && (styles === null || styles === void 0 ? void 0 : styles.wrapperLarge), (!!props.error || props.status === 'error') && (styles === null || styles === void 0 ? void 0 : styles.wrapperError), clearable && (styles === null || styles === void 0 ? void 0 : styles.clearable), !border && (styles === null || styles === void 0 ? void 0 : styles.wrapperNoBorder), !!underline && (styles === null || styles === void 0 ? void 0 : styles.wrapperUnderline), _defineProperty({}, styles === null || styles === void 0 ? void 0 : styles.multiple, multiple));
311
311
  var getRenderItem = function getRenderItem(data, index) {
312
- return typeof renderItemProp === 'function' ? renderItemProp(data, index) : data[renderItemProp];
312
+ return typeof renderItemProp === 'function' ? renderItemProp(data, index) : (data === null || data === void 0 ? void 0 : data[renderItemProp]) || '';
313
313
  };
314
314
  var renderItem = getRenderItem;
315
315
  var handleFocus = usePersistFn(function (e) {
@@ -450,7 +450,8 @@ function Select(props0) {
450
450
  };
451
451
  var getRenderResult = function getRenderResult(data, index) {
452
452
  if (!renderResultProp) return renderItem(data, index);
453
- return typeof renderResultProp === 'function' ? renderResultProp(data, index) : data[renderResultProp];
453
+ var result = typeof renderResultProp === 'function' ? renderResultProp(data, index) : data[renderResultProp];
454
+ return result !== null && result !== void 0 ? result : null;
454
455
  };
455
456
  var getDataByValues = function getDataByValues(values) {
456
457
  return datum.getDataByValues(values, {
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAuB1C,wBAyjBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":";AAwBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;AAuB1C,wBA0jBE"}
@@ -151,7 +151,8 @@ export default (function (props) {
151
151
  }),
152
152
  sortedData = _useTableSort.sortedData,
153
153
  sortInfo = _useTableSort.sortInfo,
154
- onSorterChange = _useTableSort.onSorterChange;
154
+ onSorterChange = _useTableSort.onSorterChange,
155
+ sortByColumn = _useTableSort.sortByColumn;
155
156
  var _usePaginationList = usePaginationList({
156
157
  data: sortedData,
157
158
  shouldPage: !!props.pagination,
@@ -512,6 +513,7 @@ export default (function (props) {
512
513
  return index;
513
514
  };
514
515
  var tableFunc = useLatestObj({
516
+ sortByColumn: sortByColumn,
515
517
  scrollToIndex: virtualInfo.scrollToIndex,
516
518
  getRenderIndexByData: getRenderIndexByData,
517
519
  scrollColumnIntoView: virtualInfo.scrollColumnIntoView,
@@ -15,6 +15,7 @@ import { DatePickerClasses } from '../date-picker/date-picker.type';
15
15
  import { SwitchClasses } from '../switch/switch.type';
16
16
  import { CheckboxClasses } from '../checkbox/checkbox.type';
17
17
  import { RadioClasses } from '../radio/radio.type';
18
+ import { KeygenResult } from '@sheinx/hooks';
18
19
  export type ListDatum = ReturnType<typeof useListSelect<any, any>>;
19
20
  export type UseTreeResult = ReturnType<typeof useTableTree>;
20
21
  export interface TableClasses {
@@ -71,6 +72,11 @@ export interface TableRef {
71
72
  getRenderIndexByData: (data: any) => number;
72
73
  scrollColumnIntoView: (colKey: string | number) => void;
73
74
  scrollColumnByLeft: (left: number) => void;
75
+ sortByColumn: (params: {
76
+ columnKey: KeygenResult;
77
+ direction: 'desc' | 'asc' | null;
78
+ columnSorter: TableColumnItem<any>['sorter'];
79
+ }) => void;
74
80
  [key: string]: any;
75
81
  }
76
82
  export interface TableSelectProps<DataItem, Value> {