@kdcloudjs/kdesign 1.2.0 → 1.2.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 (56) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/kdesign-complete.less +476 -464
  3. package/dist/kdesign.css +135 -209
  4. package/dist/kdesign.css.map +1 -1
  5. package/dist/kdesign.js +234 -215
  6. package/dist/kdesign.js.map +1 -1
  7. package/dist/kdesign.min.css +3 -3
  8. package/dist/kdesign.min.js +8 -8
  9. package/dist/kdesign.min.js.map +1 -1
  10. package/es/_utils/usePopper.js +33 -11
  11. package/es/collapse/panel.d.ts +1 -0
  12. package/es/collapse/panel.js +17 -5
  13. package/es/collapse/style/index.css +32 -6
  14. package/es/collapse/style/index.less +24 -1
  15. package/es/collapse/style/token.less +12 -10
  16. package/es/drawer/drawer.d.ts +1 -0
  17. package/es/drawer/drawer.js +56 -21
  18. package/es/radio/radio.js +3 -1
  19. package/es/radio/style/index.css +46 -18
  20. package/es/radio/style/index.less +27 -1
  21. package/es/radio/style/token.less +4 -4
  22. package/es/select/option.js +1 -1
  23. package/es/select/style/index.css +14 -5
  24. package/es/select/style/index.less +374 -368
  25. package/es/select/style/token.less +2 -2
  26. package/es/steps/style/index.css +40 -32
  27. package/es/steps/style/index.less +23 -33
  28. package/es/steps/style/token.less +6 -9
  29. package/es/tag/style/index.css +2 -147
  30. package/es/tag/style/index.less +4 -24
  31. package/es/tag/style/mixin.less +0 -13
  32. package/es/tag/style/token.less +1 -1
  33. package/lib/_utils/usePopper.js +34 -11
  34. package/lib/collapse/panel.d.ts +1 -0
  35. package/lib/collapse/panel.js +17 -5
  36. package/lib/collapse/style/index.css +32 -6
  37. package/lib/collapse/style/index.less +24 -1
  38. package/lib/collapse/style/token.less +12 -10
  39. package/lib/drawer/drawer.d.ts +1 -0
  40. package/lib/drawer/drawer.js +61 -27
  41. package/lib/radio/radio.js +3 -1
  42. package/lib/radio/style/index.css +46 -18
  43. package/lib/radio/style/index.less +27 -1
  44. package/lib/radio/style/token.less +4 -4
  45. package/lib/select/option.js +1 -1
  46. package/lib/select/style/index.css +14 -5
  47. package/lib/select/style/index.less +374 -368
  48. package/lib/select/style/token.less +2 -2
  49. package/lib/steps/style/index.css +40 -32
  50. package/lib/steps/style/index.less +23 -33
  51. package/lib/steps/style/token.less +6 -9
  52. package/lib/tag/style/index.css +2 -147
  53. package/lib/tag/style/index.less +4 -24
  54. package/lib/tag/style/mixin.less +0 -13
  55. package/lib/tag/style/token.less +1 -1
  56. package/package.json +1 -1
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
4
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
5
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
5
6
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
6
7
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
7
8
  import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
@@ -83,6 +84,23 @@ var getOffsetPos = function getOffsetPos(el) {
83
84
  return elPos;
84
85
  };
85
86
 
