bkui-vue 0.0.1-beta.10 → 0.0.1-beta.11

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 (206) hide show
  1. package/dist/bkui-vue.cjs.js +4977 -578
  2. package/dist/bkui-vue.esm.js +4972 -580
  3. package/dist/bkui-vue.umd.js +4977 -578
  4. package/dist/style.css +1685 -16
  5. package/lib/alert/alert.variable.css +16 -0
  6. package/lib/backtop/backtop.variable.css +16 -0
  7. package/lib/badge/badge.variable.css +16 -0
  8. package/lib/breadcrumb/breadcrumb.variable.css +16 -0
  9. package/lib/button/button.d.ts +10 -10
  10. package/lib/button/button.less +6 -6
  11. package/lib/button/button.variable.css +16 -0
  12. package/lib/button/index.d.ts +9 -12
  13. package/lib/button/index.js +1 -1
  14. package/lib/card/card.variable.css +16 -0
  15. package/lib/checkbox/checkbox.variable.css +16 -0
  16. package/lib/collapse/collapse.css +8 -0
  17. package/lib/collapse/collapse.less +10 -0
  18. package/lib/collapse/collapse.variable.css +8 -0
  19. package/lib/collapse/index.js +1 -1
  20. package/lib/components.d.ts +6 -1
  21. package/lib/date-picker/date-picker.css +373 -0
  22. package/lib/date-picker/date-picker.d.ts +357 -0
  23. package/lib/date-picker/date-picker.less +486 -0
  24. package/lib/date-picker/date-picker.variable.css +459 -0
  25. package/lib/date-picker/fecha.d.ts +6 -0
  26. package/lib/date-picker/index.d.ts +525 -0
  27. package/lib/date-picker/index.js +1 -0
  28. package/lib/date-picker/interface.d.ts +21 -0
  29. package/lib/date-picker/utils.d.ts +96 -0
  30. package/lib/directives/index.d.ts +1 -0
  31. package/lib/directives/index.js +14 -14
  32. package/lib/directives/tooltips.d.ts +17 -0
  33. package/lib/divider/divider.css +38 -0
  34. package/lib/divider/divider.d.ts +40 -0
  35. package/lib/divider/divider.less +53 -0
  36. package/lib/divider/divider.variable.css +124 -0
  37. package/lib/divider/index.d.ts +110 -0
  38. package/lib/divider/index.js +1 -0
  39. package/lib/dropdown/dropdown-item.d.ts +18 -0
  40. package/lib/dropdown/dropdown-menu.d.ts +15 -0
  41. package/lib/dropdown/dropdown.css +43 -0
  42. package/lib/dropdown/dropdown.d.ts +49 -0
  43. package/lib/dropdown/dropdown.less +54 -0
  44. package/lib/dropdown/dropdown.variable.css +129 -0
  45. package/lib/dropdown/index.d.ts +160 -0
  46. package/lib/dropdown/index.js +1 -0
  47. package/lib/exception/exception.variable.css +16 -0
  48. package/lib/fixed-navbar/fixed-navbar.variable.css +16 -0
  49. package/lib/form/common.d.ts +3 -0
  50. package/lib/form/form-item.d.ts +140 -0
  51. package/lib/form/form.css +39 -0
  52. package/lib/form/form.d.ts +76 -0
  53. package/lib/form/form.less +50 -0
  54. package/lib/form/form.variable.css +39 -0
  55. package/lib/form/index.d.ts +4 -0
  56. package/lib/form/index.js +1 -0
  57. package/lib/form/type.d.ts +21 -0
  58. package/lib/form/validator.d.ts +8 -0
  59. package/lib/icon/angle-double-left.d.ts +4 -0
  60. package/lib/icon/angle-double-right.d.ts +4 -0
  61. package/lib/icon/angle-down-line.d.ts +4 -0
  62. package/lib/icon/angle-down.d.ts +4 -0
  63. package/lib/icon/angle-left.d.ts +4 -0
  64. package/lib/icon/angle-right.d.ts +4 -0
  65. package/lib/icon/circle.d.ts +4 -0
  66. package/lib/icon/code.d.ts +4 -0
  67. package/lib/icon/cog-shape.d.ts +4 -0
  68. package/lib/icon/collapse-left.d.ts +4 -0
  69. package/lib/icon/copy.d.ts +4 -0
  70. package/lib/icon/done.d.ts +4 -0
  71. package/lib/icon/down-shape.d.ts +4 -0
  72. package/lib/icon/error.d.ts +4 -0
  73. package/lib/icon/folder-open.d.ts +4 -0
  74. package/lib/icon/folder-shape-open.d.ts +4 -0
  75. package/lib/icon/folder-shape.d.ts +4 -0
  76. package/lib/icon/folder.d.ts +4 -0
  77. package/lib/icon/index.d.ts +27 -0
  78. package/lib/icon/index.js +1 -1
  79. package/lib/icon/info.d.ts +4 -0
  80. package/lib/icon/play-shape.d.ts +4 -0
  81. package/lib/icon/plus.d.ts +4 -0
  82. package/lib/icon/right-shape.d.ts +4 -0
  83. package/lib/icon/share.d.ts +4 -0
  84. package/lib/icon/success.d.ts +4 -0
  85. package/lib/icon/text-file.d.ts +4 -0
  86. package/lib/icon/tree-application-shape.d.ts +4 -0
  87. package/lib/icon/warn.d.ts +4 -0
  88. package/lib/input/index.d.ts +29 -29
  89. package/lib/input/input.d.ts +8 -8
  90. package/lib/input/input.variable.css +16 -0
  91. package/lib/link/link.variable.css +16 -0
  92. package/lib/loading/loading.variable.css +16 -0
  93. package/lib/menu/index.d.ts +169 -0
  94. package/lib/menu/index.js +1 -0
  95. package/lib/menu/menu-group.d.ts +13 -0
  96. package/lib/menu/menu-item.d.ts +15 -0
  97. package/lib/menu/menu.css +182 -0
  98. package/lib/menu/menu.d.ts +60 -0
  99. package/lib/menu/menu.less +180 -0
  100. package/lib/menu/menu.variable.css +268 -0
  101. package/lib/menu/submenu.d.ts +21 -0
  102. package/lib/menu/submenu.less +5 -0
  103. package/lib/menu/submenu.variable.css +86 -0
  104. package/lib/menu/utils.d.ts +41 -0
  105. package/lib/message/index.d.ts +1 -1
  106. package/lib/message/index.js +1 -1
  107. package/lib/message/message.css +17 -0
  108. package/lib/message/message.less +18 -0
  109. package/lib/message/message.variable.css +33 -0
  110. package/lib/message/messageConstructor.d.ts +12 -6
  111. package/lib/navigation/index.d.ts +2 -0
  112. package/lib/navigation/index.js +1 -0
  113. package/lib/navigation/navigation-title.d.ts +22 -0
  114. package/lib/navigation/navigation.css +184 -0
  115. package/lib/navigation/navigation.d.ts +94 -0
  116. package/lib/navigation/navigation.less +210 -0
  117. package/lib/navigation/navigation.variable.css +270 -0
  118. package/lib/notify/index.d.ts +2 -0
  119. package/lib/notify/index.js +1 -0
  120. package/lib/notify/notify.css +49 -0
  121. package/lib/notify/notify.less +58 -0
  122. package/lib/notify/notify.variable.css +135 -0
  123. package/lib/notify/notifyConstructor.d.ts +75 -0
  124. package/lib/popover/index.d.ts +19 -19
  125. package/lib/popover/index.js +1 -1
  126. package/lib/popover/popover.css +2 -3
  127. package/lib/popover/popover.d.ts +8 -8
  128. package/lib/popover/popover.less +2 -3
  129. package/lib/popover/popover.variable.css +18 -3
  130. package/lib/progress/index.d.ts +4 -4
  131. package/lib/progress/progress.d.ts +1 -1
  132. package/lib/progress/progress.variable.css +16 -0
  133. package/lib/radio/radio.css +6 -0
  134. package/lib/radio/radio.less +7 -0
  135. package/lib/radio/radio.variable.css +22 -0
  136. package/lib/rate/star.d.ts +2 -2
  137. package/lib/select/common.d.ts +4 -3
  138. package/lib/select/index.d.ts +211 -60
  139. package/lib/select/index.js +15 -1
  140. package/lib/select/option.d.ts +2 -2
  141. package/lib/select/optionGroup.d.ts +115 -0
  142. package/lib/select/select.css +52 -12
  143. package/lib/select/select.d.ts +24 -21
  144. package/lib/select/select.less +73 -7
  145. package/lib/select/select.variable.css +68 -12
  146. package/lib/shared/bk-popover.d.ts +11 -1
  147. package/lib/shared/index.d.ts +7 -0
  148. package/lib/shared/index.js +1 -1
  149. package/lib/shared/vue-types.d.ts +1 -0
  150. package/lib/shared/z-index-manager.d.ts +6 -1
  151. package/lib/sideslider/sideslider.variable.css +16 -0
  152. package/lib/slider/index.d.ts +27 -0
  153. package/lib/slider/index.js +15 -0
  154. package/lib/slider/slider-button.d.ts +72 -0
  155. package/lib/slider/slider.css +149 -0
  156. package/lib/slider/slider.d.ts +159 -0
  157. package/lib/slider/slider.less +179 -0
  158. package/lib/slider/slider.variable.css +235 -0
  159. package/lib/steps/index.d.ts +8 -8
  160. package/lib/steps/index.js +2 -2
  161. package/lib/steps/steps.css +1 -1
  162. package/lib/steps/steps.d.ts +2 -2
  163. package/lib/steps/steps.less +1 -1
  164. package/lib/steps/steps.variable.css +17 -1
  165. package/lib/styles/index.d.ts +11 -0
  166. package/lib/styles/index.js +1 -1
  167. package/lib/styles/mixins/popper.css +43 -0
  168. package/lib/styles/mixins/popper.less +52 -0
  169. package/lib/styles/mixins/popper.variable.css +43 -0
  170. package/lib/styles/mixins/size.less +9 -0
  171. package/lib/styles/reset.css +273 -0
  172. package/lib/styles/reset.less +313 -0
  173. package/lib/styles/reset.variable.css +273 -0
  174. package/lib/styles/themes/themes.less +26 -1
  175. package/lib/switcher/switcher.variable.css +16 -0
  176. package/lib/tab/index.d.ts +416 -0
  177. package/lib/tab/index.js +1 -0
  178. package/lib/tab/tab-nav.d.ts +154 -0
  179. package/lib/tab/tab-panel.d.ts +46 -0
  180. package/lib/tab/tab.css +147 -0
  181. package/lib/tab/tab.d.ts +131 -0
  182. package/lib/tab/tab.less +221 -0
  183. package/lib/tab/tab.variable.css +233 -0
  184. package/lib/table/index.d.ts +71 -60
  185. package/lib/table/index.js +1 -1
  186. package/lib/table/props.d.ts +41 -0
  187. package/lib/table/render.d.ts +47 -0
  188. package/lib/table/table.css +44 -0
  189. package/lib/table/table.d.ts +22 -63
  190. package/lib/table/table.less +63 -1
  191. package/lib/table/table.variable.css +60 -0
  192. package/lib/table/utils.d.ts +22 -0
  193. package/lib/tag/tag.variable.css +16 -0
  194. package/lib/tree/index.d.ts +149 -0
  195. package/lib/tree/index.js +1 -0
  196. package/lib/tree/tree.css +35 -0
  197. package/lib/tree/tree.d.ts +58 -0
  198. package/lib/tree/tree.less +55 -0
  199. package/lib/tree/tree.variable.css +35 -0
  200. package/lib/tree/util.d.ts +89 -0
  201. package/lib/use-message.d.ts +2 -0
  202. package/package.json +7 -1
  203. package/lib/message/message.d.ts +0 -2
  204. package/lib/table/common.d.ts +0 -3
  205. package/lib/table/table-layout.d.ts +0 -14
  206. package/lib/table/type.d.ts +0 -12
