bkui-vue 0.0.1-beta.62 → 0.0.1-beta.65

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 (59) hide show
  1. package/dist/index.cjs.js +30 -30
  2. package/dist/index.esm.js +893 -561
  3. package/dist/index.umd.js +30 -30
  4. package/dist/style.css +1 -1
  5. package/lib/alert/alert.css +2 -0
  6. package/lib/alert/alert.less +2 -0
  7. package/lib/alert/alert.variable.css +2 -0
  8. package/lib/alert/index.js +1 -1
  9. package/lib/button/button.less +1 -1
  10. package/lib/checkbox/checkbox.css +3 -2
  11. package/lib/checkbox/checkbox.less +3 -2
  12. package/lib/checkbox/checkbox.variable.css +3 -2
  13. package/lib/collapse/collapse.css +17 -1
  14. package/lib/collapse/collapse.d.ts +11 -14
  15. package/lib/collapse/collapse.less +24 -2
  16. package/lib/collapse/collapse.variable.css +116 -1
  17. package/lib/collapse/index.d.ts +31 -15
  18. package/lib/collapse/index.js +1 -1
  19. package/lib/collapse/utils.d.ts +11 -0
  20. package/lib/date-picker/date-picker.d.ts +11 -1
  21. package/lib/date-picker/index.d.ts +26 -4
  22. package/lib/date-picker/index.js +1 -1
  23. package/lib/date-picker/props.d.ts +4 -0
  24. package/lib/radio/radio.css +6 -6
  25. package/lib/radio/radio.less +7 -7
  26. package/lib/radio/radio.variable.css +7 -7
  27. package/lib/select/select.css +3 -0
  28. package/lib/select/select.less +4 -0
  29. package/lib/select/select.variable.css +3 -0
  30. package/lib/tab/index.d.ts +10 -13
  31. package/lib/tab/index.js +1 -1
  32. package/lib/tab/props.d.ts +3 -0
  33. package/lib/tab/tab-nav.d.ts +11 -7
  34. package/lib/tab/tab.css +19 -0
  35. package/lib/tab/tab.d.ts +3 -4
  36. package/lib/tab/tab.less +25 -19
  37. package/lib/tab/tab.variable.css +19 -0
  38. package/lib/table/table.css +1 -0
  39. package/lib/table/table.less +1 -0
  40. package/lib/table/table.variable.css +1 -0
  41. package/lib/tree/constant.d.ts +24 -0
  42. package/lib/tree/index.d.ts +100 -8
  43. package/lib/tree/index.js +1 -1
  44. package/lib/tree/props.d.ts +27 -0
  45. package/lib/tree/tree.css +2 -1
  46. package/lib/tree/tree.d.ts +45 -2
  47. package/lib/tree/tree.less +2 -1
  48. package/lib/tree/tree.variable.css +2 -1
  49. package/lib/tree/use-node-action.d.ts +6 -3
  50. package/lib/tree/{use-async.d.ts → use-node-async.d.ts} +0 -0
  51. package/lib/tree/use-node-attribute.d.ts +11 -3
  52. package/lib/tree/use-node-drag.d.ts +3 -0
  53. package/lib/tree/use-tree-init.d.ts +12 -0
  54. package/lib/tree/util.d.ts +2 -23
  55. package/lib/upload/index.js +1 -1
  56. package/lib/upload/upload.css +1 -1
  57. package/lib/upload/upload.less +1 -1
  58. package/lib/upload/upload.variable.css +1 -1
  59. package/package.json +1 -1
@@ -8,8 +8,10 @@
8
8
  border-radius: 2px;
9
9
  }
10
10
  .bk-alert .bk-alert-icon-info {
11
+ display: flex;
11
12
  margin-right: 8px;
12
13
  font-size: 16px;
14
+ line-height: 1;
13
15
  }
