@nutui/nutui-react-taro 3.0.5 → 3.0.6
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 +40 -1
- package/dist/cjs/packages/badge/badge.js +4 -3
- package/dist/cjs/packages/badge/style/badge.scss +4 -0
- package/dist/cjs/packages/badge/style/style.css +9 -6
- package/dist/cjs/packages/badge/style/style.harmony.css +3 -0
- package/dist/cjs/packages/configprovider/types.d.ts +1 -1
- package/dist/cjs/packages/datepicker/style/style.css +3 -0
- package/dist/cjs/packages/datepickerview/style/style.css +3 -0
- package/dist/cjs/packages/fixednav/style/style.css +9 -6
- package/dist/cjs/packages/indicator/indicator.js +1 -1
- package/dist/cjs/packages/lottie/index.js +5 -5
- package/dist/cjs/packages/lottie/{mp.js → lottiemp.js} +1 -1
- package/dist/cjs/packages/notify/notify.js +44 -13
- package/dist/cjs/packages/notify/style/notify.scss +39 -36
- package/dist/cjs/packages/notify/style/style.css +36 -31
- package/dist/cjs/packages/notify/style/style.harmony.css +36 -31
- package/dist/cjs/packages/picker/style/style.css +3 -0
- package/dist/cjs/packages/pickerview/pickerroller.js +7 -2
- package/dist/cjs/packages/pickerview/style/pickerview.scss +3 -0
- package/dist/cjs/packages/pickerview/style/style.css +3 -0
- package/dist/cjs/packages/pickerview/style/style.harmony.css +3 -0
- package/dist/cjs/packages/searchbar/searchbar.js +8 -2
- package/dist/cjs/packages/skeleton/skeleton.js +63 -52
- package/dist/cjs/packages/skeleton/style/index.js +0 -1
- package/dist/cjs/packages/skeleton/style/skeleton.scss +40 -46
- package/dist/cjs/packages/skeleton/style/style.css +32 -175
- package/dist/cjs/packages/skeleton/style/style.harmony.css +32 -42
- package/dist/cjs/packages/switch/style/style.css +5 -0
- package/dist/cjs/packages/switch/style/style.harmony.css +5 -0
- package/dist/cjs/packages/switch/style/switch.scss +5 -0
- package/dist/cjs/packages/switch/switch.js +22 -11
- package/dist/cjs/packages/tabbar/style/style.css +54 -45
- package/dist/cjs/packages/tabbar/style/style.harmony.css +24 -18
- package/dist/cjs/packages/tabbar/style/tabbar.scss +28 -19
- package/dist/cjs/packages/tabbar/tabbar.js +28 -10
- package/dist/cjs/packages/tabbaritem/style/style.css +30 -27
- package/dist/cjs/packages/tabbaritem/style/style.harmony.css +21 -21
- package/dist/cjs/packages/tabbaritem/style/tabbaritem.scss +32 -29
- package/dist/cjs/packages/tabbaritem/tabbaritem.js +38 -14
- package/dist/cjs/types/spec/badge/base.d.ts +1 -0
- package/dist/cjs/types/spec/indicator/base.d.ts +1 -1
- package/dist/cjs/types/spec/notify/base.d.ts +7 -2
- package/dist/cjs/types/spec/searchbar/taro.d.ts +10 -7
- package/dist/cjs/types/spec/skeleton/base.d.ts +7 -5
- package/dist/cjs/types/spec/switch/base.d.ts +3 -2
- package/dist/cjs/types/spec/switch/h5.d.ts +1 -1
- package/dist/cjs/types/spec/switch/taro.d.ts +1 -4
- package/dist/cjs/types/spec/tabbar/base.d.ts +7 -4
- package/dist/es/packages/badge/badge.js +4 -3
- package/dist/es/packages/badge/style/badge.scss +4 -0
- package/dist/es/packages/badge/style/style.css +9 -6
- package/dist/es/packages/badge/style/style.harmony.css +3 -0
- package/dist/es/packages/configprovider/types.d.ts +1 -1
- package/dist/es/packages/datepicker/style/style.css +3 -0
- package/dist/es/packages/datepickerview/style/style.css +3 -0
- package/dist/es/packages/fixednav/style/style.css +9 -6
- package/dist/es/packages/indicator/indicator.js +1 -1
- package/dist/es/packages/lottie/index.js +3 -3
- package/dist/es/packages/lottie/{mp.js → lottiemp.js} +1 -1
- package/dist/es/packages/notify/notify.js +45 -14
- package/dist/es/packages/notify/style/notify.scss +39 -36
- package/dist/es/packages/notify/style/style.css +36 -31
- package/dist/es/packages/notify/style/style.harmony.css +36 -31
- package/dist/es/packages/picker/style/style.css +3 -0
- package/dist/es/packages/pickerview/pickerroller.js +7 -2
- package/dist/es/packages/pickerview/style/pickerview.scss +3 -0
- package/dist/es/packages/pickerview/style/style.css +3 -0
- package/dist/es/packages/pickerview/style/style.harmony.css +3 -0
- package/dist/es/packages/searchbar/searchbar.js +7 -2
- package/dist/es/packages/skeleton/skeleton.js +62 -52
- package/dist/es/packages/skeleton/style/index.js +0 -1
- package/dist/es/packages/skeleton/style/skeleton.scss +40 -46
- package/dist/es/packages/skeleton/style/style.css +32 -175
- package/dist/es/packages/skeleton/style/style.harmony.css +32 -42
- package/dist/es/packages/switch/style/style.css +5 -0
- package/dist/es/packages/switch/style/style.harmony.css +5 -0
- package/dist/es/packages/switch/style/switch.scss +5 -0
- package/dist/es/packages/switch/switch.js +21 -11
- package/dist/es/packages/tabbar/style/style.css +54 -45
- package/dist/es/packages/tabbar/style/style.harmony.css +24 -18
- package/dist/es/packages/tabbar/style/tabbar.scss +28 -19
- package/dist/es/packages/tabbar/tabbar.js +27 -10
- package/dist/es/packages/tabbaritem/style/style.css +30 -27
- package/dist/es/packages/tabbaritem/style/style.harmony.css +21 -21
- package/dist/es/packages/tabbaritem/style/tabbaritem.scss +32 -29
- package/dist/es/packages/tabbaritem/tabbaritem.js +38 -14
- package/dist/es/types/spec/badge/base.d.ts +4 -0
- package/dist/es/types/spec/indicator/base.d.ts +1 -1
- package/dist/es/types/spec/notify/base.d.ts +22 -5
- package/dist/es/types/spec/searchbar/taro.d.ts +10 -7
- package/dist/es/types/spec/skeleton/base.d.ts +19 -14
- package/dist/es/types/spec/switch/base.d.ts +6 -2
- package/dist/es/types/spec/switch/h5.d.ts +1 -1
- package/dist/es/types/spec/switch/taro.d.ts +1 -4
- package/dist/es/types/spec/tabbar/base.d.ts +7 -4
- package/dist/nutui.react.umd.js +422 -297
- package/dist/style.css +1 -1
- package/dist/style.scss +47 -47
- package/dist/styles/variables-jmapp.scss +23 -1
- package/dist/styles/variables-jrkf.scss +23 -1
- package/dist/styles/variables.scss +35 -37
- package/package.json +1 -1
- /package/dist/cjs/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
- /package/dist/cjs/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
- /package/dist/cjs/packages/lottie/{web.js → lottieweb.js} +0 -0
- /package/dist/es/packages/lottie/{mp.d.ts → lottiemp.d.ts} +0 -0
- /package/dist/es/packages/lottie/{web.d.ts → lottieweb.d.ts} +0 -0
- /package/dist/es/packages/lottie/{web.js → lottieweb.js} +0 -0
|
@@ -5,38 +5,44 @@
|
|
|
5
5
|
.nut-tabbar {
|
|
6
6
|
border: 0px;
|
|
7
7
|
box-shadow: none;
|
|
8
|
-
border-bottom:
|
|
9
|
-
border-top:
|
|
8
|
+
border-bottom: 0;
|
|
9
|
+
border-top: 0;
|
|
10
10
|
width: 100%;
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: column;
|
|
13
|
-
justify-content: center;
|
|
14
|
-
align-items: center;
|
|
15
|
-
box-sizing: border-box;
|
|
16
11
|
background: #ffffff;
|
|
17
12
|
}
|
|
18
13
|
.nut-tabbar-wrap {
|
|
19
|
-
|
|
20
|
-
height: 50px;
|
|
14
|
+
height: 46px;
|
|
21
15
|
display: flex;
|
|
16
|
+
}
|
|
17
|
+
.nut-tabbar-wrap-3 {
|
|
18
|
+
padding: 0 16px;
|
|
19
|
+
}
|
|
20
|
+
.nut-tabbar-wrap-2 {
|
|
21
|
+
padding: 0 32px;
|
|
22
|
+
}
|
|
23
|
+
.nut-tabbar-wrap-horizontal {
|
|
24
|
+
align-items: center;
|
|
25
|
+
}
|
|
26
|
+
.nut-tabbar-wrap-horizontal .nut-tabbar-item {
|
|
22
27
|
flex-direction: row;
|
|
23
28
|
justify-content: center;
|
|
24
|
-
align-items: center;
|
|
25
29
|
}
|
|
26
|
-
.nut-tabbar
|
|
27
|
-
|
|
30
|
+
.nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-icon {
|
|
31
|
+
width: 20px;
|
|
32
|
+
height: 20px;
|
|
33
|
+
}
|
|
34
|
+
.nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-tabbar-item-text {
|
|
35
|
+
margin: 0 4px 0 6px;
|
|
36
|
+
font-size: 14px;
|
|
37
|
+
}
|
|
38
|
+
.nut-tabbar-wrap-horizontal .nut-tabbar-item .nut-badge-sup::after {
|
|
39
|
+
border: 0;
|
|
28
40
|
}
|
|
29
41
|
.nut-tabbar-fixed {
|
|
30
42
|
position: fixed;
|
|
31
43
|
bottom: 0px;
|
|
32
44
|
left: 0px;
|
|
33
45
|
}
|
|
34
|
-
.nut-tabbar-safe-area {
|
|
35
|
-
display: block;
|
|
36
|
-
width: 100%;
|
|
37
|
-
padding-bottom: constant(safe-area-inset-bottom);
|
|
38
|
-
padding-bottom: env(safe-area-inset-bottom);
|
|
39
|
-
}
|
|
40
46
|
|
|
41
47
|
[dir=rtl] .nut-tabbar:last-child,
|
|
42
48
|
.nut-rtl .nut-tabbar:last-child {
|
|
@@ -4,24 +4,40 @@
|
|
|
4
4
|
border-bottom: $tabbar-border-bottom;
|
|
5
5
|
border-top: $tabbar-border-top;
|
|
6
6
|
width: 100%;
|
|
7
|
-
display: flex;
|
|
8
|
-
flex-direction: column;
|
|
9
|
-
justify-content: center;
|
|
10
|
-
align-items: center;
|
|
11
|
-
box-sizing: border-box;
|
|
12
7
|
background: $color-background-overlay;
|
|
13
8
|
|
|
14
9
|
&-wrap {
|
|
15
|
-
width: 100%;
|
|
16
10
|
height: $tabbar-height;
|
|
17
11
|
display: flex;
|
|
18
|
-
flex-direction: row;
|
|
19
|
-
justify-content: center;
|
|
20
|
-
align-items: center;
|
|
21
|
-
}
|
|
22
12
|
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
&-3 {
|
|
14
|
+
padding: 0 16px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-2 {
|
|
18
|
+
padding: 0 32px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&-horizontal {
|
|
22
|
+
align-items: center;
|
|
23
|
+
.nut-tabbar-item {
|
|
24
|
+
flex-direction: row;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
.nut-icon {
|
|
27
|
+
width: 20px;
|
|
28
|
+
height: 20px;
|
|
29
|
+
}
|
|
30
|
+
.nut-tabbar-item-text {
|
|
31
|
+
margin: 0 4px 0 6px;
|
|
32
|
+
font-size: 14px;
|
|
33
|
+
}
|
|
34
|
+
.nut-badge-sup {
|
|
35
|
+
&::after {
|
|
36
|
+
border: 0;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
25
41
|
}
|
|
26
42
|
|
|
27
43
|
&-fixed {
|
|
@@ -29,13 +45,6 @@
|
|
|
29
45
|
bottom: 0px;
|
|
30
46
|
left: 0px;
|
|
31
47
|
}
|
|
32
|
-
|
|
33
|
-
&-safe-area {
|
|
34
|
-
display: block;
|
|
35
|
-
width: 100%;
|
|
36
|
-
padding-bottom: constant(safe-area-inset-bottom);
|
|
37
|
-
padding-bottom: env(safe-area-inset-bottom);
|
|
38
|
-
}
|
|
39
48
|
}
|
|
40
49
|
|
|
41
50
|
[dir='rtl'] .nut-tabbar,
|
|
@@ -2,23 +2,25 @@ import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
|
2
2
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
3
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
4
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
5
|
-
import React from "react";
|
|
5
|
+
import React, { useMemo } from "react";
|
|
6
6
|
import classNames from "classnames";
|
|
7
7
|
import { View } from "@tarojs/components";
|
|
8
8
|
import { ComponentDefaults } from "../../utils/typings";
|
|
9
9
|
import { usePropsValue } from "../../hooks/use-props-value";
|
|
10
10
|
import TabbarItem from "../tabbaritem/index";
|
|
11
11
|
import TabbarContext from "./context";
|
|
12
|
+
import SafeArea from "../safearea/index";
|
|
12
13
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
13
14
|
defaultValue: 0,
|
|
14
15
|
fixed: false,
|
|
15
16
|
inactiveColor: '',
|
|
16
17
|
activeColor: '',
|
|
18
|
+
direction: 'vertical',
|
|
17
19
|
safeArea: false,
|
|
18
|
-
onSwitch: function(
|
|
20
|
+
onSwitch: function() {}
|
|
19
21
|
});
|
|
20
22
|
export var Tabbar = function(props) {
|
|
21
|
-
var _$_object_spread = _object_spread({}, defaultProps, props), children = _$_object_spread.children, defaultValue = _$_object_spread.defaultValue, value = _$_object_spread.value, fixed = _$_object_spread.fixed, activeColor = _$_object_spread.activeColor, inactiveColor = _$_object_spread.inactiveColor, safeArea = _$_object_spread.safeArea, className = _$_object_spread.className, style = _$_object_spread.style, onSwitch = _$_object_spread.onSwitch;
|
|
23
|
+
var _$_object_spread = _object_spread({}, defaultProps, props), children = _$_object_spread.children, defaultValue = _$_object_spread.defaultValue, value = _$_object_spread.value, fixed = _$_object_spread.fixed, activeColor = _$_object_spread.activeColor, inactiveColor = _$_object_spread.inactiveColor, direction = _$_object_spread.direction, safeArea = _$_object_spread.safeArea, className = _$_object_spread.className, style = _$_object_spread.style, onSwitch = _$_object_spread.onSwitch;
|
|
22
24
|
var classPrefix = 'nut-tabbar';
|
|
23
25
|
var _usePropsValue = _sliced_to_array(usePropsValue({
|
|
24
26
|
value: value,
|
|
@@ -26,11 +28,26 @@ export var Tabbar = function(props) {
|
|
|
26
28
|
finalValue: 0,
|
|
27
29
|
onChange: onSwitch
|
|
28
30
|
}), 2), selectIndex = _usePropsValue[0], setSelectIndex = _usePropsValue[1];
|
|
31
|
+
var sizeCls = useMemo(function() {
|
|
32
|
+
var size = React.Children.count(children);
|
|
33
|
+
var _obj;
|
|
34
|
+
return size > 3 ? '' : classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix, "-wrap-3"), size === 3), _define_property(_obj, "".concat(classPrefix, "-wrap-2"), size === 2), _define_property(_obj, "".concat(classPrefix, "-wrap-").concat(direction), size === 2 && direction !== 'vertical'), _obj));
|
|
35
|
+
}, [
|
|
36
|
+
children,
|
|
37
|
+
direction
|
|
38
|
+
]);
|
|
39
|
+
var itemDirection = useMemo(function() {
|
|
40
|
+
var size = React.Children.count(children);
|
|
41
|
+
return size === 2 && direction !== 'vertical' && direction;
|
|
42
|
+
}, [
|
|
43
|
+
direction,
|
|
44
|
+
children
|
|
45
|
+
]);
|
|
29
46
|
return /*#__PURE__*/ React.createElement(View, {
|
|
30
47
|
className: classNames(classPrefix, _define_property({}, "".concat(classPrefix, "-fixed"), fixed), className),
|
|
31
48
|
style: style
|
|
32
49
|
}, /*#__PURE__*/ React.createElement(View, {
|
|
33
|
-
className: "".concat(classPrefix, "-wrap")
|
|
50
|
+
className: "".concat(classPrefix, "-wrap ").concat(sizeCls)
|
|
34
51
|
}, /*#__PURE__*/ React.createElement(TabbarContext.Provider, {
|
|
35
52
|
value: {
|
|
36
53
|
selectIndex: selectIndex,
|
|
@@ -39,12 +56,12 @@ export var Tabbar = function(props) {
|
|
|
39
56
|
handleClick: setSelectIndex
|
|
40
57
|
}
|
|
41
58
|
}, React.Children.map(children, function(child, index) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}));
|
|
46
|
-
}))), (fixed || safeArea) && /*#__PURE__*/ React.createElement(
|
|
47
|
-
|
|
59
|
+
return /*#__PURE__*/ React.isValidElement(child) ? /*#__PURE__*/ React.cloneElement(child, _object_spread_props(_object_spread({}, child.props), {
|
|
60
|
+
index: index,
|
|
61
|
+
direction: itemDirection
|
|
62
|
+
})) : null;
|
|
63
|
+
}))), (fixed || safeArea) && /*#__PURE__*/ React.createElement(SafeArea, {
|
|
64
|
+
position: "bottom"
|
|
48
65
|
}));
|
|
49
66
|
};
|
|
50
67
|
Tabbar.displayName = 'NutTabbar';
|
|
@@ -52,6 +52,9 @@
|
|
|
52
52
|
background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23));
|
|
53
53
|
z-index: 1;
|
|
54
54
|
}
|
|
55
|
+
.nut-badge-disabled {
|
|
56
|
+
background: var(--nutui-badge-background-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
|
|
57
|
+
}
|
|
55
58
|
.nut-badge-number {
|
|
56
59
|
font-family: "JD";
|
|
57
60
|
}
|
|
@@ -77,14 +80,14 @@
|
|
|
77
80
|
height: var(--nutui-badge-dot-width, 6px);
|
|
78
81
|
}
|
|
79
82
|
.nut-badge-dot-small {
|
|
80
|
-
min-width: var(--nutui-badge-dot-width, 4px);
|
|
81
|
-
width: var(--nutui-badge-dot-width, 4px);
|
|
82
|
-
height: var(--nutui-badge-dot-width, 4px);
|
|
83
|
+
min-width: var(--nutui-badge-dot-small-width, 4px);
|
|
84
|
+
width: var(--nutui-badge-dot-small-width, 4px);
|
|
85
|
+
height: var(--nutui-badge-dot-small-width, 4px);
|
|
83
86
|
}
|
|
84
87
|
.nut-badge-dot-large {
|
|
85
|
-
min-width: var(--nutui-badge-dot-width, 8px);
|
|
86
|
-
width: var(--nutui-badge-dot-width, 8px);
|
|
87
|
-
height: var(--nutui-badge-dot-width, 8px);
|
|
88
|
+
min-width: var(--nutui-badge-dot-large-width, 8px);
|
|
89
|
+
width: var(--nutui-badge-dot-large-width, 8px);
|
|
90
|
+
height: var(--nutui-badge-dot-large-width, 8px);
|
|
88
91
|
}
|
|
89
92
|
.nut-badge-outline {
|
|
90
93
|
background: #ffffff;
|
|
@@ -97,25 +100,16 @@
|
|
|
97
100
|
.nut-tabbar-item {
|
|
98
101
|
display: flex;
|
|
99
102
|
flex-direction: column;
|
|
100
|
-
justify-content: center;
|
|
101
103
|
align-items: center;
|
|
102
104
|
flex: 1;
|
|
103
|
-
|
|
104
|
-
text-decoration: none;
|
|
105
|
+
padding: 6px 0 2px;
|
|
105
106
|
color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a));
|
|
106
107
|
height: 100%;
|
|
107
108
|
}
|
|
108
|
-
.nut-tabbar-item-icon
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
align-items: center;
|
|
113
|
-
position: relative;
|
|
114
|
-
}
|
|
115
|
-
.nut-tabbar-item-icon-box .nut-icon {
|
|
116
|
-
width: 22px;
|
|
117
|
-
height: 22px;
|
|
118
|
-
font-size: 22px;
|
|
109
|
+
.nut-tabbar-item .nut-icon {
|
|
110
|
+
width: 24px;
|
|
111
|
+
height: 24px;
|
|
112
|
+
font-size: 24px;
|
|
119
113
|
/* #ifdef harmony*/
|
|
120
114
|
color: var(--nutui-tabbar-inactive-color, var(--nutui-color-title, #1a1a1a));
|
|
121
115
|
/* #endif*/
|
|
@@ -123,23 +117,32 @@
|
|
|
123
117
|
color: inherit;
|
|
124
118
|
/* #endif*/
|
|
125
119
|
}
|
|
126
|
-
.nut-tabbar-item-
|
|
120
|
+
.nut-tabbar-item-text {
|
|
127
121
|
display: block;
|
|
128
122
|
color: var(--nutui-color-text, #505259);
|
|
129
|
-
font-size: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-
|
|
130
|
-
line-height: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-
|
|
131
|
-
margin-top: var(--nutui-tabbar-text-margin-top,
|
|
123
|
+
font-size: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, 10px));
|
|
124
|
+
line-height: var(--nutui-tabbar-text-font-size, var(--nutui-font-size-xxs, 10px));
|
|
125
|
+
margin-top: var(--nutui-tabbar-text-margin-top, 4px);
|
|
126
|
+
}
|
|
127
|
+
.nut-tabbar-item .nut-image-default {
|
|
128
|
+
width: 38px;
|
|
129
|
+
height: 38px;
|
|
130
|
+
border-radius: 38px;
|
|
131
|
+
}
|
|
132
|
+
.nut-tabbar-item-large {
|
|
133
|
+
justify-content: center;
|
|
134
|
+
padding: 0;
|
|
132
135
|
}
|
|
133
|
-
.nut-tabbar-item-
|
|
136
|
+
.nut-tabbar-item-large .nut-tabbar-item-text {
|
|
134
137
|
font-size: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, 16px));
|
|
135
138
|
margin-top: 0;
|
|
136
|
-
line-height: var(--nutui-tabbar-text-
|
|
139
|
+
line-height: var(--nutui-tabbar-text-large-font-size, var(--nutui-font-size-l, 16px));
|
|
137
140
|
font-weight: var(--nutui-tabbar-text-large-font-weight, var(--nutui-font-weight, 400));
|
|
138
141
|
}
|
|
139
142
|
.nut-tabbar-item-active {
|
|
140
143
|
color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23));
|
|
141
144
|
}
|
|
142
|
-
.nut-tabbar-item-active .nut-tabbar-item-
|
|
145
|
+
.nut-tabbar-item-active .nut-tabbar-item-text,
|
|
143
146
|
.nut-tabbar-item-active .nut-icon {
|
|
144
147
|
/* #ifdef harmony*/
|
|
145
148
|
color: var(--nutui-tabbar-active-color, var(--nutui-color-primary, #ff0f23));
|
|
@@ -5,25 +5,16 @@
|
|
|
5
5
|
.nut-tabbar-item {
|
|
6
6
|
display: flex;
|
|
7
7
|
flex-direction: column;
|
|
8
|
-
justify-content: center;
|
|
9
8
|
align-items: center;
|
|
10
9
|
flex: 1;
|
|
11
|
-
|
|
12
|
-
text-decoration: none;
|
|
10
|
+
padding: 6px 0 2px;
|
|
13
11
|
color: #1a1a1a;
|
|
14
12
|
height: 100%;
|
|
15
13
|
}
|
|
16
|
-
.nut-tabbar-item-icon
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
align-items: center;
|
|
21
|
-
position: relative;
|
|
22
|
-
}
|
|
23
|
-
.nut-tabbar-item-icon-box .nut-icon {
|
|
24
|
-
width: 22px;
|
|
25
|
-
height: 22px;
|
|
26
|
-
font-size: 22px;
|
|
14
|
+
.nut-tabbar-item .nut-icon {
|
|
15
|
+
width: 24px;
|
|
16
|
+
height: 24px;
|
|
17
|
+
font-size: 24px;
|
|
27
18
|
/* #ifdef harmony*/
|
|
28
19
|
color: #1a1a1a;
|
|
29
20
|
/* #endif*/
|
|
@@ -31,23 +22,32 @@
|
|
|
31
22
|
color: inherit;
|
|
32
23
|
/* #endif*/
|
|
33
24
|
}
|
|
34
|
-
.nut-tabbar-item-
|
|
25
|
+
.nut-tabbar-item-text {
|
|
35
26
|
display: block;
|
|
36
27
|
color: #505259;
|
|
37
|
-
font-size:
|
|
38
|
-
line-height:
|
|
39
|
-
margin-top:
|
|
28
|
+
font-size: 10px;
|
|
29
|
+
line-height: 10px;
|
|
30
|
+
margin-top: 4px;
|
|
31
|
+
}
|
|
32
|
+
.nut-tabbar-item .nut-image-default {
|
|
33
|
+
width: 38px;
|
|
34
|
+
height: 38px;
|
|
35
|
+
border-radius: 38px;
|
|
36
|
+
}
|
|
37
|
+
.nut-tabbar-item-large {
|
|
38
|
+
justify-content: center;
|
|
39
|
+
padding: 0;
|
|
40
40
|
}
|
|
41
|
-
.nut-tabbar-item-
|
|
41
|
+
.nut-tabbar-item-large .nut-tabbar-item-text {
|
|
42
42
|
font-size: 16px;
|
|
43
43
|
margin-top: 0;
|
|
44
|
-
line-height:
|
|
44
|
+
line-height: 16px;
|
|
45
45
|
font-weight: 400;
|
|
46
46
|
}
|
|
47
47
|
.nut-tabbar-item-active {
|
|
48
48
|
color: #ff0f23;
|
|
49
49
|
}
|
|
50
|
-
.nut-tabbar-item-active .nut-tabbar-item-
|
|
50
|
+
.nut-tabbar-item-active .nut-tabbar-item-text {
|
|
51
51
|
/* #ifdef harmony*/
|
|
52
52
|
color: #ff0f23;
|
|
53
53
|
/* #endif*/
|
|
@@ -1,45 +1,48 @@
|
|
|
1
1
|
.nut-tabbar-item {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
|
-
justify-content: center;
|
|
5
4
|
align-items: center;
|
|
6
5
|
flex: 1;
|
|
7
|
-
|
|
8
|
-
text-decoration: none;
|
|
6
|
+
padding: 6px 0 2px;
|
|
9
7
|
color: $tabbar-inactive-color;
|
|
10
8
|
height: 100%;
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
.nut-icon {
|
|
11
|
+
width: 24px;
|
|
12
|
+
height: 24px;
|
|
13
|
+
font-size: 24px;
|
|
14
|
+
/* #ifdef harmony*/
|
|
15
|
+
color: $tabbar-inactive-color;
|
|
16
|
+
/* #endif*/
|
|
17
|
+
/* #ifndef harmony*/
|
|
18
|
+
color: inherit;
|
|
19
|
+
/* #endif*/
|
|
20
|
+
}
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
/* #ifndef harmony*/
|
|
27
|
-
color: inherit;
|
|
28
|
-
/* #endif*/
|
|
29
|
-
}
|
|
22
|
+
&-text {
|
|
23
|
+
display: block;
|
|
24
|
+
color: $color-text;
|
|
25
|
+
font-size: $tabbar-text-font-size;
|
|
26
|
+
line-height: $tabbar-text-font-size;
|
|
27
|
+
margin-top: $tabbar-text-margin-top;
|
|
28
|
+
}
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
margin-top: $tabbar-text-margin-top;
|
|
30
|
+
.nut-image {
|
|
31
|
+
&-default {
|
|
32
|
+
width: 38px;
|
|
33
|
+
height: 38px;
|
|
34
|
+
border-radius: 38px;
|
|
37
35
|
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&-large {
|
|
39
|
+
justify-content: center;
|
|
40
|
+
padding: 0;
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
.nut-tabbar-item-text {
|
|
40
43
|
font-size: $tabbar-text-large-font-size;
|
|
41
44
|
margin-top: 0;
|
|
42
|
-
line-height: $tabbar-text-
|
|
45
|
+
line-height: $tabbar-text-large-font-size;
|
|
43
46
|
font-weight: $tabbar-text-large-font-weight;
|
|
44
47
|
}
|
|
45
48
|
}
|
|
@@ -47,7 +50,7 @@
|
|
|
47
50
|
&-active {
|
|
48
51
|
color: $tabbar-active-color;
|
|
49
52
|
|
|
50
|
-
.nut-tabbar-item-
|
|
53
|
+
.nut-tabbar-item-text,
|
|
51
54
|
.nut-icon {
|
|
52
55
|
/* #ifdef harmony*/
|
|
53
56
|
color: $tabbar-active-color;
|
|
@@ -8,7 +8,6 @@ import { View } from "@tarojs/components";
|
|
|
8
8
|
import { ComponentDefaults } from "../../utils/typings";
|
|
9
9
|
import Badge from "../badge/index";
|
|
10
10
|
import TabbarContext from "../tabbar/context";
|
|
11
|
-
import addColorForHarmony from "../../utils/add-color-for-harmony";
|
|
12
11
|
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
13
12
|
title: '',
|
|
14
13
|
icon: null,
|
|
@@ -16,12 +15,13 @@ var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
|
|
|
16
15
|
dot: false,
|
|
17
16
|
max: 99,
|
|
18
17
|
top: '0',
|
|
19
|
-
right: '0'
|
|
18
|
+
right: '0',
|
|
19
|
+
direction: 'vertical'
|
|
20
20
|
});
|
|
21
21
|
export var TabbarItem = function(props) {
|
|
22
22
|
var ctx = useContext(TabbarContext);
|
|
23
23
|
var _ref = _object_spread({}, defaultProps, props), className = _ref.className, style = _ref.style, title = _ref.title, icon = _ref.icon, value = _ref.value, dot = _ref.dot, max = _ref.max, top = _ref.top, right = _ref.right, // @ts-ignore
|
|
24
|
-
index = _ref.index, rest = _object_without_properties(_ref, [
|
|
24
|
+
index = _ref.index, direction = _ref.direction, onActiveClick = _ref.onActiveClick, rest = _object_without_properties(_ref, [
|
|
25
25
|
"className",
|
|
26
26
|
"style",
|
|
27
27
|
"title",
|
|
@@ -31,15 +31,19 @@ export var TabbarItem = function(props) {
|
|
|
31
31
|
"max",
|
|
32
32
|
"top",
|
|
33
33
|
"right",
|
|
34
|
-
"index"
|
|
34
|
+
"index",
|
|
35
|
+
"direction",
|
|
36
|
+
"onActiveClick"
|
|
35
37
|
]);
|
|
36
38
|
var active = index === (ctx === null || ctx === void 0 ? void 0 : ctx.selectIndex);
|
|
37
39
|
var classPrefix = 'nut-tabbar-item';
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
40
|
+
var _obj;
|
|
41
|
+
var tabbarItemClass = classNames(classPrefix, (_obj = {}, _define_property(_obj, "".concat(classPrefix, "-active"), active), _define_property(_obj, "".concat(classPrefix, "-large"), !icon || !title), _obj), className);
|
|
42
|
+
var renderNodeWithActive = function(node) {
|
|
43
|
+
return node && typeof node === 'function' ? node(active) : node;
|
|
44
|
+
};
|
|
41
45
|
var badgeProps = {
|
|
42
|
-
value: value,
|
|
46
|
+
value: renderNodeWithActive(value),
|
|
43
47
|
dot: dot,
|
|
44
48
|
max: max,
|
|
45
49
|
top: top,
|
|
@@ -48,11 +52,33 @@ export var TabbarItem = function(props) {
|
|
|
48
52
|
};
|
|
49
53
|
var renderTitleText = function() {
|
|
50
54
|
return title && /*#__PURE__*/ React.createElement(View, {
|
|
51
|
-
className:
|
|
55
|
+
className: "".concat(classPrefix, "-text"),
|
|
52
56
|
style: {
|
|
53
57
|
color: active ? ctx === null || ctx === void 0 ? void 0 : ctx.activeColor : ctx === null || ctx === void 0 ? void 0 : ctx.inactiveColor
|
|
54
58
|
}
|
|
55
|
-
}, title);
|
|
59
|
+
}, renderNodeWithActive(title));
|
|
60
|
+
};
|
|
61
|
+
var renderTitle = function() {
|
|
62
|
+
return /*#__PURE__*/ React.createElement(Badge, _object_spread({
|
|
63
|
+
size: "normal"
|
|
64
|
+
}, badgeProps), renderTitleText());
|
|
65
|
+
};
|
|
66
|
+
var renderIcon = function() {
|
|
67
|
+
var distIcon = renderNodeWithActive(icon);
|
|
68
|
+
// 鸿蒙差异处理,需要手动给icon一个color
|
|
69
|
+
return /*#__PURE__*/ React.isValidElement(distIcon) ? /*#__PURE__*/ React.cloneElement(distIcon, _object_spread_props(_object_spread({}, distIcon.props), {
|
|
70
|
+
color: active ? ctx === null || ctx === void 0 ? void 0 : ctx.activeColor : ctx === null || ctx === void 0 ? void 0 : ctx.inactiveColor
|
|
71
|
+
})) : null;
|
|
72
|
+
};
|
|
73
|
+
var renderIconAndTitle = function() {
|
|
74
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Badge, _object_spread_props(_object_spread({
|
|
75
|
+
size: "normal"
|
|
76
|
+
}, badgeProps), {
|
|
77
|
+
top: 3
|
|
78
|
+
}), renderIcon()), renderTitleText());
|
|
79
|
+
};
|
|
80
|
+
var renderDualItem = function() {
|
|
81
|
+
return dot ? null : /*#__PURE__*/ React.createElement(React.Fragment, null, renderIcon(), renderTitleText(), /*#__PURE__*/ React.createElement(Badge, badgeProps));
|
|
56
82
|
};
|
|
57
83
|
return /*#__PURE__*/ React.createElement(View, _object_spread({
|
|
58
84
|
className: tabbarItemClass,
|
|
@@ -60,9 +86,7 @@ export var TabbarItem = function(props) {
|
|
|
60
86
|
color: active ? ctx === null || ctx === void 0 ? void 0 : ctx.activeColor : ctx === null || ctx === void 0 ? void 0 : ctx.inactiveColor
|
|
61
87
|
}, style),
|
|
62
88
|
onClick: function() {
|
|
63
|
-
return ctx === null || ctx === void 0 ? void 0 : ctx.handleClick(index);
|
|
89
|
+
return active ? onActiveClick === null || onActiveClick === void 0 ? void 0 : onActiveClick() : ctx === null || ctx === void 0 ? void 0 : ctx.handleClick(index);
|
|
64
90
|
}
|
|
65
|
-
}, rest),
|
|
66
|
-
className: boxPrefix
|
|
67
|
-
}, addColorForHarmony(icon, active ? ctx === null || ctx === void 0 ? void 0 : ctx.activeColor : ctx === null || ctx === void 0 ? void 0 : ctx.inactiveColor))), renderTitleText()) : /*#__PURE__*/ React.createElement(Badge, badgeProps, renderTitleText()));
|
|
91
|
+
}, rest), direction === 'horizontal' && !dot ? renderDualItem() : /*#__PURE__*/ React.createElement(React.Fragment, null, icon && renderIconAndTitle(), !icon && renderTitle()));
|
|
68
92
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseProps } from '../../base/props';
|
|
2
2
|
import { UIType } from '../../base/atoms';
|
|
3
|
-
export type IndicatorType = 'anchor' | 'slide';
|
|
3
|
+
export type IndicatorType = 'anchor' | 'slide' | 'dualScreen';
|
|
4
4
|
export type IndicatorColor = Extract<UIType, 'primary' | 'default'>;
|
|
5
5
|
export interface BaseIndicator extends BaseProps {
|
|
6
6
|
/**
|
|
@@ -1,18 +1,35 @@
|
|
|
1
|
+
import { PositionY } from "../../base/atoms";
|
|
1
2
|
import { BaseProps } from '../../base/props';
|
|
2
3
|
export interface BaseNotify extends BaseProps {
|
|
3
4
|
id: string;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* 距离顶部/底部距离
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
+
distance: number
|
|
9
|
+
/**
|
|
10
|
+
* 顶部导航高度
|
|
11
|
+
*/
|
|
12
|
+
navHeight: number
|
|
13
|
+
/**
|
|
14
|
+
* 是否启用关闭模式
|
|
15
|
+
*/
|
|
16
|
+
closeable: boolean
|
|
8
17
|
/**
|
|
9
|
-
*
|
|
18
|
+
* 左边的 icon
|
|
10
19
|
*/
|
|
11
|
-
|
|
20
|
+
leftIcon: React.ReactNode
|
|
21
|
+
/**
|
|
22
|
+
* 右边的 icon,在 closeable 模式下默认为 <Close />
|
|
23
|
+
*/
|
|
24
|
+
rightIcon: React.ReactNode
|
|
12
25
|
/**
|
|
13
26
|
* 自定义位置 (top, bottom)
|
|
14
27
|
*/
|
|
15
|
-
position:
|
|
28
|
+
position: PositionY
|
|
29
|
+
/**
|
|
30
|
+
* 展示时长(ms),值为 0 时,notify 不会消失
|
|
31
|
+
*/
|
|
32
|
+
duration: number
|
|
16
33
|
/**
|
|
17
34
|
* 点击事件回调
|
|
18
35
|
*/
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ITouchEvent } from '@tarojs/components';
|
|
1
|
+
import { BaseEventOrig, ITouchEvent, InputProps } from '@tarojs/components';
|
|
3
2
|
import { BaseSearchBar } from './base';
|
|
3
|
+
type inputEventDetail = InputProps.inputEventDetail;
|
|
4
|
+
type inputForceEventDetail = InputProps.inputForceEventDetail;
|
|
5
|
+
type inputValueEventDetail = InputProps.inputValueEventDetail;
|
|
4
6
|
export interface TaroSearchBarProps extends Omit<BaseSearchBar, 'onChange' | 'onFocus' | 'onBlur' | 'onClear' | 'onInputClick'> {
|
|
5
|
-
onChange?: (value: string, event?:
|
|
6
|
-
onFocus?: (value: string, event:
|
|
7
|
-
onBlur?: (value: string, event:
|
|
8
|
-
onClear?: (event:
|
|
9
|
-
onInputClick?: (event:
|
|
7
|
+
onChange?: (value: string, event?: BaseEventOrig<inputEventDetail>) => void;
|
|
8
|
+
onFocus?: (value: string, event: BaseEventOrig<inputForceEventDetail>) => void;
|
|
9
|
+
onBlur?: (value: string, event: BaseEventOrig<inputValueEventDetail>) => void;
|
|
10
|
+
onClear?: (event: ITouchEvent) => void;
|
|
11
|
+
onInputClick?: (event: ITouchEvent) => void;
|
|
10
12
|
}
|
|
13
|
+
export {};
|