@douyinfe/semi-foundation 2.96.1 → 2.98.0

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 (235) hide show
  1. package/cascader/foundation.ts +74 -19
  2. package/codeHighlight/codeHighlight.scss +1 -1
  3. package/datePicker/datePicker.scss +100 -5
  4. package/datePicker/foundation.ts +7 -0
  5. package/datePicker/inputFoundation.ts +5 -0
  6. package/form/foundation.ts +55 -7
  7. package/form/utils.ts +7 -2
  8. package/image/previewImageFoundation.ts +34 -3
  9. package/image/previewInnerFoundation.ts +15 -4
  10. package/input/textarea.scss +35 -0
  11. package/inputNumber/foundation.ts +119 -3
  12. package/jsonViewer/jsonViewer.scss +2 -2
  13. package/lib/cjs/aiChatInput/aiChatInput.css +7 -7
  14. package/lib/cjs/anchor/anchor.css +3 -3
  15. package/lib/cjs/autoComplete/autoComplete.css +1 -1
  16. package/lib/cjs/avatar/avatar.css +5 -5
  17. package/lib/cjs/badge/badge.css +1 -1
  18. package/lib/cjs/breadcrumb/breadcrumb.css +2 -2
  19. package/lib/cjs/calendar/calendar.css +9 -9
  20. package/lib/cjs/cascader/cascader.css +6 -6
  21. package/lib/cjs/cascader/foundation.d.ts +12 -0
  22. package/lib/cjs/cascader/foundation.js +68 -23
  23. package/lib/cjs/checkbox/checkbox.css +2 -2
  24. package/lib/cjs/codeHighlight/codeHighlight.css +1 -1
  25. package/lib/cjs/codeHighlight/codeHighlight.scss +1 -1
  26. package/lib/cjs/collapse/collapse.css +2 -2
  27. package/lib/cjs/datePicker/datePicker.css +75 -13
  28. package/lib/cjs/datePicker/datePicker.scss +100 -5
  29. package/lib/cjs/datePicker/foundation.d.ts +5 -0
  30. package/lib/cjs/datePicker/foundation.js +2 -0
  31. package/lib/cjs/datePicker/inputFoundation.d.ts +5 -0
  32. package/lib/cjs/descriptions/descriptions.css +6 -6
  33. package/lib/cjs/dropdown/dropdown.css +2 -2
  34. package/lib/cjs/form/form.css +4 -4
  35. package/lib/cjs/form/foundation.d.ts +1 -1
  36. package/lib/cjs/form/foundation.js +55 -9
  37. package/lib/cjs/form/utils.js +5 -2
  38. package/lib/cjs/hotKeys/hotKeys.css +2 -2
  39. package/lib/cjs/image/image.css +2 -2
  40. package/lib/cjs/image/previewImageFoundation.d.ts +4 -0
  41. package/lib/cjs/image/previewImageFoundation.js +33 -2
  42. package/lib/cjs/image/previewInnerFoundation.d.ts +1 -0
  43. package/lib/cjs/image/previewInnerFoundation.js +17 -4
  44. package/lib/cjs/input/input.css +8 -8
  45. package/lib/cjs/input/textarea.css +19 -2
  46. package/lib/cjs/input/textarea.scss +35 -0
  47. package/lib/cjs/inputNumber/foundation.d.ts +15 -0
  48. package/lib/cjs/inputNumber/foundation.js +113 -3
  49. package/lib/cjs/jsonViewer/jsonViewer.css +2 -2
  50. package/lib/cjs/jsonViewer/jsonViewer.scss +2 -2
  51. package/lib/cjs/list/list.css +1 -1
  52. package/lib/cjs/modal/modal.css +1 -1
  53. package/lib/cjs/navigation/navigation.css +4 -3
  54. package/lib/cjs/navigation/navigation.scss +1 -0
  55. package/lib/cjs/navigation/variables.scss +1 -1
  56. package/lib/cjs/notification/notification.css +4 -4
  57. package/lib/cjs/overflowList/foundation.d.ts +1 -0
  58. package/lib/cjs/overflowList/foundation.js +51 -1
  59. package/lib/cjs/pagination/pagination.css +5 -5
  60. package/lib/cjs/popconfirm/popconfirm.css +1 -1
  61. package/lib/cjs/popover/popover.css +1 -1
  62. package/lib/cjs/radio/radio.css +2 -2
  63. package/lib/cjs/scrollList/itemFoundation.js +12 -0
  64. package/lib/cjs/scrollList/scrollList.css +2 -2
  65. package/lib/cjs/select/foundation.d.ts +1 -1
  66. package/lib/cjs/select/foundation.js +28 -2
  67. package/lib/cjs/select/select.css +6 -6
  68. package/lib/cjs/sideSheet/sideSheet.css +2 -2
  69. package/lib/cjs/sidebar/sidebar.css +11 -11
  70. package/lib/cjs/slider/foundation.js +46 -12
  71. package/lib/cjs/slider/rtl.scss +62 -0
  72. package/lib/cjs/slider/slider.css +45 -0
  73. package/lib/cjs/slider/slider.scss +2 -0
  74. package/lib/cjs/steps/steps.css +11 -11
  75. package/lib/cjs/switch/switch.css +1 -0
  76. package/lib/cjs/switch/switch.scss +1 -0
  77. package/lib/cjs/switch/variables.scss +2 -1
  78. package/lib/cjs/table/foundation.d.ts +36 -0
  79. package/lib/cjs/table/foundation.js +164 -29
  80. package/lib/cjs/table/table.css +10 -2
  81. package/lib/cjs/table/table.scss +17 -0
  82. package/lib/cjs/tabs/tabs.css +2 -2
  83. package/lib/cjs/tag/tag.css +28 -2
  84. package/lib/cjs/tag/tag.scss +33 -0
  85. package/lib/cjs/tagInput/tagInput.css +19 -2
  86. package/lib/cjs/tagInput/tagInput.scss +18 -0
  87. package/lib/cjs/timePicker/constants.d.ts +1 -0
  88. package/lib/cjs/timePicker/foundation.d.ts +7 -1
  89. package/lib/cjs/timePicker/foundation.js +62 -11
  90. package/lib/cjs/timePicker/timePicker.css +1 -1
  91. package/lib/cjs/timeline/timeline.css +2 -2
  92. package/lib/cjs/toast/toast.css +1 -1
  93. package/lib/cjs/tooltip/foundation.js +8 -5
  94. package/lib/cjs/tooltip/tooltip.css +1 -1
  95. package/lib/cjs/transfer/constants.d.ts +3 -1
  96. package/lib/cjs/transfer/constants.js +3 -1
  97. package/lib/cjs/transfer/foundation.d.ts +3 -0
  98. package/lib/cjs/transfer/foundation.js +4 -0
  99. package/lib/cjs/transfer/transfer.css +14 -5
  100. package/lib/cjs/transfer/transfer.scss +10 -0
  101. package/lib/cjs/tree/foundation.d.ts +3 -0
  102. package/lib/cjs/tree/foundation.js +31 -4
  103. package/lib/cjs/tree/tree.css +1 -1
  104. package/lib/cjs/treeSelect/foundation.d.ts +1 -0
  105. package/lib/cjs/treeSelect/foundation.js +8 -1
  106. package/lib/cjs/treeSelect/treeSelect.css +36 -4
  107. package/lib/cjs/treeSelect/treeSelect.scss +49 -1
  108. package/lib/cjs/typography/typography.css +8 -8
  109. package/lib/cjs/upload/upload.css +8 -8
  110. package/lib/cjs/utils/Store.d.ts +1 -1
  111. package/lib/cjs/utils/Store.js +1 -0
  112. package/lib/es/aiChatInput/aiChatInput.css +7 -7
  113. package/lib/es/anchor/anchor.css +3 -3
  114. package/lib/es/autoComplete/autoComplete.css +1 -1
  115. package/lib/es/avatar/avatar.css +5 -5
  116. package/lib/es/badge/badge.css +1 -1
  117. package/lib/es/breadcrumb/breadcrumb.css +2 -2
  118. package/lib/es/calendar/calendar.css +9 -9
  119. package/lib/es/cascader/cascader.css +6 -6
  120. package/lib/es/cascader/foundation.d.ts +12 -0
  121. package/lib/es/cascader/foundation.js +68 -23
  122. package/lib/es/checkbox/checkbox.css +2 -2
  123. package/lib/es/codeHighlight/codeHighlight.css +1 -1
  124. package/lib/es/codeHighlight/codeHighlight.scss +1 -1
  125. package/lib/es/collapse/collapse.css +2 -2
  126. package/lib/es/datePicker/datePicker.css +75 -13
  127. package/lib/es/datePicker/datePicker.scss +100 -5
  128. package/lib/es/datePicker/foundation.d.ts +5 -0
  129. package/lib/es/datePicker/foundation.js +2 -0
  130. package/lib/es/datePicker/inputFoundation.d.ts +5 -0
  131. package/lib/es/descriptions/descriptions.css +6 -6
  132. package/lib/es/dropdown/dropdown.css +2 -2
  133. package/lib/es/form/form.css +4 -4
  134. package/lib/es/form/foundation.d.ts +1 -1
  135. package/lib/es/form/foundation.js +55 -9
  136. package/lib/es/form/utils.js +5 -2
  137. package/lib/es/hotKeys/hotKeys.css +2 -2
  138. package/lib/es/image/image.css +2 -2
  139. package/lib/es/image/previewImageFoundation.d.ts +4 -0
  140. package/lib/es/image/previewImageFoundation.js +33 -2
  141. package/lib/es/image/previewInnerFoundation.d.ts +1 -0
  142. package/lib/es/image/previewInnerFoundation.js +17 -4
  143. package/lib/es/input/input.css +8 -8
  144. package/lib/es/input/textarea.css +19 -2
  145. package/lib/es/input/textarea.scss +35 -0
  146. package/lib/es/inputNumber/foundation.d.ts +15 -0
  147. package/lib/es/inputNumber/foundation.js +113 -3
  148. package/lib/es/jsonViewer/jsonViewer.css +2 -2
  149. package/lib/es/jsonViewer/jsonViewer.scss +2 -2
  150. package/lib/es/list/list.css +1 -1
  151. package/lib/es/modal/modal.css +1 -1
  152. package/lib/es/navigation/navigation.css +4 -3
  153. package/lib/es/navigation/navigation.scss +1 -0
  154. package/lib/es/navigation/variables.scss +1 -1
  155. package/lib/es/notification/notification.css +4 -4
  156. package/lib/es/overflowList/foundation.d.ts +1 -0
  157. package/lib/es/overflowList/foundation.js +51 -1
  158. package/lib/es/pagination/pagination.css +5 -5
  159. package/lib/es/popconfirm/popconfirm.css +1 -1
  160. package/lib/es/popover/popover.css +1 -1
  161. package/lib/es/radio/radio.css +2 -2
  162. package/lib/es/scrollList/itemFoundation.js +12 -0
  163. package/lib/es/scrollList/scrollList.css +2 -2
  164. package/lib/es/select/foundation.d.ts +1 -1
  165. package/lib/es/select/foundation.js +28 -2
  166. package/lib/es/select/select.css +6 -6
  167. package/lib/es/sideSheet/sideSheet.css +2 -2
  168. package/lib/es/sidebar/sidebar.css +11 -11
  169. package/lib/es/slider/foundation.js +46 -12
  170. package/lib/es/slider/rtl.scss +62 -0
  171. package/lib/es/slider/slider.css +45 -0
  172. package/lib/es/slider/slider.scss +2 -0
  173. package/lib/es/steps/steps.css +11 -11
  174. package/lib/es/switch/switch.css +1 -0
  175. package/lib/es/switch/switch.scss +1 -0
  176. package/lib/es/switch/variables.scss +2 -1
  177. package/lib/es/table/foundation.d.ts +36 -0
  178. package/lib/es/table/foundation.js +164 -29
  179. package/lib/es/table/table.css +10 -2
  180. package/lib/es/table/table.scss +17 -0
  181. package/lib/es/tabs/tabs.css +2 -2
  182. package/lib/es/tag/tag.css +28 -2
  183. package/lib/es/tag/tag.scss +33 -0
  184. package/lib/es/tagInput/tagInput.css +19 -2
  185. package/lib/es/tagInput/tagInput.scss +18 -0
  186. package/lib/es/timePicker/constants.d.ts +1 -0
  187. package/lib/es/timePicker/foundation.d.ts +7 -1
  188. package/lib/es/timePicker/foundation.js +62 -11
  189. package/lib/es/timePicker/timePicker.css +1 -1
  190. package/lib/es/timeline/timeline.css +2 -2
  191. package/lib/es/toast/toast.css +1 -1
  192. package/lib/es/tooltip/foundation.js +8 -5
  193. package/lib/es/tooltip/tooltip.css +1 -1
  194. package/lib/es/transfer/constants.d.ts +3 -1
  195. package/lib/es/transfer/constants.js +3 -1
  196. package/lib/es/transfer/foundation.d.ts +3 -0
  197. package/lib/es/transfer/foundation.js +4 -0
  198. package/lib/es/transfer/transfer.css +14 -5
  199. package/lib/es/transfer/transfer.scss +10 -0
  200. package/lib/es/tree/foundation.d.ts +3 -0
  201. package/lib/es/tree/foundation.js +31 -4
  202. package/lib/es/tree/tree.css +1 -1
  203. package/lib/es/treeSelect/foundation.d.ts +1 -0
  204. package/lib/es/treeSelect/foundation.js +8 -1
  205. package/lib/es/treeSelect/treeSelect.css +36 -4
  206. package/lib/es/treeSelect/treeSelect.scss +49 -1
  207. package/lib/es/typography/typography.css +8 -8
  208. package/lib/es/upload/upload.css +8 -8
  209. package/lib/es/utils/Store.d.ts +1 -1
  210. package/lib/es/utils/Store.js +1 -0
  211. package/navigation/navigation.scss +1 -0
  212. package/navigation/variables.scss +1 -1
  213. package/overflowList/foundation.ts +48 -2
  214. package/package.json +19 -4
  215. package/scrollList/itemFoundation.ts +12 -0
  216. package/select/foundation.ts +27 -2
  217. package/slider/foundation.ts +55 -15
  218. package/slider/rtl.scss +62 -0
  219. package/slider/slider.scss +2 -0
  220. package/switch/switch.scss +1 -0
  221. package/switch/variables.scss +2 -1
  222. package/table/foundation.ts +199 -30
  223. package/table/table.scss +17 -0
  224. package/tag/tag.scss +33 -0
  225. package/tagInput/tagInput.scss +18 -0
  226. package/timePicker/constants.ts +2 -0
  227. package/timePicker/foundation.ts +62 -10
  228. package/tooltip/foundation.ts +8 -5
  229. package/transfer/constants.ts +3 -1
  230. package/transfer/foundation.ts +8 -1
  231. package/transfer/transfer.scss +10 -0
  232. package/tree/foundation.ts +34 -5
  233. package/treeSelect/foundation.ts +10 -1
  234. package/treeSelect/treeSelect.scss +49 -1
  235. package/utils/Store.ts +2 -1
