@dtjoy/dt-design 1.0.5 → 1.0.7

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 (179) hide show
  1. package/esm/_util/easings.js +9 -0
  2. package/esm/_util/extendsObject.js +17 -0
  3. package/esm/_util/getScroll.js +32 -0
  4. package/esm/_util/hooks/index.js +4 -1
  5. package/esm/_util/hooks/useForceUpdate.js +6 -0
  6. package/esm/_util/hooks/useProxyImperativeHandle.js +31 -0
  7. package/esm/_util/hooks/useSyncState.js +20 -0
  8. package/esm/_util/scrollTo.js +38 -0
  9. package/esm/_util/warning.js +63 -0
  10. package/esm/blockHeader/index.js +10 -8
  11. package/esm/blockHeader/style/index.less +143 -143
  12. package/esm/button/index.js +7 -15
  13. package/esm/button/style/index.less +52 -127
  14. package/esm/button/style/mixin.less +34 -42
  15. package/esm/collapsible/index.js +53 -55
  16. package/esm/collapsibleActionItems/index.js +2 -2
  17. package/esm/flex/index.js +1 -1
  18. package/esm/flex/style/index.less +76 -76
  19. package/esm/flex/utils.js +1 -1
  20. package/esm/formList/index.js +13 -11
  21. package/esm/formList/style/index.less +45 -45
  22. package/esm/index.js +3 -1
  23. package/esm/overflowList/index.js +4 -3
  24. package/esm/resize/index.js +1 -1
  25. package/esm/resizeObserver/index.js +3 -2
  26. package/esm/splitter/Panel.js +3 -3
  27. package/esm/splitter/SplitBar.js +8 -7
  28. package/esm/splitter/Splitter.js +5 -4
  29. package/esm/splitter/hooks/useItems.js +2 -2
  30. package/esm/splitter/hooks/useResize.js +5 -5
  31. package/esm/statusTag/index.js +8 -8
  32. package/esm/style/index.less +1 -1
  33. package/esm/style/themes/index.less +2 -2
  34. package/esm/style/themes/variable.less +4 -0
  35. package/esm/table/InternalTable.js +429 -0
  36. package/esm/table/RcTable/VirtualTable.js +9 -0
  37. package/esm/table/RcTable/index.js +9 -0
  38. package/esm/table/Table.js +28 -0
  39. package/esm/table/TableMeasureRowContext.js +3 -0
  40. package/esm/table/hooks/useContainerWidth.js +14 -0
  41. package/esm/table/index.js +2 -0
  42. package/esm/table/interface.js +4 -0
  43. package/esm/table/style/bordered.less +141 -0
  44. package/esm/table/style/fixed.less +88 -0
  45. package/esm/table/style/index.js +2 -0
  46. package/esm/table/style/index.less +150 -0
  47. package/esm/table/style/selection.less +90 -0
  48. package/esm/table/style/sticky.less +55 -0
  49. package/esm/table/style/virtual.less +65 -0
  50. package/esm/table/util.js +33 -0
  51. package/lib/_util/easings.js +15 -0
  52. package/lib/_util/extendsObject.js +20 -0
  53. package/lib/_util/getScroll.js +39 -0
  54. package/lib/_util/hooks/index.js +33 -0
  55. package/lib/_util/hooks/useForceUpdate.js +12 -0
  56. package/lib/_util/hooks/useProxyImperativeHandle.js +40 -0
  57. package/lib/_util/hooks/useSyncState.js +19 -0
  58. package/lib/_util/scrollTo.js +44 -0
  59. package/lib/_util/warning.js +75 -0
  60. package/lib/blockHeader/index.js +10 -8
  61. package/lib/blockHeader/style/index.less +143 -143
  62. package/lib/button/index.js +6 -14
  63. package/lib/button/style/index.less +52 -127
  64. package/lib/button/style/mixin.less +34 -42
  65. package/lib/collapsible/index.js +49 -49
  66. package/lib/collapsibleActionItems/index.js +2 -2
  67. package/lib/flex/index.js +2 -2
  68. package/lib/flex/style/index.less +76 -76
  69. package/lib/flex/utils.js +2 -2
  70. package/lib/formList/index.js +10 -10
  71. package/lib/formList/style/index.less +45 -45
  72. package/lib/index.js +21 -2
  73. package/lib/overflowList/index.js +4 -3
  74. package/lib/resize/index.js +1 -1
  75. package/lib/resizeObserver/index.js +3 -2
  76. package/lib/splitter/Panel.js +3 -3
  77. package/lib/splitter/SplitBar.js +8 -7
  78. package/lib/splitter/Splitter.js +5 -4
  79. package/lib/splitter/hooks/useItems.js +2 -2
  80. package/lib/splitter/hooks/useResize.js +5 -5
  81. package/lib/statusTag/index.js +8 -8
  82. package/lib/style/index.less +1 -1
  83. package/lib/style/themes/index.less +2 -2
  84. package/lib/style/themes/variable.less +4 -0
  85. package/lib/table/InternalTable.js +395 -0
  86. package/lib/table/RcTable/VirtualTable.js +17 -0
  87. package/lib/table/RcTable/index.js +17 -0
  88. package/lib/table/Table.js +37 -0
  89. package/lib/table/TableMeasureRowContext.js +10 -0
  90. package/lib/table/hooks/useContainerWidth.js +20 -0
  91. package/lib/table/index.js +9 -0
  92. package/lib/table/interface.js +8 -0
  93. package/lib/table/style/bordered.less +141 -0
  94. package/lib/table/style/fixed.less +88 -0
  95. package/lib/table/style/index.js +4 -0
  96. package/lib/table/style/index.less +150 -0
  97. package/lib/table/style/selection.less +90 -0
  98. package/lib/table/style/sticky.less +55 -0
  99. package/lib/table/style/virtual.less +65 -0
  100. package/lib/table/util.js +44 -0
  101. package/package.json +82 -66
  102. package/esm/_util/gapSize.d.ts +0 -3
  103. package/esm/_util/hooks/index.d.ts +0 -1
  104. package/esm/_util/hooks/useOrientation.d.ts +0 -2
  105. package/esm/_util/index.d.ts +0 -3
  106. package/esm/_util/isNonNullable.d.ts +0 -2
  107. package/esm/_util/type.d.ts +0 -52
  108. package/esm/blockHeader/index.d.ts +0 -47
  109. package/esm/blockHeader/style/index.d.ts +0 -2
  110. package/esm/button/index.d.ts +0 -10
  111. package/esm/button/style/index.d.ts +0 -2
  112. package/esm/collapsible/index.d.ts +0 -97
  113. package/esm/collapsible/style/index.d.ts +0 -1
  114. package/esm/collapsibleActionItems/index.d.ts +0 -24
  115. package/esm/collapsibleActionItems/style/index.d.ts +0 -2
  116. package/esm/flex/index.d.ts +0 -7
  117. package/esm/flex/interface.d.ts +0 -16
  118. package/esm/flex/style/index.d.ts +0 -2
  119. package/esm/flex/utils.d.ts +0 -7
  120. package/esm/formList/index.d.ts +0 -77
  121. package/esm/formList/style/index.d.ts +0 -2
  122. package/esm/index.d.ts +0 -14
  123. package/esm/overflowList/index.d.ts +0 -39
  124. package/esm/overflowList/style/index.d.ts +0 -2
  125. package/esm/resize/index.d.ts +0 -8
  126. package/esm/resizeObserver/index.d.ts +0 -45
  127. package/esm/splitter/Panel.d.ts +0 -7
  128. package/esm/splitter/SplitBar.d.ts +0 -24
  129. package/esm/splitter/Splitter.d.ts +0 -5
  130. package/esm/splitter/hooks/sizeUtil.d.ts +0 -3
  131. package/esm/splitter/hooks/useItems.d.ts +0 -14
  132. package/esm/splitter/hooks/useResizable.d.ts +0 -10
  133. package/esm/splitter/hooks/useResize.d.ts +0 -6
  134. package/esm/splitter/hooks/useSizes.d.ts +0 -4
  135. package/esm/splitter/index.d.ts +0 -8
  136. package/esm/splitter/interface.d.ts +0 -69
  137. package/esm/splitter/style/index.d.ts +0 -2
  138. package/esm/statusTag/index.d.ts +0 -28
  139. package/esm/statusTag/style/index.d.ts +0 -2
  140. package/esm/style/index.d.ts +0 -1
  141. package/lib/_util/gapSize.d.ts +0 -3
  142. package/lib/_util/hooks/index.d.ts +0 -1
  143. package/lib/_util/hooks/useOrientation.d.ts +0 -2
  144. package/lib/_util/index.d.ts +0 -3
  145. package/lib/_util/isNonNullable.d.ts +0 -2
  146. package/lib/_util/type.d.ts +0 -52
  147. package/lib/blockHeader/index.d.ts +0 -47
  148. package/lib/blockHeader/style/index.d.ts +0 -2
  149. package/lib/button/index.d.ts +0 -10
  150. package/lib/button/style/index.d.ts +0 -2
  151. package/lib/collapsible/index.d.ts +0 -97
  152. package/lib/collapsible/style/index.d.ts +0 -1
  153. package/lib/collapsibleActionItems/index.d.ts +0 -24
  154. package/lib/collapsibleActionItems/style/index.d.ts +0 -2
  155. package/lib/flex/index.d.ts +0 -7
  156. package/lib/flex/interface.d.ts +0 -16
  157. package/lib/flex/style/index.d.ts +0 -2
  158. package/lib/flex/utils.d.ts +0 -7
  159. package/lib/formList/index.d.ts +0 -77
  160. package/lib/formList/style/index.d.ts +0 -2
  161. package/lib/index.d.ts +0 -14
  162. package/lib/overflowList/index.d.ts +0 -39
  163. package/lib/overflowList/style/index.d.ts +0 -2
  164. package/lib/resize/index.d.ts +0 -8
  165. package/lib/resizeObserver/index.d.ts +0 -45
  166. package/lib/splitter/Panel.d.ts +0 -7
  167. package/lib/splitter/SplitBar.d.ts +0 -24
  168. package/lib/splitter/Splitter.d.ts +0 -5
  169. package/lib/splitter/hooks/sizeUtil.d.ts +0 -3
  170. package/lib/splitter/hooks/useItems.d.ts +0 -14
  171. package/lib/splitter/hooks/useResizable.d.ts +0 -10
  172. package/lib/splitter/hooks/useResize.d.ts +0 -6
  173. package/lib/splitter/hooks/useSizes.d.ts +0 -4
  174. package/lib/splitter/index.d.ts +0 -8
  175. package/lib/splitter/interface.d.ts +0 -69
  176. package/lib/splitter/style/index.d.ts +0 -2
  177. package/lib/statusTag/index.d.ts +0 -28
  178. package/lib/statusTag/style/index.d.ts +0 -2
  179. package/lib/style/index.d.ts +0 -1
