hy-app 0.4.13 → 0.5.0

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 (211) hide show
  1. package/components/hy-action-sheet/hy-action-sheet.vue +155 -238
  2. package/components/hy-action-sheet/props.ts +68 -15
  3. package/components/hy-action-sheet/typing.d.ts +115 -115
  4. package/components/hy-address-picker/hy-address-picker.vue +185 -289
  5. package/components/hy-address-picker/props.ts +97 -21
  6. package/components/hy-address-picker/typing.d.ts +90 -89
  7. package/components/hy-avatar/hy-avatar.vue +121 -204
  8. package/components/hy-avatar/props.ts +76 -18
  9. package/components/hy-avatar/typing.d.ts +63 -62
  10. package/components/hy-back-top/hy-back-top.vue +65 -120
  11. package/components/hy-back-top/props.ts +57 -16
  12. package/components/hy-back-top/typing.d.ts +43 -42
  13. package/components/hy-badge/hy-badge.vue +66 -138
  14. package/components/hy-badge/props.ts +73 -17
  15. package/components/hy-badge/typing.d.ts +59 -58
  16. package/components/hy-button/hy-button.vue +226 -375
  17. package/components/hy-button/props.ts +129 -158
  18. package/components/hy-calendar/header.vue +48 -64
  19. package/components/hy-calendar/hy-calendar.vue +274 -438
  20. package/components/hy-calendar/month.vue +508 -516
  21. package/components/hy-calendar/props.ts +157 -35
  22. package/components/hy-calendar/typing.d.ts +129 -128
  23. package/components/hy-card/hy-card.vue +118 -240
  24. package/components/hy-card/index.scss +1 -2
  25. package/components/hy-card/props.ts +122 -27
  26. package/components/hy-card/typing.d.ts +119 -118
  27. package/components/hy-cell/hy-cell.vue +176 -258
  28. package/components/hy-cell/props.ts +71 -17
  29. package/components/hy-cell/typing.d.ts +87 -86
  30. package/components/hy-check-button/hy-check-button.vue +69 -139
  31. package/components/hy-check-button/props.ts +72 -18
  32. package/components/hy-check-button/typing.d.ts +74 -73
  33. package/components/hy-checkbox/hy-checkbox.vue +170 -263
  34. package/components/hy-checkbox/props.ts +94 -24
  35. package/components/hy-checkbox/typing.d.ts +72 -72
  36. package/components/hy-checkbox-group/hy-checkbox-group.vue +25 -100
  37. package/components/hy-checkbox-group/props.ts +80 -0
  38. package/components/hy-checkbox-group/typing.d.ts +65 -65
  39. package/components/hy-checkbox-item/hy-checkbox-item.vue +140 -177
  40. package/components/hy-checkbox-item/props.ts +24 -0
  41. package/components/hy-checkbox-item/typing.d.ts +4 -3
  42. package/components/hy-code-input/hy-code-input.vue +179 -262
  43. package/components/hy-code-input/props.ts +84 -18
  44. package/components/hy-code-input/typing.d.ts +71 -71
  45. package/components/hy-config-provider/hy-config-provider.vue +28 -50
  46. package/components/hy-config-provider/props.ts +26 -11
  47. package/components/hy-config-provider/typing.d.ts +20 -20
  48. package/components/hy-count-down/hy-count-down.vue +103 -131
  49. package/components/hy-count-down/props.ts +30 -8
  50. package/components/hy-count-down/typing.d.ts +25 -25
  51. package/components/hy-count-to/hy-count-to.vue +148 -213
  52. package/components/hy-count-to/props.ts +60 -15
  53. package/components/hy-count-to/typing.d.ts +46 -46
  54. package/components/hy-coupon/README.md +133 -0
  55. package/components/hy-coupon/hy-coupon.vue +180 -0
  56. package/components/hy-coupon/index.scss +553 -0
  57. package/components/hy-coupon/props.ts +129 -0
  58. package/components/hy-coupon/typing.d.ts +146 -0
  59. package/components/hy-datetime-picker/hy-datetime-picker.vue +415 -580
  60. package/components/hy-datetime-picker/props.ts +142 -32
  61. package/components/hy-datetime-picker/typing.d.ts +132 -132
  62. package/components/hy-divider/hy-divider.vue +90 -169
  63. package/components/hy-divider/props.ts +78 -19
  64. package/components/hy-divider/typing.d.ts +60 -60
  65. package/components/hy-dropdown/hy-dropdown.vue +37 -71
  66. package/components/hy-dropdown/props.ts +38 -15
  67. package/components/hy-dropdown/typing.d.ts +44 -44
  68. package/components/hy-dropdown-item/hy-dropdown-item.vue +141 -173
  69. package/components/hy-dropdown-item/props.ts +19 -8
  70. package/components/hy-empty/hy-empty.vue +75 -129
  71. package/components/hy-empty/props.ts +57 -15
  72. package/components/hy-empty/typing.d.ts +84 -84
  73. package/components/hy-flex/hy-flex.vue +33 -88
  74. package/components/hy-flex/props.ts +58 -0
  75. package/components/hy-flex/typing.d.ts +14 -16
  76. package/components/hy-float-button/hy-float-button.vue +289 -406
  77. package/components/hy-float-button/props.ts +109 -25
  78. package/components/hy-folding-panel/hy-folding-panel.vue +86 -374
  79. package/components/hy-folding-panel/props.ts +40 -15
  80. package/components/hy-folding-panel/typing.d.ts +52 -63
  81. package/components/hy-folding-panel-item/hy-folding-panel-item.vue +186 -228
  82. package/components/hy-folding-panel-item/index.scss +87 -0
  83. package/components/hy-folding-panel-item/props.ts +81 -0
  84. package/components/hy-folding-panel-item/typing.d.ts +23 -0
  85. package/components/hy-form/hy-form.vue +172 -212
  86. package/components/hy-form/props.ts +37 -0
  87. package/components/hy-form/typing.d.ts +68 -61
  88. package/components/hy-form-group/typing.d.ts +74 -74
  89. package/components/hy-form-item/hy-form-item.vue +100 -129
  90. package/components/hy-form-item/props.ts +25 -0
  91. package/components/hy-form-item/typing.d.ts +40 -37
  92. package/components/hy-grid/hy-grid.vue +76 -132
  93. package/components/hy-grid/props.ts +58 -16
  94. package/components/hy-grid/typing.d.ts +66 -66
  95. package/components/hy-icon/hy-icon.vue +84 -161
  96. package/components/hy-icon/props.ts +76 -22
  97. package/components/hy-icon/typing.d.ts +83 -82
  98. package/components/hy-image/hy-image.vue +142 -272
  99. package/components/hy-image/props.ts +105 -23
  100. package/components/hy-image/typing.d.ts +84 -87
  101. package/components/hy-input/hy-input.vue +230 -421
  102. package/components/hy-input/props.ts +183 -35
  103. package/components/hy-input/typing.d.ts +169 -169
  104. package/components/hy-line/hy-line.vue +34 -72
  105. package/components/hy-line/props.ts +41 -10
  106. package/components/hy-line/typing.d.ts +29 -29
  107. package/components/hy-line-progress/hy-line-progress.vue +66 -101
  108. package/components/hy-line-progress/props.ts +31 -10
  109. package/components/hy-line-progress/typing.d.ts +29 -29
  110. package/components/hy-list/hy-list.vue +151 -220
  111. package/components/hy-list/props.ts +67 -16
  112. package/components/hy-list/typing.d.ts +52 -52
  113. package/components/hy-loading/hy-loading.vue +63 -119
  114. package/components/hy-loading/props.ts +63 -15
  115. package/components/hy-loading/typing.d.ts +49 -49
  116. package/components/hy-menu/hy-menu.vue +124 -166
  117. package/components/hy-menu/props.ts +42 -10
  118. package/components/hy-menu/typing.d.ts +60 -60
  119. package/components/hy-modal/hy-modal.vue +127 -218
  120. package/components/hy-modal/props.ts +89 -24
  121. package/components/hy-navbar/hy-navbar.vue +104 -177
  122. package/components/hy-navbar/props.ts +76 -22
  123. package/components/hy-navbar/typing.d.ts +81 -81
  124. package/components/hy-notice-bar/hy-notice-bar.vue +67 -144
  125. package/components/hy-notice-bar/props.ts +80 -19
  126. package/components/hy-notice-bar/typing.d.ts +62 -62
  127. package/components/hy-notify/hy-notify.vue +128 -177
  128. package/components/hy-notify/props.ts +49 -12
  129. package/components/hy-notify/typing.d.ts +45 -41
  130. package/components/hy-number-step/hy-number-step.vue +281 -394
  131. package/components/hy-number-step/props.ts +110 -27
  132. package/components/hy-number-step/typing.d.ts +120 -120
  133. package/components/hy-overlay/hy-overlay.vue +39 -66
  134. package/components/hy-overlay/props.ts +31 -8
  135. package/components/hy-pagination/hy-pagination.vue +100 -155
  136. package/components/hy-pagination/props.ts +53 -13
  137. package/components/hy-picker/hy-picker.vue +309 -430
  138. package/components/hy-picker/index.scss +8 -12
  139. package/components/hy-picker/props.ts +110 -26
  140. package/components/hy-popover/hy-popover.vue +190 -252
  141. package/components/hy-popover/props.ts +48 -10
  142. package/components/hy-popup/hy-popup.vue +162 -248
  143. package/components/hy-popup/props.ts +82 -18
  144. package/components/hy-price/hy-price.vue +45 -104
  145. package/components/hy-price/props.ts +52 -12
  146. package/components/hy-price/typing.d.ts +41 -36
  147. package/components/hy-qrcode/hy-qrcode.vue +115 -185
  148. package/components/hy-qrcode/props.ts +68 -18
  149. package/components/hy-qrcode/typing.d.ts +67 -66
  150. package/components/hy-radio/hy-radio.vue +161 -259
  151. package/components/hy-radio/props.ts +95 -25
  152. package/components/hy-radio/typing.d.ts +85 -84
  153. package/components/hy-rate/hy-rate.vue +185 -270
  154. package/components/hy-rate/props.ts +76 -18
  155. package/components/hy-rate/typing.d.ts +61 -60
  156. package/components/hy-read-more/hy-read-more.vue +93 -136
  157. package/components/hy-read-more/props.ts +43 -13
  158. package/components/hy-scroll-list/hy-scroll-list.vue +81 -102
  159. package/components/hy-scroll-list/props.ts +22 -11
  160. package/components/hy-search/hy-search.vue +155 -284
  161. package/components/hy-search/props.ts +130 -25
  162. package/components/hy-signature/hy-signature.vue +491 -635
  163. package/components/hy-signature/props.ts +115 -26
  164. package/components/hy-signature/typing.d.ts +138 -138
  165. package/components/hy-slider/hy-slider.vue +388 -477
  166. package/components/hy-slider/props.ts +75 -19
  167. package/components/hy-steps/hy-steps.vue +212 -279
  168. package/components/hy-steps/props.ts +47 -13
  169. package/components/hy-submit-bar/hy-submit-bar.vue +137 -222
  170. package/components/hy-submit-bar/props.ts +89 -20
  171. package/components/hy-submit-bar/typing.d.ts +86 -85
  172. package/components/hy-subsection/hy-subsection.vue +132 -185
  173. package/components/hy-subsection/props.ts +50 -17
  174. package/components/hy-subsection/typing.d.ts +52 -52
  175. package/components/hy-swipe-action/hy-swipe-action.vue +228 -283
  176. package/components/hy-swipe-action/props.ts +43 -18
  177. package/components/hy-swipe-action/typing.d.ts +46 -46
  178. package/components/hy-swiper/hy-swiper.vue +159 -286
  179. package/components/hy-swiper/props.ts +126 -28
  180. package/components/hy-swiper/typing.d.ts +115 -115
  181. package/components/hy-switch/hy-switch.vue +112 -176
  182. package/components/hy-switch/props.ts +60 -15
  183. package/components/hy-switch/typing.d.ts +63 -63
  184. package/components/hy-tabBar/hy-tabBar.vue +64 -60
  185. package/components/hy-tabs/hy-tabs.vue +277 -380
  186. package/components/hy-tabs/props.ts +75 -18
  187. package/components/hy-tag/hy-tag.vue +111 -204
  188. package/components/hy-tag/props.ts +81 -19
  189. package/components/hy-text/hy-text.vue +200 -322
  190. package/components/hy-text/props.ts +107 -28
  191. package/components/hy-textarea/hy-textarea.vue +147 -256
  192. package/components/hy-textarea/props.ts +112 -25
  193. package/components/hy-textarea/typing.d.ts +42 -42
  194. package/components/hy-toast/hy-toast.vue +135 -143
  195. package/components/hy-tooltip/hy-tooltip.vue +220 -306
  196. package/components/hy-tooltip/props.ts +79 -15
  197. package/components/hy-transition/hy-transition.vue +111 -138
  198. package/components/hy-transition/props.ts +30 -8
  199. package/components/hy-upload/hy-upload.vue +320 -469
  200. package/components/hy-upload/props.ts +130 -27
  201. package/components/hy-warn/hy-warn.vue +80 -129
  202. package/components/hy-warn/props.ts +47 -12
  203. package/components/hy-waterfall/hy-waterfall.vue +139 -163
  204. package/components/hy-waterfall/props.ts +19 -7
  205. package/components/hy-watermark/hy-watermark.vue +762 -870
  206. package/components/hy-watermark/props.ts +103 -22
  207. package/global.d.ts +2 -0
  208. package/libs/css/theme.scss +3 -3
  209. package/package.json +2 -2
  210. package/web-types.json +1 -1
  211. package/components/hy-folding-panel/index.scss +0 -9