87
+ var getBorderWidth = function getBorderWidth(el) {
88
+ var border = {
89
+ top: 0,
90
+ left: 0
91
+ };
92
+
93
+ if (el.offsetParent) {
94
+ var _context, _context2;
95
+
96
+ var parentBorder = getBorderWidth(el.offsetParent);
97
+ border.top += parentBorder.top + parseInt(_sliceInstanceProperty(_context = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context, 0, -2));
98
+ border.left += parentBorder.left + parseInt(_sliceInstanceProperty(_context2 = getComputedStyle(el.offsetParent, null).borderTopWidth).call(_context2, 0, -2));
99
+ }
100
+
101
+ return border;
102
+ };
103
+
86
104
  var getScrollDist = function getScrollDist(el, container) {
87
105
  var elScroll = {
88
106
  top: el.scrollTop,
@@ -103,7 +121,7 @@ var getScrollDist = function getScrollDist(el, container) {
103
121
  };
104
122
 
105
123
  function usePopper(locatorElement, popperElement, props) {
106
- var _context, _context2, _arrowStyle;
124
+ var _context3, _context4, _arrowStyle;
107
125
 
108
126
  var prefixCls = props.prefixCls,
109
127
  onTrigger = props.onTrigger,
@@ -142,11 +160,11 @@ function usePopper(locatorElement, popperElement, props) {
142
160
  } : _props$getPopupContai;
143
161
  var arrowWidth = Math.sqrt(2 * Math.pow(arrowSize, 2));
144
162
  var componentName = (prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.split('-')[1]) || '';
145
- devWarning(Placements.indexOf(placement) === -1, componentName, _concatInstanceProperty(_context = "cannot found ".concat(componentName, " placement '")).call(_context, placement, "'"));
163
+ devWarning(Placements.indexOf(placement) === -1, componentName, _concatInstanceProperty(_context3 = "cannot found ".concat(componentName, " placement '")).call(_context3, placement, "'"));
146
164
  var isWrongTrigger = Array.isArray(trigger) ? trigger.some(function (v) {
147
165
  return !_includesInstanceProperty(Triggers).call(Triggers, v);
148
166
  }) : Triggers.indexOf(trigger) === -1;
149
- devWarning(isWrongTrigger, componentName, _concatInstanceProperty(_context2 = "cannot found ".concat(componentName, " trigger '")).call(_context2, trigger, "'"));
167
+ devWarning(isWrongTrigger, componentName, _concatInstanceProperty(_context4 = "cannot found ".concat(componentName, " trigger '")).call(_context4, trigger, "'"));
150
168
  var locatorEl = useRef();
151
169
  var popperEl = useRef();
152
170
  var locatorRef = locatorElement.ref || locatorEl;
@@ -246,21 +264,25 @@ function usePopper(locatorElement, popperElement, props) {
246
264
  locatorTop = _getOffsetPos2.top,
247
265
  locatorLeft = _getOffsetPos2.left;
248
266
 
249
- var _getScrollDist = getScrollDist(locatorRef.current.parentElement, container),
250
- scrollTop = _getScrollDist.top,
251
- scrollLeft = _getScrollDist.left;
252
-
253
267
  var _getTranslatePos = getTranslatePos(locatorRef.current),
254
268
  translateTop = _getTranslatePos.top,
255
269
  translateLeft = _getTranslatePos.left;
256
270
 
271
+ var _getBorderWidth = getBorderWidth(locatorRef.current),
272
+ borderTop = _getBorderWidth.top,
273
+ borderLeft = _getBorderWidth.left;
274
+
275
+ var _getScrollDist = getScrollDist(locatorRef.current.parentElement, container),
276
+ scrollTop = _getScrollDist.top,
277
+ scrollLeft = _getScrollDist.left;
278
+
257
279
  var locatorPos = {
258
280
  width: width,
259
281
  height: height,
260
- top: locatorTop + translateTop - containerTop - scrollTop,
261
- left: locatorLeft + translateLeft - containerLeft - scrollLeft,
262
- right: locatorLeft + translateLeft + width - containerLeft - scrollLeft,
263
- bottom: locatorTop + translateTop + height - containerTop - scrollTop
282
+ top: locatorTop + borderTop + translateTop - containerTop - scrollTop,
283
+ left: locatorLeft + borderLeft + translateLeft - containerLeft - scrollLeft,
284
+ right: locatorLeft + borderLeft + translateLeft + width - containerLeft - scrollLeft,
285
+ bottom: locatorTop + borderTop + translateTop + height - containerTop - scrollTop
264
286
  };
265
287
  var currentPos = trigger === 'contextMenu' ? mousePos : locatorPos;
266
288
  var _currentPlacement = placement;
@@ -8,6 +8,7 @@ export interface PanelProps {
8
8
  expandIconPosition?: IconPositionType;
9
9
  onChange?: (key: keyType) => void;
10
10
  extra?: React.ReactNode | ((props: PanelProps) => React.ReactNode);
11
+ assist?: React.ReactNode | ((props: PanelProps) => React.ReactNode);
11
12
  expand?: boolean;
12
13
  defaultExpand?: boolean;
13
14
  children?: React.ReactNode;
@@ -7,7 +7,7 @@ import { getCompProps } from '../_utils';
7
7
  import Icon from '../icon';
8
8
  import isBoolean from 'lodash/isBoolean';
9
9
  var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
10
- var _classNames5, _classNames6, _classNames7;
10
+ var _classNames6, _classNames7, _classNames8;
11
11
 
12
12
  var _React$useContext = React.useContext(ConfigContext),
13
13
  getPrefixCls = _React$useContext.getPrefixCls,
@@ -17,6 +17,7 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
17
17
  var _getCompProps = getCompProps('CollapsePanel', userDefaultProps, props),
18
18
  disabled = _getCompProps.disabled,
19
19
  extra = _getCompProps.extra,
20
+ assist = _getCompProps.assist,
20
21
  header = _getCompProps.header,
21
22
  onChange = _getCompProps.onChange,
22
23
  panelKey = _getCompProps.panelKey,
@@ -87,6 +88,17 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
87
88
  }, renderReactNode(extra)), expandIconPosition === 'right' ? renderIcon() : null);
88
89
  };
89
90
 
91
+ var renderMiddle = function renderMiddle() {
92
+ var _classNames5;
93
+
94
+ var className = classNames((_classNames5 = {}, _defineProperty(_classNames5, "".concat(panelPrefixCls, "-middle"), true), _defineProperty(_classNames5, "".concat(panelPrefixCls, "-disabled"), disabled), _classNames5));
95
+ return /*#__PURE__*/React.createElement("span", {
96
+ className: className
97
+ }, assist && /*#__PURE__*/React.createElement("span", {
98
+ className: "".concat(panelPrefixCls, "-assist")
99
+ }, renderReactNode(assist)), expandIconPosition === 'right' ? renderIcon() : null);
100
+ };
101
+
90
102
  var renderReactNode = function renderReactNode(reactNode) {
91
103
  if (typeof reactNode === 'function') {
92
104
  return reactNode();
@@ -95,9 +107,9 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
95
107
  return reactNode;
96
108
  };
97
109
 
98
- var rootClassName = classNames(className, (_classNames5 = {}, _defineProperty(_classNames5, "".concat(panelPrefixCls), true), _defineProperty(_classNames5, "".concat(panelPrefixCls, "-border"), bordered), _defineProperty(_classNames5, "".concat(panelPrefixCls, "-opened"), expand), _classNames5));
99
- var topClassName = classNames((_classNames6 = {}, _defineProperty(_classNames6, "".concat(panelPrefixCls, "-top"), true), _defineProperty(_classNames6, "".concat(panelPrefixCls, "-disabled"), disabled), _defineProperty(_classNames6, "".concat(panelPrefixCls, "-top-border"), bordered && expand), _classNames6));
100
- var childrenClassName = classNames((_classNames7 = {}, _defineProperty(_classNames7, "".concat(panelPrefixCls, "-children"), expand), _defineProperty(_classNames7, "".concat(panelPrefixCls, "-children-hide"), !expand), _classNames7));
110
+ var rootClassName = classNames(className, (_classNames6 = {}, _defineProperty(_classNames6, "".concat(panelPrefixCls), true), _defineProperty(_classNames6, "".concat(panelPrefixCls, "-border"), bordered), _defineProperty(_classNames6, "".concat(panelPrefixCls, "-opened"), expand), _classNames6));
111
+ var topClassName = classNames((_classNames7 = {}, _defineProperty(_classNames7, "".concat(panelPrefixCls, "-top"), true), _defineProperty(_classNames7, "".concat(panelPrefixCls, "-disabled"), disabled), _defineProperty(_classNames7, "".concat(panelPrefixCls, "-top-border"), bordered && expand), _classNames7));
112
+ var childrenClassName = classNames((_classNames8 = {}, _defineProperty(_classNames8, "".concat(panelPrefixCls, "-children"), expand), _defineProperty(_classNames8, "".concat(panelPrefixCls, "-children-hide"), !expand), _classNames8));
101
113
  var childrenBorderedClassName = classNames(_defineProperty({}, "".concat(panelPrefixCls, "-children-bordered"), bordered));
102
114
 
103
115
  var runExpandAnimation = function runExpandAnimation(element) {
@@ -146,7 +158,7 @@ var Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {
146
158
  ref: panelPrefixClsRef
147
159
  }, /*#__PURE__*/React.createElement("span", {
148
160
  className: topClassName
149
- }, renderLeft(), renderRight()), /*#__PURE__*/React.createElement("div", {
161
+ }, renderLeft(), renderMiddle(), renderRight()), /*#__PURE__*/React.createElement("div", {
150
162
  className: childrenClassName,
151
163
  ref: childrenRef
152
164
  }, /*#__PURE__*/React.createElement("div", {
@@ -130,13 +130,22 @@
130
130
  display: -webkit-inline-box;
131
131
  display: -ms-inline-flexbox;
132
132
  display: inline-flex;
133
- padding: var(--kd-c-collapse-header-spacing-padding, 12px);
133
+ padding: var(--kd-c-collapse-header-spacing-padding, 8px 50px 8px 28px);
134
134
  background: var(--kd-c-collapse-header-color-background, rgba(0, 0, 0, 0));
135
135
  }
136
136
  .kd-collapse-panel-top-border {
137
137
  border-bottom: var(--kd-c-collapse-border-width, 1px) solid var(--kd-c-collapse-color-border-strong-2, var(--kd-g-color-border-strong-2, #d9d9d9));
138
138
  }
139
139
  .kd-collapse-panel-left {
140
+ display: -webkit-inline-box;
141
+ display: -ms-inline-flexbox;
142
+ display: inline-flex;
143
+ -webkit-box-align: center;
144
+ -ms-flex-align: center;
145
+ align-items: center;
146
+ line-height: 1.5;
147
+ }
148
+ .kd-collapse-panel-middle {
140
149
  display: -webkit-inline-box;
141
150
  display: -ms-inline-flexbox;
142
151
  display: inline-flex;
@@ -144,16 +153,23 @@
144
153
  -ms-flex-align: center;
145
154
  align-items: center;
146
155
  -webkit-box-flex: 1;
147
- -ms-flex-positive: 1;
148
- flex-grow: 1;
156
+ -ms-flex: 1;
157
+ flex: 1;
158
+ margin-left: 22px;
159
+ color: var(--kd-c-collapse-header-color-text-secondary, var(--kd-g-color-text-secondary, #666));
160
+ white-space: nowrap;
161
+ overflow: hidden;
162
+ text-overflow: ellipsis;
149
163
  }
150
164
  .kd-collapse-panel-right {
165
+ margin-left: 40px;
151
166
  display: -webkit-inline-box;
152
167
  display: -ms-inline-flexbox;
153
168
  display: inline-flex;
154
169
  -webkit-box-align: center;
155
170
  -ms-flex-align: center;
156
171
  align-items: center;
172
+ white-space: nowrap;
157
173
  }
158
174
  .kd-collapse-panel-extra,
159
175
  .kd-collapse-panel-header {
@@ -164,7 +180,16 @@
164
180
  -ms-flex-align: center;
165
181
  align-items: center;
166
182
  color: var(--kd-c-collapse-header-color-text-primary, var(--kd-g-color-text-primary, #212121));
167
- font-size: var(--kd-c-collapse-header-font-size, var(--kd-g-font-size-middle, 14px));
183
+ font-size: var(--kd-c-collapse-header-font-size, 16px);
184
+ }
185
+ .kd-collapse-panel-header {
186
+ display: inline-block;
187
+ white-space: nowrap;
188
+ overflow: hidden;
189
+ text-overflow: ellipsis;
190
+ }
191
+ .kd-collapse-panel-header:hover {
192
+ color: var(--kd-c-collapse-header-color-text-hover, #666666);
168
193
  }
169
194
  .kd-collapse-panel-icon {
170
195
  -webkit-box-align: center;
@@ -174,6 +199,7 @@
174
199
  display: -ms-inline-flexbox;
175
200
  display: inline-flex;
176
201
  margin-right: var(--kd-c-collapse-spacing-margin-right, 6px);
202
+ font-size: var(--kd-c-collapse-icon-font-size, 16px);
177
203
  }
178
204
  .kd-collapse-panel-icon:hover,
179
205
  .kd-collapse-panel-left:hover {
@@ -198,7 +224,7 @@
198
224
  .kd-collapse-panel-children {
199
225
  overflow: hidden;
200
226
  opacity: 0;
201
- padding: var(--kd-c-collapse-content-spacing-padding, 0 16px);
227
+ padding: var(--kd-c-collapse-content-spacing-padding, 0 50px);
202
228
  color: var(--kd-c-collapse-content-color-text-primary, var(--kd-g-color-text-primary, #212121));
203
229
  font-size: var(--kd-c-collapse-content-font-size, var(--kd-g-font-size-middle, 14px));
204
230
  -webkit-transition: height var(--kd-c-collapse-motion-duration, var(--kd-g-duration, 0.3s)), opacity var(--kd-c-collapse-motion-duration, var(--kd-g-duration, 0.3s));
@@ -209,7 +235,7 @@
209
235
  overflow: hidden;
210
236
  opacity: 0;
211
237
  height: 0;
212
- padding: var(--kd-c-collapse-content-spacing-padding, 0 16px);
238
+ padding: var(--kd-c-collapse-content-spacing-padding, 0 50px);
213
239
  color: var(--kd-c-collapse-content-color-text-primary, var(--kd-g-color-text-primary, #212121));
214
240
  font-size: var(--kd-c-collapse-content-font-size, var(--kd-g-font-size-middle, 14px));
215
241
  -webkit-transition: height var(--kd-c-collapse-motion-duration, var(--kd-g-duration, 0.3s)), opacity calc(var(--kd-c-collapse-motion-duration, var(--kd-g-duration, 0.3s)) / 2);
@@ -27,11 +27,23 @@
27
27
  &-left {
28
28
  display: inline-flex;
29
29
  align-items: center;
30
- flex-grow: 1;
30
+ line-height: 1.5;
31
+ }
32
+ &-middle {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ flex: 1;
36
+ margin-left: 22px;
37
+ color: @collapse-header-font-color-secondary;
38
+ white-space: nowrap;
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
31
41
  }
32
42
  &-right {
43
+ margin-left: 40px;
33
44
  display: inline-flex;
34
45
  align-items: center;
46
+ white-space: nowrap;
35
47
  }
36
48
  &-extra,
37
49
  &-header {
@@ -40,10 +52,21 @@
40
52
  color: @collapse-header-font-color;
41
53
  font-size: @collapse-header-font-size;
42
54
  }
55
+
56
+ &-header {
57
+ display: inline-block;
58
+ white-space: nowrap;
59
+ overflow: hidden;
60
+ text-overflow: ellipsis;
61
+ &:hover {
62
+ color: @collapse-header-color-text-hover;
63
+ }
64
+ }
43
65
  &-icon {
44
66
  align-items: center;
45
67
  display: inline-flex;
46
68
  margin-right: @collapse-icon-margin-right;
69
+ font-size: @collapse-icon-font-size;
47
70
  }
48
71
  &-icon:hover,
49
72
  &-left:hover {
@@ -2,25 +2,27 @@
2
2
 
3
3
  @collapse-prefix: '--@{kd-prefix}-c-collapse';
4
4
 
5
- // sizing
6
- @collapse-border-width: var(~'@{collapse-prefix}-border-width', 1px);
7
- @collapse-icon-margin-right: var(~'@{collapse-prefix}-spacing-margin-right', 6px);
8
- @collapse-header-padding: var(~'@{collapse-prefix}-header-spacing-padding', 12px);
9
- @collapse-content-bordered-padding: var(~'@{collapse-prefix}-content-bordered-spacing-padding', 12px);
10
- @collapse-content-padding: var(~'@{collapse-prefix}-content-spacing-padding', 0 16px);
11
-
12
5
  // color
13
6
  @collapse-border-color: var(~'@{collapse-prefix}-color-border-strong-2', @color-border-strong-2);
14
7
  @collapse-header-font-color: var(~'@{collapse-prefix}-header-color-text-primary', @color-text-primary);
8
+ @collapse-header-font-color-secondary: var(~'@{collapse-prefix}-header-color-text-secondary', @color-text-secondary);
15
9
  @collapse-content-font-color: var(~'@{collapse-prefix}-content-color-text-primary', @color-text-primary);
16
10
  @collapse-disabled-color: var(~'@{collapse-prefix}-color-disabled', raba(178, 178, 178, 1));
17
11
  @collapse-header-color-background: var(~'@{collapse-prefix}-header-color-background', rgba(0, 0, 0, 0));
18
12
  @collapse-content-color-background: var(~'@{collapse-prefix}-content-color-background', rgba(0, 0, 0, 0));
19
-
13
+ @collapse-header-color-text-hover: var(~'@{collapse-prefix}-header-color-text-hover', #666666);
20
14
 
21
15
  // font
22
- @collapse-header-font-size: var(~'@{collapse-prefix}-header-font-size', @font-size-middle);
16
+ @collapse-header-font-size: var(~'@{collapse-prefix}-header-font-size', 16px);
23
17
  @collapse-content-font-size: var(~'@{collapse-prefix}-content-font-size', @font-size-middle);
18
+ @collapse-icon-font-size: var(~'@{collapse-prefix}-icon-font-size', 16px);
24
19
 
25
20
  // motion
26
- @collapse-transition-duration: var(~'@{collapse-prefix}-motion-duration', @duration-promptly);
21
+ @collapse-transition-duration: var(~'@{collapse-prefix}-motion-duration', @duration-promptly);
22
+
23
+ // sizing
24
+ @collapse-border-width: var(~'@{collapse-prefix}-border-width', 1px);
25
+ @collapse-icon-margin-right: var(~'@{collapse-prefix}-spacing-margin-right', 6px);
26
+ @collapse-header-padding: var(~'@{collapse-prefix}-header-spacing-padding', 8px 50px 8px 28px);
27
+ @collapse-content-bordered-padding: var(~'@{collapse-prefix}-content-bordered-spacing-padding', 12px);
28
+ @collapse-content-padding: var(~'@{collapse-prefix}-content-spacing-padding', 0 50px);
@@ -34,6 +34,7 @@ export interface IDrawerProps {
34
34
  titleStyle?: CSSProperties;
35
35
  visible?: boolean;
36
36
  width?: string | number;
37
+ height?: string | number;
37
38
  zIndex?: string | number;
38
39
  }
39
40
  declare const Drawer: React.ForwardRefExoticComponent<IDrawerProps & React.RefAttributes<unknown>>;
@@ -1,11 +1,10 @@
1
1
  import _extends from "@babel/runtime-corejs3/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
3
3
  import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
4
- import _endsWithInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/ends-with";
5
4
  import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
6
5
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
7
6
  import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
8
- import React, { useContext, useEffect, useState, useCallback, createRef } from 'react';
7
+ import React, { useContext, useEffect, useState, useCallback, createRef, useRef } from 'react';
9
8
  import { Icon } from '../index';
10
9
  import ReactDOM from 'react-dom';
11
10
  import { tuple } from '../_utils/type';
@@ -20,22 +19,23 @@ export var PlacementTypes = tuple('top', 'right', 'bottom', 'left');
20
19
  var relativePostionTypes = ['relative', 'absolute', 'fixed'];
21
20
  var horizontalPlacements = ['left', 'right'];
22
21
  var verticalPlacements = ['top', 'bottom'];
23
- var documentBody = document.body;
24
-
25
- function transformSize(size, placement) {
26
- if (typeof size === 'string') {
27
- // 只考虑px 或者 %
28
- devWarning(!(_endsWithInstanceProperty(size).call(size, 'px') && _endsWithInstanceProperty(size).call(size, '%')), 'drawer', "cannot calculate drawer size: width | height for '".concat(size, "' besides px or %"));
29
- if (placement === 'right' || placement === 'bottom') return size || 0;
30
- return size ? '-' + size : 0;
31
- }
32
-
33
- if (placement === 'right' || placement === 'bottom') return (size || 0) + 'px';
34
- return ('-' + size || 0) + 'px';
35
- }
22
+ var documentBody = document.body; // function transformSize(size: string | number, placement: string) {
23
+ // if (typeof size === 'string') {
24
+ // // 只考虑px 或者 %
25
+ // devWarning(
26
+ // !(size.endsWith('px') && size.endsWith('%')),
27
+ // 'drawer',
28
+ // `cannot calculate drawer size: width | height for '${size}' besides px or %`,
29
+ // )
30
+ // if (placement === 'right' || placement === 'bottom') return size || 0
31
+ // return size ? '-' + size : 0
32
+ // }
33
+ // if (placement === 'right' || placement === 'bottom') return (size || 0) + 'px'
34
+ // return ('-' + size || 0) + 'px'
35
+ // }
36
36
 
37
37
  var InternalDrawer = function InternalDrawer(props, ref) {
38
- var _classNames, _context2, _classNames2;
38
+ var _classNames, _context2, _context3, _classNames2;
39
39
 
40
40
  var _useContext = useContext(ConfigContext),
41
41
  getPrefixCls = _useContext.getPrefixCls,
@@ -63,6 +63,7 @@ var InternalDrawer = function InternalDrawer(props, ref) {
63
63
  footerClassName = drawerProps.footerClassName,
64
64
  visible = drawerProps.visible,
65
65
  width = drawerProps.width,
66
+ height = drawerProps.height,
66
67
  headerStyle = drawerProps.headerStyle,
67
68
  headerClassName = drawerProps.headerClassName,
68
69
  zindex = drawerProps.zIndex,
@@ -85,6 +86,7 @@ var InternalDrawer = function InternalDrawer(props, ref) {
85
86
 
86
87
 
87
88
  var containerRef = ref || /*#__PURE__*/createRef();
89
+ var contentRef = useRef(null);
88
90
  devWarning(PlacementTypes.indexOf(placement) === -1, 'drawer', "cannot found drawer type '".concat(placement, "'"));
89
91
  var drawerContainer = typeof getContainer === 'function' ? getContainer() : getContainer;
90
92
  var isAtOriginalPlace = drawerContainer === false;
@@ -167,17 +169,50 @@ var InternalDrawer = function InternalDrawer(props, ref) {
167
169
  closeDrawer();
168
170
  }
169
171
  }, [maskClosable, closeDrawer]);
172
+ var getHorizontalBoolAndPlacementName = useCallback(function () {
173
+ var isHorizontal = placement === 'left' || placement === 'right';
174
+ var placementName = "translate".concat(isHorizontal ? 'X' : 'Y');
175
+ return {
176
+ isHorizontal: isHorizontal,
177
+ placementName: placementName
178
+ };
179
+ }, [placement]);
180
+ var setDraerTransform = useCallback(function (_isOpen, _placementName, _value) {
181
+ if (!contentRef.current) return;
182
+ contentRef.current.style.transform = '';
183
+ }, [contentRef]);
184
+ useEffect(function () {
185
+ var _getHorizontalBoolAnd = getHorizontalBoolAndPlacementName(),
186
+ isHorizontal = _getHorizontalBoolAnd.isHorizontal,
187
+ placementName = _getHorizontalBoolAnd.placementName;
188
+
189
+ var contentValue = contentRef.current ? contentRef.current.getBoundingClientRect()[isHorizontal ? 'width' : 'height'] : 0;
190
+ var value = (isHorizontal ? width : height) || contentValue;
191
+
192
+ if (visible) {
193
+ setDraerTransform(visible, placementName, value);
194
+ }
195
+ }, [contentRef, getHorizontalBoolAndPlacementName, height, setDraerTransform, visible, width]);
170
196
  var drawerClasses = classNames(drawerPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, "".concat(drawerPrefixCls, "-hide"), !visible), _defineProperty(_classNames, "".concat(drawerPrefixCls, "-active"), visible), _defineProperty(_classNames, "".concat(drawerPrefixCls, "-not-at-body"), !isBody), _classNames));
171
197
  var headerClass = "".concat(drawerPrefixCls, "-header");
172
198
 
199
+ var _getHorizontalBoolAnd2 = getHorizontalBoolAndPlacementName(),
200
+ placementName = _getHorizontalBoolAnd2.placementName;
201
+
202
+ var placementPos = placement === 'left' || placement === 'top' ? '-100%' : '100%';
203
+ var transform = visible ? '' : _concatInstanceProperty(_context2 = "".concat(placementName, "(")).call(_context2, placementPos, ")");
204
+
173
205
  var containerStyle = _extends(_defineProperty({}, placement, 0), _includesInstanceProperty(horizontalPlacements).call(horizontalPlacements, placement) ? {
174
- width: currentWidth,
175
- transform: "translateX(".concat(visible ? 0 : transformSize(currentWidth, placement), ")")
176
- } : {});
206
+ width: width,
207
+ transform: transform
208
+ } : {
209
+ transform: transform
210
+ });
177
211
 
178
212
  var container = /*#__PURE__*/React.createElement("div", {
179
- className: classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(drawerPrefixCls, "-container-box"), true), _defineProperty(_classNames2, "".concat(drawerPrefixCls, "-has-container-box"), drawerContainer), _defineProperty(_classNames2, _concatInstanceProperty(_context2 = "".concat(drawerPrefixCls, "-container-")).call(_context2, placement), true), _classNames2)),
180
- style: containerStyle
213
+ className: classNames((_classNames2 = {}, _defineProperty(_classNames2, "".concat(drawerPrefixCls, "-container-box"), true), _defineProperty(_classNames2, "".concat(drawerPrefixCls, "-has-container-box"), drawerContainer), _defineProperty(_classNames2, _concatInstanceProperty(_context3 = "".concat(drawerPrefixCls, "-container-")).call(_context3, placement), true), _classNames2)),
214
+ style: containerStyle,
215
+ ref: contentRef
181
216
  }, (title || closable) && /*#__PURE__*/React.createElement("div", {
182
217
  className: classNames(headerClass, headerClassName),
183
218
  style: headerStyle
package/es/radio/radio.js CHANGED
@@ -104,7 +104,9 @@ var InternalRadio = function InternalRadio(props, ref) {
104
104
  }, /*#__PURE__*/React.createElement("input", _extends({
105
105
  type: "radio",
106
106
  className: "".concat(radioPrefixCls, "-input")
107
- }, radioProps)), children !== undefined ? /*#__PURE__*/React.createElement("span", null, children) : null)
107
+ }, radioProps)), children !== undefined ? /*#__PURE__*/React.createElement("span", {
108
+ className: "".concat(radioPrefixCls, "-text")
109
+ }, children) : null)
108
110
  );
109
111
  };
110
112
 
@@ -113,9 +113,11 @@
113
113
  list-style: none;
114
114
  -webkit-font-feature-settings: 'tnum';
115
115
  font-feature-settings: 'tnum';
116
+ overflow: hidden;
117
+ text-overflow: ellipsis;
116
118
  position: relative;
117
119
  display: inline-block;
118
- padding-left: var(--kd-c-radio-square-sizing-width-height, 13px);
120
+ padding-left: var(--kd-c-radio-square-sizing-width-height, 14px);
119
121
  margin-right: var(--kd-c-radio-spacing-margin-right, 8px);
120
122
  white-space: nowrap;
121
123
  cursor: pointer;
@@ -127,8 +129,8 @@
127
129
  position: absolute;
128
130
  top: 50%;
129
131
  left: 0;
130
- height: var(--kd-c-radio-square-sizing-width-height, 13px);
131
- width: var(--kd-c-radio-square-sizing-width-height, 13px);
132
+ height: var(--kd-c-radio-square-sizing-width-height, 14px);
133
+ width: var(--kd-c-radio-square-sizing-width-height, 14px);
132
134
  content: '';
133
135
  border-radius: 50%;
134
136
  -webkit-box-sizing: border-box;
@@ -146,8 +148,8 @@
146
148
  position: absolute;
147
149
  top: 50%;
148
150
  left: 2px;
149
- width: calc(var(--kd-c-radio-square-sizing-width-height, 13px) - 4px);
150
- height: calc(var(--kd-c-radio-square-sizing-width-height, 13px) - 4px);
151
+ width: calc(var(--kd-c-radio-square-sizing-width-height, 14px) - 4px);
152
+ height: calc(var(--kd-c-radio-square-sizing-width-height, 14px) - 4px);
151
153
  content: '';
152
154
  border-radius: 50%;
153
155
  background-color: var(--kd-c-radio-color-theme, var(--kd-g-color-theme, #5582f3));
@@ -165,7 +167,10 @@
165
167
  opacity: 0;
166
168
  }
167
169
  .kd-radio > span {
168
- padding: 0 6px 0 var(--kd-c-radio-spacing-padding-left, 6px);
170
+ padding: 0 6px 0 var(--kd-c-radio-spacing-padding-left, 4px);
171
+ }
172
+ .kd-radio:hover {
173
+ color: var(--kd-c-radio-color-theme, var(--kd-g-color-theme, #5582f3));
169
174
  }
170
175
  .kd-radio:hover::before {
171
176
  border-color: var(--kd-c-radio-color-theme, var(--kd-g-color-theme, #5582f3));
@@ -181,8 +186,8 @@
181
186
  position: absolute;
182
187
  top: 50%;
183
188
  left: 2px;
184
- width: calc(var(--kd-c-radio-square-sizing-width-height, 13px) - 4px);
185
- height: calc(var(--kd-c-radio-square-sizing-width-height, 13px) - 4px);
189
+ width: calc(var(--kd-c-radio-square-sizing-width-height, 14px) - 4px);
190
+ height: calc(var(--kd-c-radio-square-sizing-width-height, 14px) - 4px);
186
191
  content: '';
187
192
  border-radius: 50%;
188
193
  background-color: var(--kd-c-radio-color-theme, var(--kd-g-color-theme, #5582f3));
@@ -213,6 +218,13 @@
213
218
  -webkit-animation: none;
214
219
  animation: none;
215
220
  }
221
+ .kd-radio-disabled.kd-radio-checked,
222
+ .kd-radio-disabled:hover.kd-radio-checked {
223
+ color: var(--kd-c-radio-color-font, var(--kd-g-color-text-primary, #212121));
224
+ }
225
+ .kd-radio-text {
226
+ line-height: 1.5;
227
+ }
216
228
  .kd-radio-square {
217
229
  -webkit-box-sizing: border-box;
218
230
  box-sizing: border-box;
@@ -222,15 +234,17 @@
222
234
  list-style: none;
223
235
  -webkit-font-feature-settings: 'tnum';
224
236
  font-feature-settings: 'tnum';
237
+ white-space: nowrap;
238
+ text-overflow: ellipsis;
225
239
  position: relative;
226
240
  display: inline-block;
227
241
  height: var(--kd-c-radio-square-sizing-height, 32px);
228
- padding-top: var(--kd-c-radio-square-spacing-padding-vertical, 0px);
229
- padding-right: var(--kd-c-radio-square-spacing-padding-horizontal, 20px);
230
- padding-bottom: var(--kd-c-radio-square-spacing-padding-vertical, 0px);
231
- padding-left: var(--kd-c-radio-square-spacing-padding-horizontal, 20px);
242
+ padding-top: var(--kd-c-radio-square-spacing-padding-vertical, 6px);
243
+ padding-right: var(--kd-c-radio-square-spacing-padding-horizontal, 12px);
244
+ padding-bottom: var(--kd-c-radio-square-spacing-padding-vertical, 6px);
245
+ padding-left: var(--kd-c-radio-square-spacing-padding-horizontal, 12px);
232
246
  margin-right: var(--kd-c-radio-spacing-margin-right, 8px);
233
- line-height: calc(var(--kd-c-radio-square-sizing-height, 32px) - (var(--kd-c-radio-square-spacing-padding-vertical, 0px) * 2) - (var(--kd-c-radio-radius-border-width, 1px) * 2));
247
+ line-height: calc(var(--kd-c-radio-square-sizing-height, 32px) - (var(--kd-c-radio-square-spacing-padding-vertical, 6px) * 2) - (var(--kd-c-radio-radius-border-width, 1px) * 2));
234
248
  vertical-align: middle;
235
249
  color: var(--kd-c-radio-color-font, var(--kd-g-color-text-primary, #212121));
236
250
  font-size: var(--kd-c-radio-font-size, var(--kd-g-font-size-small, 12px));
@@ -314,6 +328,13 @@
314
328
  -webkit-animation: none;
315
329
  animation: none;
316
330
  }
331
+ .kd-radio-square-disabled.kd-radio-square-checked,
332
+ .kd-radio-square-disabled:hover.kd-radio-square-checked {
333
+ color: var(--kd-c-radio-color-font, var(--kd-g-color-text-primary, #212121));
334
+ }
335
+ .kd-radio-square-text {
336
+ line-height: 1.5;
337
+ }
317
338
  .kd-radio-button {
318
339
  -webkit-box-sizing: border-box;
319
340
  box-sizing: border-box;
@@ -326,11 +347,11 @@
326
347
  position: relative;
327
348
  display: inline-block;
328
349
  height: var(--kd-c-radio-square-sizing-height, 32px);
329
- padding-top: var(--kd-c-radio-square-spacing-padding-vertical, 0px);
330
- padding-right: var(--kd-c-radio-square-spacing-padding-horizontal, 20px);
331
- padding-bottom: var(--kd-c-radio-square-spacing-padding-vertical, 0px);
332
- padding-left: var(--kd-c-radio-square-spacing-padding-horizontal, 20px);
333
- line-height: calc(var(--kd-c-radio-square-sizing-height, 32px) - (var(--kd-c-radio-square-spacing-padding-vertical, 0px) * 2) - (var(--kd-c-radio-radius-border-width, 1px) * 2));
350
+ padding-top: var(--kd-c-radio-square-spacing-padding-vertical, 6px);
351
+ padding-right: var(--kd-c-radio-square-spacing-padding-horizontal, 12px);
352
+ padding-bottom: var(--kd-c-radio-square-spacing-padding-vertical, 6px);
353
+ padding-left: var(--kd-c-radio-square-spacing-padding-horizontal, 12px);
354
+ line-height: calc(var(--kd-c-radio-square-sizing-height, 32px) - (var(--kd-c-radio-square-spacing-padding-vertical, 6px) * 2) - (var(--kd-c-radio-radius-border-width, 1px) * 2));
334
355
  vertical-align: middle;
335
356
  color: var(--kd-c-radio-color-font, var(--kd-g-color-text-primary, #212121));
336
357
  font-size: var(--kd-c-radio-font-size, var(--kd-g-font-size-small, 12px));
@@ -411,3 +432,10 @@
411
432
  border-color: var(--kd-c-radio-color-border, var(--kd-g-color-border-strong, #d9d9d9));
412
433
  cursor: not-allowed;
413
434
  }
435
+ .kd-radio-button-text {
436
+ white-space: nowrap;
437
+ overflow: hidden;
438
+ text-overflow: ellipsis;
439
+ display: block;
440
+ line-height: 1.5;
441
+ }