bkui-vue 0.0.1-beta.46 → 0.0.1-beta.47

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 (80) hide show
  1. package/dist/index.cjs.js +19 -19
  2. package/dist/index.esm.js +303 -213
  3. package/dist/index.umd.js +20 -20
  4. package/dist/style.css +1 -1
  5. package/lib/checkbox/checkbox.css +12 -0
  6. package/lib/checkbox/checkbox.d.ts +5 -11
  7. package/lib/checkbox/checkbox.less +17 -0
  8. package/lib/checkbox/checkbox.variable.css +12 -0
  9. package/lib/checkbox/common.d.ts +3 -3
  10. package/lib/checkbox/index.d.ts +10 -18
  11. package/lib/checkbox/index.js +1 -1
  12. package/lib/checkbox/type.d.ts +2 -6
  13. package/lib/form/compose-form-item.d.ts +16 -0
  14. package/lib/form/form.css +73 -12
  15. package/lib/form/form.less +120 -46
  16. package/lib/form/form.variable.css +167 -12
  17. package/lib/form/index.d.ts +17 -1
  18. package/lib/form/index.js +1 -1
  19. package/lib/icon/index.js +1 -0
  20. package/lib/icon/info-line.js +1 -0
  21. package/lib/icon/info.js +1 -0
  22. package/lib/icon/left-shape.js +1 -0
  23. package/lib/icon/play-shape.js +1 -0
  24. package/lib/icon/plus.js +1 -0
  25. package/lib/icon/qq.js +1 -0
  26. package/lib/icon/right-shape.js +1 -0
  27. package/lib/icon/search.js +1 -0
  28. package/lib/icon/share.js +1 -0
  29. package/lib/icon/spinner.js +1 -0
  30. package/lib/icon/success.js +1 -0
  31. package/lib/icon/switcher-loading.js +1 -0
  32. package/lib/icon/text-file.js +1 -0
  33. package/lib/icon/tree-application-shape.js +1 -0
  34. package/lib/icon/unvisible.js +1 -0
  35. package/lib/icon/up-shape.js +1 -0
  36. package/lib/icon/warn.js +1 -0
  37. package/lib/icon/weixin.js +1 -0
  38. package/lib/input/index.js +1 -0
  39. package/lib/link/index.js +1 -0
  40. package/lib/loading/index.js +1 -0
  41. package/lib/menu/index.js +1 -0
  42. package/lib/message/index.js +1 -0
  43. package/lib/modal/index.js +1 -0
  44. package/lib/navigation/index.js +1 -0
  45. package/lib/notify/index.js +1 -0
  46. package/lib/pagination/index.js +1 -0
  47. package/lib/popover/index.js +1 -0
  48. package/lib/process/index.js +1 -0
  49. package/lib/progress/index.js +1 -0
  50. package/lib/radio/common.d.ts +5 -5
  51. package/lib/radio/index.d.ts +17 -16
  52. package/lib/radio/index.js +1 -0
  53. package/lib/radio/radio-button.d.ts +5 -4
  54. package/lib/radio/radio.css +2 -2
  55. package/lib/radio/radio.d.ts +4 -4
  56. package/lib/radio/radio.less +2 -2
  57. package/lib/radio/radio.variable.css +2 -2
  58. package/lib/radio/type.d.ts +9 -4
  59. package/lib/rate/index.js +1 -0
  60. package/lib/resize-layout/index.js +1 -0
  61. package/lib/select/index.js +1 -0
  62. package/lib/shared/index.js +1 -0
  63. package/lib/sideslider/index.js +1 -0
  64. package/lib/slider/index.js +1 -0
  65. package/lib/steps/index.js +1 -0
  66. package/lib/swiper/index.js +1 -0
  67. package/lib/switcher/index.js +1 -0
  68. package/lib/tab/index.js +1 -0
  69. package/lib/table/index.js +1 -0
  70. package/lib/table/table.css +90 -0
  71. package/lib/table/table.d.ts +0 -1
  72. package/lib/table/table.less +2 -1
  73. package/lib/table/table.variable.css +104 -14
  74. package/lib/tag/index.js +1 -0
  75. package/lib/tag-input/index.js +1 -0
  76. package/lib/timeline/index.js +1 -0
  77. package/lib/transfer/index.js +1 -0
  78. package/lib/tree/index.js +1 -0
  79. package/lib/virtual-render/index.js +1 -0
  80. package/package.json +2 -1
