vxe-pc-ui 3.15.13 → 3.15.15

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 (329) hide show
  1. package/es/button/style.css +42 -72
  2. package/es/button/style.min.css +1 -1
  3. package/es/calendar/style.css +2 -2
  4. package/es/calendar/style.min.css +1 -1
  5. package/es/cascader/style.css +38 -40
  6. package/es/cascader/style.min.css +1 -1
  7. package/es/checkbox/src/button.js +3 -1
  8. package/es/checkbox/src/group.js +6 -1
  9. package/es/checkbox/style.css +22 -28
  10. package/es/checkbox/style.min.css +1 -1
  11. package/es/checkbox-button/style.css +155 -9
  12. package/es/checkbox-button/style.min.css +1 -1
  13. package/es/context-menu/style.css +14 -13
  14. package/es/context-menu/style.min.css +1 -1
  15. package/es/date-picker/src/date-picker.js +1 -1
  16. package/es/form/style.css +49 -95
  17. package/es/form/style.min.css +1 -1
  18. package/es/icon/style.css +1 -1
  19. package/es/icon-picker/src/icon-picker.js +165 -47
  20. package/es/icon-picker/style.css +49 -23
  21. package/es/icon-picker/style.min.css +1 -1
  22. package/es/language/ar-EG.js +3 -0
  23. package/es/language/de-DE.js +3 -0
  24. package/es/language/en-US.js +3 -0
  25. package/es/language/es-ES.js +3 -0
  26. package/es/language/fr-FR.js +3 -0
  27. package/es/language/hu-HU.js +3 -0
  28. package/es/language/hy-AM.js +3 -0
  29. package/es/language/id-ID.js +3 -0
  30. package/es/language/it-IT.js +3 -0
  31. package/es/language/ja-JP.js +3 -0
  32. package/es/language/ko-KR.js +3 -0
  33. package/es/language/ms-MY.js +3 -0
  34. package/es/language/nb-NO.js +3 -0
  35. package/es/language/pt-BR.js +3 -0
  36. package/es/language/ru-RU.js +3 -0
  37. package/es/language/th-TH.js +3 -0
  38. package/es/language/ug-CN.js +3 -0
  39. package/es/language/uk-UA.js +3 -0
  40. package/es/language/uz-UZ.js +3 -0
  41. package/es/language/vi-VN.js +3 -0
  42. package/es/language/zh-CHT.js +3 -0
  43. package/es/language/zh-CN.js +3 -0
  44. package/es/list/src/list.js +15 -1
  45. package/es/list/style.css +26 -28
  46. package/es/list/style.min.css +1 -1
  47. package/es/menu/style.css +22 -30
  48. package/es/menu/style.min.css +1 -1
  49. package/es/radio/src/button.js +3 -1
  50. package/es/radio/src/group.js +6 -1
  51. package/es/radio/style.css +22 -30
  52. package/es/radio/style.min.css +1 -1
  53. package/es/radio-button/style.css +155 -9
  54. package/es/radio-button/style.min.css +1 -1
  55. package/es/select/style.css +42 -59
  56. package/es/select/style.min.css +1 -1
  57. package/es/style.css +1 -1
  58. package/es/style.min.css +1 -1
  59. package/es/tree/src/tree.js +246 -4
  60. package/es/tree/src/util.js +15 -0
  61. package/es/tree/style.css +26 -25
  62. package/es/tree/style.min.css +1 -1
  63. package/es/tree-select/style.css +27 -31
  64. package/es/tree-select/style.min.css +1 -1
  65. package/es/ui/index.js +5 -2
  66. package/es/ui/src/log.js +1 -1
  67. package/es/upload/style.css +30 -41
  68. package/es/upload/style.min.css +1 -1
  69. package/es/vxe-button/style.css +42 -72
  70. package/es/vxe-button/style.min.css +1 -1
  71. package/es/vxe-calendar/style.css +2 -2
  72. package/es/vxe-calendar/style.min.css +1 -1
  73. package/es/vxe-cascader/style.css +38 -40
  74. package/es/vxe-cascader/style.min.css +1 -1
  75. package/es/vxe-checkbox/style.css +22 -28
  76. package/es/vxe-checkbox/style.min.css +1 -1
  77. package/es/vxe-checkbox-button/style.css +155 -9
  78. package/es/vxe-checkbox-button/style.min.css +1 -1
  79. package/es/vxe-context-menu/style.css +14 -13
  80. package/es/vxe-context-menu/style.min.css +1 -1
  81. package/es/vxe-form/style.css +49 -95
  82. package/es/vxe-form/style.min.css +1 -1
  83. package/es/vxe-icon-picker/style.css +49 -23
  84. package/es/vxe-icon-picker/style.min.css +1 -1
  85. package/es/vxe-list/style.css +26 -28
  86. package/es/vxe-list/style.min.css +1 -1
  87. package/es/vxe-menu/style.css +22 -30
  88. package/es/vxe-menu/style.min.css +1 -1
  89. package/es/vxe-radio/style.css +22 -30
  90. package/es/vxe-radio/style.min.css +1 -1
  91. package/es/vxe-radio-button/style.css +155 -9
  92. package/es/vxe-radio-button/style.min.css +1 -1
  93. package/es/vxe-select/style.css +42 -59
  94. package/es/vxe-select/style.min.css +1 -1
  95. package/es/vxe-tree/style.css +26 -25
  96. package/es/vxe-tree/style.min.css +1 -1
  97. package/es/vxe-tree-select/style.css +27 -31
  98. package/es/vxe-tree-select/style.min.css +1 -1
  99. package/es/vxe-upload/style.css +30 -41
  100. package/es/vxe-upload/style.min.css +1 -1
  101. package/lib/button/style/style.css +42 -72
  102. package/lib/button/style/style.min.css +1 -1
  103. package/lib/calendar/style/style.css +2 -2
  104. package/lib/calendar/style/style.min.css +1 -1
  105. package/lib/cascader/style/style.css +38 -40
  106. package/lib/cascader/style/style.min.css +1 -1
  107. package/lib/checkbox/src/button.js +3 -1
  108. package/lib/checkbox/src/button.min.js +1 -1
  109. package/lib/checkbox/src/group.js +13 -5
  110. package/lib/checkbox/src/group.min.js +1 -1
  111. package/lib/checkbox/style/style.css +22 -28
  112. package/lib/checkbox/style/style.min.css +1 -1
  113. package/lib/checkbox-button/style/style.css +155 -9
  114. package/lib/checkbox-button/style/style.min.css +1 -1
  115. package/lib/context-menu/style/style.css +14 -13
  116. package/lib/context-menu/style/style.min.css +1 -1
  117. package/lib/date-picker/src/date-picker.js +1 -1
  118. package/lib/date-picker/src/date-picker.min.js +1 -1
  119. package/lib/form/style/style.css +49 -95
  120. package/lib/form/style/style.min.css +1 -1
  121. package/lib/icon/style/style.css +1 -1
  122. package/lib/icon/style/style.min.css +1 -1
  123. package/lib/icon-picker/src/icon-picker.js +154 -28
  124. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  125. package/lib/icon-picker/style/style.css +49 -23
  126. package/lib/icon-picker/style/style.min.css +1 -1
  127. package/lib/index.umd.js +507 -44
  128. package/lib/index.umd.min.js +1 -1
  129. package/lib/language/ar-EG.js +3 -0
  130. package/lib/language/ar-EG.min.js +1 -1
  131. package/lib/language/ar-EG.umd.js +3 -0
  132. package/lib/language/de-DE.js +3 -0
  133. package/lib/language/de-DE.min.js +1 -1
  134. package/lib/language/de-DE.umd.js +3 -0
  135. package/lib/language/en-US.js +3 -0
  136. package/lib/language/en-US.min.js +1 -1
  137. package/lib/language/en-US.umd.js +3 -0
  138. package/lib/language/es-ES.js +3 -0
  139. package/lib/language/es-ES.min.js +1 -1
  140. package/lib/language/es-ES.umd.js +3 -0
  141. package/lib/language/fr-FR.js +3 -0
  142. package/lib/language/fr-FR.min.js +1 -1
  143. package/lib/language/fr-FR.umd.js +3 -0
  144. package/lib/language/hu-HU.js +3 -0
  145. package/lib/language/hu-HU.min.js +1 -1
  146. package/lib/language/hu-HU.umd.js +3 -0
  147. package/lib/language/hy-AM.js +3 -0
  148. package/lib/language/hy-AM.min.js +1 -1
  149. package/lib/language/hy-AM.umd.js +3 -0
  150. package/lib/language/id-ID.js +3 -0
  151. package/lib/language/id-ID.min.js +1 -1
  152. package/lib/language/id-ID.umd.js +3 -0
  153. package/lib/language/it-IT.js +3 -0
  154. package/lib/language/it-IT.min.js +1 -1
  155. package/lib/language/it-IT.umd.js +3 -0
  156. package/lib/language/ja-JP.js +3 -0
  157. package/lib/language/ja-JP.min.js +1 -1
  158. package/lib/language/ja-JP.umd.js +3 -0
  159. package/lib/language/ko-KR.js +3 -0
  160. package/lib/language/ko-KR.min.js +1 -1
  161. package/lib/language/ko-KR.umd.js +3 -0
  162. package/lib/language/ms-MY.js +3 -0
  163. package/lib/language/ms-MY.min.js +1 -1
  164. package/lib/language/ms-MY.umd.js +3 -0
  165. package/lib/language/nb-NO.js +3 -0
  166. package/lib/language/nb-NO.min.js +1 -1
  167. package/lib/language/nb-NO.umd.js +3 -0
  168. package/lib/language/pt-BR.js +3 -0
  169. package/lib/language/pt-BR.min.js +1 -1
  170. package/lib/language/pt-BR.umd.js +3 -0
  171. package/lib/language/ru-RU.js +3 -0
  172. package/lib/language/ru-RU.min.js +1 -1
  173. package/lib/language/ru-RU.umd.js +3 -0
  174. package/lib/language/th-TH.js +3 -0
  175. package/lib/language/th-TH.min.js +1 -1
  176. package/lib/language/th-TH.umd.js +3 -0
  177. package/lib/language/ug-CN.js +3 -0
  178. package/lib/language/ug-CN.min.js +1 -1
  179. package/lib/language/ug-CN.umd.js +3 -0
  180. package/lib/language/uk-UA.js +3 -0
  181. package/lib/language/uk-UA.min.js +1 -1
  182. package/lib/language/uk-UA.umd.js +3 -0
  183. package/lib/language/uz-UZ.js +3 -0
  184. package/lib/language/uz-UZ.min.js +1 -1
  185. package/lib/language/uz-UZ.umd.js +3 -0
  186. package/lib/language/vi-VN.js +3 -0
  187. package/lib/language/vi-VN.min.js +1 -1
  188. package/lib/language/vi-VN.umd.js +3 -0
  189. package/lib/language/zh-CHT.js +3 -0
  190. package/lib/language/zh-CHT.min.js +1 -1
  191. package/lib/language/zh-CHT.umd.js +3 -0
  192. package/lib/language/zh-CN.js +3 -0
  193. package/lib/language/zh-CN.min.js +1 -1
  194. package/lib/language/zh-CN.umd.js +3 -0
  195. package/lib/list/src/list.js +18 -1
  196. package/lib/list/src/list.min.js +1 -1
  197. package/lib/list/style/style.css +26 -28
  198. package/lib/list/style/style.min.css +1 -1
  199. package/lib/menu/style/style.css +22 -30
  200. package/lib/menu/style/style.min.css +1 -1
  201. package/lib/radio/src/button.js +3 -1
  202. package/lib/radio/src/button.min.js +1 -1
  203. package/lib/radio/src/group.js +9 -2
  204. package/lib/radio/src/group.min.js +1 -1
  205. package/lib/radio/style/style.css +22 -30
  206. package/lib/radio/style/style.min.css +1 -1
  207. package/lib/radio-button/style/style.css +155 -9
  208. package/lib/radio-button/style/style.min.css +1 -1
  209. package/lib/select/style/style.css +42 -59
  210. package/lib/select/style/style.min.css +1 -1
  211. package/lib/style.css +1 -1
  212. package/lib/style.min.css +1 -1
  213. package/lib/tree/src/tree.js +287 -6
  214. package/lib/tree/src/tree.min.js +1 -1
  215. package/lib/tree/src/util.js +16 -0
  216. package/lib/tree/src/util.min.js +1 -1
  217. package/lib/tree/style/style.css +26 -25
  218. package/lib/tree/style/style.min.css +1 -1
  219. package/lib/tree-select/style/style.css +27 -31
  220. package/lib/tree-select/style/style.min.css +1 -1
  221. package/lib/ui/index.js +5 -2
  222. package/lib/ui/index.min.js +1 -1
  223. package/lib/ui/src/log.js +1 -1
  224. package/lib/ui/src/log.min.js +1 -1
  225. package/lib/upload/style/style.css +30 -41
  226. package/lib/upload/style/style.min.css +1 -1
  227. package/lib/vxe-button/style/style.css +42 -72
  228. package/lib/vxe-button/style/style.min.css +1 -1
  229. package/lib/vxe-calendar/style/style.css +2 -2
  230. package/lib/vxe-calendar/style/style.min.css +1 -1
  231. package/lib/vxe-cascader/style/style.css +38 -40
  232. package/lib/vxe-cascader/style/style.min.css +1 -1
  233. package/lib/vxe-checkbox/style/style.css +22 -28
  234. package/lib/vxe-checkbox/style/style.min.css +1 -1
  235. package/lib/vxe-checkbox-button/style/style.css +155 -9
  236. package/lib/vxe-checkbox-button/style/style.min.css +1 -1
  237. package/lib/vxe-context-menu/style/style.css +14 -13
  238. package/lib/vxe-context-menu/style/style.min.css +1 -1
  239. package/lib/vxe-form/style/style.css +49 -95
  240. package/lib/vxe-form/style/style.min.css +1 -1
  241. package/lib/vxe-icon-picker/style/style.css +49 -23
  242. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  243. package/lib/vxe-list/style/style.css +26 -28
  244. package/lib/vxe-list/style/style.min.css +1 -1
  245. package/lib/vxe-menu/style/style.css +22 -30
  246. package/lib/vxe-menu/style/style.min.css +1 -1
  247. package/lib/vxe-radio/style/style.css +22 -30
  248. package/lib/vxe-radio/style/style.min.css +1 -1
  249. package/lib/vxe-radio-button/style/style.css +155 -9
  250. package/lib/vxe-radio-button/style/style.min.css +1 -1
  251. package/lib/vxe-select/style/style.css +42 -59
  252. package/lib/vxe-select/style/style.min.css +1 -1
  253. package/lib/vxe-tree/style/style.css +26 -25
  254. package/lib/vxe-tree/style/style.min.css +1 -1
  255. package/lib/vxe-tree-select/style/style.css +27 -31
  256. package/lib/vxe-tree-select/style/style.min.css +1 -1
  257. package/lib/vxe-upload/style/style.css +30 -41
  258. package/lib/vxe-upload/style/style.min.css +1 -1
  259. package/package.json +1 -1
  260. package/packages/checkbox/src/button.ts +3 -1
  261. package/packages/checkbox/src/group.ts +6 -1
  262. package/packages/date-picker/src/date-picker.ts +1 -1
  263. package/packages/icon-picker/src/icon-picker.ts +180 -45
  264. package/packages/language/ar-EG.ts +3 -0
  265. package/packages/language/de-DE.ts +3 -0
  266. package/packages/language/en-US.ts +3 -0
  267. package/packages/language/es-ES.ts +3 -0
  268. package/packages/language/fr-FR.ts +3 -0
  269. package/packages/language/hu-HU.ts +3 -0
  270. package/packages/language/hy-AM.ts +3 -0
  271. package/packages/language/id-ID.ts +3 -0
  272. package/packages/language/it-IT.ts +3 -0
  273. package/packages/language/ja-JP.ts +3 -0
  274. package/packages/language/ko-KR.ts +3 -0
  275. package/packages/language/ms-MY.ts +3 -0
  276. package/packages/language/nb-NO.ts +3 -0
  277. package/packages/language/pt-BR.ts +3 -0
  278. package/packages/language/ru-RU.ts +3 -0
  279. package/packages/language/th-TH.ts +3 -0
  280. package/packages/language/ug-CN.ts +3 -0
  281. package/packages/language/uk-UA.ts +3 -0
  282. package/packages/language/uz-UZ.ts +3 -0
  283. package/packages/language/vi-VN.ts +3 -0
  284. package/packages/language/zh-CHT.ts +3 -0
  285. package/packages/language/zh-CN.ts +3 -0
  286. package/packages/list/src/list.ts +15 -1
  287. package/packages/radio/src/button.ts +3 -1
  288. package/packages/radio/src/group.ts +6 -1
  289. package/packages/tree/src/tree.ts +251 -4
  290. package/packages/tree/src/util.ts +17 -1
  291. package/packages/ui/index.ts +4 -1
  292. package/styles/components/button.scss +56 -137
  293. package/styles/components/cascader.scss +33 -34
  294. package/styles/components/checkbox-button.scss +66 -14
  295. package/styles/components/checkbox.scss +22 -24
  296. package/styles/components/context-menu.scss +15 -13
  297. package/styles/components/form.scss +49 -120
  298. package/styles/components/icon-picker.scss +56 -27
  299. package/styles/components/link.scss +1 -1
  300. package/styles/components/list.scss +24 -26
  301. package/styles/components/menu.scss +23 -26
  302. package/styles/components/radio-button.scss +66 -14
  303. package/styles/components/radio.scss +22 -23
  304. package/styles/components/select.scss +36 -62
  305. package/styles/components/tree-select.scss +26 -27
  306. package/styles/components/tree.scss +16 -14
  307. package/styles/components/upload.scss +28 -30
  308. package/styles/helpers/baseMixin.scss +2 -2
  309. package/styles/helpers/themeStatus.scss +58 -0
  310. package/styles/theme/base.scss +11 -3
  311. package/types/all.d.ts +205 -0
  312. package/types/components/checkbox-group.d.ts +3 -1
  313. package/types/components/checkbox.d.ts +1 -1
  314. package/types/components/icon-picker.d.ts +28 -4
  315. package/types/components/list.d.ts +2 -2
  316. package/types/components/radio-group.d.ts +3 -1
  317. package/types/components/tree.d.ts +36 -0
  318. /package/es/icon/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
  319. /package/es/icon/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
  320. /package/es/icon/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
  321. /package/es/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
  322. /package/es/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
  323. /package/es/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
  324. /package/lib/icon/style/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
  325. /package/lib/icon/style/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
  326. /package/lib/icon/style/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
  327. /package/lib/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
  328. /package/lib/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
  329. /package/lib/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
