hy-app 0.6.9 → 0.7.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.
- package/attributes.json +1 -1
- package/components/hy-avatar/hy-avatar.vue +12 -5
- package/components/hy-avatar/props.ts +4 -2
- package/components/hy-avatar/typing.d.ts +8 -1
- package/components/hy-calendar/hy-calendar.vue +1 -0
- package/components/hy-calendar/month.vue +25 -5
- package/components/hy-calendar/props.ts +1 -1
- package/components/hy-cascader/hy-cascader.vue +503 -0
- package/components/hy-cascader/index.scss +84 -0
- package/components/hy-cascader/props.ts +88 -0
- package/components/hy-cascader/typing.d.ts +34 -0
- package/components/hy-check-button/typing.d.ts +12 -7
- package/components/hy-code-input/hy-code-input.vue +33 -11
- package/components/hy-code-input/typing.d.ts +4 -0
- package/components/hy-config-provider/hy-config-provider.vue +58 -53
- package/components/hy-datetime-picker/props.ts +1 -1
- package/components/hy-datetime-picker/typing.d.ts +1 -1
- package/components/hy-dropdown/typing.d.ts +5 -0
- package/components/hy-form/typing.d.ts +6 -0
- package/components/hy-form-item/typing.d.ts +1 -1
- package/components/hy-grid/hy-grid.vue +12 -12
- package/components/hy-grid/index.scss +1 -2
- package/components/hy-grid/props.ts +7 -2
- package/components/hy-grid/typing.d.ts +1 -1
- package/components/hy-icon/typing.d.ts +52 -9
- package/components/hy-keyboard/constants.ts +83 -0
- package/components/hy-keyboard/hy-keyboard.vue +375 -0
- package/components/hy-keyboard/index.scss +73 -0
- package/components/hy-keyboard/key/index.scss +79 -0
- package/components/hy-keyboard/key/index.vue +91 -0
- package/components/hy-keyboard/key/types.ts +1 -0
- package/components/hy-keyboard/props.ts +108 -0
- package/components/hy-keyboard/typing.d.ts +18 -0
- package/components/hy-modal/typing.d.ts +2 -2
- package/components/hy-notice-bar/hy-column-notice.vue +54 -94
- package/components/hy-notice-bar/hy-notice-bar.vue +128 -96
- package/components/hy-notice-bar/hy-row-notice.vue +89 -121
- package/components/hy-notice-bar/props.ts +86 -85
- package/components/hy-notify/hy-notify.vue +9 -9
- package/components/hy-notify/typing.d.ts +22 -0
- package/components/hy-picker/hy-picker.vue +126 -149
- package/components/hy-picker/props.ts +4 -1
- package/components/hy-picker/typing.d.ts +22 -0
- package/components/hy-popup/index.scss +1 -0
- package/components/hy-price/hy-price.vue +52 -23
- package/components/hy-price/props.ts +54 -54
- package/components/hy-radio/props.ts +1 -1
- package/components/hy-radio/typing.d.ts +5 -1
- package/components/hy-rolling-num/typing.d.ts +1 -0
- package/components/hy-skeleton/index.scss +17 -0
- package/components/hy-steps/hy-steps.vue +1 -1
- package/components/hy-submit-bar/typing.d.ts +3 -3
- package/components/hy-swipe-action/hy-swipe-action.vue +34 -15
- package/components/hy-swipe-action/index.scss +0 -1
- package/components/hy-switch/typing.d.ts +4 -0
- package/components/hy-tabbar/props.ts +2 -1
- package/components/hy-tabbar/typing.d.ts +5 -4
- package/components/hy-tabs/hy-tabs.vue +338 -336
- package/components/hy-tabs/index.scss +6 -6
- package/components/hy-tabs/typing.d.ts +41 -33
- package/components/hy-textarea/hy-textarea.vue +2 -2
- package/components/hy-textarea/typing.d.ts +4 -0
- package/components/hy-toast/hy-toast.vue +14 -6
- package/components/hy-toast/typing.d.ts +42 -36
- package/components/hy-tooltip/hy-tooltip.vue +1 -1
- package/components/hy-tooltip/index.scss +1 -0
- package/components/hy-tooltip/props.ts +1 -1
- package/components/hy-upload/hy-upload.vue +16 -1
- package/components/hy-upload/index.scss +149 -144
- package/components/index.ts +6 -0
- package/global.d.ts +2 -0
- package/libs/config/icon.ts +442 -430
- package/libs/css/_function.scss +7 -13
- package/libs/css/iconfont.css +445 -441
- package/libs/css/theme.scss +1 -1
- package/libs/locale/lang/en-US.ts +4 -0
- package/libs/locale/lang/zh-CN.ts +4 -0
- package/libs/typing/index.ts +80 -0
- package/package.json +5 -2
- package/tags.json +1 -1
- package/web-types.json +1 -1
- package/components/hy-qrcode/qrcode.js.bak +0 -1434
|
@@ -1,33 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
export interface TabsItemVo
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
* */
|
|
6
|
-
name: string
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* */
|
|
10
|
-
badge?:
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* */
|
|
14
|
-
disabled?: boolean
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* */
|
|
18
|
-
content?: any
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import type { HyBadgeProps } from '../../index'
|
|
2
|
+
export interface TabsItemVo {
|
|
3
|
+
/**
|
|
4
|
+
* tab名称
|
|
5
|
+
* */
|
|
6
|
+
name: string
|
|
7
|
+
/**
|
|
8
|
+
* 徽标接收的props
|
|
9
|
+
* */
|
|
10
|
+
badge?: HyBadgeProps
|
|
11
|
+
/**
|
|
12
|
+
* 是否禁用
|
|
13
|
+
* */
|
|
14
|
+
disabled?: boolean
|
|
15
|
+
/**
|
|
16
|
+
* swiper内容值
|
|
17
|
+
* */
|
|
18
|
+
content?: any
|
|
19
|
+
[key: string]: any
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface ITabsExpose {
|
|
23
|
+
/**
|
|
24
|
+
* 计算滑块距离左边距离
|
|
25
|
+
* */
|
|
26
|
+
resize: () => void
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface TabsParamsVo extends TabsParamsVo {
|
|
30
|
+
index: number
|
|
31
|
+
}
|
|
32
|
+
export interface ITabsEmits {
|
|
33
|
+
/** 点击标签时触发 */
|
|
34
|
+
(e: 'click', params: TabsParamsVo): void
|
|
35
|
+
/** 标签索引改变时触发 */
|
|
36
|
+
(e: 'change', item: TabsItemVo, index: number): void
|
|
37
|
+
/** 长按标签时触发 */
|
|
38
|
+
(e: 'longPress', params: TabsParamsVo): void
|
|
39
|
+
/** 标签索引改变时触发 */
|
|
40
|
+
(e: 'update:current', index: number): void
|
|
41
|
+
}
|
|
@@ -125,7 +125,7 @@ const textareaStyle = computed(() => {
|
|
|
125
125
|
return Object.assign(style, props.customStyle)
|
|
126
126
|
})
|
|
127
127
|
/**
|
|
128
|
-
*
|
|
128
|
+
* 边框颜色
|
|
129
129
|
* */
|
|
130
130
|
const borderStyle = computed(() => {
|
|
131
131
|
return (isFocus: boolean) => {
|
|
@@ -173,7 +173,7 @@ const onInput = (e: any) => {
|
|
|
173
173
|
})
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
|
-
*
|
|
176
|
+
* 内容发生变化,进行处理
|
|
177
177
|
* */
|
|
178
178
|
const valueChange = () => {
|
|
179
179
|
const value = innerValue.value
|
|
@@ -3,6 +3,10 @@ import type {
|
|
|
3
3
|
InputOnConfirmEvent,
|
|
4
4
|
InputOnFocusEvent
|
|
5
5
|
} from '@uni-helper/uni-types'
|
|
6
|
+
import type { ExtractPropTypes } from 'vue'
|
|
7
|
+
import type textareaProps from './props'
|
|
8
|
+
|
|
9
|
+
export interface HyTextareaProps extends ExtractPropTypes<typeof textareaProps> {}
|
|
6
10
|
|
|
7
11
|
export interface ITextareaEmits {
|
|
8
12
|
/** 输入框失去焦点时触发 */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<hy-overlay
|
|
3
3
|
:show="isShow"
|
|
4
|
-
:
|
|
5
|
-
:
|
|
4
|
+
:LockScroll="!tmpConfig.overlay"
|
|
5
|
+
:opacity="tmpConfig.cover ? 0.5 : 0"
|
|
6
6
|
:custom-style="overlayStyle"
|
|
7
7
|
>
|
|
8
8
|
<view :style="[contentStyle]" :class="contentClass">
|
|
@@ -18,7 +18,13 @@
|
|
|
18
18
|
v-else-if="iconNameCom"
|
|
19
19
|
:class="['hy-toast__content--icon', `hy-toast__content--icon__${tmpConfig.type}`]"
|
|
20
20
|
>
|
|
21
|
-
<hy-icon
|
|
21
|
+
<hy-icon
|
|
22
|
+
:name="iconNameCom"
|
|
23
|
+
:size="(typeof tmpConfig.icon === 'object' && tmpConfig.icon?.size) || 17"
|
|
24
|
+
:color="
|
|
25
|
+
(typeof tmpConfig.icon === 'object' && tmpConfig.icon?.color) || '#FFFFFF'
|
|
26
|
+
"
|
|
27
|
+
></hy-icon>
|
|
22
28
|
</view>
|
|
23
29
|
<text
|
|
24
30
|
:class="[
|
|
@@ -85,8 +91,6 @@ const overlayStyle = computed(() => {
|
|
|
85
91
|
display: 'flex',
|
|
86
92
|
flexDirection: 'column'
|
|
87
93
|
}
|
|
88
|
-
// 将遮罩设置为100%透明度,避免出现灰色背景
|
|
89
|
-
style.backgroundColor = 'rgba(0, 0, 0, 0)'
|
|
90
94
|
return style
|
|
91
95
|
})
|
|
92
96
|
|
|
@@ -102,7 +106,11 @@ const iconNameCom = computed(() => {
|
|
|
102
106
|
return ''
|
|
103
107
|
}
|
|
104
108
|
} else {
|
|
105
|
-
|
|
109
|
+
const icon = tmpConfig.value.icon
|
|
110
|
+
if (typeof icon === 'string') {
|
|
111
|
+
return icon
|
|
112
|
+
}
|
|
113
|
+
return icon?.name
|
|
106
114
|
}
|
|
107
115
|
})
|
|
108
116
|
|
|
@@ -1,38 +1,44 @@
|
|
|
1
|
+
import type { HyIconProps } from '../hy-icon/typing'
|
|
2
|
+
|
|
1
3
|
export default interface ToastOptions {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 显示文本
|
|
6
|
+
* */
|
|
7
|
+
message?: string
|
|
8
|
+
/**
|
|
9
|
+
* 主题类型,primary,success,error,warning,info
|
|
10
|
+
* */
|
|
11
|
+
type?: HyApp.ThemeType | ''
|
|
12
|
+
/**
|
|
13
|
+
* toast出现的位置
|
|
14
|
+
* */
|
|
15
|
+
position?: HyApp.ColumnCenterType
|
|
16
|
+
/**
|
|
17
|
+
* 显示的图标
|
|
18
|
+
* */
|
|
19
|
+
icon?: boolean | string | HyIconProps
|
|
20
|
+
/**
|
|
21
|
+
* 是否防止触摸穿透
|
|
22
|
+
* */
|
|
23
|
+
overlay?: boolean
|
|
24
|
+
/**
|
|
25
|
+
* 是否显示透明遮罩层
|
|
26
|
+
* */
|
|
27
|
+
cover?: boolean
|
|
28
|
+
/**
|
|
29
|
+
* 是否加载中状态
|
|
30
|
+
* */
|
|
31
|
+
loading?: boolean
|
|
32
|
+
/**
|
|
33
|
+
* 加载状态
|
|
34
|
+
* */
|
|
35
|
+
loadMode?: HyApp.LoadingMode
|
|
36
|
+
/**
|
|
37
|
+
* 显示的时间,毫秒
|
|
38
|
+
* */
|
|
39
|
+
duration?: number
|
|
40
|
+
/**
|
|
41
|
+
* 执行完后的回调函数
|
|
42
|
+
* */
|
|
43
|
+
complete?: Function | null
|
|
38
44
|
}
|
|
@@ -68,7 +68,10 @@
|
|
|
68
68
|
<!-- 删除图片图标 -->
|
|
69
69
|
|
|
70
70
|
<!-- 上传成功图标 -->
|
|
71
|
-
<view
|
|
71
|
+
<view
|
|
72
|
+
class="hy-upload__status hy-upload__success"
|
|
73
|
+
v-if="item.status === 'success'"
|
|
74
|
+
>
|
|
72
75
|
<view class="hy-upload__success--icon">
|
|
73
76
|
<hy-icon
|
|
74
77
|
:name="IconConfig.CHECK_MASK"
|
|
@@ -77,6 +80,18 @@
|
|
|
77
80
|
></hy-icon>
|
|
78
81
|
</view>
|
|
79
82
|
</view>
|
|
83
|
+
<view
|
|
84
|
+
class="hy-upload__status hy-upload__error"
|
|
85
|
+
v-if="item.status === 'failed'"
|
|
86
|
+
>
|
|
87
|
+
<view class="hy-upload__success--icon">
|
|
88
|
+
<hy-icon
|
|
89
|
+
:name="IconConfig.CLOSE_CIRCLE"
|
|
90
|
+
color="#ffffff"
|
|
91
|
+
size="12"
|
|
92
|
+
></hy-icon>
|
|
93
|
+
</view>
|
|
94
|
+
</view>
|
|
80
95
|
<!-- 上传成功图标 -->
|
|
81
96
|
</view>
|
|
82
97
|
</template>
|
|
@@ -1,145 +1,150 @@
|
|
|
1
|
-
@use "../../libs/css/mixin" as *;
|
|
2
|
-
@use "../../libs/css/theme" as *;
|
|
3
|
-
|
|
4
|
-
$hy-upload-image-width: 80px !default;
|
|
5
|
-
$hy-upload-text-font-size: 11px !default;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@include b(upload) {
|
|
9
|
-
@include flex(column);
|
|
10
|
-
flex: 1;
|
|
11
|
-
|
|
12
|
-
@include e(wrap) {
|
|
13
|
-
@include flex;
|
|
14
|
-
flex-wrap: wrap;
|
|
15
|
-
flex: 1;
|
|
16
|
-
|
|
17
|
-
@include m(preview) {
|
|
18
|
-
border-radius: 2px;
|
|
19
|
-
margin: 0 8px 8px 0;
|
|
20
|
-
position: relative;
|
|
21
|
-
overflow: hidden;
|
|
22
|
-
@include flex;
|
|
23
|
-
|
|
24
|
-
@include e(image) {
|
|
25
|
-
width: $hy-upload-image-width;
|
|
26
|
-
height: $hy-upload-image-width;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@include e(other) {
|
|
30
|
-
width: $hy-upload-image-width;
|
|
31
|
-
height: $hy-upload-image-width;
|
|
32
|
-
background-color: rgb(242, 242, 242);
|
|
33
|
-
flex: 1;
|
|
34
|
-
@include flex(column);
|
|
35
|
-
justify-content: center;
|
|
36
|
-
align-items: center;
|
|
37
|
-
|
|
38
|
-
@include m(text) {
|
|
39
|
-
font-size: $hy-upload-text-font-size;
|
|
40
|
-
color: $hy-text-color--grey;
|
|
41
|
-
margin-top: 2px;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/* 进度条样式 */
|
|
46
|
-
@include e(progress) {
|
|
47
|
-
width: 100%;
|
|
48
|
-
height: 100%;
|
|
49
|
-
backdrop-filter: blur(6px);
|
|
50
|
-
position: absolute;
|
|
51
|
-
z-index: 10;
|
|
52
|
-
display: grid;
|
|
53
|
-
place-content: center;
|
|
54
|
-
|
|
55
|
-
@include m(number) {
|
|
56
|
-
width: 70px;
|
|
57
|
-
margin-bottom: 6rpx;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
@include m(value) {
|
|
61
|
-
font-size: 20rpx;
|
|
62
|
-
color: $hy-primary;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@include e(deletable) {
|
|
69
|
-
position: absolute;
|
|
70
|
-
top: 0;
|
|
71
|
-
right: 0;
|
|
72
|
-
background-color: rgb(55, 55, 55);
|
|
73
|
-
height: 14px;
|
|
74
|
-
width: 14px;
|
|
75
|
-
@include flex;
|
|
76
|
-
border-bottom-left-radius: 100px;
|
|
77
|
-
align-items: center;
|
|
78
|
-
justify-content: center;
|
|
79
|
-
z-index: 9;
|
|
80
|
-
|
|
81
|
-
@include m(icon) {
|
|
82
|
-
position: absolute;
|
|
83
|
-
transform: scale(0.7);
|
|
84
|
-
top: 0;
|
|
85
|
-
right: 0;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
@include e(
|
|
90
|
-
position: absolute;
|
|
91
|
-
bottom: 0;
|
|
92
|
-
right: 0;
|
|
93
|
-
@include flex;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
/* #
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
1
|
+
@use "../../libs/css/mixin" as *;
|
|
2
|
+
@use "../../libs/css/theme" as *;
|
|
3
|
+
|
|
4
|
+
$hy-upload-image-width: 80px !default;
|
|
5
|
+
$hy-upload-text-font-size: 11px !default;
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@include b(upload) {
|
|
9
|
+
@include flex(column);
|
|
10
|
+
flex: 1;
|
|
11
|
+
|
|
12
|
+
@include e(wrap) {
|
|
13
|
+
@include flex;
|
|
14
|
+
flex-wrap: wrap;
|
|
15
|
+
flex: 1;
|
|
16
|
+
|
|
17
|
+
@include m(preview) {
|
|
18
|
+
border-radius: 2px;
|
|
19
|
+
margin: 0 8px 8px 0;
|
|
20
|
+
position: relative;
|
|
21
|
+
overflow: hidden;
|
|
22
|
+
@include flex;
|
|
23
|
+
|
|
24
|
+
@include e(image) {
|
|
25
|
+
width: $hy-upload-image-width;
|
|
26
|
+
height: $hy-upload-image-width;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@include e(other) {
|
|
30
|
+
width: $hy-upload-image-width;
|
|
31
|
+
height: $hy-upload-image-width;
|
|
32
|
+
background-color: rgb(242, 242, 242);
|
|
33
|
+
flex: 1;
|
|
34
|
+
@include flex(column);
|
|
35
|
+
justify-content: center;
|
|
36
|
+
align-items: center;
|
|
37
|
+
|
|
38
|
+
@include m(text) {
|
|
39
|
+
font-size: $hy-upload-text-font-size;
|
|
40
|
+
color: $hy-text-color--grey;
|
|
41
|
+
margin-top: 2px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* 进度条样式 */
|
|
46
|
+
@include e(progress) {
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
backdrop-filter: blur(6px);
|
|
50
|
+
position: absolute;
|
|
51
|
+
z-index: 10;
|
|
52
|
+
display: grid;
|
|
53
|
+
place-content: center;
|
|
54
|
+
|
|
55
|
+
@include m(number) {
|
|
56
|
+
width: 70px;
|
|
57
|
+
margin-bottom: 6rpx;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@include m(value) {
|
|
61
|
+
font-size: 20rpx;
|
|
62
|
+
color: $hy-primary;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@include e(deletable) {
|
|
69
|
+
position: absolute;
|
|
70
|
+
top: 0;
|
|
71
|
+
right: 0;
|
|
72
|
+
background-color: rgb(55, 55, 55);
|
|
73
|
+
height: 14px;
|
|
74
|
+
width: 14px;
|
|
75
|
+
@include flex;
|
|
76
|
+
border-bottom-left-radius: 100px;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: center;
|
|
79
|
+
z-index: 9;
|
|
80
|
+
|
|
81
|
+
@include m(icon) {
|
|
82
|
+
position: absolute;
|
|
83
|
+
transform: scale(0.7);
|
|
84
|
+
top: 0;
|
|
85
|
+
right: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@include e(status) {
|
|
90
|
+
position: absolute;
|
|
91
|
+
bottom: 0;
|
|
92
|
+
right: 0;
|
|
93
|
+
@include flex;
|
|
94
|
+
/* #ifndef APP-NVUE */
|
|
95
|
+
border-style: solid;
|
|
96
|
+
border-width: 9px;
|
|
97
|
+
align-items: center;
|
|
98
|
+
justify-content: center;
|
|
99
|
+
/* #endif */
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@include e(success) {
|
|
103
|
+
border-color: transparent $hy-success $hy-success transparent;
|
|
104
|
+
|
|
105
|
+
@include m(icon) {
|
|
106
|
+
/* #ifndef APP-NVUE */
|
|
107
|
+
position: absolute;
|
|
108
|
+
transform: scale(0.7);
|
|
109
|
+
bottom: -10px;
|
|
110
|
+
right: -10px;
|
|
111
|
+
/* #endif */
|
|
112
|
+
/* #ifdef APP-NVUE */
|
|
113
|
+
width: 16px;
|
|
114
|
+
height: 16px;
|
|
115
|
+
/* #endif */
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@include e(error) {
|
|
120
|
+
border-color: transparent $hy-error $hy-error transparent;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@include e(button) {
|
|
124
|
+
@include flex(column);
|
|
125
|
+
align-items: center;
|
|
126
|
+
justify-content: center;
|
|
127
|
+
width: $hy-upload-image-width;
|
|
128
|
+
height: $hy-upload-image-width;
|
|
129
|
+
background-color: $hy-background--empty;
|
|
130
|
+
border-radius: 2px;
|
|
131
|
+
margin: 0 8px 8px 0;
|
|
132
|
+
/* #ifndef APP-NVUE */
|
|
133
|
+
box-sizing: border-box;
|
|
134
|
+
/* #endif */
|
|
135
|
+
|
|
136
|
+
@include m(text) {
|
|
137
|
+
font-size: $hy-upload-text-font-size;
|
|
138
|
+
color: $hy-text-color--grey;
|
|
139
|
+
margin-top: 2px;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@include m(hover) {
|
|
143
|
+
background-color: $hy-background--hover;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@include m(disabled) {
|
|
147
|
+
opacity: 0.5;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
145
150
|
}
|
package/components/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ import HyBackTop from './hy-back-top/hy-back-top.vue'
|
|
|
6
6
|
import HyBadge from './hy-badge/hy-badge.vue'
|
|
7
7
|
import HyButton from './hy-button/hy-button.vue'
|
|
8
8
|
import HyCard from './hy-card/hy-card.vue'
|
|
9
|
+
import HyCascader from './hy-cascader/hy-cascader.vue'
|
|
9
10
|
import HyCell from './hy-cell/hy-cell.vue'
|
|
10
11
|
import HyCheckButton from './hy-check-button/hy-check-button.vue'
|
|
11
12
|
import HyCheckbox from './hy-checkbox/hy-checkbox.vue'
|
|
@@ -52,6 +53,7 @@ import HySubsection from './hy-subsection/hy-subsection.vue'
|
|
|
52
53
|
import HySwiper from './hy-swiper/hy-swiper.vue'
|
|
53
54
|
import HySwitch from './hy-switch/hy-switch.vue'
|
|
54
55
|
import HyTabs from './hy-tabs/hy-tabs.vue'
|
|
56
|
+
import HyKeyboard from './hy-keyboard/hy-keyboard.vue'
|
|
55
57
|
import HyTag from './hy-tag/hy-tag.vue'
|
|
56
58
|
import HyTextarea from './hy-textarea/hy-textarea.vue'
|
|
57
59
|
import HyTooltip from './hy-tooltip/hy-tooltip.vue'
|
|
@@ -68,6 +70,7 @@ const install = (Vue: any) => {
|
|
|
68
70
|
Vue.component('HyBadge', HyBadge)
|
|
69
71
|
Vue.component('HyButton', HyButton)
|
|
70
72
|
Vue.component('HyCard', HyCard)
|
|
73
|
+
Vue.component('HyCascader', HyCascader)
|
|
71
74
|
Vue.component('HyCell', HyCell)
|
|
72
75
|
Vue.component('HyCheckButton', HyCheckButton)
|
|
73
76
|
Vue.component('HyCheckbox', HyCheckbox)
|
|
@@ -113,6 +116,7 @@ const install = (Vue: any) => {
|
|
|
113
116
|
Vue.component('HySwiper', HySwiper)
|
|
114
117
|
Vue.component('HySwitch', HySwitch)
|
|
115
118
|
Vue.component('HyTabs', HyTabs)
|
|
119
|
+
Vue.component('HyKeyboard', HyKeyboard)
|
|
116
120
|
Vue.component('HyTag', HyTag)
|
|
117
121
|
Vue.component('HyTextarea', HyTextarea)
|
|
118
122
|
Vue.component('HyTooltip', HyTooltip)
|
|
@@ -129,6 +133,7 @@ export {
|
|
|
129
133
|
HyBadge,
|
|
130
134
|
HyButton,
|
|
131
135
|
HyCard,
|
|
136
|
+
HyCascader,
|
|
132
137
|
HyCell,
|
|
133
138
|
HyCheckButton,
|
|
134
139
|
HyCheckbox,
|
|
@@ -174,6 +179,7 @@ export {
|
|
|
174
179
|
HySwiper,
|
|
175
180
|
HySwitch,
|
|
176
181
|
HyTabs,
|
|
182
|
+
HyKeyboard,
|
|
177
183
|
HyTag,
|
|
178
184
|
HyTextarea,
|
|
179
185
|
HyTooltip,
|
package/global.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ declare module 'vue' {
|
|
|
9
9
|
HyButton: (typeof import('./components/hy-button/hy-button.vue'))['default']
|
|
10
10
|
HyCalendar: (typeof import('./components/hy-calendar/hy-calendar.vue'))['default']
|
|
11
11
|
HyCard: (typeof import('./components/hy-card/hy-card.vue'))['default']
|
|
12
|
+
HyCascader: (typeof import('./components/hy-cascader/hy-cascader.vue'))['default']
|
|
12
13
|
HyCell: (typeof import('./components/hy-cell/hy-cell.vue'))['default']
|
|
13
14
|
HyCellItem: (typeof import('./components/hy-cell-item/hy-cell-item.vue'))['default']
|
|
14
15
|
HyCheckButton: (typeof import('./components/hy-check-button/hy-check-button.vue'))['default']
|
|
@@ -38,6 +39,7 @@ declare module 'vue' {
|
|
|
38
39
|
HyImage: (typeof import('./components/hy-image/hy-image.vue'))['default']
|
|
39
40
|
HyIndexBar: (typeof import('./components/hy-index-bar/hy-index-bar.vue'))['default']
|
|
40
41
|
HyInput: (typeof import('./components/hy-input/hy-input.vue'))['default']
|
|
42
|
+
HyKeyboard: (typeof import('./components/hy-keyboard/hy-keyboard.vue'))['default']
|
|
41
43
|
HyLine: (typeof import('./components/hy-line/hy-line.vue'))['default']
|
|
42
44
|
HyLineProgress: (typeof import('./components/hy-line-progress/hy-line-progress.vue'))['default']
|
|
43
45
|
HyList: (typeof import('./components/hy-list/hy-list.vue'))['default']
|