@@ -0,0 +1,233 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --primary-color: #3a84ff;
4
+ --success-color: #2dcb56;
5
+ --warning-color: #ff9c01;
6
+ --danger-color: #ea3636;
7
+ --default-color: #63656e;
8
+ --gray-color: #979ba5;
9
+ --light-gray: #c4c6cc;
10
+ --white-color: white;
11
+ --disable-color: #dcdee5;
12
+ --font-size-base: 12px;
13
+ --font-size-medium: 14px;
14
+ --font-size-large: 16px;
15
+ --line-height-base: 16px;
16
+ --line-height-medium: 16px;
17
+ --line-height-large: 18px;
18
+ --component-size-small: 26px;
19
+ --component-size-base: 32px;
20
+ --component-size-large: 38px;
21
+ --border-width-base: 1px;
22
+ --border-style-base: solid;
23
+ --border-radius-base: 2px;
24
+ --input-disabled-bg: #fafbfd;
25
+ --input-disabled-border: var(--disable-color);
26
+ --input-height-base: var(--component-size-base);
27
+ --input-color: var(--default-color);
28
+ --input-bg: white;
29
+ --input-border-color: var(--light-gray);
30
+ --input-broder-radius: 3px;
31
+ --input-shadow-color: #a3c5fd;
32
+ --input-horizontal-padding: 10px;
33
+ --input-block-color: #f4f6fa;
34
+ --input-icon-size: var(--font-size-large);
35
+ --input-maxlength-color: #979ba5;
36
+ --button-primary-hover-color: #5594fa;
37
+ --button-danger-hover-color: #ff5656;
38
+ --button-success-hover-color: #45e35f;
39
+ --button-warning-hover-color: #ffb848;
40
+ --button-default-hover-border-color: #979ba5;
41
+ --button-primary-active-color: #2c77f4;
42
+ --button-danger-active-color: #db2626;
43
+ --button-success-active-color: #1ab943;
44
+ --button-warning-active-color: #eb9000;
45
+ --fixed-navbar-background: #fff;
46
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
47
+ --switch-default-color: #fff;
48
+ --switch-grey-color: #c4c6cc;
49
+ --breadcrumb-black-color: #979ba5;
50
+ --breadcrumb-primary-hover-color: #0082ff;
51
+ --breadcrumb-fn-main-color: #63656e;
52
+ --link-default-hover-color: #979ba5;
53
+ --link-primary-hover-color: #699df4;
54
+ --link-success-hover-color: #45e35f;
55
+ --link-warning-hover-color: #ffb848;
56
+ --link-danger-hover-color: #ff5656;
57
+ --link-default-disabled-color: #dcdee5;
58
+ --link-primary-disabled-color: #a3c5fd;
59
+ --link-success-disabled-color: #94f5a4;
60
+ --link-warning-disabled-color: #ffd695;
61
+ --link-danger-disabled-color: #fd9c9c;
62
+ --message-color: var(--default-color);
63
+ --message-primary-bg-color: #f0f8ff;
64
+ --message-primary-border-color: #e1ecff;
65
+ --message-warning-bg-color: #fff4e2;
66
+ --message-warning-border-color: #ffe8c3;
67
+ --message-success-bg-color: #f2fff4;
68
+ --message-success-border-color: #dcffe2;
69
+ --message-danger-bg-color: #ffeded;
70
+ --message-danger-border-color: #ffdddd;
71
+ --slider-default-bg: #dcdee5;
72
+ --slider-disable-bar-bg: #979ba5;
73
+ --menu-bg-color: #182132;
74
+ --submenu-bg-color: #151d2c;
75
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
76
+ --menu-color: #96a2b9;
77
+ --menu-group-color: var(--default-color);
78
+ --menu-width: 260px;
79
+ --menu-collapse-width: 60px;
80
+ --menu-active-color: white;
81
+ --nav-header-bg-color: #182132;
82
+ --nav-bg-color: #182132;
83
+ --date-picker-disabled-bg: #fafbfd;
84
+ --date-picker-dropdown-mb: 4px;
85
+ --date-picker-dropdown-bg: #fff;
86
+ }
87
+ .bk-tab {
88
+ position: relative;
89
+ display: flex;
90
+ width: 100%;
91
+ }
92
+ .bk-tab--top {
93
+ flex-direction: column;
94
+ }
95
+ .bk-tab--right {
96
+ flex-direction: row-reverse;
97
+ }
98
+ .bk-tab-header {
99
+ display: flex;
100
+ color: var(--default-color);
101
+ }
102
+ .bk-tab-header > div {
103
+ display: flex;
104
+ margin-bottom: -1px;
105
+ flex-wrap: nowrap;
106
+ }
107
+ .bk-tab--card .bk-tab-header > div,
108
+ .bk-tab--border-card .bk-tab-header > div {
109
+ border-right: 1px solid var(--disable-color);
110
+ }
111
+ .bk-tab--top .bk-tab-header-nav {
112
+ overflow-x: auto;
113
+ overflow-y: visible;
114
+ }
115
+ .bk-tab--left .bk-tab-header-nav,
116
+ .bk-tab--right .bk-tab-header-nav {
117
+ overflow-x: visible;
118
+ overflow-y: auto;
119
+ }
120
+ .bk-tab--card .bk-tab-header-nav,
121
+ .bk-tab--border-card .bk-tab-header-nav {
122
+ border-left: 1px solid var(--disable-color);
123
+ }
124
+ .bk-tab-header-nav::-webkit-scrollbar {
125
+ display: none;
126
+ width: 0;
127
+ height: 0;
128
+ }
129
+ .bk-tab-header-operation .bk-tab-header-item {
130
+ padding: 0 12px;
131
+ }
132
+ .bk-tab--left .bk-tab-header {
133
+ border-right: 1px solid var(--disable-color);
134
+ }
135
+ .bk-tab--right .bk-tab-header {
136
+ border-left: 1px solid var(--disable-color);
137
+ }
138
+ .bk-tab--left .bk-tab-header,
139
+ .bk-tab--right .bk-tab-header {
140
+ flex-direction: column;
141
+ }
142
+ .bk-tab--left .bk-tab-header > div,
143
+ .bk-tab--right .bk-tab-header > div {
144
+ flex-direction: column;
145
+ }
146
+ .bk-tab--card .bk-tab-header {
147
+ border-bottom: 1px solid var(--disable-color);
148
+ }
149
+ .bk-tab--border-card .bk-tab-header {
150
+ background: #FAFBFD;
151
+ border: solid var(--disable-color);
152
+ border-width: 1px 1px 1px 0;
153
+ }
154
+ .bk-tab--unborder-card .bk-tab-header {
155
+ border-bottom: 1px solid var(--disable-color);
156
+ }
157
+ .bk-tab-header-item {
158
+ display: flex;
159
+ white-space: nowrap;
160
+ cursor: pointer;
161
+ justify-content: center;
162
+ align-items: center;
163
+ }
164
+ .bk-tab-header-item:hover {
165
+ color: var(--primary-color);
166
+ }
167
+ .bk-tab-header-item:hover .bk-tab-header-item-close {
168
+ display: block;
169
+ margin-left: 10px;
170
+ color: var(--danger-color);
171
+ }
172
+ .bk-tab--top .bk-tab-header-item {
173
+ padding: 0 20px;
174
+ }
175
+ .bk-tab--left .bk-tab-header-item,
176
+ .bk-tab--right .bk-tab-header-item {
177
+ padding: 0 12px;
178
+ }
179
+ .bk-tab--left .bk-tab-header-item {
180
+ text-align: right;
181
+ }
182
+ .bk-tab--card .bk-tab-header-item {
183
+ border-top: 1px solid var(--disable-color);
184
+ }
185
+ .bk-tab--card .bk-tab-header-item,
186
+ .bk-tab--border-card .bk-tab-header-item {
187
+ border-right: 1px solid var(--disable-color);
188
+ border-bottom: 1px solid var(--disable-color);
189
+ }
190
+ .bk-tab--card .bk-tab-header-item:last-of-type,
191
+ .bk-tab--border-card .bk-tab-header-item:last-of-type {
192
+ border-right: none;
193
+ }
194
+ .bk-tab-header-operation .bk-tab-header-item {
195
+ padding-right: 12px;
196
+ padding-left: 12px;
197
+ }
198
+ .bk-tab-header-item-close {
199
+ display: none;
200
+ color: var(--light-gray);
201
+ }
202
+ .bk-tab-header--active {
203
+ color: var(--primary-color);
204
+ }
205
+ .bk-tab--card .bk-tab-header--active,
206
+ .bk-tab--border-card .bk-tab-header--active {
207
+ border-bottom-color: var(--white-color);
208
+ }
209
+ .bk-tab--unborder-card .bk-tab-header--active {
210
+ border-bottom: 2px solid var(--primary-color);
211
+ }
212
+ .bk-tab--left .bk-tab-header--active {
213
+ border-right: 2px solid var(--primary-color);
214
+ }
215
+ .bk-tab--right .bk-tab-header--active {
216
+ border-left: 2px solid var(--primary-color);
217
+ }
218
+ .bk-tab-header--disabled {
219
+ color: #aaa;
220
+ pointer-events: none;
221
+ cursor: not-allowed;
222
+ }
223
+ .bk-tab-content {
224
+ flex: 1;
225
+ padding: 10px;
226
+ }
227
+ .bk-tab--border-card .bk-tab-content {
228
+ border: solid var(--disable-color);
229
+ border-width: 0 1px 1px;
230
+ }
231
+ .bk-tab-panel {
232
+ height: 100%;
233
+ }
@@ -3,22 +3,31 @@ declare const BkTable: {
3
3
  $: import("vue").ComponentInternalInstance;
4
4
  $data: {};
5
5
  $props: Partial<{
6
- showHeader: boolean;
7
- headerBorder: boolean;
8
- defaultSort: {
9
- [key: string]: any;
10
- };
11
- }> & Omit<Readonly<{
12
- showHeader?: unknown;
13
- headerBorder?: unknown;
14
- defaultSort?: unknown;
6
+ data: any[];
7
+ columnPick: string;
8
+ }> & Omit<({} & (Readonly<{
9
+ data?: unknown;
10
+ columns?: unknown;
11
+ activeColumn?: unknown;
12
+ columnPick?: unknown;
15
13
  } & {
16
- showHeader: boolean;
17
- headerBorder: boolean;
18
- defaultSort: {
19
- [key: string]: any;
20
- };
21
- } & {}> & {} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "showHeader" | "headerBorder" | "defaultSort">;
14
+ data: any[];
15
+ columnPick: string;
16
+ } & {
17
+ columns?: import("./props").Column[];
18
+ activeColumn?: number | number[];
19
+ }> & ({} | {}))) & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<{
20
+ data?: unknown;
21
+ columns?: unknown;
22
+ activeColumn?: unknown;
23
+ columnPick?: unknown;
24
+ } & {
25
+ data: any[];
26
+ columnPick: string;
27
+ } & {
28
+ columns?: import("./props").Column[];
29
+ activeColumn?: number | number[];
30
+ }> & ({} | {})), "data" | "columnPick">;
22
31
  $attrs: {
23
32
  [x: string]: unknown;
24
33
  };