@@ -1,236 +1,199 @@
1
1
  <template>
2
- <view
3
- class="hy-checkbox cursor-pointer"
4
- @tap.stop="wrapperClickHandler"
5
- :style="checkboxStyle"
6
- :class="[
7
- `hy-checkbox--label__${checkboxGroup?.iconPlacement?.value}`,
8
- checkboxGroup?.borderBottom?.value &&
9
- checkboxGroup?.placement?.value === 'column' &&
10
- 'hy-border__bottom',
11
- ]"
12
- >
13
2
  <view
14
- @tap.stop="iconClickHandler"
15
- :class="iconClasses"
16
- :style="iconWrapStyle"
3
+ class="hy-checkbox cursor-pointer"
4
+ @tap.stop="wrapperClickHandler"
5
+ :style="checkboxStyle"
6
+ :class="[
7
+ `hy-checkbox--label__${checkboxGroup?.iconPlacement?.value}`,
8
+ checkboxGroup?.borderBottom?.value &&
9
+ checkboxGroup?.placement?.value === 'column' &&
10
+ 'hy-border__bottom'
11
+ ]"
17
12
  >
18
- <template v-if="isChecked">
19
- <slot v-if="$slots.icon" name="icon"></slot>
20
- <HyIcon
21
- v-else
22
- class="hy-checkbox--icon-wrap__icon"
23
- :name="IconConfig.CHECK_MASK"
24
- :size="
25
- addUnit(
26
- sizeType[checkboxGroup?.size?.value] ||
27
- checkboxGroup?.iconSize?.value,
28
- )
29
- "
30
- :color="checkboxGroup?.iconColor?.value || '#ffffff'"
31
- />
32
- </template>
33
- </view>
34
- <view
35
- :class="[
36
- 'hy-checkbox--label__wrap',
37
- 'cursor-pointer',
38
- disabled && 'hy-checkbox--label__wrap--disabled',
39
- ]"
40
- @tap.stop="labelClickHandler"
41
- >
42
- <slot name="label">
43
- <text
44
- :style="{
45
- color: checkboxGroup?.labelColor?.value,
46
- fontSize: addUnit(
47
- sizeType[checkboxGroup?.size?.value] ||
48
- checkboxGroup?.labelSize?.value,
49
- ),
50
- }"
13
+ <view @tap.stop="iconClickHandler" :class="iconClasses" :style="iconWrapStyle">
14
+ <template v-if="isChecked">
15
+ <slot v-if="$slots.icon" name="icon"></slot>
16
+ <HyIcon
17
+ v-else
18
+ class="hy-checkbox--icon-wrap__icon"
19
+ :name="IconConfig.CHECK_MASK"
20
+ :size="
21
+ addUnit(
22
+ sizeType[checkboxGroup?.size?.value] || checkboxGroup?.iconSize?.value
23
+ )
24
+ "
25
+ :color="checkboxGroup?.iconColor?.value || '#ffffff'"
26
+ />
27
+ </template>
28
+ </view>
29
+ <view
30
+ :class="[
31
+ 'hy-checkbox--label__wrap',
32
+ 'cursor-pointer',
33
+ disabled && 'hy-checkbox--label__wrap--disabled'
34
+ ]"
35
+ @tap.stop="labelClickHandler"
51
36
  >