@@ -3,9 +3,7 @@ export declare const checkboxProps: {
3
3
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
4
4
  default: string | number | boolean;
5
5
  };
6
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
7
- required: true;
8
- };
6
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
9
7
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
10
8
  default: string | number | boolean;
11
9
  };
@@ -35,9 +33,7 @@ declare const _default: import("vue").DefineComponent<{
35
33
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
36
34
  default: string | number | boolean;
37
35
  };
38
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
39
- required: true;
40
- };
36
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
41
37
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
42
38
  default: string | number | boolean;
43
39
  };
@@ -62,10 +58,10 @@ declare const _default: import("vue").DefineComponent<{
62
58
  };
63
59
  size: import("vue-types").VueTypeDef<string>;
64
60
  }, {
65
- currentValue: import("vue").ComputedRef<string | number | boolean>;
66
61
  isFocus: import("vue").Ref<boolean>;
67
- isChecked: import("vue").ComputedRef<boolean>;
62
+ isChecked: import("vue").Ref<boolean>;
68
63
  isDisabled: import("vue").ComputedRef<boolean>;
64
+ setChecked: (value?: boolean) => void;
69
65
  handleBlur: () => void;
70
66
  handleFocus: () => void;
71
67
  handleChange: (event: Event) => void;
@@ -73,9 +69,7 @@ declare const _default: import("vue").DefineComponent<{
73
69
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
74
70
  default: string | number | boolean;
75
71
  };
76
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
77
- required: true;
78
- };
72
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
79
73
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
80
74
  default: string | number | boolean;
81
75
  };
@@ -31,6 +31,23 @@
31
31
  }
32
32
  }
33
33
 
34
+ &.is-indeterminated {
35
+ .bk-checkbox-input {
36
+ &:after {
37
+ position: absolute;
38
+ top: 50%;
39
+ left: 50%;
40
+ width: 8px;
41
+ height: 2px;
42
+ background: #fff;
43
+ border: none;
44
+ border-radius: 2px;
45
+ content: '';
46
+ transform: translate(-50%, -50%);
47
+ }
48
+ }
49
+ }
50
+
34
51
  &.is-disabled {
35
52
  color: #c4c6cc;
36
53
  cursor: not-allowed;
@@ -119,6 +119,18 @@
119
119
  transform: scaleY(1) rotate(45deg);
120
120
  transform-origin: center;
121
121
  }
122
+ .bk-checkbox.is-indeterminated .bk-checkbox-input:after {
123
+ position: absolute;
124
+ top: 50%;
125
+ left: 50%;
126
+ width: 8px;
127
+ height: 2px;
128
+ background: #fff;
129
+ border: none;
130
+ border-radius: 2px;
131
+ content: '';
132
+ transform: translate(-50%, -50%);
133
+ }
122
134
  .bk-checkbox.is-disabled {
123
135
  color: #c4c6cc;
124
136
  cursor: not-allowed;
@@ -1,4 +1,4 @@
1
- import type { InjectionKey, Ref } from 'vue';
1
+ import { type InjectionKey, type Ref } from 'vue';
2
2
  import type { ICheckboxGroupContext } from './type';
3
3
  export declare const checkboxGroupKey: InjectionKey<ICheckboxGroupContext>;
4
4
  export declare function useFocus(): [Ref<boolean>, {
@@ -6,8 +6,8 @@ export declare function useFocus(): [Ref<boolean>, {
6
6
  focus: () => void;
7
7
  }];
8
8
  export declare const useCheckbox: () => {
9
- value: import("vue").ComputedRef<string | number | boolean>;
10
- isChecked: import("vue").ComputedRef<boolean>;
9
+ isChecked: Ref<boolean>;
11
10
  isDisabled: import("vue").ComputedRef<boolean>;
11
+ setChecked: (value?: boolean) => void;
12
12
  handleChange: (event: Event) => void;
13
13
  };
@@ -16,9 +16,7 @@ declare const BkCheckbox: {
16
16
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
17
17
  default: string | number | boolean;
18
18
  };
19
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
20
- required: true;
21
- };
19
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
22
20
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
23
21
  default: string | number | boolean;
24
22
  };
@@ -63,9 +61,7 @@ declare const BkCheckbox: {
63
61
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
64
62
  default: string | number | boolean;
65
63
  };
66
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
67
- required: true;
68
- };
64
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
69
65
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
70
66
  default: string | number | boolean;
