bkui-vue 0.0.1-beta.55 → 0.0.1-beta.58

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 (104) hide show
  1. package/dist/index.cjs.js +27 -27
  2. package/dist/index.esm.js +1302 -718
  3. package/dist/index.umd.js +27 -27
  4. package/dist/style.css +1 -1
  5. package/lib/badge/badge.css +5 -5
  6. package/lib/badge/badge.d.ts +28 -7
  7. package/lib/badge/badge.less +5 -6
  8. package/lib/badge/badge.variable.css +5 -5
  9. package/lib/badge/index.d.ts +68 -18
  10. package/lib/badge/index.js +1 -1
  11. package/lib/breadcrumb/breadcrumb.css +8 -0
  12. package/lib/breadcrumb/breadcrumb.variable.css +8 -0
  13. package/lib/card/card.css +53 -1
  14. package/lib/card/card.d.ts +47 -6
  15. package/lib/card/card.less +47 -3
  16. package/lib/card/card.variable.css +53 -1
  17. package/lib/card/index.d.ts +113 -17
  18. package/lib/card/index.js +1 -1
  19. package/lib/code-diff/index.js +1 -1
  20. package/lib/components.d.ts +1 -0
  21. package/lib/components.js +1 -1
  22. package/lib/container/col.d.ts +51 -0
  23. package/lib/container/container.css +48 -0
  24. package/lib/container/container.d.ts +83 -0
  25. package/lib/container/container.less +20 -0
  26. package/lib/container/container.variable.css +142 -0
  27. package/lib/container/index.d.ts +223 -0
  28. package/lib/container/index.js +1 -0
  29. package/lib/container/row.d.ts +4 -0
  30. package/lib/date-picker/date-picker.d.ts +4 -4
  31. package/lib/date-picker/index.d.ts +14 -14
  32. package/lib/dialog/dialog.css +8 -0
  33. package/lib/dialog/dialog.d.ts +170 -97
  34. package/lib/dialog/dialog.less +8 -0
  35. package/lib/dialog/dialog.variable.css +8 -0
  36. package/lib/dialog/index.d.ts +373 -206
  37. package/lib/dialog/index.js +1 -1
  38. package/lib/form/form-item.d.ts +2 -2
  39. package/lib/form/form.css +4 -1
  40. package/lib/form/form.less +4 -1
  41. package/lib/form/form.variable.css +4 -1
  42. package/lib/form/index.d.ts +2 -2
  43. package/lib/icon/close-line.d.ts +4 -0
  44. package/lib/icon/{funnel.js → close-line.js} +1 -1
  45. package/lib/icon/data-shape.d.ts +4 -0
  46. package/lib/icon/data-shape.js +1 -0
  47. package/lib/icon/edit-line.d.ts +4 -0
  48. package/lib/icon/edit-line.js +1 -0
  49. package/lib/icon/help-document-fill.js +1 -1
  50. package/lib/icon/help-fill.js +1 -0
  51. package/lib/icon/index.d.ts +3 -0
  52. package/lib/icon/index.js +1 -1
  53. package/lib/input/index.d.ts +27 -27
  54. package/lib/input/index.js +1 -1
  55. package/lib/input/input.css +9 -0
  56. package/lib/input/input.d.ts +8 -8
  57. package/lib/input/input.less +1 -0
  58. package/lib/input/input.variable.css +9 -0
  59. package/lib/loading/loading.css +8 -0
  60. package/lib/loading/loading.variable.css +8 -0
  61. package/lib/menu/menu.css +8 -0
  62. package/lib/menu/menu.variable.css +8 -0
  63. package/lib/modal/index.d.ts +177 -165
  64. package/lib/modal/index.js +1 -1
  65. package/lib/modal/modal.d.ts +70 -65
  66. package/lib/modal/props.mixin.d.ts +34 -31
  67. package/lib/navigation/navigation.d.ts +1 -1
  68. package/lib/pagination/index.d.ts +7 -7
  69. package/lib/pagination/pagination.d.ts +2 -2
  70. package/lib/progress/progress.css +8 -0
  71. package/lib/progress/progress.variable.css +8 -0
  72. package/lib/rate/star.d.ts +1 -1
  73. package/lib/select/index.d.ts +8 -8
  74. package/lib/select/select.d.ts +2 -2
  75. package/lib/sideslider/index.d.ts +143 -134
  76. package/lib/sideslider/sideslider.d.ts +70 -65
  77. package/lib/slider/slider.d.ts +1 -1
  78. package/lib/styles/index.d.ts +1 -0
  79. package/lib/styles/mixins/clearfix.css +8 -0
  80. package/lib/styles/mixins/clearfix.less +10 -0
  81. package/lib/styles/mixins/clearfix.variable.css +8 -0
  82. package/lib/styles/mixins/mixins.css +8 -0
  83. package/lib/styles/mixins/mixins.less +1 -0
  84. package/lib/styles/mixins/mixins.variable.css +8 -0
  85. package/lib/switcher/switcher.css +8 -0
  86. package/lib/switcher/switcher.variable.css +8 -0
  87. package/lib/tab/index.d.ts +1 -1
  88. package/lib/tab/tab-panel.d.ts +1 -1
  89. package/lib/table/index.d.ts +54 -1
  90. package/lib/table/index.js +1 -1
  91. package/lib/table/plugins/settings.css +110 -0
  92. package/lib/table/plugins/settings.less +130 -0
  93. package/lib/table/plugins/settings.variable.css +204 -0
  94. package/lib/table/props.d.ts +42 -1
  95. package/lib/table/render.d.ts +12 -2
  96. package/lib/table/table.css +131 -2
  97. package/lib/table/table.d.ts +25 -0
  98. package/lib/table/table.less +29 -1
  99. package/lib/table/table.variable.css +131 -2
  100. package/lib/table/use-common.d.ts +8 -5
  101. package/lib/tag-input/tag-input.d.ts +2 -2
  102. package/lib/tree/index.js +1 -1
  103. package/lib/virtual-render/index.js +1 -1
  104. package/package.json +11 -4
