uview-pro 0.0.7 → 0.0.8
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.
- package/changelog.md +5 -0
- package/components/u-action-sheet/types.ts +35 -0
- package/components/u-action-sheet/u-action-sheet.vue +2 -47
- package/components/u-alert-tips/types.ts +39 -0
- package/components/u-alert-tips/u-alert-tips.vue +3 -32
- package/components/u-avatar/types.ts +34 -0
- package/components/u-avatar/u-avatar.vue +3 -30
- package/components/u-avatar-cropper/types.ts +23 -0
- package/components/u-avatar-cropper/u-avatar-cropper.vue +2 -45
- package/components/u-back-top/types.ts +39 -0
- package/components/u-back-top/u-back-top.vue +2 -33
- package/components/u-badge/types.ts +36 -0
- package/components/u-badge/u-badge.vue +2 -26
- package/components/u-button/types.ts +66 -0
- package/components/u-button/u-button.vue +3 -88
- package/components/u-calendar/types.ts +63 -0
- package/components/u-calendar/u-calendar.vue +2 -135
- package/components/u-car-keyboard/types.ts +12 -0
- package/components/u-car-keyboard/u-car-keyboard.vue +2 -4
- package/components/u-card/types.ts +59 -0
- package/components/u-card/u-card.vue +2 -48
- package/components/u-cell-group/types.ts +17 -0
- package/components/u-cell-group/u-cell-group.vue +3 -9
- package/components/u-cell-item/types.ts +54 -0
- package/components/u-cell-item/u-cell-item.vue +2 -45
- package/components/u-checkbox/types.ts +31 -0
- package/components/u-checkbox/u-checkbox.vue +2 -47
- package/components/u-checkbox-group/types.ts +32 -0
- package/components/u-checkbox-group/u-checkbox-group.vue +2 -57
- package/components/u-circle-progress/types.ts +52 -0
- package/components/u-circle-progress/u-circle-progress.vue +2 -23
- package/components/u-city-select/types.ts +20 -0
- package/components/u-city-select/u-city-select.vue +2 -10
- package/components/u-col/types.ts +30 -0
- package/components/u-col/u-col.vue +2 -14
- package/components/u-collapse/types.ts +31 -0
- package/components/u-collapse/u-collapse.vue +2 -16
- package/components/u-collapse-item/types.ts +25 -0
- package/components/u-collapse-item/u-collapse-item.vue +2 -16
- package/components/u-column-notice/types.ts +48 -0
- package/components/u-column-notice/u-column-notice.vue +2 -97
- package/components/u-count-down/types.ts +42 -0
- package/components/u-count-down/u-count-down.vue +2 -82
- package/components/u-count-to/types.ts +32 -0
- package/components/u-count-to/u-count-to.vue +2 -58
- package/components/u-divider/types.ts +31 -0
- package/components/u-divider/u-divider.vue +2 -22
- package/components/u-dropdown/types.ts +32 -0
- package/components/u-dropdown/u-dropdown.vue +2 -24
- package/components/u-dropdown-item/types.ts +27 -0
- package/components/u-dropdown-item/u-dropdown-item.vue +4 -16
- package/components/u-empty/types.ts +36 -0
- package/components/u-empty/u-empty.vue +3 -26
- package/components/u-field/types.ts +69 -0
- package/components/u-field/u-field.vue +2 -117
- package/components/u-form/types.ts +25 -0
- package/components/u-form/u-form.vue +2 -46
- package/components/u-form-item/types.ts +70 -0
- package/components/u-form-item/u-form-item.vue +2 -62
- package/components/u-full-screen/types.ts +14 -0
- package/components/u-full-screen/u-full-screen.vue +2 -0
- package/components/u-gap/types.ts +18 -0
- package/components/u-gap/u-gap.vue +2 -10
- package/components/u-grid/types.ts +19 -0
- package/components/u-grid/u-grid.vue +3 -11
- package/components/u-grid-item/types.ts +16 -0
- package/components/u-grid-item/u-grid-item.vue +2 -8
- package/components/u-icon/types.ts +62 -0
- package/components/u-icon/u-icon.vue +2 -123
- package/components/u-image/types.ts +39 -38
- package/components/u-index-anchor/types.ts +16 -0
- package/components/u-index-anchor/u-index-anchor.vue +2 -17
- package/components/u-index-list/types.ts +43 -0
- package/components/u-index-list/u-index-list.vue +13 -34
- package/components/u-input/types.ts +140 -0
- package/components/u-input/u-input.vue +2 -209
- package/components/u-keyboard/types.ts +40 -0
- package/components/u-keyboard/u-keyboard.vue +2 -32
- package/components/u-lazy-load/types.ts +37 -0
- package/components/u-lazy-load/u-lazy-load.vue +3 -58
- package/components/u-line/types.ts +44 -0
- package/components/u-line/u-line.vue +2 -14
- package/components/u-line-progress/types.ts +58 -0
- package/components/u-line-progress/u-line-progress.vue +2 -21
- package/components/u-link/types.ts +43 -0
- package/components/u-link/u-link.vue +2 -14
- package/components/u-loading/types.ts +35 -0
- package/components/u-loading/u-loading.vue +2 -23
- package/components/u-loadmore/types.ts +79 -0
- package/components/u-loadmore/u-loadmore.vue +2 -67
- package/components/u-mask/types.ts +43 -0
- package/components/u-mask/u-mask.vue +2 -33
- package/components/u-message-input/types.ts +74 -0
- package/components/u-message-input/u-message-input.vue +2 -62
- package/components/u-modal/types.ts +118 -0
- package/components/u-modal/u-modal.vue +2 -86
- package/components/u-navbar/types.ts +103 -0
- package/components/u-navbar/u-navbar.vue +2 -90
- package/components/u-no-network/types.ts +28 -0
- package/components/u-no-network/u-no-network.vue +2 -23
- package/components/u-notice-bar/types.ts +111 -0
- package/components/u-notice-bar/u-notice-bar.vue +2 -102
- package/components/u-number-box/types.ts +42 -0
- package/components/u-number-box/u-number-box.vue +2 -34
- package/components/u-number-keyboard/types.ts +26 -0
- package/components/u-number-keyboard/u-number-keyboard.vue +2 -8
- package/components/u-picker/types.ts +111 -0
- package/components/u-picker/u-picker.vue +3 -174
- package/components/u-popup/types.ts +59 -0
- package/components/u-popup/u-popup.vue +2 -47
- package/components/u-radio/types.ts +25 -0
- package/components/u-radio/u-radio.vue +2 -16
- package/components/u-radio-group/types.ts +29 -0
- package/components/u-radio-group/u-radio-group.vue +2 -20
- package/components/u-rate/types.ts +40 -0
- package/components/u-rate/u-rate.vue +2 -124
- package/components/u-read-more/types.ts +35 -0
- package/components/u-read-more/u-read-more.vue +2 -51
- package/components/u-row/types.ts +20 -0
- package/components/u-row/u-row.vue +2 -10
- package/components/u-row-notice/types.ts +39 -0
- package/components/u-row-notice/u-row-notice.vue +2 -72
- package/components/u-search/types.ts +53 -0
- package/components/u-search/u-search.vue +2 -44
- package/components/u-section/types.ts +32 -0
- package/components/u-section/u-section.vue +2 -52
- package/components/u-select/types.ts +43 -0
- package/components/u-select/u-select.vue +2 -34
- package/components/u-skeleton/types.ts +20 -0
- package/components/u-skeleton/u-skeleton.vue +2 -27
- package/components/u-slider/types.ts +32 -0
- package/components/u-slider/u-slider.vue +2 -57
- package/components/u-steps/types.ts +28 -0
- package/components/u-steps/u-steps.vue +2 -42
- package/components/u-sticky/types.ts +22 -0
- package/components/u-sticky/u-sticky.vue +2 -32
- package/components/u-subsection/types.ts +36 -0
- package/components/u-subsection/u-subsection.vue +2 -62
- package/components/u-swipe-action/types.ts +50 -0
- package/components/u-swipe-action/u-swipe-action.vue +2 -39
- package/components/u-swiper/types.ts +47 -0
- package/components/u-swiper/u-swiper.vue +2 -41
- package/components/u-switch/types.ts +28 -0
- package/components/u-switch/u-switch.vue +2 -20
- package/components/u-tabbar/types.ts +36 -0
- package/components/u-tabbar/u-tabbar.vue +6 -75
- package/components/u-table/types.ts +25 -0
- package/components/u-table/u-table.vue +2 -51
- package/components/u-tabs/types.ts +51 -0
- package/components/u-tabs/u-tabs.vue +6 -44
- package/components/u-tabs-swiper/types.ts +53 -0
- package/components/u-tabs-swiper/u-tabs-swiper.vue +3 -50
- package/components/u-tag/types.ts +37 -0
- package/components/u-tag/u-tag.vue +2 -28
- package/components/u-td/types.ts +12 -0
- package/components/u-td/u-td.vue +2 -9
- package/components/u-th/types.ts +12 -0
- package/components/u-th/u-th.vue +2 -9
- package/components/u-time-line-item/types.ts +14 -0
- package/components/u-time-line-item/u-time-line-item.vue +2 -12
- package/components/u-toast/types.ts +35 -3
- package/components/u-toast/u-toast.vue +2 -7
- package/components/u-top-tips/types.ts +14 -0
- package/components/u-top-tips/u-top-tips.vue +17 -22
- package/components/u-tr/types.ts +8 -0
- package/components/u-tr/u-tr.vue +3 -0
- package/components/u-upload/types.ts +71 -0
- package/components/u-upload/u-upload.vue +6 -67
- package/components/u-verification-code/types.ts +22 -0
- package/components/u-verification-code/u-verification-code.vue +2 -32
- package/components/u-waterfall/types.ts +16 -0
- package/components/u-waterfall/u-waterfall.vue +2 -18
- package/package.json +1 -1
- package/types/global.d.ts +200 -0
|
@@ -61,8 +61,9 @@
|
|
|
61
61
|
</template>
|
|
62
62
|
|
|
63
63
|
<script setup lang="ts">
|
|
64
|
-
import { ref, computed, nextTick
|
|
64
|
+
import { ref, computed, nextTick } from 'vue';
|
|
65
65
|
import { $u } from '../../';
|
|
66
|
+
import { ButtonProps } from './types';
|
|
66
67
|
|
|
67
68
|
defineOptions({
|
|
68
69
|
name: 'u-button'
|
|
@@ -111,93 +112,7 @@ defineOptions({
|
|
|
111
112
|
|
|
112
113
|
const emit = defineEmits(['click', 'getuserinfo', 'contact', 'getphonenumber', 'error', 'launchapp', 'opensetting', 'chooseavatar', 'agreeprivacyauthorization']);
|
|
113
114
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
type ButtonOpenType =
|
|
117
|
-
| 'feedback'
|
|
118
|
-
| 'share'
|
|
119
|
-
| 'getUserInfo'
|
|
120
|
-
| 'contact'
|
|
121
|
-
| 'getPhoneNumber'
|
|
122
|
-
| 'launchApp'
|
|
123
|
-
| 'openSetting'
|
|
124
|
-
| 'chooseAvatar'
|
|
125
|
-
| 'getAuthorize'
|
|
126
|
-
| 'lifestyle'
|
|
127
|
-
| 'contactShare'
|
|
128
|
-
| 'openGroupProfile'
|
|
129
|
-
| 'openGuildProfile'
|
|
130
|
-
| 'openPublicProfile'
|
|
131
|
-
| 'shareMessageToFriend'
|
|
132
|
-
| 'addFriend'
|
|
133
|
-
| 'addColorSign'
|
|
134
|
-
| 'addGroupApp'
|
|
135
|
-
| 'addToFavorites'
|
|
136
|
-
| 'chooseAddress'
|
|
137
|
-
| 'chooseInvoiceTitle'
|
|
138
|
-
| 'login'
|
|
139
|
-
| 'subscribe'
|
|
140
|
-
| 'favorite'
|
|
141
|
-
| 'watchLater'
|
|
142
|
-
| 'openProfile'
|
|
143
|
-
| 'agreePrivacyAuthorization';
|
|
144
|
-
|
|
145
|
-
const props = defineProps({
|
|
146
|
-
/** 是否细边框 */
|
|
147
|
-
hairLine: { type: Boolean, default: true },
|
|
148
|
-
/** 按钮的预置样式,default,primary,error,warning,success */
|
|
149
|
-
type: { type: String, default: 'default' },
|
|
150
|
-
/** 按钮尺寸,default,medium,mini */
|
|
151
|
-
size: { type: String, default: 'default' },
|
|
152
|
-
/** 按钮形状,circle(两边为半圆),square(带圆角) */
|
|
153
|
-
shape: { type: String, default: 'square' },
|
|
154
|
-
/** 按钮是否镂空 */
|
|
155
|
-
plain: { type: Boolean, default: false },
|
|
156
|
-
/** 是否禁止状态 */
|
|
157
|
-
disabled: { type: Boolean, default: false },
|
|
158
|
-
/** 是否加载中 */
|
|
159
|
-
loading: { type: Boolean, default: false },
|
|
160
|
-
/** 支付宝小程序,当 open-type 为 getAuthorize 时有效 */
|
|
161
|
-
scope: { type: String as PropType<ButtonScope>, default: '' },
|
|
162
|
-
/** 开放能力,具体请看uniapp稳定关于button组件部分说明 */
|
|
163
|
-
openType: { type: String as PropType<ButtonOpenType>, default: '' },
|
|
164
|
-
/** 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件 */
|
|
165
|
-
formType: { type: String, default: '' },
|
|
166
|
-
/** 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 */
|
|
167
|
-
appParameter: { type: String, default: '' },
|
|
168
|
-
/** 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效 */
|
|
169
|
-
hoverStopPropagation: { type: Boolean, default: false },
|
|
170
|
-
/** 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效 */
|
|
171
|
-
lang: { type: String, default: 'en' },
|
|
172
|
-
/** 会话来源,open-type="contact"时有效。只微信小程序有效 */
|
|
173
|
-
sessionFrom: { type: String, default: '' },
|
|
174
|
-
/** 会话内消息卡片标题,open-type="contact"时有效 */
|
|
175
|
-
sendMessageTitle: { type: String, default: '' },
|
|
176
|
-
/** 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 */
|
|
177
|
-
sendMessagePath: { type: String, default: '' },
|
|
178
|
-
/** 会话内消息卡片图片,open-type="contact"时有效 */
|
|
179
|
-
sendMessageImg: { type: String, default: '' },
|
|
180
|
-
/** 是否显示会话内消息卡片,open-type="contact"时有效 */
|
|
181
|
-
showMessageCard: { type: Boolean, default: false },
|
|
182
|
-
/** 手指按(触摸)按钮时按钮时的背景颜色 */
|
|
183
|
-
hoverBgColor: { type: String, default: '' },
|
|
184
|
-
/** 水波纹的背景颜色 */
|
|
185
|
-
rippleBgColor: { type: String, default: '' },
|
|
186
|
-
/** 是否开启水波纹效果 */
|
|
187
|
-
ripple: { type: Boolean, default: false },
|
|
188
|
-
/** 按下的类名 */
|
|
189
|
-
hoverClass: { type: String, default: '' },
|
|
190
|
-
/** 自定义样式,对象形式 */
|
|
191
|
-
customStyle: { type: Object as () => Record<string, any>, default: () => ({}) },
|
|
192
|
-
/** 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取 */
|
|
193
|
-
dataName: { type: String, default: '' },
|
|
194
|
-
/** 节流,一定时间内只能触发一次 */
|
|
195
|
-
throttleTime: { type: [String, Number], default: 1000 },
|
|
196
|
-
/** 按住后多久出现点击态,单位毫秒 */
|
|
197
|
-
hoverStartTime: { type: [String, Number], default: 20 },
|
|
198
|
-
/** 手指松开后点击态保留时间,单位毫秒 */
|
|
199
|
-
hoverStayTime: { type: [String, Number], default: 150 }
|
|
200
|
-
});
|
|
115
|
+
const props = defineProps(ButtonProps);
|
|
201
116
|
|
|
202
117
|
/**
|
|
203
118
|
* 按钮水波纹相关状态
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type ExtractPropTypes, type PropType } from 'vue';
|
|
2
|
+
import type { CalendarMode, ThemeType } from '../../types/global';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* calendar 日历类型定义
|
|
6
|
+
* @description 供 u-calendar 组件 props 使用
|
|
7
|
+
*/
|
|
8
|
+
export const CalendarProps = {
|
|
9
|
+
/** 是否开启底部安全区适配 */
|
|
10
|
+
safeAreaInsetBottom: { type: Boolean, default: false },
|
|
11
|
+
/** 是否允许通过点击遮罩关闭Picker */
|
|
12
|
+
maskCloseAble: { type: Boolean, default: true },
|
|
13
|
+
/** 通过双向绑定控制组件的弹出与收起 */
|
|
14
|
+
modelValue: { type: Boolean, default: false },
|
|
15
|
+
/** 弹出的z-index值 */
|
|
16
|
+
zIndex: { type: [String, Number], default: 0 },
|
|
17
|
+
/** 是否允许切换年份 */
|
|
18
|
+
changeYear: { type: Boolean, default: true },
|
|
19
|
+
/** 是否允许切换月份 */
|
|
20
|
+
changeMonth: { type: Boolean, default: true },
|
|
21
|
+
/** date-单个日期选择,range-开始日期+结束日期选择 */
|
|
22
|
+
mode: { type: String as PropType<CalendarMode>, default: 'date' },
|
|
23
|
+
/** 可切换的最大年份 */
|
|
24
|
+
maxYear: { type: [Number, String], default: 2050 },
|
|
25
|
+
/** 可切换的最小年份 */
|
|
26
|
+
minYear: { type: [Number, String], default: 1950 },
|
|
27
|
+
/** 最小可选日期(不在范围内日期禁用不可选) */
|
|
28
|
+
minDate: { type: [Number, String], default: '1950-01-01' },
|
|
29
|
+
/** 最大可选日期,默认最大值为今天,之后的日期不可选 */
|
|
30
|
+
maxDate: { type: [Number, String], default: '' },
|
|
31
|
+
/** 弹窗顶部左右两边的圆角值 */
|
|
32
|
+
borderRadius: { type: [String, Number], default: 20 },
|
|
33
|
+
/** 月份切换按钮箭头颜色 */
|
|
34
|
+
monthArrowColor: { type: String, default: '#606266' },
|
|
35
|
+
/** 年份切换按钮箭头颜色 */
|
|
36
|
+
yearArrowColor: { type: String, default: '#909399' },
|
|
37
|
+
/** 默认日期字体颜色 */
|
|
38
|
+
color: { type: String, default: '#303133' },
|
|
39
|
+
/** 选中|起始结束日期背景色 */
|
|
40
|
+
activeBgColor: { type: String, default: '#2979ff' },
|
|
41
|
+
/** 选中|起始结束日期字体颜色 */
|
|
42
|
+
activeColor: { type: String, default: '#ffffff' },
|
|
43
|
+
/** 范围内日期背景色 */
|
|
44
|
+
rangeBgColor: { type: String, default: 'rgba(41,121,255,0.13)' },
|
|
45
|
+
/** 范围内日期字体颜色 */
|
|
46
|
+
rangeColor: { type: String, default: '#2979ff' },
|
|
47
|
+
/** mode=range时生效,起始日期自定义文案 */
|
|
48
|
+
startText: { type: String, default: '开始' },
|
|
49
|
+
/** mode=range时生效,结束日期自定义文案 */
|
|
50
|
+
endText: { type: String, default: '结束' },
|
|
51
|
+
/** 按钮样式类型 */
|
|
52
|
+
btnType: { type: String as PropType<ThemeType>, default: 'primary' },
|
|
53
|
+
/** 当前选中日期带选中效果 */
|
|
54
|
+
isActiveCurrent: { type: Boolean, default: true },
|
|
55
|
+
/** 切换年月是否触发事件 mode=date时生效 */
|
|
56
|
+
isChange: { type: Boolean, default: false },
|
|
57
|
+
/** 是否显示右上角的关闭图标 */
|
|
58
|
+
closeable: { type: Boolean, default: true },
|
|
59
|
+
/** 顶部的提示文字 */
|
|
60
|
+
toolTip: { type: String, default: '选择日期' }
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type CalendarProps = ExtractPropTypes<typeof CalendarProps>;
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
<script setup lang="ts">
|
|
85
85
|
import { ref, computed, watch, onMounted, useSlots } from 'vue';
|
|
86
86
|
import { $u } from '../..';
|
|
87
|
+
import { CalendarProps } from './types';
|
|
87
88
|
|
|
88
89
|
defineOptions({
|
|
89
90
|
name: 'u-calendar'
|
|
@@ -119,141 +120,7 @@ defineOptions({
|
|
|
119
120
|
* @example <u-calendar v-model="show" :mode="mode"></u-calendar>
|
|
120
121
|
*/
|
|
121
122
|
|
|
122
|
-
const props = defineProps(
|
|
123
|
-
safeAreaInsetBottom: {
|
|
124
|
-
type: Boolean,
|
|
125
|
-
default: false
|
|
126
|
-
},
|
|
127
|
-
// 是否允许通过点击遮罩关闭Picker
|
|
128
|
-
maskCloseAble: {
|
|
129
|
-
type: Boolean,
|
|
130
|
-
default: true
|
|
131
|
-
},
|
|
132
|
-
// 通过双向绑定控制组件的弹出与收起
|
|
133
|
-
modelValue: {
|
|
134
|
-
type: Boolean,
|
|
135
|
-
default: false
|
|
136
|
-
},
|
|
137
|
-
// 弹出的z-index值
|
|
138
|
-
zIndex: {
|
|
139
|
-
type: [String, Number],
|
|
140
|
-
default: 0
|
|
141
|
-
},
|
|
142
|
-
// 是否允许切换年份
|
|
143
|
-
changeYear: {
|
|
144
|
-
type: Boolean,
|
|
145
|
-
default: true
|
|
146
|
-
},
|
|
147
|
-
// 是否允许切换月份
|
|
148
|
-
changeMonth: {
|
|
149
|
-
type: Boolean,
|
|
150
|
-
default: true
|
|
151
|
-
},
|
|
152
|
-
// date-单个日期选择,range-开始日期+结束日期选择
|
|
153
|
-
mode: {
|
|
154
|
-
type: String,
|
|
155
|
-
default: 'date'
|
|
156
|
-
},
|
|
157
|
-
// 可切换的最大年份
|
|
158
|
-
maxYear: {
|
|
159
|
-
type: [Number, String],
|
|
160
|
-
default: 2050
|
|
161
|
-
},
|
|
162
|
-
// 可切换的最小年份
|
|
163
|
-
minYear: {
|
|
164
|
-
type: [Number, String],
|
|
165
|
-
default: 1950
|
|
166
|
-
},
|
|
167
|
-
// 最小可选日期(不在范围内日期禁用不可选)
|
|
168
|
-
minDate: {
|
|
169
|
-
type: [Number, String],
|
|
170
|
-
default: '1950-01-01'
|
|
171
|
-
},
|
|
172
|
-
/**
|
|
173
|
-
* 最大可选日期
|
|
174
|
-
* 默认最大值为今天,之后的日期不可选
|
|
175
|
-
* 2030-12-31
|
|
176
|
-
* */
|
|
177
|
-
maxDate: {
|
|
178
|
-
type: [Number, String],
|
|
179
|
-
default: ''
|
|
180
|
-
},
|
|
181
|
-
// 弹窗顶部左右两边的圆角值
|
|
182
|
-
borderRadius: {
|
|
183
|
-
type: [String, Number],
|
|
184
|
-
default: 20
|
|
185
|
-
},
|
|
186
|
-
// 月份切换按钮箭头颜色
|
|
187
|
-
monthArrowColor: {
|
|
188
|
-
type: String,
|
|
189
|
-
default: '#606266'
|
|
190
|
-
},
|
|
191
|
-
// 年份切换按钮箭头颜色
|
|
192
|
-
yearArrowColor: {
|
|
193
|
-
type: String,
|
|
194
|
-
default: '#909399'
|
|
195
|
-
},
|
|
196
|
-
// 默认日期字体颜色
|
|
197
|
-
color: {
|
|
198
|
-
type: String,
|
|
199
|
-
default: '#303133'
|
|
200
|
-
},
|
|
201
|
-
// 选中|起始结束日期背景色
|
|
202
|
-
activeBgColor: {
|
|
203
|
-
type: String,
|
|
204
|
-
default: '#2979ff'
|
|
205
|
-
},
|
|
206
|
-
// 选中|起始结束日期字体颜色
|
|
207
|
-
activeColor: {
|
|
208
|
-
type: String,
|
|
209
|
-
default: '#ffffff'
|
|
210
|
-
},
|
|
211
|
-
// 范围内日期背景色
|
|
212
|
-
rangeBgColor: {
|
|
213
|
-
type: String,
|
|
214
|
-
default: 'rgba(41,121,255,0.13)'
|
|
215
|
-
},
|
|
216
|
-
// 范围内日期字体颜色
|
|
217
|
-
rangeColor: {
|
|
218
|
-
type: String,
|
|
219
|
-
default: '#2979ff'
|
|
220
|
-
},
|
|
221
|
-
// mode=range时生效,起始日期自定义文案
|
|
222
|
-
startText: {
|
|
223
|
-
type: String,
|
|
224
|
-
default: '开始'
|
|
225
|
-
},
|
|
226
|
-
// mode=range时生效,结束日期自定义文案
|
|
227
|
-
endText: {
|
|
228
|
-
type: String,
|
|
229
|
-
default: '结束'
|
|
230
|
-
},
|
|
231
|
-
//按钮样式类型
|
|
232
|
-
btnType: {
|
|
233
|
-
type: String,
|
|
234
|
-
default: 'primary'
|
|
235
|
-
},
|
|
236
|
-
// 当前选中日期带选中效果
|
|
237
|
-
isActiveCurrent: {
|
|
238
|
-
type: Boolean,
|
|
239
|
-
default: true
|
|
240
|
-
},
|
|
241
|
-
// 切换年月是否触发事件 mode=date时生效
|
|
242
|
-
isChange: {
|
|
243
|
-
type: Boolean,
|
|
244
|
-
default: false
|
|
245
|
-
},
|
|
246
|
-
// 是否显示右上角的关闭图标
|
|
247
|
-
closeable: {
|
|
248
|
-
type: Boolean,
|
|
249
|
-
default: true
|
|
250
|
-
},
|
|
251
|
-
// 顶部的提示文字
|
|
252
|
-
toolTip: {
|
|
253
|
-
type: String,
|
|
254
|
-
default: '选择日期'
|
|
255
|
-
}
|
|
256
|
-
});
|
|
123
|
+
const props = defineProps(CalendarProps);
|
|
257
124
|
const emit = defineEmits(['update:modelValue', 'input', 'change']);
|
|
258
125
|
const slots = useSlots();
|
|
259
126
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ExtractPropTypes } from 'vue';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* u-car-keyboard 车牌号键盘类型定义
|
|
5
|
+
* @description 供 u-car-keyboard 组件 props 使用
|
|
6
|
+
*/
|
|
7
|
+
export const CarKeyboardProps = {
|
|
8
|
+
/** 是否打乱键盘按键的顺序 */
|
|
9
|
+
random: { type: Boolean, default: false }
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type CarKeyboardProps = ExtractPropTypes<typeof CarKeyboardProps>;
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
<script setup lang="ts">
|
|
24
24
|
import { ref, computed } from 'vue';
|
|
25
25
|
import { $u } from '../..';
|
|
26
|
+
import { CarKeyboardProps } from './types';
|
|
26
27
|
|
|
27
28
|
defineOptions({
|
|
28
29
|
name: 'u-car-keyboard'
|
|
@@ -36,10 +37,7 @@ defineOptions({
|
|
|
36
37
|
* @event {Function} backspace 退格键被点击
|
|
37
38
|
*/
|
|
38
39
|
|
|
39
|
-
const props = defineProps(
|
|
40
|
-
/** 是否打乱键盘按键的顺序 */
|
|
41
|
-
random: { type: Boolean, default: false }
|
|
42
|
-
});
|
|
40
|
+
const props = defineProps(CarKeyboardProps);
|
|
43
41
|
const emit = defineEmits(['change', 'backspace']);
|
|
44
42
|
|
|
45
43
|
// 车牌输入时,abc=true为输入车牌号码,abc=false为输入省份中文简称
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type ExtractPropTypes, type PropType } from 'vue';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* card 卡片类型定义
|
|
5
|
+
* @description 供 u-card 组件 props 使用
|
|
6
|
+
*/
|
|
7
|
+
export type CardIndex = string | number | Record<string, any>;
|
|
8
|
+
export type CardStyle = Record<string, any>;
|
|
9
|
+
|
|
10
|
+
export const CardProps = {
|
|
11
|
+
/** 与屏幕两侧是否留空隙 */
|
|
12
|
+
full: { type: Boolean, default: false },
|
|
13
|
+
/** 标题 */
|
|
14
|
+
title: { type: String, default: '' },
|
|
15
|
+
/** 标题颜色 */
|
|
16
|
+
titleColor: { type: String, default: '#303133' },
|
|
17
|
+
/** 标题字体大小,单位rpx */
|
|
18
|
+
titleSize: { type: [Number, String], default: '30' },
|
|
19
|
+
/** 副标题 */
|
|
20
|
+
subTitle: { type: String, default: '' },
|
|
21
|
+
/** 副标题颜色 */
|
|
22
|
+
subTitleColor: { type: String, default: '#909399' },
|
|
23
|
+
/** 副标题字体大小,单位rpx */
|
|
24
|
+
subTitleSize: { type: [Number, String], default: '26' },
|
|
25
|
+
/** 是否显示外部边框,只对full=false时有效(卡片与边框有空隙时) */
|
|
26
|
+
border: { type: Boolean, default: true },
|
|
27
|
+
/** 用于标识点击了第几个 */
|
|
28
|
+
index: { type: [String, Number, Object] as PropType<CardIndex>, default: '' },
|
|
29
|
+
/** 用于隔开上下左右的边距,带单位的写法,如:"30rpx 30rpx","20rpx 20rpx 30rpx 30rpx" */
|
|
30
|
+
margin: { type: String, default: '30rpx' },
|
|
31
|
+
/** card卡片的圆角 */
|
|
32
|
+
borderRadius: { type: [Number, String], default: '16' },
|
|
33
|
+
/** 头部自定义样式,对象形式 */
|
|
34
|
+
headStyle: { type: Object as PropType<CardStyle>, default: () => ({}) },
|
|
35
|
+
/** 主体自定义样式,对象形式 */
|
|
36
|
+
bodyStyle: { type: Object as PropType<CardStyle>, default: () => ({}) },
|
|
37
|
+
/** 底部自定义样式,对象形式 */
|
|
38
|
+
footStyle: { type: Object as PropType<CardStyle>, default: () => ({}) },
|
|
39
|
+
/** 头部是否下边框 */
|
|
40
|
+
headBorderBottom: { type: Boolean, default: true },
|
|
41
|
+
/** 底部是否有上边框 */
|
|
42
|
+
footBorderTop: { type: Boolean, default: true },
|
|
43
|
+
/** 标题左边的缩略图 */
|
|
44
|
+
thumb: { type: String, default: '' },
|
|
45
|
+
/** 缩略图宽高,单位rpx */
|
|
46
|
+
thumbWidth: { type: [String, Number], default: '60' },
|
|
47
|
+
/** 缩略图是否为圆形 */
|
|
48
|
+
thumbCircle: { type: Boolean, default: false },
|
|
49
|
+
/** 给head,body,foot的内边距 */
|
|
50
|
+
padding: { type: [String, Number], default: '30' },
|
|
51
|
+
/** 是否显示头部 */
|
|
52
|
+
showHead: { type: Boolean, default: true },
|
|
53
|
+
/** 是否显示尾部 */
|
|
54
|
+
showFoot: { type: Boolean, default: true },
|
|
55
|
+
/** 卡片外围阴影,字符串形式 */
|
|
56
|
+
boxShadow: { type: String, default: 'none' }
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export type CardProps = ExtractPropTypes<typeof CardProps>;
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
|
|
75
75
|
<script setup lang="ts">
|
|
76
76
|
import { useSlots } from 'vue';
|
|
77
|
+
import { CardProps } from './types';
|
|
77
78
|
|
|
78
79
|
defineOptions({
|
|
79
80
|
name: 'u-card'
|
|
@@ -111,54 +112,7 @@ defineOptions({
|
|
|
111
112
|
* @event {Function} foot-click 卡片底部部分被点击时触发
|
|
112
113
|
* @example <u-card padding="30" title="card"></u-card>
|
|
113
114
|
*/
|
|
114
|
-
const props = defineProps(
|
|
115
|
-
/** 与屏幕两侧是否留空隙 */
|
|
116
|
-
full: { type: Boolean, default: false },
|
|
117
|
-
/** 标题 */
|
|
118
|
-
title: { type: String, default: '' },
|
|
119
|
-
/** 标题颜色 */
|
|
120
|
-
titleColor: { type: String, default: '#303133' },
|
|
121
|
-
/** 标题字体大小,单位rpx */
|
|
122
|
-
titleSize: { type: [Number, String], default: '30' },
|
|
123
|
-
/** 副标题 */
|
|
124
|
-
subTitle: { type: String, default: '' },
|
|
125
|
-
/** 副标题颜色 */
|
|
126
|
-
subTitleColor: { type: String, default: '#909399' },
|
|
127
|
-
/** 副标题字体大小,单位rpx */
|
|
128
|
-
subTitleSize: { type: [Number, String], default: '26' },
|
|
129
|
-
/** 是否显示外部边框,只对full=false时有效(卡片与边框有空隙时) */
|
|
130
|
-
border: { type: Boolean, default: true },
|
|
131
|
-
/** 用于标识点击了第几个 */
|
|
132
|
-
index: { type: [Number, String, Object], default: '' },
|
|
133
|
-
/** 用于隔开上下左右的边距,带单位的写法,如:"30rpx 30rpx","20rpx 20rpx 30rpx 30rpx" */
|
|
134
|
-
margin: { type: String, default: '30rpx' },
|
|
135
|
-
/** card卡片的圆角 */
|
|
136
|
-
borderRadius: { type: [Number, String], default: '16' },
|
|
137
|
-
/** 头部自定义样式,对象形式 */
|
|
138
|
-
headStyle: { type: Object, default: () => ({}) },
|
|
139
|
-
/** 主体自定义样式,对象形式 */
|
|
140
|
-
bodyStyle: { type: Object, default: () => ({}) },
|
|
141
|
-
/** 底部自定义样式,对象形式 */
|
|
142
|
-
footStyle: { type: Object, default: () => ({}) },
|
|
143
|
-
/** 头部是否下边框 */
|
|
144
|
-
headBorderBottom: { type: Boolean, default: true },
|
|
145
|
-
/** 底部是否有上边框 */
|
|
146
|
-
footBorderTop: { type: Boolean, default: true },
|
|
147
|
-
/** 标题左边的缩略图 */
|
|
148
|
-
thumb: { type: String, default: '' },
|
|
149
|
-
/** 缩略图宽高,单位rpx */
|
|
150
|
-
thumbWidth: { type: [String, Number], default: '60' },
|
|
151
|
-
/** 缩略图是否为圆形 */
|
|
152
|
-
thumbCircle: { type: Boolean, default: false },
|
|
153
|
-
/** 给head,body,foot的内边距 */
|
|
154
|
-
padding: { type: [String, Number], default: '30' },
|
|
155
|
-
/** 是否显示头部 */
|
|
156
|
-
showHead: { type: Boolean, default: true },
|
|
157
|
-
/** 是否显示尾部 */
|
|
158
|
-
showFoot: { type: Boolean, default: true },
|
|
159
|
-
/** 卡片外围阴影,字符串形式 */
|
|
160
|
-
boxShadow: { type: String, default: 'none' }
|
|
161
|
-
});
|
|
115
|
+
const props = defineProps(CardProps);
|
|
162
116
|
|
|
163
117
|
const emit = defineEmits(['click', 'head-click', 'body-click', 'foot-click']);
|
|
164
118
|
const slots = useSlots();
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ExtractPropTypes, type PropType } from 'vue';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* cell-group 组件 props 类型定义
|
|
5
|
+
* @description 供 u-cell-group 组件 props 使用
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const CellGroupProps = {
|
|
9
|
+
/** 分组标题 */
|
|
10
|
+
title: { type: String, default: '' },
|
|
11
|
+
/** 是否显示分组list上下边框 */
|
|
12
|
+
border: { type: Boolean, default: true },
|
|
13
|
+
/** 分组标题的样式,对象形式,注意驼峰属性写法 */
|
|
14
|
+
titleStyle: { type: Object as PropType<Record<string, any>>, default: () => ({}) }
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type CellGroupProps = ExtractPropTypes<typeof CellGroupProps>;
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
</template>
|
|
11
11
|
|
|
12
12
|
<script setup lang="ts">
|
|
13
|
+
import { CellGroupProps } from './types';
|
|
14
|
+
|
|
13
15
|
defineOptions({
|
|
14
16
|
name: 'u-cell-group'
|
|
15
17
|
});
|
|
@@ -24,15 +26,7 @@ defineOptions({
|
|
|
24
26
|
* @example <u-cell-group title="设置喜好">
|
|
25
27
|
*/
|
|
26
28
|
|
|
27
|
-
defineProps(
|
|
28
|
-
/** 分组标题 */
|
|
29
|
-
title: { type: String, default: '' },
|
|
30
|
-
/** 是否显示分组list上下边框 */
|
|
31
|
-
border: { type: Boolean, default: true },
|
|
32
|
-
/** 分组标题的样式,对象形式,注意驼峰属性写法 */
|
|
33
|
-
/** 类似 {'font-size': '24rpx'} 和 {'fontSize': '24rpx'} */
|
|
34
|
-
titleStyle: { type: Object as () => Record<string, any>, default: () => ({}) }
|
|
35
|
-
});
|
|
29
|
+
defineProps(CellGroupProps);
|
|
36
30
|
</script>
|
|
37
31
|
|
|
38
32
|
<style lang="scss" scoped>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type ExtractPropTypes, type PropType } from 'vue';
|
|
2
|
+
import type { CellItemArrowDirection } from '../../types/global';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* cell-item 组件 props 类型定义
|
|
6
|
+
* @description 供 u-cell-item 组件 props 使用
|
|
7
|
+
*/
|
|
8
|
+
export type CellItemIndex = string | number;
|
|
9
|
+
export type CellItemStyle = Record<string, any>;
|
|
10
|
+
|
|
11
|
+
export const CellItemProps = {
|
|
12
|
+
/** 左侧图标名称(只能uView内置图标),或者图标src */
|
|
13
|
+
icon: { type: String, default: '' },
|
|
14
|
+
/** 左侧标题 */
|
|
15
|
+
title: { type: [String, Number], default: '' },
|
|
16
|
+
/** 右侧内容 */
|
|
17
|
+
value: { type: [String, Number], default: '' },
|
|
18
|
+
/** 标题下方的描述信息 */
|
|
19
|
+
label: { type: [String, Number], default: '' },
|
|
20
|
+
/** 是否显示下边框 */
|
|
21
|
+
borderBottom: { type: Boolean, default: true },
|
|
22
|
+
/** 是否显示上边框 */
|
|
23
|
+
borderTop: { type: Boolean, default: false },
|
|
24
|
+
/** 是否开启点击反馈,即点击时cell背景为灰色,none为无效果 */
|
|
25
|
+
hoverClass: { type: String, default: 'u-cell-hover' },
|
|
26
|
+
/** 是否显示右侧箭头 */
|
|
27
|
+
arrow: { type: Boolean, default: true },
|
|
28
|
+
/** 内容是否垂直居中 */
|
|
29
|
+
center: { type: Boolean, default: false },
|
|
30
|
+
/** 是否显示左边表示必填的星号 */
|
|
31
|
+
required: { type: Boolean, default: false },
|
|
32
|
+
/** 标题的宽度,单位rpx */
|
|
33
|
+
titleWidth: { type: [Number, String], default: '' },
|
|
34
|
+
/** 右侧箭头方向,可选值:right|up|down,默认为right */
|
|
35
|
+
arrowDirection: { type: String as PropType<CellItemArrowDirection>, default: 'right' },
|
|
36
|
+
/** 控制标题的样式 */
|
|
37
|
+
titleStyle: { type: Object as PropType<CellItemStyle>, default: () => ({}) },
|
|
38
|
+
/** 右侧显示内容的样式 */
|
|
39
|
+
valueStyle: { type: Object as PropType<CellItemStyle>, default: () => ({}) },
|
|
40
|
+
/** 描述信息的样式 */
|
|
41
|
+
labelStyle: { type: Object as PropType<CellItemStyle>, default: () => ({}) },
|
|
42
|
+
/** 背景颜色 */
|
|
43
|
+
bgColor: { type: String, default: 'transparent' },
|
|
44
|
+
/** 用于识别被点击的是第几个cell */
|
|
45
|
+
index: { type: [String, Number] as PropType<CellItemIndex>, default: '' },
|
|
46
|
+
/** 是否使用label插槽 */
|
|
47
|
+
useLabelSlot: { type: Boolean, default: false },
|
|
48
|
+
/** 左边图标的大小,单位rpx,只对传入icon字段时有效 */
|
|
49
|
+
iconSize: { type: [Number, String], default: 34 },
|
|
50
|
+
/** 左边图标的样式,对象形式 */
|
|
51
|
+
iconStyle: { type: Object as PropType<CellItemStyle>, default: () => ({}) }
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export type CellItemProps = ExtractPropTypes<typeof CellItemProps>;
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
<script setup lang="ts">
|
|
39
39
|
import { computed, useSlots } from 'vue';
|
|
40
|
+
import { CellItemProps } from './types';
|
|
40
41
|
|
|
41
42
|
defineOptions({
|
|
42
43
|
name: 'u-cell-item'
|
|
@@ -70,51 +71,7 @@ defineOptions({
|
|
|
70
71
|
|
|
71
72
|
const emit = defineEmits<{ (e: 'click', index: string | number): void }>();
|
|
72
73
|
|
|
73
|
-
const props = defineProps(
|
|
74
|
-
/** 左侧图标名称(只能uView内置图标),或者图标src */
|
|
75
|
-
icon: { type: String, default: '' },
|
|
76
|
-
/** 左侧标题 */
|
|
77
|
-
title: { type: [String, Number], default: '' },
|
|
78
|
-
/** 右侧内容 */
|
|
79
|
-
value: { type: [String, Number], default: '' },
|
|
80
|
-
/** 标题下方的描述信息 */
|
|
81
|
-
label: { type: [String, Number], default: '' },
|
|
82
|
-
/** 是否显示下边框 */
|
|
83
|
-
borderBottom: { type: Boolean, default: true },
|
|
84
|
-
/** 是否显示上边框 */
|
|
85
|
-
borderTop: { type: Boolean, default: false },
|
|
86
|
-
/**多个cell中,中间的cell显示下划线时,下划线是否给一个到左边的距离 */
|
|
87
|
-
/* 1.4.0版本废除此参数,默认边框由border-top和border-bottom提供,此参数会造成干扰 */
|
|
88
|
-
// borderGap: { type: Boolean, default: true },
|
|
89
|
-
/** 是否开启点击反馈,即点击时cell背景为灰色,none为无效果 */
|
|
90
|
-
hoverClass: { type: String, default: 'u-cell-hover' },
|
|
91
|
-
/** 是否显示右侧箭头 */
|
|
92
|
-
arrow: { type: Boolean, default: true },
|
|
93
|
-
/** 内容是否垂直居中 */
|
|
94
|
-
center: { type: Boolean, default: false },
|
|
95
|
-
/** 是否显示左边表示必填的星号 */
|
|
96
|
-
required: { type: Boolean, default: false },
|
|
97
|
-
/** 标题的宽度,单位rpx */
|
|
98
|
-
titleWidth: { type: [Number, String], default: '' },
|
|
99
|
-
/** 右侧箭头方向,可选值:right|up|down,默认为right */
|
|
100
|
-
arrowDirection: { type: String, default: 'right' },
|
|
101
|
-
/** 控制标题的样式 */
|
|
102
|
-
titleStyle: { type: Object as () => Record<string, any>, default: () => ({}) },
|
|
103
|
-
/** 右侧显示内容的样式 */
|
|
104
|
-
valueStyle: { type: Object as () => Record<string, any>, default: () => ({}) },
|
|
105
|
-
/** 描述信息的样式 */
|
|
106
|
-
labelStyle: { type: Object as () => Record<string, any>, default: () => ({}) },
|
|
107
|
-
/** 背景颜色 */
|
|
108
|
-
bgColor: { type: String, default: 'transparent' },
|
|
109
|
-
/** 用于识别被点击的是第几个cell */
|
|
110
|
-
index: { type: [String, Number], default: '' },
|
|
111
|
-
/** 是否使用label插槽 */
|
|
112
|
-
useLabelSlot: { type: Boolean, default: false },
|
|
113
|
-
/** 左边图标的大小,单位rpx,只对传入icon字段时有效 */
|
|
114
|
-
iconSize: { type: [Number, String], default: 34 },
|
|
115
|
-
/** 左边图标的样式,对象形式 */
|
|
116
|
-
iconStyle: { type: Object as () => Record<string, any>, default: () => ({}) }
|
|
117
|
-
});
|
|
74
|
+
const props = defineProps(CellItemProps);
|
|
118
75
|
|
|
119
76
|
const $slots = useSlots();
|
|
120
77
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ExtractPropTypes, type PropType } from 'vue';
|
|
2
|
+
import type { Shape } from '../../types/global';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* checkbox 复选框类型定义
|
|
6
|
+
* @description 供 u-checkbox 组件 props 使用
|
|
7
|
+
*/
|
|
8
|
+
export type CheckboxValue = string | number | boolean;
|
|
9
|
+
|
|
10
|
+
export const CheckboxProps = {
|
|
11
|
+
/** checkbox的名称 */
|
|
12
|
+
name: { type: [String, Number], default: '' },
|
|
13
|
+
/** 形状,square为方形,circle为原型 */
|
|
14
|
+
shape: { type: String as PropType<Shape>, default: '' },
|
|
15
|
+
/** 是否为选中状态 */
|
|
16
|
+
modelValue: { type: Boolean, default: false },
|
|
17
|
+
/** 是否禁用 */
|
|
18
|
+
disabled: { type: [String, Boolean], default: '' },
|
|
19
|
+
/** 是否禁止点击提示语选中复选框 */
|
|
20
|
+
labelDisabled: { type: [String, Boolean], default: '' },
|
|
21
|
+
/** 选中状态下的颜色,如设置此值,将会覆盖checkboxGroup的activeColor值 */
|
|
22
|
+
activeColor: { type: String, default: '' },
|
|
23
|
+
/** 图标的大小,单位rpx */
|
|
24
|
+
iconSize: { type: [String, Number], default: '' },
|
|
25
|
+
/** label的字体大小,rpx单位 */
|
|
26
|
+
labelSize: { type: [String, Number], default: '' },
|
|
27
|
+
/** 组件的整体大小 */
|
|
28
|
+
size: { type: [String, Number], default: '' }
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type CheckboxProps = ExtractPropTypes<typeof CheckboxProps>;
|