bkui-vue 0.0.1-beta.57 → 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 (68) hide show
  1. package/dist/index.cjs.js +20 -20
  2. package/dist/index.esm.js +584 -140
  3. package/dist/index.umd.js +20 -20
  4. package/dist/style.css +1 -1
  5. package/lib/breadcrumb/breadcrumb.css +8 -0
  6. package/lib/breadcrumb/breadcrumb.variable.css +8 -0
  7. package/lib/card/card.css +8 -0
  8. package/lib/card/card.variable.css +8 -0
  9. package/lib/components.d.ts +1 -0
  10. package/lib/components.js +1 -1
  11. package/lib/container/col.d.ts +51 -0
  12. package/lib/container/container.css +48 -0
  13. package/lib/container/container.d.ts +83 -0
  14. package/lib/container/container.less +20 -0
  15. package/lib/container/container.variable.css +142 -0
  16. package/lib/container/index.d.ts +223 -0
  17. package/lib/container/index.js +1 -0
  18. package/lib/container/row.d.ts +4 -0
  19. package/lib/dialog/dialog.d.ts +57 -30
  20. package/lib/dialog/index.d.ts +129 -64
  21. package/lib/dialog/index.js +1 -1
  22. package/lib/icon/close-line.d.ts +4 -0
  23. package/lib/icon/{funnel.js → close-line.js} +1 -1
  24. package/lib/icon/help-document-fill.js +1 -0
  25. package/lib/icon/index.d.ts +1 -0
  26. package/lib/icon/index.js +1 -1
  27. package/lib/input/index.js +1 -1
  28. package/lib/input/input.css +9 -0
  29. package/lib/input/input.less +1 -0
  30. package/lib/input/input.variable.css +9 -0
  31. package/lib/loading/loading.css +8 -0
  32. package/lib/loading/loading.variable.css +8 -0
  33. package/lib/menu/menu.css +8 -0
  34. package/lib/menu/menu.variable.css +8 -0
  35. package/lib/modal/index.d.ts +29 -57
  36. package/lib/modal/index.js +1 -1
  37. package/lib/modal/modal.d.ts +11 -22
  38. package/lib/modal/props.mixin.d.ts +5 -10
  39. package/lib/pagination/index.d.ts +7 -7
  40. package/lib/pagination/pagination.d.ts +2 -2
  41. package/lib/progress/progress.css +8 -0
  42. package/lib/progress/progress.variable.css +8 -0
  43. package/lib/sideslider/index.d.ts +24 -47
  44. package/lib/sideslider/sideslider.d.ts +11 -22
  45. package/lib/styles/index.d.ts +1 -0
  46. package/lib/styles/mixins/clearfix.css +8 -0
  47. package/lib/styles/mixins/clearfix.less +10 -0
  48. package/lib/styles/mixins/clearfix.variable.css +8 -0
  49. package/lib/styles/mixins/mixins.css +8 -0
  50. package/lib/styles/mixins/mixins.less +1 -0
  51. package/lib/styles/mixins/mixins.variable.css +8 -0
  52. package/lib/switcher/switcher.css +8 -0
  53. package/lib/switcher/switcher.variable.css +8 -0
  54. package/lib/table/index.d.ts +16 -1
  55. package/lib/table/index.js +1 -1
  56. package/lib/table/plugins/settings.css +110 -0
  57. package/lib/table/plugins/settings.less +130 -0
  58. package/lib/table/plugins/settings.variable.css +204 -0
  59. package/lib/table/props.d.ts +26 -0
  60. package/lib/table/render.d.ts +12 -2
  61. package/lib/table/table.css +129 -0
  62. package/lib/table/table.d.ts +7 -0
  63. package/lib/table/table.less +26 -0
  64. package/lib/table/table.variable.css +129 -0
  65. package/lib/table/use-common.d.ts +3 -0
  66. package/lib/tree/index.js +1 -1
  67. package/lib/virtual-render/index.js +1 -1
  68. package/package.json +1 -1
@@ -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
+ }
@@ -123,6 +123,31 @@ export declare const tableProps: {
123
123
  } & {
124
124
  default: string;
125
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;
126
151
  };