52
- {{ label }}
53
- </text>
54
- </slot>
37
+ <slot name="label">
38
+ <text
39
+ :style="{
40
+ color: checkboxGroup?.labelColor?.value,
41
+ fontSize: addUnit(
42
+ sizeType[checkboxGroup?.size?.value] || checkboxGroup?.labelSize?.value
43
+ )
44
+ }"
45
+ >
46
+ {{ label }}
47
+ </text>
48
+ </slot>
49
+ </view>
55
50
  </view>
56
- </view>
57
51
  </template>
58
52
 
59
53
  <script lang="ts">
60
54
  export default {
61
- name: "hy-checkbox",
62
- options: {
63
- addGlobalClass: true,
64
- virtualHost: true,
65
- styleIsolation: "shared",
66
- },
67
- };
55
+ name: 'hy-checkbox',
56
+ options: {
57
+ addGlobalClass: true,
58
+ virtualHost: true,
59
+ styleIsolation: 'shared'
60
+ }
61
+ }
68
62
  </script>
69
63
 
70
64
  <script setup lang="ts">
71
- import { computed, watch, ref, reactive, inject } from "vue";
72
- import type { CSSProperties } from "vue";
73
- import { IconConfig, addUnit, error } from "../../libs";
74
- import type { ICheckboxGroupContext } from "./typing";
65
+ import { computed, watch, ref, reactive, inject } from 'vue'
66
+ import type { CSSProperties } from 'vue'
67
+ import { IconConfig, addUnit, error } from '../../libs'
68
+ import type { ICheckboxGroupContext } from './typing'
69
+ import checkboxItemProps from './props'
75
70
  // 组件
