bkui-vue 0.0.1-beta.18 → 0.0.1-beta.20

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 (85) hide show
  1. package/dist/bkui-vue.cjs.js +1811 -722
  2. package/dist/bkui-vue.esm.js +1809 -720
  3. package/dist/bkui-vue.umd.js +1811 -722
  4. package/dist/style.css +249 -0
  5. package/lib/badge/badge.d.ts +1 -1
  6. package/lib/badge/index.d.ts +4 -4
  7. package/lib/breadcrumb/breadcrumb-item.d.ts +1 -1
  8. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  9. package/lib/breadcrumb/index.d.ts +5 -5
  10. package/lib/button/button.d.ts +1 -1
  11. package/lib/button/index.d.ts +4 -4
  12. package/lib/components.d.ts +1 -0
  13. package/lib/date-picker/date-picker.d.ts +2 -2
  14. package/lib/date-picker/index.d.ts +7 -7
  15. package/lib/date-picker/index.js +1 -1
  16. package/lib/dialog/dialog.d.ts +12 -3
  17. package/lib/dialog/index.d.ts +27 -8
  18. package/lib/dialog/index.js +1 -1
  19. package/lib/directives/index.js +1 -1
  20. package/lib/divider/divider.d.ts +1 -1
  21. package/lib/divider/index.d.ts +4 -4
  22. package/lib/exception/exception.d.ts +1 -1
  23. package/lib/exception/index.d.ts +4 -4
  24. package/lib/form/form-item.d.ts +2 -2
  25. package/lib/form/index.d.ts +2 -2
  26. package/lib/icon/arrows-right.d.ts +4 -0
  27. package/lib/icon/arrows-right.js +15 -0
  28. package/lib/icon/bk.d.ts +4 -0
  29. package/lib/icon/bk.js +15 -0
  30. package/lib/icon/index.d.ts +4 -0
  31. package/lib/icon/index.js +1 -1
  32. package/lib/icon/qq.d.ts +4 -0
  33. package/lib/icon/qq.js +15 -0
  34. package/lib/icon/weixin.d.ts +4 -0
  35. package/lib/icon/weixin.js +15 -0
  36. package/lib/input/index.d.ts +4 -4
  37. package/lib/input/input.d.ts +1 -1
  38. package/lib/modal/index.d.ts +24 -1
  39. package/lib/modal/index.js +1 -1
  40. package/lib/modal/modal.d.ts +9 -0
  41. package/lib/modal/props.mixin.d.ts +4 -0
  42. package/lib/pagination/index.d.ts +4 -4
  43. package/lib/pagination/pagination.d.ts +1 -1
  44. package/lib/popover/index.d.ts +7 -7
  45. package/lib/popover/popover.d.ts +2 -2
  46. package/lib/progress/index.d.ts +10 -10
  47. package/lib/progress/progress.d.ts +3 -3
  48. package/lib/shared/bk-mask-manager.d.ts +32 -3
  49. package/lib/shared/bk-pop-manager.d.ts +8 -1
  50. package/lib/shared/index.js +1 -1
  51. package/lib/shared/vue-types.d.ts +2 -6
  52. package/lib/sideslider/index.d.ts +23 -4
  53. package/lib/sideslider/sideslider.d.ts +10 -1
  54. package/lib/steps/index.d.ts +4 -4
  55. package/lib/steps/steps.d.ts +1 -1
  56. package/lib/styles/index.d.ts +1 -0
  57. package/lib/styles/index.js +1 -1
  58. package/lib/tab/index.d.ts +4 -4
  59. package/lib/tab/tab.d.ts +1 -1
  60. package/lib/table/index.d.ts +45 -4
  61. package/lib/table/index.js +1 -1
  62. package/lib/table/props.d.ts +13 -0
  63. package/lib/table/render.d.ts +9 -0
  64. package/lib/table/table.d.ts +22 -3
  65. package/lib/table/utils.d.ts +14 -0
  66. package/lib/tag/index.d.ts +189 -22
  67. package/lib/tag/index.js +1 -1
  68. package/lib/tag/tag.css +91 -0
  69. package/lib/tag/tag.d.ts +83 -7
  70. package/lib/tag/tag.less +103 -2
  71. package/lib/tag/tag.variable.css +91 -0
  72. package/lib/transfer/index.d.ts +27 -0
  73. package/lib/transfer/index.js +1 -0
  74. package/lib/transfer/transfer.css +158 -0
  75. package/lib/transfer/transfer.d.ts +185 -0
  76. package/lib/transfer/transfer.less +171 -0
  77. package/lib/transfer/transfer.variable.css +251 -0
  78. package/lib/tree/index.d.ts +33 -7
  79. package/lib/tree/index.js +1 -1
  80. package/lib/tree/props.d.ts +10 -0
  81. package/lib/tree/tree.d.ts +14 -2
  82. package/lib/tree/util.d.ts +11 -2
  83. package/lib/virtual-render/index.d.ts +7 -7
  84. package/lib/virtual-render/virtual-render.d.ts +2 -2
  85. package/package.json +51 -47
