bkui-vue 0.0.1-beta.14 → 0.0.1-beta.17

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 (260) hide show
  1. package/README.md +25 -17
  2. package/README_EN.md +89 -0
  3. package/dist/bkui-vue.cjs.js +2266 -535
  4. package/dist/bkui-vue.esm.js +2308 -582
  5. package/dist/bkui-vue.umd.js +2266 -535
  6. package/dist/style.css +601 -189
  7. package/lib/alert/alert.d.ts +24 -15
  8. package/lib/alert/alert.variable.css +6 -0
  9. package/lib/alert/index.d.ts +96 -60
  10. package/lib/alert/index.js +1 -1
  11. package/lib/animate-number/animate-number.d.ts +12 -7
  12. package/lib/animate-number/index.d.ts +48 -28
  13. package/lib/backtop/backtop.d.ts +27 -13
  14. package/lib/backtop/backtop.variable.css +6 -0
  15. package/lib/backtop/index.d.ts +108 -52
  16. package/lib/backtop/index.js +1 -1
  17. package/lib/badge/badge.d.ts +40 -19
  18. package/lib/badge/badge.variable.css +6 -0
  19. package/lib/badge/index.d.ts +144 -76
  20. package/lib/badge/index.js +1 -1
  21. package/lib/breadcrumb/breadcrumb-item.d.ts +13 -9
  22. package/lib/breadcrumb/breadcrumb.css +10 -1
  23. package/lib/breadcrumb/breadcrumb.d.ts +37 -9
  24. package/lib/breadcrumb/breadcrumb.less +13 -2
  25. package/lib/breadcrumb/breadcrumb.variable.css +16 -1
  26. package/lib/breadcrumb/index.d.ts +117 -45
  27. package/lib/breadcrumb/index.js +1 -1
  28. package/lib/button/button-group.d.ts +3 -5
  29. package/lib/button/button.d.ts +27 -22
  30. package/lib/button/button.variable.css +6 -0
  31. package/lib/button/index.d.ts +111 -93
  32. package/lib/button/index.js +1 -1
  33. package/lib/card/card.d.ts +30 -15
  34. package/lib/card/card.variable.css +6 -0
  35. package/lib/card/index.d.ts +120 -60
  36. package/lib/card/index.js +1 -1
  37. package/lib/checkbox/checkbox-group.d.ts +13 -9
  38. package/lib/checkbox/checkbox.d.ts +31 -22
  39. package/lib/checkbox/checkbox.variable.css +6 -0
  40. package/lib/checkbox/index.d.ts +137 -97
  41. package/lib/checkbox/index.js +1 -1
  42. package/lib/collapse/collapse.d.ts +50 -18
  43. package/lib/collapse/index.d.ts +108 -72
  44. package/lib/collapse/index.js +1 -1
  45. package/lib/components.d.ts +4 -0
  46. package/lib/date-picker/date-picker.d.ts +110 -63
  47. package/lib/date-picker/date-picker.variable.css +6 -0
  48. package/lib/date-picker/index.d.ts +437 -249
  49. package/lib/date-picker/index.js +1 -1
  50. package/lib/dialog/dialog.d.ts +46 -25
  51. package/lib/dialog/index.d.ts +179 -95
  52. package/lib/directives/index.js +1 -1
  53. package/lib/divider/divider.d.ts +21 -13
  54. package/lib/divider/divider.variable.css +6 -0
  55. package/lib/divider/index.d.ts +84 -52
  56. package/lib/dropdown/dropdown-item.d.ts +6 -5
  57. package/lib/dropdown/dropdown-menu.d.ts +6 -5
  58. package/lib/dropdown/dropdown.d.ts +25 -13
  59. package/lib/dropdown/dropdown.variable.css +6 -0
  60. package/lib/dropdown/index.d.ts +94 -62
  61. package/lib/exception/exception.d.ts +11 -9
  62. package/lib/exception/exception.variable.css +6 -0
  63. package/lib/exception/index.d.ts +44 -36
  64. package/lib/fixed-navbar/fixed-navbar.d.ts +15 -9
  65. package/lib/fixed-navbar/fixed-navbar.variable.css +6 -0
  66. package/lib/fixed-navbar/index.d.ts +60 -36
  67. package/lib/form/form-item.d.ts +46 -27
  68. package/lib/form/form.d.ts +21 -13
  69. package/lib/form/index.js +1 -1
  70. package/lib/icon/angle-double-left.js +15 -0
  71. package/lib/icon/angle-double-right.js +15 -0
  72. package/lib/icon/angle-down-fill.d.ts +4 -0
  73. package/lib/icon/angle-down-fill.js +15 -0
  74. package/lib/icon/angle-down-line.js +15 -0
  75. package/lib/icon/angle-down.js +15 -0
  76. package/lib/icon/angle-left.js +15 -0
  77. package/lib/icon/angle-right.js +15 -0
  78. package/lib/icon/angle-up-fill.d.ts +4 -0
  79. package/lib/icon/angle-up-fill.js +15 -0
  80. package/lib/icon/angle-up.js +15 -0
  81. package/lib/icon/arrows-left.d.ts +4 -0
  82. package/lib/icon/arrows-left.js +15 -0
  83. package/lib/icon/circle.js +15 -0
  84. package/lib/icon/close.js +15 -0
  85. package/lib/icon/code.js +15 -0
  86. package/lib/icon/cog-shape.js +15 -0
  87. package/lib/icon/collapse-left.js +15 -0
  88. package/lib/icon/copy.js +15 -0
  89. package/lib/icon/done.js +15 -0
  90. package/lib/icon/down-shape.js +15 -0
  91. package/lib/icon/down-small.js +15 -0
  92. package/lib/icon/error.js +15 -0
  93. package/lib/icon/eye.js +15 -0
  94. package/lib/icon/folder-open.js +15 -0
  95. package/lib/icon/folder-shape-open.js +15 -0
  96. package/lib/icon/folder-shape.js +15 -0
  97. package/lib/icon/folder.js +15 -0
  98. package/lib/icon/help-document-fill.js +15 -0
  99. package/lib/icon/help-fill.js +15 -0
  100. package/lib/icon/help.js +15 -0
  101. package/lib/icon/icon.js +15 -0
  102. package/lib/icon/index.d.ts +7 -3
  103. package/lib/icon/index.js +1 -1
  104. package/lib/icon/info-line.js +15 -0
  105. package/lib/icon/info.js +15 -0
  106. package/lib/icon/play-shape.js +15 -0
  107. package/lib/icon/plus.js +15 -0
  108. package/lib/icon/right-shape.js +15 -0
  109. package/lib/icon/search.js +15 -0
  110. package/lib/icon/share.js +15 -0
  111. package/lib/icon/spinner.d.ts +4 -0
  112. package/lib/icon/spinner.js +15 -0
  113. package/lib/icon/success.js +15 -0
  114. package/lib/icon/switcher-loading.js +15 -0
  115. package/lib/icon/text-file.js +15 -0
  116. package/lib/icon/tree-application-shape.js +15 -0
  117. package/lib/icon/unvisible.js +15 -0
  118. package/lib/icon/warn.js +15 -0
  119. package/lib/input/index.d.ts +251 -163
  120. package/lib/input/index.js +2 -2
  121. package/lib/input/input.css +1 -0
  122. package/lib/input/input.d.ts +62 -40
  123. package/lib/input/input.less +4 -3
  124. package/lib/input/input.variable.css +7 -0
  125. package/lib/link/index.d.ts +100 -52
  126. package/lib/link/link.d.ts +25 -13
  127. package/lib/link/link.variable.css +6 -0
  128. package/lib/loading/index.d.ts +64 -64
  129. package/lib/loading/index.js +1 -1
  130. package/lib/loading/loading.d.ts +16 -16
  131. package/lib/loading/loading.variable.css +6 -0
  132. package/lib/menu/index.d.ts +90 -71
  133. package/lib/menu/index.js +1 -1
  134. package/lib/menu/menu-group.d.ts +6 -5
  135. package/lib/menu/menu-item.d.ts +6 -5
  136. package/lib/menu/menu.d.ts +18 -14
  137. package/lib/menu/menu.variable.css +6 -0
  138. package/lib/menu/submenu.css +3 -0
  139. package/lib/menu/submenu.d.ts +6 -5
  140. package/lib/menu/submenu.less +1 -1
  141. package/lib/menu/submenu.variable.css +9 -0
  142. package/lib/message/index.js +1 -1
  143. package/lib/message/message.variable.css +6 -0
  144. package/lib/message/messageConstructor.d.ts +28 -16
  145. package/lib/modal/index.d.ts +92 -56
  146. package/lib/modal/index.js +1 -1
  147. package/lib/modal/modal.d.ts +24 -15
  148. package/lib/modal/props.mixin.d.ts +1 -1
  149. package/lib/navigation/index.js +1 -1
  150. package/lib/navigation/navigation-title.d.ts +10 -7
  151. package/lib/navigation/navigation.d.ts +40 -23
  152. package/lib/navigation/navigation.variable.css +6 -0
  153. package/lib/notify/index.js +1 -1
  154. package/lib/notify/notify.variable.css +6 -0
  155. package/lib/notify/notifyConstructor.d.ts +37 -21
  156. package/lib/popover/index.d.ts +219 -134
  157. package/lib/popover/index.js +1 -1
  158. package/lib/popover/popover.css +22 -13
  159. package/lib/popover/popover.d.ts +73 -44
  160. package/lib/popover/popover.less +55 -45
  161. package/lib/popover/popover.variable.css +28 -13
  162. package/lib/popover/props.d.ts +77 -0
  163. package/lib/process/index.d.ts +120 -60
  164. package/lib/process/index.js +1 -1
  165. package/lib/process/process.css +2 -3
  166. package/lib/process/process.d.ts +30 -15
  167. package/lib/process/process.less +2 -3
  168. package/lib/process/process.variable.css +8 -3
  169. package/lib/progress/index.d.ts +290 -120
  170. package/lib/progress/index.js +1 -1
  171. package/lib/progress/progress.css +0 -3
  172. package/lib/progress/progress.d.ts +84 -31
  173. package/lib/progress/progress.less +0 -4
  174. package/lib/progress/progress.variable.css +6 -3
  175. package/lib/radio/index.d.ts +127 -78
  176. package/lib/radio/index.js +1 -1
  177. package/lib/radio/radio-button.d.ts +24 -16
  178. package/lib/radio/radio-group.d.ts +11 -10
  179. package/lib/radio/radio.d.ts +23 -13
  180. package/lib/radio/radio.variable.css +6 -0
  181. package/lib/rate/index.d.ts +52 -40
  182. package/lib/rate/rate.d.ts +13 -10
  183. package/lib/rate/star.d.ts +32 -15
  184. package/lib/select/common.d.ts +10 -1
  185. package/lib/select/index.d.ts +515 -503
  186. package/lib/select/index.js +2 -2
  187. package/lib/select/option.d.ts +10 -17
  188. package/lib/select/optionGroup.d.ts +67 -52
  189. package/lib/select/select.css +71 -14
  190. package/lib/select/select.d.ts +136 -137
  191. package/lib/select/select.less +73 -14
  192. package/lib/select/select.variable.css +77 -14
  193. package/lib/shared/bk-helper-core.d.ts +6 -0
  194. package/lib/shared/bk-popover.d.ts +45 -4
  195. package/lib/shared/index.d.ts +10 -0
  196. package/lib/shared/index.js +1 -1
  197. package/lib/shared/utils.d.ts +6 -0
  198. package/lib/sideslider/index.d.ts +111 -63
  199. package/lib/sideslider/sideslider.d.ts +29 -17
  200. package/lib/sideslider/sideslider.variable.css +6 -0
  201. package/lib/slider/slider-button.d.ts +10 -7
  202. package/lib/slider/slider.d.ts +70 -40
  203. package/lib/slider/slider.variable.css +6 -0
  204. package/lib/steps/index.d.ts +156 -104
  205. package/lib/steps/index.js +1 -1
  206. package/lib/steps/steps.css +3 -0
  207. package/lib/steps/steps.d.ts +39 -26
  208. package/lib/steps/steps.less +4 -0
  209. package/lib/steps/steps.variable.css +9 -0
  210. package/lib/styles/index.d.ts +2 -0
  211. package/lib/styles/index.js +1 -1
  212. package/lib/styles/themes/themes.less +10 -0
  213. package/lib/switcher/index.d.ts +192 -128
  214. package/lib/switcher/index.js +1 -1
  215. package/lib/switcher/switcher.css +149 -135
  216. package/lib/switcher/switcher.d.ts +48 -32
  217. package/lib/switcher/switcher.less +210 -154
  218. package/lib/switcher/switcher.variable.css +155 -135
  219. package/lib/tab/index.d.ts +344 -208
  220. package/lib/tab/index.js +1 -1
  221. package/lib/tab/tab-nav.d.ts +74 -38
  222. package/lib/tab/tab-panel.d.ts +22 -20
  223. package/lib/tab/tab.d.ts +64 -32
  224. package/lib/tab/tab.variable.css +6 -0
  225. package/lib/table/const.d.ts +4 -0
  226. package/lib/table/index.d.ts +169 -70
  227. package/lib/table/index.js +1 -1
  228. package/lib/table/props.d.ts +56 -0
  229. package/lib/table/render.d.ts +19 -3
  230. package/lib/table/table.css +52 -13
  231. package/lib/table/table.d.ts +71 -12
  232. package/lib/table/table.less +62 -18
  233. package/lib/table/table.variable.css +60 -15
  234. package/lib/table/utils.d.ts +34 -1
  235. package/lib/tag/index.d.ts +10 -286
  236. package/lib/tag/tag.d.ts +2 -48
  237. package/lib/tag/tag.variable.css +6 -0
  238. package/lib/timeline/index.d.ts +129 -0
  239. package/lib/timeline/index.js +1 -0
  240. package/lib/timeline/timeline.css +235 -0
  241. package/lib/timeline/timeline.d.ts +81 -0
  242. package/lib/timeline/timeline.less +239 -0
  243. package/lib/timeline/timeline.variable.css +327 -0
  244. package/lib/tree/index.d.ts +148 -69
  245. package/lib/tree/index.js +1 -1
  246. package/lib/tree/props.d.ts +70 -0
  247. package/lib/tree/tree.css +16 -7
  248. package/lib/tree/tree.d.ts +51 -23
  249. package/lib/tree/tree.less +24 -24
  250. package/lib/tree/tree.variable.css +16 -7
  251. package/lib/tree/util.d.ts +3 -44
  252. package/lib/virtual-render/index.d.ts +556 -0
  253. package/lib/virtual-render/index.js +1 -0
  254. package/lib/virtual-render/props.d.ts +157 -0
  255. package/lib/virtual-render/v-virtual-render.d.ts +7 -0
  256. package/lib/virtual-render/virtual-render.css +40 -0
  257. package/lib/virtual-render/virtual-render.d.ts +244 -0
  258. package/lib/virtual-render/virtual-render.less +51 -0
  259. package/lib/virtual-render/virtual-render.variable.css +40 -0
  260. package/package.json +9 -7