127
152
  export declare type Column = {
128
153
  label: Function | string;
@@ -146,6 +171,7 @@ export declare type Thead = {
146
171
  };
147
172
  export declare type GroupColumn = {
148
173
  calcWidth?: number;
174
+ isHidden?: boolean;
149
175
  } & Column;
150
176
  export declare type Columns = ReadonlyArray<Column>;
151
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;
@@ -147,6 +257,25 @@
147
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;
@@ -55,6 +55,9 @@ declare const _default: import("vue").DefineComponent<{
55
55
  } & {
56
56
  default: string;
57
57
  };
58
+ settings: import("vue-types").VueTypeDef<boolean | import("./props").Settings> & {
59
+ default: boolean | (() => import("./props").Settings);
60
+ };
58
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<{
59
62
  data: import("vue-types").VueTypeDef<any[]> & {
60
63
  default: () => any[];
@@ -112,6 +115,9 @@ declare const _default: import("vue").DefineComponent<{
112
115
  } & {
113
116
  default: string;
114
117
  };
118
+ settings: import("vue-types").VueTypeDef<boolean | import("./props").Settings> & {
119
+ default: boolean | (() => import("./props").Settings);
120
+ };
115
121
  }>> & {
116
122
  onColumnPick?: (...args: any[]) => any;
117
123
  onPageLimitChange?: (...args: any[]) => any;
@@ -134,5 +140,6 @@ declare const _default: import("vue").DefineComponent<{
134
140
  virtualEnabled: boolean;
135
141
  remotePagination: boolean;
136
142
  emptyText: string;
143
+ settings: boolean | import("./props").Settings;
137
144
  }>;
138
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;
@@ -69,6 +71,30 @@
69
71
  }
70
72
  }
71
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
+
72
98
  .@{bk-prefix}-table-footer {
73
99
  line-height: 40px;
74
100
  border-top: 1px solid @table-border-color;
@@ -182,6 +182,116 @@
182
182
  .bk-head-cell-sort .sort-action.sort-desc {
183
183
  align-items: flex-start;
184
184
  }
185
+ .bk-table-settings[data-bk-table-settings-theme="true"] {
186
+ padding: 0;
187
+ }
188
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content {
189
+ width: 515px;
190
+ opacity: 1;
191
+ border: 1px solid #dcdee5;
192
+ border-radius: 2px;
193
+ }
194
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head {
195
+ display: flex;
196
+ padding: 0 24px;
197
+ margin: 0;
198
+ line-height: 32px;
199
+ font-size: 16px;
200
+ font-weight: 400;
201
+ color: #313238;
202
+ position: relative;
203
+ }
204
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-head .icon-close-action {
205
+ position: absolute;
206
+ right: 15px;
207
+ top: 10px;
208
+ cursor: pointer;
209
+ }
210
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body {
211
+ padding: 0 24px;
212
+ }
213
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title {
214
+ display: flex;
215
+ justify-content: space-between;
216
+ font-size: 14px;
217
+ color: #63656e;
218
+ line-height: 19px;
219
+ }
220
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .limit {
221
+ color: #c4c6cc;
222
+ }
223
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-title .check-all {
224
+ color: #3a84ff;
225
+ cursor: pointer;
226
+ }
227
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields {
228
+ max-height: 150px;
229
+ display: flex;
230
+ align-items: flex-start;
231
+ flex-wrap: wrap;
232
+ }
233
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item {
234
+ width: 150px;
235
+ line-height: 42px;
236
+ height: 42px;
237
+ }
238
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-fields .field-item > label {
239
+ overflow: hidden;
240
+ text-overflow: ellipsis;
241
+ white-space: nowrap;
242
+ }
243
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height {
244
+ border-top: solid 1px #f0f1f5;
245
+ height: 76px;
246
+ font-size: 14px;
247
+ display: flex;
248
+ align-items: center;
249
+ }
250
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size {
251
+ display: flex;
252
+ justify-content: center;
253
+ align-items: center;
254
+ width: 68px;
255
+ height: 26px;
256
+ cursor: pointer;
257
+ color: #63656e;
258
+ border: 1px solid #c4c6cc;
259
+ }
260
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size.active {
261
+ background: #e1ecff;
262
+ color: #3a84ff;
263
+ border: 1px solid #a3c5fd;
264
+ }
265
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:not(.active) {
266
+ border-left: none;
267
+ border-right: none;
268
+ }
269
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child {
270
+ border-top-left-radius: 2px;
271
+ border-bottom-left-radius: 2px;
272
+ border-left: 1px solid #c4c6cc;
273
+ border-right: 1px solid #c4c6cc;
274
+ }
275
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:first-child.is-default {
276
+ border-right: none;
277
+ }
278
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child {
279
+ border-top-right-radius: 2px;
280
+ border-bottom-right-radius: 2px;
281
+ border-right: 1px solid #c4c6cc;
282
+ border-left: 1px solid #c4c6cc;
283
+ }
284
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-body .setting-body-line-height .line-size:last-child.is-default {
285
+ border-left: none;
286
+ }
287
+ .bk-table-settings[data-bk-table-settings-theme="true"] .setting-content .setting-footer {
288
+ height: 56px;
289
+ padding: 0 24px;
290
+ background-color: #fafbfd;
291
+ display: flex;
292
+ justify-content: flex-end;
293
+ align-items: center;
294
+ }
185
295
  .bk-table {
186
296
  height: auto;
187
297
  overflow: hidden;
@@ -241,6 +351,25 @@
241
351
  .bk-table .bk-table-body table tbody tr:hover td:not(.empty-cell) {
242
352
  background: #f5f7fa;
243
353
  }
354
+ .bk-table .bk-table-head {
355
+ position: relative;
356
+ }
357
+ .bk-table .bk-table-head .table-head-settings .bk-popover-reference {
358
+ cursor: pointer;
359
+ width: calc(var(--row-height));
360
+ font-size: 18px;
361
+ position: absolute;
362
+ right: 1px;
363
+ top: 0;
364
+ bottom: 1px;
365
+ background: #f0f1f5;
366
+ border-left: 1px solid #dcdee5;
367
+ border-right: 1px solid #dcdee5;
368
+ border-radius: 0px 2px 0px 0px;
369
+ display: flex;
370
+ justify-content: center;
371
+ align-items: center;
372
+ }
244
373
  .bk-table .bk-table-footer {
245
374
  line-height: 40px;
246
375
  border-top: 1px solid #dcdee5;
@@ -13,5 +13,8 @@ export declare const useClass: (props: TablePropTypes, root?: any) => {
13
13
  'min-height': string;
14
14
  height: string;
15
15
  }>;
16
+ headStyle: {
17
+ '--row-height': string;
18
+ };
16
19
  resetTableHeight: (rootEl: HTMLElement) => void;
17
20
  };