ele-admin-plus 1.1.6-beta.3 → 1.1.6-beta.4

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 (31) hide show
  1. package/es/ele-app/style/overwrite/css-var.scss +2 -0
  2. package/es/ele-app/style/overwrite/index.js +13 -12
  3. package/es/ele-app/style/overwrite/index.scss +13 -12
  4. package/es/ele-app/style/overwrite/tree/css-var.scss +8 -0
  5. package/es/ele-app/style/overwrite/tree/index.js +1 -0
  6. package/es/ele-app/style/overwrite/tree/index.scss +103 -0
  7. package/es/ele-app/style/overwrite/tree-select/index.scss +6 -49
  8. package/es/ele-tooltip/index.d.ts +4 -14
  9. package/es/ele-tooltip/props.d.ts +2 -7
  10. package/es/ele-tooltip/props.js +2 -1
  11. package/es/ele-tree-select/style/index.scss +0 -74
  12. package/es/ele-virtual-table/index.d.ts +6 -6
  13. package/es/ele-virtual-table/types/index.d.ts +1 -5
  14. package/es/style/themes/default.scss +24 -21
  15. package/es/style/themes/rounded.scss +6 -0
  16. package/lib/ele-app/style/overwrite/css-var.scss +2 -0
  17. package/lib/ele-app/style/overwrite/index.js +13 -12
  18. package/lib/ele-app/style/overwrite/index.scss +13 -12
  19. package/lib/ele-app/style/overwrite/tree/css-var.scss +8 -0
  20. package/lib/ele-app/style/overwrite/tree/index.js +2 -0
  21. package/lib/ele-app/style/overwrite/tree/index.scss +103 -0
  22. package/lib/ele-app/style/overwrite/tree-select/index.scss +6 -49
  23. package/lib/ele-tooltip/index.d.ts +4 -14
  24. package/lib/ele-tooltip/props.d.ts +2 -7
  25. package/lib/ele-tooltip/props.js +2 -1
  26. package/lib/ele-tree-select/style/index.scss +0 -74
  27. package/lib/ele-virtual-table/index.d.ts +6 -6
  28. package/lib/ele-virtual-table/types/index.d.ts +1 -5
  29. package/lib/style/themes/default.scss +24 -21
  30. package/lib/style/themes/rounded.scss +6 -0
  31. package/package.json +8 -7
@@ -12,6 +12,7 @@
12
12
  @use './select/css-var.scss' as *;
13
13
  @use './table-filter/css-var.scss' as *;
14
14
  @use './tag/css-var.scss' as *;
15
+ @use './tree/css-var.scss' as *;
15
16
  @use './tree-select/css-var.scss' as *;
16
17
 
17
18
  /* El 样式重写主题变量 */
@@ -29,5 +30,6 @@
29
30
  @include set-el-select-var($var);
30
31
  @include set-el-table-filter-var($var);
31
32
  @include set-el-tag-var($var);
33
+ @include set-el-tree-var($var);
32
34
  @include set-el-tree-select-var($var);
33
35
  }
@@ -1,16 +1,17 @@
1
- import "./popper/index";
2
- import "./tag/index";
3
- import "./radio/index";
4
- import "./checkbox/index";
5
- import "./select/index";
6
1
  import "./autocomplete/index";
7
- import "./cascader/index";
8
- import "./tree-select/index";
9
- import "./table-filter/index";
10
- import "./message-box/index";
11
- import "./notification/index";
12
- import "./descriptions/index";
13
2
  import "./backtop/index";
14
- import "./image-viewer/index";
3
+ import "./cascader/index";
4
+ import "./checkbox/index";
15
5
  import "./color-picker/index";
16
6
  import "./date-picker/index";
7
+ import "./descriptions/index";
8
+ import "./image-viewer/index";
9
+ import "./message-box/index";
10
+ import "./notification/index";
11
+ import "./popper/index";
12
+ import "./radio/index";
13
+ import "./select/index";
14
+ import "./table-filter/index";
15
+ import "./tag/index";
16
+ import "./tree/index";
17
+ import "./tree-select/index";
@@ -1,16 +1,17 @@
1
- @use './popper/index.scss' as popper;
2
- @use './tag/index.scss' as tag;
3
- @use './radio/index.scss' as radio;
4
- @use './checkbox/index.scss' as checkbox;
5
- @use './select/index.scss' as select;
6
1
  @use './autocomplete/index.scss' as autocomplete;
7
- @use './cascader/index.scss' as cascader;
8
- @use './tree-select/index.scss' as treeSelect;
9
- @use './table-filter/index.scss' as tableFilter;
10
- @use './message-box/index.scss' as messageBox;
11
- @use './notification/index.scss' as notification;
12
- @use './descriptions/index.scss' as descriptions;
13
2
  @use './backtop/index.scss' as backtop;
14
- @use './image-viewer/index.scss' as imageViewer;
3
+ @use './cascader/index.scss' as cascader;
4
+ @use './checkbox/index.scss' as checkbox;
15
5
  @use './color-picker/index.scss' as colorPicker;
16
6
  @use './date-picker/index.scss' as datePicker;