@@ -16,38 +16,70 @@ export declare const BKTab: {
16
16
  changeOnHover: boolean;
17
17
  changeOnHoverDelay: number;
18
18
  tabPosition: string;
19
- }> & Omit<Readonly<{
20
- active?: unknown;
21
- type?: unknown;
22
- tabPosition?: unknown;
23
- closable?: unknown;
24
- addable?: unknown;
25
- sortable?: unknown;
26
- sortType?: unknown;
27
- labelHeight?: unknown;
28
- scrollStep?: unknown;
29
- extCls?: unknown;
30
- validateActive?: unknown;
31
- showHeader?: unknown;
32
- changeOnHover?: unknown;
33
- changeOnHoverDelay?: unknown;
34
- } & {
35
- closable: boolean;
36
- extCls: string;
37
- showHeader: boolean;
38
- type: string;
39
- sortType: string;
40
- addable: boolean;
41
- sortable: boolean;
42
- labelHeight: number;
43
- scrollStep: number;
44
- validateActive: boolean;
45
- changeOnHover: boolean;
46
- changeOnHoverDelay: number;
47
- tabPosition: string;
48
- } & {
49
- active?: string | number;
50
- }> & {
19
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
20
+ active: {
21
+ type: NumberConstructor | StringConstructor;
22
+ };
23
+ type: import("vue-types").VueTypeDef<string> & {
24
+ default: string;
25
+ };
26
+ tabPosition: import("vue-types").VueTypeDef<string> & {
27
+ default: string;
28
+ };
29
+ closable: import("vue-types").VueTypeValidableDef<boolean> & {
30
+ default: boolean;
31
+ } & {
32
+ default: boolean;
33
+ };
34
+ addable: import("vue-types").VueTypeValidableDef<boolean> & {
35
+ default: boolean;
36
+ } & {
37
+ default: boolean;
38
+ };
39
+ sortable: import("vue-types").VueTypeValidableDef<boolean> & {
40
+ default: boolean;
41
+ } & {
42
+ default: boolean;
43
+ };
44
+ sortType: import("vue-types").VueTypeDef<string> & {
45
+ default: string;
46
+ };
47
+ labelHeight: import("vue-types").VueTypeValidableDef<number> & {
48
+ default: number;
49
+ } & {
50
+ default: number;
51
+ };
52
+ scrollStep: import("vue-types").VueTypeValidableDef<number> & {
53
+ default: number;
54
+ } & {
55
+ default: number;
56
+ };
57
+ extCls: import("vue-types").VueTypeValidableDef<string> & {
58
+ default: string;
59
+ } & {
60
+ default: string;
61
+ };
62
+ validateActive: import("vue-types").VueTypeValidableDef<boolean> & {
63
+ default: boolean;
64
+ } & {
65
+ default: boolean;
66
+ };
67
+ showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
68
+ default: boolean;
69
+ } & {
70
+ default: boolean;
71
+ };
72
+ changeOnHover: import("vue-types").VueTypeValidableDef<boolean> & {
73
+ default: boolean;
74
+ } & {
75
+ default: boolean;
76
+ };
77
+ changeOnHoverDelay: import("vue-types").VueTypeValidableDef<number> & {
78
+ default: number;
79
+ } & {
80
+ default: number;
81
+ };
82
+ }>> & {
51
83
  onDrag?: (...args: any[]) => any;
52
84
  onChange?: (...args: any[]) => any;
53
85
  onAdd?: (...args: any[]) => any;
@@ -73,38 +105,70 @@ export declare const BKTab: {
73
105
  $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
74
106
  $emit: (event: "change" | "drag" | "add" | "add-panel" | "tab-change" | "close-panel" | "sort-change" | "on-drag-tab" | "remove" | "update:active" | "sort", ...args: any[]) => void;
75
107
  $el: any;
76
- $options: import("vue").ComponentOptionsBase<Readonly<{
77
- active?: unknown;
78
- type?: unknown;
79
- tabPosition?: unknown;
80
- closable?: unknown;
81
- addable?: unknown;
82
- sortable?: unknown;
83
- sortType?: unknown;
84
- labelHeight?: unknown;
85
- scrollStep?: unknown;
86
- extCls?: unknown;
87
- validateActive?: unknown;
88
- showHeader?: unknown;
89
- changeOnHover?: unknown;
90
- changeOnHoverDelay?: unknown;
91
- } & {
92
- closable: boolean;
93
- extCls: string;
94
- showHeader: boolean;
95
- type: string;
96
- sortType: string;
97
- addable: boolean;
98
- sortable: boolean;
99
- labelHeight: number;
100
- scrollStep: number;
101
- validateActive: boolean;
102
- changeOnHover: boolean;
103
- changeOnHoverDelay: number;
104
- tabPosition: string;
105
- } & {
106
- active?: string | number;
107
- }> & {
108
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
109
+ active: {
110
+ type: NumberConstructor | StringConstructor;
111
+ };
112
+ type: import("vue-types").VueTypeDef<string> & {
113
+ default: string;
114
+ };
115
+ tabPosition: import("vue-types").VueTypeDef<string> & {
116
+ default: string;
117
+ };
118
+ closable: import("vue-types").VueTypeValidableDef<boolean> & {
119
+ default: boolean;
120
+ } & {
121
+ default: boolean;
122
+ };
123
+ addable: import("vue-types").VueTypeValidableDef<boolean> & {
124
+ default: boolean;
125
+ } & {
126
+ default: boolean;
127
+ };
128
+ sortable: import("vue-types").VueTypeValidableDef<boolean> & {
129
+ default: boolean;
130
+ } & {
131
+ default: boolean;
132
+ };
133
+ sortType: import("vue-types").VueTypeDef<string> & {
134
+ default: string;
135
+ };
136
+ labelHeight: import("vue-types").VueTypeValidableDef<number> & {
137
+ default: number;
138
+ } & {
139
+ default: number;
140
+ };
141
+ scrollStep: import("vue-types").VueTypeValidableDef<number> & {
142
+ default: number;
143
+ } & {
144
+ default: number;
145
+ };
146
+ extCls: import("vue-types").VueTypeValidableDef<string> & {
147
+ default: string;
148
+ } & {
149
+ default: string;
150
+ };
151
+ validateActive: import("vue-types").VueTypeValidableDef<boolean> & {
152
+ default: boolean;
153
+ } & {
154
+ default: boolean;
155
+ };
156
+ showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
157
+ default: boolean;
158
+ } & {
159
+ default: boolean;
160
+ };
161
+ changeOnHover: import("vue-types").VueTypeValidableDef<boolean> & {
162
+ default: boolean;
163
+ } & {
164
+ default: boolean;
165
+ };
166
+ changeOnHoverDelay: import("vue-types").VueTypeValidableDef<number> & {
167
+ default: number;
168
+ } & {
169
+ default: number;
170
+ };
171
+ }>> & {
108
172
  onDrag?: (...args: any[]) => any;
109
173
  onChange?: (...args: any[]) => any;
110
174
  onAdd?: (...args: any[]) => any;
@@ -159,38 +223,70 @@ export declare const BKTab: {
159
223
  $forceUpdate: () => void;
160
224
  $nextTick: typeof import("vue").nextTick;
161
225
  $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
162
- } & Readonly<{
163
- active?: unknown;
164
- type?: unknown;
165
- tabPosition?: unknown;
166
- closable?: unknown;
167
- addable?: unknown;
168
- sortable?: unknown;
169
- sortType?: unknown;
170
- labelHeight?: unknown;
171
- scrollStep?: unknown;
172
- extCls?: unknown;
173
- validateActive?: unknown;
174
- showHeader?: unknown;
175
- changeOnHover?: unknown;
176
- changeOnHoverDelay?: unknown;
177
- } & {
178
- closable: boolean;
179
- extCls: string;
180
- showHeader: boolean;
181
- type: string;
182
- sortType: string;
183
- addable: boolean;
184
- sortable: boolean;
185
- labelHeight: number;
186
- scrollStep: number;
187
- validateActive: boolean;
188
- changeOnHover: boolean;
189
- changeOnHoverDelay: number;
190
- tabPosition: string;
191
- } & {
192
- active?: string | number;
193
- }> & {
226
+ } & Readonly<import("vue").ExtractPropTypes<{
227
+ active: {
228
+ type: NumberConstructor | StringConstructor;
229
+ };
230
+ type: import("vue-types").VueTypeDef<string> & {
231
+ default: string;
232
+ };
233
+ tabPosition: import("vue-types").VueTypeDef<string> & {
234
+ default: string;
235
+ };
236
+ closable: import("vue-types").VueTypeValidableDef<boolean> & {
237
+ default: boolean;
238
+ } & {
239
+ default: boolean;
240
+ };
241
+ addable: import("vue-types").VueTypeValidableDef<boolean> & {
242
+ default: boolean;
243
+ } & {
244
+ default: boolean;
245
+ };
246
+ sortable: import("vue-types").VueTypeValidableDef<boolean> & {
247
+ default: boolean;
248
+ } & {
249
+ default: boolean;
250
+ };
251
+ sortType: import("vue-types").VueTypeDef<string> & {
252
+ default: string;
253
+ };
254
+ labelHeight: import("vue-types").VueTypeValidableDef<number> & {
255
+ default: number;
256
+ } & {
257
+ default: number;
258
+ };
259
+ scrollStep: import("vue-types").VueTypeValidableDef<number> & {
260
+ default: number;
261
+ } & {
262
+ default: number;
263
+ };
264
+ extCls: import("vue-types").VueTypeValidableDef<string> & {
265
+ default: string;
266
+ } & {
267
+ default: string;
268
+ };
269
+ validateActive: import("vue-types").VueTypeValidableDef<boolean> & {
270
+ default: boolean;
271
+ } & {
272
+ default: boolean;
273
+ };
274
+ showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
275
+ default: boolean;
276
+ } & {
277
+ default: boolean;
278
+ };
279
+ changeOnHover: import("vue-types").VueTypeValidableDef<boolean> & {
280
+ default: boolean;
281
+ } & {
282
+ default: boolean;
283
+ };
284
+ changeOnHoverDelay: import("vue-types").VueTypeValidableDef<number> & {
285
+ default: number;
286
+ } & {
287
+ default: number;
288
+ };
289
+ }>> & {
194
290
  onDrag?: (...args: any[]) => any;
195
291
  onChange?: (...args: any[]) => any;
196
292
  onAdd?: (...args: any[]) => any;
@@ -215,38 +311,70 @@ export declare const BKTab: {
215
311
  __isFragment?: never;
216
312
  __isTeleport?: never;
217
313
  __isSuspense?: never;
218
- } & import("vue").ComponentOptionsBase<Readonly<{
219
- active?: unknown;
220
- type?: unknown;
221
- tabPosition?: unknown;
222
- closable?: unknown;
223
- addable?: unknown;
224
- sortable?: unknown;
225
- sortType?: unknown;
226
- labelHeight?: unknown;
227
- scrollStep?: unknown;
228
- extCls?: unknown;
229
- validateActive?: unknown;
230
- showHeader?: unknown;
231
- changeOnHover?: unknown;
232
- changeOnHoverDelay?: unknown;
233
- } & {
234
- closable: boolean;
235
- extCls: string;
236
- showHeader: boolean;
237
- type: string;
238
- sortType: string;
239
- addable: boolean;
240
- sortable: boolean;
241
- labelHeight: number;
242
- scrollStep: number;
243
- validateActive: boolean;
244
- changeOnHover: boolean;
245
- changeOnHoverDelay: number;
246
- tabPosition: string;
247
- } & {
248
- active?: string | number;
249
- }> & {
314
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
315
+ active: {
316
+ type: NumberConstructor | StringConstructor;
317
+ };
318
+ type: import("vue-types").VueTypeDef<string> & {
319
+ default: string;
320
+ };
321
+ tabPosition: import("vue-types").VueTypeDef<string> & {
322
+ default: string;
323
+ };
324
+ closable: import("vue-types").VueTypeValidableDef<boolean> & {
325
+ default: boolean;
326
+ } & {
327
+ default: boolean;
328
+ };
329
+ addable: import("vue-types").VueTypeValidableDef<boolean> & {
330
+ default: boolean;
331
+ } & {
332
+ default: boolean;
333
+ };
334
+ sortable: import("vue-types").VueTypeValidableDef<boolean> & {
335
+ default: boolean;
336
+ } & {
337
+ default: boolean;
338
+ };
339
+ sortType: import("vue-types").VueTypeDef<string> & {
340
+ default: string;
341
+ };
342
+ labelHeight: import("vue-types").VueTypeValidableDef<number> & {
343
+ default: number;
344
+ } & {
345
+ default: number;
346
+ };
347
+ scrollStep: import("vue-types").VueTypeValidableDef<number> & {
348
+ default: number;
349
+ } & {
350
+ default: number;
351
+ };
352
+ extCls: import("vue-types").VueTypeValidableDef<string> & {
353
+ default: string;
354
+ } & {
355
+ default: string;
356
+ };
357
+ validateActive: import("vue-types").VueTypeValidableDef<boolean> & {
358
+ default: boolean;
359
+ } & {
360
+ default: boolean;
361
+ };
362
+ showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
363
+ default: boolean;
364
+ } & {
365
+ default: boolean;
366
+ };
367
+ changeOnHover: import("vue-types").VueTypeValidableDef<boolean> & {
368
+ default: boolean;
369
+ } & {
370
+ default: boolean;
371
+ };
372
+ changeOnHoverDelay: import("vue-types").VueTypeValidableDef<number> & {
373
+ default: number;
374
+ } & {
375
+ default: number;
376
+ };
377
+ }>> & {
250
378
  onDrag?: (...args: any[]) => any;
251
379
  onChange?: (...args: any[]) => any;
252
380
  onAdd?: (...args: any[]) => any;
@@ -290,26 +418,28 @@ export declare const BKTabPanel: {
290
418
  visible: boolean;
291
419
  disabled: boolean;
292
420
  renderDirective: string;
293
- }> & Omit<Readonly<{
294
- name?: unknown;
295
- label?: unknown;
296
- closable?: unknown;
297
- visible?: unknown;
298
- disabled?: unknown;
299
- sortable?: unknown;
300
- renderDirective?: unknown;
301
- panel?: unknown;
302
- } & {
303
- visible: boolean;
304
- disabled: boolean;
305
- renderDirective: string;
306
- } & {
307
- label?: string | Function;
308
- name?: string | number;
309
- closable?: boolean | Function;
310
- panel?: string | Function;
311
- sortable?: boolean | Function;
312
- }> & {} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "visible" | "disabled" | "renderDirective">;
421
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
422
+ name: {
423
+ type: NumberConstructor | StringConstructor;
424
+ };
425
+ label: StringConstructor | FunctionConstructor;
426
+ closable: BooleanConstructor | FunctionConstructor;
427
+ visible: import("vue-types").VueTypeValidableDef<boolean> & {
428
+ default: boolean;
429
+ } & {
430
+ default: boolean;
431
+ };
432
+ disabled: import("vue-types").VueTypeValidableDef<boolean> & {
433
+ default: boolean;
434
+ } & {
435
+ default: boolean;
436
+ };
437
+ sortable: BooleanConstructor | FunctionConstructor;
438
+ renderDirective: import("vue-types").VueTypeDef<string> & {
439
+ default: string;
440
+ };
441
+ panel: StringConstructor | FunctionConstructor;
442
+ }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "visible" | "disabled" | "renderDirective">;
313
443
  $attrs: {
314
444
  [x: string]: unknown;
315
445
  };
@@ -323,26 +453,28 @@ export declare const BKTabPanel: {
323
453
  $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
324
454
  $emit: (event: string, ...args: any[]) => void;
325
455
  $el: any;
326
- $options: import("vue").ComponentOptionsBase<Readonly<{
327
- name?: unknown;
328
- label?: unknown;
329
- closable?: unknown;
330
- visible?: unknown;
331
- disabled?: unknown;
332
- sortable?: unknown;
333
- renderDirective?: unknown;
334
- panel?: unknown;
335
- } & {
336
- visible: boolean;
337
- disabled: boolean;
338
- renderDirective: string;
339
- } & {
340
- label?: string | Function;
341
- name?: string | number;
342
- closable?: boolean | Function;
343
- panel?: string | Function;
344
- sortable?: boolean | Function;
345
- }> & {}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
456
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
457
+ name: {
458
+ type: NumberConstructor | StringConstructor;
459
+ };
460
+ label: StringConstructor | FunctionConstructor;
461
+ closable: BooleanConstructor | FunctionConstructor;
462
+ visible: import("vue-types").VueTypeValidableDef<boolean> & {
463
+ default: boolean;
464
+ } & {
465
+ default: boolean;
466
+ };
467
+ disabled: import("vue-types").VueTypeValidableDef<boolean> & {
468
+ default: boolean;
469
+ } & {
470
+ default: boolean;
471
+ };
472
+ sortable: BooleanConstructor | FunctionConstructor;
473
+ renderDirective: import("vue-types").VueTypeDef<string> & {
474
+ default: string;
475
+ };
476
+ panel: StringConstructor | FunctionConstructor;
477
+ }>>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
346
478
  visible: boolean;
347
479
  disabled: boolean;
348
480
  renderDirective: string;
@@ -366,49 +498,53 @@ export declare const BKTabPanel: {
366
498
  $forceUpdate: () => void;
367
499
  $nextTick: typeof import("vue").nextTick;
368
500
  $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
369
- } & Readonly<{
370
- name?: unknown;
371
- label?: unknown;
372
- closable?: unknown;
373
- visible?: unknown;
374
- disabled?: unknown;
375
- sortable?: unknown;
376
- renderDirective?: unknown;
377
- panel?: unknown;
378
- } & {
379
- visible: boolean;
380
- disabled: boolean;
381
- renderDirective: string;
382
- } & {
383
- label?: string | Function;
384
- name?: string | number;
385
- closable?: boolean | Function;
386
- panel?: string | Function;
387
- sortable?: boolean | Function;
388
- }> & {} & import("vue").ShallowUnwrapRef<{}> & {} & {} & import("vue").ComponentCustomProperties;
501
+ } & Readonly<import("vue").ExtractPropTypes<{
502
+ name: {
503
+ type: NumberConstructor | StringConstructor;
504
+ };
505
+ label: StringConstructor | FunctionConstructor;
506
+ closable: BooleanConstructor | FunctionConstructor;
507
+ visible: import("vue-types").VueTypeValidableDef<boolean> & {
508
+ default: boolean;
509
+ } & {
510
+ default: boolean;
511
+ };
512
+ disabled: import("vue-types").VueTypeValidableDef<boolean> & {
513
+ default: boolean;
514
+ } & {
515
+ default: boolean;
516
+ };
517
+ sortable: BooleanConstructor | FunctionConstructor;
518
+ renderDirective: import("vue-types").VueTypeDef<string> & {
519
+ default: string;
520
+ };
521
+ panel: StringConstructor | FunctionConstructor;
522
+ }>> & import("vue").ShallowUnwrapRef<{}> & {} & {} & import("vue").ComponentCustomProperties;
389
523
  __isFragment?: never;