@@ -3,132 +3,57 @@
3
3
 
4
4
  @btn-prefix-cls: ~'@{ant-prefix}-btn';
5
5
 
6
- .@{btn-prefix-cls} {
7
- display: inline-flex;
8
- align-items: center;
9
- justify-content: center;
10
-
11
- // 引用中尺寸配置(核心:先调用混入,再取值)
12
- .btn-size-middle();
13
- padding: @padding;
14
-
15
- // 图标样式
16
- &__icon {
17
- display: inline-flex;
18
- align-items: center;
19
- justify-content: center;
20
- font-size: inherit;
21
- line-height: 0;
22
-
23
- .dtstack-icon {
24
- font-size: inherit;
25
- }
26
-
27
- // 小尺寸图标
28
- &--small {
29
- .btn-size-small();
30
- font-size: @icon-font-size;
31
- }
32
- // 中尺寸图标
33
- &--middle {
34
- .btn-size-middle();
35
- font-size: @icon-font-size;
36
- }
37
- // 大尺寸图标
38
- &--large {
39
- .btn-size-large();
40
- font-size: @icon-font-size;
41
- }
42
-
43
- // 图标与文字间距
44
- & + .@{btn-prefix-cls}__text {
45
- &--small {
46
- .btn-size-small();
47
- margin-left: @icon-text-margin;
48
- }
49
- &--middle {
50
- .btn-size-middle();
51
- margin-left: @icon-text-margin;
52
- }
53
- &--large {
54
- .btn-size-large();
55
- margin-left: @icon-text-margin;
56
- }
57
- }
58
- }
59
-
60
- // 文字样式
61
- &__text {
62
- display: inline-block;
63
-
64
- &--small {
65
- .btn-size-small();
66
- font-size: @text-font-size;
67
- }
68
- &--middle {
69
- .btn-size-middle();
70
- font-size: @text-font-size;
71
- }
72
- &--large {
73
- .btn-size-large();
74
- font-size: @text-font-size;
75
- }
76
- }
77
-
78
- // 尺寸变体
79
- &-sm {
80
- .btn-size-small();
81
- padding: @padding;
82
- }
83
- &-lg {
84
- .btn-size-large();
85
- padding: @padding;
86
- }
87
-
88
- // 主要按钮
89
- &-primary {
90
- .btn-disabled-primary();
91
- .generate-btn-disabled(@bg, @color, @border);
92
-
93
- &:hover,
94
- &:focus {
95
- background-color: #225fdb;
96
- }
97
- }
98
-
99
- // 次要按钮
100
- &-secondary {
101
- border-color: @primary-color;
102
- color: @primary-color;
103
-
104
- &:hover,
105
- &:focus {
106
- background-color: fade(@primary-color, 10%);
107
- }
108
-
109
- .btn-disabled-secondary-tertiary();
110
- .generate-btn-disabled(@bg, @color, @border);
111
- }
112
-
113
- // 三级按钮
114
- &-tertiary {
115
- background-color: #f3f3f3;
116
- border-color: @border-color-base;
117
-
118
- &:hover,
119
- &:focus {
120
- background-color: fade(@primary-color, 10%);
121
- border-color: @primary-color;
122
- color: @primary-color;
123
- }
6
+ .ant-btn {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
11
+ padding: 0;
12
+
13
+ .apply-btn-size(4px 16px; 14px; 16px; 8px);
14
+
15
+ &-sm {
16
+ .apply-btn-size(2px 12px; 12px; 12px; 2px);
17
+ }
18
+
19
+ &-lg {
20
+ .apply-btn-size(3px 40px; 14px; 18px; 8px);
21
+ }
22
+
23
+ &-circle {
24
+ padding-inline: 0;
25
+ border-radius: 50%;
26
+ }
27
+
28
+
29
+ // 主按钮
30
+ &-primary {
31
+ .btn-hover-variant(#fff; #225fdb; #225fdb);
32
+ .generate-btn-disabled(@disabled-color; #f9f9f9; @disabled-color);
33
+ }
34
+
35
+ // 次按钮
36
+ &-secondary {
37
+ color: @primary-color;
38
+ border-color: @primary-color;
39
+
40
+ .btn-hover-variant(@primary-color; fade(@primary-color, 10%); @primary-color);
41
+ .generate-btn-disabled(@primary-color-disabled; @disabled-color; @border-color-base);
42
+ }
43
+
44
+ // 三级按钮
45
+ &-tertiary {
46
+ background-color: #f3f3f3;
47
+ border-color: @border-color-base;
48
+
49
+ .btn-hover-variant(@primary-color; fade(@primary-color, 10%); @primary-color);
50
+ .generate-btn-disabled(@primary-color-disabled; @disabled-color; @border-color-base);
51
+ }
52
+
53
+ // 默认按钮
54
+ &-default {
55
+ .generate-btn-disabled(transparent; @disabled-color; @border-color-base);
56
+ }
57
+ }
124
58
 
125
- .btn-disabled-secondary-tertiary();
126
- .generate-btn-disabled(@bg, @color, @border);
127
- }
128
59
 
129
- // 默认按钮
130
- &-default {
131
- .btn-disabled-default();
132
- .generate-btn-disabled(@bg, @color, @border);
133
- }
134
- }
@@ -1,47 +1,39 @@
1
- .btn-size-small() {
2
- @padding: 2px 12px;
3
- @icon-font-size: 12px;
4
- @text-font-size: 12px;
5
- @icon-text-margin: 2px;
6
- }
7
- .btn-size-middle() {
8
- @padding: 4px 16px;
9
- @icon-font-size: 16px;
10
- @text-font-size: 14px;
11
- @icon-text-margin: 8px;
12
- }
13
- .btn-size-large() {
14
- @padding: 3px 40px;
15
- @icon-font-size: 18px;
16
- @text-font-size: 14px;
17
- @icon-text-margin: 8px;
18
- }
1
+ // ===================== 按钮尺寸处理 =====================
2
+ .apply-btn-size(@padding; @font-size; @icon-size: 16px; @gap: 8px) {
3
+ padding: @padding;
4
+ font-size: @font-size;
19
5
 
20
- // 禁用状态配置(同样用混入)
21
- .btn-disabled-primary() {
22
- @bg: @disabled-color;
23
- @color: #F9F9F9;
24
- @border: @disabled-color;
25
- }
26
- .btn-disabled-secondary-tertiary() {
27
- @bg: @primary-color-disabled;
28
- @color: @disabled-color;
29
- @border: @border-color-base;
6
+ .anticon {
7
+ font-size: @icon-size;
8
+ + span {
9
+ margin-left: @gap;
10
+ }
11
+ }
30
12
  }
31
- .btn-disabled-default() {
32
- @bg: transparent;
33
- @color: @disabled-color;
34
- @border: @border-color-base;
13
+
14
+ // ===================== 禁用状态生成器 =====================
15
+ // 参数: 背景色, 文字颜色, 边框颜色
16
+ .generate-btn-disabled(@bg; @color; @border) {
17
+ &[disabled],
18
+ &[disabled]:hover,
19
+ &[disabled]:active,
20
+ &[disabled]:focus {
21
+ color: @color;
22
+ background: @bg;
23
+ border-color: @border;
24
+ cursor: not-allowed;
25
+ opacity: 1;
26
+ box-shadow: none;
27
+ text-shadow: none;
28
+ }
35
29
  }
36
30
 
37
- // ===================== 工具混入 =====================
38
- .generate-btn-disabled(@bg, @color, @border) {
39
- &[disabled],
40
- &[disabled]:hover {
41
- background: @bg;
42
- color: @color;
43
- border-color: @border;
44
- cursor: not-allowed;
45
- opacity: 1;
46
- }
31
+ // ===================== 交互状态快捷配置 =====================
32
+ .btn-hover-variant(@color; @bg; @border) {
33
+ &:hover,
34
+ &:focus {
35
+ color: @color;
36
+ background: @bg;
37
+ border-color: @border;
38
+ }
47
39
  }
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _configProvider = require("antd/es/config-provider");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
8
  var _lodashEs = require("lodash-es");
11
9
  require("./style");
10
+ var _context = require("antd/lib/config-provider/context");
11
+ var _clsx = _interopRequireDefault(require("clsx"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
14
  class Collapsible extends _react.default.Component {
@@ -21,18 +21,11 @@ class Collapsible extends _react.default.Component {
21
21
  collapseHeight: 0,
22
22
  fade: false
23
23
  };
24
- prefixCls = 'collapsible';
24
+ static displayName;
25
25
  foundation;
26
26
  domRef = /*#__PURE__*/_react.default.createRef();
27
27
  resizeObserver = null;
28
28
  hasBeenRendered = false;
29
- static displayName;
30
- // public cssClasses = {
31
- // PREFIX: 'ant-collapsible',
32
- // TRANSITION: 'ant-collapsible-transition',
33
- // WRAPPER: 'ant-collapsible-wrapper',
34
- // };
35
-
36
29
  constructor(props) {
37
30
  super(props);
38
31
  this.state = {
@@ -42,7 +35,6 @@ class Collapsible extends _react.default.Component {
42
35
  isTransitioning: false,
43
36
  cacheIsOpen: this.props.isOpen || false
44
37
  };
45
- this.prefixCls = `${(0, _configProvider.globalConfig)().getPrefixCls(this.prefixCls)}`;
46
38
  this.foundation = {
47
39
  updateDOMInRenderTree: val => this.setState({
48
40
  domInRenderTree: val
@@ -58,20 +50,6 @@ class Collapsible extends _react.default.Component {
58
50
  })
59
51
  };
60
52
  }
61
- handleResize = entryList => {
62
- const entry = entryList[0];
63
- if (entry) {
64
- const entryInfo = Collapsible.getEntryInfo(entry);
65
- this.foundation.updateDOMHeight(entryInfo.height);
66
- this.foundation.updateDOMInRenderTree(entryInfo.isShown);
67
- }
68
- };
69
- isChildrenInRenderTree = () => {
70
- if (this.domRef.current) {
71
- return this.domRef.current.offsetHeight > 0;
72
- }
73
- return false;
74
- };
75
53
  static getEntryInfo = entry => {
76
54
  let inRenderTree;
77
55
  if (entry.borderBoxSize) {
@@ -91,26 +69,6 @@ class Collapsible extends _react.default.Component {
91
69
  height
92
70
  };
93
71
  };
94
- getDataAttr = props => {
95
- const dataAttrs = {};
96
- Object.keys(props).forEach(key => {
97
- if (key.startsWith('data-')) {
98
- dataAttrs[key] = String(props[key]);
99
- }
100
- });
101
- return dataAttrs;
102
- };
103
- componentDidMount() {
104
- this.resizeObserver = new ResizeObserver(this.handleResize);
105
- if (this.domRef.current) {
106
- this.resizeObserver.observe(this.domRef.current);
107
- }
108
- const domInRenderTree = this.isChildrenInRenderTree();
109
- this.foundation.updateDOMInRenderTree(domInRenderTree);
110
- if (domInRenderTree && this.domRef.current) {
111
- this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
112
- }
113
- }
114
72
  static getDerivedStateFromProps(props, prevState) {
115
73
  const newState = {};
116
74
  const isOpenChanged = props.isOpen !== prevState.cacheIsOpen;
@@ -125,6 +83,18 @@ class Collapsible extends _react.default.Component {
125
83
  newState.cacheIsOpen = props.isOpen;
126
84
  return newState;
127
85
  }
86
+ componentDidMount() {
87
+ // eslint-disable-next-line compat/compat
88
+ this.resizeObserver = new ResizeObserver(this.handleResize);
89
+ if (this.domRef.current) {
90
+ this.resizeObserver.observe(this.domRef.current);
91
+ }
92
+ const domInRenderTree = this.isChildrenInRenderTree();
93
+ this.foundation.updateDOMInRenderTree(domInRenderTree);
94
+ if (domInRenderTree && this.domRef.current) {
95
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
96
+ }
97
+ }
128
98
  componentDidUpdate(prevProps, prevState) {
129
99
  const changedPropKeys = Object.keys((0, _lodashEs.pick)(this.props, ['reCalcKey'])).filter(key => !(0, _lodashEs.isEqual)(this.props[key], prevProps[key]));
130
100
  const changedStateKeys = Object.keys((0, _lodashEs.pick)(this.state, ['domInRenderTree'])).filter(key => !(0, _lodashEs.isEqual)(this.state[key], prevState[key]));
@@ -141,7 +111,9 @@ class Collapsible extends _react.default.Component {
141
111
  this.resizeObserver = null;
142
112
  }
143
113
  }
144
- render() {
114
+ renderCollapsible = ({
115
+ getPrefixCls
116
+ }) => {
145
117
  const {
146
118
  isOpen,
147
119
  collapseHeight,
@@ -153,13 +125,15 @@ class Collapsible extends _react.default.Component {
153
125
  id,
154
126
  keepDOM,
155
127
  lazyRender,
156
- onMotionEnd
128
+ onMotionEnd,
129
+ prefixCls: customizePrefixCls
157
130
  } = this.props;
158
131
  const {
159
132
  domHeight,
160
133
  isTransitioning,
161
134
  visible
162
135
  } = this.state;
136
+ const prefixCls = getPrefixCls('splitter', customizePrefixCls);
163
137
  const wrapperStyle = {
164
138
  overflow: 'hidden',
165
139
  height: isOpen ? domHeight : collapseHeight,
@@ -167,8 +141,8 @@ class Collapsible extends _react.default.Component {
167
141
  transitionDuration: `${motion && isTransitioning ? duration : 0}ms`,
168
142
  ...style
169
143
  };
170
- const wrapperCls = (0, _classnames.default)(`${this.prefixCls}-wrapper`, {
171
- [`${this.prefixCls}-transition`]: motion && isTransitioning
144
+ const wrapperCls = (0, _clsx.default)(`${prefixCls}-wrapper`, {
145
+ [`${prefixCls}-transition`]: motion && isTransitioning
172
146
  }, className);
173
147
  const shouldRender = keepDOM && (lazyRender ? this.hasBeenRendered : true) || collapseHeight !== 0 || visible || isOpen;
174
148
  if (shouldRender && !this.hasBeenRendered) {
@@ -191,7 +165,33 @@ class Collapsible extends _react.default.Component {
191
165
  },
192
166
  id: id
193
167
  }, shouldRender && this.props.children));
168
+ };
169
+ render() {
170
+ return /*#__PURE__*/_react.default.createElement(_context.ConfigConsumer, null, this.renderCollapsible);
194
171
  }
172
+ handleResize = entryList => {
173
+ const entry = entryList[0];
174
+ if (entry) {
175
+ const entryInfo = Collapsible.getEntryInfo(entry);
176
+ this.foundation.updateDOMHeight(entryInfo.height);
177
+ this.foundation.updateDOMInRenderTree(entryInfo.isShown);
178
+ }
179
+ };
180
+ isChildrenInRenderTree = () => {
181
+ if (this.domRef.current) {
182
+ return this.domRef.current.offsetHeight > 0;
183
+ }
184
+ return false;
185
+ };
186
+ getDataAttr = props => {
187
+ const dataAttrs = {};
188
+ Object.keys(props).forEach(key => {
189
+ if (key.startsWith('data-')) {
190
+ dataAttrs[key] = String(props[key]);
191
+ }
192
+ });
193
+ return dataAttrs;
194
+ };
195
195
  }
196
196
  if (process.env.NODE_ENV !== 'production') {
197
197
  Collapsible.displayName = 'Collapsible';
@@ -9,8 +9,8 @@ var _icons = require("@ant-design/icons");
9
9
  var _ = require("./..");
10
10
  var _antd = require("antd");
11
11
  var _configProvider = require("antd/es/config-provider");
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
12
  require("./style");
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
16
  const CollapsibleActionItems = props => {
@@ -50,7 +50,7 @@ const CollapsibleActionItems = props => {
50
50
  onClick: info => onItemClick?.(info.key)
51
51
  }, actionItems.slice(maxCount - 1).map(item => getActionItemNode(item, true))) : null;
52
52
  return /*#__PURE__*/_react.default.createElement("div", {
53
- className: (0, _classnames.default)(prefixCls, className),
53
+ className: (0, _clsx.default)(prefixCls, className),
54
54
  style: style
55
55
  }, displayAction.map((actionItem, index) => {
56
56
  const showDivider = index < actionItems.length - 1;
package/lib/flex/index.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _configProvider = require("antd/es/config-provider");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _lodashEs = require("lodash-es");
11
11
  require("./style");
12
12
  var _gapSize = require("../_util/gapSize");
@@ -34,7 +34,7 @@ const Flex = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
34
34
  } = _react.default.useContext(_configProvider.ConfigContext);
35
35
  const prefixCls = customizePrefixCls || (0, _configProvider.globalConfig)().getPrefixCls('flex');
36
36
  const [mergedVertical] = (0, _hooks.useOrientation)(orientation, vertical);
37
- const mergedCls = (0, _classnames.default)(className, rootClassName, prefixCls, (0, _utils.default)(prefixCls, props), {
37
+ const mergedCls = (0, _clsx.default)(className, rootClassName, prefixCls, (0, _utils.default)(prefixCls, props), {
38
38
  [`${prefixCls}-rtl`]: ctxDirection === 'rtl',
39
39
  [`${prefixCls}-gap-${gap}`]: (0, _gapSize.isPresetSize)(gap),
40
40
  [`${prefixCls}-vertical`]: mergedVertical === 'vertical'
@@ -1,77 +1,77 @@
1
- @import '../../style/themes/index.less';
2
-
3
- @flex-prefix-cls: ~'@{ant-prefix}-flex';
4
-
5
- // 属性与值的映射
6
- @align-items-values: {
7
- stretch: stretch;
8
- flex-start: flex-start;
9
- center: center;
10
- flex-end: flex-end;
11
- baseline: baseline;
12
- };
13
-
14
- @justify-content-values: {
15
- flex-start: flex-start;
16
- center: center;
17
- flex-end: flex-end;
18
- space-between: space-between;
19
- space-around: space-around;
20
- space-evenly: space-evenly;
21
- };
22
-
23
- @flex-wrap-values: {
24
- nowrap: nowrap;
25
- wrap: wrap;
26
- wrap-reverse: wrap-reverse;
27
- };
28
-
29
- .@{flex-prefix-cls} {
30
- display: flex;
31
- margin: 0;
32
- padding: 0;
33
-
34
- // 方向
35
- &-vertical {
36
- flex-direction: column;
37
- }
38
- &-rtl {
39
- direction: rtl;
40
- }
41
- &:empty {
42
- display: none;
43
- }
44
-
45
- // 间距 (Gap)
46
- &-gap-small {
47
- gap: @padding-xs;
48
- }
49
- &-gap-middle {
50
- gap: @padding-md;
51
- }
52
- &-gap-large {
53
- gap: @padding-lg;
54
- }
55
-
56
- // 使用 Loops/Each 抽象重复代码
57
- // flex-wrap
58
- each(@flex-wrap-values, .(@value, @key) {
59
- &-wrap-@{key} {
60
- flex-wrap: @value;
61
- }
62
- });
63
-
64
- // align-items
65
- each(@align-items-values, .(@value, @key) {
66
- &-align-@{key} {
67
- align-items: @value;
68
- }
69
- });
70
-
71
- // justify-content
72
- each(@justify-content-values, .(@value, @key) {
73
- &-justify-@{key} {
74
- justify-content: @value;
75
- }
76
- });
1
+ @import '../../style/themes/index.less';
2
+
3
+ @flex-prefix-cls: ~'@{ant-prefix}-flex';
4
+
5
+ // 属性与值的映射
6
+ @align-items-values: {
7
+ stretch: stretch;
8
+ flex-start: flex-start;
9
+ center: center;
10
+ flex-end: flex-end;
11
+ baseline: baseline;
12
+ };
13
+
14
+ @justify-content-values: {
15
+ flex-start: flex-start;
16
+ center: center;
17
+ flex-end: flex-end;
18
+ space-between: space-between;
19
+ space-around: space-around;
20
+ space-evenly: space-evenly;
21
+ };
22
+
23
+ @flex-wrap-values: {
24
+ nowrap: nowrap;
25
+ wrap: wrap;
26
+ wrap-reverse: wrap-reverse;
27
+ };
28
+
29
+ .@{flex-prefix-cls} {
30
+ display: flex;
31
+ margin: 0;
32
+ padding: 0;
33
+
34
+ // 方向
35
+ &-vertical {
36
+ flex-direction: column;
37
+ }
38
+ &-rtl {
39
+ direction: rtl;
40
+ }
41
+ &:empty {
42
+ display: none;
43
+ }
44
+
45
+ // 间距 (Gap)
46
+ &-gap-small {
47
+ gap: @padding-xs;
48
+ }
49
+ &-gap-middle {
50
+ gap: @padding-md;
51
+ }
52
+ &-gap-large {
53
+ gap: @padding-lg;
54
+ }
55
+
56
+ // 使用 Loops/Each 抽象重复代码
57
+ // flex-wrap
58
+ each(@flex-wrap-values, .(@value, @key) {
59
+ &-wrap-@{key} {
60
+ flex-wrap: @value;
61
+ }
62
+ });
63
+
64
+ // align-items
65
+ each(@align-items-values, .(@value, @key) {
66
+ &-align-@{key} {
67
+ align-items: @value;
68
+ }
69
+ });
70
+
71
+ // justify-content
72
+ each(@justify-content-values, .(@value, @key) {
73
+ &-justify-@{key} {
74
+ justify-content: @value;
75
+ }
76
+ });
77
77
  }
package/lib/flex/utils.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.justifyContentValues = exports.flexWrapValues = exports.default = exports.alignItemsValues = void 0;
7
- var _classnames = _interopRequireDefault(require("classnames"));
7
+ var _clsx = _interopRequireDefault(require("clsx"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  const flexWrapValues = exports.flexWrapValues = ['wrap', 'nowrap', 'wrap-reverse'];
10
10
  const justifyContentValues = exports.justifyContentValues = ['flex-start', 'flex-end', 'start', 'end', 'center', 'space-between', 'space-around', 'space-evenly', 'stretch', 'normal', 'left', 'right'];
@@ -31,7 +31,7 @@ const genClsJustify = (prefixCls, props) => {
31
31
  return justifyCls;
32
32
  };
33
33
  const createFlexClassNames = (prefixCls, props) => {
34
- return (0, _classnames.default)({
34
+ return (0, _clsx.default)({
35
35
  ...genClsWrap(prefixCls, props),
36
36
  ...genClsAlign(prefixCls, props),
37
37
  ...genClsJustify(prefixCls, props)