bkui-vue 1.0.3-beta.60.scrollbar.5 → 1.0.3-beta.61

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 (73) hide show
  1. package/dist/index.cjs.js +50 -52
  2. package/dist/index.esm.js +13977 -14662
  3. package/dist/index.umd.js +50 -52
  4. package/dist/style.css +1 -1
  5. package/dist/style.variable.css +1 -1
  6. package/lib/components.d.ts +1 -0
  7. package/lib/components.js +2 -1
  8. package/lib/date-picker/index.js +1 -1
  9. package/lib/dialog/dialog.css +7 -9
  10. package/lib/dialog/dialog.variable.css +7 -9
  11. package/lib/info-box/index.js +1 -0
  12. package/lib/modal/hooks.d.ts +1 -1
  13. package/lib/modal/index.d.ts +3 -0
  14. package/lib/modal/index.js +21 -22
  15. package/lib/modal/modal.css +7 -9
  16. package/lib/modal/modal.d.ts +1 -0
  17. package/lib/modal/modal.less +11 -18
  18. package/lib/modal/modal.variable.css +7 -9
  19. package/lib/search-select/index.d.ts +327 -12
  20. package/lib/search-select/index.js +620 -340
  21. package/lib/search-select/input.d.ts +6 -1
  22. package/lib/search-select/search-select.css +20 -6
  23. package/lib/search-select/search-select.d.ts +109 -4
  24. package/lib/search-select/search-select.less +16 -12
  25. package/lib/search-select/search-select.variable.css +20 -6
  26. package/lib/search-select/selected.d.ts +107 -5
  27. package/lib/search-select/utils.d.ts +13 -1
  28. package/lib/select/index.d.ts +56 -0
  29. package/lib/select/index.js +8 -3
  30. package/lib/select/select.css +19 -5
  31. package/lib/select/select.d.ts +22 -0
  32. package/lib/select/select.less +26 -6
  33. package/lib/select/select.variable.css +19 -5
  34. package/lib/select/selectTagInput.d.ts +7 -0
  35. package/lib/sideslider/sideslider.css +0 -5
  36. package/lib/sideslider/sideslider.less +8 -14
  37. package/lib/sideslider/sideslider.variable.css +0 -5
  38. package/lib/table/const.d.ts +1 -1
  39. package/lib/table/index.js +18 -18
  40. package/lib/table/plugins/use-fixed-column.d.ts +1 -1
  41. package/lib/table/table.css +42 -96
  42. package/lib/table/table.less +56 -41
  43. package/lib/table/table.variable.css +42 -96
  44. package/lib/table/use-render.d.ts +1 -1
  45. package/lib/table-column/index.js +1 -1
  46. package/lib/timeline/index.js +1 -0
  47. package/lib/tree/tree.css +2 -75
  48. package/lib/tree/tree.variable.css +2 -75
  49. package/lib/upload/index.d.ts +12 -0
  50. package/lib/upload/index.js +21 -30
  51. package/lib/upload/props.d.ts +3 -0
  52. package/lib/upload/upload-trigger.d.ts +6 -0
  53. package/lib/upload/upload.d.ts +6 -0
  54. package/lib/virtual-render/index.d.ts +0 -4
  55. package/lib/virtual-render/index.js +232 -2346
  56. package/lib/virtual-render/props.d.ts +0 -7
  57. package/lib/virtual-render/use-fix-top.d.ts +7 -2
  58. package/lib/virtual-render/v-virtual-render.d.ts +1 -2
  59. package/lib/virtual-render/virtual-render.css +2 -75
  60. package/lib/virtual-render/virtual-render.d.ts +0 -2
  61. package/lib/virtual-render/virtual-render.less +2 -2
  62. package/lib/virtual-render/virtual-render.variable.css +2 -75
  63. package/package.json +1 -2
  64. package/lib/virtual-render/bk-scrollbar.css +0 -74
  65. package/lib/virtual-render/bk-scrollbar.d.ts +0 -10
  66. package/lib/virtual-render/bk-scrollbar.less +0 -93
  67. package/lib/virtual-render/bk-scrollbar.variable.css +0 -203
  68. package/lib/virtual-render/scrollbar-core/can-use-dom.d.ts +0 -2
  69. package/lib/virtual-render/scrollbar-core/helpers.d.ts +0 -5
  70. package/lib/virtual-render/scrollbar-core/index.d.ts +0 -213
  71. package/lib/virtual-render/scrollbar-core/mouse-wheel.d.ts +0 -5
  72. package/lib/virtual-render/scrollbar-core/scrollbar-width.d.ts +0 -1
  73. package/lib/virtual-render/use-scrollbar.d.ts +0 -23