@@ -34,6 +34,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
34
34
  default: null
35
35
  },
36
36
  type: String as PropType<VxeRadioGroupPropTypes.Type>,
37
+ status: {
38
+ type: String as PropType<VxeRadioGroupPropTypes.Status>,
39
+ default: () => getConfig().radioGroup.status
40
+ },
37
41
  options: Array as PropType<VxeRadioGroupPropTypes.Options>,
38
42
  optionProps: Object as PropType<VxeRadioGroupPropTypes.OptionProps>,
39
43
  strict: {
@@ -216,7 +220,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
216
220
  const props = $xeRadioGroup
217
221
  const slots = $xeRadioGroup.$scopedSlots
218
222
 
219
- const { options, type } = props
223
+ const { options, type, status } = props
220
224
  const vSize = $xeRadioGroup.computeSize
221
225
  const defaultSlot = slots.default
222
226
  const valueField = $xeRadioGroup.computeValueField as 'value'
@@ -226,6 +230,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
226
230
 
227
231
  return h('div', {
228
232
  class: ['vxe-radio-group', {
233
+ [`theme--${status}`]: status,
229
234
  [`size--${vSize}`]: vSize
230
235
  }]
231
236
  }, defaultSlot
@@ -2,7 +2,7 @@ import { PropType, CreateElement, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { VxeUI, createEvent, globalEvents, globalResize, renderEmptyElement, globalMixins } from '../../ui'
5
- import { calcTreeLine } from './util'
5
+ import { calcTreeLine, getItemCacheObj } from './util'
6
6
  import { createComponentLog } from '../../ui/src/log'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { crossTreeDragNodeGlobal, getCrossTreeDragNodeInfo } from './store'
@@ -13,7 +13,7 @@ import VxeLoadingComponent from '../../loading'
13
13
 
14
14
  import type { TreeReactData, VxeTreeEmits, VxeTreeConstructor, VxeTreePropTypes, TreeInternalData, VxeTreeDefines, VxeTreePrivateMethods, VxeComponentSizeType, ValueOf } from '../../../types'
15
15
 
16
- const { errLog } = createComponentLog('tree')
16
+ const { warnLog, errLog } = createComponentLog('tree')
17
17
 
18
18
  const { menus, getConfig, getI18n, getIcon } = VxeUI
19
19
 
@@ -498,6 +498,47 @@ function handleVisibleOrCheckMode (mode: '' | 'all' | 'first' | 'last' | null |
498
498
  return true
499
499
  }
500
500
 
501
+ function insertTreeNode ($xeTree: VxeTreeConstructor, newRecords: any[], isAppend: boolean) {
502
+ const internalData = $xeTree.internalData
503
+
504
+ const { treeFullData, nodeMaps } = internalData
505
+ const keyField = $xeTree.computeKeyField
506
+ const parentField = $xeTree.computeParentField
507
+ const childrenField = $xeTree.computeChildrenField
508
+ const mapChildrenField = $xeTree.computeMapChildrenField
509
+ const funcName = isAppend ? 'push' : 'unshift'
510
+ newRecords.forEach((item) => {
511
+ const parentRowId = item[parentField]
512
+ const nodeid = $xeTree.getNodeId(item)
513
+ const matchObj = parentRowId ? XEUtils.findTree(treeFullData, (item) => parentRowId === item[keyField], { children: mapChildrenField }) : null
514
+ const itemRest = getItemCacheObj(item)
515
+ if (matchObj) {
516
+ const { item: parentItem } = matchObj
517
+ const parentRest = nodeMaps[$xeTree.getNodeId(parentItem)]
518
+ const parentLevel = parentRest ? parentRest.level : 0
519
+ let pChilds = parentItem[childrenField]
520
+ let pMapChilds = parentItem[mapChildrenField]
521
+ if (!XEUtils.isArray(pChilds)) {
522
+ pChilds = parentItem[childrenField] = []
523
+ }
524
+ if (!XEUtils.isArray(pMapChilds)) {
525
+ pMapChilds = parentItem[mapChildrenField] = []
526
+ }
527
+ itemRest.parent = parentItem
528
+ itemRest.items = pChilds
529
+ itemRest.level = parentLevel
530
+ pChilds[funcName](item)
531
+ pMapChilds[funcName](item)
532
+ } else {
533
+ if (parentRowId) {
534
+ warnLog('vxe.error.unableInsert')
535
+ }
536
+ treeFullData[funcName](item)
537
+ }
538
+ nodeMaps[nodeid] = itemRest
539
+ })
540
+ }
541
+
501
542
  function createInternalData (): TreeInternalData {
502
543
  return {
503
544
  // initialized: false,
@@ -521,6 +562,9 @@ function createInternalData (): TreeInternalData {
521
562
  rowHeight: 0
522
563
  },
523
564
 
565
+ removeRowMaps: {},
566
+ insertRowMaps: {},
567
+
524
568
  // prevDragNode: null,
525
569
  // prevDragToChild: false,
526
570
  // prevDragPos: ''
@@ -544,6 +588,8 @@ function createReactData ():TreeReactData {
544
588
  treeList: [],
545
589
  updateExpandedFlag: 1,
546
590
  updateCheckboxFlag: 1,
591
+ insertRowFlag: 1,
592
+ removeRowFlag: 1,
547
593
  dragNode: null,
548
594
  dragTipText: ''
549
595
  }
@@ -1579,6 +1625,207 @@ export default /* define-vxe-component start */ defineVxeComponent({
1579
1625
  internalData.lastScrollLeft = 0
1580
1626
  return $xeTree.$nextTick()
1581
1627
  },
1628
+ handleInsertNodeAt (records: any[], targetNodeOrNodeid: any, isInsertNextNode?: any) {
1629
+ const $xeTree = this
1630
+ const props = $xeTree
1631
+ const reactData = $xeTree.reactData
1632
+ const internalData = $xeTree.internalData
1633
+
1634
+ const { transform } = props
1635
+ const { treeFullData, nodeMaps } = internalData
1636
+ const keyField = $xeTree.computeKeyField
1637
+ const parentField = $xeTree.computeParentField
1638
+ const childrenField = $xeTree.computeChildrenField
1639
+ const mapChildrenField = $xeTree.computeMapChildrenField
1640
+ if (!transform) {
1641
+ errLog('vxe.error.reqSupportProp', ['insert() | insertAt() | insertNextAt()', 'transform'])
1642
+ return Promise.resolve({ node: null, nodes: [] })
1643
+ }
1644
+ if (!XEUtils.isArray(records)) {
1645
+ records = [records]
1646
+ }
1647
+ let targetNode = targetNodeOrNodeid
1648
+ if (XEUtils.isString(targetNodeOrNodeid) || XEUtils.isNumber(targetNodeOrNodeid)) {
1649
+ const nodeRest = nodeMaps[targetNodeOrNodeid]
1650
+ if (nodeRest) {
1651
+ targetNode = nodeRest.item
1652
+ }
1653
+ }
1654
+ if (!records.length) {
1655
+ return Promise.resolve({ node: null, nodes: [] })
1656
+ }
1657
+ const newRecords = records.map(record => XEUtils.assign({ [mapChildrenField]: [], [childrenField]: [] }, record))
1658
+ const treeRecords = XEUtils.toArrayTree(newRecords, { key: keyField, parentKey: parentField, children: childrenField })
1659
+
1660
+ if (XEUtils.eqNull(targetNode)) {
1661
+ insertTreeNode($xeTree, newRecords, false)
1662
+ } else {
1663
+ if (targetNode === -1) {
1664
+ insertTreeNode($xeTree, newRecords, true)
1665
+ } else {
1666
+ const matchMapObj = XEUtils.findTree(treeFullData, item => targetNode[keyField] === item[keyField], { children: mapChildrenField })
1667
+ if (matchMapObj) {
1668
+ const { parent: parentNode } = matchMapObj
1669
+ const parentMapChilds = parentNode ? parentNode[mapChildrenField] : treeFullData
1670
+ const parentRest = nodeMaps[$xeTree.getNodeId(parentNode)]
1671
+ const parentLevel = parentRest ? parentRest.level : 0
1672
+ treeRecords.forEach((row, i) => {
1673
+ if (parentNode) {
1674
+ if (row[parentField] !== parentNode[keyField]) {
1675
+ errLog('vxe.error.errProp', [`${parentField}=${row[parentField]}`, `${parentField}=${parentNode[keyField]}`])
1676
+ row[parentField] = parentNode[keyField]
1677
+ }
1678
+ } else {
1679
+ if (row[parentField] !== null) {
1680
+ if (!XEUtils.eqNull(row[parentField])) {
1681
+ errLog('vxe.error.errProp', [`${parentField}=${row[parentField]}`, 'null'])
1682
+ }
1683
+ row[parentField] = null
1684
+ }
1685
+ }
1686
+ let targetIndex = matchMapObj.index + i
1687
+ if (isInsertNextNode) {
1688
+ targetIndex = targetIndex + 1
1689
+ }
1690
+ parentMapChilds.splice(targetIndex, 0, row)
1691
+ })
1692
+ XEUtils.eachTree(treeRecords, (item) => {
1693
+ const nodeid = $xeTree.getNodeId(item)
1694
+ const nodeRest = getItemCacheObj(item)
1695
+ nodeRest.level = parentLevel
1696
+ if (item[childrenField]) {
1697
+ item[mapChildrenField] = item[childrenField]
1698
+ }
1699
+ nodeMaps[nodeid] = nodeRest
1700
+ }, { children: childrenField })
1701
+ // 源
1702
+ if (parentNode) {
1703
+ const matchObj = XEUtils.findTree(treeFullData, item => targetNode[keyField] === item[keyField], { children: childrenField })
1704
+ if (matchObj) {
1705
+ const parentChilds = matchObj.items
1706
+ let targetIndex = matchObj.index
1707
+ if (isInsertNextNode) {
1708
+ targetIndex = targetIndex + 1
1709
+ }
1710
+ parentChilds.splice(targetIndex, 0, ...treeRecords)
1711
+ }
1712
+ }
1713
+ } else {
1714
+ warnLog('vxe.error.unableInsert')
1715
+ insertTreeNode($xeTree, newRecords, true)
1716
+ }
1717
+ }
1718
+ }
1719
+ reactData.insertRowFlag++
1720
+ $xeTree.cacheNodeMap()
1721
+ $xeTree.handleData(true)
1722
+ $xeTree.updateAfterDataIndex()
1723
+ $xeTree.updateCheckboxStatus()
1724
+ if (reactData.scrollYLoad) {
1725
+ $xeTree.updateYSpace()
1726
+ }
1727
+ return $xeTree.$nextTick().then(() => {
1728
+ return {
1729
+ node: newRecords.length ? newRecords[newRecords.length - 1] : null,
1730
+ nodes: newRecords
1731
+ }
1732
+ })
1733
+ },
1734
+ insert (records: any) {
1735
+ const $xeTree = this
1736
+
1737
+ return $xeTree.handleInsertNodeAt(records, null)
1738
+ },
1739
+ insertAt (records: any, targetNodeOrNodeid?: any) {
1740
+ const $xeTree = this
1741
+
1742
+ return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid)
1743
+ },
1744
+ insertNextAt (records: any, targetNodeOrNodeid?: any) {
1745
+ const $xeTree = this
1746
+
1747
+ return $xeTree.handleInsertNodeAt(records, targetNodeOrNodeid, true)
1748
+ },
1749
+ remove (nodes?: any) {
1750
+ const $xeTree = this
1751
+ const props = $xeTree
1752
+ const reactData = $xeTree.reactData
1753
+ const internalData = $xeTree.internalData
1754
+
1755
+ const { transform } = props
1756
+ const { treeFullData } = internalData
1757
+ const childrenField = $xeTree.computeChildrenField
1758
+ const mapChildrenField = $xeTree.computeMapChildrenField
1759
+ if (!transform) {
1760
+ errLog('vxe.error.reqSupportProp', ['remove()', 'transform'])
1761
+ return Promise.resolve({ node: null, nodes: [] })
1762
+ }
1763
+ let delList: any[] = []
1764
+ if (!nodes) {
1765
+ nodes = treeFullData
1766
+ } else if (!XEUtils.isArray(nodes)) {
1767
+ nodes = [nodes]
1768
+ }
1769
+ if (!nodes.length) {
1770
+ return Promise.resolve({ node: null, nodes: [] })
1771
+ }
1772
+
1773
+ // 从数据源中移除
1774
+ if (treeFullData === nodes) {
1775
+ nodes = delList = treeFullData.slice(0)
1776
+ internalData.treeFullData = []
1777
+ } else {
1778
+ nodes.forEach((item: any) => {
1779
+ const nodeid = $xeTree.getNodeId(item)
1780
+ const matchMapObj = XEUtils.findTree(treeFullData, item => nodeid === $xeTree.getNodeId(item), { children: mapChildrenField })
1781
+ if (matchMapObj) {
1782
+ const rItems = matchMapObj.items.splice(matchMapObj.index, 1)
1783
+ delList.push(rItems[0])
1784
+ }
1785
+ const matchObj = XEUtils.findTree(treeFullData, item => nodeid === $xeTree.getNodeId(item), { children: childrenField })
1786
+ if (matchObj) {
1787
+ const rItems = matchObj.items.splice(matchObj.index, 1)
1788
+ delList.push(rItems[0])
1789
+ }
1790
+ })
1791
+ }
1792
+ reactData.removeRowFlag++
1793
+ reactData.insertRowFlag++
1794
+ $xeTree.cacheNodeMap()
1795
+ $xeTree.handleData(true)
1796
+ $xeTree.updateAfterDataIndex()
1797
+ $xeTree.updateCheckboxStatus()
1798
+ if (reactData.scrollYLoad) {
1799
+ $xeTree.updateYSpace()
1800
+ }
1801
+ return $xeTree.$nextTick().then(() => {
1802
+ return $xeTree.recalculate()
1803
+ }).then(() => {
1804
+ return { node: delList.length ? delList[delList.length - 1] : null, nodes: delList }
1805
+ })
1806
+ },
1807
+ getInsertRecords () {
1808
+ const $xeTree = this
1809
+ const internalData = $xeTree.internalData
1810
+
1811
+ const { insertRowMaps } = internalData
1812
+ const insertRecords: any[] = []
1813
+ XEUtils.each(insertRowMaps, (row) => {
1814
+ insertRecords.push(row)
1815
+ })
1816
+ return insertRecords
1817
+ },
1818
+ getRemoveRecords () {
1819
+ const $xeTree = this
1820
+ const internalData = $xeTree.internalData
1821
+
1822
+ const { removeRowMaps } = internalData
1823
+ const removeRecords: any[] = []
1824
+ XEUtils.each(removeRowMaps, (row) => {
1825
+ removeRecords.push(row)
1826
+ })
1827
+ return removeRecords
1828
+ },
1582
1829
  handleNodeMousedownEvent (evnt: MouseEvent, node: any) {
1583
1830
  const $xeTree = this
1584
1831
  const props = $xeTree
@@ -3102,8 +3349,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
3102
3349
  if (drag && !transform) {
3103
3350
  errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true'])
3104
3351
  }
3105
- if (dragOpts.isCrossTreeDrag) {
3106
- errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag'])
3352
+ if (dragOpts.isCrossTreeDrag && !dragOpts.isCrossDrag) {
3353
+ errLog('vxe.error.reqSupportProp', ['drag-config.isCrossTreeDrag', 'drag-config.isCrossDrag'])
3107
3354
  }
3108
3355
  // if (valueField) {
3109
3356
  // errLog('vxe.error.delProp', ['value-field', 'value-field'])
@@ -1,4 +1,4 @@
1
- import type { VxeTreeConstructor } from '../../../types'
1
+ import type { VxeTreeConstructor, VxeTreeDefines } from '../../../types'
2
2
 
3
3
  function countTreeExpand ($xeTree: VxeTreeConstructor, prevNode: any) {
4
4
  let count = 1
@@ -32,3 +32,19 @@ export function calcTreeLine ($xeTree: VxeTreeConstructor, node: any, prevNode:
32
32
  }
33
33
  return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12)
34
34
  }
35
+
36
+ export function getItemCacheObj (item: any): VxeTreeDefines.NodeCacheItem {
37
+ return {
38
+ item,
39
+ index: -1,
40
+ $index: -1,
41
+ _index: -1,
42
+ items: [],
43
+ parent: null,
44
+ nodes: [],
45
+ level: 0,
46
+ treeIndex: -1,
47
+ lineCount: 0,
48
+ treeLoaded: false
49
+ }
50
+ }
@@ -185,7 +185,10 @@ setConfig({
185
185
  formView: {},
186
186
  icon: {},
187
187
  iconPicker: {
188
- icons: ['home', 'company', 'comment', 'setting', 'send', 'envelope', 'envelope-open', 'bell', 'search', 'print', 'pc', 'goods', 'chart-line', 'edit', 'delete', 'save', 'folder', 'microphone', 'flag', 'link', 'location', 'sunny', 'rmb', 'usd', 'user', 'add-user', 'add-users', 'star', 'unlock', 'time', 'text', 'feedback', 'calendar', 'association-form', 'cloud-download', 'cloud-upload', 'file', 'subtable', 'chart-bar-x', 'chart-bar-y', 'chart-line', 'chart-pie', 'chart-radar']
188
+ icons: ['home', 'company', 'comment', 'setting', 'send', 'envelope', 'envelope-open', 'bell', 'search', 'print', 'pc', 'goods', 'chart-line', 'edit', 'delete', 'save', 'folder', 'microphone', 'flag', 'link', 'location', 'sunny', 'rmb', 'usd', 'user', 'add-user', 'add-users', 'star', 'unlock', 'time', 'text', 'feedback', 'calendar', 'association-form', 'cloud-download', 'cloud-upload', 'file', 'subtable', 'chart-bar-x', 'chart-bar-y', 'chart-line', 'chart-pie', 'chart-radar'],
189
+ popupConfig: {
190
+ // chunkSize: 4
191
+ }
189
192
  },
190
193
  image: {
191
194
  draggable: null,
@@ -2,65 +2,33 @@
2
2
  @use "sass:list";
3
3
  @use '../helpers/baseMixin.scss';
4
4
  @use '../helpers/placement.scss';
5
+ @use '../helpers/themeStatus.scss';
5
6
 
6
- $btnThemeList: (
7
- (
8
- name: "primary",
9
- textColor: var(--vxe-ui-font-primary-color),
10
- btnColor: #fff,
11
- btnLightenColor: var(--vxe-ui-font-primary-lighten-color),
12
- btnDarkenColor: var(--vxe-ui-font-primary-darken-color),
13
- btnDisabledColor: var(--vxe-ui-font-primary-disabled-color)
14
- ),
15
- (
16
- name: "success",
17
- textColor: var(--vxe-ui-status-success-color),
18
- btnColor: #fff,
19
- btnLightenColor: var(--vxe-ui-status-success-lighten-color),
20
- btnDarkenColor: var(--vxe-ui-status-success-darken-color),
21
- btnDisabledColor: var(--vxe-ui-status-success-disabled-color)
22
- ),
23
- (
24
- name: "info",
25
- textColor: var(--vxe-ui-status-info-color),
26
- btnColor: #fff,
27
- btnLightenColor: var(--vxe-ui-status-info-lighten-color),
28
- btnDarkenColor: var(--vxe-ui-status-info-darken-color),
29
- btnDisabledColor: var(--vxe-ui-status-info-disabled-color)
30
- ),
31
- (
32
- name: "warning",
33
- textColor: var(--vxe-ui-status-warning-color),
34
- btnColor: #fff,
35
- btnLightenColor: var(--vxe-ui-status-warning-lighten-color),
36
- btnDarkenColor: var(--vxe-ui-status-warning-darken-color),
37
- btnDisabledColor: var(--vxe-ui-status-warning-disabled-color)
38
- ),
39
- (
40
- name: "danger",
41
- textColor: var(--vxe-ui-status-danger-color),
42
- btnColor: #fff,
43
- btnLightenColor: var(--vxe-ui-status-danger-lighten-color),
44
- btnDarkenColor: var(--vxe-ui-status-danger-darken-color),
45
- btnDisabledColor: var(--vxe-ui-status-danger-disabled-color)
46
- ),
47
- (
48
- name: "error",
49
- textColor: var(--vxe-ui-status-error-color),
50
- btnColor: #fff,
51
- btnLightenColor: var(--vxe-ui-status-error-lighten-color),
52
- btnDarkenColor: var(--vxe-ui-status-error-darken-color),
53
- btnDisabledColor: var(--vxe-ui-status-error-disabled-color)
54
- ),
55
- (
56
- name: "perfect",
57
- textColor: var(--vxe-ui-table-header-background-color),
58
- btnColor: var(--vxe-ui-font-color),
59
- btnLightenColor: var(--vxe-ui-table-header-background-color),
60
- btnDarkenColor: var(--vxe-ui-table-header-background-color),
61
- btnDisabledColor: var(--vxe-ui-table-header-background-color)
62
- )
63
- );
7
+ // 局部变量
8
+ .vxe-button {
9
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-default);
10
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-default);
11
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-default);
12
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-default);
13
+ &.size--medium {
14
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-medium);
15
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-medium);
16
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-medium);
17
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-medium);
18
+ }
19
+ &.size--small {
20
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-small);
21
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-small);
22
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-small);
23
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-small);
24
+ }
25
+ &.size--mini {
26
+ --vxe-ui-button-current-font-size: var(--vxe-ui-font-size-mini);
27
+ --vxe-ui-button-current-margin-left: var(--vxe-ui-base-margin-gap-mini);
28
+ --vxe-ui-button-current-height: var(--vxe-ui-button-height-mini);
29
+ --vxe-ui-button-current-border-radius: var(--vxe-ui-button-round-border-radius-mini);
30
+ }
31
+ }
64
32
 