390
524
  __isTeleport?: never;
391
525
  __isSuspense?: never;
392
- } & import("vue").ComponentOptionsBase<Readonly<{
393
- name?: unknown;
394
- label?: unknown;
395
- closable?: unknown;
396
- visible?: unknown;
397
- disabled?: unknown;
398
- sortable?: unknown;
399
- renderDirective?: unknown;
400
- panel?: unknown;
401
- } & {
402
- visible: boolean;
403
- disabled: boolean;
404
- renderDirective: string;
405
- } & {
406
- label?: string | Function;
407
- name?: string | number;
408
- closable?: boolean | Function;
409
- panel?: string | Function;
410
- sortable?: boolean | Function;
411
- }> & {}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
526
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
527
+ name: {
528
+ type: NumberConstructor | StringConstructor;
529
+ };
530
+ label: StringConstructor | FunctionConstructor;
531
+ closable: BooleanConstructor | FunctionConstructor;
532
+ visible: import("vue-types").VueTypeValidableDef<boolean> & {
533
+ default: boolean;
534
+ } & {
535
+ default: boolean;
536
+ };
537
+ disabled: import("vue-types").VueTypeValidableDef<boolean> & {
538
+ default: boolean;
539
+ } & {
540
+ default: boolean;
541
+ };
542
+ sortable: BooleanConstructor | FunctionConstructor;
543
+ renderDirective: import("vue-types").VueTypeDef<string> & {
544
+ default: string;
545
+ };
546
+ panel: StringConstructor | FunctionConstructor;
547
+ }>>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
412
548
  visible: boolean;
