tdesign-react 0.37.2-alpha.1 → 0.37.2-alpha.2

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 (165) hide show
  1. package/dist/tdesign.css +95 -76
  2. package/dist/tdesign.css.map +1 -1
  3. package/dist/tdesign.js +828 -779
  4. package/dist/tdesign.js.map +1 -1
  5. package/dist/tdesign.min.css +1 -1
  6. package/dist/tdesign.min.css.map +1 -1
  7. package/dist/tdesign.min.js +3 -3
  8. package/dist/tdesign.min.js.map +1 -1
  9. package/es/_common/js/date-picker/utils.d.ts +2 -1
  10. package/es/_common/js/date-picker/utils.js +86 -12
  11. package/es/_common/js/date-picker/utils.js.map +1 -1
  12. package/es/alert/style/index.css +1 -1
  13. package/es/anchor/style/index.css +1 -1
  14. package/es/avatar/style/index.css +2 -2
  15. package/es/badge/style/index.css +3 -3
  16. package/es/button/style/index.css +1 -1
  17. package/es/calendar/style/index.css +4 -2
  18. package/es/card/style/index.css +1 -1
  19. package/es/cascader/style/index.css +3 -0
  20. package/es/color-picker/style/index.css +8 -7
  21. package/es/comment/style/index.css +2 -1
  22. package/es/date-picker/hooks/useFormat.js +1 -0
  23. package/es/date-picker/hooks/useFormat.js.map +1 -1
  24. package/es/date-picker/hooks/useRangeValue.js +1 -0
  25. package/es/date-picker/hooks/useRangeValue.js.map +1 -1
  26. package/es/date-picker/hooks/useSingleValue.js +1 -0
  27. package/es/date-picker/hooks/useSingleValue.js.map +1 -1
  28. package/es/date-picker/style/index.css +15 -7
  29. package/es/dialog/style/index.css +2 -9
  30. package/es/drawer/style/index.css +2 -1
  31. package/es/dropdown/style/index.css +0 -1
  32. package/es/grid/Col.d.ts +1 -11
  33. package/es/grid/Col.js +14 -6
  34. package/es/grid/Col.js.map +1 -1
  35. package/es/grid/Row.d.ts +5 -803
  36. package/es/grid/Row.js +14 -15
  37. package/es/grid/Row.js.map +1 -1
  38. package/es/grid/index.d.ts +2 -805
  39. package/es/index.js +2 -2
  40. package/es/loading/style/index.css +1 -1
  41. package/es/menu/style/index.css +1 -1
  42. package/es/message/style/index.css +2 -1
  43. package/es/notification/style/index.css +3 -3
  44. package/es/popconfirm/style/index.css +2 -2
  45. package/es/popup/style/index.css +1 -1
  46. package/es/progress/style/index.css +2 -2
  47. package/es/radio/style/index.css +6 -5
  48. package/es/range-input/style/index.css +1 -0
  49. package/es/select/base/Select.js +3 -3
  50. package/es/select/base/Select.js.map +1 -1
  51. package/es/select/style/index.css +0 -1
  52. package/es/select-input/useOverlayStyle.js +2 -3
  53. package/es/select-input/useOverlayStyle.js.map +1 -1
  54. package/es/skeleton/style/index.css +3 -3
  55. package/es/slider/style/index.css +4 -4
  56. package/es/steps/style/index.css +6 -6
  57. package/es/style/index.css +4 -2
  58. package/es/switch/style/index.css +2 -2
  59. package/es/table/style/index.css +1 -1
  60. package/es/tag/style/index.css +2 -2
  61. package/es/tooltip/style/index.css +1 -0
  62. package/es/transfer/style/index.css +1 -1
  63. package/es/tree/style/index.css +6 -0
  64. package/es/upload/style/index.css +1 -1
  65. package/esm/_common/js/date-picker/utils.d.ts +2 -1
  66. package/esm/_common/js/date-picker/utils.js +86 -12
  67. package/esm/_common/js/date-picker/utils.js.map +1 -1
  68. package/esm/_common/style/web/_global.less +2 -1
  69. package/esm/_common/style/web/_variables.less +2 -1
  70. package/esm/_common/style/web/components/_index.less +2 -0
  71. package/esm/_common/style/web/components/alert/_index.less +1 -1
  72. package/esm/_common/style/web/components/anchor/_index.less +1 -1
  73. package/esm/_common/style/web/components/avatar/_var.less +2 -2
  74. package/esm/_common/style/web/components/badge/_index.less +3 -3
  75. package/esm/_common/style/web/components/badge/_var.less +1 -0
  76. package/esm/_common/style/web/components/button/_index.less +1 -1
  77. package/esm/_common/style/web/components/calendar/_index.less +2 -2
  78. package/esm/_common/style/web/components/calendar/_var.less +2 -2
  79. package/esm/_common/style/web/components/card/_var.less +1 -1
  80. package/esm/_common/style/web/components/cascader/_index.less +2 -0
  81. package/esm/_common/style/web/components/color-picker/_index.less +8 -7
  82. package/esm/_common/style/web/components/comment/_index.less +2 -1
  83. package/esm/_common/style/web/components/date-picker/_index.less +3 -1
  84. package/esm/_common/style/web/components/dialog/_index.less +3 -12
  85. package/esm/_common/style/web/components/dialog/_var.less +2 -2
  86. package/esm/_common/style/web/components/drawer/_index.less +1 -0
  87. package/esm/_common/style/web/components/drawer/_var.less +1 -1
  88. package/esm/_common/style/web/components/dropdown/_index.less +0 -1
  89. package/esm/_common/style/web/components/loading/_index.less +1 -1
  90. package/esm/_common/style/web/components/menu/_docs.less +1 -1
  91. package/esm/_common/style/web/components/menu/_index-v2.less +1 -1
  92. package/esm/_common/style/web/components/menu/_index.less +1 -1
  93. package/esm/_common/style/web/components/message/_index.less +2 -1
  94. package/esm/_common/style/web/components/message/_mixin.less +1 -1
  95. package/esm/_common/style/web/components/message/_var.less +1 -1
  96. package/esm/_common/style/web/components/notification/_index.less +1 -1
  97. package/esm/_common/style/web/components/notification/_mixin.less +1 -1
  98. package/esm/_common/style/web/components/notification/_var.less +2 -2
  99. package/esm/_common/style/web/components/popconfirm/_var.less +1 -1
  100. package/esm/_common/style/web/components/popup/_index.less +1 -1
  101. package/esm/_common/style/web/components/progress/_index.less +2 -2
  102. package/esm/_common/style/web/components/radio/_index.less +4 -4
  103. package/esm/_common/style/web/components/radio/_var.less +1 -1
  104. package/esm/_common/style/web/components/range-input/_index.less +1 -0
  105. package/esm/_common/style/web/components/range-input/_mixin.less +1 -1
  106. package/esm/_common/style/web/components/range-input/_var.less +1 -1
  107. package/esm/_common/style/web/components/select/_index.less +0 -1
  108. package/esm/_common/style/web/components/skeleton/_index.less +7 -7
  109. package/esm/_common/style/web/components/skeleton/_var.less +5 -5
  110. package/esm/_common/style/web/components/slider/_index.less +1 -1
  111. package/esm/_common/style/web/components/slider/_var.less +1 -1
  112. package/esm/_common/style/web/components/steps/_mixin.less +2 -2
  113. package/esm/_common/style/web/components/switch/_index.less +2 -2
  114. package/esm/_common/style/web/components/table/_docs.less +2 -2
  115. package/esm/_common/style/web/components/table/_index.less +1 -1
  116. package/esm/_common/style/web/components/tag/_var.less +1 -1
  117. package/esm/_common/style/web/components/tooltip/_index.less +1 -1
  118. package/esm/_common/style/web/components/transfer/_index.less +1 -1
  119. package/esm/_common/style/web/components/transfer/_var.less +1 -1
  120. package/esm/_common/style/web/components/tree/_docs.less +2 -2
  121. package/esm/_common/style/web/components/tree/_index.less +10 -0
  122. package/esm/_common/style/web/components/upload/_docs.less +1 -1
  123. package/esm/_common/style/web/components/upload/_var.less +1 -1
  124. package/esm/_common/style/web/theme/_radius.less +2 -1
  125. package/esm/date-picker/hooks/useFormat.js +1 -0
  126. package/esm/date-picker/hooks/useFormat.js.map +1 -1
  127. package/esm/date-picker/hooks/useRangeValue.js +1 -0
  128. package/esm/date-picker/hooks/useRangeValue.js.map +1 -1
  129. package/esm/date-picker/hooks/useSingleValue.js +1 -0
  130. package/esm/date-picker/hooks/useSingleValue.js.map +1 -1
  131. package/esm/grid/Col.d.ts +1 -11
  132. package/esm/grid/Col.js +14 -6
  133. package/esm/grid/Col.js.map +1 -1
  134. package/esm/grid/Row.d.ts +5 -803
  135. package/esm/grid/Row.js +14 -15
  136. package/esm/grid/Row.js.map +1 -1
  137. package/esm/grid/index.d.ts +2 -805
  138. package/esm/index.js +2 -2
  139. package/esm/select/base/Select.js +3 -3
  140. package/esm/select/base/Select.js.map +1 -1
  141. package/esm/select-input/useOverlayStyle.js +2 -3
  142. package/esm/select-input/useOverlayStyle.js.map +1 -1
  143. package/lib/_common/js/date-picker/utils.d.ts +2 -1
  144. package/lib/_common/js/date-picker/utils.js +85 -11
  145. package/lib/_common/js/date-picker/utils.js.map +1 -1
  146. package/lib/date-picker/hooks/useFormat.js +1 -0
  147. package/lib/date-picker/hooks/useFormat.js.map +1 -1
  148. package/lib/date-picker/hooks/useRangeValue.js +1 -0
  149. package/lib/date-picker/hooks/useRangeValue.js.map +1 -1
  150. package/lib/date-picker/hooks/useSingleValue.js +1 -0
  151. package/lib/date-picker/hooks/useSingleValue.js.map +1 -1
  152. package/lib/grid/Col.d.ts +1 -11
  153. package/lib/grid/Col.js +13 -5
  154. package/lib/grid/Col.js.map +1 -1
  155. package/lib/grid/Row.d.ts +5 -803
  156. package/lib/grid/Row.js +13 -13
  157. package/lib/grid/Row.js.map +1 -1
  158. package/lib/grid/index.d.ts +2 -805
  159. package/lib/index-lib.js +2 -2
  160. package/lib/index.js +2 -2
  161. package/lib/select/base/Select.js +3 -3
  162. package/lib/select/base/Select.js.map +1 -1
  163. package/lib/select-input/useOverlayStyle.js +2 -3
  164. package/lib/select-input/useOverlayStyle.js.map +1 -1
  165. package/package.json +1 -1