71
67
  };
@@ -93,10 +89,10 @@ declare const BkCheckbox: {
93
89
  onChange?: (...args: any[]) => any;
94
90
  "onUpdate:modelValue"?: (...args: any[]) => any;
95
91
  }, {
96
- currentValue: import("vue").ComputedRef<string | number | boolean>;
97
92
  isFocus: import("vue").Ref<boolean>;
98
- isChecked: import("vue").ComputedRef<boolean>;
93
+ isChecked: import("vue").Ref<boolean>;
99
94
  isDisabled: import("vue").ComputedRef<boolean>;
95
+ setChecked: (value?: boolean) => void;
100
96
  handleBlur: () => void;
101
97
  handleFocus: () => void;
102
98
  handleChange: (event: Event) => void;
@@ -132,9 +128,7 @@ declare const BkCheckbox: {
132
128
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
133
129
  default: string | number | boolean;
134
130
  };
135
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
136
- required: true;
137
- };
131
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
138
132
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
139
133
  default: string | number | boolean;
140
134
  };
@@ -162,10 +156,10 @@ declare const BkCheckbox: {
162
156
  onChange?: (...args: any[]) => any;
163
157
  "onUpdate:modelValue"?: (...args: any[]) => any;
164
158
  } & import("vue").ShallowUnwrapRef<{
165
- currentValue: import("vue").ComputedRef<string | number | boolean>;
166
159
  isFocus: import("vue").Ref<boolean>;
167
- isChecked: import("vue").ComputedRef<boolean>;
160
+ isChecked: import("vue").Ref<boolean>;
168
161
  isDisabled: import("vue").ComputedRef<boolean>;
162
+ setChecked: (value?: boolean) => void;
169
163
  handleBlur: () => void;
170
164
  handleFocus: () => void;
171
165
  handleChange: (event: Event) => void;
@@ -177,9 +171,7 @@ declare const BkCheckbox: {
177
171
  modelValue: import("vue-types").VueTypeDef<string | number | boolean> & {
178
172
  default: string | number | boolean;
179
173
  };
180
- label: import("vue-types").VueTypeDef<string | number | boolean> & {
181
- required: true;
182
- };
174
+ label: import("vue-types").VueTypeDef<string | number | boolean>;
183
175
  trueLabel: import("vue-types").VueTypeDef<string | number | boolean> & {
184
176
  default: string | number | boolean;
185
177
  };
@@ -207,10 +199,10 @@ declare const BkCheckbox: {
207
199
  onChange?: (...args: any[]) => any;
208
200
  "onUpdate:modelValue"?: (...args: any[]) => any;
209
201
  }, {
210
- currentValue: import("vue").ComputedRef<string | number | boolean>;
211
202
  isFocus: import("vue").Ref<boolean>;
212
- isChecked: import("vue").ComputedRef<boolean>;
203
+ isChecked: import("vue").Ref<boolean>;
213
204
  isDisabled: import("vue").ComputedRef<boolean>;
205
+ setChecked: (value?: boolean) => void;
214
206
  handleBlur: () => void;
215
207
  handleFocus: () => void;
216
208
  handleChange: (event: Event) => void;
@@ -1 +1 @@
1
- !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("../shared"),require("vue"));else if("function"==typeof define&&define.amd)define(["../shared","vue"],r);else{var o="object"==typeof exports?r(require("../shared"),require("vue")):r(e["../shared"],e.vue);for(var t in o)("object"==typeof exports?exports:e)[t]=o[t]}}(self,((e,r)=>(()=>{"use strict";var o={4212:r=>{r.exports=e},748:e=>{e.exports=r}},t={};function n(e){var r=t[e];if(void 0!==r)return r.exports;var a=t[e]={exports:{}};return o[e](a,a.exports,n),a.exports}n.d=(e,r)=>{for(var o in r)n.o(r,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{n.r(a),n.d(a,{BkCheckbox:()=>p,BkCheckboxGroup:()=>d,default:()=>f});var e=n(4212);function r(e,r){(null==r||r>e.length)&&(r=e.length);for(var o=0,t=new Array(r);o<r;o++)t[o]=e[o];return t}function o(e,o){if(e){if("string"==typeof e)return r(e,o);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?r(e,o):void 0}}var t=n(748),l=Symbol("CheckboxGroup"),u={modelValue:e.PropTypes.oneOfType([String,Number,Boolean]).def(void 0),label:e.PropTypes.oneOfType([String,Number,Boolean]).isRequired,trueLabel:e.PropTypes.oneOfType([String,Number,Boolean]).def(""),falseLabel:e.PropTypes.oneOfType([String,Number,Boolean]).def(""),disabled:e.PropTypes.bool.def(!1),checked:e.PropTypes.bool.def(!1),indeterminate:e.PropTypes.bool,beforeChange:e.PropTypes.func,size:e.PropTypes.size()};const i=(0,t.defineComponent)({name:"Checkbox",props:u,emits:["update:modelValue","change"],setup:function(){var r,n,a=function(){var e=(0,t.ref)(!1);return[e,{blur:function(){e.value=!0},focus:function(){e.value=!1}}]}(),u=(n=2,function(e){if(Array.isArray(e))return e}(r=a)||function(e,r){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var t,n,a=[],l=!0,u=!1;try{for(o=o.call(e);!(l=(t=o.next()).done)&&(a.push(t.value),!r||a.length!==r);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==o.return||o.return()}finally{if(u)throw n}}return a}}(r,n)||o(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=u[0],c=u[1],s=c.blur,d=c.focus,p=function(){var r=(0,t.getCurrentInstance)(),o=r.props,n=r.emit,a=(0,t.inject)(l,e.EMPTY_OBJ),u=!(0,e.isEmptyObj)(a),i=(0,t.reactive)({isLocalChecked:o.checked}),c=(0,t.computed)((function(){return u?a.state.localValue.includes(o.label):void 0!==o.modelValue&&(o.modelValue===o.label||o.modelValue===o.trueLabel)||i.isLocalChecked}));i.isLocalChecked=c.value;var s=(0,t.computed)((function(){return u?c.value?o.label:"":c.value?""!==o.trueLabel?o.trueLabel:o.label:""!==o.falseLabel?o.falseLabel:""})),d=(0,t.computed)((function(){return!(!u||!a.props.disabled)||o.disabled}));return(0,t.onMounted)((function(){u&&a.register(r.proxy)})),(0,t.onBeforeUnmount)((function(){u&&a.unregister(r.proxy)})),{value:s,isChecked:c,isDisabled:d,handleChange:function(e){if(!d.value){var r=e.target;i.isLocalChecked=r.checked,n("change",s.value),n("update:modelValue",s.value),u&&a.handleChange(i.isLocalChecked,o.label),(0,t.nextTick)((function(){r.checked!==c.value&&(i.isLocalChecked=c.value,r.checked=c.value)}))}}}}();return{currentValue:p.value,isFocus:i,isChecked:p.isChecked,isDisabled:p.isDisabled,handleBlur:s,handleFocus:d,handleChange:p.handleChange}},render:function(){var r=(0,e.classes)({"bk-checkbox":!0,"is-focus":this.isFocus,"is-checked":this.isChecked,"is-disabled":this.isDisabled});return(0,t.createVNode)("label",{class:r},[(0,t.createVNode)("span",{class:"bk-checkbox-input"},[(0,t.createVNode)("input",{role:"checkbox",type:"checkbox",class:"bk-checkbox-original",value:this.currentValue,disabled:this.isDisabled,checked:this.isChecked,onChange:this.handleChange},null)]),(0,t.createVNode)("span",{class:"bk-checkbox-label"},[this.label])])}});function c(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(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 s={name:e.PropTypes.string.def(""),modelValue:e.PropTypes.array,disabled:e.PropTypes.bool};const d=(0,t.defineComponent)({name:"CheckboxGroup",props:s,emits:["change","update:modelValue"],setup:function(e,r){var o=(0,t.reactive)({localValue:e.modelValue?c(e.modelValue):[]});(0,t.watch)((function(){return e.modelValue}),(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];o.localValue=c(e)}));var n=[];return(0,t.provide)(l,{name:"CheckboxGroup",props:e,state:o,register:function(e){n.push(e)},unregister:function(e){var r=n.indexOf(e);r>-1&&n.splice(r,1)},handleChange:function(t,n){var a=c(o.localValue);a=t?[].concat(c(o.localValue),[n]):o.localValue.reduce((function(e,r){return r!==n&&e.push(r),e}),[]),e.modelValue||(o.localValue=a),r.emit("update:modelValue",a),r.emit("change",a)}}),(0,t.onMounted)((function(){n.forEach((function(e){(e.isChecked||e.checked)&&o.localValue.push(e.label)}))})),{}},render:function(){return(0,t.createVNode)("div",{class:"bk-checkbox-group"},[this.$slots.default()])}});var p=(0,e.withInstallProps)(i,{Group:d});const f=p})(),a})()));
1
+ !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("../shared"),require("vue"));else if("function"==typeof define&&define.amd)define(["../shared","vue"],r);else{var t="object"==typeof exports?r(require("../shared"),require("vue")):r(e["../shared"],e.vue);for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(self,((e,r)=>(()=>{"use strict";var t={4212:r=>{r.exports=e},748:e=>{e.exports=r}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};return(()=>{n.r(a),n.d(a,{BkCheckbox:()=>c,BkCheckboxGroup:()=>s,default:()=>d});var e=n(4212);function r(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t<r;t++)o[t]=e[t];return o}var t=n(748),o=Symbol("CheckboxGroup"),i={modelValue:e.PropTypes.oneOfType([String,Number,Boolean]).def(""),label:e.PropTypes.oneOfType([String,Number,Boolean]),trueLabel:e.PropTypes.oneOfType([String,Number,Boolean]).def(!0),falseLabel:e.PropTypes.oneOfType([String,Number,Boolean]).def(""),disabled:e.PropTypes.bool.def(!1),checked:e.PropTypes.bool.def(!1),indeterminate:e.PropTypes.bool,beforeChange:e.PropTypes.func,size:e.PropTypes.size()};const l=(0,t.defineComponent)({name:"Checkbox",props:i,emits:["update:modelValue","change"],setup:function(){var n,a,i,l,u,s,c,d,p,f=function(){var e=(0,t.ref)(!1);return[e,{blur:function(){e.value=!1},focus:function(){e.value=!0}}]}(),h=(p=2,function(e){if(Array.isArray(e))return e}(d=f)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,n,a=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(a.push(o.value),!r||a.length!==r);i=!0);}catch(e){l=!0,n=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw n}}return a}}(d,p)||function(e,t){if(e){if("string"==typeof e)return r(e,t);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)?r(e,t):void 0}}(d,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),b=h[0],y=h[1],v=y.blur,m=y.focus,k=(n=(0,t.getCurrentInstance)(),a=n.props,i=n.emit,l=(0,t.inject)(o,e.EMPTY_OBJ),u=!(0,e.isEmptyObj)(l),s=(0,t.ref)(a.checked),c=(0,t.computed)((function(){return!(!u||!l.props.disabled)||a.disabled})),u?(0,t.watch)((function(){return l.props.modelValue}),(function(e){s.value=e.includes(a.label)})):(0,t.watch)((function(){return a.modelValue}),(function(e){""!==e&&(s.value=e===a.trueLabel)}),{immediate:!0}),(0,t.onMounted)((function(){u&&l.register(n.proxy)})),(0,t.onBeforeUnmount)((function(){u&&l.unregister(n.proxy)})),{isChecked:s,isDisabled:c,setChecked:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];s.value=e},handleChange:function(e){if(!c.value){var r=e.target;s.value=r.checked;var o=s.value?a.trueLabel:a.falseLabel;i("change",o),i("update:modelValue",o),u&&l.handleChange(),(0,t.nextTick)((function(){r.checked!==s.value&&(r.checked=s.value)}))}}});return{isFocus:b,isChecked:k.isChecked,isDisabled:k.isDisabled,setChecked:k.setChecked,handleBlur:v,handleFocus:m,handleChange:k.handleChange}},render:function(){var r=(0,e.classes)({"bk-checkbox":!0,"is-focused":this.isFocus,"is-checked":this.isChecked,"is-disabled":this.isDisabled,"is-indeterminated":this.indeterminate});return(0,t.createVNode)("label",{class:r},[(0,t.createVNode)("span",{class:"bk-checkbox-input"},[(0,t.createVNode)("input",{role:"checkbox",type:"checkbox",class:"bk-checkbox-original",disabled:this.isDisabled,checked:this.isChecked,onChange:this.handleChange},null)]),this.$slots.default?this.$slots.default():(0,t.createVNode)("span",{class:"bk-checkbox-label"},[this.label])])}});var u={name:e.PropTypes.string.def(""),modelValue:e.PropTypes.array,disabled:e.PropTypes.bool};const s=(0,t.defineComponent)({name:"CheckboxGroup",props:u,emits:["change","update:modelValue"],setup:function(e,r){var n=[];return(0,t.provide)(o,{name:"CheckboxGroup",props:e,register:function(e){n.push(e)},unregister:function(e){var r=n.indexOf(e);r>-1&&n.splice(r,1)},handleChange:function(){var e=n.reduce((function(e,r){return r.isChecked&&e.push(r.label),e}),[]);r.emit("update:modelValue",e),r.emit("change",e)}}),(0,t.onMounted)((function(){var r=e.modelValue||[];n.forEach((function(e){r.includes(e.label)&&e.setChecked(!0)}))})),{}},render:function(){var e;return(0,t.createVNode)("div",{class:"bk-checkbox-group"},[null===(e=this.$slots)||void 0===e?void 0:e.default()])}});var c=(0,e.withInstallProps)(l,{Group:s});const d=c})(),a})()));
@@ -3,17 +3,13 @@ import type { CheckboxProps } from './checkbox';
3
3
  import type { CheckboxGroupProps } from './checkbox-group';