413
549
  disabled: boolean;
414
550
  renderDirective: string;
package/lib/tab/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("../shared"),require("@bkui-vue/icon/")):"function"==typeof define&&define.amd?define(["exports","vue","../shared","@bkui-vue/icon/"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared,e._)}(this,(function(e,t,n,a){"use strict";var r=t.defineComponent({name:"TabNav",props:{active:{type:String||Number},panels:{type:Array,default:function(){return[]}},closable:n.PropTypes.bool.def(!1),addable:n.PropTypes.bool.def(!1),sortable:n.PropTypes.bool.def(!1),sortType:n.PropTypes.commonType(["replace","insert","top"],"sortType").def("replace"),labelHeight:n.PropTypes.number.def(50),scrollStep:n.PropTypes.number.def(200),validateActive:n.PropTypes.bool.def(!0),changeOnHover:n.PropTypes.bool.def(!1),changeOnHoverDelay:n.PropTypes.number.def(1e3),tabAdd:{type:Function,default:function(){return{}}},tabChange:{type:Function,default:function(){return{}}},tabRemove:{type:Function,default:function(){return{}}},tabSort:{type:Function,default:function(){return{}}},tabDrag:{type:Function,default:function(){return{}}}},methods:{distinctRoots:function(e,t){return e===t},swapArr:function(e,t,n){var a=e[t];e[t]=e[n],e[n]=a},handleTabAdd:function(e){this.tabAdd(e)},dragstart:function(e,t){this.dragStartIndex=e,this.draggingEle=this.guid,t.dataTransfer.effectAllowed="move",this.tabDrag(e,t)},dragenter:function(e){this.distinctRoots(this.draggingEle,this.guid)&&(this.dragenterIndex=e)},dragend:function(){this.dragenterIndex=-1,this.dragStartIndex=-1,this.draggingEle=null},drop:function(e,t){if(!this.distinctRoots(this.draggingEle,this.guid))return!1;if("insert"===t)if(this.dragStartIndex<e)this.panels.splice(e+1,0,this.panels[this.dragStartIndex]),this.panels.splice(this.dragStartIndex,1);else{if(!(this.dragStartIndex>e))return!1;this.panels.splice(e,0,this.panels[this.dragStartIndex]),this.panels.splice(this.dragStartIndex+1,1)}else this.swapArr(this.panels,this.dragStartIndex,e);this.tabSort(this.dragStartIndex,e)},handleTabChange:function(e){this.tabChange(e)},handleTabRemove:function(e,t){this.tabRemove(e,t)}},setup:function(e){return{navs:t.computed((function(){if(!Array.isArray(e.panels)||!e.panels.length)return[];var n=[],a=!1;return e.panels.filter((function(r,o){if(!r.props)return null;var i=r.props,s=i.name,l=i.label,d=i.closable,c=i.visible,p=i.disabled,u=i.sortable;if(!c)return!1;e.active===s&&(a=!0);return n.push({name:s,closable:d,visible:c,disabled:p,sortable:u,tabLabel:function(e){return r.slots.label?t.h(r.slots.label):[void 0,""].includes(e)?"选项卡".concat(o+1):"string"==typeof e?e:"function"==typeof e?t.h(e):e}(l)}),!0})),!a&&e.validateActive&&e.panels[0].props&&e.tabChange(e.panels[0].props.name),n})),dragenterIndex:t.ref(-1),dragStartIndex:t.ref(-1),draggingEle:t.ref(""),guid:Math.random().toString(16).substr(4)+Math.random().toString(16).substr(4)}},render:function(){var e,n,r,o,i,s,l=this,d=this.active,c=this.closable,p=this.addable,u=this.sortable,b=this.sortType,f=this.labelHeight,h=this.dragstart,g=this.dragenter,v=this.dragend,y=this.drop;return t.createVNode("div",{style:{lineHeight:"".concat(f,"px")},class:"bk-tab-header"},[t.createVNode("div",{class:"bk-tab-header-nav"},[l.navs.map((function(e,n){if(!e)return null;var r,o=e.name,i=e.disabled,s=e.tabLabel,p=function(e,t){return"boolean"==typeof e?e:t};return t.createVNode("div",{key:o,onClick:function(){return l.handleTabChange(o)},draggable:p(e.sortable,u),onDragstart:function(e){return h(n,e)},onDragenter:function(e){e.preventDefault(),g(n)},onDragleave:function(e){e.preventDefault()},onDragover:function(e){e.preventDefault()},onDragend:function(e){e.preventDefault(),v()},onDrop:function(e){e.preventDefault(),y(n,b)},class:(r=["bk-tab-header-item"],i&&r.push("bk-tab-header--disabled"),d===o&&r.push("bk-tab-header--active"),r.join(" "))},[t.createVNode("div",null,[s]),p(e.closable,c)&&t.createVNode(a.Close,{class:"bk-tab-header-item-close",onClick:function(){return l.handleTabRemove(n,e)}},null)])}))]),t.createVNode("div",{class:"bk-tab-header-operation"},[(s=[],"function"==typeof l.$slots.add?i=null===(n=(e=l.$slots).add)||void 0===n?void 0:n.call(e,t.h):p&&(i=t.createVNode("div",{onClick:l.handleTabAdd},[t.createVNode(a.Plus,{width:26,height:26},null)])),s.push(i),"function"==typeof l.$slots.setting&&s.push(null===(o=(r=l.$slots).setting)||void 0===o?void 0:o.call(r,t.h)),s.map((function(e,n){return t.createVNode("div",{class:"bk-tab-header-item",key:n},[e])})))])])}}),o=t.defineComponent({name:"Tab",components:{BkTabNav:r},props:{active:{type:String||Number},type:n.PropTypes.commonType(["card","border-card","unborder-card"],"type").def("border-card"),tabPosition:n.PropTypes.commonType(["left","right","top"],"position").def("top"),closable:n.PropTypes.bool.def(!1),addable:n.PropTypes.bool.def(!1),sortable:n.PropTypes.bool.def(!1),sortType:n.PropTypes.commonType(["replace","insert","top"],"sortType").def("replace"),labelHeight:n.PropTypes.number.def(50),scrollStep:n.PropTypes.number.def(200),extCls:n.PropTypes.string.def(""),validateActive:n.PropTypes.bool.def(!0),showHeader:n.PropTypes.bool.def(!0),changeOnHover:n.PropTypes.bool.def(!1),changeOnHoverDelay:n.PropTypes.number.def(1e3)},emits:["add-panel","tab-change","close-panel","sort-change","on-drag-tab","add","change","remove","update:active","sort","drag"],methods:{tabAdd:function(e){this.$emit("add",{e:e}),this.$emit("add-panel",{e:e})},tabChange:function(e){this.$emit("change",e),this.$emit("tab-change",e),this.$emit("update:active",e)},tabRemove:function(e,t){this.$emit("remove",e,t),this.$emit("close-panel",e,t)},tabSort:function(e,t){this.$emit("sort",e,t),this.$emit("sort-change",e,t)},tabDrag:function(e,t){this.$emit("drag",e,t),this.$emit("on-drag-tab",e,t)}},setup:function(e,n){var a=n.slots,r=t.ref(!1),o=t.ref([]),i=t.getCurrentInstance();"function"==typeof a.panel&&(o.value=a.default()),"function"==typeof a.default&&(o.value=a.default());var s=function e(n){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=n.children;return(r||[]).forEach((function(n){var r=n.type;"BkTabPanel"===(r=r.name||r)&&n.component?a.push(n.component):r!==t.Fragment&&"template"!==r||e(n,a)})),a},l=function(){if(a.default){var e=i.subTree.children[1].children;if(!e)return;var t=e[0],n=s(t);!(n.length===o.value.length&&n.every((function(e,t){return e.uid===o.value[t].uid})))&&(o.value=n)}};return t.onMounted((function(){l(),r.value=!0})),t.onUpdated((function(){l()})),{isMounted:r,panels:o}},render:function(){var e,n,a,o,i=this;return t.createVNode("div",{class:"top"===i.tabPosition?"bk-tab bk-tab--".concat(i.tabPosition," bk-tab--").concat(i.type," ").concat(i.extCls):"bk-tab bk-tab--".concat(i.tabPosition," ").concat(i.extCls)},[(a=i.panels,o={panels:a,active:i.active,type:i.type,closable:i.closable,addable:i.addable,sortable:i.sortable,sortType:i.sortType,labelHeight:i.labelHeight,scrollStep:i.scrollStep,validateActive:i.validateActive,changeOnHover:i.changeOnHover,changeOnHoverDelay:i.changeOnHoverDelay,tabAdd:i.tabAdd,tabChange:i.tabChange,tabRemove:i.tabRemove,tabSort:i.tabSort,tabDrag:i.tabDrag},a&&Array.isArray(a)?t.createVNode(r,o,i.$slots):null),t.createVNode("div",{class:"bk-tab-content"},[null===(n=(e=this.$slots).default)||void 0===n?void 0:n.call(e)])])}}),i=t.defineComponent({name:"TabPanel",props:{name:{type:String||Number},label:String||Function,closable:Function||Boolean,visible:n.PropTypes.bool.def(!0),disabled:n.PropTypes.bool.def(null)||void 0,sortable:Function||Boolean,renderDirective:n.PropTypes.commonType(["if","show"],"render").def("show"),panel:String||Function},render:function(){var e=this,n=this.name===this.$parent.active;return t.withDirectives(t.createVNode("div",{ref:"content",class:"bk-tab-panel"},[!e.visible||"if"===e.renderDirective&&!n?null:"function"==typeof e.panel?e.panel(t.h):"function"==typeof e.$slots.default?e.$slots.default(null):"function"==typeof e.$slots.panel?e.$slots.panel(null):null]),[[t.vShow,n]])}}),s=n.withInstall(o),l=n.withInstall(i);e.BKTab=s,e.BKTabPanel=l,e.default=s,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("../shared"),require("../icon/")):"function"==typeof define&&define.amd?define(["exports","vue","../shared","../icon/"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared,e._)}(this,(function(e,t,n,a){"use strict";var r=t.defineComponent({name:"TabNav",props:{active:{type:String||Number},panels:{type:Array,default:function(){return[]}},closable:n.PropTypes.bool.def(!1),addable:n.PropTypes.bool.def(!1),sortable:n.PropTypes.bool.def(!1),sortType:n.PropTypes.commonType(["replace","insert","top"],"sortType").def("replace"),labelHeight:n.PropTypes.number.def(50),scrollStep:n.PropTypes.number.def(200),validateActive:n.PropTypes.bool.def(!0),changeOnHover:n.PropTypes.bool.def(!1),changeOnHoverDelay:n.PropTypes.number.def(1e3),tabAdd:{type:Function,default:function(){return{}}},tabChange:{type:Function,default:function(){return{}}},tabRemove:{type:Function,default:function(){return{}}},tabSort:{type:Function,default:function(){return{}}},tabDrag:{type:Function,default:function(){return{}}}},methods:{distinctRoots:function(e,t){return e===t},swapArr:function(e,t,n){var a=e[t];e[t]=e[n],e[n]=a},handleTabAdd:function(e){this.tabAdd(e)},dragstart:function(e,t){this.dragStartIndex=e,this.draggingEle=this.guid,t.dataTransfer.effectAllowed="move",this.tabDrag(e,t)},dragenter:function(e){this.distinctRoots(this.draggingEle,this.guid)&&(this.dragenterIndex=e)},dragend:function(){this.dragenterIndex=-1,this.dragStartIndex=-1,this.draggingEle=null},drop:function(e,t){if(!this.distinctRoots(this.draggingEle,this.guid))return!1;if("insert"===t)if(this.dragStartIndex<e)this.panels.splice(e+1,0,this.panels[this.dragStartIndex]),this.panels.splice(this.dragStartIndex,1);else{if(!(this.dragStartIndex>e))return!1;this.panels.splice(e,0,this.panels[this.dragStartIndex]),this.panels.splice(this.dragStartIndex+1,1)}else this.swapArr(this.panels,this.dragStartIndex,e);this.tabSort(this.dragStartIndex,e)},handleTabChange:function(e){this.tabChange(e)},handleTabRemove:function(e,t){this.tabRemove(e,t)}},setup:function(e){return{navs:t.computed((function(){if(!Array.isArray(e.panels)||!e.panels.length)return[];var n=[],a=!1;return e.panels.filter((function(r,o){if(!r.props)return null;var i=r.props,s=i.name,l=i.label,d=i.closable,c=i.visible,p=i.disabled,u=i.sortable;if(!c)return!1;e.active===s&&(a=!0);return n.push({name:s,closable:d,visible:c,disabled:p,sortable:u,tabLabel:function(e){return r.slots.label?t.h(r.slots.label):[void 0,""].includes(e)?"选项卡".concat(o+1):"string"==typeof e?e:"function"==typeof e?t.h(e):e}(l)}),!0})),!a&&e.validateActive&&e.panels[0].props&&e.tabChange(e.panels[0].props.name),n})),dragenterIndex:t.ref(-1),dragStartIndex:t.ref(-1),draggingEle:t.ref(""),guid:Math.random().toString(16).substr(4)+Math.random().toString(16).substr(4)}},render:function(){var e,n,r,o,i,s,l=this,d=this.active,c=this.closable,p=this.addable,u=this.sortable,b=this.sortType,f=this.labelHeight,h=this.dragstart,g=this.dragenter,v=this.dragend,y=this.drop;return t.createVNode("div",{style:{lineHeight:"".concat(f,"px")},class:"bk-tab-header"},[t.createVNode("div",{class:"bk-tab-header-nav"},[l.navs.map((function(e,n){if(!e)return null;var r,o=e.name,i=e.disabled,s=e.tabLabel,p=function(e,t){return"boolean"==typeof e?e:t};return t.createVNode("div",{key:o,onClick:function(){return l.handleTabChange(o)},draggable:p(e.sortable,u),onDragstart:function(e){return h(n,e)},onDragenter:function(e){e.preventDefault(),g(n)},onDragleave:function(e){e.preventDefault()},onDragover:function(e){e.preventDefault()},onDragend:function(e){e.preventDefault(),v()},onDrop:function(e){e.preventDefault(),y(n,b)},class:(r=["bk-tab-header-item"],i&&r.push("bk-tab-header--disabled"),d===o&&r.push("bk-tab-header--active"),r.join(" "))},[t.createVNode("div",null,[s]),p(e.closable,c)&&t.createVNode(a.Close,{class:"bk-tab-header-item-close",onClick:function(){return l.handleTabRemove(n,e)}},null)])}))]),t.createVNode("div",{class:"bk-tab-header-operation"},[(s=[],"function"==typeof l.$slots.add?i=null===(n=(e=l.$slots).add)||void 0===n?void 0:n.call(e,t.h):p&&(i=t.createVNode("div",{onClick:l.handleTabAdd},[t.createVNode(a.Plus,{width:26,height:26},null)])),s.push(i),"function"==typeof l.$slots.setting&&s.push(null===(o=(r=l.$slots).setting)||void 0===o?void 0:o.call(r,t.h)),s.map((function(e,n){return t.createVNode("div",{class:"bk-tab-header-item",key:n},[e])})))])])}}),o=t.defineComponent({name:"Tab",components:{TabNav:r},props:{active:{type:String||Number},type:n.PropTypes.commonType(["card","border-card","unborder-card"],"type").def("border-card"),tabPosition:n.PropTypes.commonType(["left","right","top"],"position").def("top"),closable:n.PropTypes.bool.def(!1),addable:n.PropTypes.bool.def(!1),sortable:n.PropTypes.bool.def(!1),sortType:n.PropTypes.commonType(["replace","insert","top"],"sortType").def("replace"),labelHeight:n.PropTypes.number.def(50),scrollStep:n.PropTypes.number.def(200),extCls:n.PropTypes.string.def(""),validateActive:n.PropTypes.bool.def(!0),showHeader:n.PropTypes.bool.def(!0),changeOnHover:n.PropTypes.bool.def(!1),changeOnHoverDelay:n.PropTypes.number.def(1e3)},emits:["add-panel","tab-change","close-panel","sort-change","on-drag-tab","add","change","remove","update:active","sort","drag"],methods:{tabAdd:function(e){this.$emit("add",{e:e}),this.$emit("add-panel",{e:e})},tabChange:function(e){this.$emit("change",e),this.$emit("tab-change",e),this.$emit("update:active",e)},tabRemove:function(e,t){this.$emit("remove",e,t),this.$emit("close-panel",e,t)},tabSort:function(e,t){this.$emit("sort",e,t),this.$emit("sort-change",e,t)},tabDrag:function(e,t){this.$emit("drag",e,t),this.$emit("on-drag-tab",e,t)}},setup:function(e,n){var a=n.slots,r=t.ref(!1),o=t.ref([]),i=t.getCurrentInstance();"function"==typeof a.panel&&(o.value=a.default()),"function"==typeof a.default&&(o.value=a.default());var s=function e(n){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=n.children;return(r||[]).forEach((function(n){var r=n.type;"TabPanel"===(r=r.name||r)&&n.component?a.push(n.component):r!==t.Fragment&&"template"!==r||e(n,a)})),a},l=function(){if(a.default){var e=i.subTree.children[1].children;if(!e)return;var t=e[0],n=s(t);!(n.length===o.value.length&&n.every((function(e,t){return e.uid===o.value[t].uid})))&&(o.value=n)}};return t.onMounted((function(){l(),r.value=!0})),t.onUpdated((function(){l()})),{isMounted:r,panels:o}},render:function(){var e,n,a,o,i=this;return t.createVNode("div",{class:"top"===i.tabPosition?"bk-tab bk-tab--".concat(i.tabPosition," bk-tab--").concat(i.type," ").concat(i.extCls):"bk-tab bk-tab--".concat(i.tabPosition," ").concat(i.extCls)},[(a=i.panels,o={panels:a,active:i.active,type:i.type,closable:i.closable,addable:i.addable,sortable:i.sortable,sortType:i.sortType,labelHeight:i.labelHeight,scrollStep:i.scrollStep,validateActive:i.validateActive,changeOnHover:i.changeOnHover,changeOnHoverDelay:i.changeOnHoverDelay,tabAdd:i.tabAdd,tabChange:i.tabChange,tabRemove:i.tabRemove,tabSort:i.tabSort,tabDrag:i.tabDrag},a&&Array.isArray(a)?t.createVNode(r,o,i.$slots):null),t.createVNode("div",{class:"bk-tab-content"},[null===(n=(e=this.$slots).default)||void 0===n?void 0:n.call(e)])])}}),i=t.defineComponent({name:"TabPanel",props:{name:{type:String||Number},label:String||Function,closable:Function||Boolean,visible:n.PropTypes.bool.def(!0),disabled:n.PropTypes.bool.def(null)||void 0,sortable:Function||Boolean,renderDirective:n.PropTypes.commonType(["if","show"],"render").def("show"),panel:String||Function},render:function(){var e=this,n=this.name===this.$parent.active;return t.withDirectives(t.createVNode("div",{ref:"content",class:"bk-tab-panel"},[!e.visible||"if"===e.renderDirective&&!n?null:"function"==typeof e.panel?e.panel(t.h):"function"==typeof e.$slots.default?e.$slots.default(null):"function"==typeof e.$slots.panel?e.$slots.panel(null):null]),[[t.vShow,n]])}}),s=n.withInstall(o),l=n.withInstall(i);e.BKTab=s,e.BKTabPanel=l,e.default=s,Object.defineProperty(e,"__esModule",{value:!0})}));