package/es/index.js CHANGED
@@ -79,8 +79,6 @@ import './layout/type.js';
79
79
  import './grid/Row.js';
80
80
  import './_chunks/dep-ed4647ea.js';
81
81
  import './_chunks/dep-2e8c2cb9.js';
82
- import './grid/Col.js';
83
- import './grid/defaultProps.js';
84
82
  import './_util/dom.js';
85
83
  import 'raf';
86
84
  import './_chunks/dep-8326b1dd.js';
@@ -88,6 +86,8 @@ import './_chunks/dep-ac1c12aa.js';
88
86
  import './_chunks/dep-35f9fa66.js';
89
87
  import './_chunks/dep-3f31c41f.js';
90
88
  import './_util/easing.js';
89
+ import './grid/defaultProps.js';
90
+ import './grid/Col.js';
91
91
  import './grid/style/css.js';
92
92
  import './grid/type.js';
93
93
  import './loading/Loading.js';
@@ -169,7 +169,7 @@
169
169
  width: 100%;
170
170
  height: 100%;
171
171
  background: conic-gradient(from 90deg at 50% 50%, #fff 0deg, currentcolor 360deg);
172
- border-radius: 50%;
172
+ border-radius: var(--td-radius-circle);
173
173
  /* stylelint-disable-next-line */
174
174
  mask: radial-gradient(transparent calc(50% - 0.5px), #fff 50%);
175
175
  /* stylelint-disable-next-line */
@@ -654,7 +654,7 @@ a.t-menu__item:active {
654
654
  position: absolute;
655
655
  background: #fff;
656
656
  z-index: 1000;
657
- border-radius: var(--td-radius-default);
657
+ border-radius: var(--td-radius-medium);
658
658
  opacity: 0;
659
659
  list-style: none;
660
660
  padding: 0;
@@ -7,7 +7,7 @@
7
7
  width: -moz-fit-content;
8
8
  width: fit-content;
9
9
  outline: 0;
10
- border-radius: var(--td-radius-default);
10
+ border-radius: var(--td-radius-medium);
11
11
  background-color: var(--td-bg-color-container);
12
12
  -webkit-box-shadow: var(--td-shadow-3), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
13
13
  box-shadow: var(--td-shadow-3), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
@@ -66,6 +66,7 @@
66
66
  right: 32px;
67
67
  cursor: pointer;
68
68
  color: var(--td-text-color-secondary);
69
+ border-radius: var(--td-radius-default);
69
70
  }
70
71
  .t-message.t-is-closable > .t-message__close .t-icon-close {
71
72
  font-size: 16px;
@@ -16,7 +16,7 @@
16
16
  box-shadow: var(--td-shadow-2);
17
17
  -webkit-box-sizing: border-box;
18
18
  box-sizing: border-box;
19
- border-radius: var(--td-radius-default);
19
+ border-radius: var(--td-radius-medium);
20
20
  width: 400px;
21
21
  padding: 20px 24px 24px 24px;
22
22
  }
@@ -104,12 +104,12 @@
104
104
  .t-notification__detail-item:hover {
105
105
  color: inherit;
106
106
  background: var(--td-bg-color-container-hover);
107
- border-radius: var(--td-radius-default);
107
+ border-radius: var(--td-radius-medium);
108
108
  }
109
109
  .t-notification__detail-item:active {
110
110
  color: inherit;
111
111
  background: var(--td-bg-color-container-active);
112
- border-radius: var(--td-radius-default);
112
+ border-radius: var(--td-radius-medium);
113
113
  }
114
114
  .t-notification__detail-item + .t-notification__detail-item {
115
115
  margin-left: 8px;
@@ -9,12 +9,12 @@
9
9
  padding: 0;
10
10
  list-style: none;
11
11
  min-width: 160px;
12
- border-radius: 6px;
12
+ border-radius: var(--td-radius-medium);
13
13
  }
14
14
  .t-popconfirm__content {
15
15
  position: relative;
16
16
  padding: 16px;
17
- border-radius: 6px;
17
+ border-radius: var(--td-radius-medium);
18
18
  }
19
19
  .t-popconfirm__body {
20
20
  display: -webkit-box;
@@ -46,7 +46,7 @@
46
46
  background: var(--td-bg-color-container);
47
47
  -webkit-box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
48
48
  box-shadow: var(--td-shadow-2), var(--td-shadow-inset-top), var(--td-shadow-inset-right), var(--td-shadow-inset-bottom), var(--td-shadow-inset-left);
49
- border-radius: var(--td-radius-default);
49
+ border-radius: var(--td-radius-medium);
50
50
  padding: 4px 8px;
51
51
  font-size: 14px;
52
52
  line-height: 22px;
@@ -13,7 +13,7 @@
13
13
  position: relative;
14
14
  height: 100%;
15
15
  background: var(--td-brand-color);
16
- border-radius: 50px;
16
+ border-radius: var(--td-radius-round);
17
17
  -webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
18
18
  transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
19
19
  }
@@ -30,7 +30,7 @@
30
30
  height: 6px;
31
31
  overflow: hidden;
32
32
  background: var(--td-bg-color-component);
33
- border-radius: 3px;
33
+ border-radius: var(--td-radius-round);
34
34
  }
35
35
  .t-progress--thin {
36
36
  display: -webkit-box;
@@ -20,6 +20,7 @@
20
20
  max-width: 100%;
21
21
  overflow-x: auto;
22
22
  overflow-y: hidden;
23
+ border-radius: var(--td-radius-default);
23
24
  scrollbar-color: var(--td-scrollbar-color);
24
25
  scrollbar-width: thin;
25
26
  }
@@ -67,7 +68,7 @@
67
68
  background-color: var(--td-bg-color-container-select);
68
69
  -webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
69
70
  transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
70
- border-radius: var(--td-radius-default);
71
+ border-radius: var(--td-radius-small);
71
72
  }
