@nutui/nutui-react-taro 3.0.0-beta.7 → 3.0.0-beta.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.
Files changed (43) hide show
  1. package/dist/cjs/packages/animatingnumbers/style/style.css +1 -1
  2. package/dist/cjs/packages/backtop/backtop.d.ts +3 -4
  3. package/dist/cjs/packages/backtop/backtop.js +16 -34
  4. package/dist/cjs/packages/backtop/style/backtop.scss +8 -17
  5. package/dist/cjs/packages/backtop/style/style.css +8 -14
  6. package/dist/cjs/packages/badge/badge.d.ts +2 -12
  7. package/dist/cjs/packages/badge/badge.js +16 -54
  8. package/dist/cjs/packages/badge/index.d.ts +1 -1
  9. package/dist/cjs/packages/badge/style/badge.scss +61 -34
  10. package/dist/cjs/packages/badge/style/style.css +63 -40
  11. package/dist/cjs/packages/badge/types.d.ts +12 -0
  12. package/dist/cjs/packages/badge/types.js +4 -0
  13. package/dist/cjs/packages/configprovider/types.d.ts +1 -1
  14. package/dist/cjs/packages/countup/style/countup.scss +1 -1
  15. package/dist/cjs/packages/countup/style/style.css +1 -1
  16. package/dist/cjs/packages/hoverbutton/style/style.css +3 -3
  17. package/dist/cjs/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  18. package/dist/cjs/packages/hoverbuttonitem/style/style.css +3 -3
  19. package/dist/cjs/packages/tabbar/style/style.css +63 -40
  20. package/dist/cjs/packages/tabbaritem/style/style.css +63 -40
  21. package/dist/es/packages/animatingnumbers/style/style.css +1 -1
  22. package/dist/es/packages/backtop/backtop.d.ts +3 -4
  23. package/dist/es/packages/backtop/backtop.js +18 -36
  24. package/dist/es/packages/backtop/style/backtop.scss +8 -17
  25. package/dist/es/packages/backtop/style/style.css +8 -14
  26. package/dist/es/packages/badge/badge.d.ts +2 -12
  27. package/dist/es/packages/badge/badge.js +17 -55
  28. package/dist/es/packages/badge/index.d.ts +1 -1
  29. package/dist/es/packages/badge/style/badge.scss +61 -34
  30. package/dist/es/packages/badge/style/style.css +63 -40
  31. package/dist/es/packages/badge/types.d.ts +12 -0
  32. package/dist/es/packages/badge/types.js +1 -0
  33. package/dist/es/packages/configprovider/types.d.ts +1 -1
  34. package/dist/es/packages/countup/style/countup.scss +1 -1
  35. package/dist/es/packages/countup/style/style.css +1 -1
  36. package/dist/es/packages/hoverbutton/style/style.css +3 -3
  37. package/dist/es/packages/hoverbuttonitem/style/hoverbuttonitem.scss +3 -3
  38. package/dist/es/packages/hoverbuttonitem/style/style.css +3 -3
  39. package/dist/es/packages/tabbar/style/style.css +63 -40
  40. package/dist/es/packages/tabbaritem/style/style.css +63 -40
  41. package/dist/nutui.react.umd.js +124 -178
  42. package/dist/styles/variables.scss +22 -16
  43. package/package.json +1 -1
@@ -1,31 +1,22 @@
1
1
  .nut-backtop {
2
2
  display: none;
3
- position: fixed;
4
3
 
5
4
  &-rn {
6
5
  position: absolute;
7
6
  }
8
7
 
9
8
  &-show {
10
- width: 40px;
11
- height: 40px;
12
9
  display: flex;
13
10
  align-items: center;
14
11
  justify-content: center;
15
- background: $color-background-overlay;
16
- color: $color-title;
17
- border: 1px solid $backtop-border-color;
18
- border-radius: 21px;
19
- z-index: 100;
20
-
21
- &:active,
22
- &-active {
23
- background: $color-background;
24
- }
25
- }
26
-
27
- &-main {
12
+ width: $hoverbutton-item-size;
13
+ height: $hoverbutton-item-size;
28
14
  transition: all 0.2s ease-in-out;
29
- color: $color-title;
15
+ .nut-hoverbutton-item-container {
16
+ display: flex;
17
+ flex-direction: column;
18
+ justify-content: center;
19
+ align-items: center;
20
+ }
30
21
  }
31
22
  }