@@ -144,84 +144,11 @@
144
144
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
145
145
  border-radius: 4px;
146
146
  }
147
- .bk-scrollbar-wrapper {
148
- position: relative;
149
- overflow: hidden;
150
- }
151
- .bk-scrollbar-wrapper .bk-scroll-content-el {
152
- display: inline-flex;
153
- flex-direction: column;
154
- }
155
- .bk-scrollbar-wrapper .bk-scrollbar-track {
156
- z-index: 1;
157
- position: absolute;
158
- right: 0;
159
- bottom: 0;
160
- pointer-events: none;
161
- overflow: hidden;
162
- }
163
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
164
- background-color: #F0F1F5;
165
- cursor: pointer;
166
- }
167
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
168
- background-color: #979BA5;
169
- }
170
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
171
- top: 0;
172
- width: 11px;
173
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
174
- }
175
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
176
- left: 0;
177
- height: 11px;
178
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
179
- }
180
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
181
- right: auto;
182
- left: 0;
183
- top: 0;
184
- bottom: 0;
185
- min-height: 0;
186
- min-width: 10px;
187
- width: auto;
188
- }
189
- .bk-scrollbar-wrapper .bk-scrollbar-dragging {
190
- pointer-events: none;
191
- -webkit-touch-callout: none;
192
- -webkit-user-select: none;
193
- -khtml-user-select: none;
194
- -moz-user-select: none;
195
- -ms-user-select: none;
196
- user-select: none;
197
- }
198
- .bk-scrollbar-wrapper .bk-scrollbar {
199
- position: absolute;
200
- left: 0;
201
- right: 0;
202
- min-height: 10px;
203
- }
204
- .bk-scrollbar-wrapper .bk-scrollbar::before {
205
- position: absolute;
206
- content: '';
207
- background: #DcDEE5;
208
- border-radius: 7px;
209
- left: 2px;
210
- right: 2px;
211
- top: 2px;
212
- bottom: 2px;
213
- opacity: 0;
214
- transition: opacity 0.2s 0.5s linear;
215
- }
216
- .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
217
- opacity: 0.5;
218
- transition-delay: 0s;
219
- transition-duration: 0s;
220
- }
221
147
  .bk-virtual-render {
222
148
  position: relative;
223
149
  }
224
- .bk-virtual-render .bk-virtual-content {
150
+ .bk-virtual-render .bk-virtual-content,
151
+ .bk-virtual-render.bk-virtual-content {
225
152
  position: absolute;
226
153
  top: 0;
227
154
  bottom: 0;
@@ -1199,9 +1126,9 @@
1199
1126
  }
1200
1127
  .bk-table {
1201
1128
  position: relative;
1202
- width: 100%;
1203
1129
  height: auto;
1204
1130
  overflow: hidden;
1131
+ width: 100%;
1205
1132
  }
1206
1133
  .bk-table-flex {
1207
1134
  display: flex;
@@ -1217,9 +1144,19 @@
1217
1144
  }
1218
1145
  .bk-table .bk-table-body {
1219
1146
  position: relative;
1220
- overflow: hidden;
1147
+ overflow: auto;
1148
+ scrollbar-gutter: stable;
1221
1149
  border-bottom: 1px solid #dcdee5;
1222
1150
  }
1151
+ .bk-table .bk-table-body::-webkit-scrollbar {
1152
+ width: 5px;
1153
+ height: 6px;
1154
+ }
1155
+ .bk-table .bk-table-body::-webkit-scrollbar-thumb {
1156
+ background: #dcdee5;
1157
+ border-radius: 10px;
1158
+ box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);
1159
+ }
1223
1160
  .bk-table .bk-table-body .prepend-row {
1224
1161
  transform: translateX(var(--prepend-left));
1225
1162
  }
@@ -1246,6 +1183,17 @@
1246
1183
  background: white;
1247
1184
  transform: translateZ(0);
1248
1185
  }