76
- import HyIcon from "../hy-icon/hy-icon.vue";
71
+ import HyIcon from '../hy-icon/hy-icon.vue'
77
72
 
78
73
  /**
79
74
  * 复选框组件一般用于需要多个选择的场景,需要搭配hy-checkbox-group一起使用
80
75
  * @displayName hy-checkbox-item
81
76
  */
82
- defineOptions({});
77
+ defineOptions({})
83
78
 
84
- const props = defineProps({
85
- /** checkbox的名称 */
86
- value: {
87
- type: String,
88
- default: "",
89
- },
90
- /** 是否默认选中 */
91
- checked: {
92
- type: Boolean,
93
- default: false,
94
- },
95
- /** 是否禁用 */
96
- disabled: {
97
- type: Boolean,
98
- default: false,
99
- },
100
- /** label提示文字 */
101
- label: {
102
- type: String,
103
- default: "",
104
- },
105
- });
79
+ const props = defineProps(checkboxItemProps)
106
80
 
107
81
  // 注入表单上下文
108
- const checkboxGroup = inject<ICheckboxGroupContext>("hy-checkbox-group");
109
- const isChecked = ref(false);
82
+ const checkboxGroup = inject<ICheckboxGroupContext>('hy-checkbox-group')
83
+ const isChecked = ref(false)
110
84
  const sizeType: AnyObject = reactive({
111
- small: 14,
112
- medium: 18,
113
- large: 24,
114
- });
85
+ small: 14,
86
+ medium: 18,
87
+ large: 24
88
+ })
115
89
 