14
16
  .bk-alert .icon-close {
15
17
  font-size: 17px;
@@ -26,8 +26,10 @@
26
26
  border-radius: @border-radius-base;
27
27
 
28
28
  .bk-alert-icon-info {
29
+ display: flex; // 修复 svg 对不齐的问题(svg 是一个 inline 元素)
29
30
  margin-right: 8px;
30
31
  font-size: 16px;
32
+ line-height: 1;
31
33
  }
32
34
 
33
35
  .icon-close {
@@ -107,8 +107,10 @@
107
107
  border-radius: var(--border-radius-base);
108
108
  }
109
109
  .bk-alert .bk-alert-icon-info {
110
+ display: flex;
110
111
  margin-right: 8px;
111
112
  font-size: 16px;
113
+ line-height: 1;
112
114
  }
113
115
  .bk-alert .icon-close {
114
116
  font-size: 17px;
@@ -1 +1 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../shared"),require("vue"),require("../icon"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../icon"],t);else{var r="object"==typeof exports?t(require("../shared"),require("vue"),require("../icon")):t(e["../shared"],e.vue,e["../icon"]);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,((e,t,r)=>(()=>{"use strict";var o={6870:e=>{e.exports=r},4212:t=>{t.exports=e},748:e=>{e.exports=t}},s={};function i(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return o[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};return(()=>{i.r(l),i.d(l,{default:()=>s});var e=i(4212),t=i(748),r=i(6870);const o=(0,t.defineComponent)({name:"Alert",props:{theme:e.PropTypes.theme(["info","success","warning","error"]).def("info"),size:e.PropTypes.string,title:e.PropTypes.string,closable:e.PropTypes.bool.def(!1),closeText:e.PropTypes.string,showIcon:e.PropTypes.bool.def(!0)},emits:["close"],setup:function(e,r){var o=(0,t.reactive)({visible:!0});return{state:o,handleClose:function(){o.visible=!1,r.emit("close")}}},render:function(){if(!this.state.visible)return null;var o,s,i=Boolean(this.closeText),l=(0,e.classes)({"bk-alert-close":!0,"close-text":i,"icon-close":!i}),n=(0,e.classes)((o={"bk-alert":!0},!0,(s="bk-alert-".concat(this.theme))in o?Object.defineProperty(o,s,{value:true,enumerable:!0,configurable:!0,writable:!0}):o[s]=true,o));return(0,t.createVNode)("div",{class:n},[(0,t.createVNode)("div",{class:"bk-alert-wraper"},[this.showIcon&&(0,t.createVNode)(r.Help,{class:"bk-alert-icon-info"},null),(0,t.createVNode)("div",{class:"bk-alert-content"},[(0,t.createVNode)("div",{class:"bk-alert-title"},[this.title]),(0,t.createVNode)("div",{class:"bk-alert-description"},null)]),(0,t.createVNode)("span",{class:l,onClick:this.handleClose},[this.closeText])])])}}),s=(0,e.withInstall)(o)})(),l})()));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../shared"),require("vue"),require("../icon"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../icon"],t);else{var r="object"==typeof exports?t(require("../shared"),require("vue"),require("../icon")):t(e["../shared"],e.vue,e["../icon"]);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,((e,t,r)=>(()=>{"use strict";var o={6870:e=>{e.exports=r},4212:t=>{t.exports=e},748:e=>{e.exports=t}},s={};function i(e){var t=s[e];if(void 0!==t)return t.exports;var r=s[e]={exports:{}};return o[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{i.r(n),i.d(n,{default:()=>s});var e=i(4212),t=i(748),r=i(6870);const o=(0,t.defineComponent)({name:"Alert",props:{theme:e.PropTypes.theme(["info","success","warning","error"]).def("info"),size:e.PropTypes.string,title:e.PropTypes.string,closable:e.PropTypes.bool.def(!1),closeText:e.PropTypes.string,showIcon:e.PropTypes.bool.def(!0)},emits:["close"],setup:function(e,r){var o=(0,t.reactive)({visible:!0});return{state:o,handleClose:function(){o.visible=!1,r.emit("close")}}},render:function(){if(!this.state.visible)return null;var o,s,i=Boolean(this.closeText),n=(0,e.classes)({"bk-alert-close":!0,"close-text":i,"icon-close":!i}),l=(0,e.classes)((o={"bk-alert":!0},!0,(s="bk-alert-".concat(this.theme))in o?Object.defineProperty(o,s,{value:true,enumerable:!0,configurable:!0,writable:!0}):o[s]=true,o));return(0,t.createVNode)("div",{class:l},[(0,t.createVNode)("div",{class:"bk-alert-wraper"},[this.showIcon&&(0,t.createVNode)(r.InfoLine,{class:"bk-alert-icon-info"},null),(0,t.createVNode)("div",{class:"bk-alert-content"},[(0,t.createVNode)("div",{class:"bk-alert-title"},[this.title]),(0,t.createVNode)("div",{class:"bk-alert-description"},null)]),this.closable&&(0,t.createVNode)("span",{class:n,onClick:this.handleClose},[this.closeText])])])}}),s=(0,e.withInstall)(o)})(),n})()));
@@ -97,7 +97,7 @@
97
97
  @sizeBtnMinWidth: '@{value}BtnMinWidth';
98
98
  @sizeBtnHeight: '@{value}BtnHeight';
99
99
  @sizeBtnPadding: '@{value}BtnPadding';
100
- &.@{bk-prefix}-button-@{value} {
100
+ &.@{bk-prefix}-button-@{value} {
101
101
  min-width: @@sizeBtnMinWidth;
102
102
  height: @@sizeBtnHeight;
103
103
  line-height: @@sizeBtnHeight;
@@ -1,7 +1,9 @@
1
1
  .bk-checkbox {
2
- display: inline-block;
2
+ display: inline-flex;
3
+ justify-self: center;
3
4
  margin-right: 30px;
4
5
  font-size: 14px;
6
+ line-height: 18px;
5
7
  letter-spacing: normal;
6
8
  color: #63656e;
7
9
  cursor: pointer;
@@ -71,6 +73,5 @@
71
73
  }
72
74
  .bk-checkbox .bk-checkbox-label {
73
75
  display: inline-block;
74
- line-height: 18px;
75
76
  vertical-align: middle;
76
77
  }
@@ -1,9 +1,11 @@
1
1
  @import '../styles/themes/themes.less';
2
2
 
3
3
  .@{bk-prefix}-checkbox {
4
- display: inline-block;
4
+ display: inline-flex;
5
+ justify-self: center;
5
6
  margin-right: 30px;
6
7
  font-size: 14px;
8
+ line-height: 18px;
7
9
  letter-spacing: normal;
8
10
  color: #63656e;
9
11
  cursor: pointer;
@@ -91,7 +93,6 @@
91
93
 
92
94
  .bk-checkbox-label {
93
95
  display: inline-block;
94
- line-height: 18px;
95
96
  vertical-align: middle;
96
97
  }
97
98
  }
@@ -98,9 +98,11 @@
98
98
  --cascader-panel-disabled-bg: #fff;
99
99
  }
100
100
  .bk-checkbox {
101
- display: inline-block;
101
+ display: inline-flex;
102
+ justify-self: center;
102
103
  margin-right: 30px;
103
104
  font-size: 14px;
105
+ line-height: 18px;
104
106
  letter-spacing: normal;
105
107
  color: #63656e;
106
108
  cursor: pointer;
@@ -170,6 +172,5 @@
170
172
  }
171
173
  .bk-checkbox .bk-checkbox-label {
172
174
  display: inline-block;
173
- line-height: 18px;
174
175
  vertical-align: middle;
175
176
  }
@@ -1,6 +1,15 @@
1
1
  .bk-collapse-wrapper .bk-collapse-item {
2
+ display: flex;
3
+ flex-direction: column;
2
4
  text-align: left;
3
5
  }
6
+ .bk-collapse-wrapper .bk-collapse-item.is-disabled {
7
+ cursor: not-allowed;
8
+ }
9
+ .bk-collapse-wrapper .bk-collapse-item.is-disabled .bk-collapse-header {
10
+ color: #dcdee5;
11
+ pointer-events: none;
12
+ }
4
13
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header {
5
14
  position: relative;
6
15
  height: 42px;
@@ -15,16 +24,23 @@
15
24
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon {
16
25
  position: absolute;
17
26
  right: 10px;
27
+ transition: all linear 0.3s;
28
+ }
29
+ .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon.rotate-icon {
30
+ transform: rotate(90deg);
18
31
  }
19
32
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon svg {
20
33
  font-size: 20px;
21
34
  }
22
35
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-content {
23
- display: none;
24
36
  padding: 0 10px;
25
37
  font-size: 13px;
38
+ will-change: all;
26
39
  color: #979ba5;
27
40
  }
28
41
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-content.active {
29
42
  display: block;
30
43
  }
44
+ .bk-collapse-wrapper .collapse-transition {
45
+ transition: all 0.3s ease-in-out;
46
+ }
@@ -23,7 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  default: string;
24
24
  };
25
25
  /**
26
- * Content 字段,默认渲染内容,不配置时自动读取 name字段
26
+ * Content 字段,默认渲染内容,不配置时自动读取 content 字段
27
27
  * 自定义配置slot时可以忽略
28
28
  */
29
29
  contentField: import("vue-types").VueTypeValidableDef<string> & {
@@ -34,11 +34,7 @@ declare const _default: import("vue").DefineComponent<{
34
34
  /**
35
35
  * 当前激活Index
36
36
  */
37
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
38
- /**
39
- * 当前激活 Name, 与activeIndex互斥,同时配置时, activeName 覆盖 activeIndex
40
- */
41
- activeName: import("vue-types").VueTypeDef<string | string[]>;
37
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
42
38
  /**
43
39
  * 是否使用手风琴效果
44
40
  */
@@ -47,7 +43,7 @@ declare const _default: import("vue").DefineComponent<{
47
43
  } & {
48
44
  default: boolean;
49
45
  };
50
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
46
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "after-leave" | "before-enter" | "item-click")[], "update:modelValue" | "after-leave" | "before-enter" | "item-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
51
47
  /**
52
48
  * 渲染列表
53
49
  * 对象数组或者字符串数组,字符串数组默认会增加 name 字段,值为传入的字符串值
@@ -72,7 +68,7 @@ declare const _default: import("vue").DefineComponent<{
72
68
  default: string;
73
69
  };
74
70
  /**
75
- * Content 字段,默认渲染内容,不配置时自动读取 name字段
71
+ * Content 字段,默认渲染内容,不配置时自动读取 content 字段
76
72
  * 自定义配置slot时可以忽略
77
73
  */
78
74
  contentField: import("vue-types").VueTypeValidableDef<string> & {
@@ -83,11 +79,7 @@ declare const _default: import("vue").DefineComponent<{
83
79
  /**
84
80
  * 当前激活Index
85
81
  */
86
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
87
- /**
88
- * 当前激活 Name, 与activeIndex互斥,同时配置时, activeName 覆盖 activeIndex
89
- */
90
- activeName: import("vue-types").VueTypeDef<string | string[]>;
82
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
91
83
  /**
92
84
  * 是否使用手风琴效果
93
85
  */
@@ -96,7 +88,12 @@ declare const _default: import("vue").DefineComponent<{
96
88
  } & {
97
89
  default: boolean;
98
90
  };
99
- }>>, {
91
+ }>> & {
92
+ "onUpdate:modelValue"?: (...args: any[]) => any;
93
+ "onAfter-leave"?: (...args: any[]) => any;
94
+ "onBefore-enter"?: (...args: any[]) => any;
95
+ "onItem-click"?: (...args: any[]) => any;
96
+ }, {
100
97
  list: any[];
101
98
  idFiled: string;
102
99
  titleField: string;
@@ -1,7 +1,20 @@
1
+ @import '../styles/themes/themes.less';
2
+
1
3
  .bk-collapse-wrapper {
2
4
  .bk-collapse-item {
5
+ display: flex;
6
+ flex-direction: column;
3
7
  text-align: left;
4
8
 
9
+ &.is-disabled {
10
+ cursor: not-allowed;
11
+
12
+ .bk-collapse-header {
13
+ color: @disable-color;
14
+ pointer-events: none;
15
+ }
16
+ }
17
+
5
18
  .bk-collapse-header {
6
19
  position: relative;
7
20
  height: 42px;
@@ -16,6 +29,11 @@
16
29
  .bk-collapse-icon {
17
30
  position: absolute;
18
31
  right: 10px;
32
+ transition: all linear .3s;
33
+
34
+ &.rotate-icon {
35
+ transform: rotate(90deg);
36
+ }
19
37
 
20
38
  svg {
21
39
  font-size: 20px;
@@ -24,9 +42,9 @@
24
42
  }
25
43
 
26
44
  .bk-collapse-content {
27
- display: none;
28
45
  padding: 0 10px;
29
46
  font-size: 13px;
47
+ will-change: all;
30
48
  color: #979ba5;
31
49
 
32
50
  &.active {
@@ -34,4 +52,8 @@
34
52
  }
35
53
  }
36
54
  }
37
- }
55
+
56
+ .collapse-transition {
57
+ transition: all .3s ease-in-out;
58
+ }
59
+ }
@@ -1,6 +1,114 @@
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
+ --whitesmoke-color: #fafbfd;
13
+ --disable-color: #dcdee5;
14
+ --font-size-base: 12px;
15
+ --font-size-medium: 14px;
16
+ --font-size-large: 16px;
17
+ --line-height-base: 16px;
18
+ --line-height-medium: 16px;
19
+ --line-height-large: 18px;
20
+ --component-size-small: 26px;
21
+ --component-size-base: 32px;
22
+ --component-size-large: 38px;
23
+ --border-width-base: 1px;
24
+ --border-style-base: solid;
25
+ --border-radius-base: 2px;
26
+ --input-disabled-bg: #fafbfd;
27
+ --input-disabled-border: var(--disable-color);
28
+ --input-height-base: var(--component-size-base);
29
+ --input-color: var(--default-color);
30
+ --input-bg: white;
31
+ --input-border-color: var(--light-gray);
32
+ --input-broder-radius: 3px;
33
+ --input-shadow-color: #a3c5fd;
34
+ --input-horizontal-padding: 10px;
35
+ --input-block-color: #f4f6fa;
36
+ --input-icon-size: var(--font-size-large);
37
+ --input-maxlength-color: #979ba5;
38
+ --button-primary-hover-color: #5594fa;
39
+ --button-danger-hover-color: #ff5656;
40
+ --button-success-hover-color: #45e35f;
41
+ --button-warning-hover-color: #ffb848;
42
+ --button-default-hover-border-color: #979ba5;
43
+ --button-primary-active-color: #2c77f4;
44
+ --button-danger-active-color: #db2626;
45
+ --button-success-active-color: #1ab943;
46
+ --button-warning-active-color: #eb9000;
47
+ --fixed-navbar-background: #fff;
48
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
49
+ --switch-default-color: #fff;
50
+ --switch-grey-color: #c4c6cc;
51
+ --breadcrumb-black-color: #979ba5;
52
+ --breadcrumb-primary-hover-color: #0082ff;
53
+ --breadcrumb-fn-main-color: #63656e;
54
+ --link-default-hover-color: #979ba5;
55
+ --link-primary-hover-color: #699df4;
56
+ --link-success-hover-color: #45e35f;
57
+ --link-warning-hover-color: #ffb848;
58
+ --link-danger-hover-color: #ff5656;
59
+ --link-default-disabled-color: #dcdee5;
60
+ --link-primary-disabled-color: #a3c5fd;
61
+ --link-success-disabled-color: #94f5a4;
62
+ --link-warning-disabled-color: #ffd695;
63
+ --link-danger-disabled-color: #fd9c9c;
64
+ --message-color: var(--default-color);
65
+ --message-primary-bg-color: #f0f8ff;
66
+ --message-primary-border-color: #e1ecff;
67
+ --message-warning-bg-color: #fff4e2;
68
+ --message-warning-border-color: #ffe8c3;
69
+ --message-success-bg-color: #f2fff4;
70
+ --message-success-border-color: #dcffe2;
71
+ --message-danger-bg-color: #ffeded;
72
+ --message-danger-border-color: #ffdddd;
73
+ --slider-default-bg: #dcdee5;
74
+ --slider-disable-bar-bg: #979ba5;
75
+ --menu-bg-color: #182132;
76
+ --submenu-bg-color: #151d2c;
77
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
78
+ --menu-color: #96a2b9;
79
+ --menu-group-color: var(--default-color);
80
+ --menu-width: 260px;
81
+ --menu-collapse-width: 60px;
82
+ --menu-active-color: white;
83
+ --nav-header-bg-color: #182132;
84
+ --nav-bg-color: #182132;
85
+ --date-picker-disabled-bg: #fafbfd;
86
+ --date-picker-dropdown-mb: 4px;
87
+ --date-picker-dropdown-bg: #fff;
88
+ --table-bg-color: var(--white-color);
89
+ --table-border-color: #dcdee5;
90
+ --table-head-bg-color: #fafbfd;
91
+ --table-head-font-color: #313238;
92
+ --table-body-font-color: #575961;
93
+ --table-row-hover-bg-color: #f5f7fa;
94
+ --table-row-active-bg-color: #f0f1f5;
95
+ --cascader-panel-border-color: #dcdee5;
96
+ --cascader-panel-hover: #eaf3ff;
97
+ --cascader-panel-active: #f4f6fa;
98
+ --cascader-panel-disabled-bg: #fff;
99
+ }
1
100
  .bk-collapse-wrapper .bk-collapse-item {
101
+ display: flex;
102
+ flex-direction: column;
2
103
  text-align: left;
3
104
  }
105
+ .bk-collapse-wrapper .bk-collapse-item.is-disabled {
106
+ cursor: not-allowed;
107
+ }
108
+ .bk-collapse-wrapper .bk-collapse-item.is-disabled .bk-collapse-header {
109
+ color: var(--disable-color);
110
+ pointer-events: none;
111
+ }
4
112
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header {
5
113
  position: relative;
6
114
  height: 42px;
@@ -15,16 +123,23 @@
15
123
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon {
16
124
  position: absolute;
17
125
  right: 10px;
126
+ transition: all linear 0.3s;
127
+ }
128
+ .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon.rotate-icon {
129
+ transform: rotate(90deg);
18
130
  }
19
131
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-header .bk-collapse-icon svg {
20
132
  font-size: 20px;
21
133
  }
22
134
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-content {
23
- display: none;
24
135
  padding: 0 10px;
25
136
  font-size: 13px;
137
+ will-change: all;
26
138
  color: #979ba5;
27
139
  }
28
140
  .bk-collapse-wrapper .bk-collapse-item .bk-collapse-content.active {
29
141
  display: block;
30
142
  }
143
+ .bk-collapse-wrapper .collapse-transition {
144
+ transition: all 0.3s ease-in-out;
145
+ }
@@ -1,4 +1,4 @@
1
- declare const BkCollaspe: {
1
+ declare const BkCollapse: {
2
2
  new (...args: any[]): {
3
3
  $: import("vue").ComponentInternalInstance;
4
4
  $data: {};
@@ -27,14 +27,18 @@ declare const BkCollaspe: {
27
27
  } & {
28
28
  default: string;
29
29
  };
30
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
31
- activeName: import("vue-types").VueTypeDef<string | string[]>;
30
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
32
31
  accordion: import("vue-types").VueTypeValidableDef<boolean> & {
33
32
  default: boolean;
34
33
  } & {
35
34
  default: boolean;
36
35
  };
37
- }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "list" | "idFiled" | "titleField" | "contentField" | "accordion">;
36
+ }>> & {
37
+ "onUpdate:modelValue"?: (...args: any[]) => any;
38
+ "onAfter-leave"?: (...args: any[]) => any;
39
+ "onBefore-enter"?: (...args: any[]) => any;
40
+ "onItem-click"?: (...args: any[]) => any;
41
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "list" | "idFiled" | "titleField" | "contentField" | "accordion">;
38
42
  $attrs: {
39
43
  [x: string]: unknown;
40
44
  };
@@ -46,7 +50,7 @@ declare const BkCollaspe: {
46
50
  }>;
47
51
  $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
48
52
  $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
49
- $emit: (event: string, ...args: any[]) => void;
53
+ $emit: (event: "update:modelValue" | "after-leave" | "before-enter" | "item-click", ...args: any[]) => void;
50
54
  $el: any;
51
55
  $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
52
56
  list: import("vue-types").VueTypeDef<any[]> & {
@@ -67,14 +71,18 @@ declare const BkCollaspe: {
67
71
  } & {
68
72
  default: string;
69
73
  };
70
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
71
- activeName: import("vue-types").VueTypeDef<string | string[]>;
74
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
72
75
  accordion: import("vue-types").VueTypeValidableDef<boolean> & {
73
76
  default: boolean;
74
77
  } & {
75
78
  default: boolean;
76
79
  };
77
- }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
80
+ }>> & {
81
+ "onUpdate:modelValue"?: (...args: any[]) => any;
82
+ "onAfter-leave"?: (...args: any[]) => any;
83
+ "onBefore-enter"?: (...args: any[]) => any;
84
+ "onItem-click"?: (...args: any[]) => any;
85
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "after-leave" | "before-enter" | "item-click")[], string, {
78
86
  list: any[];
79
87
  idFiled: string;
80
88
  titleField: string;
@@ -119,14 +127,18 @@ declare const BkCollaspe: {
119
127
  } & {
120
128
  default: string;
121
129
  };
122
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
123
- activeName: import("vue-types").VueTypeDef<string | string[]>;
130
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
124
131
  accordion: import("vue-types").VueTypeValidableDef<boolean> & {
125
132
  default: boolean;
126
133
  } & {
127
134
  default: boolean;
128
135
  };
129
- }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
136
+ }>> & {
137
+ "onUpdate:modelValue"?: (...args: any[]) => any;
138
+ "onAfter-leave"?: (...args: any[]) => any;
139
+ "onBefore-enter"?: (...args: any[]) => any;
140
+ "onItem-click"?: (...args: any[]) => any;
141
+ } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
130
142
  __isFragment?: never;
131
143
  __isTeleport?: never;
132
144
  __isSuspense?: never;
@@ -149,18 +161,22 @@ declare const BkCollaspe: {
149
161
  } & {
150
162
  default: string;
151
163
  };
152
- activeIndex: import("vue-types").VueTypeDef<number | number[]>;
153
- activeName: import("vue-types").VueTypeDef<string | string[]>;
164
+ modelValue: import("vue-types").VueTypeDef<number | string[] | number[]>;
154
165
  accordion: import("vue-types").VueTypeValidableDef<boolean> & {
155
166
  default: boolean;
156
167
  } & {
157
168
  default: boolean;
158
169
  };
159
- }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
170
+ }>> & {
171
+ "onUpdate:modelValue"?: (...args: any[]) => any;
172
+ "onAfter-leave"?: (...args: any[]) => any;
173
+ "onBefore-enter"?: (...args: any[]) => any;
174
+ "onItem-click"?: (...args: any[]) => any;
175
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "after-leave" | "before-enter" | "item-click")[], "update:modelValue" | "after-leave" | "before-enter" | "item-click", {
160
176
  list: any[];
161
177
  idFiled: string;
162
178
  titleField: string;
163
179
  contentField: string;
164
180
  accordion: boolean;
165
181
  }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
166
- export default BkCollaspe;
182
+ export default BkCollapse;
@@ -1 +1 @@
1
- !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n(require("../shared"),require("vue"),require("../icon/"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../icon/"],n);else{var r="object"==typeof exports?n(require("../shared"),require("vue"),require("../icon/")):n(e["../shared"],e.vue,e["../icon/"]);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,((e,n,r)=>(()=>{"use strict";var o={7685:e=>{e.exports=r},4212:n=>{n.exports=e},748:e=>{e.exports=n}},t={};function i(e){var n=t[e];if(void 0!==n)return n.exports;var r=t[e]={exports:{}};return o[e](r,r.exports,i),r.exports}i.d=(e,n)=>{for(var r in n)i.o(n,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},i.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{i.r(a),i.d(a,{default:()=>t});var e=i(4212),n=i(748),r=i(7685);const o=(0,n.defineComponent)({name:"Collapse",props:{list:e.PropTypes.arrayOf(e.PropTypes.any).def([]),idFiled:e.PropTypes.string.def("$index"),titleField:e.PropTypes.string.def("name"),contentField:e.PropTypes.string.def("content"),activeIndex:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.number).def([]),e.PropTypes.number.def(-1)]),activeName:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.string).def([]),e.PropTypes.string.def("")]),accordion:e.PropTypes.bool.def(!0)},setup:function(e,o){var t=o.slots,i=(0,n.ref)(null);(0,n.watch)((function(){return[e.activeName,e.activeIndex]}),(function(){i.value=null}));var a=(0,n.computed)((function(){return(e.list||[]).map((function(e,n){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e?{$index:n,name:e}:Object.assign({$index:n},e)}))})),l=(0,n.computed)((function(){var n;return null!==i.value?i.value.map((function(e){return e.$index})):null!==e.activeName&&void 0!==e.activeName&&""!==e.activeName?u(e.activeName).map((function(n){return a.value.findIndex((function(r){return r[e.idFiled]===n}))})):u(null!==(n=e.activeIndex)&&void 0!==n?n:0)})),u=function n(r){return Array.isArray(r)?e.accordion?n(r[0]):r:"string"==typeof r||"number"==typeof r?[r]:[]},c=function(e){return l.value.some((function(n){return n===e.$index}))};return function(){return(0,n.createVNode)("div",{class:"bk-collapse-wrapper"},[a.value.map((function(o){var a,l,u,s;return(0,n.createVNode)("div",{class:"bk-collapse-item"},[(0,n.createVNode)("div",{class:"bk-collapse-header",onClick:function(){return function(n){if(null===i.value)i.value=[n];else if(e.accordion)i.value=[n];else{var r=i.value.findIndex((function(e){return e.$index===n.$index}));r>=0?i.value.splice(r,1):i.value.push(n)}}(o)}},[(0,n.createVNode)("span",{class:"bk-collapse-title"},[null!==(l=null===(a=t.default)||void 0===a?void 0:a.call(t,o))&&void 0!==l?l:o[e.titleField]]),c(o)?(0,n.createVNode)(r.AngleDown,{class:"bk-collapse-icon"},null):(0,n.createVNode)(r.AngleRight,{class:"bk-collapse-icon"},null)]),(0,n.createVNode)("div",{class:"bk-collapse-content ".concat(c(o)?"active":"")},[null!==(s=null===(u=t.content)||void 0===u?void 0:u.call(t,o))&&void 0!==s?s:o[e.contentField]])])}))])}}}),t=(0,e.withInstall)(o)})(),a})()));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("../shared"),require("vue"),require("../icon/"));else if("function"==typeof define&&define.amd)define(["../shared","vue","../icon/"],t);else{var r="object"==typeof exports?t(require("../shared"),require("vue"),require("../icon/")):t(e["../shared"],e.vue,e["../icon/"]);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,((e,t,r)=>(()=>{"use strict";var o={7685:e=>{e.exports=r},4212:t=>{t.exports=e},748:e=>{e.exports=t}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return o[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};return(()=>{i.r(l),i.d(l,{default:()=>d});var e=i(4212);function t(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}function r(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||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)||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.")}()}var o=i(748),n=i(7685),a=function(e){return(e||"").split(" ").filter((function(e){return!!e.trim()}))};function s(e,t){if(e&&t){var o=a(t),n=e.getAttribute("class")||"";if(e.classList){var i;(i=e.classList).remove.apply(i,r(o))}else{o.forEach((function(e){n=n.replace(" ".concat(e," ")," ")}));var l=a(n).join(" ");e.setAttribute("class",l)}}}function c(e,t){if(e){var o,n=e.getAttribute("class")||"",i=a(n),l=(t||"").split(" ").filter((function(e){return!i.includes(e)&&!!e.trim()}));e.classList?(o=e.classList).add.apply(o,r(l)):(n+=" ".concat(l.join(" ")),e.setAttribute("class",n))}}const u=(0,o.defineComponent)({name:"Collapse",props:{list:e.PropTypes.arrayOf(e.PropTypes.any).def([]),idFiled:e.PropTypes.string.def("$index"),titleField:e.PropTypes.string.def("name"),contentField:e.PropTypes.string.def("content"),modelValue:e.PropTypes.oneOfType([e.PropTypes.arrayOf(e.PropTypes.number).def([]),e.PropTypes.arrayOf(e.PropTypes.string).def([]),e.PropTypes.number.def(-1)]),accordion:e.PropTypes.bool.def(!1)},emits:["item-click","update:modelValue","after-leave","before-enter"],setup:function(e,t){var i=t.emit,l=t.slots,a=(0,o.ref)([]),u=(0,o.ref)(function(e){return{css:!0,onBeforeEnter:function(e){c(e,"collapse-transition"),e.dataset||(e.dataset={}),e.style.height="0px"},onEnter:function(e){e.dataset.oldOverflow=e.style.overflow,0!==e.scrollHeight?(e.style.height="".concat(e.scrollHeight,"px"),e.style.maxHeight="".concat(e.scrollHeight,"px")):e.style.height="0px",e.style.overflow="hidden"},onAfterEnter:function(t){t.style.height="",t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,s(t,"collapse-transition"),e("before-enter")},onBeforeLeave:function(e){e.dataset||(e.dataset={}),e.dataset.oldOverflow=e.style.overflow,e.style.height="".concat(e.scrollHeight,"px"),e.style.maxHeight="".concat(e.scrollHeight,"px"),e.style.overflow="hidden"},onLeave:function(e){0!==e.scrollHeight&&(c(e,"collapse-transition"),e.style.transitionProperty="height",e.style.height="0px")},onAfterLeave:function(t){s(t,"collapse-transition"),t.style.height="",t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,e("after-leave")}}}(i));(0,o.watch)((function(){return[e.modelValue]}),(function(){var t=e.modelValue;Array.isArray(t)?a.value=r(t):a.value=void 0!==t?[t]:[]}),{immediate:!0});var d=(0,o.computed)((function(){return(e.list||[]).map((function(e,t){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e?{$index:t,name:e}:Object.assign({$index:t},e)}))})),f=function(t){return a.value.includes(t[e.idFiled])};return function(){return(0,o.createVNode)("div",{class:"bk-collapse-wrapper"},[d.value.map((function(t){var r,s,c,d;return(0,o.createVNode)("div",{class:"bk-collapse-item ".concat(t.disabled?"is-disabled":""," ").concat(f(t)?"bk-collapse-item-active":"")},[(0,o.createVNode)("div",{class:"bk-collapse-header",onClick:function(){return function(t){if(!t.disabled){if(e.accordion){var r=a.value.findIndex((function(r){return r===t[e.idFiled]}));r>=0?a.value.splice(r,1):a.value=[t[e.idFiled]]}else{var o=a.value.findIndex((function(r){return r===t[e.idFiled]}));o>=0?a.value.splice(o,1):a.value.push(t[e.idFiled])}i("item-click",t),i("update:modelValue",a.value)}}(t)}},[(0,o.createVNode)("span",{class:"bk-collapse-title"},[null!==(s=null===(r=l.default)||void 0===r?void 0:r.call(l,t))&&void 0!==s?s:t[e.titleField]]),(0,o.createVNode)(n.AngleRight,{class:"bk-collapse-icon ".concat(f(t)?"rotate-icon":"")},null)]),(0,o.createVNode)(o.Transition,u.value,{default:function(){return[(0,o.withDirectives)((0,o.createVNode)("div",{class:"bk-collapse-content ".concat(f(t)?"active":"")},[null!==(d=null===(c=l.content)||void 0===c?void 0:c.call(l,t))&&void 0!==d?d:t[e.contentField]]),[[o.vShow,f(t)]])]}})])}))])}}}),d=(0,e.withInstall)(u)})(),l})()));
@@ -0,0 +1,11 @@
1
+ export declare function removeClass(el: HTMLElement | Element, cls: string): void;
2
+ export declare function addClass(el: HTMLElement | Element, cls: string): void;
3
+ export declare const collapseMotion: (emit: any) => {
4
+ css: boolean;
5
+ onBeforeEnter: (el: any) => void;
6
+ onEnter: (el: any) => void;
7
+ onAfterEnter: (el: any) => void;
8
+ onBeforeLeave: (el: any) => void;
9
+ onLeave: (el: any) => void;
10
+ onAfterLeave: (el: any) => void;
11
+ };
@@ -94,6 +94,10 @@ declare const _default: import("vue").DefineComponent<{
94
94
  readonly type: NumberConstructor;
95
95
  readonly default: -1;
96
96
  };