@@ -0,0 +1,204 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --popover-max-height: 216px;
4
+ --primary-color: #3a84ff;
5
+ --success-color: #2dcb56;
6
+ --warning-color: #ff9c01;
7
+ --danger-color: #ea3636;
8
+ --default-color: #63656e;
9
+ --gray-color: #979ba5;
10
+ --light-gray: #c4c6cc;
11
+ --white-color: white;
12
+ --disable-color: #dcdee5;
13
+ --font-size-base: 12px;
14
+ --font-size-medium: 14px;
15
+ --font-size-large: 16px;
16
+ --line-height-base: 16px;
17
+ --line-height-medium: 16px;
18
+ --line-height-large: 18px;
19
+ --component-size-small: 26px;
20
+ --component-size-base: 32px;
21
+ --component-size-large: 38px;
22
+ --border-width-base: 1px;
23
+ --border-style-base: solid;
24
+ --border-radius-base: 2px;
25
+ --input-disabled-bg: #fafbfd;
26
+ --input-disabled-border: var(--disable-color);
27
+ --input-height-base: var(--component-size-base);
28
+ --input-color: var(--default-color);
29
+ --input-bg: white;
30
+ --input-border-color: var(--light-gray);
31
+ --input-broder-radius: 3px;
32
+ --input-shadow-color: #a3c5fd;
33
+ --input-horizontal-padding: 10px;
34
+ --input-block-color: #f4f6fa;
35
+ --input-icon-size: var(--font-size-large);
36
+ --input-maxlength-color: #979ba5;
37
+ --button-primary-hover-color: #5594fa;
38
+ --button-danger-hover-color: #ff5656;
39
+ --button-success-hover-color: #45e35f;
40
+ --button-warning-hover-color: #ffb848;
41
+ --button-default-hover-border-color: #979ba5;
42
+ --button-primary-active-color: #2c77f4;
43
+ --button-danger-active-color: #db2626;
44
+ --button-success-active-color: #1ab943;
45
+ --button-warning-active-color: #eb9000;
46
+ --fixed-navbar-background: #fff;
47
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
48
+ --switch-default-color: #fff;
49
+ --switch-grey-color: #c4c6cc;
50
+ --breadcrumb-black-color: #979ba5;
51
+ --breadcrumb-primary-hover-color: #0082ff;
52
+ --breadcrumb-fn-main-color: #63656e;
53
+ --link-default-hover-color: #979ba5;
54
+ --link-primary-hover-color: #699df4;
55
+ --link-success-hover-color: #45e35f;
56
+ --link-warning-hover-color: #ffb848;
57
+ --link-danger-hover-color: #ff5656;
58
+ --link-default-disabled-color: #dcdee5;
59
+ --link-primary-disabled-color: #a3c5fd;
60
+ --link-success-disabled-color: #94f5a4;
61
+ --link-warning-disabled-color: #ffd695;
62
+ --link-danger-disabled-color: #fd9c9c;
63
+ --message-color: var(--default-color);
64
+ --message-primary-bg-color: #f0f8ff;
65
+ --message-primary-border-color: #e1ecff;
66
+ --message-warning-bg-color: #fff4e2;
67
+ --message-warning-border-color: #ffe8c3;
68
+ --message-success-bg-color: #f2fff4;
69
+ --message-success-border-color: #dcffe2;
70
+ --message-danger-bg-color: #ffeded;
71
+ --message-danger-border-color: #ffdddd;
72
+ --slider-default-bg: #dcdee5;
73
+ --slider-disable-bar-bg: #979ba5;
74
+ --menu-bg-color: #182132;
75
+ --submenu-bg-color: #151d2c;
76
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
77
+ --menu-color: #96a2b9;
78
+ --menu-group-color: var(--default-color);
79
+ --menu-width: 260px;
80
+ --menu-collapse-width: 60px;
81
+ --menu-active-color: white;
82
+ --nav-header-bg-color: #182132;
83
+ --nav-bg-color: #182132;
84
+ --date-picker-disabled-bg: #fafbfd;
85
+ --date-picker-dropdown-mb: 4px;
86
+ --date-picker-dropdown-bg: #fff;
87
+ --table-bg-color: var(--white-color);
88
+ --table-border-color: #dcdee5;
89
+ --table-head-bg-color: #fafbfd;
90
+ --table-head-font-color: #313238;
91
+ --table-body-font-color: #575961;
92
+ --table-row-hover-bg-color: #f5f7fa;
93
+ --table-row-active-bg-color: #f0f1f5;
94
+ }
95
+ .bk-table-settings[data-bk-table-settings-theme="true"] {
96
+ padding: 0;
97
+ }
98
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content {
99
+ width: 515px;
100
+ opacity: 1;
101
+ border: 1px solid #dcdee5;
102
+ border-radius: 2px;
103
+ }
104
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head {
105
+ display: flex;
106
+ padding: 0 24px;
107
+ margin: 0;
108
+ line-height: 32px;
109
+ font-size: 16px;
110
+ font-weight: 400;
111
+ color: #313238;
112
+ position: relative;
113
+ }
114
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head .icon-close-action {
115
+ position: absolute;
116
+ right: 15px;
117
+ top: 10px;
118
+ cursor: pointer;
119
+ }
120
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body {
121
+ padding: 0 24px;
122
+ }
123
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title {
124
+ display: flex;
125
+ justify-content: space-between;
126
+ font-size: 14px;
127
+ color: #63656e;
128
+ line-height: 19px;
129
+ }
130
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .limit {
131
+ color: #c4c6cc;
132
+ }
133
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .check-all {
134
+ color: #3a84ff;
135
+ cursor: pointer;
136
+ }
137
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields {
138
+ max-height: 150px;
139
+ display: flex;
140
+ align-items: flex-start;
141
+ flex-wrap: wrap;
142
+ }
143
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item {
144
+ width: 150px;
145
+ line-height: 42px;
146
+ height: 42px;
147
+ }
148
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item > label {
149
+ overflow: hidden;
150
+ text-overflow: ellipsis;
151
+ white-space: nowrap;
152
+ }
153
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height {
154
+ border-top: solid 1px #f0f1f5;
155
+ height: 76px;
156
+ font-size: 14px;
157
+ display: flex;
158
+ align-items: center;
159
+ }
160
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size {
161
+ display: flex;
162
+ justify-content: center;
163
+ align-items: center;
164
+ width: 68px;
165
+ height: 26px;
166
+ cursor: pointer;
167
+ color: #63656e;
168
+ border: 1px solid #c4c6cc;
169
+ }
170
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size.active {
171
+ background: #e1ecff;
172
+ color: #3a84ff;
173
+ border: 1px solid #a3c5fd;
174
+ }
175
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:not(.active) {
176
+ border-left: none;
177
+ border-right: none;
178
+ }
179
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child {
180
+ border-top-left-radius: 2px;
181
+ border-bottom-left-radius: 2px;
182
+ border-left: 1px solid #c4c6cc;
183
+ border-right: 1px solid #c4c6cc;
184
+ }
185
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child.is-default {
186
+ border-right: none;
187
+ }
188
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child {
189
+ border-top-right-radius: 2px;
190
+ border-bottom-right-radius: 2px;
191
+ border-right: 1px solid #c4c6cc;
192
+ border-left: 1px solid #c4c6cc;
193
+ }
194
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child.is-default {
195
+ border-left: none;
196
+ }
197
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-footer {
198
+ height: 56px;
199
+ padding: 0 24px;
200
+ background-color: #fafbfd;
201
+ display: flex;
202
+ justify-content: flex-end;
203
+ align-items: center;
204
+ }
@@ -40,11 +40,18 @@ export declare const tableProps: {
40
40
  };