72
73
  .t-radio-group.t-radio-group--filled .t-radio-button {
73
74
  color: var(--td-text-color-secondary);
@@ -173,12 +174,12 @@
173
174
  box-sizing: border-box;
174
175
  }
175
176
  .t-radio-group .t-radio-button:first-child {
176
- border-radius: var(--td-radius-default) 0 0 var(--td-radius-default);
177
+ border-radius: var(--td-radius-small) 0 0 var(--td-radius-small);
177
178
  }
178
179
  .t-radio-group .t-radio-button:last-child {
179
180
  border-right: 1px solid;
180
181
  border-right-color: var(--td-border-level-2-color);
181
- border-radius: 0 var(--td-radius-default) var(--td-radius-default) 0;
182
+ border-radius: 0 var(--td-radius-small) var(--td-radius-small) 0;
182
183
  }
183
184
  .t-radio-group .t-radio-button__former {
184
185
  opacity: 0;
@@ -256,7 +257,7 @@
256
257
  width: 16px;
257
258
  height: 16px;
258
259
  vertical-align: middle;
259
- border-radius: var(--td-radius-round);
260
+ border-radius: var(--td-radius-circle);
260
261
  border: 1px solid var(--td-border-level-2-color);
261
262
  background-color: var(--td-bg-color-container);
262
263
  -webkit-transition: border 0.2s cubic-bezier(0, 0, 0.15, 1);
@@ -274,7 +275,7 @@
274
275
  -webkit-transform: scale(0.5);
275
276
  transform: scale(0.5);
276
277
  opacity: 0;
277
- border-radius: var(--td-radius-round);
278
+ border-radius: var(--td-radius-circle);
278
279
  background-color: var(--td-brand-color);
279
280
  -webkit-transition: all 0.2s cubic-bezier(0, 0, 0.15, 1);
280
281
  transition: all 0.2s cubic-bezier(0, 0, 0.15, 1);
@@ -201,6 +201,7 @@
201
201
  }
202
202
  .t-range-input__inner .t-input__wrap {
203
203
  height: 100%;
204
+ border-radius: var(--td-radius-small);
204
205
  }
205
206
  .t-range-input__inner .t-input {
206
207
  padding: 0 4px;
@@ -300,7 +300,7 @@ var Select = forwardRefWithStatics(function (props, ref) {
300
300
  });
301
301
  }
302
302
 
303
- return get_1(selectedOptions[0] || {}, (keys === null || keys === void 0 ? void 0 : keys.label) || "label") || "";
303
+ return get_1(selectedOptions[0] || {}, (keys === null || keys === void 0 ? void 0 : keys.label) || "label") || void 0;
304
304
  }, [selectedOptions, keys, multiple]);
305
305
 