116
90
  watch(
117
- () => props.checked,
118
- (newValue) => {
119
- isChecked.value = newValue;
120
- if (props.checked) checkboxGroup?.setCheckedStatus(props.value);
121
- },
122
- { immediate: true },
123
- );
91
+ () => props.checked,
92
+ (newValue) => {
93
+ isChecked.value = newValue
94
+ if (props.checked) checkboxGroup?.setCheckedStatus(props.value)
95
+ },
96
+ { immediate: true }
97
+ )
124
98
 
125
99
  watch(
126
- () => checkboxGroup?.modelValue.value,
127
- (newVal) => {
128
- if (newVal?.length) {
129
- isChecked.value = newVal.includes(props.value);
130
- } else {
131
- isChecked.value = false;
132
- }
133
- },
134
- { immediate: true },
135
- );
100
+ () => checkboxGroup?.modelValue.value,
101
+ (newVal) => {
102
+ if (newVal?.length) {
103
+ isChecked.value = newVal.includes(props.value)
104
+ } else {
105
+ isChecked.value = false
106
+ }
107
+ },
108
+ { immediate: true }
109
+ )
136
110
 
137
- const isDisabled = (): boolean =>
138
- checkboxGroup?.disabled?.value || props.disabled;
111
+ const isDisabled = (): boolean => checkboxGroup?.disabled?.value || props.disabled
139
112
 