7
+ @use './descriptions/index.scss' as descriptions;
8
+ @use './image-viewer/index.scss' as imageViewer;
9
+ @use './message-box/index.scss' as messageBox;
10
+ @use './notification/index.scss' as notification;
11
+ @use './popper/index.scss' as popper;
12
+ @use './radio/index.scss' as radio;
13
+ @use './select/index.scss' as select;
14
+ @use './table-filter/index.scss' as tableFilter;
15
+ @use './tag/index.scss' as tag;
16
+ @use './tree/index.scss' as tree;
17
+ @use './tree-select/index.scss' as treeSelect;
@@ -0,0 +1,8 @@
1
+ @use '../../../../style/util.scss' as *;
2
+
3
+ /* ElTree 主题变量 */
4
+ @mixin set-el-tree-var($var) {
5
+ .el-tree {
6
+ @include set-ele-var('tree', $var);
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ import "./index.scss";
@@ -0,0 +1,103 @@
1
+ @use '../../../../style/themes/default.scss' as *;
2
+ @use '../../../../style/util.scss' as *;
3
+ @use './css-var.scss' as *;
4
+
5
+ @include set-el-tree-var($ele);
6
+
7
+ /* Tree */
8
+ .el-tree {
9
+ background: none;
10
+
11
+ .el-tree-node {
12
+ padding-top: eleVar('tree', 'item-margin');
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ & > .el-tree-node:first-child {
17
+ padding-top: 0;
18
+ }
19
+
20
+ .el-tree-node__content {
21
+ height: eleVar('tree', 'item-height');
22
+ padding: eleVar('tree', 'item-padding');
23
+ border-radius: eleVar('tree', 'item-radius');
24
+ transition: (color $ele-transition, background-color $ele-transition);
25
+ box-sizing: border-box;
26
+
27
+ & > .el-tree-node__expand-icon {
28
+ flex-shrink: 0;
29
+ width: auto;
30
+ height: auto;
31
+ transform: none;
32
+ box-sizing: border-box;
33
+ margin: eleVar('tree', 'expand-margin');
34
+ padding: eleVar('tree', 'expand-padding');
35
+ border-radius: eleVar('tree', 'expand-radius');
36
+ font-size: eleVar('tree', 'expand-size');
37
+ transition: background-color $ele-transition;
38
+ z-index: 4;
39
+
40
+ & > svg {
41
+ transition: transform 0.3s;
42
+ }
43
+
44
+ &.expanded > svg {
45
+ transform: rotate(90deg);
46
+ }
47
+
48
+ &:hover {
49
+ background: eleVar('tree', 'expand-hover-bg');
50
+ }
51
+
52
+ &.is-leaf {
53
+ pointer-events: none;
54
+ }
55
+ }
56
+
57
+ & > .el-checkbox {
58
+ flex-shrink: 0;
59
+ }
60
+
61
+ & > .el-tree-node__label {
62
+ flex: 1;
63
+ line-height: eleVar('tree', 'item-line-height');
64
+ text-overflow: ellipsis;
65
+ word-break: break-all;
66
+ white-space: nowrap;
67
+ overflow: hidden;
68
+ }
69
+ }
70
+
71
+ &.el-tree--highlight-current {
72
+ .el-tree-node.is-current > .el-tree-node__content {
73
+ background: eleVar('tree', 'item-active-bg');
74
+
75
+ .el-tree-node__label {
76
+ color: eleVar('tree', 'item-active-color');
77
+ font-weight: eleVar('tree', 'item-active-weight');
78
+ }
79
+
80
+ &:hover {
81
+ background: eleVar('tree', 'item-active-hover-bg');
82
+ }
83
+ }
84
+ }
85
+
86
+ /* TreeV2 */
87
+ .el-vl__wrapper {
88
+ box-sizing: border-box;
89
+
90
+ & > .el-virtual-scrollbar {
91
+ margin: auto 0;
92
+ }
93
+
94
+ .el-tree-node {
95
+ padding-top: 0;
96
+ padding-bottom: eleVar('tree', 'item-margin');
97
+ }
98
+
99
+ .el-tree-node__content {
100
+ height: 100% !important;
101
+ }
102
+ }
103
+ }
@@ -11,63 +11,20 @@
11
11
  padding: eleVar('tree-select', 'padding') !important;
12
12
  }
13
13
 
14
- .el-tree-node {
15
- padding-top: eleVar('tree-select', 'item-margin');
16
- }
17
-
18
- .el-tree > .el-tree-node:first-child {
19
- padding-top: 0;
20
- }
21
-
22
14
  .el-tree-node__content {
23
- height: eleVar('tree-select', 'item-height');
24
- padding: eleVar('tree-select', 'item-padding');
25
- border-radius: eleVar('tree-select', 'item-radius');
26
- transition: (color $ele-transition, background-color $ele-transition);
27
- box-sizing: border-box;
28
15
  position: relative;
29
16
  z-index: 0;
30
17
 
31
- & > .el-tree-node__expand-icon {
32
- flex-shrink: 0;
33
- width: auto;
34
- height: auto;
35
- transform: none;
36
- box-sizing: border-box;
37
- margin: eleVar('tree-select', 'expand-margin');
38
- padding: eleVar('tree-select', 'expand-padding');
39
- border-radius: eleVar('tree-select', 'expand-radius');
40
- font-size: eleVar('tree-select', 'expand-size');
41
- transition: background-color $ele-transition;
42
- z-index: 4;
43
-
44
- & > svg {
45
- transition: transform 0.3s;
46
- }
47
-
48
- &.expanded > svg {
49
- transform: rotate(90deg);
50
- }
51
-
52
- &:hover {
53
- background: eleVar('tree-select', 'expand-hover-bg');
54
- }
55
-
56
- &.is-leaf {
57
- pointer-events: none;
58
- }
59
- }
60
-
61
18
  .el-select-dropdown__item {
62
19
  height: auto;
63
- line-height: eleVar('tree-select', 'item-line-height');
20
+ line-height: eleVar('tree', 'item-line-height');
64
21
  padding: 0;
65
22
  border-radius: 0;
66
23
  position: static;
67
24
 
68
25
  &::before {
69
26
  content: '';
70
- border-radius: eleVar('tree-select', 'item-radius');
27
+ border-radius: eleVar('tree', 'item-radius');
71
28
  transition: background-color $ele-transition;
72
29
  position: absolute;
73
30
  top: 0;
@@ -98,16 +55,16 @@
98
55
  /* 选中 */
99
56
  .el-tree-node > .el-tree-node__content {
100
57
  .el-select-dropdown__item.selected {
101
- color: eleVar('tree-select', 'item-active-color');
102
- font-weight: eleVar('tree-select', 'item-active-weight');
58
+ color: eleVar('tree', 'item-active-color');
59
+ font-weight: eleVar('tree', 'item-active-weight');
103
60
 
104
61
  &::before {
105
- background: eleVar('tree-select', 'item-active-bg');
62
+ background: eleVar('tree', 'item-active-bg');
106
63
  }
107
64
  }
108
65
 
109
66
  &:hover .el-select-dropdown__item.selected::before {
110
- background: eleVar('tree-select', 'item-active-hover-bg');
67
+ background: eleVar('tree', 'item-active-hover-bg');
111
68
  }
112
69
  }
113
70
 
@@ -35,19 +35,14 @@ declare const _default: import("vue").DefineComponent<{
35
35
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
36
36
  transition: StringConstructor;
37
37
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
38
- popperStyle: {
39
- readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
40
- readonly required: false;
41
- readonly validator: ((val: unknown) => boolean) | undefined;
42
- __epPropKey: true;
43
- };
44
38
  zIndex: NumberConstructor;
45
39
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
40
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
47
41
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
48
42
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
49
- popperClass: StringConstructor;
50
43
  className: StringConstructor;
44
+ popperClass: StringConstructor;
45
+ popperStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
51
46
  }, {
52
47
  tooltipRef: import("vue").Ref<ElTooltipInstance | undefined>;
53
48
  rootProps: import("vue").ComputedRef<Partial<import("element-plus").ElTooltipProps>>;
@@ -101,19 +96,14 @@ declare const _default: import("vue").DefineComponent<{
101
96
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
102
97
  transition: StringConstructor;
103
98
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
104
- popperStyle: {
105
- readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
106
- readonly required: false;
107
- readonly validator: ((val: unknown) => boolean) | undefined;
108
- __epPropKey: true;
109
- };
110
99
  zIndex: NumberConstructor;
111
100
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
112
101
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
113
102
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
114
103
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
115
- popperClass: StringConstructor;
116
104
  className: StringConstructor;
105
+ popperClass: StringConstructor;
106
+ popperStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
117
107
  }>> & {
118
108
  "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
119
109
  onOpen?: ((e: any) => any) | undefined;
@@ -43,19 +43,14 @@ export declare const tooltipProps: {
43
43
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
44
44
  transition: StringConstructor;
45
45
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
- popperStyle: {
47
- readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
48
- readonly required: false;
49
- readonly validator: ((val: unknown) => boolean) | undefined;
50
- __epPropKey: true;
51
- };
52
46
  zIndex: NumberConstructor;
53
47
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
48
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
55
49
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
56
50
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
57
- popperClass: StringConstructor;
58
51
  className: StringConstructor;
52
+ popperClass: StringConstructor;
53
+ popperStyle: PropType<Partial<import("vue").CSSProperties>>;
59
54
  };
60
55
  export type TooltipProps = ExtractPropTypes<typeof tooltipProps>;
61
56
  /**
@@ -12,8 +12,9 @@ const normalizeProps = omit(useTooltipProps, [
12
12
  "onContextmenu"
13
13
  ]);
14
14
  const tooltipProps = {
15
- popperClass: String,
16
15
  className: String,
16
+ popperClass: String,
17
+ popperStyle: Object,
17
18
  ...normalizeProps,
18
19
  /** 自定义内容样式 */
19
20
  bodyStyle: Object,
@@ -5,82 +5,8 @@
5
5
  @include set-tree-select-var($ele);
6
6
 
7
7
  .ele-tree-select-popper {
8
- .el-tree {
9
- background: none;
10
- }
11
-
12
8
  .el-vl__wrapper {
13
9
  padding: eleVar('tree-select', 'padding');
14
- box-sizing: border-box;
15
-
16
- & > .el-virtual-scrollbar {
17
- margin: auto 0;
18
- }
19
- }
20
-
21
- .el-tree-node {
22
- box-sizing: border-box;
23
- padding-bottom: eleVar('tree-select', 'item-margin');
24
- }
25
-
26
- .el-tree-node__content {
27
- height: 100% !important;
28
- padding: eleVar('tree-select', 'item-padding');
29
- border-radius: eleVar('tree-select', 'item-radius');
30
- transition: (color $ele-transition, background-color $ele-transition);
31
- box-sizing: border-box;
32
- position: relative;
33
-
34
- & > .el-tree-node__expand-icon {
35
- flex-shrink: 0;
36
- width: auto;
37
- height: auto;
38
- transform: none;
39
- box-sizing: border-box;
40
- margin: eleVar('tree-select', 'expand-margin');
41
- padding: eleVar('tree-select', 'expand-padding');
42
- border-radius: eleVar('tree-select', 'expand-radius');
43
- font-size: eleVar('tree-select', 'expand-size');
44
- transition: background-color $ele-transition;
45
- z-index: 4;
46
-
47
- & > svg {
48
- transition: transform 0.3s;
49
- }
50
-
51
- &.expanded > svg {
52
- transform: rotate(90deg);
53
- }
54
-
55
- &:hover {
56
- background: eleVar('tree-select', 'expand-hover-bg');
57
- }
58
- }
59
-
60
- & > .el-checkbox {
61
- flex-shrink: 0;
62
- }
63
-
64
- & > .el-tree-node__label {
65
- flex: 1;
66
- line-height: eleVar('tree-select', 'item-line-height');
67
- text-overflow: ellipsis;
68
- word-break: break-all;
69
- white-space: nowrap;
70
- overflow: hidden;
71
- }
72
- }
73
-
74
- .el-tree--highlight-current .el-tree-node.is-current {
75
- & > .el-tree-node__content {
76
- color: eleVar('tree-select', 'item-active-color');
77
- background: eleVar('tree-select', 'item-active-bg');
78
- font-weight: eleVar('tree-select', 'item-active-weight');
79
-
80
- &:hover {
81
- background: eleVar('tree-select', 'item-active-hover-bg');
82
- }
83
- }
84
10
  }
85
11
 
86
12
  .el-tree-node__label.is-disabled {
@@ -1,7 +1,7 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { ElTableV2Instance, ElTableV2Props } from '../ele-app/types';
3
3
  import type { DataKey, DataItem, Column, Filter, OrderValue } from '../ele-data-table/types';
4
- import type { BodyColumns, HeaderRows, CellFilterChangeParams, SortBy, ScrollStrategy, ScrollPos, ColSize, TableTooltipProps } from './types';
4
+ import type { BodyColumns, HeaderRows, CellFilterChangeParams, SortBy, ScrollStrategy, ScrollPos, ColSize } from './types';
5
5
  declare const _default: import("vue").DefineComponent<{
6
6
  rowHeight: NumberConstructor;
7
7
  stripe: {
@@ -47,7 +47,7 @@ declare const _default: import("vue").DefineComponent<{
47
47
  };
48
48
  maxHeight: (StringConstructor | NumberConstructor)[];
49
49
  fit: {
50
- type: BooleanConstructor;
50
+ type: BooleanConstructor; /** 是否是树形数据 */
51
51
  default: boolean;
52
52
  };
53
53
  className: {
@@ -141,7 +141,7 @@ declare const _default: import("vue").DefineComponent<{
141
141
  expandedRowKeys: Ref<DataKey[]>;
142
142
  sortBy: Ref<SortBy | undefined>;
143
143
  filtered: Filter;
144
- tableTooltipProps: TableTooltipProps;
144
+ tableTooltipProps: Partial<import("../ele-tooltip/props").TooltipProps>;
145
145
  treeHasChildrenName: import("vue").ComputedRef<string>;
146
146
  tableExpandCol: import("vue").ComputedRef<Partial<import("element-plus").Column<DataItem>> | undefined>;
147
147
  hasExpandCol: import("vue").ComputedRef<boolean>;
@@ -192,7 +192,7 @@ declare const _default: import("vue").DefineComponent<{
192
192
  setScrollTop: (top?: number) => void;
193
193
  setScrollLeft: (left?: number) => void;
194
194
  scrollToRow: (row: number, strategy: ScrollStrategy) => void;
195
- hideTooltip: () => TableTooltipProps | void;
195
+ hideTooltip: () => void;
196
196
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
197
197
  select: (_selection: DataItem[], _row: DataItem) => boolean;
198
198
  selectAll: (_selection: DataItem[]) => boolean;
@@ -206,7 +206,7 @@ declare const _default: import("vue").DefineComponent<{
206
206
  rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
207
207
  rowDblclick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
208
208
  headerClick: (_column: Column, _e: MouseEvent) => boolean;
209
- headerContextmenu: (_column: Column, _e: MouseEvent) => boolean;
209
+ headerContextmenu: (_column: Column, _e: MouseEvent) => boolean; /** 更新表格渲染 */
210
210
  sortChange: (_sorter: import("../ele-data-table/types").Sorter) => boolean;
211
211
  filterChange: (_filter: Filter) => boolean;
212
212
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
@@ -259,7 +259,7 @@ declare const _default: import("vue").DefineComponent<{
259
259
  };
260
260
  maxHeight: (StringConstructor | NumberConstructor)[];
261
261
  fit: {
262
- type: BooleanConstructor;
262
+ type: BooleanConstructor; /** 是否是树形数据 */
263
263
  default: boolean;
264
264
  };
265
265
  className: {
@@ -1,7 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { Column as TableV2Column, ExtractRowPropGetter, RowExpandHandler, SortBy, HeaderClassNameGetter, ExtractHeaderPropGetter } from 'element-plus/es/components/table-v2';
3
3
  import type { ScrollStrategy, ScrollPos } from 'element-plus/es/components/table-v2/src/composables/use-scrollbar';
4
- import type { ElTableV2Props, EleTooltipProps } from '../../ele-app/types';
4
+ import type { ElTableV2Props } from '../../ele-app/types';
5
5
  import type { DataKey, DataItem, Column, FilterValue } from '../../ele-data-table/types';
6
6
  export { RowExpandHandler, ScrollStrategy, SortBy, ScrollPos };
7
7
  /**
@@ -159,7 +159,3 @@ export interface SumCol extends ColSize {
159
159
  /** 是否是第一个右侧固定列 */
160
160
  isFixedRightFirst?: boolean;
161
161
  }
162
- /**
163
- * 表格提示属性
164
- */
165
- export type TableTooltipProps = Pick<EleTooltipProps, 'placement' | 'trigger' | 'offset' | 'hideAfter' | 'content' | 'virtualRef' | 'virtualTriggering' | 'disabled' | 'visible' | 'teleported' | 'transition'>;
@@ -749,21 +749,7 @@ $ele: map.deep-merge(
749
749
  'tree-select': (
750
750
  // 下拉树选择
751
751
  'padding': 6px 0,
752
- 'item-height': 32px,
753
- 'item-line-height': 20px,
754
- 'item-margin': 0,
755
- 'item-padding': 0 16px,
756
- 'item-radius': 0,
757
- 'item-active-color': elVar('color-primary'),
758
- 'item-active-weight': bold,
759
- 'item-active-bg': elVar('color-primary', 'light-9'),
760
- 'item-active-hover-bg': elVar('color-primary', 'light-8'),
761
- 'item-disabled-color': elVar('disabled', 'text-color'),
762
- 'expand-size': 12px,
763
- 'expand-padding': 4px,
764
- 'expand-margin': 0 2px 0 4px,
765
- 'expand-radius': elVar('border-radius', 'small'),
766
- 'expand-hover-bg': transparent
752
+ 'item-disabled-color': elVar('disabled', 'text-color')
767
753
  ),
768
754
  'popper': (
769
755
  // 底层气泡
@@ -954,12 +940,12 @@ $ele: map.deep-merge(
954
940
  'sm-icon-width': 4.5px,
955
941
  'sm-icon-height': 7px,
956
942
  'sm-icon-left': 24.5%,
957
- 'lg-font-size': eleVar('checkbox', 'font-size'),
958
- 'lg-size': eleVar('checkbox', 'size'),
959
- 'lg-radius': eleVar('checkbox', 'radius'),
960
- 'lg-icon-width': eleVar('checkbox', 'icon-width'),
961
- 'lg-icon-height': eleVar('checkbox', 'icon-height'),
962
- 'lg-icon-left': eleVar('checkbox', 'icon-left')
943
+ 'lg-font-size': elVar('font-size', 'base'),
944
+ 'lg-size': 16px,
945
+ 'lg-radius': elVar('border-radius', 'small'),
946
+ 'lg-icon-width': 5.7142857142857135px,
947
+ 'lg-icon-height': 9.142857142857142px,
948
+ 'lg-icon-left': 21.5%
963
949
  ),
964
950
  'tag': (
965
951
  // 标签
@@ -1080,6 +1066,23 @@ $ele: map.deep-merge(
1080
1066
  'danger-close-hover-color': elVar('color-error'),
1081
1067
  'danger-close-hover-bg': transparent
1082
1068
  ),
1069
+ 'tree': (
1070
+ // 树
1071
+ 'item-height': 30px,
1072
+ 'item-line-height': 16px,
1073
+ 'item-margin': 0,
1074
+ 'item-padding': 0 16px,
1075
+ 'item-radius': 0,
1076
+ 'item-active-color': elVar('color-primary'),
1077
+ 'item-active-weight': bold,
1078
+ 'item-active-bg': elVar('color-primary', 'light-9'),
1079
+ 'item-active-hover-bg': elVar('color-primary', 'light-8'),
1080
+ 'expand-size': 12px,
1081
+ 'expand-padding': 3px,
1082
+ 'expand-margin': 0 2px 0 4px,
1083
+ 'expand-radius': elVar('border-radius', 'small'),
1084
+ 'expand-hover-bg': transparent
1085
+ ),
1083
1086
  'image-viewer': (
1084
1087
  // 图片预览
1085
1088
  'tool-bg': hsla(0, 0%, 28%, 0.6)
@@ -249,6 +249,12 @@ $ele-rounded: map.deep-merge(
249
249
  'warning-close-hover-bg': elVar('color-warning', 'light-8'),
250
250
  'danger-close-hover-bg': elVar('color-error', 'light-8')
251
251
  ),
252
+ 'tree': (
253
+ 'item-margin': 2px,
254
+ 'item-padding': 0 12px,
255
+ 'item-radius': elVar('border-radius', 'small'),
256
+ 'expand-hover-bg': hsla(0, 0%, 60%, 0.15)
257
+ ),
252
258
  'descriptions': (
253
259
  'radius': $radius-large
254
260
  ),
@@ -12,6 +12,7 @@
12
12
  @use './select/css-var.scss' as *;
13
13
  @use './table-filter/css-var.scss' as *;
14
14
  @use './tag/css-var.scss' as *;
15
+ @use './tree/css-var.scss' as *;
15
16
  @use './tree-select/css-var.scss' as *;
16
17
 
17
18
  /* El 样式重写主题变量 */
@@ -29,5 +30,6 @@
29
30
  @include set-el-select-var($var);
30
31
  @include set-el-table-filter-var($var);
31
32
  @include set-el-tag-var($var);
33
+ @include set-el-tree-var($var);
32
34
  @include set-el-tree-select-var($var);
33
35
  }
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
- require("./popper/index");
3
- require("./tag/index");
4
- require("./radio/index");
5
- require("./checkbox/index");
6
- require("./select/index");
7
2
  require("./autocomplete/index");
8
- require("./cascader/index");
9
- require("./tree-select/index");
10
- require("./table-filter/index");
11
- require("./message-box/index");
12
- require("./notification/index");
13
- require("./descriptions/index");
14
3
  require("./backtop/index");
15
- require("./image-viewer/index");
4
+ require("./cascader/index");
5
+ require("./checkbox/index");
16
6
  require("./color-picker/index");
17
7
  require("./date-picker/index");
8
+ require("./descriptions/index");
9
+ require("./image-viewer/index");
10
+ require("./message-box/index");
11
+ require("./notification/index");
12
+ require("./popper/index");
13
+ require("./radio/index");
14
+ require("./select/index");
15
+ require("./table-filter/index");
16
+ require("./tag/index");
17
+ require("./tree/index");
18
+ require("./tree-select/index");
@@ -1,16 +1,17 @@
1
- @use './popper/index.scss' as popper;
2
- @use './tag/index.scss' as tag;
3
- @use './radio/index.scss' as radio;
4
- @use './checkbox/index.scss' as checkbox;
5
- @use './select/index.scss' as select;
6
1
  @use './autocomplete/index.scss' as autocomplete;
7
- @use './cascader/index.scss' as cascader;
8
- @use './tree-select/index.scss' as treeSelect;
9
- @use './table-filter/index.scss' as tableFilter;
10
- @use './message-box/index.scss' as messageBox;
11
- @use './notification/index.scss' as notification;
12
- @use './descriptions/index.scss' as descriptions;
13
2
  @use './backtop/index.scss' as backtop;
14
- @use './image-viewer/index.scss' as imageViewer;
3
+ @use './cascader/index.scss' as cascader;
4
+ @use './checkbox/index.scss' as checkbox;
15
5
  @use './color-picker/index.scss' as colorPicker;
16
6
  @use './date-picker/index.scss' as datePicker;
7
+ @use './descriptions/index.scss' as descriptions;
8
+ @use './image-viewer/index.scss' as imageViewer;
9
+ @use './message-box/index.scss' as messageBox;
10
+ @use './notification/index.scss' as notification;
11
+ @use './popper/index.scss' as popper;
12
+ @use './radio/index.scss' as radio;
13
+ @use './select/index.scss' as select;
14
+ @use './table-filter/index.scss' as tableFilter;
15
+ @use './tag/index.scss' as tag;
16
+ @use './tree/index.scss' as tree;
17
+ @use './tree-select/index.scss' as treeSelect;
@@ -0,0 +1,8 @@
1
+ @use '../../../../style/util.scss' as *;
2
+
3
+ /* ElTree 主题变量 */
4
+ @mixin set-el-tree-var($var) {
5
+ .el-tree {
6
+ @include set-ele-var('tree', $var);
7
+ }
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ require("./index.scss");
@@ -0,0 +1,103 @@
1
+ @use '../../../../style/themes/default.scss' as *;
2
+ @use '../../../../style/util.scss' as *;
3
+ @use './css-var.scss' as *;
4
+
5
+ @include set-el-tree-var($ele);
6
+
7
+ /* Tree */
8
+ .el-tree {
9
+ background: none;
10
+
11
+ .el-tree-node {
12
+ padding-top: eleVar('tree', 'item-margin');
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ & > .el-tree-node:first-child {
17
+ padding-top: 0;
18
+ }
19
+
20
+ .el-tree-node__content {
21
+ height: eleVar('tree', 'item-height');
22
+ padding: eleVar('tree', 'item-padding');
23
+ border-radius: eleVar('tree', 'item-radius');
24
+ transition: (color $ele-transition, background-color $ele-transition);
25
+ box-sizing: border-box;
26
+
27
+ & > .el-tree-node__expand-icon {
28
+ flex-shrink: 0;
29
+ width: auto;
30
+ height: auto;
31
+ transform: none;
32
+ box-sizing: border-box;
33
+ margin: eleVar('tree', 'expand-margin');
34
+ padding: eleVar('tree', 'expand-padding');
35
+ border-radius: eleVar('tree', 'expand-radius');
36
+ font-size: eleVar('tree', 'expand-size');
37
+ transition: background-color $ele-transition;
38
+ z-index: 4;
39
+
40
+ & > svg {
41
+ transition: transform 0.3s;
42
+ }
43
+
44
+ &.expanded > svg {
45
+ transform: rotate(90deg);
46
+ }
47
+
48
+ &:hover {
49
+ background: eleVar('tree', 'expand-hover-bg');
50
+ }
51
+
52
+ &.is-leaf {
53
+ pointer-events: none;
54
+ }
55
+ }
56
+
57
+ & > .el-checkbox {
58
+ flex-shrink: 0;
59
+ }
60
+
61
+ & > .el-tree-node__label {
62
+ flex: 1;
63
+ line-height: eleVar('tree', 'item-line-height');
64
+ text-overflow: ellipsis;
65
+ word-break: break-all;
66
+ white-space: nowrap;
67
+ overflow: hidden;
68
+ }
69
+ }
70
+
71
+ &.el-tree--highlight-current {
72
+ .el-tree-node.is-current > .el-tree-node__content {
73
+ background: eleVar('tree', 'item-active-bg');
74
+
75
+ .el-tree-node__label {
76
+ color: eleVar('tree', 'item-active-color');
77
+ font-weight: eleVar('tree', 'item-active-weight');
78
+ }
79
+
80
+ &:hover {
81
+ background: eleVar('tree', 'item-active-hover-bg');
82
+ }
83
+ }
84
+ }
85
+
86
+ /* TreeV2 */
87
+ .el-vl__wrapper {
88
+ box-sizing: border-box;
89
+
90
+ & > .el-virtual-scrollbar {
91
+ margin: auto 0;
92
+ }
93
+
94
+ .el-tree-node {
95
+ padding-top: 0;
96
+ padding-bottom: eleVar('tree', 'item-margin');
97
+ }
98
+
99
+ .el-tree-node__content {
100
+ height: 100% !important;
101
+ }
102
+ }
103
+ }
@@ -11,63 +11,20 @@
11
11
  padding: eleVar('tree-select', 'padding') !important;
12
12
  }
13
13
 
14
- .el-tree-node {
15
- padding-top: eleVar('tree-select', 'item-margin');
16
- }
17
-
18
- .el-tree > .el-tree-node:first-child {
19
- padding-top: 0;
20
- }
21
-
22
14
  .el-tree-node__content {
23
- height: eleVar('tree-select', 'item-height');
24
- padding: eleVar('tree-select', 'item-padding');
25
- border-radius: eleVar('tree-select', 'item-radius');
26
- transition: (color $ele-transition, background-color $ele-transition);
27
- box-sizing: border-box;
28
15
  position: relative;
29
16
  z-index: 0;
30
17
 
31
- & > .el-tree-node__expand-icon {
32
- flex-shrink: 0;
33
- width: auto;
34
- height: auto;
35
- transform: none;
36
- box-sizing: border-box;
37
- margin: eleVar('tree-select', 'expand-margin');
38
- padding: eleVar('tree-select', 'expand-padding');
39
- border-radius: eleVar('tree-select', 'expand-radius');
40
- font-size: eleVar('tree-select', 'expand-size');
41
- transition: background-color $ele-transition;
42
- z-index: 4;
43
-
44
- & > svg {
45
- transition: transform 0.3s;
46
- }
47
-
48
- &.expanded > svg {
49
- transform: rotate(90deg);
50
- }
51
-
52
- &:hover {
53
- background: eleVar('tree-select', 'expand-hover-bg');
54
- }
55
-
56
- &.is-leaf {
57
- pointer-events: none;
58
- }
59
- }
60
-
61
18
  .el-select-dropdown__item {
62
19
  height: auto;
63
- line-height: eleVar('tree-select', 'item-line-height');
20
+ line-height: eleVar('tree', 'item-line-height');
64
21
  padding: 0;
65
22
  border-radius: 0;
66
23
  position: static;
67
24
 
68
25
  &::before {
69
26
  content: '';
70
- border-radius: eleVar('tree-select', 'item-radius');
27
+ border-radius: eleVar('tree', 'item-radius');
71
28
  transition: background-color $ele-transition;
72
29
  position: absolute;
73
30
  top: 0;
@@ -98,16 +55,16 @@
98
55
  /* 选中 */
99
56
  .el-tree-node > .el-tree-node__content {
100
57
  .el-select-dropdown__item.selected {
101
- color: eleVar('tree-select', 'item-active-color');
102
- font-weight: eleVar('tree-select', 'item-active-weight');
58
+ color: eleVar('tree', 'item-active-color');
59
+ font-weight: eleVar('tree', 'item-active-weight');
103
60
 
104
61
  &::before {
105
- background: eleVar('tree-select', 'item-active-bg');
62
+ background: eleVar('tree', 'item-active-bg');
106
63
  }
107
64
  }
108
65
 
109
66
  &:hover .el-select-dropdown__item.selected::before {
110
- background: eleVar('tree-select', 'item-active-hover-bg');
67
+ background: eleVar('tree', 'item-active-hover-bg');
111
68
  }
112
69
  }
113
70
 
@@ -35,19 +35,14 @@ declare const _default: import("vue").DefineComponent<{
35
35
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
36
36
  transition: StringConstructor;
37
37
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
38
- popperStyle: {
39
- readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
40
- readonly required: false;
41
- readonly validator: ((val: unknown) => boolean) | undefined;
42
- __epPropKey: true;
43
- };
44
38
  zIndex: NumberConstructor;
45
39
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
40
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
47
41
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
48
42
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
49
- popperClass: StringConstructor;
50
43
  className: StringConstructor;
44
+ popperClass: StringConstructor;
45
+ popperStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
51
46
  }, {
52
47
  tooltipRef: import("vue").Ref<ElTooltipInstance | undefined>;
53
48
  rootProps: import("vue").ComputedRef<Partial<import("element-plus").ElTooltipProps>>;
@@ -101,19 +96,14 @@ declare const _default: import("vue").DefineComponent<{
101
96
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
102
97
  transition: StringConstructor;
103
98
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
104
- popperStyle: {
105
- readonly type: import("vue").PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
106
- readonly required: false;
107
- readonly validator: ((val: unknown) => boolean) | undefined;
108
- __epPropKey: true;
109
- };
110
99
  zIndex: NumberConstructor;
111
100
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
112
101
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
113
102
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
114
103
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
115
- popperClass: StringConstructor;
116
104
  className: StringConstructor;
105
+ popperClass: StringConstructor;
106
+ popperStyle: import("vue").PropType<Partial<import("vue").CSSProperties>>;
117
107
  }>> & {
118
108
  "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
119
109
  onOpen?: ((e: any) => any) | undefined;
@@ -43,19 +43,14 @@ export declare const tooltipProps: {
43
43
  visible: import("element-plus/es/utils/index").EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
44
44
  transition: StringConstructor;
45
45
  enterable: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
46
- popperStyle: {
47
- readonly type: PropType<import("element-plus/es/utils/index").EpPropMergeType<(new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue) | ((new (...args: any[]) => string | false | import("vue").CSSProperties | import("vue").StyleValue[]) | (() => import("vue").StyleValue))[], unknown, unknown>>;
48
- readonly required: false;
49
- readonly validator: ((val: unknown) => boolean) | undefined;
50
- __epPropKey: true;
51
- };
52
46
  zIndex: NumberConstructor;
53
47
  gpuAcceleration: import("element-plus/es/utils/index").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
54
48
  showAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
55
49
  hideAfter: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
56
50
  autoClose: import("element-plus/es/utils/index").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
57
- popperClass: StringConstructor;
58
51
  className: StringConstructor;
52
+ popperClass: StringConstructor;
53
+ popperStyle: PropType<Partial<import("vue").CSSProperties>>;
59
54
  };
60
55
  export type TooltipProps = ExtractPropTypes<typeof tooltipProps>;
61
56
  /**
@@ -14,8 +14,9 @@ const normalizeProps = core.omit(elementPlus.useTooltipProps, [
14
14
  "onContextmenu"
15
15
  ]);
16
16
  const tooltipProps = {
17
- popperClass: String,
18
17
  className: String,
18
+ popperClass: String,
19
+ popperStyle: Object,
19
20
  ...normalizeProps,
20
21
  /** 自定义内容样式 */
21
22
  bodyStyle: Object,
@@ -5,82 +5,8 @@
5
5
  @include set-tree-select-var($ele);
6
6
 
7
7
  .ele-tree-select-popper {
8
- .el-tree {
9
- background: none;
10
- }
11
-
12
8
  .el-vl__wrapper {
13
9
  padding: eleVar('tree-select', 'padding');
14
- box-sizing: border-box;
15
-
16
- & > .el-virtual-scrollbar {
17
- margin: auto 0;
18
- }
19
- }
20
-
21
- .el-tree-node {
22
- box-sizing: border-box;
23
- padding-bottom: eleVar('tree-select', 'item-margin');
24
- }
25
-
26
- .el-tree-node__content {
27
- height: 100% !important;
28
- padding: eleVar('tree-select', 'item-padding');
29
- border-radius: eleVar('tree-select', 'item-radius');
30
- transition: (color $ele-transition, background-color $ele-transition);
31
- box-sizing: border-box;
32
- position: relative;
33
-
34
- & > .el-tree-node__expand-icon {
35
- flex-shrink: 0;
36
- width: auto;
37
- height: auto;
38
- transform: none;
39
- box-sizing: border-box;
40
- margin: eleVar('tree-select', 'expand-margin');
41
- padding: eleVar('tree-select', 'expand-padding');
42
- border-radius: eleVar('tree-select', 'expand-radius');
43
- font-size: eleVar('tree-select', 'expand-size');
44
- transition: background-color $ele-transition;
45
- z-index: 4;
46
-
47
- & > svg {
48
- transition: transform 0.3s;
49
- }
50
-
51
- &.expanded > svg {
52
- transform: rotate(90deg);
53
- }
54
-
55
- &:hover {
56
- background: eleVar('tree-select', 'expand-hover-bg');
57
- }
58
- }
59
-
60
- & > .el-checkbox {
61
- flex-shrink: 0;
62
- }
63
-
64
- & > .el-tree-node__label {
65
- flex: 1;
66
- line-height: eleVar('tree-select', 'item-line-height');
67
- text-overflow: ellipsis;
68
- word-break: break-all;
69
- white-space: nowrap;
70
- overflow: hidden;
71
- }
72
- }
73
-
74
- .el-tree--highlight-current .el-tree-node.is-current {
75
- & > .el-tree-node__content {
76
- color: eleVar('tree-select', 'item-active-color');
77
- background: eleVar('tree-select', 'item-active-bg');
78
- font-weight: eleVar('tree-select', 'item-active-weight');
79
-
80
- &:hover {
81
- background: eleVar('tree-select', 'item-active-hover-bg');
82
- }
83
- }
84
10
  }
85
11
 
86
12
  .el-tree-node__label.is-disabled {
@@ -1,7 +1,7 @@
1
1
  import type { Ref } from 'vue';
2
2
  import type { ElTableV2Instance, ElTableV2Props } from '../ele-app/types';
3
3
  import type { DataKey, DataItem, Column, Filter, OrderValue } from '../ele-data-table/types';
4
- import type { BodyColumns, HeaderRows, CellFilterChangeParams, SortBy, ScrollStrategy, ScrollPos, ColSize, TableTooltipProps } from './types';
4
+ import type { BodyColumns, HeaderRows, CellFilterChangeParams, SortBy, ScrollStrategy, ScrollPos, ColSize } from './types';
5
5
  declare const _default: import("vue").DefineComponent<{
6
6
  rowHeight: NumberConstructor;
7
7
  stripe: {
@@ -47,7 +47,7 @@ declare const _default: import("vue").DefineComponent<{
47
47
  };
48
48
  maxHeight: (StringConstructor | NumberConstructor)[];
49
49
  fit: {
50
- type: BooleanConstructor;
50
+ type: BooleanConstructor; /** 是否是树形数据 */
51
51
  default: boolean;
52
52
  };
53
53
  className: {
@@ -141,7 +141,7 @@ declare const _default: import("vue").DefineComponent<{
141
141
  expandedRowKeys: Ref<DataKey[]>;
142
142
  sortBy: Ref<SortBy | undefined>;
143
143
  filtered: Filter;
144
- tableTooltipProps: TableTooltipProps;
144
+ tableTooltipProps: Partial<import("../ele-tooltip/props").TooltipProps>;
145
145
  treeHasChildrenName: import("vue").ComputedRef<string>;
146
146
  tableExpandCol: import("vue").ComputedRef<Partial<import("element-plus").Column<DataItem>> | undefined>;
147
147
  hasExpandCol: import("vue").ComputedRef<boolean>;
@@ -192,7 +192,7 @@ declare const _default: import("vue").DefineComponent<{
192
192
  setScrollTop: (top?: number) => void;
193
193
  setScrollLeft: (left?: number) => void;
194
194
  scrollToRow: (row: number, strategy: ScrollStrategy) => void;
195
- hideTooltip: () => TableTooltipProps | void;
195
+ hideTooltip: () => void;
196
196
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
197
197
  select: (_selection: DataItem[], _row: DataItem) => boolean;
198
198
  selectAll: (_selection: DataItem[]) => boolean;
@@ -206,7 +206,7 @@ declare const _default: import("vue").DefineComponent<{
206
206
  rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
207
207
  rowDblclick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
208
208
  headerClick: (_column: Column, _e: MouseEvent) => boolean;
209
- headerContextmenu: (_column: Column, _e: MouseEvent) => boolean;
209
+ headerContextmenu: (_column: Column, _e: MouseEvent) => boolean; /** 更新表格渲染 */
210
210
  sortChange: (_sorter: import("../ele-data-table/types").Sorter) => boolean;
211
211
  filterChange: (_filter: Filter) => boolean;
212
212
  currentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => boolean;
@@ -259,7 +259,7 @@ declare const _default: import("vue").DefineComponent<{
259
259
  };
260
260
  maxHeight: (StringConstructor | NumberConstructor)[];
261
261
  fit: {
262
- type: BooleanConstructor;
262
+ type: BooleanConstructor; /** 是否是树形数据 */
263
263
  default: boolean;
264
264
  };
265
265
  className: {
@@ -1,7 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  import type { Column as TableV2Column, ExtractRowPropGetter, RowExpandHandler, SortBy, HeaderClassNameGetter, ExtractHeaderPropGetter } from 'element-plus/es/components/table-v2';
3
3
  import type { ScrollStrategy, ScrollPos } from 'element-plus/es/components/table-v2/src/composables/use-scrollbar';
4
- import type { ElTableV2Props, EleTooltipProps } from '../../ele-app/types';
4
+ import type { ElTableV2Props } from '../../ele-app/types';
5
5
  import type { DataKey, DataItem, Column, FilterValue } from '../../ele-data-table/types';
6
6
  export { RowExpandHandler, ScrollStrategy, SortBy, ScrollPos };
7
7
  /**
@@ -159,7 +159,3 @@ export interface SumCol extends ColSize {
159
159
  /** 是否是第一个右侧固定列 */
160
160
  isFixedRightFirst?: boolean;
161
161
  }
162
- /**
163
- * 表格提示属性
164
- */
165
- export type TableTooltipProps = Pick<EleTooltipProps, 'placement' | 'trigger' | 'offset' | 'hideAfter' | 'content' | 'virtualRef' | 'virtualTriggering' | 'disabled' | 'visible' | 'teleported' | 'transition'>;
@@ -749,21 +749,7 @@ $ele: map.deep-merge(
749
749
  'tree-select': (
750
750
  // 下拉树选择
751
751
  'padding': 6px 0,
752
- 'item-height': 32px,
753
- 'item-line-height': 20px,
754
- 'item-margin': 0,
755
- 'item-padding': 0 16px,
756
- 'item-radius': 0,
757
- 'item-active-color': elVar('color-primary'),
758
- 'item-active-weight': bold,
759
- 'item-active-bg': elVar('color-primary', 'light-9'),
760
- 'item-active-hover-bg': elVar('color-primary', 'light-8'),
761
- 'item-disabled-color': elVar('disabled', 'text-color'),
762
- 'expand-size': 12px,
763
- 'expand-padding': 4px,
764
- 'expand-margin': 0 2px 0 4px,
765
- 'expand-radius': elVar('border-radius', 'small'),
766
- 'expand-hover-bg': transparent
752
+ 'item-disabled-color': elVar('disabled', 'text-color')
767
753
  ),
768
754
  'popper': (
769
755
  // 底层气泡
@@ -954,12 +940,12 @@ $ele: map.deep-merge(
954
940
  'sm-icon-width': 4.5px,
955
941
  'sm-icon-height': 7px,
956
942
  'sm-icon-left': 24.5%,
957
- 'lg-font-size': eleVar('checkbox', 'font-size'),
958
- 'lg-size': eleVar('checkbox', 'size'),
959
- 'lg-radius': eleVar('checkbox', 'radius'),
960
- 'lg-icon-width': eleVar('checkbox', 'icon-width'),
961
- 'lg-icon-height': eleVar('checkbox', 'icon-height'),
962
- 'lg-icon-left': eleVar('checkbox', 'icon-left')
943
+ 'lg-font-size': elVar('font-size', 'base'),
944
+ 'lg-size': 16px,
945
+ 'lg-radius': elVar('border-radius', 'small'),
946
+ 'lg-icon-width': 5.7142857142857135px,
947
+ 'lg-icon-height': 9.142857142857142px,
948
+ 'lg-icon-left': 21.5%
963
949
  ),
964
950
  'tag': (
965
951
  // 标签
@@ -1080,6 +1066,23 @@ $ele: map.deep-merge(
1080
1066
  'danger-close-hover-color': elVar('color-error'),
1081
1067
  'danger-close-hover-bg': transparent
1082
1068
  ),
1069
+ 'tree': (
1070
+ // 树
1071
+ 'item-height': 30px,
1072
+ 'item-line-height': 16px,
1073
+ 'item-margin': 0,
1074
+ 'item-padding': 0 16px,
1075
+ 'item-radius': 0,
1076
+ 'item-active-color': elVar('color-primary'),
1077
+ 'item-active-weight': bold,
1078
+ 'item-active-bg': elVar('color-primary', 'light-9'),
1079
+ 'item-active-hover-bg': elVar('color-primary', 'light-8'),
1080
+ 'expand-size': 12px,
1081
+ 'expand-padding': 3px,
1082
+ 'expand-margin': 0 2px 0 4px,
1083
+ 'expand-radius': elVar('border-radius', 'small'),
1084
+ 'expand-hover-bg': transparent
1085
+ ),
1083
1086
  'image-viewer': (
1084
1087
  // 图片预览
1085
1088
  'tool-bg': hsla(0, 0%, 28%, 0.6)
@@ -249,6 +249,12 @@ $ele-rounded: map.deep-merge(
249
249
  'warning-close-hover-bg': elVar('color-warning', 'light-8'),
250
250
  'danger-close-hover-bg': elVar('color-error', 'light-8')
251
251
  ),
252
+ 'tree': (
253
+ 'item-margin': 2px,
254
+ 'item-padding': 0 12px,
255
+ 'item-radius': elVar('border-radius', 'small'),
256
+ 'expand-hover-bg': hsla(0, 0%, 60%, 0.15)
257
+ ),
252
258
  'descriptions': (
253
259
  'radius': $radius-large
254
260
  ),
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "ele-admin-plus",
3
- "version": "1.1.6-beta.3",
3
+ "version": "1.1.6-beta.4",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite --host --config vite.global.ts",
7
7
  "dev:needed": "vite --host",
8
8
  "build": "esno scripts/build.ts",
9
9
  "ts2js": "esno scripts/ts2js.ts",
10
- "lint:eslint": "eslint --cache --max-warnings 0 \"{src,components}/**/*.{vue,js,ts,tsx}\" --fix",
10
+ "lint:eslint": "eslint --cache --max-warnings 0 \"{src,components}/**/*.{vue,js,jsx,ts,tsx}\" --fix",
11
11
  "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite/",
12
12
  "clean:lib": "rimraf node_modules"
13
13
  },
@@ -42,7 +42,7 @@
42
42
  "element-plus": "^2.4.4",
43
43
  "eslint": "^8.56.0",
44
44
  "eslint-config-prettier": "^9.1.0",
45
- "eslint-plugin-prettier": "^5.0.1",
45
+ "eslint-plugin-prettier": "^5.1.0",
46
46
  "eslint-plugin-vue": "^9.19.2",
47
47
  "esno": "^4.0.0",
48
48
  "execa": "^8.0.1",
@@ -69,9 +69,9 @@
69
69
  "vue-router": "^4.2.5",
70
70
  "vue-tsc": "^1.8.25",
71
71
  "vuedraggable": "^4.1.0",
72
- "xgplayer": "^3.0.10",
73
- "xgplayer-hls": "^3.0.10",
74
- "xgplayer-music": "^3.0.10",
72
+ "xgplayer": "^3.0.11",
73
+ "xgplayer-hls": "^3.0.11",
74
+ "xgplayer-music": "^3.0.11",
75
75
  "xlsx": "^0.18.5"
76
76
  },
77
77
  "main": "lib/index.js",
@@ -95,7 +95,8 @@
95
95
  "element",
96
96
  "element ui",
97
97
  "element plus",
98
- "admin"
98
+ "admin",
99
+ "ele-admin"
99
100
  ],
100
101
  "description": "EleAdminPlus Library",
101
102
  "author": "eclouds@foxmail.com",