1186
+ .bk-table .bk-table-head::-webkit-scrollbar,
1187
+ .bk-table .bk-table-body::-webkit-scrollbar {
1188
+ width: 5px;
1189
+ height: 5px;
1190
+ }
1191
+ .bk-table .bk-table-head::-webkit-scrollbar-thumb,
1192
+ .bk-table .bk-table-body::-webkit-scrollbar-thumb {
1193
+ background: #ddd;
1194
+ border-radius: 20px;
1195
+ box-shadow: inset 0 0 6px rgba(204, 204, 204, 0.3);
1196
+ }
1249
1197
  .bk-table .bk-table-head.__is-empty,
1250
1198
  .bk-table .bk-table-body.__is-empty {
1251
1199
  display: flex;
@@ -1298,8 +1246,8 @@
1298
1246
  .bk-table .bk-table-body table th .cell .drag-cell,
1299
1247
  .bk-table .bk-table-head table td .cell .drag-cell,
1300
1248
  .bk-table .bk-table-body table td .cell .drag-cell {
1301
- height: 100%;
1302
1249
  font-size: 14px;
1250
+ height: 100%;
1303
1251
  }
1304
1252
  .bk-table .bk-table-head table th .cell.has-sort,
1305
1253
  .bk-table .bk-table-body table th .cell.has-sort,
@@ -1424,7 +1372,7 @@
1424
1372
  .bk-table .bk-table-body table thead th .cell {
1425
1373
  display: flex;
1426
1374
  align-items: center;
1427
- height: calc(var(--row-height) - 2px);
1375
+ height: calc(var(--row-height) - 1px);
1428
1376
  color: #313238;
1429
1377
  }
1430
1378
  .bk-table .bk-table-head table thead th.active,
@@ -1441,27 +1389,28 @@
1441
1389
  .bk-table .bk-table-head table tbody tr td,
1442
1390
  .bk-table .bk-table-body table tbody tr td {
1443
1391
  background-color: #fff;
1444
- border-top: 1px solid transparent;
1445
- border-bottom: 1px solid transparent;
1446
- border-right: 1px solid transparent;
1447
- box-sizing: border-box;
1448
1392
  }
1449
1393
  .bk-table .bk-table-head table tbody tr td.empty-cell,
1450
1394
  .bk-table .bk-table-body table tbody tr td.empty-cell {
1451
1395
  padding-bottom: 30px;
1452
1396
  }
1397
+ .bk-table .bk-table-head table tbody tr td.is-last,
1398
+ .bk-table .bk-table-body table tbody tr td.is-last {
1399
+ border-bottom: none;
1400
+ }
1453
1401
  .bk-table .bk-table-head table tbody tr td .cell,
1454
1402
  .bk-table .bk-table-body table tbody tr td .cell {
1455
1403
  display: block;
1456
1404
  width: 100%;
1457
- line-height: calc(var(--row-height) - 2px);
1405
+ height: 100%;
1406
+ line-height: calc(var(--row-height) - 1px);
1458
1407
  box-sizing: border-box;
1459
1408
  align-items: center;
1460
1409
  }
1461
1410
  .bk-table .bk-table-head table tbody tr td .cell.drag,
1462
1411
  .bk-table .bk-table-body table tbody tr td .cell.drag {
1463
- text-align: center;
1464
1412
  cursor: move;
1413
+ text-align: center;
1465
1414
  }
1466
1415
  .bk-table .bk-table-head table tbody tr:hover.hover-highlight td:not(.empty-cell),
1467
1416
  .bk-table .bk-table-body table tbody tr:hover.hover-highlight td:not(.empty-cell) {
@@ -1474,6 +1423,7 @@
1474
1423
  .bk-table .bk-table-head {
1475
1424
  position: relative;
1476
1425
  z-index: 2;
1426
+ scrollbar-gutter: stable;
1477
1427
  overflow: hidden;
1478
1428
  background-color: var(--background-color);
1479
1429
  }
@@ -1523,10 +1473,10 @@
1523
1473
  .bk-table.bordered-row .bk-table-head {
1524
1474
  border-bottom: 1px solid #dcdee5;
1525
1475
  }
1526
- .bk-table.bordered-row .bk-table-body tbody tr td {
1527
- border-bottom-color: #dcdee5;
1476
+ .bk-table.bordered-row td {
1477
+ border-bottom: 1px solid #dcdee5;
1528
1478
  }
1529
- .bk-table.bordered-row .bk-table-body tbody tr:last-child td {
1479
+ .bk-table.bordered-row tr:last-child td {
1530
1480
  border-bottom: none;
1531
1481
  }
1532
1482
  .bk-table.bordered-outer {
@@ -1547,18 +1497,14 @@
1547
1497
  .bk-table.bordered-horizontal .__is-empty .bk-table-body-content {
1548
1498
  border-bottom: 1px solid #dcdee5;
1549
1499
  }
1550
- .bk-table.bordered-col th {
1500
+ .bk-table.bordered-col th,
1501
+ .bk-table.bordered-col td {
1551
1502
  border-right: 1px solid #dcdee5;
1552
1503
  }
1553
- .bk-table.bordered-col th:last-child {
1504
+ .bk-table.bordered-col th:last-child,
1505
+ .bk-table.bordered-col td:last-child {
1554
1506
  border-right: none;
1555
1507
  }
1556
- .bk-table.bordered-col .bk-table-body tbody tr td {
1557
- border-right-color: #dcdee5;
1558
- }
1559
- .bk-table.bordered-col .bk-table-body tbody tr td:last-child {
1560
- border-right-color: transparent;
1561
- }
1562
1508
  .bk-table th,
1563
1509
  .bk-table td {
1564
1510
  border-right: 1px solid transparent;
@@ -1,7 +1,7 @@
1
1
  import { SetupContext } from 'vue';
2
2
  import { TablePropTypes } from './props';
3
3
  import { ITableResponse } from './use-attributes';
4
- declare const _default: (props: TablePropTypes, context: SetupContext<any>, tableResp: ITableResponse, head: any, root: any, resetTableHeight: any) => {
4
+ declare const _default: (props: TablePropTypes, context: SetupContext<any>, tableResp: ITableResponse, styleRef: any, head: any, root: any, resetTableHeight: any) => {
5
5
  renderTableHeadSchema: () => (string | JSX.Element)[];
6
6
  renderTableBodySchema: (rows: any[]) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
7
7
  [key: string]: any;
@@ -256,7 +256,7 @@ var COLUMN_ATTRIBUTE = {
256
256
  /**
257
257
  * Y 轴滚动条宽度
258
258
  */
259
- var SCROLLY_WIDTH = 0;
259
+ var SCROLLY_WIDTH = 6;
260
260
  /**
261
261
  * 默认行高
262
262
  */
@@ -1,4 +1,5 @@
1
1
  import "../styles/reset.css";
2
+ import "./timeline.less";
2
3
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
3
4
  import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
4
5
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__ from "../config-provider";
package/lib/tree/tree.css CHANGED
@@ -15,84 +15,11 @@
15
15
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
16
16
  border-radius: 4px;
17
17
  }
18
- .bk-scrollbar-wrapper {
19
- position: relative;
20
- overflow: hidden;
21
- }
22
- .bk-scrollbar-wrapper .bk-scroll-content-el {
23
- display: inline-flex;
24
- flex-direction: column;
25
- }
26
- .bk-scrollbar-wrapper .bk-scrollbar-track {
27
- z-index: 1;
28
- position: absolute;
29
- right: 0;
30
- bottom: 0;
31
- pointer-events: none;
32
- overflow: hidden;
33
- }
34
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
35
- background-color: #F0F1F5;
36
- cursor: pointer;
37
- }
38
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
39
- background-color: #979BA5;
40
- }
41
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
42
- top: 0;
43
- width: 11px;
44
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
45
- }
46
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
47
- left: 0;
48
- height: 11px;
49
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
50
- }
51
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
52
- right: auto;
53
- left: 0;
54
- top: 0;
55
- bottom: 0;
56
- min-height: 0;
57
- min-width: 10px;
58
- width: auto;
59
- }
60
- .bk-scrollbar-wrapper .bk-scrollbar-dragging {
61
- pointer-events: none;
62
- -webkit-touch-callout: none;
63
- -webkit-user-select: none;
64
- -khtml-user-select: none;
65
- -moz-user-select: none;
66
- -ms-user-select: none;
67
- user-select: none;
68
- }
69
- .bk-scrollbar-wrapper .bk-scrollbar {
70
- position: absolute;
71
- left: 0;
72
- right: 0;
73
- min-height: 10px;
74
- }
75
- .bk-scrollbar-wrapper .bk-scrollbar::before {
76
- position: absolute;
77
- content: '';
78
- background: #DcDEE5;
79
- border-radius: 7px;
80
- left: 2px;
81
- right: 2px;
82
- top: 2px;
83
- bottom: 2px;
84
- opacity: 0;
85
- transition: opacity 0.2s 0.5s linear;
86
- }
87
- .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
88
- opacity: 0.5;
89
- transition-delay: 0s;
90
- transition-duration: 0s;
91
- }
92
18
  .bk-virtual-render {
93
19
  position: relative;
94
20
  }
95
- .bk-virtual-render .bk-virtual-content {
21
+ .bk-virtual-render .bk-virtual-content,
22
+ .bk-virtual-render.bk-virtual-content {
96
23
  position: absolute;
97
24
  top: 0;
98
25
  bottom: 0;
@@ -144,84 +144,11 @@
144
144
  .bk-F-scroll-y::-webkit-scrollbar-thumb {
145
145
  border-radius: 4px;
146
146
  }
147
- .bk-scrollbar-wrapper {
148
- position: relative;
149
- overflow: hidden;
150
- }
151
- .bk-scrollbar-wrapper .bk-scroll-content-el {
152
- display: inline-flex;
153
- flex-direction: column;
154
- }
155
- .bk-scrollbar-wrapper .bk-scrollbar-track {
156
- z-index: 1;
157
- position: absolute;
158
- right: 0;
159
- bottom: 0;
160
- pointer-events: none;
161
- overflow: hidden;
162
- }
163
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover {
164
- background-color: #F0F1F5;
165
- cursor: pointer;
166
- }
167
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-hover .bk-scrollbar::before {
168
- background-color: #979BA5;
169
- }
170
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-vertical {
171
- top: 0;
172
- width: 11px;
173
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
174
- }
175
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal {
176
- left: 0;
177
- height: 11px;
178
- transform: translate(var(--scroll-offset-x), var(--scroll-offset-y));
179
- }
180
- .bk-scrollbar-wrapper .bk-scrollbar-track.bk-scrollbar-horizontal.bk-scrollbar {
181
- right: auto;
182
- left: 0;
183
- top: 0;
184
- bottom: 0;
185
- min-height: 0;
186
- min-width: 10px;
187
- width: auto;
188
- }
189
- .bk-scrollbar-wrapper .bk-scrollbar-dragging {
190
- pointer-events: none;
191
- -webkit-touch-callout: none;
192
- -webkit-user-select: none;
193
- -khtml-user-select: none;
194
- -moz-user-select: none;
195
- -ms-user-select: none;
196
- user-select: none;
197
- }
198
- .bk-scrollbar-wrapper .bk-scrollbar {
199
- position: absolute;
200
- left: 0;
201
- right: 0;
202
- min-height: 10px;
203
- }
204
- .bk-scrollbar-wrapper .bk-scrollbar::before {
205
- position: absolute;
206
- content: '';
207
- background: #DcDEE5;
208
- border-radius: 7px;
209
- left: 2px;
210
- right: 2px;
211
- top: 2px;
212
- bottom: 2px;
213
- opacity: 0;
214
- transition: opacity 0.2s 0.5s linear;
215
- }
216
- .bk-scrollbar-wrapper .bk-scrollbar.bk-scrollbar-visible::before {
217
- opacity: 0.5;
218
- transition-delay: 0s;
219
- transition-duration: 0s;
220
- }
221
147
  .bk-virtual-render {
222
148
  position: relative;
223
149
  }
224
- .bk-virtual-render .bk-virtual-content {
150
+ .bk-virtual-render .bk-virtual-content,
151
+ .bk-virtual-render.bk-virtual-content {
225
152
  position: absolute;
226
153
  top: 0;
227
154
  bottom: 0;
@@ -84,6 +84,9 @@ declare const Upload: {
84
84
  default: string;
85
85
  };
86
86
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
87
+ selectChange: {
88
+ type: import("vue").PropType<(event: Event) => boolean | void>;
89
+ };
87
90
  beforeUpload: {
88
91
  type: import("vue").PropType<(file: import("./upload.type").UploadRawFile) => boolean | Promise<boolean>>;
89
92
  };
@@ -198,6 +201,9 @@ declare const Upload: {
198
201
  default: string;
199
202
  };
200
203
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
204
+ selectChange: {
205
+ type: import("vue").PropType<(event: Event) => boolean | void>;
206
+ };
201
207
  beforeUpload: {
202
208
  type: import("vue").PropType<(file: import("./upload.type").UploadRawFile) => boolean | Promise<boolean>>;
203
209
  };
@@ -341,6 +347,9 @@ declare const Upload: {
341
347
  default: string;
342
348
  };
343
349
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
350
+ selectChange: {
351
+ type: import("vue").PropType<(event: Event) => boolean | void>;
352
+ };
344
353
  beforeUpload: {
345
354
  type: import("vue").PropType<(file: import("./upload.type").UploadRawFile) => boolean | Promise<boolean>>;
346
355
  };
@@ -481,6 +490,9 @@ declare const Upload: {
481
490
  default: string;
482
491
  };
483
492
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
493
+ selectChange: {
494
+ type: import("vue").PropType<(event: Event) => boolean | void>;
495
+ };
484
496
  beforeUpload: {
485
497
  type: import("vue").PropType<(file: import("./upload.type").UploadRawFile) => boolean | Promise<boolean>>;
486
498
  };
@@ -1431,6 +1431,9 @@ var themes = [EThemes.BUTTON, EThemes.DRAGGABLE, EThemes.PICTURE];
1431
1431
  "default": ''
1432
1432
  },
1433
1433
  customRequest: Function,
1434
+ selectChange: {
1435
+ type: Function
1436
+ },
1434
1437
  beforeUpload: {
1435
1438
  type: Function
1436
1439
  },
@@ -1796,7 +1799,8 @@ const button_less_namespaceObject = button_less_x({ });
1796
1799
  accept: props.accept,
1797
1800
  file: {
1798
1801
  type: Object
1799
- }
1802
+ },
1803
+ selectChange: props.selectChange
1800
1804
  },
1801
1805
  emits: ['change', 'remove'],
1802
1806
  setup: function setup(props, _ref) {
@@ -1835,6 +1839,10 @@ const button_less_namespaceObject = button_less_x({ });
1835
1839
  inputEl.value.click();
1836
1840
  };
1837
1841
  var handleFileChange = function handleFileChange(e) {
1842
+ var _props$selectChange;
1843
+ if (props.selectChange && ((_props$selectChange = props.selectChange) === null || _props$selectChange === void 0 ? void 0 : _props$selectChange.call(props, e)) === false) {
1844
+ return false;
1845
+ }
1838
1846
  var files = e.target.files;
1839
1847
  emit('change', Array.from(files));
1840
1848
  };
@@ -1861,39 +1869,17 @@ const button_less_namespaceObject = button_less_x({ });
1861
1869
  var dragover = (0,external_vue_namespaceObject.ref)(false);
1862
1870
  var Dragger = function Dragger() {
1863
1871
  var handleDrop = function handleDrop(e) {
1872
+ var _props$selectChange2;
1864
1873
  if (disabled.value) {
1865
1874
  return;
1866
1875
  }
1867
1876
  e.preventDefault();
1868
1877
  dragover.value = false;
1869
- var files = Array.from(e.dataTransfer.files);
1870
- if (!acceptTypes.value) {
1871
- emit('change', files);
1872
- return;
1878
+ if (props.selectChange && ((_props$selectChange2 = props.selectChange) === null || _props$selectChange2 === void 0 ? void 0 : _props$selectChange2.call(props, e)) === false) {
1879
+ return false;
1873
1880
  }
1874
- var filesFiltered = files.filter(function (file) {
1875
- var type = file.type,
1876
- name = file.name;
1877
- var extension = name.includes('.') ? ".".concat(name.split('.').pop()) : '';
1878
- var baseType = type.replace(/\/.*$/, '');
1879
- return acceptTypes.value.split(',').map(function (type) {
1880
- return type.trim();
1881
- }).filter(function (type) {
1882
- return type;
1883
- }).some(function (acceptedType) {
1884
- if (acceptedType.startsWith('.')) {
1885
- return extension === acceptedType;
1886
- }
1887
- if (/\/\*$/.test(acceptedType)) {
1888
- return baseType === acceptedType.replace(/\/\*$/, '');
1889
- }
1890
- if (/^[^/]+\/[^/]+$/.test(acceptedType)) {
1891
- return type === acceptedType;
1892
- }
1893
- return false;
1894
- });
1895
- });
1896
- emit('change', filesFiltered);
1881
+ var files = Array.from(e.dataTransfer.files);
1882
+ emit('change', files);
1897
1883
  };
1898
1884
  var handleDragover = function handleDragover(e) {
1899
1885
  e.preventDefault();
@@ -2639,7 +2625,8 @@ function upload_arrayLikeToArray(arr, len) { if (len == null || len > arr.length
2639
2625
  theme: props.theme,
2640
2626
  multiple: props.multiple,
2641
2627
  disabled: props.disabled,
2642
- accept: props.accept
2628
+ accept: props.accept,
2629
+ selectChange: props.selectChange
2643
2630
  };
2644
2631
  });
2645
2632
  function onRemove(file, fileList) {
@@ -2660,10 +2647,14 @@ function upload_arrayLikeToArray(arr, len) { if (len == null || len > arr.length
2660
2647
  return;
2661
2648
  }
2662
2649
  // limit检查
2663
- if (props.limit && fileList.value.length + files.length > props.limit) {
2650
+ if (props.limit > 1 && fileList.value.length + files.length > props.limit) {
2664
2651
  emit('exceed', files, fileList.value);
2665
2652
  return;
2666
2653
  }
2654
+ // 限制1个时使用替换方式,将之前的列表清空
2655
+ if (!props.multiple && props.limit === 1) {
2656
+ fileList.value = [];
2657
+ }
2667
2658
  var sendFiles = files;
2668
2659
  if (!props.multiple || props.limit === 1) {
2669
2660
  sendFiles = files.slice(0, 1);
@@ -85,6 +85,9 @@ declare const _default: {
85
85
  default: string;
86
86
  };
87
87
  customRequest: PropType<UploadRequestHandler>;
88
+ selectChange: {
89
+ type: PropType<(event: Event) => boolean | void>;
90
+ };
88
91
  beforeUpload: {
89
92
  type: PropType<(file: UploadRawFile) => Promise<boolean> | boolean>;
90
93
  };
@@ -20,6 +20,9 @@ declare const _default: import("vue").DefineComponent<{
20
20
  file: {
21
21
  type: PropType<UploadFile>;
22
22
  };
23
+ selectChange: {
24
+ type: PropType<(event: Event) => boolean | void>;
25
+ };
23
26
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "remove")[], "change" | "remove", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
27
  theme: {
25
28
  type: PropType<"button" | "picture" | "draggable">;
@@ -40,6 +43,9 @@ declare const _default: import("vue").DefineComponent<{
40
43
  file: {
41
44
  type: PropType<UploadFile>;
42
45
  };
46
+ selectChange: {
47
+ type: PropType<(event: Event) => boolean | void>;
48
+ };
43
49
  }>> & {
44
50
  onChange?: (...args: any[]) => any;
45
51
  onRemove?: (...args: any[]) => any;
@@ -84,6 +84,9 @@ declare const _default: import("vue").DefineComponent<{
84
84
  default: string;
85
85
  };
86
86
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
87
+ selectChange: {
88
+ type: import("vue").PropType<(event: Event) => boolean | void>;
89
+ };
87
90
  beforeUpload: {
88
91
  type: import("vue").PropType<(file: UploadRawFile) => boolean | Promise<boolean>>;
89
92
  };
@@ -191,6 +194,9 @@ declare const _default: import("vue").DefineComponent<{
191
194
  default: string;
192
195
  };
193
196
  customRequest: import("vue").PropType<import("./upload.type").UploadRequestHandler>;
197
+ selectChange: {
198
+ type: import("vue").PropType<(event: Event) => boolean | void>;
199
+ };
194
200
  beforeUpload: {
195
201
  type: import("vue").PropType<(file: UploadRawFile) => boolean | Promise<boolean>>;
196
202
  };
@@ -124,7 +124,6 @@ declare const BkVirtualRender: {
124
124
  } & {
125
125
  default: boolean;
126
126
  };
127
- scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
128
127
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
129
128
  default: boolean;
130
129
  } & {
@@ -262,7 +261,6 @@ declare const BkVirtualRender: {
262
261
  } & {
263
262
  default: boolean;
264
263
  };
265
- scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
266
264
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
267
265
  default: boolean;
268
266
  } & {
@@ -442,7 +440,6 @@ declare const BkVirtualRender: {
442
440
  } & {
443
441
  default: boolean;
444
442
  };
445
- scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
446
443
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
447
444
  default: boolean;
448
445
  } & {
@@ -616,7 +613,6 @@ declare const BkVirtualRender: {
616
613
  } & {
617
614
  default: boolean;
618
615
  };
619
- scrollbar: import("vue-types").VueTypeDef<import("./props").IScrollbarOption>;
620
616
  autoReset: import("vue-types").VueTypeValidableDef<boolean> & {
621
617
  default: boolean;
622
618
  } & {