41
41
  /**
42
42
  * 设置表格最小高度
43
- * 默认:auto,依赖外层高度
43
+ * 默认:300
44
44
  */
45
45
  minHeight: import("vue-types").VueTypeDef<string | number> & {
46
46
  default: string | number;
47
47
  };
48
+ /**
49
+ * 设置表格最d大高度
50
+ * 默认:auto,依赖外层高度
51
+ */
52
+ maxHeight: import("vue-types").VueTypeDef<string | number> & {
53
+ default: string | number;
54
+ };
48
55
  /**
49
56
  * 行高,可以为固定数值类型
50
57
  * 可以是函数,返回当前行的高度,返回值为数值类型
@@ -108,6 +115,39 @@ export declare const tableProps: {
108
115
  } & {
109
116
  default: boolean;
110
117
  };
118
+ /**
119
+ * 空数据展示
120
+ */
121
+ emptyText: import("vue-types").VueTypeValidableDef<string> & {
122
+ default: string;
123
+ } & {
124
+ default: string;
125
+ };
126
+ /**
127
+ * bk-table-setting-content
128
+ */
129
+ settings: import("vue-types").VueTypeDef<boolean | Settings> & {
130
+ default: boolean | (() => Settings);
131
+ };
132
+ };
133
+ /**
134
+ * 配置自定义行高选项
135
+ */
136
+ export declare type SizeItem = {
137
+ value?: string;
138
+ label?: string;
139
+ height?: number;
140
+ };
141
+ export declare type Settings = {
142
+ fields?: Field[];
143
+ checked?: string[];
144
+ limit?: number;
145
+ size?: string;
146
+ sizeList?: SizeItem[];
147
+ };
148
+ export declare type Field = {
149
+ label: string;
150
+ field?: string;
111
151
  };
