bkui-vue 0.0.1-beta.15 → 0.0.1-beta.18

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 (250) hide show
  1. package/dist/bkui-vue.cjs.js +1171 -186
  2. package/dist/bkui-vue.esm.js +1214 -233
  3. package/dist/bkui-vue.umd.js +1171 -186
  4. package/dist/style.css +469 -14
  5. package/lib/alert/alert.d.ts +24 -15
  6. package/lib/alert/alert.variable.css +7 -0
  7. package/lib/alert/index.d.ts +96 -60
  8. package/lib/alert/index.js +1 -1
  9. package/lib/animate-number/animate-number.d.ts +12 -7
  10. package/lib/animate-number/index.d.ts +48 -28
  11. package/lib/backtop/backtop.d.ts +27 -13
  12. package/lib/backtop/backtop.variable.css +7 -0
  13. package/lib/backtop/index.d.ts +108 -52
  14. package/lib/backtop/index.js +1 -1
  15. package/lib/badge/badge.d.ts +40 -19
  16. package/lib/badge/badge.variable.css +7 -0
  17. package/lib/badge/index.d.ts +144 -76
  18. package/lib/breadcrumb/breadcrumb-item.d.ts +13 -9
  19. package/lib/breadcrumb/breadcrumb.d.ts +21 -13
  20. package/lib/breadcrumb/breadcrumb.variable.css +7 -0
  21. package/lib/breadcrumb/index.d.ts +97 -61
  22. package/lib/breadcrumb/index.js +1 -1
  23. package/lib/button/button-group.d.ts +3 -5
  24. package/lib/button/button.d.ts +27 -22
  25. package/lib/button/button.variable.css +7 -0
  26. package/lib/button/index.d.ts +111 -93
  27. package/lib/card/card.d.ts +30 -15
  28. package/lib/card/card.variable.css +7 -0
  29. package/lib/card/index.d.ts +120 -60
  30. package/lib/checkbox/checkbox-group.d.ts +13 -9
  31. package/lib/checkbox/checkbox.d.ts +31 -22
  32. package/lib/checkbox/checkbox.variable.css +7 -0
  33. package/lib/checkbox/index.d.ts +137 -97
  34. package/lib/collapse/collapse.d.ts +50 -18
  35. package/lib/collapse/index.d.ts +108 -72
  36. package/lib/collapse/index.js +1 -1
  37. package/lib/components.d.ts +3 -0
  38. package/lib/date-picker/date-picker.d.ts +110 -63
  39. package/lib/date-picker/date-picker.variable.css +7 -0
  40. package/lib/date-picker/index.d.ts +437 -249
  41. package/lib/date-picker/index.js +1 -1
  42. package/lib/dialog/dialog.d.ts +46 -25
  43. package/lib/dialog/index.d.ts +179 -95
  44. package/lib/divider/divider.d.ts +21 -13
  45. package/lib/divider/divider.variable.css +7 -0
  46. package/lib/divider/index.d.ts +84 -52
  47. package/lib/dropdown/dropdown-item.d.ts +6 -5
  48. package/lib/dropdown/dropdown-menu.d.ts +6 -5
  49. package/lib/dropdown/dropdown.d.ts +25 -13
  50. package/lib/dropdown/dropdown.variable.css +7 -0
  51. package/lib/dropdown/index.d.ts +94 -62
  52. package/lib/exception/exception.d.ts +11 -9
  53. package/lib/exception/exception.variable.css +7 -0
  54. package/lib/exception/index.d.ts +44 -36
  55. package/lib/fixed-navbar/fixed-navbar.d.ts +15 -9
  56. package/lib/fixed-navbar/fixed-navbar.variable.css +7 -0
  57. package/lib/fixed-navbar/index.d.ts +60 -36
  58. package/lib/form/form-item.d.ts +46 -27
  59. package/lib/form/form.d.ts +22 -14
  60. package/lib/form/index.d.ts +285 -3
  61. package/lib/form/index.js +1 -1
  62. package/lib/icon/angle-double-down-line.d.ts +4 -0
  63. package/lib/icon/angle-double-down-line.js +15 -0
  64. package/lib/icon/angle-double-left-line.d.ts +4 -0
  65. package/lib/icon/angle-double-left-line.js +15 -0
  66. package/lib/icon/angle-double-left.js +15 -0
  67. package/lib/icon/angle-double-right-line.d.ts +4 -0
  68. package/lib/icon/angle-double-right-line.js +15 -0
  69. package/lib/icon/angle-double-right.js +15 -0
  70. package/lib/icon/angle-double-up-line.d.ts +4 -0
  71. package/lib/icon/angle-double-up-line.js +15 -0
  72. package/lib/icon/angle-down-fill.js +15 -0
  73. package/lib/icon/angle-down-line.js +15 -0
  74. package/lib/icon/angle-down.js +15 -0
  75. package/lib/icon/angle-left.js +15 -0
  76. package/lib/icon/angle-right.js +15 -0
  77. package/lib/icon/angle-up-fill.js +15 -0
  78. package/lib/icon/angle-up.js +15 -0
  79. package/lib/icon/arrows-left.js +15 -0
  80. package/lib/icon/circle.js +15 -0
  81. package/lib/icon/close.js +15 -0
  82. package/lib/icon/code.js +15 -0
  83. package/lib/icon/cog-shape.js +15 -0
  84. package/lib/icon/collapse-left.js +15 -0
  85. package/lib/icon/copy.js +15 -0
  86. package/lib/icon/done.js +15 -0
  87. package/lib/icon/down-shape.js +15 -0
  88. package/lib/icon/down-small.js +15 -0
  89. package/lib/icon/ellipsis.d.ts +4 -0
  90. package/lib/icon/ellipsis.js +15 -0
  91. package/lib/icon/error.js +15 -0
  92. package/lib/icon/eye.js +15 -0
  93. package/lib/icon/folder-open.js +15 -0
  94. package/lib/icon/folder-shape-open.js +15 -0
  95. package/lib/icon/folder-shape.js +15 -0
  96. package/lib/icon/folder.js +15 -0
  97. package/lib/icon/help-document-fill.js +15 -0
  98. package/lib/icon/help-fill.js +15 -0
  99. package/lib/icon/help.js +15 -0
  100. package/lib/icon/icon.js +15 -0
  101. package/lib/icon/index.d.ts +7 -0
  102. package/lib/icon/index.js +1 -1
  103. package/lib/icon/info-line.js +15 -0
  104. package/lib/icon/info.js +15 -0
  105. package/lib/icon/left-shape.d.ts +4 -0
  106. package/lib/icon/left-shape.js +15 -0
  107. package/lib/icon/play-shape.js +15 -0
  108. package/lib/icon/plus.js +15 -0
  109. package/lib/icon/right-shape.js +15 -0
  110. package/lib/icon/search.js +15 -0
  111. package/lib/icon/share.js +15 -0
  112. package/lib/icon/spinner.js +15 -0
  113. package/lib/icon/success.js +15 -0
  114. package/lib/icon/switcher-loading.js +15 -0
  115. package/lib/icon/text-file.js +15 -0
  116. package/lib/icon/tree-application-shape.js +15 -0
  117. package/lib/icon/unvisible.js +15 -0
  118. package/lib/icon/up-shape.d.ts +4 -0
  119. package/lib/icon/up-shape.js +15 -0
  120. package/lib/icon/warn.js +15 -0
  121. package/lib/input/index.d.ts +240 -160
  122. package/lib/input/index.js +2 -2
  123. package/lib/input/input.d.ts +60 -40
  124. package/lib/input/input.variable.css +7 -0
  125. package/lib/link/index.d.ts +100 -52
  126. package/lib/link/link.d.ts +25 -13
  127. package/lib/link/link.variable.css +7 -0
  128. package/lib/loading/index.d.ts +64 -64
  129. package/lib/loading/loading.d.ts +16 -16
  130. package/lib/loading/loading.variable.css +7 -0
  131. package/lib/menu/index.d.ts +90 -71
  132. package/lib/menu/index.js +1 -1
  133. package/lib/menu/menu-group.d.ts +6 -5
  134. package/lib/menu/menu-item.d.ts +6 -5
  135. package/lib/menu/menu.d.ts +18 -14
  136. package/lib/menu/menu.variable.css +7 -0
  137. package/lib/menu/submenu.css +3 -0
  138. package/lib/menu/submenu.d.ts +6 -5
  139. package/lib/menu/submenu.less +1 -1
  140. package/lib/menu/submenu.variable.css +10 -0
  141. package/lib/message/index.js +1 -1
  142. package/lib/message/message.variable.css +7 -0
  143. package/lib/message/messageConstructor.d.ts +28 -16
  144. package/lib/modal/index.d.ts +92 -56
  145. package/lib/modal/index.js +1 -1
  146. package/lib/modal/modal.d.ts +24 -15
  147. package/lib/modal/props.mixin.d.ts +1 -1
  148. package/lib/navigation/index.js +1 -1
  149. package/lib/navigation/navigation-title.d.ts +10 -7
  150. package/lib/navigation/navigation.d.ts +40 -23
  151. package/lib/navigation/navigation.variable.css +7 -0
  152. package/lib/notify/index.js +1 -1
  153. package/lib/notify/notify.variable.css +7 -0
  154. package/lib/notify/notifyConstructor.d.ts +36 -20
  155. package/lib/pagination/index.d.ts +395 -0
  156. package/lib/pagination/index.js +1 -0
  157. package/lib/pagination/pagination.css +179 -0
  158. package/lib/pagination/pagination.d.ts +220 -0
  159. package/lib/pagination/pagination.less +201 -0
  160. package/lib/pagination/pagination.variable.css +272 -0
  161. package/lib/pagination/type.d.ts +6 -0
  162. package/lib/pagination/use-limit.d.ts +8 -0
  163. package/lib/pagination/use-list.d.ts +8 -0
  164. package/lib/pagination/use-small-list.d.ts +5 -0
  165. package/lib/pagination/use-total.d.ts +5 -0
  166. package/lib/popover/index.d.ts +207 -177
  167. package/lib/popover/popover.css +1 -0
  168. package/lib/popover/popover.d.ts +52 -30
  169. package/lib/popover/popover.less +2 -0
  170. package/lib/popover/popover.variable.css +8 -0
  171. package/lib/process/index.d.ts +120 -60
  172. package/lib/process/index.js +1 -1
  173. package/lib/process/process.css +2 -3
  174. package/lib/process/process.d.ts +30 -15
  175. package/lib/process/process.less +2 -3
  176. package/lib/process/process.variable.css +9 -3
  177. package/lib/progress/index.d.ts +284 -136
  178. package/lib/progress/progress.d.ts +71 -34
  179. package/lib/progress/progress.variable.css +7 -0
  180. package/lib/radio/index.d.ts +127 -78
  181. package/lib/radio/radio-button.d.ts +24 -16
  182. package/lib/radio/radio-group.d.ts +11 -10
  183. package/lib/radio/radio.d.ts +23 -13
  184. package/lib/radio/radio.variable.css +7 -0
  185. package/lib/rate/index.d.ts +52 -40
  186. package/lib/rate/rate.d.ts +13 -10
  187. package/lib/rate/star.d.ts +32 -15
  188. package/lib/select/index.d.ts +396 -327
  189. package/lib/select/index.js +2 -2
  190. package/lib/select/option.d.ts +9 -10
  191. package/lib/select/optionGroup.d.ts +49 -41
  192. package/lib/select/select.css +2 -1
  193. package/lib/select/select.d.ts +98 -84
  194. package/lib/select/select.less +2 -1
  195. package/lib/select/select.variable.css +9 -1
  196. package/lib/shared/index.js +1 -1
  197. package/lib/sideslider/index.d.ts +111 -63
  198. package/lib/sideslider/sideslider.d.ts +29 -17
  199. package/lib/sideslider/sideslider.variable.css +7 -0
  200. package/lib/slider/slider-button.d.ts +10 -7
  201. package/lib/slider/slider.d.ts +70 -40
  202. package/lib/slider/slider.variable.css +7 -0
  203. package/lib/steps/index.d.ts +156 -104
  204. package/lib/steps/index.js +1 -1
  205. package/lib/steps/steps.css +3 -0
  206. package/lib/steps/steps.d.ts +39 -26
  207. package/lib/steps/steps.less +4 -0
  208. package/lib/steps/steps.variable.css +10 -0
  209. package/lib/styles/index.d.ts +2 -0
  210. package/lib/styles/index.js +1 -1
  211. package/lib/styles/themes/themes.less +11 -0
  212. package/lib/switcher/index.d.ts +192 -128
  213. package/lib/switcher/index.js +1 -1
  214. package/lib/switcher/switcher.d.ts +48 -32
  215. package/lib/switcher/switcher.variable.css +7 -0
  216. package/lib/tab/index.d.ts +344 -208
  217. package/lib/tab/index.js +1 -1
  218. package/lib/tab/tab-nav.d.ts +74 -38
  219. package/lib/tab/tab-panel.d.ts +22 -20
  220. package/lib/tab/tab.d.ts +64 -32
  221. package/lib/tab/tab.variable.css +7 -0
  222. package/lib/table/const.d.ts +4 -0
  223. package/lib/table/index.d.ts +154 -130
  224. package/lib/table/index.js +1 -1
  225. package/lib/table/props.d.ts +18 -0
  226. package/lib/table/render.d.ts +18 -2
  227. package/lib/table/table.css +47 -10
  228. package/lib/table/table.d.ts +47 -22
  229. package/lib/table/table.less +61 -17
  230. package/lib/table/table.variable.css +56 -12
  231. package/lib/table/utils.d.ts +28 -2
  232. package/lib/tag/index.d.ts +10 -286
  233. package/lib/tag/tag.d.ts +2 -48
  234. package/lib/tag/tag.variable.css +7 -0
  235. package/lib/timeline/index.d.ts +129 -0
  236. package/lib/timeline/index.js +1 -0
  237. package/lib/timeline/timeline.css +235 -0
  238. package/lib/timeline/timeline.d.ts +81 -0
  239. package/lib/timeline/timeline.less +239 -0
  240. package/lib/timeline/timeline.variable.css +328 -0
  241. package/lib/tree/index.d.ts +140 -75
  242. package/lib/tree/index.js +1 -1
  243. package/lib/tree/props.d.ts +19 -1
  244. package/lib/tree/tree.d.ts +42 -20
  245. package/lib/use-form.d.ts +3 -0
  246. package/lib/virtual-render/index.d.ts +410 -249
  247. package/lib/virtual-render/index.js +1 -1
  248. package/lib/virtual-render/props.d.ts +10 -0
  249. package/lib/virtual-render/virtual-render.d.ts +110 -41
  250. package/package.json +2 -2
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("../shared"),require("../virtual-render")):"function"==typeof define&&define.amd?define(["exports","vue","../shared","../virtual-render"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared,e["@bkui-vue/virtual-render"])}(this,(function(e,t,r,o){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=n(o);function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a={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.__esModule=!0,e.exports.default=e.exports}(a);var u=i(a.exports),c={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"),height:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string]).def("auto"),minHeight:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string]).def("auto"),rowHeight:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.func]).def(40),headHeight:r.PropTypes.number.def(40),virtualEnabled:r.PropTypes.bool.def(!1)},p={exports:{}};!function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports}(p);var l=i(p.exports),d={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),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports}(d);var f=i(d.exports),y={exports:{}},v={exports:{}},m={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.__esModule=!0,e.exports.default=e.exports}(m),function(e){var t=m.exports;e.exports=function(e){if(Array.isArray(e))return t(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(v);var h={exports:{}};!function(e){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(h);var x={exports:{}};!function(e){var t=m.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.__esModule=!0,e.exports.default=e.exports}(x);var b={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.__esModule=!0,e.exports.default=e.exports}(b),function(e){var t=v.exports,r=h.exports,o=x.exports,n=b.exports;e.exports=function(e){return t(e)||r(e)||o(e)||n()},e.exports.__esModule=!0,e.exports.default=e.exports}(y);var T=i(y.exports),P=void 0,g=function(e,t,r){var o;if(Object.prototype.hasOwnProperty.call(e,t))return"function"==typeof e[t]?(o=e[t]).call.apply(o,[P].concat(T(r))):e[t]},C=function(e){return"disabled"!==e.columnPick?"multi"===e.columnPick?Array.isArray(e.activeColumn)?e.activeColumn:O(e.activeColumn):Array.isArray(e.activeColumn)?O(e.activeColumn[0]):O(e.activeColumn):[]},O=function(e){return/^\d+$/.test("".concat(e))?[parseInt("".concat(e),10)]:[]},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"100%";return/^auto|null|undefined$/gi.test("".concat(e))?t:/^\d+\.?\d+$/.test("".concat(e))?"".concat(e,"px"):e},w=function(){function e(t,r,o){l(this,e),this.props=t,this.context=r,this.reactiveProp=o}return f(e,[{key:"propActiveCols",get:function(){return this.reactiveProp.activeColumns}},{key:"renderTableBodySchema",value:function(e){return t.createVNode("table",{cellpadding:0,cellspacing:0},[this.renderColGroup(),this.renderHeader(),this.renderTBody(e)])}},{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,o={"--row-height":"".concat(g(this.props,"headHeight",["thead"]),"px"),"--translate-y":"".concat(this.reactiveProp.scrollTranslateY,"px")};return t.createVNode("thead",{style:o},[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"},[g(o,"label",[o])])])}))])])}},{key:"renderTBody",value:function(e){var r=this;return t.createVNode("tbody",null,[e.map((function(e,o){var n={"--row-height":"".concat(g(r.props,"rowHeight",["tbody",e,o]),"px")};return t.createVNode("tr",{style:n},[r.props.columns.map((function(r){return t.createVNode("td",{colspan:1,rowspan:1},[t.createVNode("div",{class:"cell"},[e[g(r,"field",[r,e])]])])}))])}))])}},{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,k(s,"auto"))};return t.createVNode("col",{class:i,style:a},null)}))])}}]),e}(),_=t.defineComponent({name:"Table",props:c,setup:function(e,o){var n=t.reactive(C(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(),scrollTranslateY:0}),c=t.computed((function(){return{height:k(e.height),minHeight:k(e.minHeight)}}));t.watch((function(){return[e.activeColumn,e.columns]}),(function(){t.nextTick((function(){a.activeColumns=i();var t=C(e);a.activeColumns.forEach((function(e,r){Object.assign(e,{active:t.some((function(e){return e===r}))})}))}))}),{deep:!0});var p=new w(e,o,a),l=r.classes(u({},r.resolveClassName("table"),!0));return function(){return t.createVNode(s.default,{className:l,style:c.value,lineHeight:e.rowHeight,contentClassName:r.resolveClassName("table-body"),list:e.data,enabled:e.virtualEnabled},{default:function(t){return p.renderTableBodySchema(t.data||e.data)},afterContent:function(){return t.createVNode("div",{class:r.resolveClassName("table-fixed")},null)}})}}}),A=r.withInstall(_);e.default=A,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("../shared"),require("../virtual-render")):"function"==typeof define&&define.amd?define(["exports","vue","../shared","../virtual-render"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Vue,e.Shared,e["@bkui-vue/virtual-render"])}(this,(function(e,t,r,n){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=o(n);function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s={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.__esModule=!0,e.exports.default=e.exports}(s);var u=i(s.exports),c=["none","row","col","outer"],l={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"),height:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string]).def("auto"),minHeight:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string]).def("auto"),rowHeight:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.func]).def(40),headHeight:r.PropTypes.number.def(40),showHead:r.PropTypes.bool.def(!0),virtualEnabled:r.PropTypes.bool.def(!1),border:r.PropTypes.arrayOf(r.PropTypes.commonType(c,"border")).def(["row"])},p={exports:{}};!function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports}(p);var d=i(p.exports),f={exports:{}};!function(e){function t(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports}(f);var v=i(f.exports),y={exports:{}},h={exports:{}},m={exports:{}};!function(e){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports}(m),function(e){var t=m.exports;e.exports=function(e){if(Array.isArray(e))return t(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(h);var b={exports:{}};!function(e){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports}(b);var x={exports:{}};!function(e){var t=m.exports;e.exports=function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports}(x);var g={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.__esModule=!0,e.exports.default=e.exports}(g),function(e){var t=h.exports,r=b.exports,n=x.exports,o=g.exports;e.exports=function(e){return t(e)||r(e)||n(e)||o()},e.exports.__esModule=!0,e.exports.default=e.exports}(y);var T=i(y.exports),P=void 0,C=function(e,t,r){var n;if(Object.prototype.hasOwnProperty.call(e,t))return"function"==typeof e[t]?(n=e[t]).call.apply(n,[P].concat(T(r))):e[t]},w=function(e){return"disabled"!==e.columnPick?"multi"===e.columnPick?Array.isArray(e.activeColumn)?e.activeColumn:O(e.activeColumn):Array.isArray(e.activeColumn)?O(e.activeColumn[0]):O(e.activeColumn):[]},O=function(e){return/^\d+$/.test("".concat(e))?[parseInt("".concat(e),10)]:[]},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"100%",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n="";return n=/^auto|null|undefined$/gi.test("".concat(e))?t:/^\d+\.?\d+$/.test("".concat(e))?"".concat(e,"px"):e,r&&(n="calc(".concat(n," - ").concat(r,")")),n},A=v((function e(t,r){d(this,e),this.props=null,this.ctx=null,this.props=t,this.ctx=r})),N=function(){function e(t,r,n,o){d(this,e),this.props=t,this.context=r,this.reactiveProp=n,this.colgroups=o,this.plugins=new A(t,r)}return v(e,[{key:"propActiveCols",get:function(){return this.reactiveProp.activeColumns}},{key:"renderTableHeadSchema",value:function(){return t.createVNode("table",{cellpadding:0,cellspacing:0},[this.renderColGroup(),this.renderHeader()])}},{key:"renderTableBodySchema",value:function(e){return t.createVNode("table",{cellpadding:0,cellspacing:0},[this.renderColGroup(),this.renderTBody(e)])}},{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,n={"--row-height":"".concat(C(this.props,"headHeight",["thead"]),"px")};return t.createVNode("thead",{style:n},[t.createVNode("tr",null,[this.props.columns.map((function(n,o){return t.createVNode("th",{colspan:1,rowspan:1,class:r.classes({active:e.isColActive(o)}),onClick:function(){return e.handleColumnHeadClick(o)}},[t.createVNode("div",{class:"cell"},[C(n,"label",[n])])])}))])])}},{key:"renderTBody",value:function(e){var r=this;return t.createVNode("tbody",null,[e.map((function(e,n){var o={"--row-height":"".concat(C(r.props,"rowHeight",["tbody",e,n]),"px")};return t.createVNode("tr",{style:o},[r.props.columns.map((function(n){return t.createVNode("td",{colspan:1,rowspan:1},[t.createVNode("div",{class:"cell"},[r.renderCell(e,n)])])}))])}))])}},{key:"renderCell",value:function(e,t){var r=e[C(t,"field",[t,e])];return"function"==typeof t.render?t.render(r):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.colgroups||[]).map((function(n,o){var a,i=r.classes({active:e.isColActive(o)}),s={width:(a=n.calcWidth,k(a,"auto"))};return t.createVNode("col",{class:i,style:s},null)}))])}}]),e}(),_=t.defineComponent({name:"BkTable",props:l,setup:function(e,n){var o=t.reactive(w(e)),i=t.reactive(e.columns.map((function(e){return Object.assign(Object.assign({},e),{calcWidth:null})}))),s=null,l=t.ref(),p=function(){return(e.columns||[]).map((function(e,t){return{index:t,active:o.some((function(e){return e===t})),_column:e}}))},d=t.reactive({activeColumns:p(),scrollTranslateY:0}),f=t.computed((function(){return{minHeight:k(e.minHeight,"auto")}})),v=t.computed((function(){var t=k(e.height),r=e.showHead?k(e.headHeight):"0";return{height:"calc(".concat(t," - ").concat(r," - 2px)"),display:"block"}}));t.watch((function(){return[e.activeColumn,e.columns]}),(function(){t.nextTick((function(){d.activeColumns=p();var t=w(e);d.activeColumns.forEach((function(e,r){Object.assign(e,{active:t.some((function(e){return e===r}))})}))}))}),{deep:!0});var y=new N(e,n,d,i),h=t.computed((function(){return r.classes(u({},r.resolveClassName("table"),!0),(t=e.border,n=["row"],"string"==typeof t&&n.push(t),Array.isArray(t)&&n.push.apply(n,T(t.filter((function(e){return c.includes(e)})))),T(new Set(n)).map((function(e){return"bordered-".concat(e)})).join(" ")));var t,n})),m=r.classes(u({},r.resolveClassName("table-head"),!0)),b=r.classes(u({},r.resolveClassName("table-body"),!0)),x=function(e){var t=e[1];d.scrollTranslateY=t.translateY};return t.onMounted((function(){s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:60,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=r.throttle((function(){"function"==typeof t&&t()}),n),i=new ResizeObserver((function(){a()}));return o&&"function"==typeof t&&t(),{start:function(){i.observe(e)},stop:function(){i.disconnect(),i.unobserve(e)}}}(l.value,(function(){!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20,n=(e.getBoundingClientRect()||{}).width,o=[],a=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.assign(e,{calcWidth:t}),r&&(n-=t)<0&&(n=0)};if(t.forEach((function(e,t){var i=String(e.width),s=!0;if(/^\d+\.?\d*(px)?$/.test(i)){var u=Number(i.replace("px",""));a(e,u),s=!1}if(/^\d+\.?\d*%$/.test(i)){var c=r;if(n>0){var l=Number(i.replace("%",""));c=n*l/100}a(e,c),s=!1}s&&o.push(t)})),o.length>0){var i=r;n>0&&(i=n/o.length,o.forEach((function(e){return a(t[e],i,!1)})))}}(l.value,i,20)}),60,!0),s.start()})),t.onBeforeUnmount((function(){s.stop(),s=null})),n.expose({plugins:y.plugins}),function(){return t.createVNode("div",{class:h.value,style:f.value,ref:l},[t.createVNode("div",{class:m},[e.showHead&&y.renderTableHeadSchema()]),t.createVNode(a.default,{lineHeight:e.rowHeight,contentClassName:b,style:v.value,list:e.data,onContentScroll:x,throttleDelay:0,enabled:e.virtualEnabled},{default:function(t){return y.renderTableBodySchema(t.data||e.data)},afterContent:function(){return t.createVNode("div",{class:r.resolveClassName("table-fixed")},null)}})])}}}),H=r.withInstall(_);e.default=H,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -52,6 +52,14 @@ export declare const tableProps: {
52
52
  } & {
53
53
  default: number;
54
54
  };
55
+ /**
56
+ * 是否显示Head
57
+ */
58
+ showHead: import("vue-types").VueTypeValidableDef<boolean> & {
59
+ default: boolean;
60
+ } & {
61
+ default: boolean;
62
+ };
55
63
  /**
56
64
  * 是否启用虚拟渲染 & 滚动
57
65
  * 当数据量很大时,启用虚拟渲染可以解决压面卡顿问题
@@ -61,6 +69,13 @@ export declare const tableProps: {
61
69
  } & {
62
70
  default: boolean;
63
71
  };
72
+ /**
73
+ * 表格边框显示设置,可以是一个组合
74
+ * 生效规则: 除非单独设置 none,否则会追加每个设置
75
+ */
76
+ border: import("vue-types").VueTypeDef<string[]> & {
77
+ default: () => string[];
78
+ };
64
79
  };
65
80
  export declare type Column = {
66
81
  label: Function | string;
@@ -68,6 +83,9 @@ export declare type Column = {
68
83
  render?: Function | string;
69
84
  width?: number | string;
70
85
  };
86
+ export declare type GroupColumn = {
87
+ calcWidth?: number;
88
+ } & Column;
71
89
  export declare type Columns = ReadonlyArray<Column>;
72
90
  export declare type TablePropTypes = Readonly<ExtractPropTypes<typeof tableProps>>;
73
91
  export declare type IColumnActive = {
@@ -1,11 +1,20 @@
1
1
  import { SetupContext } from 'vue';
2
- import { IColumnActive, IReactiveProp, TablePropTypes } from './props';
2
+ import { GroupColumn, IColumnActive, IReactiveProp, TablePropTypes } from './props';
3
+ import { TablePlugins } from './plugins/index';
3
4
  export default class TableRender {
4
5
  props: TablePropTypes;
5
6
  context: SetupContext;
6
7
  reactiveProp: any;
7
- constructor(props: TablePropTypes, ctx: SetupContext, reactiveProp: IReactiveProp);
8
+ colgroups: GroupColumn[];
9
+ plugins: TablePlugins;
10
+ constructor(props: TablePropTypes, ctx: SetupContext, reactiveProp: IReactiveProp, colgroups: GroupColumn[]);
8
11
  get propActiveCols(): IColumnActive[];
12
+ /**
13
+ * 渲染Table Head
14
+ * @param activeColumns 当前选中的列
15
+ * @returns
16
+ */
17
+ renderTableHeadSchema(): JSX.Element;
9
18
  /**
10
19
  * 渲染Table主体
11
20
  * @param activeColumns 当前选中的列
@@ -33,6 +42,13 @@ export default class TableRender {
33
42
  * @returns
34
43
  */
35
44
  private renderTBody;
45
+ /**
46
+ * 渲染表格Cell内容
47
+ * @param row 当前行
48
+ * @param column 当前列
49
+ * @returns
50
+ */
51
+ private renderCell;
36
52
  /**
37
53
  * 判定指定列是否为选中状态
38
54
  * @param colIndex 指定列Index
@@ -1,44 +1,81 @@
1
1
  .bk-table {
2
2
  overflow: auto;
3
+ border-top: 1px solid #dcdee5;
4
+ border-bottom: 1px solid #dcdee5;
3
5
  }
6
+ .bk-table .bk-table-head,
4
7
  .bk-table .bk-table-body {
5
8
  background: white;
6
9
  }
10
+ .bk-table .bk-table-head table,
7
11
  .bk-table .bk-table-body table {
8
12
  width: 100%;
9
13
  border-collapse: collapse;
10
14
  }
11
- .bk-table .bk-table-body table .cell {
15
+ .bk-table .bk-table-head table th,
16
+ .bk-table .bk-table-body table th,
17
+ .bk-table .bk-table-head table td,
18
+ .bk-table .bk-table-body table td {
19
+ min-width: 80px;
20
+ }
21
+ .bk-table .bk-table-head table th .cell,
22
+ .bk-table .bk-table-body table th .cell,
23
+ .bk-table .bk-table-head table td .cell,
24
+ .bk-table .bk-table-body table td .cell {
12
25
  height: var(--row-height);
13
26
  padding: 0 15px;
14
27
  overflow: hidden;
15
28
  line-height: var(--row-height);
29
+ color: #575961;
30
+ text-align: left;
16
31
  text-overflow: ellipsis;
17
32
  white-space: nowrap;
18
33
  }
19
- .bk-table .bk-table-body table th,
20
- .bk-table .bk-table-body table td {
21
- min-width: 80px;
22
- border-bottom: 1px solid #dfe0e5;
23
- }
34
+ .bk-table .bk-table-head table thead th,
24
35
  .bk-table .bk-table-body table thead th {
25
36
  position: sticky;
26
37
  top: 0;
27
38
  z-index: 1;
28
- background-color: #fff;
29
- transform: translateY(var(--translate-y));
39
+ color: #313238;
40
+ background-color: #fafbfd;
30
41
  }
31
- .bk-table .bk-table-body table thead th.active {
42
+ .bk-table .bk-table-head table thead th.active,
43
+ .bk-table .bk-table-body table thead th.active,
44
+ .bk-table .bk-table-head table thead th:hover,
45
+ .bk-table .bk-table-body table thead th:hover {
32
46
  background: #f0f1f5;
33
47
  }
48
+ .bk-table .bk-table-head table tbody tr:hover td,
34
49
  .bk-table .bk-table-body table tbody tr:hover td {
35
50
  background: #f5f7fa;
36
51
  }
52
+ .bk-table.bordered-row .cell {
53
+ border-bottom: 1px solid #dcdee5;
54
+ }
55
+ .bk-table.bordered-outer {
56
+ border-right: 1px solid #dcdee5;
57
+ border-left: 1px solid #dcdee5;
58
+ }
59
+ .bk-table.bordered-col th .cell,
60
+ .bk-table.bordered-col td .cell {
61
+ border-right: 1px solid #dcdee5;
62
+ }
63
+ .bk-table.bordered-col th:last-child .cell,
64
+ .bk-table.bordered-col td:last-child .cell {
65
+ border-right: none;
66
+ }
67
+ .bk-table.bordered-none th .cell,
68
+ .bk-table.bordered-none td .cell {
69
+ border-top: none;
70
+ border-right: none;
71
+ border-bottom: none;
72
+ border-left: none;
73
+ }
37
74
  .bk-table .bk-table-fixed {
38
75
  width: 100%;
39
76
  }
40
77
  .bk-table colgroup col {
41
- background: #fff;
78
+ background: white;
42
79
  }
43
80
  .bk-table colgroup col.active {
44
81
  position: relative;
@@ -13,7 +13,43 @@ declare const _default: import("vue").DefineComponent<{
13
13
  };
14
14
  minHeight: import("vue-types").VueTypeDef<string | number> & {
15
15
  default: string | number;
16
+ }; /** 表格外层容器样式 */
17
+ rowHeight: import("vue-types").VueTypeDef<any> & {
18
+ default: any;
19
+ };
20
+ headHeight: import("vue-types").VueTypeValidableDef<number> & {
21
+ default: number;
22
+ } & {
23
+ default: number;
24
+ };
25
+ showHead: import("vue-types").VueTypeValidableDef<boolean> & {
26
+ default: boolean;
27
+ } & {
28
+ default: boolean;
16
29
  };
30
+ virtualEnabled: import("vue-types").VueTypeValidableDef<boolean> & {
31
+ default: boolean;
32
+ } & {
33
+ default: boolean;
34
+ };
35
+ border: import("vue-types").VueTypeDef<string[]> & {
36
+ default: () => string[];
37
+ };
38
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
39
+ data: import("vue-types").VueTypeDef<any[]> & {
40
+ default: () => any[];
41
+ };
42
+ columns: import("vue-types").VueTypeDef<Column[]>;
43
+ activeColumn: import("vue-types").VueTypeDef<number | number[]>;
44
+ columnPick: import("vue-types").VueTypeDef<string> & {
45
+ default: string;
46
+ };
47
+ height: import("vue-types").VueTypeDef<string | number> & {
48
+ default: string | number;
49
+ };
50
+ minHeight: import("vue-types").VueTypeDef<string | number> & {
51
+ default: string | number;
52
+ }; /** 表格外层容器样式 */
17
53
  rowHeight: import("vue-types").VueTypeDef<any> & {
18
54
  default: any;
19
55
  };
@@ -22,39 +58,28 @@ declare const _default: import("vue").DefineComponent<{
22
58
  } & {
23
59
  default: number;
24
60
  };
61
+ showHead: import("vue-types").VueTypeValidableDef<boolean> & {
62
+ default: boolean;
63
+ } & {
64
+ default: boolean;
65
+ };
25
66
  virtualEnabled: import("vue-types").VueTypeValidableDef<boolean> & {
26
67
  default: boolean;
27
68
  } & {
28
69
  default: boolean;
29
70
  };
30
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
31
- data?: unknown;
32
- columns?: unknown;
33
- activeColumn?: unknown;
34
- columnPick?: unknown;
35
- height?: unknown;
36
- minHeight?: unknown;
37
- rowHeight?: unknown;
38
- headHeight?: unknown;
39
- virtualEnabled?: unknown;
40
- } & {
41
- data: any[];
42
- height: string | number;
43
- headHeight: number;
44
- columnPick: string;
45
- minHeight: string | number;
46
- virtualEnabled: boolean;
47
- } & {
48
- columns?: Column[];
49
- activeColumn?: number | number[];
50
- rowHeight?: any;
51
- }> & ({} | {}), {
71
+ border: import("vue-types").VueTypeDef<string[]> & {
72
+ default: () => string[];
73
+ };
74
+ }>>, {
52
75
  data: any[];
53
76
  height: string | number;
77
+ border: string[];
54
78
  headHeight: number;
55
79
  columnPick: string;
56
80
  minHeight: string | number;
57
81
  rowHeight: any;
82
+ showHead: boolean;
58
83
  virtualEnabled: boolean;
59
84
  }>;
60
85
  export default _default;
@@ -2,26 +2,30 @@
2
2
 
3
3
  .@{bk-prefix}-table {
4
4
  overflow: auto;
5
+ border-top: 1px solid @table-border-color;
6
+ border-bottom: 1px solid @table-border-color;
7
+ .@{bk-prefix}-table-head,
5
8
  .@{bk-prefix}-table-body {
6
- background: @white-color;
9
+ background: @table-bg-color;
7
10
 
8
11
  table {
9
12
  width: 100%;
10
13
  border-collapse: collapse;
11
14
 
12
- .cell {
13
- height: var(--row-height);
14
- padding: 0 15px;
15
- overflow: hidden;
16
- line-height: var(--row-height);
17
- text-overflow: ellipsis;
18
- white-space: nowrap;
19
- }
20
-
21
15
  th,
22
16
  td {
23
17
  min-width: 80px;
24
- border-bottom: 1px solid #dfe0e5;
18
+
19
+ .cell {
20
+ height: var(--row-height);
21
+ padding: 0 15px;
22
+ overflow: hidden;
23
+ line-height: var(--row-height);
24
+ color: @table-body-font-color;
25
+ text-align: left;
26
+ text-overflow: ellipsis;
27
+ white-space: nowrap;
28
+ }
25
29
  }
26
30
 
27
31
  thead {
@@ -29,12 +33,12 @@
29
33
  position: sticky;
30
34
  top: 0;
31
35
  z-index: 1;
32
- background-color: #fff;
33
- transform: translateY(var(--translate-y));
36
+ color: @table-head-font-color;
37
+ background-color: @table-head-bg-color;
34
38
 
35
- &.active {
39
+ &.active,
40
+ &:hover {
36
41
  background: #f0f1f5;
37
- // cursor: ;
38
42
  }
39
43
  }
40
44
  }
@@ -43,20 +47,60 @@
43
47
  tr {
44
48
  &:hover {
45
49
  td {
46
- background: #f5f7fa;
50
+ background: @table-row-hover-bg-color;
47
51
  }
48
52
  }
49
53
  }
50
54
  }
51
55
  }
52
56
  }
57
+
58
+ &.bordered-row {
59
+ .cell {
60
+ border-bottom: 1px solid @table-border-color;
61
+ }
62
+ }
63
+
64
+ &.bordered-outer {
65
+ border-right: 1px solid @table-border-color;
66
+ border-left: 1px solid @table-border-color;
67
+ }
68
+
69
+ &.bordered-col {
70
+ th,
71
+ td {
72
+ .cell {
73
+ border-right: 1px solid @table-border-color;
74
+ }
75
+
76
+ &:last-child {
77
+ .cell {
78
+ border-right: none;
79
+ }
80
+ }
81
+ }
82
+
83
+ }
84
+
85
+ &.bordered-none {
86
+ th,
87
+ td {
88
+ .cell {
89
+ border-top: none;
90
+ border-right: none;
91
+ border-bottom: none;
92
+ border-left: none;
93
+ }
94
+ }
95
+ }
96
+
53
97
  .@{bk-prefix}-table-fixed {
54
98
  width: 100%;
55
99
  }
56
100
 
57
101
  colgroup {
58
102
  col {
59
- background: #fff;
103
+ background: @table-bg-color;
60
104
 
61
105
  &.active {
62
106
  position: relative;
@@ -1,5 +1,6 @@
1
1
  :root {
2
2
  --bk-prefix: bk;
3
+ --popover-max-height: 216px;
3
4
  --primary-color: #3a84ff;
4
5
  --success-color: #2dcb56;
5
6
  --warning-color: #ff9c01;
@@ -83,48 +84,91 @@
83
84
  --date-picker-disabled-bg: #fafbfd;
84
85
  --date-picker-dropdown-mb: 4px;
85
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;
86
93
  }
87
94
  .bk-table {
88
95
  overflow: auto;
96
+ border-top: 1px solid var(--table-border-color);
97
+ border-bottom: 1px solid var(--table-border-color);
89
98
  }
99
+ .bk-table .bk-table-head,
90
100
  .bk-table .bk-table-body {
91
- background: var(--white-color);
101
+ background: var(--table-bg-color);
92
102
  }
103
+ .bk-table .bk-table-head table,
93
104
  .bk-table .bk-table-body table {
94
105
  width: 100%;
95
106
  border-collapse: collapse;
96
107
  }
97
- .bk-table .bk-table-body table .cell {
108
+ .bk-table .bk-table-head table th,
109
+ .bk-table .bk-table-body table th,
110
+ .bk-table .bk-table-head table td,
111
+ .bk-table .bk-table-body table td {
112
+ min-width: 80px;
113
+ }
114
+ .bk-table .bk-table-head table th .cell,
115
+ .bk-table .bk-table-body table th .cell,
116
+ .bk-table .bk-table-head table td .cell,
117
+ .bk-table .bk-table-body table td .cell {
98
118
  height: var(--row-height);
99
119
  padding: 0 15px;
100
120
  overflow: hidden;
101
121
  line-height: var(--row-height);
122
+ color: var(--table-body-font-color);
123
+ text-align: left;
102
124
  text-overflow: ellipsis;
103
125
  white-space: nowrap;
104
126
  }
105
- .bk-table .bk-table-body table th,
106
- .bk-table .bk-table-body table td {
107
- min-width: 80px;
108
- border-bottom: 1px solid #dfe0e5;
109
- }
127
+ .bk-table .bk-table-head table thead th,
110
128
  .bk-table .bk-table-body table thead th {
111
129
  position: sticky;
112
130
  top: 0;
113
131
  z-index: 1;
114
- background-color: #fff;
115
- transform: translateY(var(--translate-y));
132
+ color: var(--table-head-font-color);
133
+ background-color: var(--table-head-bg-color);
116
134
  }
117
- .bk-table .bk-table-body table thead th.active {
135
+ .bk-table .bk-table-head table thead th.active,
136
+ .bk-table .bk-table-body table thead th.active,
137
+ .bk-table .bk-table-head table thead th:hover,
138
+ .bk-table .bk-table-body table thead th:hover {
118
139
  background: #f0f1f5;
119
140
  }
141
+ .bk-table .bk-table-head table tbody tr:hover td,
120
142
  .bk-table .bk-table-body table tbody tr:hover td {
121
- background: #f5f7fa;
143
+ background: var(--table-row-hover-bg-color);
144
+ }
145
+ .bk-table.bordered-row .cell {
146
+ border-bottom: 1px solid var(--table-border-color);
147
+ }
148
+ .bk-table.bordered-outer {
149
+ border-right: 1px solid var(--table-border-color);
150
+ border-left: 1px solid var(--table-border-color);
151
+ }
152
+ .bk-table.bordered-col th .cell,
153
+ .bk-table.bordered-col td .cell {
154
+ border-right: 1px solid var(--table-border-color);
155
+ }
156
+ .bk-table.bordered-col th:last-child .cell,
157
+ .bk-table.bordered-col td:last-child .cell {
158
+ border-right: none;
159
+ }
160
+ .bk-table.bordered-none th .cell,
161
+ .bk-table.bordered-none td .cell {
162
+ border-top: none;
163
+ border-right: none;
164
+ border-bottom: none;
165
+ border-left: none;
122
166
  }
123
167
  .bk-table .bk-table-fixed {
124
168
  width: 100%;
125
169
  }
126
170
  .bk-table colgroup col {
127
- background: #fff;
171
+ background: var(--table-bg-color);
128
172
  }
129
173
  .bk-table colgroup col.active {
130
174
  position: relative;
@@ -1,4 +1,4 @@
1
- import { TablePropTypes } from './props';
1
+ import { GroupColumn, TablePropTypes } from './props';
2
2
  /**
3
3
  * 解析Prop值 | 可能为多种类型 & 函数返回的场景
4
4
  * @param prop 当前Prop
@@ -24,6 +24,32 @@ export declare const resolveWidth: (propWidth: string | number) => string | numb
24
24
  * 解析可为数字或者字符串设置的样式配置
25
25
  * @param val 配置值
26
26
  * @param defaultValue 默认值
27
+ * @param offset 偏移量
27
28
  * @returns 标准化px string
28
29
  */
29
- export declare const resolveNumberOrStringToPix: (val: string | number, defaultValue?: string | number) => string | number;
30
+ export declare const resolveNumberOrStringToPix: (val: string | number, defaultValue?: string | number, offset?: any) => string | number;
31
+ /**
32
+ * 格式化Border配置为标准Class
33
+ * @param val
34
+ * @returns
35
+ */
36
+ export declare const resolvePropBorderToClassStr: (val: string | string[]) => string;
37
+ /**
38
+ * 根据Props Column配置计算并设置列宽度
39
+ * @param root 当前根元素
40
+ * @param colgroups Columns配置
41
+ * @param autoWidth 自动填充宽度
42
+ */
43
+ export declare const resolveColumnWidth: (root: HTMLElement, colgroups: GroupColumn[], autoWidth?: number) => void;
44
+ /**
45
+ * 监听目标元素的Resize事件
46
+ * @param root 目标元素
47
+ * @param callbackFn 执行函数
48
+ * @param delay 延迟执行时间,默认 60
49
+ * @param immediate 是否立即执行回调函数
50
+ * @returns "{ start: () => void, stop: () => void }"
51
+ */
52
+ export declare const observerResize: (root: HTMLElement, callbackFn: () => void, delay?: number, immediate?: boolean) => {
53
+ start: () => void;
54
+ stop: () => void;
55
+ };