@@ -0,0 +1,171 @@
1
+ @import '../styles/themes/themes.less';
2
+
3
+ /* 边框色 */
4
+ @borderInlineColor: #dde4eb;
5
+
6
+ /* 按钮、表单边框颜色、禁用时文本颜色 */
7
+ @newGreyColor: #c4c6cc;
8
+
9
+ /* 表格头部背景色、禁用底色 */
10
+ @newGreyColor2: #f0f1f5;
11
+
12
+ /* 大面积背景色 */
13
+ @newGreyColor3: #fafbfd;
14
+
15
+ /* 重点表示、强调、链接以及带有明确指示性 */
16
+ @newMainColor: #3a84ff;
17
+
18
+ /* 正常尺寸图标 */
19
+ @iconNormalSize: 22px;
20
+
21
+ .@{bk-prefix}-transfer {
22
+ position: relative;
23
+ display: flex;
24
+ font-size: 14px;
25
+ flex-direction: row;
26
+ justify-content: center;
27
+
28
+ .transfer {
29
+ position: absolute;
30
+ top: 50%;
31
+ left: 50%;
32
+ width: 30px;
33
+ height: 30px;
34
+ background: url('@bkui-vue/styles/images/transfer.png') no-repeat center center;
35
+ transform: translate(-50%, -50%);
36
+ }
37
+
38
+ .source-list,
39
+ .target-list {
40
+ height: 400px;
41
+ min-width: 200px;
42
+ overflow: hidden;
43
+ background-color: #fff;
44
+ border: 1px solid @borderInlineColor;
45
+ border-radius: 2px;
46
+ flex: 1;
47
+
48
+ .slot-header {
49
+ position: relative;
50
+ height: 43px;
51
+ padding: 0 20px;
52
+ line-height: 43px;
53
+ background-color: @newGreyColor3;
54
+ border-bottom: 1px solid @borderInlineColor;
55
+
56
+ .slot-content {
57
+ position: relative;
58
+ }
59
+ }
60
+
61
+ .header {
62
+ position: relative;
63
+ height: 43px;
64
+ padding: 0 20px;
65
+ line-height: 43px;
66
+ background-color: @newGreyColor3;
67
+ border-bottom: 1px solid @borderInlineColor;
68
+
69
+ span {
70
+ position: absolute;
71
+ right: 10px;
72
+ font-size: 12px;
73
+ color: @newMainColor;
74
+ cursor: pointer;
75
+
76
+ &.disabled {
77
+ color: @newGreyColor;
78
+ cursor: not-allowed;
79
+ }
80
+ }
81
+ }
82
+
83
+ .empty {
84
+ position: relative;
85
+ top: 40%;
86
+ width: 100%;
87
+ color: @newGreyColor;
88
+ text-align: center;
89
+ cursor: default;
90
+ }
91
+
92
+ .content {
93
+ position: relative;
94
+ max-height: calc(100% - 50px);
95
+ padding: 0;
96
+ margin: 6px 0;
97
+ overflow-y: auto;
98
+
99
+ &.is-search {
100
+ max-height: calc(100% - 86px);
101
+ }
102
+
103
+ li {
104
+ &.custom-item,
105
+ .item-content {
106
+ position: relative;
107
+ display: flex;
108
+ height: 40px;
109
+ padding: 0 20px;
110
+ line-height: 40px;
111
+ list-style: none;
112
+ cursor: pointer;
113
+ align-items: center;
114
+
115
+ &:hover {
116
+ color: @newMainColor;
117
+ background-color: #eef6fe;
118
+ }
119
+
120
+ .content-text {
121
+ overflow: hidden;
122
+ text-overflow: ellipsis;
123
+ white-space: nowrap;
124
+ flex: 1;
125
+ }
126
+
127
+ .icon-wrapper {
128
+ display: none;
129
+ flex: 22px 0 0;
130
+
131
+ &.hover {
132
+ display: inline-block;
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ &::-webkit-scrollbar {
139
+ width: 4px;
140
+ // background-color: color(transparent lightness(80%));
141
+ }
142
+
143
+ &::-webkit-scrollbar-thumb {
144
+ height: 5px;
145
+ background-color: #e6e9ea;
146
+ border-radius: 2px;
147
+ }
148
+
149
+ .bk-icon {
150
+ font-size: @iconNormalSize;
151
+ }
152
+ }
153
+ }
154
+
155
+ .target-list {
156
+ margin-left: 33px;
157
+ }
158
+
159
+ .transfer-search-input {
160
+ height: 36px;
161
+ line-height: 34px;
162
+ border: none;
163
+ border-bottom: 1px solid @newGreyColor2;
164
+ outline: none;
165
+
166
+ &.is-focused {
167
+ border-color: @newGreyColor2;
168
+ box-shadow: 0px 0px 3px 0px transparent;
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,251 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --popover-max-height: 216px;
4
+ --primary-color: #3a84ff;
5
+ --success-color: #2dcb56;
6
+ --warning-color: #ff9c01;
7
+ --danger-color: #ea3636;
8
+ --default-color: #63656e;
9
+ --gray-color: #979ba5;
10
+ --light-gray: #c4c6cc;
11
+ --white-color: white;
12
+ --disable-color: #dcdee5;
13
+ --font-size-base: 12px;
14
+ --font-size-medium: 14px;
15
+ --font-size-large: 16px;
16
+ --line-height-base: 16px;
17
+ --line-height-medium: 16px;
18
+ --line-height-large: 18px;
19
+ --component-size-small: 26px;
20
+ --component-size-base: 32px;
21
+ --component-size-large: 38px;
22
+ --border-width-base: 1px;
23
+ --border-style-base: solid;
24
+ --border-radius-base: 2px;
25
+ --input-disabled-bg: #fafbfd;
26
+ --input-disabled-border: var(--disable-color);
27
+ --input-height-base: var(--component-size-base);
28
+ --input-color: var(--default-color);
29
+ --input-bg: white;
30
+ --input-border-color: var(--light-gray);
31
+ --input-broder-radius: 3px;
32
+ --input-shadow-color: #a3c5fd;
33
+ --input-horizontal-padding: 10px;
34
+ --input-block-color: #f4f6fa;
35
+ --input-icon-size: var(--font-size-large);
36
+ --input-maxlength-color: #979ba5;
37
+ --button-primary-hover-color: #5594fa;
38
+ --button-danger-hover-color: #ff5656;
39
+ --button-success-hover-color: #45e35f;
40
+ --button-warning-hover-color: #ffb848;
41
+ --button-default-hover-border-color: #979ba5;
42
+ --button-primary-active-color: #2c77f4;
43
+ --button-danger-active-color: #db2626;
44
+ --button-success-active-color: #1ab943;
45
+ --button-warning-active-color: #eb9000;
46
+ --fixed-navbar-background: #fff;
47
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
48
+ --switch-default-color: #fff;
49
+ --switch-grey-color: #c4c6cc;
50
+ --breadcrumb-black-color: #979ba5;
51
+ --breadcrumb-primary-hover-color: #0082ff;
52
+ --breadcrumb-fn-main-color: #63656e;
53
+ --link-default-hover-color: #979ba5;
54
+ --link-primary-hover-color: #699df4;
55
+ --link-success-hover-color: #45e35f;
56
+ --link-warning-hover-color: #ffb848;
57
+ --link-danger-hover-color: #ff5656;
58
+ --link-default-disabled-color: #dcdee5;
59
+ --link-primary-disabled-color: #a3c5fd;
60
+ --link-success-disabled-color: #94f5a4;
61
+ --link-warning-disabled-color: #ffd695;
62
+ --link-danger-disabled-color: #fd9c9c;
63
+ --message-color: var(--default-color);
64
+ --message-primary-bg-color: #f0f8ff;
65
+ --message-primary-border-color: #e1ecff;
66
+ --message-warning-bg-color: #fff4e2;
67
+ --message-warning-border-color: #ffe8c3;
68
+ --message-success-bg-color: #f2fff4;
69
+ --message-success-border-color: #dcffe2;
70
+ --message-danger-bg-color: #ffeded;
71
+ --message-danger-border-color: #ffdddd;
72
+ --slider-default-bg: #dcdee5;
73
+ --slider-disable-bar-bg: #979ba5;
74
+ --menu-bg-color: #182132;
75
+ --submenu-bg-color: #151d2c;
76
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
77
+ --menu-color: #96a2b9;
78
+ --menu-group-color: var(--default-color);
79
+ --menu-width: 260px;
80
+ --menu-collapse-width: 60px;
81
+ --menu-active-color: white;
82
+ --nav-header-bg-color: #182132;
83
+ --nav-bg-color: #182132;
84
+ --date-picker-disabled-bg: #fafbfd;
85
+ --date-picker-dropdown-mb: 4px;
86
+ --date-picker-dropdown-bg: #fff;
87
+ --table-bg-color: var(--white-color);
88
+ --table-border-color: #dcdee5;
89
+ --table-head-bg-color: #fafbfd;
90
+ --table-head-font-color: #313238;
91
+ --table-body-font-color: #575961;
92
+ --table-row-hover-bg-color: #f5f7fa;
93
+ }
94
+ /* 边框色 */
95
+ /* 按钮、表单边框颜色、禁用时文本颜色 */
96
+ /* 表格头部背景色、禁用底色 */
97
+ /* 大面积背景色 */
98
+ /* 重点表示、强调、链接以及带有明确指示性 */
99
+ /* 正常尺寸图标 */
100
+ .bk-transfer {
101
+ position: relative;
102
+ display: flex;
103
+ font-size: 14px;
104
+ flex-direction: row;
105
+ justify-content: center;
106
+ }
107
+ .bk-transfer .transfer {
108
+ position: absolute;
109
+ top: 50%;
110
+ left: 50%;
111
+ width: 30px;
112
+ height: 30px;
113
+ background: url('@bkui-vue/styles/images/transfer.png') no-repeat center center;
114
+ transform: translate(-50%, -50%);
115
+ }
116
+ .bk-transfer .source-list,
117
+ .bk-transfer .target-list {
118
+ height: 400px;
119
+ min-width: 200px;
120
+ overflow: hidden;
121
+ background-color: #fff;
122
+ border: 1px solid #dde4eb;
123
+ border-radius: 2px;
124
+ flex: 1;
125
+ }
126
+ .bk-transfer .source-list .slot-header,
127
+ .bk-transfer .target-list .slot-header {
128
+ position: relative;
129
+ height: 43px;
130
+ padding: 0 20px;
131
+ line-height: 43px;
132
+ background-color: #fafbfd;
133
+ border-bottom: 1px solid #dde4eb;
134
+ }
135
+ .bk-transfer .source-list .slot-header .slot-content,
136
+ .bk-transfer .target-list .slot-header .slot-content {
137
+ position: relative;
138
+ }
139
+ .bk-transfer .source-list .header,
140
+ .bk-transfer .target-list .header {
141
+ position: relative;
142
+ height: 43px;
143
+ padding: 0 20px;
144
+ line-height: 43px;
145
+ background-color: #fafbfd;
146
+ border-bottom: 1px solid #dde4eb;
147
+ }
148
+ .bk-transfer .source-list .header span,
149
+ .bk-transfer .target-list .header span {
150
+ position: absolute;
151
+ right: 10px;
152
+ font-size: 12px;
153
+ color: #3a84ff;
154
+ cursor: pointer;
155
+ }
156
+ .bk-transfer .source-list .header span.disabled,
157
+ .bk-transfer .target-list .header span.disabled {
158
+ color: #c4c6cc;
159
+ cursor: not-allowed;
160
+ }
161
+ .bk-transfer .source-list .empty,
162
+ .bk-transfer .target-list .empty {
163
+ position: relative;
164
+ top: 40%;
165
+ width: 100%;
166
+ color: #c4c6cc;
167
+ text-align: center;
168
+ cursor: default;
169
+ }
170
+ .bk-transfer .source-list .content,
171
+ .bk-transfer .target-list .content {
172
+ position: relative;
173
+ max-height: calc(100% - 50px);
174
+ padding: 0;
175
+ margin: 6px 0;
176
+ overflow-y: auto;
177
+ }
178
+ .bk-transfer .source-list .content.is-search,
179
+ .bk-transfer .target-list .content.is-search {
180
+ max-height: calc(100% - 86px);
181
+ }
182
+ .bk-transfer .source-list .content li.custom-item,
183
+ .bk-transfer .target-list .content li.custom-item,
184
+ .bk-transfer .source-list .content li .item-content,
185
+ .bk-transfer .target-list .content li .item-content {
186
+ position: relative;
187
+ display: flex;
188
+ height: 40px;
189
+ padding: 0 20px;
190
+ line-height: 40px;
191
+ list-style: none;
192
+ cursor: pointer;
193
+ align-items: center;
194
+ }
195
+ .bk-transfer .source-list .content li.custom-item:hover,
196
+ .bk-transfer .target-list .content li.custom-item:hover,
197
+ .bk-transfer .source-list .content li .item-content:hover,
198
+ .bk-transfer .target-list .content li .item-content:hover {
199
+ color: #3a84ff;
200
+ background-color: #eef6fe;
201
+ }
202
+ .bk-transfer .source-list .content li.custom-item .content-text,
203
+ .bk-transfer .target-list .content li.custom-item .content-text,
204
+ .bk-transfer .source-list .content li .item-content .content-text,
205
+ .bk-transfer .target-list .content li .item-content .content-text {
206
+ overflow: hidden;
207
+ text-overflow: ellipsis;
208
+ white-space: nowrap;
209
+ flex: 1;
210
+ }
211
+ .bk-transfer .source-list .content li.custom-item .icon-wrapper,
212
+ .bk-transfer .target-list .content li.custom-item .icon-wrapper,
213
+ .bk-transfer .source-list .content li .item-content .icon-wrapper,
214
+ .bk-transfer .target-list .content li .item-content .icon-wrapper {
215
+ display: none;
216
+ flex: 22px 0 0;
217
+ }
218
+ .bk-transfer .source-list .content li.custom-item .icon-wrapper.hover,
219
+ .bk-transfer .target-list .content li.custom-item .icon-wrapper.hover,
220
+ .bk-transfer .source-list .content li .item-content .icon-wrapper.hover,
221
+ .bk-transfer .target-list .content li .item-content .icon-wrapper.hover {
222
+ display: inline-block;
223
+ }
224
+ .bk-transfer .source-list .content::-webkit-scrollbar,
225
+ .bk-transfer .target-list .content::-webkit-scrollbar {
226
+ width: 4px;
227
+ }
228
+ .bk-transfer .source-list .content::-webkit-scrollbar-thumb,
229
+ .bk-transfer .target-list .content::-webkit-scrollbar-thumb {
230
+ height: 5px;
231
+ background-color: #e6e9ea;
232
+ border-radius: 2px;
233
+ }
234
+ .bk-transfer .source-list .content .bk-icon,
235
+ .bk-transfer .target-list .content .bk-icon {
236
+ font-size: 22px;
237
+ }
238
+ .bk-transfer .target-list {
239
+ margin-left: 33px;
240
+ }
241
+ .bk-transfer .transfer-search-input {
242
+ height: 36px;
243
+ line-height: 34px;
244
+ border: none;
245
+ border-bottom: 1px solid #f0f1f5;
246
+ outline: none;
247
+ }
248
+ .bk-transfer .transfer-search-input.is-focused {
249
+ border-color: #f0f1f5;
250
+ box-shadow: 0px 0px 3px 0px transparent;
251
+ }
@@ -4,12 +4,13 @@ declare const BkTree: {
4
4
  $data: {};
5
5
  $props: Partial<{
6
6
  data: any[];
7
+ lineHeight: number;
7
8
  prefixIcon: any;
8
9
  children: string;
9
- lineHeight: number;
10
10
  indent: number;
11
11
  levelLine: any;
12
12
  virtualRender: boolean;
13
+ asyncLoad: (...args: any[]) => any;
13
14
  }> & Omit<Readonly<import("vue").ExtractPropTypes<{
14
15
  data: import("vue-types").VueTypeDef<any[]> & {
15
16
  default: () => any[];
@@ -41,7 +42,12 @@ declare const BkTree: {
41
42
  prefixIcon: import("vue-types").VueTypeDef<any> & {
42
43
  default: any;
43
44
  };
44
- }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "prefixIcon" | "children" | "lineHeight" | "indent" | "levelLine" | "virtualRender">;
45
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
46
+ default: (...args: any[]) => any;
47
+ } & {
48
+ default: (...args: any[]) => any;
49
+ };
50
+ }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "data" | "lineHeight" | "prefixIcon" | "children" | "indent" | "levelLine" | "virtualRender" | "asyncLoad">;
45
51
  $attrs: {
46
52
  [x: string]: unknown;
47
53
  };
@@ -86,11 +92,16 @@ declare const BkTree: {
86
92
  prefixIcon: import("vue-types").VueTypeDef<any> & {
87
93
  default: any;
88
94
  };
95
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
96
+ default: (...args: any[]) => any;
97
+ } & {
98
+ default: (...args: any[]) => any;
99
+ };
89
100
  }>>, {
90
101
  renderData: import("vue").ComputedRef<any[]>;
91
102
  flatData: {
92
103
  data: any[];
93
- schema: {};
104
+ schema: any[] | Map<string, any>;
94
105
  levelLineSchema: {};
95
106
  };
96
107
  hanldeTreeNodeClick: (item: any) => void;
@@ -98,14 +109,16 @@ declare const BkTree: {
98
109
  getRootIcon: (item: any) => JSX.Element;
99
110
  getVirtualLines: (node: any) => JSX.Element[];
100
111
  getNodePrefixIcon: (item: any) => string | JSX.Element;
112
+ getLoadingIcon: (item: any) => "" | JSX.Element;
101
113
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
102
114
  data: any[];
115
+ lineHeight: number;
103
116
  prefixIcon: any;
104
117
  children: string;
105
- lineHeight: number;
106
118
  indent: number;
107
119
  levelLine: any;
108
120
  virtualRender: boolean;
121
+ asyncLoad: (...args: any[]) => any;
109
122
  }> & {
110
123
  beforeCreate?: (() => void) | (() => void)[];
111
124
  created?: (() => void) | (() => void)[];
@@ -157,11 +170,16 @@ declare const BkTree: {
157
170
  prefixIcon: import("vue-types").VueTypeDef<any> & {
158
171
  default: any;
159
172
  };
173
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
174
+ default: (...args: any[]) => any;
175
+ } & {
176
+ default: (...args: any[]) => any;
177
+ };
160
178
  }>> & import("vue").ShallowUnwrapRef<{
161
179
  renderData: import("vue").ComputedRef<any[]>;
162
180
  flatData: {
163
181
  data: any[];
164
- schema: {};
182
+ schema: any[] | Map<string, any>;
165
183
  levelLineSchema: {};
166
184
  };
167
185
  hanldeTreeNodeClick: (item: any) => void;
@@ -169,6 +187,7 @@ declare const BkTree: {
169
187
  getRootIcon: (item: any) => JSX.Element;
170
188
  getVirtualLines: (node: any) => JSX.Element[];
171
189
  getNodePrefixIcon: (item: any) => string | JSX.Element;
190
+ getLoadingIcon: (item: any) => "" | JSX.Element;
172
191
  }> & {} & {} & import("vue").ComponentCustomProperties;
173
192
  __isFragment?: never;
174
193
  __isTeleport?: never;
@@ -204,11 +223,16 @@ declare const BkTree: {
204
223
  prefixIcon: import("vue-types").VueTypeDef<any> & {
205
224
  default: any;
206
225
  };
226
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
227
+ default: (...args: any[]) => any;
228
+ } & {
229
+ default: (...args: any[]) => any;
230
+ };
207
231
  }>>, {
208
232
  renderData: import("vue").ComputedRef<any[]>;
209
233
  flatData: {
210
234
  data: any[];
211
- schema: {};
235
+ schema: any[] | Map<string, any>;
212
236
  levelLineSchema: {};
213
237
  };
214
238
  hanldeTreeNodeClick: (item: any) => void;
@@ -216,13 +240,15 @@ declare const BkTree: {
216
240
  getRootIcon: (item: any) => JSX.Element;
217
241
  getVirtualLines: (node: any) => JSX.Element[];
218
242
  getNodePrefixIcon: (item: any) => string | JSX.Element;
243
+ getLoadingIcon: (item: any) => "" | JSX.Element;
219
244
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
220
245
  data: any[];
246
+ lineHeight: number;
221
247
  prefixIcon: any;
222
248
  children: string;
223
- lineHeight: number;
224
249
  indent: number;
225
250
  levelLine: any;
226
251
  virtualRender: boolean;
252
+ asyncLoad: (...args: any[]) => any;
227
253
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
228
254
  export default BkTree;
package/lib/tree/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("crypto"),require("../icon/"),require("../shared"),require("../virtual-render")):"function"==typeof define&&define.amd?define(["exports","vue","crypto","../icon/","../shared","../virtual-render"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.require$$0,e._,e.Shared,e["@bkui-vue/virtual-render"])}(this,(function(e,t,n,r,o,i){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(n),u=l(i);function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var c={exports:{}};!function(e){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports}(c);var p=s(c.exports),d={exports:{}};!function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(d);var f=s(d.exports),v={exports:{}},h={exports:{}},_={exports:{}};!function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r},e.exports.__esModule=!0,e.exports.default=e.exports}(_),function(e){var t=_.exports;e.exports=function(e){if(Array.isArray(e))return t(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(h);var y={exports:{}};!function(e){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(y);var x={exports:{}};!function(e){var t=_.exports;e.exports=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}(x);var b={exports:{}};!function(e){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports}(b),function(e){var t=h.exports,n=y.exports,r=x.exports,o=b.exports;e.exports=function(e){return t(e)||n(e)||r(e)||o()},e.exports.__esModule=!0,e.exports.default=e.exports}(v);for(var g=s(v.exports),m=a.default,O=function(){return m.randomBytes(16)},j=[],T=0;T<256;++T)j[T]=(T+256).toString(16).substr(1);var N,P,w=function(e,t){var n=t||0,r=j;return[r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],"-",r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]],r[e[n++]]].join("")},S=O,I=w,C=0,L=0;var k=function(e,t,n){var r=t&&n||0,o=t||[],i=(e=e||{}).node||N,l=void 0!==e.clockseq?e.clockseq:P;if(null==i||null==l){var a=S();null==i&&(i=N=[1|a[0],a[1],a[2],a[3],a[4],a[5]]),null==l&&(l=P=16383&(a[6]<<8|a[7]))}var u=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:L+1,c=u-C+(s-L)/1e4;if(c<0&&void 0===e.clockseq&&(l=l+1&16383),(c<0||u>C)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");C=u,L=s,P=l;var p=(1e4*(268435455&(u+=122192928e5))+s)%4294967296;o[r++]=p>>>24&255,o[r++]=p>>>16&255,o[r++]=p>>>8&255,o[r++]=255&p;var d=u/4294967296*1e4&268435455;o[r++]=d>>>8&255,o[r++]=255&d,o[r++]=d>>>24&15|16,o[r++]=d>>>16&255,o[r++]=l>>>8|128,o[r++]=255&l;for(var f=0;f<6;++f)o[r+f]=i[f];return t||I(o)},R=O,A=w;var M=function(e,t,n){var r=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||R)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;++i)t[r+i]=o[i];return t||A(o)},V=k,q=M,D=q;D.v1=V,D.v4=q;var H=D,$=void 0,E="1px dashed #c3cdd7",F=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=e.data,r=e.children,o=[],i=0,l={};function a(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=0;s<e.length;s++){var c=e[s];if(Array.isArray(c))a(c,t,n,u);else{var d=Object.assign({},c);if("object"===f(d)&&null!==d){var v=H.v4(),h=null!==u?"".concat(u,"-").concat(s):"".concat(s),_=p({__depth:t,__index:s,__uuid:v,__parentId:n,__parentPath:u,__hasChild:!!(c[r]||[]).length,__path:h,__isRoot:null===n,__order:i},r,null);Object.assign(d,_),Object.assign(l,p({},h,{__isOpen:!1,__showLines:0,__isRoot:null===n})),i+=1,o.push(d),Object.prototype.hasOwnProperty.call(c,r)&&a(c[r],t+1,v,h)}}}}return a(t||n),[o,l]},B=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],l=e[t];return"boolean"==typeof l?l?r:o:U(n,e,t,i)},U=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=t[n];if("string"==typeof o)return"object"===f(e)&&null!==e?(Object.prototype.hasOwnProperty.call(e,o)||console.error("cannot find node label with key ".concat(o)),e[o]):o;if("function"==typeof o){var i=o.apply($,[e].concat(g(r)));return"string"==typeof i?i:void console.error("props label with function return value is not string, please check and return string")}},W=function(e,t){return U(e,t,"label")},z=function(e,t){return{"--level-line":B(t,"levelLine",e,E,null,["tree"]),"--lineHeight":"".concat(t.lineHeight,"px"),"--indent":"".concat(t.indent,"px"),padding:0}},G=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n[e.__path]||{},o=r.childNodeCount,i=void 0===o?0:o,l=r.isLeaf,a=void 0!==l&&l,u=r.lastNode,s=void 0===u?null:u,c=a?0:(n[s]||{childNodeCount:0}).childNodeCount;return Object.assign({"--depth":e.__depth,paddingLeft:0,"--lines":i-c},"function"==typeof t.levelLine?{"--level-line":B(t,"levelLine",e,E,null,["node"])}:{})},J=function(e,t,n){return{"is-root":e.__isRoot,"bk-tree-node":!0,"is-open":t[e.__path].__isOpen,"is-virtual-render":n.virtualRender}},K={data:o.PropTypes.arrayOf(o.PropTypes.any).def([]),label:o.PropTypes.oneOfType([o.PropTypes.func.def(void 0),o.PropTypes.string.def("label")]),children:o.PropTypes.string.def("children"),indent:o.PropTypes.number.def(18),lineHeight:o.PropTypes.number.def(32),levelLine:o.PropTypes.oneOfType([o.PropTypes.bool.def(!1),o.PropTypes.func.def(void 0),o.PropTypes.string.def("1px dashed #c3cdd7")]).def(!1),virtualRender:o.PropTypes.bool.def(!1),prefixIcon:o.PropTypes.oneOfType([o.PropTypes.func.def((function(){})),o.PropTypes.bool.def(!1)]).def(!0)},Q=t.defineComponent({name:"BkTree",props:K,setup:function(e){var n=F(e),o=t.reactive({data:n[0],schema:n[1],levelLineSchema:{}});t.watch((function(){return[e.data]}),(function(t){var n=F(e,t);o.data=n[0],o.schema=n[1],c()}),{deep:!0}),t.watch((function(){return[e.levelLine]}),(function(){c()}));var i=t.computed((function(){return o.data.filter((function(e){return v(e)}))})),l=t.computed((function(){return i.value.map((function(e){return e.__path}))})),a=function(e){return"object"===f(e)?(o.schema[e.__path]||{}).__isOpen:"string"==typeof e&&(o.schema[e]||{}).__isOpen},u=function(e){return a(e)?t.createVNode(r.FolderShapeOpen,{class:"bk-tree-icon"},null):t.createVNode(r.Folder,{class:"bk-tree-icon"},null)},s=function(e){if("string"==typeof e)return e;if("object"===f(e)&&null!==e){var n=e.node,r=e.className,o=e.text,i=e.style;return t.h(n,{class:r,style:i},o)}return null},c=function(){e.levelLine?setTimeout((function(){for(var e=i.value.length,t={},n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Object.prototype.hasOwnProperty.call(t,e)||Object.assign(t,p({},e,Object.assign(Object.assign({childNodeCount:0,isLastNode:!1},null!==n?{lastNode:n}:{}),null!==r?{isLeaf:r}:{})))};e>0;e--){var r=i.value[e-1],a=d(r),u=!l.value.includes("".concat(r.__path,"-0"));n(r.__path,null,u),n(a,r.__path);var s=t[a],c=t[r.__path],f=c.childNodeCount,v=void 0===f?0:f;c.childNodeCount=v+1,c.isLastNode=s.lastNode===r.__path,s.childNodeCount+=c.childNodeCount}o.levelLineSchema=t})):o.levelLineSchema={}},d=function(e){if(e.__isRoot)return null;var t="-".concat(e.__index).length;return String.prototype.substring.call(e.__path,0,e.__path.length-t)},v=function(e){return e.__isRoot||a(e)||a(d(e))};return c(),{renderData:i,flatData:o,hanldeTreeNodeClick:function(e){if(e.__hasChild){var t=!a(e);Object.assign(e,{__isOpen:t}),i.value.filter((function(t){return String.prototype.startsWith.call(t.__path,e.__path)})).forEach((function(e){return Object.assign(o.schema[e.__path],{__isOpen:t})})),c()}},getActionIcon:function(n){var o=null;return"function"==typeof e.prefixIcon&&"default"!==(o=e.prefixIcon(n.__isRoot,n.__hasChild,a(n),"action",n))?s(o):("default"===o||"boolean"==typeof e.prefixIcon&&e.prefixIcon)&&n.__hasChild?a(n)?t.createVNode(r.DownShape,null,null):t.createVNode(r.RightShape,null,null):null},getRootIcon:u,getVirtualLines:function(n){if(!e.virtualRender)return null;var r=n.__depth+1;return new Array(r).fill("").map((function(e,t){return t})).filter((function(e){return function(e,t){if(t.__isRoot)return!1;var n="".concat(t.__path).split("-").slice(0,e+1);if(n.join("-")===t.__path)return!0;var r=n.pop(),i=parseInt(r,10);n.push("".concat(i+1));var l=n.join("-");return Object.prototype.hasOwnProperty.call(o.schema,l)}(e,n)})).filter((function(e){return e>0})).map((function(e){return t.createVNode("span",{class:"node-virtual-line",style:(n=r-e,{"--depth":n})},null);var n}))},getNodePrefixIcon:function(n){var o=null;return"function"==typeof e.prefixIcon&&"default"!==(o=e.prefixIcon(n.__isRoot,n.__hasChild,a(n),"node_type",n))?s(o):"default"===o||"boolean"==typeof e.prefixIcon&&e.prefixIcon?n.__isRoot?u(n):t.createVNode(r.TextFile,{class:"bk-tree-icon"},null):null}}},render:function(){var e=this,n=this.$props,r=function(r){return t.createVNode("div",{class:J(r,e.flatData.schema,n),style:G(r,n,e.flatData.levelLineSchema),onClick:function(){return e.hanldeTreeNodeClick(r)}},[[e.getActionIcon(r),e.getNodePrefixIcon(r)],t.createVNode("span",null,[W(r,n)]),e.getVirtualLines(r)])};return t.createVNode(u.default,{class:"bk-tree",style:z(null,n),list:this.renderData,lineHeight:n.lineHeight,enabled:n.virtualRender},{default:function(e){return(e.data||[]).map(r)}})}}),X=o.withInstall(Q);e.default=X,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("vue"),require("crypto"),require("../icon/"),require("../shared"),require("../virtual-render")):"function"==typeof define&&define.amd?define(["exports","vue","crypto","../icon/","../shared","../virtual-render"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.require$$0,e._,e.Shared,e["@bkui-vue/virtual-render"])}(this,(function(e,n,t,r,o,i){"use strict";function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(t),a=u(i);function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s={exports:{}};!function(e){function n(t){return e.exports=n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,n(t)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}(s);var d=c(s.exports),f={exports:{}};!function(e){e.exports=function(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e},e.exports.__esModule=!0,e.exports.default=e.exports}(f);var p=c(f.exports),v={exports:{}},y={exports:{}},h={exports:{}};!function(e){e.exports=function(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r},e.exports.__esModule=!0,e.exports.default=e.exports}(h),function(e){var n=h.exports;e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(y);var _={exports:{}};!function(e){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(_);var g={exports:{}};!function(e){var n=h.exports;e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}(g);var x={exports:{}};!function(e){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports}(x),function(e){var n=y.exports,t=_.exports,r=g.exports,o=x.exports;e.exports=function(e){return n(e)||t(e)||r(e)||o()},e.exports.__esModule=!0,e.exports.default=e.exports}(v);for(var b=c(v.exports),m=l.default,O=function(){return m.randomBytes(16)},j=[],N=0;N<256;++N)j[N]=(N+256).toString(16).substr(1);var T,P,I=function(e,n){var t=n||0,r=j;return[r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],"-",r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]],r[e[t++]]].join("")},w=O,L=I,S=0,A=0;var C=function(e,n,t){var r=n&&t||0,o=n||[],i=(e=e||{}).node||T,u=void 0!==e.clockseq?e.clockseq:P;if(null==i||null==u){var l=w();null==i&&(i=T=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==u&&(u=P=16383&(l[6]<<8|l[7]))}var a=void 0!==e.msecs?e.msecs:(new Date).getTime(),c=void 0!==e.nsecs?e.nsecs:A+1,s=a-S+(c-A)/1e4;if(s<0&&void 0===e.clockseq&&(u=u+1&16383),(s<0||a>S)&&void 0===e.nsecs&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");S=a,A=c,P=u;var d=(1e4*(268435455&(a+=122192928e5))+c)%4294967296;o[r++]=d>>>24&255,o[r++]=d>>>16&255,o[r++]=d>>>8&255,o[r++]=255&d;var f=a/4294967296*1e4&268435455;o[r++]=f>>>8&255,o[r++]=255&f,o[r++]=f>>>24&15|16,o[r++]=f>>>16&255,o[r++]=u>>>8|128,o[r++]=255&u;for(var p=0;p<6;++p)o[r+p]=i[p];return n||L(o)},k=O,M=I;var V=function(e,n,t){var r=n&&t||0;"string"==typeof e&&(n="binary"===e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||k)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,n)for(var i=0;i<16;++i)n[r+i]=o[i];return n||M(o)},q=C,R=V,D=R;D.v1=q,D.v4=R;var H=D,$=void 0,F="1px dashed #c3cdd7",E=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=e.data,o=e.children,i=[],u=0,l=new Map;function a(e){return(t||[]).some((function(n){return n.__uuid===e&&n.__isOpen}))}function c(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=0;s<e.length;s++){var f=e[s];if(Array.isArray(f))c(f,n,t,r);else if("object"===d(f)&&null!==f){var v=f.__uuid||H.v4(),y=a(v),h=null!==r?"".concat(r,"-").concat(s):"".concat(s),_=p({__depth:n,__index:s,__uuid:v,__parentId:t,__parentPath:r,__hasChild:!!(f[o]||[]).length,__path:h,__isRoot:null===t,__order:u,__isOpen:y},o,null);Object.assign(f,{__uuid:v}),l.set(v,_),u+=1,i.push(Object.assign(Object.assign({},f),p({},o,null))),Object.prototype.hasOwnProperty.call(f,o)&&c(f[o]||[],n+1,v,h)}}}return c(n||r),[i,l]},B=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],u=e[n];return"boolean"==typeof u?u?r:o:U(t,e,n,i)},U=function(e,n,t){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],o=n[t];if("string"==typeof o)return"object"===d(e)&&null!==e?(Object.prototype.hasOwnProperty.call(e,o)||console.error("cannot find node label with key ".concat(o)),e[o]):o;if("function"==typeof o){var i=o.apply($,[e].concat(b(r)));return"string"==typeof i?i:void console.error("props label with function return value is not string, please check and return string")}},z=function(e,n){return U(e,n,"label")},G=function(e,n){return e.get(n)||{}},J=function(e,n,t){return(G(e,n)||{})[t]},K=function(e,n){return{"--level-line":B(n,"levelLine",e,F,null,["tree"]),"--lineHeight":"".concat(n.lineHeight,"px"),"--indent":"".concat(n.indent,"px"),padding:0}},Q=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.levelLineSchema,o=t.schema,i=r[e.__uuid]||{},u=i.childNodeCount,l=void 0===u?0:u,a=i.isLeaf,c=void 0!==a&&a,s=i.lastNode,d=void 0===s?null:s,f=c?0:(r[d]||{childNodeCount:0}).childNodeCount,p=J(o,e.__uuid,"__depth");return Object.assign({"--depth":p,paddingLeft:0,"--lines":l-f},"function"==typeof n.levelLine?{"--level-line":B(n,"levelLine",e,F,null,["node"])}:{})},W=function(e,n,t){var r=G(n,e.__uuid)||{};return{"is-root":r.__isRoot,"bk-tree-node":!0,"is-open":r.__isOpen,"is-virtual-render":t.virtualRender}},X=function(e,n,t,r,o){var i=e.split("-").reduce((function(e,n){var r=Number(n);return Array.isArray(e)?e[r]:e[t][r]}),n);Object.assign(i,p({},r,o))},Y={data:o.PropTypes.arrayOf(o.PropTypes.any).def([]),label:o.PropTypes.oneOfType([o.PropTypes.func.def(void 0),o.PropTypes.string.def("label")]),children:o.PropTypes.string.def("children"),indent:o.PropTypes.number.def(18),lineHeight:o.PropTypes.number.def(32),levelLine:o.PropTypes.oneOfType([o.PropTypes.bool.def(!1),o.PropTypes.func.def(void 0),o.PropTypes.string.def("1px dashed #c3cdd7")]).def(!1),virtualRender:o.PropTypes.bool.def(!1),prefixIcon:o.PropTypes.oneOfType([o.PropTypes.func.def((function(){})),o.PropTypes.bool.def(!1)]).def(!0),asyncLoad:o.PropTypes.func.def(null)},Z=n.defineComponent({name:"Tree",props:Y,setup:function(e){var t=E(e),o=n.reactive({data:t[0],schema:t[1],levelLineSchema:{}});n.watch((function(){return[e.data]}),(function(n){console.log("props.data changed");var t=E(e,n,i.value);o.data=t[0],o.schema=t[1],b()}),{deep:!0}),n.watch((function(){return[e.levelLine]}),(function(){b()}));var i=n.computed((function(){return Array.from(o.schema.values())})),u=function(e){return o.schema.get(e)},l=function(e,n){var t;return null===(t=u(e.__uuid))||void 0===t?void 0:t[n]},a=function(e,n,t){return o.schema.set(e.__uuid,Object.assign(Object.assign({},u(e.__uuid)),p({},n,t)))},c=function(e){return l(e,"__path")},s=function(e){return l(e,"__isRoot")},f=function(e){return l(e,"__hasChild")},v=n.computed((function(){return o.data.filter((function(e){return m(e)}))})),y=n.computed((function(){return v.value.map((function(e){return c(e)}))})),h=function(e){var n;return"object"===d(e)?l(e,"__isOpen"):"string"==typeof e&&(null===(n=u(e))||void 0===n?void 0:n.__isOpen)},_=function(e){return h(e)?n.createVNode(r.FolderShapeOpen,{class:"bk-tree-icon"},null):n.createVNode(r.Folder,{class:"bk-tree-icon"},null)},g=function(e){if("string"==typeof e)return e;if("object"===d(e)&&null!==e){var t=e.node,r=e.className,o=e.text,i=e.style;return n.h(t,{class:r,style:i},o)}return null},x=function(n,t){if("object"===d(n)&&null!==n){a(t,"__isOpen",!0);var r=Array.isArray(n)?n:[n];X(c(t),e.data,e.children,e.children,r)}},b=function(){e.levelLine?setTimeout((function(){for(var e=v.value.length,n={},t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Object.prototype.hasOwnProperty.call(n,e)||Object.assign(n,p({},e,Object.assign(Object.assign({childNodeCount:0,isLastNode:!1},null!==t?{lastNode:t}:{}),null!==r?{isLeaf:r}:{})))};e>0;e--){var r=v.value[e-1],i=l(r,"__parentId"),u=c(r),a=!y.value.includes("".concat(u,"-0"));t(r.__uuid,null,a),t(i,r.__uuid);var s=n[i],d=n[r.__uuid],f=d.childNodeCount,h=void 0===f?0:f;d.childNodeCount=h+1,d.isLastNode=s.lastNode===r.__uuid,s.childNodeCount+=d.childNodeCount}o.levelLineSchema=n})):o.levelLineSchema={}},m=function(e){return s(e)||h(e)||h(l(e,"__parentId"))};return b(),{renderData:v,flatData:o,hanldeTreeNodeClick:function(n){n.async&&("function"==typeof e.asyncLoad?(Object.assign(n,{loading:!0}),e.asyncLoad(n,(function(e){return x(e,n)})).then((function(e){return x(e,n)})).catch((function(e){return console.error("load remote data error:",e)})).finally((function(){X(c(n),e.data,e.children,"loading",!1)}))):console.error("async need to set prop: asyncLoad with function wich will return promise object")),f(n)&&function(e){var n=!h(e);a(e,"__isOpen",n),b()}(n)},getActionIcon:function(t){var o=null;return"function"==typeof e.prefixIcon&&"default"!==(o=e.prefixIcon(s(t),f(t)||t.async,h(t),"action",t))?g(o):("default"===o||"boolean"==typeof e.prefixIcon&&e.prefixIcon)&&(f(t)||t.async)?h(t)?n.createVNode(r.DownShape,null,null):n.createVNode(r.RightShape,null,null):null},getRootIcon:_,getVirtualLines:function(t){if(!e.virtualRender)return null;var r=l(t,"__depth")+1;return new Array(r).fill("").map((function(e,n){return n})).filter((function(e){return function(e,n){if(s(n))return!1;var t=c(n),r="".concat(t).split("-").slice(0,e+1);if(r.join("-")===t)return!0;var o=r.pop(),u=parseInt(o,10);r.push("".concat(u+1));var l=r.join("-");return i.value.some((function(e){return e.__path===l}))}(e,t)})).filter((function(e){return e>0})).map((function(e){return n.createVNode("span",{class:"node-virtual-line",style:(t=r-e,{"--depth":t})},null);var t}))},getNodePrefixIcon:function(t){var o=null;return"function"==typeof e.prefixIcon&&"default"!==(o=e.prefixIcon(s(t),f(t)||t.async,h(t),"node_type",t))?g(o):"default"===o||"boolean"==typeof e.prefixIcon&&e.prefixIcon?s(t)?_(t):n.createVNode(r.TextFile,{class:"bk-tree-icon"},null):null},getLoadingIcon:function(e){return e.loading?n.createVNode(r.Spinner,null,null):""}}},render:function(){var e=this,t=this.$props,r=function(r){return n.createVNode("div",{class:W(r,e.flatData.schema,t),style:Q(r,t,e.flatData),onClick:function(){return e.hanldeTreeNodeClick(r)}},[[e.getActionIcon(r),e.getNodePrefixIcon(r),e.getLoadingIcon(r)],n.createVNode("span",null,[z(r,t)]),e.getVirtualLines(r)])};return n.createVNode(a.default,{class:"bk-tree",style:K(null,t),list:this.renderData,lineHeight:t.lineHeight,enabled:t.virtualRender},{default:function(e){return(e.data||[]).map(r)}})}}),ee=o.withInstall(Z);e.default=ee,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -66,5 +66,15 @@ export declare const treeProps: {
66
66
  prefixIcon: import("vue-types").VueTypeDef<any> & {
67
67
  default: any;
68
68
  };
69
+ /**
70
+ * 异步请求方法
71
+ * func<Promise>: (node: any) => ({ })
72
+ * 如果node设置了async = true,则会触发此方法
73
+ */
74
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
75
+ default: (...args: any[]) => any;
76
+ } & {
77
+ default: (...args: any[]) => any;
78
+ };
69
79
  };
70
80
  export declare type TreePropTypes = Readonly<ExtractPropTypes<typeof treeProps>>;
@@ -31,11 +31,16 @@ declare const _default: import("vue").DefineComponent<{
31
31
  prefixIcon: import("vue-types").VueTypeDef<any> & {
32
32
  default: any;
33
33
  };
34
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
35
+ default: (...args: any[]) => any;
36
+ } & {
37
+ default: (...args: any[]) => any;
38
+ };
34
39
  }, {
35
40
  renderData: import("vue").ComputedRef<any[]>;
36
41
  flatData: {
37
42
  data: any[];
38
- schema: {};
43
+ schema: any[] | Map<string, any>;
39
44
  levelLineSchema: {};
40
45
  };
41
46
  hanldeTreeNodeClick: (item: any) => void;
@@ -43,6 +48,7 @@ declare const _default: import("vue").DefineComponent<{
43
48
  getRootIcon: (item: any) => JSX.Element;
44
49
  getVirtualLines: (node: any) => JSX.Element[];
45
50
  getNodePrefixIcon: (item: any) => string | JSX.Element;
51
+ getLoadingIcon: (item: any) => "" | JSX.Element;
46
52
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
53
  data: import("vue-types").VueTypeDef<any[]> & {
48
54
  default: () => any[];
@@ -74,13 +80,19 @@ declare const _default: import("vue").DefineComponent<{
74
80
  prefixIcon: import("vue-types").VueTypeDef<any> & {
75
81
  default: any;
76
82
  };
83
+ asyncLoad: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
84
+ default: (...args: any[]) => any;
85
+ } & {
86
+ default: (...args: any[]) => any;
87
+ };
77
88
  }>>, {
78
89
  data: any[];
90
+ lineHeight: number;
79
91
  prefixIcon: any;
80
92
  children: string;
81
- lineHeight: number;
82
93
  indent: number;
83
94
  levelLine: any;
84
95
  virtualRender: boolean;
96
+ asyncLoad: (...args: any[]) => any;
85
97
  }>;
86
98
  export default _default;