@@ -34,7 +34,7 @@
34
34
  box-shadow: var(--semi-shadow-elevated);
35
35
  font-size: 14px;
36
36
  line-height: 20px;
37
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
37
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
38
38
  background-color: var(--semi-color-bg-3);
39
39
  border-radius: var(--semi-border-radius-medium);
40
40
  padding: 12px 8px 12px 8px;
@@ -326,7 +326,7 @@ export default class Tooltip extends BaseFoundation {
326
326
  switch (types) {
327
327
  case 'focus':
328
328
  triggerEventSet[eventNames.focus] = () => {
329
- this.delayShow();
329
+ this.getProp('condition') !== false && this.delayShow();
330
330
  };
331
331
  triggerEventSet[eventNames.blur] = () => {
332
332
  this.delayHide();
@@ -336,7 +336,7 @@ export default class Tooltip extends BaseFoundation {
336
336
  case 'click':
337
337
  triggerEventSet[eventNames.click] = () => {
338
338
  // this.delayShow();
339
- this.show();
339
+ this.getProp('condition') !== false && this.show();
340
340
  };
341
341
  portalEventSet = {};
342
342
  // Click outside needs special treatment, can not be directly tied to the trigger Element, need to be bound to the document
@@ -345,7 +345,7 @@ export default class Tooltip extends BaseFoundation {
345
345
  triggerEventSet[eventNames.mouseEnter] = () => {
346
346
  // console.log(e);
347
347
  this.setCache('isClickToHide', false);
348
- this.delayShow();
348
+ this.getProp('condition') !== false && this.delayShow();
349
349
  // this.show('trigger');
350
350
  };
351
351
  triggerEventSet[eventNames.mouseLeave] = () => {
@@ -358,7 +358,7 @@ export default class Tooltip extends BaseFoundation {
358
358
  const {
359
359
  disableFocusListener
360
360
  } = this.getProps();
361
- !disableFocusListener && this.delayShow();
361
+ this.getProp('condition') !== false && !disableFocusListener && this.delayShow();
362
362
  };
363
363
  triggerEventSet[eventNames.blur] = () => {
364
364
  const {
@@ -376,7 +376,7 @@ export default class Tooltip extends BaseFoundation {
376
376
  if (this.getCache('isClickToHide')) {
377
377
  return;
378
378
  }
379
- this.delayShow();
379
+ this.getProp('condition') !== false && this.delayShow();
380
380
  };
381
381
  }
382
382
  break;
@@ -386,6 +386,9 @@ export default class Tooltip extends BaseFoundation {
386
386
  break;
387
387
  case 'contextMenu':
388
388
  triggerEventSet[eventNames.contextMenu] = e => {
389
+ if (this.getProp('condition') === false) {
390
+ return;
391
+ }
389
392
  e.preventDefault();
390
393
  this.show();
391
394
  };
@@ -54,7 +54,7 @@
54
54
  overflow-wrap: break-word;
55
55
  font-size: 14px;
56
56
  line-height: 20px;
57
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
57
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
58
58
  opacity: 0;
59
59
  max-width: 240px;
60
60
  }
@@ -6,5 +6,7 @@ declare const strings: {
6
6
  TYPE_LIST: string;
7
7
  TYPE_TREE_TO_LIST: string;
8
8
  };
9
- declare const numbers: {};
9
+ declare const numbers: {
10
+ DEFAULT_PAGE_SIZE: number;
11
+ };
10
12
  export { cssClasses, strings, numbers };
@@ -7,5 +7,7 @@ const strings = {
7
7
  TYPE_LIST: 'list',
8
8
  TYPE_TREE_TO_LIST: 'treeList'
9
9
  };
10
- const numbers = {};
10
+ const numbers = {
11
+ DEFAULT_PAGE_SIZE: 10
12
+ };
11
13
  export { cssClasses, strings, numbers };
@@ -31,6 +31,8 @@ export interface TransferAdapter<P = Record<string, any>, S = Record<string, any
31
31
  updateInput: (input: string) => void;
32
32
  updateSearchResult: (searchResult: Set<number | string>) => void;
33
33
  searchTree: (keyword: string) => void;
34
+ updateCurrentPage: (currentPage: number) => void;
35
+ notifyPageChange: (currentPage: number) => void;
34
36
  }
35
37
  export default class TransferFoundation<P = Record<string, any>, S = Record<string, any>> extends BaseFoundation<TransferAdapter<P, S>> {
36
38
  constructor(adapter: TransferAdapter<P, S>);
@@ -59,4 +61,5 @@ export default class TransferFoundation<P = Record<string, any>, S = Record<stri
59
61
  };
60
62
  _notifyChange(selectedItems: DataItemMap): void;
61
63
  handleSortEnd(callbackProps: OnSortEndProps): void;
64
+ handlePageChange(currentPage: number): void;
62
65
  }
@@ -227,4 +227,8 @@ export default class TransferFoundation extends BaseFoundation {
227
227
  this._adapter.updateSelected(newSelectedItems);
228
228
  this._notifyChange(newSelectedItems);
229
229
  }
230
+ handlePageChange(currentPage) {
231
+ this._adapter.updateCurrentPage(currentPage);
232
+ this._adapter.notifyPageChange(currentPage);
233
+ }
230
234
  }
@@ -35,7 +35,7 @@
35
35
  .semi-transfer-header {
36
36
  font-size: 12px;
37
37
  line-height: 16px;
38
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
38
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
39
39
  display: flex;
40
40
  align-items: center;
41
41
  height: 24px;
@@ -53,7 +53,7 @@
53
53
  .semi-transfer-header .semi-button {
54
54
  font-size: 12px;
55
55
  line-height: 16px;
56
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
56
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
57
57
  }
58
58
  .semi-transfer-item {
59
59
  min-height: 36px;
@@ -65,7 +65,7 @@
65
65
  user-select: none;
66
66
  font-size: 14px;
67
67
  line-height: 20px;
68
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
68
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
69
69
  display: flex;
70
70
  align-items: center;
71
71
  justify-content: space-between;
@@ -102,6 +102,15 @@
102
102
  overflow: auto;
103
103
  flex-grow: 1;
104
104
  }
105
+ .semi-transfer-left-pagination {
106
+ padding-top: 12px;
107
+ padding-bottom: 12px;
108
+ padding-left: 12px;
109
+ padding-right: 12px;
110
+ flex-shrink: 0;
111
+ display: flex;
112
+ justify-content: center;
113
+ }
105
114
  .semi-transfer-left-empty {
106
115
  height: 36px;
107
116
  }
@@ -163,7 +172,7 @@
163
172
  align-items: center;
164
173
  font-size: 12px;
165
174
  line-height: 16px;
166
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
175
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
167
176
  color: var(--semi-color-text-2);
168
177
  }
169
178
  .semi-transfer-filter {
@@ -177,7 +186,7 @@
177
186
  padding-left: 12px;
178
187
  font-size: 12px;
179
188
  line-height: 16px;
180
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
189
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
181
190
  height: 28px;
182
191
  display: flex;
183
192
  align-items: center;
@@ -118,6 +118,16 @@ $module: #{$prefix}-transfer;
118
118
  flex-grow: 1;
119
119
  }
120
120
 
121
+ &-pagination {
122
+ padding-top: $spacing-base-tight;
123
+ padding-bottom: $spacing-base-tight;
124
+ padding-left: $spacing-base-tight;
125
+ padding-right: $spacing-base-tight;
126
+ flex-shrink: 0;
127
+ display: flex;
128
+ justify-content: center;
129
+ }
130
+
121
131
  &-empty {
122
132
  height: $height-transfer_left_empty;
123
133
  }
@@ -2,6 +2,7 @@
2
2
  * The drag and drop handler implementation is referenced from rc-tree
3
3
  * https://github.com/react-component/tree
4
4
  */
5
+ import { throttle } from 'lodash';
5
6
  import BaseFoundation, { DefaultAdapter } from '../base/foundation';
6
7
  import type { KeyMapProps } from './treeUtil';
7
8
  export type { KeyMapProps };
@@ -241,7 +242,9 @@ export interface TreeAdapter extends DefaultAdapter<BasicTreeProps, BasicTreeInn
241
242
  }
242
243
  export default class TreeFoundation extends BaseFoundation<TreeAdapter, BasicTreeProps, BasicTreeInnerData> {
243
244
  delayedDragEnterLogic: any;
245
+ throttledDragOverUpdate: ReturnType<typeof throttle>;
244
246
  constructor(adapter: TreeAdapter);
247
+ destroy(): void;
245
248
  _isMultiple(): any;
246
249
  _isAnimated(): any;
247
250
  _isDisabled(treeNode?: BasicTreeNodeProps): any;
@@ -1,3 +1,4 @@
1
+ import _throttle from "lodash/throttle";
1
2
  import _get from "lodash/get";
2
3
  import _pick from "lodash/pick";
3
4
  import _difference from "lodash/difference";
@@ -18,6 +19,27 @@ export default class TreeFoundation extends BaseFoundation {
18
19
  dragging: false
19
20
  });
20
21
  };
22
+ // Throttle drag over state updates to improve performance during fast dragging
23
+ // 16ms ≈ 60fps, ensuring smooth updates without excessive re-renders
24
+ this.throttledDragOverUpdate = _throttle(dropPosition => {
25
+ this._adapter.updateState({
26
+ dropPosition
27
+ });
28
+ }, 16);
29
+ }
30
+ destroy() {
31
+ super.destroy();
32
+ // Cancel any pending throttled updates
33
+ if (this.throttledDragOverUpdate) {
34
+ this.throttledDragOverUpdate.cancel();
35
+ }
36
+ // Clear pending delayed drag enter timers to avoid updates after unmount
37
+ if (this.delayedDragEnterLogic) {
38
+ Object.keys(this.delayedDragEnterLogic).forEach(key => {
39
+ clearTimeout(this.delayedDragEnterLogic[key]);
40
+ });
41
+ this.delayedDragEnterLogic = null;
42
+ }
21
43
  }
22
44
  _isMultiple() {
23
45
  return this.getProp('multiple');
@@ -587,30 +609,35 @@ export default class TreeFoundation extends BaseFoundation {
587
609
  if (dragNodesKeys.has(eventKey)) {
588
610
  return;
589
611
  }
590
- // Update the drag position
612
+ // Update the drag position with throttle to improve performance
591
613
  if (dragNode && eventKey === dragOverNodeKey) {
592
614
  const newPos = calcDropRelativePosition(e, treeNode);
593
615
  if (dropPosition === newPos) {
594
616
  return;
595
617
  }
596
- this._adapter.updateState({
597
- dropPosition: newPos
598
- });
618
+ // Use throttled update to reduce re-renders during fast dragging
619
+ this.throttledDragOverUpdate(newPos);
599
620
  }
600
621
  this.triggerDragEvent('onDragOver', e, treeNode);
601
622
  }
602
623
  handleNodeDragLeave(e, treeNode) {
624
+ // Cancel pending throttled updates when leaving a node
625
+ this.throttledDragOverUpdate.cancel();
603
626
  this._adapter.updateState({
604
627
  dragOverNodeKey: ''
605
628
  });
606
629
  this.triggerDragEvent('onDragLeave', e, treeNode);
607
630
  }
608
631
  handleNodeDragEnd(e, treeNode) {
632
+ // Flush any pending throttled updates before clearing drag state
633
+ this.throttledDragOverUpdate.flush();
609
634
  this.clearDragState();
610
635
  this.triggerDragEvent('onDragEnd', e, treeNode);
611
636
  this._adapter.setDragNode(null);
612
637
  }
613
638
  handleNodeDrop(e, treeNode, dragNode) {
639
+ // Flush any pending throttled updates to ensure accurate drop position
640
+ this.throttledDragOverUpdate.flush();
614
641
  const {
615
642
  dropPosition,
616
643
  dragNodesKeys
@@ -50,7 +50,7 @@
50
50
  transform: scale(var(--semi-transform_scale-none));
51
51
  font-size: 14px;
52
52
  line-height: 20px;
53
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
53
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
54
54
  word-break: break-word;
55
55
  color: var(--semi-color-text-0);
56
56
  position: relative;
@@ -49,6 +49,7 @@ export interface BasicTreeSelectProps extends Pick<BasicTreeProps, 'virtualize'
49
49
  outerTopSlot?: any;
50
50
  placeholder?: string;
51
51
  prefix?: any;
52
+ remote?: boolean;
52
53
  searchAutoFocus?: boolean;
53
54
  searchPlaceholder?: string;
54
55
  showSearchClear?: boolean;
@@ -481,8 +481,15 @@ export default class TreeSelectFoundation extends BaseFoundation {
481
481
  showFilteredOnly,
482
482
  filterTreeNode,
483
483
  treeNodeFilterProp,
484
- keyMaps
484
+ keyMaps,
485
+ remote
485
486
  } = this.getProps();
487
+ // When remote is true, skip local filtering, only update inputValue and trigger onSearch callback
488
+ if (remote) {
489
+ this._adapter.notifySearch(sugInput, [], []);
490
+ this._adapter.rePositionDropdown();
491
+ return;
492
+ }
486
493
  const realFilterProp = treeNodeFilterProp !== 'label' ? treeNodeFilterProp : _get(keyMaps, 'label', 'label');
487
494
  const newExpandedKeys = new Set(expandedKeys);
488
495
  let filteredNodes = [];
@@ -14,6 +14,10 @@
14
14
  align-items: center;
15
15
  position: relative;
16
16
  cursor: pointer;
17
+ /**
18
+ * Enable wrapping selected tags in trigger.
19
+ * Only takes effect in multiple + searchPosition="trigger" mode (class added by component).
20
+ */
17
21
  }
18
22
  .semi-tree-select:hover {
19
23
  background-color: var(--semi-color-fill-1);
@@ -92,7 +96,7 @@
92
96
  .semi-tree-select-selection {
93
97
  font-size: 14px;
94
98
  line-height: 20px;
95
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
99
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
96
100
  height: 100%;
97
101
  display: inline-flex;
98
102
  align-items: center;
@@ -200,6 +204,34 @@
200
204
  .semi-tree-select-multiple .semi-tree-select-selection-placeholder {
201
205
  padding-left: 8px;
202
206
  }
207
+ .semi-tree-select-triggerTagWrap {
208
+ max-width: 100%;
209
+ }
210
+ .semi-tree-select-triggerTagWrap .semi-tree-select-selection {
211
+ min-width: 0;
212
+ }
213
+ .semi-tree-select-triggerTagWrap.semi-tree-select-multiple {
214
+ height: auto;
215
+ }
216
+ .semi-tree-select-triggerTagWrap.semi-tree-select-multiple .semi-tree-select-selection {
217
+ height: auto;
218
+ min-height: 30px;
219
+ overflow: visible;
220
+ }
221
+ .semi-tree-select-triggerTagWrap.semi-tree-select-multiple.semi-tree-select-small .semi-tree-select-selection {
222
+ min-height: 22px;
223
+ }
224
+ .semi-tree-select-triggerTagWrap.semi-tree-select-multiple.semi-tree-select-large .semi-tree-select-selection {
225
+ min-height: 38px;
226
+ }
227
+ .semi-tree-select-triggerTagWrap .semi-tagInput {
228
+ min-width: 0;
229
+ max-width: 100%;
230
+ flex: 1 1 auto;
231
+ }
232
+ .semi-tree-select-triggerTagWrap .semi-tagInput .semi-tagInput-wrapper-input {
233
+ max-width: 100%;
234
+ }
203
235
  .semi-tree-select-small {
204
236
  min-height: 24px;
205
237
  line-height: 24px;
@@ -211,7 +243,7 @@
211
243
  .semi-tree-select-large .semi-tree-select-selection {
212
244
  font-size: 16px;
213
245
  line-height: 22px;
214
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
246
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
215
247
  }
216
248
  .semi-tree-select-arrow {
217
249
  display: inline-flex;
@@ -228,7 +260,7 @@
228
260
  font-weight: 600;
229
261
  font-size: 14px;
230
262
  line-height: 20px;
231
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
263
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
232
264
  color: var(--semi-color-text-2);
233
265
  flex-shrink: 0;
234
266
  white-space: nowrap;
@@ -263,7 +295,7 @@
263
295
  font-weight: 600;
264
296
  font-size: 14px;
265
297
  line-height: 20px;
266
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
298
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
267
299
  margin: 0px 12px;
268
300
  }
269
301
  .semi-tree-select-prefix-icon, .semi-tree-select-suffix-icon {
@@ -258,7 +258,6 @@ $module: #{$prefix}-tree-select;
258
258
 
259
259
  &-multiple {
260
260
  display: inline-flex;
261
-
262
261
  .#{$module}-selection {
263
262
  padding-left: $spacing-treeSelect_selection_multiple-paddingLeft;
264
263
  padding-right: 0;
@@ -269,6 +268,55 @@ $module: #{$prefix}-tree-select;
269
268
  }
270
269
  }
271
270
 
271
+ /**
272
+ * Enable wrapping selected tags in trigger.
273
+ * Only takes effect in multiple + searchPosition="trigger" mode (class added by component).
274
+ */
275
+ &-triggerTagWrap {
276
+ // Prevent trigger from expanding beyond its container
277
+ max-width: 100%;
278
+
279
+ .#{$module}-selection {
280
+ // Allow selection area to shrink so inner TagInput can wrap
281
+ min-width: 0;
282
+ }
283
+
284
+ &.#{$module}-multiple {
285
+ // multiple tags may wrap to multiple lines
286
+ height: auto;
287
+
288
+ .#{$module}-selection {
289
+ // allow height to grow when wrapping
290
+ height: auto;
291
+ min-height: $height-treeSelect_default - 2 * $width-treeSelect-border;
292
+ overflow: visible;
293
+ }
294
+
295
+ &.#{$module}-small {
296
+ .#{$module}-selection {
297
+ min-height: $height-treeSelect_small - 2 * $width-treeSelect-border;
298
+ }
299
+ }
300
+
301
+ &.#{$module}-large {
302
+ .#{$module}-selection {
303
+ min-height: $height-treeSelect_large - 2 * $width-treeSelect-border;
304
+ }
305
+ }
306
+ }
307
+
308
+ // Make TagInput shrinkable as a flex item, and constrain measured input width
309
+ .#{$prefix}-tagInput {
310
+ min-width: 0;
311
+ max-width: 100%;
312
+ flex: 1 1 auto;
313
+
314
+ .#{$prefix}-tagInput-wrapper-input {
315
+ max-width: 100%;
316
+ }
317
+ }
318
+ }
319
+
272
320
  &-small {
273
321
  min-height: $height-treeSelect_small;
274
322
  line-height: $font-treeSelect_small-lineHeight;
@@ -5,7 +5,7 @@
5
5
  color: var(--semi-color-text-0);
6
6
  font-size: 14px;
7
7
  line-height: 20px;
8
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
8
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
9
9
  }