4
4
  export declare type ICheckboxInstance = ComponentPublicInstance<CheckboxProps, {
5
5
  isChecked: boolean;
6
- checked: boolean;
7
6
  label: string;
8
- currentValue: CheckboxProps['label'];
7
+ setChecked: (value: boolean) => void;
9
8
  }>;
10
9
  export interface ICheckboxGroupContext {
11
10
  name: 'CheckboxGroup';
12
11
  props: CheckboxGroupProps;
13
- state: {
14
- localValue: CheckboxProps['label'][];
15
- };
16
12
  register: (checkboxInstance: ICheckboxInstance) => void;
17
13
  unregister: (checkboxInstance: ICheckboxInstance) => void;
18
- handleChange: (checked: boolean, value: CheckboxProps['label']) => void;
14
+ handleChange: () => void;
19
15
  }
@@ -0,0 +1,16 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ headBackgroundColor: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ tailBackgroundColor: StringConstructor;
7
+ }, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ headBackgroundColor: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ tailBackgroundColor: StringConstructor;
13
+ }>>, {
14
+ headBackgroundColor: string;
15
+ }>;
16
+ export default _default;
package/lib/form/form.css CHANGED
@@ -1,11 +1,22 @@
1
1
  .bk-form {
2
2
  text-align: left;
3
3
  }