65
33
  .vxe-button {
66
34
  display: inline-flex;
@@ -71,7 +39,7 @@ $btnThemeList: (
71
39
  position: relative;
72
40
  background-color: var(--vxe-ui-layout-background-color);
73
41
  outline: 0;
74
- font-size: var(--vxe-ui-font-size-default);
42
+ font-size: var(--vxe-ui-button-current-font-size);
75
43
  max-width: var(--vxe-ui-button-max-width);
76
44
  overflow: hidden;
77
45
  text-overflow: ellipsis;
@@ -130,8 +98,8 @@ $btnThemeList: (
130
98
  color: var(--vxe-ui-font-primary-darken-color);
131
99
  }
132
100
  }
133
- @for $index from 0 to list.length($btnThemeList) {
134
- $item: list.nth($btnThemeList, $index + 1);
101
+ @for $index from 0 to list.length(themeStatus.$btnThemeList) {
102
+ $item: list.nth(themeStatus.$btnThemeList, $index + 1);
135
103
  &.theme--#{map.get($item, name)} {
136
104
  color: map.get($item, textColor);
137
105
  &:not(.is--disabled) {
@@ -157,7 +125,7 @@ $btnThemeList: (
157
125
  border: 1px solid var(--vxe-ui-input-border-color);
158
126
  text-decoration: none;
159
127
  &.is--round {
160
- border-radius: var(--vxe-ui-button-round-border-radius-default);
128
+ border-radius: var(--vxe-ui-button-current-border-radius);
161
129
  }
162
130
  &:not(.is--round) {
163
131
  border-radius: var(--vxe-ui-base-border-radius);
@@ -166,7 +134,7 @@ $btnThemeList: (
166
134
  padding: 0 0.5em;
167
135
  text-align: center;
168
136
  justify-content: center;
169
- min-width: var(--vxe-ui-button-height-default);
137
+ min-width: var(--vxe-ui-button-current-height);
170
138
  border-radius: 50%;
171
139
  }
172
140
  &.is--shadow {
@@ -188,8 +156,21 @@ $btnThemeList: (
188
156
  background-color: var(--vxe-ui-layout-background-color);
189
157
  }
190
158
  }
191
- @for $index from 0 to list.length($btnThemeList) {
192
- $item: list.nth($btnThemeList, $index + 1);
159
+ &:not(.is--disabled) {
160
+ &:hover {
161
+ color: var(--vxe-ui-font-primary-lighten-color);
162
+ }
163
+ &:focus {
164
+ border-color: var(--vxe-ui-font-primary-color);
165
+ }
166
+ &:active {
167
+ color: var(--vxe-ui-font-primary-darken-color);
168
+ border-color: var(--vxe-ui-font-primary-darken-color);
169
+ background-color: var(--vxe-ui-layout-background-color);
170
+ }
171
+ }
172
+ @for $index from 0 to list.length(themeStatus.$btnThemeList) {
173
+ $item: list.nth(themeStatus.$btnThemeList, $index + 1);
193
174
  $textColor: map.get($item, textColor);
194
175
  $btnColor: map.get($item, btnColor);
195
176
  &.theme--#{map.get($item, name)} {
@@ -219,56 +200,12 @@ $btnThemeList: (
219
200
  }
220
201
  }
221
202
  }
222
- &.size--medium {
223
- font-size: var(--vxe-ui-font-size-medium);
224
- &.type--button {
225
- &.is--circle {
226
- min-width: var(--vxe-ui-button-height-medium);
227
- }
228
- &.is--round {
229
- border-radius: var(--vxe-ui-button-round-border-radius-medium);
230
- }
231
- }
232
- }
233
- &.size--small {
234
- font-size: var(--vxe-ui-font-size-small);
235
- &.type--button {
236
- height: var(--vxe-ui-button-height-small);
237
- &.is--circle {
238
- min-width: var(--vxe-ui-button-height-small);
239
- }
240
- &.is--round {
241
- border-radius: var(--vxe-ui-button-round-border-radius-small);
242
- }
243
- }
244
- }
245
- &.size--mini {
246
- font-size: var(--vxe-ui-font-size-mini);
247
- &.type--button {
248
- height: var(--vxe-ui-button-height-mini);
249
- &.is--circle {
250
- min-width: var(--vxe-ui-button-height-mini);
251
- }
252
- &.is--round {
253
- border-radius: var(--vxe-ui-button-round-border-radius-mini);
254
- }
255
- }
256
- }
257
203
  }
258
204
 
259
205
 
260
206
  .vxe-button {
261
207
  &.type--button {
262
- height: var(--vxe-ui-button-height-default);
263
- &.size--medium {
264
- height: var(--vxe-ui-button-height-medium);
265
- }
266
- &.size--small {
267
- height: var(--vxe-ui-button-height-small);
268
- }
269
- &.size--mini {
270
- height: var(--vxe-ui-button-height-mini);
271
- }
208
+ height: var(--vxe-ui-button-current-height);
272
209
  }
273
210
  }
274
211
 
@@ -308,8 +245,8 @@ $btnThemeList: (
308
245
  outline: 0;
309
246
  & > .vxe-button {
310
247
  &.type--button {
311
- @for $index from 0 to list.length($btnThemeList) {
312
- $item: list.nth($btnThemeList, $index + 1);
248
+ @for $index from 0 to list.length(themeStatus.$btnThemeList) {
249
+ $item: list.nth(themeStatus.$btnThemeList, $index + 1);
313
250
  $btnColor: map.get($item, btnColor);
314
251
  &.theme--#{map.get($item, name)} {
315
252
  color: $btnColor;
@@ -323,16 +260,16 @@ $btnThemeList: (
323
260
  color: var(--vxe-ui-font-primary-lighten-color);
324
261
  }
325
262
  &.type--text {
326
- @for $index from 0 to list.length($btnThemeList) {
327
- $item: list.nth($btnThemeList, $index + 1);
263
+ @for $index from 0 to list.length(themeStatus.$btnThemeList) {
264
+ $item: list.nth(themeStatus.$btnThemeList, $index + 1);
328
265
  &.theme--#{map.get($item, name)} {
329
266
  color: map.get($item, btnLightenColor);
330
267
  }
331
268
  }
332
269
  }
333
270
  &.type--button {
334
- @for $index from 0 to list.length($btnThemeList) {
335
- $item: list.nth($btnThemeList, $index + 1);
271
+ @for $index from 0 to list.length(themeStatus.$btnThemeList) {
272
+ $item: list.nth(themeStatus.$btnThemeList, $index + 1);
336
273
  &.theme--#{map.get($item, name)} {
337
274
  color: map.get($item, btnColor);
338
275
  background-color: map.get($item, btnLightenColor);
@@ -386,16 +323,7 @@ $btnThemeList: (
386
323
 
387
324
  .vxe-button.type--button,
388
325
  .vxe-button--dropdown {
389
- margin-right: var(--vxe-ui-base-margin-gap-default);
390
- &.size--medium {
391
- margin-right: var(--vxe-ui-base-margin-gap-medium);
392
- }
393
- &.size--small {
394
- margin-right: var(--vxe-ui-base-margin-gap-small);
395
- }
396
- &.size--mini {
397
- margin-right: var(--vxe-ui-base-margin-gap-mini);
398
- }
326
+ margin-right: var(--vxe-ui-button-current-margin-left);
399
327
  &:last-of-type {
400
328
  margin-right: 0;
401
329
  }
@@ -403,14 +331,5 @@ $btnThemeList: (
403
331
 
404
332
  .vxe-button+.vxe-button--dropdown,
405
333
  .vxe-button--dropdown+.vxe-button {
406
- margin-left: var(--vxe-ui-base-margin-gap-default);
407
- &.size--medium {
408
- margin-left: var(--vxe-ui-base-margin-gap-medium);
409
- }
410
- &.size--small {
411
- margin-left: var(--vxe-ui-base-margin-gap-small);
412
- }
413
- &.size--mini {
414
- margin-left: var(--vxe-ui-base-margin-gap-mini);
415
- }
416
- }
334
+ margin-left: var(--vxe-ui-button-current-margin-left);
335
+ }