140
113
  const checkboxStyle = computed(() => {
141
- const style: CSSProperties = {};
142
- if (
143
- checkboxGroup?.borderBottom?.value &&
144
- checkboxGroup?.placement?.value === "row"
145
- ) {
146
- error(
147
- "检测到您将borderBottom设置为true,需要同时将hy-checkbox-group的placement设置为column才有效",
148
- );
149
- }
150
- // 当父组件设置了显示下边框并且排列形式为纵向时,给内容和边框之间加上一定间隔
151
- if (
152
- checkboxGroup?.borderBottom?.value &&
153
- checkboxGroup?.placement?.value === "column"
154
- ) {
155
- style.paddingBottom = "8px";
156
- }
157
- return Object.assign(style, checkboxGroup?.customStyle?.value);
158
- });
114
+ const style: CSSProperties = {}
115
+ if (checkboxGroup?.borderBottom?.value && checkboxGroup?.placement?.value === 'row') {
116
+ error(
117
+ '检测到您将borderBottom设置为true,需要同时将hy-checkbox-group的placement设置为column才有效'
118
+ )
119
+ }
120
+ // 当父组件设置了显示下边框并且排列形式为纵向时,给内容和边框之间加上一定间隔
121
+ if (checkboxGroup?.borderBottom?.value && checkboxGroup?.placement?.value === 'column') {
122
+ style.paddingBottom = '8px'
123
+ }
124
+ return Object.assign(style, checkboxGroup?.customStyle?.value)
125
+ })
159
126
  /**
160
127
  * @description 定义icon的Class类名
161
128
  * */
162
129
  const iconClasses = computed(() => {
163
- let classes: string[] = ["hy-checkbox--icon-wrap", "cursor-pointer"];
164
- // 组件的形状
165
- classes.push("hy-checkbox--icon-wrap--" + checkboxGroup?.shape?.value);
166
- if (isDisabled()) {
167
- classes.push("hy-checkbox--icon-wrap--disabled");
168
- }
169
- if (isChecked.value) {
170
- classes.push("hy-checkbox--icon-wrap--checked");
130
+ let classes: string[] = ['hy-checkbox--icon-wrap', 'cursor-pointer']
131
+ // 组件的形状
132
+ classes.push('hy-checkbox--icon-wrap--' + checkboxGroup?.shape?.value)
171
133
  if (isDisabled()) {
172
- classes.push("hy-checkbox--icon-wrap--disabled--checked");
134
+ classes.push('hy-checkbox--icon-wrap--disabled')
135
+ }
136
+ if (isChecked.value) {
137
+ classes.push('hy-checkbox--icon-wrap--checked')
138
+ if (isDisabled()) {
139
+ classes.push('hy-checkbox--icon-wrap--disabled--checked')
140
+ }
173
141
  }
174
- }
175
- return classes;
176
- });
142
+ return classes
143
+ })
177
144
 
178
145
  /**
179
146
  * @description 定义icon的样式
180
147
  * */