4
- .bk-form .bk-form-item {
4
+ .bk-form--vertical .bk-form-item {
5
+ flex-direction: column;
6
+ }
7
+ .bk-form--vertical .bk-form-label {
8
+ width: auto;
9
+ padding-right: 0;
10
+ text-align: left;
11
+ }
12
+ .bk-form--vertical .bk-form-content {
13
+ text-align: left;
14
+ }
15
+ .bk-form-item {
5
16
  display: flex;
6
17
  margin-bottom: 24px;
7
18
  }
8
- .bk-form .bk-form-item.is-required .bk-form-label:after {
19
+ .bk-form-item.is-required .bk-form-label:after {
9
20
  position: absolute;
10
21
  width: 14px;
11
22
  line-height: 32px;
@@ -13,7 +24,7 @@
13
24
  text-align: center;
14
25
  content: '*';
15
26
  }
16
- .bk-form .bk-form-label {
27
+ .bk-form-label {
17
28
  position: relative;
18
29
  width: 150px;
19
30
  padding-right: 24px;
@@ -23,11 +34,11 @@
23
34
  color: #63656e;
24
35
  text-align: right;
25
36
  }
26
- .bk-form .bk-form-content {
37
+ .bk-form-content {
27
38
  position: relative;
28
39
  line-height: 32px;
29
40
  }
30
- .bk-form .bk-form-error {
41
+ .bk-form-error {
31
42
  position: absolute;
32
43
  left: 0;
33
44
  padding-top: 4px;
@@ -36,14 +47,64 @@
36
47
  color: #ea3636;
37
48
  text-align: left;
38
49
  }
39
- .bk-form--vertical .bk-form-item {
40
- flex-direction: column;
50
+ .bk-compose-form-item {
51
+ display: inline-block;
41
52
  }
42
- .bk-form--vertical .bk-form-label {
53
+ .bk-compose-form-item > .bk-input,
54
+ .bk-compose-form-item > .bk-select,
55
+ .bk-compose-form-item > .bk-cascade,
56
+ .bk-compose-form-item > .bk-color-picker,
57
+ .bk-compose-form-item > .bk-date-picker,
58
+ .bk-compose-form-item > .bk-tag-input,
59
+ .bk-compose-form-item > .bk-tag-selector,
60
+ .bk-compose-form-item > .bk-search-select {
61
+ float: left;
43
62
  width: auto;
44
- padding-right: 0;
45
- text-align: left;
63
+ margin-left: -1px;
46
64
  }
47
- .bk-form--vertical .bk-form-content {
48
- text-align: left;
65
+ .bk-compose-form-item .bk-input,
66
+ .bk-compose-form-item .bk-form-password,
67
+ .bk-compose-form-item .bk-form-textarea,
68
+ .bk-compose-form-item .bk-select,
69
+ .bk-compose-form-item .bk-cascade,
70
+ .bk-compose-form-item .bk-color-picker,
71
+ .bk-compose-form-item .bk-date-picker .bk-date-picker-editor,
72
+ .bk-compose-form-item .bk-tag-input,
73
+ .bk-compose-form-item .bk-search-select {
74
+ border-radius: 0;
75
+ }
76
+ .bk-compose-form-item .bk-input.control-active,
77
+ .bk-compose-form-item .bk-select.is-focus,
78
+ .bk-compose-form-item .bk-cascade.is-focus,
79
+ .bk-compose-form-item .bk-color-picker.bk-color-picker-show-dropdown,
80
+ .bk-compose-form-item .bk-color-picker:hover,
81
+ .bk-compose-form-item .bk-date-picker .bk-date-picker-editor:focus,
82
+ .bk-compose-form-item .bk-tag-input.active,
83
+ .bk-compose-form-item .bk-tag-selector,
84
+ .bk-compose-form-item .bk-search-select.is-focus {
85
+ z-index: 1;
86
+ opacity: 1;
87
+ }
88
+ .bk-compose-form-item .bk-compose-form-item-head.bk-input,
89
+ .bk-compose-form-item .bk-compose-form-item-head.bk-select,
90
+ .bk-compose-form-item .bk-compose-form-item-head.bk-cascade,
91
+ .bk-compose-form-item .bk-compose-form-item-head.bk-color-picker,
92
+ .bk-compose-form-item .bk-compose-form-item-head.bk-date-picker .bk-date-picker-editor,
93
+ .bk-compose-form-item .bk-compose-form-item-head.bk-tag-input,
94
+ .bk-compose-form-item .bk-compose-form-item-head.bk-tag-input,
95
+ .bk-compose-form-item .bk-compose-form-item-head.bk-search-select {
96
+ margin-left: 0;
97
+ border-top-right-radius: 0px;
98
+ border-bottom-right-radius: 0px;
99
+ }
100
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-input,
101
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-select,
102
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-cascade,
103
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-color-picker,
104
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-date-picker,
105
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-tag-input,
106
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-tag-input,
107
+ .bk-compose-form-item .bk-compose-form-item-tail.bk-search-select {
108
+ border-top-right-radius: 2px;
109
+ border-bottom-right-radius: 2px;
49
110
  }
@@ -1,64 +1,138 @@
1
- .bk-form {
1
+ @import '../styles/themes/themes.less';
2
+
3
+ .@{bk-prefix}-form {
2
4
  text-align: left;
3
5
 
4
- .bk-form-item {
5
- display: flex;
6
- margin-bottom: 24px;
6
+ &--vertical {
7
+ .@{bk-prefix}-form-item {
8
+ flex-direction: column;
9
+ }
7
10
 
8
- &.is-required {
9
- .bk-form-label {
10
- &:after {
11
- position: absolute;
12
- width: 14px;
13
- line-height: 32px;
14
- color: #ea3636;
15
- text-align: center;
16
- content: '*';
17
- }
18
- }
11
+ .@{bk-prefix}-form-label {
12
+ width: auto;
13
+ padding-right: 0;
14
+ text-align: left;
15
+ }
16
+
17
+ .@{bk-prefix}-form-content {
18
+ text-align: left;
19
19
  }
20
20
  }
21
+ }
21
22
 
22
- .bk-form-label {
23
- position: relative;
24
- width: 150px;
25
- padding-right: 24px;
26
- font-size: 14px;
27
- font-weight: normal;
28
- line-height: 32px;
29
- color: #63656e;
30
- text-align: right;
23
+ .@{bk-prefix}-form-item {
24
+ display: flex;
25
+ margin-bottom: 24px;
26
+
27
+ &.is-required {
28
+ .@{bk-prefix}-form-label {
29
+ &:after {
30
+ position: absolute;
31
+ width: 14px;
32
+ line-height: 32px;
33
+ color: #ea3636;
34
+ text-align: center;
35
+ content: '*';
36
+ }
37
+ }
31
38
  }
39
+ }
32
40
 
33
- .bk-form-content {
34
- position: relative;
35
- line-height: 32px;
41
+ .@{bk-prefix}-form-label {
42
+ position: relative;
43
+ width: 150px;
44
+ padding-right: 24px;
45
+ font-size: 14px;
46
+ font-weight: normal;
47
+ line-height: 32px;
48
+ color: #63656e;
49
+ text-align: right;
50
+ }
51
+
52
+ .@{bk-prefix}-form-content {
53
+ position: relative;
54
+ line-height: 32px;
55
+ }
56
+
57
+ .@{bk-prefix}-form-error {
58
+ position: absolute;
59
+ left: 0;
60
+ padding-top: 4px;
61
+ font-size: 12px;
62
+ line-height: 1;
63
+ color: #ea3636;
64
+ text-align: left;
65
+
66
+ }
67
+
68
+ .@{bk-prefix}-compose-form-item {
69
+ display: inline-block;
70
+ display: inline-block;
71
+
72
+ & > .bk-input,
73
+ & > .bk-select,
74
+ & > .bk-cascade,
75
+ & > .bk-color-picker,
76
+ & > .bk-date-picker,
77
+ & > .bk-tag-input,
78
+ & > .bk-tag-selector,
79
+ & > .bk-search-select {
80
+ float: left;
81
+ width: auto;
82
+ margin-left: -1px;
36
83
  }
37
84
 
38
- .bk-form-error {
39
- position: absolute;
40
- left: 0;
41
- padding-top: 4px;
42
- font-size: 12px;
43
- line-height: 1;
44
- color: #ea3636;
45
- text-align: left;
46
-
85
+ .bk-input,
86
+ .bk-form-password,
87
+ .bk-form-textarea,
88
+ .bk-select,
89
+ .bk-cascade,
90
+ .bk-color-picker,
91
+ .bk-date-picker .bk-date-picker-editor,
92
+ .bk-tag-input,
93
+ .bk-search-select {
94
+ border-radius: 0;
47
95
  }
48
96
 
49
- &--vertical {
50
- .bk-form-item {
51
- flex-direction: column;
52
- }
97
+ .bk-input.control-active,
98
+ .bk-select.is-focus,
99
+ .bk-cascade.is-focus,
100
+ .bk-color-picker.bk-color-picker-show-dropdown,
101
+ .bk-color-picker:hover,
102
+ .bk-date-picker .bk-date-picker-editor:focus,
103
+ .bk-tag-input.active,
104
+ .bk-tag-selector,
105
+ .bk-search-select.is-focus {
106
+ z-index: 1;
107
+ opacity: 1;
108
+ }
53
109
 
54
- .bk-form-label {
55
- width: auto;
56
- padding-right: 0;
57
- text-align: left;
110
+ .bk-compose-form-item-head {
111
+ &.bk-input,
112
+ &.bk-select,
113
+ &.bk-cascade,
114
+ &.bk-color-picker,
115
+ &.bk-date-picker .bk-date-picker-editor,
116
+ &.bk-tag-input,
117
+ &.bk-tag-input,
118
+ &.bk-search-select {
119
+ margin-left: 0;
120
+ border-top-right-radius: 0px;
121
+ border-bottom-right-radius: 0px;
58
122
  }
123
+ }
59
124
 
60
- .bk-form-content {
61
- text-align: left;
125
+ .bk-compose-form-item-tail {
126
+ &.bk-input,
127
+ &.bk-select,
128
+ &.bk-cascade,
129
+ &.bk-color-picker,
130
+ &.bk-date-picker,
131
+ &.bk-tag-input,
132
+ &.bk-tag-input,
133
+ &.bk-search-select {
134
+ border-top-right-radius: 2px;
135
+ border-bottom-right-radius: 2px;
62
136
  }
63
137
  }
64
138
  }