@@ -30,26 +39,22 @@ declare const BkTable: {
30
39
  }>;
31
40
  $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
32
41
  $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
33
- $emit: (event: string, ...args: any[]) => void;
42
+ $emit: ((event: string, ...args: any[]) => void) | ((event: string, ...args: any[]) => void);
34
43
  $el: any;
35
44
  $options: import("vue").ComponentOptionsBase<Readonly<{
36
- showHeader?: unknown;
37
- headerBorder?: unknown;
38
- defaultSort?: unknown;
45
+ data?: unknown;
46
+ columns?: unknown;
47
+ activeColumn?: unknown;
48
+ columnPick?: unknown;
39
49
  } & {
40
- showHeader: boolean;
41
- headerBorder: boolean;
42
- defaultSort: {
43
- [key: string]: any;
44
- };
45
- } & {}> & {}, {
46
- handleHeaderFooterMousewheel: (_event: any, data: any) => void;
47
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
48
- showHeader: boolean;
49
- headerBorder: boolean;
50
- defaultSort: {
51
- [key: string]: any;
52
- };
50
+ data: any[];
51
+ columnPick: string;
52
+ } & {
53
+ columns?: import("./props").Column[];
54
+ activeColumn?: number | number[];
55
+ }> & ({} | {}), () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, {
56
+ data: any[];
57
+ columnPick: string;
53
58
  }> & {
54
59
  beforeCreate?: (() => void) | (() => void)[];
55
60
  created?: (() => void) | (() => void)[];
@@ -70,39 +75,45 @@ declare const BkTable: {
70
75
  $forceUpdate: () => void;
71
76
  $nextTick: typeof import("vue").nextTick;
72
77
  $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
73
- } & Readonly<{
74
- showHeader?: unknown;
75
- headerBorder?: unknown;
76
- defaultSort?: unknown;
78
+ } & (Readonly<{
79
+ data?: unknown;
80
+ columns?: unknown;
81
+ activeColumn?: unknown;
82
+ columnPick?: unknown;
77
83
  } & {
78
- showHeader: boolean;
79
- headerBorder: boolean;
80
- defaultSort: {
81
- [key: string]: any;
82
- };
83
- } & {}> & {} & import("vue").ShallowUnwrapRef<{
84
- handleHeaderFooterMousewheel: (_event: any, data: any) => void;
85
- }> & {} & {} & import("vue").ComponentCustomProperties;
84
+ data: any[];
85
+ columnPick: string;
86
+ } & {
87
+ columns?: import("./props").Column[];
88
+ activeColumn?: number | number[];
89
+ }> & ({} | {})) & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties & Readonly<{
90
+ data?: unknown;
91
+ columns?: unknown;
92
+ activeColumn?: unknown;
93
+ columnPick?: unknown;
94
+ } & {
95
+ data: any[];
96
+ columnPick: string;
97
+ } & {
98
+ columns?: import("./props").Column[];
99
+ activeColumn?: number | number[];
100
+ }> & ({} | {});
86
101
  __isFragment?: never;
