taro-ui 3.1.0-beta.0 → 3.1.0-beta.1
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/dist/style/components/checkbox.rn.scss +1 -1
- package/dist/style/components/input.rn.scss +2 -4
- package/dist/style/components/timeline.rn.scss +8 -1
- package/package.json +2 -2
- package/rn/components/button/index.tsx +10 -9
- package/rn/components/checkbox/index.tsx +8 -8
- package/rn/components/input/index.tsx +12 -12
- package/rn/components/noticebar/index.tsx +10 -9
- package/rn/components/range/index.tsx +17 -16
- package/rn/components/tab-bar/index.tsx +17 -14
- package/rn/components/textarea/index.tsx +5 -5
- package/rn/components/timeline/index.tsx +5 -5
- package/rn/style/components/checkbox.scss +1 -1
- package/rn/style/components/input.scss +2 -4
- package/rn/style/components/timeline.scss +8 -1
|
@@ -53,16 +53,14 @@
|
|
|
53
53
|
|
|
54
54
|
&__input {
|
|
55
55
|
flex: 1;
|
|
56
|
-
//display: inline-block;
|
|
57
56
|
padding-top: 0;
|
|
58
57
|
padding-right: $spacing-v-md;
|
|
59
58
|
padding-left: 0;
|
|
60
59
|
padding-bottom: 0;
|
|
61
60
|
color: $at-input-text-color;
|
|
62
61
|
font-size: $at-input-font-size;
|
|
63
|
-
//
|
|
64
|
-
// line-height:
|
|
65
|
-
line-height: 1.2 * $at-input-font-size;
|
|
62
|
+
// 设行高要兼容 placehost style,不然会弹上去
|
|
63
|
+
// line-height: 1.2 * $at-input-font-size;
|
|
66
64
|
/*postcss-pxtransform rn eject enable*/
|
|
67
65
|
vertical-align: middle;
|
|
68
66
|
/*postcss-pxtransform rn eject disable*/
|
|
@@ -16,13 +16,20 @@
|
|
|
16
16
|
&--sub {
|
|
17
17
|
color: $at-timeline-desc-color;
|
|
18
18
|
font-size: $at-timeline-desc-font-size;
|
|
19
|
+
line-height: $line-height-zh * $at-timeline-desc-font-size;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&-item {
|
|
23
|
+
color: $at-timeline-title-color;
|
|
24
|
+
font-size: $at-timeline-title-font-size;
|
|
25
|
+
line-height: $line-height-zh * $at-timeline-title-font-size;
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
&__dot {
|
|
23
30
|
position: absolute;
|
|
24
31
|
left: 0;
|
|
25
|
-
top:
|
|
32
|
+
top: 8px;
|
|
26
33
|
width: $at-timeline-dot-size;
|
|
27
34
|
height: $at-timeline-dot-size;
|
|
28
35
|
font-size: 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taro-ui",
|
|
3
|
-
"version": "3.1.0-beta.
|
|
3
|
+
"version": "3.1.0-beta.1",
|
|
4
4
|
"description": "UI KIT for Taro",
|
|
5
5
|
"module": "dist/index.esm.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"react": ">=16.13.0",
|
|
83
83
|
"react-dom": ">=16.13.0"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "9447077d916cb2ef2f8036452d1ba92ade4f117c"
|
|
86
86
|
}
|
|
@@ -9,12 +9,12 @@ import { AtButtonProps, AtButtonState } from '../../../types/button'
|
|
|
9
9
|
|
|
10
10
|
const SIZE_CLASS = {
|
|
11
11
|
normal: 'normal',
|
|
12
|
-
small: 'small'
|
|
12
|
+
small: 'small'
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
const TYPE_CLASS = {
|
|
16
16
|
primary: 'primary',
|
|
17
|
-
secondary: 'secondary'
|
|
17
|
+
secondary: 'secondary'
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export default class AtButton extends React.Component<
|
|
@@ -29,7 +29,7 @@ export default class AtButton extends React.Component<
|
|
|
29
29
|
this.state = {
|
|
30
30
|
isWEB: Taro.getEnv() === Taro.ENV_TYPE.WEB,
|
|
31
31
|
isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP,
|
|
32
|
-
isALIPAY: Taro.getEnv() === Taro.ENV_TYPE.ALIPAY
|
|
32
|
+
isALIPAY: Taro.getEnv() === Taro.ENV_TYPE.ALIPAY
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ export default class AtButton extends React.Component<
|
|
|
45
45
|
full,
|
|
46
46
|
loading,
|
|
47
47
|
disabled,
|
|
48
|
-
customStyle
|
|
48
|
+
customStyle
|
|
49
49
|
} = this.props
|
|
50
50
|
const rootClassName = ['at-button']
|
|
51
51
|
const classObject = {
|
|
@@ -53,8 +53,9 @@ export default class AtButton extends React.Component<
|
|
|
53
53
|
[`at-button--${type}`]: TYPE_CLASS[type],
|
|
54
54
|
[`at-button--${SIZE_CLASS[size]}`]: SIZE_CLASS[size],
|
|
55
55
|
'at-button--circle': circle,
|
|
56
|
-
'at-button--full': full
|
|
56
|
+
'at-button--full': full
|
|
57
57
|
}
|
|
58
|
+
|
|
58
59
|
return (
|
|
59
60
|
<Button
|
|
60
61
|
disabled={disabled}
|
|
@@ -62,7 +63,7 @@ export default class AtButton extends React.Component<
|
|
|
62
63
|
style={customStyle}
|
|
63
64
|
// @ts-ignore
|
|
64
65
|
hoverStyle={{
|
|
65
|
-
opacity: 0.6
|
|
66
|
+
opacity: 0.6
|
|
66
67
|
}}
|
|
67
68
|
loading={loading}
|
|
68
69
|
type={type !== 'primary' ? 'default' : 'primary'}
|
|
@@ -97,7 +98,7 @@ AtButton.defaultProps = {
|
|
|
97
98
|
sendMessagePath: '',
|
|
98
99
|
sendMessageImg: '',
|
|
99
100
|
showMessageCard: false,
|
|
100
|
-
appParameter: ''
|
|
101
|
+
appParameter: ''
|
|
101
102
|
}
|
|
102
103
|
|
|
103
104
|
AtButton.propTypes = {
|
|
@@ -121,7 +122,7 @@ AtButton.propTypes = {
|
|
|
121
122
|
'getRealnameAuthInfo',
|
|
122
123
|
'getAuthorize',
|
|
123
124
|
'contactShare',
|
|
124
|
-
''
|
|
125
|
+
''
|
|
125
126
|
]),
|
|
126
127
|
lang: PropTypes.string,
|
|
127
128
|
sessionFrom: PropTypes.string,
|
|
@@ -134,5 +135,5 @@ AtButton.propTypes = {
|
|
|
134
135
|
onContact: PropTypes.func,
|
|
135
136
|
onGetPhoneNumber: PropTypes.func,
|
|
136
137
|
onError: PropTypes.func,
|
|
137
|
-
onOpenSetting: PropTypes.func
|
|
138
|
+
onOpenSetting: PropTypes.func
|
|
138
139
|
}
|
|
@@ -35,7 +35,7 @@ export default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {
|
|
|
35
35
|
const { value, disabled, label, desc } = option
|
|
36
36
|
const optionCls = classNames('at-checkbox__option', {
|
|
37
37
|
'at-checkbox__option--disabled': disabled,
|
|
38
|
-
'at-checkbox__option--selected': selectedList.includes(value)
|
|
38
|
+
'at-checkbox__option--selected': selectedList.includes(value)
|
|
39
39
|
})
|
|
40
40
|
|
|
41
41
|
return (
|
|
@@ -48,26 +48,26 @@ export default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {
|
|
|
48
48
|
className={classNames({
|
|
49
49
|
'at-checkbox__option-wrap': true,
|
|
50
50
|
'at-checkbox__option-wrap--without-border':
|
|
51
|
-
!border || idx === 0
|
|
51
|
+
!border || idx === 0
|
|
52
52
|
})}
|
|
53
53
|
>
|
|
54
54
|
<View
|
|
55
55
|
className={classNames({
|
|
56
56
|
'at-checkbox__option-cnt': true,
|
|
57
|
-
'at-checkbox__option-cnt--disabled': disabled
|
|
57
|
+
'at-checkbox__option-cnt--disabled': disabled
|
|
58
58
|
})}
|
|
59
59
|
>
|
|
60
60
|
<View
|
|
61
61
|
className={classNames({
|
|
62
62
|
'at-checkbox__icon-cnt': true,
|
|
63
63
|
'at-checkbox__icon-cnt--check':
|
|
64
|
-
selectedList.includes(value)
|
|
64
|
+
selectedList.includes(value)
|
|
65
65
|
})}
|
|
66
66
|
>
|
|
67
67
|
<AtIcon
|
|
68
68
|
className={classNames({
|
|
69
69
|
'at-checkbox__icon-cnt--check':
|
|
70
|
-
selectedList.includes(value)
|
|
70
|
+
selectedList.includes(value)
|
|
71
71
|
})}
|
|
72
72
|
value='check'
|
|
73
73
|
color='#FFF'
|
|
@@ -79,7 +79,7 @@ export default class AtCheckbox extends React.Component<AtCheckboxProps<any>> {
|
|
|
79
79
|
<View
|
|
80
80
|
className={classNames({
|
|
81
81
|
'at-checkbox__desc': true,
|
|
82
|
-
'at-checkbox__desc--disabled': disabled
|
|
82
|
+
'at-checkbox__desc--disabled': disabled
|
|
83
83
|
})}
|
|
84
84
|
>
|
|
85
85
|
{desc}
|
|
@@ -101,7 +101,7 @@ AtCheckbox.defaultProps = {
|
|
|
101
101
|
options: [],
|
|
102
102
|
selectedList: [],
|
|
103
103
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
104
|
-
onChange: (): void => {}
|
|
104
|
+
onChange: (): void => {}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
AtCheckbox.propTypes = {
|
|
@@ -109,5 +109,5 @@ AtCheckbox.propTypes = {
|
|
|
109
109
|
className: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),
|
|
110
110
|
options: PropTypes.array,
|
|
111
111
|
selectedList: PropTypes.array,
|
|
112
|
-
onChange: PropTypes.func
|
|
112
|
+
onChange: PropTypes.func
|
|
113
113
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
ConfirmEventDetail,
|
|
11
11
|
FocusEventDetail,
|
|
12
12
|
InputEventDetail,
|
|
13
|
-
KeyboardHeightEventDetail
|
|
13
|
+
KeyboardHeightEventDetail
|
|
14
14
|
} from '../../../types/input'
|
|
15
15
|
import '../../style/components/input.scss'
|
|
16
16
|
import AtIcon from '../icon'
|
|
@@ -26,7 +26,7 @@ function getInputProps(props: AtInputProps): GetInputPropsReturn {
|
|
|
26
26
|
type: props.type,
|
|
27
27
|
maxlength: props.maxlength,
|
|
28
28
|
disabled: props.disabled,
|
|
29
|
-
password: false
|
|
29
|
+
password: false
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
switch (actualProps.type) {
|
|
@@ -70,7 +70,7 @@ export default class AtInput extends React.Component<AtInputProps> {
|
|
|
70
70
|
// fix # 583 AtInput 不触发 onChange 的问题
|
|
71
71
|
this.props.onChange(
|
|
72
72
|
event.detail.value,
|
|
73
|
-
event as BaseEventOrig<InputEventDetail
|
|
73
|
+
event as BaseEventOrig<InputEventDetail>
|
|
74
74
|
)
|
|
75
75
|
}
|
|
76
76
|
// 还原状态
|
|
@@ -95,7 +95,7 @@ export default class AtInput extends React.Component<AtInputProps> {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
private handleKeyboardHeightChange = (
|
|
98
|
-
event: BaseEventOrig<KeyboardHeightEventDetail
|
|
98
|
+
event: BaseEventOrig<KeyboardHeightEventDetail>
|
|
99
99
|
): void => {
|
|
100
100
|
if (typeof this.props.onKeyboardHeightChange === 'function') {
|
|
101
101
|
this.props.onKeyboardHeightChange(event)
|
|
@@ -129,12 +129,12 @@ export default class AtInput extends React.Component<AtInputProps> {
|
|
|
129
129
|
autoFocus,
|
|
130
130
|
focus,
|
|
131
131
|
value,
|
|
132
|
-
required
|
|
132
|
+
required
|
|
133
133
|
} = this.props
|
|
134
134
|
const { type, maxlength, disabled, password } = getInputProps(this.props)
|
|
135
135
|
|
|
136
136
|
const overlayCls = classNames('at-input__overlay', {
|
|
137
|
-
'at-input__overlay--hidden': !disabled
|
|
137
|
+
'at-input__overlay--hidden': !disabled
|
|
138
138
|
})
|
|
139
139
|
const placeholderCls = classNames('placeholder', placeholderClass)
|
|
140
140
|
|
|
@@ -144,16 +144,16 @@ export default class AtInput extends React.Component<AtInputProps> {
|
|
|
144
144
|
className={classNames(
|
|
145
145
|
'at-input',
|
|
146
146
|
{
|
|
147
|
-
'at-input--without-border': !border
|
|
147
|
+
'at-input--without-border': !border
|
|
148
148
|
},
|
|
149
|
-
className
|
|
149
|
+
className
|
|
150
150
|
)}
|
|
151
151
|
style={customStyle}
|
|
152
152
|
>
|
|
153
153
|
<View
|
|
154
154
|
className={classNames('at-input__container', {
|
|
155
155
|
'at-input--error': error,
|
|
156
|
-
'at-input--disabled': disabled
|
|
156
|
+
'at-input--disabled': disabled
|
|
157
157
|
})}
|
|
158
158
|
>
|
|
159
159
|
<View className={overlayCls} onClick={this.handleClick} />
|
|
@@ -163,7 +163,7 @@ export default class AtInput extends React.Component<AtInputProps> {
|
|
|
163
163
|
<Label
|
|
164
164
|
className={classNames('at-input__title', {
|
|
165
165
|
'at-input__title--error': error,
|
|
166
|
-
'at-input__title--disabled': disabled
|
|
166
|
+
'at-input__title--disabled': disabled
|
|
167
167
|
})}
|
|
168
168
|
for={name}
|
|
169
169
|
>
|
|
@@ -243,7 +243,7 @@ AtInput.defaultProps = {
|
|
|
243
243
|
focus: false,
|
|
244
244
|
required: false,
|
|
245
245
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
246
|
-
onChange: (): void => {}
|
|
246
|
+
onChange: (): void => {}
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
AtInput.propTypes = {
|
|
@@ -276,5 +276,5 @@ AtInput.propTypes = {
|
|
|
276
276
|
onConfirm: PropTypes.func,
|
|
277
277
|
onErrorClick: PropTypes.func,
|
|
278
278
|
onClick: PropTypes.func,
|
|
279
|
-
required: PropTypes.bool
|
|
279
|
+
required: PropTypes.bool
|
|
280
280
|
}
|
|
@@ -21,13 +21,13 @@ export default class AtNoticebar extends React.Component<
|
|
|
21
21
|
super(props)
|
|
22
22
|
this.state = {
|
|
23
23
|
show: true,
|
|
24
|
-
transformX: new Animated.Value(0)
|
|
24
|
+
transformX: new Animated.Value(0)
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
private onClose(event: CommonEvent): void {
|
|
29
29
|
this.setState({
|
|
30
|
-
show: false
|
|
30
|
+
show: false
|
|
31
31
|
})
|
|
32
32
|
this.props.onClose && this.props.onClose(event)
|
|
33
33
|
}
|
|
@@ -62,8 +62,9 @@ export default class AtNoticebar extends React.Component<
|
|
|
62
62
|
{!!icon && (
|
|
63
63
|
<AtIcon
|
|
64
64
|
customStyle={{
|
|
65
|
+
// ios 生效,android 不生效,考虑换成图
|
|
65
66
|
marginRight: -3,
|
|
66
|
-
marginBottom: -3
|
|
67
|
+
marginBottom: -3
|
|
67
68
|
}}
|
|
68
69
|
className='at-noticebar__content-icon__at-icon'
|
|
69
70
|
value={icon}
|
|
@@ -87,7 +88,7 @@ export default class AtNoticebar extends React.Component<
|
|
|
87
88
|
toValue: -textWidth,
|
|
88
89
|
duration: (textWidth * 30) / (speed / 100),
|
|
89
90
|
easing: Easing.linear,
|
|
90
|
-
useNativeDriver: true
|
|
91
|
+
useNativeDriver: true
|
|
91
92
|
}).start(({ finished }) => {
|
|
92
93
|
if (finished) {
|
|
93
94
|
this.move()
|
|
@@ -101,7 +102,7 @@ export default class AtNoticebar extends React.Component<
|
|
|
101
102
|
(event: any): void => {
|
|
102
103
|
const { width } = event.nativeEvent.layout
|
|
103
104
|
this.setState({
|
|
104
|
-
[key]: width
|
|
105
|
+
[key]: width
|
|
105
106
|
})
|
|
106
107
|
}
|
|
107
108
|
|
|
@@ -111,7 +112,7 @@ export default class AtNoticebar extends React.Component<
|
|
|
111
112
|
marquee,
|
|
112
113
|
customStyle,
|
|
113
114
|
className,
|
|
114
|
-
moreText = '查看详情'
|
|
115
|
+
moreText = '查看详情'
|
|
115
116
|
} = this.props
|
|
116
117
|
let { showMore, close } = this.props
|
|
117
118
|
const { show } = this.state
|
|
@@ -152,7 +153,7 @@ export default class AtNoticebar extends React.Component<
|
|
|
152
153
|
style={{
|
|
153
154
|
flex: 1,
|
|
154
155
|
paddingLeft: 10,
|
|
155
|
-
paddingRight: 10
|
|
156
|
+
paddingRight: 10
|
|
156
157
|
}}
|
|
157
158
|
>
|
|
158
159
|
<View style={style}>
|
|
@@ -195,7 +196,7 @@ AtNoticebar.defaultProps = {
|
|
|
195
196
|
moreText: '查看详情',
|
|
196
197
|
showMore: false,
|
|
197
198
|
icon: '',
|
|
198
|
-
customStyle: {}
|
|
199
|
+
customStyle: {}
|
|
199
200
|
}
|
|
200
201
|
|
|
201
202
|
AtNoticebar.propTypes = {
|
|
@@ -208,5 +209,5 @@ AtNoticebar.propTypes = {
|
|
|
208
209
|
icon: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
209
210
|
customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
|
|
210
211
|
onClose: PropTypes.func,
|
|
211
|
-
onGotoMore: PropTypes.func
|
|
212
|
+
onGotoMore: PropTypes.func
|
|
212
213
|
}
|
|
@@ -3,7 +3,7 @@ import PropTypes, { InferProps } from 'prop-types'
|
|
|
3
3
|
import React from 'react'
|
|
4
4
|
import Taro from '@tarojs/taro'
|
|
5
5
|
import { View } from '@tarojs/components'
|
|
6
|
-
import { CommonEvent
|
|
6
|
+
import { CommonEvent } from '@tarojs/components/types/common'
|
|
7
7
|
import { AtRangeProps, AtRangeState } from '../../../types/range'
|
|
8
8
|
import '../../style/components/range.scss'
|
|
9
9
|
|
|
@@ -30,7 +30,7 @@ export default class AtRange extends React.Component<
|
|
|
30
30
|
this.currentSlider = ''
|
|
31
31
|
this.state = {
|
|
32
32
|
aX: 0,
|
|
33
|
-
bX: 0
|
|
33
|
+
bX: 0
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
@@ -45,7 +45,7 @@ export default class AtRange extends React.Component<
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
private handleTouchMove(sliderName: string, event:
|
|
48
|
+
private handleTouchMove(sliderName: string, event: any): void {
|
|
49
49
|
if (this.props.disabled) return
|
|
50
50
|
|
|
51
51
|
const clientX = event.nativeEvent.pageX
|
|
@@ -62,20 +62,20 @@ export default class AtRange extends React.Component<
|
|
|
62
62
|
private setSliderValue(
|
|
63
63
|
sliderName: string,
|
|
64
64
|
targetValue: number,
|
|
65
|
-
funcName: string
|
|
65
|
+
funcName: string
|
|
66
66
|
): void {
|
|
67
67
|
const distance = Math.min(Math.max(targetValue, 0), this.width)
|
|
68
68
|
const sliderValue = Math.floor((distance / this.width) * 100)
|
|
69
69
|
if (funcName) {
|
|
70
70
|
this.setState(
|
|
71
71
|
{
|
|
72
|
-
[sliderName]: sliderValue
|
|
72
|
+
[sliderName]: sliderValue
|
|
73
73
|
},
|
|
74
|
-
() => this.triggerEvent(funcName)
|
|
74
|
+
() => this.triggerEvent(funcName)
|
|
75
75
|
)
|
|
76
76
|
} else {
|
|
77
77
|
this.setState({
|
|
78
|
-
[sliderName]: sliderValue
|
|
78
|
+
[sliderName]: sliderValue
|
|
79
79
|
})
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -139,15 +139,15 @@ export default class AtRange extends React.Component<
|
|
|
139
139
|
railStyle,
|
|
140
140
|
trackStyle,
|
|
141
141
|
blockSize,
|
|
142
|
-
disabled
|
|
142
|
+
disabled
|
|
143
143
|
} = this.props
|
|
144
144
|
|
|
145
145
|
const rootCls = classNames(
|
|
146
146
|
'at-range',
|
|
147
147
|
{
|
|
148
|
-
'at-range--disabled': disabled
|
|
148
|
+
'at-range--disabled': disabled
|
|
149
149
|
},
|
|
150
|
-
className
|
|
150
|
+
className
|
|
151
151
|
)
|
|
152
152
|
|
|
153
153
|
const { aX, bX } = this.state
|
|
@@ -165,11 +165,11 @@ export default class AtRange extends React.Component<
|
|
|
165
165
|
|
|
166
166
|
const sliderAStyle = {
|
|
167
167
|
...sliderCommonStyle,
|
|
168
|
-
left: `${aX}
|
|
168
|
+
left: `${aX}%`
|
|
169
169
|
}
|
|
170
170
|
const sliderBStyle = {
|
|
171
171
|
...sliderCommonStyle,
|
|
172
|
-
left: `${bX}
|
|
172
|
+
left: `${bX}%`
|
|
173
173
|
}
|
|
174
174
|
const containerStyle: React.CSSProperties = {}
|
|
175
175
|
if (blockSize) {
|
|
@@ -182,16 +182,17 @@ export default class AtRange extends React.Component<
|
|
|
182
182
|
const deltaX = Math.abs(aX - bX)
|
|
183
183
|
const atTrackStyle = {
|
|
184
184
|
left: `${smallerX}%`,
|
|
185
|
-
width: `${deltaX}
|
|
185
|
+
width: `${deltaX}%`
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
const shadowStyle = {
|
|
189
189
|
shadowOffset: {
|
|
190
190
|
width: 0,
|
|
191
|
-
height: 0
|
|
191
|
+
height: 0
|
|
192
192
|
},
|
|
193
193
|
shadowOpacity: 0.2,
|
|
194
194
|
shadowRadius: 2,
|
|
195
|
+
elevation: 2
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
return (
|
|
@@ -234,7 +235,7 @@ AtRange.defaultProps = {
|
|
|
234
235
|
min: 0,
|
|
235
236
|
max: 100,
|
|
236
237
|
disabled: false,
|
|
237
|
-
blockSize: 0
|
|
238
|
+
blockSize: 0
|
|
238
239
|
}
|
|
239
240
|
|
|
240
241
|
AtRange.propTypes = {
|
|
@@ -249,5 +250,5 @@ AtRange.propTypes = {
|
|
|
249
250
|
disabled: PropTypes.bool,
|
|
250
251
|
blockSize: PropTypes.number,
|
|
251
252
|
onChange: PropTypes.func,
|
|
252
|
-
onAfterChange: PropTypes.func
|
|
253
|
+
onAfterChange: PropTypes.func
|
|
253
254
|
}
|
|
@@ -44,20 +44,23 @@ export default class AtTabBar extends React.Component<AtTabBarProps> {
|
|
|
44
44
|
color,
|
|
45
45
|
iconSize,
|
|
46
46
|
fontSize,
|
|
47
|
-
selectedColor
|
|
47
|
+
selectedColor
|
|
48
48
|
} = this.props
|
|
49
49
|
// const { isIPhoneX } = this.state
|
|
50
50
|
const defaultStyle = {
|
|
51
|
-
color: color || ''
|
|
51
|
+
color: color || ''
|
|
52
52
|
}
|
|
53
53
|
const selectedStyle = {
|
|
54
|
-
color: selectedColor || ''
|
|
54
|
+
color: selectedColor || ''
|
|
55
55
|
}
|
|
56
|
-
const titleStyle = {
|
|
57
|
-
|
|
56
|
+
const titleStyle: React.CSSProperties = {}
|
|
57
|
+
|
|
58
|
+
if (fontSize) {
|
|
59
|
+
titleStyle.fontSize = +fontSize
|
|
58
60
|
}
|
|
61
|
+
|
|
59
62
|
const rootStyle = {
|
|
60
|
-
backgroundColor: backgroundColor || ''
|
|
63
|
+
backgroundColor: backgroundColor || ''
|
|
61
64
|
}
|
|
62
65
|
const imgStyle: any = {
|
|
63
66
|
// width: iconSize,
|
|
@@ -73,17 +76,17 @@ export default class AtTabBar extends React.Component<AtTabBarProps> {
|
|
|
73
76
|
className={classNames(
|
|
74
77
|
{
|
|
75
78
|
'at-tab-bar': true,
|
|
76
|
-
'at-tab-bar--fixed': fixed
|
|
79
|
+
'at-tab-bar--fixed': fixed
|
|
77
80
|
// 'at-tab-bar--ipx': isIPhoneX
|
|
78
81
|
},
|
|
79
|
-
className
|
|
82
|
+
className
|
|
80
83
|
)}
|
|
81
84
|
style={Object.assign(rootStyle, customStyle)}
|
|
82
85
|
>
|
|
83
86
|
{tabList.map((item: TabItem, i: number) => (
|
|
84
87
|
<View
|
|
85
88
|
className={classNames('at-tab-bar__item', {
|
|
86
|
-
'at-tab-bar__item--active': current === i
|
|
89
|
+
'at-tab-bar__item--active': current === i
|
|
87
90
|
})}
|
|
88
91
|
style={current === i ? selectedStyle : defaultStyle}
|
|
89
92
|
key={item.title}
|
|
@@ -134,7 +137,7 @@ export default class AtTabBar extends React.Component<AtTabBarProps> {
|
|
|
134
137
|
<View className='at-tab-bar__icon'>
|
|
135
138
|
<Image
|
|
136
139
|
className={classNames('at-tab-bar__inner-img', {
|
|
137
|
-
'at-tab-bar__inner-img--inactive': current !== i
|
|
140
|
+
'at-tab-bar__inner-img--inactive': current !== i
|
|
138
141
|
})}
|
|
139
142
|
mode='widthFix'
|
|
140
143
|
src={item.selectedImage || item.image}
|
|
@@ -142,7 +145,7 @@ export default class AtTabBar extends React.Component<AtTabBarProps> {
|
|
|
142
145
|
></Image>
|
|
143
146
|
<Image
|
|
144
147
|
className={classNames('at-tab-bar__inner-img', {
|
|
145
|
-
'at-tab-bar__inner-img--inactive': current === i
|
|
148
|
+
'at-tab-bar__inner-img--inactive': current === i
|
|
146
149
|
})}
|
|
147
150
|
mode='widthFix'
|
|
148
151
|
src={item.image}
|
|
@@ -162,7 +165,7 @@ export default class AtTabBar extends React.Component<AtTabBarProps> {
|
|
|
162
165
|
className='at-tab-bar__title'
|
|
163
166
|
style={{
|
|
164
167
|
...titleStyle,
|
|
165
|
-
color: current === i ? selectedColor : color
|
|
168
|
+
color: current === i ? selectedColor : color
|
|
166
169
|
}}
|
|
167
170
|
>
|
|
168
171
|
{item.title}
|
|
@@ -185,7 +188,7 @@ AtTabBar.defaultProps = {
|
|
|
185
188
|
current: 0,
|
|
186
189
|
tabList: [],
|
|
187
190
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
188
|
-
onClick: (): void => {}
|
|
191
|
+
onClick: (): void => {}
|
|
189
192
|
}
|
|
190
193
|
|
|
191
194
|
AtTabBar.propTypes = {
|
|
@@ -199,5 +202,5 @@ AtTabBar.propTypes = {
|
|
|
199
202
|
color: PropTypes.string,
|
|
200
203
|
selectedColor: PropTypes.string,
|
|
201
204
|
tabList: PropTypes.array,
|
|
202
|
-
onClick: PropTypes.func
|
|
205
|
+
onClick: PropTypes.func
|
|
203
206
|
}
|
|
@@ -14,7 +14,7 @@ type ExtendEvent = {
|
|
|
14
14
|
|
|
15
15
|
function getMaxLength(
|
|
16
16
|
maxLength: number,
|
|
17
|
-
textOverflowForbidden: boolean
|
|
17
|
+
textOverflowForbidden: boolean
|
|
18
18
|
): number {
|
|
19
19
|
if (!textOverflowForbidden) {
|
|
20
20
|
return maxLength + 500
|
|
@@ -67,7 +67,7 @@ export default class AtTextarea extends React.Component<AtTextareaProps> {
|
|
|
67
67
|
selectionEnd,
|
|
68
68
|
fixed,
|
|
69
69
|
textOverflowForbidden = true,
|
|
70
|
-
height
|
|
70
|
+
height
|
|
71
71
|
} = this.props
|
|
72
72
|
|
|
73
73
|
const _maxLength = parseInt(maxLength.toString())
|
|
@@ -108,7 +108,7 @@ export default class AtTextarea extends React.Component<AtTextareaProps> {
|
|
|
108
108
|
{count && (
|
|
109
109
|
<View
|
|
110
110
|
className={classNames('at-textarea__counter', {
|
|
111
|
-
'at-textarea__counter--error': sizeError
|
|
111
|
+
'at-textarea__counter--error': sizeError
|
|
112
112
|
})}
|
|
113
113
|
>
|
|
114
114
|
{`${value.length}/${_maxLength}`}
|
|
@@ -137,7 +137,7 @@ AtTextarea.defaultProps = {
|
|
|
137
137
|
height: '',
|
|
138
138
|
textOverflowForbidden: true,
|
|
139
139
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
140
|
-
onChange: (): void => {}
|
|
140
|
+
onChange: (): void => {}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
AtTextarea.propTypes = {
|
|
@@ -163,5 +163,5 @@ AtTextarea.propTypes = {
|
|
|
163
163
|
onChange: PropTypes.func.isRequired,
|
|
164
164
|
onFocus: PropTypes.func,
|
|
165
165
|
onBlur: PropTypes.func,
|
|
166
|
-
onConfirm: PropTypes.func
|
|
166
|
+
onConfirm: PropTypes.func
|
|
167
167
|
}
|
|
@@ -17,7 +17,7 @@ export default class AtTimeline extends React.Component<AtTimelineProps> {
|
|
|
17
17
|
if (pending) rootClassName.push('at-timeline--pending')
|
|
18
18
|
|
|
19
19
|
const rootClassObject = {
|
|
20
|
-
'at-timeline--pending': pending
|
|
20
|
+
'at-timeline--pending': pending
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const itemElems = items.map((item, index) => {
|
|
@@ -25,7 +25,7 @@ export default class AtTimeline extends React.Component<AtTimelineProps> {
|
|
|
25
25
|
|
|
26
26
|
const iconClass = classNames({
|
|
27
27
|
'at-icon': true,
|
|
28
|
-
'at-timeline-item__at-icon': true
|
|
28
|
+
'at-timeline-item__at-icon': true
|
|
29
29
|
// [`at-icon-${icon}`]: icon
|
|
30
30
|
})
|
|
31
31
|
|
|
@@ -81,7 +81,7 @@ export default class AtTimeline extends React.Component<AtTimelineProps> {
|
|
|
81
81
|
className={classNames(
|
|
82
82
|
rootClassName,
|
|
83
83
|
rootClassObject,
|
|
84
|
-
this.props.className
|
|
84
|
+
this.props.className
|
|
85
85
|
)}
|
|
86
86
|
style={customStyle}
|
|
87
87
|
>
|
|
@@ -94,11 +94,11 @@ export default class AtTimeline extends React.Component<AtTimelineProps> {
|
|
|
94
94
|
AtTimeline.defaultProps = {
|
|
95
95
|
pending: false,
|
|
96
96
|
items: [],
|
|
97
|
-
customStyle: {}
|
|
97
|
+
customStyle: {}
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
AtTimeline.propTypes = {
|
|
101
101
|
pending: PropTypes.bool,
|
|
102
102
|
items: PropTypes.arrayOf(PropTypes.object),
|
|
103
|
-
customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string])
|
|
103
|
+
customStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.string])
|
|
104
104
|
}
|
|
@@ -53,16 +53,14 @@
|
|
|
53
53
|
|
|
54
54
|
&__input {
|
|
55
55
|
flex: 1;
|
|
56
|
-
//display: inline-block;
|
|
57
56
|
padding-top: 0;
|
|
58
57
|
padding-right: $spacing-v-md;
|
|
59
58
|
padding-left: 0;
|
|
60
59
|
padding-bottom: 0;
|
|
61
60
|
color: $at-input-text-color;
|
|
62
61
|
font-size: $at-input-font-size;
|
|
63
|
-
//
|
|
64
|
-
// line-height:
|
|
65
|
-
line-height: 1.2 * $at-input-font-size;
|
|
62
|
+
// 设行高要兼容 placehost style,不然会弹上去
|
|
63
|
+
// line-height: 1.2 * $at-input-font-size;
|
|
66
64
|
/*postcss-pxtransform rn eject enable*/
|
|
67
65
|
vertical-align: middle;
|
|
68
66
|
/*postcss-pxtransform rn eject disable*/
|
|
@@ -16,13 +16,20 @@
|
|
|
16
16
|
&--sub {
|
|
17
17
|
color: $at-timeline-desc-color;
|
|
18
18
|
font-size: $at-timeline-desc-font-size;
|
|
19
|
+
line-height: $line-height-zh * $at-timeline-desc-font-size;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&-item {
|
|
23
|
+
color: $at-timeline-title-color;
|
|
24
|
+
font-size: $at-timeline-title-font-size;
|
|
25
|
+
line-height: $line-height-zh * $at-timeline-title-font-size;
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
&__dot {
|
|
23
30
|
position: absolute;
|
|
24
31
|
left: 0;
|
|
25
|
-
top:
|
|
32
|
+
top: 8px;
|
|
26
33
|
width: $at-timeline-dot-size;
|
|
27
34
|
height: $at-timeline-dot-size;
|
|
28
35
|
font-size: 0;
|