306
306
  var handleShowPopup = function handleShowPopup(visible) {
@@ -310,7 +310,7 @@ var Select = forwardRefWithStatics(function (props, ref) {
310
310
  visible && onInputChange("");
311
311
  };
312
312
 
313
- var onTagChange = function onTagChange(currentTags, context) {
313
+ var onTagChange = function onTagChange(_currentTags, context) {
314
314
  var trigger = context.trigger,
315
315
  index = context.index,
316
316
  item = context.item,
@@ -433,7 +433,7 @@ var Select = forwardRefWithStatics(function (props, ref) {
433
433
 
434
434
  var handleInputChange = function handleInputChange(value2) {
435
435
  onInputChange(value2);
436
- if (selectedLabel === value2) return;
436
+ if (value2 === void 0) return;
437
437
 
438
438
  if (isFunction_1(onSearch)) {
439
439
  onSearch(value2);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/select/base/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, Ref, useMemo, useCallback, useRef } from 'react';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\nimport get from 'lodash/get';\nimport useControlled from '../../hooks/useControlled';\nimport { useLocaleReceiver } from '../../locale/LocalReceiver';\nimport useConfig from '../../_util/useConfig';\nimport forwardRefWithStatics from '../../_util/forwardRefWithStatics';\nimport { getSelectValueArr, getValueToOption } from '../util/helper';\nimport noop from '../../_util/noop';\n\nimport FakeArrow from '../../common/FakeArrow';\nimport Loading from '../../loading';\nimport SelectInput from '../../select-input';\nimport Option from './Option';\nimport OptionGroup from './OptionGroup';\nimport PopupContent from './PopupContent';\nimport Tag from '../../tag';\n\nimport { TdSelectProps, TdOptionProps, SelectOption, SelectValueChangeTrigger } from '../type';\nimport { StyledProps } from '../../common';\nimport { selectDefaultProps } from '../defaultProps';\n\nexport interface SelectProps extends TdSelectProps, StyledProps {\n // 子节点\n children?: React.ReactNode;\n}\n\ntype OptionsType = TdOptionProps[];\n\nconst Select = forwardRefWithStatics(\n (props: SelectProps, ref: Ref<HTMLDivElement>) => {\n // 国际化文本初始化\n const [local, t] = useLocaleReceiver('select');\n const emptyText = t(local.loadingText);\n\n const {\n readonly,\n bordered,\n borderless,\n autoWidth,\n creatable,\n filter,\n loadingText = emptyText,\n max,\n popupProps,\n popupVisible,\n onPopupVisibleChange,\n reserveKeyword,\n className,\n style,\n disabled,\n size,\n multiple,\n placeholder,\n clearable,\n prefixIcon,\n options,\n filterable,\n loading,\n onFocus,\n onBlur,\n onClear = noop,\n onCreate,\n onRemove,\n onSearch,\n empty,\n valueType,\n keys,\n children,\n collapsedItems,\n minCollapsedNum,\n valueDisplay,\n onEnter,\n onVisibleChange,\n showArrow,\n inputProps,\n panelBottomContent,\n panelTopContent,\n selectInputProps,\n tagInputProps,\n tagProps,\n } = props;\n\n const selectPopupRef = useRef();\n\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { classPrefix } = useConfig();\n const { overlayClassName, ...restPopupProps } = popupProps || {};\n\n const name = `${classPrefix}-select`; // t-select\n\n const [showPopup, setShowPopup] = useState(popupVisible || false);\n const [inputValue, onInputChange] = useControlled(props, 'inputValue', props.onInputChange);\n const [currentOptions, setCurrentOptions] = useState([]);\n const [tmpPropOptions, setTmpPropOptions] = useState([]);\n const [valueToOption, setValueToOption] = useState({});\n const [selectedOptions, setSelectedOptions] = useState([]);\n\n // 处理设置 option 的逻辑\n useEffect(() => {\n if (keys) {\n // 如果有定制 keys 先做转换\n const transformedOptions = options?.map((option) => ({\n ...option,\n value: get(option, keys?.value || 'value'),\n label: get(option, keys?.label || 'label'),\n }));\n setCurrentOptions(transformedOptions);\n setTmpPropOptions(transformedOptions);\n } else {\n setCurrentOptions(options);\n setTmpPropOptions(options);\n }\n setValueToOption(getValueToOption(children, options, keys) || {});\n }, [options, keys, children]);\n\n // 同步 value 对应的 options\n useEffect(() => {\n setSelectedOptions((oldSelectedOptions) => {\n const valueKey = keys?.value || 'value';\n const labelKey = keys?.label || 'label';\n if (Array.isArray(value)) {\n return value\n .map((item) => {\n if (valueType === 'value') {\n return (\n valueToOption[item as string | number] ||\n oldSelectedOptions.find((option) => get(option, valueKey) === item) || {\n [valueKey]: item,\n [labelKey]: item,\n }\n );\n }\n return item;\n })\n .filter(Boolean);\n }\n\n if (value !== undefined && value !== null) {\n if (valueType === 'value') {\n return [\n valueToOption[value as string | number] ||\n oldSelectedOptions.find((option) => get(option, valueKey) === value) || {\n [valueKey]: value,\n [labelKey]: value,\n },\n ].filter(Boolean);\n }\n return [value];\n }\n return [];\n });\n }, [value, keys, valueType, valueToOption]);\n\n const selectedLabel = useMemo(() => {\n if (multiple) {\n return selectedOptions.map((selectedOption) => get(selectedOption || {}, keys?.label || 'label') || '');\n }\n return get(selectedOptions[0] || {}, keys?.label || 'label') || '';\n }, [selectedOptions, keys, multiple]);\n\n const handleShowPopup = (visible: boolean) => {\n if (disabled) return;\n setShowPopup(visible);\n onVisibleChange?.(visible);\n visible && onInputChange('');\n };\n // 可以根据触发来源,自由定制标签变化时的筛选器行为\n const onTagChange = (currentTags, context) => {\n const { trigger, index, item, e } = context;\n // backspace\n if (trigger === 'backspace') {\n e.stopPropagation();\n\n let closest = -1;\n let len = index;\n while (len >= 0) {\n if (!selectedOptions[len]?.disabled) {\n closest = len;\n break;\n }\n len -= 1;\n }\n if (closest < 0) {\n return;\n }\n const values = getSelectValueArr(value, value[closest], true, valueType, keys);\n onChange(values, { e, trigger });\n return;\n }\n\n if (trigger === 'clear') {\n e.stopPropagation();\n onChange([], { e, trigger });\n return;\n }\n\n if (trigger === 'tag-remove') {\n e.stopPropagation();\n const values = getSelectValueArr(value, value[index], true, valueType, keys);\n onChange(values, { e, trigger });\n if (isFunction(onRemove)) {\n onRemove({\n value: value[index],\n data: {\n label: item,\n value: value[index],\n },\n e,\n });\n }\n }\n };\n\n // 选中 Popup 某项\n const handleChange = (\n value: string | number,\n context: { e: React.MouseEvent; trigger: SelectValueChangeTrigger },\n ) => {\n const { e, trigger } = context;\n if (multiple) {\n !reserveKeyword && onInputChange('', { trigger: 'clear' });\n }\n if (creatable && isFunction(onCreate)) {\n if ((options as OptionsType).filter((option) => option.value === value).length === 0) {\n onCreate(value);\n }\n }\n onChange?.(value, { e, trigger });\n };\n\n // 处理filter逻辑\n const handleFilter = (value: string) => {\n let filteredOptions: OptionsType = [];\n if (!value) {\n setCurrentOptions(tmpPropOptions);\n return;\n }\n\n if (filter && isFunction(filter)) {\n // 如果有自定义的filter方法 使用自定义的filter方法\n if (Array.isArray(tmpPropOptions)) {\n filteredOptions = tmpPropOptions.filter((option) => filter(value, option));\n }\n } else if (Array.isArray(tmpPropOptions)) {\n const upperValue = value.toUpperCase();\n filteredOptions = tmpPropOptions.filter((option) => (option?.label || '').toUpperCase().includes(upperValue)); // 不区分大小写\n }\n\n if (creatable) {\n filteredOptions = filteredOptions.concat([{ label: value, value }]);\n }\n setCurrentOptions(filteredOptions);\n };\n\n // 处理输入框逻辑\n const handleInputChange = (value: string) => {\n onInputChange(value);\n if (selectedLabel === value) return;\n\n if (isFunction(onSearch)) {\n onSearch(value);\n return;\n }\n };\n\n const onClearValue = (context) => {\n context.e.stopPropagation();\n if (Array.isArray(value)) {\n onChange([], context);\n } else {\n onChange(null, context);\n }\n onInputChange(undefined);\n onClear(context);\n };\n\n useEffect(() => {\n if (inputValue) {\n handleFilter(String(inputValue));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputValue]);\n\n // 渲染后置图标\n const renderSuffixIcon = () => {\n if (loading) {\n return (\n <Loading className={classNames(`${name}__right-icon`, `${name}__active-icon`)} loading={true} size=\"small\" />\n );\n }\n\n return (\n showArrow && <FakeArrow overlayClassName={`${name}__right-icon`} isActive={showPopup} disabled={disabled} />\n );\n };\n\n // 渲染主体内容\n const renderContent = () => {\n const popupContentProps = {\n onChange: handleChange,\n value,\n className,\n size,\n multiple,\n showPopup,\n setShowPopup,\n options: currentOptions,\n empty,\n max,\n loadingText,\n loading,\n valueType,\n keys,\n panelBottomContent,\n panelTopContent,\n };\n return (\n <PopupContent {...popupContentProps} ref={selectPopupRef}>\n {children}\n </PopupContent>\n );\n };\n\n const renderValueDisplay = () => {\n if (!valueDisplay) {\n if (!multiple) {\n if (typeof selectedLabel !== 'string') {\n return selectedLabel;\n }\n return '';\n }\n return ({ value: val }) =>\n val.slice(0, minCollapsedNum ? minCollapsedNum : val.length).map((v, key) => {\n const filterOption: SelectOption & { disabled?: boolean } = options?.find((option) => option.label === v);\n return (\n <Tag\n key={key}\n onClose={({ e }) => {\n e.stopPropagation();\n const values = getSelectValueArr(value, value[key], true, valueType, keys);\n onChange(values, null);\n return;\n }}\n closable={!filterOption?.disabled}\n >\n {v}\n </Tag>\n );\n });\n }\n if (typeof valueDisplay === 'string') {\n return valueDisplay;\n }\n if (multiple) {\n return ({ onClose }) => valueDisplay({ value: selectedLabel, onClose });\n }\n return selectedLabel.length ? (valueDisplay({ value: selectedLabel[0], onClose: noop }) as string) : '';\n };\n\n const renderCollapsedItems = useMemo(\n () =>\n collapsedItems\n ? () =>\n collapsedItems({\n value: selectedLabel,\n collapsedSelectedItems: selectedLabel.slice(minCollapsedNum, selectedLabel.length),\n count: selectedLabel.length - minCollapsedNum,\n })\n : null,\n [selectedLabel, collapsedItems, minCollapsedNum],\n );\n\n // 将第一个选中的 option 置于列表可见范围的最后一位\n const updateScrollTop = useCallback(\n (content: HTMLDivElement) => {\n if (!selectPopupRef?.current) {\n return;\n }\n const firstSelectedNode: HTMLDivElement = (selectPopupRef?.current as HTMLUListElement).querySelector(\n `.${classPrefix}-is-selected`,\n );\n if (firstSelectedNode && content) {\n const { paddingBottom } = getComputedStyle(firstSelectedNode);\n const { marginBottom } = getComputedStyle(content);\n const elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);\n // 小于0时不需要特殊处理,会被设为0\n const updateValue =\n firstSelectedNode.offsetTop -\n content.offsetTop -\n (content.clientHeight - firstSelectedNode.clientHeight) +\n elementBottomHeight;\n // eslint-disable-next-line no-param-reassign\n content.scrollTop = updateValue;\n }\n },\n [classPrefix],\n );\n\n return (\n <div className={classNames(`${name}__wrap`, className)} style={style}>\n <SelectInput\n autoWidth={!style?.width && autoWidth}\n className={name}\n ref={ref}\n readonly={readonly}\n allowInput={(filterable ?? local.filterable) || isFunction(filter)}\n multiple={multiple}\n value={selectedLabel}\n valueDisplay={renderValueDisplay()}\n clearable={clearable}\n disabled={disabled}\n borderless={borderless || !bordered}\n label={prefixIcon}\n suffixIcon={renderSuffixIcon()}\n panel={renderContent()}\n placeholder={!multiple && showPopup && selectedLabel ? selectedLabel : placeholder || t(local.placeholder)}\n inputValue={showPopup ? inputValue : ''}\n tagInputProps={{\n autoWidth: true,\n ...tagInputProps,\n }}\n tagProps={tagProps}\n inputProps={{\n size,\n ...inputProps,\n }}\n minCollapsedNum={minCollapsedNum}\n collapsedItems={renderCollapsedItems}\n popupProps={{\n overlayClassName: [`${name}__dropdown`, ['narrow-scrollbar'], overlayClassName],\n ...restPopupProps,\n }}\n popupVisible={showPopup}\n onPopupVisibleChange={onPopupVisibleChange || handleShowPopup}\n onTagChange={onTagChange}\n onInputChange={handleInputChange}\n onFocus={onFocus}\n onEnter={onEnter}\n onBlur={onBlur}\n onClear={(context) => {\n onClearValue(context);\n }}\n updateScrollTop={updateScrollTop}\n {...selectInputProps}\n ></SelectInput>\n </div>\n );\n },\n {\n Option,\n OptionGroup,\n },\n);\n\nSelect.displayName = 'Select';\nSelect.defaultProps = selectDefaultProps;\n\nexport default Select;\n"],"names":["Select","forwardRefWithStatics","props","ref","useLocaleReceiver","local","t","emptyText","loadingText","readonly","bordered","borderless","autoWidth","creatable","filter","max","popupProps","popupVisible","onPopupVisibleChange","reserveKeyword","className","style","disabled","size","multiple","placeholder","clearable","prefixIcon","options","filterable","loading","onFocus","onBlur","onClear","noop","onCreate","onRemove","onSearch","empty","valueType","keys","children","collapsedItems","minCollapsedNum","valueDisplay","onEnter","onVisibleChange","showArrow","inputProps","panelBottomContent","panelTopContent","selectInputProps","tagInputProps","tagProps","selectPopupRef","useRef","useControlled","onChange","value","useConfig","classPrefix","overlayClassName","restPopupProps","name","useState","showPopup","setShowPopup","onInputChange","inputValue","currentOptions","setCurrentOptions","tmpPropOptions","setTmpPropOptions","valueToOption","setValueToOption","selectedOptions","setSelectedOptions","useEffect","transformedOptions","map","option","get","label","getValueToOption","oldSelectedOptions","valueKey","labelKey","Array","isArray","item","find","Boolean","selectedLabel","useMemo","selectedOption","handleShowPopup","visible","onTagChange","currentTags","context","trigger","index","e","stopPropagation","closest","len","values","getSelectValueArr","isFunction","data","handleChange","value2","length","handleFilter","filteredOptions","upperValue","toUpperCase","includes","concat","handleInputChange","onClearValue","String","renderSuffixIcon","React","createElement","Loading","classNames","FakeArrow","isActive","renderContent","popupContentProps","PopupContent","renderValueDisplay","val","slice","v","key","filterOption","Tag","onClose","closable","renderCollapsedItems","collapsedSelectedItems","count","updateScrollTop","useCallback","content","current","firstSelectedNode","querySelector","getComputedStyle","paddingBottom","marginBottom","elementBottomHeight","parseInt","updateValue","offsetTop","clientHeight","scrollTop","SelectInput","width","allowInput","suffixIcon","panel","Option","OptionGroup","displayName","defaultProps","selectDefaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/select/base/Select.tsx"],"sourcesContent":["import React, { useState, useEffect, Ref, useMemo, useCallback, useRef } from 'react';\nimport classNames from 'classnames';\nimport isFunction from 'lodash/isFunction';\nimport get from 'lodash/get';\nimport useControlled from '../../hooks/useControlled';\nimport { useLocaleReceiver } from '../../locale/LocalReceiver';\nimport useConfig from '../../_util/useConfig';\nimport forwardRefWithStatics from '../../_util/forwardRefWithStatics';\nimport { getSelectValueArr, getValueToOption } from '../util/helper';\nimport noop from '../../_util/noop';\n\nimport FakeArrow from '../../common/FakeArrow';\nimport Loading from '../../loading';\nimport SelectInput from '../../select-input';\nimport Option from './Option';\nimport OptionGroup from './OptionGroup';\nimport PopupContent from './PopupContent';\nimport Tag from '../../tag';\n\nimport { TdSelectProps, TdOptionProps, SelectOption, SelectValueChangeTrigger } from '../type';\nimport { StyledProps } from '../../common';\nimport { selectDefaultProps } from '../defaultProps';\n\nexport interface SelectProps extends TdSelectProps, StyledProps {\n // 子节点\n children?: React.ReactNode;\n}\n\ntype OptionsType = TdOptionProps[];\n\nconst Select = forwardRefWithStatics(\n (props: SelectProps, ref: Ref<HTMLDivElement>) => {\n // 国际化文本初始化\n const [local, t] = useLocaleReceiver('select');\n const emptyText = t(local.loadingText);\n\n const {\n readonly,\n bordered,\n borderless,\n autoWidth,\n creatable,\n filter,\n loadingText = emptyText,\n max,\n popupProps,\n popupVisible,\n onPopupVisibleChange,\n reserveKeyword,\n className,\n style,\n disabled,\n size,\n multiple,\n placeholder,\n clearable,\n prefixIcon,\n options,\n filterable,\n loading,\n onFocus,\n onBlur,\n onClear = noop,\n onCreate,\n onRemove,\n onSearch,\n empty,\n valueType,\n keys,\n children,\n collapsedItems,\n minCollapsedNum,\n valueDisplay,\n onEnter,\n onVisibleChange,\n showArrow,\n inputProps,\n panelBottomContent,\n panelTopContent,\n selectInputProps,\n tagInputProps,\n tagProps,\n } = props;\n\n const selectPopupRef = useRef();\n\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { classPrefix } = useConfig();\n const { overlayClassName, ...restPopupProps } = popupProps || {};\n\n const name = `${classPrefix}-select`; // t-select\n\n const [showPopup, setShowPopup] = useState(popupVisible || false);\n const [inputValue, onInputChange] = useControlled(props, 'inputValue', props.onInputChange);\n const [currentOptions, setCurrentOptions] = useState([]);\n const [tmpPropOptions, setTmpPropOptions] = useState([]);\n const [valueToOption, setValueToOption] = useState({});\n const [selectedOptions, setSelectedOptions] = useState([]);\n\n // 处理设置 option 的逻辑\n useEffect(() => {\n if (keys) {\n // 如果有定制 keys 先做转换\n const transformedOptions = options?.map((option) => ({\n ...option,\n value: get(option, keys?.value || 'value'),\n label: get(option, keys?.label || 'label'),\n }));\n setCurrentOptions(transformedOptions);\n setTmpPropOptions(transformedOptions);\n } else {\n setCurrentOptions(options);\n setTmpPropOptions(options);\n }\n setValueToOption(getValueToOption(children, options, keys) || {});\n }, [options, keys, children]);\n\n // 同步 value 对应的 options\n useEffect(() => {\n setSelectedOptions((oldSelectedOptions) => {\n const valueKey = keys?.value || 'value';\n const labelKey = keys?.label || 'label';\n if (Array.isArray(value)) {\n return value\n .map((item) => {\n if (valueType === 'value') {\n return (\n valueToOption[item as string | number] ||\n oldSelectedOptions.find((option) => get(option, valueKey) === item) || {\n [valueKey]: item,\n [labelKey]: item,\n }\n );\n }\n return item;\n })\n .filter(Boolean);\n }\n\n if (value !== undefined && value !== null) {\n if (valueType === 'value') {\n return [\n valueToOption[value as string | number] ||\n oldSelectedOptions.find((option) => get(option, valueKey) === value) || {\n [valueKey]: value,\n [labelKey]: value,\n },\n ].filter(Boolean);\n }\n return [value];\n }\n return [];\n });\n }, [value, keys, valueType, valueToOption]);\n\n const selectedLabel = useMemo(() => {\n if (multiple) {\n return selectedOptions.map((selectedOption) => get(selectedOption || {}, keys?.label || 'label') || '');\n }\n return get(selectedOptions[0] || {}, keys?.label || 'label') || undefined;\n }, [selectedOptions, keys, multiple]);\n\n const handleShowPopup = (visible: boolean) => {\n if (disabled) return;\n setShowPopup(visible);\n onVisibleChange?.(visible);\n visible && onInputChange('');\n };\n\n // 可以根据触发来源,自由定制标签变化时的筛选器行为\n const onTagChange = (_currentTags, context) => {\n const { trigger, index, item, e } = context;\n // backspace\n if (trigger === 'backspace') {\n e.stopPropagation();\n\n let closest = -1;\n let len = index;\n while (len >= 0) {\n if (!selectedOptions[len]?.disabled) {\n closest = len;\n break;\n }\n len -= 1;\n }\n if (closest < 0) {\n return;\n }\n const values = getSelectValueArr(value, value[closest], true, valueType, keys);\n onChange(values, { e, trigger });\n return;\n }\n\n if (trigger === 'clear') {\n e.stopPropagation();\n onChange([], { e, trigger });\n return;\n }\n\n if (trigger === 'tag-remove') {\n e.stopPropagation();\n const values = getSelectValueArr(value, value[index], true, valueType, keys);\n onChange(values, { e, trigger });\n if (isFunction(onRemove)) {\n onRemove({\n value: value[index],\n data: {\n label: item,\n value: value[index],\n },\n e,\n });\n }\n }\n };\n\n // 选中 Popup 某项\n const handleChange = (\n value: string | number,\n context: { e: React.MouseEvent; trigger: SelectValueChangeTrigger },\n ) => {\n const { e, trigger } = context;\n if (multiple) {\n !reserveKeyword && onInputChange('', { trigger: 'clear' });\n }\n if (creatable && isFunction(onCreate)) {\n if ((options as OptionsType).filter((option) => option.value === value).length === 0) {\n onCreate(value);\n }\n }\n onChange?.(value, { e, trigger });\n };\n\n // 处理filter逻辑\n const handleFilter = (value: string) => {\n let filteredOptions: OptionsType = [];\n if (!value) {\n setCurrentOptions(tmpPropOptions);\n return;\n }\n\n if (filter && isFunction(filter)) {\n // 如果有自定义的filter方法 使用自定义的filter方法\n if (Array.isArray(tmpPropOptions)) {\n filteredOptions = tmpPropOptions.filter((option) => filter(value, option));\n }\n } else if (Array.isArray(tmpPropOptions)) {\n const upperValue = value.toUpperCase();\n filteredOptions = tmpPropOptions.filter((option) => (option?.label || '').toUpperCase().includes(upperValue)); // 不区分大小写\n }\n\n if (creatable) {\n filteredOptions = filteredOptions.concat([{ label: value, value }]);\n }\n setCurrentOptions(filteredOptions);\n };\n\n // 处理输入框逻辑\n const handleInputChange = (value: string) => {\n onInputChange(value);\n if (value === undefined) return;\n\n if (isFunction(onSearch)) {\n onSearch(value);\n return;\n }\n };\n\n const onClearValue = (context) => {\n context.e.stopPropagation();\n if (Array.isArray(value)) {\n onChange([], context);\n } else {\n onChange(null, context);\n }\n onInputChange(undefined);\n onClear(context);\n };\n\n useEffect(() => {\n if (inputValue) {\n handleFilter(String(inputValue));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputValue]);\n\n // 渲染后置图标\n const renderSuffixIcon = () => {\n if (loading) {\n return (\n <Loading className={classNames(`${name}__right-icon`, `${name}__active-icon`)} loading={true} size=\"small\" />\n );\n }\n\n return (\n showArrow && <FakeArrow overlayClassName={`${name}__right-icon`} isActive={showPopup} disabled={disabled} />\n );\n };\n\n // 渲染主体内容\n const renderContent = () => {\n const popupContentProps = {\n onChange: handleChange,\n value,\n className,\n size,\n multiple,\n showPopup,\n setShowPopup,\n options: currentOptions,\n empty,\n max,\n loadingText,\n loading,\n valueType,\n keys,\n panelBottomContent,\n panelTopContent,\n };\n return (\n <PopupContent {...popupContentProps} ref={selectPopupRef}>\n {children}\n </PopupContent>\n );\n };\n\n const renderValueDisplay = () => {\n if (!valueDisplay) {\n if (!multiple) {\n if (typeof selectedLabel !== 'string') {\n return selectedLabel;\n }\n return '';\n }\n return ({ value: val }) =>\n val.slice(0, minCollapsedNum ? minCollapsedNum : val.length).map((v: string, key: number) => {\n const filterOption: SelectOption & { disabled?: boolean } = options?.find((option) => option.label === v);\n return (\n <Tag\n key={key}\n onClose={({ e }) => {\n e.stopPropagation();\n const values = getSelectValueArr(value, value[key], true, valueType, keys);\n onChange(values, null);\n return;\n }}\n closable={!filterOption?.disabled}\n >\n {v}\n </Tag>\n );\n });\n }\n if (typeof valueDisplay === 'string') {\n return valueDisplay;\n }\n if (multiple) {\n return ({ onClose }) => valueDisplay({ value: selectedLabel, onClose });\n }\n return selectedLabel.length ? (valueDisplay({ value: selectedLabel[0], onClose: noop }) as string) : '';\n };\n\n const renderCollapsedItems = useMemo(\n () =>\n collapsedItems\n ? () =>\n collapsedItems({\n value: selectedLabel,\n collapsedSelectedItems: selectedLabel.slice(minCollapsedNum, selectedLabel.length),\n count: selectedLabel.length - minCollapsedNum,\n })\n : null,\n [selectedLabel, collapsedItems, minCollapsedNum],\n );\n\n // 将第一个选中的 option 置于列表可见范围的最后一位\n const updateScrollTop = useCallback(\n (content: HTMLDivElement) => {\n if (!selectPopupRef?.current) {\n return;\n }\n const firstSelectedNode: HTMLDivElement = (selectPopupRef?.current as HTMLUListElement).querySelector(\n `.${classPrefix}-is-selected`,\n );\n if (firstSelectedNode && content) {\n const { paddingBottom } = getComputedStyle(firstSelectedNode);\n const { marginBottom } = getComputedStyle(content);\n const elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);\n // 小于0时不需要特殊处理,会被设为0\n const updateValue =\n firstSelectedNode.offsetTop -\n content.offsetTop -\n (content.clientHeight - firstSelectedNode.clientHeight) +\n elementBottomHeight;\n // eslint-disable-next-line no-param-reassign\n content.scrollTop = updateValue;\n }\n },\n [classPrefix],\n );\n\n return (\n <div className={classNames(`${name}__wrap`, className)} style={style}>\n <SelectInput\n autoWidth={!style?.width && autoWidth}\n className={name}\n ref={ref}\n readonly={readonly}\n allowInput={(filterable ?? local.filterable) || isFunction(filter)}\n multiple={multiple}\n value={selectedLabel}\n valueDisplay={renderValueDisplay()}\n clearable={clearable}\n disabled={disabled}\n borderless={borderless || !bordered}\n label={prefixIcon}\n suffixIcon={renderSuffixIcon()}\n panel={renderContent()}\n placeholder={!multiple && showPopup && selectedLabel ? selectedLabel : placeholder || t(local.placeholder)}\n inputValue={showPopup ? inputValue : ''}\n tagInputProps={{\n autoWidth: true,\n ...tagInputProps,\n }}\n tagProps={tagProps}\n inputProps={{\n size,\n ...inputProps,\n }}\n minCollapsedNum={minCollapsedNum}\n collapsedItems={renderCollapsedItems}\n popupProps={{\n overlayClassName: [`${name}__dropdown`, ['narrow-scrollbar'], overlayClassName],\n ...restPopupProps,\n }}\n popupVisible={showPopup}\n onPopupVisibleChange={onPopupVisibleChange || handleShowPopup}\n onTagChange={onTagChange}\n onInputChange={handleInputChange}\n onFocus={onFocus}\n onEnter={onEnter}\n onBlur={onBlur}\n onClear={(context) => {\n onClearValue(context);\n }}\n updateScrollTop={updateScrollTop}\n {...selectInputProps}\n ></SelectInput>\n </div>\n );\n },\n {\n Option,\n OptionGroup,\n },\n);\n\nSelect.displayName = 'Select';\nSelect.defaultProps = selectDefaultProps;\n\nexport default Select;\n"],"names":["Select","forwardRefWithStatics","props","ref","useLocaleReceiver","local","t","emptyText","loadingText","readonly","bordered","borderless","autoWidth","creatable","filter","max","popupProps","popupVisible","onPopupVisibleChange","reserveKeyword","className","style","disabled","size","multiple","placeholder","clearable","prefixIcon","options","filterable","loading","onFocus","onBlur","onClear","noop","onCreate","onRemove","onSearch","empty","valueType","keys","children","collapsedItems","minCollapsedNum","valueDisplay","onEnter","onVisibleChange","showArrow","inputProps","panelBottomContent","panelTopContent","selectInputProps","tagInputProps","tagProps","selectPopupRef","useRef","useControlled","onChange","value","useConfig","classPrefix","overlayClassName","restPopupProps","name","useState","showPopup","setShowPopup","onInputChange","inputValue","currentOptions","setCurrentOptions","tmpPropOptions","setTmpPropOptions","valueToOption","setValueToOption","selectedOptions","setSelectedOptions","useEffect","transformedOptions","map","option","get","label","getValueToOption","oldSelectedOptions","valueKey","labelKey","Array","isArray","item","find","Boolean","selectedLabel","useMemo","selectedOption","handleShowPopup","visible","onTagChange","_currentTags","context","trigger","index","e","stopPropagation","closest","len","values","getSelectValueArr","isFunction","data","handleChange","value2","length","handleFilter","filteredOptions","upperValue","toUpperCase","includes","concat","handleInputChange","onClearValue","String","renderSuffixIcon","React","createElement","Loading","classNames","FakeArrow","isActive","renderContent","popupContentProps","PopupContent","renderValueDisplay","val","slice","v","key","filterOption","Tag","onClose","closable","renderCollapsedItems","collapsedSelectedItems","count","updateScrollTop","useCallback","content","current","firstSelectedNode","querySelector","getComputedStyle","paddingBottom","marginBottom","elementBottomHeight","parseInt","updateValue","offsetTop","clientHeight","scrollTop","SelectInput","width","allowInput","suffixIcon","panel","Option","OptionGroup","displayName","defaultProps","selectDefaultProps"],"mappings":"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"}
@@ -225,7 +225,6 @@
225
225
  overflow-y: auto;
226
226
  -webkit-box-shadow: var(--td-shadow-2);
227
227
  box-shadow: var(--td-shadow-2);
228
- border-radius: var(--td-radius-default);
229
228
  }
230
229
  .t-select__dropdown-inner {
231
230
  padding: 6px;
@@ -47,9 +47,8 @@ function useOverlayStyle(props) {
47
47
 
48
48
  var onInnerPopupVisibleChange = function onInnerPopupVisibleChange(visible, context) {
49
49
  if (readonly) return;
50
- var newVisible = context.trigger === "trigger-element-click" ? true : visible;
51
- setInnerPopupVisible(newVisible);
52
- onPopupVisibleChange === null || onPopupVisibleChange === void 0 ? void 0 : onPopupVisibleChange(newVisible, context);
50
+ setInnerPopupVisible(visible);
51
+ onPopupVisibleChange === null || onPopupVisibleChange === void 0 ? void 0 : onPopupVisibleChange(visible, context);
53
52
  };
54
53
 
55
54
  var tOverlayStyle = useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"useOverlayStyle.js","sources":["../../src/select-input/useOverlayStyle.ts"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport { TdSelectInputProps } from './type';\nimport { TdPopupProps, PopupVisibleChangeContext } from '../popup';\n\nexport type overlayStyleProps = Pick<\n TdSelectInputProps,\n 'popupProps' | 'autoWidth' | 'readonly' | 'onPopupVisibleChange'\n>;\n\n// 单位:px\nconst MAX_POPUP_WIDTH = 1000;\n\nexport default function useOverlayStyle(props: overlayStyleProps) {\n const { popupProps, autoWidth, readonly, onPopupVisibleChange } = props;\n const [innerPopupVisible, setInnerPopupVisible] = useState(false);\n\n const matchWidthFunc = (triggerElement: HTMLElement, popupElement: HTMLElement) => {\n if (!triggerElement || !popupElement) return;\n // 避免因滚动条出现文本省略,预留宽度 8\n const SCROLLBAR_WIDTH = popupElement.scrollHeight > popupElement.offsetHeight ? 8 : 0;\n const width =\n popupElement.offsetWidth + SCROLLBAR_WIDTH >= triggerElement.offsetWidth\n ? popupElement.offsetWidth\n : triggerElement.offsetWidth;\n let otherOverlayStyle: React.CSSProperties = {};\n if (popupProps && typeof popupProps.overlayStyle === 'object' && !popupProps.overlayStyle.width) {\n otherOverlayStyle = popupProps.overlayStyle;\n }\n return {\n width: `${Math.min(width, MAX_POPUP_WIDTH)}px`,\n ...otherOverlayStyle,\n };\n };\n\n const onInnerPopupVisibleChange = (visible: boolean, context: PopupVisibleChangeContext) => {\n if (readonly) return;\n // 如果点击触发元素(输入框),则永久显示下拉框\n const newVisible = context.trigger === 'trigger-element-click' ? true : visible;\n setInnerPopupVisible(newVisible);\n onPopupVisibleChange?.(newVisible, context);\n };\n\n const tOverlayStyle = useMemo(() => {\n let result: TdPopupProps['overlayStyle'] = {};\n const overlayStyle = popupProps?.overlayStyle || {};\n if (isFunction(overlayStyle) || (isObject(overlayStyle) && overlayStyle.width)) {\n result = overlayStyle;\n } else if (!autoWidth) {\n result = matchWidthFunc;\n }\n return result;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoWidth, popupProps?.overlayStyle]);\n\n return {\n tOverlayStyle,\n innerPopupVisible,\n onInnerPopupVisibleChange,\n };\n}\n"],"names":["MAX_POPUP_WIDTH","useOverlayStyle","props","popupProps","autoWidth","readonly","onPopupVisibleChange","useState","innerPopupVisible","setInnerPopupVisible","matchWidthFunc","triggerElement","popupElement","SCROLLBAR_WIDTH","scrollHeight","offsetHeight","width","offsetWidth","otherOverlayStyle","overlayStyle","Math","min","onInnerPopupVisibleChange","visible","context","newVisible","trigger","tOverlayStyle","useMemo","result","isFunction","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"useOverlayStyle.js","sources":["../../src/select-input/useOverlayStyle.ts"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport isObject from 'lodash/isObject';\nimport isFunction from 'lodash/isFunction';\nimport { TdSelectInputProps } from './type';\nimport { TdPopupProps, PopupVisibleChangeContext } from '../popup';\n\nexport type overlayStyleProps = Pick<\n TdSelectInputProps,\n 'popupProps' | 'autoWidth' | 'readonly' | 'onPopupVisibleChange'\n>;\n\n// 单位:px\nconst MAX_POPUP_WIDTH = 1000;\n\nexport default function useOverlayStyle(props: overlayStyleProps) {\n const { popupProps, autoWidth, readonly, onPopupVisibleChange } = props;\n const [innerPopupVisible, setInnerPopupVisible] = useState(false);\n\n const matchWidthFunc = (triggerElement: HTMLElement, popupElement: HTMLElement) => {\n if (!triggerElement || !popupElement) return;\n // 避免因滚动条出现文本省略,预留宽度 8\n const SCROLLBAR_WIDTH = popupElement.scrollHeight > popupElement.offsetHeight ? 8 : 0;\n const width =\n popupElement.offsetWidth + SCROLLBAR_WIDTH >= triggerElement.offsetWidth\n ? popupElement.offsetWidth\n : triggerElement.offsetWidth;\n let otherOverlayStyle: React.CSSProperties = {};\n if (popupProps && typeof popupProps.overlayStyle === 'object' && !popupProps.overlayStyle.width) {\n otherOverlayStyle = popupProps.overlayStyle;\n }\n return {\n width: `${Math.min(width, MAX_POPUP_WIDTH)}px`,\n ...otherOverlayStyle,\n };\n };\n\n const onInnerPopupVisibleChange = (visible: boolean, context: PopupVisibleChangeContext) => {\n if (readonly) return;\n setInnerPopupVisible(visible);\n onPopupVisibleChange?.(visible, context);\n };\n\n const tOverlayStyle = useMemo(() => {\n let result: TdPopupProps['overlayStyle'] = {};\n const overlayStyle = popupProps?.overlayStyle || {};\n if (isFunction(overlayStyle) || (isObject(overlayStyle) && overlayStyle.width)) {\n result = overlayStyle;\n } else if (!autoWidth) {\n result = matchWidthFunc;\n }\n return result;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoWidth, popupProps?.overlayStyle]);\n\n return {\n tOverlayStyle,\n innerPopupVisible,\n onInnerPopupVisibleChange,\n };\n}\n"],"names":["MAX_POPUP_WIDTH","useOverlayStyle","props","popupProps","autoWidth","readonly","onPopupVisibleChange","useState","innerPopupVisible","setInnerPopupVisible","matchWidthFunc","triggerElement","popupElement","SCROLLBAR_WIDTH","scrollHeight","offsetHeight","width","offsetWidth","otherOverlayStyle","overlayStyle","Math","min","onInnerPopupVisibleChange","visible","context","tOverlayStyle","useMemo","result","isFunction","isObject"],"mappings":"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"}
@@ -50,17 +50,17 @@
50
50
  .t-skeleton--type-text {
51
51
  width: 100%;
52
52
  height: 16px;
53
- border-radius: 3px;
53
+ border-radius: var(--td-radius-default);
54
54
  }
55
55
  .t-skeleton--type-rect {
56
56
  width: 120px;
57
57
  height: 88px;
58
- border-radius: 3px;
58
+ border-radius: var(--td-radius-default);
59
59
  }
60
60
  .t-skeleton--type-circle {
61
61
  width: 32px;
62
62
  height: 32px;
63
- border-radius: 50%;
63
+ border-radius: var(--td-radius-circle);
64
64
  -ms-flex-negative: 0;
65
65
  flex-shrink: 0;
66
66
  }
@@ -61,7 +61,7 @@
61
61
  background-color: var(--td-bg-color-component);
62
62
  -webkit-transition: background-color 0.3s;
63
63
  transition: background-color 0.3s;
64
- border-radius: 4px;
64
+ border-radius: var(--td-radius-round);
65
65
  }
66
66
  .t-slider__rail:hover {
67
67
  background-color: var(--td-bg-color-component-hover);
@@ -71,7 +71,7 @@
71
71
  height: 4px;
72
72
  background-color: var(--td-brand-color);
73
73
  right: auto;
74
- border-radius: 4px;
74
+ border-radius: var(--td-radius-round);
75
75
  }
76
76
  .t-slider__step {
77
77
  position: absolute;
@@ -84,7 +84,7 @@
84
84
  height: 16px;
85
85
  border: 2px solid var(--td-brand-color);
86
86
  background-color: #fff;
87
- border-radius: 50%;
87
+ border-radius: var(--td-radius-circle);
88
88
  -webkit-transition: 0.2s;
89
89
  transition: 0.2s;
90
90
  -webkit-user-select: none;
@@ -145,7 +145,7 @@
145
145
  line-height: 20px;
146
146
  -webkit-transform: translateX(-50%);
147
147
  transform: translateX(-50%);
148
- margin-top: 4px;
148
+ margin-top: var(--td-radius-round);
149
149
  cursor: pointer;
150
150
  }
151
151
  .t-slider__mark-text:first-child {
@@ -11,7 +11,7 @@
11
11
  width: 24px;
12
12
  height: 24px;
13
13
  text-align: center;
14
- border-radius: 50%;
14
+ border-radius: var(--td-radius-circle);
15
15
  margin-top: 3px;
16
16
  font-size: 16px;
17
17
  }
@@ -122,7 +122,7 @@
122
122
  width: 24px;
123
123
  height: 24px;
124
124
  text-align: center;
125
- border-radius: 50%;
125
+ border-radius: var(--td-radius-circle);
126
126
  margin-top: 3px;
127
127
  font-size: 16px;
128
128
  }
@@ -140,7 +140,7 @@
140
140
  width: 24px;
141
141
  height: 24px;
142
142
  text-align: center;
143
- border-radius: 50%;
143
+ border-radius: var(--td-radius-circle);
144
144
  margin-top: 3px;
145
145
  font-size: 16px;
146
146
  }
@@ -159,7 +159,7 @@
159
159
  width: 24px;
160
160
  height: 24px;
161
161
  text-align: center;
162
- border-radius: 50%;
162
+ border-radius: var(--td-radius-circle);
163
163
  margin-top: 3px;
164
164
  font-size: 16px;
165
165
  }
@@ -341,7 +341,7 @@
341
341
  width: 8px;
342
342
  height: 8px;
343
343
  border: 2px solid var(--td-text-color-placeholder);
344
- border-radius: 50%;
344
+ border-radius: var(--td-radius-circle);
345
345
  margin-bottom: 4px;
346
346
  position: relative;
347
347
  -webkit-box-sizing: border-box;
@@ -560,7 +560,7 @@
560
560
  width: 8px;
561
561
  height: 8px;
562
562
  border: 2px solid var(--td-text-color-placeholder);
563
- border-radius: 50%;
563
+ border-radius: var(--td-radius-circle);
564
564
  margin-bottom: 4px;
565
565
  position: relative;
566
566
  -webkit-box-sizing: border-box;
@@ -8,10 +8,11 @@
8
8
  }
9
9
  .narrow-scrollbar::-webkit-scrollbar {
10
10
  width: 8px;
11
+ height: 8px;
11
12
  background: transparent;
12
13
  }
13
14
  .narrow-scrollbar::-webkit-scrollbar-thumb {
14
- border-radius: 6px;
15
+ border-radius: var(--td-radius-medium);
15
16
  border: 2px solid transparent;
16
17
  background-clip: content-box;
17
18
  background-color: var(--td-scrollbar-color);
@@ -282,5 +283,6 @@
282
283
  --td-radius-medium: 6px;
283
284
  --td-radius-large: 9px;
284
285
  --td-radius-extraLarge: 12px;
285
- --td-radius-round: 50%;
286
+ --td-radius-round: 999px;
287
+ --td-radius-circle: 50%;
286
288
  }
@@ -46,7 +46,7 @@
46
46
  left: 2px;
47
47
  width: 16px;
48
48
  height: 16px;
49
- border-radius: 12px;
49
+ border-radius: var(--td-radius-extraLarge);
50
50
  -webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
51
51
  transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
52
52
  }
@@ -61,7 +61,7 @@
61
61
  left: 0;
62
62
  right: 0;
63
63
  bottom: 0;
64
- border-radius: 12px;
64
+ border-radius: var(--td-radius-extraLarge);
65
65
  background-color: var(--td-text-color-anti);
66
66
  -webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
67
67
  transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
@@ -541,7 +541,7 @@
541
541
  .t-table__sort-icon:hover {
542
542
  color: var(--td-brand-color);
543
543
  background-color: var(--td-bg-color-secondarycontainer-hover);
544
- border-radius: 50%;
544
+ border-radius: var(--td-radius-circle);
545
545
  }
546
546
  .t-table__filter-icon .t-is-focus,
547
547
  .t-table__filter-icon.t-is-focus,
@@ -188,10 +188,10 @@
188
188
  font-size: 16px;
189
189
  }
190
190
  .t-tag.t-tag--round {
191
- border-radius: 12px;
191
+ border-radius: var(--td-radius-extraLarge);
192
192
  }
193
193
  .t-tag.t-tag--mark {
194
- border-radius: 0 12px 12px 0;
194
+ border-radius: 0 var(--td-radius-extraLarge) var(--td-radius-extraLarge) 0;
195
195
  }
196
196
  .t-tag.t-tag--ellipsis .t-tag--text {
197
197
  display: inline-block;
@@ -6,6 +6,7 @@
6
6
  word-break: break-word;
7
7
  -webkit-box-sizing: border-box;
8
8
  box-sizing: border-box;
9
+ border-radius: var(--td-radius-medium);
9
10
  }
10
11
  .t-popup .t-tooltip:not(.t-tooltip--light) {
11
12
  color: var(--td-text-color-anti);
@@ -35,7 +35,7 @@
35
35
  .t-transfer__list-source,
36
36
  .t-transfer__list-target {
37
37
  border: 1px solid var(--td-border-level-1-color);
38
- border-radius: var(--td-radius-default);
38
+ border-radius: var(--td-radius-medium);
39
39
  }
40
40
  .t-transfer__list-header {
41
41
  position: absolute;