10
10
  .semi-typography.semi-typography-secondary {
11
11
  color: var(--semi-color-text-1);
@@ -45,7 +45,7 @@
45
45
  .semi-typography-small {
46
46
  font-size: 12px;
47
47
  line-height: 16px;
48
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
48
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
49
49
  font-weight: 400;
50
50
  }
51
51
  .semi-typography-small.semi-typography-paragraph {
@@ -146,7 +146,7 @@ h1.semi-typography,
146
146
  .semi-typography-h1.semi-typography {
147
147
  font-size: 32px;
148
148
  line-height: 44px;
149
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
149
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
150
150
  font-weight: 600;
151
151
  margin: 0;
152
152
  }
@@ -175,7 +175,7 @@ h2.semi-typography,
175
175
  .semi-typography-h2.semi-typography {
176
176
  font-size: 28px;
177
177
  line-height: 40px;
178
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
178
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
179
179
  font-weight: 600;
180
180
  margin: 0;
181
181
  }
@@ -204,7 +204,7 @@ h3.semi-typography,
204
204
  .semi-typography-h3.semi-typography {
205
205
  font-size: 24px;
206
206
  line-height: 32px;
207
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
207
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
208
208
  font-weight: 600;
209
209
  margin: 0;
210
210
  }
@@ -233,7 +233,7 @@ h4.semi-typography,
233
233
  .semi-typography-h4.semi-typography {
234
234
  font-size: 20px;
235
235
  line-height: 28px;
236
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
236
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
237
237
  font-weight: 600;
238
238
  margin: 0;
239
239
  }
@@ -262,7 +262,7 @@ h5.semi-typography,
262
262
  .semi-typography-h5.semi-typography {
263
263
  font-size: 18px;
264
264
  line-height: 24px;
265
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
265
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
266
266
  font-weight: 600;
267
267
  margin: 0;
268
268
  }
@@ -291,7 +291,7 @@ h6.semi-typography,
291
291
  .semi-typography-h6.semi-typography {
292
292
  font-size: 16px;
293
293
  line-height: 22px;
294
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
294
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
295
295
  font-weight: 600;
296
296
  margin: 0;
297
297
  }
@@ -88,7 +88,7 @@
88
88
  .semi-upload-file-list-title {
89
89
  font-size: 12px;
90
90
  line-height: 16px;
91
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
91
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
92
92
  color: var(--semi-color-text-2);
93
93
  margin-bottom: 4px;
94
94
  }
@@ -164,14 +164,14 @@
164
164
  display: inline-block;
165
165
  font-size: 14px;
166
166
  line-height: 20px;
167
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
167
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
168
168
  font-weight: 600;
169
169
  color: var(--semi-color-text-0);
170
170
  }
171
171
  .semi-upload-file-card-info-size {
172
172
  font-size: 12px;
173
173
  line-height: 16px;
174
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
174
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
175
175
  font-weight: 400;
176
176
  margin-left: 8px;
177
177
  color: var(--semi-color-text-2);
@@ -185,7 +185,7 @@
185
185
  .semi-upload-file-card-info-validate-message {
186
186
  font-size: 12px;
187
187
  line-height: 16px;
188
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
188
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
189
189
  display: flex;
190
190
  align-items: center;
191
191
  color: var(--semi-color-text-0);
@@ -193,7 +193,7 @@
193
193
  .semi-upload-file-card-info-retry {
194
194
  font-size: 12px;
195
195
  line-height: 16px;
196
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
196
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
197
197
  color: var(--semi-color-primary);
198
198
  cursor: pointer;
199
199
  margin-left: 8px;
@@ -468,7 +468,7 @@
468
468
  cursor: pointer;
469
469
  font-size: 14px;
470
470
  line-height: 20px;
471
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
471
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
472
472
  margin-bottom: 4px;
473
473
  color: var(--semi-color-text-0);
474
474
  }
@@ -482,7 +482,7 @@
482
482
  cursor: pointer;
483
483
  font-size: 12px;
484
484
  line-height: 16px;
485
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
485
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
486
486
  color: var(--semi-color-text-0);
487
487
  }
488
488
  .semi-upload-drag-area-sub-text:hover {
@@ -494,7 +494,7 @@
494
494
  .semi-upload-drag-area-tips {
495
495
  font-size: 12px;
496
496
  line-height: 16px;
497
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
497
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
498
498
  font-weight: 600;
499
499
  }
500
500
  .semi-upload-drag-area-tips-legal {
@@ -2,7 +2,7 @@ declare class Store<T = Record<string, any>> {
2
2
  _state: T;
3
3
  _listeners: any[];
4
4
  constructor(initialState: T);
5
- subscribe(listener: (state: T) => () => void): () => void;
5
+ subscribe(listener: (state: T) => void | (() => void)): () => void;
6
6
  setState(state: T): void;
7
7
  getState(): T;
8
8
  }
@@ -4,6 +4,7 @@ class Store {
4
4
  this._state = Object.assign({}, initialState);
5
5
  this._listeners = [];
6
6
  }
7
+ // Listener return value is ignored, but keep type compatible with older signature
7
8
  subscribe(listener) {
8
9
  this._listeners.push(listener);
9
10
  const unsubscribe = () => {
@@ -569,6 +569,7 @@ $module: #{$prefix}-navigation;
569
569
  & > .#{$prefix}-button {
570
570
  padding-left: $spacing-navigation_footer_collapse_btn_inner-paddingX;
571
571
  padding-right: $spacing-navigation_footer_collapse_btn_inner-paddingX;
572
+ color: $color-navigation_footer_icon-default;
572
573
  }
573
574
  }
574
575
 
@@ -65,7 +65,7 @@ $spacing-navigation_sub_item_left_toggle_marginRight:$spacing-tight; // 顶部
65
65
  $color-navigation-bg-default: var(--semi-color-nav-bg); // 导航栏背景色
66
66
  $color-navigation_border-default: var(--semi-color-border); // 导航栏分割线色
67
67
  $color-navigation_header-text-default: var(--semi-color-text-0); // 导航栏 header 文字颜色
68
- $color-navigation_footer_icon-default: var(--semi-color-text-2); // 导航栏 footer 图标颜色
68
+ $color-navigation_footer_icon-default: var(--semi-color-text-1); // 导航栏 footer 图标颜色
69
69
  $color-navigation_itemL1-bg-default: transparent; // 导航栏一级菜单项背景色
70
70
  $color-navigation_itemL1-text-default: var(--semi-color-text-0); // 导航栏一级菜单项文字颜色
71
71
  $color-navigation_itemL1_icon-default: var(--semi-color-text-2); // 导航栏一级菜单项图标颜色