112
152
  export declare type Column = {
113
153
  label: Function | string;
@@ -131,6 +171,7 @@ export declare type Thead = {
131
171
  };
132
172
  export declare type GroupColumn = {
133
173
  calcWidth?: number;
174
+ isHidden?: boolean;
134
175
  } & Column;
135
176
  export declare type Columns = ReadonlyArray<Column>;
136
177
  export declare type TablePropTypes = Readonly<ExtractPropTypes<typeof tableProps>>;
@@ -3,7 +3,8 @@ import { GroupColumn, IColumnActive, IReactiveProp, TablePropTypes } from './pro
3
3
  export declare const enum EVENTS {
4
4
  /** 点击排序事件 */
5
5
  ON_SORT_BY_CLICK = "onSortByClick",
6
- ON_FILTER_CLICK = "onFilterClick"
6
+ ON_FILTER_CLICK = "onFilterClick",
7
+ ON_SETTING_CHANGE = "onSettingChange"
7
8
  }
8
9
  export default class TableRender {
9
10
  props: TablePropTypes;
@@ -20,7 +21,7 @@ export default class TableRender {
20
21
  * @param activeColumns 当前选中的列
21
22
  * @returns
22
23
  */
23
- renderTableHeadSchema(): JSX.Element;
24
+ renderTableHeadSchema(): (string | JSX.Element)[];
24
25
  /**
25
26
  * 渲染Table主体
26
27
  * @param activeColumns 当前选中的列
@@ -28,6 +29,7 @@ export default class TableRender {
28
29
  */
29
30
  renderTableBodySchema(rows: any[]): JSX.Element;
30
31
  renderTableFooter(options: any): JSX.Element;
32
+ getRowHeight: (row?: any, rowIndex?: number) => any;
31
33
  /**
32
34
  * 注册监听事件
33
35
  * @param eventName
@@ -107,4 +109,12 @@ export default class TableRender {
107
109
  * @returns
108
110
  */
109
111
  private renderColGroup;
112
+ /**
113
+ * 过滤当前可渲染的列
114
+ */
115
+ private get filterColgroups();
116
+ /**
117
+ * 当前Table Setting
118
+ */
119
+ private get setting();
110
120
  }
@@ -88,6 +88,116 @@
88
88
  .bk-head-cell-sort .sort-action.sort-desc {
89
89
  align-items: flex-start;
90
90
  }
91
+ .bk-table-settings[data-bk-table-settings-theme="true"] {
92
+ padding: 0;
93
+ }
94
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content {
95
+ width: 515px;
96
+ opacity: 1;
97
+ border: 1px solid #dcdee5;
98
+ border-radius: 2px;
99
+ }
100
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head {
101
+ display: flex;
102
+ padding: 0 24px;
103
+ margin: 0;
104
+ line-height: 32px;
105
+ font-size: 16px;
106
+ font-weight: 400;
107
+ color: #313238;
108
+ position: relative;
109
+ }
110
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head .icon-close-action {
111
+ position: absolute;
112
+ right: 15px;
113
+ top: 10px;
114
+ cursor: pointer;
115
+ }
116
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body {
117
+ padding: 0 24px;
118
+ }
119
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title {
120
+ display: flex;
121
+ justify-content: space-between;
122
+ font-size: 14px;
123
+ color: #63656e;
124
+ line-height: 19px;
125
+ }
126
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .limit {
127
+ color: #c4c6cc;
128
+ }
129
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .check-all {
130
+ color: #3a84ff;
131
+ cursor: pointer;
132
+ }
133
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields {
134
+ max-height: 150px;
135
+ display: flex;
136
+ align-items: flex-start;
137
+ flex-wrap: wrap;
138
+ }
139
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item {
140
+ width: 150px;
141
+ line-height: 42px;
142
+ height: 42px;
143
+ }
144
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item > label {
145
+ overflow: hidden;
146
+ text-overflow: ellipsis;
147
+ white-space: nowrap;
148
+ }
149
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height {
150
+ border-top: solid 1px #f0f1f5;
151
+ height: 76px;
152
+ font-size: 14px;
153
+ display: flex;
154
+ align-items: center;
155
+ }
156
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size {
157
+ display: flex;
158
+ justify-content: center;
159
+ align-items: center;
160
+ width: 68px;
161
+ height: 26px;
162
+ cursor: pointer;
163
+ color: #63656e;
164
+ border: 1px solid #c4c6cc;
165
+ }
166
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size.active {
167
+ background: #e1ecff;
168
+ color: #3a84ff;
169
+ border: 1px solid #a3c5fd;
170
+ }
171
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:not(.active) {
172
+ border-left: none;
173
+ border-right: none;
174
+ }
175
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child {
176
+ border-top-left-radius: 2px;
177
+ border-bottom-left-radius: 2px;
178
+ border-left: 1px solid #c4c6cc;
179
+ border-right: 1px solid #c4c6cc;
180
+ }
181
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child.is-default {
182
+ border-right: none;
183
+ }
184
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child {
185
+ border-top-right-radius: 2px;
186
+ border-bottom-right-radius: 2px;
187
+ border-right: 1px solid #c4c6cc;
188
+ border-left: 1px solid #c4c6cc;
189
+ }
190
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child.is-default {
191
+ border-left: none;
192
+ }
193
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-footer {
194
+ height: 56px;
195
+ padding: 0 24px;
196
+ background-color: #fafbfd;
197
+ display: flex;
198
+ justify-content: flex-end;
199
+ align-items: center;
200
+ }
91
201
  .bk-table {
92
202
  height: auto;
93
203
  overflow: hidden;
@@ -143,10 +253,29 @@
143
253
  display: inline-block;
144
254
  width: 100%;
145
255
  }
146
- .bk-table .bk-table-head table tbody tr:hover td,
147
- .bk-table .bk-table-body table tbody tr:hover td {
256
+ .bk-table .bk-table-head table tbody tr:hover td:not(.empty-cell),
257
+ .bk-table .bk-table-body table tbody tr:hover td:not(.empty-cell) {
148
258
  background: #f5f7fa;
149
259
  }
260
+ .bk-table .bk-table-head {
261
+ position: relative;
262
+ }
263
+ .bk-table .bk-table-head .table-head-settings .bk-popover-reference {
264
+ cursor: pointer;
265
+ width: calc(var(--row-height));
266
+ font-size: 18px;
267
+ position: absolute;
268
+ right: 1px;
269
+ top: 0;
270
+ bottom: 1px;
271
+ background: #f0f1f5;
272
+ border-left: 1px solid #dcdee5;
273
+ border-right: 1px solid #dcdee5;
274
+ border-radius: 0px 2px 0px 0px;
275
+ display: flex;
276
+ justify-content: center;
277
+ align-items: center;
278
+ }
150
279
  .bk-table .bk-table-footer {
151
280
  line-height: 40px;
152
281
  border-top: 1px solid #dcdee5;
@@ -13,6 +13,9 @@ declare const _default: import("vue").DefineComponent<{
13
13
  minHeight: import("vue-types").VueTypeDef<string | number> & {
14
14
  default: string | number;
15
15
  };
16
+ maxHeight: import("vue-types").VueTypeDef<string | number> & {
17
+ default: string | number;
18
+ };
16
19
  rowHeight: import("vue-types").VueTypeDef<any> & {
17
20
  default: any;
18
21
  };
@@ -47,6 +50,14 @@ declare const _default: import("vue").DefineComponent<{
47
50
  } & {
48
51
  default: boolean;
49
52
  };
53
+ emptyText: import("vue-types").VueTypeValidableDef<string> & {
54
+ default: string;
55
+ } & {
56
+ default: string;
57
+ };
58
+ settings: import("vue-types").VueTypeDef<boolean | import("./props").Settings> & {
59
+ default: boolean | (() => import("./props").Settings);
60
+ };
50
61
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("columnPick" | "pageLimitChange" | "pageValueChange" | "rowClick" | "rowDblClick")[], "columnPick" | "pageLimitChange" | "pageValueChange" | "rowClick" | "rowDblClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
51
62
  data: import("vue-types").VueTypeDef<any[]> & {
52
63
  default: () => any[];
@@ -62,6 +73,9 @@ declare const _default: import("vue").DefineComponent<{
62
73
  minHeight: import("vue-types").VueTypeDef<string | number> & {
63
74
  default: string | number;
64
75
  };
76
+ maxHeight: import("vue-types").VueTypeDef<string | number> & {
77
+ default: string | number;
78
+ };
65
79
  rowHeight: import("vue-types").VueTypeDef<any> & {
66
80
  default: any;
67
81
  };
@@ -96,6 +110,14 @@ declare const _default: import("vue").DefineComponent<{
96
110
  } & {
97
111
  default: boolean;
98
112
  };
113
+ emptyText: import("vue-types").VueTypeValidableDef<string> & {
114
+ default: string;
115
+ } & {
116
+ default: string;
117
+ };
118
+ settings: import("vue-types").VueTypeDef<boolean | import("./props").Settings> & {
119
+ default: boolean | (() => import("./props").Settings);
120
+ };
99
121
  }>> & {
100
122
  onColumnPick?: (...args: any[]) => any;
101
123
  onPageLimitChange?: (...args: any[]) => any;
@@ -105,6 +127,7 @@ declare const _default: import("vue").DefineComponent<{
105
127
  }, {
106
128
  height: string | number;
107
129
  data: any[];
130
+ maxHeight: string | number;
108
131
  minHeight: string | number;
109
132
  border: string[];
110
133
  headHeight: number;
@@ -116,5 +139,7 @@ declare const _default: import("vue").DefineComponent<{
116
139
  showHead: boolean;
117
140
  virtualEnabled: boolean;
118
141
  remotePagination: boolean;
142
+ emptyText: string;
143
+ settings: boolean | import("./props").Settings;
119
144
  }>;
120
145
  export default _default;
@@ -1,6 +1,8 @@
1
1
  @import '../styles/themes/themes.less';
2
2
  @import './plugins/head-filter.less';
3
3
  @import './plugins/head-sort.less';
4
+ @import './plugins/settings.less';
5
+
4
6
  .@{bk-prefix}-table {
5
7
  height: auto;
6
8
  overflow: hidden;
@@ -59,7 +61,9 @@
59
61
 
60
62
  &:hover {
61
63
  td {
62
- background: @table-row-hover-bg-color;
64
+ &:not(.empty-cell) {
65
+ background: @table-row-hover-bg-color;
66
+ }
63
67
  }
64
68
  }
65
69
  }
@@ -67,6 +71,30 @@
67
71
  }
68
72
  }
69
73
 
74
+ .@{bk-prefix}-table-head {
75
+ position: relative;
76
+ .table-head-settings {
77
+ .bk-popover-reference {
78
+ cursor: pointer;
79
+ width: calc(var(--row-height));
80
+ font-size: 18px;
81
+ position: absolute;
82
+ right: 1px;
83
+ top: 0;
84
+ bottom: 1px;
85
+
86
+ background: #f0f1f5;
87
+ border-left: 1px solid #dcdee5;
88
+ border-right: 1px solid #dcdee5;
89
+ border-radius: 0px 2px 0px 0px;
90
+
91
+ display: flex;
92
+ justify-content: center;
93
+ align-items: center;
94
+ }
95
+ }
96
+ }
97
+
70
98
  .@{bk-prefix}-table-footer {
71
99
  line-height: 40px;
72
100
  border-top: 1px solid @table-border-color;