@sheinx/base 3.3.3-beta.8 → 3.4.0-beta.1

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 (53) hide show
  1. package/cjs/cascader/cascader.type.d.ts +2 -2
  2. package/cjs/date-picker/date-picker.d.ts.map +1 -1
  3. package/cjs/date-picker/date-picker.js +2 -11
  4. package/cjs/date-picker/result.d.ts +0 -6
  5. package/cjs/date-picker/result.d.ts.map +1 -1
  6. package/cjs/date-picker/result.js +1 -14
  7. package/cjs/dropdown/Item.d.ts.map +1 -1
  8. package/cjs/dropdown/Item.js +2 -7
  9. package/cjs/select/list.d.ts.map +1 -1
  10. package/cjs/select/list.js +40 -0
  11. package/cjs/select/result.d.ts.map +1 -1
  12. package/cjs/select/result.js +2 -4
  13. package/cjs/select/select.d.ts.map +1 -1
  14. package/cjs/select/select.js +16 -3
  15. package/cjs/select/select.type.d.ts +22 -3
  16. package/cjs/select/select.type.d.ts.map +1 -1
  17. package/cjs/table/tr.d.ts.map +1 -1
  18. package/cjs/table/tr.js +2 -12
  19. package/cjs/tabs/tab.d.ts.map +1 -1
  20. package/cjs/tabs/tab.js +16 -27
  21. package/cjs/tree-select/tree-select.type.d.ts +2 -2
  22. package/cjs/virtual-scroll/scroll.d.ts +2 -0
  23. package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
  24. package/cjs/virtual-scroll/scroll.js +16 -0
  25. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  26. package/cjs/virtual-scroll/virtual-scroll-list.js +1 -0
  27. package/esm/cascader/cascader.type.d.ts +2 -2
  28. package/esm/date-picker/date-picker.d.ts.map +1 -1
  29. package/esm/date-picker/date-picker.js +3 -12
  30. package/esm/date-picker/result.d.ts +0 -6
  31. package/esm/date-picker/result.d.ts.map +1 -1
  32. package/esm/date-picker/result.js +1 -14
  33. package/esm/dropdown/Item.d.ts.map +1 -1
  34. package/esm/dropdown/Item.js +2 -7
  35. package/esm/select/list.d.ts.map +1 -1
  36. package/esm/select/list.js +40 -0
  37. package/esm/select/result.d.ts.map +1 -1
  38. package/esm/select/result.js +2 -4
  39. package/esm/select/select.d.ts.map +1 -1
  40. package/esm/select/select.js +16 -3
  41. package/esm/select/select.type.d.ts +22 -3
  42. package/esm/select/select.type.d.ts.map +1 -1
  43. package/esm/table/tr.d.ts.map +1 -1
  44. package/esm/table/tr.js +2 -13
  45. package/esm/tabs/tab.d.ts.map +1 -1
  46. package/esm/tabs/tab.js +16 -28
  47. package/esm/tree-select/tree-select.type.d.ts +2 -2
  48. package/esm/virtual-scroll/scroll.d.ts +2 -0
  49. package/esm/virtual-scroll/scroll.d.ts.map +1 -1
  50. package/esm/virtual-scroll/scroll.js +16 -0
  51. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  52. package/esm/virtual-scroll/virtual-scroll-list.js +1 -0
  53. package/package.json +2 -2
package/esm/tabs/tab.js CHANGED
@@ -10,12 +10,11 @@ import Button from "../button";
10
10
  import { useConfig } from "../config";
11
11
  import { useTabsContext, util } from '@sheinx/hooks';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { Fragment as _Fragment } from "react/jsx-runtime";
14
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
14
  var Tab = function Tab(props, ref) {
16
15
  var _jssStyle$tabs;
17
16
  var jssStyle = props.jssStyle,
18
- propTab = props.tab,
17
+ tab = props.tab,
19
18
  disabled = props.disabled,
20
19
  id = props.id,
21
20
  color = props.color;
@@ -43,9 +42,6 @@ var Tab = function Tab(props, ref) {
43
42
  if (disabled) return;
44
43
  onChange === null || onChange === void 0 || onChange(id);
45
44
  };
46
- var tab = util.isLink(propTab) ?
47
- // 直接返回a标签的内容,不要a标签
48
- propTab.props.children : propTab;
49
45
  var renderCardTab = function renderCardTab() {
50
46
  return tab;
51
47
  };
@@ -77,35 +73,27 @@ var Tab = function Tab(props, ref) {
77
73
  if (shape === 'card') {
78
74
  style.color = color;
79
75
  }
80
- var containerProps = _objectSpread(_objectSpread({
76
+ if (shape === 'button') return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
77
+ className: tabClass,
78
+ jssStyle: {
79
+ button: buttonStyle
80
+ }
81
+ }, getStateProps()), {}, {
82
+ style: style,
83
+ disabled: disabled,
84
+ type: isActive ? 'primary' : 'secondary',
85
+ onClick: handleClick,
86
+ dir: config.direction,
87
+ children: tab
88
+ }));
89
+ return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
90
+ dir: config.direction,
81
91
  className: tabClass
82
92
  }, getStateProps()), {}, {
83
93
  style: style,
84
94
  onClick: handleClick,
85
95
  ref: ref,
86
- dir: config.direction
87
- });
88
- if (shape === 'button') {
89
- return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
90
- jssStyle: {
91
- button: buttonStyle
92
- },
93
- disabled: disabled,
94
- type: isActive ? 'primary' : 'secondary'
95
- }, containerProps), {}, {
96
- children: tab
97
- }));
98
- }
99
- var $children = /*#__PURE__*/_jsxs(_Fragment, {
100
96
  children: [shape === 'card' && renderCardTab(), shape === 'line' && renderLineTab(), shape === 'dash' && renderDashTab(), shape === 'fill' && renderFillTab()]
101
- });
102
- if (util.isLink(propTab)) {
103
- return /*#__PURE__*/React.cloneElement(propTab, _objectSpread({
104
- children: $children
105
- }, containerProps));
106
- }
107
- return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({}, containerProps), {}, {
108
- children: $children
109
97
  }));