97
+ readonly headerSlotCls: {
98
+ readonly type: StringConstructor;
99
+ readonly default: "";
100
+ };
97
101
  readonly footerSlotCls: {
98
102
  readonly type: StringConstructor;
99
103
  readonly default: "";
@@ -115,10 +119,11 @@ declare const _default: import("vue").DefineComponent<{
115
119
  visualValue: import("vue").ComputedRef<any>;
116
120
  displayValue: import("vue").ComputedRef<any>;
117
121
  isConfirm: import("vue").ComputedRef<boolean>;
122
+ hasHeader: import("vue").ComputedRef<boolean>;
123
+ hasFooter: import("vue").ComputedRef<boolean>;
118
124
  fontSizeCls: import("vue").ComputedRef<string>;
119
125
  longWidthCls: import("vue").ComputedRef<string>;
120
126
  localReadonly: import("vue").ComputedRef<boolean>;
121
- hasFooter: import("vue").ComputedRef<boolean>;
122
127
  allowCrossDayProp: import("vue").ComputedRef<boolean>;
123
128
  pickerDropdownRef: any;
124
129
  inputRef: any;
@@ -250,6 +255,10 @@ declare const _default: import("vue").DefineComponent<{
250
255
  readonly type: NumberConstructor;
251
256
  readonly default: -1;
252
257
  };
258
+ readonly headerSlotCls: {
259
+ readonly type: StringConstructor;
260
+ readonly default: "";
261
+ };
253
262
  readonly footerSlotCls: {
254
263
  readonly type: StringConstructor;
255
264
  readonly default: "";
@@ -295,6 +304,7 @@ declare const _default: import("vue").DefineComponent<{
295
304
  upToNow: boolean;
296
305
  useShortcutText: boolean;
297
306
  shortcutSelectedIndex: number;
307
+ headerSlotCls: string;
298
308
  footerSlotCls: string;
299
309
  allowCrossDay: boolean;
300
310
  }>;