87
102
  __isTeleport?: never;
88
103
  __isSuspense?: never;
89
104
  } & import("vue").ComponentOptionsBase<Readonly<{
90
- showHeader?: unknown;
91
- headerBorder?: unknown;
92
- defaultSort?: unknown;
105
+ data?: unknown;
106
+ columns?: unknown;
107
+ activeColumn?: unknown;
108
+ columnPick?: unknown;
109
+ } & {
110
+ data: any[];
111
+ columnPick: string;
93
112
  } & {
94
- showHeader: boolean;
95
- headerBorder: boolean;
96
- defaultSort: {
97
- [key: string]: any;
98
- };
99
- } & {}> & {}, {
100
- handleHeaderFooterMousewheel: (_event: any, data: any) => void;
101
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
102
- showHeader: boolean;
103
- headerBorder: boolean;
104
- defaultSort: {
105
- [key: string]: any;
106
- };
113
+ columns?: import("./props").Column[];
114
+ activeColumn?: number | number[];
115
+ }> & ({} | {}), () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, {
116
+ data: any[];
117
+ columnPick: string;
107
118
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
108
119
  export default BkTable;
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("vue"),require("../shared"),require("../directives")):"function"==typeof define&&define.amd?define(["exports","vue","../shared","../directives"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared,e.Directives)}(this,(function(e,r,t,o){"use strict";function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a={exports:{}};!function(e){e.exports=function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0}(a);var i=s(a.exports),n=function e(o){var s=this;i(this,e),this.table=null,this.showHeader=!0,this.headerHeight=r.ref(44),this.bodyWidth=r.ref(null),this.scrollY=r.ref(!1),this.gutterWidth=t.scrollbarWidth(),this.bodyHeight=r.ref(null),this.footerHeight=r.ref(44),this.paginationHeight=r.ref(0),Object.keys(o).forEach((function(e){r.isRef(s[e])?s[e].value=o[e]:s[e]=o[e]}))},l={showHeader:t.PropTypes.bool.def(!0),headerBorder:t.PropTypes.bool.def(!0),defaultSort:t.PropTypes.object.def({prop:"",order:""})},d=r.defineComponent({name:"BkTable",props:l,directives:{mousewheel:o.mousewheel},setup:function(e){var t,o=(t=r.getCurrentInstance().refs,{handleHeaderFooterMousewheel:function(e,r){var o=r.pixelX,s=r.pixelY;Math.abs(o)>=Math.abs(s)&&(t.bodyWrapper.scrollLeft+=r.pixelX/5)}}).handleHeaderFooterMousewheel,s=r.getCurrentInstance(),a=new n({table:s,showHeader:e.showHeader});return console.error("layout",a),{handleHeaderFooterMousewheel:o}},render:function(){var e=t.classes({"bk-table":!0});return r.createVNode("div",{class:e},[this.showHeader?r.withDirectives(r.createVNode("div",{ref:"headerWrapper",class:"bk-table-header-wrapper"},null),[[r.resolveDirective("mousewheel"),this.handleHeaderFooterMousewheel]]):""])}}),h=t.withInstall(d);e.default=h,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("../shared")):"function"==typeof define&&define.amd?define(["exports","vue","../shared"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared)}(this,(function(e,t,r){"use strict";function o(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n={exports:{}};!function(e){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0}(n);var s=o(n.exports),i={data:r.PropTypes.arrayOf(r.PropTypes.any).def([]),columns:r.PropTypes.arrayOf(r.PropTypes.shape({label:r.PropTypes.oneOfType([r.PropTypes.func.def((function(){return""})),r.PropTypes.string.def("")]),field:r.PropTypes.oneOfType([r.PropTypes.func.def((function(){return""})),r.PropTypes.string.def("")]),render:r.PropTypes.oneOfType([r.PropTypes.func.def((function(){return""})),r.PropTypes.string.def("")]),width:r.PropTypes.oneOfType([r.PropTypes.number.def(void 0),r.PropTypes.string.def("auto")])})),activeColumn:r.PropTypes.oneOfType([r.PropTypes.number.def(-1),r.PropTypes.arrayOf(r.PropTypes.number.def(-1))]),columnPick:r.PropTypes.commonType(["multi","single","disabled"],"columnPick").def("disabled")},a={exports:{}};!function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0}(a);var u=o(a.exports),c={exports:{}};!function(e){function t(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}e.exports=function(e,r,o){return r&&t(e.prototype,r),o&&t(e,o),e},e.exports.default=e.exports,e.exports.__esModule=!0}(c);var l=o(c.exports),p={exports:{}},d={exports:{}},f={exports:{}};!function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o},e.exports.default=e.exports,e.exports.__esModule=!0}(f),function(e){var t=f.exports;e.exports=function(e){if(Array.isArray(e))return t(e)},e.exports.default=e.exports,e.exports.__esModule=!0}(d);var v={exports:{}};!function(e){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.default=e.exports,e.exports.__esModule=!0}(v);var y={exports:{}};!function(e){var t=f.exports;e.exports=function(e,r){if(e){if("string"==typeof e)return t(e,r);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?t(e,r):void 0}},e.exports.default=e.exports,e.exports.__esModule=!0}(y);var m={exports:{}};!function(e){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.default=e.exports,e.exports.__esModule=!0}(m),function(e){var t=d.exports,r=v.exports,o=y.exports,n=m.exports;e.exports=function(e){return t(e)||r(e)||o(e)||n()},e.exports.default=e.exports,e.exports.__esModule=!0}(p);var x=o(p.exports),h=void 0,b=function(e,t,r){var o;if(Object.prototype.hasOwnProperty.call(e,t))return"function"==typeof e[t]?(o=e[t]).call.apply(o,[h].concat(x(r))):e[t]},T=function(e){return"disabled"!==e.columnPick?"multi"===e.columnPick?Array.isArray(e.activeColumn)?e.activeColumn:C(e.activeColumn):Array.isArray(e.activeColumn)?C(e.activeColumn[0]):C(e.activeColumn):[]},C=function(e){return/^\d+$/.test("".concat(e))?[parseInt("".concat(e),10)]:[]},P=function(){function e(t,r,o){u(this,e),this.props=t,this.context=r,this.reactiveProp=o}return l(e,[{key:"propActiveCols",get:function(){return this.reactiveProp.activeColumns}},{key:"renderTableBodySchema",value:function(){return t.createVNode("table",{cellpadding:0,cellspacing:0},[this.renderColGroup(),this.renderHeader(),this.renderTBody()])}},{key:"setColumnActive",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=this.propActiveCols.find((function(t){return t.index===e}));Object.assign(r,{active:!r.active}),t&&this.propActiveCols.filter((function(t){return t.index!==e&&t.active})).forEach((function(e){Object.assign(e,{active:!1})}))}},{key:"handleColumnHeadClick",value:function(e){"disabled"!==this.props.columnPick&&(this.setColumnActive(e,"single"===this.props.columnPick),this.context.emit("column-pick",this.propActiveCols))}},{key:"renderHeader",value:function(){var e=this;return t.createVNode("thead",null,[t.createVNode("tr",null,[this.props.columns.map((function(o,n){return t.createVNode("th",{colspan:1,rowspan:1,class:r.classes({active:e.isColActive(n)}),onClick:function(){return e.handleColumnHeadClick(n)}},[t.createVNode("div",{class:"cell"},[b(o,"label",[o])])])}))])])}},{key:"renderTBody",value:function(){var e=this;return t.createVNode("tbody",null,[this.props.data.map((function(r){return t.createVNode("tr",null,[e.props.columns.map((function(e){return t.createVNode("td",{colspan:1,rowspan:1},[t.createVNode("div",{class:"cell"},[r[b(e,"field",[e,r])]])])}))])}))])}},{key:"isColActive",value:function(e){return"disabled"!==this.props.columnPick&&this.propActiveCols.some((function(t){return t.index===e&&t.active}))}},{key:"renderColGroup",value:function(){var e=this;return t.createVNode("colgroup",null,[(this.props.columns||[]).map((function(o,n){var s,i=r.classes({active:e.isColActive(n)}),a={width:(s=o.width,/^auto|null|undefined$/gi.test("".concat(s))?"auto":/^\d+\.?\d+$/.test("".concat(s))?"".concat(s,"px"):s)};return t.createVNode("col",{class:i,style:a},null)}))])}}]),e}(),g=t.defineComponent({name:"BkTable",props:i,setup:function(e,o){var n=t.reactive(T(e)),i=function(){return(e.columns||[]).map((function(e,t){return{index:t,active:n.some((function(e){return e===t})),_column:e}}))},a=t.reactive({activeColumns:i()});t.watch((function(){return[e.activeColumn,e.columns]}),(function(){t.nextTick((function(){a.activeColumns=i();var t=T(e);a.activeColumns.forEach((function(e,r){Object.assign(e,{active:t.some((function(e){return e===r}))})}))}))}),{deep:!0});var u=new P(e,o,a),c=r.classes(s({},r.resolveClassName("table"),!0));return function(){return t.createVNode("div",{class:c},[t.createVNode("div",{class:r.resolveClassName("table-body")},[u.renderTableBodySchema()]),t.createVNode("div",{class:r.resolveClassName("table-fixed")},null)])}}}),k=r.withInstall(g);e.default=k,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -0,0 +1,41 @@
1
+ import { ExtractPropTypes } from 'vue';
2
+ export declare const tableProps: {
3
+ /**
4
+ * 渲染列表
5
+ */
6
+ data: import("vue-types").VueTypeDef<any[]> & {
7
+ default: () => any[];
8
+ };
9
+ /**
10
+ * Table 列渲染
11
+ */
12
+ columns: import("vue-types").VueTypeDef<Column[]>;
13
+ /**
14
+ * 当前选中列
15
+ * 当设置选中多列时(columnPick = multi),配置为数组[index1, index2, index3],只能选中单列时,可以为数值或者数组[index]
16
+ */
17
+ activeColumn: import("vue-types").VueTypeDef<number | number[]>;
18
+ /**
19
+ * 表格列选中方式
20
+ * 支持:单列(single),多列(multi),禁用(disabled)
21
+ * 默认:disabled
22
+ */
23
+ columnPick: import("vue-types").VueTypeDef<string> & {
24
+ default: string;
25
+ };
26
+ };
27
+ export declare type Column = {
28
+ label: Function | string;
29
+ field: Function | string;
30
+ render?: Function | string;
31
+ width?: number | string;
32
+ };
33
+ export declare type Columns = ReadonlyArray<Column>;
34
+ export declare type TablePropTypes = Readonly<ExtractPropTypes<typeof tableProps>>;
35
+ export declare type IColumnActive = {
36
+ index: number;
37
+ active: boolean;
38
+ };
39
+ export declare type IReactiveProp = {
40
+ activeColumns: IColumnActive[];
41
+ };
@@ -0,0 +1,47 @@
1
+ import { SetupContext } from 'vue';
2
+ import { IColumnActive, IReactiveProp, TablePropTypes } from './props';
3
+ export default class TableRender {
4
+ props: TablePropTypes;
5
+ context: SetupContext;
6
+ reactiveProp: any;
7
+ constructor(props: TablePropTypes, ctx: SetupContext, reactiveProp: IReactiveProp);
8
+ get propActiveCols(): IColumnActive[];
9
+ /**
10
+ * 渲染Table主体
11
+ * @param activeColumns 当前选中的列
12
+ * @returns
13
+ */
14
+ renderTableBodySchema(): JSX.Element;
15
+ /**
16
+ * 指定列选中状态
17
+ * @param index 指定选中的列Index
18
+ * @param single 是否重置其他列,当只允许选中一列的情况下需要先重置
19
+ */
20
+ private setColumnActive;
21
+ /**
22
+ * 点击选中一列事件
23
+ * @param index 当前选中列Index
24
+ */
25
+ private handleColumnHeadClick;
26
+ /**
27
+ * 渲染Table Header
28
+ * @returns
29
+ */
30
+ private renderHeader;
31
+ /**
32
+ * 渲染Table Body
33
+ * @returns
34
+ */
35
+ private renderTBody;
36
+ /**
37
+ * 判定指定列是否为选中状态
38
+ * @param colIndex 指定列Index
39
+ * @returns
40
+ */
41
+ private isColActive;
42
+ /**
43
+ * 渲染表格Col分组
44
+ * @returns
45
+ */
46
+ private renderColGroup;
47
+ }
@@ -0,0 +1,44 @@
1
+ .bk-table .bk-table-body {
2
+ height: 500px;
3
+ overflow: auto;
4
+ background: white;
5
+ }
6
+ .bk-table .bk-table-body table {
7
+ width: 100%;
8
+ border-collapse: collapse;
9
+ }
10
+ .bk-table .bk-table-body table .cell {
11
+ height: 40px;
12
+ padding: 0 15px;
13
+ overflow: hidden;
14
+ line-height: 40px;
15
+ text-overflow: ellipsis;
16
+ white-space: nowrap;
17
+ }
18
+ .bk-table .bk-table-body table th,
19
+ .bk-table .bk-table-body table td {
20
+ min-width: 80px;
21
+ border-bottom: 1px solid #dfe0e5;
22
+ }
23
+ .bk-table .bk-table-body table thead th {
24
+ position: sticky;
25
+ top: 0;
26
+ z-index: 1;
27
+ background-color: #fff;
28
+ }
29
+ .bk-table .bk-table-body table thead th.active {
30
+ background: #f0f1f5;
31
+ }
32
+ .bk-table .bk-table-body table tbody tr:hover td {
33
+ background: #f5f7fa;
34
+ }
35
+ .bk-table .bk-table-fixed {
36
+ width: 100%;
37
+ }
38
+ .bk-table colgroup col {
39
+ background: #fff;
40
+ }
41
+ .bk-table colgroup col.active {
42
+ position: relative;
43
+ background: #f0f1f5;
44
+ }
@@ -1,67 +1,26 @@
1
- import type { ExtractPropTypes } from 'vue';
2
- export declare const tableProps: {
3
- showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
4
- default: boolean;
5
- } & {
6
- default: boolean;
7
- };
8
- headerBorder: import("vue-types").VueTypeValidableDef<boolean> & {
9
- default: boolean;
10
- } & {
11
- default: boolean;
12
- };
13
- defaultSort: import("vue-types").VueTypeValidableDef<{
14
- [key: string]: any;
15
- }> & {
16
- default: () => {
17
- [key: string]: any;
18
- };
19
- } & {
20
- default: () => {
21
- [key: string]: any;
22
- };
23
- };
24
- };
25
- export declare type TablePropTypes = Readonly<ExtractPropTypes<typeof tableProps>>;
1
+ import { Column } from './props';
26
2
  declare const _default: import("vue").DefineComponent<{
27
- showHeader: import("vue-types").VueTypeValidableDef<boolean> & {
28
- default: boolean;
29
- } & {
30
- default: boolean;
31
- };
32
- headerBorder: import("vue-types").VueTypeValidableDef<boolean> & {
33
- default: boolean;
34
- } & {
35
- default: boolean;
36
- };
37
- defaultSort: import("vue-types").VueTypeValidableDef<{
38
- [key: string]: any;
39
- }> & {
40
- default: () => {
41
- [key: string]: any;
42
- };
43
- } & {
44
- default: () => {
45
- [key: string]: any;
46
- };
47
- };
48
- }, {
49
- handleHeaderFooterMousewheel: (_event: any, data: any) => void;
50
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
51
- showHeader?: unknown;
52
- headerBorder?: unknown;
53
- defaultSort?: unknown;
3
+ data: import("vue-types").VueTypeDef<any[]> & {
4
+ default: () => any[];
5
+ };
6
+ columns: import("vue-types").VueTypeDef<Column[]>;
7
+ activeColumn: import("vue-types").VueTypeDef<number | number[]>;
8
+ columnPick: import("vue-types").VueTypeDef<string> & {
9
+ default: string;
10
+ };
11
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
12
+ data?: unknown;
13
+ columns?: unknown;
14
+ activeColumn?: unknown;
15
+ columnPick?: unknown;
54
16
  } & {
55
- showHeader: boolean;
56
- headerBorder: boolean;
57
- defaultSort: {
58
- [key: string]: any;
59
- };
60
- } & {}> & {}, {
61
- showHeader: boolean;
62
- headerBorder: boolean;
63
- defaultSort: {
64
- [key: string]: any;
65
- };
17
+ data: any[];
18
+ columnPick: string;
19
+ } & {
20
+ columns?: Column[];
21
+ activeColumn?: number | number[];
22
+ }> & ({} | {}), {
23
+ data: any[];
24
+ columnPick: string;
66
25
  }>;
67
26
  export default _default;