110
98
  };
111
99
  export default /*#__PURE__*/React.forwardRef(Tab);
@@ -251,8 +251,8 @@ export interface TreeSelectProps<DataItem, Value> extends Pick<CommonType, 'clas
251
251
  data?: ResultItem<DataItem>[] | ResultItem<DataItem> | null;
252
252
  }) => void;
253
253
  /**
254
- * @cn 选中的 key (受控),多选时必须为array。注意,请勿将 undefined null 作为有意义的选项值,当 value 类型为 undefined null 时,组件将不处理数据和渲染
255
- * @en Selected key (controlled), must be an array in multiple selection. Note: Do not use undefined and null as meaningful option values. When the value type is undefined and null, the component will not process data and rendering
254
+ * @en In the Form, the value will be taken over by the form and the value will be invalid.
255
+ * @cn 选中的 key (受控),多选时必须为array
256
256
  */
257
257
  value?: Value;
258
258
  /**
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  interface scrollProps {
3
3
  scrollHeight: number;
4
4
  scrollWidth: number;
5
+ height?: number | string;
5
6
  children: React.ReactNode;
6
7
  childrenStyle?: React.CSSProperties;
7
8
  wrapperRef?: React.RefObject<HTMLDivElement>;
@@ -14,6 +15,7 @@ interface scrollProps {
14
15
  height: number;
15
16
  width: number;
16
17
  }) => void;
18
+ onScrollToBottom?: (options?: any) => void;
17
19
  className?: string;
18
20
  style?: React.CSSProperties;
19
21
  scrollerStyle?: React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["scroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,UAAU,WAAW;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,MAAM,UAAW,WAAW,gBAmGjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["scroll.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,UAAU,WAAW;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,gBAAgB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,MAAM,UAAW,WAAW,gBAuHjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -56,10 +56,26 @@ var Scroll = function Scroll(props) {
56
56
  marginTop: props.isScrollY ? 0 : -1,
57
57
  lineHeight: 0
58
58
  };
59
+ var extractHeightValue = function extractHeightValue(num) {
60
+ if (util.isNumber(num)) return num;
61
+ var match = num.match(/(\d+)/);
62
+ if (match) {
63
+ return parseInt(match[0], 10);
64
+ }
65
+ return undefined;
66
+ };
59
67
  var handleScroll = usePersistFn(function (e) {
68
+ var onScrollToBottom = props.onScrollToBottom;
60
69
  var target = e.currentTarget;
61
70
  var scrollLeft = target.scrollLeft,
62
71
  scrollTop = target.scrollTop;
72
+ if (props.height && onScrollToBottom) {
73
+ var realHeight = extractHeightValue(props.height);
74
+ if (realHeight !== undefined) {
75
+ var touchBottom = target.scrollHeight === scrollTop + realHeight;
76
+ if (touchBottom) onScrollToBottom();
77
+ }
78
+ }
63
79
  var maxY = target.scrollHeight - target.clientHeight;
64
80
  var maxX = target.scrollWidth - target.clientWidth;
65
81
  if (!isRtl) {
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-scroll-list.d.ts","sourceRoot":"","sources":["virtual-scroll-list.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,QAAA,MAAM,WAAW,8DA4GhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"virtual-scroll-list.d.ts","sourceRoot":"","sources":["virtual-scroll-list.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,QAAA,MAAM,WAAW,8DA6GhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -79,6 +79,7 @@ var VirtualList = function VirtualList(props) {
79
79
  return /*#__PURE__*/_jsx(Scroll, {
80
80
  className: className,
81
81
  style: nextStyle,
82
+ height: height,
82
83
  scrollWidth: 0,
83
84
  scrollHeight: scrollHeight,
84
85
  wrapperRef: wrapperRef,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.3.3-beta.8",
3
+ "version": "3.4.0-beta.1",
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.3.3-beta.8",
13
+ "@sheinx/hooks": "3.4.0-beta.1",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.1.3-alpha.0"