@@ -4,27 +4,21 @@
4
4
  /* #endif */
5
5
  .nut-backtop {
6
6
  display: none;
7
- position: fixed;
8
7
  }
9
8
  .nut-backtop-rn {
10
9
  position: absolute;
11
10
  }
12
11
  .nut-backtop-show {
13
- width: 40px;
14
- height: 40px;
15
12
  display: flex;
16
13
  align-items: center;
17
14
  justify-content: center;
18
- background: var(--nutui-color-background-overlay, #ffffff);
19
- color: var(--nutui-color-title, #1a1a1a);
20
- border: 1px solid var(--nutui-backtop-border-color, var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
21
- border-radius: 21px;
22
- z-index: 100;
23
- }
24
- .nut-backtop-show:active, .nut-backtop-show-active {
25
- background: var(--nutui-color-background, #f5f6fa);
26
- }
27
- .nut-backtop-main {
15
+ width: var(--nutui-hoverbutton-item-size, 40px);
16
+ height: var(--nutui-hoverbutton-item-size, 40px);
28
17
  transition: all 0.2s ease-in-out;
29
- color: var(--nutui-color-title, #1a1a1a);
18
+ }
19
+ .nut-backtop-show .nut-hoverbutton-item-container {
20
+ display: flex;
21
+ flex-direction: column;
22
+ justify-content: center;
23
+ align-items: center;
30
24
  }
@@ -1,13 +1,3 @@
1
- import { FunctionComponent, ReactNode } from 'react';
2
- import { BasicComponent } from "../../utils/typings";
3
- export type BadgeFill = 'solid' | 'outline';
4
- export interface BadgeProps extends BasicComponent {
5
- value: ReactNode;
6
- dot: boolean;
7
- max: number;
8
- top: string | number;
9
- right: string | number;
10
- color: string;
11
- fill: BadgeFill;
12
- }
1
+ import { FunctionComponent } from 'react';
2
+ import { BadgeProps } from './types';
13
3
  export declare const Badge: FunctionComponent<Partial<BadgeProps>>;
@@ -11,16 +11,15 @@ import { View } from "@tarojs/components";
11
11
  import { ComponentDefaults } from "../../utils/typings";
12
12
  import { useRtl } from "../configprovider/index";
13
13
  import pxTransform from "../../utils/px-transform";
14
- import { getRectByTaro } from "../../utils/get-rect-by-taro";
15
- import { harmony, rn } from "../../utils/platform-taro";
14
+ import { harmony } from "../../utils/platform-taro";
16
15
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
17
16
  value: '',
18
17
  dot: false,
19
18
  max: 99,
20
- top: '4',
21
- right: '8',
22
- color: '',
23
- fill: 'solid'
19
+ top: 0,
20
+ right: 0,
21
+ fill: 'solid',
22
+ size: 'large'
24
23
  });
25
24
  export var Badge = function(props) {
26
25
  var content = function content() {
@@ -41,14 +40,14 @@ export var Badge = function(props) {
41
40
  };
42
41
  var _this;
43
42
  var rtl = useRtl();
44
- var _$_object_spread = _object_spread({}, defaultProps, props), className = _$_object_spread.className, style = _$_object_spread.style, value = _$_object_spread.value, max = _$_object_spread.max, children = _$_object_spread.children, dot = _$_object_spread.dot, top = _$_object_spread.top, right = _$_object_spread.right, color = _$_object_spread.color, fill = _$_object_spread.fill;
43
+ var _$_object_spread = _object_spread({}, defaultProps, props), className = _$_object_spread.className, style = _$_object_spread.style, value = _$_object_spread.value, max = _$_object_spread.max, children = _$_object_spread.children, dot = _$_object_spread.dot, top = _$_object_spread.top, right = _$_object_spread.right, fill = _$_object_spread.fill, size = _$_object_spread.size;
45
44
  var classPrefix = 'nut-badge';
46
45
  var isHarmony = harmony();
47
46
  var classes = classNames(classPrefix, className);
48
47
  var badgeRef = useRef(null);
49
48
  var _useState = _sliced_to_array(useState({}), 2), contentStyle = _useState[0], setContentStyle = _useState[1];
50
49
  var _obj;
51
- var contentClasses = classNames("".concat(classPrefix, "-content"), (_obj = {}, _define_property(_obj, "".concat(classPrefix, "-sup"), isNumber() || isString() || dot), _define_property(_obj, "".concat(classPrefix, "-one"), typeof content() === 'string' && ((_this = "".concat(content())) === null || _this === void 0 ? void 0 : _this.length) === 1), _define_property(_obj, "".concat(classPrefix, "-dot"), dot), _define_property(_obj, "".concat(classPrefix, "-").concat(fill), fill === 'outline'), _obj));
50
+ var contentClasses = classNames((_obj = {}, _define_property(_obj, "".concat(classPrefix, "-sup"), isNumber() || isString() || dot), _define_property(_obj, "".concat(classPrefix, "-number"), isNumber()), _define_property(_obj, "".concat(classPrefix, "-one"), typeof content() === 'string' && ((_this = "".concat(content())) === null || _this === void 0 ? void 0 : _this.length) === 1), _define_property(_obj, "".concat(classPrefix, "-dot"), dot), _define_property(_obj, "".concat(classPrefix, "-dot-").concat(size), dot), _define_property(_obj, "".concat(classPrefix, "-").concat(fill), fill === 'outline'), _define_property(_obj, "".concat(classPrefix, "-content"), children), _obj));
52
51
  useEffect(function() {
53
52
  if (badgeRef.current) {
54
53
  getPositionStyle();
@@ -56,59 +55,22 @@ export var Badge = function(props) {
56
55
  }, []);
57
56
  var getPositionStyle = /*#__PURE__*/ function() {
58
57
  var _ref = _async_to_generator(function() {
59
- var style, reacts, dir;
58
+ var style, dir;
60
59
  return _ts_generator(this, function(_state) {
61
- switch(_state.label){
62
- case 0:
63
- style = {};
64
- style.top = pxTransform(-Number(top) || 0);
65
- if (!rn()) return [
66
- 3,
67
- 2
68
- ];
69
- return [
70
- 4,
71
- getRectByTaro(badgeRef.current)
72
- ];
73
- case 1:
74
- reacts = _state.sent();
75
- style.left = (reacts === null || reacts === void 0 ? void 0 : reacts.width) && (reacts === null || reacts === void 0 ? void 0 : reacts.width) > Number(right) ? pxTransform(reacts.width - Number(right)) : 0;
76
- return [
77
- 3,
78
- 3
79
- ];
80
- case 2:
81
- dir = rtl ? 'left' : 'right';
82
- style[dir] = isHarmony ? pxTransform(Number(right)) : "".concat(Number(right) || parseFloat(String(right)) || 0, "px");
83
- _state.label = 3;
84
- case 3:
85
- setContentStyle(style);
86
- return [
87
- 2
88
- ];
89
- }
60
+ style = {};
61
+ style.top = pxTransform(Number(top) || 0);
62
+ dir = rtl ? 'left' : 'right';
63
+ style[dir] = isHarmony ? pxTransform(Number(right)) : "".concat(Number(right) || 0, "px");
64
+ setContentStyle(style);
65
+ return [
66
+ 2
67
+ ];
90
68
  });
91
69
  });
92
70
  return function getPositionStyle() {
93
71
  return _ref.apply(this, arguments);
94
72
  };
95
73
  }();
96
- var getStyle = function() {
97
- var style = {};
98
- if (color) {
99
- if (fill === 'outline') {
100
- style.color = color;
101
- isHarmony ? style.backgroundColor = '#fff' : style.background = '#fff';
102
- if (!(color === null || color === void 0 ? void 0 : color.includes('gradient'))) {
103
- style.borderColor = color;
104
- }
105
- } else {
106
- style.color = '#fff';
107
- isHarmony ? style.backgroundColor = color : style.background = color;
108
- }
109
- }
110
- return style;
111
- };
112
74
  var _obj1;
113
75
  return /*#__PURE__*/ React.createElement(View, {
114
76
  className: classes,
@@ -119,7 +81,7 @@ export var Badge = function(props) {
119
81
  style: contentStyle
120
82
  }, value), children, !isIcon() && /*#__PURE__*/ React.createElement(View, {
121
83
  className: contentClasses,
122
- style: _object_spread({}, contentStyle, getStyle())
84
+ style: contentStyle
123
85
  }, content()));
124
86
  };
125
87
  Badge.displayName = 'NutBadge';
@@ -1,3 +1,3 @@
1
1
  import { Badge } from "./badge";
2
- export type { BadgeFill, BadgeProps } from "./badge";
2
+ export type { BadgeFill, BadgeDotSize, BadgeProps } from './types';
3
3
  export default Badge;
@@ -2,22 +2,14 @@
2
2
  position: relative;
3
3
  display: inline-flex;
4
4
  width: auto;
5
- /* #ifdef harmony */
6
- min-width: 1px;
7
- /* #endif */
8
- /* #ifndef harmony */
9
- min-width: auto;
10
- /* #endif */
5
+
11
6
  &-icon {
12
- position: absolute;
13
7
  display: flex;
14
8
  justify-content: center;
15
9
  align-items: center;
16
10
  background: $badge-background-color;
17
11
  padding: $badge-icon-padding;
18
12
  text-align: center;
19
- border: $badge-border;
20
- border-radius: $badge-border-radius;
21
13
  z-index: $badge-z-index;
22
14
 
23
15
  .nut-icon {
@@ -27,53 +19,88 @@
27
19
  }
28
20
  }
29
21
 
22
+ &-sup,
23
+ &-icon {
24
+ border-radius: $badge-border-radius;
25
+ &::after {
26
+ content: '';
27
+ position: absolute;
28
+ top: -50%;
29
+ bottom: -50%;
30
+ left: -50%;
31
+ right: -50%;
32
+ transform: scale(0.5);
33
+ border: $badge-border;
34
+ border-radius: $badge-border-radius;
35
+ }
36
+ }
37
+
30
38
  &-sup {
31
- height: $badge-height;
32
- position: absolute;
33
- display: flex;
39
+ display: inline-flex;
34
40
  justify-content: center;
35
- align-items: center;
36
- /* #ifdef harmony */
37
- background: $color-primary;
38
- /* #endif */
39
- /* #ifndef harmony */
40
- background: $badge-background-color;
41
- /* #endif */
42
- color: $badge-color;
41
+ height: $badge-height;
42
+ min-width: $badge-min-width;
43
43
  padding: $badge-padding;
44
+ box-sizing: border-box;
45
+ color: $badge-color;
44
46
  font-size: $badge-font-size;
45
- font-weight: normal;
46
- text-align: center;
47
- border: $badge-border;
48
- border-radius: $badge-border-radius;
49
- min-width: $badge-min-width;
47
+ line-height: 12px;
50
48
  white-space: nowrap;
49
+ font-weight: normal;
50
+ vertical-align: middle;
51
+ background: $badge-background-color;
51
52
  z-index: 1;
52
53
  }
53
54
 
55
+ &-number {
56
+ font-family: 'JD';
57
+ /* #ifdef harmony */
58
+ line-height: 12px;
59
+ /* #endif */
60
+ /* #ifndef harmony */
61
+ line-height: 13px;
62
+ /* #endif */
63
+ }
64
+
54
65
  &-one {
55
66
  height: $badge-height;
56
67
  width: $badge-height;
57
- padding: 0;
58
68
  }
59
69
 
60
70
  &-content {
61
- /* #ifndef rn */
71
+ position: absolute;
62
72
  transform: $badge-content-transform;
63
- /* #endif */
64
73
  }
65
74
 
66
75
  &-dot {
67
- width: $badge-dot-width;
68
- height: $badge-dot-width;
69
- border: $badge-dot-border;
70
- border-radius: $badge-dot-width;
71
76
  padding: 0;
77
+ border-radius: 50%;
78
+ &::after {
79
+ border: $badge-dot-border;
80
+ border-radius: 50%;
81
+ }
82
+ &-normal {
83
+ min-width: $badge-dot-width;
84
+ width: $badge-dot-width;
85
+ height: $badge-dot-width;
86
+ }
87
+ &-small {
88
+ min-width: $badge-dot-small-width;
89
+ width: $badge-dot-small-width;
90
+ height: $badge-dot-small-width;
91
+ }
92
+ &-large {
93
+ min-width: $badge-dot-large-width;
94
+ width: $badge-dot-large-width;
95
+ height: $badge-dot-large-width;
96
+ }
72
97
  }
73
98
 
74
99
  &-outline {
75
100
  background: $color-primary-text;
76
- border: 1px solid $color-primary;
77
- color: $color-primary;
101
+ color: $badge-outline-color;
102
+ &::after {
103
+ border: $badge-outline-border;
104
+ }
78
105
  }
79
106
  }
@@ -6,72 +6,95 @@
6
6
  position: relative;
7
7
  display: inline-flex;
8
8
  width: auto;
9
- /* #ifdef harmony */
10
- min-width: 1px;
11
- /* #endif */
12
- /* #ifndef harmony */
13
- min-width: auto;
14
- /* #endif */
15
9
  }
16
10
  .nut-badge-icon {
17
- position: absolute;
18
11
  display: flex;
19
12
  justify-content: center;
20
13
  align-items: center;
21
- background: var(--nutui-badge-background-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #ff475d) 0%, var(--nutui-color-primary-stop-2, #ff0f23) 100%));
22
- padding: var(--nutui-badge-icon-padding, 3px);
14
+ background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23));
15
+ padding: var(--nutui-badge-icon-padding, 2px);
23
16
  text-align: center;
24
- border: var(--nutui-badge-border, 0px solid var(--nutui-color-primary-text, #ffffff));
25
- border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
26
17
  z-index: var(--nutui-badge-z-index, 1);
27
18
  }
28
19
  .nut-badge-icon .nut-icon {
29
- width: var(--nutui-badge-icon-size, 12px);
30
- height: var(--nutui-badge-icon-size, 12px);
31
- font-size: var(--nutui-badge-icon-size, 12px);
20
+ width: var(--nutui-badge-icon-size, 10px);
21
+ height: var(--nutui-badge-icon-size, 10px);
22
+ font-size: var(--nutui-badge-icon-size, 10px);
32
23
  }
33
- .nut-badge-sup {
34
- height: var(--nutui-badge-height, 14px);
24
+ .nut-badge-sup, .nut-badge-icon {
25
+ border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
26
+ }
27
+ .nut-badge-sup::after, .nut-badge-icon::after {
28
+ content: "";
35
29
  position: absolute;
36
- display: flex;
30
+ top: -50%;
31
+ bottom: -50%;
32
+ left: -50%;
33
+ right: -50%;
34
+ transform: scale(0.5);
35
+ border: var(--nutui-badge-border, 1px solid var(--nutui-color-primary-text, #ffffff));
36
+ border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
37
+ }
38
+ .nut-badge-sup {
39
+ display: inline-flex;
37
40
  justify-content: center;
38
- align-items: center;
41
+ height: var(--nutui-badge-height, 14px);
42
+ min-width: var(--nutui-badge-min-width, 6px);
43
+ padding: var(--nutui-badge-padding, 1px 4px);
44
+ box-sizing: border-box;
45
+ color: var(--nutui-badge-color, var(--nutui-color-primary-text, #ffffff));
46
+ font-size: var(--nutui-badge-font-size, var(--nutui-font-size-xxs, 10px));
47
+ line-height: 12px;
48
+ white-space: nowrap;
49
+ font-weight: normal;
50
+ vertical-align: middle;
51
+ background: var(--nutui-badge-background-color, var(--nutui-color-primary, #ff0f23));
52
+ z-index: 1;
53
+ }
54
+ .nut-badge-number {
55
+ font-family: "JD";
39
56
  /* #ifdef harmony */
40
- background: var(--nutui-color-primary, #ff0f23);
57
+ line-height: 12px;
41
58
  /* #endif */
42
59
  /* #ifndef harmony */
43
- background: var(--nutui-badge-background-color, linear-gradient(135deg, var(--nutui-color-primary-stop-1, #ff475d) 0%, var(--nutui-color-primary-stop-2, #ff0f23) 100%));
60
+ line-height: 13px;
44
61
  /* #endif */
45
- color: var(--nutui-badge-color, #fff);
46
- padding: var(--nutui-badge-padding, 0 4px);
47
- font-size: var(--nutui-badge-font-size, var(--nutui-font-size-xxs, 10px));
48
- font-weight: normal;
49
- text-align: center;
50
- border: var(--nutui-badge-border, 0px solid var(--nutui-color-primary-text, #ffffff));
51
- border-radius: var(--nutui-badge-border-radius, var(--nutui-badge-height, 14px));
52
- min-width: var(--nutui-badge-min-width, 5px);
53
- white-space: nowrap;
54
- z-index: 1;
55
62
  }
56
63
  .nut-badge-one {
57
64
  height: var(--nutui-badge-height, 14px);
58
65
  width: var(--nutui-badge-height, 14px);
59
- padding: 0;
60
66
  }
61
67
  .nut-badge-content {
62
- /* #ifndef rn */
63
- transform: var(--nutui-badge-content-transform, translateX(100%));
64
- /* #endif */
68
+ position: absolute;
69
+ transform: var(--nutui-badge-content-transform, translate(50%, -50%));
65
70
  }
66
71
  .nut-badge-dot {
67
- width: var(--nutui-badge-dot-width, 7px);
68
- height: var(--nutui-badge-dot-width, 7px);
69
- border: var(--nutui-badge-dot-border, 0px solid var(--nutui-color-primary-text, #ffffff));
70
- border-radius: var(--nutui-badge-dot-width, 7px);
71
72
  padding: 0;
73
+ border-radius: 50%;
74
+ }
75
+ .nut-badge-dot::after {
76
+ border: var(--nutui-badge-dot-border, 1px solid var(--nutui-color-primary-text, #ffffff));
77
+ border-radius: 50%;
78
+ }
79
+ .nut-badge-dot-normal {
80
+ min-width: var(--nutui-badge-dot-width, 6px);
81
+ width: var(--nutui-badge-dot-width, 6px);
82
+ height: var(--nutui-badge-dot-width, 6px);
83
+ }
84
+ .nut-badge-dot-small {
85
+ min-width: var(--nutui-badge-dot-width, 4px);
86
+ width: var(--nutui-badge-dot-width, 4px);
87
+ height: var(--nutui-badge-dot-width, 4px);
88
+ }
89
+ .nut-badge-dot-large {
90
+ min-width: var(--nutui-badge-dot-width, 8px);
91
+ width: var(--nutui-badge-dot-width, 8px);
92
+ height: var(--nutui-badge-dot-width, 8px);
72
93
  }
73
94
  .nut-badge-outline {
74
95
  background: var(--nutui-color-primary-text, #ffffff);
75
- border: 1px solid var(--nutui-color-primary, #ff0f23);
76
- color: var(--nutui-color-primary, #ff0f23);
96
+ color: var(--nutui-badge-outline-color, var(--nutui-color-primary, #ff0f23));
97
+ }
98
+ .nut-badge-outline::after {
99
+ border: var(--nutui-badge-outline-border, 1px solid var(--nutui-color-primary, #ff0f23));
77
100
  }
@@ -0,0 +1,12 @@
1
+ import { BasicComponent } from "../../utils/typings";
2
+ export type BadgeFill = 'solid' | 'outline';
3
+ export type BadgeDotSize = 'small' | 'normal' | 'large';
4
+ export interface BadgeProps extends BasicComponent {
5
+ value: React.ReactNode;
6
+ dot: boolean;
7
+ max: number;
8
+ top: string | number;
9
+ right: string | number;
10
+ fill: BadgeFill;
11
+ size: BadgeDotSize;
12
+ }
@@ -0,0 +1 @@
1
+ export { };