bkui-vue 2.0.2-beta.8 → 2.0.2-beta.80

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 (336) hide show
  1. package/License.txt +1 -2
  2. package/dist/cli.css +1 -0
  3. package/dist/index.cjs.js +166 -138
  4. package/dist/index.esm.js +24292 -18450
  5. package/dist/index.umd.js +166 -138
  6. package/dist/locale/en.esm.js.map +1 -1
  7. package/dist/locale/en.umd.js.map +1 -1
  8. package/dist/locale/ja-jp.esm.js +2 -0
  9. package/dist/locale/ja-jp.esm.js.map +1 -0
  10. package/dist/locale/ja-jp.umd.js +2 -0
  11. package/dist/locale/ja-jp.umd.js.map +1 -0
  12. package/dist/locale/zh-cn.esm.js.map +1 -1
  13. package/dist/locale/zh-cn.umd.js.map +1 -1
  14. package/dist/style.variable.css +1 -1
  15. package/lib/affix/affix.variable.css +2 -1
  16. package/lib/affix/index.js +24 -32
  17. package/lib/alert/alert.variable.css +2 -1
  18. package/lib/alert/index.js +38 -35
  19. package/lib/animate-number/index.js +12 -16
  20. package/lib/backtop/backtop.variable.css +2 -1
  21. package/lib/backtop/index.js +24 -34
  22. package/lib/badge/badge.variable.css +2 -1
  23. package/lib/badge/index.js +20 -26
  24. package/lib/breadcrumb/breadcrumb.variable.css +2 -1
  25. package/lib/breadcrumb/index.js +26 -34
  26. package/lib/button/button.d.ts +1 -1
  27. package/lib/button/button.variable.css +2 -1
  28. package/lib/button/index.js +29 -39
  29. package/lib/card/card.variable.css +2 -1
  30. package/lib/card/index.js +35 -49
  31. package/lib/cascader/cascader.css +26 -24
  32. package/lib/cascader/cascader.d.ts +315 -0
  33. package/lib/cascader/cascader.less +78 -76
  34. package/lib/cascader/cascader.variable.css +28 -25
  35. package/lib/cascader/index.d.ts +618 -0
  36. package/lib/cascader/index.js +749 -717
  37. package/lib/checkbox/checkbox.variable.css +2 -1
  38. package/lib/checkbox/index.js +39 -49
  39. package/lib/code-diff/code-diff.variable.css +2 -1
  40. package/lib/code-diff/index.js +81 -85
  41. package/lib/collapse/collapse.variable.css +2 -1
  42. package/lib/collapse/index.js +36 -42
  43. package/lib/collapse-transition/collapse-transition.variable.css +2 -1
  44. package/lib/collapse-transition/index.js +16 -22
  45. package/lib/color-picker/color-picker.variable.css +2 -1
  46. package/lib/color-picker/index.js +682 -689
  47. package/lib/components.js +1 -1
  48. package/lib/config-provider/config-provider.variable.css +2 -1
  49. package/lib/config-provider/index.d.ts +1 -1
  50. package/lib/config-provider/index.js +32 -40
  51. package/lib/container/container.variable.css +2 -1
  52. package/lib/container/index.js +26 -32
  53. package/lib/date-picker/date-picker.d.ts +2 -1
  54. package/lib/date-picker/date-picker.variable.css +2 -1
  55. package/lib/date-picker/index.d.ts +6 -2
  56. package/lib/date-picker/index.js +717 -736
  57. package/lib/date-picker/panel/date-range.d.ts +2 -1
  58. package/lib/date-picker/panel/time.d.ts +1 -1
  59. package/lib/date-picker/utils.d.ts +5 -17
  60. package/lib/dialog/dialog.css +20 -1
  61. package/lib/dialog/dialog.variable.css +22 -2
  62. package/lib/dialog/index.js +100 -137
  63. package/lib/directives/index.js +509 -518
  64. package/lib/dist.index.js +1 -1
  65. package/lib/divider/divider.variable.css +2 -1
  66. package/lib/divider/index.js +18 -24
  67. package/lib/dropdown/dropdown.d.ts +1 -0
  68. package/lib/dropdown/dropdown.variable.css +2 -1
  69. package/lib/dropdown/index.d.ts +3 -0
  70. package/lib/dropdown/index.js +45 -52
  71. package/lib/exception/exception.variable.css +2 -1
  72. package/lib/exception/index.js +51 -57
  73. package/lib/fixed-navbar/fixed-navbar.variable.css +2 -1
  74. package/lib/fixed-navbar/index.js +16 -22
  75. package/lib/form/form-item.d.ts +19 -0
  76. package/lib/form/form.css +16 -4
  77. package/lib/form/form.less +24 -6
  78. package/lib/form/form.variable.css +18 -5
  79. package/lib/form/index.d.ts +13 -0
  80. package/lib/form/index.js +677 -708
  81. package/lib/hooks.js +1 -1
  82. package/lib/icon/angle-double-down-line.js +13 -15
  83. package/lib/icon/angle-double-left-line.js +13 -15
  84. package/lib/icon/angle-double-left.js +13 -15
  85. package/lib/icon/angle-double-right-line.js +13 -15
  86. package/lib/icon/angle-double-right.js +13 -15
  87. package/lib/icon/angle-double-up-line.js +13 -15
  88. package/lib/icon/angle-down-fill.js +13 -15
  89. package/lib/icon/angle-down-line.js +13 -15
  90. package/lib/icon/angle-down.js +13 -15
  91. package/lib/icon/angle-left.js +13 -15
  92. package/lib/icon/angle-right.js +13 -15
  93. package/lib/icon/angle-up-fill.js +13 -15
  94. package/lib/icon/angle-up.js +13 -15
  95. package/lib/icon/archive-fill.js +13 -15
  96. package/lib/icon/arrows-left.js +13 -15
  97. package/lib/icon/arrows-right.js +13 -15
  98. package/lib/icon/assistant.js +13 -15
  99. package/lib/icon/audio-fill.js +13 -15
  100. package/lib/icon/bk.js +13 -15
  101. package/lib/icon/circle.js +13 -15
  102. package/lib/icon/close-line.js +13 -15
  103. package/lib/icon/close.js +13 -15
  104. package/lib/icon/code.js +13 -15
  105. package/lib/icon/cog-shape.js +13 -15
  106. package/lib/icon/collapse-left.js +13 -15
  107. package/lib/icon/copy-shape.js +13 -15
  108. package/lib/icon/copy.js +13 -15
  109. package/lib/icon/data-shape.js +13 -15
  110. package/lib/icon/del.js +13 -15
  111. package/lib/icon/doc-fill.js +13 -15
  112. package/lib/icon/done.js +13 -15
  113. package/lib/icon/down-shape.js +13 -15
  114. package/lib/icon/down-small.js +13 -15
  115. package/lib/icon/edit-line.js +13 -15
  116. package/lib/icon/ellipsis.js +13 -15
  117. package/lib/icon/enlarge-line.js +13 -15
  118. package/lib/icon/error.js +13 -15
  119. package/lib/icon/excel-fill.js +13 -15
  120. package/lib/icon/exclamation-circle-shape.js +13 -15
  121. package/lib/icon/eye.js +13 -15
  122. package/lib/icon/filliscreen-line.js +13 -15
  123. package/lib/icon/fix-line.js +13 -15
  124. package/lib/icon/fix-shape.js +13 -15
  125. package/lib/icon/folder-open.js +13 -15
  126. package/lib/icon/folder-shape-open.js +13 -15
  127. package/lib/icon/folder-shape.js +13 -15
  128. package/lib/icon/folder.js +13 -15
  129. package/lib/icon/funnel.js +13 -15
  130. package/lib/icon/grag-fill.js +13 -15
  131. package/lib/icon/help-document-fill.js +13 -15
  132. package/lib/icon/help-fill.js +13 -15
  133. package/lib/icon/help.js +13 -15
  134. package/lib/icon/image-fill.js +13 -15
  135. package/lib/icon/img-error.js +13 -15
  136. package/lib/icon/img-placehoulder.js +13 -15
  137. package/lib/icon/index.js +1 -1
  138. package/lib/icon/info-line.js +13 -15
  139. package/lib/icon/info.js +13 -15
  140. package/lib/icon/left-shape.js +13 -15
  141. package/lib/icon/left-turn-line.js +13 -15
  142. package/lib/icon/loading.js +13 -15
  143. package/lib/icon/narrow-line.js +13 -15
  144. package/lib/icon/original.js +13 -15
  145. package/lib/icon/pdf-fill.js +13 -15
  146. package/lib/icon/play-shape.js +13 -15
  147. package/lib/icon/plus.js +13 -15
  148. package/lib/icon/ppt-fill.js +13 -15
  149. package/lib/icon/qq.js +13 -15
  150. package/lib/icon/right-shape.js +13 -15
  151. package/lib/icon/right-turn-line.js +13 -15
  152. package/lib/icon/search.js +13 -15
  153. package/lib/icon/share.js +13 -15
  154. package/lib/icon/spinner.js +13 -15
  155. package/lib/icon/success.js +13 -15
  156. package/lib/icon/switcher-loading.js +13 -15
  157. package/lib/icon/text-all.js +13 -15
  158. package/lib/icon/text-file.js +13 -15
  159. package/lib/icon/text-fill.js +13 -15
  160. package/lib/icon/transfer.js +13 -15
  161. package/lib/icon/tree-application-shape.js +13 -15
  162. package/lib/icon/unfull-screen.js +13 -15
  163. package/lib/icon/unvisible.js +13 -15
  164. package/lib/icon/up-shape.js +13 -15
  165. package/lib/icon/upload.js +13 -15
  166. package/lib/icon/video-fill.js +13 -15
  167. package/lib/icon/warn.js +13 -15
  168. package/lib/icon/weixin-pro.js +13 -15
  169. package/lib/icon/weixin.js +13 -15
  170. package/lib/image/image-viewer.variable.css +2 -1
  171. package/lib/image/image.variable.css +2 -1
  172. package/lib/image/index.js +335 -352
  173. package/lib/index.js +1 -1
  174. package/lib/info-box/index.js +109 -108
  175. package/lib/info-box/info-box.css +20 -1
  176. package/lib/info-box/info-box.d.ts +1 -0
  177. package/lib/info-box/info-box.less +28 -2
  178. package/lib/info-box/info-box.variable.css +23 -3
  179. package/lib/input/index.d.ts +39 -20
  180. package/lib/input/index.js +448 -444
  181. package/lib/input/input.css +6 -0
  182. package/lib/input/input.d.ts +33 -19
  183. package/lib/input/input.less +7 -0
  184. package/lib/input/input.variable.css +8 -1
  185. package/lib/link/index.js +20 -28
  186. package/lib/link/link.variable.css +2 -1
  187. package/lib/loading/index.js +34 -32
  188. package/lib/loading/loading.variable.css +2 -1
  189. package/lib/locale/index.d.ts +1 -0
  190. package/lib/locale/index.js +175 -7
  191. package/lib/locale/lang/ja-jp.d.ts +3 -0
  192. package/lib/menu/index.js +44 -49
  193. package/lib/menu/menu.css +5 -4
  194. package/lib/menu/menu.less +1 -0
  195. package/lib/menu/menu.variable.css +7 -5
  196. package/lib/menu/submenu.variable.css +2 -1
  197. package/lib/message/index.js +102 -74
  198. package/lib/message/message.variable.css +2 -1
  199. package/lib/message/messageConstructor.d.ts +1 -1
  200. package/lib/modal/index.js +43 -45
  201. package/lib/modal/modal.css +20 -1
  202. package/lib/modal/modal.variable.css +22 -2
  203. package/lib/navigation/index.js +22 -30
  204. package/lib/navigation/navigation.css +29 -29
  205. package/lib/navigation/navigation.less +29 -29
  206. package/lib/navigation/navigation.variable.css +31 -30
  207. package/lib/notify/index.js +69 -60
  208. package/lib/notify/notify.variable.css +2 -1
  209. package/lib/overflow-title/components/overflow-title.d.ts +6 -2
  210. package/lib/overflow-title/index.d.ts +12 -4
  211. package/lib/overflow-title/index.js +32 -44
  212. package/lib/overflow-title/props.d.ts +3 -1
  213. package/lib/pagination/index.js +68 -76
  214. package/lib/pagination/pagination.css +1 -0
  215. package/lib/pagination/pagination.less +1 -0
  216. package/lib/pagination/pagination.variable.css +3 -1
  217. package/lib/pop-confirm/index.d.ts +592 -0
  218. package/lib/pop-confirm/index.js +43 -55
  219. package/lib/pop-confirm/pop-confirm.d.ts +296 -0
  220. package/lib/pop-confirm/pop-confirm.variable.css +2 -1
  221. package/lib/pop-confirm/props.d.ts +148 -0
  222. package/lib/popover/index.d.ts +18 -10
  223. package/lib/popover/index.js +582 -459
  224. package/lib/popover/popover.d.ts +8 -4
  225. package/lib/popover/popover.variable.css +2 -1
  226. package/lib/popover/props.d.ts +3 -1
  227. package/lib/popover/use-floating.d.ts +2 -2
  228. package/lib/popover/use-popover-init.d.ts +2 -2
  229. package/lib/popover/use-popper-id.d.ts +3 -1
  230. package/lib/popover2/index.js +12 -16
  231. package/lib/preset.js +1 -1
  232. package/lib/process/index.js +76 -80
  233. package/lib/process/process.d.ts +1 -1
  234. package/lib/process/process.variable.css +2 -1
  235. package/lib/progress/index.js +24 -30
  236. package/lib/progress/progress.variable.css +2 -1
  237. package/lib/radio/index.js +36 -44
  238. package/lib/radio/radio.variable.css +2 -1
  239. package/lib/rate/index.js +22 -28
  240. package/lib/rate/rate.variable.css +2 -1
  241. package/lib/resize-layout/index.js +24 -32
  242. package/lib/resize-layout/resize-layout.css +1 -0
  243. package/lib/resize-layout/resize-layout.less +1 -0
  244. package/lib/resize-layout/resize-layout.variable.css +3 -1
  245. package/lib/scrollbar/css/scrollbar.variable.css +2 -1
  246. package/lib/scrollbar/index.js +31 -31
  247. package/lib/search-select/index.d.ts +39 -11
  248. package/lib/search-select/index.js +576 -547
  249. package/lib/search-select/input.d.ts +5 -1
  250. package/lib/search-select/search-select.d.ts +13 -4
  251. package/lib/search-select/search-select.variable.css +2 -1
  252. package/lib/search-select/selected.d.ts +10 -2
  253. package/lib/search-select/utils.d.ts +1 -0
  254. package/lib/select/common.d.ts +0 -1
  255. package/lib/select/index.d.ts +55 -11
  256. package/lib/select/index.js +570 -619
  257. package/lib/select/optionGroup.d.ts +12 -1
  258. package/lib/select/select.d.ts +20 -4
  259. package/lib/select/select.variable.css +2 -1
  260. package/lib/select/type.d.ts +1 -0
  261. package/lib/shared/index.d.ts +1 -1
  262. package/lib/shared/index.js +59 -67
  263. package/lib/shared/z-index-manager.d.ts +1 -1
  264. package/lib/sideslider/index.js +86 -94
  265. package/lib/sideslider/sideslider.variable.css +2 -1
  266. package/lib/slider/index.d.ts +1 -1
  267. package/lib/slider/index.js +80 -89
  268. package/lib/slider/slider-button.d.ts +1 -1
  269. package/lib/slider/slider.d.ts +1 -1
  270. package/lib/slider/slider.variable.css +2 -1
  271. package/lib/steps/index.js +85 -92
  272. package/lib/steps/steps.css +24 -11
  273. package/lib/steps/steps.d.ts +1 -1
  274. package/lib/steps/steps.less +28 -10
  275. package/lib/steps/steps.variable.css +26 -12
  276. package/lib/styles/mixins/animate.variable.css +2 -1
  277. package/lib/styles/mixins/popper.variable.css +2 -1
  278. package/lib/styles/mixins/scroll.variable.css +2 -1
  279. package/lib/styles/reset.variable.css +2 -1
  280. package/lib/styles/themes/themes.less +4 -1
  281. package/lib/swiper/index.js +20 -26
  282. package/lib/swiper/swiper.variable.css +2 -1
  283. package/lib/switcher/index.js +24 -32
  284. package/lib/switcher/switcher.variable.css +2 -1
  285. package/lib/tab/index.d.ts +12 -0
  286. package/lib/tab/index.js +344 -353
  287. package/lib/tab/props.d.ts +3 -0
  288. package/lib/tab/tab.d.ts +6 -0
  289. package/lib/tab/tab.variable.css +2 -1
  290. package/lib/table/index.js +632 -691
  291. package/lib/table/plugins/head-filter.variable.css +2 -1
  292. package/lib/table/plugins/head-sort.variable.css +2 -1
  293. package/lib/table/plugins/settings.variable.css +2 -1
  294. package/lib/table/table.css +1 -0
  295. package/lib/table/table.variable.css +3 -1
  296. package/lib/table-column/index.js +10 -14
  297. package/lib/tag/index.js +28 -38
  298. package/lib/tag/tag.variable.css +2 -1
  299. package/lib/tag-input/index.d.ts +79 -6
  300. package/lib/tag-input/index.js +2341 -791
  301. package/lib/tag-input/tag-input.css +31 -0
  302. package/lib/tag-input/tag-input.d.ts +35 -3
  303. package/lib/tag-input/tag-input.less +36 -0
  304. package/lib/tag-input/tag-input.variable.css +33 -1
  305. package/lib/tag-input/tag-props.d.ts +13 -1
  306. package/lib/tag-input/tag-render.d.ts +24 -2
  307. package/lib/time-picker/index.js +10 -14
  308. package/lib/time-picker/time-picker.variable.css +2 -1
  309. package/lib/timeline/index.js +1368 -25
  310. package/lib/timeline/timeline.d.ts +1 -1
  311. package/lib/timeline/timeline.variable.css +2 -1
  312. package/lib/transfer/index.d.ts +1 -24
  313. package/lib/transfer/index.js +61 -67
  314. package/lib/transfer/props.d.ts +0 -5
  315. package/lib/transfer/transfer.css +26 -8
  316. package/lib/transfer/transfer.d.ts +1 -12
  317. package/lib/transfer/transfer.less +18 -8
  318. package/lib/transfer/transfer.variable.css +28 -9
  319. package/lib/tree/constant.d.ts +2 -0
  320. package/lib/tree/index.d.ts +71 -11
  321. package/lib/tree/index.js +17743 -209
  322. package/lib/tree/props.d.ts +38 -3
  323. package/lib/tree/tree.css +46 -0
  324. package/lib/tree/tree.d.ts +33 -5
  325. package/lib/tree/tree.less +57 -2
  326. package/lib/tree/tree.variable.css +48 -1
  327. package/lib/tree/use-array-move.d.ts +6 -0
  328. package/lib/tree/use-node-action.d.ts +2 -2
  329. package/lib/tree/use-node-attribute.d.ts +3 -0
  330. package/lib/upload/index.js +570 -582
  331. package/lib/upload/upload.variable.css +2 -1
  332. package/lib/virtual-render/index.js +50 -62
  333. package/lib/virtual-render/virtual-render.variable.css +2 -1
  334. package/lib/volar.components.d.ts +2 -1
  335. package/package.json +13 -2
  336. package/dist/style.css +0 -1
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, VNode } from 'vue';
1
+ import { ExtractPropTypes, PropType, VNode } from 'vue';
2
2
  declare enum TreeSearchMatchEnum {
3
3
  FULL = "full",
4
4
  FUZZY = "fuzzy"
@@ -11,6 +11,8 @@ export type TreeNode = {
11
11
  [key: string]: unknown;
12
12
  children?: TreeNode[];
13
13
  };
14
+ export type DropType = 'child' | 'move' | 'sort';
15
+ export type DisableDropHandler = (data: TreeNode, type: DropType, target: TreeNode) => boolean;
14
16
  /**
15
17
  * Tree Prop: prefixIcon function
16
18
  * @param {} isRoot 是否为分跟节点
@@ -129,8 +131,23 @@ export declare const treeProps: {
129
131
  disableDrag: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
130
132
  default: (...args: any[]) => any;
131
133
  };
132
- disableDrop: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
133
- default: (...args: any[]) => any;
134
+ /**
135
+ * 是否禁用拖拽释放操作
136
+ * @param data
137
+ * @param type
138
+ * @param target
139
+ * @returns
140
+ */
141
+ disableDrop: PropType<DisableDropHandler>;
142
+ /**
143
+ * 拖拽阈值
144
+ * 用于判断拖拽时鼠标位置与节点的距离
145
+ * 当鼠标位置与节点的距离大于此值时,才会触发拖拽
146
+ */
147
+ dragThreshold: import("vue-types").VueTypeValidableDef<number> & {
148
+ default: number;
149
+ } & {
150
+ default: number;
134
151
  };
135
152
  /**
136
153
  * 节点拖拽时可交换位置(开启拖拽可交换位置后将不支持改变层级)
@@ -140,6 +157,15 @@ export declare const treeProps: {
140
157
  } & {
141
158
  default: boolean;
142
159
  };
160
+ /**
161
+ * 拖拽排序模式
162
+ * - any: 允许拖拽到任意位置
163
+ * - next: 只允许拖拽到同级节点的前后位置
164
+ * 默认 any
165
+ */
166
+ dragSortMode: import("vue-types").VueTypeDef<string> & {
167
+ default: string;
168
+ };
143
169
  /**
144
170
  * 节点是否可以选中
145
171
  */
@@ -157,6 +183,14 @@ export declare const treeProps: {
157
183
  showCheckbox: import("vue-types").VueTypeDef<any> & {
158
184
  default: any;
159
185
  };
186
+ /**
187
+ * 是否禁用节点复选框
188
+ */
189
+ disableCheck: import("vue-types").VueTypeValidableDef<boolean> & {
190
+ default: boolean;
191
+ } & {
192
+ default: boolean;
193
+ };
160
194
  /**
161
195
  * 默认选中的节点id,selectable为false时无效
162
196
  */
@@ -240,6 +274,7 @@ type AsyncOption = {
240
274
  callback: (item: any, cb: any) => Promise<VNode | string>;
241
275
  cache: boolean;
242
276
  deepAutoOpen?: string;
277
+ trigger?: string[];
243
278
  };
244
279
  export type IIntersectionObserver = {
245
280
  enabled: boolean;
package/lib/tree/tree.css CHANGED
@@ -257,13 +257,33 @@
257
257
  }
258
258
  .bk-tree {
259
259
  font-size: 14px;
260
+ position: relative;
260
261
  }
261
262
  .bk-tree .bk-node-row {
262
263
  padding-left: calc(var(--offset-left));
264
+ position: relative;
263
265
  }
264
266
  .bk-tree .bk-node-row.is-selected {
265
267
  background-color: #ebf2ff;
266
268
  }
269
+ .bk-tree .bk-node-row.drop-before::before {
270
+ content: '';
271
+ position: absolute;
272
+ top: 0;
273
+ left: 0;
274
+ right: 0;
275
+ height: 1px;
276
+ background-color: #2196F3;
277
+ }
278
+ .bk-tree .bk-node-row.drop-after::before {
279
+ content: '';
280
+ position: absolute;
281
+ bottom: 0;
282
+ left: 0;
283
+ right: 0;
284
+ height: 1px;
285
+ background-color: #2196F3;
286
+ }
267
287
  .bk-tree-node {
268
288
  position: relative;
269
289
  display: flex;
@@ -276,6 +296,20 @@
276
296
  .bk-tree-node:not(.is-root) {
277
297
  margin-left: calc(var(--depth)*var(--indent));
278
298
  }
299
+ .bk-tree-node:not(.is-root).level-line .bk-node-action.empty-child {
300
+ position: relative;
301
+ }
302
+ .bk-tree-node:not(.is-root).level-line .bk-node-action.empty-child::before {
303
+ position: absolute;
304
+ top: calc(50% + 1px);
305
+ left: 0;
306
+ right: 0;
307
+ z-index: 1;
308
+ height: 0;
309
+ pointer-events: none;
310
+ border-bottom: var(--level-line);
311
+ content: '';
312
+ }
279
313
  .bk-tree-node:not(.is-root).level-line::before {
280
314
  position: absolute;
281
315
  top: calc(50% + 1px);
@@ -309,6 +343,7 @@
309
343
  .bk-tree-node .bk-node-action {
310
344
  margin-right: 6px;
311
345
  color: #979ba5;
346
+ min-width: 14px;
312
347
  }
313
348
  .bk-tree-node .bk-tree-icon {
314
349
  margin: 0 6px 0 4px;
@@ -319,6 +354,9 @@
319
354
  align-items: center;
320
355
  min-width: 0;
321
356
  }
357
+ .bk-tree-node .bk-node-content .node-check-box {
358
+ display: inline-flex;
359
+ }
322
360
  .bk-tree-node .bk-node-content .bk-checkbox {
323
361
  margin: 0;
324
362
  }
@@ -340,3 +378,11 @@
340
378
  .bk-tree-drop-disabled .bk-tree-node {
341
379
  cursor: no-drop;
342
380
  }
381
+ .bk-tree .insert-line {
382
+ position: absolute;
383
+ height: 2px;
384
+ background: #2196F3;
385
+ display: none;
386
+ pointer-events: none;
387
+ z-index: 999;
388
+ }
@@ -49,6 +49,7 @@ declare const _default: import("vue").DefineComponent<{
49
49
  }>>;
50
50
  cache: boolean;
51
51
  deepAutoOpen?: string;
52
+ trigger?: string[];
52
53
  }>;
53
54
  offsetLeft: import("vue-types").VueTypeValidableDef<number> & {
54
55
  default: number;
@@ -71,14 +72,20 @@ declare const _default: import("vue").DefineComponent<{
71
72
  disableDrag: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
72
73
  default: (...args: any[]) => any;
73
74
  };
74
- disableDrop: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
75
- default: (...args: any[]) => any;
75
+ disableDrop: import("vue").PropType<import("./props").DisableDropHandler>;
76
+ dragThreshold: import("vue-types").VueTypeValidableDef<number> & {
77
+ default: number;
78
+ } & {
79
+ default: number;
76
80
  };
77
81
  dragSort: import("vue-types").VueTypeValidableDef<boolean> & {
78
82
  default: boolean;
79
83
  } & {
80
84
  default: boolean;
81
85
  };
86
+ dragSortMode: import("vue-types").VueTypeDef<string> & {
87
+ default: string;
88
+ };
82
89
  selectable: import("vue-types").VueTypeDef<any> & {
83
90
  default: any;
84
91
  };
@@ -90,6 +97,11 @@ declare const _default: import("vue").DefineComponent<{
90
97
  showCheckbox: import("vue-types").VueTypeDef<any> & {
91
98
  default: any;
92
99
  };
100
+ disableCheck: import("vue-types").VueTypeValidableDef<boolean> & {
101
+ default: boolean;
102
+ } & {
103
+ default: boolean;
104
+ };
93
105
  checked: import("vue-types").VueTypeDef<any[]> & {
94
106
  default: () => any[];
95
107
  };
@@ -138,6 +150,7 @@ declare const _default: import("vue").DefineComponent<{
138
150
  nodeDragStart: (..._args: any[]) => boolean;
139
151
  nodeDragOver: (..._args: any[]) => boolean;
140
152
  nodeDragLeave: (..._args: any[]) => boolean;
153
+ nodeDragSort: (..._args: any[]) => boolean;
141
154
  nodeDrop: (..._args: any[]) => boolean;
142
155
  nodeEnterView: (..._args: any[]) => boolean;
143
156
  nodeSelected: (..._args: any[]) => boolean;
@@ -186,6 +199,7 @@ declare const _default: import("vue").DefineComponent<{
186
199
  }>>;
187
200
  cache: boolean;
188
201
  deepAutoOpen?: string;
202
+ trigger?: string[];
189
203
  }>;
190
204
  offsetLeft: import("vue-types").VueTypeValidableDef<number> & {
191
205
  default: number;
@@ -208,14 +222,20 @@ declare const _default: import("vue").DefineComponent<{
208
222
  disableDrag: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
209
223
  default: (...args: any[]) => any;
210
224
  };
211
- disableDrop: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
212
- default: (...args: any[]) => any;
225
+ disableDrop: import("vue").PropType<import("./props").DisableDropHandler>;
226
+ dragThreshold: import("vue-types").VueTypeValidableDef<number> & {
227
+ default: number;
228
+ } & {
229
+ default: number;
213
230
  };
214
231
  dragSort: import("vue-types").VueTypeValidableDef<boolean> & {
215
232
  default: boolean;
216
233
  } & {
217
234
  default: boolean;
218
235
  };
236
+ dragSortMode: import("vue-types").VueTypeDef<string> & {
237
+ default: string;
238
+ };
219
239
  selectable: import("vue-types").VueTypeDef<any> & {
220
240
  default: any;
221
241
  };
@@ -227,6 +247,11 @@ declare const _default: import("vue").DefineComponent<{
227
247
  showCheckbox: import("vue-types").VueTypeDef<any> & {
228
248
  default: any;
229
249
  };
250
+ disableCheck: import("vue-types").VueTypeValidableDef<boolean> & {
251
+ default: boolean;
252
+ } & {
253
+ default: boolean;
254
+ };
230
255
  checked: import("vue-types").VueTypeDef<any[]> & {
231
256
  default: () => any[];
232
257
  };
@@ -273,6 +298,7 @@ declare const _default: import("vue").DefineComponent<{
273
298
  onNodeCollapse?: (...args: any[]) => any;
274
299
  onNodeDragLeave?: (...args: any[]) => any;
275
300
  onNodeDragOver?: (...args: any[]) => any;
301
+ onNodeDragSort?: (...args: any[]) => any;
276
302
  onNodeDragStart?: (...args: any[]) => any;
277
303
  onNodeDrop?: (...args: any[]) => any;
278
304
  onNodeEnterView?: (...args: any[]) => any;
@@ -295,11 +321,13 @@ declare const _default: import("vue").DefineComponent<{
295
321
  levelLine: any;
296
322
  virtualRender: boolean;
297
323
  disableDrag: (...args: any[]) => any;
298
- disableDrop: (...args: any[]) => any;
324
+ dragThreshold: number;
299
325
  dragSort: boolean;
326
+ dragSortMode: string;
300
327
  selectable: any;
301
328
  disabledFolderSelectable: boolean;
302
329
  showCheckbox: any;
330
+ disableCheck: boolean;
303
331
  showNodeTypeIcon: boolean;
304
332
  autoCheckChildren: any;
305
333
  autoOpenParentNode: boolean;
@@ -5,13 +5,38 @@
5
5
 
6
6
  .@{bk-prefix}-tree {
7
7
  font-size: 14px;
8
+ position: relative;
8
9
 
9
10
  .@{bk-prefix}-node-row {
10
11
  padding-left: calc(var(--offset-left));
12
+ position: relative;
11
13
 
12
14
  &.is-selected {
13
15
  background-color: #ebf2ff;
14
16
  }
17
+
18
+ &.drop-before {
19
+ &::before {
20
+ content: '';
21
+ position: absolute;
22
+ top: 0;
23
+ left: 0;
24
+ right: 0;
25
+ height: 1px;
26
+ background-color: #2196F3;
27
+ }
28
+ }
29
+ &.drop-after {
30
+ &::before {
31
+ content: '';
32
+ position: absolute;
33
+ bottom: 0;
34
+ left: 0;
35
+ right: 0;
36
+ height: 1px;
37
+ background-color: #2196F3;
38
+ }
39
+ }
15
40
  }
16
41
 
17
42
  &-node {
@@ -27,6 +52,25 @@
27
52
  margin-left: calc(var(--depth)*var(--indent));
28
53
 
29
54
  &.level-line {
55
+
56
+ .@{bk-prefix}-node-action {
57
+ &.empty-child {
58
+ position: relative;
59
+
60
+ &::before {
61
+ position: absolute;
62
+ top: calc(50% + 1px);
63
+ left: 0;
64
+ right: 0;
65
+ z-index: 1;
66
+ height: 0;
67
+ pointer-events: none;
68
+ border-bottom: var(--level-line);
69
+ content: '';
70
+ }
71
+ }
72
+ }
73
+
30
74
  &::before {
31
75
  position: absolute;
32
76
  top: calc(50% + 1px);
@@ -47,6 +91,7 @@
47
91
  }
48
92
  }
49
93
 
94
+
50
95
  .node-virtual-line {
51
96
  position: absolute;
52
97
  top: -12px;
@@ -68,6 +113,7 @@
68
113
  .@{bk-prefix}-node-action {
69
114
  margin-right: 6px;
70
115
  color: #979ba5;
116
+ min-width: 14px;
71
117
  }
72
118
 
73
119
  .@{bk-prefix}-tree-icon {
@@ -80,6 +126,10 @@
80
126
  align-items: center;
81
127
  min-width: 0;
82
128
 
129
+ .node-check-box {
130
+ display: inline-flex;
131
+ }
132
+
83
133
  .@{bk-prefix}-checkbox {
84
134
  margin: 0;
85
135
 
@@ -108,7 +158,12 @@
108
158
  }
109
159
  }
110
160
 
111
- &-drag-disabled {
112
-
161
+ .insert-line {
162
+ position: absolute;
163
+ height: 2px;
164
+ background: #2196F3;
165
+ display: none;
166
+ pointer-events: none;
167
+ z-index: 999;
113
168
  }
114
169
  }
@@ -98,7 +98,7 @@
98
98
  --submenu-bg-color: #151d2c;
99
99
  --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
100
100
  --menu-color: #96a2b9;
101
- --menu-group-color: var(--default-color);
101
+ --menu-group-color: #6E788B;
102
102
  --menu-width: 260px;
103
103
  --menu-collapse-width: 60px;
104
104
  --menu-active-color: white;
@@ -127,6 +127,7 @@
127
127
  --search-select-menu-border-color: var(--disable-color);
128
128
  --select-active-color: #e1ecff;
129
129
  --select-hover-color: #f5f7fa;
130
+ --sub-title-bg-color: #f5f6fa;
130
131
  }
131
132
  .bk-F-scroll-x {
132
133
  overflow-x: auto;
@@ -387,13 +388,33 @@
387
388
  }
388
389
  .bk-tree {
389
390
  font-size: 14px;
391
+ position: relative;
390
392
  }
391
393
  .bk-tree .bk-node-row {
392
394
  padding-left: calc(var(--offset-left));
395
+ position: relative;
393
396
  }
394
397
  .bk-tree .bk-node-row.is-selected {
395
398
  background-color: #ebf2ff;
396
399
  }
400
+ .bk-tree .bk-node-row.drop-before::before {
401
+ content: '';
402
+ position: absolute;
403
+ top: 0;
404
+ left: 0;
405
+ right: 0;
406
+ height: 1px;
407
+ background-color: #2196F3;
408
+ }
409
+ .bk-tree .bk-node-row.drop-after::before {
410
+ content: '';
411
+ position: absolute;
412
+ bottom: 0;
413
+ left: 0;
414
+ right: 0;
415
+ height: 1px;
416
+ background-color: #2196F3;
417
+ }
397
418
  .bk-tree-node {
398
419
  position: relative;
399
420
  display: flex;
@@ -406,6 +427,20 @@
406
427
  .bk-tree-node:not(.is-root) {
407
428
  margin-left: calc(var(--depth)*var(--indent));
408
429
  }
430
+ .bk-tree-node:not(.is-root).level-line .bk-node-action.empty-child {
431
+ position: relative;
432
+ }
433
+ .bk-tree-node:not(.is-root).level-line .bk-node-action.empty-child::before {
434
+ position: absolute;
435
+ top: calc(50% + 1px);
436
+ left: 0;
437
+ right: 0;
438
+ z-index: 1;
439
+ height: 0;
440
+ pointer-events: none;
441
+ border-bottom: var(--level-line);
442
+ content: '';
443
+ }
409
444
  .bk-tree-node:not(.is-root).level-line::before {
410
445
  position: absolute;
411
446
  top: calc(50% + 1px);
@@ -439,6 +474,7 @@
439
474
  .bk-tree-node .bk-node-action {
440
475
  margin-right: 6px;
441
476
  color: #979ba5;
477
+ min-width: 14px;
442
478
  }
443
479
  .bk-tree-node .bk-tree-icon {
444
480
  margin: 0 6px 0 4px;
@@ -449,6 +485,9 @@
449
485
  align-items: center;
450
486
  min-width: 0;
451
487
  }
488
+ .bk-tree-node .bk-node-content .node-check-box {
489
+ display: inline-flex;
490
+ }
452
491
  .bk-tree-node .bk-node-content .bk-checkbox {
453
492
  margin: 0;
454
493
  }
@@ -470,3 +509,11 @@
470
509
  .bk-tree-drop-disabled .bk-tree-node {
471
510
  cursor: no-drop;
472
511
  }
512
+ .bk-tree .insert-line {
513
+ position: absolute;
514
+ height: 2px;
515
+ background: #2196F3;
516
+ display: none;
517
+ pointer-events: none;
518
+ z-index: 999;
519
+ }
@@ -0,0 +1,6 @@
1
+ import { TreeNode } from './props';
2
+ type InsertPosition = 'insertAfter' | 'insertBefore';
3
+ export declare function useArrayMove(): {
4
+ moveElement: (arr: TreeNode[], sourceIndex: number, targetIndex: number, sourceChildCount?: number, targetChildCount?: number, position?: InsertPosition) => TreeNode[];
5
+ };
6
+ export {};
@@ -2,12 +2,12 @@ import { TreeNode, TreePropTypes } from './props';
2
2
  import { IFlatData } from './util';
3
3
  declare const _default: (props: TreePropTypes, ctx: any, flatData: IFlatData, _renderData: any, initOption: any) => {
4
4
  renderTreeNode: (item: TreeNode, showTree?: boolean) => JSX.Element;
5
- handleTreeNodeClick: (item: TreeNode, e: MouseEvent) => void;
5
+ handleTreeNodeClick: (item: TreeNode, e: MouseEvent, event?: string) => void;
6
6
  deepAutoOpen: () => void;
7
7
  asyncNodeClick: (item: TreeNode) => Promise<boolean> | Promise<void | Record<string, unknown>>;
8
8
  setNodeAction: (args: TreeNode | TreeNode[], action: string, value: unknown) => void;
9
9
  setNodeOpened: (item: TreeNode, isOpen?: any, e?: MouseEvent, fireEmit?: boolean) => void;
10
- setSelect: (nodes: TreeNode | TreeNode[], selected?: boolean, autoOpen?: boolean, triggerEvent?: boolean) => void;
10
+ setSelect: (nodes: TreeNode | TreeNode[], selected?: boolean, autoOpen?: boolean, triggerEvent?: boolean, event?: string) => void;
11
11
  setOpen: (item: TreeNode, isOpen?: boolean, autoOpenParents?: boolean) => void;
12
12
  setNodeAttribute: (node: TreeNode, attrName: string | string[], value: (boolean | number | string)[] | boolean | number | string, loopParent?: boolean) => void;
13
13
  isIndeterminate: (item: TreeNode) => any;
@@ -12,6 +12,9 @@ declare const _default: (flatData: {
12
12
  getNodePathById: (id: string) => any;
13
13
  getNodeAttrById: (id: string, attr: string) => any;
14
14
  getNodeParentIdById: (id: string) => any;
15
+ getNodeIndexById: (id: string) => number;
16
+ getNodeIndexByNode: (node: TreeNode) => number;
17
+ getRootNodeList: () => TreeNode[];
15
18
  getParentNodeAttr: (node: TreeNode, attrName: string) => any;
16
19
  getParentNode: (node: TreeNode) => any;
17
20
  setNodeAttr: (node: TreeNode, attr: string, val: unknown, id?: any) => void;