181
148
  const iconWrapStyle = computed(() => {
182
- // checkbox的整体样式
183
- const style: CSSProperties = {};
184
- style.backgroundColor =
185
- isChecked.value && !isDisabled() ? checkboxGroup?.activeColor?.value : "";
186
- style.borderColor =
187
- isChecked.value && !isDisabled()
188
- ? checkboxGroup?.activeColor?.value
189
- : checkboxGroup?.inactiveColor?.value;
190
- if (checkboxGroup?.size?.value) {
191
- style.width = addUnit(
192
- sizeType[checkboxGroup.size.value] || checkboxGroup.size.value,
193
- );
194
- style.height = addUnit(
195
- sizeType[checkboxGroup.size.value] || checkboxGroup.size.value,
196
- );
197
- }
198
- return style;
199
- });
149
+ // checkbox的整体样式
150
+ const style: CSSProperties = {}
151
+ style.backgroundColor =
152
+ isChecked.value && !isDisabled() ? checkboxGroup?.activeColor?.value : ''
153
+ style.borderColor =
154
+ isChecked.value && !isDisabled()
155
+ ? checkboxGroup?.activeColor?.value
156
+ : checkboxGroup?.inactiveColor?.value
157
+ if (checkboxGroup?.size?.value) {
158
+ style.width = addUnit(sizeType[checkboxGroup.size.value] || checkboxGroup.size.value)
159
+ style.height = addUnit(sizeType[checkboxGroup.size.value] || checkboxGroup.size.value)
160
+ }
161
+ return style
162
+ })
200
163
 
201
164
  /**
202
165
  * @description 点击图标
203
166
  * */
204
167
  const iconClickHandler = (e: Event) => {
205
- e.stopPropagation();
206
- if (!isDisabled()) {
207
- setCheckedStatus();
208
- }
209
- };
168
+ e.stopPropagation()
169
+ if (!isDisabled()) {
170
+ setCheckedStatus()
171
+ }
172
+ }
210
173
  /**
211
174
  * @description 点击整行
212
175
  * */
213
176
  const wrapperClickHandler = (e: Event) => {
214
- e.stopPropagation();
215
- if (checkboxGroup?.labelDisabled?.value || isDisabled()) return;
216
- setCheckedStatus();
217
- };
177
+ e.stopPropagation()
178
+ if (checkboxGroup?.labelDisabled?.value || isDisabled()) return
179
+ setCheckedStatus()
180
+ }
218
181
  /**
219
182
  * @description 点击label
220
183
  * */
221
184
  const labelClickHandler = (e: Event) => {
222
- e.stopPropagation();
223
- if (checkboxGroup?.labelDisabled?.value || isDisabled()) return;
224
- setCheckedStatus();
225
- };
185
+ e.stopPropagation()
186
+ if (checkboxGroup?.labelDisabled?.value || isDisabled()) return
187
+ setCheckedStatus()
188
+ }
226
189
 
227
190
  const setCheckedStatus = () => {
228
- // 将本组件标记为与原来相反的状态
229
- isChecked.value = !isChecked.value;
230
- checkboxGroup?.setCheckedStatus(props.value);
231
- };
191
+ // 将本组件标记为与原来相反的状态
192
+ isChecked.value = !isChecked.value
193
+ checkboxGroup?.setCheckedStatus(props.value)
194
+ }
232
195
  </script>
233
196
 
234
197
  <style lang="scss" scoped>
235
- @import "./index.scss";
198
+ @import './index.scss';
236
199
  </style>
@@ -0,0 +1,24 @@
1
+ const checkboxItemProps = {
2
+ /** checkbox的名称 */
3
+ value: {
4
+ type: String,
5
+ default: ''
6
+ },
7
+ /** 是否默认选中 */
8
+ checked: {
9
+ type: Boolean,
10
+ default: false
11
+ },
12
+ /** 是否禁用 */
13
+ disabled: {
14
+ type: Boolean,
15
+ default: false
16
+ },
17
+ /** label提示文字 */
18
+ label: {
19
+ type: String,
20
+ default: ''
21
+ }
22
+ }
23
+
24
+ export default checkboxItemProps
@@ -1,6 +1,7 @@
1
- import type HyCheckboxGroupProps from "@/package/components/hy-checkbox-group/typing";
2
- import type { ToRefs } from "vue";
1
+ import type HyCheckboxGroupProps from '../hy-checkbox-group/typing'
2
+ import type { ToRefs } from 'vue'
3
3
 
4
4
  export interface ICheckboxGroupContext extends ToRefs<HyCheckboxGroupProps> {
5
- setCheckedStatus: (name: string | number) => void;
5
+ /** 设置check的状态 */
6
+ setCheckedStatus: (name: string | number) => void
6
7
  }